Releases: FilOzone/filecoin-services
Releases · FilOzone/filecoin-services
v1.0.0 - FWSS Release
This is the General Availability (GA) release of the Filecoin Warm Storage Service (FWSS) contracts.
Core Contracts - Mainnet
- Payments Contract: 0x23b1e018F08BB982348b15a86ee926eEBf7F4DAa
- From Filecoin-Pay v1.0.0
- PDPVerifier Implementation: 0xe2Dc211BffcA499761570E04e8143Be2BA66095f
- From PDP v3.1.0
- PDPVerifier Proxy: 0xBADd0B92C1c71d02E7d520f64c0876538fa2557F
- From PDP v3.1.0
- SessionKeyRegistry: 0x74FD50525A958aF5d484601E252271f9625231aB
- ServiceProviderRegistry Implementation: 0xe255D3a89D6B326b48bc0fC94a472A839471D6B0
- ServiceProviderRegistry Proxy: 0xf55dDbf63F1b55c3F1D4FA7e339a68AB7b64A5eB
- FilecoinWarmStorageService Implementation: 0xd60b90f6D3C42B26a246E141ec701a20Dde2fA61
- FilecoinWarmStorageService Proxy: 0x8408502033C418E1bbC97cE9ac48E5528F371A9f
- FilecoinWarmStorageServiceStateView: 0x9e4e6699d8F67dFc883d6b0A7344Bd56F7E80B46
Configuration:
- USDFC Token: 0x80B98d3aa09ffff255c3ba4A241111Ff1262F045
- FILBEAM_BENEFICIARY_ADDRESS: 0x1D60d2F5960Af6341e842C539985FA297E10d6eA
- FILBEAM_CONTROLLER_ADDRESS: 0x5f7E5E2A756430EdeE781FF6e6F7954254Ef629A
- CHALLENGE_FINALITY: 150 epochs
- MAX_PROVING_PERIOD: 2880 epochs
- CHALLENGE_WINDOW_SIZE: 20 epochs
- Service Name: "Filecoin Warm Storage Service - Mainnet GA Release"
- Service Description: "Mainnet FWSS GA contracts"
Core Contracts - Calibration Network
- Payments Contract: 0x09a0fDc2723fAd1A7b8e3e00eE5DF73841df55a0
- From Filecoin-Pay v1.0.0
- PDPVerifier Implementation: 0x2355Cb19BA1eFF51673562E1a5fc5eE292AF9D42
- From PDP v3.1.0
- PDPVerifier Proxy: 0x85e366Cf9DD2c0aE37E963d9556F5f4718d6417C
- From PDP v3.1.0
- SessionKeyRegistry: 0x97Dd879F5a97A8c761B94746d7F5cfF50AAd4452
- ServiceProviderRegistry Implementation: 0xb32Bb530638d20f1B59B40CDD2Ce4208430f7DE3
- ServiceProviderRegistry Proxy: 0x839e5c9988e4e9977d40708d0094103c0839Ac9D
- FilecoinWarmStorageService Implementation: 0x4BCc752555Bf08A5Bd9a4Ce467a12607277450bA
- FilecoinWarmStorageService Proxy: 0x02925630df557F957f70E112bA06e50965417CA0
- FilecoinWarmStorageServiceStateView: 0xA5D87b04086B1d591026cCE10255351B5AA4689B
Configuration:
- USDFC Token: 0xb3042734b608a1B16e9e86B374A3f3e389B4cDf0
- FILBEAM_BENEFICIARY_ADDRESS: 0x1D60d2F5960Af6341e842C539985FA297E10d6eA
- FILBEAM_CONTROLLER_ADDRESS: 0x5f7E5E2A756430EdeE781FF6e6F7954254Ef629A
- CHALLENGE_FINALITY: 10 epochs
- MAX_PROVING_PERIOD: 240 epochs
- CHALLENGE_WINDOW_SIZE: 20 epochs
- Service Name: "Filecoin Warm Storage Service - Calibration GA Release"
- Service Description: "Calibration FWSS GA contracts"
Added
- EXTRA_DATA size limits for enhanced security (#313)
- Floor price set to 0.06 USDFC/month (#320)
- Random nonces for AddPieces operations (#317)
- Relaxed constraints on
setViewContract(#310) - Auto-verify contracts after deployment (#272)
- Regression tests for dataset cleanup (#276)
- Export Errors ABI (#329)
Changed
- BREAKING: Simplified
DataSetStatusenum from 3 states to 2 states (#314)- Old values:
NotFound (0),Active (1),Terminating (2) - New values:
Inactive (0),Active (1) - Migration:
NotFound→Inactive(non-existent datasets)Terminating→Active(terminated datasets with pieces are still Active)- Use
pdpEndEpochto check if a dataset is terminated
- Details:
Inactiverepresents non-existent datasets or datasets with no pieces yet.Activerepresents all datasets with pieces, including terminated ones. - Use
getDataSetStatusDetails()to check termination status separately from Active/Inactive status
- Old values:
- BREAKING: ServiceProviderRegistry Bloom Schema refactor (#308)
- Removed encoded
productData; all product attributes now use capability key-value store - Keys are
string, values arebytes - Migration for synapse and curio:
- All
productInfopreviously ABI-encoded is removed. Use capability key-value store instead. Encode unsigned integers as big-endian, addresses asbytes[20], strings as UTF-8. - Replace
getPDPOffering()withgetAllProductCapabilities()to retrieve product info getActiveProvidersByProductType()andgetProvidersByProductType()now returnproductCapabilityValuesinProviderWithProduct[]getProductCapabilities()no longer returnsexistsbool arraygetProductCapability()is removed; useproductCapabilitiesmapping insteadupdatePDPServiceWithCapabilities()is removed; useupdateProduct()instead- Capability values cannot be empty; exclude the key if product lacks the capability
- All
- Contract size reduced from 21,290 to 17,751 bytes (-3,539 bytes)
- Removed encoded
- BREAKING: Non-sequential
clientDataSetId(#265)- Changed from sequential counter to mapping-based non-sequential IDs
- Migration: Clients can now create datasets with any unique
clientDataSetIdvalue, removing the sequential bottleneck - Added
DataSetIdAlreadyExistserror for duplicate IDs
- BREAKING: Renamed Payments contract to FilecoinPayV1 (#293)
- Migration: Update all contract references from
PaymentstoFilecoinPayV1 - ABI file renamed:
Payments.abi.json→FilecoinPayV1.abi.json - Deployment scripts and documentation updated
- Migration: Update all contract references from
- BREAKING: ServiceProviderRegistry events now emit raw productData (#294)
- Removed
serviceUrlargument from Product events - Migration: Parse
serviceUrlfrom rawproductDataif needed - Events now more portable and forward-compatible with future product types
- Removed
- BREAKING: ServiceProviderRegistry deletes removed product data (#295)
- Changed behavior: Product data is now properly cleaned up when removed
- Migration: Use
isActiveto detect if product exists, not presence of data fields
- Calibnet: Reduced
DEFAULT_CHALLENGE_WINDOW_SIZEfrom 30 epochs to 20 epochs for faster testing iteration (#327) - Made storage pricing and minimum rate mutable storage variables instead of immutable constants (#325)
- Made FWSS permissionless by removing provider approval checks (#302)
- CDN pricing changed from monthly to usage-based egress model (#324)
- Use constant typehash instead of rehashing for EIP-712 signatures (#315)
- Burn mechanism now uses FVMPay (#296)
- SignatureVerificationLib refactored to use delegate pattern (#282)
- Subgraph now...
v0.3.0 - M3 Calibration Network Deployment
Core Contracts
- Payments Contract: 0x6dB198201F900c17e86D267d7Df82567FB03df5E
- From Filecoin-Pay v0.6.0
- PDPVerifier Implementation: 0x4EC9a8ae6e6A419056b6C332509deEA371b182EF
- From PDP v2.2.1
- PDPVerifier Proxy: 0x579dD9E561D4Cd1776CF3e52E598616E77D5FBcb
- From PDP v2.2.1
- SessionKeyRegistry: 0x97Dd879F5a97A8c761B94746d7F5cfF50AAd4452
- ServiceProviderRegistry Implementation: 0x5672fE3B5366819B4Bd2F538A2CAEA11f0b2Aff5
- ServiceProviderRegistry Proxy: 0x1096ba1e7BB912136DA8524A22bF71091dc4FDd9
- FilecoinWarmStorageService Implementation: 0x6B78a026309bc2659c5891559D412FA1BA6529A5
- FilecoinWarmStorageService Proxy: 0x468342072e0dc86AFFBe15519bc5B1A1aa86e4dc
- FilecoinWarmStorageServiceStateView: 0xE4587AAdB97d7B8197aa08E432bAD0D9Cfe3a17F
Configuration:
- USDFC Token: 0xb3042734b608a1B16e9e86B374A3f3e389B4cDf0
- FILBEAM_BENEFICIARY_ADDRESS: 0x1D60d2F5960Af6341e842C539985FA297E10d6eA
- FILBEAM_CONTROLLER_ADDRESS: 0x5f7E5E2A756430EdeE781FF6e6F7954254Ef629A
- CHALLENGE_FINALITY: 10 epochs
- 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"
Changed
- ServiceProviderRegistry full redeploy - Required due to state compatibility issues with FilecoinWarmStorageService
- Previous FWSS release (0.2.0) used an old ServiceProviderRegistry; upgrading existing ServiceProviderRegistry would cause state mismatch with FWSS
- ServiceProviderRegistry VERSION updated to 0.3.0 to properly reflect inclusion of providerId struct fix from PR #247
- FilecoinWarmStorageService VERSION string updated to 0.3.0.
- Changed PDPVerifier to v2.2.1 (PDP v2.2.1 release notes)
- Restored
createDataSet()function for enhanced flexibility in dataset initialization, enabling empty "bucket" creation, smoother Curio and synapse-sdk integration (#219)
- Restored
v0.2.0 - M3 Calibration Network Deployment
Core Contracts
Calibration Network:
- Payments Contract: 0x6dB198201F900c17e86D267d7Df82567FB03df5E
- From Filecoin-Pay v0.6.0
- PDPVerifier Implementation: 0xCa92b746a7af215e0AaC7D0F956d74B522b295b6
- From PDP v2.2.0
- PDPVerifier Proxy: 0x9ecb84bB617a6Fd9911553bE12502a1B091CdfD8
- From PDP v2.2.0
- SessionKeyRegistry: 0x97Dd879F5a97A8c761B94746d7F5cfF50AAd4452
- ServiceProviderRegistry Implementation: 0xEdc9A41371d69a736bEfBa7678007BDBA61425E5
- ServiceProviderRegistry Proxy: 0xA8a7e2130C27e4f39D1aEBb3D538D5937bCf8ddb
- FilecoinWarmStorageService Implementation: 0x2d76e3A41fa4614D1840CEB73aa07c5d0af6a023
- FilecoinWarmStorageService Proxy: 0x9ef4cAb0aD0D19b8Df28791Df80b29bC784bE91b
- FilecoinWarmStorageServiceStateView: 0x7175a72479e2B0050ed310f1a49a517C03573547
Configuration:
- USDFC Token: 0xb3042734b608a1B16e9e86B374A3f3e389B4cDf0
- FILBEAM_BENEFICIARY_ADDRESS: 0x1D60d2F5960Af6341e842C539985FA297E10d6eA
- FILBEAM_CONTROLLER_ADDRESS: 0x5f7E5E2A756430EdeE781FF6e6F7954254Ef629A
- CHALLENGE_FINALITY: 10 epochs
- MAX_PROVING_PERIOD: 240 epochs
- CHALLENGE_WINDOW_SIZE: 30 epochs
- Service Name: "Filecoin Warm Storage Service - Calibration M3"
- Service Description: "Calibration FWSS contracts for M3"
Added
- feat: announcePlannedUpgrade (#260)
- feat: Allow deletion of terminated dataset, Add getDataSetStatus (#255)
- feat(ServiceProviderRegistry): add getProvidersByIds batch lookup function (251)
- perf(ServiceProviderRegistry): getProviderPayee helper for dataSetCreated (#249)
- Added ERC-3009 support with new deposit authorization functions (#225)
depositWithAuthorization()for ERC-3009 compliant depositsdepositWithAuthorizationAndApproveOperator()for combined deposit and operator approvaldepositWithAuthorizationAndIncreaseOperatorApproval()for combined deposit and operator allowance increase
- feat: service registry: add providerId to ServiceInfo (#209)
- feat: owner beneficairy seperation without transfer (#191)
- feat: Add dataset termination and deletion status tracking for SDK usability (#146)
- Switch from PieceCIDv2 to v2 (#123)
- perf(provenPeriods): bitmap (#258)
Changed
- Modify CDN payment rails and add methods for usage-based payments (#237)
- BREAKING: Updated Payments contract ABI with breaking changes (#223)
DepositRecordedevent removesusedPermitparameter - event listeners must be updatedrailCancelfunction state mutability changed fromnonpayabletopayable- callers may need to handle potential token transfersPermitRecipientMustBeMsgSendererror replaced withSignerMustBeMsgSendererror - error handling code must be updated
- feat: remove provierId from ServiceProviderInfo struct (#247)
- Adds a
ServiceProviderInfoViewstruct withproviderIdfield for external consumption.
- Adds a
- Breaking: feat!: FilCDN now is FilBeam (#236)
- Breaking: feat!: update service parameters (#239)
- The price changes was temporiarily reverted for this release until a upcoming feature is landed that warranted this change.
- feat: remove dataset creation fee (#245)
- feat: update getClientDataSets to return dataSetId (#242)
- fix: update FilCDN Controller & Beneficiary addresses (#230)
- feat(subgraph): updates based on KV metadata and service provider registry (#189)
- Add emit pieceCid in PieceAdded event (#207)
- fix: Clear withCDN flag when terminating service (#208)
- fix: remove serviceName and serviceDescription properties (#199)
- feat: rename datset termination and emit events for dataset termination and add extradata (#129)
- feat: remove service provider registry as we're moving it to it's own contract (#135)
v0.1.0
Core Contracts: 1. SessionKeyRegistry: 0x97Dd879F5a97A8c761B94746d7F5cfF50AAd4452 2. PDPVerifier Implementation: 0x16b6E7ec316aF33504c8783c73Fb29dC61f6A347 3. PDPVerifier Proxy: 0x445238Eca6c6aB8Dff1Aa6087d9c05734D22f137 4. Payments Contract: 0x1096025c9D6B29E12E2f04965F6E64d564Ce0750 5. ServiceProviderRegistry Implementation: 0xEdc9A41371d69a736bEfBa7678007BDBA61425E5 6. ServiceProviderRegistry Proxy: 0xA8a7e2130C27e4f39D1aEBb3D538D5937bCf8ddb 7. FilecoinWarmStorageService Implementation: 0x88449EcAd119B6c05fa5eFB18C80d86d5781fc10 8. FilecoinWarmStorageService Proxy: 0x80617b65FD2EEa1D7fDe2B4F85977670690ed348 9. FilecoinWarmStorageServiceStateView: 0x87EDE87cEF4BfeFE0374c3470cB3F5be18b739d5 Configuration: - USDFC Token: 0xb3042734b608a1B16e9e86B374A3f3e389B4cDf0 - FilCDN Controller: 0x5f7E5E2A756430EdeE781FF6e6F7954254Ef629A - FilCDN Beneficiary: 0xff0000000000000000000000000000000037385c - Max Proving Period: 30 epochs - Challenge Window Size: 15 epochs - Challenge Finality: 1 - Service Name: "Filecoin Warm Storage Service"