diff --git a/CHANGELOG.md b/CHANGELOG.md index 0a6b5ab0..37cafcef 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,16 +3,71 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) -## [Unreleased] +## [1.0.0] - 2025-10-27 - FWSS GA Release + +This is the General Availability (GA) release of the Filecoin Warm Storage Service (FWSS) contracts. + +## Core Contracts - Mainnet + +1. Payments Contract: [0x23b1e018F08BB982348b15a86ee926eEBf7F4DAa](https://filfox.info/en/address/0x23b1e018F08BB982348b15a86ee926eEBf7F4DAa) + - From [Filecoin-Pay v1.0.0](https://github.com/FilOzone/filecoin-pay/releases/tag/v1.0.0) +2. PDPVerifier Implementation: [0xe2Dc211BffcA499761570E04e8143Be2BA66095f](https://filfox.info/en/address/0xe2Dc211BffcA499761570E04e8143Be2BA66095f) + - From [PDP v3.1.0](https://github.com/FilOzone/pdp/releases/tag/v3.1.0) +3. PDPVerifier Proxy: [0xBADd0B92C1c71d02E7d520f64c0876538fa2557F](https://filfox.info/en/address/0xBADd0B92C1c71d02E7d520f64c0876538fa2557F) + - From [PDP v3.1.0](https://github.com/FilOzone/pdp/releases/tag/v3.1.0) +4. SessionKeyRegistry: [0x74FD50525A958aF5d484601E252271f9625231aB](https://filfox.info/en/address/0x74FD50525A958aF5d484601E252271f9625231aB) +5. ServiceProviderRegistry Implementation: [0xe255D3a89D6B326b48bc0fC94a472A839471D6B0](https://filfox.info/en/address/0xe255D3a89D6B326b48bc0fC94a472A839471D6B0) +6. ServiceProviderRegistry Proxy: [0xf55dDbf63F1b55c3F1D4FA7e339a68AB7b64A5eB](https://filfox.info/en/address/0xf55dDbf63F1b55c3F1D4FA7e339a68AB7b64A5eB) +7. FilecoinWarmStorageService Implementation: [0xd60b90f6D3C42B26a246E141ec701a20Dde2fA61](https://filfox.info/en/address/0xd60b90f6D3C42B26a246E141ec701a20Dde2fA61) +8. FilecoinWarmStorageService Proxy: [0x8408502033C418E1bbC97cE9ac48E5528F371A9f](https://filfox.info/en/address/0x8408502033C418E1bbC97cE9ac48E5528F371A9f) +9. FilecoinWarmStorageServiceStateView: [0x9e4e6699d8F67dFc883d6b0A7344Bd56F7E80B46](https://filfox.info/en/address/0x9e4e6699d8F67dFc883d6b0A7344Bd56F7E80B46) + +Configuration: +- USDFC Token: [0x80B98d3aa09ffff255c3ba4A241111Ff1262F045](https://filfox.info/en/address/0x80B98d3aa09ffff255c3ba4A241111Ff1262F045) +- FILBEAM_BENEFICIARY_ADDRESS: [0x1D60d2F5960Af6341e842C539985FA297E10d6eA](https://calibration.filfox.info/en/address/0x1D60d2F5960Af6341e842C539985FA297E10d6eA) +- FILBEAM_CONTROLLER_ADDRESS: [0x5f7E5E2A756430EdeE781FF6e6F7954254Ef629A](https://calibration.filfox.info/en/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 + +1. Payments Contract: [0x09a0fDc2723fAd1A7b8e3e00eE5DF73841df55a0](https://calibration.filfox.info/en/address/0x09a0fDc2723fAd1A7b8e3e00eE5DF73841df55a0) + - From [Filecoin-Pay v1.0.0](https://github.com/FilOzone/filecoin-pay/releases/tag/v1.0.0) +2. PDPVerifier Implementation: [0x2355Cb19BA1eFF51673562E1a5fc5eE292AF9D42](https://calibration.filfox.info/en/address/0x2355Cb19BA1eFF51673562E1a5fc5eE292AF9D42) + - From [PDP v3.1.0](https://github.com/FilOzone/pdp/releases/tag/v3.1.0) +3. PDPVerifier Proxy: [0x85e366Cf9DD2c0aE37E963d9556F5f4718d6417C](https://calibration.filfox.info/en/address/0x85e366Cf9DD2c0aE37E963d9556F5f4718d6417C) + - From [PDP v3.1.0](https://github.com/FilOzone/pdp/releases/tag/v3.1.0) +4. SessionKeyRegistry: [0x97Dd879F5a97A8c761B94746d7F5cfF50AAd4452](https://calibration.filfox.info/en/address/0x97Dd879F5a97A8c761B94746d7F5cfF50AAd4452) +5. ServiceProviderRegistry Implementation: [0xb32Bb530638d20f1B59B40CDD2Ce4208430f7DE3](https://calibration.filfox.info/en/address/0xb32Bb530638d20f1B59B40CDD2Ce4208430f7DE3) +6. ServiceProviderRegistry Proxy: [0x839e5c9988e4e9977d40708d0094103c0839Ac9D](https://calibration.filfox.info/en/address/0x839e5c9988e4e9977d40708d0094103c0839Ac9D) +7. FilecoinWarmStorageService Implementation: [0x4BCc752555Bf08A5Bd9a4Ce467a12607277450bA](https://calibration.filfox.info/en/address/0x4BCc752555Bf08A5Bd9a4Ce467a12607277450bA) +8. FilecoinWarmStorageService Proxy: [0x02925630df557F957f70E112bA06e50965417CA0](https://calibration.filfox.info/en/address/0x02925630df557F957f70E112bA06e50965417CA0) +9. FilecoinWarmStorageServiceStateView: [0xA5D87b04086B1d591026cCE10255351B5AA4689B](https://calibration.filfox.info/en/address/0xA5D87b04086B1d591026cCE10255351B5AA4689B) + +Configuration: +- USDFC Token: [0xb3042734b608a1B16e9e86B374A3f3e389B4cDf0](https://calibration.filfox.info/en/address/0xb3042734b608a1B16e9e86B374A3f3e389B4cDf0) +- FILBEAM_BENEFICIARY_ADDRESS: [0x1D60d2F5960Af6341e842C539985FA297E10d6eA](https://calibration.filfox.info/en/address/0x1D60d2F5960Af6341e842C539985FA297E10d6eA) +- FILBEAM_CONTROLLER_ADDRESS: [0x5f7E5E2A756430EdeE781FF6e6F7954254Ef629A](https://calibration.filfox.info/en/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 -- Dataset lifecycle tracking with `DataSetStatusChanged` event ([#169](https://github.com/FilOzone/filecoin-services/issues/169)) -- Convenience functions `isDataSetActive()` and `getDataSetStatusDetails()` for status checking -- Comprehensive documentation: dataset lifecycle guide and integration guide -- Subgraph status history tracking with `DataSetStatusHistory` entity +- EXTRA_DATA size limits for enhanced security ([#313](https://github.com/FilOzone/filecoin-services/pull/313)) +- Floor price set to 0.06 USDFC/month ([#320](https://github.com/FilOzone/filecoin-services/pull/320)) +- Random nonces for AddPieces operations ([#317](https://github.com/FilOzone/filecoin-services/pull/317)) +- Relaxed constraints on `setViewContract` ([#310](https://github.com/FilOzone/filecoin-services/pull/310)) +- Auto-verify contracts after deployment ([#272](https://github.com/FilOzone/filecoin-services/pull/272)) +- Regression tests for dataset cleanup ([#276](https://github.com/FilOzone/filecoin-services/pull/276)) +- Export Errors ABI ([#329](https://github.com/FilOzone/filecoin-services/pull/329)) ### Changed -- **BREAKING**: Simplified `DataSetStatus` enum from 3 states to 2 states ([#169](https://github.com/FilOzone/filecoin-services/issues/169)) +- **BREAKING**: Simplified `DataSetStatus` enum from 3 states to 2 states ([#314](https://github.com/FilOzone/filecoin-services/pull/314)) - **Old values**: `NotFound (0)`, `Active (1)`, `Terminating (2)` - **New values**: `Inactive (0)`, `Active (1)` - **Migration**: @@ -21,19 +76,54 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) - Use `pdpEndEpoch` to check if a dataset is terminated - **Details**: `Inactive` represents non-existent datasets or datasets with no pieces yet. `Active` represents all datasets with pieces, including terminated ones. - Use `getDataSetStatusDetails()` to check termination status separately from Active/Inactive status -- Subgraph schema updated with status enum and history tracking -- **Calibnet**: Reduced DEFAULT_CHALLENGE_WINDOW_SIZE from 30 epochs to 20 epochs for faster testing iteration -- Made storage pricing and minimum rate mutable storage variables instead of immutable constants ([#306](https://github.com/FilOzone/filecoin-services/issues/306)) - - `storagePricePerTibPerMonth` (initially 2.5 USDFC, max 10 USDFC) - - `minimumStorageRatePerMonth` (initially 0.06 USDFC, max 0.24 USDFC) -- Added `updatePricing(uint256 newStoragePrice, uint256 newMinimumRate)` function to allow owner to update pricing rates without contract upgrades - - Pass 0 to keep existing value unchanged - - At least one price must be non-zero - - Validates against 4x upper bounds (10 USDFC storage, 0.24 USDFC minimum rate) - - Price updates apply immediately to existing payment rails when recalculated -- Added `getCurrentPricingRates()` function to query current storage price and minimum rate -- Added `PricingUpdated(uint256 storagePrice, uint256 minimumRate)` event to track pricing changes -- Added `AtLeastOnePriceMustBeNonZero` and `PriceExceedsMaximum` errors for pricing validation +- **BREAKING**: ServiceProviderRegistry Bloom Schema refactor ([#308](https://github.com/FilOzone/filecoin-services/pull/308)) + - **Removed** encoded `productData`; all product attributes now use capability key-value store + - **Keys** are `string`, **values** are `bytes` + - **Migration for synapse and curio**: + 1. All `productInfo` previously ABI-encoded is removed. Use capability key-value store instead. Encode unsigned integers as big-endian, addresses as `bytes[20]`, strings as UTF-8. + 2. Replace `getPDPOffering()` with `getAllProductCapabilities()` to retrieve product info + 3. `getActiveProvidersByProductType()` and `getProvidersByProductType()` now return `productCapabilityValues` in `ProviderWithProduct[]` + 4. `getProductCapabilities()` no longer returns `exists` bool array + 5. `getProductCapability()` is removed; use `productCapabilities` mapping instead + 6. `updatePDPServiceWithCapabilities()` is removed; use `updateProduct()` instead + 7. Capability values cannot be empty; exclude the key if product lacks the capability + - Contract size reduced from 21,290 to 17,751 bytes (-3,539 bytes) +- **BREAKING**: Non-sequential `clientDataSetId` ([#265](https://github.com/FilOzone/filecoin-services/pull/265)) + - **Changed** from sequential counter to mapping-based non-sequential IDs + - **Migration**: Clients can now create datasets with any unique `clientDataSetId` value, removing the sequential bottleneck + - Added `DataSetIdAlreadyExists` error for duplicate IDs +- **BREAKING**: Renamed Payments contract to FilecoinPayV1 ([#293](https://github.com/FilOzone/filecoin-services/pull/293)) + - **Migration**: Update all contract references from `Payments` to `FilecoinPayV1` + - ABI file renamed: `Payments.abi.json` → `FilecoinPayV1.abi.json` + - Deployment scripts and documentation updated +- **BREAKING**: ServiceProviderRegistry events now emit raw productData ([#294](https://github.com/FilOzone/filecoin-services/pull/294)) + - **Removed** `serviceUrl` argument from Product events + - **Migration**: Parse `serviceUrl` from raw `productData` if needed + - Events now more portable and forward-compatible with future product types +- **BREAKING**: ServiceProviderRegistry deletes removed product data ([#295](https://github.com/FilOzone/filecoin-services/pull/295)) + - **Changed** behavior: Product data is now properly cleaned up when removed + - **Migration**: Use `isActive` to detect if product exists, not presence of data fields +- **Calibnet**: Reduced `DEFAULT_CHALLENGE_WINDOW_SIZE` from 30 epochs to 20 epochs for faster testing iteration ([#327](https://github.com/FilOzone/filecoin-services/pull/327)) +- Made storage pricing and minimum rate mutable storage variables instead of immutable constants ([#325](https://github.com/FilOzone/filecoin-services/pull/325)) +- Made FWSS permissionless by removing provider approval checks ([#302](https://github.com/FilOzone/filecoin-services/pull/302)) +- CDN pricing changed from monthly to usage-based egress model ([#324](https://github.com/FilOzone/filecoin-services/pull/324)) +- Use constant typehash instead of rehashing for EIP-712 signatures ([#315](https://github.com/FilOzone/filecoin-services/pull/315)) +- Burn mechanism now uses FVMPay ([#296](https://github.com/FilOzone/filecoin-services/pull/296)) +- SignatureVerificationLib refactored to use delegate pattern ([#282](https://github.com/FilOzone/filecoin-services/pull/282)) +- Subgraph now uses productData from events directly ([#298](https://github.com/FilOzone/filecoin-services/pull/298)) +- Subgraph decodes PDP offering using ethereum.decode ([#290](https://github.com/FilOzone/filecoin-services/pull/290)) +- CDNPaymentRailsToppedUp event refactored ([#284](https://github.com/FilOzone/filecoin-services/pull/284)) +- Updated lib/pdp to v3.1.0 with improved validator support for forward progress despite missing proofs ([#321](https://github.com/FilOzone/filecoin-services/pull/321)) + +### Removed +- **BREAKING**: `PaymentArbitrated` event removed from contract and subgraph ([#301](https://github.com/FilOzone/filecoin-services/pull/301)) + +### Performance Improvements +- Optimized payment validation to loop over proving periods ([#267](https://github.com/FilOzone/filecoin-services/pull/267)) +- Removed railToDataSet mapping for CDN rails ([#278](https://github.com/FilOzone/filecoin-services/pull/278)) +- Optimized withCDN metadata key handling ([#271](https://github.com/FilOzone/filecoin-services/pull/271)) +- Added dataSetHasCDNMetadataKey optimization ([#274](https://github.com/FilOzone/filecoin-services/pull/274)) +- Replaced error strings with custom errors ([#270](https://github.com/FilOzone/filecoin-services/pull/270)) ## [0.3.0] - 2025-10-08 - M3.1 Calibration Network Deployment @@ -221,6 +311,8 @@ This release contains breaking changes that rename core concepts throughout the The underlying functionality remains unchanged; this release only updates terminology for consistency. -[Unreleased]: https://github.com/filozone/filecoin-services/compare/v0.2.0...HEAD +[Unreleased]: https://github.com/filozone/filecoin-services/compare/v1.0.0...HEAD +[1.0.0]: https://github.com/filozone/filecoin-services/compare/v0.3.0...v1.0.0 +[0.3.0]: https://github.com/filozone/filecoin-services/releases/tag/v0.3.0 [0.2.0]: https://github.com/filozone/filecoin-services/releases/tag/v0.2.0 [0.1.0]: https://github.com/filozone/filecoin-services/releases/tag/v0.1.0 diff --git a/service_contracts/lib/pdp b/service_contracts/lib/pdp index 856fd2f9..fd1b650d 160000 --- a/service_contracts/lib/pdp +++ b/service_contracts/lib/pdp @@ -1 +1 @@ -Subproject commit 856fd2f9be39bb3bb8ddbebd6599f81952fac7de +Subproject commit fd1b650defa97e4f86a638328553d84d61ea26e0 diff --git a/service_contracts/src/FilecoinWarmStorageService.sol b/service_contracts/src/FilecoinWarmStorageService.sol index bfe88535..eea767db 100644 --- a/service_contracts/src/FilecoinWarmStorageService.sol +++ b/service_contracts/src/FilecoinWarmStorageService.sol @@ -59,7 +59,7 @@ contract FilecoinWarmStorageService is EIP712Upgradeable { // Version tracking - string public constant VERSION = "0.3.0"; + string public constant VERSION = "1.0.0"; // ========================================================================= // Events diff --git a/service_contracts/src/ServiceProviderRegistry.sol b/service_contracts/src/ServiceProviderRegistry.sol index 943f5339..a8b03baa 100644 --- a/service_contracts/src/ServiceProviderRegistry.sol +++ b/service_contracts/src/ServiceProviderRegistry.sol @@ -43,7 +43,7 @@ contract ServiceProviderRegistry is } /// @notice Version of the contract implementation - string public constant VERSION = "0.3.0"; + string public constant VERSION = "1.0.0"; /// @notice Maximum length for service URL uint256 private constant MAX_SERVICE_URL_LENGTH = 256; diff --git a/service_contracts/test/FilecoinWarmStorageService.t.sol b/service_contracts/test/FilecoinWarmStorageService.t.sol index 2e9433ac..f2e6f34c 100644 --- a/service_contracts/test/FilecoinWarmStorageService.t.sol +++ b/service_contracts/test/FilecoinWarmStorageService.t.sol @@ -5065,7 +5065,7 @@ contract FilecoinWarmStorageServiceUpgradeTest is Test { if (logs[i].topics[0] == expectedTopic) { // Decode and verify the event data (string memory version, address implementation) = abi.decode(logs[i].data, (string, address)); - assertEq(version, "0.3.0", "Version should be 0.3.0"); + assertEq(version, "1.0.0", "Version should be 1.0.0"); assertTrue(implementation != address(0), "Implementation address should not be zero"); foundEvent = true; break; diff --git a/service_contracts/test/ServiceProviderRegistry.t.sol b/service_contracts/test/ServiceProviderRegistry.t.sol index e9fcd68d..5db937c1 100644 --- a/service_contracts/test/ServiceProviderRegistry.t.sol +++ b/service_contracts/test/ServiceProviderRegistry.t.sol @@ -37,7 +37,7 @@ contract ServiceProviderRegistryTest is MockFVMTest { function testInitialState() public view { // Check version - assertEq(registry.VERSION(), "0.3.0", "Version should be 0.3.0"); + assertEq(registry.VERSION(), "1.0.0", "Version should be 1.0.0"); // Check owner assertEq(registry.owner(), owner, "Service provider should be deployer"); diff --git a/service_contracts/test/ServiceProviderRegistryFull.t.sol b/service_contracts/test/ServiceProviderRegistryFull.t.sol index b7f386a3..1d5f9168 100644 --- a/service_contracts/test/ServiceProviderRegistryFull.t.sol +++ b/service_contracts/test/ServiceProviderRegistryFull.t.sol @@ -85,7 +85,7 @@ contract ServiceProviderRegistryFullTest is MockFVMTest { // ========== Initial State Tests ========== function testInitialState() public view { - assertEq(registry.VERSION(), "0.3.0", "Version should be 0.3.0"); + assertEq(registry.VERSION(), "1.0.0", "Version should be 1.0.0"); assertEq(registry.owner(), owner, "Service provider should be deployer"); assertEq(registry.getNextProviderId(), 1, "Next provider ID should start at 1"); assertEq(registry.REGISTRATION_FEE(), 5 ether, "Registration fee should be 5 FIL"); diff --git a/service_contracts/tools/GA-release-contracts b/service_contracts/tools/GA-release-contracts new file mode 100644 index 00000000..00fef8ea --- /dev/null +++ b/service_contracts/tools/GA-release-contracts @@ -0,0 +1,51 @@ +## FWSS GA Release - Calibration Network: + +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 +--- +✅ 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 \ No newline at end of file diff --git a/service_contracts/tools/README.md b/service_contracts/tools/README.md index aaa25fa3..8c5fc1e8 100644 --- a/service_contracts/tools/README.md +++ b/service_contracts/tools/README.md @@ -31,7 +31,7 @@ The following parameters are critical for proof generation and validation. They |-----------|----------------------|---------------------|-------| | `DEFAULT_CHALLENGE_FINALITY` | `150` | `10` | **Security parameter.** Always set to `150` in production. Enforces that the challenge epoch is far enough in the future to prevent reorg-based attacks. See [PDP Implementation Design Doc](https://filoznotebook.notion.site/PDP-Implementation-Design-Doc-64a66516416441c69b9d8e5d63120f1c?pvs=21). | | `DEFAULT_MAX_PROVING_PERIOD` | `2880` | `240` | **Product parameter.** Defines how often proofs must be submitted. Mainnet default is 2880 epochs ≈ 24h (one proof/day). On Calibnet we use shorter proving periods for faster iteration. See [Simple PDP Service Fault Model](https://filoznotebook.notion.site/Simple-PDP-Service-Fault-Model-1a9dc41950c180c4bdc7ef2d91db73b6?pvs=21). | -| `DEFAULT_CHALLENGE_WINDOW_SIZE` | `60` | `20` | **Security parameter.** Defines the grace window within the proving period. On Mainnet: 60 epochs. On Calibnet: 20 epochs. See [Simple PDP Service Fault Model](https://filoznotebook.notion.site/Simple-PDP-Service-Fault-Model-1a9dc41950c180c4bdc7ef2d91db73b6?pvs=21). | +| `DEFAULT_CHALLENGE_WINDOW_SIZE` | `20` | `20` | **Security parameter.** Defines the grace window within the proving period. On Mainnet: 60 epochs. On Calibnet: 20 epochs. See [Simple PDP Service Fault Model](https://filoznotebook.notion.site/Simple-PDP-Service-Fault-Model-1a9dc41950c180c4bdc7ef2d91db73b6?pvs=21). | ### Quick Reference diff --git a/service_contracts/tools/deploy-all-warm-storage.sh b/service_contracts/tools/deploy-all-warm-storage.sh index 65133b1c..9915e00b 100755 --- a/service_contracts/tools/deploy-all-warm-storage.sh +++ b/service_contracts/tools/deploy-all-warm-storage.sh @@ -60,7 +60,7 @@ case "$CHAIN" in # Default challenge and proving configuration for mainnet (production values) DEFAULT_CHALLENGE_FINALITY="150" # Production security value DEFAULT_MAX_PROVING_PERIOD="2880" # 2880 epochs on mainnet - DEFAULT_CHALLENGE_WINDOW_SIZE="60" # 60 epochs + DEFAULT_CHALLENGE_WINDOW_SIZE="20" # 60 epochs ;; *) echo "Error: Unsupported network" diff --git a/service_contracts/tools/dev-release-contracts b/service_contracts/tools/dev-release-contracts deleted file mode 100644 index 21ae1bd7..00000000 --- a/service_contracts/tools/dev-release-contracts +++ /dev/null @@ -1,18 +0,0 @@ -# DEPLOYMENT SUMMARY -FilecoinWarmStorageService Implementation: 0x271b346F1282c3ab8C3CA3aBCD34c0aBF96Df9D0 -FilecoinWarmStorageService Proxy: 0xD3De778C05f89e1240ef70100Fb0d9e5b2eFD258 -FilecoinWarmStorageServiceStateView: 0x0295Ac959317391656fB7fFaA046046eF9C7E18F - -USDFC token address: 0xb3042734b608a1B16e9e86B374A3f3e389B4cDf0 -PDPVerifier address: 0x06279D540BDCd6CA33B073cEAeA1425B6C68c93d -- from: https://github.com/FilOzone/pdp/releases/tag/v3.0.0 -FilecoinPayV1 contract address: 0x09a0fDc2723fAd1A7b8e3e00eE5DF73841df55a0 -- from: https://github.com/FilOzone/filecoin-pay/releases/tag/v1.0.0 -FilBeam controller address: 0x5f7E5E2A756430EdeE781FF6e6F7954254Ef629A -FilBeam beneficiary address: 0x1D60d2F5960Af6341e842C539985FA297E10d6eA -ServiceProviderRegistry address: 0xc758dB755f59189d8FB3C166Ee372b77d7CFA9D3 -SessionKeyRegistry address: 0x97Dd879F5a97A8c761B94746d7F5cfF50AAd4452 -Max proving period: 240 epochs -Challenge window size: 20 epochs -Service name: FWSS - M4 staging contracts -Service description: Calibration FWSS - M4 staging contracts \ No newline at end of file