@gearbox-protocol/sdk 9.14.0 → 9.15.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 (233) hide show
  1. package/dist/cjs/permissionless/bindings/address-provider.js +51 -0
  2. package/dist/cjs/permissionless/bindings/base-contract.js +173 -0
  3. package/dist/cjs/permissionless/bindings/bytecode-repository.js +526 -0
  4. package/dist/cjs/permissionless/bindings/compressors/index.js +24 -0
  5. package/dist/cjs/permissionless/bindings/compressors/token-compressor.js +110 -0
  6. package/dist/cjs/permissionless/bindings/compressors/withdrawal-compressor.js +60 -0
  7. package/dist/cjs/permissionless/bindings/cross-chain-multisig.js +355 -0
  8. package/dist/cjs/permissionless/bindings/factory/abstract-factory.js +52 -0
  9. package/dist/cjs/permissionless/bindings/factory/credit-factory.js +197 -0
  10. package/dist/cjs/permissionless/bindings/factory/pool-factory.js +69 -0
  11. package/dist/cjs/permissionless/bindings/factory/price-oracle-factory.js +47 -0
  12. package/dist/cjs/permissionless/bindings/governance/batches-chain.js +41 -0
  13. package/dist/cjs/permissionless/bindings/governance/governor.js +243 -0
  14. package/dist/cjs/permissionless/bindings/governance/index.js +26 -0
  15. package/dist/cjs/permissionless/bindings/governance/timelock.js +104 -0
  16. package/dist/cjs/permissionless/bindings/governance/types.js +16 -0
  17. package/dist/cjs/permissionless/bindings/index.js +48 -0
  18. package/dist/cjs/permissionless/bindings/instance-manager.js +244 -0
  19. package/dist/cjs/permissionless/bindings/market-configurator-factory.js +75 -0
  20. package/dist/cjs/permissionless/bindings/market-configurator.js +771 -0
  21. package/dist/cjs/permissionless/bindings/price-feed-store.js +395 -0
  22. package/dist/cjs/permissionless/bindings/pricefeeds/balancer-stable.js +63 -0
  23. package/dist/cjs/permissionless/bindings/pricefeeds/balancer-weighted.js +63 -0
  24. package/dist/cjs/permissionless/bindings/pricefeeds/bounded.js +47 -0
  25. package/dist/cjs/permissionless/bindings/pricefeeds/composite.js +43 -0
  26. package/dist/cjs/permissionless/bindings/pricefeeds/constant.js +42 -0
  27. package/dist/cjs/permissionless/bindings/pricefeeds/curve-crypto.js +67 -0
  28. package/dist/cjs/permissionless/bindings/pricefeeds/curve-stable.js +67 -0
  29. package/dist/cjs/permissionless/bindings/pricefeeds/curve-twap.js +70 -0
  30. package/dist/cjs/permissionless/bindings/pricefeeds/curve-usd.js +50 -0
  31. package/dist/cjs/permissionless/bindings/pricefeeds/erc4626.js +72 -0
  32. package/dist/cjs/permissionless/bindings/pricefeeds/external.js +38 -0
  33. package/dist/cjs/permissionless/bindings/pricefeeds/index.js +63 -0
  34. package/dist/cjs/permissionless/bindings/pricefeeds/kodiak.js +50 -0
  35. package/dist/cjs/permissionless/bindings/pricefeeds/mellow-lrt.js +122 -0
  36. package/dist/cjs/permissionless/bindings/pricefeeds/pendle-pt-twap.js +51 -0
  37. package/dist/cjs/permissionless/bindings/pricefeeds/pyth.js +65 -0
  38. package/dist/cjs/permissionless/bindings/pricefeeds/redstone.js +81 -0
  39. package/dist/cjs/permissionless/bindings/pricefeeds/wsteth.js +63 -0
  40. package/dist/cjs/permissionless/bindings/pricefeeds/zero.js +33 -0
  41. package/dist/cjs/permissionless/bindings/router/index.js +22 -0
  42. package/dist/cjs/permissionless/bindings/router/routing-manager.js +58 -0
  43. package/dist/cjs/permissionless/bindings/treasury-splitter.js +60 -0
  44. package/dist/cjs/permissionless/bindings/types.js +16 -0
  45. package/dist/cjs/permissionless/chains/archive-transport.js +274 -0
  46. package/dist/cjs/permissionless/core/auditor.js +16 -0
  47. package/dist/cjs/permissionless/core/bytecode.js +16 -0
  48. package/dist/cjs/permissionless/core/index.js +32 -0
  49. package/dist/cjs/permissionless/core/pricefeed-builder.js +16 -0
  50. package/dist/cjs/permissionless/core/pricefeed.js +16 -0
  51. package/dist/cjs/permissionless/core/proposal.js +16 -0
  52. package/dist/cjs/permissionless/core/raw-tx.js +38 -0
  53. package/dist/cjs/permissionless/deployment/addresses.js +35 -0
  54. package/dist/cjs/permissionless/deployment/mainnet.js +54 -0
  55. package/dist/cjs/permissionless/index.js +32 -0
  56. package/dist/cjs/permissionless/package.json +1 -0
  57. package/dist/cjs/permissionless/plugins/index.js +40 -0
  58. package/dist/cjs/permissionless/plugins/irm/constructor-params-abi.js +81 -0
  59. package/dist/cjs/permissionless/plugins/loss-policies/constructor-params-abi.js +79 -0
  60. package/dist/cjs/permissionless/plugins/rate-keepers/constructor-params-abi.js +89 -0
  61. package/dist/cjs/permissionless/utils/abi-decoder.js +72 -0
  62. package/dist/cjs/permissionless/utils/abi-encoder.js +89 -0
  63. package/dist/cjs/permissionless/utils/block-utils.js +55 -0
  64. package/dist/cjs/permissionless/utils/create2.js +113 -0
  65. package/dist/cjs/permissionless/utils/format.js +97 -0
  66. package/dist/cjs/permissionless/utils/governance/batch.js +114 -0
  67. package/dist/cjs/permissionless/utils/governance/index.js +26 -0
  68. package/dist/cjs/permissionless/utils/governance/timelock-txs.js +44 -0
  69. package/dist/cjs/permissionless/utils/governance/types.js +16 -0
  70. package/dist/cjs/permissionless/utils/index.js +38 -0
  71. package/dist/cjs/permissionless/utils/literals.js +46 -0
  72. package/dist/cjs/permissionless/utils/price-update/get-price-feeds.js +91 -0
  73. package/dist/cjs/permissionless/utils/price-update/get-price-update-tx.js +84 -0
  74. package/dist/cjs/permissionless/utils/price-update/get-prices.js +123 -0
  75. package/dist/cjs/permissionless/utils/price-update/get-updatable-feeds.js +52 -0
  76. package/dist/cjs/permissionless/utils/price-update/index.js +28 -0
  77. package/dist/cjs/permissionless/utils/signature.js +35 -0
  78. package/dist/cjs/sdk/GearboxSDK.js +5 -1
  79. package/dist/esm/permissionless/bindings/address-provider.js +27 -0
  80. package/dist/esm/permissionless/bindings/base-contract.js +151 -0
  81. package/dist/esm/permissionless/bindings/bytecode-repository.js +508 -0
  82. package/dist/esm/permissionless/bindings/compressors/index.js +2 -0
  83. package/dist/esm/permissionless/bindings/compressors/token-compressor.js +89 -0
  84. package/dist/esm/permissionless/bindings/compressors/withdrawal-compressor.js +38 -0
  85. package/dist/esm/permissionless/bindings/cross-chain-multisig.js +336 -0
  86. package/dist/esm/permissionless/bindings/factory/abstract-factory.js +28 -0
  87. package/dist/esm/permissionless/bindings/factory/credit-factory.js +177 -0
  88. package/dist/esm/permissionless/bindings/factory/pool-factory.js +45 -0
  89. package/dist/esm/permissionless/bindings/factory/price-oracle-factory.js +23 -0
  90. package/dist/esm/permissionless/bindings/governance/batches-chain.js +17 -0
  91. package/dist/esm/permissionless/bindings/governance/governor.js +224 -0
  92. package/dist/esm/permissionless/bindings/governance/index.js +3 -0
  93. package/dist/esm/permissionless/bindings/governance/timelock.js +80 -0
  94. package/dist/esm/permissionless/bindings/governance/types.js +0 -0
  95. package/dist/esm/permissionless/bindings/index.js +14 -0
  96. package/dist/esm/permissionless/bindings/instance-manager.js +223 -0
  97. package/dist/esm/permissionless/bindings/market-configurator-factory.js +51 -0
  98. package/dist/esm/permissionless/bindings/market-configurator.js +765 -0
  99. package/dist/esm/permissionless/bindings/price-feed-store.js +376 -0
  100. package/dist/esm/permissionless/bindings/pricefeeds/balancer-stable.js +39 -0
  101. package/dist/esm/permissionless/bindings/pricefeeds/balancer-weighted.js +39 -0
  102. package/dist/esm/permissionless/bindings/pricefeeds/bounded.js +23 -0
  103. package/dist/esm/permissionless/bindings/pricefeeds/composite.js +19 -0
  104. package/dist/esm/permissionless/bindings/pricefeeds/constant.js +18 -0
  105. package/dist/esm/permissionless/bindings/pricefeeds/curve-crypto.js +43 -0
  106. package/dist/esm/permissionless/bindings/pricefeeds/curve-stable.js +43 -0
  107. package/dist/esm/permissionless/bindings/pricefeeds/curve-twap.js +46 -0
  108. package/dist/esm/permissionless/bindings/pricefeeds/curve-usd.js +26 -0
  109. package/dist/esm/permissionless/bindings/pricefeeds/erc4626.js +48 -0
  110. package/dist/esm/permissionless/bindings/pricefeeds/external.js +14 -0
  111. package/dist/esm/permissionless/bindings/pricefeeds/index.js +39 -0
  112. package/dist/esm/permissionless/bindings/pricefeeds/kodiak.js +26 -0
  113. package/dist/esm/permissionless/bindings/pricefeeds/mellow-lrt.js +98 -0
  114. package/dist/esm/permissionless/bindings/pricefeeds/pendle-pt-twap.js +27 -0
  115. package/dist/esm/permissionless/bindings/pricefeeds/pyth.js +41 -0
  116. package/dist/esm/permissionless/bindings/pricefeeds/redstone.js +57 -0
  117. package/dist/esm/permissionless/bindings/pricefeeds/wsteth.js +39 -0
  118. package/dist/esm/permissionless/bindings/pricefeeds/zero.js +9 -0
  119. package/dist/esm/permissionless/bindings/router/index.js +1 -0
  120. package/dist/esm/permissionless/bindings/router/routing-manager.js +36 -0
  121. package/dist/esm/permissionless/bindings/treasury-splitter.js +36 -0
  122. package/dist/esm/permissionless/bindings/types.js +0 -0
  123. package/dist/esm/permissionless/chains/archive-transport.js +250 -0
  124. package/dist/esm/permissionless/core/auditor.js +0 -0
  125. package/dist/esm/permissionless/core/bytecode.js +0 -0
  126. package/dist/esm/permissionless/core/index.js +6 -0
  127. package/dist/esm/permissionless/core/pricefeed-builder.js +0 -0
  128. package/dist/esm/permissionless/core/pricefeed.js +0 -0
  129. package/dist/esm/permissionless/core/proposal.js +0 -0
  130. package/dist/esm/permissionless/core/raw-tx.js +14 -0
  131. package/dist/esm/permissionless/deployment/addresses.js +11 -0
  132. package/dist/esm/permissionless/deployment/mainnet.js +27 -0
  133. package/dist/esm/permissionless/index.js +6 -0
  134. package/dist/esm/permissionless/package.json +1 -0
  135. package/dist/esm/permissionless/plugins/index.js +20 -0
  136. package/dist/esm/permissionless/plugins/irm/constructor-params-abi.js +52 -0
  137. package/dist/esm/permissionless/plugins/loss-policies/constructor-params-abi.js +50 -0
  138. package/dist/esm/permissionless/plugins/rate-keepers/constructor-params-abi.js +59 -0
  139. package/dist/esm/permissionless/utils/abi-decoder.js +50 -0
  140. package/dist/esm/permissionless/utils/abi-encoder.js +65 -0
  141. package/dist/esm/permissionless/utils/block-utils.js +31 -0
  142. package/dist/esm/permissionless/utils/create2.js +85 -0
  143. package/dist/esm/permissionless/utils/format.js +67 -0
  144. package/dist/esm/permissionless/utils/governance/batch.js +87 -0
  145. package/dist/esm/permissionless/utils/governance/index.js +3 -0
  146. package/dist/esm/permissionless/utils/governance/timelock-txs.js +20 -0
  147. package/dist/esm/permissionless/utils/governance/types.js +0 -0
  148. package/dist/esm/permissionless/utils/index.js +9 -0
  149. package/dist/esm/permissionless/utils/literals.js +16 -0
  150. package/dist/esm/permissionless/utils/price-update/get-price-feeds.js +65 -0
  151. package/dist/esm/permissionless/utils/price-update/get-price-update-tx.js +65 -0
  152. package/dist/esm/permissionless/utils/price-update/get-prices.js +103 -0
  153. package/dist/esm/permissionless/utils/price-update/get-updatable-feeds.js +31 -0
  154. package/dist/esm/permissionless/utils/price-update/index.js +4 -0
  155. package/dist/esm/permissionless/utils/signature.js +11 -0
  156. package/dist/esm/sdk/GearboxSDK.js +5 -1
  157. package/dist/types/permissionless/bindings/address-provider.d.ts +259 -0
  158. package/dist/types/permissionless/bindings/base-contract.d.ts +23 -0
  159. package/dist/types/permissionless/bindings/bytecode-repository.d.ts +1352 -0
  160. package/dist/types/permissionless/bindings/compressors/index.d.ts +2 -0
  161. package/dist/types/permissionless/bindings/compressors/token-compressor.d.ts +118 -0
  162. package/dist/types/permissionless/bindings/compressors/withdrawal-compressor.d.ts +331 -0
  163. package/dist/types/permissionless/bindings/cross-chain-multisig.d.ts +835 -0
  164. package/dist/types/permissionless/bindings/factory/abstract-factory.d.ts +17 -0
  165. package/dist/types/permissionless/bindings/factory/credit-factory.d.ts +224 -0
  166. package/dist/types/permissionless/bindings/factory/pool-factory.d.ts +86 -0
  167. package/dist/types/permissionless/bindings/factory/price-oracle-factory.d.ts +38 -0
  168. package/dist/types/permissionless/bindings/governance/batches-chain.d.ts +39 -0
  169. package/dist/types/permissionless/bindings/governance/governor.d.ts +615 -0
  170. package/dist/types/permissionless/bindings/governance/index.d.ts +3 -0
  171. package/dist/types/permissionless/bindings/governance/timelock.d.ts +10 -0
  172. package/dist/types/permissionless/bindings/governance/types.d.ts +42 -0
  173. package/dist/types/permissionless/bindings/index.d.ts +14 -0
  174. package/dist/types/permissionless/bindings/instance-manager.d.ts +361 -0
  175. package/dist/types/permissionless/bindings/market-configurator-factory.d.ts +244 -0
  176. package/dist/types/permissionless/bindings/market-configurator.d.ts +1656 -0
  177. package/dist/types/permissionless/bindings/price-feed-store.d.ts +605 -0
  178. package/dist/types/permissionless/bindings/pricefeeds/balancer-stable.d.ts +2 -0
  179. package/dist/types/permissionless/bindings/pricefeeds/balancer-weighted.d.ts +2 -0
  180. package/dist/types/permissionless/bindings/pricefeeds/bounded.d.ts +2 -0
  181. package/dist/types/permissionless/bindings/pricefeeds/composite.d.ts +2 -0
  182. package/dist/types/permissionless/bindings/pricefeeds/constant.d.ts +2 -0
  183. package/dist/types/permissionless/bindings/pricefeeds/curve-crypto.d.ts +2 -0
  184. package/dist/types/permissionless/bindings/pricefeeds/curve-stable.d.ts +2 -0
  185. package/dist/types/permissionless/bindings/pricefeeds/curve-twap.d.ts +2 -0
  186. package/dist/types/permissionless/bindings/pricefeeds/curve-usd.d.ts +2 -0
  187. package/dist/types/permissionless/bindings/pricefeeds/erc4626.d.ts +2 -0
  188. package/dist/types/permissionless/bindings/pricefeeds/external.d.ts +2 -0
  189. package/dist/types/permissionless/bindings/pricefeeds/index.d.ts +2 -0
  190. package/dist/types/permissionless/bindings/pricefeeds/kodiak.d.ts +2 -0
  191. package/dist/types/permissionless/bindings/pricefeeds/mellow-lrt.d.ts +2 -0
  192. package/dist/types/permissionless/bindings/pricefeeds/pendle-pt-twap.d.ts +2 -0
  193. package/dist/types/permissionless/bindings/pricefeeds/pyth.d.ts +2 -0
  194. package/dist/types/permissionless/bindings/pricefeeds/redstone.d.ts +2 -0
  195. package/dist/types/permissionless/bindings/pricefeeds/wsteth.d.ts +2 -0
  196. package/dist/types/permissionless/bindings/pricefeeds/zero.d.ts +2 -0
  197. package/dist/types/permissionless/bindings/router/index.d.ts +1 -0
  198. package/dist/types/permissionless/bindings/router/routing-manager.d.ts +502 -0
  199. package/dist/types/permissionless/bindings/treasury-splitter.d.ts +21 -0
  200. package/dist/types/permissionless/bindings/types.d.ts +65 -0
  201. package/dist/types/permissionless/chains/archive-transport.d.ts +49 -0
  202. package/dist/types/permissionless/core/auditor.d.ts +7 -0
  203. package/dist/types/permissionless/core/bytecode.d.ts +46 -0
  204. package/dist/types/permissionless/core/index.d.ts +6 -0
  205. package/dist/types/permissionless/core/pricefeed-builder.d.ts +59 -0
  206. package/dist/types/permissionless/core/pricefeed.d.ts +10 -0
  207. package/dist/types/permissionless/core/proposal.d.ts +33 -0
  208. package/dist/types/permissionless/core/raw-tx.d.ts +4 -0
  209. package/dist/types/permissionless/deployment/addresses.d.ts +7 -0
  210. package/dist/types/permissionless/deployment/mainnet.d.ts +10 -0
  211. package/dist/types/permissionless/index.d.ts +6 -0
  212. package/dist/types/permissionless/plugins/index.d.ts +3 -0
  213. package/dist/types/permissionless/plugins/irm/constructor-params-abi.d.ts +63 -0
  214. package/dist/types/permissionless/plugins/loss-policies/constructor-params-abi.d.ts +48 -0
  215. package/dist/types/permissionless/plugins/rate-keepers/constructor-params-abi.d.ts +55 -0
  216. package/dist/types/permissionless/utils/abi-decoder.d.ts +13 -0
  217. package/dist/types/permissionless/utils/abi-encoder.d.ts +7 -0
  218. package/dist/types/permissionless/utils/block-utils.d.ts +8 -0
  219. package/dist/types/permissionless/utils/create2.d.ts +17 -0
  220. package/dist/types/permissionless/utils/format.d.ts +7 -0
  221. package/dist/types/permissionless/utils/governance/batch.d.ts +17 -0
  222. package/dist/types/permissionless/utils/governance/index.d.ts +3 -0
  223. package/dist/types/permissionless/utils/governance/timelock-txs.d.ts +2 -0
  224. package/dist/types/permissionless/utils/governance/types.d.ts +16 -0
  225. package/dist/types/permissionless/utils/index.d.ts +9 -0
  226. package/dist/types/permissionless/utils/literals.d.ts +7 -0
  227. package/dist/types/permissionless/utils/price-update/get-price-feeds.d.ts +8 -0
  228. package/dist/types/permissionless/utils/price-update/get-price-update-tx.d.ts +9 -0
  229. package/dist/types/permissionless/utils/price-update/get-prices.d.ts +6 -0
  230. package/dist/types/permissionless/utils/price-update/get-updatable-feeds.d.ts +8 -0
  231. package/dist/types/permissionless/utils/price-update/index.d.ts +4 -0
  232. package/dist/types/permissionless/utils/signature.d.ts +2 -0
  233. package/package.json +11 -1
