Locked collateral for each order#910
Conversation
Commit 3a54d34Pangolin
Pallet Substrate2SubstrateIssuing:
+ Item: Storage { name: "RemoteBackingAccount", type: Plain("AccountId<T>") }Pangoro
Commit e57efd2Pangolin
Pallet Substrate2SubstrateIssuing:
+ Item: Storage { name: "RemoteBackingAccount", type: Plain("AccountId<T>") }Pangoro
Commit 711bb66Pangolin
Runtime Version {
spec_name: Pangolin
impl_name: Pangolin
authoring_version: 1
- spec_version: 2680
+ spec_version: 2690
impl_version: 1
transaction_version: 4
}
Pallet FeeMarket:
+ Item: Storage { name: "AssignedRelayers", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
- Item: Storage { name: "AssignedRelayersStorage", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
Pallet Substrate2SubstrateIssuing:
+ Item: Storage { name: "RemoteBackingAccount", type: Plain("AccountId<T>") }
+ Pallet: "TransactionPause"Pangoro
Runtime Version {
spec_name: Pangoro
impl_name: Pangoro
authoring_version: 1
- spec_version: 2680
+ spec_version: 2690
impl_version: 1
transaction_version: 3
}
Pallet FeeMarket:
+ Item: Storage { name: "AssignedRelayers", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
- Item: Storage { name: "AssignedRelayersStorage", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
+ Pallet: "TransactionPause"Commit 0199bcfPangolin
Runtime Version {
spec_name: Pangolin
impl_name: Pangolin
authoring_version: 1
- spec_version: 2680
+ spec_version: 2690
impl_version: 1
transaction_version: 4
}
Pallet FeeMarket:
+ Item: Storage { name: "AssignedRelayers", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
- Item: Storage { name: "AssignedRelayersStorage", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
Pallet Substrate2SubstrateIssuing:
+ Item: Storage { name: "RemoteBackingAccount", type: Plain("AccountId<T>") }
+ Pallet: "TransactionPause"Pangoro
Runtime Version {
spec_name: Pangoro
impl_name: Pangoro
authoring_version: 1
- spec_version: 2680
+ spec_version: 2690
impl_version: 1
transaction_version: 3
}
Pallet FeeMarket:
+ Item: Storage { name: "AssignedRelayers", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
- Item: Storage { name: "AssignedRelayersStorage", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
+ Pallet: "TransactionPause"Commit e631671Pangolin
Runtime Version {
spec_name: Pangolin
impl_name: Pangolin
authoring_version: 1
- spec_version: 2680
+ spec_version: 2690
impl_version: 1
transaction_version: 4
}
Pallet FeeMarket:
+ Item: Storage { name: "AssignedRelayers", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
- Item: Storage { name: "AssignedRelayersStorage", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
Pallet Substrate2SubstrateIssuing:
+ Item: Storage { name: "RemoteBackingAccount", type: Plain("AccountId<T>") }
+ Pallet: "TransactionPause"Pangoro
Runtime Version {
spec_name: Pangoro
impl_name: Pangoro
authoring_version: 1
- spec_version: 2680
+ spec_version: 2690
impl_version: 1
transaction_version: 3
}
Pallet FeeMarket:
+ Item: Storage { name: "AssignedRelayers", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
- Item: Storage { name: "AssignedRelayersStorage", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
+ Pallet: "TransactionPause"Commit 39a5f25Pangolin
Pallet FeeMarket:
+ Item: Storage { name: "AssignedRelayers", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
- Item: Storage { name: "AssignedRelayersStorage", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }Pangoro
Pallet FeeMarket:
+ Item: Storage { name: "AssignedRelayers", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
- Item: Storage { name: "AssignedRelayersStorage", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }Commit fb388eaPangolin
Pallet FeeMarket:
+ Item: Storage { name: "AssignedRelayers", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
- Item: Storage { name: "AssignedRelayersStorage", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }Pangoro
Pallet FeeMarket:
+ Item: Storage { name: "AssignedRelayers", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
- Item: Storage { name: "AssignedRelayersStorage", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }Commit 061f59fPangolin
Pallet FeeMarket:
+ Item: Storage { name: "AssignedRelayers", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
- Item: Storage { name: "AssignedRelayersStorage", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }Pangoro
Pallet FeeMarket:
+ Item: Storage { name: "AssignedRelayers", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
- Item: Storage { name: "AssignedRelayersStorage", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }Commit 902fe89Pangolin
Pallet FeeMarket:
+ Item: Storage { name: "AssignedRelayers", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
- Item: Storage { name: "AssignedRelayersStorage", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }Pangoro
Pallet FeeMarket:
+ Item: Storage { name: "AssignedRelayers", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
- Item: Storage { name: "AssignedRelayersStorage", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }Commit e96516bPangolin
Pallet FeeMarket:
+ Item: Storage { name: "AssignedRelayers", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
- Item: Storage { name: "AssignedRelayersStorage", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }Pangoro
Pallet FeeMarket:
+ Item: Storage { name: "AssignedRelayers", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
- Item: Storage { name: "AssignedRelayersStorage", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }Commit 7edd4e5Pangolin
Pallet FeeMarket:
+ Item: Storage { name: "AssignedRelayers", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
- Item: Storage { name: "AssignedRelayersStorage", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }Pangoro
Pallet FeeMarket:
+ Item: Storage { name: "AssignedRelayers", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
- Item: Storage { name: "AssignedRelayersStorage", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }Commit b5fc958Pangolin
Pallet ElectionProviderMultiPhase:
+ Item: Storage { name: "SignedSubmissionIndices", type: Plain("SubmissionIndicesOf<T>") }
+ Item: Storage { name: "SignedSubmissionNextIndex", type: Plain("u32") }
+ Item: Storage { name: "SignedSubmissionsMap", type: Map { hasher: Twox64Concat, key: "u32", value: "SignedSubmissionOf<T>", unused: false } }
Pallet FeeMarket:
+ Item: Storage { name: "AssignedRelayers", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
- Item: Storage { name: "AssignedRelayersStorage", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }Pangoro
Pallet ElectionProviderMultiPhase:
+ Item: Storage { name: "SignedSubmissionIndices", type: Plain("SubmissionIndicesOf<T>") }
+ Item: Storage { name: "SignedSubmissionNextIndex", type: Plain("u32") }
+ Item: Storage { name: "SignedSubmissionsMap", type: Map { hasher: Twox64Concat, key: "u32", value: "SignedSubmissionOf<T>", unused: false } }
Pallet FeeMarket:
+ Item: Storage { name: "AssignedRelayers", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
- Item: Storage { name: "AssignedRelayersStorage", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }Commit be9a7bbPangolin
Pallet ElectionProviderMultiPhase:
+ Item: Storage { name: "SignedSubmissionIndices", type: Plain("SubmissionIndicesOf<T>") }
+ Item: Storage { name: "SignedSubmissionNextIndex", type: Plain("u32") }
+ Item: Storage { name: "SignedSubmissionsMap", type: Map { hasher: Twox64Concat, key: "u32", value: "SignedSubmissionOf<T>", unused: false } }
Pallet FeeMarket:
+ Item: Storage { name: "AssignedRelayers", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
- Item: Storage { name: "AssignedRelayersStorage", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }Pangoro
Pallet ElectionProviderMultiPhase:
+ Item: Storage { name: "SignedSubmissionIndices", type: Plain("SubmissionIndicesOf<T>") }
+ Item: Storage { name: "SignedSubmissionNextIndex", type: Plain("u32") }
+ Item: Storage { name: "SignedSubmissionsMap", type: Map { hasher: Twox64Concat, key: "u32", value: "SignedSubmissionOf<T>", unused: false } }
Pallet FeeMarket:
+ Item: Storage { name: "AssignedRelayers", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
- Item: Storage { name: "AssignedRelayersStorage", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }Commit 76ed916Pangolin
Pallet ElectionProviderMultiPhase:
+ Item: Storage { name: "SignedSubmissionIndices", type: Plain("SubmissionIndicesOf<T>") }
+ Item: Storage { name: "SignedSubmissionNextIndex", type: Plain("u32") }
+ Item: Storage { name: "SignedSubmissionsMap", type: Map { hasher: Twox64Concat, key: "u32", value: "SignedSubmissionOf<T>", unused: false } }
Pallet FeeMarket:
+ Item: Storage { name: "AssignedRelayers", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
- Item: Storage { name: "AssignedRelayersStorage", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }Pangoro
Pallet ElectionProviderMultiPhase:
+ Item: Storage { name: "SignedSubmissionIndices", type: Plain("SubmissionIndicesOf<T>") }
+ Item: Storage { name: "SignedSubmissionNextIndex", type: Plain("u32") }
+ Item: Storage { name: "SignedSubmissionsMap", type: Map { hasher: Twox64Concat, key: "u32", value: "SignedSubmissionOf<T>", unused: false } }
Pallet FeeMarket:
+ Item: Storage { name: "AssignedRelayers", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
- Item: Storage { name: "AssignedRelayersStorage", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }Commit 6d13787Pangolin
Pallet ElectionProviderMultiPhase:
+ Item: Storage { name: "SignedSubmissionIndices", type: Plain("SubmissionIndicesOf<T>") }
+ Item: Storage { name: "SignedSubmissionNextIndex", type: Plain("u32") }
+ Item: Storage { name: "SignedSubmissionsMap", type: Map { hasher: Twox64Concat, key: "u32", value: "SignedSubmissionOf<T>", unused: false } }
Pallet FeeMarket:
+ Item: Storage { name: "AssignedRelayers", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
- Item: Storage { name: "AssignedRelayersStorage", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }Pangoro
Pallet ElectionProviderMultiPhase:
+ Item: Storage { name: "SignedSubmissionIndices", type: Plain("SubmissionIndicesOf<T>") }
+ Item: Storage { name: "SignedSubmissionNextIndex", type: Plain("u32") }
+ Item: Storage { name: "SignedSubmissionsMap", type: Map { hasher: Twox64Concat, key: "u32", value: "SignedSubmissionOf<T>", unused: false } }
Pallet FeeMarket:
+ Item: Storage { name: "AssignedRelayers", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
- Item: Storage { name: "AssignedRelayersStorage", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }Commit 0cb142ePangolin
Pallet ElectionProviderMultiPhase:
+ Item: Storage { name: "SignedSubmissionIndices", type: Plain("SubmissionIndicesOf<T>") }
+ Item: Storage { name: "SignedSubmissionNextIndex", type: Plain("u32") }
+ Item: Storage { name: "SignedSubmissionsMap", type: Map { hasher: Twox64Concat, key: "u32", value: "SignedSubmissionOf<T>", unused: false } }
Pallet FeeMarket:
+ Item: Storage { name: "AssignedRelayers", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
- Item: Storage { name: "AssignedRelayersStorage", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
+ Item: Storage { name: "Orders", type: Map { hasher: Blake2_128Concat, key: "(LaneId, MessageNonce)", value: "Order<T::AccountId, T::BlockNumber, RingBalance<T>>", unused: false } }
- Item: Storage { name: "Orders", type: Map { hasher: Blake2_128Concat, key: "(LaneId, MessageNonce)", value: "Order<T::AccountId, T::BlockNumber, Fee<T>>", unused: false } }Pangoro
Pallet ElectionProviderMultiPhase:
+ Item: Storage { name: "SignedSubmissionIndices", type: Plain("SubmissionIndicesOf<T>") }
+ Item: Storage { name: "SignedSubmissionNextIndex", type: Plain("u32") }
+ Item: Storage { name: "SignedSubmissionsMap", type: Map { hasher: Twox64Concat, key: "u32", value: "SignedSubmissionOf<T>", unused: false } }
Pallet FeeMarket:
+ Item: Storage { name: "AssignedRelayers", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
- Item: Storage { name: "AssignedRelayersStorage", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
+ Item: Storage { name: "Orders", type: Map { hasher: Blake2_128Concat, key: "(LaneId, MessageNonce)", value: "Order<T::AccountId, T::BlockNumber, RingBalance<T>>", unused: false } }
- Item: Storage { name: "Orders", type: Map { hasher: Blake2_128Concat, key: "(LaneId, MessageNonce)", value: "Order<T::AccountId, T::BlockNumber, Fee<T>>", unused: false } }Commit 7aa6d50Pangolin
Pallet ElectionProviderMultiPhase:
+ Item: Storage { name: "SignedSubmissionIndices", type: Plain("SubmissionIndicesOf<T>") }
+ Item: Storage { name: "SignedSubmissionNextIndex", type: Plain("u32") }
+ Item: Storage { name: "SignedSubmissionsMap", type: Map { hasher: Twox64Concat, key: "u32", value: "SignedSubmissionOf<T>", unused: false } }
Pallet FeeMarket:
+ Item: Storage { name: "AssignedRelayers", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
- Item: Storage { name: "AssignedRelayersStorage", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
+ Item: Storage { name: "Orders", type: Map { hasher: Blake2_128Concat, key: "(LaneId, MessageNonce)", value: "Order<T::AccountId, T::BlockNumber, RingBalance<T>>", unused: false } }
- Item: Storage { name: "Orders", type: Map { hasher: Blake2_128Concat, key: "(LaneId, MessageNonce)", value: "Order<T::AccountId, T::BlockNumber, Fee<T>>", unused: false } }Pangoro
Pallet ElectionProviderMultiPhase:
+ Item: Storage { name: "SignedSubmissionIndices", type: Plain("SubmissionIndicesOf<T>") }
+ Item: Storage { name: "SignedSubmissionNextIndex", type: Plain("u32") }
+ Item: Storage { name: "SignedSubmissionsMap", type: Map { hasher: Twox64Concat, key: "u32", value: "SignedSubmissionOf<T>", unused: false } }
Pallet FeeMarket:
+ Item: Storage { name: "AssignedRelayers", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
- Item: Storage { name: "AssignedRelayersStorage", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
+ Item: Storage { name: "Orders", type: Map { hasher: Blake2_128Concat, key: "(LaneId, MessageNonce)", value: "Order<T::AccountId, T::BlockNumber, RingBalance<T>>", unused: false } }
- Item: Storage { name: "Orders", type: Map { hasher: Blake2_128Concat, key: "(LaneId, MessageNonce)", value: "Order<T::AccountId, T::BlockNumber, Fee<T>>", unused: false } }Commit dfdbb80Pangolin
Pallet ElectionProviderMultiPhase:
+ Item: Storage { name: "SignedSubmissionIndices", type: Plain("SubmissionIndicesOf<T>") }
+ Item: Storage { name: "SignedSubmissionNextIndex", type: Plain("u32") }
+ Item: Storage { name: "SignedSubmissionsMap", type: Map { hasher: Twox64Concat, key: "u32", value: "SignedSubmissionOf<T>", unused: false } }
Pallet FeeMarket:
+ Item: Storage { name: "AssignedRelayers", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
- Item: Storage { name: "AssignedRelayersStorage", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
+ Item: Storage { name: "Orders", type: Map { hasher: Blake2_128Concat, key: "(LaneId, MessageNonce)", value: "Order<T::AccountId, T::BlockNumber, RingBalance<T>>", unused: false } }
- Item: Storage { name: "Orders", type: Map { hasher: Blake2_128Concat, key: "(LaneId, MessageNonce)", value: "Order<T::AccountId, T::BlockNumber, Fee<T>>", unused: false } }
+ Item: Storage { name: "RewardModeStorage", type: Plain("RewardMode") }Pangoro
Pallet ElectionProviderMultiPhase:
+ Item: Storage { name: "SignedSubmissionIndices", type: Plain("SubmissionIndicesOf<T>") }
+ Item: Storage { name: "SignedSubmissionNextIndex", type: Plain("u32") }
+ Item: Storage { name: "SignedSubmissionsMap", type: Map { hasher: Twox64Concat, key: "u32", value: "SignedSubmissionOf<T>", unused: false } }
Pallet FeeMarket:
+ Item: Storage { name: "AssignedRelayers", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
- Item: Storage { name: "AssignedRelayersStorage", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
+ Item: Storage { name: "Orders", type: Map { hasher: Blake2_128Concat, key: "(LaneId, MessageNonce)", value: "Order<T::AccountId, T::BlockNumber, RingBalance<T>>", unused: false } }
- Item: Storage { name: "Orders", type: Map { hasher: Blake2_128Concat, key: "(LaneId, MessageNonce)", value: "Order<T::AccountId, T::BlockNumber, Fee<T>>", unused: false } }
+ Item: Storage { name: "RewardModeStorage", type: Plain("RewardMode") }Commit 8bed973Pangolin
Pallet ElectionProviderMultiPhase:
+ Item: Storage { name: "SignedSubmissionIndices", type: Plain("SubmissionIndicesOf<T>") }
+ Item: Storage { name: "SignedSubmissionNextIndex", type: Plain("u32") }
+ Item: Storage { name: "SignedSubmissionsMap", type: Map { hasher: Twox64Concat, key: "u32", value: "SignedSubmissionOf<T>", unused: false } }
Pallet FeeMarket:
+ Item: Storage { name: "AssignedRelayers", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
- Item: Storage { name: "AssignedRelayersStorage", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
+ Item: Storage { name: "Orders", type: Map { hasher: Blake2_128Concat, key: "(LaneId, MessageNonce)", value: "Order<T::AccountId, T::BlockNumber, RingBalance<T>>", unused: false } }
- Item: Storage { name: "Orders", type: Map { hasher: Blake2_128Concat, key: "(LaneId, MessageNonce)", value: "Order<T::AccountId, T::BlockNumber, Fee<T>>", unused: false } }
+ Item: Storage { name: "RewardModeStorage", type: Plain("RewardMode") }Pangoro
Pallet ElectionProviderMultiPhase:
+ Item: Storage { name: "SignedSubmissionIndices", type: Plain("SubmissionIndicesOf<T>") }
+ Item: Storage { name: "SignedSubmissionNextIndex", type: Plain("u32") }
+ Item: Storage { name: "SignedSubmissionsMap", type: Map { hasher: Twox64Concat, key: "u32", value: "SignedSubmissionOf<T>", unused: false } }
Pallet FeeMarket:
+ Item: Storage { name: "AssignedRelayers", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
- Item: Storage { name: "AssignedRelayersStorage", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
+ Item: Storage { name: "Orders", type: Map { hasher: Blake2_128Concat, key: "(LaneId, MessageNonce)", value: "Order<T::AccountId, T::BlockNumber, RingBalance<T>>", unused: false } }
- Item: Storage { name: "Orders", type: Map { hasher: Blake2_128Concat, key: "(LaneId, MessageNonce)", value: "Order<T::AccountId, T::BlockNumber, Fee<T>>", unused: false } }
+ Item: Storage { name: "RewardModeStorage", type: Plain("RewardMode") }Commit f0da259Pangolin
Pallet ElectionProviderMultiPhase:
+ Item: Storage { name: "SignedSubmissionIndices", type: Plain("SubmissionIndicesOf<T>") }
+ Item: Storage { name: "SignedSubmissionNextIndex", type: Plain("u32") }
+ Item: Storage { name: "SignedSubmissionsMap", type: Map { hasher: Twox64Concat, key: "u32", value: "SignedSubmissionOf<T>", unused: false } }
Pallet FeeMarket:
+ Item: Storage { name: "AssignedRelayers", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
- Item: Storage { name: "AssignedRelayersStorage", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
+ Item: Storage { name: "Orders", type: Map { hasher: Blake2_128Concat, key: "(LaneId, MessageNonce)", value: "Order<T::AccountId, T::BlockNumber, RingBalance<T>>", unused: false } }
- Item: Storage { name: "Orders", type: Map { hasher: Blake2_128Concat, key: "(LaneId, MessageNonce)", value: "Order<T::AccountId, T::BlockNumber, Fee<T>>", unused: false } }
+ Item: Storage { name: "RewardModeStorage", type: Plain("RewardMode") }Pangoro
Pallet ElectionProviderMultiPhase:
+ Item: Storage { name: "SignedSubmissionIndices", type: Plain("SubmissionIndicesOf<T>") }
+ Item: Storage { name: "SignedSubmissionNextIndex", type: Plain("u32") }
+ Item: Storage { name: "SignedSubmissionsMap", type: Map { hasher: Twox64Concat, key: "u32", value: "SignedSubmissionOf<T>", unused: false } }
Pallet FeeMarket:
+ Item: Storage { name: "AssignedRelayers", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
- Item: Storage { name: "AssignedRelayersStorage", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
+ Item: Storage { name: "Orders", type: Map { hasher: Blake2_128Concat, key: "(LaneId, MessageNonce)", value: "Order<T::AccountId, T::BlockNumber, RingBalance<T>>", unused: false } }
- Item: Storage { name: "Orders", type: Map { hasher: Blake2_128Concat, key: "(LaneId, MessageNonce)", value: "Order<T::AccountId, T::BlockNumber, Fee<T>>", unused: false } }
+ Item: Storage { name: "RewardModeStorage", type: Plain("RewardMode") }Commit 9ff3e3dPangolin
Pallet ElectionProviderMultiPhase:
+ Item: Storage { name: "SignedSubmissionIndices", type: Plain("SubmissionIndicesOf<T>") }
+ Item: Storage { name: "SignedSubmissionNextIndex", type: Plain("u32") }
+ Item: Storage { name: "SignedSubmissionsMap", type: Map { hasher: Twox64Concat, key: "u32", value: "SignedSubmissionOf<T>", unused: false } }
Pallet FeeMarket:
+ Item: Storage { name: "AssignedRelayers", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
- Item: Storage { name: "AssignedRelayersStorage", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
+ Item: Storage { name: "Orders", type: Map { hasher: Blake2_128Concat, key: "(LaneId, MessageNonce)", value: "Order<T::AccountId, T::BlockNumber, RingBalance<T>>", unused: false } }
- Item: Storage { name: "Orders", type: Map { hasher: Blake2_128Concat, key: "(LaneId, MessageNonce)", value: "Order<T::AccountId, T::BlockNumber, Fee<T>>", unused: false } }
+ Item: Storage { name: "RewardModeStorage", type: Plain("RewardMode") }Pangoro
Pallet ElectionProviderMultiPhase:
+ Item: Storage { name: "SignedSubmissionIndices", type: Plain("SubmissionIndicesOf<T>") }
+ Item: Storage { name: "SignedSubmissionNextIndex", type: Plain("u32") }
+ Item: Storage { name: "SignedSubmissionsMap", type: Map { hasher: Twox64Concat, key: "u32", value: "SignedSubmissionOf<T>", unused: false } }
Pallet FeeMarket:
+ Item: Storage { name: "AssignedRelayers", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
- Item: Storage { name: "AssignedRelayersStorage", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
+ Item: Storage { name: "Orders", type: Map { hasher: Blake2_128Concat, key: "(LaneId, MessageNonce)", value: "Order<T::AccountId, T::BlockNumber, RingBalance<T>>", unused: false } }
- Item: Storage { name: "Orders", type: Map { hasher: Blake2_128Concat, key: "(LaneId, MessageNonce)", value: "Order<T::AccountId, T::BlockNumber, Fee<T>>", unused: false } }
+ Item: Storage { name: "RewardModeStorage", type: Plain("RewardMode") }Commit 1ee88ecPangolin
Pallet ElectionProviderMultiPhase:
+ Item: Storage { name: "SignedSubmissionIndices", type: Plain("SubmissionIndicesOf<T>") }
+ Item: Storage { name: "SignedSubmissionNextIndex", type: Plain("u32") }
+ Item: Storage { name: "SignedSubmissionsMap", type: Map { hasher: Twox64Concat, key: "u32", value: "SignedSubmissionOf<T>", unused: false } }
Pallet FeeMarket:
+ Item: Storage { name: "AssignedRelayers", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
- Item: Storage { name: "AssignedRelayersStorage", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
+ Item: Storage { name: "CollateralSlashProtect", type: Plain("RingBalance<T>") }
+ Item: Storage { name: "Orders", type: Map { hasher: Blake2_128Concat, key: "(LaneId, MessageNonce)", value: "Order<T::AccountId, T::BlockNumber, RingBalance<T>>", unused: false } }
- Item: Storage { name: "Orders", type: Map { hasher: Blake2_128Concat, key: "(LaneId, MessageNonce)", value: "Order<T::AccountId, T::BlockNumber, Fee<T>>", unused: false } }Pangoro
Pallet ElectionProviderMultiPhase:
+ Item: Storage { name: "SignedSubmissionIndices", type: Plain("SubmissionIndicesOf<T>") }
+ Item: Storage { name: "SignedSubmissionNextIndex", type: Plain("u32") }
+ Item: Storage { name: "SignedSubmissionsMap", type: Map { hasher: Twox64Concat, key: "u32", value: "SignedSubmissionOf<T>", unused: false } }
Pallet FeeMarket:
+ Item: Storage { name: "AssignedRelayers", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
- Item: Storage { name: "AssignedRelayersStorage", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
+ Item: Storage { name: "CollateralSlashProtect", type: Plain("RingBalance<T>") }
+ Item: Storage { name: "Orders", type: Map { hasher: Blake2_128Concat, key: "(LaneId, MessageNonce)", value: "Order<T::AccountId, T::BlockNumber, RingBalance<T>>", unused: false } }
- Item: Storage { name: "Orders", type: Map { hasher: Blake2_128Concat, key: "(LaneId, MessageNonce)", value: "Order<T::AccountId, T::BlockNumber, Fee<T>>", unused: false } }Commit 58366e2Pangolin
Pallet ElectionProviderMultiPhase:
+ Item: Storage { name: "SignedSubmissionIndices", type: Plain("SubmissionIndicesOf<T>") }
+ Item: Storage { name: "SignedSubmissionNextIndex", type: Plain("u32") }
+ Item: Storage { name: "SignedSubmissionsMap", type: Map { hasher: Twox64Concat, key: "u32", value: "SignedSubmissionOf<T>", unused: false } }
Pallet FeeMarket:
+ Item: Storage { name: "AssignedRelayers", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
- Item: Storage { name: "AssignedRelayersStorage", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
+ Item: Storage { name: "CollateralSlashProtect", type: Plain("RingBalance<T>") }
+ Item: Storage { name: "Orders", type: Map { hasher: Blake2_128Concat, key: "(LaneId, MessageNonce)", value: "Order<T::AccountId, T::BlockNumber, RingBalance<T>>", unused: false } }
- Item: Storage { name: "Orders", type: Map { hasher: Blake2_128Concat, key: "(LaneId, MessageNonce)", value: "Order<T::AccountId, T::BlockNumber, Fee<T>>", unused: false } }Pangoro
Pallet ElectionProviderMultiPhase:
+ Item: Storage { name: "SignedSubmissionIndices", type: Plain("SubmissionIndicesOf<T>") }
+ Item: Storage { name: "SignedSubmissionNextIndex", type: Plain("u32") }
+ Item: Storage { name: "SignedSubmissionsMap", type: Map { hasher: Twox64Concat, key: "u32", value: "SignedSubmissionOf<T>", unused: false } }
Pallet FeeMarket:
+ Item: Storage { name: "AssignedRelayers", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
- Item: Storage { name: "AssignedRelayersStorage", type: Plain("Vec<Relayer<T::AccountId, RingBalance<T>>>") }
+ Item: Storage { name: "CollateralSlashProtect", type: Plain("RingBalance<T>") }
+ Item: Storage { name: "Orders", type: Map { hasher: Blake2_128Concat, key: "(LaneId, MessageNonce)", value: "Order<T::AccountId, T::BlockNumber, RingBalance<T>>", unused: false } }
- Item: Storage { name: "Orders", type: Map { hasher: Blake2_128Concat, key: "(LaneId, MessageNonce)", value: "Order<T::AccountId, T::BlockNumber, Fee<T>>", unused: false } } |
|
Should we still keep BTW, Internal Review is not a good title. |
|
Latest Pangoro try-runtime: darwinia-common [update-fee-market]× » ./target/release/drml try-runtime --block-at 0x02f8023395efc0a6ef163dfc2875ecd41018aeca14aae3cd9f958d31cee8c0f0 --chain pangoro-dev -u wss://pangoro-rpc.darwinia.network on-runtime-upgrade live
2021-11-12 11:55:45 `pallet_timestamp::UnixTime::now` is called at genesis, invalid value returned: 0
2021-11-12 11:55:45 [#0] 🗳 Entering emergency mode: NoFallbackConfigured
2021-11-12 11:55:45 [0] 💸 election provider failed due to NoFallbackConfigured
2021-11-12 11:55:45 [#0] 🗳 Entering emergency mode: NoFallbackConfigured
2021-11-12 11:55:45 [0] 💸 election provider failed due to NoFallbackConfigured
2021-11-12 11:55:45 initializing remote client to "wss://pangoro-rpc.darwinia.network"
2021-11-12 11:55:47 scraping key-pairs from remote @ 0x02f8023395efc0a6ef163dfc2875ecd41018aeca14aae3cd9f958d31cee8c0f0
2021-11-12 11:55:47 downloading data for all modules.
2021-11-12 11:56:12 Querying a total of 20156 keys
2021-11-12 11:56:40 extending externalities with 1 manually injected key-values
2021-11-12 11:56:40 injecting a total of 20158 keys
2021-11-12 11:56:40 ===> Start migrate all storage items in AssignedRelayersStorage
2021-11-12 11:56:40 the migrate content [Relayer { id: , collateral: 0, fee: 30000000000 }, Relayer { id: , collateral: 0, fee: 50000000000 }, Relayer { id: , collateral: 0, fee: 500000000000 }]
2021-11-12 11:56:40 ===> End migrate all storage items in AssignedRelayersStorage
2021-11-12 11:56:40 ===> Start migrate all storage items in Orders
2021-11-12 11:56:40 The new order: order Order { lane: [114, 111, 108, 105], message: 62, sent_time: 1022299, confirm_time: None, locked_collateral: 100000000000, relayers: [PriorRelayer { id: , fee: 30000000000, valid_range: 1022299..1022349 }, PriorRelayer { id: , fee: 50000000000, valid_range: 1022349..1022399 }, PriorRelayer { id: , fee: 500000000000, valid_range: 1022399..1022449 }] }
2021-11-12 11:56:40 ===> End migrate all storage items in Orders
2021-11-12 11:56:40 ===> All Migrates finished
2021-11-12 11:56:40 ⚠️ System declares internal migrations (which *might* execute), setting storage version to <wasm:stripped>
2021-11-12 11:56:40 ✅ no migration for TransactionPause, setting storage version to <wasm:stripped>
2021-11-12 11:56:40 ✅ no migration for FeeMarket, setting storage version to <wasm:stripped>
2021-11-12 11:56:40 ✅ no migration for Substrate2SubstrateBacking, setting storage version to <wasm:stripped>
2021-11-12 11:56:40 ✅ no migration for BridgePangolinGrandpa, setting storage version to <wasm:stripped>
2021-11-12 11:56:40 ✅ no migration for BridgeDispatch, setting storage version to <wasm:stripped>
2021-11-12 11:56:40 ✅ no migration for BridgePangolinMessages, setting storage version to <wasm:stripped>
2021-11-12 11:56:40 ✅ no migration for Scheduler, setting storage version to <wasm:stripped>
2021-11-12 11:56:40 ✅ no migration for Sudo, setting storage version to <wasm:stripped>
2021-11-12 11:56:40 ✅ no migration for AuthorityDiscovery, setting storage version to <wasm:stripped>
2021-11-12 11:56:40 ✅ no migration for ImOnline, setting storage version to <wasm:stripped>
2021-11-12 11:56:40 ✅ no migration for Grandpa, setting storage version to <wasm:stripped>
2021-11-12 11:56:40 ✅ no migration for Session, setting storage version to <wasm:stripped>
2021-11-12 11:56:40 ✅ no migration for Historical, setting storage version to <wasm:stripped>
2021-11-12 11:56:40 ⚠️ Offences declares internal migrations (which *might* execute), setting storage version to <wasm:stripped>
2021-11-12 11:56:40 have 0 deferred offences, applying.
2021-11-12 11:56:40 ✅ no migration for Staking, setting storage version to <wasm:stripped>
2021-11-12 11:56:40 ✅ no migration for ElectionProviderMultiPhase, setting storage version to <wasm:stripped>
2021-11-12 11:56:40 ✅ no migration for Authorship, setting storage version to <wasm:stripped>
2021-11-12 11:56:40 ✅ no migration for TransactionPayment, setting storage version to <wasm:stripped>
2021-11-12 11:56:40 ✅ no migration for Kton, setting storage version to <wasm:stripped>
2021-11-12 11:56:40 ✅ no migration for Balances, setting storage version to <wasm:stripped>
2021-11-12 11:56:40 ✅ no migration for Timestamp, setting storage version to <wasm:stripped>
2021-11-12 11:56:40 ✅ no migration for Babe, setting storage version to <wasm:stripped>
2021-11-12 11:56:40 ✅ no migration for RandomnessCollectiveFlip, setting storage version to <wasm:stripped>
2021-11-12 11:56:40 TryRuntime_on_runtime_upgrade executed without errors. Consumed weight = 512646400000000, total weight = 512000000000000 (1.0012625)
|
|
Remove the and pangoro. |
|
@hackfisher @xiaoch05 Take a review again. |
| <AssignedRelayers<T>>::mutate(|assigned_relayers| { | ||
| if let Some(relayers) = assigned_relayers { | ||
| relayers.retain(|x| x.id != *who); | ||
| } | ||
| }); |
There was a problem hiding this comment.
In which cases we will remove an relayer who is in assignment? Should we change this to use ensure!?
There was a problem hiding this comment.
We need to update the assigned_relayers list when the enrolled relayer wants to exit the fee market by calling cancel_enrollment().
There was a problem hiding this comment.
But assigned_relayers means there exists order for the relayer right, we do not allow cancel enrollment for the relayer if it has ongoing order?
There was a problem hiding this comment.
But assigned_relayers means there exists order for the relayer right?
we use occupied(who: &T::AccountId).
we do not allow cancel enrollment for the relayer if it has ongoing order?
Yes, we will check whether the relayer have ongoing orders use ensure!(Self::occupied(&who).is_none(), <Error<T>>::OccupiedRelayer); before remove_enrolled_relayer.
|
@sxlwar Types updated. |
Too many things are included in this pr, I made a list to help review.
Update List:
AssignedRelayersStoragetoAssignedRelayers, migration needed.first_and_last_fee()tolowest_and_highest_fee.MiniumLockCollateraland introduce another typeCollateralEachOrder. The originalMiniumLockCollateralwas used to limit the minimum locked collateral when relayers enroll. At the same time,MiniumLockCollateralwas the maximum slash amount for each assigned relayer when relaying delay occurred. A drawback this implementation has is how the market reward message relayer and confirm relayers for a delay message whose assigned relayers' original collateral had been slashed out. I made a change about this issue in this pull request. Introduceorder_capacityfor the relayer to indicate the ability to accept the order task. The capacity is calculated aslocked_collateral / CollateralEachOrder. The relayer who has more collateral locked has more order_capacity, can eat more relaying orders. One thing that should be noted is the selection of assigned relayers also have a relationship with relayer order capacity.CollateralEachOrder. Once a message is delayed, slashCollateralEachOrdercollateral.TODO:
AssignedRelayersandRelayer.