@across-protocol/sdk 4.3.113 → 4.3.114-alpha.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 (158) hide show
  1. package/dist/cjs/arch/svm/SpokeUtils.d.ts +16 -23
  2. package/dist/cjs/arch/svm/SpokeUtils.js.map +1 -1
  3. package/dist/cjs/arch/svm/utils.d.ts +3 -8
  4. package/dist/cjs/arch/svm/utils.js.map +1 -1
  5. package/dist/cjs/gasPriceOracle/adapters/solana.js.map +1 -1
  6. package/dist/cjs/index.d.ts +0 -1
  7. package/dist/cjs/index.js +1 -2
  8. package/dist/cjs/index.js.map +1 -1
  9. package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.d.ts +3 -3
  10. package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js +1 -1
  11. package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -1
  12. package/dist/esm/arch/svm/SpokeUtils.d.ts +16 -23
  13. package/dist/esm/arch/svm/SpokeUtils.js.map +1 -1
  14. package/dist/esm/arch/svm/utils.d.ts +3 -8
  15. package/dist/esm/arch/svm/utils.js.map +1 -1
  16. package/dist/esm/gasPriceOracle/adapters/solana.js +1 -1
  17. package/dist/esm/gasPriceOracle/adapters/solana.js.map +1 -1
  18. package/dist/esm/index.d.ts +0 -1
  19. package/dist/esm/index.js +0 -2
  20. package/dist/esm/index.js.map +1 -1
  21. package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.d.ts +3 -3
  22. package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js +3 -3
  23. package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -1
  24. package/dist/types/arch/svm/SpokeUtils.d.ts +16 -23
  25. package/dist/types/arch/svm/SpokeUtils.d.ts.map +1 -1
  26. package/dist/types/arch/svm/utils.d.ts +3 -8
  27. package/dist/types/arch/svm/utils.d.ts.map +1 -1
  28. package/dist/types/gasPriceOracle/adapters/solana.d.ts.map +1 -1
  29. package/dist/types/index.d.ts +0 -1
  30. package/dist/types/index.d.ts.map +1 -1
  31. package/dist/types/relayFeeCalculator/chain-queries/svmQuery.d.ts +3 -3
  32. package/dist/types/relayFeeCalculator/chain-queries/svmQuery.d.ts.map +1 -1
  33. package/package.json +17 -8
  34. package/src/arch/svm/SpokeUtils.ts +25 -24
  35. package/src/arch/svm/utils.ts +6 -3
  36. package/src/gasPriceOracle/adapters/solana.ts +8 -3
  37. package/src/index.ts +0 -1
  38. package/src/relayFeeCalculator/chain-queries/svmQuery.ts +5 -5
  39. package/dist/cjs/pool/TransactionManager.d.ts +0 -12
  40. package/dist/cjs/pool/TransactionManager.js +0 -121
  41. package/dist/cjs/pool/TransactionManager.js.map +0 -1
  42. package/dist/cjs/pool/index.d.ts +0 -1
  43. package/dist/cjs/pool/index.js +0 -5
  44. package/dist/cjs/pool/index.js.map +0 -1
  45. package/dist/cjs/pool/poolClient.d.ts +0 -228
  46. package/dist/cjs/pool/poolClient.js +0 -869
  47. package/dist/cjs/pool/poolClient.js.map +0 -1
  48. package/dist/cjs/pool/uma/across/constants.d.ts +0 -2
  49. package/dist/cjs/pool/uma/across/constants.js +0 -6
  50. package/dist/cjs/pool/uma/across/constants.js.map +0 -1
  51. package/dist/cjs/pool/uma/across/index.d.ts +0 -2
  52. package/dist/cjs/pool/uma/across/index.js +0 -8
  53. package/dist/cjs/pool/uma/across/index.js.map +0 -1
  54. package/dist/cjs/pool/uma/across/transactionManager.d.ts +0 -12
  55. package/dist/cjs/pool/uma/across/transactionManager.js +0 -121
  56. package/dist/cjs/pool/uma/across/transactionManager.js.map +0 -1
  57. package/dist/cjs/pool/uma/clients/erc20/client.d.ts +0 -26
  58. package/dist/cjs/pool/uma/clients/erc20/client.js +0 -38
  59. package/dist/cjs/pool/uma/clients/erc20/client.js.map +0 -1
  60. package/dist/cjs/pool/uma/clients/erc20/index.d.ts +0 -1
  61. package/dist/cjs/pool/uma/clients/erc20/index.js +0 -5
  62. package/dist/cjs/pool/uma/clients/erc20/index.js.map +0 -1
  63. package/dist/cjs/pool/uma/clients/index.d.ts +0 -1
  64. package/dist/cjs/pool/uma/clients/index.js +0 -6
  65. package/dist/cjs/pool/uma/clients/index.js.map +0 -1
  66. package/dist/cjs/pool/uma/index.d.ts +0 -13
  67. package/dist/cjs/pool/uma/index.js +0 -9
  68. package/dist/cjs/pool/uma/index.js.map +0 -1
  69. package/dist/cjs/pool/uma/oracle/index.d.ts +0 -1
  70. package/dist/cjs/pool/uma/oracle/index.js +0 -6
  71. package/dist/cjs/pool/uma/oracle/index.js.map +0 -1
  72. package/dist/cjs/pool/uma/oracle/utils.d.ts +0 -7
  73. package/dist/cjs/pool/uma/oracle/utils.js +0 -20
  74. package/dist/cjs/pool/uma/oracle/utils.js.map +0 -1
  75. package/dist/cjs/pool/uma/utils.d.ts +0 -17
  76. package/dist/cjs/pool/uma/utils.js +0 -69
  77. package/dist/cjs/pool/uma/utils.js.map +0 -1
  78. package/dist/esm/pool/TransactionManager.d.ts +0 -12
  79. package/dist/esm/pool/TransactionManager.js +0 -122
  80. package/dist/esm/pool/TransactionManager.js.map +0 -1
  81. package/dist/esm/pool/index.d.ts +0 -1
  82. package/dist/esm/pool/index.js +0 -2
  83. package/dist/esm/pool/index.js.map +0 -1
  84. package/dist/esm/pool/poolClient.d.ts +0 -238
  85. package/dist/esm/pool/poolClient.js +0 -899
  86. package/dist/esm/pool/poolClient.js.map +0 -1
  87. package/dist/esm/pool/uma/across/constants.d.ts +0 -2
  88. package/dist/esm/pool/uma/across/constants.js +0 -3
  89. package/dist/esm/pool/uma/across/constants.js.map +0 -1
  90. package/dist/esm/pool/uma/across/index.d.ts +0 -2
  91. package/dist/esm/pool/uma/across/index.js +0 -4
  92. package/dist/esm/pool/uma/across/index.js.map +0 -1
  93. package/dist/esm/pool/uma/across/transactionManager.d.ts +0 -12
  94. package/dist/esm/pool/uma/across/transactionManager.js +0 -122
  95. package/dist/esm/pool/uma/across/transactionManager.js.map +0 -1
  96. package/dist/esm/pool/uma/clients/erc20/client.d.ts +0 -26
  97. package/dist/esm/pool/uma/clients/erc20/client.js +0 -35
  98. package/dist/esm/pool/uma/clients/erc20/client.js.map +0 -1
  99. package/dist/esm/pool/uma/clients/erc20/index.d.ts +0 -1
  100. package/dist/esm/pool/uma/clients/erc20/index.js +0 -2
  101. package/dist/esm/pool/uma/clients/erc20/index.js.map +0 -1
  102. package/dist/esm/pool/uma/clients/index.d.ts +0 -1
  103. package/dist/esm/pool/uma/clients/index.js +0 -3
  104. package/dist/esm/pool/uma/clients/index.js.map +0 -1
  105. package/dist/esm/pool/uma/index.d.ts +0 -13
  106. package/dist/esm/pool/uma/index.js +0 -9
  107. package/dist/esm/pool/uma/index.js.map +0 -1
  108. package/dist/esm/pool/uma/oracle/index.d.ts +0 -1
  109. package/dist/esm/pool/uma/oracle/index.js +0 -3
  110. package/dist/esm/pool/uma/oracle/index.js.map +0 -1
  111. package/dist/esm/pool/uma/oracle/utils.d.ts +0 -23
  112. package/dist/esm/pool/uma/oracle/utils.js +0 -33
  113. package/dist/esm/pool/uma/oracle/utils.js.map +0 -1
  114. package/dist/esm/pool/uma/utils.d.ts +0 -17
  115. package/dist/esm/pool/uma/utils.js +0 -68
  116. package/dist/esm/pool/uma/utils.js.map +0 -1
  117. package/dist/types/pool/TransactionManager.d.ts +0 -13
  118. package/dist/types/pool/TransactionManager.d.ts.map +0 -1
  119. package/dist/types/pool/index.d.ts +0 -2
  120. package/dist/types/pool/index.d.ts.map +0 -1
  121. package/dist/types/pool/poolClient.d.ts +0 -239
  122. package/dist/types/pool/poolClient.d.ts.map +0 -1
  123. package/dist/types/pool/uma/across/constants.d.ts +0 -3
  124. package/dist/types/pool/uma/across/constants.d.ts.map +0 -1
  125. package/dist/types/pool/uma/across/index.d.ts +0 -3
  126. package/dist/types/pool/uma/across/index.d.ts.map +0 -1
  127. package/dist/types/pool/uma/across/transactionManager.d.ts +0 -13
  128. package/dist/types/pool/uma/across/transactionManager.d.ts.map +0 -1
  129. package/dist/types/pool/uma/clients/erc20/client.d.ts +0 -27
  130. package/dist/types/pool/uma/clients/erc20/client.d.ts.map +0 -1
  131. package/dist/types/pool/uma/clients/erc20/index.d.ts +0 -2
  132. package/dist/types/pool/uma/clients/erc20/index.d.ts.map +0 -1
  133. package/dist/types/pool/uma/clients/index.d.ts +0 -2
  134. package/dist/types/pool/uma/clients/index.d.ts.map +0 -1
  135. package/dist/types/pool/uma/index.d.ts +0 -14
  136. package/dist/types/pool/uma/index.d.ts.map +0 -1
  137. package/dist/types/pool/uma/oracle/index.d.ts +0 -2
  138. package/dist/types/pool/uma/oracle/index.d.ts.map +0 -1
  139. package/dist/types/pool/uma/oracle/utils.d.ts +0 -24
  140. package/dist/types/pool/uma/oracle/utils.d.ts.map +0 -1
  141. package/dist/types/pool/uma/utils.d.ts +0 -18
  142. package/dist/types/pool/uma/utils.d.ts.map +0 -1
  143. package/src/pool/TransactionManager.ts +0 -73
  144. package/src/pool/index.ts +0 -1
  145. package/src/pool/poolClient.ts +0 -849
  146. package/src/pool/uma/across/constants.ts +0 -2
  147. package/src/pool/uma/across/index.ts +0 -2
  148. package/src/pool/uma/across/transactionManager.ts +0 -73
  149. package/src/pool/uma/clients/erc20/README.md +0 -29
  150. package/src/pool/uma/clients/erc20/client.e2e.ts +0 -26
  151. package/src/pool/uma/clients/erc20/client.ts +0 -67
  152. package/src/pool/uma/clients/erc20/index.ts +0 -1
  153. package/src/pool/uma/clients/index.ts +0 -1
  154. package/src/pool/uma/index.ts +0 -33
  155. package/src/pool/uma/oracle/index.ts +0 -2
  156. package/src/pool/uma/oracle/utils.ts +0 -38
  157. package/src/pool/uma/utils.test.ts +0 -24
  158. package/src/pool/uma/utils.ts +0 -53
