@polymeshassociation/polymesh-sdk 31.1.0-beta.2 → 31.1.0-beta.20

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 (322) hide show
  1. package/.yarn/install-state.gz +0 -0
  2. package/CHANGELOG.md +4 -2
  3. package/api/client/Assets.d.ts +15 -0
  4. package/api/client/Assets.d.ts.map +1 -1
  5. package/api/client/Assets.js +36 -5
  6. package/api/client/Assets.js.map +1 -1
  7. package/api/client/Claims.d.ts +10 -13
  8. package/api/client/Claims.d.ts.map +1 -1
  9. package/api/client/Claims.js +5 -2
  10. package/api/client/Claims.js.map +1 -1
  11. package/api/client/Network.d.ts +27 -5
  12. package/api/client/Network.d.ts.map +1 -1
  13. package/api/client/Network.js +19 -2
  14. package/api/client/Network.js.map +1 -1
  15. package/api/client/Polymesh.d.ts.map +1 -1
  16. package/api/client/Polymesh.js +5 -6
  17. package/api/client/Polymesh.js.map +1 -1
  18. package/api/client/Staking.d.ts +200 -5
  19. package/api/client/Staking.d.ts.map +1 -1
  20. package/api/client/Staking.js +422 -1
  21. package/api/client/Staking.js.map +1 -1
  22. package/api/client/types.d.ts +284 -12
  23. package/api/client/types.d.ts.map +1 -1
  24. package/api/client/types.js +23 -1
  25. package/api/client/types.js.map +1 -1
  26. package/api/entities/Account/MultiSig/index.d.ts +8 -4
  27. package/api/entities/Account/MultiSig/index.d.ts.map +1 -1
  28. package/api/entities/Account/MultiSig/index.js +6 -2
  29. package/api/entities/Account/MultiSig/index.js.map +1 -1
  30. package/api/entities/Account/Staking/index.d.ts +48 -3
  31. package/api/entities/Account/Staking/index.d.ts.map +1 -1
  32. package/api/entities/Account/Staking/index.js +80 -3
  33. package/api/entities/Account/Staking/index.js.map +1 -1
  34. package/api/entities/Account/index.d.ts +34 -9
  35. package/api/entities/Account/index.d.ts.map +1 -1
  36. package/api/entities/Account/index.js +83 -31
  37. package/api/entities/Account/index.js.map +1 -1
  38. package/api/entities/Account/types.d.ts +1 -1
  39. package/api/entities/Asset/Base/BaseAsset.d.ts +20 -1
  40. package/api/entities/Asset/Base/BaseAsset.d.ts.map +1 -1
  41. package/api/entities/Asset/Base/BaseAsset.js +5 -1
  42. package/api/entities/Asset/Base/BaseAsset.js.map +1 -1
  43. package/api/entities/Asset/Base/Settlements/index.d.ts.map +1 -1
  44. package/api/entities/Asset/Base/Settlements/index.js +23 -6
  45. package/api/entities/Asset/Base/Settlements/index.js.map +1 -1
  46. package/api/entities/Asset/Fungible/AssetHolders/index.d.ts +16 -1
  47. package/api/entities/Asset/Fungible/AssetHolders/index.d.ts.map +1 -1
  48. package/api/entities/Asset/Fungible/AssetHolders/index.js +16 -0
  49. package/api/entities/Asset/Fungible/AssetHolders/index.js.map +1 -1
  50. package/api/entities/Asset/Fungible/index.d.ts +68 -5
  51. package/api/entities/Asset/Fungible/index.d.ts.map +1 -1
  52. package/api/entities/Asset/Fungible/index.js +63 -2
  53. package/api/entities/Asset/Fungible/index.js.map +1 -1
  54. package/api/entities/Asset/NonFungible/AssetHolders/index.d.ts +15 -6
  55. package/api/entities/Asset/NonFungible/AssetHolders/index.d.ts.map +1 -1
  56. package/api/entities/Asset/NonFungible/AssetHolders/index.js +17 -0
  57. package/api/entities/Asset/NonFungible/AssetHolders/index.js.map +1 -1
  58. package/api/entities/Asset/NonFungible/Nft.d.ts +34 -2
  59. package/api/entities/Asset/NonFungible/Nft.d.ts.map +1 -1
  60. package/api/entities/Asset/NonFungible/Nft.js +34 -1
  61. package/api/entities/Asset/NonFungible/Nft.js.map +1 -1
  62. package/api/entities/Asset/NonFungible/NftCollection.d.ts +56 -5
  63. package/api/entities/Asset/NonFungible/NftCollection.d.ts.map +1 -1
  64. package/api/entities/Asset/NonFungible/NftCollection.js +54 -2
  65. package/api/entities/Asset/NonFungible/NftCollection.js.map +1 -1
  66. package/api/entities/Asset/types.d.ts +69 -1
  67. package/api/entities/Asset/types.d.ts.map +1 -1
  68. package/api/entities/Asset/types.js +7 -1
  69. package/api/entities/Asset/types.js.map +1 -1
  70. package/api/entities/AuthorizationRequest.js +1 -1
  71. package/api/entities/AuthorizationRequest.js.map +1 -1
  72. package/api/entities/Checkpoint.js +1 -1
  73. package/api/entities/Checkpoint.js.map +1 -1
  74. package/api/entities/CheckpointSchedule/index.js +1 -1
  75. package/api/entities/CheckpointSchedule/index.js.map +1 -1
  76. package/api/entities/CorporateActionBase/index.js +1 -1
  77. package/api/entities/CorporateActionBase/index.js.map +1 -1
  78. package/api/entities/CustomPermissionGroup.js +1 -1
  79. package/api/entities/CustomPermissionGroup.js.map +1 -1
  80. package/api/entities/DividendDistribution/index.d.ts +8 -4
  81. package/api/entities/DividendDistribution/index.d.ts.map +1 -1
  82. package/api/entities/DividendDistribution/index.js +6 -2
  83. package/api/entities/DividendDistribution/index.js.map +1 -1
  84. package/api/entities/Identity/AssetPermissions.d.ts +7 -6
  85. package/api/entities/Identity/AssetPermissions.d.ts.map +1 -1
  86. package/api/entities/Identity/AssetPermissions.js +5 -2
  87. package/api/entities/Identity/AssetPermissions.js.map +1 -1
  88. package/api/entities/Identity/IdentityAuthorizations.d.ts +5 -0
  89. package/api/entities/Identity/IdentityAuthorizations.d.ts.map +1 -1
  90. package/api/entities/Identity/IdentityAuthorizations.js +5 -0
  91. package/api/entities/Identity/IdentityAuthorizations.js.map +1 -1
  92. package/api/entities/Identity/Portfolios.js +1 -1
  93. package/api/entities/Identity/Portfolios.js.map +1 -1
  94. package/api/entities/Identity/index.d.ts +50 -7
  95. package/api/entities/Identity/index.d.ts.map +1 -1
  96. package/api/entities/Identity/index.js +76 -9
  97. package/api/entities/Identity/index.js.map +1 -1
  98. package/api/entities/Instruction/index.js +1 -1
  99. package/api/entities/Instruction/index.js.map +1 -1
  100. package/api/entities/MetadataEntry/index.js +1 -1
  101. package/api/entities/MetadataEntry/index.js.map +1 -1
  102. package/api/entities/MultiSigProposal/index.d.ts +0 -1
  103. package/api/entities/MultiSigProposal/index.d.ts.map +1 -1
  104. package/api/entities/NumberedPortfolio.d.ts +4 -0
  105. package/api/entities/NumberedPortfolio.d.ts.map +1 -1
  106. package/api/entities/NumberedPortfolio.js +1 -1
  107. package/api/entities/NumberedPortfolio.js.map +1 -1
  108. package/api/entities/Offering/index.d.ts +7 -4
  109. package/api/entities/Offering/index.d.ts.map +1 -1
  110. package/api/entities/Offering/index.js +6 -3
  111. package/api/entities/Offering/index.js.map +1 -1
  112. package/api/entities/Portfolio/index.d.ts +24 -0
  113. package/api/entities/Portfolio/index.d.ts.map +1 -1
  114. package/api/entities/Portfolio/index.js +110 -37
  115. package/api/entities/Portfolio/index.js.map +1 -1
  116. package/api/entities/Portfolio/types.d.ts +18 -0
  117. package/api/entities/Portfolio/types.d.ts.map +1 -1
  118. package/api/entities/Venue/index.d.ts +5 -5
  119. package/api/entities/Venue/index.d.ts.map +1 -1
  120. package/api/entities/Venue/index.js +4 -1
  121. package/api/entities/Venue/index.js.map +1 -1
  122. package/api/entities/common/namespaces/Authorizations.d.ts +18 -6
  123. package/api/entities/common/namespaces/Authorizations.d.ts.map +1 -1
  124. package/api/entities/common/namespaces/Authorizations.js +16 -4
  125. package/api/entities/common/namespaces/Authorizations.js.map +1 -1
  126. package/api/entities/types.d.ts +16 -2
  127. package/api/entities/types.d.ts.map +1 -1
  128. package/api/entities/types.js.map +1 -1
  129. package/api/procedures/acceptPrimaryKeyRotation.js +1 -1
  130. package/api/procedures/acceptPrimaryKeyRotation.js.map +1 -1
  131. package/api/procedures/addInstruction.d.ts.map +1 -1
  132. package/api/procedures/addInstruction.js +20 -1
  133. package/api/procedures/addInstruction.js.map +1 -1
  134. package/api/procedures/approveAllowance.d.ts.map +1 -1
  135. package/api/procedures/approveAllowance.js +17 -7
  136. package/api/procedures/approveAllowance.js.map +1 -1
  137. package/api/procedures/bondPolyx.d.ts +14 -2
  138. package/api/procedures/bondPolyx.d.ts.map +1 -1
  139. package/api/procedures/bondPolyx.js +39 -8
  140. package/api/procedures/bondPolyx.js.map +1 -1
  141. package/api/procedures/chillStaking.d.ts +36 -0
  142. package/api/procedures/chillStaking.d.ts.map +1 -0
  143. package/api/procedures/chillStaking.js +72 -0
  144. package/api/procedures/chillStaking.js.map +1 -0
  145. package/api/procedures/claimDividends.d.ts.map +1 -1
  146. package/api/procedures/claimDividends.js +11 -1
  147. package/api/procedures/claimDividends.js.map +1 -1
  148. package/api/procedures/configureDividendDistribution.d.ts.map +1 -1
  149. package/api/procedures/configureDividendDistribution.js +3 -2
  150. package/api/procedures/configureDividendDistribution.js.map +1 -1
  151. package/api/procedures/controllerTransfer.d.ts +7 -6
  152. package/api/procedures/controllerTransfer.d.ts.map +1 -1
  153. package/api/procedures/controllerTransfer.js +58 -35
  154. package/api/procedures/controllerTransfer.js.map +1 -1
  155. package/api/procedures/executeManualInstruction.d.ts +5 -1
  156. package/api/procedures/executeManualInstruction.d.ts.map +1 -1
  157. package/api/procedures/executeManualInstruction.js +5 -1
  158. package/api/procedures/executeManualInstruction.js.map +1 -1
  159. package/api/procedures/investInOffering.d.ts.map +1 -1
  160. package/api/procedures/investInOffering.js +41 -13
  161. package/api/procedures/investInOffering.js.map +1 -1
  162. package/api/procedures/launchOffering.d.ts.map +1 -1
  163. package/api/procedures/launchOffering.js +1 -0
  164. package/api/procedures/launchOffering.js.map +1 -1
  165. package/api/procedures/modifyAsset.js +1 -1
  166. package/api/procedures/modifyAsset.js.map +1 -1
  167. package/api/procedures/modifyFrozenTokens.d.ts +31 -0
  168. package/api/procedures/modifyFrozenTokens.d.ts.map +1 -0
  169. package/api/procedures/modifyFrozenTokens.js +123 -0
  170. package/api/procedures/modifyFrozenTokens.js.map +1 -0
  171. package/api/procedures/modifyInstructionAffirmation.d.ts +5 -1
  172. package/api/procedures/modifyInstructionAffirmation.d.ts.map +1 -1
  173. package/api/procedures/modifyInstructionAffirmation.js +10 -2
  174. package/api/procedures/modifyInstructionAffirmation.js.map +1 -1
  175. package/api/procedures/moveFunds.d.ts.map +1 -1
  176. package/api/procedures/moveFunds.js +3 -2
  177. package/api/procedures/moveFunds.js.map +1 -1
  178. package/api/procedures/nftControllerTransfer.d.ts +7 -6
  179. package/api/procedures/nftControllerTransfer.d.ts.map +1 -1
  180. package/api/procedures/nftControllerTransfer.js +42 -32
  181. package/api/procedures/nftControllerTransfer.js.map +1 -1
  182. package/api/procedures/nominateValidators.d.ts +6 -1
  183. package/api/procedures/nominateValidators.d.ts.map +1 -1
  184. package/api/procedures/nominateValidators.js +45 -6
  185. package/api/procedures/nominateValidators.js.map +1 -1
  186. package/api/procedures/redeemNft.js +1 -1
  187. package/api/procedures/redeemNft.js.map +1 -1
  188. package/api/procedures/redeemTokens.d.ts.map +1 -1
  189. package/api/procedures/redeemTokens.js +3 -1
  190. package/api/procedures/redeemTokens.js.map +1 -1
  191. package/api/procedures/removeAssetRequirement.js +1 -1
  192. package/api/procedures/removeAssetRequirement.js.map +1 -1
  193. package/api/procedures/removeCheckpointSchedule.js +1 -1
  194. package/api/procedures/removeCheckpointSchedule.js.map +1 -1
  195. package/api/procedures/removeCorporateAction.js +3 -3
  196. package/api/procedures/removeCorporateAction.js.map +1 -1
  197. package/api/procedures/setCustodian.d.ts +5 -1
  198. package/api/procedures/setCustodian.d.ts.map +1 -1
  199. package/api/procedures/setCustodian.js +2 -6
  200. package/api/procedures/setCustodian.js.map +1 -1
  201. package/api/procedures/setNftApproval.d.ts +29 -0
  202. package/api/procedures/setNftApproval.d.ts.map +1 -0
  203. package/api/procedures/setNftApproval.js +100 -0
  204. package/api/procedures/setNftApproval.js.map +1 -0
  205. package/api/procedures/setStakingController.d.ts +9 -1
  206. package/api/procedures/setStakingController.d.ts.map +1 -1
  207. package/api/procedures/setStakingController.js +10 -6
  208. package/api/procedures/setStakingController.js.map +1 -1
  209. package/api/procedures/setStakingPayee.d.ts +9 -1
  210. package/api/procedures/setStakingPayee.d.ts.map +1 -1
  211. package/api/procedures/setStakingPayee.js +10 -6
  212. package/api/procedures/setStakingPayee.js.map +1 -1
  213. package/api/procedures/toggleFreezeHolder.d.ts +23 -0
  214. package/api/procedures/toggleFreezeHolder.d.ts.map +1 -0
  215. package/api/procedures/toggleFreezeHolder.js +69 -0
  216. package/api/procedures/toggleFreezeHolder.js.map +1 -0
  217. package/api/procedures/toggleNftOperator.d.ts +26 -0
  218. package/api/procedures/toggleNftOperator.d.ts.map +1 -0
  219. package/api/procedures/toggleNftOperator.js +84 -0
  220. package/api/procedures/toggleNftOperator.js.map +1 -0
  221. package/api/procedures/transferFunds.d.ts.map +1 -1
  222. package/api/procedures/transferFunds.js +35 -4
  223. package/api/procedures/transferFunds.js.map +1 -1
  224. package/api/procedures/types.d.ts +73 -8
  225. package/api/procedures/types.d.ts.map +1 -1
  226. package/api/procedures/types.js.map +1 -1
  227. package/api/procedures/updateBondedPolyx.d.ts +13 -2
  228. package/api/procedures/updateBondedPolyx.d.ts.map +1 -1
  229. package/api/procedures/updateBondedPolyx.js +109 -46
  230. package/api/procedures/updateBondedPolyx.js.map +1 -1
  231. package/api/procedures/utils.d.ts +83 -2
  232. package/api/procedures/utils.d.ts.map +1 -1
  233. package/api/procedures/utils.js +171 -0
  234. package/api/procedures/utils.js.map +1 -1
  235. package/api/procedures/withdrawUnbondedPolyx.d.ts +11 -2
  236. package/api/procedures/withdrawUnbondedPolyx.d.ts.map +1 -1
  237. package/api/procedures/withdrawUnbondedPolyx.js +19 -15
  238. package/api/procedures/withdrawUnbondedPolyx.js.map +1 -1
  239. package/base/Context.d.ts +19 -11
  240. package/base/Context.d.ts.map +1 -1
  241. package/base/Context.js +22 -2
  242. package/base/Context.js.map +1 -1
  243. package/base/PolymeshTransactionBase.d.ts +8 -0
  244. package/base/PolymeshTransactionBase.d.ts.map +1 -1
  245. package/base/PolymeshTransactionBase.js +44 -39
  246. package/base/PolymeshTransactionBase.js.map +1 -1
  247. package/base/utils.d.ts +0 -1
  248. package/base/utils.d.ts.map +1 -1
  249. package/internal.d.ts +5 -0
  250. package/internal.d.ts.map +1 -1
  251. package/internal.js +14 -4
  252. package/internal.js.map +1 -1
  253. package/middleware/queries/assets.d.ts +13 -5
  254. package/middleware/queries/assets.d.ts.map +1 -1
  255. package/middleware/queries/assets.js +60 -27
  256. package/middleware/queries/assets.js.map +1 -1
  257. package/middleware/queries/authorizations.d.ts +2 -2
  258. package/middleware/queries/authorizations.d.ts.map +1 -1
  259. package/middleware/queries/authorizations.js +4 -3
  260. package/middleware/queries/authorizations.js.map +1 -1
  261. package/middleware/queries/claims.d.ts +4 -4
  262. package/middleware/queries/claims.d.ts.map +1 -1
  263. package/middleware/queries/claims.js +18 -6
  264. package/middleware/queries/claims.js.map +1 -1
  265. package/middleware/queries/common.d.ts +41 -1
  266. package/middleware/queries/common.d.ts.map +1 -1
  267. package/middleware/queries/common.js +51 -9
  268. package/middleware/queries/common.js.map +1 -1
  269. package/middleware/queries/distributions.d.ts +2 -2
  270. package/middleware/queries/distributions.d.ts.map +1 -1
  271. package/middleware/queries/distributions.js +10 -3
  272. package/middleware/queries/distributions.js.map +1 -1
  273. package/middleware/queries/events.d.ts +2 -2
  274. package/middleware/queries/events.d.ts.map +1 -1
  275. package/middleware/queries/events.js +4 -3
  276. package/middleware/queries/events.js.map +1 -1
  277. package/middleware/queries/externalAgents.d.ts +2 -2
  278. package/middleware/queries/externalAgents.d.ts.map +1 -1
  279. package/middleware/queries/externalAgents.js +4 -3
  280. package/middleware/queries/externalAgents.js.map +1 -1
  281. package/middleware/queries/extrinsics.d.ts +1 -1
  282. package/middleware/queries/extrinsics.d.ts.map +1 -1
  283. package/middleware/queries/extrinsics.js +14 -8
  284. package/middleware/queries/extrinsics.js.map +1 -1
  285. package/middleware/queries/multisigs.d.ts +2 -6
  286. package/middleware/queries/multisigs.d.ts.map +1 -1
  287. package/middleware/queries/multisigs.js +10 -4
  288. package/middleware/queries/multisigs.js.map +1 -1
  289. package/middleware/queries/polyxTransactions.d.ts +2 -1
  290. package/middleware/queries/polyxTransactions.d.ts.map +1 -1
  291. package/middleware/queries/polyxTransactions.js +5 -3
  292. package/middleware/queries/polyxTransactions.js.map +1 -1
  293. package/middleware/queries/settlements.d.ts +7 -7
  294. package/middleware/queries/settlements.d.ts.map +1 -1
  295. package/middleware/queries/settlements.js +23 -14
  296. package/middleware/queries/settlements.js.map +1 -1
  297. package/middleware/queries/stos.d.ts +2 -2
  298. package/middleware/queries/stos.d.ts.map +1 -1
  299. package/middleware/queries/stos.js +9 -5
  300. package/middleware/queries/stos.js.map +1 -1
  301. package/npm-package/polymeshassociation-polymesh-sdk-31.1.0-beta.20.tgz +0 -0
  302. package/package.json +6 -4
  303. package/types/txGroupConstants.d.ts +10 -2
  304. package/types/txGroupConstants.d.ts.map +1 -1
  305. package/types/txGroupConstants.js +16 -0
  306. package/types/txGroupConstants.js.map +1 -1
  307. package/utils/constants.d.ts +47 -0
  308. package/utils/constants.d.ts.map +1 -1
  309. package/utils/constants.js +48 -1
  310. package/utils/constants.js.map +1 -1
  311. package/utils/conversion.d.ts.map +1 -1
  312. package/utils/conversion.js +8 -2
  313. package/utils/conversion.js.map +1 -1
  314. package/utils/eth.d.ts +43 -0
  315. package/utils/eth.d.ts.map +1 -1
  316. package/utils/eth.js +76 -0
  317. package/utils/eth.js.map +1 -1
  318. package/utils/internal.d.ts +59 -5
  319. package/utils/internal.d.ts.map +1 -1
  320. package/utils/internal.js +159 -6
  321. package/utils/internal.js.map +1 -1
  322. package/npm-package/polymeshassociation-polymesh-sdk-31.1.0-beta.2.tgz +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/api/entities/Asset/Base/Settlements/index.ts"],"names":[],"mappings":"AAMA,OAAO,SAAS,MAAM,cAAc,CAAC;AAGrC,OAAO,EACL,SAAS,EACT,OAAO,EACP,aAAa,EACb,SAAS,EACT,GAAG,EAGJ,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,eAAe,EAEf,aAAa,EACb,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAcjB;;GAEG;AACH,cAAM,eAAe,CAAC,CAAC,SAAS,SAAS,CAAE,SAAQ,SAAS,CAAC,CAAC,CAAC;IAC7D;;OAEG;IACI,UAAU,EAAE,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAE/C;;OAEG;IACI,iBAAiB,EAAE,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAEtD;;OAEG;gBACS,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO;IAoBvC;;;;;;;;;;;;;;;OAeG;cACa,eAAe,CAC7B,IAAI,EACA;QACE,IAAI,CAAC,EAAE,eAAe,CAAC;QACvB,EAAE,EAAE,eAAe,CAAC;QACpB,MAAM,EAAE,SAAS,CAAC;KACnB,GACD;QACE,IAAI,CAAC,EAAE,eAAe,CAAC;QACvB,EAAE,EAAE,eAAe,CAAC;QACpB,IAAI,EAAE,CAAC,GAAG,GAAG,SAAS,CAAC,EAAE,CAAC;KAC3B,GACJ,OAAO,CAAC,iBAAiB,CAAC;CAoH9B;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,eAAe,CAAC,aAAa,CAAC;IACrE;;;;;;;;;;;;;;OAcG;IACI,WAAW,CAAC,IAAI,EAAE;QACvB,IAAI,CAAC,EAAE,eAAe,CAAC;QACvB,EAAE,EAAE,eAAe,CAAC;QACpB,MAAM,EAAE,SAAS,CAAC;KACnB,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAG/B;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,eAAe,CAAC,aAAa,CAAC;IACxE;;;;;;;;;;;;;;OAcG;IACI,WAAW,CAAC,IAAI,EAAE;QACvB,IAAI,CAAC,EAAE,eAAe,CAAC;QACvB,EAAE,EAAE,eAAe,CAAC;QACpB,IAAI,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC,EAAE,CAAC;KAC3B,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAG/B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/api/entities/Asset/Base/Settlements/index.ts"],"names":[],"mappings":"AAMA,OAAO,SAAS,MAAM,cAAc,CAAC;AAGrC,OAAO,EACL,SAAS,EACT,OAAO,EACP,aAAa,EACb,SAAS,EACT,GAAG,EAGJ,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,eAAe,EAEf,aAAa,EACb,qBAAqB,EACrB,iBAAiB,EAElB,MAAM,SAAS,CAAC;AAiCjB;;GAEG;AACH,cAAM,eAAe,CAAC,CAAC,SAAS,SAAS,CAAE,SAAQ,SAAS,CAAC,CAAC,CAAC;IAC7D;;OAEG;IACI,UAAU,EAAE,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAE/C;;OAEG;IACI,iBAAiB,EAAE,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAEtD;;OAEG;gBACS,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO;IAoBvC;;;;;;;;;;;;;;;OAeG;cACa,eAAe,CAC7B,IAAI,EACA;QACE,IAAI,CAAC,EAAE,eAAe,CAAC;QACvB,EAAE,EAAE,eAAe,CAAC;QACpB,MAAM,EAAE,SAAS,CAAC;KACnB,GACD;QACE,IAAI,CAAC,EAAE,eAAe,CAAC;QACvB,EAAE,EAAE,eAAe,CAAC;QACpB,IAAI,EAAE,CAAC,GAAG,GAAG,SAAS,CAAC,EAAE,CAAC;KAC3B,GACJ,OAAO,CAAC,iBAAiB,CAAC;CAyH9B;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,eAAe,CAAC,aAAa,CAAC;IACrE;;;;;;;;;;;;;;OAcG;IACI,WAAW,CAAC,IAAI,EAAE;QACvB,IAAI,CAAC,EAAE,eAAe,CAAC;QACvB,EAAE,EAAE,eAAe,CAAC;QACpB,MAAM,EAAE,SAAS,CAAC;KACnB,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAG/B;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,eAAe,CAAC,aAAa,CAAC;IACxE;;;;;;;;;;;;;;OAcG;IACI,WAAW,CAAC,IAAI,EAAE;QACvB,IAAI,CAAC,EAAE,eAAe,CAAC;QACvB,EAAE,EAAE,eAAe,CAAC;QACpB,IAAI,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC,EAAE,CAAC;KAC3B,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAG/B"}
@@ -20,6 +20,19 @@ const types_1 = require("../../../../../types");
20
20
  const utils_2 = require("../../../../../utils");
21
21
  const conversion_1 = require("../../../../../utils/conversion");
22
22
  const internal_2 = require("../../../../../utils/internal");
23
+ /**
24
+ * @hidden
25
+ *
26
+ * Add a frozen sender to a transfer breakdown. The chain's NFT transfer report does not check
27
+ * whether the sender is frozen, although the transfer itself refuses a frozen sender, so the
28
+ * SDK checks it separately
29
+ */
30
+ function withFrozenSender(breakdown) {
31
+ const { general } = breakdown;
32
+ return Object.assign(Object.assign({}, breakdown), { general: general.includes(types_1.TransferError.SenderFrozen)
33
+ ? general
34
+ : [...general, types_1.TransferError.SenderFrozen], result: false });
35
+ }
23
36
  /**
24
37
  * @hidden
25
38
  */
@@ -77,6 +90,7 @@ class BaseSettlements extends internal_1.Namespace {
77
90
  const rawAssetId = (0, conversion_1.assetToMeshAssetId)(parent, context);
78
91
  let granularResult;
79
92
  let nftResult;
93
+ let isNftSenderFrozen = false;
80
94
  let complianceResult;
81
95
  let transferRestrictionsReport;
82
96
  const [fromDid, toDid] = yield Promise.all([
@@ -110,13 +124,16 @@ class BaseSettlements extends internal_1.Namespace {
110
124
  else {
111
125
  const rawNfts = (0, conversion_1.nftToMeshNft)(parent, args.nfts, context);
112
126
  const rawAmount = (0, conversion_1.bigNumberToBalance)(amount, context, isDivisible);
113
- [nftResult, complianceResult, transferRestrictionsReport] = yield Promise.all([
114
- nftApi.transferReport(rawFromAccountHolder, rawToAccountHolder, rawNfts, (0, conversion_1.booleanToBool)(false, context)),
115
- complianceApi.complianceReport(rawAssetId, rawFromDid, rawToDid),
116
- statisticsApi.transferRestrictionsReport(rawAssetId, rawFromDid, rawToDid, rawAmount),
117
- ]);
127
+ [nftResult, complianceResult, transferRestrictionsReport, { isFrozen: isNftSenderFrozen }] =
128
+ yield Promise.all([
129
+ nftApi.transferReport(rawFromAccountHolder, rawToAccountHolder, rawNfts, (0, conversion_1.booleanToBool)(false, context)),
130
+ complianceApi.complianceReport(rawAssetId, rawFromDid, rawToDid),
131
+ statisticsApi.transferRestrictionsReport(rawAssetId, rawFromDid, rawToDid, rawAmount),
132
+ (0, internal_2.getHolderFreezeStatus)(from, parent, context),
133
+ ]);
118
134
  }
119
- return (0, conversion_1.transferReportToTransferBreakdown)(granularResult, nftResult, complianceResult, transferRestrictionsReport, context);
135
+ const breakdown = (0, conversion_1.transferReportToTransferBreakdown)(granularResult, nftResult, complianceResult, transferRestrictionsReport, context);
136
+ return isNftSenderFrozen ? withFrozenSender(breakdown) : breakdown;
120
137
  });
121
138
  }
122
139
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/api/entities/Asset/Base/Settlements/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/api/entities/Asset/Base/Settlements/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { FungibleAsset, Namespace } from '../../../../../internal';
2
- import { IdentityBalance, PaginationOptions, ResultSet } from '../../../../../types';
2
+ import { AssetHolderLike, HolderFreezeStatus, IdentityBalance, PaginationOptions, ResultSet } from '../../../../../types';
3
3
  /**
4
4
  * Handles all Asset Holders related functionality
5
5
  */
@@ -10,5 +10,20 @@ export declare class AssetHolders extends Namespace<FungibleAsset> {
10
10
  * @note supports pagination
11
11
  */
12
12
  get(paginationOpts?: PaginationOptions): Promise<ResultSet<IdentityBalance>>;
13
+ /**
14
+ * Retrieve how an Asset agent has frozen one holder of this Asset: whether it is frozen outright,
15
+ * and how much of its balance is frozen
16
+ *
17
+ * @param args.holder - an Account or a Portfolio. Freezing applies to the holder given, not to
18
+ * its Identity: freezing one of an Identity's Accounts leaves its other Accounts and its
19
+ * Portfolios free
20
+ *
21
+ * @note a holder's balance already excludes the frozen amount from `free`. See
22
+ * {@link api/entities/Portfolio/types!PortfolioBalance | PortfolioBalance}
23
+ * @note always reports an unfrozen holder before Polymesh 8.1.1, which cannot freeze one
24
+ */
25
+ getFreezeStatus(args: {
26
+ holder: AssetHolderLike;
27
+ }): Promise<HolderFreezeStatus>;
13
28
  }
14
29
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/api/entities/Asset/Fungible/AssetHolders/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAY,SAAS,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAIxE;;GAEG;AACH,qBAAa,YAAa,SAAQ,SAAS,CAAC,aAAa,CAAC;IACxD;;;;OAIG;IACU,GAAG,CAAC,cAAc,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;CA2B1F"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/api/entities/Asset/Fungible/AssetHolders/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAY,SAAS,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,SAAS,EACV,MAAM,SAAS,CAAC;AAIjB;;GAEG;AACH,qBAAa,YAAa,SAAQ,SAAS,CAAC,aAAa,CAAC;IACxD;;;;OAIG;IACU,GAAG,CAAC,cAAc,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IA4BzF;;;;;;;;;;;OAWG;IACI,eAAe,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,eAAe,CAAA;KAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAKvF"}
@@ -40,6 +40,22 @@ class AssetHolders extends internal_1.Namespace {
40
40
  };
41
41
  });
42
42
  }
43
+ /**
44
+ * Retrieve how an Asset agent has frozen one holder of this Asset: whether it is frozen outright,
45
+ * and how much of its balance is frozen
46
+ *
47
+ * @param args.holder - an Account or a Portfolio. Freezing applies to the holder given, not to
48
+ * its Identity: freezing one of an Identity's Accounts leaves its other Accounts and its
49
+ * Portfolios free
50
+ *
51
+ * @note a holder's balance already excludes the frozen amount from `free`. See
52
+ * {@link api/entities/Portfolio/types!PortfolioBalance | PortfolioBalance}
53
+ * @note always reports an unfrozen holder before Polymesh 8.1.1, which cannot freeze one
54
+ */
55
+ getFreezeStatus(args) {
56
+ const { context, parent } = this;
57
+ return (0, internal_2.getHolderFreezeStatus)(args.holder, parent, context);
58
+ }
43
59
  }
44
60
  exports.AssetHolders = AssetHolders;
45
61
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/api/entities/Asset/Fungible/AssetHolders/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,yCAAgE;AAEhE,mDAAgG;AAChG,+CAAoD;AAEpD;;GAEG;AACH,MAAa,YAAa,SAAQ,oBAAwB;IACxD;;;;OAIG;IACU,GAAG,CAAC,cAAkC;;YACjD,MAAM,EACJ,OAAO,EAAE,EACP,WAAW,EAAE,EAAE,KAAK,EAAE,GACvB,EACD,OAAO,EACP,MAAM,GACP,GAAG,IAAI,CAAC;YAET,MAAM,UAAU,GAAG,IAAA,+BAAkB,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACvD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,2BAAgB,EAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE;gBAC/E,GAAG,EAAE,UAAU;gBACf,cAAc;aACf,CAAC,CAAC;YAEH,MAAM,IAAI,GAAiD,OAAO,CAAC,GAAG,CACpE,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC1B,QAAQ,EAAE,IAAI,mBAAQ,CAAC,EAAE,GAAG,EAAE,IAAA,+BAAkB,EAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC;gBAChF,OAAO,EAAE,IAAA,+BAAkB,EAAC,OAAO,CAAC;aACrC,CAAC,CACH,CAAC;YAEF,OAAO;gBACL,IAAI;gBACJ,IAAI;aACL,CAAC;QACJ,CAAC;KAAA;CACF;AAjCD,oCAiCC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/api/entities/Asset/Fungible/AssetHolders/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,yCAAgE;AAQhE,mDAAgG;AAChG,+CAA2E;AAE3E;;GAEG;AACH,MAAa,YAAa,SAAQ,oBAAwB;IACxD;;;;OAIG;IACU,GAAG,CAAC,cAAkC;;YACjD,MAAM,EACJ,OAAO,EAAE,EACP,WAAW,EAAE,EAAE,KAAK,EAAE,GACvB,EACD,OAAO,EACP,MAAM,GACP,GAAG,IAAI,CAAC;YAET,MAAM,UAAU,GAAG,IAAA,+BAAkB,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACvD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,2BAAgB,EAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE;gBAC/E,GAAG,EAAE,UAAU;gBACf,cAAc;aACf,CAAC,CAAC;YAEH,MAAM,IAAI,GAAiD,OAAO,CAAC,GAAG,CACpE,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC1B,QAAQ,EAAE,IAAI,mBAAQ,CAAC,EAAE,GAAG,EAAE,IAAA,+BAAkB,EAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAAC;gBAChF,OAAO,EAAE,IAAA,+BAAkB,EAAC,OAAO,CAAC;aACrC,CAAC,CACH,CAAC;YAEF,OAAO;gBACL,IAAI;gBACJ,IAAI;aACL,CAAC;QACJ,CAAC;KAAA;IAED;;;;;;;;;;;OAWG;IACI,eAAe,CAAC,IAAiC;QACtD,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAEjC,OAAO,IAAA,gCAAqB,EAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;CACF;AAnDD,oCAmDC"}
@@ -9,7 +9,8 @@ import { Offerings } from '../../../../api/entities/Asset/Fungible/Offerings';
9
9
  import { TransferRestrictions } from '../../../../api/entities/Asset/Fungible/TransferRestrictions';
10
10
  import { AccountLike, UniqueIdentifiers } from '../../../../api/entities/types';
11
11
  import { Context } from '../../../../internal';
12
- import { ApproveAllowanceParams, ControllerTransferParams, EventIdentifier, HistoricAgentOperation, HistoricAssetTransaction, ProcedureMethod, RedeemTokensParams, ResultSet } from '../../../../types';
12
+ import { AssetTransactionsOrderBy } from '../../../../middleware/types';
13
+ import { ApproveAllowanceParams, AssetAllowance, ControllerTransferParams, EventIdentifier, FrozenTokensParams, HistoricAgentOperation, HistoricAssetTransaction, MiddlewarePaginationOptions, ProcedureMethod, RedeemTokensParams, ResultSet } from '../../../../types';
13
14
  /**
14
15
  * Class used to manage all Fungible Asset functionality
15
16
  */
@@ -25,6 +26,45 @@ export declare class FungibleAsset extends BaseAsset {
25
26
  * @hidden
26
27
  */
27
28
  constructor(identifiers: UniqueIdentifiers, context: Context);
29
+ /**
30
+ * Set how many of a holder's tokens are frozen, replacing whatever amount was frozen before. The
31
+ * holder cannot send frozen tokens
32
+ *
33
+ * @note absolute: setting 100 twice leaves 100 frozen. Use {@link freezeTokens} and
34
+ * {@link unfreezeTokens} to adjust the amount instead. Passing 0 unfreezes every token
35
+ * @note the chain does not check this against the holder's balance, so more can be frozen than
36
+ * the holder holds, leaving nothing it can send
37
+ * @note freezing applies to the holder given, not to its Identity
38
+ * @note a controller transfer can still take frozen tokens
39
+ * @note requires Polymesh 8.1.1 or later, and throws `NotSupported` on an older chain
40
+ */
41
+ setFrozenTokens: ProcedureMethod<FrozenTokensParams, void>;
42
+ /**
43
+ * Freeze more of a holder's tokens, on top of whatever is already frozen. The holder cannot send
44
+ * frozen tokens
45
+ *
46
+ * @note relative: freezing 100 twice leaves 200 frozen
47
+ * @throws if the frozen amount would exceed the holder's balance
48
+ * @note requires Polymesh 8.1.1 or later, and throws `NotSupported` on an older chain
49
+ */
50
+ freezeTokens: ProcedureMethod<FrozenTokensParams, void>;
51
+ /**
52
+ * Release some of a holder's frozen tokens
53
+ *
54
+ * @note relative: this reduces the frozen amount by `amount`
55
+ * @throws if `amount` exceeds what is frozen
56
+ * @note requires Polymesh 8.1.1 or later, and throws `NotSupported` on an older chain
57
+ */
58
+ unfreezeTokens: ProcedureMethod<FrozenTokensParams, void>;
59
+ /**
60
+ * The address of the fungible precompile through which EVM contracts and Ethereum tooling can
61
+ * call this Asset, i.e. `0x<Asset ID>00080000`, EIP-55 checksummed
62
+ *
63
+ * @note every fungible Asset is exposed automatically, with nothing to deploy or register. Calls
64
+ * run the same checks as the equivalent extrinsic, so compliance, transfer restrictions and
65
+ * freezes still apply
66
+ */
67
+ get evmAddress(): string;
28
68
  /**
29
69
  * Retrieve the identifier data (block number, date and event index) of the event that was emitted when the token was created
30
70
  *
@@ -41,7 +81,14 @@ export declare class FungibleAsset extends BaseAsset {
41
81
  */
42
82
  investorCount(): Promise<BigNumber>;
43
83
  /**
44
- * Force a transfer from a given Portfolio to the caller’s default Portfolio
84
+ * Force a transfer from a given Portfolio or Account, by default to the caller's default Portfolio
85
+ *
86
+ * @note from Polymesh 8.1.1 `destination` can be any Account or Portfolio, such as the rightful
87
+ * owner of seized tokens. Before 8.1.1 it must be the signing Account or one of the signing
88
+ * Identity's Portfolios
89
+ * @note a destination the caller does not control must not require receiver affirmation for the
90
+ * Asset, since a forced transfer cannot affirm on its behalf
91
+ * @note the transfer ignores holder freezes, so it can seize tokens an agent has frozen
45
92
  */
46
93
  controllerTransfer: ProcedureMethod<ControllerTransferParams, void>;
47
94
  /**
@@ -54,12 +101,15 @@ export declare class FungibleAsset extends BaseAsset {
54
101
  getOperationHistory(): Promise<HistoricAgentOperation[]>;
55
102
  /**
56
103
  * Retrieve this Asset's transaction History
104
+ * @param opts.orderBy - how to order the results: one key, or several to decide the rows a
105
+ * single key leaves tied. The read's own unique key is appended to whatever is passed, so
106
+ * that paging cannot repeat or skip a row
107
+ *
57
108
  *
58
109
  * @note uses the middlewareV2
59
110
  */
60
- getTransactionHistory(opts: {
61
- size?: BigNumber;
62
- start?: BigNumber;
111
+ getTransactionHistory(opts: MiddlewarePaginationOptions & {
112
+ orderBy?: AssetTransactionsOrderBy | AssetTransactionsOrderBy[];
63
113
  }): Promise<ResultSet<HistoricAssetTransaction>>;
64
114
  /**
65
115
  * Determine whether this FungibleAsset exists on chain
@@ -74,6 +124,19 @@ export declare class FungibleAsset extends BaseAsset {
74
124
  * On every spend transaction, the spender account's allowance will be decremented by the amount transferred.
75
125
  */
76
126
  approveAllowance: ProcedureMethod<ApproveAllowanceParams, void>;
127
+ /**
128
+ * Retrieve every allowance an Account has approved for this Asset — each spender and what it may
129
+ * transfer
130
+ *
131
+ * @param args.owner - the Account whose approvals to read
132
+ *
133
+ * @note not paginated: allowances are keyed by owner, spender and Asset in that order, so the
134
+ * Asset can only be filtered after reading. Bounded by how many approvals the owner has made
135
+ * across all Assets
136
+ */
137
+ getAllowances(args: {
138
+ owner: AccountLike;
139
+ }): Promise<AssetAllowance[]>;
77
140
  /**
78
141
  * Retrieve the amount of allowance for a spender account as approved by owner
79
142
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/api/entities/Asset/Fungible/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAGrC,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,2CAA2C,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAClF,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oDAAoD,CAAC;AAC1F,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAGL,OAAO,EAIR,MAAM,YAAY,CAAC;AAIpB,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,eAAe,EACf,sBAAsB,EACtB,wBAAwB,EACxB,eAAe,EACf,kBAAkB,EAClB,SAAS,EACV,MAAM,SAAS,CAAC;AAmBjB;;GAEG;AACH,qBAAa,aAAc,SAAQ,SAAS;IACnC,WAAW,EAAE,mBAAmB,CAAC;IACjC,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,gBAAgB,EAAE,gBAAgB,CAAC;IAE1C;;OAEG;gBACS,WAAW,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO;IA0B5D;;;;;OAKG;IACU,SAAS,IAAI,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAoBzD;;OAEG;IACI,MAAM,EAAE,eAAe,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;IAEzD;;OAEG;IACU,aAAa,IAAI,OAAO,CAAC,SAAS,CAAC;IAuBhD;;OAEG;IACI,kBAAkB,EAAE,eAAe,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC;IAE3E;;;;;;OAMG;IACU,mBAAmB,IAAI,OAAO,CAAC,sBAAsB,EAAE,CAAC;IA0BrE;;;;OAIG;IACU,qBAAqB,CAAC,IAAI,EAAE;QACvC,IAAI,CAAC,EAAE,SAAS,CAAC;QACjB,KAAK,CAAC,EAAE,SAAS,CAAC;KACnB,GAAG,OAAO,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;IA0EhD;;OAEG;IACmB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAmBhD;;;;;;;OAOG;IACI,gBAAgB,EAAE,eAAe,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;IAEvE;;OAEG;IACU,YAAY,CAAC,IAAI,EAAE;QAC9B,KAAK,EAAE,WAAW,CAAC;QACnB,OAAO,EAAE,WAAW,CAAC;KACtB,GAAG,OAAO,CAAC,SAAS,CAAC;CAwBvB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/api/entities/Asset/Fungible/index.ts"],"names":[],"mappings":"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"}
@@ -26,7 +26,9 @@ const TransferRestrictions_1 = require("../../../../api/entities/Asset/Fungible/
26
26
  const internal_1 = require("../../../../internal");
27
27
  const assets_1 = require("../../../../middleware/queries/assets");
28
28
  const externalAgents_1 = require("../../../../middleware/queries/externalAgents");
29
+ const constants_1 = require("../../../../utils/constants");
29
30
  const conversion_1 = require("../../../../utils/conversion");
31
+ const eth_1 = require("../../../../utils/eth");
30
32
  const internal_2 = require("../../../../utils/internal");
31
33
  /**
32
34
  * Class used to manage all Fungible Asset functionality
@@ -47,6 +49,35 @@ class FungibleAsset extends Base_1.BaseAsset {
47
49
  this.redeem = (0, internal_2.createProcedureMethod)({ getProcedureAndArgs: args => [internal_1.redeemTokens, Object.assign({ asset: this }, args)] }, context);
48
50
  this.controllerTransfer = (0, internal_2.createProcedureMethod)({ getProcedureAndArgs: args => [internal_1.controllerTransfer, Object.assign({ asset: this }, args)] }, context);
49
51
  this.approveAllowance = (0, internal_2.createProcedureMethod)({ getProcedureAndArgs: args => [internal_1.approveAllowance, Object.assign({ asset: this }, args)] }, context);
52
+ this.setFrozenTokens = (0, internal_2.createProcedureMethod)({
53
+ getProcedureAndArgs: args => [
54
+ internal_1.modifyFrozenTokens,
55
+ Object.assign(Object.assign({}, args), { asset: this, operation: 'set' }),
56
+ ],
57
+ }, context);
58
+ this.freezeTokens = (0, internal_2.createProcedureMethod)({
59
+ getProcedureAndArgs: args => [
60
+ internal_1.modifyFrozenTokens,
61
+ Object.assign(Object.assign({}, args), { asset: this, operation: 'increase' }),
62
+ ],
63
+ }, context);
64
+ this.unfreezeTokens = (0, internal_2.createProcedureMethod)({
65
+ getProcedureAndArgs: args => [
66
+ internal_1.modifyFrozenTokens,
67
+ Object.assign(Object.assign({}, args), { asset: this, operation: 'decrease' }),
68
+ ],
69
+ }, context);
70
+ }
71
+ /**
72
+ * The address of the fungible precompile through which EVM contracts and Ethereum tooling can
73
+ * call this Asset, i.e. `0x<Asset ID>00080000`, EIP-55 checksummed
74
+ *
75
+ * @note every fungible Asset is exposed automatically, with nothing to deploy or register. Calls
76
+ * run the same checks as the equivalent extrinsic, so compliance, transfer restrictions and
77
+ * freezes still apply
78
+ */
79
+ get evmAddress() {
80
+ return (0, eth_1.assetIdToPrecompileAddress)(this.id, 'fungible');
50
81
  }
51
82
  /**
52
83
  * Retrieve the identifier data (block number, date and event index) of the event that was emitted when the token was created
@@ -101,17 +132,21 @@ class FungibleAsset extends Base_1.BaseAsset {
101
132
  }
102
133
  /**
103
134
  * Retrieve this Asset's transaction History
135
+ * @param opts.orderBy - how to order the results: one key, or several to decide the rows a
136
+ * single key leaves tied. The read's own unique key is appended to whatever is passed, so
137
+ * that paging cannot repeat or skip a row
138
+ *
104
139
  *
105
140
  * @note uses the middlewareV2
106
141
  */
107
142
  getTransactionHistory(opts) {
108
143
  return __awaiter(this, void 0, void 0, function* () {
109
144
  const { context, id } = this;
110
- const { size, start } = opts;
145
+ const { size, start, orderBy } = opts;
111
146
  const middlewareAssetId = yield (0, internal_2.getAssetIdForMiddleware)(id, context);
112
147
  const { data: { assetTransactions: { nodes, totalCount }, }, } = yield context.queryMiddleware((0, assets_1.assetTransactionQuery)({
113
148
  assetId: middlewareAssetId,
114
- }, size, start));
149
+ }, size, start, orderBy));
115
150
  const data = [];
116
151
  const getAccount = (address) => new internal_1.Account({ address }, context);
117
152
  for (const { asset, amount, fromPortfolioId, fromAccount: fromAddress, toPortfolioId, toAccount: toAddress, createdBlock, eventId, eventIdx, extrinsicIdx, fundingRound, instructionId, instructionMemo, } of nodes) {
@@ -148,6 +183,32 @@ class FungibleAsset extends Base_1.BaseAsset {
148
183
  return !tokenSize.isZero() && nftId.isZero();
149
184
  });
150
185
  }
186
+ /**
187
+ * Retrieve every allowance an Account has approved for this Asset — each spender and what it may
188
+ * transfer
189
+ *
190
+ * @param args.owner - the Account whose approvals to read
191
+ *
192
+ * @note not paginated: allowances are keyed by owner, spender and Asset in that order, so the
193
+ * Asset can only be filtered after reading. Bounded by how many approvals the owner has made
194
+ * across all Assets
195
+ */
196
+ getAllowances(args) {
197
+ return __awaiter(this, void 0, void 0, function* () {
198
+ const { context, context: { polymeshApi: { query: { asset }, }, }, id: assetId, } = this;
199
+ const { address: ownerAddress } = (0, internal_2.asAccount)(args.owner, context);
200
+ const rawOwner = (0, conversion_1.stringToAccountId)(ownerAddress, context);
201
+ const { entries } = yield (0, internal_2.requestPaginated)(asset.allowances, { arg: rawOwner });
202
+ return entries
203
+ .filter(([{ args: keys }]) => (0, conversion_1.assetIdToString)(keys[2]) === assetId)
204
+ .map(([{ args: keys }, rawAmount]) => ({
205
+ asset: this,
206
+ spender: new internal_1.Account({ address: (0, conversion_1.accountIdToString)(keys[1]) }, context),
207
+ amount: (0, conversion_1.balanceToBigNumber)(rawAmount),
208
+ unlimited: (0, conversion_1.u128ToBigNumber)(rawAmount).eq(constants_1.UNLIMITED_ALLOWANCE),
209
+ }));
210
+ });
211
+ }
151
212
  /**
152
213
  * Retrieve the amount of allowance for a spender account as approved by owner
153
214
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/entities/Asset/Fungible/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/api/entities/Asset/Fungible/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
- import BigNumber from 'bignumber.js';
2
1
  import { Namespace } from '../../../../../internal';
3
- import { IdentityHeldNfts, NftCollection, ResultSet } from '../../../../../types';
2
+ import { AssetHolderLike, IdentityHeldNfts, MiddlewarePaginationOptions, NftCollection, NftHolderFreezeStatus, ResultSet } from '../../../../../types';
4
3
  /**
5
4
  * Handles all NFT Holders related functionality
6
5
  */
@@ -10,9 +9,19 @@ export declare class AssetHolders extends Namespace<NftCollection> {
10
9
  *
11
10
  * @note uses the middlewareV2
12
11
  */
13
- get(opts: {
14
- size?: BigNumber;
15
- start?: BigNumber;
16
- }): Promise<ResultSet<IdentityHeldNfts>>;
12
+ get(opts: MiddlewarePaginationOptions): Promise<ResultSet<IdentityHeldNfts>>;
13
+ /**
14
+ * Retrieve whether an Asset agent has frozen one holder of this collection, in which case it
15
+ * cannot send any of the collection's NFTs
16
+ *
17
+ * @param args.holder - an Account or a Portfolio. Freezing applies to the holder given, not to
18
+ * its Identity: freezing one of an Identity's Accounts leaves its other Accounts and its
19
+ * Portfolios free
20
+ *
21
+ * @note always reports an unfrozen holder before Polymesh 8.1.1, which cannot freeze one
22
+ */
23
+ getFreezeStatus(args: {
24
+ holder: AssetHolderLike;
25
+ }): Promise<NftHolderFreezeStatus>;
17
26
  }
18
27
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/api/entities/Asset/NonFungible/AssetHolders/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,EAAY,SAAS,EAAO,MAAM,YAAY,CAAC;AAGtD,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAIrE;;GAEG;AACH,qBAAa,YAAa,SAAQ,SAAS,CAAC,aAAa,CAAC;IACxD;;;;OAIG;IACU,GAAG,CAAC,IAAI,EAAE;QACrB,IAAI,CAAC,EAAE,SAAS,CAAC;QACjB,KAAK,CAAC,EAAE,SAAS,CAAC;KACnB,GAAG,OAAO,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;CA+BzC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/api/entities/Asset/NonFungible/AssetHolders/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,SAAS,EAAO,MAAM,YAAY,CAAC;AAGtD,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,2BAA2B,EAC3B,aAAa,EACb,qBAAqB,EACrB,SAAS,EACV,MAAM,SAAS,CAAC;AAQjB;;GAEG;AACH,qBAAa,YAAa,SAAQ,SAAS,CAAC,aAAa,CAAC;IACxD;;;;OAIG;IACU,GAAG,CAAC,IAAI,EAAE,2BAA2B,GAAG,OAAO,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAgCzF;;;;;;;;;OASG;IACU,eAAe,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,eAAe,CAAA;KAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAOhG"}
@@ -44,6 +44,23 @@ class AssetHolders extends internal_1.Namespace {
44
44
  };
45
45
  });
46
46
  }
47
+ /**
48
+ * Retrieve whether an Asset agent has frozen one holder of this collection, in which case it
49
+ * cannot send any of the collection's NFTs
50
+ *
51
+ * @param args.holder - an Account or a Portfolio. Freezing applies to the holder given, not to
52
+ * its Identity: freezing one of an Identity's Accounts leaves its other Accounts and its
53
+ * Portfolios free
54
+ *
55
+ * @note always reports an unfrozen holder before Polymesh 8.1.1, which cannot freeze one
56
+ */
57
+ getFreezeStatus(args) {
58
+ return __awaiter(this, void 0, void 0, function* () {
59
+ const { context, parent } = this;
60
+ const { isFrozen } = yield (0, internal_2.getHolderFreezeStatus)(args.holder, parent, context);
61
+ return { isFrozen };
62
+ });
63
+ }
47
64
  }
48
65
  exports.AssetHolders = AssetHolders;
49
66
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/api/entities/Asset/NonFungible/AssetHolders/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gEAAqC;AAErC,yCAAsD;AACtD,wDAAmE;AAInE,+CAA6E;AAE7E;;GAEG;AACH,MAAa,YAAa,SAAQ,oBAAwB;IACxD;;;;OAIG;IACU,GAAG,CAAC,IAGhB;;YACC,MAAM,EACJ,OAAO,EACP,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,GACxB,GAAG,IAAI,CAAC;YAET,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;YAE7B,MAAM,iBAAiB,GAAG,MAAM,IAAA,kCAAuB,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAE1E,MAAM,EACJ,IAAI,EAAE,EACJ,UAAU,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,GAClC,GACF,GAAG,MAAM,OAAO,CAAC,eAAe,CAC/B,IAAA,6BAAoB,EAAC,iBAAiB,EAAE,IAAI,EAAE,KAAK,CAAC,CACrD,CAAC;YAEF,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;gBAClD,QAAQ,EAAE,IAAI,mBAAQ,CAAC,EAAE,GAAG,EAAE,UAAoB,EAAE,EAAE,OAAO,CAAC;gBAC9D,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,cAAG,CAAC,EAAE,EAAE,EAAE,IAAI,sBAAS,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;aACvF,CAAC,CAAC,CAAC;YAEJ,MAAM,IAAI,GAAG,IAAA,2BAAgB,EAAC,IAAI,sBAAS,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAE9E,OAAO;gBACL,IAAI;gBACJ,KAAK,EAAE,IAAI,sBAAS,CAAC,UAAU,CAAC;gBAChC,IAAI;aACL,CAAC;QACJ,CAAC;KAAA;CACF;AAxCD,oCAwCC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/api/entities/Asset/NonFungible/AssetHolders/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,gEAAqC;AAErC,yCAAsD;AACtD,wDAAmE;AAWnE,+CAI0B;AAE1B;;GAEG;AACH,MAAa,YAAa,SAAQ,oBAAwB;IACxD;;;;OAIG;IACU,GAAG,CAAC,IAAiC;;YAChD,MAAM,EACJ,OAAO,EACP,MAAM,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,GACxB,GAAG,IAAI,CAAC;YAET,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;YAE7B,MAAM,iBAAiB,GAAG,MAAM,IAAA,kCAAuB,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAE1E,MAAM,EACJ,IAAI,EAAE,EACJ,UAAU,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,GAClC,GACF,GAAG,MAAM,OAAO,CAAC,eAAe,CAC/B,IAAA,6BAAoB,EAAC,iBAAiB,EAAE,IAAI,EAAE,KAAK,CAAC,CACrD,CAAC;YAEF,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC;gBAClD,QAAQ,EAAE,IAAI,mBAAQ,CAAC,EAAE,GAAG,EAAE,UAAoB,EAAE,EAAE,OAAO,CAAC;gBAC9D,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,cAAG,CAAC,EAAE,EAAE,EAAE,IAAI,sBAAS,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;aACvF,CAAC,CAAC,CAAC;YAEJ,MAAM,IAAI,GAAG,IAAA,2BAAgB,EAAC,IAAI,sBAAS,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAE9E,OAAO;gBACL,IAAI;gBACJ,KAAK,EAAE,IAAI,sBAAS,CAAC,UAAU,CAAC;gBAChC,IAAI;aACL,CAAC;QACJ,CAAC;KAAA;IAED;;;;;;;;;OASG;IACU,eAAe,CAAC,IAAiC;;YAC5D,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;YAEjC,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAA,gCAAqB,EAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAE/E,OAAO,EAAE,QAAQ,EAAE,CAAC;QACtB,CAAC;KAAA;CACF;AAvDD,oCAuDC"}
@@ -1,6 +1,6 @@
1
1
  import BigNumber from 'bignumber.js';
2
- import { Context, Entity, NftCollection } from '../../../../internal';
3
- import { AssetHolder, NftMetadata, OptionalArgsProcedureMethod, RedeemNftParams } from '../../../../types';
2
+ import { Account, Context, Entity, NftCollection } from '../../../../internal';
3
+ import { ApproveNftParams, AssetHolder, NftMetadata, NoArgsProcedureMethod, OptionalArgsProcedureMethod, ProcedureMethod, RedeemNftParams } from '../../../../types';
4
4
  export type NftUniqueIdentifiers = {
5
5
  assetId: string;
6
6
  id: BigNumber;
@@ -22,6 +22,23 @@ export declare class Nft extends Entity<NftUniqueIdentifiers, HumanReadable> {
22
22
  * Redeem (or "burns") the NFT, removing it from circulation
23
23
  */
24
24
  redeem: OptionalArgsProcedureMethod<RedeemNftParams, void>;
25
+ /**
26
+ * Approve an Account to transfer this NFT on its holder's behalf, with `transferFunds`. The
27
+ * non-fungible precompile's equivalent is `approve`
28
+ *
29
+ * @note only the Account holding the NFT, or an operator it has approved for the collection, can
30
+ * approve. An NFT held in a Portfolio cannot be approved
31
+ * @note an NFT has at most one approved Account, so this replaces any approved before. The
32
+ * approval is used up by the transfer, and cleared if the NFT changes hands any other way
33
+ * @note requires Polymesh 8.1.1 or later, and throws `NotSupported` on an older chain
34
+ */
35
+ approve: ProcedureMethod<ApproveNftParams, void>;
36
+ /**
37
+ * Clear the approval set with {@link approve}
38
+ *
39
+ * @note requires Polymesh 8.1.1 or later, and throws `NotSupported` on an older chain
40
+ */
41
+ clearApproval: NoArgsProcedureMethod<void>;
25
42
  /**
26
43
  * @hidden
27
44
  * Check if a value is of type {@link UniqueIdentifiers}
@@ -71,6 +88,10 @@ export declare class Nft extends Entity<NftUniqueIdentifiers, HumanReadable> {
71
88
  * The URI values can include `{tokenId}` that will be replaced with the NFTs ID. If a base URI does not specify this the ID will be appended onto the URL. Examples:
72
89
  * - `https://example.com/nfts/{tokenId}/info.json` becomes `https://example.com/nfts/1/info.json`
73
90
  * - `https://example.com/nfts` becomes `https://example.com/nfts/1` if used a base value, but remain unchanged as a local value
91
+ *
92
+ * @note the non-fungible precompile's `tokenURI` (Polymesh 8.1.1) resolves the same two values, but also fills in or appends the ID
93
+ * for a token level value. So for a token level value without `{tokenId}`, EVM tooling sees the ID appended where this
94
+ * method returns the value unchanged
74
95
  */
75
96
  getTokenUri(): Promise<string | null>;
76
97
  /**
@@ -79,6 +100,17 @@ export declare class Nft extends Entity<NftUniqueIdentifiers, HumanReadable> {
79
100
  * @note This method returns `null` if there is no existing holder for the token. This may happen even if the token has been redeemed/burned
80
101
  */
81
102
  getOwner(): Promise<AssetHolder | null>;
103
+ /**
104
+ * Retrieve the Account approved to transfer this NFT on its holder's behalf, if any. The
105
+ * non-fungible precompile's equivalent is `getApproved`
106
+ *
107
+ * @note an NFT has at most one approved Account: each approval replaces the last. The approval
108
+ * is cleared whenever the NFT changes hands, by any route, without an event
109
+ * @note an operator approved for the whole collection may also transfer the NFT, without being
110
+ * named here. See {@link NftCollection.isOperatorApproved}
111
+ * @note always `null` before Polymesh 8.1.1, which has no NFT approvals
112
+ */
113
+ getApproval(): Promise<Account | null>;
82
114
  /**
83
115
  * Check if the NFT is locked in any settlement instruction
84
116
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Nft.d.ts","sourceRoot":"","sources":["../../../../../src/api/entities/Asset/NonFungible/Nft.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,EAAW,OAAO,EAAE,MAAM,EAAE,aAAa,EAA4B,MAAM,YAAY,CAAC;AAC/F,OAAO,EACL,WAAW,EAEX,WAAW,EAEX,2BAA2B,EAC3B,eAAe,EAChB,MAAM,SAAS,CAAC;AAqBjB,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,SAAS,CAAC;CACf,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,GAAI,SAAQ,MAAM,CAAC,oBAAoB,EAAE,aAAa,CAAC;IAC3D,EAAE,EAAE,SAAS,CAAC;IAErB;;OAEG;IACI,UAAU,EAAE,aAAa,CAAC;IAEjC;;OAEG;IACI,MAAM,EAAE,2BAA2B,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IAElE;;;OAGG;WACoB,mBAAmB,CACxC,UAAU,EAAE,OAAO,GAClB,UAAU,IAAI,oBAAoB;IAMrC;;OAEG;gBACS,WAAW,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO;IAkB/D;;OAEG;IACU,WAAW,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IA6BlD;;OAEG;IACU,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAMvC;;;;;;;;;;;;;;;OAeG;IACU,WAAW,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAoBlD;;;;;;;;;;;;;;;OAeG;IACU,WAAW,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAoBlD;;;;OAIG;IACU,QAAQ,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAyBpD;;;;OAIG;IACU,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAyCzC;;OAEG;IACI,OAAO,IAAI,aAAa;IAY/B;;;;OAIG;YACW,WAAW;IA+BzB;;;;;OAKG;YACW,UAAU;IA0BxB;;OAEG;IACH,OAAO,CAAC,UAAU;IAMlB;;OAEG;IACH,OAAO,CAAC,eAAe;IAcvB;;;;OAIG;YACW,mBAAmB;CAclC"}
1
+ {"version":3,"file":"Nft.d.ts","sourceRoot":"","sources":["../../../../../src/api/entities/Asset/NonFungible/Nft.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,EACL,OAAO,EACP,OAAO,EACP,MAAM,EACN,aAAa,EAId,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,gBAAgB,EAChB,WAAW,EAEX,WAAW,EAEX,qBAAqB,EACrB,2BAA2B,EAC3B,eAAe,EACf,eAAe,EAChB,MAAM,SAAS,CAAC;AAsBjB,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,SAAS,CAAC;CACf,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,GAAI,SAAQ,MAAM,CAAC,oBAAoB,EAAE,aAAa,CAAC;IAC3D,EAAE,EAAE,SAAS,CAAC;IAErB;;OAEG;IACI,UAAU,EAAE,aAAa,CAAC;IAEjC;;OAEG;IACI,MAAM,EAAE,2BAA2B,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IAElE;;;;;;;;;OASG;IACI,OAAO,EAAE,eAAe,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IAExD;;;;OAIG;IACI,aAAa,EAAE,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAElD;;;OAGG;WACoB,mBAAmB,CACxC,UAAU,EAAE,OAAO,GAClB,UAAU,IAAI,oBAAoB;IAMrC;;OAEG;gBACS,WAAW,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO;IA+B/D;;OAEG;IACU,WAAW,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IA6BlD;;OAEG;IACU,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAMvC;;;;;;;;;;;;;;;OAeG;IACU,WAAW,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAoBlD;;;;;;;;;;;;;;;;;;;OAmBG;IACU,WAAW,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAoBlD;;;;OAIG;IACU,QAAQ,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAyBpD;;;;;;;;;OASG;IACU,WAAW,IAAI,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IA6BnD;;;;OAIG;IACU,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAyCzC;;OAEG;IACI,OAAO,IAAI,aAAa;IAY/B;;;;OAIG;YACW,WAAW;IA+BzB;;;;;OAKG;YACW,UAAU;IA0BxB;;OAEG;IACH,OAAO,CAAC,UAAU;IAMlB;;OAEG;IACH,OAAO,CAAC,eAAe;IAcvB;;;;OAIG;YACW,mBAAmB;CAclC"}
@@ -29,7 +29,7 @@ class Nft extends internal_1.Entity {
29
29
  */
30
30
  static isUniqueIdentifiers(identifier) {
31
31
  const { assetId, id } = identifier;
32
- return typeof assetId === 'string' && id instanceof bignumber_js_1.default;
32
+ return typeof assetId === 'string' && bignumber_js_1.default.isBigNumber(id);
33
33
  }
34
34
  /**
35
35
  * @hidden
@@ -43,6 +43,11 @@ class Nft extends internal_1.Entity {
43
43
  getProcedureAndArgs: args => [internal_1.redeemNft, Object.assign({ collection: this.collection, id }, args)],
44
44
  optionalArgs: true,
45
45
  }, context);
46
+ this.approve = (0, internal_2.createProcedureMethod)({ getProcedureAndArgs: ({ spender }) => [internal_1.setNftApproval, { nft: this, spender }] }, context);
47
+ this.clearApproval = (0, internal_2.createProcedureMethod)({
48
+ getProcedureAndArgs: () => [internal_1.setNftApproval, { nft: this, spender: null }],
49
+ voidArgs: true,
50
+ }, context);
46
51
  }
47
52
  /**
48
53
  * Get metadata associated with this token
@@ -123,6 +128,10 @@ class Nft extends internal_1.Entity {
123
128
  * The URI values can include `{tokenId}` that will be replaced with the NFTs ID. If a base URI does not specify this the ID will be appended onto the URL. Examples:
124
129
  * - `https://example.com/nfts/{tokenId}/info.json` becomes `https://example.com/nfts/1/info.json`
125
130
  * - `https://example.com/nfts` becomes `https://example.com/nfts/1` if used a base value, but remain unchanged as a local value
131
+ *
132
+ * @note the non-fungible precompile's `tokenURI` (Polymesh 8.1.1) resolves the same two values, but also fills in or appends the ID
133
+ * for a token level value. So for a token level value without `{tokenId}`, EVM tooling sees the ID appended where this
134
+ * method returns the value unchanged
126
135
  */
127
136
  getTokenUri() {
128
137
  return __awaiter(this, void 0, void 0, function* () {
@@ -160,6 +169,30 @@ class Nft extends internal_1.Entity {
160
169
  return (0, conversion_1.meshAssetHolderToAssetHolder)(owner.unwrap(), context);
161
170
  });
162
171
  }
172
+ /**
173
+ * Retrieve the Account approved to transfer this NFT on its holder's behalf, if any. The
174
+ * non-fungible precompile's equivalent is `getApproved`
175
+ *
176
+ * @note an NFT has at most one approved Account: each approval replaces the last. The approval
177
+ * is cleared whenever the NFT changes hands, by any route, without an event
178
+ * @note an operator approved for the whole collection may also transfer the NFT, without being
179
+ * named here. See {@link NftCollection.isOperatorApproved}
180
+ * @note always `null` before Polymesh 8.1.1, which has no NFT approvals
181
+ */
182
+ getApproval() {
183
+ return __awaiter(this, void 0, void 0, function* () {
184
+ const { collection, id, context: { polymeshApi: { query: { nft }, }, }, context, } = this;
185
+ // absent before Polymesh 8.1.1
186
+ const tokenApproval = (0, internal_2.asOptionalApi)(nft.tokenApproval);
187
+ if (!tokenApproval) {
188
+ return null;
189
+ }
190
+ const rawSpender = yield tokenApproval((0, conversion_1.assetToMeshAssetId)(collection, context), (0, conversion_1.bigNumberToU64)(id, context));
191
+ return rawSpender.isSome
192
+ ? new internal_1.Account({ address: (0, conversion_1.accountIdToString)(rawSpender.unwrap()) }, context)
193
+ : null;
194
+ });
195
+ }
163
196
  /**
164
197
  * Check if the NFT is locked in any settlement instruction
165
198
  *