Description

Contributors

Work Started

Work Submitted

Work Paid

All Activity

Funder

Funder :

Email :

[typescript] Convert ABIs to TypeScript

MARKETProtocol

MARKET.js, MARKETProtocol, TypeScript, 0x, Solidity, web3

### User Story
[comment]: # (As a , I want to so that .)
As a developer, I need access to the ABIs using TypeScript so that my code will meet the project's standards.
### Why Is this Needed?
[comment]: # (Describe the problem and why this task is needed. Provide a description of the current state, what you would like to happen, and what actually happen)
*Summary*: The current json ABIs need to be converted to TypeScript.
### Description
[comment]: # (Feature or Bug? i.e Type: Bug)
*Type*: Feature
### Current Behavior
[comment]: # (Describe what actually happened.)
No TypeScript ABIs.
### Expected Behavior
[comment]: # (Describe what you expected to happen.)
ABIs available in TypeScript.
### Solution
[comment]: # (Provide a summary of the solution and a task list on what needs to be fixed.)
*Summary*: Using the `market-solidity` npm package, convert the json ABIs to TypeScript. The package is installed as a dev dependency. The json contracts are located at `node_modules/market-solidity/build/contracts`.
Try using 0x's ABI generator, https://github.com/0xProject/0x-monorepo/tree/development/packages/abi-gen. Additional details are listed here, https://blog.0xproject.com/abi-to-typescript-generator-b0fb5cae9e29.
If possible, use the standard templates, https://github.com/0xProject/0x-monorepo/tree/v2-prototype/packages/contract_templates. If not, modify/create templates for the ABIs.
Use the `types repo` and store the templates in the `templates` directory and type definitions in the `types` directory at the root level.
### Definition of Done
[comment]: # (Any other information that would be useful, bullets are helpful.)
- Convert json ABIs in the `node_modules/market-solidity/build/contracts` to their TypeScript equivalents.
- Store the resulting TypeScript ABIs in the`types` directory in the `types` repo.
- Create or modify the templates as needed.
- Store the resulting templates in the `templates` directory in the `types` repo...even if the templates are unchanged from the 0x project.
- Test and verify the type definitions.
- Modify package.json to generate type definitions.