Skip to content

Commit

Permalink
Merge pull request #109 from thematters/feat/add-coverage-report
Browse files Browse the repository at this point in the history
feat: add coverage report & bump deps
  • Loading branch information
robertu7 committed Sep 28, 2022
2 parents 06d024f + 3a7958e commit d78722d
Show file tree
Hide file tree
Showing 14 changed files with 109 additions and 121 deletions.
1 change: 0 additions & 1 deletion .env.local.example
Expand Up @@ -3,7 +3,6 @@ DEPLOYER_PRIVATE_KEY=
DEPLOYER_ADDRESS=
ETH_RPC_URL=
CHAIN_ID=1337
GUID=
LOGBOOK_CONTRACT_ADDRESS=
THESPACE_CURRENCY_ADDRESS=
THESPACE_TOKEN_IMAGE_URI=
Expand Down
1 change: 0 additions & 1 deletion .env.polygon-mainnet.example
Expand Up @@ -3,7 +3,6 @@ DEPLOYER_PRIVATE_KEY=
DEPLOYER_ADDRESS=
ETH_RPC_URL=https://<NETWORK>.alchemy.com/v2/<API_KEY>
CHAIN_ID=137
GUID=
LOGBOOK_CONTRACT_ADDRESS=
THESPACE_CURRENCY_ADDRESS=
THESPACE_REGISTRY_ADDRESS=
Expand Down
1 change: 0 additions & 1 deletion .env.polygon-mumbai.example
Expand Up @@ -3,7 +3,6 @@ DEPLOYER_PRIVATE_KEY=
DEPLOYER_ADDRESS=
ETH_RPC_URL=https://<NETWORK>.alchemy.com/v2/<API_KEY>
CHAIN_ID=80001
GUID=
LOGBOOK_CONTRACT_ADDRESS=
THESPACE_CURRENCY_ADDRESS=
THESPACE_REGISTRY_ADDRESS=
Expand Down
192 changes: 96 additions & 96 deletions .gas-snapshot
@@ -1,100 +1,100 @@
LogbookTest:testClaim() (gas: 134551)
LogbookTest:testDonate(uint96) (runs: 256, μ: 146160, ~: 156782)
LogbookTest:testDonateWithCommission(uint96,uint96) (runs: 256, μ: 142810, ~: 140238)
LogbookTest:testFork(uint96,string) (runs: 256, μ: 426671, ~: 451048)
LogbookTest:testForkRecursively(uint8,uint96) (runs: 256, μ: 2238066, ~: 268025)
LogbookTest:testForkWithCommission(uint96,string,uint256) (runs: 256, μ: 425319, ~: 257305)
LogbookTest:testMulticall() (gas: 286758)
LogbookTest:testPublicSale() (gas: 202464)
LogbookTest:testPublish(string) (runs: 256, μ: 264899, ~: 264312)
LogbookTest:testPublishEn1000() (gas: 243675)
LogbookTest:testPublishEn140() (gas: 221330)
LogbookTest:testPublishEn200() (gas: 223090)
LogbookTest:testPublishEn2000() (gas: 270196)
LogbookTest:testPublishEn300() (gas: 225526)
LogbookTest:testPublishEn50() (gas: 218920)
LogbookTest:testPublishEn500() (gas: 230532)
LogbookTest:testPublishEn5000() (gas: 348716)
LogbookTest:testPublishZh100() (gas: 224722)
LogbookTest:testPublishZh20() (gas: 218880)
LogbookTest:testPublishZh200() (gas: 231292)
LogbookTest:testPublishZh2000() (gas: 371353)
LogbookTest:testPublishZh50() (gas: 221328)
LogbookTest:testPublishZh500() (gas: 251198)
LogbookTest:testPublishZh5000() (gas: 607910)
LogbookTest:testSetDescription() (gas: 141188)
LogbookTest:testSetForkPrice() (gas: 154277)
LogbookTest:testSetTitle() (gas: 167036)
LogbookTest:testSplitRoyalty(uint8,uint8,uint96) (runs: 256, μ: 1204465, ~: 310758)
LogbookTest:testWithdraw() (gas: 7464895)
LogbookNFTSVGTest:testTokenURI(uint8,uint8,uint16) (runs: 256, μ: 2186202, ~: 1336263)
SnapperTest:testCannotInitRegionByNotOwner() (gas: 11456)
SnapperTest:testCannotReInitRegion() (gas: 14399)
SnapperTest:testCannotTakeSnapshotBeforeInit() (gas: 15780)
SnapperTest:testCannotTakeSnapshotByNotOwner() (gas: 12507)
SnapperTest:testCannotTakeSnapshotWrongLastBlock() (gas: 49275)
SnapperTest:testCannotTakeSnapshotWrongSnapshotBlock() (gas: 24002)
SnapperTest:testInitRegion(uint256) (runs: 256, μ: 114657, ~: 114657)
SnapperTest:testTakeSnapshot() (gas: 48060)
ACLManagerTest:testCannotGrantACLManagerRole() (gas: 12276)
ACLManagerTest:testCannotGrantRoleByNonACLManager() (gas: 17404)
ACLManagerTest:testCannotGrantRoleToZeroAddress() (gas: 12243)
ACLManagerTest:testCannotRenounceRoleByACLManager() (gas: 12148)
ACLManagerTest:testCannotRenounceRoleByAttacker() (gas: 12416)
ACLManagerTest:testCannotTransferRoleByAttacker() (gas: 12564)
ACLManagerTest:testCannotTransferRoleToZeroAddress() (gas: 12241)
ACLManagerTest:testGrantRole() (gas: 23656)
ACLManagerTest:testRenounceRole() (gas: 27973)
ACLManagerTest:testRoles() (gas: 15436)
ACLManagerTest:testTransferRole() (gas: 21660)
TheSpaceTest:testBatchBid() (gas: 692298)
TheSpaceTest:testBatchSetPixels(uint16,uint8) (runs: 256, μ: 363366, ~: 367792)
TheSpaceTest:testBidDefaultedToken() (gas: 410646)
TheSpaceTest:testBidExistingToken() (gas: 356958)
TheSpaceTest:testBidNewToken() (gas: 301097)
TheSpaceTest:testCanTransferFromIfSettleTax() (gas: 357146)
TheSpaceTest:testCannotBidExceedAllowance() (gas: 60820)
TheSpaceTest:testCannotBidOutBoundTokens() (gas: 260259)
TheSpaceTest:testCannotBidPriceTooLow() (gas: 341477)
TheSpaceTest:testCannotGetTaxWithNonExistingToken() (gas: 16448)
TheSpaceTest:testCannotGetTokenURIInLogicContract() (gas: 296845)
TheSpaceTest:testCannotSetColorByAttacker() (gas: 302930)
TheSpaceTest:testCannotSetConfigByAttacker() (gas: 12100)
TheSpaceTest:testCannotSetPixel(uint256) (runs: 256, μ: 312268, ~: 312268)
TheSpaceTest:testCannotSetPriceByNonOwner() (gas: 303006)
TheSpaceTest:testCannotSetTokenImageURIByNonACLManager() (gas: 11909)
LogbookTest:testClaim() (gas: 134763)
LogbookTest:testDonate(uint96) (runs: 256, μ: 155493, ~: 156942)
LogbookTest:testDonateWithCommission(uint96,uint96) (runs: 256, μ: 152152, ~: 140464)
LogbookTest:testFork(uint96,string) (runs: 256, μ: 446784, ~: 450614)
LogbookTest:testForkRecursively(uint8,uint96) (runs: 256, μ: 4683692, ~: 1016125)
LogbookTest:testForkWithCommission(uint96,string,uint256) (runs: 256, μ: 542620, ~: 257710)
LogbookTest:testMulticall() (gas: 285685)
LogbookTest:testPublicSale() (gas: 202868)
LogbookTest:testPublish(string) (runs: 256, μ: 264529, ~: 264648)
LogbookTest:testPublishEn1000() (gas: 243576)
LogbookTest:testPublishEn140() (gas: 221340)
LogbookTest:testPublishEn200() (gas: 222925)
LogbookTest:testPublishEn2000() (gas: 270119)
LogbookTest:testPublishEn300() (gas: 225383)
LogbookTest:testPublishEn50() (gas: 218821)
LogbookTest:testPublishEn500() (gas: 230367)
LogbookTest:testPublishEn5000() (gas: 348595)
LogbookTest:testPublishZh100() (gas: 224601)
LogbookTest:testPublishZh20() (gas: 218803)
LogbookTest:testPublishZh200() (gas: 231171)
LogbookTest:testPublishZh2000() (gas: 371254)
LogbookTest:testPublishZh50() (gas: 221251)
LogbookTest:testPublishZh500() (gas: 251055)
LogbookTest:testPublishZh5000() (gas: 607789)
LogbookTest:testSetDescription() (gas: 140859)
LogbookTest:testSetForkPrice() (gas: 153948)
LogbookTest:testSetTitle() (gas: 168804)
LogbookTest:testSplitRoyalty(uint8,uint8,uint96) (runs: 256, μ: 1896930, ~: 527893)
LogbookTest:testWithdraw() (gas: 7296693)
LogbookNFTSVGTest:testTokenURI(uint8,uint8,uint16) (runs: 256, μ: 2042387, ~: 1315240)
SnapperTest:testCannotInitRegionByNotOwner() (gas: 11390)
SnapperTest:testCannotReInitRegion() (gas: 14423)
SnapperTest:testCannotTakeSnapshotBeforeInit() (gas: 15792)
SnapperTest:testCannotTakeSnapshotByNotOwner() (gas: 12528)
SnapperTest:testCannotTakeSnapshotWrongLastBlock() (gas: 49279)
SnapperTest:testCannotTakeSnapshotWrongSnapshotBlock() (gas: 24049)
SnapperTest:testInitRegion(uint256) (runs: 256, μ: 114604, ~: 114604)
SnapperTest:testTakeSnapshot() (gas: 47962)
ACLManagerTest:testCannotGrantACLManagerRole() (gas: 12231)
ACLManagerTest:testCannotGrantRoleByNonACLManager() (gas: 17403)
ACLManagerTest:testCannotGrantRoleToZeroAddress() (gas: 12220)
ACLManagerTest:testCannotRenounceRoleByACLManager() (gas: 12081)
ACLManagerTest:testCannotRenounceRoleByAttacker() (gas: 12371)
ACLManagerTest:testCannotTransferRoleByAttacker() (gas: 12498)
ACLManagerTest:testCannotTransferRoleToZeroAddress() (gas: 12218)
ACLManagerTest:testGrantRole() (gas: 23547)
ACLManagerTest:testRenounceRole() (gas: 27841)
ACLManagerTest:testRoles() (gas: 15393)
ACLManagerTest:testTransferRole() (gas: 21528)
TheSpaceTest:testBatchBid() (gas: 690679)
TheSpaceTest:testBatchSetPixels(uint16,uint8) (runs: 256, μ: 369115, ~: 370766)
TheSpaceTest:testBidDefaultedToken() (gas: 409339)
TheSpaceTest:testBidExistingToken() (gas: 354974)
TheSpaceTest:testBidNewToken() (gas: 301167)
TheSpaceTest:testCanTransferFromIfSettleTax() (gas: 355017)
TheSpaceTest:testCannotBidExceedAllowance() (gas: 60907)
TheSpaceTest:testCannotBidOutBoundTokens() (gas: 260493)
TheSpaceTest:testCannotBidPriceTooLow() (gas: 341680)
TheSpaceTest:testCannotGetTaxWithNonExistingToken() (gas: 16426)
TheSpaceTest:testCannotGetTokenURIInLogicContract() (gas: 296920)
TheSpaceTest:testCannotSetColorByAttacker() (gas: 302856)
TheSpaceTest:testCannotSetConfigByAttacker() (gas: 12078)
TheSpaceTest:testCannotSetPixel(uint256) (runs: 256, μ: 312359, ~: 312359)
TheSpaceTest:testCannotSetPriceByNonOwner() (gas: 302932)
TheSpaceTest:testCannotSetTokenImageURIByNonACLManager() (gas: 11887)
TheSpaceTest:testCannotSetTotalSupplyByAttacker() (gas: 11883)
TheSpaceTest:testCannotTransferFromIfDefault() (gas: 395605)
TheSpaceTest:testCannotUpgradeByAttacker() (gas: 11608)
TheSpaceTest:testCollectableTax() (gas: 333183)
TheSpaceTest:testDefault() (gas: 391886)
TheSpaceTest:testCannotTransferFromIfDefault() (gas: 394091)
TheSpaceTest:testCannotUpgradeByAttacker() (gas: 11564)
TheSpaceTest:testCollectableTax() (gas: 333312)
TheSpaceTest:testDefault() (gas: 390517)
TheSpaceTest:testGetConfig() (gas: 14302)
TheSpaceTest:testGetExistingPixel() (gas: 309333)
TheSpaceTest:testGetNonExistingPixel() (gas: 60249)
TheSpaceTest:testGetExistingPixel() (gas: 309403)
TheSpaceTest:testGetNonExistingPixel() (gas: 60251)
TheSpaceTest:testGetNonExistingPrice() (gas: 19524)
TheSpaceTest:testGetOwner() (gas: 348906)
TheSpaceTest:testGetOwner() (gas: 346900)
TheSpaceTest:testGetOwnerOfNonExistingToken() (gas: 13346)
TheSpaceTest:testGetPixelsByOwnerWithNoPixels() (gas: 24309)
TheSpaceTest:testGetPixelsByOwnerWithOnePixel() (gas: 319236)
TheSpaceTest:testGetPixelsPageByOwnerWithPixels() (gas: 586023)
TheSpaceTest:testGetPrice() (gas: 297936)
TheSpaceTest:testGetTax() (gas: 377402)
TheSpaceTest:testGetTokenImageURI() (gas: 14461)
TheSpaceTest:testGetTokenURI() (gas: 331478)
TheSpaceTest:testSetColor() (gas: 328913)
TheSpaceTest:testSetMintTax() (gas: 268980)
TheSpaceTest:testSetPixel(uint256) (runs: 256, μ: 400887, ~: 400887)
TheSpaceTest:testSetPrice(uint256) (runs: 256, μ: 302087, ~: 302087)
TheSpaceTest:testSetPriceByOperator(uint256) (runs: 256, μ: 349876, ~: 349876)
TheSpaceTest:testSetPriceTooHigh() (gas: 312185)
TheSpaceTest:testSetTaxRate() (gas: 345290)
TheSpaceTest:testSetTokenImageURI() (gas: 354173)
TheSpaceTest:testSetTotalSupply(uint256) (runs: 256, μ: 349455, ~: 349457)
TheSpaceTest:testSetTreasuryShare() (gas: 381549)
TheSpaceTest:testSettleTax() (gas: 336739)
TheSpaceTest:testTaxCalculation() (gas: 401824)
TheSpaceTest:testTokenShouldBeDefaulted() (gas: 322889)
TheSpaceTest:testTotalSupply() (gas: 7568)
TheSpaceTest:testUpgradeTo() (gas: 3197912)
TheSpaceTest:testWithdrawTreasury() (gas: 352481)
TheSpaceTest:testWithdrawUBI() (gas: 375552)
TheSpaceTest:testGetPixelsByOwnerWithNoPixels() (gas: 24265)
TheSpaceTest:testGetPixelsByOwnerWithOnePixel() (gas: 319489)
TheSpaceTest:testGetPixelsPageByOwnerWithPixels() (gas: 586574)
TheSpaceTest:testGetPrice() (gas: 297984)
TheSpaceTest:testGetTax() (gas: 375340)
TheSpaceTest:testGetTokenImageURI() (gas: 14407)
TheSpaceTest:testGetTokenURI() (gas: 331148)
TheSpaceTest:testSetColor() (gas: 328831)
TheSpaceTest:testSetMintTax() (gas: 269213)
TheSpaceTest:testSetPixel(uint256) (runs: 256, μ: 398774, ~: 398774)
TheSpaceTest:testSetPrice(uint256) (runs: 256, μ: 302135, ~: 302135)
TheSpaceTest:testSetPriceByOperator(uint256) (runs: 256, μ: 352082, ~: 352082)
TheSpaceTest:testSetPriceTooHigh() (gas: 312001)
TheSpaceTest:testSetTaxRate() (gas: 345387)
TheSpaceTest:testSetTokenImageURI() (gas: 353533)
TheSpaceTest:testSetTotalSupply(uint256) (runs: 256, μ: 349634, ~: 349641)
TheSpaceTest:testSetTreasuryShare() (gas: 381733)
TheSpaceTest:testSettleTax() (gas: 336899)
TheSpaceTest:testTaxCalculation() (gas: 397345)
TheSpaceTest:testTokenShouldBeDefaulted() (gas: 322983)
TheSpaceTest:testTotalSupply() (gas: 7613)
TheSpaceTest:testUpgradeTo() (gas: 3215589)
TheSpaceTest:testWithdrawTreasury() (gas: 352594)
TheSpaceTest:testWithdrawUBI() (gas: 375731)
4 changes: 2 additions & 2 deletions .github/workflows/test.yml
Expand Up @@ -11,7 +11,7 @@ jobs:
run-ci:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
submodules: recursive

