@superfluid-finance/sdk-core 0.3.3-dev.a92870f.0 → 0.3.3-dev.bd59c6c.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 (382) hide show
  1. package/CHANGELOG.md +25 -1
  2. package/README.md +2 -0
  3. package/dist/index.umd.js +6034 -2012
  4. package/dist/main/BatchCall.d.ts +6 -6
  5. package/dist/main/BatchCall.js +8 -8
  6. package/dist/main/BatchCall.js.map +1 -1
  7. package/dist/main/ConstantFlowAgreementV1.d.ts +106 -17
  8. package/dist/main/ConstantFlowAgreementV1.d.ts.map +1 -1
  9. package/dist/main/ConstantFlowAgreementV1.js +238 -50
  10. package/dist/main/ConstantFlowAgreementV1.js.map +1 -1
  11. package/dist/main/{Token.d.ts → ERC20Token.d.ts} +17 -14
  12. package/dist/main/ERC20Token.d.ts.map +1 -0
  13. package/dist/main/{Token.js → ERC20Token.js} +29 -33
  14. package/dist/main/ERC20Token.js.map +1 -0
  15. package/dist/main/Framework.d.ts +34 -7
  16. package/dist/main/Framework.d.ts.map +1 -1
  17. package/dist/main/Framework.js +88 -15
  18. package/dist/main/Framework.js.map +1 -1
  19. package/dist/main/Governance.d.ts +40 -0
  20. package/dist/main/Governance.d.ts.map +1 -0
  21. package/dist/main/Governance.js +82 -0
  22. package/dist/main/Governance.js.map +1 -0
  23. package/dist/main/Host.d.ts +3 -3
  24. package/dist/main/Host.d.ts.map +1 -1
  25. package/dist/main/Host.js +4 -4
  26. package/dist/main/Host.js.map +1 -1
  27. package/dist/main/InstantDistributionAgreementV1.d.ts +25 -22
  28. package/dist/main/InstantDistributionAgreementV1.d.ts.map +1 -1
  29. package/dist/main/InstantDistributionAgreementV1.js +69 -71
  30. package/dist/main/InstantDistributionAgreementV1.js.map +1 -1
  31. package/dist/main/Operation.d.ts +5 -5
  32. package/dist/main/Operation.js +5 -5
  33. package/dist/main/Query.d.ts +6 -6
  34. package/dist/main/Query.d.ts.map +1 -1
  35. package/dist/main/Query.js +18 -16
  36. package/dist/main/Query.js.map +1 -1
  37. package/dist/main/SFError.d.ts +1 -1
  38. package/dist/main/SFError.d.ts.map +1 -1
  39. package/dist/main/SFError.js +2 -0
  40. package/dist/main/SFError.js.map +1 -1
  41. package/dist/main/SuperToken.d.ts +226 -67
  42. package/dist/main/SuperToken.d.ts.map +1 -1
  43. package/dist/main/SuperToken.js +318 -132
  44. package/dist/main/SuperToken.js.map +1 -1
  45. package/dist/main/abi/IConstantFlowAgreementV1.json +335 -2
  46. package/dist/main/abi/ISETH.json +1604 -0
  47. package/dist/main/abi/SuperfluidGovernanceII.json +921 -0
  48. package/dist/main/constants.d.ts +4 -0
  49. package/dist/main/constants.d.ts.map +1 -1
  50. package/dist/main/constants.js +36 -13
  51. package/dist/main/constants.js.map +1 -1
  52. package/dist/main/defaultSubgraphReleaseTag.json +3 -0
  53. package/dist/main/events.d.ts +14 -2
  54. package/dist/main/events.d.ts.map +1 -1
  55. package/dist/main/frameworkHelpers.d.ts +2 -2
  56. package/dist/main/frameworkHelpers.js +2 -2
  57. package/dist/main/index.d.ts +16 -5
  58. package/dist/main/index.d.ts.map +1 -1
  59. package/dist/main/index.js +12 -1
  60. package/dist/main/index.js.map +1 -1
  61. package/dist/main/interfaces.d.ts +81 -8
  62. package/dist/main/interfaces.d.ts.map +1 -1
  63. package/dist/main/mapGetAllEventsQueryEvents.d.ts.map +1 -1
  64. package/dist/main/mapGetAllEventsQueryEvents.js +22 -1
  65. package/dist/main/mapGetAllEventsQueryEvents.js.map +1 -1
  66. package/dist/main/pagination.d.ts +42 -4
  67. package/dist/main/pagination.d.ts.map +1 -1
  68. package/dist/main/pagination.js +36 -5
  69. package/dist/main/pagination.js.map +1 -1
  70. package/dist/main/subgraph/SubgraphClient.d.ts +2 -2
  71. package/dist/main/subgraph/SubgraphClient.d.ts.map +1 -1
  72. package/dist/main/subgraph/SubgraphClient.js +0 -12
  73. package/dist/main/subgraph/SubgraphClient.js.map +1 -1
  74. package/dist/main/subgraph/entities/account/account.d.ts +1 -0
  75. package/dist/main/subgraph/entities/account/account.d.ts.map +1 -1
  76. package/dist/main/subgraph/entities/account/accounts.generated.d.ts +2 -0
  77. package/dist/main/subgraph/entities/account/accounts.generated.d.ts.map +1 -1
  78. package/dist/main/subgraph/entities/account/accounts.generated.js +1 -1
  79. package/dist/main/subgraph/entities/account/accounts.generated.js.map +1 -1
  80. package/dist/main/subgraph/entities/accountTokenSnapshot/accountTokenSnapshot.d.ts +2 -0
  81. package/dist/main/subgraph/entities/accountTokenSnapshot/accountTokenSnapshot.d.ts.map +1 -1
  82. package/dist/main/subgraph/entities/accountTokenSnapshot/accountTokenSnapshot.js +1 -0
  83. package/dist/main/subgraph/entities/accountTokenSnapshot/accountTokenSnapshot.js.map +1 -1
  84. package/dist/main/subgraph/entities/accountTokenSnapshot/accountTokenSnapshots.generated.d.ts +3 -0
  85. package/dist/main/subgraph/entities/accountTokenSnapshot/accountTokenSnapshots.generated.d.ts.map +1 -1
  86. package/dist/main/subgraph/entities/accountTokenSnapshot/accountTokenSnapshots.generated.js +1 -1
  87. package/dist/main/subgraph/entities/accountTokenSnapshot/accountTokenSnapshots.generated.js.map +1 -1
  88. package/dist/main/subgraph/entities/index/index.d.ts +2 -0
  89. package/dist/main/subgraph/entities/index/index.d.ts.map +1 -1
  90. package/dist/main/subgraph/entities/index/index.js +1 -0
  91. package/dist/main/subgraph/entities/index/index.js.map +1 -1
  92. package/dist/main/subgraph/entities/index/indexes.generated.d.ts +3 -0
  93. package/dist/main/subgraph/entities/index/indexes.generated.d.ts.map +1 -1
  94. package/dist/main/subgraph/entities/index/indexes.generated.js +1 -1
  95. package/dist/main/subgraph/entities/index/indexes.generated.js.map +1 -1
  96. package/dist/main/subgraph/entities/indexSubscription/indexSubscription.d.ts +2 -0
  97. package/dist/main/subgraph/entities/indexSubscription/indexSubscription.d.ts.map +1 -1
  98. package/dist/main/subgraph/entities/indexSubscription/indexSubscription.js +1 -0
  99. package/dist/main/subgraph/entities/indexSubscription/indexSubscription.js.map +1 -1
  100. package/dist/main/subgraph/entities/indexSubscription/indexSubscriptions.generated.d.ts +3 -0
  101. package/dist/main/subgraph/entities/indexSubscription/indexSubscriptions.generated.d.ts.map +1 -1
  102. package/dist/main/subgraph/entities/indexSubscription/indexSubscriptions.generated.js +1 -1
  103. package/dist/main/subgraph/entities/indexSubscription/indexSubscriptions.generated.js.map +1 -1
  104. package/dist/main/subgraph/entities/stream/stream.d.ts +2 -0
  105. package/dist/main/subgraph/entities/stream/stream.d.ts.map +1 -1
  106. package/dist/main/subgraph/entities/stream/stream.js +1 -0
  107. package/dist/main/subgraph/entities/stream/stream.js.map +1 -1
  108. package/dist/main/subgraph/entities/stream/streams.generated.d.ts +3 -0
  109. package/dist/main/subgraph/entities/stream/streams.generated.d.ts.map +1 -1
  110. package/dist/main/subgraph/entities/stream/streams.generated.js +1 -1
  111. package/dist/main/subgraph/entities/stream/streams.generated.js.map +1 -1
  112. package/dist/main/subgraph/entities/streamPeriod/streamPeriod.d.ts +2 -0
  113. package/dist/main/subgraph/entities/streamPeriod/streamPeriod.d.ts.map +1 -1
  114. package/dist/main/subgraph/entities/streamPeriod/streamPeriod.js +1 -0
  115. package/dist/main/subgraph/entities/streamPeriod/streamPeriod.js.map +1 -1
  116. package/dist/main/subgraph/entities/streamPeriod/streamPeriods.generated.d.ts +3 -0
  117. package/dist/main/subgraph/entities/streamPeriod/streamPeriods.generated.d.ts.map +1 -1
  118. package/dist/main/subgraph/entities/streamPeriod/streamPeriods.generated.js +1 -1
  119. package/dist/main/subgraph/entities/streamPeriod/streamPeriods.generated.js.map +1 -1
  120. package/dist/main/subgraph/entities/token/token.d.ts +1 -0
  121. package/dist/main/subgraph/entities/token/token.d.ts.map +1 -1
  122. package/dist/main/subgraph/entities/token/tokens.generated.d.ts +2 -0
  123. package/dist/main/subgraph/entities/token/tokens.generated.d.ts.map +1 -1
  124. package/dist/main/subgraph/entities/token/tokens.generated.js +1 -1
  125. package/dist/main/subgraph/entities/token/tokens.generated.js.map +1 -1
  126. package/dist/main/subgraph/entities/tokenStatistic/tokenStatistic.d.ts +1 -0
  127. package/dist/main/subgraph/entities/tokenStatistic/tokenStatistic.d.ts.map +1 -1
  128. package/dist/main/subgraph/entities/tokenStatistic/tokenStatistics.generated.d.ts +2 -0
  129. package/dist/main/subgraph/entities/tokenStatistic/tokenStatistics.generated.d.ts.map +1 -1
  130. package/dist/main/subgraph/entities/tokenStatistic/tokenStatistics.generated.js +1 -1
  131. package/dist/main/subgraph/entities/tokenStatistic/tokenStatistics.generated.js.map +1 -1
  132. package/dist/main/subgraph/events/events.d.ts +1 -0
  133. package/dist/main/subgraph/events/events.d.ts.map +1 -1
  134. package/dist/main/subgraph/events/events.generated.d.ts +118 -3
  135. package/dist/main/subgraph/events/events.generated.d.ts.map +1 -1
  136. package/dist/main/subgraph/events/events.generated.js +38 -37
  137. package/dist/main/subgraph/events/events.generated.js.map +1 -1
  138. package/dist/main/subgraph/events/flowUpdatedEvent.d.ts +1 -0
  139. package/dist/main/subgraph/events/flowUpdatedEvent.d.ts.map +1 -1
  140. package/dist/main/subgraph/events/indexUpdatedEvent.d.ts +1 -0
  141. package/dist/main/subgraph/events/indexUpdatedEvent.d.ts.map +1 -1
  142. package/dist/main/subgraph/events/subscriptionUnitsUpdatedEvents.d.ts +1 -0
  143. package/dist/main/subgraph/events/subscriptionUnitsUpdatedEvents.d.ts.map +1 -1
  144. package/dist/main/subgraph/meta/meta.d.ts +15 -0
  145. package/dist/main/subgraph/meta/meta.d.ts.map +1 -0
  146. package/dist/main/subgraph/meta/meta.generated.d.ts +19 -0
  147. package/dist/main/subgraph/meta/meta.generated.d.ts.map +1 -0
  148. package/dist/main/subgraph/meta/meta.generated.js +5 -0
  149. package/dist/main/subgraph/meta/meta.generated.js.map +1 -0
  150. package/dist/main/subgraph/meta/meta.js +20 -0
  151. package/dist/main/subgraph/meta/meta.js.map +1 -0
  152. package/dist/main/subgraph/queries/getAllEvents.generated.d.ts +12 -0
  153. package/dist/main/subgraph/queries/getAllEvents.generated.d.ts.map +1 -1
  154. package/dist/main/subgraph/queries/getAllEvents.generated.js +1 -1
  155. package/dist/main/subgraph/queries/getAllEvents.generated.js.map +1 -1
  156. package/dist/main/subgraph/schema.generated.d.ts +817 -5
  157. package/dist/main/subgraph/schema.generated.d.ts.map +1 -1
  158. package/dist/main/subgraph/subgraphQueryHandler.d.ts +6 -3
  159. package/dist/main/subgraph/subgraphQueryHandler.d.ts.map +1 -1
  160. package/dist/main/subgraph/subgraphQueryHandler.js +30 -16
  161. package/dist/main/subgraph/subgraphQueryHandler.js.map +1 -1
  162. package/dist/main/typechain/IConstantFlowAgreementV1.d.ts +187 -5
  163. package/dist/main/typechain/IConstantFlowAgreementV1.d.ts.map +1 -1
  164. package/dist/main/typechain/ISETH.d.ts +1068 -0
  165. package/dist/main/typechain/ISETH.d.ts.map +1 -0
  166. package/dist/main/typechain/ISETH.js +3 -0
  167. package/dist/main/typechain/ISETH.js.map +1 -0
  168. package/dist/main/typechain/SuperfluidGovernanceII.d.ts +617 -0
  169. package/dist/main/typechain/SuperfluidGovernanceII.d.ts.map +1 -0
  170. package/dist/main/typechain/SuperfluidGovernanceII.js +3 -0
  171. package/dist/main/typechain/SuperfluidGovernanceII.js.map +1 -0
  172. package/dist/main/typechain/factories/IConstantFlowAgreementV1__factory.d.ts.map +1 -1
  173. package/dist/main/typechain/factories/IConstantFlowAgreementV1__factory.js +335 -2
  174. package/dist/main/typechain/factories/IConstantFlowAgreementV1__factory.js.map +1 -1
  175. package/dist/main/typechain/factories/ISETH__factory.d.ts +36 -0
  176. package/dist/main/typechain/factories/ISETH__factory.d.ts.map +1 -0
  177. package/dist/main/typechain/factories/ISETH__factory.js +1622 -0
  178. package/dist/main/typechain/factories/ISETH__factory.js.map +1 -0
  179. package/dist/main/typechain/factories/SuperfluidGovernanceII__factory.d.ts +36 -0
  180. package/dist/main/typechain/factories/SuperfluidGovernanceII__factory.d.ts.map +1 -0
  181. package/dist/main/typechain/factories/SuperfluidGovernanceII__factory.js +939 -0
  182. package/dist/main/typechain/factories/SuperfluidGovernanceII__factory.js.map +1 -0
  183. package/dist/main/typechain/index.d.ts +4 -0
  184. package/dist/main/typechain/index.d.ts.map +1 -1
  185. package/dist/main/typechain/index.js +5 -1
  186. package/dist/main/typechain/index.js.map +1 -1
  187. package/dist/main/utils.d.ts +15 -13
  188. package/dist/main/utils.d.ts.map +1 -1
  189. package/dist/main/utils.js +29 -15
  190. package/dist/main/utils.js.map +1 -1
  191. package/dist/module/BatchCall.d.ts +6 -6
  192. package/dist/module/BatchCall.js +8 -8
  193. package/dist/module/BatchCall.js.map +1 -1
  194. package/dist/module/ConstantFlowAgreementV1.d.ts +106 -17
  195. package/dist/module/ConstantFlowAgreementV1.d.ts.map +1 -1
  196. package/dist/module/ConstantFlowAgreementV1.js +239 -51
  197. package/dist/module/ConstantFlowAgreementV1.js.map +1 -1
  198. package/dist/module/{Token.d.ts → ERC20Token.d.ts} +17 -14
  199. package/dist/module/ERC20Token.d.ts.map +1 -0
  200. package/dist/module/{Token.js → ERC20Token.js} +28 -32
  201. package/dist/module/ERC20Token.js.map +1 -0
  202. package/dist/module/Framework.d.ts +34 -7
  203. package/dist/module/Framework.d.ts.map +1 -1
  204. package/dist/module/Framework.js +88 -15
  205. package/dist/module/Framework.js.map +1 -1
  206. package/dist/module/Governance.d.ts +40 -0
  207. package/dist/module/Governance.d.ts.map +1 -0
  208. package/dist/module/Governance.js +76 -0
  209. package/dist/module/Governance.js.map +1 -0
  210. package/dist/module/Host.d.ts +3 -3
  211. package/dist/module/Host.d.ts.map +1 -1
  212. package/dist/module/Host.js +4 -4
  213. package/dist/module/Host.js.map +1 -1
  214. package/dist/module/InstantDistributionAgreementV1.d.ts +25 -22
  215. package/dist/module/InstantDistributionAgreementV1.d.ts.map +1 -1
  216. package/dist/module/InstantDistributionAgreementV1.js +69 -71
  217. package/dist/module/InstantDistributionAgreementV1.js.map +1 -1
  218. package/dist/module/Operation.d.ts +5 -5
  219. package/dist/module/Operation.js +5 -5
  220. package/dist/module/Query.d.ts +6 -6
  221. package/dist/module/Query.d.ts.map +1 -1
  222. package/dist/module/Query.js +16 -16
  223. package/dist/module/Query.js.map +1 -1
  224. package/dist/module/SFError.d.ts +1 -1
  225. package/dist/module/SFError.d.ts.map +1 -1
  226. package/dist/module/SFError.js +2 -0
  227. package/dist/module/SFError.js.map +1 -1
  228. package/dist/module/SuperToken.d.ts +226 -67
  229. package/dist/module/SuperToken.d.ts.map +1 -1
  230. package/dist/module/SuperToken.js +315 -133
  231. package/dist/module/SuperToken.js.map +1 -1
  232. package/dist/module/abi/IConstantFlowAgreementV1.json +335 -2
  233. package/dist/module/abi/ISETH.json +1604 -0
  234. package/dist/module/abi/SuperfluidGovernanceII.json +921 -0
  235. package/dist/module/constants.d.ts +4 -0
  236. package/dist/module/constants.d.ts.map +1 -1
  237. package/dist/module/constants.js +32 -12
  238. package/dist/module/constants.js.map +1 -1
  239. package/dist/module/defaultSubgraphReleaseTag.json +3 -0
  240. package/dist/module/events.d.ts +14 -2
  241. package/dist/module/events.d.ts.map +1 -1
  242. package/dist/module/frameworkHelpers.d.ts +2 -2
  243. package/dist/module/frameworkHelpers.js +2 -2
  244. package/dist/module/index.d.ts +16 -5
  245. package/dist/module/index.d.ts.map +1 -1
  246. package/dist/module/index.js +16 -5
  247. package/dist/module/index.js.map +1 -1
  248. package/dist/module/interfaces.d.ts +81 -8
  249. package/dist/module/interfaces.d.ts.map +1 -1
  250. package/dist/module/mapGetAllEventsQueryEvents.d.ts.map +1 -1
  251. package/dist/module/mapGetAllEventsQueryEvents.js +22 -1
  252. package/dist/module/mapGetAllEventsQueryEvents.js.map +1 -1
  253. package/dist/module/pagination.d.ts +42 -4
  254. package/dist/module/pagination.d.ts.map +1 -1
  255. package/dist/module/pagination.js +30 -5
  256. package/dist/module/pagination.js.map +1 -1
  257. package/dist/module/subgraph/SubgraphClient.d.ts +2 -2
  258. package/dist/module/subgraph/SubgraphClient.d.ts.map +1 -1
  259. package/dist/module/subgraph/SubgraphClient.js +1 -13
  260. package/dist/module/subgraph/SubgraphClient.js.map +1 -1
  261. package/dist/module/subgraph/entities/account/account.d.ts +1 -0
  262. package/dist/module/subgraph/entities/account/account.d.ts.map +1 -1
  263. package/dist/module/subgraph/entities/account/accounts.generated.d.ts +2 -0
  264. package/dist/module/subgraph/entities/account/accounts.generated.d.ts.map +1 -1
  265. package/dist/module/subgraph/entities/account/accounts.generated.js +1 -1
  266. package/dist/module/subgraph/entities/account/accounts.generated.js.map +1 -1
  267. package/dist/module/subgraph/entities/accountTokenSnapshot/accountTokenSnapshot.d.ts +2 -0
  268. package/dist/module/subgraph/entities/accountTokenSnapshot/accountTokenSnapshot.d.ts.map +1 -1
  269. package/dist/module/subgraph/entities/accountTokenSnapshot/accountTokenSnapshot.js +1 -0
  270. package/dist/module/subgraph/entities/accountTokenSnapshot/accountTokenSnapshot.js.map +1 -1
  271. package/dist/module/subgraph/entities/accountTokenSnapshot/accountTokenSnapshots.generated.d.ts +3 -0
  272. package/dist/module/subgraph/entities/accountTokenSnapshot/accountTokenSnapshots.generated.d.ts.map +1 -1
  273. package/dist/module/subgraph/entities/accountTokenSnapshot/accountTokenSnapshots.generated.js +1 -1
  274. package/dist/module/subgraph/entities/accountTokenSnapshot/accountTokenSnapshots.generated.js.map +1 -1
  275. package/dist/module/subgraph/entities/index/index.d.ts +2 -0
  276. package/dist/module/subgraph/entities/index/index.d.ts.map +1 -1
  277. package/dist/module/subgraph/entities/index/index.js +1 -0
  278. package/dist/module/subgraph/entities/index/index.js.map +1 -1
  279. package/dist/module/subgraph/entities/index/indexes.generated.d.ts +3 -0
  280. package/dist/module/subgraph/entities/index/indexes.generated.d.ts.map +1 -1
  281. package/dist/module/subgraph/entities/index/indexes.generated.js +1 -1
  282. package/dist/module/subgraph/entities/index/indexes.generated.js.map +1 -1
  283. package/dist/module/subgraph/entities/indexSubscription/indexSubscription.d.ts +2 -0
  284. package/dist/module/subgraph/entities/indexSubscription/indexSubscription.d.ts.map +1 -1
  285. package/dist/module/subgraph/entities/indexSubscription/indexSubscription.js +1 -0
  286. package/dist/module/subgraph/entities/indexSubscription/indexSubscription.js.map +1 -1
  287. package/dist/module/subgraph/entities/indexSubscription/indexSubscriptions.generated.d.ts +3 -0
  288. package/dist/module/subgraph/entities/indexSubscription/indexSubscriptions.generated.d.ts.map +1 -1
  289. package/dist/module/subgraph/entities/indexSubscription/indexSubscriptions.generated.js +1 -1
  290. package/dist/module/subgraph/entities/indexSubscription/indexSubscriptions.generated.js.map +1 -1
  291. package/dist/module/subgraph/entities/stream/stream.d.ts +2 -0
  292. package/dist/module/subgraph/entities/stream/stream.d.ts.map +1 -1
  293. package/dist/module/subgraph/entities/stream/stream.js +1 -0
  294. package/dist/module/subgraph/entities/stream/stream.js.map +1 -1
  295. package/dist/module/subgraph/entities/stream/streams.generated.d.ts +3 -0
  296. package/dist/module/subgraph/entities/stream/streams.generated.d.ts.map +1 -1
  297. package/dist/module/subgraph/entities/stream/streams.generated.js +1 -1
  298. package/dist/module/subgraph/entities/stream/streams.generated.js.map +1 -1
  299. package/dist/module/subgraph/entities/streamPeriod/streamPeriod.d.ts +2 -0
  300. package/dist/module/subgraph/entities/streamPeriod/streamPeriod.d.ts.map +1 -1
  301. package/dist/module/subgraph/entities/streamPeriod/streamPeriod.js +1 -0
  302. package/dist/module/subgraph/entities/streamPeriod/streamPeriod.js.map +1 -1
  303. package/dist/module/subgraph/entities/streamPeriod/streamPeriods.generated.d.ts +3 -0
  304. package/dist/module/subgraph/entities/streamPeriod/streamPeriods.generated.d.ts.map +1 -1
  305. package/dist/module/subgraph/entities/streamPeriod/streamPeriods.generated.js +1 -1
  306. package/dist/module/subgraph/entities/streamPeriod/streamPeriods.generated.js.map +1 -1
  307. package/dist/module/subgraph/entities/token/token.d.ts +1 -0
  308. package/dist/module/subgraph/entities/token/token.d.ts.map +1 -1
  309. package/dist/module/subgraph/entities/token/tokens.generated.d.ts +2 -0
  310. package/dist/module/subgraph/entities/token/tokens.generated.d.ts.map +1 -1
  311. package/dist/module/subgraph/entities/token/tokens.generated.js +1 -1
  312. package/dist/module/subgraph/entities/token/tokens.generated.js.map +1 -1
  313. package/dist/module/subgraph/entities/tokenStatistic/tokenStatistic.d.ts +1 -0
  314. package/dist/module/subgraph/entities/tokenStatistic/tokenStatistic.d.ts.map +1 -1
  315. package/dist/module/subgraph/entities/tokenStatistic/tokenStatistics.generated.d.ts +2 -0
  316. package/dist/module/subgraph/entities/tokenStatistic/tokenStatistics.generated.d.ts.map +1 -1
  317. package/dist/module/subgraph/entities/tokenStatistic/tokenStatistics.generated.js +1 -1
  318. package/dist/module/subgraph/entities/tokenStatistic/tokenStatistics.generated.js.map +1 -1
  319. package/dist/module/subgraph/events/events.d.ts +1 -0
  320. package/dist/module/subgraph/events/events.d.ts.map +1 -1
  321. package/dist/module/subgraph/events/events.generated.d.ts +118 -3
  322. package/dist/module/subgraph/events/events.generated.d.ts.map +1 -1
  323. package/dist/module/subgraph/events/events.generated.js +37 -36
  324. package/dist/module/subgraph/events/events.generated.js.map +1 -1
  325. package/dist/module/subgraph/events/flowUpdatedEvent.d.ts +1 -0
  326. package/dist/module/subgraph/events/flowUpdatedEvent.d.ts.map +1 -1
  327. package/dist/module/subgraph/events/indexUpdatedEvent.d.ts +1 -0
  328. package/dist/module/subgraph/events/indexUpdatedEvent.d.ts.map +1 -1
  329. package/dist/module/subgraph/events/subscriptionUnitsUpdatedEvents.d.ts +1 -0
  330. package/dist/module/subgraph/events/subscriptionUnitsUpdatedEvents.d.ts.map +1 -1
  331. package/dist/module/subgraph/meta/meta.d.ts +15 -0
  332. package/dist/module/subgraph/meta/meta.d.ts.map +1 -0
  333. package/dist/module/subgraph/meta/meta.generated.d.ts +19 -0
  334. package/dist/module/subgraph/meta/meta.generated.d.ts.map +1 -0
  335. package/dist/module/subgraph/meta/meta.generated.js +2 -0
  336. package/dist/module/subgraph/meta/meta.generated.js.map +1 -0
  337. package/dist/module/subgraph/meta/meta.js +16 -0
  338. package/dist/module/subgraph/meta/meta.js.map +1 -0
  339. package/dist/module/subgraph/queries/getAllEvents.generated.d.ts +12 -0
  340. package/dist/module/subgraph/queries/getAllEvents.generated.d.ts.map +1 -1
  341. package/dist/module/subgraph/queries/getAllEvents.generated.js +1 -1
  342. package/dist/module/subgraph/queries/getAllEvents.generated.js.map +1 -1
  343. package/dist/module/subgraph/schema.generated.d.ts +817 -5
  344. package/dist/module/subgraph/schema.generated.d.ts.map +1 -1
  345. package/dist/module/subgraph/subgraphQueryHandler.d.ts +6 -3
  346. package/dist/module/subgraph/subgraphQueryHandler.d.ts.map +1 -1
  347. package/dist/module/subgraph/subgraphQueryHandler.js +31 -17
  348. package/dist/module/subgraph/subgraphQueryHandler.js.map +1 -1
  349. package/dist/module/typechain/IConstantFlowAgreementV1.d.ts +187 -5
  350. package/dist/module/typechain/IConstantFlowAgreementV1.d.ts.map +1 -1
  351. package/dist/module/typechain/ISETH.d.ts +1068 -0
  352. package/dist/module/typechain/ISETH.d.ts.map +1 -0
  353. package/dist/module/typechain/ISETH.js +2 -0
  354. package/dist/module/typechain/ISETH.js.map +1 -0
  355. package/dist/module/typechain/SuperfluidGovernanceII.d.ts +617 -0
  356. package/dist/module/typechain/SuperfluidGovernanceII.d.ts.map +1 -0
  357. package/dist/module/typechain/SuperfluidGovernanceII.js +2 -0
  358. package/dist/module/typechain/SuperfluidGovernanceII.js.map +1 -0
  359. package/dist/module/typechain/factories/IConstantFlowAgreementV1__factory.d.ts.map +1 -1
  360. package/dist/module/typechain/factories/IConstantFlowAgreementV1__factory.js +335 -2
  361. package/dist/module/typechain/factories/IConstantFlowAgreementV1__factory.js.map +1 -1
  362. package/dist/module/typechain/factories/ISETH__factory.d.ts +36 -0
  363. package/dist/module/typechain/factories/ISETH__factory.d.ts.map +1 -0
  364. package/dist/module/typechain/factories/ISETH__factory.js +1618 -0
  365. package/dist/module/typechain/factories/ISETH__factory.js.map +1 -0
  366. package/dist/module/typechain/factories/SuperfluidGovernanceII__factory.d.ts +36 -0
  367. package/dist/module/typechain/factories/SuperfluidGovernanceII__factory.d.ts.map +1 -0
  368. package/dist/module/typechain/factories/SuperfluidGovernanceII__factory.js +935 -0
  369. package/dist/module/typechain/factories/SuperfluidGovernanceII__factory.js.map +1 -0
  370. package/dist/module/typechain/index.d.ts +4 -0
  371. package/dist/module/typechain/index.d.ts.map +1 -1
  372. package/dist/module/typechain/index.js +2 -0
  373. package/dist/module/typechain/index.js.map +1 -1
  374. package/dist/module/utils.d.ts +15 -13
  375. package/dist/module/utils.d.ts.map +1 -1
  376. package/dist/module/utils.js +27 -15
  377. package/dist/module/utils.js.map +1 -1
  378. package/package.json +11 -41
  379. package/dist/main/Token.d.ts.map +0 -1
  380. package/dist/main/Token.js.map +0 -1
  381. package/dist/module/Token.d.ts.map +0 -1
  382. package/dist/module/Token.js.map +0 -1
