Construction Bond

Contract purpose

This Smart Contract implements a construction bond. A construction bond is a type of surety bond used by investors in construction projects to protect against disruptions or financial loss due to a contractor's failure to complete the project or to meet contract specifications. When a contractor vies for a construction job, he is usually required to put up a contract bond or construction bond. The construction bond provides assurance to the project owner that the contractor will perform according to the terms stated in the agreement.

Exposed methods and variables

suretyCompanyRepresentative the ethereum address of surety conpany representative, given as parameter at contract creation

projectOwner the ethereum address of the project owner or of the representative of the board of owners, given as parameter at contract creation

contractor the ethereum address of contractor, given as parameter at contract creation

projectOwnerSigned true after the project owner approves with the contract conditions

contractorSigned true after the contractor also approves with the contract conditions

insuranceAmount the sum the project owner will get if the contractor fails to deliver

setInsuranceAmount allows the surety company representative to set the amount of the insurance by sending it to the contract

parameter nametypedetails
_insuranceAmountintegerthe amount of the insurance

signBond this function is called before the work on the project begins. Both project owner and contractor have to agree with the contract details

contractorFailed this function can be called by the project manager if the contractor has failed to complete the project. It will emit the ContractorFailed event, notifying the surety company so that they will call the next function to send the insurance amount to the project owner

sendMoneyToProjectOwner in case the contractor failed to complete the project, the surety company representative has to call this function so that the insurance will cover the prejudice of the project owner

projectDone this function is called by the contractor to signal that he completed the project. It emits the ProjectFinished event

approveProject after the previous function is called, the project owner has to give his ok about the project completion so that the insurance money could go back to the surety company



parameter nametypedetails
valuebooleantrue when the contractor failed to deliver


parameter nametypedetails
valuebooleantrue if the contractor finished the project
Reviewed by Modex
Buy Contract Test Contract

Create an account or login to purchase this smart contract