@superfluid-finance/sdk-redux 0.1.0

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 (167) hide show
  1. package/LICENSE +9 -0
  2. package/README.md +175 -0
  3. package/build/main/SuperfluidContext.d.ts +31 -0
  4. package/build/main/SuperfluidContext.js +49 -0
  5. package/build/main/createSdkReduxParts.d.ts +23 -0
  6. package/build/main/createSdkReduxParts.js +30 -0
  7. package/build/main/index.d.ts +29 -0
  8. package/build/main/index.js +41 -0
  9. package/build/main/redux-slices/argTypes.d.ts +53 -0
  10. package/build/main/redux-slices/argTypes.js +3 -0
  11. package/build/main/redux-slices/rtk-query/cacheTags/CacheTagTypes.d.ts +15 -0
  12. package/build/main/redux-slices/rtk-query/cacheTags/CacheTagTypes.js +18 -0
  13. package/build/main/redux-slices/rtk-query/cacheTags/eventTags.d.ts +9 -0
  14. package/build/main/redux-slices/rtk-query/cacheTags/eventTags.js +12 -0
  15. package/build/main/redux-slices/rtk-query/cacheTags/indexTags.d.ts +36 -0
  16. package/build/main/redux-slices/rtk-query/cacheTags/indexTags.js +31 -0
  17. package/build/main/redux-slices/rtk-query/cacheTags/invalidateCacheTagsForEvents.d.ts +9 -0
  18. package/build/main/redux-slices/rtk-query/cacheTags/invalidateCacheTagsForEvents.js +148 -0
  19. package/build/main/redux-slices/rtk-query/cacheTags/monitorAddressForNextEventToInvalidateCache.d.ts +10 -0
  20. package/build/main/redux-slices/rtk-query/cacheTags/monitorAddressForNextEventToInvalidateCache.js +21 -0
  21. package/build/main/redux-slices/rtk-query/cacheTags/streamTags.d.ts +35 -0
  22. package/build/main/redux-slices/rtk-query/cacheTags/streamTags.js +30 -0
  23. package/build/main/redux-slices/rtk-query/cacheTags/tokenTags.d.ts +35 -0
  24. package/build/main/redux-slices/rtk-query/cacheTags/tokenTags.js +30 -0
  25. package/build/main/redux-slices/rtk-query/mutations/approveIndexSubscription.d.ts +19 -0
  26. package/build/main/redux-slices/rtk-query/mutations/approveIndexSubscription.js +45 -0
  27. package/build/main/redux-slices/rtk-query/mutations/claimFromIndexSubscription.d.ts +21 -0
  28. package/build/main/redux-slices/rtk-query/mutations/claimFromIndexSubscription.js +46 -0
  29. package/build/main/redux-slices/rtk-query/mutations/createFlow.d.ts +19 -0
  30. package/build/main/redux-slices/rtk-query/mutations/createFlow.js +50 -0
  31. package/build/main/redux-slices/rtk-query/mutations/createIndex.d.ts +17 -0
  32. package/build/main/redux-slices/rtk-query/mutations/createIndex.js +50 -0
  33. package/build/main/redux-slices/rtk-query/mutations/deleteFlow.d.ts +17 -0
  34. package/build/main/redux-slices/rtk-query/mutations/deleteFlow.js +48 -0
  35. package/build/main/redux-slices/rtk-query/mutations/deleteIndexSubscription.d.ts +21 -0
  36. package/build/main/redux-slices/rtk-query/mutations/deleteIndexSubscription.js +46 -0
  37. package/build/main/redux-slices/rtk-query/mutations/distributeToIndex.d.ts +19 -0
  38. package/build/main/redux-slices/rtk-query/mutations/distributeToIndex.js +48 -0
  39. package/build/main/redux-slices/rtk-query/mutations/downgradeFromSuperToken.d.ts +15 -0
  40. package/build/main/redux-slices/rtk-query/mutations/downgradeFromSuperToken.js +46 -0
  41. package/build/main/redux-slices/rtk-query/mutations/monitorForEventsToInvalidateCache.d.ts +16 -0
  42. package/build/main/redux-slices/rtk-query/mutations/monitorForEventsToInvalidateCache.js +40 -0
  43. package/build/main/redux-slices/rtk-query/mutations/revokeIndexSubscription.d.ts +19 -0
  44. package/build/main/redux-slices/rtk-query/mutations/revokeIndexSubscription.js +45 -0
  45. package/build/main/redux-slices/rtk-query/mutations/transferSuperToken.d.ts +17 -0
  46. package/build/main/redux-slices/rtk-query/mutations/transferSuperToken.js +47 -0
  47. package/build/main/redux-slices/rtk-query/mutations/updateFlow.d.ts +19 -0
  48. package/build/main/redux-slices/rtk-query/mutations/updateFlow.js +49 -0
  49. package/build/main/redux-slices/rtk-query/mutations/updateIndexSubscriptionUnits.d.ts +21 -0
  50. package/build/main/redux-slices/rtk-query/mutations/updateIndexSubscriptionUnits.js +46 -0
  51. package/build/main/redux-slices/rtk-query/mutations/upgradeToSuperToken.d.ts +16 -0
  52. package/build/main/redux-slices/rtk-query/mutations/upgradeToSuperToken.js +65 -0
  53. package/build/main/redux-slices/rtk-query/queries/getAllowanceForUpgradeToSuperToken.d.ts +17 -0
  54. package/build/main/redux-slices/rtk-query/queries/getAllowanceForUpgradeToSuperToken.js +43 -0
  55. package/build/main/redux-slices/rtk-query/queries/getIndex.d.ts +17 -0
  56. package/build/main/redux-slices/rtk-query/queries/getIndex.js +43 -0
  57. package/build/main/redux-slices/rtk-query/queries/getIndexSubscription.d.ts +17 -0
  58. package/build/main/redux-slices/rtk-query/queries/getIndexSubscription.js +44 -0
  59. package/build/main/redux-slices/rtk-query/queries/getRealtimeBalance.d.ts +22 -0
  60. package/build/main/redux-slices/rtk-query/queries/getRealtimeBalance.js +75 -0
  61. package/build/main/redux-slices/rtk-query/queries/listEvents.d.ts +15 -0
  62. package/build/main/redux-slices/rtk-query/queries/listEvents.js +59 -0
  63. package/build/main/redux-slices/rtk-query/queries/listIndexSubscriptions.d.ts +15 -0
  64. package/build/main/redux-slices/rtk-query/queries/listIndexSubscriptions.js +41 -0
  65. package/build/main/redux-slices/rtk-query/queries/listIndexes.d.ts +16 -0
  66. package/build/main/redux-slices/rtk-query/queries/listIndexes.js +42 -0
  67. package/build/main/redux-slices/rtk-query/queries/listStreams.d.ts +16 -0
  68. package/build/main/redux-slices/rtk-query/queries/listStreams.js +41 -0
  69. package/build/main/redux-slices/rtk-query/queries/listSuperTokens.d.ts +14 -0
  70. package/build/main/redux-slices/rtk-query/queries/listSuperTokens.js +39 -0
  71. package/build/main/redux-slices/rtk-query/queries/listUserInteractedSuperTokens.d.ts +15 -0
  72. package/build/main/redux-slices/rtk-query/queries/listUserInteractedSuperTokens.js +56 -0
  73. package/build/main/redux-slices/rtk-query/rtkQuerySlice.d.ts +3 -0
  74. package/build/main/redux-slices/rtk-query/rtkQuerySlice.js +53 -0
  75. package/build/main/redux-slices/rtk-query/rtkQuerySliceBaseQuery.d.ts +21 -0
  76. package/build/main/redux-slices/rtk-query/rtkQuerySliceBaseQuery.js +14 -0
  77. package/build/main/redux-slices/transactions/registerNewTransaction.d.ts +5 -0
  78. package/build/main/redux-slices/transactions/registerNewTransaction.js +33 -0
  79. package/build/main/redux-slices/transactions/trackTransaction.d.ts +12 -0
  80. package/build/main/redux-slices/transactions/trackTransaction.js +66 -0
  81. package/build/main/redux-slices/transactions/transactionSlice.d.ts +36 -0
  82. package/build/main/redux-slices/transactions/transactionSlice.js +19 -0
  83. package/build/main/utils.d.ts +25 -0
  84. package/build/main/utils.js +34 -0
  85. package/build/module/SuperfluidContext.d.ts +31 -0
  86. package/build/module/SuperfluidContext.js +46 -0
  87. package/build/module/createSdkReduxParts.d.ts +23 -0
  88. package/build/module/createSdkReduxParts.js +26 -0
  89. package/build/module/index.d.ts +29 -0
  90. package/build/module/index.js +29 -0
  91. package/build/module/redux-slices/argTypes.d.ts +53 -0
  92. package/build/module/redux-slices/argTypes.js +2 -0
  93. package/build/module/redux-slices/rtk-query/cacheTags/CacheTagTypes.d.ts +15 -0
  94. package/build/module/redux-slices/rtk-query/cacheTags/CacheTagTypes.js +14 -0
  95. package/build/module/redux-slices/rtk-query/cacheTags/eventTags.d.ts +9 -0
  96. package/build/module/redux-slices/rtk-query/cacheTags/eventTags.js +8 -0
  97. package/build/module/redux-slices/rtk-query/cacheTags/indexTags.d.ts +36 -0
  98. package/build/module/redux-slices/rtk-query/cacheTags/indexTags.js +26 -0
  99. package/build/module/redux-slices/rtk-query/cacheTags/invalidateCacheTagsForEvents.d.ts +9 -0
  100. package/build/module/redux-slices/rtk-query/cacheTags/invalidateCacheTagsForEvents.js +144 -0
  101. package/build/module/redux-slices/rtk-query/cacheTags/monitorAddressForNextEventToInvalidateCache.d.ts +10 -0
  102. package/build/module/redux-slices/rtk-query/cacheTags/monitorAddressForNextEventToInvalidateCache.js +17 -0
  103. package/build/module/redux-slices/rtk-query/cacheTags/streamTags.d.ts +35 -0
  104. package/build/module/redux-slices/rtk-query/cacheTags/streamTags.js +25 -0
  105. package/build/module/redux-slices/rtk-query/cacheTags/tokenTags.d.ts +35 -0
  106. package/build/module/redux-slices/rtk-query/cacheTags/tokenTags.js +25 -0
  107. package/build/module/redux-slices/rtk-query/mutations/approveIndexSubscription.d.ts +19 -0
  108. package/build/module/redux-slices/rtk-query/mutations/approveIndexSubscription.js +43 -0
  109. package/build/module/redux-slices/rtk-query/mutations/claimFromIndexSubscription.d.ts +21 -0
  110. package/build/module/redux-slices/rtk-query/mutations/claimFromIndexSubscription.js +44 -0
  111. package/build/module/redux-slices/rtk-query/mutations/createFlow.d.ts +19 -0
  112. package/build/module/redux-slices/rtk-query/mutations/createFlow.js +48 -0
  113. package/build/module/redux-slices/rtk-query/mutations/createIndex.d.ts +17 -0
  114. package/build/module/redux-slices/rtk-query/mutations/createIndex.js +48 -0
  115. package/build/module/redux-slices/rtk-query/mutations/deleteFlow.d.ts +17 -0
  116. package/build/module/redux-slices/rtk-query/mutations/deleteFlow.js +46 -0
  117. package/build/module/redux-slices/rtk-query/mutations/deleteIndexSubscription.d.ts +21 -0
  118. package/build/module/redux-slices/rtk-query/mutations/deleteIndexSubscription.js +44 -0
  119. package/build/module/redux-slices/rtk-query/mutations/distributeToIndex.d.ts +19 -0
  120. package/build/module/redux-slices/rtk-query/mutations/distributeToIndex.js +46 -0
  121. package/build/module/redux-slices/rtk-query/mutations/downgradeFromSuperToken.d.ts +15 -0
  122. package/build/module/redux-slices/rtk-query/mutations/downgradeFromSuperToken.js +44 -0
  123. package/build/module/redux-slices/rtk-query/mutations/monitorForEventsToInvalidateCache.d.ts +16 -0
  124. package/build/module/redux-slices/rtk-query/mutations/monitorForEventsToInvalidateCache.js +38 -0
  125. package/build/module/redux-slices/rtk-query/mutations/revokeIndexSubscription.d.ts +19 -0
  126. package/build/module/redux-slices/rtk-query/mutations/revokeIndexSubscription.js +43 -0
  127. package/build/module/redux-slices/rtk-query/mutations/transferSuperToken.d.ts +17 -0
  128. package/build/module/redux-slices/rtk-query/mutations/transferSuperToken.js +45 -0
  129. package/build/module/redux-slices/rtk-query/mutations/updateFlow.d.ts +19 -0
  130. package/build/module/redux-slices/rtk-query/mutations/updateFlow.js +47 -0
  131. package/build/module/redux-slices/rtk-query/mutations/updateIndexSubscriptionUnits.d.ts +21 -0
  132. package/build/module/redux-slices/rtk-query/mutations/updateIndexSubscriptionUnits.js +44 -0
  133. package/build/module/redux-slices/rtk-query/mutations/upgradeToSuperToken.d.ts +16 -0
  134. package/build/module/redux-slices/rtk-query/mutations/upgradeToSuperToken.js +63 -0
  135. package/build/module/redux-slices/rtk-query/queries/getAllowanceForUpgradeToSuperToken.d.ts +17 -0
  136. package/build/module/redux-slices/rtk-query/queries/getAllowanceForUpgradeToSuperToken.js +41 -0
  137. package/build/module/redux-slices/rtk-query/queries/getIndex.d.ts +17 -0
  138. package/build/module/redux-slices/rtk-query/queries/getIndex.js +41 -0
  139. package/build/module/redux-slices/rtk-query/queries/getIndexSubscription.d.ts +17 -0
  140. package/build/module/redux-slices/rtk-query/queries/getIndexSubscription.js +42 -0
  141. package/build/module/redux-slices/rtk-query/queries/getRealtimeBalance.d.ts +22 -0
  142. package/build/module/redux-slices/rtk-query/queries/getRealtimeBalance.js +73 -0
  143. package/build/module/redux-slices/rtk-query/queries/listEvents.d.ts +15 -0
  144. package/build/module/redux-slices/rtk-query/queries/listEvents.js +57 -0
  145. package/build/module/redux-slices/rtk-query/queries/listIndexSubscriptions.d.ts +15 -0
  146. package/build/module/redux-slices/rtk-query/queries/listIndexSubscriptions.js +39 -0
  147. package/build/module/redux-slices/rtk-query/queries/listIndexes.d.ts +16 -0
  148. package/build/module/redux-slices/rtk-query/queries/listIndexes.js +40 -0
  149. package/build/module/redux-slices/rtk-query/queries/listStreams.d.ts +16 -0
  150. package/build/module/redux-slices/rtk-query/queries/listStreams.js +39 -0
  151. package/build/module/redux-slices/rtk-query/queries/listSuperTokens.d.ts +14 -0
  152. package/build/module/redux-slices/rtk-query/queries/listSuperTokens.js +37 -0
  153. package/build/module/redux-slices/rtk-query/queries/listUserInteractedSuperTokens.d.ts +15 -0
  154. package/build/module/redux-slices/rtk-query/queries/listUserInteractedSuperTokens.js +54 -0
  155. package/build/module/redux-slices/rtk-query/rtkQuerySlice.d.ts +3 -0
  156. package/build/module/redux-slices/rtk-query/rtkQuerySlice.js +47 -0
  157. package/build/module/redux-slices/rtk-query/rtkQuerySliceBaseQuery.d.ts +21 -0
  158. package/build/module/redux-slices/rtk-query/rtkQuerySliceBaseQuery.js +10 -0
  159. package/build/module/redux-slices/transactions/registerNewTransaction.d.ts +5 -0
  160. package/build/module/redux-slices/transactions/registerNewTransaction.js +29 -0
  161. package/build/module/redux-slices/transactions/trackTransaction.d.ts +12 -0
  162. package/build/module/redux-slices/transactions/trackTransaction.js +62 -0
  163. package/build/module/redux-slices/transactions/transactionSlice.d.ts +36 -0
  164. package/build/module/redux-slices/transactions/transactionSlice.js +19 -0
  165. package/build/module/utils.d.ts +25 -0
  166. package/build/module/utils.js +29 -0
  167. package/package.json +87 -0
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useLazyListStreamsQuery = exports.useListStreamsQuery = void 0;
4
+ const sdk_core_1 = require("@superfluid-finance/sdk-core");
5
+ const createSdkReduxParts_1 = require("../../../createSdkReduxParts");
6
+ const streamTags_1 = require("../cacheTags/streamTags");
7
+ const rtkQuerySlice_1 = require("../rtkQuerySlice");
8
+ const apiSlice = rtkQuerySlice_1.rtkQuerySlice.injectEndpoints({
9
+ endpoints: (builder) => ({
10
+ listStreams: builder.query({
11
+ providesTags: (_result, _error, arg) => [
12
+ (0, streamTags_1.getMostSpecificStreamTag)({
13
+ chainId: arg.chainId,
14
+ address1: arg.superTokenAddress,
15
+ address3: arg.receiverAddress,
16
+ address2: arg.senderAddress,
17
+ }),
18
+ ],
19
+ queryFn: async (arg) => {
20
+ const framework = await createSdkReduxParts_1.initializedSuperfluidContext.getFramework(arg.chainId);
21
+ return {
22
+ data: await framework.query.listStreams({
23
+ sender: arg.senderAddress,
24
+ receiver: arg.receiverAddress,
25
+ token: arg.superTokenAddress,
26
+ }, (0, sdk_core_1.createSkipPaging)(arg)),
27
+ };
28
+ },
29
+ }),
30
+ }),
31
+ overrideExisting: false,
32
+ });
33
+ /**
34
+ * @category React Hooks
35
+ */
36
+ exports.useListStreamsQuery = apiSlice.useListStreamsQuery,
37
+ /**
38
+ * @category React Hooks
39
+ */
40
+ exports.useLazyListStreamsQuery = apiSlice.useLazyListStreamsQuery;
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdFN0cmVhbXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcmVkdXgtc2xpY2VzL3J0ay1xdWVyeS9xdWVyaWVzL2xpc3RTdHJlYW1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJEQUlzQztBQUV0QyxzRUFBMEU7QUFFMUUsd0RBQWlFO0FBQ2pFLG9EQUErQztBQVEvQyxNQUFNLFFBQVEsR0FBRyw2QkFBYSxDQUFDLGVBQWUsQ0FBQztJQUMzQyxTQUFTLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDckIsV0FBVyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQXVDO1lBQzdELFlBQVksRUFBRSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQztnQkFDcEMsSUFBQSxxQ0FBd0IsRUFBQztvQkFDckIsT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPO29CQUNwQixRQUFRLEVBQUUsR0FBRyxDQUFDLGlCQUFpQjtvQkFDL0IsUUFBUSxFQUFFLEdBQUcsQ0FBQyxlQUFlO29CQUM3QixRQUFRLEVBQUUsR0FBRyxDQUFDLGFBQWE7aUJBQzlCLENBQUM7YUFDTDtZQUNELE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUU7Z0JBQ25CLE1BQU0sU0FBUyxHQUNYLE1BQU0sa0RBQTRCLENBQUMsWUFBWSxDQUMzQyxHQUFHLENBQUMsT0FBTyxDQUNkLENBQUM7Z0JBRU4sT0FBTztvQkFDSCxJQUFJLEVBQUUsTUFBTSxTQUFTLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FDbkM7d0JBQ0ksTUFBTSxFQUFFLEdBQUcsQ0FBQyxhQUFhO3dCQUN6QixRQUFRLEVBQUUsR0FBRyxDQUFDLGVBQWU7d0JBQzdCLEtBQUssRUFBRSxHQUFHLENBQUMsaUJBQWlCO3FCQUMvQixFQUNELElBQUEsMkJBQWdCLEVBQUMsR0FBRyxDQUFDLENBQ3hCO2lCQUNKLENBQUM7WUFDTixDQUFDO1NBQ0osQ0FBQztLQUNMLENBQUM7SUFDRixnQkFBZ0IsRUFBRSxLQUFLO0NBQzFCLENBQUMsQ0FBQztBQUdDOztHQUVHO0FBQ0gsMkJBQW1CLEdBS25CLFFBQVE7QUFKUjs7R0FFRztBQUNILCtCQUF1QixHQUN2QixRQUFRLHlCQUFDIn0=
@@ -0,0 +1,14 @@
1
+ import { ISuperToken, PagedResult } from '@superfluid-finance/sdk-core';
2
+ import { NothingBoolean, PaginatedQueryArg } from '../../argTypes';
3
+ export declare type ListSuperTokensArg = PaginatedQueryArg & {
4
+ isListed: boolean | NothingBoolean;
5
+ };
6
+ export declare const
7
+ /**
8
+ * @category React Hooks
9
+ */
10
+ useListSuperTokensQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/dist/query").QueryDefinition<ListSuperTokensArg, import("@reduxjs/toolkit/dist/query").BaseQueryFn<import("../../argTypes").QueryArg | import("../../argTypes").SuperTokenMutationArg, import("../../argTypes").TransactionInfo | Record<string, unknown>, import("../rtkQuerySliceBaseQuery").ValidationError, unknown, import("../rtkQuerySliceBaseQuery").MutationMeta>, import("../cacheTags/CacheTagTypes").CacheTagTypes, PagedResult<ISuperToken>, string>>,
11
+ /**
12
+ * @category React Hooks
13
+ */
14
+ useLazyListSuperTokensQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseLazyQuery<import("@reduxjs/toolkit/dist/query").QueryDefinition<ListSuperTokensArg, import("@reduxjs/toolkit/dist/query").BaseQueryFn<import("../../argTypes").QueryArg | import("../../argTypes").SuperTokenMutationArg, import("../../argTypes").TransactionInfo | Record<string, unknown>, import("../rtkQuerySliceBaseQuery").ValidationError, unknown, import("../rtkQuerySliceBaseQuery").MutationMeta>, import("../cacheTags/CacheTagTypes").CacheTagTypes, PagedResult<ISuperToken>, string>>;
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useLazyListSuperTokensQuery = exports.useListSuperTokensQuery = void 0;
4
+ const sdk_core_1 = require("@superfluid-finance/sdk-core");
5
+ const createSdkReduxParts_1 = require("../../../createSdkReduxParts");
6
+ const tokenTags_1 = require("../cacheTags/tokenTags");
7
+ const rtkQuerySlice_1 = require("../rtkQuerySlice");
8
+ const apiSlice = rtkQuerySlice_1.rtkQuerySlice.injectEndpoints({
9
+ endpoints: (builder) => ({
10
+ listSuperTokens: builder.query({
11
+ providesTags: (_result, _error, arg) => [
12
+ (0, tokenTags_1.getMostSpecificTokenTag)({
13
+ chainId: arg.chainId,
14
+ address1: undefined,
15
+ address2: undefined,
16
+ address3: undefined,
17
+ }),
18
+ ],
19
+ queryFn: async (arg) => {
20
+ const framework = await createSdkReduxParts_1.initializedSuperfluidContext.getFramework(arg.chainId);
21
+ return {
22
+ data: await framework.query.listAllSuperTokens({
23
+ isListed: arg.isListed,
24
+ }, (0, sdk_core_1.createSkipPaging)(arg)),
25
+ };
26
+ },
27
+ }),
28
+ }),
29
+ overrideExisting: false,
30
+ });
31
+ /**
32
+ * @category React Hooks
33
+ */
34
+ exports.useListSuperTokensQuery = apiSlice.useListSuperTokensQuery,
35
+ /**
36
+ * @category React Hooks
37
+ */
38
+ exports.useLazyListSuperTokensQuery = apiSlice.useLazyListSuperTokensQuery;
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdFN1cGVyVG9rZW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3JlZHV4LXNsaWNlcy9ydGstcXVlcnkvcXVlcmllcy9saXN0U3VwZXJUb2tlbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkRBSXNDO0FBRXRDLHNFQUEwRTtBQUUxRSxzREFBK0Q7QUFDL0Qsb0RBQStDO0FBTS9DLE1BQU0sUUFBUSxHQUFHLDZCQUFhLENBQUMsZUFBZSxDQUFDO0lBQzNDLFNBQVMsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNyQixlQUFlLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FHNUI7WUFDRSxZQUFZLEVBQUUsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUM7Z0JBQ3BDLElBQUEsbUNBQXVCLEVBQUM7b0JBQ3BCLE9BQU8sRUFBRSxHQUFHLENBQUMsT0FBTztvQkFDcEIsUUFBUSxFQUFFLFNBQVM7b0JBQ25CLFFBQVEsRUFBRSxTQUFTO29CQUNuQixRQUFRLEVBQUUsU0FBUztpQkFDdEIsQ0FBQzthQUNMO1lBQ0QsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsRUFBRTtnQkFDbkIsTUFBTSxTQUFTLEdBQ1gsTUFBTSxrREFBNEIsQ0FBQyxZQUFZLENBQzNDLEdBQUcsQ0FBQyxPQUFPLENBQ2QsQ0FBQztnQkFFTixPQUFPO29CQUNILElBQUksRUFBRSxNQUFNLFNBQVMsQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQzFDO3dCQUNJLFFBQVEsRUFBRSxHQUFHLENBQUMsUUFBUTtxQkFDekIsRUFDRCxJQUFBLDJCQUFnQixFQUFDLEdBQUcsQ0FBQyxDQUN4QjtpQkFDSixDQUFDO1lBQ04sQ0FBQztTQUNKLENBQUM7S0FDTCxDQUFDO0lBQ0YsZ0JBQWdCLEVBQUUsS0FBSztDQUMxQixDQUFDLENBQUM7QUFHQzs7R0FFRztBQUNILCtCQUF1QixHQUt2QixRQUFRO0FBSlI7O0dBRUc7QUFDSCxtQ0FBMkIsR0FDM0IsUUFBUSw2QkFBQyJ9
@@ -0,0 +1,15 @@
1
+ import { ILightAccountTokenSnapshot, PagedResult } from '@superfluid-finance/sdk-core';
2
+ import { NothingString, PaginatedQueryArg } from '../../argTypes';
3
+ export declare type ListUserInteractedSuperTokensArg = PaginatedQueryArg & {
4
+ accountAddress: string | NothingString;
5
+ superTokenAddress: string | NothingString;
6
+ };
7
+ export declare const
8
+ /**
9
+ * @category React Hooks
10
+ */
11
+ useListUserInteractedSuperTokensQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseQuery<import("@reduxjs/toolkit/dist/query").QueryDefinition<ListUserInteractedSuperTokensArg, import("@reduxjs/toolkit/dist/query").BaseQueryFn<import("../../argTypes").QueryArg | import("../../argTypes").SuperTokenMutationArg, import("../../argTypes").TransactionInfo | Record<string, unknown>, import("../rtkQuerySliceBaseQuery").ValidationError, unknown, import("../rtkQuerySliceBaseQuery").MutationMeta>, import("../cacheTags/CacheTagTypes").CacheTagTypes, PagedResult<ILightAccountTokenSnapshot>, string>>,
12
+ /**
13
+ * @category React Hooks
14
+ */
15
+ useLazyListUserInteractedSuperTokensQuery: import("@reduxjs/toolkit/dist/query/react/buildHooks").UseLazyQuery<import("@reduxjs/toolkit/dist/query").QueryDefinition<ListUserInteractedSuperTokensArg, import("@reduxjs/toolkit/dist/query").BaseQueryFn<import("../../argTypes").QueryArg | import("../../argTypes").SuperTokenMutationArg, import("../../argTypes").TransactionInfo | Record<string, unknown>, import("../rtkQuerySliceBaseQuery").ValidationError, unknown, import("../rtkQuerySliceBaseQuery").MutationMeta>, import("../cacheTags/CacheTagTypes").CacheTagTypes, PagedResult<ILightAccountTokenSnapshot>, string>>;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useLazyListUserInteractedSuperTokensQuery = exports.useListUserInteractedSuperTokensQuery = void 0;
4
+ const sdk_core_1 = require("@superfluid-finance/sdk-core");
5
+ const createSdkReduxParts_1 = require("../../../createSdkReduxParts");
6
+ const indexTags_1 = require("../cacheTags/indexTags");
7
+ const streamTags_1 = require("../cacheTags/streamTags");
8
+ const tokenTags_1 = require("../cacheTags/tokenTags");
9
+ const rtkQuerySlice_1 = require("../rtkQuerySlice");
10
+ const apiSlice = rtkQuerySlice_1.rtkQuerySlice.injectEndpoints({
11
+ endpoints: (builder) => ({
12
+ listUserInteractedSuperTokens: builder.query({
13
+ providesTags: (_result, _error, arg) => [
14
+ (0, tokenTags_1.getMostSpecificTokenTag)({
15
+ chainId: arg.chainId,
16
+ address1: arg.superTokenAddress,
17
+ address2: arg.accountAddress,
18
+ address3: undefined,
19
+ }),
20
+ (0, indexTags_1.getMostSpecificIndexTag)({
21
+ chainId: arg.chainId,
22
+ address1: arg.superTokenAddress,
23
+ address2: arg.accountAddress,
24
+ address3: undefined,
25
+ indexId: undefined,
26
+ }),
27
+ (0, streamTags_1.getMostSpecificStreamTag)({
28
+ chainId: arg.chainId,
29
+ address1: arg.superTokenAddress,
30
+ address2: arg.accountAddress,
31
+ address3: undefined,
32
+ }),
33
+ ],
34
+ queryFn: async (arg) => {
35
+ const framework = await createSdkReduxParts_1.initializedSuperfluidContext.getFramework(arg.chainId);
36
+ const pagedResult = await framework.query.listUserInteractedSuperTokens({
37
+ token: arg.superTokenAddress,
38
+ account: arg.accountAddress,
39
+ }, (0, sdk_core_1.createSkipPaging)({ skip: arg.skip, take: arg.take }));
40
+ return {
41
+ data: pagedResult,
42
+ };
43
+ },
44
+ }),
45
+ }),
46
+ overrideExisting: false,
47
+ });
48
+ /**
49
+ * @category React Hooks
50
+ */
51
+ exports.useListUserInteractedSuperTokensQuery = apiSlice.useListUserInteractedSuperTokensQuery,
52
+ /**
53
+ * @category React Hooks
54
+ */
55
+ exports.useLazyListUserInteractedSuperTokensQuery = apiSlice.useLazyListUserInteractedSuperTokensQuery;
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdFVzZXJJbnRlcmFjdGVkU3VwZXJUb2tlbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcmVkdXgtc2xpY2VzL3J0ay1xdWVyeS9xdWVyaWVzL2xpc3RVc2VySW50ZXJhY3RlZFN1cGVyVG9rZW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJEQUlzQztBQUV0QyxzRUFBMEU7QUFFMUUsc0RBQStEO0FBQy9ELHdEQUFpRTtBQUNqRSxzREFBK0Q7QUFDL0Qsb0RBQStDO0FBTy9DLE1BQU0sUUFBUSxHQUFHLDZCQUFhLENBQUMsZUFBZSxDQUFDO0lBQzNDLFNBQVMsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNyQiw2QkFBNkIsRUFBRSxPQUFPLENBQUMsS0FBSyxDQUcxQztZQUNFLFlBQVksRUFBRSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQztnQkFDcEMsSUFBQSxtQ0FBdUIsRUFBQztvQkFDcEIsT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPO29CQUNwQixRQUFRLEVBQUUsR0FBRyxDQUFDLGlCQUFpQjtvQkFDL0IsUUFBUSxFQUFFLEdBQUcsQ0FBQyxjQUFjO29CQUM1QixRQUFRLEVBQUUsU0FBUztpQkFDdEIsQ0FBQztnQkFDRixJQUFBLG1DQUF1QixFQUFDO29CQUNwQixPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU87b0JBQ3BCLFFBQVEsRUFBRSxHQUFHLENBQUMsaUJBQWlCO29CQUMvQixRQUFRLEVBQUUsR0FBRyxDQUFDLGNBQWM7b0JBQzVCLFFBQVEsRUFBRSxTQUFTO29CQUNuQixPQUFPLEVBQUUsU0FBUztpQkFDckIsQ0FBQztnQkFDRixJQUFBLHFDQUF3QixFQUFDO29CQUNyQixPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU87b0JBQ3BCLFFBQVEsRUFBRSxHQUFHLENBQUMsaUJBQWlCO29CQUMvQixRQUFRLEVBQUUsR0FBRyxDQUFDLGNBQWM7b0JBQzVCLFFBQVEsRUFBRSxTQUFTO2lCQUN0QixDQUFDO2FBQ0w7WUFDRCxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFO2dCQUNuQixNQUFNLFNBQVMsR0FDWCxNQUFNLGtEQUE0QixDQUFDLFlBQVksQ0FDM0MsR0FBRyxDQUFDLE9BQU8sQ0FDZCxDQUFDO2dCQUNOLE1BQU0sV0FBVyxHQUNiLE1BQU0sU0FBUyxDQUFDLEtBQUssQ0FBQyw2QkFBNkIsQ0FDL0M7b0JBQ0ksS0FBSyxFQUFFLEdBQUcsQ0FBQyxpQkFBaUI7b0JBQzVCLE9BQU8sRUFBRSxHQUFHLENBQUMsY0FBYztpQkFDOUIsRUFDRCxJQUFBLDJCQUFnQixFQUFDLEVBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUNyRCxDQUFDO2dCQUNOLE9BQU87b0JBQ0gsSUFBSSxFQUFFLFdBQVc7aUJBQ3BCLENBQUM7WUFDTixDQUFDO1NBQ0osQ0FBQztLQUNMLENBQUM7SUFDRixnQkFBZ0IsRUFBRSxLQUFLO0NBQzFCLENBQUMsQ0FBQztBQUdDOztHQUVHO0FBQ0gsNkNBQXFDLEdBS3JDLFFBQVE7QUFKUjs7R0FFRztBQUNILGlEQUF5QyxHQUN6QyxRQUFRLDJDQUFDIn0=
@@ -0,0 +1,3 @@
1
+ import { CacheTagTypes } from './cacheTags/CacheTagTypes';
2
+ export declare const rtkQuerySlice: import("@reduxjs/toolkit/dist/query/apiTypes").Api<import("@reduxjs/toolkit/dist/query/baseQueryTypes").BaseQueryFn<import("../argTypes").QueryArg | import("../argTypes").SuperTokenMutationArg, import("../argTypes").TransactionInfo | Record<string, unknown>, import("./rtkQuerySliceBaseQuery").ValidationError, unknown, import("./rtkQuerySliceBaseQuery").MutationMeta>, {}, "sfApi", CacheTagTypes, typeof import("@reduxjs/toolkit/dist/query/core/module").coreModuleName | typeof import("@reduxjs/toolkit/dist/query/react/module").reactHooksModuleName>;
3
+ export declare type SuperfluidApiReduxSliceType = typeof rtkQuerySlice;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.rtkQuerySlice = void 0;
7
+ const toolkit_1 = require("@reduxjs/toolkit");
8
+ const react_1 = require("@reduxjs/toolkit/dist/query/react");
9
+ const lodash_1 = __importDefault(require("lodash"));
10
+ const utils_1 = require("../../utils");
11
+ const rtkQuerySliceBaseQuery_1 = require("./rtkQuerySliceBaseQuery");
12
+ exports.rtkQuerySlice = (0, react_1.createApi)({
13
+ reducerPath: 'sfApi',
14
+ baseQuery: (0, rtkQuerySliceBaseQuery_1.rtkQuerySliceBaseQuery)(),
15
+ tagTypes: [
16
+ (0, utils_1.typeGuard)('Event'),
17
+ (0, utils_1.typeGuard)('Index'),
18
+ (0, utils_1.typeGuard)('Stream'),
19
+ (0, utils_1.typeGuard)('Token'),
20
+ ],
21
+ endpoints: () => ({}),
22
+ serializeQueryArgs: ({ endpointName, queryArgs }) => {
23
+ // NOTE: The code below is taken from Redux Toolkit's repository from `defaultSerializeQueryArgs.ts`.
24
+ // Comment from RTK-Query: Sort the object keys before stringifying, to prevent useQuery({ a: 1, b: 2 }) having a different cache key than useQuery({ b: 2, a: 1 })
25
+ return `${endpointName}(${JSON.stringify(queryArgs, (_key, value) => (0, toolkit_1.isPlainObject)(value)
26
+ ? Object.keys(value)
27
+ .sort()
28
+ .reduce((acc, key) => {
29
+ acc[key] = normalizeValue(value[key]);
30
+ return acc;
31
+ }, {})
32
+ : normalizeValue(value))})`;
33
+ },
34
+ });
35
+ // NOTE: Regex taken from Ethers.
36
+ const isAddressRegex = /^(0x)?[0-9a-fA-F]{40}$/;
37
+ // Normalize addresses and empty strings for cache keys.
38
+ const normalizeValue = (value) => lowerCaseIfAddress(undefinedIfEmpty(value));
39
+ const undefinedIfEmpty = (value) => {
40
+ if (value === '') {
41
+ return undefined;
42
+ }
43
+ return value;
44
+ };
45
+ const lowerCaseIfAddress = (value) => {
46
+ if (lodash_1.default.isString(value)) {
47
+ if (value.match(isAddressRegex)) {
48
+ return value.toLowerCase();
49
+ }
50
+ }
51
+ return value;
52
+ };
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnRrUXVlcnlTbGljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9yZWR1eC1zbGljZXMvcnRrLXF1ZXJ5L3J0a1F1ZXJ5U2xpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsOENBQStDO0FBQy9DLDZEQUE0RDtBQUM1RCxvREFBdUI7QUFFdkIsdUNBQXNDO0FBR3RDLHFFQUFnRTtBQUVuRCxRQUFBLGFBQWEsR0FBRyxJQUFBLGlCQUFTLEVBQUM7SUFDbkMsV0FBVyxFQUFFLE9BQU87SUFDcEIsU0FBUyxFQUFFLElBQUEsK0NBQXNCLEdBQUU7SUFDbkMsUUFBUSxFQUFFO1FBQ04sSUFBQSxpQkFBUyxFQUFnQixPQUFPLENBQUM7UUFDakMsSUFBQSxpQkFBUyxFQUFnQixPQUFPLENBQUM7UUFDakMsSUFBQSxpQkFBUyxFQUFnQixRQUFRLENBQUM7UUFDbEMsSUFBQSxpQkFBUyxFQUFnQixPQUFPLENBQUM7S0FDcEM7SUFDRCxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDckIsa0JBQWtCLEVBQUUsQ0FBQyxFQUFDLFlBQVksRUFBRSxTQUFTLEVBQUMsRUFBRSxFQUFFO1FBQzlDLHFHQUFxRztRQUVyRyxtS0FBbUs7UUFDbkssT0FBTyxHQUFHLFlBQVksSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUNoRSxJQUFBLHVCQUFhLEVBQUMsS0FBSyxDQUFDO1lBQ2hCLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztpQkFDYixJQUFJLEVBQUU7aUJBQ04sTUFBTSxDQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO2dCQUN0QixHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsY0FBYyxDQUFFLEtBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUMvQyxPQUFPLEdBQUcsQ0FBQztZQUNmLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDWixDQUFDLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUM5QixHQUFHLENBQUM7SUFDVCxDQUFDO0NBQ0osQ0FBQyxDQUFDO0FBSUgsaUNBQWlDO0FBQ2pDLE1BQU0sY0FBYyxHQUFHLHdCQUF3QixDQUFDO0FBRWhELHdEQUF3RDtBQUN4RCxNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQWMsRUFBRSxFQUFFLENBQ3RDLGtCQUFrQixDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFFaEQsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEtBQWMsRUFBRSxFQUFFO0lBQ3hDLElBQUksS0FBSyxLQUFLLEVBQUUsRUFBRTtRQUNkLE9BQU8sU0FBUyxDQUFDO0tBQ3BCO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLEtBQWMsRUFBRSxFQUFFO0lBQzFDLElBQUksZ0JBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDbkIsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxFQUFFO1lBQzdCLE9BQU8sS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQzlCO0tBQ0o7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUMifQ==
@@ -0,0 +1,21 @@
1
+ import { SerializedError } from '@reduxjs/toolkit';
2
+ import { BaseQueryFn } from '@reduxjs/toolkit/dist/query/react';
3
+ import { QueryArg, SuperTokenMutationArg, TransactionInfo } from '../argTypes';
4
+ export declare type ValidationError = {
5
+ /**
6
+ * NOTE: Keep it named "message" to have same structure with Redux Toolkit's SerializedError.
7
+ */
8
+ message: string;
9
+ };
10
+ export declare type MutationMeta = {
11
+ /**
12
+ * The address will be monitored for events to invalidate cache.
13
+ */
14
+ monitorAddress: string;
15
+ };
16
+ /**
17
+ * Creates a "fake" baseQuery to be used if your api *only* uses the `queryFn` definition syntax.
18
+ * This also allows you to specify a specific error type to be shared by all your `queryFn` definitions.
19
+ */
20
+ export declare function rtkQuerySliceBaseQuery(): BaseQueryFn<SuperTokenMutationArg | QueryArg, TransactionInfo | Record<string, unknown>, ValidationError, unknown, MutationMeta>;
21
+ export declare type PossibleErrors = ValidationError | SerializedError;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.rtkQuerySliceBaseQuery = void 0;
4
+ /**
5
+ * Creates a "fake" baseQuery to be used if your api *only* uses the `queryFn` definition syntax.
6
+ * This also allows you to specify a specific error type to be shared by all your `queryFn` definitions.
7
+ */
8
+ function rtkQuerySliceBaseQuery() {
9
+ return function () {
10
+ throw new Error('All queries & mutations must use the `queryFn` definition syntax.');
11
+ };
12
+ }
13
+ exports.rtkQuerySliceBaseQuery = rtkQuerySliceBaseQuery;
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnRrUXVlcnlTbGljZUJhc2VRdWVyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9yZWR1eC1zbGljZXMvcnRrLXF1ZXJ5L3J0a1F1ZXJ5U2xpY2VCYXNlUXVlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBbUJBOzs7R0FHRztBQUNILFNBQWdCLHNCQUFzQjtJQU9sQyxPQUFPO1FBQ0gsTUFBTSxJQUFJLEtBQUssQ0FDWCxtRUFBbUUsQ0FDdEUsQ0FBQztJQUNOLENBQUMsQ0FBQztBQUNOLENBQUM7QUFaRCx3REFZQyJ9
@@ -0,0 +1,5 @@
1
+ import { ThunkDispatch } from '@reduxjs/toolkit';
2
+ /**
3
+ * Transactions have to be registered for them to be tracked inside the redux store and monitored for re-orgs.
4
+ */
5
+ export declare const registerNewTransaction: (chainId: number, transactionHash: string, waitForConfirmation: boolean, dispatch: ThunkDispatch<any, any, any>) => Promise<void>;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerNewTransaction = void 0;
4
+ const createSdkReduxParts_1 = require("../../createSdkReduxParts");
5
+ const trackTransaction_1 = require("./trackTransaction");
6
+ /**
7
+ * Transactions have to be registered for them to be tracked inside the redux store and monitored for re-orgs.
8
+ */
9
+ const registerNewTransaction = async (
10
+ /**
11
+ * The chain ID transaction is on.
12
+ * WARNING: Don't pass `chainId` off of ether's `TransactionResponse` because it's not set correctly on timely manner.
13
+ */
14
+ chainId, transactionHash,
15
+ /**
16
+ * Whether to wait for one transaction confirmation.
17
+ */
18
+ waitForConfirmation,
19
+ /**
20
+ * For dispatching redux thunks.
21
+ */
22
+ dispatch) => {
23
+ const framework = await createSdkReduxParts_1.initializedSuperfluidContext.getFramework(chainId);
24
+ dispatch((0, trackTransaction_1.trackTransaction)({
25
+ chainId,
26
+ hash: transactionHash,
27
+ }));
28
+ if (waitForConfirmation) {
29
+ await (0, trackTransaction_1.waitForOneConfirmation)(framework.settings.provider, transactionHash);
30
+ }
31
+ };
32
+ exports.registerNewTransaction = registerNewTransaction;
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0ZXJOZXdUcmFuc2FjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9yZWR1eC1zbGljZXMvdHJhbnNhY3Rpb25zL3JlZ2lzdGVyTmV3VHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsbUVBQXVFO0FBRXZFLHlEQUE0RTtBQUU1RTs7R0FFRztBQUNJLE1BQU0sc0JBQXNCLEdBQUcsS0FBSztBQUN2Qzs7O0dBR0c7QUFDSCxPQUFlLEVBQ2YsZUFBdUI7QUFDdkI7O0dBRUc7QUFDSCxtQkFBNEI7QUFDNUI7O0dBRUc7QUFDSCxRQUFzQyxFQUN4QyxFQUFFO0lBQ0EsTUFBTSxTQUFTLEdBQUcsTUFBTSxrREFBNEIsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFM0UsUUFBUSxDQUNKLElBQUEsbUNBQWdCLEVBQUM7UUFDYixPQUFPO1FBQ1AsSUFBSSxFQUFFLGVBQWU7S0FDeEIsQ0FBQyxDQUNMLENBQUM7SUFFRixJQUFJLG1CQUFtQixFQUFFO1FBQ3JCLE1BQU0sSUFBQSx5Q0FBc0IsRUFDeEIsU0FBUyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQzNCLGVBQWUsQ0FDbEIsQ0FBQztLQUNMO0FBQ0wsQ0FBQyxDQUFDO0FBL0JXLFFBQUEsc0JBQXNCLDBCQStCakMifQ==
@@ -0,0 +1,12 @@
1
+ import { ethers } from 'ethers';
2
+ import { TransactionInfo } from '../argTypes';
3
+ /**
4
+ *
5
+ * @param provider
6
+ * @param transactionHash
7
+ */
8
+ export declare const waitForOneConfirmation: (provider: ethers.providers.Provider, transactionHash: string) => Promise<ethers.providers.TransactionReceipt>;
9
+ /**
10
+ *
11
+ */
12
+ export declare const trackTransaction: import("@reduxjs/toolkit").AsyncThunk<void, TransactionInfo, {}>;
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.trackTransaction = exports.waitForOneConfirmation = void 0;
4
+ // Having a single "track" action makes it easy to use transaction tracking logic.
5
+ const toolkit_1 = require("@reduxjs/toolkit");
6
+ const ethers_1 = require("ethers");
7
+ const SuperfluidContext_1 = require("../../SuperfluidContext");
8
+ const utils_1 = require("../../utils");
9
+ const rtkQuerySlice_1 = require("../rtk-query/rtkQuerySlice");
10
+ const transactionSlice_1 = require("./transactionSlice");
11
+ /**
12
+ *
13
+ * @param provider
14
+ * @param transactionHash
15
+ */
16
+ const waitForOneConfirmation = (provider, transactionHash) => provider.waitForTransaction(transactionHash, 1, utils_1.MillisecondTimes.TenMinutes);
17
+ exports.waitForOneConfirmation = waitForOneConfirmation;
18
+ /**
19
+ *
20
+ */
21
+ exports.trackTransaction = (0, toolkit_1.createAsyncThunk)(`${transactionSlice_1.transactionSlicePrefix}/trackTransaction`, async (arg, { dispatch }) => {
22
+ dispatch(transactionSlice_1.transactionSlice.actions.upsertTransaction({
23
+ chainId: arg.chainId,
24
+ hash: arg.hash,
25
+ status: 'Pending',
26
+ }));
27
+ const framework = await SuperfluidContext_1.preinitializedSuperfluidContext.getFramework(arg.chainId);
28
+ (0, exports.waitForOneConfirmation)(framework.settings.provider, arg.hash)
29
+ .then((_transactionReceipt) => {
30
+ // When Ethers successfully returns then we assume the transaction was mined as per documentation: https://docs.ethers.io/v5/api/providers/provider/#Provider-waitForTransaction
31
+ dispatch(transactionSlice_1.transactionSlice.actions.upsertTransaction({
32
+ chainId: arg.chainId,
33
+ hash: arg.hash,
34
+ status: 'Succeeded',
35
+ }));
36
+ monitorForLateErrors(framework.settings.provider, arg, dispatch);
37
+ })
38
+ .catch((ethersError) => {
39
+ notifyOfError(ethersError, arg, dispatch);
40
+ });
41
+ });
42
+ // i.e. monitor for re-orgs...
43
+ const monitorForLateErrors = (provider, { chainId, hash }, dispatch) => {
44
+ provider
45
+ .waitForTransaction(hash, 5, utils_1.MillisecondTimes.TenMinutes)
46
+ // When there's no error then that means a re-org didn't happen.
47
+ .catch((ethersError) => {
48
+ if (ethersError.code != ethers_1.ethers.errors.TIMEOUT) {
49
+ // Completely reset API cache.
50
+ dispatch(rtkQuerySlice_1.rtkQuerySlice.util.resetApiState());
51
+ notifyOfError(ethersError, { chainId, hash: hash }, dispatch);
52
+ }
53
+ });
54
+ };
55
+ const notifyOfError = (ethersError, { chainId, hash }, dispatch) => {
56
+ dispatch(transactionSlice_1.transactionSlice.actions.upsertTransaction({
57
+ chainId: chainId,
58
+ hash: hash,
59
+ status: ethersError.code === ethers_1.ethers.errors.TIMEOUT
60
+ ? 'Unknown'
61
+ : 'Failed',
62
+ ethersErrorCode: ethersError.code,
63
+ ethersErrorMessage: ethersError.message,
64
+ }));
65
+ };
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhY2tUcmFuc2FjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9yZWR1eC1zbGljZXMvdHJhbnNhY3Rpb25zL3RyYWNrVHJhbnNhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsa0ZBQWtGO0FBQ2xGLDhDQUE0RDtBQUM1RCxtQ0FBOEI7QUFFOUIsK0RBQXdFO0FBQ3hFLHVDQUE2QztBQUU3Qyw4REFBeUQ7QUFFekQseURBQTRFO0FBVzVFOzs7O0dBSUc7QUFDSSxNQUFNLHNCQUFzQixHQUFHLENBQ2xDLFFBQW1DLEVBQ25DLGVBQXVCLEVBQ3FCLEVBQUUsQ0FDOUMsUUFBUSxDQUFDLGtCQUFrQixDQUN2QixlQUFlLEVBQ2YsQ0FBQyxFQUNELHdCQUFnQixDQUFDLFVBQVUsQ0FDOUIsQ0FBQztBQVJPLFFBQUEsc0JBQXNCLDBCQVE3QjtBQUVOOztHQUVHO0FBQ1UsUUFBQSxnQkFBZ0IsR0FBRyxJQUFBLDBCQUFnQixFQUM1QyxHQUFHLHlDQUFzQixtQkFBbUIsRUFDNUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFDLFFBQVEsRUFBQyxFQUFFLEVBQUU7SUFDdEIsUUFBUSxDQUNKLG1DQUFnQixDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztRQUN2QyxPQUFPLEVBQUUsR0FBRyxDQUFDLE9BQU87UUFDcEIsSUFBSSxFQUFFLEdBQUcsQ0FBQyxJQUFJO1FBQ2QsTUFBTSxFQUFFLFNBQVM7S0FDcEIsQ0FBQyxDQUNMLENBQUM7SUFFRixNQUFNLFNBQVMsR0FBRyxNQUFNLG1EQUErQixDQUFDLFlBQVksQ0FDaEUsR0FBRyxDQUFDLE9BQU8sQ0FDZCxDQUFDO0lBRUYsSUFBQSw4QkFBc0IsRUFBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDO1NBQ3hELElBQUksQ0FDRCxDQUFDLG1CQUF3RCxFQUFFLEVBQUU7UUFDekQsZ0xBQWdMO1FBRWhMLFFBQVEsQ0FDSixtQ0FBZ0IsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUM7WUFDdkMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPO1lBQ3BCLElBQUksRUFBRSxHQUFHLENBQUMsSUFBSTtZQUNkLE1BQU0sRUFBRSxXQUFXO1NBQ3RCLENBQUMsQ0FDTCxDQUFDO1FBRUYsb0JBQW9CLENBQ2hCLFNBQVMsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUMzQixHQUFHLEVBQ0gsUUFBUSxDQUNYLENBQUM7SUFDTixDQUFDLENBQ0o7U0FDQSxLQUFLLENBQUMsQ0FBQyxXQUF3QixFQUFFLEVBQUU7UUFDaEMsYUFBYSxDQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDOUMsQ0FBQyxDQUFDLENBQUM7QUFDWCxDQUFDLENBQ0osQ0FBQztBQUVGLDhCQUE4QjtBQUM5QixNQUFNLG9CQUFvQixHQUFHLENBQ3pCLFFBQW1DLEVBQ25DLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBa0IsRUFDaEMsUUFBa0IsRUFDcEIsRUFBRTtJQUNBLFFBQVE7U0FDSCxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLHdCQUFnQixDQUFDLFVBQVUsQ0FBQztRQUN6RCxnRUFBZ0U7U0FDL0QsS0FBSyxDQUFDLENBQUMsV0FBd0IsRUFBRSxFQUFFO1FBQ2hDLElBQUksV0FBVyxDQUFDLElBQUksSUFBSSxlQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRTtZQUMzQyw4QkFBOEI7WUFDOUIsUUFBUSxDQUFDLDZCQUFhLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7WUFDN0MsYUFBYSxDQUFDLFdBQVcsRUFBRSxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDL0Q7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNYLENBQUMsQ0FBQztBQUVGLE1BQU0sYUFBYSxHQUFHLENBQ2xCLFdBQXdCLEVBQ3hCLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBa0IsRUFDaEMsUUFBa0IsRUFDcEIsRUFBRTtJQUNBLFFBQVEsQ0FDSixtQ0FBZ0IsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUM7UUFDdkMsT0FBTyxFQUFFLE9BQU87UUFDaEIsSUFBSSxFQUFFLElBQUk7UUFDVixNQUFNLEVBQ0YsV0FBVyxDQUFDLElBQUksS0FBSyxlQUFNLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDdEMsQ0FBQyxDQUFDLFNBQVM7WUFDWCxDQUFDLENBQUMsUUFBUTtRQUNsQixlQUFlLEVBQUUsV0FBVyxDQUFDLElBQUk7UUFDakMsa0JBQWtCLEVBQUUsV0FBVyxDQUFDLE9BQU87S0FDMUMsQ0FBQyxDQUNMLENBQUM7QUFDTixDQUFDLENBQUMifQ==
@@ -0,0 +1,36 @@
1
+ import { ethers } from 'ethers';
2
+ export declare type TransactionStatus = 'Pending' | 'Succeeded' | 'Failed' | 'Unknown';
3
+ export interface TrackedTransaction {
4
+ chainId: number;
5
+ hash: string;
6
+ status: TransactionStatus;
7
+ ethersErrorCode?: ethers.errors;
8
+ ethersErrorMessage?: string;
9
+ }
10
+ export declare const transactionsAdapter: import("@reduxjs/toolkit").EntityAdapter<TrackedTransaction>;
11
+ export declare const transactionSelectors: import("@reduxjs/toolkit").EntitySelectors<TrackedTransaction, import("@reduxjs/toolkit").EntityState<TrackedTransaction>>;
12
+ export declare const transactionSlicePrefix: "sfTransactions";
13
+ export declare const transactionSlice: {
14
+ name: "sfTransactions";
15
+ reducer: import("redux").Reducer<import("@reduxjs/toolkit").EntityState<TrackedTransaction>, import("redux").AnyAction>;
16
+ actions: import("@reduxjs/toolkit").CaseReducerActions<{
17
+ upsertTransaction: {
18
+ <S extends import("@reduxjs/toolkit").EntityState<TrackedTransaction>>(state: import("@reduxjs/toolkit/dist/tsHelpers").IsAny<S, import("@reduxjs/toolkit").EntityState<TrackedTransaction>, S>, entity: TrackedTransaction): S;
19
+ <S_1 extends import("@reduxjs/toolkit").EntityState<TrackedTransaction>>(state: import("@reduxjs/toolkit/dist/tsHelpers").IsAny<S_1, import("@reduxjs/toolkit").EntityState<TrackedTransaction>, S_1>, entity: {
20
+ payload: TrackedTransaction;
21
+ type: string;
22
+ }): S_1;
23
+ };
24
+ }>;
25
+ caseReducers: {
26
+ upsertTransaction: {
27
+ <S extends import("@reduxjs/toolkit").EntityState<TrackedTransaction>>(state: import("@reduxjs/toolkit/dist/tsHelpers").IsAny<S, import("@reduxjs/toolkit").EntityState<TrackedTransaction>, S>, entity: TrackedTransaction): S;
28
+ <S_1 extends import("@reduxjs/toolkit").EntityState<TrackedTransaction>>(state: import("@reduxjs/toolkit/dist/tsHelpers").IsAny<S_1, import("@reduxjs/toolkit").EntityState<TrackedTransaction>, S_1>, entity: {
29
+ payload: TrackedTransaction;
30
+ type: string;
31
+ }): S_1;
32
+ };
33
+ };
34
+ reducerPath: "sfTransactions";
35
+ };
36
+ export declare type SuperfluidTransactionReduxSlice = typeof transactionSlice;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.transactionSlice = exports.transactionSlicePrefix = exports.transactionSelectors = exports.transactionsAdapter = void 0;
4
+ const toolkit_1 = require("@reduxjs/toolkit");
5
+ const getTransactionId = (transaction) => `${transaction.chainId}_${transaction.hash}`;
6
+ exports.transactionsAdapter = (0, toolkit_1.createEntityAdapter)({
7
+ selectId: (transaction) => getTransactionId(transaction),
8
+ sortComparer: (a, b) => getTransactionId(a).localeCompare(getTransactionId(b)),
9
+ });
10
+ exports.transactionSelectors = exports.transactionsAdapter.getSelectors();
11
+ exports.transactionSlicePrefix = 'sfTransactions';
12
+ exports.transactionSlice = Object.assign({ reducerPath: exports.transactionSlicePrefix }, (0, toolkit_1.createSlice)({
13
+ name: exports.transactionSlicePrefix,
14
+ initialState: exports.transactionsAdapter.getInitialState(),
15
+ reducers: {
16
+ upsertTransaction: exports.transactionsAdapter.upsertOne,
17
+ },
18
+ }));
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb25TbGljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9yZWR1eC1zbGljZXMvdHJhbnNhY3Rpb25zL3RyYW5zYWN0aW9uU2xpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsOENBQWtFO0FBY2xFLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxXQUErQixFQUFFLEVBQUUsQ0FDekQsR0FBRyxXQUFXLENBQUMsT0FBTyxJQUFJLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUVwQyxRQUFBLG1CQUFtQixHQUFHLElBQUEsNkJBQW1CLEVBQXFCO0lBQ3ZFLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDO0lBQ3hELFlBQVksRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUNuQixnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUM7Q0FDN0QsQ0FBQyxDQUFDO0FBRVUsUUFBQSxvQkFBb0IsR0FBRywyQkFBbUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztBQUUxRCxRQUFBLHNCQUFzQixHQUFHLGdCQUF5QixDQUFDO0FBRW5ELFFBQUEsZ0JBQWdCLG1CQUN6QixXQUFXLEVBQUUsOEJBQXNCLElBQ2hDLElBQUEscUJBQVcsRUFBQztJQUNYLElBQUksRUFBRSw4QkFBc0I7SUFDNUIsWUFBWSxFQUFFLDJCQUFtQixDQUFDLGVBQWUsRUFBRTtJQUNuRCxRQUFRLEVBQUU7UUFDTixpQkFBaUIsRUFBRSwyQkFBbUIsQ0FBQyxTQUFTO0tBQ25EO0NBQ0osQ0FBQyxFQUNKIn0=
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Helper function to make sure an object instance does not have any fields extra or missing and is in fact the correct type.
3
+ * The problem stems from the fact that `return obj as T` and `return <T>obj` are not safe type casts.
4
+ * @private
5
+ */
6
+ export declare const typeGuard: <T>(obj: T) => T;
7
+ /**
8
+ * A helper function that returns the inputted elements when condition is true or an empty array otherwise.
9
+ * The reasoning for such a helper is to conditionally add items to an array in a nice syntax.
10
+ * @private
11
+ */
12
+ export declare function insertIf<T>(condition: boolean | unknown, ...elements: T[]): T[];
13
+ /**
14
+ *
15
+ * @private
16
+ */
17
+ export declare enum MillisecondTimes {
18
+ OneSecond = 1000,
19
+ FiveSeconds = 5000,
20
+ TwentySeconds = 20000,
21
+ OneMinute = 60000,
22
+ TenMinutes = 600000,
23
+ ThreeMinutes = 180000,
24
+ FiveMinutes = 300000
25
+ }
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MillisecondTimes = exports.insertIf = exports.typeGuard = void 0;
4
+ /**
5
+ * Helper function to make sure an object instance does not have any fields extra or missing and is in fact the correct type.
6
+ * The problem stems from the fact that `return obj as T` and `return <T>obj` are not safe type casts.
7
+ * @private
8
+ */
9
+ const typeGuard = (obj) => obj;
10
+ exports.typeGuard = typeGuard;
11
+ /**
12
+ * A helper function that returns the inputted elements when condition is true or an empty array otherwise.
13
+ * The reasoning for such a helper is to conditionally add items to an array in a nice syntax.
14
+ * @private
15
+ */
16
+ function insertIf(condition, ...elements) {
17
+ return condition ? elements : [];
18
+ }
19
+ exports.insertIf = insertIf;
20
+ /**
21
+ *
22
+ * @private
23
+ */
24
+ var MillisecondTimes;
25
+ (function (MillisecondTimes) {
26
+ MillisecondTimes[MillisecondTimes["OneSecond"] = 1000] = "OneSecond";
27
+ MillisecondTimes[MillisecondTimes["FiveSeconds"] = 5000] = "FiveSeconds";
28
+ MillisecondTimes[MillisecondTimes["TwentySeconds"] = 20000] = "TwentySeconds";
29
+ MillisecondTimes[MillisecondTimes["OneMinute"] = 60000] = "OneMinute";
30
+ MillisecondTimes[MillisecondTimes["TenMinutes"] = 600000] = "TenMinutes";
31
+ MillisecondTimes[MillisecondTimes["ThreeMinutes"] = 180000] = "ThreeMinutes";
32
+ MillisecondTimes[MillisecondTimes["FiveMinutes"] = 300000] = "FiveMinutes";
33
+ })(MillisecondTimes = exports.MillisecondTimes || (exports.MillisecondTimes = {}));
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7Ozs7R0FJRztBQUNJLE1BQU0sU0FBUyxHQUFHLENBQUksR0FBTSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUM7QUFBL0IsUUFBQSxTQUFTLGFBQXNCO0FBRTVDOzs7O0dBSUc7QUFDSCxTQUFnQixRQUFRLENBQ3BCLFNBQTRCLEVBQzVCLEdBQUcsUUFBYTtJQUVoQixPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDckMsQ0FBQztBQUxELDRCQUtDO0FBRUQ7OztHQUdHO0FBQ0gsSUFBWSxnQkFRWDtBQVJELFdBQVksZ0JBQWdCO0lBQ3hCLG9FQUFnQixDQUFBO0lBQ2hCLHdFQUFrQixDQUFBO0lBQ2xCLDZFQUFxQixDQUFBO0lBQ3JCLHFFQUFpQixDQUFBO0lBQ2pCLHdFQUFtQixDQUFBO0lBQ25CLDRFQUFxQixDQUFBO0lBQ3JCLDBFQUFvQixDQUFBO0FBQ3hCLENBQUMsRUFSVyxnQkFBZ0IsR0FBaEIsd0JBQWdCLEtBQWhCLHdCQUFnQixRQVEzQiJ9
@@ -0,0 +1,31 @@
1
+ import { Framework } from '@superfluid-finance/sdk-core';
2
+ import { Signer } from 'ethers';
3
+ /**
4
+ * Context is a way for SDK-Redux reducers to access the current SDK-Core Framework instance
5
+ * and the current active signer for transaction broadcasting.
6
+ *
7
+ * The context object is a way to do "dependency injection" or "service location", if you will.
8
+ */
9
+ export interface SuperfluidContext {
10
+ getFramework: (chainId: number) => Promise<Framework>;
11
+ getSigner: (chainId: number) => Promise<Signer>;
12
+ /**
13
+ *
14
+ * @param chainId
15
+ * @param framework
16
+ * @returns Returns itself for fluent API.
17
+ */
18
+ setFramework: (chainId: number, framework: (() => Promise<Framework>) | Framework) => SuperfluidContext;
19
+ /**
20
+ *
21
+ * @param chainId
22
+ * @param signer
23
+ * @returns Returns itself for fluent API.
24
+ */
25
+ setSigner: (chainId: number, signer: (() => Promise<Signer>) | Signer) => SuperfluidContext;
26
+ getFrameworkAndSigner: (chainId: number) => Promise<[framework: Framework, signer: Signer]>;
27
+ }
28
+ /**
29
+ * A preinitialized instance of a {@link SuperfluidContext}.
30
+ */
31
+ export declare const preinitializedSuperfluidContext: SuperfluidContext;
@@ -0,0 +1,46 @@
1
+ import { Framework } from '@superfluid-finance/sdk-core';
2
+ import { Signer } from 'ethers';
3
+ const frameworks = new Map();
4
+ const signers = new Map();
5
+ /**
6
+ * A preinitialized instance of a {@link SuperfluidContext}.
7
+ */
8
+ export const preinitializedSuperfluidContext = {
9
+ getFramework: (chainId) => {
10
+ const frameworkGetter = frameworks.get(chainId);
11
+ if (!frameworkGetter)
12
+ throw Error(`Don't know how to get Superfluid Framework. :( Please set up a *framework* source for chain [${chainId}].`);
13
+ return frameworkGetter();
14
+ },
15
+ getSigner: (chainId) => {
16
+ const signerGetter = signers.get(chainId);
17
+ if (!signerGetter)
18
+ throw Error(`Don't know how to get a signer. :( Please set up a *signer* source for chain [${chainId}].`);
19
+ return signerGetter();
20
+ },
21
+ setFramework: (chainId, framework) => {
22
+ if (framework instanceof Framework) {
23
+ frameworks.set(chainId, () => Promise.resolve(framework));
24
+ }
25
+ else {
26
+ frameworks.set(chainId, framework);
27
+ }
28
+ return preinitializedSuperfluidContext;
29
+ },
30
+ setSigner: (chainId, signer) => {
31
+ if (signer instanceof Signer) {
32
+ signers.set(chainId, () => Promise.resolve(signer));
33
+ }
34
+ else {
35
+ signers.set(chainId, signer);
36
+ }
37
+ return preinitializedSuperfluidContext;
38
+ },
39
+ getFrameworkAndSigner: async (chainId) => {
40
+ return await Promise.all([
41
+ preinitializedSuperfluidContext.getFramework(chainId),
42
+ preinitializedSuperfluidContext.getSigner(chainId),
43
+ ]);
44
+ },
45
+ };
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3VwZXJmbHVpZENvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU3VwZXJmbHVpZENvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZELE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxRQUFRLENBQUM7QUFFOUIsTUFBTSxVQUFVLEdBQUcsSUFBSSxHQUFHLEVBQW9DLENBQUM7QUFDL0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxHQUFHLEVBQWlDLENBQUM7QUFvQ3pEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQXNCO0lBQzlELFlBQVksRUFBRSxDQUFDLE9BQWUsRUFBc0IsRUFBRTtRQUNsRCxNQUFNLGVBQWUsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hELElBQUksQ0FBQyxlQUFlO1lBQ2hCLE1BQU0sS0FBSyxDQUNQLGdHQUFnRyxPQUFPLElBQUksQ0FDOUcsQ0FBQztRQUNOLE9BQU8sZUFBZSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUNELFNBQVMsRUFBRSxDQUFDLE9BQWUsRUFBbUIsRUFBRTtRQUM1QyxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxZQUFZO1lBQ2IsTUFBTSxLQUFLLENBQ1AsaUZBQWlGLE9BQU8sSUFBSSxDQUMvRixDQUFDO1FBQ04sT0FBTyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBQ0QsWUFBWSxFQUFFLENBQ1YsT0FBZSxFQUNmLFNBQWlELEVBQ25ELEVBQUU7UUFDQSxJQUFJLFNBQVMsWUFBWSxTQUFTLEVBQUU7WUFDaEMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1NBQzdEO2FBQU07WUFDSCxVQUFVLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztTQUN0QztRQUNELE9BQU8sK0JBQStCLENBQUM7SUFDM0MsQ0FBQztJQUNELFNBQVMsRUFBRSxDQUFDLE9BQWUsRUFBRSxNQUF3QyxFQUFFLEVBQUU7UUFDckUsSUFBSSxNQUFNLFlBQVksTUFBTSxFQUFFO1lBQzFCLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztTQUN2RDthQUFNO1lBQ0gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDaEM7UUFDRCxPQUFPLCtCQUErQixDQUFDO0lBQzNDLENBQUM7SUFDRCxxQkFBcUIsRUFBRSxLQUFLLEVBQ3hCLE9BQWUsRUFDZ0MsRUFBRTtRQUNqRCxPQUFPLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQztZQUNyQiwrQkFBK0IsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDO1lBQ3JELCtCQUErQixDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUM7U0FDckQsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKLENBQUMifQ==
@@ -0,0 +1,23 @@
1
+ import { SuperfluidContext } from './SuperfluidContext';
2
+ import { SuperfluidApiReduxSliceType } from './redux-slices/rtk-query/rtkQuerySlice';
3
+ import { SuperfluidTransactionReduxSlice, transactionSlice } from './redux-slices/transactions/transactionSlice';
4
+ export declare let initializedSuperfluidContext: SuperfluidContext;
5
+ /**
6
+ * First initialization point of SDK-Redux.
7
+ * Creates the necessary parts to set up redux store and dependency injection for SDk-Redux.
8
+ * @param superfluidContext Optional user-defined instance of {@link SuperfluidContext}.
9
+ */
10
+ export declare const createSdkReduxParts: (superfluidContext?: SuperfluidContext | undefined) => {
11
+ /**
12
+ * Returns the initialized instance of {@link SuperfluidContext}. When user passes in their own instance then that is returned.
13
+ */
14
+ superfluidContext: SuperfluidContext;
15
+ /**
16
+ * Instance of {@link SuperfluidApiReduxSliceType} to plug into the redux store.
17
+ */
18
+ apiSlice: SuperfluidApiReduxSliceType;
19
+ /**
20
+ * Instance of {@link SuperfluidTransactionReduxSlice} to plug into the Redux store.
21
+ */
22
+ transactionSlice: SuperfluidTransactionReduxSlice;
23
+ };