Skip to content

Commit

Permalink
chore: utils refactor
Browse files Browse the repository at this point in the history
BREAKING CHANGE:

Reorganize utils
Moved to `utils/internal.ts`:
- batchArguments
- calculateNextKey
- createClaim
- delay
- findEventRecord
- getDid
- padString
- removePadding
- requestAtBlock
- requestPaginated
- serialize
- unserialize
- unwrapValue
- unwrapValues
Moved to `utils/conversion.ts`:
- accdountIdToString
- addressToKey
- assetComplianceResultToRequirementCompliance
- assetIdentifierToTokenIdentifier
- assetNameToString
- assetTypeToString
- authIdentifierToAuthTarget
- authorizationDataToAuthorization
- authorizationToAuthorizationData
- authorizationTypeToMeshAuthorizationType
- authTargetToAuthIdentifier
- balanceToBigNumber
- booleanToBool
- boolToBoolean
- bytesToString
- canTransferResultToTransferStatus
- cddIdToString
- cddStatusToBoolean
- claimToMeshClaim
- complianceRequirementToRequirement
- dateToMoment
- documentHashToString
- documentNameToString
- documentToTokenDocumentData
- documentUriToString
- endConditionToSettlementType
- extrinsicIdentifierToTxTag
- fundingRoundNameToString
- identityIdToString
- isCusipValid
- isIsinValid
- isLeiValid
- keyToAddress
- meshAuthorizationStatusToAuthorizationStatus
- meshClaimToClaim
- meshInstructionStatusToInstructionStatus
- meshPermissionToPermission
- meshScopeToScope
- meshVenueTypeToVenueType
- middlewareScopeToScope
- moduleAddressToString
- momentToDate
- numberToBalance
- numberToPipId
- numberToU32
- numberToU64
- permissionToMeshPermission
- portfolioIdToMeshPortfolioId
- portfolioLikeToPortfolioId
- posRatioToBigNumber
- requirementToComplianceRequirement
- scopeToMeshScope
- scopeToMiddlewareScope
- secondaryKeyToMeshSecondaryKey
- signatoryToSignerValue
- signerToSignerValue
- signerToString
- signerValueToSignatory
- signerValueToSigner
- stringToAccountId
- stringToAssetName
- stringToBytes
- stringToCddId
- stringToDocumentHash
- stringToDocumentName
- stringToDocumentUri
- stringToFundingRoundName
- stringToIdentityId
- stringToMemo
- stringToText
- stringToTicker
- stringToVenueDetails
- textToString
- tickerToDid
- tickerToString
- toIdentityWithClaimsArray
- tokenDocumentDataToDocument
- tokenIdentifierToAssetIdentifier
- tokenTypeToAssetType
- transactionHexToTxTag
- txTagToExtrinsicIdentifier
- txTagToProtocolOp
- u8ToTransferStatus
- u64ToBigNumber
- venueDetailsToString
- venueTypeToMeshVenueType
  • Loading branch information
shuffledex committed Nov 11, 2020
1 parent aea1283 commit 579b0cb
Show file tree
Hide file tree
Showing 102 changed files with 4,088 additions and 4,042 deletions.
6 changes: 2 additions & 4 deletions src/Claims.ts
Expand Up @@ -18,14 +18,12 @@ import {
} from '~/types';
import { ClaimOperation } from '~/types/internal';
import {
calculateNextKey,
getDid,
middlewareScopeToScope,
removePadding,
scopeToMiddlewareScope,
signerToString,
toIdentityWithClaimsArray,
} from '~/utils';
} from '~/utils/conversion';
import { calculateNextKey, getDid, removePadding } from '~/utils/internal';

