# [14.0.0-alpha.1](https://github.com/PolymathNetwork/polymesh-sdk/compare/v13.0.0...v14.0.0-alpha.1) (2022-03-04)


### Bug Fixes

* 🐛 Allow `modifyClaims` to modify claim with cdd_id `0x00` ([72d26fd](https://github.com/PolymathNetwork/polymesh-sdk/commit/72d26fd9fab507437a37dc49c782494fe6ba7ff9))
* 🐛 bump version ([ebe849e](https://github.com/PolymathNetwork/polymesh-sdk/commit/ebe849e9f4af08402d22b84baaa6176ab837fc7f))
* 🐛 code smell ([550967d](https://github.com/PolymathNetwork/polymesh-sdk/commit/550967d3ec54d9f37416b09c0bd7a1100feb9328))
* 🐛 Fix broken tests ([61ab6d8](https://github.com/PolymathNetwork/polymesh-sdk/commit/61ab6d85e4a8e6b8cc5d91bcc243dc3887b558f3))
* 🐛 Fix test cases ([ca41f84](https://github.com/PolymathNetwork/polymesh-sdk/commit/ca41f844303fbb6f0b5fc797ee93bdb64d9abd4d))
* 🐛 modify regex that was *only* considering abstract ([df6d306](https://github.com/PolymathNetwork/polymesh-sdk/commit/df6d3062a4b70ffb598595bee3eabb336d0c3418))
* 🐛 Remove unnecessary type assertion (code smell) ([374d9ce](https://github.com/PolymathNetwork/polymesh-sdk/commit/374d9cea905af453efafd81b675c77ee55c52e7a))
* 🐛 Remove unused import ([f9068a4](https://github.com/PolymathNetwork/polymesh-sdk/commit/f9068a48632391ccde1817cad0708f8abb83cc48))
* 🐛 Reorder params ([14c43c0](https://github.com/PolymathNetwork/polymesh-sdk/commit/14c43c0f0bb6f0804230797c6291db7599108e47))
* 🐛 stop requiring transaction perms when joining identity ([d5e309d](https://github.com/PolymathNetwork/polymesh-sdk/commit/d5e309dfbbb76addc17485a8995935a0e7795be1))


### chore

* 🤖 Add `SubsidyWithAllowance` interface ([117d139](https://github.com/PolymathNetwork/polymesh-sdk/commit/117d139a4a1873f0490b624466fbc8d7eaf16614))
* move currentIdentity methods to root ([c2e639d](https://github.com/PolymathNetwork/polymesh-sdk/commit/c2e639da8eb7ebeea24d18a8987d90d395060294))
* remove order parameter from identity.getTrustingTokens ([7c9e62f](https://github.com/PolymathNetwork/polymesh-sdk/commit/7c9e62ff4bf924c0462f73584ccc2f60d0e0e59a))
* rename details to description in CreateVenueParams ([d630f61](https://github.com/PolymathNetwork/polymesh-sdk/commit/d630f61ff3cef2e0987d0a071d9e9a3db3dc1117))


### Code Refactoring

* 💡 Rename CADefaults to CADefaultConfig ([d60f19c](https://github.com/PolymathNetwork/polymesh-sdk/commit/d60f19c2851d7bfdb6f0e043878010e8285dd180))


### Documentation

* ✏️ Update JSDocs and error messages ([ef0bf7f](https://github.com/PolymathNetwork/polymesh-sdk/commit/ef0bf7fe86e4d412f4510069c0460e8cc3627a77))


### Features

* 🎸 [WIP] move currentidentity methods to root ([7d78ea1](https://github.com/PolymathNetwork/polymesh-sdk/commit/7d78ea1b6ea915300d951757df9b45390d7b5fcb))
* 🎸 Add `createSecurityToken` procedure ([6e4e944](https://github.com/PolymathNetwork/polymesh-sdk/commit/6e4e94406a548221695e9c87e4e3a482bacaa6ac))
* 🎸 Add `modify` procedure to `Requirements` ([c72974c](https://github.com/PolymathNetwork/polymesh-sdk/commit/c72974c925c88f44035864cbe9f3352c9d2acada))
* 🎸 Add `subsidizeAccount` procedure ([bac9864](https://github.com/PolymathNetwork/polymesh-sdk/commit/bac9864c1e3428c58566824601fc5610e17f0ed8))
* 🎸 Add `Subsidy.getAllowance` method ([b1a10d0](https://github.com/PolymathNetwork/polymesh-sdk/commit/b1a10d029b82633178dd903971b9f231a68e3f7b))
* 🎸 Add `Subsidy` entity with `quit` procedure ([1331c7e](https://github.com/PolymathNetwork/polymesh-sdk/commit/1331c7e30cc7475772cee6053045360065cc53f8))
* 🎸 Add `trustedFor` method in DefaultTrustedClaimIssuer ([#675](https://github.com/PolymathNetwork/polymesh-sdk/issues/675)) ([fca5537](https://github.com/PolymathNetwork/polymesh-sdk/commit/fca5537067469d9732e0493d88632b5b419336ee))
* 🎸 Add authorization request validations ([14b639b](https://github.com/PolymathNetwork/polymesh-sdk/commit/14b639bea63002c4ea458b0224a61873bc892866))
* 🎸 Add Authorization Validations ([939a80d](https://github.com/PolymathNetwork/polymesh-sdk/commit/939a80df6545d7ce83b0e01f4c8ab47ae5fb3aaf))
* 🎸 Add Claim typeguards  ([#668](https://github.com/PolymathNetwork/polymesh-sdk/issues/668)) ([dd86024](https://github.com/PolymathNetwork/polymesh-sdk/commit/dd86024e2081089707b9d5e85e1de5c67a1044fa))
* 🎸 Add identities namespace ([#659](https://github.com/PolymathNetwork/polymesh-sdk/issues/659)) ([2fe2593](https://github.com/PolymathNetwork/polymesh-sdk/commit/2fe2593e96f2b21bac01f2e8da2ba96942548d5c))
* 🎸 Add Instruction methods to Settlements namespace ([05b2ce6](https://github.com/PolymathNetwork/polymesh-sdk/commit/05b2ce68df13223a81da7db5c88ad2a27a5161f1))
* 🎸 Add modify allowance procedures to `Subsidy` ([a716d8e](https://github.com/PolymathNetwork/polymesh-sdk/commit/a716d8e14da395a5c0877a3e8d931cb531b1915d))
* 🎸 Add reserved to AccountBalance ([ebdd5bf](https://github.com/PolymathNetwork/polymesh-sdk/commit/ebdd5bf9b678aa072cf3732c74f9734de16ba337))
* 🎸 Add RotatePrimaryKeyToSecondary Authorization ([78d4055](https://github.com/PolymathNetwork/polymesh-sdk/commit/78d40556fa12629408d27c8a931ed8fa01b2d796))
* 🎸 Add RotatePrimaryToSecondary consume method ([63a69dd](https://github.com/PolymathNetwork/polymesh-sdk/commit/63a69dd5ba43a5e6d7e2a603932502d5c3d6f1d1))
* 🎸 Add Venue existance check for Venue operations ([112e6b0](https://github.com/PolymathNetwork/polymesh-sdk/commit/112e6b093892e5f4dc930e849868f115e44e1899))
* 🎸 allow both number and `Requirement` as params to remove ([8afcf1b](https://github.com/PolymathNetwork/polymesh-sdk/commit/8afcf1b722e93c858c569e893cf2fe611f1f6c98))
* 🎸 Allow DID string for set compliance requirements ([eac3dbc](https://github.com/PolymathNetwork/polymesh-sdk/commit/eac3dbc925ef905473cc28f785e4b7b291d5c8c6))
* 🎸 allow exported TransactionQueue type to have generics ([3c6248f](https://github.com/PolymathNetwork/polymesh-sdk/commit/3c6248f289838e6c9f2e5f5adf19d5df69ff57c6))
* 🎸 Allow non entities for modifying CA checkpoints ([2a22aae](https://github.com/PolymathNetwork/polymesh-sdk/commit/2a22aaee4581f012a3c03842ffe2d7ccdde3beaa))
* 🎸 Allow non entities when creating Distributions ([2c814f8](https://github.com/PolymathNetwork/polymesh-sdk/commit/2c814f855e92668d5edf771ab7c20f0abdd4fb0e))
* 🎸 allow passing DID instead of identity for claim issuers ([1e27c0d](https://github.com/PolymathNetwork/polymesh-sdk/commit/1e27c0d8d6d04edbbd6e25f2207f31d0c533f7b2))
* 🎸 allow void procedure methods to be called with opts ([9fd4371](https://github.com/PolymathNetwork/polymesh-sdk/commit/9fd43712db4d84d9ad07bd580ac5d983abcefbfa))
* 🎸 Assert Relayer accounts have Identities ([ba3d114](https://github.com/PolymathNetwork/polymesh-sdk/commit/ba3d11467b300ac984681c51d0a93ccbda575e67))
* 🎸 Assert Venue exists when adding an Instruction ([d71991f](https://github.com/PolymathNetwork/polymesh-sdk/commit/d71991f07796ceea379af5526ec36fb350978484))
* 🎸 Change `totalSupply`->`initialSupply` on asset creation ([16e2d0b](https://github.com/PolymathNetwork/polymesh-sdk/commit/16e2d0bc35662a8f0a686baa8827567f4e966d64))
* 🎸 Check for Portfolio existance in getName function ([#672](https://github.com/PolymathNetwork/polymesh-sdk/issues/672)) ([daa784c](https://github.com/PolymathNetwork/polymesh-sdk/commit/daa784ca4d7c1a7fc9e58cf6f2c88add8cb3eadc))
* 🎸 Create an asset namespace ([66b30f4](https://github.com/PolymathNetwork/polymesh-sdk/commit/66b30f4ed77c4ef29b4932e912ab926a130e35d6))
* 🎸 Create an asset namespace ([#655](https://github.com/PolymathNetwork/polymesh-sdk/issues/655)) ([a2a8f62](https://github.com/PolymathNetwork/polymesh-sdk/commit/a2a8f629e5ad2f88fe8c5a294df018930c594824))
* 🎸 Creates Account Management namespace ([85373c9](https://github.com/PolymathNetwork/polymesh-sdk/commit/85373c9b9dda4395b99e36da0932eba5f164c05b))
* 🎸 Don't expose reserved in Balance ([3371879](https://github.com/PolymathNetwork/polymesh-sdk/commit/337187987e9ba9facb350c659ad3b2008f98f2ce))
* 🎸 error code no data change ([a4972a3](https://github.com/PolymathNetwork/polymesh-sdk/commit/a4972a3295df4b7ed0f47f7b8ab4a28de98dccba))
* 🎸 export typeguards for every Entity ([8e07207](https://github.com/PolymathNetwork/polymesh-sdk/commit/8e072072a8bfed849a6f3ec6e45bc0920bb962f9))
* 🎸 Make `currentFundingRound` return `null` when empty ([898d829](https://github.com/PolymathNetwork/polymesh-sdk/commit/898d82968053a9d888e66cf0d24b0904f8d62b61))
* 🎸 make `requireInvestorUniqueness` non-optional ([3aa3464](https://github.com/PolymathNetwork/polymesh-sdk/commit/3aa346403db9624e1204402fccdadd97597c6ff4))
* 🎸 Move `createPortfolio` to `Identities` namespace ([60c72a0](https://github.com/PolymathNetwork/polymesh-sdk/commit/60c72a056afbf2f578c9cb9e7e9f26b091fcbaf3))
* 🎸 Move createVenue into settlements namespace ([#656](https://github.com/PolymathNetwork/polymesh-sdk/issues/656)) ([5e1fab3](https://github.com/PolymathNetwork/polymesh-sdk/commit/5e1fab36541c4bf862e60978e057b78b034e4f84))
* 🎸 Refactor setComplianceRequirements to use a single call ([a253643](https://github.com/PolymathNetwork/polymesh-sdk/commit/a2536439dda8024798093de5cc7ee6dd29ccfa29))
* 🎸 Remove `delete` procedure from `NumberedPortfolio` ([078c496](https://github.com/PolymathNetwork/polymesh-sdk/commit/078c496313f7cd94e879a5853c9fc52c91c46259))
* 🎸 Remove sdk.currentIdentity namespace ([47e27f2](https://github.com/PolymathNetwork/polymesh-sdk/commit/47e27f2a51c0ba4655ece33b2ce807114f9eb882))
* 🎸 Rename "keys" to "account" for consistency ([fe76961](https://github.com/PolymathNetwork/polymesh-sdk/commit/fe769612fe3a260dba71b7f57424ab84a8bdff8f))
* 🎸 Rename references to key into Account ([7320fa9](https://github.com/PolymathNetwork/polymesh-sdk/commit/7320fa9fab24cbababd72c1e2575b11979276ef9))
* 🎸 Rename SecurityToken to Asset ([2889e42](https://github.com/PolymathNetwork/polymesh-sdk/commit/2889e42c8c127df79e340e1faab70f3007b480db))
* 🎸 Rename SecurityToken to Asset ([d96d1cb](https://github.com/PolymathNetwork/polymesh-sdk/commit/d96d1cb1692ddb8a7c0fef9190fded0fba75ab49))
* 🎸 Rename Sto to Offering ([0919bcf](https://github.com/PolymathNetwork/polymesh-sdk/commit/0919bcfdd89476b4ccd93246c48d59bed61fdae5))
* 🎸 Replace `number` with `BigNumber` ([8137a91](https://github.com/PolymathNetwork/polymesh-sdk/commit/8137a911c20dc06d736270272fd96644d0eba56f))
* 🎸 Return type change for `getPrimaryKey` ([6d5fca9](https://github.com/PolymathNetwork/polymesh-sdk/commit/6d5fca9dac1accbe8478d9baa04bd13c2bee146e))
* 🎸 standardize error codes ([596661a](https://github.com/PolymathNetwork/polymesh-sdk/commit/596661a4a67040a7d8265cc319550873c7092943))
* 🎸 Throw Polymesh error when createType errors ([ff8e6ad](https://github.com/PolymathNetwork/polymesh-sdk/commit/ff8e6adb2c4f7fcf28bb53b558b00e3524d94a30))
* 🎸 Update protocol fee logic ([75836e9](https://github.com/PolymathNetwork/polymesh-sdk/commit/75836e93e36824b9dc5b5d8eb675ff3b8c72804a))
* 🎸 Use nonce: -1 for signAndSend ([#682](https://github.com/PolymathNetwork/polymesh-sdk/issues/682)) ([8920e63](https://github.com/PolymathNetwork/polymesh-sdk/commit/8920e635a1802513541196daeafee14947ec7aa3))
* 🎸 use polymesh-local for type generation ([56eacf8](https://github.com/PolymathNetwork/polymesh-sdk/commit/56eacf8abb62325108267d64c270751283a7bcb3))
* 🎸 validate Authorization exists ([bff30fc](https://github.com/PolymathNetwork/polymesh-sdk/commit/bff30fc59cd5e19fe30ea598c33807135de5f431))
* allow setting a CA's checkpoint to null ([845ebc2](https://github.com/PolymathNetwork/polymesh-sdk/commit/845ebc264be312fc368f4a056b258e1400b8dd55))
* improve procedure authorization data ([135f3c9](https://github.com/PolymathNetwork/polymesh-sdk/commit/135f3c9c8d6bb1d8140007d32af35322e6d52fa5))
* return trusted claim issuers separately ([1d9db0f](https://github.com/PolymathNetwork/polymesh-sdk/commit/1d9db0f456c22b5a00cbfa8844d78753465e379a))
* standardize block data in input and output ([67fa54f](https://github.com/PolymathNetwork/polymesh-sdk/commit/67fa54f15f860b81e6ba93d798ed35af1290116a))
* support batching different transactions ([570256f](https://github.com/PolymathNetwork/polymesh-sdk/commit/570256f1760070ea5d1065799709a8b80aac18fc))
* use Entities as properties of other Entities ([8298005](https://github.com/PolymathNetwork/polymesh-sdk/commit/8298005a4728cfea71b4c62eb224e39f2697eb6d))


* Merge pull request #673 from PolymathNetwork/feat/MSDK-728 ([725ba40](https://github.com/PolymathNetwork/polymesh-sdk/commit/725ba4028b10d1375266730f41a524f1b97fb461)), closes [#673](https://github.com/PolymathNetwork/polymesh-sdk/issues/673)
* Merge pull request #665 from PolymathNetwork/feat/MSDK-760 ([feefe0c](https://github.com/PolymathNetwork/polymesh-sdk/commit/feefe0c21084843c24e093d1c90249029be1dd8d)), closes [#665](https://github.com/PolymathNetwork/polymesh-sdk/issues/665)
* Msdk 779 network namespace (#654) ([3dcd448](https://github.com/PolymathNetwork/polymesh-sdk/commit/3dcd448ebc63fd1afc209e47070849837b6717e1)), closes [#654](https://github.com/PolymathNetwork/polymesh-sdk/issues/654)
* Msdk 723 return authorizations (#650) ([a86f517](https://github.com/PolymathNetwork/polymesh-sdk/commit/a86f5172133f8eec49aabd01bb238b4e1129dcf0)), closes [#650](https://github.com/PolymathNetwork/polymesh-sdk/issues/650)


### Performance Improvements

* ⚡️ avoid hash queries where not necessary ([f914312](https://github.com/PolymathNetwork/polymesh-sdk/commit/f914312a86dd75f25697f53bc04a998fe2f4c0ce))


### BREAKING CHANGES

* 🧨 `Account.getSubsidy` now returns `SubsidyWithAllowance | null`
* 🧨 Portfolio getName can throw if Portfolio does not exist

Co-authored-by: Victor Vicente <VictorVicente@users.noreply.github.com>
* 🧨 `DefaultTrustedClaimIssuer.trustedFor` has been converted to an async
method returning claim types for which Claim Issuer is trusted.
* 🧨
- `TrustedClaimIssuer` interface allows null value for `trustedFor` for specifying all claim types.
- `TrustedClaimIssuers.get` now returns `TrustedClaimIssuer<true>[]`
* 🧨 Allow `null` value for `trustedFor` parameter in
`ModifyTokenTrustedClaimIssuersAddSetParams.claimIssuers` to specify all
claim types for an identity
* 🧨 Portfolios.create has been removed in favour of
Identities.createPortfolio
* 🧨 `Context.getSubsidy` and `Account.getSubsidy` now return
`SubsidyWithAllowance | null` instead of `Omit<Subsidy, 'beneficiary'> |
null`
* 🧨 isSingleClaimCondition and isMultiClaimCondition moved from
`src/types/index.ts` to `src/utils/typeguards.ts`
* 🧨 Moved isPortfolioCustodianRole, isVenueOwnerRole, isCddProviderRole,
isTickerOwnerRole, isIdentityRole from `src/types/index.ts` to
`src/utils/typeguards.ts`
* 🧨 InvestorUniqueness, InvestorUniqunessV2, CddClaim converted from type to
interface
* 🧨 - `SecondaryKey` interface has been renamed to `PermissionedAccount`
- `identity.getPrimaryAccount` now returns interface of type `PermissionedAccount` instead of `Account`
* 🧨 Sto -> Offering
* 🧨 `Portfolios.create` has been removed in favour of
`Identities.createPortfolio`
* 🧨 Updated all instances of `number` to `BigNumber`
* 🧨 Removes sdk.currentIdentity
* 🧨 Renamed methods
* 🧨 Moved methods
* 🧨 Moves Identity methods
* 🧨 Moved asset methods
* 🧨 createVenue moved from currentIdentity to settlements
* 🧨
* `SecondaryKey` interface has been renamed to `SigningKey`
* `identity.getPrimaryKey` now returns interface of type `SigningKey` instead of `Account`
* - throw an error on the `addInstructions` procedure if the instruction array is empty
- throw an error when running a transaction queue if the caller is being subsidized and one or
    more transactions in the queue can’t be subsidized
- remove the `tag` and `args` properties from `PolymeshTransactionBatch`. The corresponding data
    about transactions in the batch is now returned by the `transactions` getter
- stop splitting batch transaction arguments into smaller chunks when they are too large. This is
    part of a move away from Transaction Queues. Passing large inputs will now result in an error
    on the chain side in some cases. This will be caught and handled before sending in a future
    version
- remove transaction argument grouping. Before, transactions that took variable sized input
    (such as `addDocuments`) would attempt to split the argument list if too large
* 🧨 Move account management methods
* 🧨 transferTickerOwnership and transferTokenOwnership now return
AuthorizationRequests instead of Ticker/Token Entities
* 🧨 Moved methods
* 🧨 `currentFundingRound` now returns null for empty funding round, thus
changing the return type `Promise<string | null>`
* 🧨 `delete` procedure from `NumberedPortfolio` is removed in favour of
`Portfolios.delete` procedure
* 🧨 `TickerReservation.createToken` now takes `initialSupply` instead of
`totalSupply` parameter for specifying amount of tokens that will be
minted on creation
* 🧨 `token.compliance.requirements.remove` now takes an object with a
`requirement: number | Requirement` property, instead of `id:
BigNumber`. The value still represents the requirement ID
*   `token.compliance.requirements.get` now returns a `ComplianceRequirements object, which
   contains the requirements as well as the default trusted claim issuers. Conditions
   without specific claim issuers will have the `trustedClaimIssuers` array as undefined
* 🧨 rename `CorporateActionDefaults` to `CorporateActionDefaultConfig`,
`setDefaults` to `setDefaultConfig`, `getDefaults` to `getDefaultConfig`
within the `CorporateActions` entity.
* 🧨 make `CreateSecurityTokenParams.requireInvestorUniqueness` non optional.
This affects `TickerReservation.createToken`
* modify the following interfaces, adding a `blockHash: string` property:
`ExtrinsicData`, `DistributionPayment`, `EventIdentifier`, `HistoricSettlement`
* change the `ProcedureAuthorizationStatus` type. The permissions/roles related
properties will be changed from `boolean` to `CheckPermissionsResult` and `CheckRolesResult`.
This affects the return type of `checkAuthorization` in `ProcedureMethod`
* - replace `ticker: string` with `token: SecurityToken` in: `Checkpoint`, `CheckpointSchedule`,
  `CorporateAction`, `DividendDistribution`, `Sto`, `CustomPermissionGroup`,
  `KnownPermissionGroup`, `DefaultTrustedClaimIssuer`
- change the return type of `CustomPermissionGroup.toJson`. `id: BigNumber` is now `id: string`
* - move `reserveTicker` from root to `currentIdentity` namespace
- move `removeSecondaryKeys` from `Identity` class to `currentIdentity`
- move `revokePermissions` from `Identity` class to `currentIdentity`
- move `modifyPermissions` from `Identity`  class to `currentIdentity`
- move `inviteAccount` from `Identity` class to `currentIdentity`
- move `createVenue` from `Identity` class to `currentIdentity`
- move `freezeSecondaryKeys` from `Identity` class to `currentIdentity`
- move `unfreezeSecondaryKeys` from `Identity` class to `currentIdentity`
* change the type of `ModifyCheckpointParams.checkpoint` to
  `Checkpoint | CheckpointSchedule | Date | null`
* 🧨 move `isEntity` and `isPolymeshError` from `/types` to `/utils`
* 🧨 remove required `undefined` as first argument of procedures when passing
options
* 🧨 change the `code` property of most errors thrown by the SDK to better
reflect their meaning. Also changed a few error messages
* - remove `order` parameter in getTrustingTokens method.
* - rename `details` to `description` in CreateVenueParams interface.
