Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Argo types + QN support + package bumps #5159

Merged
merged 7 commits into from
Jun 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion chain-metadata.json

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions cli/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@joystream/cli",
"description": "Command Line Interface for Joystream community and governance activities",
"version": "1.5.1",
"version": "1.5.2",
"author": "Leszek Wiesner",
"bin": {
"joystream-cli": "./bin/run"
Expand Down Expand Up @@ -57,7 +57,7 @@
"proper-lockfile": "^4.1.1",
"slug": "^2.1.1",
"tslib": "^1.11.1",
"@joystream/js": "^1.11.0"
"@joystream/js": "^1.12.0"
},
"devDependencies": {
"@graphql-codegen/cli": "^1.21.4",
Expand Down
4 changes: 4 additions & 0 deletions distributor-node/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
### 2.1.2

- Bump @joystream/types to Petra version

### 2.1.1

- Bump deps @polkadot/api v10.7.1
Expand Down
4 changes: 2 additions & 2 deletions distributor-node/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@joystream/distributor-cli",
"description": "Joystream distributor node CLI",
"version": "2.1.1",
"version": "2.1.2",
"author": "Joystream contributors",
"bin": {
"joystream-distributor": "./bin/run"
Expand All @@ -13,7 +13,7 @@
"@joystream/metadata-protobuf": "^2.15.0",
"@joystream/opentelemetry": "1.0.0",
"@joystream/storage-node-client": "^4.0.0",
"@joystream/types": "^4.4.0",
"@joystream/types": "^4.6.0",
"@nerdwallet/apollo-cache-policies": "2.10.0",
"@oclif/command": "^1",
"@oclif/config": "^1",
Expand Down
4 changes: 4 additions & 0 deletions joystreamjs/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
### 1.12.0

- Bump @joystream/types to Petra version

### 1.7.0

- Update dependency on metadata protobuf to v2.13.0
Expand Down
4 changes: 2 additions & 2 deletions joystreamjs/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@joystream/js",
"version": "1.11.0",
"version": "1.12.0",
"license": "GPL-3.0-only",
"description": "Joystream JS package provides utilities required to work with Joystream network.",
"main": "lib/index.js",
Expand Down Expand Up @@ -42,7 +42,7 @@
},
"dependencies": {
"@joystream/metadata-protobuf": "^2.15.0",
"@joystream/types": "^4.4.0",
"@joystream/types": "^4.6.0",
"@polkadot/util-crypto": "^12.6.2",
"axios": "^1.2.1",
"buffer": "^6.0.3",
Expand Down
4 changes: 4 additions & 0 deletions query-node/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
### 2.4.0

- Bump @joystream/types to Petra version

### 2.2.1

- Bump deps @polkadot/api v10.7.1
Expand Down
1 change: 1 addition & 0 deletions query-node/chain-metadata/2004.json

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions query-node/mappings/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "query-node-mappings",
"version": "2.3.0",
"version": "2.4.0",
"description": "Mappings for hydra-processor",
"main": "lib/src/index.js",
"license": "MIT",
Expand All @@ -19,7 +19,7 @@
"@apollo/client": "^3.2.5",
"@joystream/hydra-common": "5.0.0-alpha.8",
"@joystream/hydra-db-utils": "5.0.0-alpha.8",
"@joystream/js": "^1.11.0",
"@joystream/js": "^1.12.0",
"@joystream/warthog": "^2.41.9",
"@polkadot/types": "10.7.1"
},
Expand Down
22 changes: 17 additions & 5 deletions query-node/mappings/src/proposals.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ import {
SignalProposalDetails,
SlashWorkingGroupLeadProposalDetails,
TerminateWorkingGroupLeadProposalDetails,
UpdateArgoBridgeConstraintsProposalDetails,
UpdateChannelPayoutsProposalDetails,
UpdatePalletFrozenStatusProposalDetails,
UpdateGlobalNftLimitProposalDetails,
Expand All @@ -78,14 +79,14 @@ import {
} from './common'
import {
ProposalsCodex_ProposalCreatedEvent_V1001 as ProposalCreatedEvent_V1001,
ProposalsCodex_ProposalCreatedEvent_V2003 as ProposalCreatedEvent_V2003,
ProposalsCodex_ProposalCreatedEvent_V2004 as ProposalCreatedEvent_V2004,
ProposalsEngine_ProposalCancelledEvent_V1001 as ProposalCancelledEvent_V1001,
ProposalsEngine_ProposalDecisionMadeEvent_V1001 as ProposalDecisionMadeEvent_V1001,
ProposalsEngine_ProposalExecutedEvent_V1001 as ProposalExecutedEvent_V1001,
ProposalsEngine_ProposalStatusUpdatedEvent_V1001 as ProposalStatusUpdatedEvent_V1001,
ProposalsEngine_VotedEvent_V1001 as ProposalVotedEvent_V1001,
} from '../generated/types'
import { PalletProposalsCodexProposalDetails as RuntimeProposalDetails_V2003 } from '../generated/types/2003/types-lookup'
import { PalletProposalsCodexProposalDetails as RuntimeProposalDetails_V2004 } from '../generated/types/2004/types-lookup'

import { createWorkingGroupOpeningMetadata } from './workingGroups'

Expand All @@ -109,7 +110,7 @@ async function getOrCreateRuntimeWasmBytecode(store: DatabaseManager, bytecode:
async function parseProposalDetails(
event: SubstrateEvent,
store: DatabaseManager,
proposalDetails: RuntimeProposalDetails_V2003
proposalDetails: RuntimeProposalDetails_V2004
): Promise<typeof ProposalDetails> {
const eventTime = new Date(event.blockTimestamp)

Expand Down Expand Up @@ -353,6 +354,17 @@ async function parseProposalDetails(
const details = new SetEraPayoutDampingFactorProposalDetails()
details.dampingFactor = proposalDetails.asSetEraPayoutDampingFactor.toNumber()
return details
}
// UpdateArgoBridgeConstraintsProposalDetails
else if (proposalDetails.isUpdateArgoBridgeConstraints) {
const details = new UpdateArgoBridgeConstraintsProposalDetails()
const bridgeConstraints = proposalDetails.asUpdateArgoBridgeConstraints
details.operatorAccount = unwrap(bridgeConstraints.operatorAccount)?.toString()
details.pauserAccounts = unwrap(bridgeConstraints.pauserAccounts)?.map((a) => a.toString())
details.bridgingFee = whenDef(unwrap(bridgeConstraints.bridgingFee), asBN)
details.thawnDuration = unwrap(bridgeConstraints.thawnDuration)?.toNumber()
details.remoteChains = unwrap(bridgeConstraints.remoteChains)?.map((a) => a.toNumber())
return details
} else {
unimplementedError(`Unsupported proposal details type: ${proposalDetails.type}`)
}
Expand Down Expand Up @@ -393,13 +405,13 @@ export async function proposalsCodex_ProposalCreated({
const [proposalId, generalProposalParameters, runtimeProposalDetails, proposalThreadId] =
Number(specVersion) < 2001
? new ProposalCreatedEvent_V1001(event).params
: new ProposalCreatedEvent_V2003(event).params
: new ProposalCreatedEvent_V2004(event).params

const eventTime = new Date(event.blockTimestamp)
const proposalDetails = await parseProposalDetails(
event,
store,
runtimeProposalDetails as RuntimeProposalDetails_V2003
runtimeProposalDetails as RuntimeProposalDetails_V2004
)

const proposal = new Proposal({
Expand Down
2 changes: 1 addition & 1 deletion query-node/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "query-node-root",
"version": "2.3.0",
"version": "2.4.0",
"description": "GraphQL server and mappings. Generated with ♥ by Hydra-CLI",
"scripts": {
"build": "./build.sh",
Expand Down
9 changes: 9 additions & 0 deletions query-node/schemas/proposals.graphql
Original file line number Diff line number Diff line change
Expand Up @@ -386,6 +386,14 @@ type SetEraPayoutDampingFactorProposalDetails @variant {
dampingFactor: Int!
}

type UpdateArgoBridgeConstraintsProposalDetails @variant {
operatorAccount: String
pauserAccounts: [String]
bridgingFee: BigInt
thawnDuration: Int
remoteChains: [Int]
}

union ProposalDetails =
SignalProposalDetails
| RuntimeUpgradeProposalDetails
Expand Down Expand Up @@ -414,3 +422,4 @@ union ProposalDetails =
| DecreaseCouncilBudgetProposalDetails
| UpdateTokenPalletTokenConstraintsProposalDetails
| SetEraPayoutDampingFactorProposalDetails
| UpdateArgoBridgeConstraintsProposalDetails
2 changes: 1 addition & 1 deletion runtime-modules/argo-bridge/src/tests/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -478,7 +478,7 @@ fn revert_outbound_transfer_with_bridge_paused() {
1u64,
account!(2),
joy!(100),
vec![],
vec![].try_into().unwrap(),
);
assert_err!(result, Error::<Test>::BridgeNotActive);
});
Expand Down
2 changes: 1 addition & 1 deletion runtime/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1682,7 +1682,7 @@ parameter_types! {
// Make sure to stay below MAX_BLOCK_SIZE of substrate consensus of ~4MB
// The new compressed wasm format is much smaller in size ~ 1MB
pub const RuntimeUpgradeWasmProposalMaxLength: u32 = DispatchableCallCodeMaxLen::get();
pub const FundingRequestProposalMaxTotalAmount: Balance = joy!(1_000_000);
pub const FundingRequestProposalMaxTotalAmount: Balance = currency::BASE_UNIT_PER_JOY * 1_000_000;
pub const FundingRequestProposalMaxAccounts: u32 = 20;
pub const SetMaxValidatorCountProposalMaxValidators: u32 = 100;
}
Expand Down
4 changes: 2 additions & 2 deletions runtime/src/proposals_configuration/defaults.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
//! This module contains default "production" parameters configuration for the runtime codex proposals.

use crate::{
currency, days, dollars, hours, joy, Balance, BlockNumber, CouncilSize, ExpectedBlockTime,
currency, days, dollars, hours, Balance, BlockNumber, CouncilSize, ExpectedBlockTime,
ProposalParameters,
};
use static_assertions::const_assert;
Expand Down Expand Up @@ -65,7 +65,7 @@ pub(crate) fn funding_request_proposal() -> ProposalParameters<BlockNumber, Bala
approval_threshold_percentage: TWO_OUT_OF_THREE,
slashing_quorum_percentage: ALL,
slashing_threshold_percentage: ALL,
required_stake: Some(joy!(3500)),
required_stake: Some(currency::BASE_UNIT_PER_JOY * 3_500),
constitutionality: 1,
}
}
Expand Down
7 changes: 0 additions & 7 deletions runtime/src/utils.rs
Original file line number Diff line number Diff line change
Expand Up @@ -192,10 +192,3 @@ macro_rules! monthly_dollars_to_per_block {
dollars!($a).saturating_div(Balance::from(days!(30)))
}};
}

#[macro_export]
macro_rules! joy {
($a: expr) => {
currency::BASE_UNIT_PER_JOY.saturating_mul($a).into()
};
}
4 changes: 4 additions & 0 deletions storage-node/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
### 4.1.2

- Bump @joystream/types to Petra version

### 4.1.1

- Bump deps @polkadot/api v10.7.1
Expand Down
4 changes: 2 additions & 2 deletions storage-node/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "storage-node",
"description": "Joystream storage subsystem.",
"version": "4.1.1",
"version": "4.1.2",
"author": "Joystream contributors",
"bin": {
"storage-node": "./bin/run"
Expand All @@ -12,7 +12,7 @@
"@elastic/ecs-winston-format": "^1.3.1",
"@joystream/metadata-protobuf": "^2.15.0",
"@joystream/opentelemetry": "1.0.0",
"@joystream/types": "^4.0.0",
"@joystream/types": "^4.6.0",
"@oclif/command": "^1",
"@oclif/config": "^1",
"@oclif/plugin-help": "^3",
Expand Down
2 changes: 1 addition & 1 deletion tests/network-tests/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
"@apollo/client": "^3.2.5",
"@babel/helper-get-function-arity": "^7.16.7",
"@joystream/distributor-node-client": "^2.0.0",
"@joystream/js": "^1.6.0",
"@joystream/js": "^1.12.0",
"@polkadot/api": "10.7.1",
"@polkadot/keyring": "^12.6.2",
"@types/async-lock": "^1.1.3",
Expand Down
1 change: 1 addition & 0 deletions tests/network-tests/src/consts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ export const proposalTypeToProposalParamsKey = {
'SetPalletFozenStatus': 'setPalletFozenStatusProposalParameters',
'SetEraPayoutDampingFactor': 'setEraPayoutDampingFactorProposalParameters',
'UpdateTokenPalletTokenConstraints': 'updateTokenPalletTokenConstraints',
'UpdateArgoBridgeConstraints': 'updateArgoBridgeConstraints',
} as const

type ProposalTypeToProposalParamsKeyMap = { [K in ProposalType]: keyof AugmentedConsts<'promise'>['proposalsCodex'] }
Expand Down
4 changes: 4 additions & 0 deletions types/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
### 2.3.0

- Bump @joystream/types to Petra version

### 2.1.0

- Bumped version for dependants version release to get the proper types version. [ref](https://github.com/Joystream/joystream/commit/f899922645013cd5aad6d8036aeae2180f123cf7)
Expand Down
2 changes: 1 addition & 1 deletion types/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@joystream/types",
"version": "4.5.0",
"version": "4.6.0",
"description": "Types for Joystream Substrate Runtime - Nara release",
"main": "lib/cjs/index.js",
"types": "lib/index.d.ts",
Expand Down
4 changes: 4 additions & 0 deletions types/src/augment/augment-api-consts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -632,6 +632,10 @@ declare module '@polkadot/api-base/types/consts' {
* Exports 'Terminate Working Group Lead' proposal parameters.
**/
terminateWorkingGroupLeadProposalParameters: PalletProposalsEngineProposalParameters & AugmentedConst<ApiType>;
/**
* Set Argo Bridge Constraints
**/
updateArgoBridgeConstraints: PalletProposalsEngineProposalParameters & AugmentedConst<ApiType>;
updateChannelPayoutsProposalParameters: PalletProposalsEngineProposalParameters & AugmentedConst<ApiType>;
updateGlobalNftLimitProposalParameters: PalletProposalsEngineProposalParameters & AugmentedConst<ApiType>;
/**
Expand Down
11 changes: 10 additions & 1 deletion types/src/augment/augment-api-events.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import type { ApiTypes, AugmentedEvent } from '@polkadot/api-base/types';
import type { BTreeMap, BTreeSet, Bytes, Null, Option, Result, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';
import type { ITuple } from '@polkadot/types-codec/types';
import type { AccountId32, H256, Perbill, Percent, Permill } from '@polkadot/types/interfaces/runtime';
import type { FrameSupportDispatchDispatchInfo, FrameSupportTokensMiscBalanceStatus, JoystreamNodeRuntimeProxyType, PalletBountyBountyActor, PalletBountyBountyParametersBTreeSet, PalletBountyOracleWorkEntryJudgment, PalletCommonBalanceKind, PalletCommonWorkingGroupIterableEnumsWorkingGroup, PalletContentChannelCreationParametersRecord, PalletContentChannelFundsDestination, PalletContentChannelRecord, PalletContentChannelUpdateParametersRecord, PalletContentIterableEnumsChannelActionPermission, PalletContentNftLimitPeriod, PalletContentNftTypesEnglishAuctionParamsRecord, PalletContentNftTypesNftIssuanceParametersRecord, PalletContentNftTypesOpenAuctionParamsRecord, PalletContentPendingTransfer, PalletContentPermissionsContentActor, PalletContentPermissionsCuratorGroupIterableEnumsContentModerationAction, PalletContentPermissionsCuratorGroupIterableEnumsPausableChannelFeature, PalletContentTransferCommitmentParametersBTreeMap, PalletContentUpdateChannelPayoutsParametersRecord, PalletContentVideoCreationParametersRecord, PalletContentVideoUpdateParametersRecord, PalletElectionProviderMultiPhaseElectionCompute, PalletElectionProviderMultiPhasePhase, PalletForumExtendedPostIdObject, PalletForumPrivilegedActor, PalletImOnlineSr25519AppSr25519Public, PalletMembershipBuyMembershipParameters, PalletMembershipCreateMemberParameters, PalletMembershipGiftMembershipParameters, PalletMembershipInviteMembershipParameters, PalletMultisigTimepoint, PalletProjectTokenAmmCurve, PalletProjectTokenTokenConstraints, PalletProjectTokenTokenIssuanceParameters, PalletProjectTokenTokenSale, PalletProjectTokenTransferPolicy, PalletProjectTokenTransfers, PalletProposalsCodexGeneralProposalParams, PalletProposalsCodexProposalDetails, PalletProposalsDiscussionThreadModeBTreeSet, PalletProposalsEngineProposalStatusesExecutionStatus, PalletProposalsEngineProposalStatusesProposalDecision, PalletProposalsEngineProposalStatusesProposalStatus, PalletProposalsEngineVoteKind, PalletReferendumOptionResult, PalletStakingExposure, PalletStakingForcing, PalletStakingValidatorPrefs, PalletStorageBagIdType, PalletStorageDistributionBucketIdRecord, PalletStorageDynBagCreationParametersRecord, PalletStorageDynamicBagIdType, PalletStorageDynamicBagType, PalletStorageUploadParametersRecord, PalletStorageVoucher, PalletVestingVestingInfo, PalletWorkingGroupApplyOnOpeningParams, PalletWorkingGroupOpeningType, PalletWorkingGroupRewardPaymentType, PalletWorkingGroupStakePolicy, SpConsensusGrandpaAppPublic, SpNposElectionsElectionScore, SpRuntimeDispatchError } from '@polkadot/types/lookup';
import type { FrameSupportDispatchDispatchInfo, FrameSupportTokensMiscBalanceStatus, JoystreamNodeRuntimeProxyType, PalletArgoBridgeBridgeConstraints, PalletArgoBridgeRemoteAccount, PalletArgoBridgeRemoteTransfer, PalletBountyBountyActor, PalletBountyBountyParametersBTreeSet, PalletBountyOracleWorkEntryJudgment, PalletCommonBalanceKind, PalletCommonWorkingGroupIterableEnumsWorkingGroup, PalletContentChannelCreationParametersRecord, PalletContentChannelFundsDestination, PalletContentChannelRecord, PalletContentChannelUpdateParametersRecord, PalletContentIterableEnumsChannelActionPermission, PalletContentNftLimitPeriod, PalletContentNftTypesEnglishAuctionParamsRecord, PalletContentNftTypesNftIssuanceParametersRecord, PalletContentNftTypesOpenAuctionParamsRecord, PalletContentPendingTransfer, PalletContentPermissionsContentActor, PalletContentPermissionsCuratorGroupIterableEnumsContentModerationAction, PalletContentPermissionsCuratorGroupIterableEnumsPausableChannelFeature, PalletContentTransferCommitmentParametersBTreeMap, PalletContentUpdateChannelPayoutsParametersRecord, PalletContentVideoCreationParametersRecord, PalletContentVideoUpdateParametersRecord, PalletElectionProviderMultiPhaseElectionCompute, PalletElectionProviderMultiPhasePhase, PalletForumExtendedPostIdObject, PalletForumPrivilegedActor, PalletImOnlineSr25519AppSr25519Public, PalletMembershipBuyMembershipParameters, PalletMembershipCreateMemberParameters, PalletMembershipGiftMembershipParameters, PalletMembershipInviteMembershipParameters, PalletMultisigTimepoint, PalletProjectTokenAmmCurve, PalletProjectTokenTokenConstraints, PalletProjectTokenTokenIssuanceParameters, PalletProjectTokenTokenSale, PalletProjectTokenTransferPolicy, PalletProjectTokenTransfers, PalletProposalsCodexGeneralProposalParams, PalletProposalsCodexProposalDetails, PalletProposalsDiscussionThreadModeBTreeSet, PalletProposalsEngineProposalStatusesExecutionStatus, PalletProposalsEngineProposalStatusesProposalDecision, PalletProposalsEngineProposalStatusesProposalStatus, PalletProposalsEngineVoteKind, PalletReferendumOptionResult, PalletStakingExposure, PalletStakingForcing, PalletStakingValidatorPrefs, PalletStorageBagIdType, PalletStorageDistributionBucketIdRecord, PalletStorageDynBagCreationParametersRecord, PalletStorageDynamicBagIdType, PalletStorageDynamicBagType, PalletStorageUploadParametersRecord, PalletStorageVoucher, PalletVestingVestingInfo, PalletWorkingGroupApplyOnOpeningParams, PalletWorkingGroupOpeningType, PalletWorkingGroupRewardPaymentType, PalletWorkingGroupStakePolicy, SpConsensusGrandpaAppPublic, SpNposElectionsElectionScore, SpRuntimeDispatchError } from '@polkadot/types/lookup';

export type __AugmentedEvent<ApiType extends ApiTypes> = AugmentedEvent<ApiType>;

Expand Down Expand Up @@ -204,6 +204,15 @@ declare module '@polkadot/api-base/types/events' {
**/
WorkingGroupBudgetFunded: AugmentedEvent<ApiType, [u64, u128, Bytes]>;
};
argoBridge: {
BridgeConfigUpdated: AugmentedEvent<ApiType, [PalletArgoBridgeBridgeConstraints]>;
BridgePaused: AugmentedEvent<ApiType, [AccountId32]>;
BridgeThawnFinished: AugmentedEvent<ApiType, []>;
BridgeThawnStarted: AugmentedEvent<ApiType, [AccountId32, u32]>;
InboundTransferFinalized: AugmentedEvent<ApiType, [PalletArgoBridgeRemoteTransfer, AccountId32, u128]>;
OutboundTransferRequested: AugmentedEvent<ApiType, [u64, AccountId32, PalletArgoBridgeRemoteAccount, u128, u128]>;
OutboundTransferReverted: AugmentedEvent<ApiType, [u64, AccountId32, u128, Bytes]>;
};
balances: {
/**
* A balance was set by root.
Expand Down
Loading
Loading