Summary and background
Icon Foundation is accepting proposals for creating a trustable smart contract unit testing tool or framework for smart contracts built in the Icon - Java Execution Environment. Icon Foundation has been in operation since 2017 and has grown to include thousands of users. Smart contract development is crucial for the growth and sustenance of the Icon Ecosystem.
This request for proposal has been published to gather bids for the smart contract testing portion of our Icon Interoperability Incentivization plan
Guidelines for bidders
All subcontracting intentions must be clearly represented therein. All documents must be prepared and signed by those authorized to do so. All costs must be listed in bnUSD. Further terms are subject to development pending selection of a bid.
Project purpose and scope
The purpose of the Icon Smart Contract Unit Testing project is to provide reliable tool for new developers to test smart contracts on the Icon Main Network. The project is to include a tool for unit testing smart contract.
This project will address the following issues:
- Some of the things in the unit test framework behave completely different from goloop
- E.g. not reverting the context of the transaction on reverts
- Unit testing library currently uses Context.call to call the contract methods, it would be better to have a framework to create class instance as
score
(i.e. smart contract environment) and call methods natively as if calling class methods - Investigate how this can yield an autocomplete feature
The contractor will be building the tool and marketing it to the community. Icon Foundation will also negotiate a warranty term in the event of necessary maintenance and bug fixes within a reasonable time.
Proposal timeline and project deadline
Upon contract award, work must be completed within two months.
Budget requirements
Each proposal should include the following for consideration:
- Cost of materials
- Cost of labor
- Overhead
- Total project cost
Criteria
Icon Foundation will evaluate proposals based on the following criteria:
- Overall cost
- Company experience
- References
- Proposal professionalism and quality