@@ -4,27 +4,31 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  var _a;
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.NativeAssetSuperToken = exports.PureSuperToken = exports.WrapperSuperToken = void 0;
7
8
  const ethers_1 = require("ethers");
8
9
  const ConstantFlowAgreementV1_1 = __importDefault(require("./ConstantFlowAgreementV1"));
10
+ const ERC20Token_1 = __importDefault(require("./ERC20Token"));
11
+ const Governance_1 = __importDefault(require("./Governance"));
9
12
  const InstantDistributionAgreementV1_1 = __importDefault(require("./InstantDistributionAgreementV1"));
10
13
  const Operation_1 = __importDefault(require("./Operation"));
11
14
  const SFError_1 = require("./SFError");
12
- const Token_1 = __importDefault(require("./Token"));
15
+ const ISETH_json_1 = __importDefault(require("./abi/ISETH.json"));
13
16
  const SuperToken_json_1 = __importDefault(require("./abi/SuperToken.json"));
14
17
  const constants_1 = require("./constants");
15
18
  const frameworkHelpers_1 = require("./frameworkHelpers");
16
19
  const utils_1 = require("./utils");
17
20
  /**
18
- * @dev SuperToken Helper Class
21
+ * SuperToken Helper Class
19
22
  * @description A helper class to create `SuperToken` objects which can interact with the `SuperToken` contract as well as the CFAV1 and IDAV1 contracts of the desired `SuperToken`.
23
+ * @see https://www.notion.so/superfluidhq/Classification-of-Super-Tokens-5beace780b5c4d09a5752a3677da3dc0 for further details on naming classification and underlying implementation.
20
24
  */
