# General Grant Proposal - **Project:** Starksheet ## Project Overview :page_facing_up: ### Overview The aim of the project is to port Starksheet (currently only available on Starknet) to any EVM chain. ### Project Details Within 3 months, the starksheet app will be available on Arbitrum, Optimism and Aurora. Depending on marketing consideration, they will either be on their own domain (arbisheet.xyz, optimisheet.xyz, aurorasheet.xyz) or under the main app.starksheet.xyz with a dropdown/wallet selection to select the appropriate dapp. The updated starksheet will open on template sheet only (unlike the current version) and let the user display only their sheets. ## Team :busts_in_silhouette: ### Team members - Clément WALTER - clement0walter@gmail.com - @ClementWalter ### Team Website - https://www.starksheet.xyz ### Team's experience I have been developing web3 dApps for a year and a half: - 4 fully on-chain NFTs projects on mainnet leveraging composability and - Starksheet on Starknet - Kakarot on Starknet ### Team Code Repos - https://github.com/the-candy-shop ## Development Roadmap :nut_and_bolt: ### Overview - **Total Estimated Duration:** 3 months - **Full-time equivalent (FTE):** 3 months Workload of an employed person ([see](https://en.wikipedia.org/wiki/Full-time_equivalent)) - **Total Costs:** 30k $US. ### Milestone 1 - Port of starksheet contracts to solidity/EVM chains - **Estimated Duration:** 3 weeks - **FTE:** 1 - **Costs:** $7,000 - **Estimated delivery date**: Feb 28st 2023 The purpose of this track is to port the contracts from Starknet to EVM | Number | Deliverable | Specification | | ------ | ----------- | ----------------------------------------- | | 0.a | Infra | Setup evm project with forge | | 1 | Contract | Port of starksheet.cairo contract + tests | | 2 | Contract | Port of sheet.cairo contract + tests | | 3 | Contract | Port of math.cairo contract + tests | ### Milestone 2 - Port of the app.starksheet.xyz dApp - **Estimated Duration:** 3 weeks - **FTE:** 1 - **Costs:** $7,000 - **Estimated delivery date**: Mar 25th 2023 The purpose of this track is to port the FE from Starknet only to Starknet/EVM chains | Number | Deliverable | Specification | | ------ | ------------------- | ----------------------------------------------------------------- | | 0.a | Infra | Buy domain name and setup netlify | | 1 | React Hooks | Port of hooks from starknet.js to ether.js | | 2 | Wallet | Use appropriate wallet connect for EVM chains | | 3 | Account Abstraction | Update the sheet contract to incluse a mutlicall for emulating AA | ### Milestone 3 - IPFS support - **Estimated Duration:** 2 weeks - **FTE:** 1 - **Costs:** $5,000 - **Estimated delivery date**: Mar 25th 2023 The purpose of this track is to allow the storage and the retrieval of off-chain data (IPFS) | Number | Deliverable | Specification | | ------ | ------------ | ------------------------------------------------------------------------------------ | | 1 | CellRenderer | Follow ipfs link to display content instead of address | | 2 | Save action | Post data to IPFS when the content is a string and store only the ipfs link on-chain | ### Milestone 4 - Template creation + user sheets - **Estimated Duration:** 2 weeks - **FTE:** 1 - **Costs:** $5,000 - **Estimated delivery date**: Mar 25th 2023 The purpose of this track is to create a friendlier experience on the dApp with an easier onboarding and content retrieval | Number | Deliverable | Specification | | ------ | ----------- | ----------------------------------------------------------------------------------------------------------- | | 1 | ReactRouter | Use a router to give to each sheet a dedicated address starksheet.xyz/{spreadsheet_address}/{sheet_address} | | 2 | Templates | Create mutli-swap and multi-send template | ### Milestone 5 - Mix on-off chain data in multicall - **Estimated Duration:** 1 month - **FTE:** 1 - **Costs:** $10,000 - **Estimated delivery date**: Mar 25th 2023 The purpose of this track is to let the user store graph multicall that would also use off-chain. This last track is more experimental and I expect some unexpected difficulties. | Number | Deliverable | Specification | | ------ | ----------------- | ---------------------------------------------------------------------- | | 1 | Starksheet Engine | fetch data of a given API path in the cell (similar to ipfs rendering) | | 2 | Starksheet Engine | Feed tx with this external data | ## Additional Information :heavy_plus_sign: As mentioned on the call with Thore, I will work with OnlyDust to onboard new contributors in the project while I will remain the project lead and insure it's going well in the right direction. Upon acceptance of the project by OnlyDust, the project will also be open to receiving Starknet grants on a per PR basis.