Expand All @@ -20,7 +20,7 @@ jobs:
run: npm install

- name: Install Foundry
uses: onbjerg/foundry-toolchain@v1
uses: foundry-rs/foundry-toolchain@v1
with:
version: nightly

Expand Down
10 changes: 3 additions & 7 deletions Makefile
@@ -1,12 +1,13 @@
NETWORK ?= local # defaults to local node with ganache
NETWORK ?= local # defaults to local node
include .env.$(NETWORK)

# Deps
update:; forge update

# Build & test
clean :; forge clean
snapshot :; forge snapshot --gas-report --include-fuzz-tests
snapshot :; forge snapshot --gas-report
coverage :; forge coverage --report=summary
build: clean
forge build
test:
Expand All @@ -31,8 +32,3 @@ deploy-the-space: clean
## snapper
deploy-snapper: clean
@forge create Snapper --rpc-url ${ETH_RPC_URL} --private-key ${DEPLOYER_PRIVATE_KEY} --legacy --verify --etherscan-api-key ${ETHERSCAN_API_KEY}

# Verifications
check-verification:
@forge verify-check --chain-id ${CHAIN_ID} ${GUID} ${ETHERSCAN_API_KEY}

3 changes: 0 additions & 3 deletions README.md
Expand Up @@ -89,9 +89,6 @@ make test
### Deploy on Local Node:

```bash
# Run local node
npm run ganache

# Preprare environment
cp .env.local.example .env.local
cp .env.polygon-mainnet.example .env.polygon-mainnet
Expand Down
4 changes: 2 additions & 2 deletions foundry.toml
@@ -1,4 +1,4 @@
[default]
[profile.default]
ffi = true
fuzz_runs = 256
optimizer = true
Expand All @@ -10,6 +10,6 @@ remappings = [
verbosity = 3
gas_reports = ["*"]

[ci]
[profile.ci]
fuzz_runs = 1024
verbosity = 5
2 changes: 1 addition & 1 deletion lib/ds-test
Submodule ds-test updated 2 files
+21 −22 demo/demo.sol
+42 −7 src/test.sol
2 changes: 1 addition & 1 deletion lib/openzeppelin-contracts
2 changes: 0 additions & 2 deletions package.json
Expand Up @@ -26,7 +26,6 @@
"format:list": "prettier --list-different 'src/**/*.sol'",
"solhint": "solhint --config ./.solhint.json 'src/**/*.sol' --fix",
"solhint:check": "solhint --config ./.solhint.json 'src/**/*.sol'",
"ganache": "ganache",
"prepare": "husky install"
},
"lint-staged": {
Expand All @@ -39,7 +38,6 @@
"devDependencies": {
"@types/node": "^17.0.21",
"ethers": "^5.6.1",
"ganache": "^7.0.3",
"husky": "^7.0.4",
"lint-staged": "^12.3.5",
"prettier": "^2.5.1",
Expand Down
2 changes: 1 addition & 1 deletion src/test/Logbook/Logbook.t.sol
Expand Up @@ -94,7 +94,7 @@ contract LogbookTest is Test {
logbook.claim(TRAVELOGGERS_OWNER, CLAIM_TOKEN_END_ID);

// token has not been claimed yet
vm.expectRevert("ERC721: owner query for nonexistent token");
vm.expectRevert("ERC721: invalid token ID");
logbook.ownerOf(CLAIM_TOKEN_START_ID);

assertEq(logbook.balanceOf(TRAVELOGGERS_OWNER), 0);
Expand Down
4 changes: 2 additions & 2 deletions src/test/TheSpace/TheSpace.t.sol
Expand Up @@ -218,7 +218,7 @@ contract TheSpaceTest is BaseTheSpaceTest {
}

function testSetPixel(uint256 bidPrice) public {
vm.assume(bidPrice > PIXEL_PRICE && bidPrice <= registry.currency().totalSupply());
vm.assume(bidPrice > PIXEL_PRICE && bidPrice < registry.currency().totalSupply());

uint256 newPrice = bidPrice + 1;

Expand Down Expand Up @@ -634,7 +634,7 @@ contract TheSpaceTest is BaseTheSpaceTest {
currency.approve(address(registry), 0);

// bid a pixel
vm.expectRevert("ERC20: transfer amount exceeds allowance");
vm.expectRevert("ERC20: insufficient allowance");
vm.prank(PIXEL_OWNER);
thespace.bid(PIXEL_ID, PIXEL_PRICE);
}
Expand Down

0 comments on commit d78722d

Please sign in to comment.