From ece367ced81081fbc370bc390f9dfce1b42910e7 Mon Sep 17 00:00:00 2001 From: Jeremias Diaz Date: Mon, 19 Oct 2020 19:25:08 -0300 Subject: [PATCH] fix: await the instruction validity assertion properly --- src/api/entities/CurrentIdentity.ts | 2 +- src/api/entities/Instruction/__tests__/index.ts | 3 +-- src/api/entities/TickerReservation/index.ts | 3 +-- src/api/entities/Venue/__tests__/index.ts | 5 ++--- src/api/entities/Venue/index.ts | 2 +- src/api/entities/__tests__/CurrentAccount.ts | 3 +-- src/api/entities/types.ts | 1 + .../__tests__/modifyInstructionAuthorization.ts | 3 +++ src/api/procedures/index.ts | 17 +++++++++-------- .../modifyInstructionAuthorization.ts | 2 +- src/utils/__tests__/index.ts | 2 +- src/utils/index.ts | 2 +- 12 files changed, 23 insertions(+), 22 deletions(-) diff --git a/src/api/entities/CurrentIdentity.ts b/src/api/entities/CurrentIdentity.ts index 800bf5d88d..1602517a41 100644 --- a/src/api/entities/CurrentIdentity.ts +++ b/src/api/entities/CurrentIdentity.ts @@ -11,7 +11,7 @@ import { } from '~/api/procedures'; import { TransactionQueue } from '~/base'; import { SecondaryKey, Signer, SubCallback, UnsubCallback } from '~/types'; -import { portfolioIdToMeshPortfolioId,stringToIdentityId, u64ToBigNumber } from '~/utils'; +import { portfolioIdToMeshPortfolioId, u64ToBigNumber } from '~/utils'; /** * Represents the Identity associated to the current [[Account]] diff --git a/src/api/entities/Instruction/__tests__/index.ts b/src/api/entities/Instruction/__tests__/index.ts index 5d1e0f58b0..77b0ca17e7 100644 --- a/src/api/entities/Instruction/__tests__/index.ts +++ b/src/api/entities/Instruction/__tests__/index.ts @@ -6,8 +6,7 @@ import { } from 'polymesh-types/types'; import sinon, { SinonStub } from 'sinon'; -import { Entity, Instruction } from '~/api/entities'; -import { Identity } from '~/api/entities/Identity'; +import { Entity, Identity, Instruction } from '~/api/entities'; import { modifyInstructionAuthorization } from '~/api/procedures'; import { Context, TransactionQueue } from '~/base'; import { dsMockUtils, entityMockUtils } from '~/testUtils/mocks'; diff --git a/src/api/entities/TickerReservation/index.ts b/src/api/entities/TickerReservation/index.ts index 3d39d3c577..d9e7b84ece 100644 --- a/src/api/entities/TickerReservation/index.ts +++ b/src/api/entities/TickerReservation/index.ts @@ -2,8 +2,7 @@ import { QueryableStorageEntry } from '@polkadot/api/types'; import { SecurityToken as MeshToken, TickerRegistration } from 'polymesh-types/types'; import { Entity, Identity, SecurityToken } from '~/api/entities'; -import { createSecurityToken, reserveTicker } from '~/api/procedures'; -import { CreateSecurityTokenParams } from '~/api/procedures/createSecurityToken'; +import { createSecurityToken, CreateSecurityTokenParams, reserveTicker } from '~/api/procedures'; import { Context, TransactionQueue } from '~/base'; import { SubCallback, UnsubCallback } from '~/types'; import { identityIdToString, momentToDate, stringToTicker } from '~/utils'; diff --git a/src/api/entities/Venue/__tests__/index.ts b/src/api/entities/Venue/__tests__/index.ts index 18bb9a4307..2aff862119 100644 --- a/src/api/entities/Venue/__tests__/index.ts +++ b/src/api/entities/Venue/__tests__/index.ts @@ -2,9 +2,8 @@ import { u64 } from '@polkadot/types'; import BigNumber from 'bignumber.js'; import sinon from 'sinon'; -import { Entity, Venue } from '~/api/entities'; -import { Instruction } from '~/api/entities/Instruction'; -import { addInstruction } from '~/api/procedures/addInstruction'; +import { Entity, Instruction, Venue } from '~/api/entities'; +import { addInstruction } from '~/api/procedures'; import { Context, TransactionQueue } from '~/base'; import { dsMockUtils, entityMockUtils } from '~/testUtils/mocks'; import { Mocked } from '~/testUtils/types'; diff --git a/src/api/entities/Venue/index.ts b/src/api/entities/Venue/index.ts index 2200485045..ea29b7ff57 100644 --- a/src/api/entities/Venue/index.ts +++ b/src/api/entities/Venue/index.ts @@ -2,7 +2,7 @@ import BigNumber from 'bignumber.js'; import P from 'bluebird'; import { Entity, Identity, Instruction } from '~/api/entities'; -import { addInstruction, AddInstructionParams } from '~/api/procedures/addInstruction'; +import { addInstruction, AddInstructionParams } from '~/api/procedures'; import { Context, TransactionQueue } from '~/base'; import { InstructionStatus } from '~/types'; import { diff --git a/src/api/entities/__tests__/CurrentAccount.ts b/src/api/entities/__tests__/CurrentAccount.ts index 2e30164067..98f29cb7df 100644 --- a/src/api/entities/__tests__/CurrentAccount.ts +++ b/src/api/entities/__tests__/CurrentAccount.ts @@ -1,7 +1,6 @@ import sinon from 'sinon'; -import { Account, CurrentAccount, CurrentIdentity } from '~/api/entities'; -import { Identity } from '~/api/entities/Identity'; +import { Account, CurrentAccount, CurrentIdentity, Identity } from '~/api/entities'; import { Context } from '~/base'; import { dsMockUtils } from '~/testUtils/mocks'; import * as utilsModule from '~/utils'; diff --git a/src/api/entities/types.ts b/src/api/entities/types.ts index 25a3fcb122..4e3d94326d 100644 --- a/src/api/entities/types.ts +++ b/src/api/entities/types.ts @@ -35,3 +35,4 @@ export * from './SecurityToken/types'; export * from './Venue/types'; export * from './Instruction/types'; export * from './Portfolio/types'; +export * from './Proposal/types'; diff --git a/src/api/procedures/__tests__/modifyInstructionAuthorization.ts b/src/api/procedures/__tests__/modifyInstructionAuthorization.ts index 84c804f109..c2a972e513 100644 --- a/src/api/procedures/__tests__/modifyInstructionAuthorization.ts +++ b/src/api/procedures/__tests__/modifyInstructionAuthorization.ts @@ -11,6 +11,7 @@ import { ModifyInstructionAuthorizationParams, prepareModifyInstructionAuthorization, } from '~/api/procedures/modifyInstructionAuthorization'; +import * as procedureUtilsModule from '~/api/procedures/utils'; import { Context } from '~/base'; import { dsMockUtils, entityMockUtils, procedureMockUtils } from '~/testUtils/mocks'; import { Mocked } from '~/testUtils/types'; @@ -50,6 +51,8 @@ describe('modifyInstructionAuthorization procedure', () => { 'meshAuthorizationStatusToAuthorizationStatus' ); instruction = new Instruction({ id }, mockContext); + + sinon.stub(procedureUtilsModule, 'assertInstructionValid'); }); let addTransactionStub: sinon.SinonStub; diff --git a/src/api/procedures/index.ts b/src/api/procedures/index.ts index f30ec915ff..b35513053e 100644 --- a/src/api/procedures/index.ts +++ b/src/api/procedures/index.ts @@ -4,6 +4,7 @@ export { acceptJoinIdentityAuthorization, AcceptJoinIdentityAuthorizationParams, } from './acceptJoinIdentityAuthorization'; +export { addInstruction, AddInstructionParams } from './addInstruction'; // export { cancelProposal } from './cancelProposal'; export { consumeAuthorizationRequests, ConsumeParams } from './consumeAuthorizationRequests'; // export { createProposal, CreateProposalParams } from './createProposal'; @@ -13,7 +14,15 @@ export { createVenue, CreateVenueParams } from './createVenue'; export { inviteAccount, InviteAccountParams } from './inviteAccount'; export { issueTokens, IssueTokensParams } from './issueTokens'; export { modifyClaims, ModifyClaimsParams } from './modifyClaims'; +export { + modifyInstructionAuthorization, + ModifyInstructionAuthorizationParams, +} from './modifyInstructionAuthorization'; export { modifyToken, ModifyTokenParams } from './modifyToken'; +export { + modifyPrimaryIssuanceAgent, + ModifyPrimaryIssuanceAgentParams, +} from './modifyPrimaryIssuanceAgent'; export { modifyTokenTrustedClaimIssuers, ModifyTokenTrustedClaimIssuersParams, @@ -28,12 +37,4 @@ export { togglePauseRequirements, TogglePauseRequirementsParams } from './toggle export { transferPolyX, TransferPolyXParams } from './transferPolyX'; export { transferTokenOwnership, TransferTokenOwnershipParams } from './transferTokenOwnership'; // export { voteOnProposal, VoteOnProposalParams } from './voteOnProposal'; -export { - modifyPrimaryIssuanceAgent, - ModifyPrimaryIssuanceAgentParams, -} from './modifyPrimaryIssuanceAgent'; export { removePrimaryIssuanceAgent } from './removePrimaryIssuanceAgent'; -export { - modifyInstructionAuthorization, - ModifyInstructionAuthorizationParams, -} from './modifyInstructionAuthorization'; diff --git a/src/api/procedures/modifyInstructionAuthorization.ts b/src/api/procedures/modifyInstructionAuthorization.ts index e34419c6e3..48ac126a88 100644 --- a/src/api/procedures/modifyInstructionAuthorization.ts +++ b/src/api/procedures/modifyInstructionAuthorization.ts @@ -37,7 +37,7 @@ export async function prepareModifyInstructionAuthorization( const instruction = new Instruction({ id }, context); - assertInstructionValid(instruction, context); + await assertInstructionValid(instruction, context); const currentIdentity = await context.getCurrentIdentity(); const rawInstructionId = numberToU64(id, context); diff --git a/src/utils/__tests__/index.ts b/src/utils/__tests__/index.ts index b9457c4766..f3843799f7 100644 --- a/src/utils/__tests__/index.ts +++ b/src/utils/__tests__/index.ts @@ -36,7 +36,7 @@ import { import sinon from 'sinon'; import { Account, Identity } from '~/api/entities'; -import { ProposalState } from '~/api/entities/Proposal/types'; +import { ProposalState } from '~/api/entities/types'; import { Context, PostTransactionValue } from '~/base'; import { CallIdEnum, ClaimTypeEnum, ModuleIdEnum } from '~/middleware/types'; import { dsMockUtils, entityMockUtils } from '~/testUtils/mocks'; diff --git a/src/utils/index.ts b/src/utils/index.ts index 0cb2ffdb17..076df4d55c 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -67,7 +67,7 @@ import { } from 'polymesh-types/types'; import { Account, Identity } from '~/api/entities'; -import { ProposalDetails } from '~/api/entities/Proposal/types'; +import { ProposalDetails } from '~/api/entities/types'; import { Context, PolymeshError, PostTransactionValue } from '~/base'; import { meshCountryCodeToCountryCode } from '~/generated/utils'; import {