@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.
Files changed (77) hide show
  1. package/CHANGELOG.md +8 -2
  2. package/api/entities/Asset/Fungible/TransferRestrictions/index.d.ts +47 -11
  3. package/api/entities/Asset/Fungible/TransferRestrictions/index.d.ts.map +1 -1
  4. package/api/entities/Asset/Fungible/TransferRestrictions/index.js +214 -21
  5. package/api/entities/Asset/Fungible/TransferRestrictions/index.js.map +1 -1
  6. package/api/entities/Asset/types.d.ts +86 -5
  7. package/api/entities/Asset/types.d.ts.map +1 -1
  8. package/api/entities/Asset/types.js.map +1 -1
  9. package/api/entities/DefaultTrustedClaimIssuer.d.ts +2 -2
  10. package/api/entities/DefaultTrustedClaimIssuer.d.ts.map +1 -1
  11. package/api/entities/DefaultTrustedClaimIssuer.js.map +1 -1
  12. package/api/entities/types.d.ts +11 -9
  13. package/api/entities/types.d.ts.map +1 -1
  14. package/api/entities/types.js +6 -1
  15. package/api/entities/types.js.map +1 -1
  16. package/api/procedures/setAssetStats.d.ts +22 -0
  17. package/api/procedures/setAssetStats.d.ts.map +1 -0
  18. package/api/procedures/setAssetStats.js +87 -0
  19. package/api/procedures/setAssetStats.js.map +1 -0
  20. package/api/procedures/setTransferRestrictionExemptions.d.ts +20 -0
  21. package/api/procedures/setTransferRestrictionExemptions.d.ts.map +1 -0
  22. package/api/procedures/setTransferRestrictionExemptions.js +102 -0
  23. package/api/procedures/setTransferRestrictionExemptions.js.map +1 -0
  24. package/api/procedures/setTransferRestrictions.d.ts +9 -34
  25. package/api/procedures/setTransferRestrictions.d.ts.map +1 -1
  26. package/api/procedures/setTransferRestrictions.js +61 -257
  27. package/api/procedures/setTransferRestrictions.js.map +1 -1
  28. package/api/procedures/types.d.ts +40 -48
  29. package/api/procedures/types.d.ts.map +1 -1
  30. package/api/procedures/types.js.map +1 -1
  31. package/internal.d.ts +3 -6
  32. package/internal.d.ts.map +1 -1
  33. package/internal.js +7 -11
  34. package/internal.js.map +1 -1
  35. package/npm-package/polymeshassociation-polymesh-sdk-28.0.0-beta.2.tgz +0 -0
  36. package/package.json +1 -1
  37. package/utils/conversion.d.ts +31 -22
  38. package/utils/conversion.d.ts.map +1 -1
  39. package/utils/conversion.js +181 -164
  40. package/utils/conversion.js.map +1 -1
  41. package/utils/internal.d.ts +1 -14
  42. package/utils/internal.d.ts.map +1 -1
  43. package/utils/internal.js +3 -110
  44. package/utils/internal.js.map +1 -1
  45. package/api/entities/Asset/Fungible/TransferRestrictions/ClaimCount.d.ts +0 -69
  46. package/api/entities/Asset/Fungible/TransferRestrictions/ClaimCount.d.ts.map +0 -1
  47. package/api/entities/Asset/Fungible/TransferRestrictions/ClaimCount.js +0 -16
  48. package/api/entities/Asset/Fungible/TransferRestrictions/ClaimCount.js.map +0 -1
  49. package/api/entities/Asset/Fungible/TransferRestrictions/ClaimPercentage.d.ts +0 -60
  50. package/api/entities/Asset/Fungible/TransferRestrictions/ClaimPercentage.d.ts.map +0 -1
  51. package/api/entities/Asset/Fungible/TransferRestrictions/ClaimPercentage.js +0 -16
  52. package/api/entities/Asset/Fungible/TransferRestrictions/ClaimPercentage.js.map +0 -1
  53. package/api/entities/Asset/Fungible/TransferRestrictions/Count.d.ts +0 -81
  54. package/api/entities/Asset/Fungible/TransferRestrictions/Count.d.ts.map +0 -1
  55. package/api/entities/Asset/Fungible/TransferRestrictions/Count.js +0 -20
  56. package/api/entities/Asset/Fungible/TransferRestrictions/Count.js.map +0 -1
  57. package/api/entities/Asset/Fungible/TransferRestrictions/Percentage.d.ts +0 -59
  58. package/api/entities/Asset/Fungible/TransferRestrictions/Percentage.d.ts.map +0 -1
  59. package/api/entities/Asset/Fungible/TransferRestrictions/Percentage.js +0 -16
  60. package/api/entities/Asset/Fungible/TransferRestrictions/Percentage.js.map +0 -1
  61. package/api/entities/Asset/Fungible/TransferRestrictions/TransferRestrictionBase.d.ts +0 -62
  62. package/api/entities/Asset/Fungible/TransferRestrictions/TransferRestrictionBase.d.ts.map +0 -1
  63. package/api/entities/Asset/Fungible/TransferRestrictions/TransferRestrictionBase.js +0 -189
  64. package/api/entities/Asset/Fungible/TransferRestrictions/TransferRestrictionBase.js.map +0 -1
  65. package/api/procedures/addAssetStat.d.ts +0 -16
  66. package/api/procedures/addAssetStat.d.ts.map +0 -1
  67. package/api/procedures/addAssetStat.js +0 -87
  68. package/api/procedures/addAssetStat.js.map +0 -1
  69. package/api/procedures/addTransferRestriction.d.ts +0 -23
  70. package/api/procedures/addTransferRestriction.d.ts.map +0 -1
  71. package/api/procedures/addTransferRestriction.js +0 -122
  72. package/api/procedures/addTransferRestriction.js.map +0 -1
  73. package/api/procedures/removeAssetStat.d.ts +0 -16
  74. package/api/procedures/removeAssetStat.d.ts.map +0 -1
  75. package/api/procedures/removeAssetStat.js +0 -85
  76. package/api/procedures/removeAssetStat.js.map +0 -1
  77. package/npm-package/polymeshassociation-polymesh-sdk-27.8.0-beta.2.tgz +0 -0