@@ -1,122 +0,0 @@
1
- import { __awaiter, __generator } from "tslib";
2
- import assert from "assert";
3
- function makeKey(tx) {
4
- return JSON.stringify(Object.entries(tx).map(function (_a) {
5
- var key = _a[0], value = _a[1];
6
- return [key, (value || "").toString()];
7
- }));
8
- }
9
- export default (function (config, signer, emit) {
10
- if (emit === void 0) { emit = function () { return null; }; }
11
- assert(signer.provider, "signer requires a provider, use signer.connect(provider)");
12
- var _a = config.confirmations, confirmations = _a === void 0 ? 3 : _a;
13
- var requests = new Map();
14
- var submissions = new Map();
15
- var mined = new Map();
16
- function request(unsignedTx) {
17
- // this no longer calls signer.populateTransaction, to allow metamask to fill in missing details instead
18
- // use overrides if you want to manually fill in other tx details, including the overrides.customData field.
19
- var populated = unsignedTx;
20
- var key = makeKey(populated);
21
- assert(!requests.has(key), "Transaction already in progress");
22
- requests.set(key, populated);
23
- return key;
24
- }
25
- function processRequest(key) {
26
- return __awaiter(this, void 0, void 0, function () {
27
- var request, sent, err_1;
28
- return __generator(this, function (_a) {
29
- switch (_a.label) {
30
- case 0:
31
- request = requests.get(key);
32
- assert(request, "invalid request");
33
- // always delete request, it should only be submitted once
34
- requests.delete(key);
35
- _a.label = 1;
36
- case 1:
37
- _a.trys.push([1, 3, , 4]);
38
- return [4 /*yield*/, signer.sendTransaction(request)];
39
- case 2:
40
- sent = _a.sent();
41
- submissions.set(key, sent.hash);
42
- emit("submitted", key, sent.hash);
43
- return [3 /*break*/, 4];
44
- case 3:
45
- err_1 = _a.sent();
46
- emit("error", key, err_1);
47
- return [3 /*break*/, 4];
48
- case 4: return [2 /*return*/];
49
- }
50
- });
51
- });
52
- }
53
- function processSubmission(key) {
54
- return __awaiter(this, void 0, void 0, function () {
55
- var hash, receipt;
56
- return __generator(this, function (_a) {
57
- switch (_a.label) {
58
- case 0:
59
- hash = submissions.get(key);
60
- assert(hash, "invalid submission");
61
- assert(signer.provider, "signer requires a provider, use signer.connect(provider)");
62
- return [4 /*yield*/, signer.provider.getTransactionReceipt(hash).catch(function () { return undefined; })];
63
- case 1:
64
- receipt = _a.sent();
65
- if (receipt == null)
66
- return [2 /*return*/];
67
- if (receipt.confirmations < confirmations)
68
- return [2 /*return*/];
69
- submissions.delete(key);
70
- mined.set(key, receipt);
71
- emit("mined", key, receipt);
72
- return [2 /*return*/];
73
- }
74
- });
75
- });
76
- }
77
- function isMined(key) {
78
- return mined.get(key);
79
- }
80
- function update() {
81
- return __awaiter(this, void 0, void 0, function () {
82
- var _i, _a, key, _b, _c, key;
83
- return __generator(this, function (_d) {
84
- switch (_d.label) {
85
- case 0:
86
- _i = 0, _a = Object.keys(requests);
87
- _d.label = 1;
88
- case 1:
89
- if (!(_i < _a.length)) return [3 /*break*/, 4];
90
- key = _a[_i];
91
- return [4 /*yield*/, processRequest(key)];
92
- case 2:
93
- _d.sent();
94
- _d.label = 3;
95
- case 3:
96
- _i++;
97
- return [3 /*break*/, 1];
98
- case 4:
99
- _b = 0, _c = Object.keys(submissions);
100
- _d.label = 5;
101
- case 5:
102
- if (!(_b < _c.length)) return [3 /*break*/, 8];
103
- key = _c[_b];
104
- return [4 /*yield*/, processSubmission(key)];
105
- case 6:
106
- _d.sent();
107
- _d.label = 7;
108
- case 7:
109
- _b++;
110
- return [3 /*break*/, 5];
111
- case 8: return [2 /*return*/];
112
- }
113
- });
114
- });
115
- }
116
- return {
117
- request: request,
118
- isMined: isMined,
119
- update: update,
120
- };
121
- });
122
- //# sourceMappingURL=TransactionManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TransactionManager.js","sourceRoot":"","sources":["../../../src/pool/TransactionManager.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export * from "./poolClient";
@@ -1,2 +0,0 @@
1
- export * from "./poolClient";
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pool/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
@@ -1,238 +0,0 @@
1
- import * as uma from "./uma";
2
- import { BigNumber, BigNumberish } from "../utils";
3
- import { Signer } from "ethers";
4
- import type { Overrides } from "@ethersproject/contracts";
5
- import { TransactionRequest, TransactionReceipt, Log } from "@ethersproject/abstract-provider";
6
- import { Provider, Block } from "@ethersproject/providers";
7
- import { hubPool } from "../contracts";
8
- import { AcceleratingDistributor, MerkleDistributor } from "../typechain";
9
- export type { Provider };
10
- export type Awaited<T> = T extends PromiseLike<infer U> ? U : T;
11
- export type Config = {
12
- chainId?: number;
13
- hubPoolAddress: string;
14
- acceleratingDistributorAddress: string;
15
- merkleDistributorAddress: string;
16
- wethAddress: string;
17
- configStoreAddress: string;
18
- confirmations?: number;
19
- blockDelta?: number;
20
- hasArchive?: boolean;
21
- hubPoolStartBlock?: number;
22
- };
23
- export type Dependencies = {
24
- provider: Provider;
25
- };
26
- export type StakeData = {
27
- cumulativeBalance: BigNumber;
28
- amountAirdropped: BigNumber;
29
- };
30
- export type Pool = {
31
- address: string;
32
- totalPoolSize: string;
33
- l1Token: string;
34
- lpToken: string;
35
- liquidReserves: string;
36
- exchangeRateCurrent: string;
37
- exchangeRatePrevious: string;
38
- estimatedApy: string;
39
- estimatedApr: string;
40
- blocksElapsed: number;
41
- secondsElapsed: number;
42
- utilizedReserves: string;
43
- projectedApr: string;
44
- liquidityUtilizationCurrent: string;
45
- };
46
- export type User = {
47
- address: string;
48
- poolAddress: string;
49
- lpTokens: string;
50
- positionValue: string;
51
- totalDeposited: string;
52
- feesEarned: string;
53
- };
54
- export type Transaction = {
55
- id: string;
56
- state: "requested" | "submitted" | "mined" | "error";
57
- toAddress: string;
58
- fromAddress: string;
59
- type: "Add Liquidity" | "Remove Liquidity";
60
- description: string;
61
- request?: TransactionRequest;
62
- hash?: string;
63
- receipt?: TransactionReceipt;
64
- error?: Error;
65
- };
66
- export type Token = {
67
- decimals: string;
68
- symbol: string;
69
- name: string;
70
- };
71
- export type State = {
72
- pools: Record<string, Pool>;
73
- users: Record<string, Record<string, User>>;
74
- transactions: Record<string, Transaction>;
75
- error?: Error;
76
- };
77
- export type EmitState = (path: string[], data: Pool | User | Transaction | Error) => void;
78
- export type PooledToken = {
79
- lpToken: string;
80
- isEnabled: boolean;
81
- lastLpFeeUpdate: number;
82
- utilizedReserves: BigNumber;
83
- liquidReserves: BigNumber;
84
- undistributedLpFees: BigNumber;
85
- };
86
- type EventIdParams = {
87
- blockNumber: number;
88
- transactionIndex: number;
89
- logIndex: number;
90
- };
91
- export declare class PoolEventState {
92
- private contract;
93
- private startBlock;
94
- private seen;
95
- private iface;
96
- private events;
97
- constructor(contract: hubPool.Instance, startBlock?: number);
98
- private makeId;
99
- hasEvent(params: EventIdParams): boolean;
100
- private addEvent;
101
- private filterSeen;
102
- private processEvent;
103
- private processEvents;
104
- read(endBlock: number, l1TokenAddress?: string, userAddress?: string): Promise<hubPool.EventState>;
105
- makeEventFromLog: (log: Log) => uma.SerializableEvent;
106
- getL1TokenFromReceipt(receipt: TransactionReceipt): string;
107
- readTxReceipt(receipt: TransactionReceipt): hubPool.EventState;
108
- }
109
- declare class UserState {
110
- private contract;
111
- private userAddress;
112
- private startBlock;
113
- private acceleratingDistributorContractAddress;
114
- private seen;
115
- private events;
116
- constructor(contract: uma.clients.erc20.Instance, userAddress: string, startBlock?: number, acceleratingDistributorContractAddress?: string);
117
- private makeId;
118
- hasEvent(params: EventIdParams): boolean;
119
- private addEvent;
120
- private filterSeen;
121
- /**
122
- * readEvents. Fetch and cache events for the user.
123
- *
124
- * @param {number} endBlock
125
- */
126
- readEvents(endBlock: number): Promise<uma.clients.erc20.Transfer[]>;
127
- /**
128
- * read. Reads the state for the user, building state from events as well as contract calls.
129
- *
130
- * @param {number} endBlock
131
- */
132
- read(endBlock: number): Promise<{
133
- transferEvents: import("@uma/contracts-node").TypedEventEthers<any>[];
134
- balanceTransferred: string;
135
- address: string;
136
- balanceOf: BigNumber;
137
- }>;
138
- }
139
- export declare function calculateRemoval(amountWei: BigNumber, percentWei: BigNumber): {
140
- receive: string;
141
- remain: string;
142
- };
143
- export declare function previewRemoval(values: {
144
- positionValue: BigNumberish;
145
- feesEarned: BigNumberish;
146
- totalDeposited: BigNumberish;
147
- }, percentFloat: number): {
148
- position: {
149
- receive: string;
150
- remain: string;
151
- };
152
- fees: {
153
- receive: string;
154
- remain: string;
155
- };
156
- total: {
157
- receive: string;
158
- remain: string;
159
- };
160
- };
161
- export declare class ReadPoolClient {
162
- private address;
163
- private provider;
164
- private poolState;
165
- private contract;
166
- constructor(address: string, provider: Provider);
167
- read(tokenAddress: string, latestBlock: number): Promise<{
168
- lpToken: string;
169
- isEnabled: boolean;
170
- lastLpFeeUpdate: number;
171
- utilizedReserves: BigNumber;
172
- liquidReserves: BigNumber;
173
- undistributedLpFees: BigNumber;
174
- address: string;
175
- l1Token: string;
176
- latestBlock: number;
177
- previousBlock: number | undefined;
178
- exchangeRatePrevious: BigNumber;
179
- exchangeRateCurrent: BigNumber;
180
- liquidityUtilizationCurrent: BigNumber;
181
- }>;
182
- }
183
- export declare function validateWithdraw(pool: Pool, user: User, lpTokenAmount: BigNumberish): {
184
- lpTokenAmount: BigNumberish;
185
- l1TokensToReturn: string;
186
- };
187
- export declare class Client {
188
- readonly config: Config;
189
- readonly deps: Dependencies;
190
- private emit;
191
- private transactionManagers;
192
- private hubPool;
193
- private acceleratingDistributor;
194
- private merkleDistributor;
195
- readonly state: State;
196
- private poolEvents;
197
- private erc20s;
198
- private intervalStarted;
199
- private configStoreClient;
200
- private exchangeRateTable;
201
- private userServices;
202
- constructor(config: Config, deps: Dependencies, emit: EmitState);
203
- getOrCreateErc20Contract(address: string): uma.clients.erc20.Instance;
204
- getOrCreatePoolContract(): hubPool.Instance;
205
- createHubPoolContract(signerOrProvider: Signer | Provider): hubPool.Instance;
206
- private getOrCreatePoolEvents;
207
- createAcceleratingDistributorContract(signerOrProvider: Signer | Provider): AcceleratingDistributor;
208
- createMerkleDistributorContract(signerOrProvider: Signer | Provider): MerkleDistributor;
209
- getOrCreateAcceleratingDistributorContract(): AcceleratingDistributor;
210
- getOrCreateMerkleDistributorContract(): MerkleDistributor;
211
- private getOrCreateUserService;
212
- private updateExchangeRateTable;
213
- resolveStakingData(lpToken: string, l1TokenAddress: string, userState: Awaited<ReturnType<UserState["read"]>>): Promise<StakeData>;
214
- calculateLpTransferValue(l1TokenAddress: string, userState: Awaited<ReturnType<UserState["read"]>>): Promise<BigNumber>;
215
- private getOrCreateTransactionManager;
216
- addEthLiquidity(signer: Signer, l1TokenAmount: BigNumberish, overrides?: Overrides): Promise<string>;
217
- addTokenLiquidity(signer: Signer, l1Token: string, l1TokenAmount: BigNumberish, overrides?: Overrides): Promise<string>;
218
- validateWithdraw(l1Token: string, userAddress: string, lpAmount: BigNumberish): Promise<{
219
- lpTokenAmount: BigNumberish;
220
- l1TokensToReturn: string;
221
- }>;
222
- removeTokenLiquidity(signer: Signer, l1Token: string, lpTokenAmount: BigNumberish, overrides?: Overrides): Promise<string>;
223
- removeEthliquidity(signer: Signer, lpTokenAmount: BigNumberish, overrides?: Overrides): Promise<string>;
224
- getPoolState(l1TokenAddress: string): Pool;
225
- hasPoolState(l1TokenAddress: string): boolean;
226
- setUserState(l1TokenAddress: string, userAddress: string, state: User): User;
227
- getUserState(l1TokenAddress: string, userAddress: string): User;
228
- hasUserState(l1TokenAddress: string, userAddress: string): boolean;
229
- hasTxState(id: string): boolean;
230
- getTxState(id: string): Transaction;
231
- private updateAndEmitUser;
232
- private updateUserWithTransaction;
233
- updateUser(userAddress: string, l1TokenAddress: string): Promise<void>;
234
- updatePool(l1TokenAddress: string, overrideLatestBlock?: Block): Promise<void>;
235
- updateTransactions(): Promise<void>;
236
- startInterval(delayMs?: number): void;
237
- stopInterval(): void;
238
- }