@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,6 +1,5 @@
1
1
  import assert from "assert";
2
2
  import {
3
- getComputeUnitEstimateForTransactionMessageFactory,
4
3
  TransactionSigner,
5
4
  fetchEncodedAccount,
6
5
  isSome,
@@ -9,8 +8,9 @@ import {
9
8
  appendTransactionMessageInstruction,
10
9
  compileTransaction,
11
10
  getBase64EncodedWireTransaction,
12
- type CompilableTransactionMessage,
11
+ type TransactionMessage,
13
12
  type TransactionMessageWithBlockhashLifetime,
13
+ type TransactionMessageWithFeePayer,
14
14
  } from "@solana/kit";
15
15
  import {
16
16
  SVMProvider,
@@ -33,7 +33,7 @@ import { Logger, QueryInterface, getDefaultRelayer } from "../relayFeeCalculator
33
33
  import { SymbolMappingType } from "./";
34
34
  import { TOKEN_PROGRAM_ADDRESS } from "@solana-program/token";
35
35
  import { TOKEN_2022_PROGRAM_ADDRESS, getTokenSize, fetchMint, Extension } from "@solana-program/token-2022";
36
- import { getSetComputeUnitLimitInstruction } from "@solana-program/compute-budget";
36
+ import { getSetComputeUnitLimitInstruction, estimateComputeUnitLimitFactory } from "@solana-program/compute-budget";
37
37
  import { arch } from "../..";
38
38
 
39
39
  /**
@@ -64,7 +64,7 @@ export class SvmQuery implements QueryInterface {
64
64
  readonly fixedGasPrice?: BigNumberish,
65
65
  readonly coingeckoBaseCurrency: string = "eth"
66
66
  ) {
67
- this.computeUnitEstimator = getComputeUnitEstimateForTransactionMessageFactory({
67
+ this.computeUnitEstimator = estimateComputeUnitLimitFactory({
68
68
  rpc: provider,
69
69
  });
70
70
  }
@@ -224,7 +224,7 @@ export class SvmQuery implements QueryInterface {
224
224
  signer: TransactionSigner,
225
225
  repaymentChainId: number,
226
226
  repaymentAddress: Address
227
- ): Promise<CompilableTransactionMessage & TransactionMessageWithBlockhashLifetime> {
227
+ ): Promise<TransactionMessage & TransactionMessageWithBlockhashLifetime & TransactionMessageWithFeePayer> {
228
228
  return await getFillRelayTx(this.spokePool, this.provider, relayData, signer, repaymentChainId, repaymentAddress);
229
229
  }
230
230
 
@@ -1,12 +0,0 @@
1
- import { Signer } from "ethers";
2
- import { TransactionRequest, TransactionReceipt } from "@ethersproject/abstract-provider";
3
- type Config = {
4
- confirmations?: number;
5
- };
6
- export type Emit = (event: string, key: string, data: TransactionReceipt | string | TransactionRequest | Error) => void;
7
- declare const _default: (config: Config, signer: Signer, emit?: Emit) => {
8
- request: (unsignedTx: TransactionRequest) => string;
9
- isMined: (key: string) => TransactionReceipt | undefined;
10
- update: () => Promise<void>;
11
- };
12
- export default _default;
@@ -1,121 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- var assert_1 = tslib_1.__importDefault(require("assert"));
5
- function makeKey(tx) {
6
- return JSON.stringify(Object.entries(tx).map(function (_a) {
7
- var key = _a[0], value = _a[1];
8
- return [key, (value || "").toString()];
9
- }));
10
- }
11
- exports.default = (function (config, signer, emit) {
12
- if (emit === void 0) { emit = function () { return null; }; }
13
- (0, assert_1.default)(signer.provider, "signer requires a provider, use signer.connect(provider)");
14
- var _a = config.confirmations, confirmations = _a === void 0 ? 3 : _a;
15
- var requests = new Map();
16
- var submissions = new Map();
17
- var mined = new Map();
18
- function request(unsignedTx) {
19
- var populated = unsignedTx;
20
- var key = makeKey(populated);
21
- (0, assert_1.default)(!requests.has(key), "Transaction already in progress");
22
- requests.set(key, populated);
23
- return key;
24
- }
25
- function processRequest(key) {
26
- return tslib_1.__awaiter(this, void 0, void 0, function () {
27
- var request, sent, err_1;
28
- return tslib_1.__generator(this, function (_a) {
29
- switch (_a.label) {
30
- case 0:
31
- request = requests.get(key);
32
- (0, assert_1.default)(request, "invalid request");
33
- requests.delete(key);
34
- _a.label = 1;
35
- case 1:
36
- _a.trys.push([1, 3, , 4]);
37
- return [4, signer.sendTransaction(request)];
38
- case 2:
39
- sent = _a.sent();
40
- submissions.set(key, sent.hash);
41
- emit("submitted", key, sent.hash);
42
- return [3, 4];
43
- case 3:
44
- err_1 = _a.sent();
45
- emit("error", key, err_1);
46
- return [3, 4];
47
- case 4: return [2];
48
- }
49
- });
50
- });
51
- }
52
- function processSubmission(key) {
53
- return tslib_1.__awaiter(this, void 0, void 0, function () {
54
- var hash, receipt;
55
- return tslib_1.__generator(this, function (_a) {
56
- switch (_a.label) {
57
- case 0:
58
- hash = submissions.get(key);
59
- (0, assert_1.default)(hash, "invalid submission");
60
- (0, assert_1.default)(signer.provider, "signer requires a provider, use signer.connect(provider)");
61
- return [4, signer.provider.getTransactionReceipt(hash).catch(function () { return undefined; })];
62
- case 1:
63
- receipt = _a.sent();
64
- if (receipt == null)
65
- return [2];
66
- if (receipt.confirmations < confirmations)
67
- return [2];
68
- submissions.delete(key);
69
- mined.set(key, receipt);
70
- emit("mined", key, receipt);
71
- return [2];
72
- }
73
- });
74
- });
75
- }
76
- function isMined(key) {
77
- return mined.get(key);
78
- }
79
- function update() {
80
- return tslib_1.__awaiter(this, void 0, void 0, function () {
81
- var _i, _a, key, _b, _c, key;
82
- return tslib_1.__generator(this, function (_d) {
83
- switch (_d.label) {
84
- case 0:
85
- _i = 0, _a = Object.keys(requests);
86
- _d.label = 1;
87
- case 1:
88
- if (!(_i < _a.length)) return [3, 4];
89
- key = _a[_i];
90
- return [4, processRequest(key)];
91
- case 2:
92
- _d.sent();
93
- _d.label = 3;
94
- case 3:
95
- _i++;
96
- return [3, 1];
97
- case 4:
98
- _b = 0, _c = Object.keys(submissions);
99
- _d.label = 5;
100
- case 5:
101
- if (!(_b < _c.length)) return [3, 8];
102
- key = _c[_b];
103
- return [4, processSubmission(key)];
104
- case 6:
105
- _d.sent();
106
- _d.label = 7;
107
- case 7:
108
- _b++;
109
- return [3, 5];
110
- case 8: return [2];
111
- }
112
- });
113
- });
114
- }
115
- return {
116
- request: request,
117
- isMined: isMined,
118
- update: update,
119
- };
120
- });
121
- //# 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,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./poolClient"), exports);
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/pool/index.ts"],"names":[],"mappings":";;;AAAA,uDAA6B"}
@@ -1,228 +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
- readEvents(endBlock: number): Promise<uma.clients.erc20.Transfer[]>;
122
- read(endBlock: number): Promise<{
123
- transferEvents: import("@uma/contracts-node").TypedEventEthers<any>[];
124
- balanceTransferred: string;
125
- address: string;
126
- balanceOf: BigNumber;
127
- }>;
128
- }
129
- export declare function calculateRemoval(amountWei: BigNumber, percentWei: BigNumber): {
130
- receive: string;
131
- remain: string;
132
- };
133
- export declare function previewRemoval(values: {
134
- positionValue: BigNumberish;
135
- feesEarned: BigNumberish;
136
- totalDeposited: BigNumberish;
137
- }, percentFloat: number): {
138
- position: {
139
- receive: string;
140
- remain: string;
141
- };
142
- fees: {
143
- receive: string;
144
- remain: string;
145
- };
146
- total: {
147
- receive: string;
148
- remain: string;
149
- };
150
- };
151
- export declare class ReadPoolClient {
152
- private address;
153
- private provider;
154
- private poolState;
155
- private contract;
156
- constructor(address: string, provider: Provider);
157
- read(tokenAddress: string, latestBlock: number): Promise<{
158
- lpToken: string;
159
- isEnabled: boolean;
160
- lastLpFeeUpdate: number;
161
- utilizedReserves: BigNumber;
162
- liquidReserves: BigNumber;
163
- undistributedLpFees: BigNumber;
164
- address: string;
165
- l1Token: string;
166
- latestBlock: number;
167
- previousBlock: number | undefined;
168
- exchangeRatePrevious: BigNumber;
169
- exchangeRateCurrent: BigNumber;
170
- liquidityUtilizationCurrent: BigNumber;
171
- }>;
172
- }
173
- export declare function validateWithdraw(pool: Pool, user: User, lpTokenAmount: BigNumberish): {
174
- lpTokenAmount: BigNumberish;
175
- l1TokensToReturn: string;
176
- };
177
- export declare class Client {
178
- readonly config: Config;
179
- readonly deps: Dependencies;
180
- private emit;
181
- private transactionManagers;
182
- private hubPool;
183
- private acceleratingDistributor;
184
- private merkleDistributor;
185
- readonly state: State;
186
- private poolEvents;
187
- private erc20s;
188
- private intervalStarted;
189
- private configStoreClient;
190
- private exchangeRateTable;
191
- private userServices;
192
- constructor(config: Config, deps: Dependencies, emit: EmitState);
193
- getOrCreateErc20Contract(address: string): uma.clients.erc20.Instance;
194
- getOrCreatePoolContract(): hubPool.Instance;
195
- createHubPoolContract(signerOrProvider: Signer | Provider): hubPool.Instance;
196
- private getOrCreatePoolEvents;
197
- createAcceleratingDistributorContract(signerOrProvider: Signer | Provider): AcceleratingDistributor;
198
- createMerkleDistributorContract(signerOrProvider: Signer | Provider): MerkleDistributor;
199
- getOrCreateAcceleratingDistributorContract(): AcceleratingDistributor;
200
- getOrCreateMerkleDistributorContract(): MerkleDistributor;
201
- private getOrCreateUserService;
202
- private updateExchangeRateTable;
203
- resolveStakingData(lpToken: string, l1TokenAddress: string, userState: Awaited<ReturnType<UserState["read"]>>): Promise<StakeData>;
204
- calculateLpTransferValue(l1TokenAddress: string, userState: Awaited<ReturnType<UserState["read"]>>): Promise<BigNumber>;
205
- private getOrCreateTransactionManager;
206
- addEthLiquidity(signer: Signer, l1TokenAmount: BigNumberish, overrides?: Overrides): Promise<string>;
207
- addTokenLiquidity(signer: Signer, l1Token: string, l1TokenAmount: BigNumberish, overrides?: Overrides): Promise<string>;
208
- validateWithdraw(l1Token: string, userAddress: string, lpAmount: BigNumberish): Promise<{
209
- lpTokenAmount: BigNumberish;
210
- l1TokensToReturn: string;
211
- }>;
212
- removeTokenLiquidity(signer: Signer, l1Token: string, lpTokenAmount: BigNumberish, overrides?: Overrides): Promise<string>;
213
- removeEthliquidity(signer: Signer, lpTokenAmount: BigNumberish, overrides?: Overrides): Promise<string>;
214
- getPoolState(l1TokenAddress: string): Pool;
215
- hasPoolState(l1TokenAddress: string): boolean;
216
- setUserState(l1TokenAddress: string, userAddress: string, state: User): User;
217
- getUserState(l1TokenAddress: string, userAddress: string): User;
218
- hasUserState(l1TokenAddress: string, userAddress: string): boolean;
219
- hasTxState(id: string): boolean;
220
- getTxState(id: string): Transaction;
221
- private updateAndEmitUser;
222
- private updateUserWithTransaction;
223
- updateUser(userAddress: string, l1TokenAddress: string): Promise<void>;
224
- updatePool(l1TokenAddress: string, overrideLatestBlock?: Block): Promise<void>;
225
- updateTransactions(): Promise<void>;
226
- startInterval(delayMs?: number): void;
227
- stopInterval(): void;
228
- }