/**
* Handles all Claims related functionality
Expand Down
4 changes: 2 additions & 2 deletions src/Polymesh.ts
Expand Up @@ -35,15 +35,15 @@ import {
UnsubCallback,
} from '~/types';
import {
getDid,
moduleAddressToString,
signerToString,
stringToIdentityId,
stringToTicker,
textToString,
tickerToString,
u32ToBigNumber,
} from '~/utils';
} from '~/utils/conversion';
import { getDid } from '~/utils/internal';

import { Claims } from './Claims';
// import { Governance } from './Governance';
Expand Down
6 changes: 3 additions & 3 deletions src/__tests__/Claims.ts
Expand Up @@ -22,7 +22,7 @@ import {
ScopeType,
} from '~/types';
import { ClaimOperation } from '~/types/internal';
import * as utilsModule from '~/utils';
import * as utilsConversionModule from '~/utils/conversion';

describe('Claims Class', () => {
let context: Mocked<Context>;
Expand Down Expand Up @@ -518,7 +518,7 @@ describe('Claims Class', () => {
dsMockUtils.configureMocks({ contextOptions: { withSeed: true } });

sinon
.stub(utilsModule, 'toIdentityWithClaimsArray')
.stub(utilsConversionModule, 'toIdentityWithClaimsArray')
.withArgs(issuerDidsWithClaimsByTargetQueryResponse.items, context)
.returns(fakeClaims);

Expand Down Expand Up @@ -622,7 +622,7 @@ describe('Claims Class', () => {
dsMockUtils.configureMocks({ contextOptions: { withSeed: true } });

sinon
.stub(utilsModule, 'toIdentityWithClaimsArray')
.stub(utilsConversionModule, 'toIdentityWithClaimsArray')
.withArgs(issuerDidsWithClaimsByTargetQueryResponse.items, context)
.returns(fakeClaims);

Expand Down
6 changes: 3 additions & 3 deletions src/__tests__/Polymesh.ts
Expand Up @@ -14,7 +14,7 @@ import { Polymesh } from '~/Polymesh';
import { dsMockUtils, entityMockUtils } from '~/testUtils/mocks';
import { AccountBalance, SubCallback, TickerReservationStatus } from '~/types';
import { tuple } from '~/types/utils';
import * as utilsModule from '~/utils';
import * as utilsConversionModule from '~/utils/conversion';

jest.mock(
'@polkadot/api',
Expand Down Expand Up @@ -443,7 +443,7 @@ describe('Polymesh Class', () => {

describe('method: getTickerReservations', () => {
beforeAll(() => {
sinon.stub(utilsModule, 'signerValueToSignatory');
sinon.stub(utilsConversionModule, 'signerValueToSignatory');
});

afterAll(() => {
Expand Down Expand Up @@ -664,7 +664,7 @@ describe('Polymesh Class', () => {

describe('method: getSecurityTokens', () => {
beforeAll(() => {
sinon.stub(utilsModule, 'signerValueToSignatory');
sinon.stub(utilsConversionModule, 'signerValueToSignatory');
});

afterAll(() => {
Expand Down
4 changes: 2 additions & 2 deletions src/api/entities/Account.ts
Expand Up @@ -16,12 +16,12 @@ import {
} from '~/types';
import {
addressToKey,
calculateNextKey,
extrinsicIdentifierToTxTag,
identityIdToString,
stringToAccountId,
txTagToExtrinsicIdentifier,
} from '~/utils';
} from '~/utils/conversion';
import { calculateNextKey } from '~/utils/internal';

export interface UniqueIdentifiers {
address: string;
Expand Down
2 changes: 1 addition & 1 deletion src/api/entities/CurrentIdentity.ts
Expand Up @@ -14,8 +14,8 @@ import {
import { TransactionQueue } from '~/base';
import { SecondaryKey, Signer, SubCallback, UnsubCallback } from '~/types';
import { PortfolioId } from '~/types/internal';
import { portfolioIdToMeshPortfolioId, u64ToBigNumber } from '~/utils';
import { MAX_CONCURRENT_REQUESTS } from '~/utils/constants';
import { portfolioIdToMeshPortfolioId, u64ToBigNumber } from '~/utils/conversion';

/**
* Represents the Identity associated to the current [[Account]]
Expand Down
2 changes: 1 addition & 1 deletion src/api/entities/Entity.ts
@@ -1,6 +1,6 @@
import { Context, PolymeshError } from '~/base';
import { ErrorCode } from '~/types';
import { serialize, unserialize } from '~/utils';
import { serialize, unserialize } from '~/utils/internal';

/**
* Represents an object or resource in the Polymesh Ecosystem with its own set of properties and functionality
Expand Down
3 changes: 2 additions & 1 deletion src/api/entities/Identity/IdentityAuthorizations.ts
Expand Up @@ -4,7 +4,8 @@ import { Authorization } from 'polymesh-types/types';
import { AuthorizationRequest, Identity } from '~/api/entities';
import { PaginationOptions, ResultSet } from '~/types';
import { tuple } from '~/types/utils';
import { requestPaginated, signatoryToSignerValue, stringToIdentityId } from '~/utils';
import { signatoryToSignerValue, stringToIdentityId } from '~/utils/conversion';
import { requestPaginated } from '~/utils/internal';

import { Authorizations } from '../common/namespaces/Authorizations';

Expand Down
7 changes: 6 additions & 1 deletion src/api/entities/Identity/Portfolios.ts
Expand Up @@ -6,7 +6,12 @@ import { createPortfolio, deletePortfolio } from '~/api/procedures';
import { PolymeshError, TransactionQueue } from '~/base';
import { PortfolioNumber } from '~/polkadot';
import { ErrorCode } from '~/types';
import { identityIdToString, numberToU64, stringToIdentityId, u64ToBigNumber } from '~/utils';
import {
identityIdToString,
numberToU64,
stringToIdentityId,
u64ToBigNumber,
} from '~/utils/conversion';

/**
* Handles all Portfolio related functionality on the Identity side
Expand Down
7 changes: 4 additions & 3 deletions src/api/entities/Identity/__tests__/IdentityAuthorizations.ts
Expand Up @@ -6,7 +6,8 @@ import { AuthorizationRequest, Identity, Namespace } from '~/api/entities';
import { dsMockUtils, entityMockUtils } from '~/testUtils/mocks';
import { AuthorizationType } from '~/types';
import { tuple } from '~/types/utils';
import * as utilsModule from '~/utils';
import * as utilsConversionModule from '~/utils/conversion';
import * as utilsInternalModule from '~/utils/internal';

import { IdentityAuthorizations } from '../IdentityAuthorizations';

Expand Down Expand Up @@ -41,10 +42,10 @@ describe('IdentityAuthorizations class', () => {
});

test('should retrieve all pending authorizations sent by the Identity', async () => {
sinon.stub(utilsModule, 'signerValueToSignatory');
sinon.stub(utilsConversionModule, 'signerValueToSignatory');
dsMockUtils.createQueryStub('identity', 'authorizationsGiven');

const requestPaginatedStub = sinon.stub(utilsModule, 'requestPaginated');
const requestPaginatedStub = sinon.stub(utilsInternalModule, 'requestPaginated');

const did = 'someDid';

Expand Down
8 changes: 4 additions & 4 deletions src/api/entities/Identity/__tests__/Portfolios.ts
Expand Up @@ -9,7 +9,7 @@ import { Context, TransactionQueue } from '~/base';
import { dsMockUtils, entityMockUtils } from '~/testUtils/mocks';
import { Mocked } from '~/testUtils/types';
import { tuple } from '~/types/utils';
import * as utilsModule from '~/utils';
import * as utilsConversionModule from '~/utils/conversion';

import { Portfolios } from '../Portfolios';

Expand All @@ -28,9 +28,9 @@ describe('Portfolios class', () => {
beforeAll(() => {
dsMockUtils.initMocks();
entityMockUtils.initMocks();
stringToIdentityIdStub = sinon.stub(utilsModule, 'stringToIdentityId');
u64ToBigNumberStub = sinon.stub(utilsModule, 'u64ToBigNumber');
numberToU64Stub = sinon.stub(utilsModule, 'numberToU64');
stringToIdentityIdStub = sinon.stub(utilsConversionModule, 'stringToIdentityId');
u64ToBigNumberStub = sinon.stub(utilsConversionModule, 'u64ToBigNumber');
numberToU64Stub = sinon.stub(utilsConversionModule, 'numberToU64');
});

beforeEach(() => {
Expand Down
14 changes: 7 additions & 7 deletions src/api/entities/Identity/__tests__/index.ts
Expand Up @@ -9,7 +9,7 @@ import { Context } from '~/base';
import { tokensByTrustedClaimIssuer, tokensHeldByDid } from '~/middleware/queries';
import { dsMockUtils, entityMockUtils } from '~/testUtils/mocks';
import { Order, Role, RoleType, TickerOwnerRole, TokenOwnerRole, VenueOwnerRole } from '~/types';
import * as utilsModule from '~/utils';
import * as utilsConversionModule from '~/utils/conversion';

jest.mock(
'~/api/entities/TickerReservation',
Expand All @@ -33,8 +33,8 @@ describe('Identity class', () => {

beforeAll(() => {
dsMockUtils.initMocks();
stringToIdentityIdStub = sinon.stub(utilsModule, 'stringToIdentityId');
identityIdToStringStub = sinon.stub(utilsModule, 'identityIdToString');
stringToIdentityIdStub = sinon.stub(utilsConversionModule, 'stringToIdentityId');
identityIdToStringStub = sinon.stub(utilsConversionModule, 'identityIdToString');
});

beforeEach(() => {
Expand Down Expand Up @@ -224,12 +224,12 @@ describe('Identity class', () => {
identity = new Identity({ did }, mockContext);

sinon
.stub(utilsModule, 'stringToTicker')
.stub(utilsConversionModule, 'stringToTicker')
.withArgs(ticker, mockContext)
.returns(rawTicker);

sinon
.stub(utilsModule, 'balanceToBigNumber')
.stub(utilsConversionModule, 'balanceToBigNumber')
.withArgs(fakeBalance)
.returns(fakeValue);
});
Expand Down Expand Up @@ -305,7 +305,7 @@ describe('Identity class', () => {
.resolves(fakeHasValidCdd);

sinon
.stub(utilsModule, 'cddStatusToBoolean')
.stub(utilsConversionModule, 'cddStatusToBoolean')
.withArgs(fakeHasValidCdd)
.returns(statusResponse);

Expand Down Expand Up @@ -363,7 +363,7 @@ describe('Identity class', () => {
let rawDidRecord: DidRecord;

beforeAll(() => {
accountIdToStringStub = sinon.stub(utilsModule, 'accountIdToString');
accountIdToStringStub = sinon.stub(utilsConversionModule, 'accountIdToString');
accountIdToStringStub.returns(accountId);
});

Expand Down
5 changes: 2 additions & 3 deletions src/api/entities/Identity/index.ts
Expand Up @@ -22,14 +22,13 @@ import {
import {
accountIdToString,
balanceToBigNumber,
calculateNextKey,
cddStatusToBoolean,
identityIdToString,
removePadding,
stringToIdentityId,
stringToTicker,
u64ToBigNumber,
} from '~/utils';
} from '~/utils/conversion';
import { calculateNextKey, removePadding } from '~/utils/internal';

import { IdentityAuthorizations } from './IdentityAuthorizations';
import { Portfolios } from './Portfolios';
Expand Down
12 changes: 7 additions & 5 deletions src/api/entities/Instruction/__tests__/index.ts
Expand Up @@ -14,7 +14,7 @@ import { Mocked } from '~/testUtils/types';
import { AuthorizationStatus, InstructionStatus, InstructionType } from '~/types';
import { InstructionAuthorizationOperation } from '~/types/internal';
import { tuple } from '~/types/utils';
import * as utilsModule from '~/utils';
import * as utilsConversionModule from '~/utils/conversion';

jest.mock(
'~/api/entities/Identity',
Expand Down Expand Up @@ -83,7 +83,7 @@ describe('Instruction class', () => {

entityMockUtils.configureMocks({ identityOptions: { did: owner } });
sinon
.stub(utilsModule, 'numberToU64')
.stub(utilsConversionModule, 'numberToU64')
.withArgs(id, context)
.returns(rawId);

Expand Down Expand Up @@ -167,8 +167,10 @@ describe('Instruction class', () => {
dsMockUtils.createQueryStub('settlement', 'authsReceived', {
entries: [authsReceivedEntries[0]],
});
sinon.stub(utilsModule, 'identityIdToString').returns(did);
sinon.stub(utilsModule, 'meshAuthorizationStatusToAuthorizationStatus').returns(status);
sinon.stub(utilsConversionModule, 'identityIdToString').returns(did);
sinon
.stub(utilsConversionModule, 'meshAuthorizationStatusToAuthorizationStatus')
.returns(status);
});

test('should return a list of Authorization Statuses', async () => {
Expand All @@ -194,7 +196,7 @@ describe('Instruction class', () => {

entityMockUtils.configureMocks({ securityTokenOptions: { ticker } });
sinon
.stub(utilsModule, 'numberToU64')
.stub(utilsConversionModule, 'numberToU64')
.withArgs(id, context)
.returns(rawId);
dsMockUtils.createQueryStub('settlement', 'instructionLegs', {
Expand Down
2 changes: 1 addition & 1 deletion src/api/entities/Instruction/index.ts
Expand Up @@ -16,7 +16,7 @@ import {
tickerToString,
u32ToBigNumber,
u64ToBigNumber,
} from '~/utils';
} from '~/utils/conversion';

import { InstructionAuthorization, InstructionDetails, InstructionType, Leg } from './types';

Expand Down
2 changes: 1 addition & 1 deletion src/api/entities/NumberedPortfolio.ts
Expand Up @@ -6,7 +6,7 @@ import { Context, TransactionQueue } from '~/base';
import { eventByIndexedArgs } from '~/middleware/queries';
import { EventIdEnum, ModuleIdEnum, Query } from '~/middleware/types';
import { Ensured, EventIdentifier } from '~/types';
import { bytesToString, numberToU64 } from '~/utils';
import { bytesToString, numberToU64 } from '~/utils/conversion';

export interface UniqueIdentifiers {
did: string;
Expand Down
8 changes: 4 additions & 4 deletions src/api/entities/Portfolio/__tests__/index.ts
Expand Up @@ -7,7 +7,7 @@ import { Entity, Identity, Portfolio, SecurityToken } from '~/api/entities';
import { Context } from '~/base';
import { dsMockUtils } from '~/testUtils/mocks';
import { tuple } from '~/types/utils';
import * as utilsModule from '~/utils';
import * as utilsConversionModule from '~/utils/conversion';

describe('Portfolio class', () => {
let context: Context;
Expand Down Expand Up @@ -113,7 +113,7 @@ describe('Portfolio class', () => {
User: dsMockUtils.createMockU64(id.toNumber()),
}),
});
sinon.stub(utilsModule, 'portfolioIdToMeshPortfolioId');
sinon.stub(utilsConversionModule, 'portfolioIdToMeshPortfolioId');
dsMockUtils.configureMocks({ contextOptions: { did } });
});

Expand Down Expand Up @@ -174,7 +174,7 @@ describe('Portfolio class', () => {
beforeAll(() => {
did = 'someDid';
id = new BigNumber(1);
sinon.stub(utilsModule, 'portfolioIdToMeshPortfolioId');
sinon.stub(utilsConversionModule, 'portfolioIdToMeshPortfolioId');
});

afterAll(() => {
Expand All @@ -183,7 +183,7 @@ describe('Portfolio class', () => {

test('should return the custodian of the portfolio', async () => {
const custodianDid = 'custodianDid';
const identityIdToStringStub = sinon.stub(utilsModule, 'identityIdToString');
const identityIdToStringStub = sinon.stub(utilsConversionModule, 'identityIdToString');

dsMockUtils
.createQueryStub('portfolio', 'portfolioCustodian')
Expand Down
4 changes: 2 additions & 2 deletions src/api/entities/Portfolio/index.ts
Expand Up @@ -6,11 +6,11 @@ import { Entity, Identity, SecurityToken } from '~/api/entities';
import { Context } from '~/base';
import {
balanceToBigNumber,
getDid,
identityIdToString,
portfolioIdToMeshPortfolioId,
tickerToString,
} from '~/utils';
} from '~/utils/conversion';
import { getDid } from '~/utils/internal';

import { PortfolioBalance } from './types';

Expand Down
2 changes: 1 addition & 1 deletion src/api/entities/SecurityToken/Compliance/Requirements.ts
Expand Up @@ -18,7 +18,7 @@ import {
signerToString,
stringToIdentityId,
stringToTicker,
} from '~/utils';
} from '~/utils/conversion';

/**
* Handles all Security Token Compliance Requirements related functionality
Expand Down
Expand Up @@ -8,7 +8,7 @@ import {
import { TransactionQueue } from '~/base';
import { SubCallback, UnsubCallback } from '~/types';
import { TrustedClaimIssuerOperation } from '~/types/internal';
import { identityIdToString, stringToTicker } from '~/utils';
import { identityIdToString, stringToTicker } from '~/utils/conversion';

/**
* Handles all Security Token Default Trusted Claim Issuers related functionality
Expand Down

0 comments on commit 579b0cb

Please sign in to comment.