From 341a16e7b716c064f6b20befc12df9ddcd4db706 Mon Sep 17 00:00:00 2001 From: robertu <4065233+robertu7@users.noreply.github.com> Date: Tue, 27 Sep 2022 16:38:42 +0800 Subject: [PATCH 1/3] feat: add coverage report & bump deps --- .env.local.example | 1 - .env.polygon-mainnet.example | 1 - .env.polygon-mumbai.example | 1 - .gas-snapshot | 192 +++++++++++++++---------------- .github/workflows/test.yml | 4 +- Makefile | 10 +- README.md | 3 - foundry.toml | 4 +- lib/ds-test | 2 +- lib/forge-std | 2 +- lib/gsn | 1 + lib/openzeppelin-contracts | 2 +- package.json | 2 - src/test/Logbook/Logbook.t.sol | 2 +- src/test/TheSpace/TheSpace.t.sol | 2 +- 15 files changed, 109 insertions(+), 120 deletions(-) create mode 160000 lib/gsn diff --git a/.env.local.example b/.env.local.example index ba1cb8c..1b1086a 100644 --- a/.env.local.example +++ b/.env.local.example @@ -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= diff --git a/.env.polygon-mainnet.example b/.env.polygon-mainnet.example index 5185d94..7b5fc35 100644 --- a/.env.polygon-mainnet.example +++ b/.env.polygon-mainnet.example @@ -3,7 +3,6 @@ DEPLOYER_PRIVATE_KEY= DEPLOYER_ADDRESS= ETH_RPC_URL=https://.alchemy.com/v2/ CHAIN_ID=137 -GUID= LOGBOOK_CONTRACT_ADDRESS= THESPACE_CURRENCY_ADDRESS= THESPACE_REGISTRY_ADDRESS= diff --git a/.env.polygon-mumbai.example b/.env.polygon-mumbai.example index 57dcbad..c768d11 100644 --- a/.env.polygon-mumbai.example +++ b/.env.polygon-mumbai.example @@ -3,7 +3,6 @@ DEPLOYER_PRIVATE_KEY= DEPLOYER_ADDRESS= ETH_RPC_URL=https://.alchemy.com/v2/ CHAIN_ID=80001 -GUID= LOGBOOK_CONTRACT_ADDRESS= THESPACE_CURRENCY_ADDRESS= THESPACE_REGISTRY_ADDRESS= diff --git a/.gas-snapshot b/.gas-snapshot index 36339d9..83e7609 100644 --- a/.gas-snapshot +++ b/.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, μ: 369058, ~: 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, μ: 398777, ~: 398777) +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) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 61dec46..f7f3cf5 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -11,7 +11,7 @@ jobs: run-ci: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: recursive @@ -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 diff --git a/Makefile b/Makefile index 1e3f189..3882761 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -NETWORK ?= local # defaults to local node with ganache +NETWORK ?= local # defaults to local node include .env.$(NETWORK) # Deps @@ -6,7 +6,8 @@ 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: @@ -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} - diff --git a/README.md b/README.md index 08b4e41..4b8133f 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/foundry.toml b/foundry.toml index 0ebc615..e25d440 100644 --- a/foundry.toml +++ b/foundry.toml @@ -1,4 +1,4 @@ -[default] +[profile.default] ffi = true fuzz_runs = 256 optimizer = true @@ -10,6 +10,6 @@ remappings = [ verbosity = 3 gas_reports = ["*"] -[ci] +[profile.ci] fuzz_runs = 1024 verbosity = 5 diff --git a/lib/ds-test b/lib/ds-test index 0a5da56..9310e87 160000 --- a/lib/ds-test +++ b/lib/ds-test @@ -1 +1 @@ -Subproject commit 0a5da56b0d65960e6a994d2ec8245e6edd38c248 +Subproject commit 9310e879db8ba3ea6d5c6489a579118fd264a3f5 diff --git a/lib/forge-std b/lib/forge-std index bdd321f..cb69e9c 160000 --- a/lib/forge-std +++ b/lib/forge-std @@ -1 +1 @@ -Subproject commit bdd321fc4ac81aff81924effb559427fcccca769 +Subproject commit cb69e9c07fbd002819c8c6c8db3caeab76b90d6b diff --git a/lib/gsn b/lib/gsn new file mode 160000 index 0000000..4da0d24 --- /dev/null +++ b/lib/gsn @@ -0,0 +1 @@ +Subproject commit 4da0d248e2b3d96fa649dc099471602b348e503b diff --git a/lib/openzeppelin-contracts b/lib/openzeppelin-contracts index 25eeb80..ed12acf 160000 --- a/lib/openzeppelin-contracts +++ b/lib/openzeppelin-contracts @@ -1 +1 @@ -Subproject commit 25eeb80b188876b951e592a810785173495097fc +Subproject commit ed12acfb0a575c2a3160d28b0aeaf1f19cbfadba diff --git a/package.json b/package.json index cf0a6c3..7c373e9 100644 --- a/package.json +++ b/package.json @@ -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": { @@ -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", diff --git a/src/test/Logbook/Logbook.t.sol b/src/test/Logbook/Logbook.t.sol index e0b1ba6..2f5269e 100644 --- a/src/test/Logbook/Logbook.t.sol +++ b/src/test/Logbook/Logbook.t.sol @@ -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); diff --git a/src/test/TheSpace/TheSpace.t.sol b/src/test/TheSpace/TheSpace.t.sol index 1bb3ff4..29e1711 100644 --- a/src/test/TheSpace/TheSpace.t.sol +++ b/src/test/TheSpace/TheSpace.t.sol @@ -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); } From 865d37e649c1b8ef701502f0b67047b71f0b9c3b Mon Sep 17 00:00:00 2001 From: robertu <4065233+robertu7@users.noreply.github.com> Date: Tue, 27 Sep 2022 16:51:23 +0800 Subject: [PATCH 2/3] chore: remove gsn --- lib/gsn | 1 - 1 file changed, 1 deletion(-) delete mode 160000 lib/gsn diff --git a/lib/gsn b/lib/gsn deleted file mode 160000 index 4da0d24..0000000 --- a/lib/gsn +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 4da0d248e2b3d96fa649dc099471602b348e503b From 3a7958ea24018d13e3e955d919574c3e92e250d7 Mon Sep 17 00:00:00 2001 From: robertu <4065233+robertu7@users.noreply.github.com> Date: Tue, 27 Sep 2022 17:04:27 +0800 Subject: [PATCH 3/3] fix: testSetPixel --- .gas-snapshot | 4 ++-- src/test/TheSpace/TheSpace.t.sol | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.gas-snapshot b/.gas-snapshot index 83e7609..5c80209 100644 --- a/.gas-snapshot +++ b/.gas-snapshot @@ -48,7 +48,7 @@ ACLManagerTest:testRenounceRole() (gas: 27841) ACLManagerTest:testRoles() (gas: 15393) ACLManagerTest:testTransferRole() (gas: 21528) TheSpaceTest:testBatchBid() (gas: 690679) -TheSpaceTest:testBatchSetPixels(uint16,uint8) (runs: 256, μ: 369058, ~: 370766) +TheSpaceTest:testBatchSetPixels(uint16,uint8) (runs: 256, μ: 369115, ~: 370766) TheSpaceTest:testBidDefaultedToken() (gas: 409339) TheSpaceTest:testBidExistingToken() (gas: 354974) TheSpaceTest:testBidNewToken() (gas: 301167) @@ -83,7 +83,7 @@ TheSpaceTest:testGetTokenImageURI() (gas: 14407) TheSpaceTest:testGetTokenURI() (gas: 331148) TheSpaceTest:testSetColor() (gas: 328831) TheSpaceTest:testSetMintTax() (gas: 269213) -TheSpaceTest:testSetPixel(uint256) (runs: 256, μ: 398777, ~: 398777) +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) diff --git a/src/test/TheSpace/TheSpace.t.sol b/src/test/TheSpace/TheSpace.t.sol index 29e1711..acf32da 100644 --- a/src/test/TheSpace/TheSpace.t.sol +++ b/src/test/TheSpace/TheSpace.t.sol @@ -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;