@polymeshassociation/polymesh-sdk 27.8.0-beta.2 → 28.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -2
- package/api/entities/Asset/Fungible/TransferRestrictions/index.d.ts +47 -11
- package/api/entities/Asset/Fungible/TransferRestrictions/index.d.ts.map +1 -1
- package/api/entities/Asset/Fungible/TransferRestrictions/index.js +214 -21
- package/api/entities/Asset/Fungible/TransferRestrictions/index.js.map +1 -1
- package/api/entities/Asset/types.d.ts +86 -5
- package/api/entities/Asset/types.d.ts.map +1 -1
- package/api/entities/Asset/types.js.map +1 -1
- package/api/entities/DefaultTrustedClaimIssuer.d.ts +2 -2
- package/api/entities/DefaultTrustedClaimIssuer.d.ts.map +1 -1
- package/api/entities/DefaultTrustedClaimIssuer.js.map +1 -1
- package/api/entities/types.d.ts +11 -9
- package/api/entities/types.d.ts.map +1 -1
- package/api/entities/types.js +6 -1
- package/api/entities/types.js.map +1 -1
- package/api/procedures/setAssetStats.d.ts +22 -0
- package/api/procedures/setAssetStats.d.ts.map +1 -0
- package/api/procedures/setAssetStats.js +87 -0
- package/api/procedures/setAssetStats.js.map +1 -0
- package/api/procedures/setTransferRestrictionExemptions.d.ts +20 -0
- package/api/procedures/setTransferRestrictionExemptions.d.ts.map +1 -0
- package/api/procedures/setTransferRestrictionExemptions.js +102 -0
- package/api/procedures/setTransferRestrictionExemptions.js.map +1 -0
- package/api/procedures/setTransferRestrictions.d.ts +9 -34
- package/api/procedures/setTransferRestrictions.d.ts.map +1 -1
- package/api/procedures/setTransferRestrictions.js +61 -257
- package/api/procedures/setTransferRestrictions.js.map +1 -1
- package/api/procedures/types.d.ts +40 -48
- package/api/procedures/types.d.ts.map +1 -1
- package/api/procedures/types.js.map +1 -1
- package/internal.d.ts +3 -6
- package/internal.d.ts.map +1 -1
- package/internal.js +7 -11
- package/internal.js.map +1 -1
- package/npm-package/polymeshassociation-polymesh-sdk-28.0.0-beta.2.tgz +0 -0
- package/package.json +1 -1
- package/utils/conversion.d.ts +31 -22
- package/utils/conversion.d.ts.map +1 -1
- package/utils/conversion.js +181 -164
- package/utils/conversion.js.map +1 -1
- package/utils/internal.d.ts +1 -14
- package/utils/internal.d.ts.map +1 -1
- package/utils/internal.js +3 -110
- package/utils/internal.js.map +1 -1
- package/api/entities/Asset/Fungible/TransferRestrictions/ClaimCount.d.ts +0 -69
- package/api/entities/Asset/Fungible/TransferRestrictions/ClaimCount.d.ts.map +0 -1
- package/api/entities/Asset/Fungible/TransferRestrictions/ClaimCount.js +0 -16
- package/api/entities/Asset/Fungible/TransferRestrictions/ClaimCount.js.map +0 -1
- package/api/entities/Asset/Fungible/TransferRestrictions/ClaimPercentage.d.ts +0 -60
- package/api/entities/Asset/Fungible/TransferRestrictions/ClaimPercentage.d.ts.map +0 -1
- package/api/entities/Asset/Fungible/TransferRestrictions/ClaimPercentage.js +0 -16
- package/api/entities/Asset/Fungible/TransferRestrictions/ClaimPercentage.js.map +0 -1
- package/api/entities/Asset/Fungible/TransferRestrictions/Count.d.ts +0 -81
- package/api/entities/Asset/Fungible/TransferRestrictions/Count.d.ts.map +0 -1
- package/api/entities/Asset/Fungible/TransferRestrictions/Count.js +0 -20
- package/api/entities/Asset/Fungible/TransferRestrictions/Count.js.map +0 -1
- package/api/entities/Asset/Fungible/TransferRestrictions/Percentage.d.ts +0 -59
- package/api/entities/Asset/Fungible/TransferRestrictions/Percentage.d.ts.map +0 -1
- package/api/entities/Asset/Fungible/TransferRestrictions/Percentage.js +0 -16
- package/api/entities/Asset/Fungible/TransferRestrictions/Percentage.js.map +0 -1
- package/api/entities/Asset/Fungible/TransferRestrictions/TransferRestrictionBase.d.ts +0 -62
- package/api/entities/Asset/Fungible/TransferRestrictions/TransferRestrictionBase.d.ts.map +0 -1
- package/api/entities/Asset/Fungible/TransferRestrictions/TransferRestrictionBase.js +0 -189
- package/api/entities/Asset/Fungible/TransferRestrictions/TransferRestrictionBase.js.map +0 -1
- package/api/procedures/addAssetStat.d.ts +0 -16
- package/api/procedures/addAssetStat.d.ts.map +0 -1
- package/api/procedures/addAssetStat.js +0 -87
- package/api/procedures/addAssetStat.js.map +0 -1
- package/api/procedures/addTransferRestriction.d.ts +0 -23
- package/api/procedures/addTransferRestriction.d.ts.map +0 -1
- package/api/procedures/addTransferRestriction.js +0 -122
- package/api/procedures/addTransferRestriction.js.map +0 -1
- package/api/procedures/removeAssetStat.d.ts +0 -16
- package/api/procedures/removeAssetStat.d.ts.map +0 -1
- package/api/procedures/removeAssetStat.js +0 -85
- package/api/procedures/removeAssetStat.js.map +0 -1
- package/npm-package/polymeshassociation-polymesh-sdk-27.8.0-beta.2.tgz +0 -0
package/utils/conversion.js
CHANGED
|
@@ -28,9 +28,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
exports.transactionPermissionsToExtrinsicPermissions = exports.transactionPermissionsToTxGroups = exports.txGroupToTxTags = exports.textToString = exports.stringToText = exports.portfolioToPortfolioKind = exports.portfolioIdToMeshPortfolioId = exports.portfolioLikeToPortfolio = exports.portfolioIdToPortfolio = exports.portfolioLikeToPortfolioId = exports.portfolioToPortfolioId = exports.meshPortfolioIdToPortfolio = exports.claimPercentageToClaimPercentageRestrictionValue = exports.claimCountToClaimCountRestrictionValue = exports.meshClaimToInputStatClaim = exports.perbillToBigNumber = exports.permillToBigNumber = exports.percentageToPermill = exports.bigNumberToU128 = exports.bigNumberToU64 = exports.bigNumberToU16 = exports.u128ToBigNumber = exports.u64ToBigNumber = exports.signerToString = exports.signerToSignatory = exports.signerValueToSigner = exports.signerToSignerValue = exports.signatoryToSignerValue = exports.signerValueToSignatory = exports.identityIdToString = exports.stringToIdentityId = exports.stringToBlockHash = exports.stringToHash = exports.hashToString = exports.accountIdToString = exports.stringToAccountId = exports.momentToDate = exports.dateToMoment = exports.stringToH512 = exports.stringToU8aFixed = exports.assetToMeshAssetId = exports.assetIdToString = exports.tickerToString = exports.stringToAssetId = exports.stringToTicker = exports.bytesToString = exports.stringToBytes = exports.boolToBoolean = exports.booleanToBool = exports.tickerToDid = void 0;
|
|
30
30
|
exports.trustedIssuerToTrustedClaimIssuer = exports.meshClaimTypeToClaimType = exports.stringToTargetIdentity = exports.statsClaimToStatClaimInputType = exports.meshClaimToClaim = exports.middlewareEventDetailsToEventIdentifier = exports.scopeToMiddlewareScope = exports.middlewareScopeToScope = exports.claimToMeshClaim = exports.cddIdToString = exports.stringToCddId = exports.meshScopeToScope = exports.scopeToMeshScope = exports.cddStatusToBoolean = exports.documentToAssetDocument = exports.assetDocumentToDocument = exports.documentHashToString = exports.stringToDocumentHash = exports.assetIdentifierToSecurityIdentifier = exports.securityIdentifierToAssetIdentifier = exports.isFigiValid = exports.isLeiValid = exports.isCusipValid = exports.isIsinValid = exports.fundingRoundToAssetFundingRound = exports.nameToAssetName = exports.posRatioToBigNumber = exports.assetTypeToKnownOrId = exports.getInternalAssetType = exports.getInternalNftType = exports.internalNftTypeToNftType = exports.internalAssetTypeToAssetType = exports.u8ToTransferStatus = exports.stringToMemo = exports.authorizationDataToAuthorization = exports.agentGroupToPermissionGroup = exports.balanceToBigNumber = exports.bigNumberToBalance = exports.authorizationTypeToMeshAuthorizationType = exports.authorizationToAuthorizationData = exports.agentGroupToPermissionGroupIdentifier = exports.permissionGroupIdentifierToAgentGroup = exports.u8ToBigNumber = exports.u16ToBigNumber = exports.u32ToBigNumber = exports.bigNumberToU32 = exports.meshPermissionsToPermissionsV2 = exports.meshPermissionsToPermissions = exports.extrinsicPermissionsToTransactionPermissions = exports.permissionsToMeshPermissions = void 0;
|
|
31
|
-
exports.
|
|
32
|
-
exports.mediatorAffirmationStatusToStatus = exports.toHistoricalSettlements = exports.toCustomClaimTypeWithIdentity = exports.nftInputToNftMetadataVec = exports.nftInputToNftMetadataAttribute = exports.meshNftToNftId = exports.meshMetadataKeyToMetadataKey = exports.collectionKeysToMetadataKeys = exports.middlewareAuthorizationDataToAuthorization = exports.middlewarePermissionsDataToPermissions = exports.datesToScheduleCheckpoints = exports.middlewareAgentGroupDataToPermissionGroup = exports.legToOffChainLeg = exports.legToNonFungibleLeg = exports.legToFungibleLeg = exports.middlewarePortfolioDataToPortfolio = exports.expiryToMoment = exports.middlewareInstructionToHistoricInstruction = exports.middlewareInstructionToInstructionEndCondition = exports.middlewareInstructionStatusToInstructionStatus = exports.middlewareAffirmStatusToAffirmationStatus = exports.middlewareLegToLeg = exports.portfolioIdStringToPortfolio = exports.instructionMemoToString = exports.metadataValueDetailToMeshMetadataValueDetail = exports.metadataValueToMeshMetadataValue = exports.meshMetadataValueToMetadataValue = exports.metadataToMeshMetadataKey = exports.meshMetadataSpecToMetadataSpec = exports.metadataSpecToMeshMetadataSpec = exports.meshProposalStateToProposalStatus = exports.inputStatTypeToMeshStatType = exports.countStatInputToStatUpdates = exports.claimCountStatInputToStatUpdates = exports.toExemptKey = exports.complianceConditionsToBtreeSet = exports.sortTransferRestrictionByClaimValue = exports.createStat2ndKey = exports.transferRestrictionTypeToStatOpType = exports.statTypeToStatOpType = exports.meshStatToStatType = exports.statUpdatesToBtreeStatUpdate = exports.keyAndValueToStatUpdate = exports.transferConditionsToBtreeTransferConditions = exports.statisticStatTypesToBtreeStatType = exports.sortStatsByClaimType = exports.statisticsOpTypeToStatType =
|
|
33
|
-
exports.fundingToRawFunding = exports.
|
|
31
|
+
exports.corporateActionParamsToMeshCorporateActionArgs = exports.corporateActionIdentifierToCaId = exports.distributionToDividendDistributionParams = exports.caTaxWithholdingsToMeshTaxWithholdings = exports.targetsToTargetIdentities = exports.targetIdentitiesToCorporateActionTargets = exports.checkpointToRecordDateSpec = exports.corporateActionKindToCaKind = exports.meshCorporateActionToCorporateActionParams = exports.fundraiserToOfferingDetails = exports.fundraiserTierToTier = exports.middlewarePortfolioToPortfolio = exports.permissionsLikeToPermissions = exports.offeringTierToPriceTier = exports.nftDispatchErrorToTransferError = exports.assetDispatchErrorToTransferError = exports.identitiesSetToIdentities = exports.portfolioIdsToBtreeSet = exports.identitiesToBtreeSet = exports.transferRestrictionToPolymeshTransferCondition = exports.claimIssuerToMeshClaimIssuer = exports.claimTypeToMeshClaimType = exports.nftMovementToPortfolioFund = exports.fungibleMovementToPortfolioFund = exports.nftToMeshNft = exports.toIdentityWithClaimsArray = exports.middlewareClaimToClaimData = exports.endConditionToSettlementType = exports.meshSettlementTypeToEndCondition = exports.meshAffirmationStatusToAffirmationStatus = exports.meshInstructionStatusToInstructionStatus = exports.venueTypeToMeshVenueType = exports.meshVenueTypeToVenueType = exports.secondaryAccountToMeshSecondaryKey = exports.transactionToTxTag = exports.transactionHexToTxTag = exports.coerceHexToString = exports.addressToKey = exports.keyToAddress = exports.moduleAddressToString = exports.assetComplianceReportToCompliance = exports.assetComplianceResultToCompliance = exports.txTagToExtrinsicIdentifier = exports.extrinsicIdentifierToTxTag = exports.txTagToProtocolOp = exports.complianceRequirementToRequirement = exports.complianceRequirementReportToRequirementCompliance = exports.complianceRequirementResultToRequirementCompliance = exports.requirementToComplianceRequirement = exports.trustedClaimIssuerToTrustedIssuer = void 0;
|
|
32
|
+
exports.signatureToMeshRuntimeMultiSignature = exports.createRawExtrinsicStatus = exports.assetCountToRaw = exports.mediatorAffirmationStatusToStatus = exports.toHistoricalSettlements = exports.toCustomClaimTypeWithIdentity = exports.nftInputToNftMetadataVec = exports.nftInputToNftMetadataAttribute = exports.meshNftToNftId = exports.meshMetadataKeyToMetadataKey = exports.collectionKeysToMetadataKeys = exports.middlewareAuthorizationDataToAuthorization = exports.middlewarePermissionsDataToPermissions = exports.datesToScheduleCheckpoints = exports.middlewareAgentGroupDataToPermissionGroup = exports.legToOffChainLeg = exports.legToNonFungibleLeg = exports.legToFungibleLeg = exports.middlewarePortfolioDataToPortfolio = exports.expiryToMoment = exports.middlewareInstructionToHistoricInstruction = exports.middlewareInstructionToInstructionEndCondition = exports.middlewareInstructionStatusToInstructionStatus = exports.middlewareAffirmStatusToAffirmationStatus = exports.middlewareLegToLeg = exports.portfolioIdStringToPortfolio = exports.instructionMemoToString = exports.metadataValueDetailToMeshMetadataValueDetail = exports.metadataValueToMeshMetadataValue = exports.meshMetadataValueToMetadataValue = exports.metadataToMeshMetadataKey = exports.meshMetadataSpecToMetadataSpec = exports.metadataSpecToMeshMetadataSpec = exports.meshProposalStateToProposalStatus = exports.inputStatTypeToMeshStatType = exports.countStatInputToStatUpdates = exports.claimCountStatInputToStatUpdates = exports.toExemptKey = exports.complianceConditionsToBtreeSet = exports.sortTransferRestrictionByClaimValue = exports.createStat2ndKey = exports.transferRestrictionTypeToStatOpType = exports.statTypeToStatOpType = exports.meshStatToStatType = exports.statUpdatesToBtreeStatUpdate = exports.keyAndValueToStatUpdate = exports.transferConditionsToBtreeTransferConditions = exports.statisticStatTypesToBtreeStatType = exports.sortStatsByClaimType = exports.statisticsOpTypeToStatType = void 0;
|
|
33
|
+
exports.fundingToRawFunding = exports.granularCanTransferResultToTransferBreakdown = exports.transferReportToTransferBreakdown = exports.exemptionToTransferExemption = exports.assetStatToStat = exports.assetComplianceToTransferRestrictions = exports.transferConditionToTransferRestriction = exports.getStat2ndKey = exports.getStat1stKey = exports.meshBallotDetailsToCorporateBallotDetails = exports.ballotVoteToMeshBallotVote = exports.ballotDetailsToBallotStatus = exports.corporateBallotMetaToMeshCorporateBallotMeta = exports.corporateMotionToMeshCorporateMotion = exports.corporateBallotTimeRangeToMeshCorporateBallotTimeRange = exports.meshCorporateBallotMetaToCorporateBallotMeta = exports.meshCorporateBallotMotionToCorporateBallotMotion = exports.rawValidatorPrefToCommission = exports.rawStakingLedgerToStakingLedgerEntry = exports.rewardDestinationToPayee = exports.rawNominationToStakingNomination = exports.activeEraStakingToActiveEraInfo = exports.stakingRewardDestinationToRaw = exports.middlewareProposalStateToProposalStatus = exports.childKeysWithAuthToCreateChildIdentitiesWithAuth = exports.secondaryAccountWithAuthToSecondaryKeyWithAuth = exports.receiptDetailsToMeshReceiptDetails = exports.offChainMetadataToMeshReceiptMetadata = void 0;
|
|
34
34
|
const util_1 = require("@polkadot/util");
|
|
35
35
|
const util_crypto_1 = require("@polkadot/util-crypto");
|
|
36
36
|
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
@@ -2048,7 +2048,8 @@ function meshClaimTypeToClaimType(claimType) {
|
|
|
2048
2048
|
return types_3.ClaimType.Exempted;
|
|
2049
2049
|
}
|
|
2050
2050
|
if (type === 'Custom') {
|
|
2051
|
-
|
|
2051
|
+
const claim = claimType.asCustom;
|
|
2052
|
+
return { type: types_3.ClaimType.Custom, customClaimTypeId: u32ToBigNumber(claim) };
|
|
2052
2053
|
}
|
|
2053
2054
|
if (type === 'Blocked') {
|
|
2054
2055
|
return types_3.ClaimType.Blocked;
|
|
@@ -2083,7 +2084,18 @@ function trustedClaimIssuerToTrustedIssuer(issuer, context) {
|
|
|
2083
2084
|
trustedFor = 'Any';
|
|
2084
2085
|
}
|
|
2085
2086
|
else {
|
|
2086
|
-
trustedFor = {
|
|
2087
|
+
trustedFor = {
|
|
2088
|
+
Specific: claimTypes.map(claimType => {
|
|
2089
|
+
if (typeof claimType === 'object' && claimType.customClaimTypeId) {
|
|
2090
|
+
// Create a proper Custom enum value
|
|
2091
|
+
return context.createType('PolymeshPrimitivesIdentityClaimClaimType', {
|
|
2092
|
+
Custom: bigNumberToU32(claimType.customClaimTypeId, context),
|
|
2093
|
+
});
|
|
2094
|
+
}
|
|
2095
|
+
// For non-custom claim types
|
|
2096
|
+
return claimType;
|
|
2097
|
+
}),
|
|
2098
|
+
};
|
|
2087
2099
|
}
|
|
2088
2100
|
return context.createType('PolymeshPrimitivesConditionTrustedIssuer', {
|
|
2089
2101
|
issuer: stringToIdentityId(did, context),
|
|
@@ -2616,8 +2628,9 @@ exports.claimTypeToMeshClaimType = claimTypeToMeshClaimType;
|
|
|
2616
2628
|
* @hidden
|
|
2617
2629
|
*/
|
|
2618
2630
|
function claimIssuerToMeshClaimIssuer(claimIssuer, context) {
|
|
2631
|
+
const issuerId = (0, internal_3.asIdentity)(claimIssuer.issuer, context);
|
|
2619
2632
|
const claimType = claimTypeToMeshClaimType(claimIssuer.claimType, context);
|
|
2620
|
-
const identityId = stringToIdentityId(
|
|
2633
|
+
const identityId = stringToIdentityId(issuerId.did, context);
|
|
2621
2634
|
return [claimType, identityId];
|
|
2622
2635
|
}
|
|
2623
2636
|
exports.claimIssuerToMeshClaimIssuer = claimIssuerToMeshClaimIssuer;
|
|
@@ -2703,42 +2716,6 @@ function identitiesSetToIdentities(identitySet, context) {
|
|
|
2703
2716
|
return [...identitySet].map(rawId => new internal_1.Identity({ did: identityIdToString(rawId) }, context));
|
|
2704
2717
|
}
|
|
2705
2718
|
exports.identitiesSetToIdentities = identitiesSetToIdentities;
|
|
2706
|
-
/**
|
|
2707
|
-
* @hidden
|
|
2708
|
-
*/
|
|
2709
|
-
function transferConditionToTransferRestriction(transferCondition, context) {
|
|
2710
|
-
if (transferCondition.isMaxInvestorCount) {
|
|
2711
|
-
return {
|
|
2712
|
-
type: types_3.TransferRestrictionType.Count,
|
|
2713
|
-
value: u64ToBigNumber(transferCondition.asMaxInvestorCount),
|
|
2714
|
-
};
|
|
2715
|
-
}
|
|
2716
|
-
else if (transferCondition.isMaxInvestorOwnership) {
|
|
2717
|
-
return {
|
|
2718
|
-
type: types_3.TransferRestrictionType.Percentage,
|
|
2719
|
-
value: permillToBigNumber(transferCondition.asMaxInvestorOwnership),
|
|
2720
|
-
};
|
|
2721
|
-
}
|
|
2722
|
-
else if (transferCondition.isClaimCount) {
|
|
2723
|
-
return {
|
|
2724
|
-
type: types_3.TransferRestrictionType.ClaimCount,
|
|
2725
|
-
value: claimCountToClaimCountRestrictionValue(transferCondition.asClaimCount, context),
|
|
2726
|
-
};
|
|
2727
|
-
}
|
|
2728
|
-
else if (transferCondition.isClaimOwnership) {
|
|
2729
|
-
return {
|
|
2730
|
-
type: types_3.TransferRestrictionType.ClaimPercentage,
|
|
2731
|
-
value: claimPercentageToClaimPercentageRestrictionValue(transferCondition.asClaimOwnership, context),
|
|
2732
|
-
};
|
|
2733
|
-
}
|
|
2734
|
-
else {
|
|
2735
|
-
throw new internal_1.PolymeshError({
|
|
2736
|
-
code: types_3.ErrorCode.FatalError,
|
|
2737
|
-
message: 'Unexpected transfer condition type',
|
|
2738
|
-
});
|
|
2739
|
-
}
|
|
2740
|
-
}
|
|
2741
|
-
exports.transferConditionToTransferRestriction = transferConditionToTransferRestriction;
|
|
2742
2719
|
/**
|
|
2743
2720
|
* @hidden
|
|
2744
2721
|
*/
|
|
@@ -2799,95 +2776,6 @@ function nftDispatchErrorToTransferError(error, context) {
|
|
|
2799
2776
|
});
|
|
2800
2777
|
}
|
|
2801
2778
|
exports.nftDispatchErrorToTransferError = nftDispatchErrorToTransferError;
|
|
2802
|
-
/**
|
|
2803
|
-
* @hidden
|
|
2804
|
-
*/
|
|
2805
|
-
function granularCanTransferResultToTransferBreakdown(result, validateNftResult, context) {
|
|
2806
|
-
const { invalidGranularity, selfTransfer, invalidReceiverCdd, invalidSenderCdd, senderInsufficientBalance: insufficientBalance, assetFrozen, portfolioValidityResult: { senderPortfolioDoesNotExist, receiverPortfolioDoesNotExist, senderInsufficientBalance, }, transferConditionResult, complianceResult, result: finalResult, } = result;
|
|
2807
|
-
const general = [];
|
|
2808
|
-
if (boolToBoolean(invalidGranularity)) {
|
|
2809
|
-
general.push(types_3.TransferError.InvalidGranularity);
|
|
2810
|
-
}
|
|
2811
|
-
if (boolToBoolean(selfTransfer)) {
|
|
2812
|
-
general.push(types_3.TransferError.SelfTransfer);
|
|
2813
|
-
}
|
|
2814
|
-
if (boolToBoolean(invalidReceiverCdd)) {
|
|
2815
|
-
general.push(types_3.TransferError.InvalidReceiverCdd);
|
|
2816
|
-
}
|
|
2817
|
-
if (boolToBoolean(invalidSenderCdd)) {
|
|
2818
|
-
general.push(types_3.TransferError.InvalidSenderCdd);
|
|
2819
|
-
}
|
|
2820
|
-
if (boolToBoolean(insufficientBalance)) {
|
|
2821
|
-
general.push(types_3.TransferError.InsufficientBalance);
|
|
2822
|
-
}
|
|
2823
|
-
if (boolToBoolean(assetFrozen)) {
|
|
2824
|
-
general.push(types_3.TransferError.TransfersFrozen);
|
|
2825
|
-
}
|
|
2826
|
-
if (boolToBoolean(senderPortfolioDoesNotExist)) {
|
|
2827
|
-
general.push(types_3.TransferError.InvalidSenderPortfolio);
|
|
2828
|
-
}
|
|
2829
|
-
if (boolToBoolean(receiverPortfolioDoesNotExist)) {
|
|
2830
|
-
general.push(types_3.TransferError.InvalidReceiverPortfolio);
|
|
2831
|
-
}
|
|
2832
|
-
if (boolToBoolean(senderInsufficientBalance)) {
|
|
2833
|
-
general.push(types_3.TransferError.InsufficientPortfolioBalance);
|
|
2834
|
-
}
|
|
2835
|
-
const restrictions = transferConditionResult.map(({ condition, result: tmResult }) => {
|
|
2836
|
-
return {
|
|
2837
|
-
restriction: transferConditionToTransferRestriction(condition, context),
|
|
2838
|
-
result: boolToBoolean(tmResult),
|
|
2839
|
-
};
|
|
2840
|
-
});
|
|
2841
|
-
let canTransfer = boolToBoolean(finalResult);
|
|
2842
|
-
if (canTransfer && (validateNftResult === null || validateNftResult === void 0 ? void 0 : validateNftResult.isErr)) {
|
|
2843
|
-
const transferError = nftDispatchErrorToTransferError(validateNftResult.asErr, context);
|
|
2844
|
-
general.push(transferError);
|
|
2845
|
-
canTransfer = false;
|
|
2846
|
-
}
|
|
2847
|
-
return {
|
|
2848
|
-
general,
|
|
2849
|
-
compliance: assetComplianceResultToCompliance(complianceResult, context),
|
|
2850
|
-
restrictions,
|
|
2851
|
-
result: canTransfer,
|
|
2852
|
-
};
|
|
2853
|
-
}
|
|
2854
|
-
exports.granularCanTransferResultToTransferBreakdown = granularCanTransferResultToTransferBreakdown;
|
|
2855
|
-
/**
|
|
2856
|
-
* @hidden
|
|
2857
|
-
*/
|
|
2858
|
-
function transferReportToTransferBreakdown(result, validateNftResult, complianceResult, transferRestrictionsReport, context) {
|
|
2859
|
-
let general = [];
|
|
2860
|
-
let canTransfer = true;
|
|
2861
|
-
if (validateNftResult === null || validateNftResult === void 0 ? void 0 : validateNftResult.length) {
|
|
2862
|
-
const errors = validateNftResult.map(error => nftDispatchErrorToTransferError(error, context));
|
|
2863
|
-
general = Array.from(new Set([...general, ...errors]));
|
|
2864
|
-
canTransfer = false;
|
|
2865
|
-
}
|
|
2866
|
-
if (result === null || result === void 0 ? void 0 : result.length) {
|
|
2867
|
-
const errors = result.map(error => assetDispatchErrorToTransferError(error, context));
|
|
2868
|
-
general = Array.from(new Set([...general, ...errors]));
|
|
2869
|
-
canTransfer = false;
|
|
2870
|
-
}
|
|
2871
|
-
let restrictions = [];
|
|
2872
|
-
const transferRestrictions = transferRestrictionsReport.asOk;
|
|
2873
|
-
if (transferRestrictions.length) {
|
|
2874
|
-
restrictions = transferRestrictions.map(condition => ({
|
|
2875
|
-
restriction: transferConditionToTransferRestriction(condition, context),
|
|
2876
|
-
result: true,
|
|
2877
|
-
}));
|
|
2878
|
-
canTransfer = false;
|
|
2879
|
-
}
|
|
2880
|
-
return {
|
|
2881
|
-
general,
|
|
2882
|
-
compliance: assetComplianceReportToCompliance(complianceResult, context),
|
|
2883
|
-
restrictions,
|
|
2884
|
-
result: canTransfer,
|
|
2885
|
-
};
|
|
2886
|
-
}
|
|
2887
|
-
exports.transferReportToTransferBreakdown = transferReportToTransferBreakdown;
|
|
2888
|
-
/**
|
|
2889
|
-
* @hidden
|
|
2890
|
-
*/
|
|
2891
2779
|
/**
|
|
2892
2780
|
* @hidden
|
|
2893
2781
|
*/
|
|
@@ -4518,53 +4406,182 @@ exports.meshBallotDetailsToCorporateBallotDetails = meshBallotDetailsToCorporate
|
|
|
4518
4406
|
/**
|
|
4519
4407
|
* @hidden
|
|
4520
4408
|
*/
|
|
4521
|
-
function
|
|
4522
|
-
const { type, value } = restriction;
|
|
4523
|
-
const operationType = transferRestrictionTypeToStatOpType(type, context);
|
|
4524
|
-
if (type === types_3.TransferRestrictionType.Count || type === types_3.TransferRestrictionType.Percentage) {
|
|
4525
|
-
return context.createType('PolymeshPrimitivesStatisticsStat1stKey', {
|
|
4526
|
-
assetId: rawAssetId,
|
|
4527
|
-
statType: context.createType('PolymeshPrimitivesStatisticsStatType', {
|
|
4528
|
-
operationType,
|
|
4529
|
-
claimIssuer: undefined,
|
|
4530
|
-
}),
|
|
4531
|
-
});
|
|
4532
|
-
}
|
|
4409
|
+
function getStat1stKey(rawAssetId, statType, context) {
|
|
4533
4410
|
return context.createType('PolymeshPrimitivesStatisticsStat1stKey', {
|
|
4534
4411
|
assetId: rawAssetId,
|
|
4535
|
-
statType
|
|
4536
|
-
operationType,
|
|
4537
|
-
claimIssuer: [
|
|
4538
|
-
claimTypeToMeshClaimType(value.claim.type, context),
|
|
4539
|
-
stringToIdentityId(value.issuer.did, context),
|
|
4540
|
-
],
|
|
4541
|
-
}),
|
|
4412
|
+
statType,
|
|
4542
4413
|
});
|
|
4543
4414
|
}
|
|
4544
|
-
exports.
|
|
4415
|
+
exports.getStat1stKey = getStat1stKey;
|
|
4545
4416
|
/**
|
|
4546
4417
|
* @hidden
|
|
4547
4418
|
*/
|
|
4548
|
-
function
|
|
4549
|
-
|
|
4550
|
-
if (type === types_3.TransferRestrictionType.Count || type === types_3.TransferRestrictionType.Percentage) {
|
|
4419
|
+
function getStat2ndKey(context, claimType, claimValue) {
|
|
4420
|
+
if (!claimType) {
|
|
4551
4421
|
return context.createType('PolymeshPrimitivesStatisticsStat2ndKey', 'NoClaimStat');
|
|
4552
4422
|
}
|
|
4553
|
-
|
|
4554
|
-
|
|
4555
|
-
|
|
4423
|
+
return context.createType('PolymeshPrimitivesStatisticsStat2ndKey', {
|
|
4424
|
+
claim: { [claimType]: claimValue },
|
|
4425
|
+
});
|
|
4426
|
+
}
|
|
4427
|
+
exports.getStat2ndKey = getStat2ndKey;
|
|
4428
|
+
/**
|
|
4429
|
+
* @hidden
|
|
4430
|
+
*/
|
|
4431
|
+
function transferConditionToTransferRestriction(transferCondition, context) {
|
|
4432
|
+
if (transferCondition.isMaxInvestorCount) {
|
|
4433
|
+
return {
|
|
4434
|
+
type: types_3.TransferRestrictionType.Count,
|
|
4435
|
+
value: u64ToBigNumber(transferCondition.asMaxInvestorCount),
|
|
4436
|
+
};
|
|
4437
|
+
}
|
|
4438
|
+
else if (transferCondition.isMaxInvestorOwnership) {
|
|
4439
|
+
return {
|
|
4440
|
+
type: types_3.TransferRestrictionType.Percentage,
|
|
4441
|
+
value: permillToBigNumber(transferCondition.asMaxInvestorOwnership),
|
|
4442
|
+
};
|
|
4443
|
+
}
|
|
4444
|
+
else if (transferCondition.isClaimCount) {
|
|
4445
|
+
return {
|
|
4446
|
+
type: types_3.TransferRestrictionType.ClaimCount,
|
|
4447
|
+
value: claimCountToClaimCountRestrictionValue(transferCondition.asClaimCount, context),
|
|
4448
|
+
};
|
|
4556
4449
|
}
|
|
4557
|
-
else if (
|
|
4558
|
-
|
|
4450
|
+
else if (transferCondition.isClaimOwnership) {
|
|
4451
|
+
return {
|
|
4452
|
+
type: types_3.TransferRestrictionType.ClaimPercentage,
|
|
4453
|
+
value: claimPercentageToClaimPercentageRestrictionValue(transferCondition.asClaimOwnership, context),
|
|
4454
|
+
};
|
|
4559
4455
|
}
|
|
4560
|
-
else
|
|
4561
|
-
|
|
4456
|
+
else {
|
|
4457
|
+
throw new internal_1.PolymeshError({
|
|
4458
|
+
code: types_3.ErrorCode.FatalError,
|
|
4459
|
+
message: 'Unexpected transfer condition type',
|
|
4460
|
+
});
|
|
4562
4461
|
}
|
|
4563
|
-
|
|
4564
|
-
|
|
4462
|
+
}
|
|
4463
|
+
exports.transferConditionToTransferRestriction = transferConditionToTransferRestriction;
|
|
4464
|
+
/**
|
|
4465
|
+
* @hidden
|
|
4466
|
+
*/
|
|
4467
|
+
function assetComplianceToTransferRestrictions(value, context) {
|
|
4468
|
+
const paused = boolToBoolean(value.paused);
|
|
4469
|
+
const restrictions = [...value.requirements].map(req => {
|
|
4470
|
+
return transferConditionToTransferRestriction(req, context);
|
|
4471
|
+
});
|
|
4472
|
+
return { paused, restrictions };
|
|
4473
|
+
}
|
|
4474
|
+
exports.assetComplianceToTransferRestrictions = assetComplianceToTransferRestrictions;
|
|
4475
|
+
/**
|
|
4476
|
+
* @hidden
|
|
4477
|
+
*/
|
|
4478
|
+
function assetStatToStat(value) {
|
|
4479
|
+
const type = value.operationType.isCount ? types_3.StatType.Count : types_3.StatType.Balance;
|
|
4480
|
+
return {
|
|
4481
|
+
type,
|
|
4482
|
+
};
|
|
4483
|
+
}
|
|
4484
|
+
exports.assetStatToStat = assetStatToStat;
|
|
4485
|
+
/**
|
|
4486
|
+
* @hidden
|
|
4487
|
+
*/
|
|
4488
|
+
function exemptionToTransferExemption(exemption) {
|
|
4489
|
+
const { assetId, op, claimType } = exemption;
|
|
4490
|
+
const opType = op.isCount ? types_3.StatType.Count : types_3.StatType.Balance;
|
|
4491
|
+
const claim = claimType.isSome ? meshClaimTypeToClaimType(claimType.unwrap()) : null;
|
|
4492
|
+
return {
|
|
4493
|
+
assetId: assetIdToString(assetId),
|
|
4494
|
+
opType,
|
|
4495
|
+
claimType: claim,
|
|
4496
|
+
};
|
|
4497
|
+
}
|
|
4498
|
+
exports.exemptionToTransferExemption = exemptionToTransferExemption;
|
|
4499
|
+
/**
|
|
4500
|
+
* @hidden
|
|
4501
|
+
*/
|
|
4502
|
+
function transferReportToTransferBreakdown(result, validateNftResult, complianceResult, transferRestrictionsReport, context) {
|
|
4503
|
+
let general = [];
|
|
4504
|
+
let canTransfer = true;
|
|
4505
|
+
if (validateNftResult === null || validateNftResult === void 0 ? void 0 : validateNftResult.length) {
|
|
4506
|
+
const errors = validateNftResult.map(error => nftDispatchErrorToTransferError(error, context));
|
|
4507
|
+
general = Array.from(new Set([...general, ...errors]));
|
|
4508
|
+
canTransfer = false;
|
|
4509
|
+
}
|
|
4510
|
+
if (result === null || result === void 0 ? void 0 : result.length) {
|
|
4511
|
+
const errors = result.map(error => assetDispatchErrorToTransferError(error, context));
|
|
4512
|
+
general = Array.from(new Set([...general, ...errors]));
|
|
4513
|
+
canTransfer = false;
|
|
4514
|
+
}
|
|
4515
|
+
let restrictions = [];
|
|
4516
|
+
const transferRestrictions = transferRestrictionsReport.asOk;
|
|
4517
|
+
if (transferRestrictions.length) {
|
|
4518
|
+
restrictions = transferRestrictions.map(condition => ({
|
|
4519
|
+
restriction: transferConditionToTransferRestriction(condition, context),
|
|
4520
|
+
result: true,
|
|
4521
|
+
}));
|
|
4522
|
+
canTransfer = false;
|
|
4523
|
+
}
|
|
4524
|
+
return {
|
|
4525
|
+
general,
|
|
4526
|
+
compliance: assetComplianceReportToCompliance(complianceResult, context),
|
|
4527
|
+
restrictions,
|
|
4528
|
+
result: canTransfer,
|
|
4529
|
+
};
|
|
4530
|
+
}
|
|
4531
|
+
exports.transferReportToTransferBreakdown = transferReportToTransferBreakdown;
|
|
4532
|
+
/**
|
|
4533
|
+
* @hidden
|
|
4534
|
+
*/
|
|
4535
|
+
function granularCanTransferResultToTransferBreakdown(result, validateNftResult, context) {
|
|
4536
|
+
const { invalidGranularity, selfTransfer, invalidReceiverCdd, invalidSenderCdd, senderInsufficientBalance: insufficientBalance, assetFrozen, portfolioValidityResult: { senderPortfolioDoesNotExist, receiverPortfolioDoesNotExist, senderInsufficientBalance, }, transferConditionResult, complianceResult, result: finalResult, } = result;
|
|
4537
|
+
const general = [];
|
|
4538
|
+
if (boolToBoolean(invalidGranularity)) {
|
|
4539
|
+
general.push(types_3.TransferError.InvalidGranularity);
|
|
4540
|
+
}
|
|
4541
|
+
if (boolToBoolean(selfTransfer)) {
|
|
4542
|
+
general.push(types_3.TransferError.SelfTransfer);
|
|
4543
|
+
}
|
|
4544
|
+
if (boolToBoolean(invalidReceiverCdd)) {
|
|
4545
|
+
general.push(types_3.TransferError.InvalidReceiverCdd);
|
|
4546
|
+
}
|
|
4547
|
+
if (boolToBoolean(invalidSenderCdd)) {
|
|
4548
|
+
general.push(types_3.TransferError.InvalidSenderCdd);
|
|
4549
|
+
}
|
|
4550
|
+
if (boolToBoolean(insufficientBalance)) {
|
|
4551
|
+
general.push(types_3.TransferError.InsufficientBalance);
|
|
4552
|
+
}
|
|
4553
|
+
if (boolToBoolean(assetFrozen)) {
|
|
4554
|
+
general.push(types_3.TransferError.TransfersFrozen);
|
|
4555
|
+
}
|
|
4556
|
+
if (boolToBoolean(senderPortfolioDoesNotExist)) {
|
|
4557
|
+
general.push(types_3.TransferError.InvalidSenderPortfolio);
|
|
4558
|
+
}
|
|
4559
|
+
if (boolToBoolean(receiverPortfolioDoesNotExist)) {
|
|
4560
|
+
general.push(types_3.TransferError.InvalidReceiverPortfolio);
|
|
4561
|
+
}
|
|
4562
|
+
if (boolToBoolean(senderInsufficientBalance)) {
|
|
4563
|
+
general.push(types_3.TransferError.InsufficientPortfolioBalance);
|
|
4564
|
+
}
|
|
4565
|
+
const restrictions = transferConditionResult.map(({ condition, result: tmResult }) => {
|
|
4566
|
+
return {
|
|
4567
|
+
restriction: transferConditionToTransferRestriction(condition, context),
|
|
4568
|
+
result: boolToBoolean(tmResult),
|
|
4569
|
+
};
|
|
4565
4570
|
});
|
|
4571
|
+
let canTransfer = boolToBoolean(finalResult);
|
|
4572
|
+
if (canTransfer && (validateNftResult === null || validateNftResult === void 0 ? void 0 : validateNftResult.isErr)) {
|
|
4573
|
+
const transferError = nftDispatchErrorToTransferError(validateNftResult.asErr, context);
|
|
4574
|
+
general.push(transferError);
|
|
4575
|
+
canTransfer = false;
|
|
4576
|
+
}
|
|
4577
|
+
return {
|
|
4578
|
+
general,
|
|
4579
|
+
compliance: assetComplianceResultToCompliance(complianceResult, context),
|
|
4580
|
+
restrictions,
|
|
4581
|
+
result: canTransfer,
|
|
4582
|
+
};
|
|
4566
4583
|
}
|
|
4567
|
-
exports.
|
|
4584
|
+
exports.granularCanTransferResultToTransferBreakdown = granularCanTransferResultToTransferBreakdown;
|
|
4568
4585
|
/**
|
|
4569
4586
|
* @hidden
|
|
4570
4587
|
*/
|