rain-sdk-v2 1.0.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 (102) hide show
  1. package/README.md +1074 -0
  2. package/dist/Rain.d.ts +212 -0
  3. package/dist/Rain.js +401 -0
  4. package/dist/RainAA.d.ts +62 -0
  5. package/dist/RainAA.js +304 -0
  6. package/dist/abi/CreateMarketAbi.d.ts +1125 -0
  7. package/dist/abi/CreateMarketAbi.js +1 -0
  8. package/dist/abi/ERC20Abi.d.ts +89 -0
  9. package/dist/abi/ERC20Abi.js +119 -0
  10. package/dist/abi/MarketsAbi.d.ts +2810 -0
  11. package/dist/abi/MarketsAbi.js +1 -0
  12. package/dist/abi/OracleAbi.d.ts +11 -0
  13. package/dist/abi/OracleAbi.js +15 -0
  14. package/dist/api/comments.d.ts +14 -0
  15. package/dist/api/comments.js +48 -0
  16. package/dist/api/dispute.d.ts +3 -0
  17. package/dist/api/dispute.js +30 -0
  18. package/dist/api/follow.d.ts +6 -0
  19. package/dist/api/follow.js +38 -0
  20. package/dist/api/helpers.d.ts +4 -0
  21. package/dist/api/helpers.js +26 -0
  22. package/dist/api/index.d.ts +14 -0
  23. package/dist/api/index.js +14 -0
  24. package/dist/api/investments.d.ts +21 -0
  25. package/dist/api/investments.js +135 -0
  26. package/dist/api/notifications.d.ts +4 -0
  27. package/dist/api/notifications.js +24 -0
  28. package/dist/api/orders.d.ts +8 -0
  29. package/dist/api/orders.js +40 -0
  30. package/dist/api/points.d.ts +5 -0
  31. package/dist/api/points.js +32 -0
  32. package/dist/api/poolReviews.d.ts +4 -0
  33. package/dist/api/poolReviews.js +23 -0
  34. package/dist/api/pools.d.ts +41 -0
  35. package/dist/api/pools.js +149 -0
  36. package/dist/api/priceData.d.ts +2 -0
  37. package/dist/api/priceData.js +9 -0
  38. package/dist/api/rainBurn.d.ts +3 -0
  39. package/dist/api/rainBurn.js +15 -0
  40. package/dist/api/types.d.ts +292 -0
  41. package/dist/api/types.js +2 -0
  42. package/dist/api/users.d.ts +15 -0
  43. package/dist/api/users.js +60 -0
  44. package/dist/auth/login.d.ts +4 -0
  45. package/dist/auth/login.js +27 -0
  46. package/dist/auth/types.d.ts +16 -0
  47. package/dist/auth/types.js +1 -0
  48. package/dist/config/environments.d.ts +15 -0
  49. package/dist/config/environments.js +41 -0
  50. package/dist/constants/contractmethods.d.ts +15 -0
  51. package/dist/constants/contractmethods.js +15 -0
  52. package/dist/index.d.ts +9 -0
  53. package/dist/index.js +6 -0
  54. package/dist/markets/getDisputeFee.d.ts +5 -0
  55. package/dist/markets/getDisputeFee.js +19 -0
  56. package/dist/markets/getOrderInfo.d.ts +53 -0
  57. package/dist/markets/getOrderInfo.js +80 -0
  58. package/dist/markets/getResolverBondAmount.d.ts +9 -0
  59. package/dist/markets/getResolverBondAmount.js +35 -0
  60. package/dist/markets/getUserOptionLPShares.d.ts +7 -0
  61. package/dist/markets/getUserOptionLPShares.js +17 -0
  62. package/dist/markets/getUserOptionShares.d.ts +8 -0
  63. package/dist/markets/getUserOptionShares.js +17 -0
  64. package/dist/socket/RainSocket.d.ts +175 -0
  65. package/dist/socket/RainSocket.js +186 -0
  66. package/dist/tx/CreateMarket/buildCreateMarketRawTx.d.ts +2 -0
  67. package/dist/tx/CreateMarket/buildCreateMarketRawTx.js +55 -0
  68. package/dist/tx/CreateMarket/createMarketValidation.d.ts +2 -0
  69. package/dist/tx/CreateMarket/createMarketValidation.js +48 -0
  70. package/dist/tx/CreateMarket/helpers.d.ts +3 -0
  71. package/dist/tx/CreateMarket/helpers.js +42 -0
  72. package/dist/tx/buildAddLiquidityRawTx.d.ts +2 -0
  73. package/dist/tx/buildAddLiquidityRawTx.js +23 -0
  74. package/dist/tx/buildApprovalRawTx.d.ts +2 -0
  75. package/dist/tx/buildApprovalRawTx.js +24 -0
  76. package/dist/tx/buildCalculateWinnerRawTx.d.ts +13 -0
  77. package/dist/tx/buildCalculateWinnerRawTx.js +37 -0
  78. package/dist/tx/buildCancelOrdersRawTx.d.ts +3 -0
  79. package/dist/tx/buildCancelOrdersRawTx.js +43 -0
  80. package/dist/tx/buildClaimRawTx.d.ts +2 -0
  81. package/dist/tx/buildClaimRawTx.js +19 -0
  82. package/dist/tx/buildClosePoolRawTx.d.ts +20 -0
  83. package/dist/tx/buildClosePoolRawTx.js +95 -0
  84. package/dist/tx/buildEnterOptionRawTx.d.ts +2 -0
  85. package/dist/tx/buildEnterOptionRawTx.js +25 -0
  86. package/dist/tx/buildMergeRawTx.d.ts +2 -0
  87. package/dist/tx/buildMergeRawTx.js +21 -0
  88. package/dist/tx/buildOpenDisputeRawTx.d.ts +8 -0
  89. package/dist/tx/buildOpenDisputeRawTx.js +39 -0
  90. package/dist/tx/buildPlaceOrderRawTx.d.ts +3 -0
  91. package/dist/tx/buildPlaceOrderRawTx.js +47 -0
  92. package/dist/tx/buildRemoveLiquidityRawTx.d.ts +2 -0
  93. package/dist/tx/buildRemoveLiquidityRawTx.js +23 -0
  94. package/dist/tx/buildSplitRawTx.d.ts +2 -0
  95. package/dist/tx/buildSplitRawTx.js +21 -0
  96. package/dist/tx/types.d.ts +117 -0
  97. package/dist/tx/types.js +10 -0
  98. package/dist/types.d.ts +15 -0
  99. package/dist/types.js +1 -0
  100. package/dist/utils/helpers.d.ts +4 -0
  101. package/dist/utils/helpers.js +28 -0
  102. package/package.json +66 -0
