Skip to content

Conversation

rjan90
Copy link
Collaborator

@rjan90 rjan90 commented Oct 8, 2025

Prep a FWSS v0.3.0 release:

  • Update FilecoinWarmStorageService VERSION to 0.3.0
  • Update ServiceProviderRegistry VERSION to 0.3.0 for consistency with FilecoinWarmStorageService version
  • Document ServiceProviderRegistry full redeploy due to state compatibility issues

build: prep FWSS v0.3.0 release
@FilOzzy FilOzzy added this to FS Oct 8, 2025
@github-project-automation github-project-automation bot moved this to 📌 Triage in FS Oct 8, 2025
rjan90 added 2 commits October 8, 2025 21:41
…eploy

fix: align contract versions and document ServiceProviderRegistry redeploy
test: fix version assertions to match updated contract versions
@rjan90
Copy link
Collaborator Author

rjan90 commented Oct 8, 2025

Just document steps I have taken so far:

  • I have updated the VERSION string in FilecoinWarmStorageService and ServiceProviderRegistry.
    • The version update in ServiceProviderRegistry is due to a breaking change that was introduced in 8171da4 and consistency with FWSS.

fix: improve registration fee display in deployment script

fix: read contract version from deployed contract instead of hardcoded value
@rjan90 rjan90 force-pushed the phi/prep-v0.3.0-release branch from 9f59358 to 1919e11 Compare October 8, 2025 20:53
@rjan90
Copy link
Collaborator Author

rjan90 commented Oct 8, 2025

I had to fix the deployment script of the registry contract quite a bit since it had hardcoded values all over the place: 1919e11. It is probably not perfect, but it at least gave a more correct view of what was deployed!


I´m now deploying the v0.3.0 release of the Service Provider Registry Contract, with this script: https://github.com/FilOzone/filecoin-services/blob/main/service_contracts/tools/deploy-registry-calibnet.sh.

Deploying the contract from this commit:

git log
commit 1919e11 (HEAD -> phi/prep-v0.3.0-release, origin/phi/prep-v0.3.0-release)
Author: Phi [email protected]
Date: Wed Oct 8 21:52:13 2025 +0200

./deploy-registry-calibnet.sh
Deploying Service Provider Registry Contract
Warning: PASSWORD is not set, using empty password
Deploying contracts from address 0xe7D1b14eAC0dcE3d6867C2Ef06b5bdFF52362C84
Deployer balance: 20400110542184470348401
Starting nonce: 231
=== STEP 1: Deploying ServiceProviderRegistry Implementation ===
✓ ServiceProviderRegistry implementation deployed at: 0x5672fE3B5366819B4Bd2F538A2CAEA11f0b2Aff5
=== STEP 2: Deploying ServiceProviderRegistry Proxy ===
Initialization calldata: 0x8129fc1c
✓ ServiceProviderRegistry proxy deployed at: 0x1096ba1e7BB912136DA8524A22bF71091dc4FDd9
=== STEP 3: Verifying Deployment ===
✓ Contract version: "0.3.0"
✓ Registration fee: 5000000000000000000 [5e18] attoFIL
✓ Burn actor address: 0xff00000000000000000000000000000000000063
==========================================
=== DEPLOYMENT SUMMARY ===
==========================================
ServiceProviderRegistry Implementation: 0x5672fE3B5366819B4Bd2F538A2CAEA11f0b2Aff5
ServiceProviderRegistry Proxy: 0x1096ba1e7BB912136DA8524A22bF71091dc4FDd9
==========================================
Contract Details:
  - Version: "0.3.0"
  - Registration Fee: 5000000000000000000 [5e18] attoFIL (burned)
  - Burn Actor: 0xff00000000000000000000000000000000000063
  - Chain: Calibration testnet (314159)
