@gearbox-protocol/sdk 18.1.0 → 18.2.0-next.10

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 (98) hide show
  1. package/dist/cjs/abi/compressors/subcompressors/liquidation/treehouseLiquidationSubcompressor.js +179 -0
  2. package/dist/cjs/abi/compressors/subcompressors/withdrawal/treehouseWithdrawalSubcompressor.js +534 -0
  3. package/dist/cjs/abi/router/treehouseWorker.js +885 -0
  4. package/dist/cjs/onchain/market/adapters/abi/actionAbi.js +1 -0
  5. package/dist/cjs/onchain/market/adapters/abi/conctructorAbi.js +3 -0
  6. package/dist/cjs/onchain/market/adapters/types.js +3 -0
  7. package/dist/cjs/permissionless/api/GearboxPermissionless.js +12 -5
  8. package/dist/cjs/permissionless/api/analytics/PermissionlessAnalytics.js +50 -0
  9. package/dist/cjs/permissionless/api/analytics/index.js +4 -0
  10. package/dist/cjs/permissionless/api/analytics/schemas.js +27 -0
  11. package/dist/cjs/permissionless/api/analytics/types.js +1 -0
  12. package/dist/cjs/permissionless/api/index.js +3 -0
  13. package/dist/cjs/permissionless/api/oracles/PermissionlessOracles.js +444 -28
  14. package/dist/cjs/permissionless/api/oracles/enrich.js +99 -0
  15. package/dist/cjs/permissionless/api/oracles/schemas.js +102 -16
  16. package/dist/cjs/permissionless/api/schemas.js +0 -3
  17. package/dist/cjs/permissionless/bindings/index.js +1 -1
  18. package/dist/cjs/permissionless/index.js +4 -1
  19. package/dist/cjs/permissionless/utils/index.js +1 -0
  20. package/dist/cjs/permissionless/utils/price-update/get-prices.js +25 -0
  21. package/dist/cjs/permissionless/utils/price-update/index.js +1 -0
  22. package/dist/cjs/testnets/TestnetsAPI.js +179 -0
  23. package/dist/cjs/testnets/errors/TestnetNotFoundError.js +15 -0
  24. package/dist/cjs/testnets/errors/TestnetRequestFailedError.js +24 -0
  25. package/dist/cjs/testnets/errors/TestnetStatusError.js +19 -0
  26. package/dist/cjs/testnets/errors/TestnetValidationError.js +24 -0
  27. package/dist/cjs/testnets/errors/TestnetWaitTimeoutError.js +30 -0
  28. package/dist/cjs/testnets/errors/TestnetsError.js +34 -0
  29. package/dist/cjs/testnets/errors/index.js +13 -0
  30. package/dist/cjs/testnets/index.js +32 -0
  31. package/dist/cjs/testnets/package.json +1 -0
  32. package/dist/cjs/testnets/schemas.js +242 -0
  33. package/dist/cjs/testnets/types.js +1 -0
  34. package/dist/esm/abi/compressors/subcompressors/liquidation/treehouseLiquidationSubcompressor.js +178 -0
  35. package/dist/esm/abi/compressors/subcompressors/withdrawal/treehouseWithdrawalSubcompressor.js +533 -0
  36. package/dist/esm/abi/router/treehouseWorker.js +884 -0
  37. package/dist/esm/onchain/market/adapters/abi/actionAbi.js +1 -0
  38. package/dist/esm/onchain/market/adapters/abi/conctructorAbi.js +3 -0
  39. package/dist/esm/onchain/market/adapters/types.js +3 -0
  40. package/dist/esm/permissionless/api/GearboxPermissionless.js +12 -5
  41. package/dist/esm/permissionless/api/analytics/PermissionlessAnalytics.js +49 -0
  42. package/dist/esm/permissionless/api/analytics/index.js +2 -0
  43. package/dist/esm/permissionless/api/analytics/schemas.js +25 -0
  44. package/dist/esm/permissionless/api/analytics/types.js +1 -0
  45. package/dist/esm/permissionless/api/index.js +3 -1
  46. package/dist/esm/permissionless/api/oracles/PermissionlessOracles.js +446 -30
  47. package/dist/esm/permissionless/api/oracles/enrich.js +94 -0
  48. package/dist/esm/permissionless/api/oracles/schemas.js +94 -17
  49. package/dist/esm/permissionless/api/schemas.js +2 -4
  50. package/dist/esm/permissionless/bindings/index.js +1 -1
  51. package/dist/esm/permissionless/index.js +4 -3
  52. package/dist/esm/permissionless/utils/index.js +2 -2
  53. package/dist/esm/permissionless/utils/price-update/get-prices.js +25 -1
  54. package/dist/esm/permissionless/utils/price-update/index.js +2 -2
  55. package/dist/esm/testnets/TestnetsAPI.js +178 -0
  56. package/dist/esm/testnets/errors/TestnetNotFoundError.js +14 -0
  57. package/dist/esm/testnets/errors/TestnetRequestFailedError.js +23 -0
  58. package/dist/esm/testnets/errors/TestnetStatusError.js +18 -0
  59. package/dist/esm/testnets/errors/TestnetValidationError.js +23 -0
  60. package/dist/esm/testnets/errors/TestnetWaitTimeoutError.js +29 -0
  61. package/dist/esm/testnets/errors/TestnetsError.js +33 -0
  62. package/dist/esm/testnets/errors/index.js +7 -0
  63. package/dist/esm/testnets/index.js +11 -0
  64. package/dist/esm/testnets/package.json +1 -0
  65. package/dist/esm/testnets/schemas.js +228 -0
  66. package/dist/esm/testnets/types.js +1 -0
  67. package/dist/types/abi/compressors/subcompressors/liquidation/treehouseLiquidationSubcompressor.d.ts +148 -0
  68. package/dist/types/abi/compressors/subcompressors/withdrawal/treehouseWithdrawalSubcompressor.d.ts +440 -0
  69. package/dist/types/abi/router/treehouseWorker.d.ts +728 -0
  70. package/dist/types/onchain/market/adapters/types.d.ts +4 -1
  71. package/dist/types/permissionless/api/GearboxPermissionless.d.ts +11 -5
  72. package/dist/types/permissionless/api/analytics/PermissionlessAnalytics.d.ts +38 -0
  73. package/dist/types/permissionless/api/analytics/index.d.ts +3 -0
  74. package/dist/types/permissionless/api/analytics/schemas.d.ts +32 -0
  75. package/dist/types/permissionless/api/analytics/types.d.ts +38 -0
  76. package/dist/types/permissionless/api/index.d.ts +5 -2
  77. package/dist/types/permissionless/api/oracles/PermissionlessOracles.d.ts +159 -22
  78. package/dist/types/permissionless/api/oracles/enrich.d.ts +59 -0
  79. package/dist/types/permissionless/api/oracles/index.d.ts +2 -2
  80. package/dist/types/permissionless/api/oracles/schemas.d.ts +202 -7
  81. package/dist/types/permissionless/api/oracles/types.d.ts +401 -22
  82. package/dist/types/permissionless/api/schemas.d.ts +0 -2
  83. package/dist/types/permissionless/index.d.ts +5 -3
  84. package/dist/types/permissionless/utils/index.d.ts +2 -2
  85. package/dist/types/permissionless/utils/price-update/get-prices.d.ts +17 -0
  86. package/dist/types/permissionless/utils/price-update/index.d.ts +2 -2
  87. package/dist/types/testnets/TestnetsAPI.d.ts +108 -0
  88. package/dist/types/testnets/errors/TestnetNotFoundError.d.ts +12 -0
  89. package/dist/types/testnets/errors/TestnetRequestFailedError.d.ts +11 -0
  90. package/dist/types/testnets/errors/TestnetStatusError.d.ts +15 -0
  91. package/dist/types/testnets/errors/TestnetValidationError.d.ts +16 -0
  92. package/dist/types/testnets/errors/TestnetWaitTimeoutError.d.ts +21 -0
  93. package/dist/types/testnets/errors/TestnetsError.d.ts +47 -0
  94. package/dist/types/testnets/errors/index.d.ts +7 -0
  95. package/dist/types/testnets/index.d.ts +11 -0
  96. package/dist/types/testnets/schemas.d.ts +554 -0
  97. package/dist/types/testnets/types.d.ts +717 -0
  98. package/package.json +9 -3