@@ -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.caTaxWithholdingsToMeshTaxWithholdings = exports.targetsToTargetIdentities = exports.targetIdentitiesToCorporateActionTargets = exports.checkpointToRecordDateSpec = exports.corporateActionKindToCaKind = exports.meshCorporateActionToCorporateActionParams = exports.fundraiserToOfferingDetails = exports.fundraiserTierToTier = exports.middlewarePortfolioToPortfolio = exports.permissionsLikeToPermissions = exports.offeringTierToPriceTier = exports.transferReportToTransferBreakdown = exports.granularCanTransferResultToTransferBreakdown = exports.nftDispatchErrorToTransferError = exports.assetDispatchErrorToTransferError = exports.transferConditionToTransferRestriction = 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.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 = exports.corporateActionParamsToMeshCorporateActionArgs = exports.corporateActionIdentifierToCaId = exports.distributionToDividendDistributionParams = void 0;
33
- exports.fundingToRawFunding = exports.transferRestrictionToPolymeshPrimitivesStatisticsStat2ndKey = exports.transferRestrictionToPolymeshPrimitivesStatisticsStat1stKey = 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 = exports.signatureToMeshRuntimeMultiSignature = exports.createRawExtrinsicStatus = exports.assetCountToRaw = void 0;
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
- return types_3.ClaimType.Custom;
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 = { Specific: claimTypes };
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(claimIssuer.issuer.did, context);
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 transferRestrictionToPolymeshPrimitivesStatisticsStat1stKey(rawAssetId, restriction, context) {
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: context.createType('PolymeshPrimitivesStatisticsStatType', {
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.transferRestrictionToPolymeshPrimitivesStatisticsStat1stKey = transferRestrictionToPolymeshPrimitivesStatisticsStat1stKey;
4415
+ exports.getStat1stKey = getStat1stKey;
4545
4416
  /**
4546
4417
  * @hidden
4547
4418
  */
4548
- function transferRestrictionToPolymeshPrimitivesStatisticsStat2ndKey(restriction, context) {
4549
- const { type, value } = restriction;
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
- let claimValue;
4554
- if (value.claim.type === types_3.ClaimType.Accredited) {
4555
- claimValue = value.claim.accredited;
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 (value.claim.type === types_3.ClaimType.Affiliate) {
4558
- claimValue = value.claim.affiliate;
4450
+ else if (transferCondition.isClaimOwnership) {
4451
+ return {
4452
+ type: types_3.TransferRestrictionType.ClaimPercentage,
4453
+ value: claimPercentageToClaimPercentageRestrictionValue(transferCondition.asClaimOwnership, context),
4454
+ };
4559
4455
  }
4560
- else if (value.claim.type === types_3.ClaimType.Jurisdiction) {
4561
- claimValue = value.claim.countryCode;
4456
+ else {
4457
+ throw new internal_1.PolymeshError({
4458
+ code: types_3.ErrorCode.FatalError,
4459
+ message: 'Unexpected transfer condition type',
4460
+ });
4562
4461
  }
4563
- return context.createType('PolymeshPrimitivesStatisticsStat2ndKey', {
4564
- claim: { [value.claim.type]: claimValue },
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.transferRestrictionToPolymeshPrimitivesStatisticsStat2ndKey = transferRestrictionToPolymeshPrimitivesStatisticsStat2ndKey;
4584
+ exports.granularCanTransferResultToTransferBreakdown = granularCanTransferResultToTransferBreakdown;
4568
4585
  /**
4569
4586
  * @hidden
4570
4587
  */