Polimec 0.6.0
Few notes for Node Operators
-
Starting from this release, the release binary will be built using the new
production
profile, enhancing speed and optimizing memory usage. We've also renamed the default binary frompolimec-parachain-node
topolimec-node
. -
If you're compiling the node yourself, you can compile the node using the command
cargo b --profile production -p polimec-node
. You'll find the binary intarget/production/polimec-node
. -
This release also simplifies configuration by including the production chainspec directly in the binary, enabling you to start the node with the
--chain polimec
flag instead of using a raw chainspec. You can now start a Polimec RPC node by simply running:
./polimec-node \
--name="RPC 1" \
--chain polimec \
--pruning archive \
--database=paritydb \
--rpc-methods=safe \
--rpc-cors=all \
--rpc-max-connections=10000 \
-- \
--database=paritydb \
--sync=warp
- Additionally, the
polimec-node-experimental
binary is attached, compiled with theasync-backing
feature. Please note, this version is experimental and should not be used in production settings.
What's Changed
- Feature/plmc 472 remove ct deposit fix bug with hold and reserve by @vstam1 in #201
- Feat/plmc 458 community round gatekeep based on did winning bid not account by @JuaniRios in #196
- feature/plmc-408-prevent-spam-on-project-creation by @JuaniRios in #198
- Feature/plmc 138 rename runtimes by @JuaniRios in #194
- Feature/plmc 460 upgrade to sdk 16 by @vstam1 in #181
- chore: first round of cleaning by @lrazovic in #204
- feature/plmc-468-limit-multipliers-based-on-credential-type by @JuaniRios in #199
- feature/plmc-470-add-credential-to-decide_project_outcome by @JuaniRios in #205
- remove dupl test by @JuaniRios in #211
- Feature/plmc 474 add extrinsic to remove project before evaluation started by @JuaniRios in #208
- Feature/plmc 466 research if storage layers dont get dropped when calling by @JuaniRios in #214
- Feature/plmc 473 change edit metadata extrinsic to edit the whole metadata by @JuaniRios in #207
- feature/plmc-480-rename-create-extrinsic-to-create_project by @JuaniRios in #215
- feature/plmc-486-change-is_funded-to-use-usd-amounts-of-evaluations-instead by @JuaniRios in #216
- Feat/refactor politest by @lrazovic in #212
- add plmc price to oracle by @vstam1 in #219
- fix live node storage by @vstam1 in #220
- Feature/settlement rewrite by @vstam1 in #202
- Feat/millis timestamp by @lrazovic in #217
- feature/plmc-483-write-missing-unit-tests-on-pallet-funding-based-on-the by @JuaniRios in #218
- Feature/plmc 163 events refactor + extra by @vstam1 in #221
- Politest Upgrade 0.6.3 by @JuaniRios in #223
- Feature: Dispenser Pallet by @vstam1 in #226
- chore: add missing pallets in define_benchmarks! by @lrazovic in #227
- Feature/plmc 512 comprehensive auction round tests by @JuaniRios in #224
- Fix/Identity benchmarks by @JuaniRios in #231
- Fix/assets benchmarks by @JuaniRios in #232
Full Changelog: v0.5.7...v0.6.0
This runtime was built with rustc 1.75.0 (82e1608df 2023-12-21) using a forked srtool v0.14.0 due to a known bug in the original version
- Generated using
srtool
== Compressed
Version : polimec-mainnet-6000 (polimec-mainnet-0.tx2.au1)
Metadata : V14
Size : 1.09 MB (1140751 bytes)
Compression : 74.84%
setCode : 0x3d81fe158c932b49b576a05f6798fb25d22cc09f35d5afaa143db1b2530e76a4
authorizeUpgrade : 0x9d07823f57feef4f248936522324ef3eafe9fd256c75dab3142baf2966f14e4c
IPFS : QmSVmgauc9QMGMKQBgpWcm4e7VHo2R7NJHSufX76dft5Yf
BLAKE2_256 : 0x31e2cf61cadfa5f1bf876928eb241ae6c0462f27a5b461cb94fe14c2a5a1058d
Wasm : runtimes/polimec/target/srtool/production/wbuild/polimec-runtime/polimec_runtime.compact.compressed.wasm
- Generated using
subwasm info
🏋️ Runtime size: 1.088 MB (1,140,751 bytes)
🗜 Compressed: Yes, 74.84%
✨ Reserved meta: OK - [6D, 65, 74, 61]
🎁 Metadata version: V14
🔥 Core version: polimec-mainnet-6000 (polimec-mainnet-0.tx2.au1)
🗳️ system.setCode hash: 0x3d81fe158c932b49b576a05f6798fb25d22cc09f35d5afaa143db1b2530e76a4
🗳️ authorizeUpgrade hash: 0x9d07823f57feef4f248936522324ef3eafe9fd256c75dab3142baf2966f14e4c
🗳️ Blake2-256 hash: 0x31e2cf61cadfa5f1bf876928eb241ae6c0462f27a5b461cb94fe14c2a5a1058d
📦 IPFS: https://www.ipfs.io/ipfs/QmSVmgauc9QMGMKQBgpWcm4e7VHo2R7NJHSufX76dft5Yf
- Generated using
subwasm diff
[≠] pallet 0: System -> 8 change(s)
- calls changes:
[+] CallDesc { index: 9, name: "authorize_upgrade", signature: SignatureDesc { args: [ArgDesc { name: "code_hash", ty: "T::Hash" }] } }
[+] CallDesc { index: 10, name: "authorize_upgrade_without_checks", signature: SignatureDesc { args: [ArgDesc { name: "code_hash", ty: "T::Hash" }] } }
[+] CallDesc { index: 11, name: "apply_authorized_upgrade", signature: SignatureDesc { args: [ArgDesc { name: "code", ty: "Vec<u8>" }] } }
- events changes:
[+] EventDesc { index: 6, name: "UpgradeAuthorized", signature: SignatureDesc { args: [ArgDesc { name: "code_hash", ty: "T::Hash" }, ArgDesc { name: "check_version", ty: "bool" }] } }
- errors changes:
[+] ErrorDesc { index: 6, name: "NothingAuthorized" }
[+] ErrorDesc { index: 7, name: "Unauthorized" }
- 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(143, 112)), Changed(37, U8Change(19, 23)), Changed(44, U8Change(44, 48)), Changed(177, U8Change(1, 251)), Changed(178, U8Change(0, 197)), Changed(179, U8Change(0, 119)), Changed(180, U8Change(0, 185)), Changed(181, U8Change(1, 215)), Added(182, 71), Added(183, 239), Added(184, 214), Added(185, 1), Added(186, 0), Added(187, 0), Added(188, 0), Added(189, 2), Added(190, 0), Added(191, 0), Added(192, 0), Added(193, 1)])]
- storages changes:
[+] StorageDesc { name: "AuthorizedUpgrade", modifier: "Optional", default_value: [0] }
[≠] pallet 1: ParachainSystem -> 9 change(s)
- events changes:
[≠] 3: UpgradeAuthorized ( code_hash: T::Hash, ) )
[Name(StringChange("UpgradeAuthorized", "DownwardMessagesReceived")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("code_hash", "count")), Ty(StringChange("T::Hash", "u32"))])] })]
[≠] 4: DownwardMessagesReceived ( count: u32, ) )
[Name(StringChange("DownwardMessagesReceived", "DownwardMessagesProcessed")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("count", "weight_used")), Ty(StringChange("u32", "Weight"))]), Added(1, ArgDesc { name: "dmq_head", ty: "relay_chain::Hash" })] })]
[≠] 5: DownwardMessagesProcessed ( weight_used: Weight, dmq_head: relay_chain::Hash, ) )
[Name(StringChange("DownwardMessagesProcessed", "UpwardMessageSent")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("weight_used", "message_hash")), Ty(StringChange("Weight", "Option<XcmHash>"))]), Removed(1, ArgDesc { name: "dmq_head", ty: "relay_chain::Hash" })] })]
[-] "UpwardMessageSent"
- storages changes:
[+] StorageDesc { name: "AggregatedUnincludedSegment", modifier: "Optional", default_value: [0] }
[+] StorageDesc { name: "UnincludedSegment", modifier: "Default", default_value: [0] }
[+] StorageDesc { name: "UpgradeGoAhead", modifier: "Default", default_value: [0] }
[+] StorageDesc { name: "UpwardDeliveryFeeFactor", modifier: "Default", default_value: [0, 0, 100, 167, 179, 182, 224, 13, 0, 0, 0, 0, 0, 0, 0, 0] }
[-] "AuthorizedUpgrade"
[≠] pallet 8: Identity -> 40 change(s)
- calls changes:
[≠] 1: set_identity ( info: Box<IdentityInfo<T::MaxAdditionalFields>>, ) )
[Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("Box<IdentityInfo<T::MaxAdditionalFields>>", "Box<T::IdentityInformation>"))])] })]
[≠] 8: set_fields ( index: RegistrarIndex, fields: IdentityFields, ) )
[Signature(SignatureChange { args: [Changed(1, [Ty(StringChange("IdentityFields", "<T::IdentityInformation as IdentityInformationProvider>::\nFieldsIdentifier"))])] })]
[+] CallDesc { index: 15, name: "add_username_authority", signature: SignatureDesc { args: [ArgDesc { name: "authority", ty: "AccountIdLookupOf<T>" }, ArgDesc { name: "suffix", ty: "Vec<u8>" }, ArgDesc { name: "allocation", ty: "u32" }] } }
[+] CallDesc { index: 16, name: "remove_username_authority", signature: SignatureDesc { args: [ArgDesc { name: "authority", ty: "AccountIdLookupOf<T>" }] } }
[+] CallDesc { index: 17, name: "set_username_for", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "AccountIdLookupOf<T>" }, ArgDesc { name: "username", ty: "Vec<u8>" }, ArgDesc { name: "signature", ty: "Option<T::OffchainSignature>" }] } }
[+] CallDesc { index: 18, name: "accept_username", signature: SignatureDesc { args: [ArgDesc { name: "username", ty: "Username<T>" }] } }
[+] CallDesc { index: 19, name: "remove_expired_approval", signature: SignatureDesc { args: [ArgDesc { name: "username", ty: "Username<T>" }] } }
[+] CallDesc { index: 20, name: "set_primary_username", signature: SignatureDesc { args: [ArgDesc { name: "username", ty: "Username<T>" }] } }
[+] CallDesc { index: 21, name: "remove_dangling_username", signature: SignatureDesc { args: [ArgDesc { name: "username", ty: "Username<T>" }] } }
- events changes:
[+] EventDesc { index: 10, name: "AuthorityAdded", signature: SignatureDesc { args: [ArgDesc { name: "authority", ty: "T::AccountId" }] } }
[+] EventDesc { index: 11, name: "AuthorityRemoved", signature: SignatureDesc { args: [ArgDesc { name: "authority", ty: "T::AccountId" }] } }
[+] EventDesc { index: 12, name: "UsernameSet", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "username", ty: "Username<T>" }] } }
[+] EventDesc { index: 13, name: "UsernameQueued", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "username", ty: "Username<T>" }, ArgDesc { name: "expiration", ty: "BlockNumberFor<T>" }] } }
[+] EventDesc { index: 14, name: "PreapprovalExpired", signature: SignatureDesc { args: [ArgDesc { name: "whose", ty: "T::AccountId" }] } }
[+] EventDesc { index: 15, name: "PrimaryUsernameSet", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "username", ty: "Username<T>" }] } }
[+] EventDesc { index: 16, name: "DanglingUsernameRemoved", signature: SignatureDesc { args: [ArgDesc { name: "who", ty: "T::AccountId" }, ArgDesc { name: "username", ty: "Username<T>" }] } }
- errors changes:
[≠] 11: TooManyFields
[Name(StringChange("TooManyFields", "TooManyRegistrars"))]
[≠] 12: TooManyRegistrars
[Name(StringChange("TooManyRegistrars", "AlreadyClaimed"))]
[≠] 13: AlreadyClaimed
[Name(StringChange("AlreadyClaimed", "NotSub"))]
[≠] 14: NotSub
[Name(StringChange("NotSub", "NotOwned"))]
[≠] 15: NotOwned
[Name(StringChange("NotOwned", "JudgementForDifferentIdentity"))]
[≠] 16: JudgementForDifferentIdentity
[Name(StringChange("JudgementForDifferentIdentity", "JudgementPaymentFailed"))]
[≠] 17: JudgementPaymentFailed
[Name(StringChange("JudgementPaymentFailed", "InvalidSuffix"))]
[+] ErrorDesc { index: 18, name: "NotUsernameAuthority" }
[+] ErrorDesc { index: 19, name: "NoAllocation" }
[+] ErrorDesc { index: 20, name: "InvalidSignature" }
[+] ErrorDesc { index: 21, name: "RequiresSignature" }
[+] ErrorDesc { index: 22, name: "InvalidUsername" }
[+] ErrorDesc { index: 23, name: "UsernameTaken" }
[+] ErrorDesc { index: 24, name: "NoUsername" }
[+] ErrorDesc { index: 25, name: "NotExpired" }
- constants changes:
[+] ConstantDesc { name: "ByteDeposit", value: [16, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }
[+] ConstantDesc { name: "MaxSuffixLength", value: [0, 0, 0, 0] }
[+] ConstantDesc { name: "MaxUsernameLength", value: [0, 0, 0, 0] }
[+] ConstantDesc { name: "PendingUsernameExpiration", value: [0, 0, 0, 0] }
[-] "FieldDeposit"
[-] "MaxAdditionalFields"
- storages changes:
[+] StorageDesc { name: "AccountOfUsername", modifier: "Optional", default_value: [0] }
[+] StorageDesc { name: "PendingUsernames", modifier: "Optional", default_value: [0] }
[+] StorageDesc { name: "UsernameAuthorities", modifier: "Optional", default_value: [0] }
[≠] pallet 10: Balances -> 2 change(s)
- calls changes:
[-] "set_balance_deprecated"
[-] "transfer"
[≠] pallet 12: Vesting -> 1 change(s)
- calls changes:
[+] CallDesc { index: 5, name: "force_remove_vesting_schedule", signature: SignatureDesc { args: [ArgDesc { name: "target", ty: "<T::Lookup as StaticLookup>::Source" }, ArgDesc { name: "schedule_index", ty: "u32" }] } }
[≠] pallet 24: AuraExt -> 1 change(s)
- storages changes:
[+] StorageDesc { name: "SlotInfo", modifier: "Optional", default_value: [0] }
[≠] pallet 30: XcmpQueue -> 25 change(s)
- calls changes:
[-] "service_overweight"
[-] "update_threshold_weight"
[-] "update_weight_restrict_decay"
[-] "update_xcmp_max_individual_weight"
- events changes:
[≠] 0: Success ( message_hash: XcmHash, message_id: XcmHash, weight: Weight, ) )
[Name(StringChange("Success", "XcmpMessageSent")), Signature(SignatureChange { args: [Removed(1, ArgDesc { name: "message_id", ty: "XcmHash" }), Removed(2, ArgDesc { name: "weight", ty: "Weight" })] })]
[-] "Fail"
[-] "BadVersion"
[-] "BadFormat"
[-] "XcmpMessageSent"
[-] "OverweightEnqueued"
[-] "OverweightServiced"
- errors changes:
[≠] 0: FailedToSend
[Name(StringChange("FailedToSend", "BadQueueConfig"))]
[≠] 1: BadXcmOrigin
[Name(StringChange("BadXcmOrigin", "AlreadySuspended"))]
[≠] 2: BadXcm
[Name(StringChange("BadXcm", "AlreadyResumed"))]
[-] "BadOverweightIndex"
[-] "WeightOverLimit"
- constants changes:
[+] ConstantDesc { name: "MaxInboundSuspended", value: [232, 3, 0, 0] }
- storages changes:
[+] StorageDesc { name: "DeliveryFeeFactor", modifier: "Default", default_value: [0, 0, 100, 167, 179, 182, 224, 13, 0, 0, 0, 0, 0, 0, 0, 0] }
[+] StorageDesc { name: "InboundXcmpSuspended", modifier: "Default", default_value: [0] }
[≠] Default QueueConfig: [2, 0, 0, 0, 5, 0, 0, 0, 1, 0, 0, 0, 130, 26, 6, 0, 0, 8, 0, 7, 0, 200, 23, 168, 4, 2, 0, 4, 0]
[DefaultValue([Changed(0, U8Change(2, 32)), Changed(4, U8Change(5, 48)), Changed(8, U8Change(1, 8)), Removed(12, 130), Removed(13, 26), Removed(14, 6), Removed(15, 0), Removed(16, 0), Removed(17, 8), Removed(18, 0), Removed(19, 7), Removed(20, 0), Removed(21, 200), Removed(22, 23), Removed(23, 168), Removed(24, 4), Removed(25, 2), Removed(26, 0), Removed(27, 4), Removed(28, 0)])]
[-] "CounterForOverweight"
[-] "InboundXcmpMessages"
[-] "InboundXcmpStatus"
[-] "Overweight"
[-] "OverweightCount"
[≠] pallet 31: PolkadotXcm -> 8 change(s)
- calls changes:
[≠] 3: execute ( message: Box<VersionedXcm<<T as SysConfig>::RuntimeCall>>, max_weight: Weight, ) )
[Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("Box<VersionedXcm<<T as SysConfig>::RuntimeCall>>", "Box<VersionedXcm<<T as Config>::RuntimeCall>>"))])] })]
[+] CallDesc { index: 11, name: "transfer_assets", signature: SignatureDesc { args: [ArgDesc { name: "dest", ty: "Box<VersionedMultiLocation>" }, ArgDesc { name: "beneficiary", ty: "Box<VersionedMultiLocation>" }, ArgDesc { name: "assets", ty: "Box<VersionedMultiAssets>" }, ArgDesc { name: "fee_asset_item", ty: "u32" }, ArgDesc { name: "weight_limit", ty: "WeightLimit" }] } }
- errors changes:
[≠] 13: InvalidAsset
[Name(StringChange("InvalidAsset", "CannotCheckOutTeleport"))]
[+] ErrorDesc { index: 20, name: "InvalidAssetNotConcrete" }
[+] ErrorDesc { index: 21, name: "InvalidAssetUnknownReserve" }
[+] ErrorDesc { index: 22, name: "InvalidAssetUnsupportedReserve" }
[+] ErrorDesc { index: 23, name: "TooManyReserves" }
[+] ErrorDesc { index: 24, name: "LocalExecutionIncomplete" }
[≠] pallet 33: DmpQueue -> 20 change(s)
- calls changes:
[-] "service_overweight"
- events changes:
[≠] 0: InvalidFormat ( message_hash: XcmHash, ) )
[Name(StringChange("InvalidFormat", "StartedExport")), Signature(SignatureChange { args: [Removed(0, ArgDesc { name: "message_hash", ty: "XcmHash" })] })]
[≠] 1: UnsupportedVersion ( message_hash: XcmHash, ) )
[Name(StringChange("UnsupportedVersion", "Exported")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("message_hash", "page")), Ty(StringChange("XcmHash", "PageCounter"))])] })]
[≠] 2: ExecutedDownward ( message_hash: XcmHash, message_id: XcmHash, outcome: Outcome, ) )
[Name(StringChange("ExecutedDownward", "ExportFailed")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("message_hash", "page")), Ty(StringChange("XcmHash", "PageCounter"))]), Removed(1, ArgDesc { name: "message_id", ty: "XcmHash" }), Removed(2, ArgDesc { name: "outcome", ty: "Outcome" })] })]
[≠] 3: WeightExhausted ( message_hash: XcmHash, message_id: XcmHash, remaining_weight: Weight, required_weight: Weight, ) )
[Name(StringChange("WeightExhausted", "CompletedExport")), Signature(SignatureChange { args: [Removed(0, ArgDesc { name: "message_hash", ty: "XcmHash" }), Removed(1, ArgDesc { name: "message_id", ty: "XcmHash" }), Removed(2, ArgDesc { name: "remaining_weight", ty: "Weight" }), Removed(3, ArgDesc { name: "required_weight", ty: "Weight" })] })]
[≠] 4: OverweightEnqueued ( message_hash: XcmHash, message_id: XcmHash, overweight_index: OverweightIndex, required_weight: Weight, ) )
[Name(StringChange("OverweightEnqueued", "StartedOverweightExport")), Signature(SignatureChange { args: [Removed(0, ArgDesc { name: "message_hash", ty: "XcmHash" }), Removed(1, ArgDesc { name: "message_id", ty: "XcmHash" }), Removed(2, ArgDesc { name: "overweight_index", ty: "OverweightIndex" }), Removed(3, ArgDesc { name: "required_weight", ty: "Weight" })] })]
[≠] 5: OverweightServiced ( overweight_index: OverweightIndex, weight_used: Weight, ) )
[Name(StringChange("OverweightServiced", "ExportedOverweight")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("overweight_index", "index"))]), Removed(1, ArgDesc { name: "weight_used", ty: "Weight" })] })]
[≠] 6: MaxMessagesExhausted ( message_hash: XcmHash, ) )
[Name(StringChange("MaxMessagesExhausted", "ExportOverweightFailed")), Signature(SignatureChange { args: [Changed(0, [Name(StringChange("message_hash", "index")), Ty(StringChange("XcmHash", "OverweightIndex"))])] })]
[+] EventDesc { index: 7, name: "CompletedOverweightExport", signature: SignatureDesc { args: [] } }
[+] EventDesc { index: 8, name: "StartedCleanup", signature: SignatureDesc { args: [] } }
[+] EventDesc { index: 9, name: "CleanedSome", signature: SignatureDesc { args: [ArgDesc { name: "keys_removed", ty: "u32" }] } }
[+] EventDesc { index: 10, name: "Completed", signature: SignatureDesc { args: [ArgDesc { name: "error", ty: "bool" }] } }
- errors changes:
[-] "Unknown"
[-] "OverLimit"
- storages changes:
[+] StorageDesc { name: "MigrationStatus", modifier: "Default", default_value: [0] }
[-] "Configuration"
[-] "CounterForOverweight"
[-] "Overweight"
[-] "PageIndex"
[-] "Pages"
[+] id: 34 - new pallet: MessageQueue
[≠] pallet 40: Treasury -> 20 change(s)
- calls changes:
[≠] 3: spend ( amount: BalanceOf<T, I>, beneficiary: AccountIdLookupOf<T>, ) )
[Name(StringChange("spend", "spend_local"))]
[+] CallDesc { index: 5, name: "spend", signature: SignatureDesc { args: [ArgDesc { name: "asset_kind", ty: "Box<T::AssetKind>" }, ArgDesc { name: "amount", ty: "AssetBalanceOf<T, I>" }, ArgDesc { name: "beneficiary", ty: "Box<BeneficiaryLookupOf<T, I>>" }, ArgDesc { name: "valid_from", ty: "Option<BlockNumberFor<T>>" }] } }
[+] CallDesc { index: 6, name: "payout", signature: SignatureDesc { args: [ArgDesc { name: "index", ty: "SpendIndex" }] } }
[+] CallDesc { index: 7, name: "check_status", signature: SignatureDesc { args: [ArgDesc { name: "index", ty: "SpendIndex" }] } }
[+] CallDesc { index: 8, name: "void_spend", signature: SignatureDesc { args: [ArgDesc { name: "index", ty: "SpendIndex" }] } }
- events changes:
[+] EventDesc { index: 9, name: "AssetSpendApproved", signature: SignatureDesc { args: [ArgDesc { name: "index", ty: "SpendIndex" }, ArgDesc { name: "asset_kind", ty: "T::AssetKind" }, ArgDesc { name: "amount", ty: "AssetBalanceOf<T, I>" }, ArgDesc { name: "beneficiary", ty: "T::Beneficiary" }, ArgDesc { name: "valid_from", ty: "BlockNumberFor<T>" }, ArgDesc { name: "expire_at", ty: "BlockNumberFor<T>" }] } }
[+] EventDesc { index: 10, name: "AssetSpendVoided", signature: SignatureDesc { args: [ArgDesc { name: "index", ty: "SpendIndex" }] } }
[+] EventDesc { index: 11, name: "Paid", signature: SignatureDesc { args: [ArgDesc { name: "index", ty: "SpendIndex" }, ArgDesc { name: "payment_id", ty: "<T::Paymaster as Pay>::Id" }] } }
[+] EventDesc { index: 12, name: "PaymentFailed", signature: SignatureDesc { args: [ArgDesc { name: "index", ty: "SpendIndex" }, ArgDesc { name: "payment_id", ty: "<T::Paymaster as Pay>::Id" }] } }
[+] EventDesc { index: 13, name: "SpendProcessed", signature: SignatureDesc { args: [ArgDesc { name: "index", ty: "SpendIndex" }] } }
- errors changes:
[+] ErrorDesc { index: 5, name: "FailedToConvertBalance" }
[+] ErrorDesc { index: 6, name: "SpendExpired" }
[+] ErrorDesc { index: 7, name: "EarlyPayout" }
[+] ErrorDesc { index: 8, name: "AlreadyAttempted" }
[+] ErrorDesc { index: 9, name: "PayoutError" }
[+] ErrorDesc { index: 10, name: "NotAttempted" }
[+] ErrorDesc { index: 11, name: "Inconclusive" }
- constants changes:
[+] ConstantDesc { name: "PayoutPeriod", value: [0, 0, 0, 0] }
- storages changes:
[+] StorageDesc { name: "SpendCount", modifier: "Default", default_value: [0, 0, 0, 0] }
[+] StorageDesc { name: "Spends", modifier: "Optional", default_value: [0] }
[≠] pallet 41: Democracy -> 9 change(s)
- calls changes:
[≠] 7: fast_track ( proposal_hash: PreimageHash, voting_period: BlockNumberFor<T>, delay: BlockNumberFor<T>, ) )
[Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("PreimageHash", "T::Hash"))])] })]
[≠] 8: veto_external ( proposal_hash: PreimageHash, ) )
[Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("PreimageHash", "T::Hash"))])] })]
[≠] 16: blacklist ( proposal_hash: H256, maybe_ref_index: Option<ReferendumIndex>, ) )
[Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("H256", "T::Hash"))])] })]
[≠] 18: set_metadata ( owner: MetadataOwner, maybe_hash: Option<H256>, ) )
[Signature(SignatureChange { args: [Changed(1, [Ty(StringChange("Option<H256>", "Option<T::Hash>"))])] })]
- events changes:
[≠] 9: Vetoed ( who: T::AccountId, proposal_hash: PreimageHash, until: BlockNumberFor<T>, ) )
[Signature(SignatureChange { args: [Changed(1, [Ty(StringChange("PreimageHash", "T::Hash"))])] })]
[≠] 10: Blacklisted ( proposal_hash: PreimageHash, ) )
[Signature(SignatureChange { args: [Changed(0, [Ty(StringChange("PreimageHash", "T::Hash"))])] })]
[≠] 14: MetadataSet ( owner: MetadataOwner, hash: PreimageHash, ) )
[Signature(SignatureChange { args: [Changed(1, [Ty(StringChange("PreimageHash", "T::Hash"))])] })]
[≠] 15: MetadataCleared ( owner: MetadataOwner, hash: PreimageHash, ) )
[Signature(SignatureChange { args: [Changed(1, [Ty(StringChange("PreimageHash", "T::Hash"))])] })]
[≠] 16: MetadataTransferred ( prev_owner: MetadataOwner, owner: MetadataOwner, hash: PreimageHash, ) )
[Signature(SignatureChange { args: [Changed(2, [Ty(StringChange("PreimageHash", "T::Hash"))])] })]
[≠] pallet 42: Council -> 1 change(s)
- errors changes:
[+] ErrorDesc { index: 10, name: "PrimeAccountNotMember" }
[≠] pallet 43: TechnicalCommittee -> 1 change(s)
- errors changes:
[+] ErrorDesc { index: 10, name: "PrimeAccountNotMember" }
[≠] pallet 45: Preimage -> 4 change(s)
- calls changes:
[+] CallDesc { index: 4, name: "ensure_updated", signature: SignatureDesc { args: [ArgDesc { name: "hashes", ty: "Vec<T::Hash>" }] } }
- errors changes:
[+] ErrorDesc { index: 6, name: "TooMany" }
[+] ErrorDesc { index: 7, name: "TooFew" }
- storages changes:
[+] StorageDesc { name: "RequestStatusFor", modifier: "Optional", default_value: [0] }
SUMMARY:
- Compatible.......................: false
- Require transaction_version bump.: true