@@ -0,0 +1,228 @@
1
+ import { NetworkType } from "../onchain/chain/chains.js";
2
+ import { ZodAddress } from "../onchain/utils/zod.js";
3
+ import { z } from "zod/v4";
4
+ //#region src/testnets/schemas.ts
5
+ /**
6
+ * Go marshals a nil slice as `null`; this reads it as an empty array.
7
+ **/
8
+ function nullableArray(item) {
9
+ return z.array(item).nullable().transform((value) => value ?? []);
10
+ }
11
+ /**
12
+ * Go marshals a nil map as `null`; this reads it as an empty record.
13
+ **/
14
+ function nullableRecord(value) {
15
+ return z.record(z.string(), value).nullable().transform((record) => record ?? {});
16
+ }
17
+ const timestamp = z.iso.datetime({ offset: true });
18
+ /**
19
+ * {@link TestnetStageStatus}
20
+ **/
21
+ const testnetStageStatusSchema = z.enum([
22
+ "queued",
23
+ "started",
24
+ "error",
25
+ "failed",
26
+ "success",
27
+ "terminated"
28
+ ]);
29
+ /**
30
+ * {@link TestnetBackendState}
31
+ **/
32
+ const testnetBackendStateSchema = z.enum([
33
+ "provisioning",
34
+ "starting",
35
+ "active",
36
+ "error"
37
+ ]);
38
+ /**
39
+ * {@link Testnet}
40
+ **/
41
+ const testnetSchema = z.object({
42
+ alias: z.string(),
43
+ executionId: z.string(),
44
+ isActive: z.boolean(),
45
+ description: z.string(),
46
+ persistent: z.boolean(),
47
+ paused: z.boolean(),
48
+ network: NetworkType,
49
+ createdAt: timestamp
50
+ });
51
+ /**
52
+ * {@link TestnetBackendOptions}
53
+ **/
54
+ const testnetBackendOptionsSchema = z.object({
55
+ version: z.string().optional(),
56
+ env: z.record(z.string(), z.string()).optional(),
57
+ parentBranchId: z.string().optional()
58
+ });
59
+ /**
60
+ * {@link TestnetBackendStatus}
61
+ **/
62
+ const testnetBackendStatusSchema = z.object({
63
+ state: testnetBackendStateSchema,
64
+ error: z.string().optional(),
65
+ version: z.string().optional()
66
+ });
67
+ /**
68
+ * {@link TestnetBlock}
69
+ **/
70
+ const testnetBlockSchema = z.object({
71
+ number: z.number(),
72
+ time: timestamp
73
+ });
74
+ /**
75
+ * {@link TestnetScriptBlock}
76
+ **/
77
+ const testnetScriptBlockSchema = testnetBlockSchema.extend({
78
+ timeDrift: z.number(),
79
+ originDrift: z.string(),
80
+ automine: z.boolean(),
81
+ mineInterval: z.number()
82
+ });
83
+ /**
84
+ * {@link TestnetScriptOptions}
85
+ **/
86
+ const testnetScriptOptionsSchema = z.object({
87
+ id: z.string(),
88
+ description: z.string(),
89
+ npx: z.string().optional(),
90
+ docker: z.string().optional(),
91
+ args: nullableArray(z.string()),
92
+ env: nullableRecord(z.string()),
93
+ flags: nullableArray(z.string()),
94
+ timeout: z.string(),
95
+ packageManager: z.string().optional(),
96
+ input: z.unknown().optional()
97
+ });
98
+ /**
99
+ * {@link TestnetScript}
100
+ **/
101
+ const testnetScriptSchema = z.object({
102
+ script: testnetScriptOptionsSchema,
103
+ duration: z.string(),
104
+ blockBefore: testnetScriptBlockSchema.optional(),
105
+ blockAfter: testnetScriptBlockSchema.optional(),
106
+ status: testnetStageStatusSchema,
107
+ error: z.string().optional(),
108
+ exitCode: z.number(),
109
+ source: z.string().optional(),
110
+ revision: z.string().optional()
111
+ });
112
+ /**
113
+ * {@link TestnetTaskDefinition}
114
+ **/
115
+ const testnetTaskDefinitionSchema = z.object({
116
+ id: z.string().optional(),
117
+ family: z.string().optional(),
118
+ name: z.string().optional(),
119
+ description: z.string().optional(),
120
+ image: z.string(),
121
+ version: z.string().optional(),
122
+ entrypoint: z.array(z.string()).optional(),
123
+ command: z.array(z.string()).optional(),
124
+ env: z.record(z.string(), z.string()).optional(),
125
+ secrets: z.record(z.string(), z.string()).optional(),
126
+ input: z.unknown().optional(),
127
+ timeout: z.number().optional(),
128
+ concurrent: z.boolean(),
129
+ multicontainer: z.boolean(),
130
+ schemaVersion: z.number().optional()
131
+ });
132
+ /**
133
+ * {@link TestnetTaskProgress}
134
+ **/
135
+ const testnetTaskProgressSchema = z.object({
136
+ completed: z.number(),
137
+ total: z.number(),
138
+ details: z.unknown().optional()
139
+ });
140
+ /**
141
+ * {@link TestnetTask}
142
+ **/
143
+ const testnetTaskSchema = z.object({
144
+ id: z.string(),
145
+ definitionId: z.string(),
146
+ family: z.string(),
147
+ executionId: z.string(),
148
+ name: z.string().optional(),
149
+ description: z.string().optional(),
150
+ image: z.string(),
151
+ source: z.string().optional(),
152
+ revision: z.string().optional(),
153
+ entrypoint: z.array(z.string()).optional(),
154
+ command: z.array(z.string()).optional(),
155
+ env: z.record(z.string(), z.string()).optional(),
156
+ secrets: z.record(z.string(), z.string()).optional(),
157
+ input: z.unknown().optional(),
158
+ multicontainer: z.boolean(),
159
+ concurrent: z.boolean(),
160
+ outputDir: z.string().optional(),
161
+ status: testnetStageStatusSchema,
162
+ error: z.string().optional(),
163
+ createdAt: timestamp,
164
+ updatedAt: timestamp,
165
+ progress: testnetTaskProgressSchema
166
+ });
167
+ /**
168
+ * {@link TestnetOptions}
169
+ **/
170
+ const testnetOptionsSchema = z.object({
171
+ description: z.string().optional(),
172
+ chainId: z.number().optional(),
173
+ network: NetworkType,
174
+ cid: z.string().optional(),
175
+ anvilFlags: z.array(z.string()).optional(),
176
+ anvilImage: z.string().optional(),
177
+ rpcProvider: z.string().optional(),
178
+ addressProvider: ZodAddress().optional(),
179
+ marketConfigurators: z.array(ZodAddress()).optional(),
180
+ rwaFactories: z.array(ZodAddress()).optional(),
181
+ blockNumber: z.string(),
182
+ owner: z.string(),
183
+ timeout: z.string(),
184
+ synctronLogLevel: z.string().optional(),
185
+ scripts: nullableArray(testnetScriptOptionsSchema),
186
+ disableSync: z.boolean(),
187
+ disableIntervalMining: z.boolean(),
188
+ disableRPCProtection: z.boolean(),
189
+ debug: z.boolean().optional(),
190
+ webhooks: nullableArray(z.string()),
191
+ backend: testnetBackendOptionsSchema.optional(),
192
+ tasks: z.array(testnetTaskDefinitionSchema).optional()
193
+ });
194
+ /**
195
+ * {@link TestnetStatus}
196
+ **/
197
+ const testnetStatusSchema = z.object({
198
+ alias: z.string().optional(),
199
+ network: NetworkType,
200
+ nextRestart: timestamp.optional(),
201
+ isActive: z.boolean(),
202
+ ready: z.boolean(),
203
+ paused: z.boolean(),
204
+ rpcUrl: z.string().optional(),
205
+ url: z.string(),
206
+ logsUrl: z.string(),
207
+ persistent: z.boolean(),
208
+ latestBlock: testnetScriptBlockSchema.optional(),
209
+ tasks: z.array(testnetTaskSchema).optional(),
210
+ backend: testnetBackendStatusSchema.optional(),
211
+ executionId: z.string(),
212
+ options: testnetOptionsSchema,
213
+ forkBlock: testnetBlockSchema,
214
+ syncBlock: z.number(),
215
+ syncError: z.string().optional(),
216
+ originChainId: z.number(),
217
+ anvilChainId: z.number(),
218
+ createdAt: timestamp,
219
+ addressProvider: ZodAddress(),
220
+ marketConfigurators: z.array(ZodAddress()).optional(),
221
+ rwaFactories: z.array(ZodAddress()).optional(),
222
+ onchainExecutionId: ZodAddress(),
223
+ scripts: z.array(testnetScriptSchema).optional(),
224
+ cid: z.string().optional(),
225
+ files: z.array(z.string()).optional()
226
+ });
227
+ //#endregion
228
+ export { testnetBackendOptionsSchema, testnetBackendStateSchema, testnetBackendStatusSchema, testnetBlockSchema, testnetOptionsSchema, testnetSchema, testnetScriptBlockSchema, testnetScriptOptionsSchema, testnetScriptSchema, testnetStageStatusSchema, testnetStatusSchema, testnetTaskDefinitionSchema, testnetTaskProgressSchema, testnetTaskSchema };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,148 @@
1
+ //#region src/abi/compressors/subcompressors/liquidation/treehouseLiquidationSubcompressor.d.ts
2
+ export declare const treehouseLiquidationSubcompressorAbi: readonly [{
3
+ readonly type: "function";
4
+ readonly name: "contractType";
5
+ readonly inputs: readonly [];
6
+ readonly outputs: readonly [{
7
+ readonly name: "";
8
+ readonly type: "bytes32";
9
+ readonly internalType: "bytes32";
10
+ }];
11
+ readonly stateMutability: "view";
12
+ }, {
13
+ readonly type: "function";
14
+ readonly name: "getLiquidationData";
15
+ readonly inputs: readonly [{
16
+ readonly name: "liquidator";
17
+ readonly type: "address";
18
+ readonly internalType: "address";
19
+ }, {
20
+ readonly name: "creditAccount";
21
+ readonly type: "address";
22
+ readonly internalType: "address";
23
+ }, {
24
+ readonly name: "phantomToken";
25
+ readonly type: "address";
26
+ readonly internalType: "address";
27
+ }, {
28
+ readonly name: "priceUpdates";
29
+ readonly type: "tuple[]";
30
+ readonly internalType: "struct PriceUpdate[]";
31
+ readonly components: readonly [{
32
+ readonly name: "priceFeed";
33
+ readonly type: "address";
34
+ readonly internalType: "address";
35
+ }, {
36
+ readonly name: "data";
37
+ readonly type: "bytes";
38
+ readonly internalType: "bytes";
39
+ }];
40
+ }];
41
+ readonly outputs: readonly [{
42
+ readonly name: "data";
43
+ readonly type: "tuple";
44
+ readonly internalType: "struct LiquidationData";
45
+ readonly components: readonly [{
46
+ readonly name: "requiredToken";
47
+ readonly type: "address";
48
+ readonly internalType: "address";
49
+ }, {
50
+ readonly name: "requiredAmount";
51
+ readonly type: "uint256";
52
+ readonly internalType: "uint256";
53
+ }, {
54
+ readonly name: "expectedOutputs";
55
+ readonly type: "tuple[]";
56
+ readonly internalType: "struct LiquidationOutput[]";
57
+ readonly components: readonly [{
58
+ readonly name: "token";
59
+ readonly type: "address";
60
+ readonly internalType: "address";
61
+ }, {
62
+ readonly name: "amount";
63
+ readonly type: "uint256";
64
+ readonly internalType: "uint256";
65
+ }, {
66
+ readonly name: "delayed";
67
+ readonly type: "bool";
68
+ readonly internalType: "bool";
69
+ }, {
70
+ readonly name: "redeemerAddress";
71
+ readonly type: "address";
72
+ readonly internalType: "address";
73
+ }, {
74
+ readonly name: "claimableAt";
75
+ readonly type: "uint256";
76
+ readonly internalType: "uint256";
77
+ }];
78
+ }, {
79
+ readonly name: "liquidationCall";
80
+ readonly type: "tuple";
81
+ readonly internalType: "struct MultiCall";
82
+ readonly components: readonly [{
83
+ readonly name: "target";
84
+ readonly type: "address";
85
+ readonly internalType: "address";
86
+ }, {
87
+ readonly name: "callData";
88
+ readonly type: "bytes";
89
+ readonly internalType: "bytes";
90
+ }];
91
+ }, {
92
+ readonly name: "isLiquidatorEligible";
93
+ readonly type: "bool";
94
+ readonly internalType: "bool";
95
+ }, {
96
+ readonly name: "isCreditAccountFrozen";
97
+ readonly type: "bool";
98
+ readonly internalType: "bool";
99
+ }, {
100
+ readonly name: "kycProtocol";
101
+ readonly type: "string";
102
+ readonly internalType: "string";
103
+ }, {
104
+ readonly name: "kycToken";
105
+ readonly type: "address";
106
+ readonly internalType: "address";
107
+ }];
108
+ }];
109
+ readonly stateMutability: "nonpayable";
110
+ }, {
111
+ readonly type: "function";
112
+ readonly name: "getRWALiquidatorInfo";
113
+ readonly inputs: readonly [{
114
+ readonly name: "token";
115
+ readonly type: "address";
116
+ readonly internalType: "address";
117
+ }];
118
+ readonly outputs: readonly [{
119
+ readonly name: "info";
120
+ readonly type: "tuple";
121
+ readonly internalType: "struct RWALiquidatorInfo";
122
+ readonly components: readonly [{
123
+ readonly name: "gateway";
124
+ readonly type: "address";
125
+ readonly internalType: "address";
126
+ }, {
127
+ readonly name: "liquidatorAddress";
128
+ readonly type: "address";
129
+ readonly internalType: "address";
130
+ }, {
131
+ readonly name: "contractType";
132
+ readonly type: "bytes32";
133
+ readonly internalType: "bytes32";
134
+ }];
135
+ }];
136
+ readonly stateMutability: "view";
137
+ }, {
138
+ readonly type: "function";
139
+ readonly name: "version";
140
+ readonly inputs: readonly [];
141
+ readonly outputs: readonly [{
142
+ readonly name: "";
143
+ readonly type: "uint256";
144
+ readonly internalType: "uint256";
145
+ }];
146
+ readonly stateMutability: "view";
147
+ }];
148
+ //#endregion