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
@@ -21,19 +61,55 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
21
61
- Use `pdpEndEpoch` to check if a dataset is terminated
22
62
-**Details**: `Inactive` represents non-existent datasets or datasets with no pieces yet. `Active` represents all datasets with pieces, including terminated ones.
23
63
- 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
66
+
-**Keys** are `string`, **values** are `bytes`
67
+
-**Migration for synapse and curio**:
68
+
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.
69
+
2. Replace `getPDPOffering()` with `getAllProductCapabilities()` to retrieve product info
70
+
3.`getActiveProvidersByProductType()` and `getProvidersByProductType()` now return `productCapabilityValues` in `ProviderWithProduct[]`
71
+
4.`getProductCapabilities()` no longer returns `exists` bool array
72
+
5.`getProductCapability()` is removed; use `productCapabilities` mapping instead
73
+
6.`updatePDPServiceWithCapabilities()` is removed; use `updateProduct()` instead
74
+
7. Capability values cannot be empty; exclude the key if product lacks the capability
75
+
- Contract size reduced from 21,290 to 17,751 bytes (-3,539 bytes)
-**Changed** from sequential counter to mapping-based non-sequential IDs
78
+
-**Migration**: Clients can now create datasets with any unique `clientDataSetId` value, removing the sequential bottleneck
79
+
- Added `DataSetIdAlreadyExists` error for duplicate IDs
80
+
-**BREAKING**: Renamed Payments contract to FilecoinPayV1 ([#293](https://github.com/FilOzone/filecoin-services/pull/293))
81
+
-**Migration**: Update all contract references from `Payments` to `FilecoinPayV1`
82
+
- ABI file renamed: `Payments.abi.json` → `FilecoinPayV1.abi.json`
83
+
- Deployment scripts and documentation updated
84
+
-**BREAKING**: ServiceProviderRegistry events now emit raw productData ([#294](https://github.com/FilOzone/filecoin-services/pull/294))
85
+
-**Removed**`serviceUrl` argument from Product events
86
+
-**Migration**: Parse `serviceUrl` from raw `productData` if needed
87
+
- Events now more portable and forward-compatible with future product types
88
+
-**BREAKING**: ServiceProviderRegistry deletes removed product data ([#295](https://github.com/FilOzone/filecoin-services/pull/295))
89
+
-**Changed** behavior: Product data is now properly cleaned up when removed
90
+
-**Migration**: Use `isActive` to detect if product exists, not presence of data fields
91
+
-**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))
92
+
- Made storage pricing and minimum rate mutable storage variables instead of immutable constants ([#325](https://github.com/FilOzone/filecoin-services/pull/325))
93
+
- Made FWSS permissionless by removing provider approval checks ([#302](https://github.com/FilOzone/filecoin-services/pull/302))
94
+
- CDN pricing changed from monthly to usage-based egress model ([#324](https://github.com/FilOzone/filecoin-services/pull/324))
95
+
- Use constant typehash instead of rehashing for EIP-712 signatures ([#315](https://github.com/FilOzone/filecoin-services/pull/315))
96
+
- Burn mechanism now uses FVMPay ([#296](https://github.com/FilOzone/filecoin-services/pull/296))
97
+
- SignatureVerificationLib refactored to use delegate pattern ([#282](https://github.com/FilOzone/filecoin-services/pull/282))
98
+
- Subgraph now uses productData from events directly ([#298](https://github.com/FilOzone/filecoin-services/pull/298))
99
+
- Subgraph decodes PDP offering using ethereum.decode ([#290](https://github.com/FilOzone/filecoin-services/pull/290))
- Environment variable renamed to PDP_VERIFIER_PROXY_ADDRESS ([#292](https://github.com/FilOzone/filecoin-services/pull/292))
102
+
- 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))
103
+
104
+
### Removed
105
+
-**BREAKING**: `PaymentArbitrated` event removed from contract and subgraph ([#301](https://github.com/FilOzone/filecoin-services/pull/301))
106
+
107
+
### Performance Improvements
108
+
- Optimized payment validation to loop over proving periods ([#267](https://github.com/FilOzone/filecoin-services/pull/267))
109
+
- Removed railToDataSet mapping for CDN rails ([#278](https://github.com/FilOzone/filecoin-services/pull/278))
0 commit comments