package/dist/Rain.d.ts ADDED
@@ -0,0 +1,212 @@
1
+ import { ApproveTxParams, CreateMarketTxParams, EnterOptionTxParams, AddLiquidityTxParams, RemoveLiquidityTxParams, SplitTxParams, MergeTxParams, ClosePoolAITxParams, ClosePoolManualTxParams, ChooseWinnerTxParams, PlaceBuyOrderTxParams, PlaceSellOrderTxParams, OpenDisputeTxParams, ClaimTxParams, CancelBuyOrdersTxParams, CancelSellOrdersTxParams, RawTransaction } from './tx/types.js';
2
+ import { CalculateWinnerTxParams } from './tx/buildCalculateWinnerRawTx.js';
3
+ import { RainCoreConfig, RainEnvironment } from './types.js';
4
+ import { LoginParams, LoginResult } from './auth/types.js';
5
+ import type { UserProfileUpdateParams, UserHistoryParams, CreateCommentParams, CommentsListingParams, UpdateCommentParams, CommentCountParams, PublicPoolsParams, PrivatePoolsParams, PoolListingByCreatorParams, VerifyAccessCodeParams, PoolTotalParticipantsParams, SearchPoolParams, RelatedPoolsParams, UpdateStreamingParams, UpdatePoolResolutionTimeParams, FindPoolFallbackParams, SignOraclesExtendTimeParams, UserTotalInvestmentParams, OptionsTotalVolumeParams, PoolActivityParams, TopHoldersParams, UserInvestedPoolsParams, InvestmentVolumeGraphParams, UserPnlGraphParams, TopWinnersLosersParams, PnlByPoolIdParams, PriceDataParams, AddReviewParams, GetUserOrdersParams, OrderBookParams, GetUserOrderByPoolIdParams, OrdersListingByPoolParams, AddUserPointsParams, UserOnboardingParams, PointsGraphParams, GetNotificationsParams, MarkNotificationAsReadParams, CreateDisputeMessageParams, GetPoolDisputeConvoParams, FollowToggleParams, FollowCheckParams, FollowListParams, FollowStatsParams, RainBurnPerPoolParams } from './api/types.js';
6
+ export declare class Rain {
7
+ readonly environment: RainEnvironment;
8
+ private readonly marketFactory;
9
+ private readonly apiUrl;
10
+ private readonly distute_initial_timer;
11
+ private readonly oracleFixedFeePerOption;
12
+ private readonly rpcUrl?;
13
+ constructor(config?: RainCoreConfig);
14
+ buildApprovalTx(params: ApproveTxParams): RawTransaction;
15
+ buildCreateMarketTx(params: CreateMarketTxParams): Promise<RawTransaction[]>;
16
+ buildEnterOptionTx(params: EnterOptionTxParams): RawTransaction;
17
+ buildAddLiquidityTx(params: AddLiquidityTxParams): RawTransaction;
18
+ buildRemoveLiquidityTx(params: RemoveLiquidityTxParams): RawTransaction;
19
+ getUserOptionLPShares(params: {
20
+ marketContractAddress: `0x${string}`;
21
+ option: bigint;
22
+ userAddress: `0x${string}`;
23
+ }): Promise<bigint>;
24
+ getUserOptionShares(params: {
25
+ marketContractAddress: `0x${string}`;
26
+ option: bigint;
27
+ optionSide: number;
28
+ userAddress: `0x${string}`;
29
+ }): Promise<bigint>;
30
+ buildSplitTx(params: SplitTxParams): RawTransaction;
31
+ buildMergeTx(params: MergeTxParams): RawTransaction;
32
+ buildClosePoolAITx(params: ClosePoolAITxParams): Promise<RawTransaction[]>;
33
+ buildClosePoolManualTx(params: ClosePoolManualTxParams): Promise<RawTransaction[]>;
34
+ buildChooseWinnerTx(params: ChooseWinnerTxParams): RawTransaction;
35
+ buildPlaceBuyOrderTx(params: PlaceBuyOrderTxParams): RawTransaction;
36
+ buildPlaceSellOrderTx(params: PlaceSellOrderTxParams): RawTransaction;
37
+ buildOpenDisputeTx(params: OpenDisputeTxParams): Promise<RawTransaction[]>;
38
+ buildCalculateWinnerTx(params: CalculateWinnerTxParams): Promise<RawTransaction>;
39
+ buildClaimTx(params: ClaimTxParams): RawTransaction;
40
+ buildCancelBuyOrdersTx(params: CancelBuyOrdersTxParams): RawTransaction;
41
+ buildCancelSellOrdersTx(params: CancelSellOrdersTxParams): RawTransaction;
42
+ getUserActiveBuyOrders(params: {
43
+ marketContractAddress: `0x${string}`;
44
+ userAddress: `0x${string}`;
45
+ }): Promise<bigint>;
46
+ getUserActiveSellOrders(params: {
47
+ marketContractAddress: `0x${string}`;
48
+ userAddress: `0x${string}`;
49
+ }): Promise<bigint>;
50
+ getFirstBuyOrderPrice(params: {
51
+ marketContractAddress: `0x${string}`;
52
+ option: bigint;
53
+ optionSide: number;
54
+ }): Promise<bigint>;
55
+ getFirstSellOrderPrice(params: {
56
+ marketContractAddress: `0x${string}`;
57
+ option: bigint;
58
+ optionSide: number;
59
+ }): Promise<bigint>;
60
+ getBuyOrdersAtPrice(params: {
61
+ marketContractAddress: `0x${string}`;
62
+ option: bigint;
63
+ optionSide: number;
64
+ price: bigint;
65
+ }): Promise<import("./markets/getOrderInfo.js").OrderLevelInfo>;
66
+ getSellOrdersAtPrice(params: {
67
+ marketContractAddress: `0x${string}`;
68
+ option: bigint;
69
+ optionSide: number;
70
+ price: bigint;
71
+ }): Promise<import("./markets/getOrderInfo.js").OrderLevelInfo>;
72
+ checkOrderExists(params: {
73
+ marketContractAddress: `0x${string}`;
74
+ option: bigint;
75
+ optionSide: number;
76
+ price: bigint;
77
+ orderID: bigint;
78
+ }): Promise<{
79
+ exists: boolean;
80
+ index: bigint;
81
+ }>;
82
+ login(params: LoginParams): Promise<LoginResult>;
83
+ getTokenAllowance(params: {
84
+ tokenAddress: `0x${string}`;
85
+ owner: `0x${string}`;
86
+ spender: `0x${string}`;
87
+ }): Promise<bigint>;
88
+ getEnvironmentConfig(): {
89
+ readonly apiUrl: "https://dev2-api.rain.one";
90
+ readonly market_factory_address: `0x${string}`;
91
+ readonly dispute_initial_timer: number;
92
+ readonly oracle_fixed_fee_per_option: 1000000n;
93
+ readonly usdt_symbol: "USDTm";
94
+ readonly usdt_token: `0x${string}`;
95
+ readonly rain_token: `0x${string}`;
96
+ };
97
+ private cfg;
98
+ findUserByWalletAddress(params: {
99
+ walletAddress: string;
100
+ }, accessToken?: string): Promise<import("./api/types.js").ApiResponse<import("./api/types.js").UserProfile>>;
101
+ updateUserProfile(params: UserProfileUpdateParams, accessToken: string): Promise<import("./api/types.js").ApiResponse<import("./api/types.js").UserProfile>>;
102
+ getUserProfile(accessToken: string): Promise<import("./api/types.js").ApiResponse<import("./api/types.js").UserProfile>>;
103
+ getUsersTotalCount(): Promise<import("./api/types.js").ApiResponse<{
104
+ totalUsers: number;
105
+ }>>;
106
+ removeUserProfilePic(accessToken: string): Promise<import("./api/types.js").ApiResponse<import("./api/types.js").UserProfile>>;
107
+ getUserHistory(params: UserHistoryParams, accessToken: string): Promise<import("./api/types.js").ApiResponse<import("./api/types.js").UserHistoryResponse>>;
108
+ createComment(params: CreateCommentParams, accessToken: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
109
+ getCommentsListing(params: CommentsListingParams, accessToken?: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
110
+ updateComment(params: UpdateCommentParams, accessToken: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
111
+ likeComment(params: {
112
+ commentId: string;
113
+ }, accessToken: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
114
+ unlikeComment(params: {
115
+ commentId: string;
116
+ }, accessToken: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
117
+ getCommentsCount(params: CommentCountParams, accessToken?: string): Promise<import("./api/types.js").ApiResponse<{
118
+ poolId: string;
119
+ count: number;
120
+ }>>;
121
+ accessPool(params: {
122
+ poolId: string;
123
+ accessCode: string;
124
+ }, accessToken?: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
125
+ getPublicPools(params: PublicPoolsParams, accessToken?: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
126
+ getPrivatePools(params: PrivatePoolsParams, accessToken?: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
127
+ getPoolById(params: {
128
+ id: string;
129
+ }, accessToken?: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
130
+ getPoolByContractAddress(params: {
131
+ contractAddress: string;
132
+ }, accessToken?: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
133
+ searchPool(params: SearchPoolParams, accessToken?: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
134
+ verifyAccessCode(params: VerifyAccessCodeParams, accessToken?: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
135
+ getPoolListingByCreator(params: PoolListingByCreatorParams, accessToken: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
136
+ searchPoolById(params: {
137
+ poolId: string;
138
+ }, accessToken?: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
139
+ getPoolTotalParticipants(params: PoolTotalParticipantsParams, accessToken?: string): Promise<import("./api/types.js").ApiResponse<{
140
+ totalParticipants: number;
141
+ }>>;
142
+ getTotalPoolsByUser(accessToken: string): Promise<import("./api/types.js").ApiResponse<{
143
+ totalPoolsCreated: number;
144
+ }>>;
145
+ signOraclesExtendTime(params: SignOraclesExtendTimeParams, accessToken: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
146
+ getTotalPredictionsByUser(accessToken: string): Promise<import("./api/types.js").ApiResponse<{
147
+ totalPredictions: number;
148
+ }>>;
149
+ updateStreaming(params: UpdateStreamingParams, accessToken: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
150
+ getAllPoolsCount(accessToken?: string): Promise<import("./api/types.js").ApiResponse<{
151
+ openPoolsCount: number;
152
+ }>>;
153
+ getRelatedPools(params: RelatedPoolsParams, accessToken?: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
154
+ getPoolResolutionHistory(params: {
155
+ poolId: string;
156
+ subPool: string;
157
+ }, accessToken?: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
158
+ viewUserProfile(params: {
159
+ userId: string;
160
+ }, accessToken?: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
161
+ checkTokenExpiration(accessToken: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
162
+ updatePoolResolutionTime(params: UpdatePoolResolutionTimeParams, accessToken: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
163
+ findPoolFallback(params: FindPoolFallbackParams, accessToken: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
164
+ getFeaturedPools(accessToken?: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
165
+ getUserTotalInvestment(params: UserTotalInvestmentParams, accessToken: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
166
+ getOptionsTotalVolume(params: OptionsTotalVolumeParams, accessToken?: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
167
+ getPoolActivity(params: PoolActivityParams, accessToken?: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
168
+ getTopHolders(params: TopHoldersParams, accessToken?: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
169
+ getUserInvestedPools(params: UserInvestedPoolsParams, accessToken: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
170
+ getPlatformTVL(accessToken?: string): Promise<import("./api/types.js").ApiResponse<{
171
+ tvl: number;
172
+ }>>;
173
+ getInvestmentVolumeGraph(params: InvestmentVolumeGraphParams, accessToken?: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
174
+ calculateUserPNL(accessToken: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
175
+ calculateUserTotalVolume(accessToken: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
176
+ getUserPnlGraph(params: UserPnlGraphParams, accessToken: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
177
+ getTVLGraph(accessToken?: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
178
+ calculateUserPNLPerPool(accessToken: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
179
+ getPnlByPoolId(params: PnlByPoolIdParams, accessToken: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
180
+ getTopWinnersLosers(params: TopWinnersLosersParams, accessToken?: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
181
+ getUserOverallInvestment(accessToken: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
182
+ getPlatformVolume(accessToken?: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
183
+ getUserInvestedLivePoolsCount(accessToken: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
184
+ calculateUserOpenInterest(accessToken: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
185
+ getPriceData(params: PriceDataParams, accessToken?: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
186
+ addReview(params: AddReviewParams, accessToken: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
187
+ getUserReviews(accessToken: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
188
+ getPoolsByCreatorReviews(accessToken: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
189
+ getUserOrders(params: GetUserOrdersParams, accessToken: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
190
+ getOrderBook(params: OrderBookParams, accessToken?: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
191
+ getUserOrderByPoolId(params: GetUserOrderByPoolIdParams, accessToken: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
192
+ getOrdersListingByPool(params: OrdersListingByPoolParams, accessToken?: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
193
+ getOrderById(params: {
194
+ orderId: string;
195
+ }, accessToken: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
196
+ addUserPoints(params: AddUserPointsParams, accessToken: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
197
+ getUserPoints(accessToken: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
198
+ userSuccessfulOnboarding(params: UserOnboardingParams, accessToken: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
199
+ getUserPointsGraph(params: PointsGraphParams, accessToken: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
200
+ getNotifications(params: GetNotificationsParams, accessToken: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
201
+ markAllNotificationsAsRead(accessToken: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
202
+ markNotificationAsRead(params: MarkNotificationAsReadParams, accessToken: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
203
+ getTotalBurned(accessToken?: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
204
+ getBurnPerPool(params: RainBurnPerPoolParams, accessToken?: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
205
+ createDisputeMessage(params: CreateDisputeMessageParams, accessToken: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
206
+ getPoolDisputeConvo(params: GetPoolDisputeConvoParams, accessToken?: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
207
+ toggleFollow(params: FollowToggleParams, accessToken: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
208
+ checkFollow(params: FollowCheckParams, accessToken: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
209
+ getFollowers(params: FollowListParams, accessToken?: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
210
+ getFollowing(params: FollowListParams, accessToken?: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
211
+ getFollowStats(params: FollowStatsParams, accessToken?: string): Promise<import("./api/types.js").ApiResponse<unknown>>;
212
+ }
package/dist/Rain.js ADDED
@@ -0,0 +1,401 @@
1
+ import { buildApproveRawTx } from './tx/buildApprovalRawTx.js';
2
+ import { buildCreateMarketRawTx } from './tx/CreateMarket/buildCreateMarketRawTx.js';
3
+ import { buildEnterOptionRawTx } from './tx/buildEnterOptionRawTx.js';
4
+ import { buildAddLiquidityRawTx } from './tx/buildAddLiquidityRawTx.js';
5
+ import { buildRemoveLiquidityRawTx } from './tx/buildRemoveLiquidityRawTx.js';
6
+ import { buildSplitRawTx } from './tx/buildSplitRawTx.js';
7
+ import { buildMergeRawTx } from './tx/buildMergeRawTx.js';
8
+ import { buildClosePoolAIRawTx, buildClosePoolManualRawTx, buildChooseWinnerRawTx } from './tx/buildClosePoolRawTx.js';
9
+ import { buildPlaceBuyOrderRawTx, buildPlaceSellOrderRawTx } from './tx/buildPlaceOrderRawTx.js';
10
+ import { buildOpenDisputeRawTx } from './tx/buildOpenDisputeRawTx.js';
11
+ import { buildClaimRawTx } from './tx/buildClaimRawTx.js';
12
+ import { buildCancelBuyOrdersRawTx, buildCancelSellOrdersRawTx } from './tx/buildCancelOrdersRawTx.js';
13
+ import { buildCalculateWinnerRawTx } from './tx/buildCalculateWinnerRawTx.js';
14
+ import { getUserActiveBuyOrders, getUserActiveSellOrders, getFirstBuyOrderPrice, getFirstSellOrderPrice, getBuyOrdersAtPrice, getSellOrdersAtPrice, checkOrderExists } from './markets/getOrderInfo.js';
15
+ import { ALLOWED_ENVIRONMENTS, ENV_CONFIG, getRandomRpc } from './config/environments.js';
16
+ import { loginUser } from './auth/login.js';
17
+ import { getUserOptionLPShares } from './markets/getUserOptionLPShares.js';
18
+ import { getUserOptionShares } from './markets/getUserOptionShares.js';
19
+ import { createPublicClient, http, parseAbi } from 'viem';
20
+ import { arbitrum } from 'viem/chains';
21
+ import * as usersApi from './api/users.js';
22
+ import * as commentsApi from './api/comments.js';
23
+ import * as poolsApi from './api/pools.js';
24
+ import * as investmentsApi from './api/investments.js';
25
+ import * as priceDataApi from './api/priceData.js';
26
+ import * as poolReviewsApi from './api/poolReviews.js';
27
+ import * as ordersApi from './api/orders.js';
28
+ import * as pointsApi from './api/points.js';
29
+ import * as notificationsApi from './api/notifications.js';
30
+ import * as rainBurnApi from './api/rainBurn.js';
31
+ import * as disputeApi from './api/dispute.js';
32
+ import * as followApi from './api/follow.js';
33
+ const erc20AllowanceAbi = parseAbi(['function allowance(address owner, address spender) view returns (uint256)']);
34
+ export class Rain {
35
+ environment;
36
+ marketFactory;
37
+ apiUrl;
38
+ distute_initial_timer;
39
+ oracleFixedFeePerOption;
40
+ rpcUrl;
41
+ constructor(config = {}) {
42
+ const { environment = "development", rpcUrl, apiUrl } = config;
43
+ function isValidEnvironment(env) {
44
+ return ALLOWED_ENVIRONMENTS.includes(env);
45
+ }
46
+ if (!isValidEnvironment(environment)) {
47
+ throw new Error(`Invalid environment "${environment}". Allowed values: ${ALLOWED_ENVIRONMENTS.join(", ")}`);
48
+ }
49
+ this.environment = environment;
50
+ this.rpcUrl = rpcUrl ?? getRandomRpc();
51
+ const envConfig = ENV_CONFIG[this.environment];
52
+ this.marketFactory = envConfig.market_factory_address;
53
+ this.apiUrl = apiUrl ?? envConfig.apiUrl;
54
+ this.distute_initial_timer = envConfig.dispute_initial_timer;
55
+ this.oracleFixedFeePerOption = envConfig.oracle_fixed_fee_per_option;
56
+ }
57
+ buildApprovalTx(params) {
58
+ return buildApproveRawTx(params);
59
+ }
60
+ buildCreateMarketTx(params) {
61
+ return buildCreateMarketRawTx({ ...params, factoryContractAddress: this.marketFactory, apiUrl: this.apiUrl, rpcUrl: this.rpcUrl, disputeTimer: this.distute_initial_timer, oracleFixedFeePerOption: this.oracleFixedFeePerOption });
62
+ }
63
+ buildEnterOptionTx(params) {
64
+ return buildEnterOptionRawTx(params);
65
+ }
66
+ buildAddLiquidityTx(params) {
67
+ return buildAddLiquidityRawTx(params);
68
+ }
69
+ buildRemoveLiquidityTx(params) {
70
+ return buildRemoveLiquidityRawTx(params);
71
+ }
72
+ async getUserOptionLPShares(params) {
73
+ return getUserOptionLPShares({ ...params, rpcUrl: this.rpcUrl });
74
+ }
75
+ async getUserOptionShares(params) {
76
+ return getUserOptionShares({ ...params, rpcUrl: this.rpcUrl });
77
+ }
78
+ buildSplitTx(params) {
79
+ return buildSplitRawTx(params);
80
+ }
81
+ buildMergeTx(params) {
82
+ return buildMergeRawTx(params);
83
+ }
84
+ async buildClosePoolAITx(params) {
85
+ return buildClosePoolAIRawTx({ ...params, rpcUrl: this.rpcUrl });
86
+ }
87
+ async buildClosePoolManualTx(params) {
88
+ return buildClosePoolManualRawTx({ ...params, rpcUrl: this.rpcUrl });
89
+ }
90
+ buildChooseWinnerTx(params) {
91
+ return buildChooseWinnerRawTx(params);
92
+ }
93
+ buildPlaceBuyOrderTx(params) {
94
+ return buildPlaceBuyOrderRawTx(params);
95
+ }
96
+ buildPlaceSellOrderTx(params) {
97
+ return buildPlaceSellOrderRawTx(params);
98
+ }
99
+ async buildOpenDisputeTx(params) {
100
+ return buildOpenDisputeRawTx({ ...params, rpcUrl: this.rpcUrl });
101
+ }
102
+ async buildCalculateWinnerTx(params) {
103
+ return buildCalculateWinnerRawTx({ ...params, rpcUrl: this.rpcUrl });
104
+ }
105
+ buildClaimTx(params) {
106
+ return buildClaimRawTx(params);
107
+ }
108
+ buildCancelBuyOrdersTx(params) {
109
+ return buildCancelBuyOrdersRawTx(params);
110
+ }
111
+ buildCancelSellOrdersTx(params) {
112
+ return buildCancelSellOrdersRawTx(params);
113
+ }
114
+ async getUserActiveBuyOrders(params) {
115
+ return getUserActiveBuyOrders({ ...params, rpcUrl: this.rpcUrl });
116
+ }
117
+ async getUserActiveSellOrders(params) {
118
+ return getUserActiveSellOrders({ ...params, rpcUrl: this.rpcUrl });
119
+ }
120
+ async getFirstBuyOrderPrice(params) {
121
+ return getFirstBuyOrderPrice({ ...params, rpcUrl: this.rpcUrl });
122
+ }
123
+ async getFirstSellOrderPrice(params) {
124
+ return getFirstSellOrderPrice({ ...params, rpcUrl: this.rpcUrl });
125
+ }
126
+ async getBuyOrdersAtPrice(params) {
127
+ return getBuyOrdersAtPrice({ ...params, rpcUrl: this.rpcUrl });
128
+ }
129
+ async getSellOrdersAtPrice(params) {
130
+ return getSellOrdersAtPrice({ ...params, rpcUrl: this.rpcUrl });
131
+ }
132
+ async checkOrderExists(params) {
133
+ return checkOrderExists({ ...params, rpcUrl: this.rpcUrl });
134
+ }
135
+ async login(params) {
136
+ return loginUser({ ...params, apiUrl: this.apiUrl });
137
+ }
138
+ async getTokenAllowance(params) {
139
+ const publicClient = createPublicClient({
140
+ chain: arbitrum,
141
+ transport: http(this.rpcUrl),
142
+ });
143
+ const allowance = await publicClient.readContract({
144
+ address: params.tokenAddress,
145
+ abi: erc20AllowanceAbi,
146
+ functionName: 'allowance',
147
+ args: [params.owner, params.spender],
148
+ });
149
+ return allowance;
150
+ }
151
+ getEnvironmentConfig() {
152
+ return ENV_CONFIG[this.environment];
153
+ }
154
+ // ─── Helper ──────────────────────────────────────────────────────────────────
155
+ cfg(accessToken) {
156
+ return { apiUrl: this.apiUrl, accessToken };
157
+ }
158
+ // ─── Users ───────────────────────────────────────────────────────────────────
159
+ async findUserByWalletAddress(params, accessToken) {
160
+ return usersApi.findUserByWalletAddress(params, this.cfg(accessToken));
161
+ }
162
+ async updateUserProfile(params, accessToken) {
163
+ return usersApi.updateUserProfile(params, this.cfg(accessToken));
164
+ }
165
+ async getUserProfile(accessToken) {
166
+ return usersApi.getUserProfile(this.cfg(accessToken));
167
+ }
168
+ async getUsersTotalCount() {
169
+ return usersApi.getUsersTotalCount(this.cfg());
170
+ }
171
+ async removeUserProfilePic(accessToken) {
172
+ return usersApi.removeUserProfilePic(this.cfg(accessToken));
173
+ }
174
+ async getUserHistory(params, accessToken) {
175
+ return usersApi.getUserHistory(params, this.cfg(accessToken));
176
+ }
177
+ // ─── Comments ────────────────────────────────────────────────────────────────
178
+ async createComment(params, accessToken) {
179
+ return commentsApi.createComment(params, this.cfg(accessToken));
180
+ }
181
+ async getCommentsListing(params, accessToken) {
182
+ return commentsApi.getCommentsListing(params, this.cfg(accessToken));
183
+ }
184
+ async updateComment(params, accessToken) {
185
+ return commentsApi.updateComment(params, this.cfg(accessToken));
186
+ }
187
+ async likeComment(params, accessToken) {
188
+ return commentsApi.likeComment(params, this.cfg(accessToken));
189
+ }
190
+ async unlikeComment(params, accessToken) {
191
+ return commentsApi.unlikeComment(params, this.cfg(accessToken));
192
+ }
193
+ async getCommentsCount(params, accessToken) {
194
+ return commentsApi.getCommentsCount(params, this.cfg(accessToken));
195
+ }
196
+ // ─── Pools ───────────────────────────────────────────────────────────────────
197
+ async accessPool(params, accessToken) {
198
+ return poolsApi.accessPool(params, this.cfg(accessToken));
199
+ }
200
+ async getPublicPools(params, accessToken) {
201
+ return poolsApi.getPublicPools(params, this.cfg(accessToken));
202
+ }
203
+ async getPrivatePools(params, accessToken) {
204
+ return poolsApi.getPrivatePools(params, this.cfg(accessToken));
205
+ }
206
+ async getPoolById(params, accessToken) {
207
+ return poolsApi.getPoolById(params, this.cfg(accessToken));
208
+ }
209
+ async getPoolByContractAddress(params, accessToken) {
210
+ return poolsApi.getPoolByContractAddress(params, this.cfg(accessToken));
211
+ }
212
+ async searchPool(params, accessToken) {
213
+ return poolsApi.searchPool(params, this.cfg(accessToken));
214
+ }
215
+ async verifyAccessCode(params, accessToken) {
216
+ return poolsApi.verifyAccessCode(params, this.cfg(accessToken));
217
+ }
218
+ async getPoolListingByCreator(params, accessToken) {
219
+ return poolsApi.getPoolListingByCreator(params, this.cfg(accessToken));
220
+ }
221
+ async searchPoolById(params, accessToken) {
222
+ return poolsApi.searchPoolById(params, this.cfg(accessToken));
223
+ }
224
+ async getPoolTotalParticipants(params, accessToken) {
225
+ return poolsApi.getPoolTotalParticipants(params, this.cfg(accessToken));
226
+ }
227
+ async getTotalPoolsByUser(accessToken) {
228
+ return poolsApi.getTotalPoolsByUser(this.cfg(accessToken));
229
+ }
230
+ async signOraclesExtendTime(params, accessToken) {
231
+ return poolsApi.signOraclesExtendTime(params, this.cfg(accessToken));
232
+ }
233
+ async getTotalPredictionsByUser(accessToken) {
234
+ return poolsApi.getTotalPredictionsByUser(this.cfg(accessToken));
235
+ }
236
+ async updateStreaming(params, accessToken) {
237
+ return poolsApi.updateStreaming(params, this.cfg(accessToken));
238
+ }
239
+ async getAllPoolsCount(accessToken) {
240
+ return poolsApi.getAllPoolsCount(this.cfg(accessToken));
241
+ }
242
+ async getRelatedPools(params, accessToken) {
243
+ return poolsApi.getRelatedPools(params, this.cfg(accessToken));
244
+ }
245
+ async getPoolResolutionHistory(params, accessToken) {
246
+ return poolsApi.getPoolResolutionHistory(params, this.cfg(accessToken));
247
+ }
248
+ async viewUserProfile(params, accessToken) {
249
+ return usersApi.viewUserProfile(params, this.cfg(accessToken));
250
+ }
251
+ async checkTokenExpiration(accessToken) {
252
+ return usersApi.checkTokenExpiration(this.cfg(accessToken));
253
+ }
254
+ async updatePoolResolutionTime(params, accessToken) {
255
+ return poolsApi.updatePoolResolutionTime(params, this.cfg(accessToken));
256
+ }
257
+ async findPoolFallback(params, accessToken) {
258
+ return poolsApi.findPoolFallback(params, this.cfg(accessToken));
259
+ }
260
+ async getFeaturedPools(accessToken) {
261
+ return poolsApi.getFeaturedPools(this.cfg(accessToken));
262
+ }
263
+ // ─── Investments ─────────────────────────────────────────────────────────────
264
+ async getUserTotalInvestment(params, accessToken) {
265
+ return investmentsApi.getUserTotalInvestment(params, this.cfg(accessToken));
266
+ }
267
+ async getOptionsTotalVolume(params, accessToken) {
268
+ return investmentsApi.getOptionsTotalVolume(params, this.cfg(accessToken));
269
+ }
270
+ async getPoolActivity(params, accessToken) {
271
+ return investmentsApi.getPoolActivity(params, this.cfg(accessToken));
272
+ }
273
+ async getTopHolders(params, accessToken) {
274
+ return investmentsApi.getTopHolders(params, this.cfg(accessToken));
275
+ }
276
+ async getUserInvestedPools(params, accessToken) {
277
+ return investmentsApi.getUserInvestedPools(params, this.cfg(accessToken));
278
+ }
279
+ async getPlatformTVL(accessToken) {
280
+ return investmentsApi.getPlatformTVL(this.cfg(accessToken));
281
+ }
282
+ async getInvestmentVolumeGraph(params, accessToken) {
283
+ return investmentsApi.getInvestmentVolumeGraph(params, this.cfg(accessToken));
284
+ }
285
+ async calculateUserPNL(accessToken) {
286
+ return investmentsApi.calculateUserPNL(this.cfg(accessToken));
287
+ }
288
+ async calculateUserTotalVolume(accessToken) {
289
+ return investmentsApi.calculateUserTotalVolume(this.cfg(accessToken));
290
+ }
291
+ async getUserPnlGraph(params, accessToken) {
292
+ return investmentsApi.getUserPnlGraph(params, this.cfg(accessToken));
293
+ }
294
+ async getTVLGraph(accessToken) {
295
+ return investmentsApi.getTVLGraph(this.cfg(accessToken));
296
+ }
297
+ async calculateUserPNLPerPool(accessToken) {
298
+ return investmentsApi.calculateUserPNLPerPool(this.cfg(accessToken));
299
+ }
300
+ async getPnlByPoolId(params, accessToken) {
301
+ return investmentsApi.getPnlByPoolId(params, this.cfg(accessToken));
302
+ }
303
+ async getTopWinnersLosers(params, accessToken) {
304
+ return investmentsApi.getTopWinnersLosers(params, this.cfg(accessToken));
305
+ }
306
+ async getUserOverallInvestment(accessToken) {
307
+ return investmentsApi.getUserOverallInvestment(this.cfg(accessToken));
308
+ }
309
+ async getPlatformVolume(accessToken) {
310
+ return investmentsApi.getPlatformVolume(this.cfg(accessToken));
311
+ }
312
+ async getUserInvestedLivePoolsCount(accessToken) {
313
+ return investmentsApi.getUserInvestedLivePoolsCount(this.cfg(accessToken));
314
+ }
315
+ async calculateUserOpenInterest(accessToken) {
316
+ return investmentsApi.calculateUserOpenInterest(this.cfg(accessToken));
317
+ }
318
+ // ─── Price Data ──────────────────────────────────────────────────────────────
319
+ async getPriceData(params, accessToken) {
320
+ return priceDataApi.getPriceData(params, this.cfg(accessToken));
321
+ }
322
+ // ─── Pool Reviews ────────────────────────────────────────────────────────────
323
+ async addReview(params, accessToken) {
324
+ return poolReviewsApi.addReview(params, this.cfg(accessToken));
325
+ }
326
+ async getUserReviews(accessToken) {
327
+ return poolReviewsApi.getUserReviews(this.cfg(accessToken));
328
+ }
329
+ async getPoolsByCreatorReviews(accessToken) {
330
+ return poolReviewsApi.getPoolsByCreatorReviews(this.cfg(accessToken));
331
+ }
332
+ // ─── Orders ──────────────────────────────────────────────────────────────────
333
+ async getUserOrders(params, accessToken) {
334
+ return ordersApi.getUserOrders(params, this.cfg(accessToken));
335
+ }
336
+ async getOrderBook(params, accessToken) {
337
+ return ordersApi.getOrderBook(params, this.cfg(accessToken));
338
+ }
339
+ async getUserOrderByPoolId(params, accessToken) {
340
+ return ordersApi.getUserOrderByPoolId(params, this.cfg(accessToken));
341
+ }
342
+ async getOrdersListingByPool(params, accessToken) {
343
+ return ordersApi.getOrdersListingByPool(params, this.cfg(accessToken));
344
+ }
345
+ async getOrderById(params, accessToken) {
346
+ return ordersApi.getOrderById(params, this.cfg(accessToken));
347
+ }
348
+ // ─── Points ──────────────────────────────────────────────────────────────────
349
+ async addUserPoints(params, accessToken) {
350
+ return pointsApi.addUserPoints(params, this.cfg(accessToken));
351
+ }
352
+ async getUserPoints(accessToken) {
353
+ return pointsApi.getUserPoints(this.cfg(accessToken));
354
+ }
355
+ async userSuccessfulOnboarding(params, accessToken) {
356
+ return pointsApi.userSuccessfulOnboarding(params, this.cfg(accessToken));
357
+ }
358
+ async getUserPointsGraph(params, accessToken) {
359
+ return pointsApi.getUserPointsGraph(params, this.cfg(accessToken));
360
+ }
361
+ // ─── Notifications ───────────────────────────────────────────────────────────
362
+ async getNotifications(params, accessToken) {
363
+ return notificationsApi.getNotifications(params, this.cfg(accessToken));
364
+ }
365
+ async markAllNotificationsAsRead(accessToken) {
366
+ return notificationsApi.markAllNotificationsAsRead(this.cfg(accessToken));
367
+ }
368
+ async markNotificationAsRead(params, accessToken) {
369
+ return notificationsApi.markNotificationAsRead(params, this.cfg(accessToken));
370
+ }
371
+ // ─── Rain Burn ───────────────────────────────────────────────────────────────
372
+ async getTotalBurned(accessToken) {
373
+ return rainBurnApi.getTotalBurned(this.cfg(accessToken));
374
+ }
375
+ async getBurnPerPool(params, accessToken) {
376
+ return rainBurnApi.getBurnPerPool(params, this.cfg(accessToken));
377
+ }
378
+ // ─── Dispute ─────────────────────────────────────────────────────────────────
379
+ async createDisputeMessage(params, accessToken) {
380
+ return disputeApi.createDisputeMessage(params, this.cfg(accessToken));
381
+ }
382
+ async getPoolDisputeConvo(params, accessToken) {
383
+ return disputeApi.getPoolDisputeConvo(params, this.cfg(accessToken));
384
+ }
385
+ // ─── Follow ──────────────────────────────────────────────────────────────────
386
+ async toggleFollow(params, accessToken) {
387
+ return followApi.toggleFollow(params, this.cfg(accessToken));
388
+ }
389
+ async checkFollow(params, accessToken) {
390
+ return followApi.checkFollow(params, this.cfg(accessToken));
391
+ }
392
+ async getFollowers(params, accessToken) {
393
+ return followApi.getFollowers(params, this.cfg(accessToken));
394
+ }
395
+ async getFollowing(params, accessToken) {
396
+ return followApi.getFollowing(params, this.cfg(accessToken));
397
+ }
398
+ async getFollowStats(params, accessToken) {
399
+ return followApi.getFollowStats(params, this.cfg(accessToken));
400
+ }
401
+ }