* 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: 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
* 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: 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: 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
* 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