21
- class SuperToken extends Token_1.default {
25
+ class SuperToken extends ERC20Token_1.default {
22
26
  constructor(options, settings) {
23
27
  // initialize ERC20 token functions here
24
28
  super(settings.address);
25
- // SuperToken Contract Read Functions
29
+ /** ### SuperToken Contract Read Functions ### */
26
30
  /**
27
- * @dev Returns the real time balance of `address`.
31
+ * Returns the real time balance of `address`.
28
32
  * @param account the target address
29
33
  * @param timestamp the timestamp you'd like to see the data
30
34
  * @param providerOrSigner a provider or signer for executing a web3 call
@@ -33,7 +37,7 @@ class SuperToken extends Token_1.default {
33
37
  this.realtimeBalanceOf = async ({ providerOrSigner, account, timestamp = (0, utils_1.getStringCurrentTimeInSeconds)(), }) => {
34
38
  const normalizedAccount = (0, utils_1.normalizeAddress)(account);
35
39
  try {
36
- const realtimeBalanceOf = await this.superTokenContract
40
+ const realtimeBalanceOf = await this.contract
37
41
  .connect(providerOrSigner)
38
42
  .realtimeBalanceOf(normalizedAccount, timestamp);
39
43
  return {
@@ -51,193 +55,223 @@ class SuperToken extends Token_1.default {
51
55
  });
52
56
  }
53
57
  };
54
- // SuperToken Contract Write Functions
58
+ /** ### CFA Read Functions ### */
55
59
  /**
56
- * @dev Downgrade `amount` SuperToken's.
57
- * @param amount The amount to be downgraded.
58
- * @param overrides ethers overrides object for more control over the transaction sent.
59
- * @returns {Operation} An instance of Operation which can be executed or batched.
60
- */
61
- this.downgrade = ({ amount, overrides, }) => {
62
- const txn = this.superTokenContract.populateTransaction.downgrade(amount, overrides || {});
63
- return new Operation_1.default(txn, "SUPERTOKEN_DOWNGRADE");
64
- };
65
- /**
66
- * @dev Upgrade `amount` SuperToken's.
67
- * @param amount The amount to be upgraded.
68
- * @param overrides ethers overrides object for more control over the transaction sent.
69
- * @returns {Operation} An instance of Operation which can be executed or batched.
70
- */
71
- this.upgrade = ({ amount, overrides, }) => {
72
- const txn = this.superTokenContract.populateTransaction.upgrade(amount, overrides || {});
73
- return new Operation_1.default(txn, "SUPERTOKEN_UPGRADE");
74
- };
75
- // CFA Read Functions
76
- /**
77
- * @dev Get the details of a flow.
60
+ * Get the details of a flow.
78
61
  * @param sender the sender of the flow
79
62
  * @param receiver the receiver of the flow
80
63
  * @param providerOrSigner a provider or signer object
81
64
  * @returns {Promise<IWeb3FlowInfo>} Web3 Flow info object
82
65
  */
83
- this.getFlow = async ({ sender, receiver, providerOrSigner, }) => {
66
+ this.getFlow = async (params) => {
84
67
  return await this.cfaV1.getFlow({
85
68
  superToken: this.settings.address,
86
- sender,
87
- receiver,
88
- providerOrSigner,
69
+ sender: params.sender,
70
+ receiver: params.receiver,
71
+ providerOrSigner: params.providerOrSigner,
89
72
  });
90
73
  };
91
74
  /**
92
- * @dev Get the flow info of an account (net flow).
75
+ * Get the flow info of an account (net flow).
93
76
  * @param account the account we're querying
94
77
  * @param providerOrSigner a provider or signer object
95
78
  * @returns {Promise<IWeb3FlowInfo>} Web3 Flow info object
96
79
  */
97
- this.getAccountFlowInfo = async ({ account, providerOrSigner, }) => {
80
+ this.getAccountFlowInfo = async (params) => {
98
81
  return await this.cfaV1.getAccountFlowInfo({
99
82
  superToken: this.settings.address,
100
- account,
101
- providerOrSigner,
83
+ account: params.account,
84
+ providerOrSigner: params.providerOrSigner,
102
85
  });
103
86
  };
104
87
  /**
105
- * @dev Get the net flow of an account.
88
+ * Get the net flow of an account.
106
89
  * @param account the account we're querying
107
90
  * @param providerOrSigner a provider or signer object
108
91
  * @returns {Promise<string>} Web3 Flow info object
109
92
  */
110
- this.getNetFlow = async ({ account, providerOrSigner, }) => {
93
+ this.getNetFlow = async (params) => {
111
94
  return await this.cfaV1.getNetFlow({
112
95
  superToken: this.settings.address,
113
- account,
114
- providerOrSigner,
96
+ account: params.account,
97
+ providerOrSigner: params.providerOrSigner,
115
98
  });
116
99
  };
117
- // CFA Write Functions
118
100
  /**
119
- * @dev Create a flow of the token of this class.
120
- * @param sender The sender of the flow.
101
+ * Get flow operator data.
102
+ * @param sender the sender
103
+ * @param flowOperator the flowOperator
104
+ * @param providerOrSigner a provider or signer object
105
+ * @returns {Promise<IWeb3FlowOperatorData>} Web3 Flow info object
106
+ */
107
+ this.getFlowOperatorData = async (params) => {
108
+ const normalizedSender = (0, utils_1.normalizeAddress)(params.sender);
109
+ const normalizedFlowOperator = (0, utils_1.normalizeAddress)(params.flowOperator);
110
+ return await this.cfaV1.getFlowOperatorData({
111
+ superToken: this.settings.address,
112
+ sender: normalizedSender,
113
+ flowOperator: normalizedFlowOperator,
114
+ providerOrSigner: params.providerOrSigner,
115
+ });
116
+ };
117
+ /**
118
+ * Get flow operator data using the flowOperatorId.
119
+ * @param flowOperatorId The keccak256 hash of encoded string "flowOperator", sender and flowOperator
120
+ * @param providerOrSigner a provider or signer object
121
+ * @returns {Promise<IWeb3FlowOperatorData>} Web3 Flow info object
122
+ */
123
+ this.getFlowOperatorDataByID = async (params) => {
124
+ return await this.cfaV1.getFlowOperatorDataByID({
125
+ superToken: this.settings.address,
126
+ flowOperatorId: params.flowOperatorId,
127
+ providerOrSigner: params.providerOrSigner,
128
+ });
129
+ };
130
+ /** ### CFA Write Functions ### */
131
+ /**
132
+ * Create a flow of the token of this class.
121
133
  * @param receiver The receiver of the flow.
122
134
  * @param flowRate The specified flow rate.
123
135
  * @param userData Extra user data provided.
124
136
  * @param overrides ethers overrides object for more control over the transaction sent.
125
137
  * @returns {Operation} An instance of Operation which can be executed or batched.
126
138
  */
127
- this.createFlow = ({ sender, receiver, flowRate, userData, overrides, }) => {
139
+ this.createFlow = (params) => {
128
140
  return this.cfaV1.createFlow({
129
- flowRate,
130
- receiver,
131
- sender,
132
141
  superToken: this.settings.address,
133
- userData,
134
- overrides,
142
+ ...params,
135
143
  });
136
144
  };
137
145
  /**
138
- * @dev Update a flow of the token of this class.
139
- * @param sender The sender of the flow.
146
+ * Update a flow of the token of this class.
140
147
  * @param receiver The receiver of the flow.
141
148
  * @param flowRate The specified flow rate.
142
149
  * @param userData Extra user data provided.
143
150
  * @param overrides ethers overrides object for more control over the transaction sent.
144
151
  * @returns {Operation} An instance of Operation which can be executed or batched.
145
152
  */
146
- this.updateFlow = ({ sender, receiver, flowRate, userData, overrides, }) => {
153
+ this.updateFlow = (params) => {
147
154
  return this.cfaV1.updateFlow({
148
- flowRate,
149
- receiver,
150
- sender,
151
155
  superToken: this.settings.address,
152
- userData,
153
- overrides,
156
+ ...params,
154
157
  });
155
158
  };
156
159
  /**
157
- * @dev Delete a flow of the token of this class.
160
+ * Delete a flow of the token of this class.
158
161
  * @param sender The sender of the flow.
159
162
  * @param receiver The receiver of the flow.
160
163
  * @param userData Extra user data provided.
161
164
  * @param overrides ethers overrides object for more control over the transaction sent.
162
165
  * @returns {Operation} An instance of Operation which can be executed or batched.
163
166
  */
164
- this.deleteFlow = ({ sender, receiver, userData, overrides, }) => {
167
+ this.deleteFlow = (params) => {
165
168
  return this.cfaV1.deleteFlow({
166
169
  superToken: this.settings.address,
167
- sender,
168
- receiver,
169
- userData,
170
- overrides,
170
+ ...params,
171
+ });
172
+ };
173
+ /**
174
+ * Create a flow as an operator
175
+ * @param flowRate The specified flow rate.
176
+ * @param sender The sender of the flow.
177
+ * @param receiver The receiver of the flow.
178
+ * @param userData Extra user data provided.
179
+ * @param overrides ethers overrides object for more control over the transaction sent.
180
+ * @returns {Operation} An instance of Operation which can be executed or batched.
181
+ */
182
+ this.createFlowByOperator = (params) => {
183
+ return this.cfaV1.createFlowByOperator({
184
+ superToken: this.settings.address,
185
+ ...params,
186
+ });
187
+ };
188
+ /**
189
+ * Update a flow as an operator.
190
+ * @param flowRate The specified flow rate.
191
+ * @param sender The sender of the flow.
192
+ * @param receiver The receiver of the flow.
193
+ * @param userData Extra user data provided.
194
+ * @param overrides ethers overrides object for more control over the transaction sent.
195
+ * @returns {Operation} An instance of Operation which can be executed or batched.
196
+ */
197
+ this.updateFlowByOperator = (params) => {
198
+ return this.cfaV1.updateFlowByOperator({
199
+ superToken: this.settings.address,
200
+ ...params,
171
201
  });
172
202
  };
173
- // IDA Read Functions
174
203
  /**
175
- * @dev Get the details of a `Subscription`.
204
+ * Delete a flow as an operator.
205
+ * @param sender The sender of the flow.
206
+ * @param receiver The receiver of the flow.
207
+ * @param userData Extra user data provided.
208
+ * @param overrides ethers overrides object for more control over the transaction sent.
209
+ * @returns {Operation} An instance of Operation which can be executed or batched.
210
+ */
211
+ this.deleteFlowByOperator = (params) => {
212
+ return this.cfaV1.deleteFlowByOperator({
213
+ superToken: this.settings.address,
214
+ ...params,
215
+ });
216
+ };
217
+ /** ### IDA Read Functions ### */
218
+ /**
219
+ * Get the details of a `Subscription`.
176
220
  * @param publisher the address of the publisher of the index
177
221
  * @param indexId the index id
178
222
  * @param subscriber the subscriber's address
179
223
  * @param providerOrSigner a provider or signer object
180
224
  * @returns {Promise<IWeb3Subscription>} Web3 Subscription object
181
225
  */
182
- this.getSubscription = async ({ publisher, indexId, subscriber, providerOrSigner, }) => {
226
+ this.getSubscription = async (params) => {
183
227
  return await this.idaV1.getSubscription({
184
228
  superToken: this.settings.address,
185
- publisher,
186
- indexId,
187
- subscriber,
188
- providerOrSigner,
229
+ ...params,
189
230
  });
190
231
  };
191
232
  /**
192
- * @dev Get the details of an `Index`.
233
+ * Get the details of an `Index`.
193
234
  * @param publisher the address of the publisher of the index
194
235
  * @param indexId the index id
195
236
  * @param providerOrSigner a provider or signer object
196
237
  * @returns {Promise<IWeb3Index>} Web3 Index object
197
238
  */
198
- this.getIndex = async ({ publisher, indexId, providerOrSigner, }) => {
239
+ this.getIndex = async (params) => {
199
240
  return await this.idaV1.getIndex({
200
241
  superToken: this.settings.address,
201
- publisher,
202
- indexId,
203
- providerOrSigner,
242
+ ...params,
204
243
  });
205
244
  };
206
- // IDA Write Functions
245
+ /** ### IDA Write Functions ### */
207
246
  /**
208
- * @dev Creates an IDA Index.
247
+ * Creates an IDA Index.
209
248
  * @param indexId The id of the index.
210
249
  * @param userData Extra user data provided.
211
250
  * @param overrides ethers overrides object for more control over the transaction sent.
212
251
  * @returns {Operation} An instance of Operation which can be executed or batched.
213
252
  */
214
- this.createIndex = ({ indexId, userData, overrides, }) => {
253
+ this.createIndex = (params) => {
215
254
  return this.idaV1.createIndex({
216
- indexId,
217
255
  superToken: this.settings.address,
218
- userData,
219
- overrides,
256
+ ...params,
220
257
  });
221
258
  };
222
259
  /**
223
- * @dev Distributes `amount` of token to an index
260
+ * Distributes `amount` of token to an index
224
261
  * @param indexId The id of the index.
225
262
  * @param amount The amount of tokens to be distributed.
226
263
  * @param userData Extra user data provided.
227
264
  * @param overrides ethers overrides object for more control over the transaction sent.
228
265
  * @returns {Operation} An instance of Operation which can be executed or batched.
229
266
  */
230
- this.distribute = ({ indexId, amount, userData, overrides, }) => {
267
+ this.distribute = (params) => {
231
268
  return this.idaV1.distribute({
232
- indexId,
233
- amount,
234
269
  superToken: this.settings.address,
235
- userData,
236
- overrides,
270
+ ...params,
237
271
  });
238
272
  };
239
273
  /**
240
- * @dev Updates the `IndexValue` field of an index.
274
+ * Updates the `IndexValue` field of an index.
241
275
  * @param indexId The id of the index.
242
276
  * @param indexValue The new indexValue.
243
277
  * @param userData Extra user data provided.
@@ -246,17 +280,14 @@ class SuperToken extends Token_1.default {
246
280
  *
247
281
  * NOTE: It has the same effect as `distribute`, but is closer to the low level data structure of the index.
248
282
  */
249
- this.updateIndexValue = ({ indexId, indexValue, userData, overrides, }) => {
283
+ this.updateIndexValue = (params) => {
250
284
  return this.idaV1.updateIndexValue({
251
- indexId,
252
- indexValue,
253
285
  superToken: this.settings.address,
254
- userData,
255
- overrides,
286
+ ...params,
256
287
  });
257
288
  };
258
289
  /**
259
- * @dev Updates the `units` allocated to a Subscription.
290
+ * Updates the `units` allocated to a Subscription.
260
291
  * @param indexId The id of the index.
261
292
  * @param subscriber The subscriber address whose units you want to update.
262
293
  * @param units The amount of units you want to update to.
@@ -264,52 +295,42 @@ class SuperToken extends Token_1.default {
264
295
  * @param overrides ethers overrides object for more control over the transaction sent.
265
296
  * @returns {Operation} An instance of Operation which can be executed or batched.
266
297
  */
267
- this.updateSubscriptionUnits = ({ indexId, subscriber, units, userData, overrides, }) => {
298
+ this.updateSubscriptionUnits = (params) => {
268
299
  return this.idaV1.updateSubscriptionUnits({
269
- indexId,
270
300
  superToken: this.settings.address,
271
- subscriber,
272
- units,
273
- userData,
274
- overrides,
301
+ ...params,
275
302
  });
276
303
  };
277
304
  /**
278
- * @dev Approves a Subscription, so the Subscriber won't need to claim tokens when the Publisher distributes.
305
+ * Approves a Subscription, so the Subscriber won't need to claim tokens when the Publisher distributes.
279
306
  * @param indexId The id of the index.
280
307
  * @param publisher The publisher address whose subscription you want to approve.
281
308
  * @param userData Extra user data provided.
282
309
  * @param overrides ethers overrides object for more control over the transaction sent.
283
310
  * @returns {Operation} An instance of Operation which can be executed or batched.
284
311
  */
285
- this.approveSubscription = ({ indexId, publisher, userData, overrides, }) => {
312
+ this.approveSubscription = (params) => {
286
313
  return this.idaV1.approveSubscription({
287
- indexId,
288
314
  superToken: this.settings.address,
289
- publisher,
290
- userData,
291
- overrides,
315
+ ...params,
292
316
  });
293
317
  };
294
318
  /**
295
- * @dev Revokes a Subscription, so the Subscriber will need to claim tokens when the Publisher distributes.
319
+ * Revokes a Subscription, so the Subscriber will need to claim tokens when the Publisher distributes.
296
320
  * @param indexId The id of the index.
297
321
  * @param publisher The index publisher address you want to revoke for the subscriber.
298
322
  * @param userData Extra user data provided.
299
323
  * @param overrides ethers overrides object for more control over the transaction sent.
300
324
  * @returns {Operation} An instance of Operation which can be executed or batched.
301
325
  */
302
- this.revokeSubscription = ({ indexId, publisher, userData, overrides, }) => {
326
+ this.revokeSubscription = (params) => {
303
327
  return this.idaV1.revokeSubscription({
304
- indexId,
305
328
  superToken: this.settings.address,
306
- publisher,
307
- userData,
308
- overrides,
329
+ ...params,
309
330
  });
310
331
  };
311
332
  /**
312
- * @dev Deletes a Subscription by setting the `units` allocated to the Subscriber to 0.
333
+ * Deletes a Subscription by setting the `units` allocated to the Subscriber to 0.
313
334
  * @param indexId The id of the index.
314
335
  * @param subscriber The subscriber address whose subscription you want to delete.
315
336
  * @param publisher The publisher address of the index you are targeting.
@@ -317,18 +338,14 @@ class SuperToken extends Token_1.default {
317
338
  * @param overrides ethers overrides object for more control over the transaction sent.
318
339
  * @returns {Operation} An instance of Operation which can be executed or batched.
319
340
  */
320
- this.deleteSubscription = ({ indexId, subscriber, publisher, userData, overrides, }) => {
341
+ this.deleteSubscription = (params) => {
321
342
  return this.idaV1.deleteSubscription({
322
- indexId,
323
343
  superToken: this.settings.address,
324
- subscriber,
325
- publisher,
326
- userData,
327
- overrides,
344
+ ...params,
328
345
  });
329
346
  };
330
347
  /**
331
- * @dev Claims any pending tokens allocated to the Subscription (unapproved).
348
+ * Claims any pending tokens allocated to the Subscription (unapproved).
332
349
  * @param indexId The id of the index.
333
350
  * @param subscriber The subscriber address who you are claiming for.
334
351
  * @param publisher The publisher address of the index you are targeting.
@@ -336,14 +353,17 @@ class SuperToken extends Token_1.default {
336
353
  * @param overrides ethers overrides object for more control over the transaction sent.
337
354
  * @returns {Operation} An instance of Operation which can be executed or batched.
338
355
  */
339
- this.claim = ({ indexId, subscriber, publisher, userData, overrides, }) => {
356
+ this.claim = (params) => {
340
357
  return this.idaV1.claim({
341
- indexId,
342
358
  superToken: this.settings.address,
343
- subscriber,
344
- publisher,
345
- userData,
346
- overrides,
359
+ ...params,
360
+ });
361
+ };
362
+ /** ### Governance Read Functions ### */
363
+ this.getGovernanceParameters = async (providerOrSigner) => {
364
+ return this.governance.getGovernanceParameters({
365
+ providerOrSigner,
366
+ token: this.settings.address,
347
367
  });
348
368
  };
349
369
  this.options = options;
@@ -354,10 +374,51 @@ class SuperToken extends Token_1.default {
354
374
  this.idaV1 = new InstantDistributionAgreementV1_1.default({
355
375
  config: this.settings.config,
356
376
  });
357
- this.underlyingToken = new Token_1.default(settings.underlyingTokenAddress);
377
+ this.governance = new Governance_1.default(this.settings.config.governanceAddress, this.settings.config.hostAddress);
378
+ this.contract = new ethers_1.ethers.Contract(this.settings.address, SuperToken_json_1.default.abi);
358
379
  }
359
- get superTokenContract() {
360
- return new ethers_1.ethers.Contract(this.settings.address, SuperToken_json_1.default.abi);
380
+ /** ### CFA ACL Write Functions (byOperator) ### */
381
+ /**
382
+ * Update permissions for a flow operator as a sender.
383
+ * @param sender The sender of the flow.
384
+ * @param flowOperator The permission grantee address
385
+ * @param permission The permissions to set.
386
+ * @param flowRateAllowance The flowRateAllowance granted to the flow operator.
387
+ * @param userData Extra user data provided.
388
+ * @param overrides ethers overrides object for more control over the transaction sent.
389
+ * @returns {Operation} An instance of Operation which can be executed or batched.
390
+ */
391
+ updateFlowOperatorPermissions(params) {
392
+ return this.cfaV1.updateFlowOperatorPermissions({
393
+ superToken: this.settings.address,
394
+ ...params,
395
+ });
396
+ }
397
+ /**
398
+ * Give flow operator full control - max flow rate and create/update/delete permissions.
399
+ * @param sender The sender of the flow.
400
+ * @param flowOperator The permission grantee address
401
+ * @param userData Extra user data provided.
402
+ * @param overrides ethers overrides object for more control over the transaction sent.
403
+ */
404
+ authorizeFlowOperatorWithFullControl(params) {
405
+ return this.cfaV1.authorizeFlowOperatorWithFullControl({
406
+ superToken: this.settings.address,
407
+ ...params,
408
+ });
409
+ }
410
+ /**
411
+ * Revoke flow operator control - set flow rate to 0 with no permissions.
412
+ * @param sender The sender of the flow.
413
+ * @param flowOperator The permission grantee address
414
+ * @param userData Extra user data provided.
415
+ * @param overrides ethers overrides object for more control over the transaction sent.
416
+ */
417
+ revokeFlowOperatorWithFullControl(params) {
418
+ return this.cfaV1.revokeFlowOperatorWithFullControl({
419
+ superToken: this.settings.address,
420
+ ...params,
421
+ });
361
422
  }
362
423
  }
363
424
  exports.default = SuperToken;
@@ -381,9 +442,28 @@ SuperToken.create = async (options) => {
381
442
  config: options.config,
382
443
  chainId,
383
444
  networkName,
384
- underlyingTokenAddress,
385
445
  };
386
- return new SuperToken(options, settings);
446
+ const tokenSymbol = await superToken
447
+ .connect(options.provider)
448
+ .symbol();
449
+ const resolverData = constants_1.chainIdToResolverDataMap.get(chainId) || {
450
+ subgraphAPIEndpoint: "",
451
+ resolverAddress: "",
452
+ networkName: "",
453
+ nativeTokenSymbol: "",
454
+ };
455
+ const nativeTokenSymbol = resolverData.nativeTokenSymbol || "ETH";
456
+ const nativeSuperTokenSymbol = nativeTokenSymbol + "x";
457
+ if (nativeSuperTokenSymbol === tokenSymbol) {
458
+ return new NativeAssetSuperToken(options, settings, nativeTokenSymbol);
459
+ }
460
+ if (underlyingTokenAddress !== ethers_1.ethers.constants.AddressZero) {
461
+ return new WrapperSuperToken(options, {
462
+ ...settings,
463
+ underlyingTokenAddress,
464
+ });
465
+ }
466
+ return new PureSuperToken(options, settings);
387
467
  }
388
468
  catch (err) {
389
469
  throw new SFError_1.SFError({
@@ -393,4 +473,110 @@ SuperToken.create = async (options) => {
393
473
  });
394
474
  }
395
475
  };
476
+ /**
477
+ * WrapperSuperToken has an underlying ERC20 token.
478
+ */
479
+ class WrapperSuperToken extends SuperToken {
480
+ constructor(options, settings) {
481
+ super(options, settings);
482
+ /** ### WrapperSuperToken Contract Write Functions ### */
483
+ /**
484
+ * Downgrade `amount` SuperToken's.
485
+ * @param amount The amount to be downgraded.
486
+ * @param overrides ethers overrides object for more control over the transaction sent.
487
+ * @returns {Operation} An instance of Operation which can be executed or batched.
488
+ */
489
+ this.downgrade = ({ amount, overrides, }) => {
490
+ const txn = this.contract.populateTransaction.downgrade(amount, overrides || {});
491
+ return new Operation_1.default(txn, "SUPERTOKEN_DOWNGRADE");
492
+ };
493
+ /**
494
+ * Upgrade `amount` SuperToken's.
495
+ * @param amount The amount to be upgraded.
496
+ * @param overrides ethers overrides object for more control over the transaction sent.
497
+ * @returns {Operation} An instance of Operation which can be executed or batched.
498
+ */
499
+ this.upgrade = ({ amount, overrides, }) => {
500
+ const txn = this.contract.populateTransaction.upgrade(amount, overrides || {});
501
+ return new Operation_1.default(txn, "SUPERTOKEN_UPGRADE");
502
+ };
503
+ /**
504
+ * Upgrade `amount` of an ERC20 token to its SuperToken to `to` address.
505
+ * @param amount The amount to be upgraded.
506
+ * @param to The destination of the upgraded native asset super tokens.
507
+ * @param data Bytes operatorData
508
+ * @param overrides ethers overrides object for more control over the transaction sent.
509
+ * @returns {Operation} An instance of Operation which can be executed.
510
+ */
511
+ this.upgradeTo = ({ amount, to, data = "0x", overrides, }) => {
512
+ const txn = this.contract.populateTransaction.upgradeTo(to, amount, data, {
513
+ ...overrides,
514
+ });
515
+ return new Operation_1.default(txn, "UNSUPPORTED");
516
+ };
517
+ this.underlyingToken = new ERC20Token_1.default(settings.underlyingTokenAddress);
518
+ }
519
+ }
520
+ exports.WrapperSuperToken = WrapperSuperToken;
521
+ /**
522
+ * PureSuperToken doesn't have any underlying ERC20 token.
523
+ */
524
+ class PureSuperToken extends SuperToken {
525
+ constructor(options, settings) {
526
+ super(options, settings);
527
+ }
528
+ }
529
+ exports.PureSuperToken = PureSuperToken;
530
+ /**
531
+ * NativeAssetSuperToken wraps the native asset of the network.
532
+ */
533
+ class NativeAssetSuperToken extends SuperToken {
534
+ constructor(options, settings, nativeTokenSymbol) {
535
+ super(options, settings);
536
+ /**
537
+ * Upgrade `amount` of a network's native asset to its SuperToken.
538
+ * @param amount The amount to be upgraded.
539
+ * @param overrides ethers overrides object for more control over the transaction sent.
540
+ * @returns {Operation} An instance of Operation which can be executed.
541
+ */
542
+ this.upgrade = ({ amount, overrides, }) => {
543
+ const txn = this.nativeAssetContract.populateTransaction.upgradeByETH({
544
+ ...overrides,
545
+ value: amount,
546
+ });
547
+ return new Operation_1.default(txn, "UNSUPPORTED");
548
+ };
549
+ /**
550
+ * Upgrade `amount` of a network's native asset to its SuperToken to `to` address.
551
+ * @param amount The amount to be upgraded.
552
+ * @param to The destination of the upgraded native asset super tokens.
553
+ * @param overrides ethers overrides object for more control over the transaction sent.
554
+ * @returns {Operation} An instance of Operation which can be executed.
555
+ */
556
+ this.upgradeTo = ({ amount, to, overrides, }) => {
557
+ const txn = this.nativeAssetContract.populateTransaction.upgradeByETHTo(to, {
558
+ ...overrides,
559
+ value: amount,
560
+ });
561
+ return new Operation_1.default(txn, "UNSUPPORTED");
562
+ };
563
+ /**
564
+ * Downgrade `amount` of a native asset super token to the underlying native asset.
565
+ * @param amount The amount to be upgraded.
566
+ * @param overrides ethers overrides object for more control over the transaction sent.
567
+ * @returns {Operation} An instance of Operation which can be executed.
568
+ */
569
+ this.downgrade = ({ amount, overrides, }) => {
570
+ const txn = this.nativeAssetContract.populateTransaction.downgradeToETH(amount, {
571
+ ...overrides,
572
+ });
573
+ return new Operation_1.default(txn, "UNSUPPORTED");
574
+ };
575
+ this.nativeTokenSymbol = nativeTokenSymbol;
576
+ }
577
+ get nativeAssetContract() {
578
+ return new ethers_1.ethers.Contract(this.settings.address, ISETH_json_1.default.abi);
579
+ }
580
+ }
581
+ exports.NativeAssetSuperToken = NativeAssetSuperToken;
396
582
  //# sourceMappingURL=SuperToken.js.map