Next steps:
1. Save the proxy address: export REGISTRY_ADDRESS=0x1096ba1e7BB912136DA8524A22bF71091dc4FDd9
2. Verify the deployment by calling getProviderCount() - should return 0
3. Test registration with: cast send --value <registration_fee>attoFIL ...
4. Transfer ownership if needed using transferOwnership()
5. The registry is ready for provider registrations
To interact with the registry:
  View functions:
    cast call 0x1096ba1e7BB912136DA8524A22bF71091dc4FDd9 "getProviderCount()(uint256)"
    cast call 0x1096ba1e7BB912136DA8524A22bF71091dc4FDd9 "getAllActiveProviders()(uint256[])"
  State changes (requires registration fee):
    Register as provider (requires proper encoding of PDPData)
==========================================

@rjan90
Copy link
Collaborator Author

rjan90 commented Oct 8, 2025

Verifying things in the ServiceProviderRegistry with:

echo "=== Contract Verification ===" && echo "Contract Version: $(cast call $REGISTRY_ADDRESS "VERSION()(string)" --rpc-url https://api.calibration.node.glif.io/rpc/v1)" && echo "Registration Fee: $(cast call $REGISTRY_ADDRESS "REGISTRATION_FEE()(uint256)" --rpc-url https://api.calibration.node.glif.io/rpc/v1) attoFIL" && echo "Burn Actor: $(cast call $REGISTRY_ADDRESS "BURN_ACTOR()(address)" --rpc-url https://api.calibration.node.glif.io/rpc/v1)" && echo "Provider Count: $(cast call $REGISTRY_ADDRESS "getProviderCount()(uint256)" --rpc-url https://api.calibration.node.glif.io/rpc/v1)" && echo "Owner: $(cast call $REGISTRY_ADDRESS "owner()(address)" --rpc-url https://api.calibration.node.glif.io/rpc/v1)"

Outputs:

=== Contract Verification ===
Contract Version: "0.3.0"
Registration Fee: 5000000000000000000 [5e18] attoFIL
Burn Actor: 0xff00000000000000000000000000000000000063
Provider Count: 0
Owner: 0xe7D1b14eAC0dcE3d6867C2Ef06b5bdFF52362C84

Copy link
Contributor

@BigLep BigLep left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems good to me. I can look again when non-draft.

@rjan90
Copy link
Collaborator Author

rjan90 commented Oct 8, 2025

And now finally onto publishing the FWSS contracts:

git log
commit 1919e11 (HEAD -> phi/prep-v0.3.0-release, origin/phi/prep-v0.3.0-release)
Author: Phi [email protected]
Date: Wed Oct 8 21:52:13 2025 +0200

I´m using the https://github.com/FilOzone/filecoin-services/blob/main/service_contracts/tools/deploy-warm-storage-calibnet.sh script, and are setting these env-vars:


Running this script give:

./deploy-warm-storage-calibnet.sh    
Deploying Warm Storage Service Contract
Service configuration:
  Name: Filecoin Warm Storage Service - Calibration M3.1
  Description: Calibration FWSS contracts for M3.1
Querying PDPVerifier's challengeFinality...
PDPVerifier challengeFinality: 10
Configuration validation passed:
  PDPVerifier challengeFinality: 10
  MAX_PROVING_PERIOD: 240 epochs
  CHALLENGE_WINDOW_SIZE: 30 epochs
Deploying contracts from address 0xe7D1b14eAC0dcE3d6867C2Ef06b5bdFF52362C84
Deploying FilecoinWarmStorageService implementation...
FilecoinWarmStorageService implementation deployed at: 0x6B78a026309bc2659c5891559D412FA1BA6529A5
Deploying FilecoinWarmStorageService proxy...
FilecoinWarmStorageService proxy deployed at: 0x468342072e0dc86AFFBe15519bc5B1A1aa86e4dc
Deploying FilecoinWarmStorageServiceStateView..
Deploying FilecoinWarmStorageServiceStateView from address 0xe7D1b14eAC0dcE3d6867C2Ef06b5bdFF52362C84...
Setting view contract address on FilecoinWarmStorageService...
Setting view contract address on FilecoinWarmStorageService...
View contract address set successfully

