Skip to content

BW-109: chain-46630 foundry config (fs_permissions, rpc, blockscout verifier) - #85

Merged
SocksNFlops merged 2 commits into
mainfrom
socks/bw-109-foundry-46630
Aug 19, 2026
Merged

BW-109: chain-46630 foundry config (fs_permissions, rpc, blockscout verifier)#85
SocksNFlops merged 2 commits into
mainfrom
socks/bw-109-foundry-46630

Conversation

@0xGumpy

@0xGumpy 0xGumpy commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

What

Adds the three foundry.toml entries needed to deploy on Robinhood testnet (chain 46630):

  • fs_permissions: read-write on ./addresses/addresses-46630.json, alongside the existing 31337/998/999 entries. Without it, logAddresses() reverts at the very end of a deploy — after the whole stack is already on-chain.
  • [rpc_endpoints]: robinhood-testnet = https://rpc.testnet.chain.robinhood.com.
  • [etherscan]: robinhood-testnet pointed at the Blockscout-compatible endpoint https://explorer.testnet.chain.robinhood.com/api with chain = 46630 (endpoint probed live; the key only needs to be non-empty for Blockscout).

Why

Deploy-blocking prep for the Robinhood testnet deployment (BW-109). Config-only change; forge build passes.

Sanity check done alongside: renounceUnlessAdmin is present and used by the deploy scripts, and no bare renounceRole(..., deployerAddress) exists in script/ outside BaseScript's guarded helper.

