* feat: add base contract for billing
* feat: add withdraw function
* feat: add billing requirement to mint
* test: add foundry tests for minting with billing
* refactor: remove transfer billing and add access point
* test: add access point billing foundry tests
* test: add test for billing value change
* test: add hardhat test setup for billing
* test: add hardhat tests for billing
* feat: add withdrawn event and add public withdraw function
* test: add tests for withdrawing founds and access control for billing
* refactor: fix misspells and change variable names
* feat: add initialize params for billing
* feat: add gap to FleekBilling
* fix: testname misspell
* feat: define the GithubRepository entity and update the Token entity to include it.
* feat: add NewMint event to the contract and emit it in the mint function.
* feat: add newmint entity, update token and gitrepository entities. add handler for entities. update transfer entity handler. update subgraph.yaml config.
* chore: deployment update
* chore: fix proxy file with before deployments
* fix: remove constructor args in verify-polyscan.js file and update contract address at subgraph.yaml
* fix: remove develop from subgraph.yaml gh action.
* merge: develop with auto approval settings into reverse lookup branch
* fix: remove the word settings from acesspointautoapproval param.
* fix: error in hardhat last token id test
* fix: solidity tests.
* fix: proxy contract address in subgraph.yaml.
* chore: run subgraph tests only on main PRs
---------
Co-authored-by: Felipe Mendes <zo.fmendes@gmail.com>
* 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
* feat: add FleekPausable
* feat: add FleekPausable functions in FleekERC721
* fix: requirePaused logic
* feat: add pause modifiers in FleekERC721
* refactor: move functions to the main contract to add pause modifier
* test: add unpause to test setups
* fix: revokeTokenRole modifier
* test: add initial tests and setup for pausable
* test: all test for pause and pausable states
* test: add test for functions when contract is paused
* test: add pausable hardhat tests
* test: foundry access control test for pausable
* refactor: function names
* fix: remove virtual keywords for functions that must not be overriden
* refactor: set inital state for unpaused
* refactor: add new unified events and remove old multiple ones
* fix: remove indexed from string params on events
* test: add hardhat tests for metadata update changes
* refactor: change event name
* test: add foundry tests for event emits in metadata changes
* refactor: undo changes on accespoint events
* chore: remove subgraph ci tests on prs for develop
* refactor: overload MetadataUpdate event to have multiple type of parameters
---------
Co-authored-by: Shredder <110225819+EmperorOrokuSaki@users.noreply.github.com>
* feat: expose a getToken function that returns all non-nested values of an app. Remove the access point mapping in the App struct.
* test: add test for getToken to hardhat
* test: add test cases for getToken (forge tests).
* docs: update header comments for getToken
* fix: apply Zoruka's suggestion
* fix: apply Zoruka's suggestion for expectingRevert
* fix: revert expectRevert