# DEPLOYMENT SUMMARY
FilecoinWarmStorageService Implementation: 0x6B78a026309bc2659c5891559D412FA1BA6529A5
FilecoinWarmStorageService Proxy: 0x468342072e0dc86AFFBe15519bc5B1A1aa86e4dc
FilecoinWarmStorageServiceStateView: 0xE4587AAdB97d7B8197aa08E432bAD0D9Cfe3a17F

USDFC token address: 0xb3042734b608a1B16e9e86B374A3f3e389B4cDf0
PDPVerifier address: 0x579dD9E561D4Cd1776CF3e52E598616E77D5FBcb
Payments contract address: 0x6dB198201F900c17e86D267d7Df82567FB03df5E
FilBeam controller address: 0x5f7E5E2A756430EdeE781FF6e6F7954254Ef629A
FilBeam beneficiary address: 0x1D60d2F5960Af6341e842C539985FA297E10d6eA
ServiceProviderRegistry address: 0x1096ba1e7BB912136DA8524A22bF71091dc4FDd9
Max proving period: 240 epochs
Challenge window size: 30 epochs
Service name: Filecoin Warm Storage Service - Calibration M3.1
Service description: Calibration FWSS contracts for M3.1

docs: update newly published FWSS and ServiceProviderRegistry contracts
@rjan90
Copy link
Collaborator Author

rjan90 commented Oct 8, 2025

Updated the newly published addresses in: 97342c2

@rjan90 rjan90 marked this pull request as ready for review October 8, 2025 22:06
@github-project-automation github-project-automation bot moved this from 📌 Triage to ✔️ Approved by reviewer in FS Oct 8, 2025
Co-authored-by: Steve Loeppky <[email protected]>
@rjan90 rjan90 merged commit 7b28dec into main Oct 8, 2025
5 checks passed
@rjan90 rjan90 deleted the phi/prep-v0.3.0-release branch October 8, 2025 22:13
@github-project-automation github-project-automation bot moved this from ✔️ Approved by reviewer to 🎉 Done in FS Oct 8, 2025
@rjan90
Copy link
Collaborator Author

rjan90 commented Oct 9, 2025

Verified on FilFox:

FilecoinWarmStorageService Implementation

filfox-verifier forge --chain 314159 0x6B78a026309bc2659c5891559D412FA1BA6529A5 src/FilecoinWarmStorageService.sol:FilecoinWarmStorageService
⠦ Verifying contract on Filfox...
Verification Result:
✔ ✅ Contract "FilecoinWarmStorageService" verified successfully!
✔ 🔗 View at: https://calibration.filfox.info/en/address/0x6B78a026309bc2659c5891559D412FA1BA6529A5

FilecoinWarmStorageService Implementation

filfox-verifier forge --chain 314159 0xE4587AAdB97d7B8197aa08E432bAD0D9Cfe3a17F src/FilecoinWarmStorageServiceStateView.sol:FilecoinWarmStorageServiceStateView
⠏ Verifying contract on Filfox...
Verification Result:
✔ ✅ Contract "FilecoinWarmStorageServiceStateView" verified successfully!
✔ 🔗 View at: https://calibration.filfox.info/en/address/0xE4587AAdB97d7B8197aa08E432bAD0D9Cfe3a17F

FilecoinWarmStorageService Proxy:

  • Following the method outlined here:

filfox-verifier forge --chain 314159
0x468342072e0dc86AFFBe15519bc5B1A1aa86e4dc
src/MyERC1967ProxyFlat.sol:MyERC1967Proxy
⠴ Verifying contract on Filfox...
Verification Result:
✔ ✅ Contract "MyERC1967Proxy" verified successfully!
✔ 🔗 View at: https://calibration.filfox.info/en/address/0x468342072e0dc86AFFBe15519bc5B1A1aa86e4dc

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

Labels

None yet

Projects

Status: 🎉 Done

Development

Successfully merging this pull request may close these issues.

2 participants