🤖 Generated with Claude Code

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
File % Lines % Statements % Branches % Funcs
script/BaseScript.s.sol 81.82% (18/22) 91.30% (21/23) 80.00% (4/5) 50.00% (2/4)
script/CollateralSetup.s.sol 57.45% (27/47) 78.18% (43/55) 50.00% (3/6) 0.00% (0/9)
script/DeployAll.s.sol 97.75% (87/89) 98.92% (92/93) 57.14% (4/7) 85.71% (6/7)
script/DeployConsol.s.sol 59.38% (19/32) 77.14% (27/35) 100.00% (0/0) 0.00% (0/6)
script/DeployForfeitedAssetsPool.s.sol 50.00% (10/20) 76.19% (16/21) 100.00% (0/0) 0.00% (0/5)
script/DeployGeneralManager.s.sol 69.77% (30/43) 90.57% (48/53) 100.00% (0/0) 0.00% (0/8)
script/DeployInterestOracle.s.sol 25.00% (3/12) 44.44% (4/9) 100.00% (0/0) 0.00% (0/4)
script/DeployLoanManager.s.sol 40.00% (6/15) 61.54% (8/13) 100.00% (0/0) 0.00% (0/4)
script/DeployNFTMetadataGenerator.s.sol 23.08% (3/13) 33.33% (3/9) 100.00% (2/2) 0.00% (0/4)
script/DeployOrderPool.s.sol 59.09% (13/22) 78.26% (18/23) 100.00% (1/1) 0.00% (0/4)
script/DeployOriginationScheduler.s.sol 66.67% (22/33) 84.85% (28/33) 100.00% (0/0) 0.00% (0/6)
script/DeployPriceOracles.s.sol 51.85% (14/27) 75.00% (21/28) 50.00% (1/2) 0.00% (0/6)
script/DeployQueues.s.sol 65.38% (34/52) 86.44% (51/59) 100.00% (0/0) 0.00% (0/10)
script/DeploySubConsols.s.sol 62.16% (23/37) 85.42% (41/48) 100.00% (2/2) 0.00% (0/7)
script/DeployUSDX.s.sol 57.14% (12/21) 78.26% (18/23) 100.00% (0/0) 0.00% (0/4)
script/LocalhostSetupPart1.s.sol 100.00% (24/24) 100.00% (27/27) 100.00% (0/0) 100.00% (2/2)
script/LocalhostSetupPart2.s.sol 100.00% (42/42) 100.00% (49/49) 100.00% (0/0) 100.00% (3/3)
script/LocalhostSetupPart3.s.sol 100.00% (18/18) 100.00% (21/21) 100.00% (0/0) 100.00% (2/2)
script/RemoveUsdh.s.sol 0.00% (0/13) 0.00% (0/15) 0.00% (0/10) 0.00% (0/1)
src/Consol.sol 87.50% (28/32) 87.88% (29/33) 0.00% (0/4) 100.00% (6/6)
src/ConversionQueue.sol 94.52% (69/73) 95.92% (94/98) 69.23% (9/13) 100.00% (7/7)
src/ForfeitedAssetsPool.sol 90.70% (39/43) 95.35% (41/43) 85.71% (6/7) 90.00% (9/10)
src/ForfeitedAssetsQueue.sol 94.44% (17/18) 95.45% (21/22) 66.67% (2/3) 100.00% (1/1)
src/GeneralManager.sol 94.04% (268/285) 94.20% (260/276) 68.57% (24/35) 95.45% (63/66)
src/LenderQueue.sol 89.36% (42/47) 93.88% (46/49) 87.50% (7/8) 90.00% (9/10)
src/LoanManager.sol 98.36% (120/122) 98.18% (108/110) 86.67% (13/15) 100.00% (27/27)
src/MortgageNFT.sol 100.00% (22/22) 100.00% (17/17) 100.00% (2/2) 100.00% (7/7)
src/MortgageQueue.sol 98.44% (63/64) 95.52% (64/67) 100.00% (21/21) 100.00% (8/8)
src/MultiTokenVault.sol 92.42% (61/66) 92.86% (65/70) 54.55% (6/11) 100.00% (15/15)
src/OrderPool.sol 96.77% (60/62) 96.77% (60/62) 81.82% (9/11) 100.00% (11/11)
src/OriginationPool.sol 100.00% (59/59) 98.39% (61/62) 100.00% (12/12) 100.00% (10/10)
src/OriginationPoolScheduler.sol 94.57% (122/129) 94.96% (132/139) 81.82% (9/11) 90.32% (28/31)
src/PythInterestRateOracle.sol 77.27% (17/22) 78.26% (18/23) 50.00% (4/8) 100.00% (2/2)
src/PythPriceOracle.sol 80.95% (17/21) 80.00% (16/20) 25.00% (1/4) 100.00% (3/3)
src/QueueProcesssor.sol 100.00% (4/4) 100.00% (2/2) 100.00% (0/0) 100.00% (2/2)
src/RebasingERC20.sol 95.65% (22/23) 100.00% (22/22) 100.00% (5/5) 83.33% (5/6)
src/StaticInterestRateOracle.sol 100.00% (7/7) 100.00% (8/8) 100.00% (1/1) 100.00% (2/2)
src/SubConsol.sol 100.00% (41/41) 100.00% (37/37) 100.00% (6/6) 100.00% (9/9)
src/USDX.sol 97.83% (45/46) 100.00% (64/64) 100.00% (5/5) 87.50% (7/8)
src/UsdxQueue.sol 94.44% (17/18) 95.45% (21/22) 66.67% (2/3) 100.00% (1/1)
src/libraries/MortgageMath.sol 96.89% (156/161) 97.74% (173/177) 91.18% (31/34) 96.30% (26/27)
src/libraries/SharesMath.sol 93.33% (14/15) 90.91% (20/22) 83.33% (5/6) 100.00% (3/3)
src/types/OPoolConfigId.sol 100.00% (2/2) 100.00% (2/2) 100.00% (0/0) 100.00% (1/1)
test/BaseTest.t.sol 95.08% (174/183) 96.17% (176/183) 60.00% (3/5) 86.67% (13/15)
test/integration/10_complexHistory.t.sol 99.60% (500/502) 100.00% (529/529) 100.00% (2/2) 33.33% (1/3)
test/integration/11_conversionRefinance.t.sol 98.37% (181/184) 99.47% (186/187) 100.00% (1/1) 33.33% (1/3)
test/integration/12_compoundingHalfConvert.t.sol 98.60% (141/143) 100.00% (149/149) 100.00% (0/0) 33.33% (1/3)
test/integration/13_convertedWithPenalties.t.sol 97.78% (132/135) 99.28% (138/139) 100.00% (1/1) 33.33% (1/3)
test/integration/14_compoundingNoPlanConversion.t.sol 98.71% (153/155) 100.00% (159/159) 100.00% (0/0) 33.33% (1/3)
test/integration/15_halfConverted.t.sol 98.47% (129/131) 100.00% (135/135) 100.00% (0/0) 33.33% (1/3)
test/integration/16_redeemAndDequeue.t.sol 98.13% (105/107) 100.00% (110/110) 100.00% (0/0) 33.33% (1/3)
test/integration/17_forecloseAndDequeue.t.sol 98.15% (106/108) 100.00% (111/111) 100.00% (0/0) 33.33% (1/3)
test/integration/18_expandLowerConvert.t.sol 99.06% (210/212) 100.00% (220/220) 100.00% (0/0) 50.00% (2/4)
test/integration/19_enqueueAfterCreation.t.sol 97.89% (93/95) 100.00% (96/96) 100.00% (0/0) 33.33% (1/3)
test/integration/1_foreclosure.t.sol 98.36% (120/122) 100.00% (123/123) 100.00% (0/0) 33.33% (1/3)
test/integration/20_completeConversion.t.sol 98.48% (130/132) 100.00% (136/136) 100.00% (0/0) 33.33% (1/3)
test/integration/21_noRedeemDequeue.t.sol 97.92% (94/96) 100.00% (99/99) 100.00% (0/0) 33.33% (1/3)
test/integration/22_ogPoolDonation.t.sol 95.00% (38/40) 100.00% (37/37) 100.00% (0/0) 33.33% (1/3)
test/integration/23_requestWithGasFees.t.sol 96.00% (48/50) 100.00% (49/49) 100.00% (0/0) 33.33% (1/3)
test/integration/24_conversionSmallAmount.t.sol 98.26% (113/115) 100.00% (124/124) 100.00% (0/0) 33.33% (1/3)
test/integration/25_usdxQueueCancel.t.sol 95.12% (39/41) 100.00% (42/42) 100.00% (0/0) 33.33% (1/3)
test/integration/26_forfeitedAssetsQueueCancel.t.sol 97.65% (83/85) 100.00% (89/89) 100.00% (0/0) 33.33% (1/3)
test/integration/27_donationBeforeOrigination.sol 97.87% (92/94) 100.00% (95/95) 100.00% (0/0) 33.33% (1/3)
test/integration/28_partialConvertAndForeclosure.sol 98.35% (119/121) 100.00% (121/121) 100.00% (0/0) 33.33% (1/3)
test/integration/2_payAndRefinance.t.sol 98.43% (125/127) 100.00% (135/135) 100.00% (0/0) 33.33% (1/3)
test/integration/3_payAndPenaltyImposed.t.sol 98.47% (129/131) 100.00% (136/136) 100.00% (0/0) 33.33% (1/3)
test/integration/4_orderExpires.t.sol 97.44% (76/78) 100.00% (77/77) 100.00% (0/0) 33.33% (1/3)
test/integration/5_usdxMaximumCap.t.sol 97.92% (94/96) 100.00% (98/98) 100.00% (0/0) 33.33% (1/3)
test/integration/6_slowForeclosure.t.sol 97.62% (82/84) 100.00% (85/85) 100.00% (0/0) 33.33% (1/3)
test/integration/7_usdxDonation.t.sol 90.00% (18/20) 100.00% (17/17) 100.00% (0/0) 33.33% (1/3)
test/integration/8_consolDonation.t.sol 93.75% (30/32) 100.00% (31/31) 100.00% (0/0) 33.33% (1/3)
test/integration/9_usdxWithdraw.t.sol 96.55% (84/87) 98.90% (90/91) 100.00% (1/1) 33.33% (1/3)
test/mocks/MockERC20.sol 75.00% (6/8) 75.00% (3/4) 100.00% (0/0) 75.00% (3/4)
test/mocks/MockGatedERC20.sol 0.00% (0/14) 0.00% (0/13) 0.00% (0/2) 0.00% (0/4)
test/mocks/MockLenderQueue.sol 87.50% (14/16) 90.00% (18/20) 33.33% (1/3) 100.00% (1/1)
test/mocks/MockMortgageQueue.sol 100.00% (6/6) 100.00% (4/4) 100.00% (0/0) 100.00% (3/3)
test/mocks/MockNFTMetadataGenerator.sol 100.00% (4/4) 100.00% (2/2) 100.00% (0/0) 100.00% (2/2)
test/mocks/MockOriginationPoolDeployCallback.sol 100.00% (7/7) 100.00% (5/5) 100.00% (0/0) 100.00% (3/3)
test/mocks/MockOriginationPoolSchedulerUpgraded.sol 100.00% (2/2) 100.00% (1/1) 100.00% (0/0) 100.00% (1/1)
test/mocks/MockRouter.sol 50.00% (34/68) 54.29% (38/70) 23.08% (3/13) 54.55% (6/11)
test/mocks/MockWrapper.sol 48.39% (15/31) 53.85% (14/26) 14.29% (1/7) 37.50% (3/8)
test/mocks/MockYieldStrategy.sol 80.00% (8/10) 71.43% (5/7) 0.00% (0/2) 100.00% (3/3)
test/script/DeployAllRoleInvariants.t.sol 94.12% (16/17) 90.48% (19/21) 100.00% (1/1) 100.00% (3/3)
Total 93.17% (5267/5653) 95.89% (5619/5860) 70.81% (211/298) 67.77% (347/512)

@0xGumpy
0xGumpy force-pushed the socks/bw-109-foundry-46630 branch from 02a52b4 to 008f6dd Compare August 19, 2026 01:55
A chain= field with an unknown chain id makes forge abort every `forge script`
run on this chain with 'Chain 46630 not supported', even without --verify.
Verification uses explicit --verifier/--verifier-url flags, so the entry was
dead config anyway.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@SocksNFlops
SocksNFlops merged commit 6673fca into main Aug 19, 2026
7 checks passed
@SocksNFlops
SocksNFlops deleted the socks/bw-109-foundry-46630 branch August 19, 2026 02:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants