@polymeshassociation/polymesh-sdk 31.0.0 → 31.1.0-beta.10

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 (271) hide show
  1. package/.yarn/install-state.gz +0 -0
  2. package/CHANGELOG.md +6 -132
  3. package/api/client/AccountManagement.d.ts +48 -0
  4. package/api/client/AccountManagement.d.ts.map +1 -1
  5. package/api/client/AccountManagement.js +38 -0
  6. package/api/client/AccountManagement.js.map +1 -1
  7. package/api/client/Assets.d.ts.map +1 -1
  8. package/api/client/Assets.js +4 -5
  9. package/api/client/Assets.js.map +1 -1
  10. package/api/client/Claims.d.ts +5 -0
  11. package/api/client/Claims.d.ts.map +1 -1
  12. package/api/client/Claims.js +5 -2
  13. package/api/client/Claims.js.map +1 -1
  14. package/api/client/Network.d.ts +104 -3
  15. package/api/client/Network.d.ts.map +1 -1
  16. package/api/client/Network.js +162 -14
  17. package/api/client/Network.js.map +1 -1
  18. package/api/client/Polymesh.d.ts.map +1 -1
  19. package/api/client/Polymesh.js +5 -6
  20. package/api/client/Polymesh.js.map +1 -1
  21. package/api/client/Staking.d.ts +206 -5
  22. package/api/client/Staking.d.ts.map +1 -1
  23. package/api/client/Staking.js +443 -1
  24. package/api/client/Staking.js.map +1 -1
  25. package/api/client/types.d.ts +281 -5
  26. package/api/client/types.d.ts.map +1 -1
  27. package/api/client/types.js +29 -1
  28. package/api/client/types.js.map +1 -1
  29. package/api/entities/Account/MultiSig/index.d.ts +6 -0
  30. package/api/entities/Account/MultiSig/index.d.ts.map +1 -1
  31. package/api/entities/Account/MultiSig/index.js +6 -2
  32. package/api/entities/Account/MultiSig/index.js.map +1 -1
  33. package/api/entities/Account/Staking/index.d.ts +26 -2
  34. package/api/entities/Account/Staking/index.d.ts.map +1 -1
  35. package/api/entities/Account/Staking/index.js +36 -3
  36. package/api/entities/Account/Staking/index.js.map +1 -1
  37. package/api/entities/Account/index.d.ts +42 -3
  38. package/api/entities/Account/index.d.ts.map +1 -1
  39. package/api/entities/Account/index.js +94 -1
  40. package/api/entities/Account/index.js.map +1 -1
  41. package/api/entities/Account/types.d.ts +61 -2
  42. package/api/entities/Account/types.d.ts.map +1 -1
  43. package/api/entities/Account/types.js +25 -1
  44. package/api/entities/Account/types.js.map +1 -1
  45. package/api/entities/Asset/Base/BaseAsset.js +1 -1
  46. package/api/entities/Asset/Base/BaseAsset.js.map +1 -1
  47. package/api/entities/Asset/Fungible/index.d.ts +6 -0
  48. package/api/entities/Asset/Fungible/index.d.ts.map +1 -1
  49. package/api/entities/Asset/Fungible/index.js +6 -2
  50. package/api/entities/Asset/Fungible/index.js.map +1 -1
  51. package/api/entities/Asset/NonFungible/Nft.js +1 -1
  52. package/api/entities/Asset/NonFungible/Nft.js.map +1 -1
  53. package/api/entities/Asset/NonFungible/NftCollection.d.ts +6 -0
  54. package/api/entities/Asset/NonFungible/NftCollection.d.ts.map +1 -1
  55. package/api/entities/Asset/NonFungible/NftCollection.js +8 -4
  56. package/api/entities/Asset/NonFungible/NftCollection.js.map +1 -1
  57. package/api/entities/Asset/types.d.ts +11 -0
  58. package/api/entities/Asset/types.d.ts.map +1 -1
  59. package/api/entities/Asset/types.js.map +1 -1
  60. package/api/entities/AuthorizationRequest.js +1 -1
  61. package/api/entities/AuthorizationRequest.js.map +1 -1
  62. package/api/entities/Checkpoint.js +1 -1
  63. package/api/entities/Checkpoint.js.map +1 -1
  64. package/api/entities/CheckpointSchedule/index.js +1 -1
  65. package/api/entities/CheckpointSchedule/index.js.map +1 -1
  66. package/api/entities/CorporateActionBase/index.js +1 -1
  67. package/api/entities/CorporateActionBase/index.js.map +1 -1
  68. package/api/entities/CustomPermissionGroup.js +1 -1
  69. package/api/entities/CustomPermissionGroup.js.map +1 -1
  70. package/api/entities/DividendDistribution/index.d.ts +6 -0
  71. package/api/entities/DividendDistribution/index.d.ts.map +1 -1
  72. package/api/entities/DividendDistribution/index.js +6 -2
  73. package/api/entities/DividendDistribution/index.js.map +1 -1
  74. package/api/entities/Identity/AssetPermissions.d.ts +5 -1
  75. package/api/entities/Identity/AssetPermissions.d.ts.map +1 -1
  76. package/api/entities/Identity/AssetPermissions.js +5 -2
  77. package/api/entities/Identity/AssetPermissions.js.map +1 -1
  78. package/api/entities/Identity/IdentityAuthorizations.d.ts +5 -0
  79. package/api/entities/Identity/IdentityAuthorizations.d.ts.map +1 -1
  80. package/api/entities/Identity/IdentityAuthorizations.js +5 -0
  81. package/api/entities/Identity/IdentityAuthorizations.js.map +1 -1
  82. package/api/entities/Identity/Portfolios.js +1 -1
  83. package/api/entities/Identity/Portfolios.js.map +1 -1
  84. package/api/entities/Identity/index.d.ts +50 -1
  85. package/api/entities/Identity/index.d.ts.map +1 -1
  86. package/api/entities/Identity/index.js +76 -9
  87. package/api/entities/Identity/index.js.map +1 -1
  88. package/api/entities/Instruction/index.js +1 -1
  89. package/api/entities/Instruction/index.js.map +1 -1
  90. package/api/entities/MetadataEntry/index.js +1 -1
  91. package/api/entities/MetadataEntry/index.js.map +1 -1
  92. package/api/entities/NumberedPortfolio.d.ts +4 -0
  93. package/api/entities/NumberedPortfolio.d.ts.map +1 -1
  94. package/api/entities/NumberedPortfolio.js +1 -1
  95. package/api/entities/NumberedPortfolio.js.map +1 -1
  96. package/api/entities/Offering/index.d.ts +5 -0
  97. package/api/entities/Offering/index.d.ts.map +1 -1
  98. package/api/entities/Offering/index.js +6 -3
  99. package/api/entities/Offering/index.js.map +1 -1
  100. package/api/entities/Portfolio/index.d.ts +22 -0
  101. package/api/entities/Portfolio/index.d.ts.map +1 -1
  102. package/api/entities/Portfolio/index.js +99 -21
  103. package/api/entities/Portfolio/index.js.map +1 -1
  104. package/api/entities/Venue/index.d.ts +3 -0
  105. package/api/entities/Venue/index.d.ts.map +1 -1
  106. package/api/entities/Venue/index.js +4 -1
  107. package/api/entities/Venue/index.js.map +1 -1
  108. package/api/entities/common/namespaces/Authorizations.d.ts +16 -2
  109. package/api/entities/common/namespaces/Authorizations.d.ts.map +1 -1
  110. package/api/entities/common/namespaces/Authorizations.js +16 -4
  111. package/api/entities/common/namespaces/Authorizations.js.map +1 -1
  112. package/api/procedures/acceptPrimaryKeyRotation.js +1 -1
  113. package/api/procedures/acceptPrimaryKeyRotation.js.map +1 -1
  114. package/api/procedures/bondPolyx.d.ts +14 -2
  115. package/api/procedures/bondPolyx.d.ts.map +1 -1
  116. package/api/procedures/bondPolyx.js +39 -8
  117. package/api/procedures/bondPolyx.js.map +1 -1
  118. package/api/procedures/chillStaking.d.ts +36 -0
  119. package/api/procedures/chillStaking.d.ts.map +1 -0
  120. package/api/procedures/chillStaking.js +72 -0
  121. package/api/procedures/chillStaking.js.map +1 -0
  122. package/api/procedures/claimDividends.d.ts.map +1 -1
  123. package/api/procedures/claimDividends.js +11 -1
  124. package/api/procedures/claimDividends.js.map +1 -1
  125. package/api/procedures/configureDividendDistribution.js +2 -2
  126. package/api/procedures/configureDividendDistribution.js.map +1 -1
  127. package/api/procedures/issueNft.d.ts +1 -0
  128. package/api/procedures/issueNft.d.ts.map +1 -1
  129. package/api/procedures/issueNft.js +24 -6
  130. package/api/procedures/issueNft.js.map +1 -1
  131. package/api/procedures/modifyAsset.js +1 -1
  132. package/api/procedures/modifyAsset.js.map +1 -1
  133. package/api/procedures/moveFunds.js +2 -2
  134. package/api/procedures/moveFunds.js.map +1 -1
  135. package/api/procedures/nominateValidators.d.ts +6 -1
  136. package/api/procedures/nominateValidators.d.ts.map +1 -1
  137. package/api/procedures/nominateValidators.js +45 -6
  138. package/api/procedures/nominateValidators.js.map +1 -1
  139. package/api/procedures/redeemNft.js +1 -1
  140. package/api/procedures/redeemNft.js.map +1 -1
  141. package/api/procedures/redeemTokens.js +1 -1
  142. package/api/procedures/redeemTokens.js.map +1 -1
  143. package/api/procedures/removeAssetRequirement.js +1 -1
  144. package/api/procedures/removeAssetRequirement.js.map +1 -1
  145. package/api/procedures/removeCheckpointSchedule.js +1 -1
  146. package/api/procedures/removeCheckpointSchedule.js.map +1 -1
  147. package/api/procedures/removeCorporateAction.js +3 -3
  148. package/api/procedures/removeCorporateAction.js.map +1 -1
  149. package/api/procedures/setCustodian.d.ts +5 -1
  150. package/api/procedures/setCustodian.d.ts.map +1 -1
  151. package/api/procedures/setCustodian.js +2 -6
  152. package/api/procedures/setCustodian.js.map +1 -1
  153. package/api/procedures/setStakingController.d.ts +9 -1
  154. package/api/procedures/setStakingController.d.ts.map +1 -1
  155. package/api/procedures/setStakingController.js +10 -6
  156. package/api/procedures/setStakingController.js.map +1 -1
  157. package/api/procedures/setStakingPayee.d.ts +9 -1
  158. package/api/procedures/setStakingPayee.d.ts.map +1 -1
  159. package/api/procedures/setStakingPayee.js +10 -6
  160. package/api/procedures/setStakingPayee.js.map +1 -1
  161. package/api/procedures/toggleEvmAccountMapping.d.ts +18 -0
  162. package/api/procedures/toggleEvmAccountMapping.d.ts.map +1 -0
  163. package/api/procedures/toggleEvmAccountMapping.js +80 -0
  164. package/api/procedures/toggleEvmAccountMapping.js.map +1 -0
  165. package/api/procedures/types.d.ts +52 -1
  166. package/api/procedures/types.d.ts.map +1 -1
  167. package/api/procedures/types.js.map +1 -1
  168. package/api/procedures/updateBondedPolyx.d.ts +13 -2
  169. package/api/procedures/updateBondedPolyx.d.ts.map +1 -1
  170. package/api/procedures/updateBondedPolyx.js +109 -46
  171. package/api/procedures/updateBondedPolyx.js.map +1 -1
  172. package/api/procedures/withdrawUnbondedPolyx.d.ts +11 -2
  173. package/api/procedures/withdrawUnbondedPolyx.d.ts.map +1 -1
  174. package/api/procedures/withdrawUnbondedPolyx.js +19 -15
  175. package/api/procedures/withdrawUnbondedPolyx.js.map +1 -1
  176. package/base/Context.d.ts +37 -1
  177. package/base/Context.d.ts.map +1 -1
  178. package/base/Context.js +68 -3
  179. package/base/Context.js.map +1 -1
  180. package/base/PolymeshTransactionBase.d.ts +199 -3
  181. package/base/PolymeshTransactionBase.d.ts.map +1 -1
  182. package/base/PolymeshTransactionBase.js +595 -137
  183. package/base/PolymeshTransactionBase.js.map +1 -1
  184. package/base/Procedure.d.ts.map +1 -1
  185. package/base/Procedure.js +2 -0
  186. package/base/Procedure.js.map +1 -1
  187. package/base/ethTransaction.d.ts +222 -0
  188. package/base/ethTransaction.d.ts.map +1 -0
  189. package/base/ethTransaction.js +317 -0
  190. package/base/ethTransaction.js.map +1 -0
  191. package/base/types.d.ts +66 -1
  192. package/base/types.d.ts.map +1 -1
  193. package/base/types.js.map +1 -1
  194. package/base/utils.d.ts +60 -11
  195. package/base/utils.d.ts.map +1 -1
  196. package/base/utils.js +328 -45
  197. package/base/utils.js.map +1 -1
  198. package/internal.d.ts +2 -0
  199. package/internal.d.ts.map +1 -1
  200. package/internal.js +6 -2
  201. package/internal.js.map +1 -1
  202. package/middleware/queries/assets.d.ts +13 -5
  203. package/middleware/queries/assets.d.ts.map +1 -1
  204. package/middleware/queries/assets.js +60 -27
  205. package/middleware/queries/assets.js.map +1 -1
  206. package/middleware/queries/authorizations.d.ts +2 -2
  207. package/middleware/queries/authorizations.d.ts.map +1 -1
  208. package/middleware/queries/authorizations.js +4 -3
  209. package/middleware/queries/authorizations.js.map +1 -1
  210. package/middleware/queries/claims.d.ts +4 -4
  211. package/middleware/queries/claims.d.ts.map +1 -1
  212. package/middleware/queries/claims.js +18 -6
  213. package/middleware/queries/claims.js.map +1 -1
  214. package/middleware/queries/common.d.ts +41 -1
  215. package/middleware/queries/common.d.ts.map +1 -1
  216. package/middleware/queries/common.js +51 -9
  217. package/middleware/queries/common.js.map +1 -1
  218. package/middleware/queries/distributions.d.ts +2 -2
  219. package/middleware/queries/distributions.d.ts.map +1 -1
  220. package/middleware/queries/distributions.js +10 -3
  221. package/middleware/queries/distributions.js.map +1 -1
  222. package/middleware/queries/events.d.ts +2 -2
  223. package/middleware/queries/events.d.ts.map +1 -1
  224. package/middleware/queries/events.js +4 -3
  225. package/middleware/queries/events.js.map +1 -1
  226. package/middleware/queries/externalAgents.d.ts +2 -2
  227. package/middleware/queries/externalAgents.d.ts.map +1 -1
  228. package/middleware/queries/externalAgents.js +4 -3
  229. package/middleware/queries/externalAgents.js.map +1 -1
  230. package/middleware/queries/extrinsics.d.ts +1 -1
  231. package/middleware/queries/extrinsics.d.ts.map +1 -1
  232. package/middleware/queries/extrinsics.js +14 -8
  233. package/middleware/queries/extrinsics.js.map +1 -1
  234. package/middleware/queries/multisigs.d.ts +2 -6
  235. package/middleware/queries/multisigs.d.ts.map +1 -1
  236. package/middleware/queries/multisigs.js +10 -4
  237. package/middleware/queries/multisigs.js.map +1 -1
  238. package/middleware/queries/polyxTransactions.d.ts +2 -1
  239. package/middleware/queries/polyxTransactions.d.ts.map +1 -1
  240. package/middleware/queries/polyxTransactions.js +5 -3
  241. package/middleware/queries/polyxTransactions.js.map +1 -1
  242. package/middleware/queries/settlements.d.ts +7 -7
  243. package/middleware/queries/settlements.d.ts.map +1 -1
  244. package/middleware/queries/settlements.js +23 -14
  245. package/middleware/queries/settlements.js.map +1 -1
  246. package/middleware/queries/stos.d.ts +2 -2
  247. package/middleware/queries/stos.d.ts.map +1 -1
  248. package/middleware/queries/stos.js +9 -5
  249. package/middleware/queries/stos.js.map +1 -1
  250. package/npm-package/polymeshassociation-polymesh-sdk-31.1.0-beta.10.tgz +0 -0
  251. package/package.json +2 -3
  252. package/types/internal.d.ts +38 -1
  253. package/types/internal.d.ts.map +1 -1
  254. package/types/internal.js.map +1 -1
  255. package/utils/constants.d.ts +23 -0
  256. package/utils/constants.d.ts.map +1 -1
  257. package/utils/constants.js +24 -1
  258. package/utils/constants.js.map +1 -1
  259. package/utils/eth.d.ts +63 -0
  260. package/utils/eth.d.ts.map +1 -0
  261. package/utils/eth.js +209 -0
  262. package/utils/eth.js.map +1 -0
  263. package/utils/internal.d.ts +30 -2
  264. package/utils/internal.d.ts.map +1 -1
  265. package/utils/internal.js +86 -6
  266. package/utils/internal.js.map +1 -1
  267. package/utils/typeguards.d.ts +10 -0
  268. package/utils/typeguards.d.ts.map +1 -1
  269. package/utils/typeguards.js +11 -0
  270. package/utils/typeguards.js.map +1 -1
  271. package/npm-package/polymeshassociation-polymesh-sdk-31.0.0.tgz +0 -0
@@ -1,6 +1,6 @@
1
1
  import { QueryOptions } from '@apollo/client/core';
2
2
  import BigNumber from 'bignumber.js';
3
- import { Asset, AssetHolder, AssetHoldersOrderBy, AssetTransaction, DistributionPayment, NftHolder, NftHoldersOrderBy } from '../../middleware/types';
3
+ import { Asset, AssetHolder, AssetHoldersOrderBy, AssetTransaction, AssetTransactionsOrderBy, NftHolder, NftHoldersOrderBy } from '../../middleware/types';
4
4
  import { PaginatedQueryArgs, QueryArgs } from '../../types/utils';
5
5
  /**
6
6
  * @hidden
@@ -13,23 +13,31 @@ export declare function assetQuery(variables: QueryArgs<Asset, 'id'>): QueryOpti
13
13
  *
14
14
  * Get asset held by a DID
15
15
  */
16
- export declare function assetHoldersQuery(filters: QueryArgs<AssetHolder, 'identityId'>, size?: BigNumber, start?: BigNumber, orderBy?: AssetHoldersOrderBy): QueryOptions<PaginatedQueryArgs<QueryArgs<DistributionPayment, 'distributionId'>>>;
16
+ export declare function assetHoldersQuery(filters: QueryArgs<AssetHolder, 'identityId'> & {
17
+ amount?: string;
18
+ }, size?: BigNumber, start?: BigNumber, orderBy?: AssetHoldersOrderBy | AssetHoldersOrderBy[]): QueryOptions<PaginatedQueryArgs<QueryArgs<AssetHolder, 'identityId'> & {
19
+ amount?: string;
20
+ }>>;
17
21
  /**
18
22
  * @hidden
19
23
  *
20
24
  * Get NFTs held by a DID
21
25
  */
22
- export declare function nftHoldersQuery(filters: QueryArgs<NftHolder, 'identityId'>, size?: BigNumber, start?: BigNumber, orderBy?: NftHoldersOrderBy): QueryOptions<PaginatedQueryArgs<QueryArgs<NftHolder, 'identityId'>>>;
26
+ export declare function nftHoldersQuery(filters: QueryArgs<NftHolder, 'identityId'> & {
27
+ nftIds?: number[];
28
+ }, size?: BigNumber, start?: BigNumber, orderBy?: NftHoldersOrderBy | NftHoldersOrderBy[]): QueryOptions<PaginatedQueryArgs<QueryArgs<NftHolder, 'identityId'> & {
29
+ nftIds?: number[];
30
+ }>>;
23
31
  /**
24
32
  * @hidden
25
33
  *
26
34
  * Get the balance history for an Asset
27
35
  */
28
- export declare function assetTransactionQuery(filters: QueryArgs<AssetTransaction, 'assetId'>, size?: BigNumber, start?: BigNumber): QueryOptions<PaginatedQueryArgs<QueryArgs<AssetTransaction, 'assetId'>>>;
36
+ export declare function assetTransactionQuery(filters: QueryArgs<AssetTransaction, 'assetId'>, size?: BigNumber, start?: BigNumber, orderBy?: AssetTransactionsOrderBy | AssetTransactionsOrderBy[]): QueryOptions<PaginatedQueryArgs<QueryArgs<AssetTransaction, 'assetId'>>>;
29
37
  /**
30
38
  * @hidden
31
39
  *
32
40
  * Get holders on an NFT Collection
33
41
  */
34
- export declare function nftCollectionHolders(assetId: string, size?: BigNumber, start?: BigNumber): QueryOptions<PaginatedQueryArgs<QueryArgs<NftHolder, 'assetId'>>>;
42
+ export declare function nftCollectionHolders(assetId: string, size?: BigNumber, start?: BigNumber, orderBy?: NftHoldersOrderBy | NftHoldersOrderBy[]): QueryOptions<PaginatedQueryArgs<QueryArgs<NftHolder, 'assetId'>>>;
35
43
  //# sourceMappingURL=assets.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../../src/middleware/queries/assets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,SAAS,MAAM,cAAc,CAAC;AAIrC,OAAO,EACL,KAAK,EACL,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAEhB,mBAAmB,EACnB,SAAS,EACT,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE9D;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,SAAS,EAAE,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,GAChC,YAAY,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAoBtC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,SAAS,CAAC,WAAW,EAAE,YAAY,CAAC,EAC7C,IAAI,CAAC,EAAE,SAAS,EAChB,KAAK,CAAC,EAAE,SAAS,EACjB,OAAO,sBAAiC,GACvC,YAAY,CAAC,kBAAkB,CAAC,SAAS,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAkCpF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,SAAS,CAAC,SAAS,EAAE,YAAY,CAAC,EAC3C,IAAI,CAAC,EAAE,SAAS,EAChB,KAAK,CAAC,EAAE,SAAS,EACjB,OAAO,oBAA+B,GACrC,YAAY,CAAC,kBAAkB,CAAC,SAAS,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,CAgCtE;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,SAAS,CAAC,gBAAgB,EAAE,SAAS,CAAC,EAC/C,IAAI,CAAC,EAAE,SAAS,EAChB,KAAK,CAAC,EAAE,SAAS,GAChB,YAAY,CAAC,kBAAkB,CAAC,SAAS,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC,CAAC,CA8C1E;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,SAAS,EAChB,KAAK,CAAC,EAAE,SAAS,GAChB,YAAY,CAAC,kBAAkB,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAsBnE"}
1
+ {"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../../src/middleware/queries/assets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,SAAS,MAAM,cAAc,CAAC;AASrC,OAAO,EACL,KAAK,EACL,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,wBAAwB,EACxB,SAAS,EACT,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE9D;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,SAAS,EAAE,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,GAChC,YAAY,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAoBtC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,SAAS,CAAC,WAAW,EAAE,YAAY,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EACnE,IAAI,CAAC,EAAE,SAAS,EAChB,KAAK,CAAC,EAAE,SAAS,EACjB,OAAO,CAAC,EAAE,mBAAmB,GAAG,mBAAmB,EAAE,GACpD,YAAY,CAAC,kBAAkB,CAAC,SAAS,CAAC,WAAW,EAAE,YAAY,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAmD9F;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,SAAS,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,EACnE,IAAI,CAAC,EAAE,SAAS,EAChB,KAAK,CAAC,EAAE,SAAS,EACjB,OAAO,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,GAChD,YAAY,CAAC,kBAAkB,CAAC,SAAS,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAAC,CAgD9F;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,SAAS,CAAC,gBAAgB,EAAE,SAAS,CAAC,EAC/C,IAAI,CAAC,EAAE,SAAS,EAChB,KAAK,CAAC,EAAE,SAAS,EACjB,OAAO,CAAC,EAAE,wBAAwB,GAAG,wBAAwB,EAAE,GAC9D,YAAY,CAAC,kBAAkB,CAAC,SAAS,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC,CAAC,CAmD1E;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,SAAS,EAChB,KAAK,CAAC,EAAE,SAAS,EACjB,OAAO,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,GAChD,YAAY,CAAC,kBAAkB,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAyBnE"}
@@ -41,23 +41,37 @@ function assetQuery(variables) {
41
41
  *
42
42
  * Get asset held by a DID
43
43
  */
44
- function assetHoldersQuery(filters, size, start, orderBy = types_1.AssetHoldersOrderBy.AssetIdAsc) {
45
- if (orderBy === types_1.AssetHoldersOrderBy.CreatedAtAsc) {
46
- orderBy = types_1.AssetHoldersOrderBy.CreatedBlockIdAsc;
47
- }
48
- if (orderBy === types_1.AssetHoldersOrderBy.CreatedAtDesc) {
49
- orderBy = types_1.AssetHoldersOrderBy.CreatedBlockIdDesc;
50
- }
44
+ function assetHoldersQuery(filters, size, start, orderBy) {
45
+ // the indexer exposes no `createdAt` ordering; both map onto block order
46
+ const supplied = (0, common_1.toOrderByList)(orderBy).map(key => {
47
+ if (key === types_1.AssetHoldersOrderBy.CreatedAtAsc) {
48
+ return types_1.AssetHoldersOrderBy.CreatedBlockIdAsc;
49
+ }
50
+ if (key === types_1.AssetHoldersOrderBy.CreatedAtDesc) {
51
+ return types_1.AssetHoldersOrderBy.CreatedBlockIdDesc;
52
+ }
53
+ return key;
54
+ });
55
+ // a holding is unique per Asset given the Identity this always filters by
56
+ const ordering = (0, common_1.orderByClause)(supplied, [types_1.AssetHoldersOrderBy.AssetIdAsc]);
57
+ // a holding is kept once created, so excluding zero balances has to happen in the query —
58
+ // filtering client side would leave `totalCount` and the cursor describing the unfiltered set
59
+ const { args, filter } = (0, common_1.createArgsAndFilters)(filters, {
60
+ amount: { type: 'BigFloat', operator: 'greaterThan' },
61
+ });
51
62
  const query = (0, graphql_tag_1.default) `
52
- query AssetHoldersQuery($identityId: String!, $size: Int, $start: Int) {
63
+ query AssetHoldersQuery
64
+ ${args}
65
+ {
53
66
  assetHolders(
54
- filter: { identityId: { equalTo: $identityId } }
67
+ ${filter}
55
68
  first: $size
56
69
  offset: $start
57
- orderBy: [${orderBy}]
70
+ orderBy: [${ordering}]
58
71
  ) {
59
72
  totalCount
60
73
  nodes {
74
+ amount
61
75
  asset {
62
76
  id
63
77
  ticker
@@ -76,20 +90,33 @@ function assetHoldersQuery(filters, size, start, orderBy = types_1.AssetHoldersO
76
90
  *
77
91
  * Get NFTs held by a DID
78
92
  */
79
- function nftHoldersQuery(filters, size, start, orderBy = types_1.NftHoldersOrderBy.AssetIdAsc) {
80
- if (orderBy === types_1.NftHoldersOrderBy.CreatedAtAsc) {
81
- orderBy = types_1.NftHoldersOrderBy.CreatedBlockIdAsc;
82
- }
83
- if (orderBy === types_1.NftHoldersOrderBy.CreatedAtDesc) {
84
- orderBy = types_1.NftHoldersOrderBy.CreatedBlockIdDesc;
85
- }
93
+ function nftHoldersQuery(filters, size, start, orderBy) {
94
+ // the indexer exposes no `createdAt` ordering; both map onto block order
95
+ const supplied = (0, common_1.toOrderByList)(orderBy).map(key => {
96
+ if (key === types_1.NftHoldersOrderBy.CreatedAtAsc) {
97
+ return types_1.NftHoldersOrderBy.CreatedBlockIdAsc;
98
+ }
99
+ if (key === types_1.NftHoldersOrderBy.CreatedAtDesc) {
100
+ return types_1.NftHoldersOrderBy.CreatedBlockIdDesc;
101
+ }
102
+ return key;
103
+ });
104
+ // a holding is unique per Asset given the Identity this always filters by
105
+ const ordering = (0, common_1.orderByClause)(supplied, [types_1.NftHoldersOrderBy.AssetIdAsc]);
106
+ // a holding is kept once created, so excluding collections the Identity no longer holds any of
107
+ // has to happen in the query, or `totalCount` and the cursor describe the unfiltered set
108
+ const { args, filter } = (0, common_1.createArgsAndFilters)(filters, {
109
+ nftIds: { type: 'JSON', operator: 'notEqualTo' },
110
+ });
86
111
  const query = (0, graphql_tag_1.default) `
87
- query NftHolderQuery($identityId: String!, $size: Int, $start: Int) {
112
+ query NftHolderQuery
113
+ ${args}
114
+ {
88
115
  nftHolders(
89
- filter: { identityId: { equalTo: $identityId } }
116
+ ${filter}
90
117
  first: $size
91
118
  offset: $start
92
- orderBy: [${orderBy}]
119
+ orderBy: [${ordering}]
93
120
  ) {
94
121
  totalCount
95
122
  nodes {
@@ -112,15 +139,19 @@ function nftHoldersQuery(filters, size, start, orderBy = types_1.NftHoldersOrder
112
139
  *
113
140
  * Get the balance history for an Asset
114
141
  */
115
- function assetTransactionQuery(filters, size, start) {
116
- const orderBy = `${types_1.AssetTransactionsOrderBy.CreatedBlockIdAsc}`;
142
+ function assetTransactionQuery(filters, size, start, orderBy) {
143
+ const { args, filter } = (0, common_1.createArgsAndFilters)(filters, {});
144
+ // `id` is `<block>/<event index>`, zero padded: block order, and unique
145
+ const ordering = (0, common_1.orderByClause)(orderBy, [types_1.AssetTransactionsOrderBy.IdAsc]);
117
146
  const query = (0, graphql_tag_1.default) `
118
- query AssetTransactionQuery($assetId: String!, $size: Int, $start: Int) {
147
+ query AssetTransactionQuery
148
+ ${args}
149
+ {
119
150
  assetTransactions(
120
- filter: { assetId: { equalTo: $assetId } }
151
+ ${filter}
121
152
  first: $size
122
153
  offset: $start
123
- orderBy: [${orderBy}]
154
+ orderBy: [${ordering}]
124
155
  ) {
125
156
  totalCount
126
157
  nodes {
@@ -162,14 +193,16 @@ function assetTransactionQuery(filters, size, start) {
162
193
  *
163
194
  * Get holders on an NFT Collection
164
195
  */
165
- function nftCollectionHolders(assetId, size, start) {
196
+ function nftCollectionHolders(assetId, size, start, orderBy) {
197
+ // a holder appears once per collection, which this always filters by
198
+ const ordering = (0, common_1.orderByClause)(orderBy, [types_1.NftHoldersOrderBy.IdentityIdDesc]);
166
199
  const query = (0, graphql_tag_1.default) `
167
200
  query NftCollectionHolders($assetId: String!, $size: Int, $start: Int) {
168
201
  nftHolders(
169
202
  first: $size
170
203
  offset: $start
171
204
  filter: { assetId: { equalTo: $assetId }, nftIds: { notEqualTo: [] } }
172
- orderBy: IDENTITY_ID_DESC
205
+ orderBy: [${ordering}]
173
206
  ) {
174
207
  nodes {
175
208
  identityId
@@ -1 +1 @@
1
- {"version":3,"file":"assets.js","sourceRoot":"","sources":["../../../src/middleware/queries/assets.ts"],"names":[],"mappings":";;;;;AAsBA,gCAsBC;AAOD,8CAuCC;AAOD,0CAqCC;AAOD,sDAkDC;AAOD,oDA0BC;AA9ND,8DAA8B;AAE9B,wDAA+D;AAC/D,8CAS4B;AAG5B;;;;GAIG;AACH,SAAgB,UAAU,CACxB,SAAiC;IAEjC,MAAM,KAAK,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;;;;;GAahB,CAAC;IAEF,OAAO;QACL,KAAK;QACL,SAAS;KACV,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,iBAAiB,CAC/B,OAA6C,EAC7C,IAAgB,EAChB,KAAiB,EACjB,OAAO,GAAG,2BAAmB,CAAC,UAAU;IAExC,IAAI,OAAO,KAAK,2BAAmB,CAAC,YAAY,EAAE,CAAC;QACjD,OAAO,GAAG,2BAAmB,CAAC,iBAAiB,CAAC;IAClD,CAAC;IACD,IAAI,OAAO,KAAK,2BAAmB,CAAC,aAAa,EAAE,CAAC;QAClD,OAAO,GAAG,2BAAmB,CAAC,kBAAkB,CAAC;IACnD,CAAC;IAED,MAAM,KAAK,GAAG,IAAA,qBAAG,EAAA;;;;;;oBAMC,OAAO;;;;;;;;;;;GAWxB,CAAC;IAEF,OAAO;QACL,KAAK;QACL,SAAS,kCACJ,OAAO,GACP,IAAA,yBAAgB,EAAC,IAAI,EAAE,KAAK,CAAC,CACjC;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,eAAe,CAC7B,OAA2C,EAC3C,IAAgB,EAChB,KAAiB,EACjB,OAAO,GAAG,yBAAiB,CAAC,UAAU;IAEtC,IAAI,OAAO,KAAK,yBAAiB,CAAC,YAAY,EAAE,CAAC;QAC/C,OAAO,GAAG,yBAAiB,CAAC,iBAAiB,CAAC;IAChD,CAAC;IACD,IAAI,OAAO,KAAK,yBAAiB,CAAC,aAAa,EAAE,CAAC;QAChD,OAAO,GAAG,yBAAiB,CAAC,kBAAkB,CAAC;IACjD,CAAC;IAED,MAAM,KAAK,GAAG,IAAA,qBAAG,EAAA;;;;;;oBAMC,OAAO;;;;;;;;;;;;GAYxB,CAAC;IAEF,OAAO;QACL,KAAK;QACL,SAAS,kCAAO,OAAO,GAAK,IAAA,yBAAgB,EAAC,IAAI,EAAE,KAAK,CAAC,CAAE;KAC5D,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,qBAAqB,CACnC,OAA+C,EAC/C,IAAgB,EAChB,KAAiB;IAEjB,MAAM,OAAO,GAAG,GAAG,gCAAwB,CAAC,iBAAiB,EAAE,CAAC;IAEhE,MAAM,KAAK,GAAG,IAAA,qBAAG,EAAA;;;;;;qBAME,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BzB,CAAC;IAEF,OAAO;QACL,KAAK;QACL,SAAS,kCAAO,OAAO,GAAK,IAAA,yBAAgB,EAAC,IAAI,EAAE,KAAK,CAAC,CAAE;KAC5D,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,oBAAoB,CAClC,OAAe,EACf,IAAgB,EAChB,KAAiB;IAEjB,MAAM,KAAK,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;;;;;;;GAehB,CAAC;IAEF,OAAO;QACL,KAAK;QACL,SAAS,kCAAO,IAAA,yBAAgB,EAAC,IAAI,EAAE,KAAK,CAAC,KAAE,OAAO,GAAE;KACzD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"assets.js","sourceRoot":"","sources":["../../../src/middleware/queries/assets.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { QueryOptions } from '@apollo/client/core';
2
2
  import BigNumber from 'bignumber.js';
3
- import { Authorization } from '../../middleware/types';
3
+ import { Authorization, AuthorizationsOrderBy } from '../../middleware/types';
4
4
  import { PaginatedQueryArgs, QueryArgs } from '../../types/utils';
5
5
  export type AuthorizationArgs = 'fromId' | 'type' | 'status' | 'toId' | 'toKey' | 'expiry';
6
6
  /**
@@ -8,5 +8,5 @@ export type AuthorizationArgs = 'fromId' | 'type' | 'status' | 'toId' | 'toKey'
8
8
  *
9
9
  * Get all authorizations with specified filters
10
10
  */
11
- export declare function authorizationsQuery(filters: QueryArgs<Authorization, AuthorizationArgs>, size?: BigNumber, start?: BigNumber): QueryOptions<PaginatedQueryArgs<QueryArgs<Authorization, AuthorizationArgs>>>;
11
+ export declare function authorizationsQuery(filters: QueryArgs<Authorization, AuthorizationArgs>, size?: BigNumber, start?: BigNumber, orderBy?: AuthorizationsOrderBy | AuthorizationsOrderBy[]): QueryOptions<PaginatedQueryArgs<QueryArgs<Authorization, AuthorizationArgs>>>;
12
12
  //# sourceMappingURL=authorizations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"authorizations.d.ts","sourceRoot":"","sources":["../../../src/middleware/queries/authorizations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,SAAS,MAAM,cAAc,CAAC;AAIrC,OAAO,EAAE,aAAa,EAAyB,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE9D,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAwC3F;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,SAAS,CAAC,aAAa,EAAE,iBAAiB,CAAC,EACpD,IAAI,CAAC,EAAE,SAAS,EAChB,KAAK,CAAC,EAAE,SAAS,GAChB,YAAY,CAAC,kBAAkB,CAAC,SAAS,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAoC/E"}
1
+ {"version":3,"file":"authorizations.d.ts","sourceRoot":"","sources":["../../../src/middleware/queries/authorizations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,SAAS,MAAM,cAAc,CAAC;AAQrC,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE9D,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAwC3F;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,SAAS,CAAC,aAAa,EAAE,iBAAiB,CAAC,EACpD,IAAI,CAAC,EAAE,SAAS,EAChB,KAAK,CAAC,EAAE,SAAS,EACjB,OAAO,CAAC,EAAE,qBAAqB,GAAG,qBAAqB,EAAE,GACxD,YAAY,CAAC,kBAAkB,CAAC,SAAS,CAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAqC/E"}
@@ -45,9 +45,10 @@ function createAuthorizationFilters(variables) {
45
45
  *
46
46
  * Get all authorizations with specified filters
47
47
  */
48
- function authorizationsQuery(filters, size, start) {
48
+ function authorizationsQuery(filters, size, start, orderBy) {
49
49
  const { args, filter } = createAuthorizationFilters(filters);
50
- const orderBy = `${types_1.AuthorizationsOrderBy.CreatedEventIdAsc}`;
50
+ // `createdEventId` is the composite of block and event index, and unique
51
+ const ordering = (0, common_1.orderByClause)(orderBy, [types_1.AuthorizationsOrderBy.CreatedEventIdAsc]);
51
52
  const query = (0, graphql_tag_1.default) `
52
53
  query AuthorizationsQuery
53
54
  ${args}
@@ -56,7 +57,7 @@ function authorizationsQuery(filters, size, start) {
56
57
  ${filter}
57
58
  first: $size
58
59
  offset: $start
59
- orderBy: [${orderBy}]
60
+ orderBy: [${ordering}]
60
61
  ) {
61
62
  totalCount
62
63
  nodes {
@@ -1 +1 @@
1
- {"version":3,"file":"authorizations.js","sourceRoot":"","sources":["../../../src/middleware/queries/authorizations.ts"],"names":[],"mappings":";;;;;AAqDA,kDAwCC;AA3FD,8DAA8B;AAE9B,wDAAsF;AACtF,8CAA0E;AAK1E;;GAEG;AACH,SAAS,0BAA0B,CAAC,SAAsD;IAKxF,MAAM,IAAI,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC;IACxD,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,EAAE,CAAC;QACjB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO;QACL,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,GAAG;QACxB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE;QAC7D,SAAS;KACV,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,mBAAmB,CACjC,OAAoD,EACpD,IAAgB,EAChB,KAAiB;IAEjB,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAE7D,MAAM,OAAO,GAAG,GAAG,6BAAqB,CAAC,iBAAiB,EAAE,CAAC;IAE7D,MAAM,KAAK,GAAG,IAAA,qBAAG,EAAA;;QAEX,IAAI;;;UAGF,MAAM;;;oBAGI,OAAO;;;;;;;;;;;;;;;;;GAiBxB,CAAC;IAEF,OAAO;QACL,KAAK;QACL,SAAS,EAAE,IAAA,8BAAqB,kCAAM,OAAO,GAAK,IAAA,yBAAgB,EAAC,IAAI,EAAE,KAAK,CAAC,EAAG;KACnF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"authorizations.js","sourceRoot":"","sources":["../../../src/middleware/queries/authorizations.ts"],"names":[],"mappings":";;;;;AAyDA,kDA0CC;AAjGD,8DAA8B;AAE9B,wDAIqC;AACrC,8CAA0E;AAK1E;;GAEG;AACH,SAAS,0BAA0B,CAAC,SAAsD;IAKxF,MAAM,IAAI,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC;IACxD,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,EAAE,CAAC;QACjB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAC7C,CAAC;IACD,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,MAAM,EAAE,CAAC;QACX,IAAI,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO;QACL,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,GAAG;QACxB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE;QAC7D,SAAS;KACV,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,mBAAmB,CACjC,OAAoD,EACpD,IAAgB,EAChB,KAAiB,EACjB,OAAyD;IAEzD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAE7D,yEAAyE;IACzE,MAAM,QAAQ,GAAG,IAAA,sBAAa,EAAC,OAAO,EAAE,CAAC,6BAAqB,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAEnF,MAAM,KAAK,GAAG,IAAA,qBAAG,EAAA;;QAEX,IAAI;;;UAGF,MAAM;;;oBAGI,QAAQ;;;;;;;;;;;;;;;;;GAiBzB,CAAC;IAEF,OAAO;QACL,KAAK;QACL,SAAS,EAAE,IAAA,8BAAqB,kCAAM,OAAO,GAAK,IAAA,yBAAgB,EAAC,IAAI,EAAE,KAAK,CAAC,EAAG;KACnF,CAAC;AACJ,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { QueryOptions } from '@apollo/client/core';
2
2
  import BigNumber from 'bignumber.js';
3
- import { ClaimsOrderBy, ClaimTypeEnum, TrustedClaimIssuer } from '../../middleware/types';
3
+ import { ClaimsOrderBy, ClaimTypeEnum, CustomClaimTypesOrderBy, TrustedClaimIssuer } from '../../middleware/types';
4
4
  import { PaginatedQueryArgs, QueryArgs } from '../../types/utils';
5
5
  export interface ClaimsQueryFilter {
6
6
  dids?: string[] | undefined;
@@ -16,13 +16,13 @@ export interface ClaimsQueryFilter {
16
16
  *
17
17
  * Get all dids with at least one claim for a given scope and from one of the given trusted claim issuers
18
18
  */
19
- export declare function claimsGroupingQuery(variables: ClaimsQueryFilter, orderBy?: ClaimsOrderBy, groupBy?: string): QueryOptions<PaginatedQueryArgs<ClaimsQueryFilter>>;
19
+ export declare function claimsGroupingQuery(variables: ClaimsQueryFilter, orderBy?: ClaimsOrderBy | ClaimsOrderBy[], groupBy?: string): QueryOptions<PaginatedQueryArgs<ClaimsQueryFilter>>;
20
20
  /**
21
21
  * @hidden
22
22
  *
23
23
  * Get all claims that a given target DID has, with a given scope and from one of the given trustedClaimIssuers
24
24
  */
25
- export declare function claimsQuery(filters: ClaimsQueryFilter, size?: BigNumber, start?: BigNumber): QueryOptions<PaginatedQueryArgs<ClaimsQueryFilter>>;
25
+ export declare function claimsQuery(filters: ClaimsQueryFilter, size?: BigNumber, start?: BigNumber, orderBy?: ClaimsOrderBy | ClaimsOrderBy[]): QueryOptions<PaginatedQueryArgs<ClaimsQueryFilter>>;
26
26
  /**
27
27
  * @hidden
28
28
  *
@@ -50,5 +50,5 @@ export interface CustomClaimTypesQuery {
50
50
  *
51
51
  * Get registered CustomClaimTypes
52
52
  */
53
- export declare function customClaimTypeQuery(size?: BigNumber, start?: BigNumber, dids?: string[]): QueryOptions<PaginatedQueryArgs<CustomClaimTypesQuery>>;
53
+ export declare function customClaimTypeQuery(size?: BigNumber, start?: BigNumber, dids?: string[], orderBy?: CustomClaimTypesOrderBy | CustomClaimTypesOrderBy[]): QueryOptions<PaginatedQueryArgs<CustomClaimTypesQuery>>;
54
54
  //# sourceMappingURL=claims.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"claims.d.ts","sourceRoot":"","sources":["../../../src/middleware/queries/claims.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,SAAS,MAAM,cAAc,CAAC;AAIrC,OAAO,EACL,aAAa,EACb,aAAa,EACb,kBAAkB,EAEnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAqD9D,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAC5C,mBAAmB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC3C,UAAU,CAAC,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC;IACzC,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CAC3C;AACD;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,iBAAiB,EAC5B,OAAO,gBAA4B,EACnC,OAAO,SAAc,GACpB,YAAY,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC,CAwBrD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,iBAAiB,EAC1B,IAAI,CAAC,EAAE,SAAS,EAChB,KAAK,CAAC,EAAE,SAAS,GAChB,YAAY,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC,CAwCrD;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,SAAS,CAAC,kBAAkB,EAAE,QAAQ,GAAG,SAAS,CAAC,GAC7D,YAAY,CAAC,SAAS,CAAC,kBAAkB,EAAE,QAAQ,GAAG,SAAS,CAAC,CAAC,CAyBnE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,SAAS,CAAC,kBAAkB,EAAE,QAAQ,CAAC,GACjD,YAAY,CAAC,SAAS,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC,CAqBvD;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAAC,SAAS,EAAE,qBAAqB,GAAG;IACnF,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,CAeA;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AACD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,CAAC,EAAE,SAAS,EAChB,KAAK,CAAC,EAAE,SAAS,EACjB,IAAI,CAAC,EAAE,MAAM,EAAE,GACd,YAAY,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC,CA0BzD"}
1
+ {"version":3,"file":"claims.d.ts","sourceRoot":"","sources":["../../../src/middleware/queries/claims.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,SAAS,MAAM,cAAc,CAAC;AAQrC,OAAO,EACL,aAAa,EACb,aAAa,EACb,uBAAuB,EACvB,kBAAkB,EAEnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAqD9D,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAC5C,mBAAmB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC3C,UAAU,CAAC,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC;IACzC,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CAC3C;AACD;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,iBAAiB,EAC5B,OAAO,CAAC,EAAE,aAAa,GAAG,aAAa,EAAE,EACzC,OAAO,SAAc,GACpB,YAAY,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC,CA0BrD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,iBAAiB,EAC1B,IAAI,CAAC,EAAE,SAAS,EAChB,KAAK,CAAC,EAAE,SAAS,EACjB,OAAO,CAAC,EAAE,aAAa,GAAG,aAAa,EAAE,GACxC,YAAY,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC,CA6CrD;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,SAAS,CAAC,kBAAkB,EAAE,QAAQ,GAAG,SAAS,CAAC,GAC7D,YAAY,CAAC,SAAS,CAAC,kBAAkB,EAAE,QAAQ,GAAG,SAAS,CAAC,CAAC,CAyBnE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,SAAS,CAAC,kBAAkB,EAAE,QAAQ,CAAC,GACjD,YAAY,CAAC,SAAS,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC,CAqBvD;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAAC,SAAS,EAAE,qBAAqB,GAAG;IACnF,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,CAeA;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AACD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,CAAC,EAAE,SAAS,EAChB,KAAK,CAAC,EAAE,SAAS,EACjB,IAAI,CAAC,EAAE,MAAM,EAAE,EACf,OAAO,CAAC,EAAE,uBAAuB,GAAG,uBAAuB,EAAE,GAC5D,YAAY,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC,CAiCzD"}
@@ -59,15 +59,16 @@ function createClaimsFilters(variables) {
59
59
  *
60
60
  * Get all dids with at least one claim for a given scope and from one of the given trusted claim issuers
61
61
  */
62
- function claimsGroupingQuery(variables, orderBy = types_1.ClaimsOrderBy.TargetIdAsc, groupBy = 'TARGET_ID') {
62
+ function claimsGroupingQuery(variables, orderBy, groupBy = 'TARGET_ID') {
63
63
  const { args, filter } = createClaimsFilters(variables);
64
+ const ordering = (0, common_1.orderByClause)(orderBy, [types_1.ClaimsOrderBy.TargetIdAsc]);
64
65
  const query = (0, graphql_tag_1.default) `
65
66
  query claimsGroupingQuery
66
67
  ${args}
67
68
  {
68
69
  claims(
69
70
  ${filter}
70
- orderBy: [${orderBy}]
71
+ orderBy: [${ordering}]
71
72
  first: $size
72
73
  offset: $start
73
74
  ) {
@@ -87,16 +88,21 @@ function claimsGroupingQuery(variables, orderBy = types_1.ClaimsOrderBy.TargetId
87
88
  *
88
89
  * Get all claims that a given target DID has, with a given scope and from one of the given trustedClaimIssuers
89
90
  */
90
- function claimsQuery(filters, size, start) {
91
+ function claimsQuery(filters, size, start, orderBy) {
91
92
  const { args, filter } = createClaimsFilters(filters);
92
- const orderBy = `${types_1.ClaimsOrderBy.TargetIdAsc}, ${types_1.ClaimsOrderBy.CreatedBlockIdAsc}, ${types_1.ClaimsOrderBy.EventIdxAsc}`;
93
+ // block and event index together are unique, so this is a total order per target
94
+ const ordering = (0, common_1.orderByClause)(orderBy, [
95
+ types_1.ClaimsOrderBy.TargetIdAsc,
96
+ types_1.ClaimsOrderBy.CreatedBlockIdAsc,
97
+ types_1.ClaimsOrderBy.EventIdxAsc,
98
+ ]);
93
99
  const query = (0, graphql_tag_1.default) `
94
100
  query ClaimsQuery
95
101
  ${args}
96
102
  {
97
103
  claims(
98
104
  ${filter}
99
- orderBy: [${orderBy}]
105
+ orderBy: [${ordering}]
100
106
  first: $size
101
107
  offset: $start
102
108
  ) {
@@ -197,8 +203,13 @@ function createCustomClaimTypeQueryFilters(variables) {
197
203
  *
198
204
  * Get registered CustomClaimTypes
199
205
  */
200
- function customClaimTypeQuery(size, start, dids) {
206
+ function customClaimTypeQuery(size, start, dids, orderBy) {
201
207
  const { args, filter } = createCustomClaimTypeQueryFilters(Object.assign({}, (dids && { dids })));
208
+ // a custom claim type's `id` is the chain's numeric id, unpadded, so it serves only as a tiebreaker
209
+ const ordering = (0, common_1.orderByClause)(orderBy, [
210
+ types_1.CustomClaimTypesOrderBy.CreatedBlockIdAsc,
211
+ types_1.CustomClaimTypesOrderBy.IdAsc,
212
+ ]);
202
213
  const query = (0, graphql_tag_1.default) `
203
214
  query CustomClaimTypesQuery
204
215
  ${args}
@@ -207,6 +218,7 @@ function customClaimTypeQuery(size, start, dids) {
207
218
  ${filter}
208
219
  first: $size
209
220
  offset: $start
221
+ orderBy: [${ordering}]
210
222
  ){
211
223
  nodes {
212
224
  id
@@ -1 +1 @@
1
- {"version":3,"file":"claims.js","sourceRoot":"","sources":["../../../src/middleware/queries/claims.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claims.js","sourceRoot":"","sources":["../../../src/middleware/queries/claims.ts"],"names":[],"mappings":"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"}
@@ -32,10 +32,50 @@ export declare function latestSqVersionQuery(): QueryOptions;
32
32
  *
33
33
  * @hidden
34
34
  */
35
- export declare function createArgsAndFilters(filters: Record<string, unknown>, typeMap: Record<string, string>): {
35
+ /**
36
+ * @hidden
37
+ *
38
+ * How a filter attribute is turned into a GQL variable and comparison
39
+ */
40
+ export interface FilterSpec {
41
+ /**
42
+ * GQL type of the variable. Defaults to `String`
43
+ */
44
+ type?: string;
45
+ /**
46
+ * GQL comparison to apply. Defaults to `equalTo`
47
+ */
48
+ operator?: string;
49
+ }
50
+ /**
51
+ * @hidden
52
+ *
53
+ * Build the GQL argument list and `filter:` block for the attributes actually supplied
54
+ */
55
+ export declare function createArgsAndFilters(filters: Record<string, unknown>, typeMap: Record<string, string | FilterSpec>): {
36
56
  args: string;
37
57
  filter: string;
38
58
  };
59
+ /**
60
+ * @hidden
61
+ *
62
+ * Read an ordering the caller may have given as one key or as several
63
+ */
64
+ export declare function toOrderByList<Key>(orderBy?: Key | Key[]): Key[];
65
+ /**
66
+ * @hidden
67
+ *
68
+ * Build a paginated query's `orderBy` list from the ordering the caller supplied.
69
+ *
70
+ * What a caller asks for comes first, and the query's own ordering follows it, rather than being
71
+ * replaced by it: `first`/`offset` paging over an order that does not decide every row repeats and
72
+ * skips rows, so the keys that make the order unique are appended, except where the caller already
73
+ * orders by that column and has said which direction they want it in
74
+ *
75
+ * @param orderBy - ordering the caller supplied, if any
76
+ * @param tiebreaker - the keys that make this query's order unique, which are also its default
77
+ */
78
+ export declare function orderByClause<Key extends string>(orderBy: Key | Key[] | undefined, tiebreaker: Key[]): string;
39
79
  /**
40
80
  * Create args and filters to be supplied to GQL query
41
81
  *
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/middleware/queries/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,SAAS,MAAM,cAAc,CAAC;AAMrC;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,YAAY,CAc/C;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,YAAY,CAc7C;AAED;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,YAAY,CAqB5C;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,YAAY,CAenD;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B;IACD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,CAgBA;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,CAAC,EAAE,SAAS,EAChB,KAAK,CAAC,EAAE,SAAS,GAChB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAKjC;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,GACnD,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,CAE3C"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/middleware/queries/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,SAAS,MAAM,cAAc,CAAC;AAMrC;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,YAAY,CAc/C;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,YAAY,CAc7C;AAED;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,YAAY,CAqB5C;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,YAAY,CAenD;AAED;;;;;;;GAOG;AACH;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAAC,GAC3C;IACD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,CAyBA;AAWD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,CAM/D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,GAAG,SAAS,MAAM,EAC9C,OAAO,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,SAAS,EAChC,UAAU,EAAE,GAAG,EAAE,GAChB,MAAM,CAOR;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,CAAC,EAAE,SAAS,EAChB,KAAK,CAAC,EAAE,SAAS,GAChB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAKjC;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,GACnD,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,CAE3C"}
@@ -8,6 +8,8 @@ exports.heartbeatQuery = heartbeatQuery;
8
8
  exports.metadataQuery = metadataQuery;
9
9
  exports.latestSqVersionQuery = latestSqVersionQuery;
10
10
  exports.createArgsAndFilters = createArgsAndFilters;
11
+ exports.toOrderByList = toOrderByList;
12
+ exports.orderByClause = orderByClause;
11
13
  exports.getSizeAndOffset = getSizeAndOffset;
12
14
  exports.removeUndefinedValues = removeUndefinedValues;
13
15
  const graphql_tag_1 = __importDefault(require("graphql-tag"));
@@ -98,29 +100,69 @@ function latestSqVersionQuery() {
98
100
  };
99
101
  }
100
102
  /**
101
- * Create args and filters to be supplied to GQL query
102
- *
103
- * @param filters - filters to be applied
104
- * @param typeMap - Map defining the types corresponding to each attribute. All missing attributes whose types are not defined are considered to be `String`
105
- *
106
103
  * @hidden
104
+ *
105
+ * Build the GQL argument list and `filter:` block for the attributes actually supplied
107
106
  */
108
107
  function createArgsAndFilters(filters, typeMap) {
109
108
  const args = ['$start: Int', '$size: Int'];
110
109
  const gqlFilters = [];
111
110
  Object.keys(filters).forEach(attribute => {
112
111
  var _a;
113
- if (filters[attribute]) {
114
- const type = (_a = typeMap[attribute]) !== null && _a !== void 0 ? _a : 'String';
115
- args.push(`$${attribute}: ${type}!`);
116
- gqlFilters.push(`${attribute}: { equalTo: $${attribute} }`);
112
+ /*
113
+ * a supplied value is filtered on even when it is falsy: `success: 0` means "only the failed
114
+ * ones", and dropping it returned everything instead
115
+ */
116
+ if (filters[attribute] === undefined || filters[attribute] === null) {
117
+ return;
117
118
  }
119
+ const spec = (_a = typeMap[attribute]) !== null && _a !== void 0 ? _a : {};
120
+ const { type = 'String', operator = 'equalTo' } = typeof spec === 'string' ? { type: spec } : spec;
121
+ args.push(`$${attribute}: ${type}!`);
122
+ gqlFilters.push(`${attribute}: { ${operator}: $${attribute} }`);
118
123
  });
119
124
  return {
120
125
  args: `(${args.join()})`,
121
126
  filter: gqlFilters.length ? `filter: { ${gqlFilters.join()} }` : '',
122
127
  };
123
128
  }
129
+ /**
130
+ * @hidden
131
+ *
132
+ * The column an ordering key names, without its direction
133
+ */
134
+ function orderByColumn(key) {
135
+ return key.replace(/_(ASC|DESC)$/, '');
136
+ }
137
+ /**
138
+ * @hidden
139
+ *
140
+ * Read an ordering the caller may have given as one key or as several
141
+ */
142
+ function toOrderByList(orderBy) {
143
+ if (orderBy === undefined) {
144
+ return [];
145
+ }
146
+ return Array.isArray(orderBy) ? orderBy : [orderBy];
147
+ }
148
+ /**
149
+ * @hidden
150
+ *
151
+ * Build a paginated query's `orderBy` list from the ordering the caller supplied.
152
+ *
153
+ * What a caller asks for comes first, and the query's own ordering follows it, rather than being
154
+ * replaced by it: `first`/`offset` paging over an order that does not decide every row repeats and
155
+ * skips rows, so the keys that make the order unique are appended, except where the caller already
156
+ * orders by that column and has said which direction they want it in
157
+ *
158
+ * @param orderBy - ordering the caller supplied, if any
159
+ * @param tiebreaker - the keys that make this query's order unique, which are also its default
160
+ */
161
+ function orderByClause(orderBy, tiebreaker) {
162
+ const supplied = toOrderByList(orderBy);
163
+ const orderedColumns = new Set(supplied.map(orderByColumn));
164
+ return [...supplied, ...tiebreaker.filter(key => !orderedColumns.has(orderByColumn(key)))].join(', ');
165
+ }
124
166
  /**
125
167
  * Create args and filters to be supplied to GQL query
126
168
  *
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/middleware/queries/common.ts"],"names":[],"mappings":";;;;;AAYA,4CAcC;AAOD,wCAcC;AAOD,sCAqBC;AAOD,oDAeC;AAUD,oDAsBC;AAUD,4CAQC;AASD,sDAIC;AA9JD,8DAA8B;AAE9B,8CAA4E;AAC5E,iDAA0D;AAE1D;;;;GAIG;AACH,SAAgB,gBAAgB;IAC9B,MAAM,KAAK,GAAG,IAAA,qBAAG,EAAA;;mCAEgB,qBAAa,CAAC,WAAW;;;;;;GAMzD,CAAC;IAEF,OAAO;QACL,KAAK;KACN,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,cAAc;IAC5B,MAAM,KAAK,GAAG,IAAA,qBAAG,EAAA;;;;;;;;GAQhB,CAAC;IAEF,OAAO;QACL,KAAK;KACN,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,aAAa;IAC3B,MAAM,KAAK,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;;;;;;;GAehB,CAAC;IAEF,OAAO;QACL,KAAK;KACN,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,oBAAoB;IAClC,MAAM,KAAK,GAAG,IAAA,qBAAG,EAAA;;mCAEgB,+BAAuB,CAAC,MAAM;;;;;;;GAO9D,CAAC;IAEF,OAAO;QACL,KAAK;KACN,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,oBAAoB,CAClC,OAAgC,EAChC,OAA+B;IAK/B,MAAM,IAAI,GAAa,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IACrD,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;;QACvC,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,MAAA,OAAO,CAAC,SAAS,CAAC,mCAAI,QAAQ,CAAC;YAC5C,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,KAAK,IAAI,GAAG,CAAC,CAAC;YACrC,UAAU,CAAC,IAAI,CAAC,GAAG,SAAS,iBAAiB,SAAS,IAAI,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,GAAG;QACxB,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE;KACpE,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,gBAAgB,CAC9B,IAAgB,EAChB,KAAiB;;IAEjB,OAAO;QACL,IAAI,EAAE,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,EAAE,mCAAI,iCAAqB;QAC/C,KAAK,EAAE,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,EAAE,mCAAI,CAAC;KAC9B,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,qBAAqB,CACnC,SAAoD;IAEpD,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC;AAClG,CAAC"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/middleware/queries/common.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { QueryOptions } from '@apollo/client/core';
2
2
  import BigNumber from 'bignumber.js';
3
- import { Distribution, DistributionPayment } from '../../middleware/types';
3
+ import { Distribution, DistributionPayment, DistributionPaymentsOrderBy } from '../../middleware/types';
4
4
  import { PaginatedQueryArgs, QueryArgs } from '../../types/utils';
5
5
  /**
6
6
  * @hidden
@@ -13,5 +13,5 @@ export declare function distributionQuery(variables: QueryArgs<Distribution, 'as
13
13
  *
14
14
  * Get history of claims for a distribution
15
15
  */
16
- export declare function distributionPaymentsQuery(filters: QueryArgs<DistributionPayment, 'distributionId'>, size?: BigNumber, start?: BigNumber): QueryOptions<PaginatedQueryArgs<QueryArgs<DistributionPayment, 'distributionId'>>>;
16
+ export declare function distributionPaymentsQuery(filters: QueryArgs<DistributionPayment, 'distributionId'>, size?: BigNumber, start?: BigNumber, orderBy?: DistributionPaymentsOrderBy | DistributionPaymentsOrderBy[]): QueryOptions<PaginatedQueryArgs<QueryArgs<DistributionPayment, 'distributionId'>>>;
17
17
  //# sourceMappingURL=distributions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"distributions.d.ts","sourceRoot":"","sources":["../../../src/middleware/queries/distributions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,SAAS,MAAM,cAAc,CAAC;AAIrC,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE9D;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,SAAS,CAAC,YAAY,EAAE,SAAS,GAAG,SAAS,CAAC,GACxD,YAAY,CAAC,SAAS,CAAC,YAAY,EAAE,SAAS,GAAG,SAAS,CAAC,CAAC,CAe9D;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,SAAS,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,EACzD,IAAI,CAAC,EAAE,SAAS,EAChB,KAAK,CAAC,EAAE,SAAS,GAChB,YAAY,CAAC,kBAAkB,CAAC,SAAS,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC,CAAC,CA4BpF"}
1
+ {"version":3,"file":"distributions.d.ts","sourceRoot":"","sources":["../../../src/middleware/queries/distributions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,SAAS,MAAM,cAAc,CAAC;AAIrC,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACpG,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE9D;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,SAAS,CAAC,YAAY,EAAE,SAAS,GAAG,SAAS,CAAC,GACxD,YAAY,CAAC,SAAS,CAAC,YAAY,EAAE,SAAS,GAAG,SAAS,CAAC,CAAC,CAe9D;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,SAAS,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,EACzD,IAAI,CAAC,EAAE,SAAS,EAChB,KAAK,CAAC,EAAE,SAAS,EACjB,OAAO,CAAC,EAAE,2BAA2B,GAAG,2BAA2B,EAAE,GACpE,YAAY,CAAC,kBAAkB,CAAC,SAAS,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAoCpF"}
@@ -7,6 +7,7 @@ exports.distributionQuery = distributionQuery;
7
7
  exports.distributionPaymentsQuery = distributionPaymentsQuery;
8
8
  const graphql_tag_1 = __importDefault(require("graphql-tag"));
9
9
  const common_1 = require("../../middleware/queries/common");
10
+ const types_1 = require("../../middleware/types");
10
11
  /**
11
12
  * @hidden
12
13
  *
@@ -32,13 +33,19 @@ function distributionQuery(variables) {
32
33
  *
33
34
  * Get history of claims for a distribution
34
35
  */
35
- function distributionPaymentsQuery(filters, size, start) {
36
+ function distributionPaymentsQuery(filters, size, start, orderBy) {
37
+ const { args, filter } = (0, common_1.createArgsAndFilters)(filters, {});
38
+ // `id` is `<block>/<event index>`, zero padded: chronological, and unique
39
+ const ordering = (0, common_1.orderByClause)(orderBy, [types_1.DistributionPaymentsOrderBy.IdAsc]);
36
40
  const query = (0, graphql_tag_1.default) `
37
- query DistributionPaymentQuery($distributionId: String!, $size: Int, $start: Int) {
41
+ query DistributionPaymentQuery
42
+ ${args}
43
+ {
38
44
  distributionPayments(
39
- filter: { distributionId: { equalTo: $distributionId } }
45
+ ${filter}
40
46
  first: $size
41
47
  offset: $start
48
+ orderBy: [${ordering}]
42
49
  ) {
43
50
  totalCount
44
51
  nodes {
@@ -1 +1 @@
1
- {"version":3,"file":"distributions.js","sourceRoot":"","sources":["../../../src/middleware/queries/distributions.ts"],"names":[],"mappings":";;;;;AAaA,8CAiBC;AAOD,8DAgCC;AAnED,8DAA8B;AAE9B,wDAA+D;AAI/D;;;;GAIG;AACH,SAAgB,iBAAiB,CAC/B,SAAyD;IAEzD,MAAM,KAAK,GAAG,IAAA,qBAAG,EAAA;;;;;;;;GAQhB,CAAC;IAEF,OAAO;QACL,KAAK;QACL,SAAS;KACV,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,yBAAyB,CACvC,OAAyD,EACzD,IAAgB,EAChB,KAAiB;IAEjB,MAAM,KAAK,GAAG,IAAA,qBAAG,EAAA;;;;;;;;;;;;;;;;;;;;;GAqBhB,CAAC;IAEF,OAAO;QACL,KAAK;QACL,SAAS,kCAAO,OAAO,GAAK,IAAA,yBAAgB,EAAC,IAAI,EAAE,KAAK,CAAC,CAAE;KAC5D,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"distributions.js","sourceRoot":"","sources":["../../../src/middleware/queries/distributions.ts"],"names":[],"mappings":";;;;;AAaA,8CAiBC;AAOD,8DAyCC;AA5ED,8DAA8B;AAE9B,wDAAoG;AACpG,8CAAoG;AAGpG;;;;GAIG;AACH,SAAgB,iBAAiB,CAC/B,SAAyD;IAEzD,MAAM,KAAK,GAAG,IAAA,qBAAG,EAAA;;;;;;;;GAQhB,CAAC;IAEF,OAAO;QACL,KAAK;QACL,SAAS;KACV,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,yBAAyB,CACvC,OAAyD,EACzD,IAAgB,EAChB,KAAiB,EACjB,OAAqE;IAErE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAA,6BAAoB,EAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAE3D,0EAA0E;IAC1E,MAAM,QAAQ,GAAG,IAAA,sBAAa,EAAC,OAAO,EAAE,CAAC,mCAA2B,CAAC,KAAK,CAAC,CAAC,CAAC;IAE7E,MAAM,KAAK,GAAG,IAAA,qBAAG,EAAA;;QAEX,IAAI;;;UAGF,MAAM;;;oBAGI,QAAQ;;;;;;;;;;;;;;;;GAgBzB,CAAC;IAEF,OAAO;QACL,KAAK;QACL,SAAS,kCAAO,OAAO,GAAK,IAAA,yBAAgB,EAAC,IAAI,EAAE,KAAK,CAAC,CAAE;KAC5D,CAAC;AACJ,CAAC"}