Releases: centrifuge/centrifuge-chain
Altair v0.12.0
Upgrade Priority:
- Full Nodes: High
- Collators: Medium
Changes
- Adds OpenGov for Development and Altair Runtimes which coexists with current Gov1 structure
- Altair config based on https://gov.centrifuge.io/t/rfc-altair-migration-to-opengov/6011
- Altair parametrization based on https://docs.google.com/document/d/1asoDHtIT3bhSnwfQir3SZ7NN-5D1i02s01clh9lEd0k
- Applied all changes from v0.11.3 to Altair runtime
- Includes
CheckMetadataHash
signed extension which enables generic Polkadot Ledger support (#1865)
- Includes
WASM
✨ Your Substrate WASM Runtime is ready! ✨
Summary generated with srtool:1.75.0-0.14.0:
Package : altair-runtime v0.12.0
GIT commit : 753a8b5
GIT tag : v0.12.0
GIT branch : altair/release-v0.12.0
Rustc : 1.75.0 (82e1608df 2023-12-21)
Time : 2024-07-02T08:20:44Z
== Compressed
🏋️ Runtime size: 2.154 MB (2,258,347 bytes) ⚠️ HEAVY
🗜 Compressed: Yes, 79.24%
✨ Reserved meta: OK - [6D, 65, 74, 61]
🎁 Metadata version: V14
🔥 Core version: altair-1200 (altair-1.tx2.au1)
🗳️ Blake2-256 hash: 0x9773c02bc0960c354662d4a0eeed868a4ef78a380f5147aa51b91258b88bfc7c
📦 IPFS: https://www.ipfs.io/ipfs/QmVCEbr6GWGgWiA3zGL8bhHT6FpPAGruuFx9pmcymK4V8U
Exhaustive list of all changes
Docker Image: centrifugeio/centrifuge-chain:v0.12.0
Full Changelog: v0.11.3...v0.12.0
Docker tags (2024-07-02):
ghcr.io/centrifuge/centrifuge-chain:v0.12.0
ghcr.io/centrifuge/centrifuge-chain:v0.12.0-753a8b5-2024-07-02
ghcr.io/centrifuge/centrifuge-chain:latest
ghcr.io/centrifuge/centrifuge-chain:latest
centrifugeio/centrifuge-chain:v0.12.0
centrifugeio/centrifuge-chain:v0.12.0-753a8b5-2024-07-02
centrifugeio/centrifuge-chain:latest
centrifugeio/centrifuge-chain:latest
Centrifuge v0.11.3
Upgrade Priority:
- Full Nodes: High
- Collators: Medium
Changes
Substrate
- Enable
CheckMetadataHash
signed extension which enables generic Polkadot Ledger support (#1865) - Upgrade from Polkadot v0.9.43 to Polkadot v1.7.2 (#1756, #1833)
- Prepares for async backing (disabled for now)
- Introduces
Runtime{Hold, Freeze}Reason
- Updates to XCMv4
Pools
- Fix: Ratio calculation (#1856)
- Feat: Allow to call runtime API either with latest prices or if outdated using estimates with linear accrual based on latest settlement price (#1791)
Loans
- Fix: Make maturity date optional (#1843)
- Fix: Linear accrual (#1812)
- Fix: Transfer debt event (#1837)
- Feat: Cashflows (#1867)
- Feat: Decrease debt (#1857)
- Liquidity Pools: Inter domain tranche token transfer (#1860)
PoolFees
Proxies
- Feat: Add
Borrow
withPodOperation
priviliges (#1854)
Breaking Changes
- Deprecation of all RPC endpoints except for
ethereum
andanchor
: Please use the identical runtime API instead (#1844) - Loans: Change linear pricing behaviour to be effictive iff enabled for the loan and the corresponding oracle uses an oracle key plus there is no valid oracle using the latest settlement price (#1812)
- Pools: Restrict epoch closing to Liquidity- and Pool-Admins (#1812)
- Oracles: Add new enum variant
PoolLoanId
toOracleKey
(#1841) - Transfer AllowList: Store XCM Locations explicitly instead of hashed version (#1853)
- Node CLI: Replace
export-genesis-state
withexport-genesis-head
(#1844)
WASM
✨ Your Substrate WASM Runtime is ready! ✨
Summary generated with srtool:1.75.0-0.14.0:
Package : centrifuge-runtime v0.11.3
GIT commit : dd9ff87
GIT tag : v0.11.3
GIT branch : release-v0.11.1
Rustc : 1.75.0 (82e1608df 2023-12-21)
Time : 2024-06-27T16:24:10Z
== Compressed
🏋️ Runtime size: 2.109 MB (2,211,622 bytes) ⚠️ HEAVY
🗜 Compressed: Yes, 79.17%
✨ Reserved meta: OK - [6D, 65, 74, 61]
🎁 Metadata version: V14
🔥 Core version: centrifuge-1103 (centrifuge-1.tx2.au1)
🗳️ Blake2-256 hash: 0xda20faa8890934dcbe05af50dd8ee6b13dfd92e1b3adb9d988e7f948bc8b4eab
📦 IPFS: https://www.ipfs.io/ipfs/QmdZPdQ562sempcibMyVFMKgGUPnbC3s3R1sk9JfEhCaAV
Exhaustive list of all changes
- add code coverage to pipeline by @gpmayorga in #1745
- Oracles: Correct feeder encoding by @lemunozm in #1793
- Remove old migrations and bump up version for centrifuge runtime by @lemunozm in #1794
- fix: Enable Runtime-Apis to update nav with estimates by @mustermeiszer in #1791
- chore: bumb dev versions by @mustermeiszer in #1795
- Set correct onchain versions by @lemunozm in #1796
- fix: chain spec not deterministic by @wischli in #1807
- Polkadot v1.1.0 by @lemunozm in #1756
- Fix: mostly non failable runtime-api by @mustermeiszer in #1810
- fix: essence tranche token metadata by @wischli in #1798
- Remove custom implementation for
MaxEncodingLen
by @lemunozm in #1800 - Integration tests. Move EVM tests to the generic framework by @lemunozm in #1801
- BlockRewards: Fix how it handle ED for Staking currency. by @lemunozm in #1802
- Runtimes: use last benchmark structure, remove unused disable-api feature by @lemunozm in #1813
- Fix: zero amount order bug by @lemunozm in #1816
- fix: looser
is_local_representation
by @wischli in #1815 - IT: rewards to generic framework. Remove previous non-generic IT utilities by @lemunozm in #1805
- fix: undecodable
ForeignInvestmentInfo
on Demo by @wischli in #1819 - fix: pool fee event dispatch order by @wischli in #1809
- fix: outdated storage versions on Demo by @wischli in #1820
- Integration test: making it cooler! by @lemunozm in #1821
- Upgrade gh actions by @gpmayorga in #1814
- Remove crowdloan pallets by @lemunozm in #1834
- Upgrade-gh-actions by @gpmayorga in #1832
- Adjust codecov settings by @gpmayorga in #1830
- Fix docker release by @gpmayorga in #1831
- Fix: transfer debt event with updated repaid amount by @lemunozm in #1837
- Feat: Add new oracle key by @mustermeiszer in #1841
- Fix/linear pricing by @mustermeiszer in #1812
- Fix docs deployment by @gpmayorga in #1839
- IT: Add test_runtimes macro to liquidity_pools tests by @lemunozm in #1845
- Feat: No maturity date by @mustermeiszer in #1843
- Loans: use mocked timer by @lemunozm in #1848
- Borrow proxy with PodOperation behavior by @lemunozm in #1854
- fix: allow root to propose and remove fees by @wischli in #1855
- Feat: decrease debt by @mustermeiszer in #1857
- Fix:
pallet-pool-system
- Ratio Calculation by @mustermeiszer in #1856 - Feat: Liquidity pools inter domain tranche token transfer by @mustermeiszer in #1860
- Loans: cashflows simple version by @lemunozm in #1867
- Upgrade to Polkadot-v1.7.2 by @lemunozm in #1833
- Release v0.11.0 by @wischli in #1868
- Feat: LP integration tests by @mustermeiszer in #1720
- Fix FMT linter by @gpmayorga in #1871
- Fix: LP integration tests compilation issue by @lemunozm in #1876
- Chore: Make min epoch time in dev smaller by @mustermeiszer in #1872
- pallets: Add Anchors V2 pallet by @cdamian in #1878
- IT: Simplify liquidity_pool test module by @lemunozm in #1869
- Liquidity-pools: Add unitary tests by @lemunozm in #1879
- Script to upgrade a Centrifuge parachain live by @gpmayorga in #1884
- IT: more support for router tests by @lemunozm in #1885
- IT: Panic if event is not found in the expected blocks by @lemunozm in #1880
- IT: clean generic folder by @lemunozm in #1887
- feat:
CheckMetadataHash
extension by @wischli in #1865
Docker Image: centrifugeio/centrifuge-chain:v0.11.3
Full Changelog: v0.10.39...v0.11.3
Client v0.10.39: Centrifuge 1028
Upgrade Priority:
- Full Nodes: Low - No need to upgrade if you are already on Client v0.10.36+
- Collators: Low - No need to upgrade if you are already on Client v0.10.36+
Changes
- Fix: Unblock
update_collection
call by reducing PoV requirements - Fix: Registers active loans of Anemoy Pool in OracleCollection pallet
WASM
✨ Your Substrate WASM Runtime is ready! ✨
Summary generated with srtool:1.75.0-0.14.0:
Package : centrifuge-runtime v0.10.28
GIT commit : 1a9e385
GIT tag : v0.10.39
GIT branch : main
Rustc : 1.75.0 (82e1608df 2023-12-21)
Time : 2024-03-29T08:13:40
== Compressed
🏋️ Runtime size: 1.806 MB (1,893,411 bytes)
🗜 Compressed: Yes, 78.52%
✨ Reserved meta: OK - [6D, 65, 74, 61]
🎁 Metadata version: V14
🔥 Core version: centrifuge-1028 (centrifuge-1.tx2.au1)
🗳️ Blake2-256 hash: 0x944d685968ef5ab95688af096c758e5c7141ad1d259c32ce4878dfff0d6bbaa6
📦 IPFS: https://www.ipfs.io/ipfs/QmZDn6puL4JaN93LgYt9nvY1zjMY4tjzsDMRkfGQSHo9vx
Exhaustive list of all changes
- Add try-runtime to ci pipeline by @gpmayorga in #1735
- Rewards: move rewards api tests to generic testing by @lemunozm in #1778
Docker Image: docker pull centrifugeio/centrifuge-chain:main-1a9e385-2024-03-29
Full Changelog: v0.10.38...v0.10.39
Client v0.10.38: Centrifuge 1027
Upgrade Priority:
- Full Nodes: Low - No need to upgrade if you are already on Client v0.10.36+
- Collators: Low - No need to upgrade if you are already on Client v0.10.36+
Changes
- Fix: Enable placing Orderbook orders for local assets
CurrencyId::LocalAsset(_)
- Permit
ProxyType::Borrow
to callTokenMux::deposit
,TokenMux::burn
,TokenMux::match_swap
WASM
✨ Your Substrate WASM Runtime is ready! ✨
Summary generated with srtool:1.75.0-0.14.0:
Package : centrifuge-runtime v0.10.27
GIT commit : 6f0dd0a
GIT tag : v0.10.38
GIT branch : main
Rustc : 1.75.0 (82e1608df 2023-12-21)
Time : 2024-03-18T16:49:36Z
== Compressed
🏋️ Runtime size: 1.810 MB (1,898,009 bytes)
🗜 Compressed: Yes, 78.51%
✨ Reserved meta: OK - [6D, 65, 74, 61]
🎁 Metadata version: V14
🔥 Core version: centrifuge-1027 (centrifuge-1.tx2.au1)
🗳️ system.setCode hash: 0x46e69bde68b8c3106fdca80842ac2592b8959ec1d0ac3d70acb665460e7f0434
🗳️ Blake2-256 hash: 0xb69411ac0efe924477a5d058451dfc8444c669106cd2763c220dc4b622fb88bc
📦 IPFS: https://www.ipfs.io/ipfs/QmRwRBqPHaARPqQKswsroJoYsK8rrCW7nZ2mN2PNm9B9Rb
Exhaustive list of all changes
- docs: Update pallet docs by @cdamian in #1767
- docs: update developing by @wischli in #1769
- Post RU: Remove old migrations and bump up versions by @lemunozm in #1772
- Fix: order book working with local currencies by @lemunozm in #1773
- fix: permit token mux calls for
ProxyType::Borrow
by @wischli in #1774
Docker Image: docker pull centrifugeio/centrifuge-chain:main-6f0dd0a-2024-03-18
Full Changelog: v0.10.37...v0.10.38
Client v0.10.37: Centrifuge 1026
Upgrade Priority:
- Full Nodes: Low - No need to upgrade if you are already on Client v0.10.36
- Collators: Low - No need to upgrade if you are already on Client v0.10.36
Changes
- Add
SwapCreated
,SwapFulfilled
andSwapCancelled
to ForeignInvestments (#1764)
WASM
✨ Your Substrate WASM Runtime is ready! ✨
Summary generated with srtool:1.75.0-0.14.0:
Package : centrifuge-runtime v0.10.26
GIT commit : 6fb8496
GIT tag : v0.10.37
GIT branch : main
Rustc : 1.75.0 (82e1608df 2023-12-21)
Time : 2024-03-12T15:36:55Z
== Compressed
🏋️ Runtime size: 1.825 MB (1,913,986 bytes)
🗜 Compressed: Yes, 78.41%
✨ Reserved meta: OK - [6D, 65, 74, 61]
🎁 Metadata version: V14
🔥 Core version: centrifuge-1026 (centrifuge-1.tx2.au1)
🗳️ system.setCode hash: 0x1afffb10cbdbe7e132b81d51c21e8dc803cf606f8a48e0974a2fbd13948ce01d
🗳️ Blake2-256 hash: 0x662ab43f34e78f0f722ce0391f5fb3246e76db88ee99c36d89bb89333e004e9e
📦 IPFS: https://www.ipfs.io/ipfs/Qmd16Zi95bTw3UMQif7mWs9Cobs4MraRwDgD2A64L39w5A
Exhaustive list of all changes
Docker Image: docker pull centrifugeio/centrifuge-chain:main-6fb8496-2024-03-12
Full Changelog: v0.10.36...v0.10.37
Client v0.10.36: Centrifuge 1025 & Altair 1034
Centrifuge 1025 - Release Notes Highlights
This release is packed with new features and a few breaking changes. Most notably, the definition of the NAV has changed. So far, the NAV represented the so called assets under management (abbreviated by AUM) which are represented by the evaluation of existing loans:
- NAV := NAV(Loans)
With the introduction of Pool Fees, the definition of the NAV needs to be extended due to the reducing effect which the sum of pending pool fees have on the pool valuation, i.e. they represent the negative part. Please note that the Pool Fees NAV does not include disbursement amounts which can be paid during epoch execution because these already reduce the reserve.
+ NAV := min(PoolReserve + NAV(Loans) - NAV(PoolFees), 0)
Please replace any existing reserve and NAV query with the new runtime API added in #1703:
let { navAum, navFees, reserve, total: navTotal } =
await api.call.poolsApi.nav(poolId)
Please note that runtime API metadata is not included in the v14 metadata such that you need to add type and runtime API call decorations manually.
Features and breaking changes
- Add Pool Fees (#1633, #1706, #1718)
- Replace external oracle implementation with internal one called Oracles V2 (#1629, #1661, #1670, #1671, #1672)
- Loans
- Orderbook
- Liquidity Pools:
- Add remarks pallet: Enables attaching remarks to transactions (#1659)
- [BREAKING] Block Rewards: Replace absolute treasury inflation with relative one (#1740)
- Transfer Allowlist:
- Add ERC-20 precompile for CFG balance to enable CFG bridging with Axelar ITS (#1731)
Runtime API
We have both extended existing as well as added new runtime API:
- Pool Fees: Emulate epoch closing and pool fees update (#1728)
- Pool Nav: Emulate epoch closing and return Loans NAV (assets under management), Pool Fees NAV, altered reserve as well as total NAV (#1703)
- Loans API: Emulate portfolio update with custom prices (#1748)
WASM
✨ Your Substrate WASM Runtime is ready! ✨
Summary generated with srtool:1.75.0-0.14.0:
Package : centrifuge-runtime v0.10.25
GIT commit : 544ce02
GIT tag : v0.10.36
GIT branch : main
Rustc : 1.75.0 (82e1608df 2023-12-21)
Time : 2024-03-07T08:33:20Z
== Compressed
🏋️ Runtime size: 1.819 MB (1,906,886 bytes)
🗜 Compressed: Yes, 78.50%
✨ Reserved meta: OK - [6D, 65, 74, 61]
🎁 Metadata version: V14
🔥 Core version: centrifuge-1025 (centrifuge-1.tx2.au1)
🗳️ system.setCode hash: 0x210cdf71ee5c5fbea3dc5090c596a992b148030474121b481a856433eb5720f3
🗳️ Blake2-256 hash: 0xb7f74401c52ee8634ad28fe91e8a6b1debb802d4d2058fdda184a6f2746477f6
📦 IPFS: https://www.ipfs.io/ipfs/QmS3GDmbGKvcmSd7ca1AN9B34BW3DuDEDQ1iSLXgkjktpG
Altair 1034 - Release Notes Highlights
The Altair system has not received an update for an extended period, and we apologize for any inconvenience this may have caused. This recent update aligns Altair's runtime environment with that of the Centrifuge runtime, ensuring that all modifications mentioned previously, as well as those introduced in subsequent releases, are now incorporated into Altair:
- Centrifuge Client v0.10.35 & Centrifuge 1024
- Centrifuge Client v0.10.34 & Centrifuge 1023
- Centrifuge Client v0.10.31 & Centrifuge 1020
❗️It's crucial to acknowledge that version 0.10.35 of the Centrifuge Client, which was not previously activated for Altair, introduced several breaking changes that could potentially disrupt existing workflows for node operators ❗️
WASM
✨ Your Substrate WASM Runtime is ready! ✨
Summary generated with srtool:1.75.0-0.14.0:
Package : altair-runtime v0.10.34
GIT commit : 544ce02
GIT tag : v0.10.36
GIT branch : main
Rustc : 1.75.0 (82e1608df 2023-12-21)
Time : 2024-03-07T08:29:48Z
== Compressed
🏋️ Runtime size: 1.803 MB (1,890,899 bytes)
🗜 Compressed: Yes, 78.53%
✨ Reserved meta: OK - [6D, 65, 74, 61]
🎁 Metadata version: V14
🔥 Core version: altair-1034 (altair-1.tx2.au1)
🗳️ system.setCode hash: 0xe8d9302f2f7b632f0a4a69e2e0e86a873a868720179386d22ea34def5ed4a05a
🗳️ Blake2-256 hash: 0xbdc0f7db3f0a8e3c3a55e34108383461b06930409d0f135db1983aeb70265150
📦 IPFS: https://www.ipfs.io/ipfs/QmW6n8h2Fii3QDHMBmbKY51eny5M5PrcLqsnbWDshWgAup
Mutual
Exhaustive list of all changes
- Release centrifuge 1024 client 1035 by @mustermeiszer in #1607
- Split concern for pool benchmark helper by @lemunozm in #1645
- Fix Docker workflow triggers by @gpmayorga in #1646
- Update docker test image name by @cdamian in #1644
- integration-tests: Use the generic framework for development LP tests by @cdamian in #1643
- Node crate to folder by @lemunozm in #1632
- Substitute mock-accountant macro by a mock builder pallet by @lemunozm in #1652
- Loans: Expand
TransferDebt
event with more info by @lemunozm in #1653 - Remove dependency warnings due to
codec
aliases in workspace dependencies by @lemunozm in #1655 - Fix: LP accounting by @mustermeiszer in #1657
- Oracle V2 implementation by @lemunozm in #1629
- Loans: Integration with OracleV2 by @lemunozm in #1658
- Oracles: Protect from configuring with duplicated feeders by @lemunozm in #1661
- Integration tests for proxies by @lemunozm in #1662
- chore(deps): bump actions/upload-artifact from 3.1.3 to 4.0.0 by @dependabot in #1669
- chore(deps): bump actions/configure-pages from 3 to 4 by @dependabot in #1665
- chore(deps): bump actions/deploy-pages from 2 to 4 by @dependabot in #1668
- Oracles: Time validation by a max age threshold by @lemunozm in #1670
- Rename from
pallet-oracle-data-collection
topallet-oracle-collection
by @lemunozm in #1671 - chore(deps): bump docker/metadata-action from 5.0.0 to 5.4.0 by @dependabot in #1666
- remarks: Add remarks pallet by @cdamian in #1659
- liquidity-pools: Ensure only pool admins can allow investment currencies by @cdamian in #1681
- remarks: Add pool ID to loan variant by @cdamian in #1682
- chore(deps): bump google-github-actions/setup-gcloud from 1.1.1 to 2.0.1 by @dependabot in #1667
- Oracles: Move feeders to collection level by @lemunozm in #1672
- liquidity-pools: Add support for
DisallowInvestmentCurrency
message by @cdamian in #1686 - Development 1037 by @mustermeiszer in #1688
- Fix Rust docs broken in main branch by @gpmayorga in #1684
- Loans: add
increase_debt()
extrinsic by @lemunozm in #1691 - Minor Docker enhancements by @gpmayorga in #1660
- feat: Add Pool Fees by @wischli in #1633
- Fix: Limitations of Transfer Allowlist by @mustermeiszer in #1693
- Fix: pool-registry test compilation by @lemunozm in #1701
- FI v2: refactor without states by @lemunozm in #1698
- fix: foreign investment amount by @wischli in https://github.com/centrifuge/centrifuge-cha...
Client v0.10.35: Centrifuge 1024
Upgrade Priority:
- Full Nodes: ❗️ High ❗️ - Please upgrade as soon as possible.
- Collators: Medium - Please upgrade at your earliest convenience.
Upgrading before executing the corresponding runtime upgrade should not introduce block production issues.
Be aware that there are several breaking changes for node operators. It's important to read the following section carefully due to these breaking changes!
Client: Breaking Changes
The upgrade to Polkadot v0.9.43 inherited a plurality of breaking changes, mainly affecting node operators.
CLI
This release removes the following CLI parameters:
--
rpc-max-payload
(replaced by--rpc-max-request-siz
e and--rpc-max-response-size
)
--ws-max-out-buffer-capacity
--ws-external
(replaced by--rpc-external
)
--unsafe-ws-external
(replaced by--unsafe-rpc-external
)
--ipc--path
--ws-port
(replaced by--rpc-port
)
--ws-max--connections
(replaced by--rpc-max-connections
)
--rpc-http
(replaced by--rpc-addr
)
--rpc-ws
(replaced by--rpc-addr
)
Relaychain folder renaming
Another inheritance from the Polkadot release is the forced default relaychain directory name. It was changede fro relaychain
to polkadot
.
For Centrifuge Chain docker clients, we have fixed the issue by renaming the directory via an entrypoint script. However, if you are running the client with another method, you need to do this manually to circumvent resyncing the entire relaychain.
Docker: Unix permissions
We optimized our docker image by decreasing the size by roughly 20% 🚀
Moreover, the security was optimized. On the one side, vulnerabilities went from 10 High and 200 Medium to 0 High and 5 Medium. On the other side, the container is not run by root
anymore. Instead, it is run by centrifuge
user with user id 1000
.
Unfortunately, the latter change is breaking for anyone using docker and assuming running as root
by default. In this case, you either need to force the container to run as root
or make sure all mounted directories have the right permissions for centrifuge
user with id 1000
. For Kubernetes, an init container can be added to modify permissions as root
before the actual container starts:
spec:
initContainers:
- name: init-container
image: busybox
command:
- 'sh'
- '-c'
- |
chown -R 1000:1000 /data
chown -R 1000:1000 /config
volumeMounts:
- mountPath: /config
name: config-volume
- mountPath: /data
name: storage-volume
Docker: New name tag syntax
In the past, the docker tags could not be linked to official releases without checking the release notes. Moreover, release and dev tags could not be distinguished. We have introduced latest
tag which pins the latest official release.
There are five types of docker tags:
- Latest official version:
latest
tag - Releases mainnet build:
${TAG}-${SHA}-${YY-MM-DD}
tag- Releases testnet build:
test-${TAG}-${SHA}-${YY-MM-DD}
tag
- Releases testnet build:
- Push to main branch mainnet build:
main-${SHA}-${YY-MM-DD}
tag- Push to main branch testnet build:
test-main-${SHA}-${YY-MM-DD}
tag
- Push to main branch testnet build:
Update: It appears that the release CI pipeline is not working as expected. This will be fixed by the next release.
Centrifuge 1024 - Release Notes Highlights
- BREAKING: Upgrade to Polkadot v0.9.43 (#1577, #1622, #1626, #1640)
- See below for details
- Feat: Add transfer allowlist pallet for local (via
balances
) and xcm transfers (viaxtokens
) (#1621)- Allows setting a filter for transfer destinations
- Feat: Debt transfer (#1615)
- Feat: InvestmentPortfolio API (#1608)
- Liquiditypools:
- CI: Rewrite & Improvements (#1551, #1611, #1619, #1624, #1625, #1628, #1636)
Migrations
No migrations for this release.
Breaking Changes
The following changes are all inherited from upgrading from Polkadot v0.9.38 to Polkadot v0.9.43
- The
balances::transfer
call will soon™️ be deprecated. It is replaces withbalances::transfer_allow_death
(paritytech/substrate#12951) - Switch from balance locks and reserves to balance freezes and holds (paritytech/substrate#12951)
- Require existential deposit for all currencies except for tranche tokens (#1596, #1577)
- The amount for each currency is taken from the
existential_deposit
field in the corresponding Asset Registry entry
- The amount for each currency is taken from the
An
ExistentialDeposit
of zero no longer works. If you need to allow any account to have a zero balance and retain associated account data, you must introduce a pallet which allows an unpermissionedframe_system::Pallet::<Runtime>::inc_providers()
. (paritytech/substrate#12951)
WASM
Since the latest srtool does not produce a WASM report due to this issue, the following WASM information is provided by subwasm v0.16.1 which is internally used by srtool as well.
🏋️ Runtime size: 1.754 MB (1,839,185 bytes)
🗜 Compressed: Yes, 78.34%
✨ Reserved meta: OK - [6D, 65, 74, 61]
🎁 Metadata version: V14
🔥 Core version: centrifuge-1024 (centrifuge-1.tx2.au1)
🗳️ system.setCode hash: 0xb84978e151aa721326b911992d7789d8a8f3b4c21c40185f86a3cb78b8fcd37f
🗳️ authorizeUpgrade hash: 0xe6073dcc2eef6f734d2d5d946b1e1f456d8c1f449a63bc3dae9e540aea546c66
#️⃣ Blake2-256 hash: 0xe9ecfd39bfd01a658ba28344963c4206863e81119b361f497538a164c2ef5a97
📦 IPFS: https://www.ipfs.io/ipfs/QmZRejYou7do4JpJcMsYM5L2XodbcFx4tTsMsjquiswCbt
Mutual
Exhaustive list of all changes
- refactor: add moonbeam alpha spec, remove algol by @wischli in #1587
- Integration test: Generic runtime and environment by @lemunozm in #1583
- Loans: Moment as Seconds & Millis explicitly by @lemunozm in #1575
- Mock builder: use foss3 dependency by @lemunozm in #1592
- feat: add demo spec by @wischli in #1593
- AssetRegistry: protect asset_registry migration by @lemunozm in #1594
- Integration tests: fudge support for the generic environment by @lemunozm in #1588
- lp: Add
compute_at
toUpdateTrancheTokenPrice
by @NunoAlexandre in #1598 - chore: post v0.10.34 release cleanup by @wischli in #1595
- Currencies: ED consistent between tokens and assets by @lemunozm in #1596
- Loans: Integration tests by @lemunozm in #1600
- fix: typos by @omahs in #1568
- Polkadot v0.9.43 by @NunoAlexandre in #1577
- GHA pipeline rewrite for ease and speed by @gpmayorga in #1551
- LiquidityPools: Add
restriction_set
field toAddTranche
message by @NunoAlexandre in #1610 - feat: add InvestmentPortfolio Runtime API by @wischli in #1608
- CI release bug fixes by @gpmayorga in #1611
- Fix: Transfer debt by @mustermeiszer in #1615
- chore(deps): bump google-github-actions/auth from 1.1.1 to 1.2.0 by @dependabot in #1614
- chore(deps): bump actions/github-script from 6.4.1 to 7.0.1 by @dependabot in #1613
- Runtimes workspace dependencies & cleaning by @lemunozm in #1609
- Fix: Loans adjustments by @lemunozm in #1616
- fix: enable rocksdb for frontier backend by @wischli in #1622
- CI bug fixes - Part II by @gpmayorga in #1619
- CI bug fixes - Part III by @gpmayorga in #1625
- Dockerfile review after CI changes by @gpmayorga in #1624
- Fees API Improvement by @lemunozm in #1623
- chore(deps): bump google-github-actions/auth from 1.2.0 to 2.0.0 by @dependabot in #1631
- Docker: solve polkadot relay folder renaming and other small fixes by @gpmayorga in #1628
- Modify
RuntimeChange
to support easily new additions by @lemunozm in #1637 - feat: cash valuation method by @mustermeiszer in #1638
- fix: docker-compose by @wischli in #1626
- Feat/restricted transfers closure by @mustermeiszer in #1621
- Fix benchmark issue in development by @Lem...
Client v0.10.34: Centrifuge 1023
Centrifuge 1023 - Release Notes Highlights
- Fully enable Liquidity Pools
- Further Loans improvements
Migrations
- Updated currency of pool id
4139607887
fromLpEthUsdc
to the natively issued stablecoin (#1566, #1573) - Register three more LP wrapped USDC variants: Base, Arbitrum, Celo (#1573)
- Allow bidirectional
OrderBook
trading between DOT and all four LP wrapped USDC variants Eth, Base, Arbitrum, Base (#1573) - Set
pallet_evm::AccountCodes
for all precompiles (#1580, #1584)
WASM
Summary generated with srtool v0.9.25 using the docker image paritytech/srtool:1.66.1:
Package : centrifuge-runtime v0.10.23
GIT commit : 160318c7189f6e35814f72768c62de6c866d3476
GIT tag :
GIT branch : main
Rustc : rustc 1.66.1 (90743e729 2023-01-10)
Time : 2023-10-06T17:28:03Z
== Compressed
Version : centrifuge-1023 (centrifuge-1.tx2.au1)
Metadata : V14
Size : 1.69 MB (1775385 bytes)
Compression : 78.7%
setCode : 0xa5b862b749cd2da164dc5c3cbc3d1f2683212e66f5ca72791f1d480ea2abc711
authorizeUpgrade : 0x1b63b035cf702d9c8c8cf0676437a4974602ebc074bf0bfae05782446375aa5a
IPFS : QmQkWnCZ4XdkintcVtMfdHnJVuqyva8h39j75kmR7LugVX
BLAKE2_256 : 0xcd393115b86484068d173d2b582f843e5f7c15f42d4026470316ce9a64d07701
Wasm : runtime/centrifuge/target/srtool/release/wbuild/centrifuge-runtime/centrifuge_runtime.compact.compressed.wasm
Exhaustive list of all changes
- liquidityPools: Clean up orphan storage and events by @NunoAlexandre in #1535
- chore: remove Centrifuge 1020 & Algol 1031 migrations by @wischli in #1534
- fix: ethereum transaction pallet must forward to pallet-ethereum::transact by @mustermeiszer in #1536
- ci: Disable taplo by @NunoAlexandre in #1540
- Fix lp-gateway routers' weight and fee calculations by @NunoAlexandre in #1537
- Fix rate type used in RuntimeAPIs for pools by @lemunozm in #1543
- OrderBook: Use ratio instead of rate by @lemunozm in #1546
- precompile: Remove extra checks by @mustermeiszer in #1538
- routers: Drop LP contract call from Axelar message by @cdamian in #1545
- feat: encode source address correctly in gateway by @mustermeiszer in #1548
- chore: Algol 1033 by @wischli in #1549
- chore: cherry-pick updated algol spec by @wischli in #1552
- feat: foreign investments by @wischli in #1473
- LP Tweaks by @NunoAlexandre in #1557
- feat: support single pallet check benchmark by @wischli in #1560
- Feat/order book add fulfill order partially by @cdamian in #1559
- feat: enable full foreign collect flow via extrinsic by @wischli in #1556
- feat: orderbook bench helper by @wischli in #1558
- Loans: Remove portfolio entry when removing a loan + portfolio UT by @lemunozm in #1561
- centrifuge: Anemoy pool currency migration by @NunoAlexandre in #1566
- Investments: benchmarks by @lemunozm in #1563
- feat: benchmark foreign investments worst case by @wischli in #1565
- ForeignInvestments: Unitary tests & fuzzer by @lemunozm in #1509
- MockBuilder: fix doc link by @lemunozm in #1569
- fix: min fulfillment amount for partial fulfillment by @wischli in #1570
- Investments: simplify constraints and remove InvestmentProperties trait by @lemunozm in #1571
- fix: foreign investments bench by @wischli in #1572
- Loans: transfer_debt implementation by @lemunozm in #1465
- Github codeowners/templates changes by @lemunozm in #1491
- Release v0.10.34 by @wischli in #1573
- Fix/precompile account codes by @mustermeiszer in #1580
- feat: add precompile migration to dev by @wischli in #1581
- fix: remove spec_version check for Centrifuge 1023 migrations by @wischli in #1584
Docker Image: centrifugeio/centrifuge-chain:main-20231006174657-160318c7
Full Changelog: v0.10.31...v0.10.34
Centrifuge 1020 & Altair 1031 for Algol
Centrifuge 0.10.20 - Release Notes Highlights
- Enable Liquidity Pools (#1160, #1211, #1292, #1340, #1341, #1423, #1393, #1364, #1363, #1472, #1469, #1456, #1460, #1493, #1523)
- Upgrade to Polkadot v0.9.38 (#1332)
- Loans V3 (#1412, #1417, #1419, #1428, #1437, #1435, #1445, #1455, #1457, #1471, #1482, #1487, #1501, #1504)
- ChangeGuard protection for
PoolSystem
andLoans
(#1384, #1396, #1412)
Breaking Changes
- Refactor numerous
Rate
(27 decimals) configurations to beRatio
orQuantity
(18 decimals) instead; rule of thumb:Rate
only for interest rates (#1520)
Migrations
- Update
XcmpQueue
storage version from 1 to 2 (#1528) - Bump
DmpQueue
storage version from 2 to 3 (#1528) - Set
PolkadotXcm
safe xcm version to 2 (#1528) - Update metadata locations of assets registered in
OrmlAssetRegistry
from XCMv1/XCMv2 to XCMv3 (#1528) - Pre-emptively nuke storages and update storage versions for
Loans
,PoolSystem
,InterestAccrual
andInvestments
which are all empty on Centrifuge chain (#1492, #1506, #1513)
WASM
✨ Your Substrate WASM Runtime is ready! ✨
Summary generated with srtool v0.9.25 using the docker image paritytech/srtool:1.66.1:
Package : centrifuge-runtime v0.10.20
GIT commit : 56fe24a5b6b190e50b9e60dccc874cae74c94952
GIT tag :
GIT branch : main
Rustc : rustc 1.66.1 (90743e729 2023-01-10)
Time : 2023-09-06T12:02:14Z
== Compressed
Version : centrifuge-1020 (centrifuge-1.tx2.au1)
Metadata : V14
Size : 1.64 MB (1718554 bytes)
Compression : 78.55%
setCode : 0x3c3f2f1d936fb78146b31940e3db2a043ffc7aed3ec769167e3dd3d6f312f71d
authorizeUpgrade : 0xe6eaa644f0848bda103bd8a114e82efbead3435542903c9c61902b5d8f10fde8
IPFS : QmZGTNjD6n2Zp7p5VQvYcbq8sFr5DYHBNNJyjfGeN2U8Mt
BLAKE2_256 : 0x64425703afde7027710529071fa37bada9ede719d71b5b0793dac2a29aa1589d
Wasm : runtime/centrifuge/target/srtool/release/wbuild/centrifuge-runtime/centrifuge_runtime.compact.compressed.wasmd
// snip
Altair
This is a pre-release the Altair runtime for the Algol test network
✨ Your Substrate WASM Runtime is ready! ✨
fatal: No names found, cannot describe anything.
Summary generated with srtool v0.9.25 using the docker image paritytech/srtool:1.66.1:
Package : altair-runtime v0.10.31
GIT commit : 56fe24a5b6b190e50b9e60dccc874cae74c94952
GIT tag :
GIT branch : main
Rustc : rustc 1.66.1 (90743e729 2023-01-10)
Time : 2023-09-06T12:15:18Z
== Compact
Version : altair-1031 (altair-1.tx2.au1)
Metadata : V14
Size : 7.38 MB (7739299 bytes)
setCode : 0x05adb75dd657ef52428a5ddad63293abd78b063152f3073406030e138c6b3270
authorizeUpgrade : 0x1a34c184b49d95e449c106c6b1e8d78920a90f8c3b58b44dbe38de0bd28fd5a4
IPFS : Qme6i2ymf4N2Bq8V8tttebKUTEMswYxxGFwQg27mt4iG7A
BLAKE2_256 : 0xac5496e9281ced5eab575a321575135edc89d128f9b88e0811b7eb4ccb0c7cb9
Wasm : runtime/altair/target/srtool/release/wbuild/altair-runtime/altair_runtime.compact.wasm
== Compressed
Version : altair-1031 (altair-1.tx2.au1)
Metadata : V14
Size : 1.59 MB (1664977 bytes)
Compression : 78.49%
setCode : 0xcac7a00806bb4d2be46276d403844fa81aca29eda227800dcc2999fd322b47f7
authorizeUpgrade : 0x249e10e16c32924db3ae729beefd15777295e877741912b3846c9dfca2043a6f
IPFS : QmQ2Kvxfiu3QmkH4DZGKhfeg8gJm1hRZdaL9z6x3PVJovD
BLAKE2_256 : 0x74cce8eb1bbae322815f3b080112837831a4fc78b6dd8eaef272534162735da6
Wasm : runtime/altair/target/srtool/release/wbuild/altair-runtime/altair_runtime.compact.compressed.wasm
Docker Image: centrifugeio/centrifuge-chain:main-20230906121926-56fe24a5
Full Changelog: v0.10.27...v0.10.31
Altair 1030 for Algol
This is a pre-release the Altair runtime for the Algol test network
✨ Your Substrate WASM Runtime is ready! ✨
Summary generated with srtool v0.9.25 using the docker image paritytech/srtool:1.66.1:
Package : altair-runtime v0.10.30
GIT commit : 24e19b60b8fff3fdf2ac2c798bb8813839c90893
GIT tag :
GIT branch : main
Rustc : rustc 1.66.1 (90743e729 2023-01-10)
Time : 2023-08-23T07:14:35Z
== Compact
Version : altair-1030 (altair-1.tx2.au1)
Metadata : V14
Size : 7.21 MB (7564267 bytes)
setCode : 0x4471b791c460d505f2a3e324b9fbb306927ac26c1c8a7697b6462a96b55d3e02
authorizeUpgrade : 0xa6154c295da2ec8764edcc6042795584cd1473566143af138c73fdb72474a756
IPFS : QmXkjKx8VsUe4MiiSJDzU63fAuq779wmJVpLpVBAwyVpFW
BLAKE2_256 : 0xa15cdd3af53077d16e91a669ebb7797f6d55f72fa0f0240133839ab97908169c
Wasm : runtime/altair/target/srtool/release/wbuild/altair-runtime/altair_runtime.compact.wasm
== Compressed
Version : altair-1030 (altair-1.tx2.au1)
Metadata : V14
Size : 1.55 MB (1624416 bytes)
Compression : 78.53%
setCode : 0x016346674a76d024f969e48ce6e710f0d91f17ea5aaaf8f008af232c5b95127f
authorizeUpgrade : 0x3953d37b8e30c7e8f65e7b099f2024567d190b04dabd2493c50499da62c5e78e
IPFS : QmUueYQBgvaTvccXgFqPgonskJVn65YWTzBUbcKs7ixRxf
BLAKE2_256 : 0xa38cbd9b15c1456908355dfe47983bb715d7a195d6ee5dbfaca2f8ef5a5bb596
Wasm : runtime/altair/target/srtool/release/wbuild/altair-runtime/altair_runtime.compact.compressed.wasm