Skip to content

Conversation

@rjan90
Copy link
Collaborator

@rjan90 rjan90 commented Oct 27, 2025

Prep General Availability (GA) release of the Filecoin Warm Storage Service contracts.

  • Bump PDP submodule to v3.1.0 tag
  • Bump FWSS and service provider registry version to v1.0.0
  • Prep changelog

@FilOzzy FilOzzy added this to FS Oct 27, 2025
@github-project-automation github-project-automation bot moved this to 📌 Triage in FS Oct 27, 2025
@rjan90
Copy link
Collaborator Author

rjan90 commented Oct 27, 2025

Diff since the v0.3.0 release of FWSS. PRs/commits marked with ✅ has been called out in the changelog:

git log v0.3.0..HEAD --oneline --no-merges
c3f22f5 (HEAD -> phi/prep-FWSS-v1.0.0, origin/phi/prep-FWSS-v1.0.0) chore: prep FWSS v1.0.0 changelog
b68925d chore: bump version in tests
1ca636b chore: bump lib/pdp to v3.1.0 tag
0f158e6 build: bump version to v1.0.0
6801108 (origin/main, origin/HEAD, main) feat(pricing): make pricing constants mutable with owner-controlled u… (#325)
2d31493 feat: Implement EXTRA_DATA_MAX_SIZE Limit in Filecoin-Services (#313)
1c54968 perf!(ServiceProviderRegistry): Bloom Schema (#308)
402d1a4 fix: reduce challenge window from 30 to 20 epochs (#327)
e7c609e feat(IValidator): Allow Forward Progress Despite Missing Proofs (#321)
8399813 feat!: simplify dataset status to two-state lifecycle (Inactive/Active) (#314)
6cb08ce feat: floor price set to the 0.06 USDFC/month (#320)
21fa916 chore: export Errors ABI (#329)
d38cdfe fix: change CDN pricing from monthly to usage-based egress model (#324)
e664ae8 fix(712): use constant typehash instead of rehashing (#315)
5f9f3ed feat: use random nonces for AddPieces (#317)
c036c20 fix(tools): make deploy-all able to take existing addrs (#318)
935097a chore: revert temporary price revert from #261 (#316)
af644df perf(validatePayment): loop over proving periods (#267)
15eeb6d chore: bump submodules (#311)
0c4f5db feat: relaxed constraints on setViewContract (#310)
d58232d fix: disable storage provider changes for GA (#309)
68b9c7b feat: make FWSS permissionless by removing provider approval checks (#302)
7e1f04b fix: remove PaymentArbitrated (#301)
009188b refactor(subgraph): use productData from events directly (#298)
e94f75e perf: burn with FVMPay (#296)
0a15c43 ref: Update environment variable to PDP_VERIFIER_PROXY_ADDRESS (#292)
e52706b feat!(ServiceProviderRegistry): emit raw productData (#294)
aa11a36 feat!(ServiceProviderRegistry): delete removed product data (#295)
e5e5f3e refactor(subgraph): decode PDP offering using ethereum.decode (#290)
fffcfa8 refactor!: rename Payments -> FilecoinPayV1 (#293)
b21aa92 refactor: CDNPaymentRailsToppedUp event (#284)
f67900c ci: add gh workflow to validate subgraph (#288)
4b4e7c6 feat(subgraph): add PDP offering decoding (#233)
e6bc8fb refactor: SignatureVerificationLib delegate (#282)
4f24186 fix: path to SessionKeyRegistry file (#283)
2de611f chore(tools): remaining ETH_KEYSTORE, ETH_RPC_URL, and CHAIN changes (#279)
c041cf4 feat: regression tests to verify dastaSet cleanup (#276)
5a565e1 Forge install CI issue fixes
7fc24a4 CI checks fixed
1a7cbe2 Fixes for contract size delta to CI
fab1413 perf: rm railToDataSet mapping for cdn rails (#278)
1837576 chore: pull latest dep changes (#275)
0a3d575 perf: dataSetHasCDNMetadataKey (#274)
32d6ca4 feat: auto verify contracts after deployment (#272)
dc2c8ab feat!: Nonsequenial clientDataSetId (#265)
5701658 perf: Optimize withCDN Metadata Key (#271)
1a71505 Replace Error Strings (#270)
b47546d fix: railToDataSet cleanup (#269)

@rjan90 rjan90 moved this from 📌 Triage to ⌨️ In Progress in FS Oct 27, 2025
@rjan90 rjan90 self-assigned this Oct 27, 2025
@rjan90
Copy link
Collaborator Author

rjan90 commented Oct 27, 2025

I´m now deploying the v1.0.0 of FWSS for Calibration Network with this script: https://github.com/FilOzone/filecoin-services/blob/main/service_contracts/tools/deploy-all-warm-storage.sh

Deploying the contracts from this commit:

git log
commit acf9e61 (HEAD -> phi/prep-FWSS-v1.0.0, origin/phi/prep-FWSS-v1.0.0)
Merge: fc2edcb 66108e9
Author: Phi [email protected]
Date: Mon Oct 27 11:48:51 2025 +0100

I have set these env-vars:

  • export RPC_URL="https://api.calibration.node.glif.io/rpc/v1"
  • export VERIFIER_IMPLEMENTATION_ADDRESS="0x2355Cb19BA1eFF51673562E1a5fc5eE292AF9D42"
  • export PDP_VERIFIER_ADDRESS="0x85e366Cf9DD2c0aE37E963d9556F5f4718d6417C"
  • export PAYMENTS_CONTRACT_ADDRESS="0x09a0fDc2723fAd1A7b8e3e00eE5DF73841df55a0"
  • export FILBEAM_BENEFICIARY_ADDRESS="0x1D60d2F5960Af6341e842C539985FA297E10d6eA"
  • export FILBEAM_CONTROLLER_ADDRESS="0x5f7E5E2A756430EdeE781FF6e6F7954254Ef629A"
  • export SESSION_KEY_REGISTRY_ADDRESS="0x97Dd879F5a97A8c761B94746d7F5cfF50AAd4452"
  • export SERVICE_NAME="Filecoin Warm Storage Service - Calibration GA Release"
  • export SERVICE_DESCRIPTION="Calibration FWSS GA contracts"

And I'm using the M4 FWSS Calibnet-Deployer keystore that is stored of the FilOz 1Password:

DRY_RUN=false ./deploy-all-warm-storage.sh 
🚀 Running in DEPLOYMENT mode - will actually deploy and upgrade contracts
Deploying all Warm Storage contracts
Detected Chain ID: 314159 (calibnet)
Service configuration:
  Name: Filecoin Warm Storage Service - Calibration GA Release
  Description: Calibration FWSS GA contracts
Network: calibnet
Configuration validation passed:
  CHALLENGE_FINALITY=10
  MAX_PROVING_PERIOD=240
  CHALLENGE_WINDOW_SIZE=20
  Deploying contracts from address 0xe7D1b14eAC0dcE3d6867C2Ef06b5bdFF52362C84
🚀 Will deploy and broadcast all transactions
========================================
DEPLOYING...
========================================
SessionKeyRegistry
  ✅ Using existing address: 0x97Dd879F5a97A8c761B94746d7F5cfF50AAd4452
PDPVerifier implementation
  ✅ Using existing address: 0x2355Cb19BA1eFF51673562E1a5fc5eE292AF9D42
PDPVerifier proxy
  ✅ Using existing address: 0x85e366Cf9DD2c0aE37E963d9556F5f4718d6417C
FilecoinPayV1
  ✅ Using existing address: 0x09a0fDc2723fAd1A7b8e3e00eE5DF73841df55a0
Deploying ServiceProviderRegistry implementation
  ✅ Deployed at: 0xb32Bb530638d20f1B59B40CDD2Ce4208430f7DE3
Deploying ServiceProviderRegistry proxy
  📦 Implementation: 0xb32Bb530638d20f1B59B40CDD2Ce4208430f7DE3
  ✅ Deployed at: 0x839e5c9988e4e9977d40708d0094103c0839Ac9D
Deploying SignatureVerificationLib
  ✅ Deployed at: 0x3fD7BFFAcAfdf35083d1424c1feC6481c85087F6
Deploying FilecoinWarmStorageService implementation
  📚 Using libraries: src/lib/SignatureVerificationLib.sol:SignatureVerificationLib:0x3fD7BFFAcAfdf35083d1424c1feC6481c85087F6
  🔧 Constructor args: 6 arguments
    ✅ Deployed at: 0x4BCc752555Bf08A5Bd9a4Ce467a12607277450bA
Deploying FilecoinWarmStorageService proxy
  📦 Implementation: 0x4BCc752555Bf08A5Bd9a4Ce467a12607277450bA
   ✅ Deployed at: 0x02925630df557F957f70E112bA06e50965417CA0
FilecoinWarmStorageServiceStateView
  🔧 Using external deployment script...
  FilecoinWarmStorageServiceStateView deployed at 0xA5D87b04086B1d591026cCE10255351B5AA4689B
🔍 Starting automatic contract verification...
Starting batch verification of 1 contracts on chain ID: 314159...
---

✅ Deployment completed successfully!

# DEPLOYMENT SUMMARY (calibnet)
PDPVerifier Implementation: 0x2355Cb19BA1eFF51673562E1a5fc5eE292AF9D42
PDPVerifier Proxy: 0x85e366Cf9DD2c0aE37E963d9556F5f4718d6417C
FilecoinPayV1 Contract: 0x09a0fDc2723fAd1A7b8e3e00eE5DF73841df55a0
ServiceProviderRegistry Implementation: 0xb32Bb530638d20f1B59B40CDD2Ce4208430f7DE3
ServiceProviderRegistry Proxy: 0x839e5c9988e4e9977d40708d0094103c0839Ac9D
FilecoinWarmStorageService Implementation: 0x4BCc752555Bf08A5Bd9a4Ce467a12607277450bA
FilecoinWarmStorageService Proxy: 0x02925630df557F957f70E112bA06e50965417CA0
FilecoinWarmStorageServiceStateView: 0xA5D87b04086B1d591026cCE10255351B5AA4689B

Network Configuration (calibnet):
Challenge finality: 10 epochs
Max proving period: 240 epochs
Challenge window size: 20 epochs
USDFC token address: 0xb3042734b608a1B16e9e86B374A3f3e389B4cDf0
FilBeam controller address: 0x5f7E5E2A756430EdeE781FF6e6F7954254Ef629A
FilBeam beneficiary address: 0x1D60d2F5960Af6341e842C539985FA297E10d6eA
Service name: Filecoin Warm Storage Service - Calibration GA Release
Service description: Calibration FWSS GA contracts

@github-project-automation github-project-automation bot moved this from ⌨️ In Progress to ✔️ Approved by reviewer in FS Oct 28, 2025
@Kubuxu
Copy link
Contributor

Kubuxu commented Oct 29, 2025

Any reason we are not merging this?

@rjan90
Copy link
Collaborator Author

rjan90 commented Oct 29, 2025

Any reason we are not merging this?

I should have specified it. But waiting till we have the Mainnet contracts published as well, and the Changelog updated with those contracts

@rjan90 rjan90 mentioned this pull request Oct 29, 2025
build: bump version to v1.0.0
chore: bump lib/pdp to v3.1.0 tag
chore: bump version in tests
chore: prep FWSS v1.0.0 changelog
chore: clean up double entries in changelog
chore: prep FWSS v1.0.0 changelog
chore: clean up double entries in changelog
Add contract addresses in changelog - and in a tools/GA-release-contracts
@rjan90 rjan90 force-pushed the phi/prep-FWSS-v1.0.0 branch from ca0e638 to e440e6c Compare October 31, 2025 07:30
@rjan90
Copy link
Collaborator Author

rjan90 commented Oct 31, 2025

Rebased this branch ontop of latest main - diff since Calibnet is:

commit 8e162d6 (origin/main, origin/HEAD, main)
Author: William Morriss [email protected]
Date: Tue Oct 28 01:17:21 2025 +0000
Revert "feat(sp-registry): getProvidersWithProductByIds() to get multiple providers" (#334)
Reverts #333
I think we don't need this function because it can be replaced with a
multicall or batch jsonrpc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: ✔️ Approved by reviewer

Development

Successfully merging this pull request may close these issues.

3 participants