You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
@@ -21,19 +76,54 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
21
76
- Use `pdpEndEpoch` to check if a dataset is terminated
22
77
-**Details**: `Inactive` represents non-existent datasets or datasets with no pieces yet. `Active` represents all datasets with pieces, including terminated ones.
23
78
- Use `getDataSetStatusDetails()` to check termination status separately from Active/Inactive status
24
-
- Subgraph schema updated with status enum and history tracking
25
-
-**Calibnet**: Reduced DEFAULT_CHALLENGE_WINDOW_SIZE from 30 epochs to 20 epochs for faster testing iteration
26
-
- Made storage pricing and minimum rate mutable storage variables instead of immutable constants ([#306](https://github.com/FilOzone/filecoin-services/issues/306))
27
-
-`storagePricePerTibPerMonth` (initially 2.5 USDFC, max 10 USDFC)
28
-
-`minimumStorageRatePerMonth` (initially 0.06 USDFC, max 0.24 USDFC)
29
-
- Added `updatePricing(uint256 newStoragePrice, uint256 newMinimumRate)` function to allow owner to update pricing rates without contract upgrades
-**Removed** encoded `productData`; all product attributes now use capability key-value store
81
+
-**Keys** are `string`, **values** are `bytes`
82
+
-**Migration for synapse and curio**:
83
+
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.
84
+
2. Replace `getPDPOffering()` with `getAllProductCapabilities()` to retrieve product info
85
+
3.`getActiveProvidersByProductType()` and `getProvidersByProductType()` now return `productCapabilityValues` in `ProviderWithProduct[]`
86
+
4.`getProductCapabilities()` no longer returns `exists` bool array
87
+
5.`getProductCapability()` is removed; use `productCapabilities` mapping instead
88
+
6.`updatePDPServiceWithCapabilities()` is removed; use `updateProduct()` instead
89
+
7. Capability values cannot be empty; exclude the key if product lacks the capability
90
+
- Contract size reduced from 21,290 to 17,751 bytes (-3,539 bytes)
-**Changed** from sequential counter to mapping-based non-sequential IDs
93
+
-**Migration**: Clients can now create datasets with any unique `clientDataSetId` value, removing the sequential bottleneck
94
+
- Added `DataSetIdAlreadyExists` error for duplicate IDs
95
+
-**BREAKING**: Renamed Payments contract to FilecoinPayV1 ([#293](https://github.com/FilOzone/filecoin-services/pull/293))
96
+
-**Migration**: Update all contract references from `Payments` to `FilecoinPayV1`
97
+
- ABI file renamed: `Payments.abi.json` β `FilecoinPayV1.abi.json`
98
+
- Deployment scripts and documentation updated
99
+
-**BREAKING**: ServiceProviderRegistry events now emit raw productData ([#294](https://github.com/FilOzone/filecoin-services/pull/294))
100
+
-**Removed**`serviceUrl` argument from Product events
101
+
-**Migration**: Parse `serviceUrl` from raw `productData` if needed
102
+
- Events now more portable and forward-compatible with future product types
103
+
-**BREAKING**: ServiceProviderRegistry deletes removed product data ([#295](https://github.com/FilOzone/filecoin-services/pull/295))
104
+
-**Changed** behavior: Product data is now properly cleaned up when removed
105
+
-**Migration**: Use `isActive` to detect if product exists, not presence of data fields
106
+
-**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))
107
+
- Made storage pricing and minimum rate mutable storage variables instead of immutable constants ([#325](https://github.com/FilOzone/filecoin-services/pull/325))
108
+
- Made FWSS permissionless by removing provider approval checks ([#302](https://github.com/FilOzone/filecoin-services/pull/302))
109
+
- CDN pricing changed from monthly to usage-based egress model ([#324](https://github.com/FilOzone/filecoin-services/pull/324))
110
+
- Use constant typehash instead of rehashing for EIP-712 signatures ([#315](https://github.com/FilOzone/filecoin-services/pull/315))
111
+
- Burn mechanism now uses FVMPay ([#296](https://github.com/FilOzone/filecoin-services/pull/296))
112
+
- SignatureVerificationLib refactored to use delegate pattern ([#282](https://github.com/FilOzone/filecoin-services/pull/282))
113
+
- Subgraph now uses productData from events directly ([#298](https://github.com/FilOzone/filecoin-services/pull/298))
114
+
- Subgraph decodes PDP offering using ethereum.decode ([#290](https://github.com/FilOzone/filecoin-services/pull/290))
- 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))
117
+
118
+
### Removed
119
+
-**BREAKING**: `PaymentArbitrated` event removed from contract and subgraph ([#301](https://github.com/FilOzone/filecoin-services/pull/301))
120
+
121
+
### Performance Improvements
122
+
- Optimized payment validation to loop over proving periods ([#267](https://github.com/FilOzone/filecoin-services/pull/267))
123
+
- Removed railToDataSet mapping for CDN rails ([#278](https://github.com/FilOzone/filecoin-services/pull/278))
0 commit comments