* chore: update config and commands to deploy to goerli
* feat: bring changes from other deployment branches into this branch. Including sepolia configs.
* chore: update ci to copy .env
* chore: add goerli api to .env.example.
* chore: update on UI readme
* feat: apply the requested changes
* chore: change verify-contract to verify.js and remove the other file
* chore: make the final requested changes on config files and readme.
* fix: missed comma
* docs: add the "setting contract address and abi" section to the README file in the UI directory
---------
Co-authored-by: janison <jsonsivar@gmail.com>
Co-authored-by: Camila Sosa Morales <camisosa@fleek.co>
* wip: add base solidity functions to try ens validation
* chore: add hardhat fork setup with env variable
* wip: setup ens verification for FleekERC721
* wip: add ens namehash generation
* chore: gas report setting
* feat: add ens verification on setTokenENS function
* test: hardhat transfer ens owner to set new ens
* test: fix foundry tests to enable ens validation
* refactor: change back ens to calldata and split out a public function for namehash testing
* refactor: move FleekENS.sol to util folder
* test: add ens validation tests for not owner attempts
* chore: add mainnet api key env in ci
* chore: fix .env.example
* fix: remove extra unused file
* feat: disable initializers and set paused state for implementation contracts
* test: add deploy guarantee tests for interaction with implementation contracts
* chore: add buildId and implementationAddress to deployStore script
* test: reset initialized state on store of deployed contract for foundry tests
* test: optmize deployUninitialized function
* test: test if is possible to mint in implementation contract
* feat: add token verifier token data and requirement
* feat: add verifier argument on mint function
* test: fix current foundry tests
* test: fix current hardhat tests
* test: add test for non token verifier with verifier role
* fix: mint signature on hardhat tests
* refactor: single mint function
* fix: overloaded mint calls on javascript side
* wip: compilant version of interface
* refactor: split out access point to single module
* test: fix mint call on hardhat tests
* fix: remove auto approval from NewMint event
* feat: add verifier collection role
* refactor: apply verifier role to verify ap functions
* test: hardhat tests for verifier role
* refactor: grant verifier role for deployer
* test: foundry tests for verifier role
* test: fix fixture after changing deployer to be verifier
* test: change token owner to match connected account on verifier role check
* feat: define entities, add handlers for access points.
* feat: change ChangeAccessPointAutoApproval event to metadataUpdate with boolean value (new event), and also add NewMint handler again.
* test: rename ChangeAccessPointStatus to ChangeAccessPointCreationStatus in hardhat tests.
* refactor: deploy the new version of the contract and update the proxy address and block number in the subgraph config file.
* refactor: change name of status to creationStatus in schema.
Co-authored-by: Janison Sivarajah <jsonsivar@gmail.com>
* refactor: remove commented handlers for ACL.
* feat: add the condition for deploying proxy again
* refactor: remove newAccessPoint from subgraph.yaml
---------
Co-authored-by: Janison Sivarajah <jsonsivar@gmail.com>
* 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
* 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