* chore: remove the counters lib from the contract and create private vars instead.
* merge: develop. fix conflicts.
* style: remove unnecessary white space
* 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
* test: add unit tests for the subgraph for events transfer, NewTokenName, NewTokenDescription, NewTokenExternalURL, NewTokenENS, NewTokenBuild
* fix: import errors
* fix: remove keyword "indexed" for strings in events.
* fix: update subgraph.yaml, schema.graphql, and all generated files with the test files to match the new interface of the contract events.
* fix: expose a makeEventId function to avoid repeating code for id generation and also change logIndex before handling events. Update tests to match the new changes.
* chore: remove Holder.
* fix: wrong import for newLogoEvent
* test: add FleekERC721 test base mint and uri
* chore: update forge-std version
* test: add FleekERC721 burn tests
* test: fix role getter
* test: add access tests for random address
* test: add access tests for owner address
* test: add test revert assertions
* test: apply revert assertions
* test: remove already split tests
* fix: wrong renamed file
* test: move access point tests
* test: refactor access control tests
* test: add deploy test cases
* test: add balance before and after mint test
* test: remove old testsuit
* chore: update foundry test folder strcture
* test: add assertion to verify added role for random address
* test: fix test functions names
* test: remove test_addAccessPoint
* test: add assertion for appAccessPoints length
* test: remove unnecessary assertions on test_tokenURI
* test: rename test files
* test: refactor testFail to test
* folder restructure init - WIP
* Update husky for folder change
* Properly ignore local zeppelin file
* change folder strucutre: update readme and contribution files
* remove chakra from readme list of key dependencies
* run contract workflow steps in contract dir
* Cleanup readmes, split contract into it's own
* Apply some suggestions from code review
Co-authored-by: Shredder <110225819+EmperorOrokuSaki@users.noreply.github.com>
Co-authored-by: Felipe Mendes <zo.fmendes@gmail.com>
* Move .env.example to contracts folder, and use consistent format for directory references in docs
* More readme dir ref fixes
* Update poc note in readme, and removed deploy folder from readme
* Prettier refactor
* Revert "Prettier refactor"
This reverts commit 82249e32aaf6a6e9a4d432c4f89ca365c18972f8.
* Clean up package.json and add prettier ignore
---------
Co-authored-by: Shredder <110225819+EmperorOrokuSaki@users.noreply.github.com>
Co-authored-by: Felipe Mendes <zo.fmendes@gmail.com>
* refactor: update contract with logo and color, add new svg styling
* refactor: fix color storaging
* test: fix tests for new app metadata
* test: fix solidity tests
* chore: update latest deployment files
* feat: update mint script and add assets files
* refactor: move assets files
* refactor: update svg generation styling
* feat: add library deployment storage
* test: fix contract tests
* feat: add setTokenLogo and setTokenColor contract functions
* test: add hardhat tests for new set functions
* test: add foundry tests for new set functions, split out constant strings to constants library
* chore: remove leftover comment
* feat: add setTokenLogoAndColor function
* test: add test for setTokenLogoAndColor function
* test: add test for setTokenLogoAndColor function on foundry
* feat: add mirror mapping and management
* test: add mirrors tests
* chore: add new functions header comments
* feat: add isMirrorVerified function
* feat: add a list of mirrors to token
* feat: add require minted to appMirrors function
* chore: update solidity compiler on hardhat config
* refactor: add token id to other mirror events
* refactor: change from mirror to access point and update its metadata
* test: updates tests due to contract changes
* refactor: clean up string parser from main contract
* refactor: remove wronge requirement comments
* refactor: strings library (#71)
* refactor: move string parse functions to a library
* refactor: remove not used modifier
* refactor: move svg generation to library
* refactor: remove source from aps
* refactor: rename accessPoint function
* test: fix two foundry test cases
* test: fix tests that were not working.
* fix: apply requested changes.
---------
Co-authored-by: zoruka <zo.fmendes@gmail.com>
* feat: add mirror mapping and management
* test: add mirrors tests
* chore: add new functions header comments
* feat: add isMirrorVerified function
* feat: add list of mirrors to token
* feat: add require minted to appMirrors function
* chore: update solidity compiler on hardhat config
* refactor: add token id to other mirror events
* refactor: change from mirror to access point and update its metadata
* test: updates tests due to contract changes
* refactor: clean up string parser from main contract
* refactor: remove wronge requirement comments
* refactor: strings library (#71)
* refactor: move string parse functions to a library
* refactor: remove not used modifier
* refactor: move svg generation to library
* refactor: remove source from aps
* refactor: rename accessPoint function
* wip: refactor on current nft contract
* wip: FleekERC721 contract
* refactor: FleekERC721
* feat: add token controller control functions
* fix: sintax wise issues for compilation
* Fix errors and make the contract environment ready for compiling.
* Remove fleekbuilds.sol & update erc721 with a fix
* Update config files.
* fix: working deploy
* Make set methods public, add comments and notes to clarify issues.
* Update package.json to add the deploy script & remove package-lock.json from the repository
* Add two deploy scripts for local and mumbai deployments, update hardhat config to match two types and package.json
* Update TokenURI and the metadata struct
* Update deploy script and package.json to match the mumbai deploy script
* Add setTokenName, setTokenDescription, setTokenImage
* Add events to all set functions
* Foundry init configs
* Add foundry tests init (name, symbol, placeholder functions)
* test: hardhat (#21)
* chore: update hardhat config
* test: add FleekERC721 tests and remove not used SitesNFTs suit
* test: verify ERC721 compatibility
* Content type on second abi.encodePacked call in tokenURI
* Fix abi encoding on tokenURI
* chore: update hardhat config
* test: add FleekERC721 tests and remove not used SitesNFTs suit
* test: verify ERC721 compatibility
* Content type on second abi.encodePacked call in tokenURI
* test: improve assertion using deep equality
* chore: remove 0.4.24 version from hardhat compilers
* refactor: clear empty bytes from bytes32
* refactor: change properties from bytes32 to string
Co-authored-by: janison <jsonsivar@gmail.com>
* feat: add interaction scripts
* feat: add function signature to remove token controllers on transfer functions
* Update test commands & add forge-cache and out to .gitignore
* refactor: change token controller role validation to _beforeTokenTransfer function
* refactor: remove upgradeTokenBuild and fix burn requirement
* refactor: add isTokenController and move _clearTokenControllers to FleekAccessControl contract
* refactor: remove localhost and wrong mumbai deployments
* refactor: rename polygonMumbai to mumbai
* refactor: remove twiced name on gitignore
* chore: mumbai deployments
* refactor: util script to get contract using hardhat defined network
* chore: move forge-std as a submodule
* chore: move forge-std as a submodule
Co-authored-by: EmperorOrokuSaki <artie.eth@gmail.com>
Co-authored-by: daltoncoder <71679972+daltoncoder@users.noreply.github.com>
Co-authored-by: janison <jsonsivar@gmail.com>