Note
This release includes changes only in the runtime. Therefore, no updates to the nodes are needed or recommended, and no new binary has been distributed.
What's Changed
- ✍🏻 Fix docs by @JuaniRios in #386
- 🙅🏻♂️ Hide instantiator behind feature flag by @JuaniRios in #389
- 👨🏻💻 Tightly couple linear-release to funding pallet by @JuaniRios in #391
- Unneeded TODO removal by @JuaniRios in #392
- 🚮 Delete funding storage migrations by @JuaniRios in #393
- ✨ Set balance to u128 instead of config type on pallet_funding by @JuaniRios in #394
- ✨ Vesting schedule merge runtime API by @JuaniRios in #395
- ✨ Slashing behavior for pallet vesting by @JuaniRios in #396
- 📒 Add Ledger support by @JuaniRios in #398
- 🩹 Update zombienet config by @lrazovic in #400
- add dwellir bootnode to polimec by @gflow33 in #409
- Add RadiumBlock bootnodes to Polimec by @radiumb in #410
- 1️⃣ One Token Model - New Pallet Proxy Bonding by @JuaniRios in #399
- 🤝 One Token Model - Pallet Funding Integration by @JuaniRios in #401
- 🧪 One Token Model - Pallet Funding Tests by @JuaniRios in #402
- 💸 USDT transaction payments by @JuaniRios in #403
- 🧪 Test USDT transaction payment by @JuaniRios in #404
- ✅ New e2e tests by @JuaniRios in #405
- 💥 Switch to MultiLocation in the SignedExtension by @JuaniRios in #406
- ✅ Fix funding asset ED tests by @JuaniRios in #408
- ♲ Swap our custom to parity's skip-feeless-payment pallet by @JuaniRios in #411
- 🔧 Add missing extrinsics to call filter by @JuaniRios in #412
- ⚰️ Remove Randomness pallet (PLMC-602) by @lrazovic in #413
- ✨ Add Fungibles Runtime API - PLMC-606 by @lrazovic in #415
- 📡 Add XCM Runtime APIs by @JuaniRios in #414
- 🩹 Upgrade Rust and cleanup by @lrazovic in #417
- 📡 New Funding Runtime APIs by @JuaniRios in #416
- 🤓 Blockdeep Review Changes by @JuaniRios in #418
- 🧠 Extract logic for getting the price of an accepted funding asset into a function by @JuaniRios in #419
- 👾 New Funding Runtime API by @JuaniRios in #421
- API tests by @JuaniRios in #422
- 🙅🏻♂️ Add end block check on participations by @JuaniRios in #424
New Contributors
Full Changelog: v0.8.0...v0.9.0
- Generated using
srtool
✨ Your Substrate WASM Runtime is ready! ✨
✨ WASM : runtimes/polimec/target/srtool/production/wbuild/polimec-runtime/polimec_runtime.compact.wasm
✨ Z_WASM: runtimes/polimec/target/srtool/production/wbuild/polimec-runtime/polimec_runtime.compact.compressed.wasm
Summary generated with srtool v0.16.0 using the docker image paritytech/srtool:1.81.0:
Package : polimec-runtime v0.9.0
GIT commit : da151331cc31c1b53209a1609150bf799e4241f5
GIT tag : v0.9.0
GIT branch : release/0.9
Rustc : rustc 1.81.0 (eeb90cda1 2024-09-04)
Time : 2025-01-08T08:27:09Z
== Compact
Version : polimec-mainnet-9000 (polimec-mainnet-0.tx6.au1)
Metadata : V14
Size : 5.85 MB (6131691 bytes)
setCode : 0x53a2dd9a0d4e0346e189968230629d8e6c48b4edf3afd89175a51d3d3e63e657
authorizeUpgrade : 0xb89b00cde5f1c2797c0e3f85da400edf10b5e5c7e552df9aad41f43fd298d2f6
IPFS : QmXGqPCDwG8JxvHYVkGiBDPSpf74r5Mfjq1Wwd4pm7eTPh
BLAKE2_256 : 0x460547c5839b644bf8c8bc27a2051ed3b09ad9ec33295cae092de297f0fbe23b
Wasm : runtimes/polimec/target/srtool/production/wbuild/polimec-runtime/polimec_runtime.compact.wasm
== Compressed
Version : polimec-mainnet-9000 (polimec-mainnet-0.tx6.au1)
Metadata : V14
Size : 1.44 MB (1507603 bytes)
Compression : 75.42%
setCode : 0xfc02882978f642000d6440bcc6020c4d45807f5542f19606fec88d2b9c795201
authorizeUpgrade : 0xa864336ba682ad961d7562128b382031b144ef519776c9bdfd159b37c41eb9bd
IPFS : QmacoGhGazhG61DAX7NsvfB323zRoHFFkaLc1tN7mzYnoY
BLAKE2_256 : 0xaba52c14eee9e342d3e8a7b625bdb135fe361cdd2b4afd425eab487c7ed11e57
Wasm : runtimes/polimec/target/srtool/production/wbuild/polimec-runtime/polimec_runtime.compact.compressed.wasm
- Generated using
subwasm info
🏋️ Runtime size: 1.438 MB (1,507,603 bytes)
🗜 Compressed: Yes, 75.41%
✨ Reserved meta: OK - [6D, 65, 74, 61]
🎁 Metadata version: V14
🔥 Core version: polimec-mainnet-9000 (polimec-mainnet-0.tx6.au1)
🗳️ system.setCode hash: 0xfc02882978f642000d6440bcc6020c4d45807f5542f19606fec88d2b9c795201
🗳️ authorizeUpgrade hash: 0xa864336ba682ad961d7562128b382031b144ef519776c9bdfd159b37c41eb9bd
🗳️ Blake2-256 hash: 0xaba52c14eee9e342d3e8a7b625bdb135fe361cdd2b4afd425eab487c7ed11e57
📦 IPFS: https://www.ipfs.io/ipfs/QmacoGhGazhG61DAX7NsvfB323zRoHFFkaLc1tN7mzYnoY
- Generated using
subwasm diff
[≠] pallet 0: System -> 1 change(s)
- constants changes:
[≠] Version: [ 60, 112, 111, 108, 105, 109, 101, 99, 45, 109, 97, 105, 110, 110, 101, 116, 60, 112, 111, 108, 105, 109, 101, 99, 45, 109, 97, 105, 110, 110, 101, 116, ... ]
[Value([Changed(36, U8Change(64, 40)), Changed(37, U8Change(31, 35)), Changed(44, U8Change(68, 80)), Changed(45, U8Change(221, 222)), Changed(46, U8Change(113, 146)), Changed(47, U8Change(141, 184)), Changed(48, U8Change(92, 160)), Changed(49, U8Change(197, 66)), Changed(50, U8Change(50, 107)), Changed(51, U8Change(98, 155)), Changed(52, U8Change(212, 246)), Changed(53, U8Change(1, 2)), Changed(57, U8Change(215, 221)), Changed(58, U8Change(189, 113)), Changed(59, U8Change(216, 141)), Changed(60, U8Change(162, 92)), Changed(61, U8Change(114, 197)), Changed(62, U8Change(202, 50)), Changed(63, U8Change(13, 98)), Changed(64, U8Change(101, 212)), Changed(69, U8Change(223, 215)), Changed(70, U8Change(106, 189)), Changed(71, U8Change(203, 216)), Changed(72, U8Change(104, 162)), Changed(73, U8Change(153, 114)), Changed(74, U8Change(7, 202)), Changed(75, U8Change(96, 13)), Changed(76, U8Change(155, 101)), Changed(77, U8Change(5, 1)), Changed(81, U8Change(55, 223)), Changed(82, U8Change(227, 106)), Changed(83, U8Change(151, 203)), Changed(84, U8Change(252, 104)), Changed(85, U8Change(124, 153)), Changed(86, U8Change(145, 7)), Changed(87, U8Change(245, 96)), Changed(88, U8Change(228, 155)), Changed(89, U8Change(2, 5)), Changed(93, U8Change(64, 55)), Changed(94, U8Change(254, 227)), Changed(95, U8Change(58, 151)), Changed(96, U8Change(212, 252)), Changed(97, U8Change(1, 124)), Changed(98, U8Change(248, 145)), Changed(99, U8Change(149, 245)), Changed(100, U8Change(154, 228)), Changed(101, U8Change(6, 2)), Changed(105, U8Change(210, 64)), Changed(106, U8Change(188, 254)), Changed(107, U8Change(152, 58)), Changed(108, U8Change(151, 212)), Changed(109, U8Change(238, 1)), Changed(110, U8Change(208, 248)), Changed(111, U8Change(143, 149)), Changed(112, U8Change(21, 154)), Changed(113, U8Change(3, 6)), Changed(117, U8Change(247, 210)), Changed(118, U8Change(139, 188)), Changed(119, U8Change(39, 152)), Changed(120, U8Change(139, 151)), Changed(121, U8Change(229, 238)), Changed(122, U8Change(63, 208)), Changed(123, U8Change(69, 143)), Changed(124, U8Change(76, 21)), Changed(125, U8Change(2, 3)), Changed(129, U8Change(171, 247)), Changed(130, U8Change(60, 139)), Changed(131, U8Change(5, 39)), Changed(132, U8Change(114, 139)), Changed(133, U8Change(41, 229)), Changed(134, U8Change(31, 63)), Changed(135, U8Change(235, 69)), Changed(136, U8Change(139, 76)), Changed(137, U8Change(1, 2)), Changed(141, U8Change(188, 171)), Changed(142, U8Change(157, 60)), Changed(143, U8Change(137, 5)), Changed(144, U8Change(144, 114)), Changed(145, U8Change(79, 41)), Changed(146, U8Change(91, 31)), Changed(147, U8Change(146, 235)), Changed(148, U8Change(63, 139)), Changed(153, U8Change(55, 188)), Changed(154, U8Change(200, 157)), Changed(155, U8Change(187, 137)), Changed(156, U8Change(19, 144)), Changed(157, U8Change(80, 79)), Changed(158, U8Change(169, 91)), Changed(159, U8Change(162, 146)), Changed(160, U8Change(168, 63)), Changed(161, U8Change(4, 1)), Changed(165, U8Change(243, 55)), Changed(166, U8Change(255, 200)), Changed(167, U8Change(20, 187)), Changed(168, U8Change(213, 19)), Changed(169, U8Change(171, 80)), Changed(170, U8Change(82, 169)), Changed(171, U8Change(112, 162)), Changed(172, U8Change(89, 168)), Changed(173, U8Change(3, 4)), Changed(177, U8Change(234, 243)), Changed(178, U8Change(147, 255)), Changed(179, U8Change(227, 20)), Changed(180, U8Change(241, 213)), Changed(181, U8Change(111, 171)), Changed(182, U8Change(61, 82)), Changed(183, U8Change(105, 112)), Changed(184, U8Change(98, 89)), Changed(185, U8Change(2, 3)), Changed(189, U8Change(217, 234)), Changed(190, U8Change(101, 147)), Changed(191, U8Change(16, 227)), Changed(192, U8Change(39, 241)), Changed(193, U8Change(209, 111)), Changed(194, U8Change(133, 61)), Changed(195, U8Change(146, 105)), Changed(196, U8Change(52, 98)), Changed(197, U8Change(1, 2)), Changed(201, U8Change(99, 217)), Changed(202, U8Change(137, 101)), Changed(203, U8Change(71, 16)), Changed(204, U8Change(238, 39)), Changed(205, U8Change(183, 209)), Changed(206, U8Change(168, 133)), Changed(207, U8Change(251, 146)), Changed(208, U8Change(223, 52)), Changed(213, U8Change(74, 99)), Changed(214, U8Change(49, 137)), Changed(215, U8Change(12, 71)), Changed(216, U8Change(237, 238)), Changed(217, U8Change(116, 183)), Changed(218, U8Change(92, 168)), Changed(219, U8Change(130, 251)), Changed(220, U8Change(18, 223)), Changed(225, U8Change(64, 74)), Changed(226, U8Change(98, 49)), Changed(227, U8Change(235, 12)), Changed(228, U8Change(97, 237)), Changed(229, U8Change(215, 116)), Changed(230, U8Change(193, 92)), Changed(231, U8Change(244, 130)), Changed(232, U8Change(156, 18)), Changed(237, U8Change(251, 64)), Changed(238, U8Change(197, 98)), Changed(239, U8Change(119, 235)), Changed(240, U8Change(185, 97)), Changed(242, U8Change(71, 193)), Changed(243, U8Change(239, 244)), Changed(244, U8Change(214, 156)), Changed(245, U8Change(1, 3)), Changed(249, U8Change(5, 251)), Changed(250, U8Change(0, 197)), Changed(251, U8Change(0, 119)), Changed(252, U8Change(0, 185)), Changed(253, U8Change(1, 215)), Added(254, 71), Added(255, 239), Added(256, 214), Added(257, 1), Added(258, 0), Added(259, 0), Added(260, 0), Added(261, 111), Added(262, 245), Added(263, 46), Added(264, 232), Added(265, 88), Added(266, 230), Added(267, 197), Added(268, 189), Added(269, 1), Added(270, 0), Added(271, 0), Added(272, 0), Added(273, 145), Added(274, 177), Added(275, 200), Added(276, 177), Added(277, 99), Added(278, 40), Added(279, 235), Added(280, 146), Added(281, 1), Added(282, 0), Added(283, 0), Added(284, 0), Added(285, 6), Added(286, 0), Added(287, 0), Added(288, 0), Added(289, 1)])]
[+] id: 9 - new pallet: SkipFeelessPayment
[+] id: 16 - new pallet: AssetTransactionPayment
[≠] pallet 80: Funding -> 18 change(s)
- calls changes:
[≠] 4: evaluate ( jwt: UntrustedToken, project_id: ProjectId, usd_amount: BalanceOf<T>, ) )
[Signature(SignatureChange { args: [Changed(2, [Ty(StringChange("BalanceOf<T>", "Balance"))])] })]
[≠] 7: bid ( jwt: UntrustedToken, project_id: ProjectId, ct_amount: BalanceOf<T>, multiplier: T::Multiplier, funding_asset: AcceptedFundingAsset, ) )
[Signature(SignatureChange { args: [Changed(2, [Ty(StringChange("BalanceOf<T>", "Balance"))]), Changed(3, [Name(StringChange("multiplier", "mode")), Ty(StringChange("T::Multiplier", "ParticipationMode"))])] })]
[≠] 9: contribute ( jwt: UntrustedToken, project_id: ProjectId, ct_amount: BalanceOf<T>, multiplier: MultiplierOf<T>, funding_asset: AcceptedFundingAsset, ) )
[Signature(SignatureChange { args: [Changed(2, [Ty(StringChange("BalanceOf<T>", "Balance"))]), Changed(3, [Name(StringChange("multiplier", "mode")), Ty(StringChange("MultiplierOf<T>", "ParticipationMode"))])] })]
- events changes:
[≠] 4: Evaluation ( project_id: ProjectId, evaluator: AccountIdOf<T>, id: u32, plmc_amount: BalanceOf<T>, ) )
[Signature(SignatureChange { args: [Changed(3, [Ty(StringChange("BalanceOf<T>", "Balance"))])] })]
[≠] 5: Bid ( project_id: ProjectId, bidder: AccountIdOf<T>, id: u32, ct_amount: BalanceOf<T>, ct_price: T::Price, funding_asset: AcceptedFundingAsset, funding_amount: BalanceOf<T>, plmc_bond: BalanceOf<T>, multiplier: MultiplierOf<T>, ) )
[Signature(SignatureChange { args: [Changed(3, [Ty(StringChange("BalanceOf<T>", "Balance"))]), Changed(6, [Ty(StringChange("BalanceOf<T>", "Balance"))]), Changed(7, [Ty(StringChange("BalanceOf<T>", "Balance"))]), Changed(8, [Name(StringChange("multiplier", "mode")), Ty(StringChange("MultiplierOf<T>", "ParticipationMode"))])] })]
[≠] 6: Contribution ( project_id: ProjectId, contributor: AccountIdOf<T>, id: u32, ct_amount: BalanceOf<T>, funding_asset: AcceptedFundingAsset, funding_amount: BalanceOf<T>, plmc_bond: BalanceOf<T>, multiplier: MultiplierOf<T>, ) )
[Signature(SignatureChange { args: [Changed(3, [Ty(StringChange("BalanceOf<T>", "Balance"))]), Changed(5, [Ty(StringChange("BalanceOf<T>", "Balance"))]), Changed(6, [Ty(StringChange("BalanceOf<T>", "Balance"))]), Changed(7, [Name(StringChange("multiplier", "mode")), Ty(StringChange("MultiplierOf<T>", "ParticipationMode"))])] })]
[≠] 7: BidRefunded ( project_id: ProjectId, account: AccountIdOf<T>, bid_id: u32, plmc_amount: BalanceOf<T>, funding_asset: AcceptedFundingAsset, funding_amount: BalanceOf<T>, ) )
[Name(StringChange("BidRefunded", "EvaluationSettled")), Signature(SignatureChange { args: [Changed(2, [Name(StringChange("bid_id", "id"))]), Changed(3, [Name(StringChange("plmc_amount", "ct_rewarded")), Ty(StringChange("BalanceOf<T>", "Balance"))]), Changed(4, [Name(StringChange("funding_asset", "plmc_released")), Ty(StringChange("AcceptedFundingAsset", "Balance"))]), Removed(5, ArgDesc { name: "funding_amount", ty: "BalanceOf<T>" })] })]
[≠] 8: EvaluationSettled ( project_id: ProjectId, account: AccountIdOf<T>, id: u32, ct_rewarded: BalanceOf<T>, plmc_released: BalanceOf<T>, ) )
[Name(StringChange("EvaluationSettled", "BidSettled")), Signature(SignatureChange { args: [Changed(3, [Name(StringChange("ct_rewarded", "final_ct_amount")), Ty(StringChange("BalanceOf<T>", "Balance"))]), Changed(4, [Name(StringChange("plmc_released", "final_ct_usd_price")), Ty(StringChange("BalanceOf<T>", "PriceOf<T>"))])] })]
[≠] 9: BidSettled ( project_id: ProjectId, account: AccountIdOf<T>, id: u32, final_ct_amount: BalanceOf<T>, final_ct_usd_price: PriceOf<T>, ) )
[Name(StringChange("BidSettled", "ContributionSettled")), Signature(SignatureChange { args: [Changed(3, [Name(StringChange("final_ct_amount", "ct_amount")), Ty(StringChange("BalanceOf<T>", "Balance"))]), Removed(4, ArgDesc { name: "final_ct_usd_price", ty: "PriceOf<T>" })] })]
[≠] 10: ContributionSettled ( project_id: ProjectId, account: AccountIdOf<T>, id: u32, ct_amount: BalanceOf<T>, ) )
[Name(StringChange("ContributionSettled", "PalletMigrationStarted")), Signature(SignatureChange { args: [Changed(1, [Name(StringChange("account", "para_id")), Ty(StringChange("AccountIdOf<T>", "ParaId"))]), Removed(2, ArgDesc { name: "id", ty: "u32" }), Removed(3, ArgDesc { name: "ct_amount", ty: "BalanceOf<T>" })] })]
[≠] 11: PalletMigrationStarted ( project_id: ProjectId, para_id: ParaId, ) )
[Name(StringChange("PalletMigrationStarted", "HrmpChannelAccepted"))]
[≠] 12: HrmpChannelAccepted ( project_id: ProjectId, para_id: ParaId, ) )
[Name(StringChange("HrmpChannelAccepted", "HrmpChannelEstablished"))]
[≠] 13: HrmpChannelEstablished ( project_id: ProjectId, para_id: ParaId, ) )
[Name(StringChange("HrmpChannelEstablished", "MigrationReadinessCheckStarted")), Signature(SignatureChange { args: [Changed(1, [Name(StringChange("para_id", "caller")), Ty(StringChange("ParaId", "T::AccountId"))])] })]
[≠] 14: MigrationReadinessCheckStarted ( project_id: ProjectId, caller: T::AccountId, ) )
[Name(StringChange("MigrationReadinessCheckStarted", "MigrationCheckResponseAccepted")), Signature(SignatureChange { args: [Changed(1, [Name(StringChange("caller", "query_id")), Ty(StringChange("T::AccountId", "QueryId"))]), Added(2, ArgDesc { name: "response", ty: "Response" })] })]
[≠] 15: MigrationCheckResponseAccepted ( project_id: ProjectId, query_id: QueryId, response: Response, ) )
[Name(StringChange("MigrationCheckResponseAccepted", "MigrationCheckResponseRejected"))]
[≠] 16: MigrationCheckResponseRejected ( project_id: ProjectId, query_id: QueryId, response: Response, ) )
[Name(StringChange("MigrationCheckResponseRejected", "MigrationStatusUpdated")), Signature(SignatureChange { args: [Changed(1, [Name(StringChange("query_id", "account")), Ty(StringChange("QueryId", "AccountIdOf<T>"))]), Changed(2, [Name(StringChange("response", "status")), Ty(StringChange("Response", "MigrationStatus"))])] })]
[≠] 17: MigrationStatusUpdated ( project_id: ProjectId, account: AccountIdOf<T>, status: MigrationStatus, ) )
[Name(StringChange("MigrationStatusUpdated", "CTMigrationFinished")), Signature(SignatureChange { args: [Removed(1, ArgDesc { name: "account", ty: "AccountIdOf<T>" }), Removed(2, ArgDesc { name: "status", ty: "MigrationStatus" })] })]
[-] "CTMigrationFinished"
[+] id: 82 - new pallet: ProxyBonding
[-] pallet 50: Random
SUMMARY:
- Compatible.......................: false
- Require transaction_version bump.: false