@@ -0,0 +1,502 @@
1
+ import { type Address, type DecodeFunctionDataReturnType, type PublicClient } from "viem";
2
+ import type { ParsedCall } from "../../core";
3
+ import { BaseContract } from "../base-contract";
4
+ declare const abi: readonly [{
5
+ readonly type: "constructor";
6
+ readonly inputs: readonly [{
7
+ readonly name: "_router";
8
+ readonly type: "address";
9
+ readonly internalType: "address";
10
+ }];
11
+ readonly stateMutability: "nonpayable";
12
+ }, {
13
+ readonly type: "function";
14
+ readonly name: "adapterTypeToWorkerType";
15
+ readonly inputs: readonly [{
16
+ readonly name: "";
17
+ readonly type: "bytes32";
18
+ readonly internalType: "bytes32";
19
+ }];
20
+ readonly outputs: readonly [{
21
+ readonly name: "";
22
+ readonly type: "bytes32";
23
+ readonly internalType: "bytes32";
24
+ }];
25
+ readonly stateMutability: "view";
26
+ }, {
27
+ readonly type: "function";
28
+ readonly name: "buildGraph";
29
+ readonly inputs: readonly [{
30
+ readonly name: "tData";
31
+ readonly type: "tuple[]";
32
+ readonly internalType: "struct TokenData[]";
33
+ readonly components: readonly [{
34
+ readonly name: "token";
35
+ readonly type: "address";
36
+ readonly internalType: "address";
37
+ }, {
38
+ readonly name: "balance";
39
+ readonly type: "uint256";
40
+ readonly internalType: "uint256";
41
+ }, {
42
+ readonly name: "leftoverBalance";
43
+ readonly type: "uint256";
44
+ readonly internalType: "uint256";
45
+ }, {
46
+ readonly name: "numSplits";
47
+ readonly type: "uint256";
48
+ readonly internalType: "uint256";
49
+ }, {
50
+ readonly name: "claimRewards";
51
+ readonly type: "bool";
52
+ readonly internalType: "bool";
53
+ }];
54
+ }, {
55
+ readonly name: "adapters";
56
+ readonly type: "address[]";
57
+ readonly internalType: "address[]";
58
+ }, {
59
+ readonly name: "target";
60
+ readonly type: "address";
61
+ readonly internalType: "address";
62
+ }, {
63
+ readonly name: "creditAccount";
64
+ readonly type: "address";
65
+ readonly internalType: "address";
66
+ }];
67
+ readonly outputs: readonly [{
68
+ readonly name: "graph";
69
+ readonly type: "tuple";
70
+ readonly internalType: "struct Graph";
71
+ readonly components: readonly [{
72
+ readonly name: "vertices";
73
+ readonly type: "tuple[]";
74
+ readonly internalType: "struct Vertex[]";
75
+ readonly components: readonly [{
76
+ readonly name: "token";
77
+ readonly type: "address";
78
+ readonly internalType: "address";
79
+ }, {
80
+ readonly name: "balance";
81
+ readonly type: "uint256";
82
+ readonly internalType: "uint256";
83
+ }, {
84
+ readonly name: "leftoverBalance";
85
+ readonly type: "uint256";
86
+ readonly internalType: "uint256";
87
+ }, {
88
+ readonly name: "numSplits";
89
+ readonly type: "uint256";
90
+ readonly internalType: "uint256";
91
+ }, {
92
+ readonly name: "currentOptimalEdge";
93
+ readonly type: "uint256";
94
+ readonly internalType: "uint256";
95
+ }];
96
+ }, {
97
+ readonly name: "edges";
98
+ readonly type: "tuple[]";
99
+ readonly internalType: "struct Edge[]";
100
+ readonly components: readonly [{
101
+ readonly name: "id";
102
+ readonly type: "uint256";
103
+ readonly internalType: "uint256";
104
+ }, {
105
+ readonly name: "tokenIn";
106
+ readonly type: "address";
107
+ readonly internalType: "address";
108
+ }, {
109
+ readonly name: "tokenOut";
110
+ readonly type: "address";
111
+ readonly internalType: "address";
112
+ }, {
113
+ readonly name: "adapter";
114
+ readonly type: "address";
115
+ readonly internalType: "address";
116
+ }, {
117
+ readonly name: "worker";
118
+ readonly type: "address";
119
+ readonly internalType: "address";
120
+ }, {
121
+ readonly name: "extraData";
122
+ readonly type: "bytes";
123
+ readonly internalType: "bytes";
124
+ }, {
125
+ readonly name: "amountInTotal";
126
+ readonly type: "uint256";
127
+ readonly internalType: "uint256";
128
+ }, {
129
+ readonly name: "amountOutTotal";
130
+ readonly type: "uint256";
131
+ readonly internalType: "uint256";
132
+ }, {
133
+ readonly name: "amountInCurrent";
134
+ readonly type: "uint256";
135
+ readonly internalType: "uint256";
136
+ }, {
137
+ readonly name: "amountOutCurrent";
138
+ readonly type: "uint256";
139
+ readonly internalType: "uint256";
140
+ }];
141
+ }];
142
+ }, {
143
+ readonly name: "claimCalls";
144
+ readonly type: "tuple[]";
145
+ readonly internalType: "struct MultiCall[]";
146
+ readonly components: readonly [{
147
+ readonly name: "target";
148
+ readonly type: "address";
149
+ readonly internalType: "address";
150
+ }, {
151
+ readonly name: "callData";
152
+ readonly type: "bytes";
153
+ readonly internalType: "bytes";
154
+ }];
155
+ }];
156
+ readonly stateMutability: "view";
157
+ }, {
158
+ readonly type: "function";
159
+ readonly name: "contractType";
160
+ readonly inputs: readonly [];
161
+ readonly outputs: readonly [{
162
+ readonly name: "";
163
+ readonly type: "bytes32";
164
+ readonly internalType: "bytes32";
165
+ }];
166
+ readonly stateMutability: "view";
167
+ }, {
168
+ readonly type: "function";
169
+ readonly name: "getWorker";
170
+ readonly inputs: readonly [{
171
+ readonly name: "adapter";
172
+ readonly type: "address";
173
+ readonly internalType: "address";
174
+ }];
175
+ readonly outputs: readonly [{
176
+ readonly name: "worker";
177
+ readonly type: "address";
178
+ readonly internalType: "address";
179
+ }];
180
+ readonly stateMutability: "view";
181
+ }, {
182
+ readonly type: "function";
183
+ readonly name: "migrate";
184
+ readonly inputs: readonly [];
185
+ readonly outputs: readonly [];
186
+ readonly stateMutability: "nonpayable";
187
+ }, {
188
+ readonly type: "function";
189
+ readonly name: "route";
190
+ readonly inputs: readonly [{
191
+ readonly name: "task";
192
+ readonly type: "tuple";
193
+ readonly internalType: "struct StrategyPathTask";
194
+ readonly components: readonly [{
195
+ readonly name: "creditAccount";
196
+ readonly type: "address";
197
+ readonly internalType: "address";
198
+ }, {
199
+ readonly name: "graph";
200
+ readonly type: "tuple";
201
+ readonly internalType: "struct Graph";
202
+ readonly components: readonly [{
203
+ readonly name: "vertices";
204
+ readonly type: "tuple[]";
205
+ readonly internalType: "struct Vertex[]";
206
+ readonly components: readonly [{
207
+ readonly name: "token";
208
+ readonly type: "address";
209
+ readonly internalType: "address";
210
+ }, {
211
+ readonly name: "balance";
212
+ readonly type: "uint256";
213
+ readonly internalType: "uint256";
214
+ }, {
215
+ readonly name: "leftoverBalance";
216
+ readonly type: "uint256";
217
+ readonly internalType: "uint256";
218
+ }, {
219
+ readonly name: "numSplits";
220
+ readonly type: "uint256";
221
+ readonly internalType: "uint256";
222
+ }, {
223
+ readonly name: "currentOptimalEdge";
224
+ readonly type: "uint256";
225
+ readonly internalType: "uint256";
226
+ }];
227
+ }, {
228
+ readonly name: "edges";
229
+ readonly type: "tuple[]";
230
+ readonly internalType: "struct Edge[]";
231
+ readonly components: readonly [{
232
+ readonly name: "id";
233
+ readonly type: "uint256";
234
+ readonly internalType: "uint256";
235
+ }, {
236
+ readonly name: "tokenIn";
237
+ readonly type: "address";
238
+ readonly internalType: "address";
239
+ }, {
240
+ readonly name: "tokenOut";
241
+ readonly type: "address";
242
+ readonly internalType: "address";
243
+ }, {
244
+ readonly name: "adapter";
245
+ readonly type: "address";
246
+ readonly internalType: "address";
247
+ }, {
248
+ readonly name: "worker";
249
+ readonly type: "address";
250
+ readonly internalType: "address";
251
+ }, {
252
+ readonly name: "extraData";
253
+ readonly type: "bytes";
254
+ readonly internalType: "bytes";
255
+ }, {
256
+ readonly name: "amountInTotal";
257
+ readonly type: "uint256";
258
+ readonly internalType: "uint256";
259
+ }, {
260
+ readonly name: "amountOutTotal";
261
+ readonly type: "uint256";
262
+ readonly internalType: "uint256";
263
+ }, {
264
+ readonly name: "amountInCurrent";
265
+ readonly type: "uint256";
266
+ readonly internalType: "uint256";
267
+ }, {
268
+ readonly name: "amountOutCurrent";
269
+ readonly type: "uint256";
270
+ readonly internalType: "uint256";
271
+ }];
272
+ }];
273
+ }, {
274
+ readonly name: "target";
275
+ readonly type: "address";
276
+ readonly internalType: "address";
277
+ }, {
278
+ readonly name: "adapters";
279
+ readonly type: "address[]";
280
+ readonly internalType: "address[]";
281
+ }, {
282
+ readonly name: "slippage";
283
+ readonly type: "uint256";
284
+ readonly internalType: "uint256";
285
+ }, {
286
+ readonly name: "force";
287
+ readonly type: "bool";
288
+ readonly internalType: "bool";
289
+ }, {
290
+ readonly name: "initTargetBalance";
291
+ readonly type: "uint256";
292
+ readonly internalType: "uint256";
293
+ }, {
294
+ readonly name: "calls";
295
+ readonly type: "tuple[]";
296
+ readonly internalType: "struct MultiCall[]";
297
+ readonly components: readonly [{
298
+ readonly name: "target";
299
+ readonly type: "address";
300
+ readonly internalType: "address";
301
+ }, {
302
+ readonly name: "callData";
303
+ readonly type: "bytes";
304
+ readonly internalType: "bytes";
305
+ }];
306
+ }];
307
+ }];
308
+ readonly outputs: readonly [{
309
+ readonly name: "";
310
+ readonly type: "tuple";
311
+ readonly internalType: "struct StrategyPathTask";
312
+ readonly components: readonly [{
313
+ readonly name: "creditAccount";
314
+ readonly type: "address";
315
+ readonly internalType: "address";
316
+ }, {
317
+ readonly name: "graph";
318
+ readonly type: "tuple";
319
+ readonly internalType: "struct Graph";
320
+ readonly components: readonly [{
321
+ readonly name: "vertices";
322
+ readonly type: "tuple[]";
323
+ readonly internalType: "struct Vertex[]";
324
+ readonly components: readonly [{
325
+ readonly name: "token";
326
+ readonly type: "address";
327
+ readonly internalType: "address";
328
+ }, {
329
+ readonly name: "balance";
330
+ readonly type: "uint256";
331
+ readonly internalType: "uint256";
332
+ }, {
333
+ readonly name: "leftoverBalance";
334
+ readonly type: "uint256";
335
+ readonly internalType: "uint256";
336
+ }, {
337
+ readonly name: "numSplits";
338
+ readonly type: "uint256";
339
+ readonly internalType: "uint256";
340
+ }, {
341
+ readonly name: "currentOptimalEdge";
342
+ readonly type: "uint256";
343
+ readonly internalType: "uint256";
344
+ }];
345
+ }, {
346
+ readonly name: "edges";
347
+ readonly type: "tuple[]";
348
+ readonly internalType: "struct Edge[]";
349
+ readonly components: readonly [{
350
+ readonly name: "id";
351
+ readonly type: "uint256";
352
+ readonly internalType: "uint256";
353
+ }, {
354
+ readonly name: "tokenIn";
355
+ readonly type: "address";
356
+ readonly internalType: "address";
357
+ }, {
358
+ readonly name: "tokenOut";
359
+ readonly type: "address";
360
+ readonly internalType: "address";
361
+ }, {
362
+ readonly name: "adapter";
363
+ readonly type: "address";
364
+ readonly internalType: "address";
365
+ }, {
366
+ readonly name: "worker";
367
+ readonly type: "address";
368
+ readonly internalType: "address";
369
+ }, {
370
+ readonly name: "extraData";
371
+ readonly type: "bytes";
372
+ readonly internalType: "bytes";
373
+ }, {
374
+ readonly name: "amountInTotal";
375
+ readonly type: "uint256";
376
+ readonly internalType: "uint256";
377
+ }, {
378
+ readonly name: "amountOutTotal";
379
+ readonly type: "uint256";
380
+ readonly internalType: "uint256";
381
+ }, {
382
+ readonly name: "amountInCurrent";
383
+ readonly type: "uint256";
384
+ readonly internalType: "uint256";
385
+ }, {
386
+ readonly name: "amountOutCurrent";
387
+ readonly type: "uint256";
388
+ readonly internalType: "uint256";
389
+ }];
390
+ }];
391
+ }, {
392
+ readonly name: "target";
393
+ readonly type: "address";
394
+ readonly internalType: "address";
395
+ }, {
396
+ readonly name: "adapters";
397
+ readonly type: "address[]";
398
+ readonly internalType: "address[]";
399
+ }, {
400
+ readonly name: "slippage";
401
+ readonly type: "uint256";
402
+ readonly internalType: "uint256";
403
+ }, {
404
+ readonly name: "force";
405
+ readonly type: "bool";
406
+ readonly internalType: "bool";
407
+ }, {
408
+ readonly name: "initTargetBalance";
409
+ readonly type: "uint256";
410
+ readonly internalType: "uint256";
411
+ }, {
412
+ readonly name: "calls";
413
+ readonly type: "tuple[]";
414
+ readonly internalType: "struct MultiCall[]";
415
+ readonly components: readonly [{
416
+ readonly name: "target";
417
+ readonly type: "address";
418
+ readonly internalType: "address";
419
+ }, {
420
+ readonly name: "callData";
421
+ readonly type: "bytes";
422
+ readonly internalType: "bytes";
423
+ }];
424
+ }];
425
+ }];
426
+ readonly stateMutability: "nonpayable";
427
+ }, {
428
+ readonly type: "function";
429
+ readonly name: "router";
430
+ readonly inputs: readonly [];
431
+ readonly outputs: readonly [{
432
+ readonly name: "";
433
+ readonly type: "address";
434
+ readonly internalType: "contract IGearboxRouter";
435
+ }];
436
+ readonly stateMutability: "view";
437
+ }, {
438
+ readonly type: "function";
439
+ readonly name: "setAdapterToWorkerType";
440
+ readonly inputs: readonly [{
441
+ readonly name: "adapterType";
442
+ readonly type: "bytes32";
443
+ readonly internalType: "bytes32";
444
+ }, {
445
+ readonly name: "workerType";
446
+ readonly type: "bytes32";
447
+ readonly internalType: "bytes32";
448
+ }];
449
+ readonly outputs: readonly [];
450
+ readonly stateMutability: "nonpayable";
451
+ }, {
452
+ readonly type: "function";
453
+ readonly name: "updateRouter";
454
+ readonly inputs: readonly [{
455
+ readonly name: "newRouter";
456
+ readonly type: "address";
457
+ readonly internalType: "address";
458
+ }];
459
+ readonly outputs: readonly [];
460
+ readonly stateMutability: "nonpayable";
461
+ }, {
462
+ readonly type: "function";
463
+ readonly name: "version";
464
+ readonly inputs: readonly [];
465
+ readonly outputs: readonly [{
466
+ readonly name: "";
467
+ readonly type: "uint256";
468
+ readonly internalType: "uint256";
469
+ }];
470
+ readonly stateMutability: "view";
471
+ }, {
472
+ readonly type: "event";
473
+ readonly name: "NewRouter";
474
+ readonly inputs: readonly [{
475
+ readonly name: "";
476
+ readonly type: "address";
477
+ readonly indexed: true;
478
+ readonly internalType: "address";
479
+ }];
480
+ readonly anonymous: false;
481
+ }, {
482
+ readonly type: "error";
483
+ readonly name: "FutureRouterOnlyException";
484
+ readonly inputs: readonly [];
485
+ }, {
486
+ readonly type: "error";
487
+ readonly name: "MigrationErrorException";
488
+ readonly inputs: readonly [];
489
+ }, {
490
+ readonly type: "error";
491
+ readonly name: "RouterOnlyException";
492
+ readonly inputs: readonly [];
493
+ }, {
494
+ readonly type: "error";
495
+ readonly name: "RouterOwnerOnlyException";
496
+ readonly inputs: readonly [];
497
+ }];
498
+ export declare class RoutingManagerContract extends BaseContract<typeof abi> {
499
+ constructor(address: Address, client: PublicClient);
500
+ parseFunctionParams(params: DecodeFunctionDataReturnType<typeof abi>): ParsedCall | undefined;
501
+ }
502
+ export {};
@@ -0,0 +1,21 @@
1
+ import type { Address, DecodeFunctionDataReturnType, PublicClient } from "viem";
2
+ import type { RawTx } from "../../sdk/types/index.js";
3
+ import type { ParsedCall } from "../core";
4
+ import { BaseContract } from "./base-contract";
5
+ declare const abi: readonly [{
6
+ readonly type: "function";
7
+ readonly name: "distribute";
8
+ readonly inputs: readonly [{
9
+ readonly name: "token";
10
+ readonly type: "address";
11
+ readonly internalType: "address";
12
+ }];
13
+ readonly outputs: readonly [];
14
+ readonly stateMutability: "nonpayable";
15
+ }];
16
+ export declare class TreasurySplitterContract extends BaseContract<typeof abi> {
17
+ constructor(address: Address, client: PublicClient);
18
+ distribute(token: Address): RawTx;
19
+ parseFunctionParams(params: DecodeFunctionDataReturnType<typeof abi>): ParsedCall | undefined;
20
+ }
21
+ export {};
@@ -0,0 +1,65 @@
1
+ import type { Address, Hex } from "viem";
2
+ export interface DeployParams {
3
+ postfix: Hex;
4
+ salt: Hex;
5
+ constructorParams: Hex;
6
+ }
7
+ export interface AllowTokenParams {
8
+ creditManager: Address;
9
+ token: Address;
10
+ }
11
+ export interface ForbidAdapterParams {
12
+ creditManager: Address;
13
+ target: Address;
14
+ }
15
+ export interface ForbidTokenParams {
16
+ creditManager: Address;
17
+ token: Address;
18
+ }
19
+ export interface PauseCreditManagerParams {
20
+ creditManager: Address;
21
+ }
22
+ export interface SetExpirationDateParams {
23
+ creditManager: Address;
24
+ expirationDate: number;
25
+ }
26
+ export interface CreditManagerFees {
27
+ feeLiquidation: number;
28
+ feeLiquidationExpired: number;
29
+ feeLiquidationPremium: number;
30
+ feeLiquidationPremiumExpired: number;
31
+ }
32
+ export interface SetFeesParams {
33
+ creditManager: Address;
34
+ params: CreditManagerFees;
35
+ }
36
+ export interface UnpauseCreditManagerParams {
37
+ creditManager: Address;
38
+ }
39
+ export interface AddAssetParams {
40
+ token: Address;
41
+ priceFeed: Address;
42
+ }
43
+ export interface SetPriceFeedParams {
44
+ token: Address;
45
+ priceFeed: Address;
46
+ }
47
+ export interface SetReservePriceFeedParams {
48
+ token: Address;
49
+ priceFeed: Address;
50
+ }
51
+ export interface SetTokenQuotaIncreaseFeeParams {
52
+ token: Address;
53
+ fee: number;
54
+ }
55
+ export interface Market {
56
+ address: Address;
57
+ underlyingAsset: Address;
58
+ name: string;
59
+ symbol: string;
60
+ isDeployed: boolean;
61
+ }
62
+ export interface PriceUpdate {
63
+ priceFeed: Address;
64
+ data: Hex;
65
+ }
@@ -0,0 +1,49 @@
1
+ import { type Transport } from "viem";
2
+ export interface ArchiveTransportConfig {
3
+ primaryRpcUrl: string;
4
+ archiveRpcUrl: string;
5
+ blockThreshold: number;
6
+ retryCount?: number;
7
+ retryDelay?: number;
8
+ timeout?: number;
9
+ enableLogging?: boolean;
10
+ }
11
+ export declare class ArchiveTransport {
12
+ private config;
13
+ private primaryTransport;
14
+ private archiveTransport;
15
+ private cachedTransport?;
16
+ constructor(config: ArchiveTransportConfig);
17
+ /**
18
+ * Get the configured transport instance
19
+ */
20
+ getTransport(): Transport;
21
+ /**
22
+ * Handle eth_getLogs requests with intelligent routing
23
+ */
24
+ private handleGetLogsRequest;
25
+ /**
26
+ * Handle split requests that span both historical and recent blocks
27
+ */
28
+ private handleSplitRequest;
29
+ /**
30
+ * Parse block numbers from filter parameters
31
+ */
32
+ private parseBlockNumbers;
33
+ /**
34
+ * Log messages if logging is enabled
35
+ */
36
+ private log;
37
+ /**
38
+ * Get current configuration
39
+ */
40
+ getConfig(): Required<ArchiveTransportConfig>;
41
+ /**
42
+ * Update configuration (will invalidate cached transport)
43
+ */
44
+ updateConfig(updates: Partial<ArchiveTransportConfig>): void;
45
+ /**
46
+ * Enable or disable logging
47
+ */
48
+ setLogging(enabled: boolean): void;
49
+ }
@@ -0,0 +1,7 @@
1
+ export interface Auditor {
2
+ address: string;
3
+ name: string;
4
+ addedAt: number;
5
+ removed: boolean;
6
+ removedAt: number | null;
7
+ }
@@ -0,0 +1,46 @@
1
+ import type { Address, Hex } from "viem";
2
+ export interface Bytecode {
3
+ bytecodeHash: Hex;
4
+ contractType: string;
5
+ version: number;
6
+ author: Address;
7
+ initCode: Hex;
8
+ size: number;
9
+ uploadedAt: number;
10
+ source: string;
11
+ transactionHash: Hex;
12
+ blockNumber: number;
13
+ }
14
+ export interface BytecodeShort extends Omit<Bytecode, "initCode" | "transactionHash" | "blockNumber" | "source" | "author"> {
15
+ auditorNames: string[];
16
+ }
17
+ export interface BytecodeExtended extends Bytecode {
18
+ deployments: Deployment[];
19
+ audits: Audit[];
20
+ }
21
+ export interface Audit {
22
+ report: string;
23
+ auditor: Address;
24
+ auditorName: string;
25
+ isAuditorRemoved: boolean;
26
+ timestamp: number;
27
+ }
28
+ export interface AuditEvent {
29
+ reportUrl: string;
30
+ auditor: Address;
31
+ bytecodeHash: Hex;
32
+ signature: Hex;
33
+ timestamp: number;
34
+ transactionHash: Hex;
35
+ blockNumber: number;
36
+ }
37
+ export interface Deployment {
38
+ chainId: number;
39
+ address: Address;
40
+ txHash: Hex;
41
+ blockNumber: number;
42
+ timestamp: number;
43
+ }
44
+ export interface DeploymentExtended extends Deployment {
45
+ bytecodeHash: Hex;
46
+ }