Go to file
Shredder cfea9a90ea
feat: access point auto approval settings for tokens (#121)
* feat: add accessPointAutoApprovalSettings field to mint, app struct, and expose a function for changing the field later + an event.

* feat: add checks for the autoapproval settings on function addAccessPoint.

* feat: add setApprovalForAccessPoint function and ChangeAccessPointApprovalStatus event.

* test: add new constant variables to the hardhat tests and update mint tests.

* feat: update removeAccessPoint function to check the status and also update getAccessPointJSON to include status.

* test: add two access point test files and fix errors and mismatches in them with the auto approval set up

* feat: remove the access point mapping in the App struct and wherever it was used.

* chore: update foundry tests to match the new interface of the contract.

* test: add new tests for the approval settings

* chore: update foundry tests to match new interface.

* test: update foundry tests and the settings for auto approvals

* feat: keep history of removed APs. Update tests.

* fix: make changes to the contract and tests to fix the tests.

* chore: apply changes Zoruka requested.

* fix: change name of setAutoApprovalSettings function in foundry tests.

* perf: revert back to enums, update hardhat and foundry tests.

* fix: apply requested changes by janison.

* fix: error in hardhat test.

* fix: mint params of a foundry test.

* fix: merge errors.

* fix: revert back to tokenOwner for setAutoApproval functions.

* chore: remove comment for accessPointAutoApproval
2023-02-23 12:29:53 +03:30
.github/workflows refactor: make a single event for token metadata changes (#111) 2023-02-17 09:59:55 -03:00
.husky chore: change top level folder structure (#105) 2023-02-06 15:15:44 -05:00
contracts feat: access point auto approval settings for tokens (#121) 2023-02-23 12:29:53 +03:30
subgraph feat: collection and collectionOwner entities (#122) 2023-02-11 00:45:27 +03:30
ui chore: mint form (#115) 2023-02-10 17:49:30 -05:00
.gitignore chore: change top level folder structure (#105) 2023-02-06 15:15:44 -05:00
.gitmodules chore: change top level folder structure (#105) 2023-02-06 15:15:44 -05:00
.prettierignore chore: change top level folder structure (#105) 2023-02-06 15:15:44 -05:00
.prettierrc chore: precommit hooks (#18) 2022-12-16 14:57:49 -03:00
CONTRIBUTING.md chore: change top level folder structure (#105) 2023-02-06 15:15:44 -05:00
LICENSE Release/0.0.1 fixes (#60) 2022-12-22 14:21:00 -03:00
README.md chore: change top level folder structure (#105) 2023-02-06 15:15:44 -05:00
package.json chore: change top level folder structure (#105) 2023-02-06 15:15:44 -05:00
yarn.lock Forgot to add yarn.lock so separate hotfix pr for it (#108) 2023-02-06 15:56:42 -05:00

README.md

Fleek Non Fungible Apps

The repository for Fleek Non Fungible Apps project

🚧 IMPORTANT 🚧 - This initiative is under development, so this repo should be treated as a WIP. The goals and the roadmap might change as the project is shaped.

Overview

This is the landing point for Fleek's initiative to implement infrastructure as Solidity contracts.

The vision is to have this on a suitable L2 or L3 based on EVM so there is flexibility in terms of which chains to work with. And we can create a network of smart contracts that represent the different parts of your stack.

The goal is to be a more verifiable and crypto-friendly Serverless.yaml or Cloudformation manifests that will enable us to develop use cases on top like community hosting.

We've developed a base set of contract code so now we want to harden it as well as add more metadata and features to support use cases with the first use case being community hosting. So be sure to check out the roadmap on the wiki.

You can find the wiki here for more information about the project.

⌨️ Developing

📁 Project Structure

Inside the root folder you are going to find:

  • contracts: all the developed contracts
  • subgraph: The Graph project related code
  • ui: a web application to interact with deployed contracts

You can see breakdowns of other folders in the README within those folders.

Contracts

Within the project is the contracts folder which houses the contracts, utils, tests and deployment scripts associated with the Solidity smart contracts. Check the contracts readme for more info.

🖥️ User Interface

Within the project is included a React web application to expose and test the interaction with deployed scripts. Check the UI readme for more info.

Subgraph

In order to index data offchain, we use TheGraph and this section is the code required for our subgraph. Check the subgraph readme for more info.

💅 Code Styling

For code formatting we are using Prettier and following the styling guide from Solidity documentation. For formatting the code you are able to run:

$ yarn format

⚠️ Please make sure you are following the code styling guid before pushing code

🛣️ Roadmap

Our goal is to reach a point where trustable Solidity contracts can be used for identifying properly the data about web3 applications. Within that goal, we want to also provide ways for users to organize and list information about their application. To get at this we are currently starting with:

  • Define trustable and extendable smart contracts and standards
  • Prove how the concept would be applicable using static sites
  • Prove community hosted apps via these contracts

Later on, when the initiative prove its value, a service will be added to Fleek's platform in a friendly way for anyone be able to get their applications onboard.

💡 Proof of concept

The proof of concept was concluded last year and you can reach more information here.

📚 Dependency Highlights

We use the following libraries to develop Fleek Non Fungible Apps

🙏 Contributing

This is an open source initiative! Any new idea is welcome, if you want to help us to improve the project please checkout the contributing guide.

📜 License

Fleek Non Fungible Apps is released under the MIT License.

🐛 Bug reporting

If you have found a bug to report, please create an issue. Thank you!