Address Details
contract
0xE97dAc5EB7B6B397bd11b5005C3C8967eE52A867
- Contract Name
- SmartRentContract
- Creator
- 0xd5ad15–48e34b at 0xc68a24–744e34
- Balance
- 0 CELO ( )
- Locked CELO Balance
- 0.00 CELO
- Voting CELO Balance
- 0.00 CELO
- Pending Unlocked Gold
- 0.00 CELO
- Tokens
-
Fetching tokens...
- Transactions
- Fetching transactions...
- Transfers
- Fetching transfers...
- Gas Used
- Fetching gas used...
- Last Balance Update
- 4882893
This contract has been verified via Sourcify.
View contract in Sourcify repository
- Contract name:
- SmartRentContract
- Optimization enabled
- false
- Compiler version
- v0.5.16+commit.9c3226ce
- EVM Version
- istanbul
- Verified at
- 2022-09-30T12:48:04.740381Z
/C/Users/User/Desktop/fyp/contracts/SmartRentContract.sol
// Learn more about Solidity here: https://solidity.readthedocs.io // This statement specifies the compatible compiler versions pragma solidity >=0.5.0; // Declare a contract called HelloWorld contract SmartRentContract { event TenantAssigned(address tenantAddress, uint rentAmount, uint rentDeposit); event TenantSigned(address tenantAddress); event DepositPaid(address tenantAddress, uint rentDeposit); event ApprovedSmartRent(address tenant); address payable landlordAddress; string public landlordName; bool isSigned = false; bool hasPaidDeposit = false; bool initialized; mapping (address => bool) public tenantToSigned; address payable tenantAddress; uint rentAmount; uint rentDeposit; uint startDate; uint endDate; string public roomAddress; string name = "Smart Rent"; constructor(string memory _landlord, string memory _roomAddress, uint _startDate, uint _endDate, uint _deposit, uint _rent, address payable _tenantAddress) public { landlordName = _landlord; roomAddress = _roomAddress; startDate = _startDate; endDate = _endDate; rentDeposit = _deposit; rentAmount = _rent; tenantAddress = _tenantAddress; } modifier landlordOnly() { require(msg.sender == landlordAddress); _; } modifier hasSigned() { require(isSigned == true, "Tenant must sign the contract before invoking this functionality"); _; } modifier notZeroAddres(address addr){ require(addr != address(0), "0th address is not allowed!"); _; } function setStartDate(uint _startDate) public landlordOnly { startDate = _startDate; } function setEndDate(uint _endDate) public landlordOnly { endDate = _endDate; } function setRoomAddress(string memory _roomAddress) public { roomAddress = _roomAddress; } function assignTenant(address _tenantAddress) external notZeroAddres(_tenantAddress) { require(_tenantAddress != landlordAddress, "Landlord is not allowed to be tenant at the same time"); emit TenantAssigned(_tenantAddress, rentAmount, rentDeposit); } function signContract() public { require(isSigned == false); tenantToSigned[msg.sender] = true; isSigned = true; emit TenantSigned(msg.sender); } function payDeposit() external payable { require(hasPaidDeposit == false); hasPaidDeposit = true; emit DepositPaid(msg.sender, msg.value); } function getName() public view returns (string memory) { // Return the storage variable 'name' return name; } }
Contract ABI
[{"type":"constructor","stateMutability":"nonpayable","payable":false,"inputs":[{"type":"string","name":"_landlord","internalType":"string"},{"type":"string","name":"_roomAddress","internalType":"string"},{"type":"uint256","name":"_startDate","internalType":"uint256"},{"type":"uint256","name":"_endDate","internalType":"uint256"},{"type":"uint256","name":"_deposit","internalType":"uint256"},{"type":"uint256","name":"_rent","internalType":"uint256"},{"type":"address","name":"_tenantAddress","internalType":"address payable"}]},{"type":"event","name":"ApprovedSmartRent","inputs":[{"type":"address","name":"tenant","internalType":"address","indexed":false}],"anonymous":false},{"type":"event","name":"DepositPaid","inputs":[{"type":"address","name":"tenantAddress","internalType":"address","indexed":false},{"type":"uint256","name":"rentDeposit","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"event","name":"TenantAssigned","inputs":[{"type":"address","name":"tenantAddress","internalType":"address","indexed":false},{"type":"uint256","name":"rentAmount","internalType":"uint256","indexed":false},{"type":"uint256","name":"rentDeposit","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"event","name":"TenantSigned","inputs":[{"type":"address","name":"tenantAddress","internalType":"address","indexed":false}],"anonymous":false},{"type":"function","stateMutability":"nonpayable","payable":false,"outputs":[],"name":"assignTenant","inputs":[{"type":"address","name":"_tenantAddress","internalType":"address"}],"constant":false},{"type":"function","stateMutability":"view","payable":false,"outputs":[{"type":"string","name":"","internalType":"string"}],"name":"getName","inputs":[],"constant":true},{"type":"function","stateMutability":"view","payable":false,"outputs":[{"type":"string","name":"","internalType":"string"}],"name":"landlordName","inputs":[],"constant":true},{"type":"function","stateMutability":"payable","payable":true,"outputs":[],"name":"payDeposit","inputs":[],"constant":false},{"type":"function","stateMutability":"view","payable":false,"outputs":[{"type":"string","name":"","internalType":"string"}],"name":"roomAddress","inputs":[],"constant":true},{"type":"function","stateMutability":"nonpayable","payable":false,"outputs":[],"name":"setEndDate","inputs":[{"type":"uint256","name":"_endDate","internalType":"uint256"}],"constant":false},{"type":"function","stateMutability":"nonpayable","payable":false,"outputs":[],"name":"setRoomAddress","inputs":[{"type":"string","name":"_roomAddress","internalType":"string"}],"constant":false},{"type":"function","stateMutability":"nonpayable","payable":false,"outputs":[],"name":"setStartDate","inputs":[{"type":"uint256","name":"_startDate","internalType":"uint256"}],"constant":false},{"type":"function","stateMutability":"nonpayable","payable":false,"outputs":[],"name":"signContract","inputs":[],"constant":false},{"type":"function","stateMutability":"view","payable":false,"outputs":[{"type":"bool","name":"","internalType":"bool"}],"name":"tenantToSigned","inputs":[{"type":"address","name":"","internalType":"address"}],"constant":true}]
Contract Creation Code
0x60806040526000600260006101000a81548160ff0219169083151502179055506000600260016101000a81548160ff0219169083151502179055506040518060400160405280600a81526020017f536d6172742052656e7400000000000000000000000000000000000000000000815250600a9080519060200190620000879291906200030a565b503480156200009557600080fd5b5060405162000f7a38038062000f7a833981810160405260e0811015620000bb57600080fd5b8101908080516040519392919084640100000000821115620000dc57600080fd5b83820191506020820185811115620000f357600080fd5b82518660018202830111640100000000821117156200011157600080fd5b8083526020830192505050908051906020019080838360005b83811015620001475780820151818401526020810190506200012a565b50505050905090810190601f168015620001755780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200019957600080fd5b83820191506020820185811115620001b057600080fd5b8251866001820283011164010000000082111715620001ce57600080fd5b8083526020830192505050908051906020019080838360005b8381101562000204578082015181840152602081019050620001e7565b50505050905090810190601f168015620002325780820380516001836020036101000a031916815260200191505b5060405260200180519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050508660019080519060200190620002869291906200030a565b5085600990805190602001906200029f9291906200030a565b508460078190555083600881905550826006819055508160058190555080600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050505050620003b9565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200034d57805160ff19168380011785556200037e565b828001600101855582156200037e579182015b828111156200037d57825182559160200191906001019062000360565b5b5090506200038d919062000391565b5090565b620003b691905b80821115620003b257600081600090555060010162000398565b5090565b90565b610bb180620003c96000396000f3fe6080604052600436106100915760003560e01c8063b8b4f1a011610059578063b8b4f1a014610236578063d1aac1711461024d578063d964f29e1461029e578063dc4a611c1461032e578063e1746af9146103f657610091565b806317d7de7c146100965780633784f000146101265780635c274b861461016157806382d95df51461016b5780639419bc29146101a6575b600080fd5b3480156100a257600080fd5b506100ab61045f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100eb5780820151818401526020810190506100d0565b50505050905090810190601f1680156101185780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561013257600080fd5b5061015f6004803603602081101561014957600080fd5b8101908080359060200190929190505050610501565b005b610169610564565b005b34801561017757600080fd5b506101a46004803603602081101561018e57600080fd5b810190808035906020019092919050505061060c565b005b3480156101b257600080fd5b506101bb61066f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101fb5780820151818401526020810190506101e0565b50505050905090810190601f1680156102285780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561024257600080fd5b5061024b61070d565b005b34801561025957600080fd5b5061029c6004803603602081101561027057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610805565b005b3480156102aa57600080fd5b506102b36109ca565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102f35780820151818401526020810190506102d8565b50505050905090810190601f1680156103205780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561033a57600080fd5b506103f46004803603602081101561035157600080fd5b810190808035906020019064010000000081111561036e57600080fd5b82018360208201111561038057600080fd5b803590602001918460018302840111640100000000831117156103a257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610a68565b005b34801561040257600080fd5b506104456004803603602081101561041957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a82565b604051808215151515815260200191505060405180910390f35b6060600a8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104f75780601f106104cc576101008083540402835291602001916104f7565b820191906000526020600020905b8154815290600101906020018083116104da57829003601f168201915b5050505050905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461055a57600080fd5b8060088190555050565b60001515600260019054906101000a900460ff1615151461058457600080fd5b6001600260016101000a81548160ff0219169083151502179055507ff1953715a33b9e021c0f2cf12911e8ac25fdb177bf6fc92d1331ae05201fe9f63334604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461066557600080fd5b8060078190555050565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107055780601f106106da57610100808354040283529160200191610705565b820191906000526020600020905b8154815290600101906020018083116106e857829003601f168201915b505050505081565b60001515600260009054906101000a900460ff1615151461072d57600080fd5b6001600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600260006101000a81548160ff0219169083151502179055507fe653009d32c7245a6ff858fa3a804f5beb3b19b4bbe48178446e966401d8389433604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b80600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156108a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f3074682061646472657373206973206e6f7420616c6c6f77656421000000000081525060200191505060405180910390fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561094f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526035815260200180610b486035913960400191505060405180910390fd5b7ff32dc6bb034b9afc20d4c7daa180b08e89cac33817a6836595b1021c4347620482600554600654604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a15050565b60098054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a605780601f10610a3557610100808354040283529160200191610a60565b820191906000526020600020905b815481529060010190602001808311610a4357829003601f168201915b505050505081565b8060099080519060200190610a7e929190610aa2565b5050565b60036020528060005260406000206000915054906101000a900460ff1681565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610ae357805160ff1916838001178555610b11565b82800160010185558215610b11579182015b82811115610b10578251825591602001919060010190610af5565b5b509050610b1e9190610b22565b5090565b610b4491905b80821115610b40576000816000905550600101610b28565b5090565b9056fe4c616e646c6f7264206973206e6f7420616c6c6f77656420746f2062652074656e616e74206174207468652073616d652074696d65a265627a7a723158204be6cb19165ad35e2694c71dfe5ebd695157c9279a5da416fc75339c013ae54264736f6c6343000510003200000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000608bb42a00000000000000000000000000000000000000000000000000000000608e572a00000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000000000000000000000000000000000000000012c000000000000000000000000615f95287ffccb181ff93606121ddd8b941a09e500000000000000000000000000000000000000000000000000000000000000054672616e6b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e3939412c204c6f726f6e67203939000000000000000000000000000000000000
Deployed ByteCode
0x6080604052600436106100915760003560e01c8063b8b4f1a011610059578063b8b4f1a014610236578063d1aac1711461024d578063d964f29e1461029e578063dc4a611c1461032e578063e1746af9146103f657610091565b806317d7de7c146100965780633784f000146101265780635c274b861461016157806382d95df51461016b5780639419bc29146101a6575b600080fd5b3480156100a257600080fd5b506100ab61045f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100eb5780820151818401526020810190506100d0565b50505050905090810190601f1680156101185780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561013257600080fd5b5061015f6004803603602081101561014957600080fd5b8101908080359060200190929190505050610501565b005b610169610564565b005b34801561017757600080fd5b506101a46004803603602081101561018e57600080fd5b810190808035906020019092919050505061060c565b005b3480156101b257600080fd5b506101bb61066f565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101fb5780820151818401526020810190506101e0565b50505050905090810190601f1680156102285780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561024257600080fd5b5061024b61070d565b005b34801561025957600080fd5b5061029c6004803603602081101561027057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610805565b005b3480156102aa57600080fd5b506102b36109ca565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102f35780820151818401526020810190506102d8565b50505050905090810190601f1680156103205780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561033a57600080fd5b506103f46004803603602081101561035157600080fd5b810190808035906020019064010000000081111561036e57600080fd5b82018360208201111561038057600080fd5b803590602001918460018302840111640100000000831117156103a257600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050509192919290505050610a68565b005b34801561040257600080fd5b506104456004803603602081101561041957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a82565b604051808215151515815260200191505060405180910390f35b6060600a8054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156104f75780601f106104cc576101008083540402835291602001916104f7565b820191906000526020600020905b8154815290600101906020018083116104da57829003601f168201915b5050505050905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461055a57600080fd5b8060088190555050565b60001515600260019054906101000a900460ff1615151461058457600080fd5b6001600260016101000a81548160ff0219169083151502179055507ff1953715a33b9e021c0f2cf12911e8ac25fdb177bf6fc92d1331ae05201fe9f63334604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461066557600080fd5b8060078190555050565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107055780601f106106da57610100808354040283529160200191610705565b820191906000526020600020905b8154815290600101906020018083116106e857829003601f168201915b505050505081565b60001515600260009054906101000a900460ff1615151461072d57600080fd5b6001600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600260006101000a81548160ff0219169083151502179055507fe653009d32c7245a6ff858fa3a804f5beb3b19b4bbe48178446e966401d8389433604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a1565b80600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156108a9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f3074682061646472657373206973206e6f7420616c6c6f77656421000000000081525060200191505060405180910390fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561094f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526035815260200180610b486035913960400191505060405180910390fd5b7ff32dc6bb034b9afc20d4c7daa180b08e89cac33817a6836595b1021c4347620482600554600654604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828152602001935050505060405180910390a15050565b60098054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a605780601f10610a3557610100808354040283529160200191610a60565b820191906000526020600020905b815481529060010190602001808311610a4357829003601f168201915b505050505081565b8060099080519060200190610a7e929190610aa2565b5050565b60036020528060005260406000206000915054906101000a900460ff1681565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610ae357805160ff1916838001178555610b11565b82800160010185558215610b11579182015b82811115610b10578251825591602001919060010190610af5565b5b509050610b1e9190610b22565b5090565b610b4491905b80821115610b40576000816000905550600101610b28565b5090565b9056fe4c616e646c6f7264206973206e6f7420616c6c6f77656420746f2062652074656e616e74206174207468652073616d652074696d65a265627a7a723158204be6cb19165ad35e2694c71dfe5ebd695157c9279a5da416fc75339c013ae54264736f6c63430005100032