@mento-protocol/mento-sdk 1.10.2 → 2.0.0-beta.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 (254) hide show
  1. package/README.md +114 -48
  2. package/dist/abis/bipoolmanager.d.ts +15 -0
  3. package/dist/abis/bipoolmanager.d.ts.map +1 -0
  4. package/dist/abis/bipoolmanager.js +26 -0
  5. package/dist/abis/bipoolmanager.js.map +1 -0
  6. package/dist/abis/broker.d.ts +2 -0
  7. package/dist/abis/broker.d.ts.map +1 -0
  8. package/dist/abis/broker.js +8 -0
  9. package/dist/abis/broker.js.map +1 -0
  10. package/dist/abis/erc20.d.ts +2 -0
  11. package/dist/abis/erc20.d.ts.map +1 -0
  12. package/dist/abis/erc20.js +11 -0
  13. package/dist/abis/erc20.js.map +1 -0
  14. package/dist/abis/index.d.ts +5 -0
  15. package/dist/abis/index.d.ts.map +1 -0
  16. package/dist/{cjs/constants → abis}/index.js +5 -2
  17. package/dist/abis/index.js.map +1 -0
  18. package/dist/abis/pricingmodule.d.ts +2 -0
  19. package/dist/abis/pricingmodule.d.ts.map +1 -0
  20. package/dist/abis/pricingmodule.js +5 -0
  21. package/dist/abis/pricingmodule.js.map +1 -0
  22. package/dist/abis/reserve.d.ts +2 -0
  23. package/dist/abis/reserve.d.ts.map +1 -0
  24. package/dist/abis/reserve.js +9 -0
  25. package/dist/abis/reserve.js.map +1 -0
  26. package/dist/abis/uniswapV3.d.ts +4 -0
  27. package/dist/abis/uniswapV3.d.ts.map +1 -0
  28. package/dist/abis/uniswapV3.js +15 -0
  29. package/dist/abis/uniswapV3.js.map +1 -0
  30. package/dist/adapters/implementations/ethersAdapter.d.ts +9 -0
  31. package/dist/adapters/implementations/ethersAdapter.d.ts.map +1 -0
  32. package/dist/adapters/implementations/ethersAdapter.js +19 -0
  33. package/dist/adapters/implementations/ethersAdapter.js.map +1 -0
  34. package/dist/adapters/implementations/ethersV5Adapter.d.ts +9 -0
  35. package/dist/adapters/implementations/ethersV5Adapter.d.ts.map +1 -0
  36. package/dist/adapters/implementations/ethersV5Adapter.js +19 -0
  37. package/dist/adapters/implementations/ethersV5Adapter.js.map +1 -0
  38. package/dist/adapters/implementations/viemAdapter.d.ts +9 -0
  39. package/dist/adapters/implementations/viemAdapter.d.ts.map +1 -0
  40. package/dist/adapters/implementations/viemAdapter.js +26 -0
  41. package/dist/adapters/implementations/viemAdapter.js.map +1 -0
  42. package/dist/adapters/index.d.ts +5 -0
  43. package/dist/adapters/index.d.ts.map +1 -0
  44. package/dist/adapters/index.js +10 -0
  45. package/dist/adapters/index.js.map +1 -0
  46. package/dist/adapters/proxies/ethersAdapterProxy.d.ts +25 -0
  47. package/dist/adapters/proxies/ethersAdapterProxy.d.ts.map +1 -0
  48. package/dist/adapters/proxies/ethersAdapterProxy.js +71 -0
  49. package/dist/adapters/proxies/ethersAdapterProxy.js.map +1 -0
  50. package/dist/adapters/proxies/ethersV5AdapterProxy.d.ts +25 -0
  51. package/dist/adapters/proxies/ethersV5AdapterProxy.d.ts.map +1 -0
  52. package/dist/adapters/proxies/ethersV5AdapterProxy.js +71 -0
  53. package/dist/adapters/proxies/ethersV5AdapterProxy.js.map +1 -0
  54. package/dist/adapters/proxies/viemAdapterProxy.d.ts +25 -0
  55. package/dist/adapters/proxies/viemAdapterProxy.d.ts.map +1 -0
  56. package/dist/adapters/proxies/viemAdapterProxy.js +71 -0
  57. package/dist/adapters/proxies/viemAdapterProxy.js.map +1 -0
  58. package/dist/constants/aaveConfig.d.ts +7 -0
  59. package/dist/constants/aaveConfig.d.ts.map +1 -0
  60. package/dist/constants/aaveConfig.js +22 -0
  61. package/dist/constants/aaveConfig.js.map +1 -0
  62. package/dist/constants/addresses.d.ts +14 -0
  63. package/dist/constants/addresses.d.ts.map +1 -0
  64. package/dist/{esm/constants → constants}/addresses.js +17 -16
  65. package/dist/constants/addresses.js.map +1 -0
  66. package/dist/{cjs/enums → constants}/chainId.d.ts +1 -0
  67. package/dist/constants/chainId.d.ts.map +1 -0
  68. package/dist/{cjs/enums → constants}/chainId.js +2 -1
  69. package/dist/constants/chainId.js.map +1 -0
  70. package/dist/constants/contractNames.d.ts +21 -0
  71. package/dist/constants/contractNames.d.ts.map +1 -0
  72. package/dist/constants/contractNames.js +24 -0
  73. package/dist/constants/contractNames.js.map +1 -0
  74. package/dist/constants/index.d.ts +9 -0
  75. package/dist/constants/index.d.ts.map +1 -0
  76. package/dist/constants/index.js +25 -0
  77. package/dist/constants/index.js.map +1 -0
  78. package/dist/constants/mentoAddresses.d.ts +6 -0
  79. package/dist/constants/mentoAddresses.d.ts.map +1 -0
  80. package/dist/constants/mentoAddresses.js +9 -0
  81. package/dist/constants/mentoAddresses.js.map +1 -0
  82. package/dist/{cjs/enums → constants}/proposalState.d.ts +1 -0
  83. package/dist/constants/proposalState.d.ts.map +1 -0
  84. package/dist/{cjs/enums → constants}/proposalState.js +2 -1
  85. package/dist/constants/proposalState.js.map +1 -0
  86. package/dist/constants/protocolAddresses.d.ts +5 -0
  87. package/dist/constants/protocolAddresses.d.ts.map +1 -0
  88. package/dist/constants/protocolAddresses.js +8 -0
  89. package/dist/constants/protocolAddresses.js.map +1 -0
  90. package/dist/constants/stableTokenMetadata.d.ts +12 -0
  91. package/dist/constants/stableTokenMetadata.d.ts.map +1 -0
  92. package/dist/constants/stableTokenMetadata.js +14 -0
  93. package/dist/constants/stableTokenMetadata.js.map +1 -0
  94. package/dist/index.d.ts +67 -0
  95. package/dist/index.d.ts.map +1 -0
  96. package/dist/index.js +122 -0
  97. package/dist/index.js.map +1 -0
  98. package/dist/services/collateralAssetService.d.ts +8 -0
  99. package/dist/services/collateralAssetService.d.ts.map +1 -0
  100. package/dist/services/collateralAssetService.js +47 -0
  101. package/dist/services/collateralAssetService.js.map +1 -0
  102. package/dist/services/index.d.ts +6 -0
  103. package/dist/services/index.d.ts.map +1 -0
  104. package/dist/{cjs/interfaces → services}/index.js +6 -4
  105. package/dist/services/index.js.map +1 -0
  106. package/dist/services/stableTokenService.d.ts +9 -0
  107. package/dist/services/stableTokenService.d.ts.map +1 -0
  108. package/dist/services/stableTokenService.js +40 -0
  109. package/dist/services/stableTokenService.js.map +1 -0
  110. package/dist/services/supply/ISupplyCalculator.d.ts +14 -0
  111. package/dist/services/supply/ISupplyCalculator.d.ts.map +1 -0
  112. package/dist/{cjs/interfaces/tradingLimitsState.js → services/supply/ISupplyCalculator.js} +1 -0
  113. package/dist/services/supply/ISupplyCalculator.js.map +1 -0
  114. package/dist/services/supply/aaveSupplyCalculator.d.ts +21 -0
  115. package/dist/services/supply/aaveSupplyCalculator.d.ts.map +1 -0
  116. package/dist/services/supply/aaveSupplyCalculator.js +46 -0
  117. package/dist/services/supply/aaveSupplyCalculator.js.map +1 -0
  118. package/dist/services/supply/calculatorFactory.d.ts +8 -0
  119. package/dist/services/supply/calculatorFactory.d.ts.map +1 -0
  120. package/dist/services/supply/calculatorFactory.js +3 -0
  121. package/dist/services/supply/calculatorFactory.js.map +1 -0
  122. package/dist/services/supply/defaultCalculatorFactory.d.ts +9 -0
  123. package/dist/services/supply/defaultCalculatorFactory.d.ts.map +1 -0
  124. package/dist/services/supply/defaultCalculatorFactory.js +27 -0
  125. package/dist/services/supply/defaultCalculatorFactory.js.map +1 -0
  126. package/dist/services/supply/index.d.ts +7 -0
  127. package/dist/services/supply/index.d.ts.map +1 -0
  128. package/dist/{cjs → services/supply}/index.js +7 -6
  129. package/dist/services/supply/index.js.map +1 -0
  130. package/dist/services/supply/multisigSupplyCalculator.d.ts +9 -0
  131. package/dist/services/supply/multisigSupplyCalculator.d.ts.map +1 -0
  132. package/dist/services/supply/multisigSupplyCalculator.js +33 -0
  133. package/dist/services/supply/multisigSupplyCalculator.js.map +1 -0
  134. package/dist/services/supply/uniV3SupplyCalculator.d.ts +21 -0
  135. package/dist/services/supply/uniV3SupplyCalculator.d.ts.map +1 -0
  136. package/dist/services/supply/uniV3SupplyCalculator.js +233 -0
  137. package/dist/services/supply/uniV3SupplyCalculator.js.map +1 -0
  138. package/dist/services/supplyAdjustmentService.d.ts +14 -0
  139. package/dist/services/supplyAdjustmentService.d.ts.map +1 -0
  140. package/dist/services/supplyAdjustmentService.js +46 -0
  141. package/dist/services/supplyAdjustmentService.js.map +1 -0
  142. package/dist/services/tokenMetadataService.d.ts +8 -0
  143. package/dist/services/tokenMetadataService.d.ts.map +1 -0
  144. package/dist/services/tokenMetadataService.js +44 -0
  145. package/dist/services/tokenMetadataService.js.map +1 -0
  146. package/dist/{cjs/types → types}/contractAddresses.d.ts +1 -1
  147. package/dist/types/contractAddresses.d.ts.map +1 -0
  148. package/dist/{cjs/types → types}/contractAddresses.js +1 -0
  149. package/dist/types/contractAddresses.js.map +1 -0
  150. package/dist/types/exchange.d.ts +6 -0
  151. package/dist/types/exchange.d.ts.map +1 -0
  152. package/dist/{cjs/interfaces/tradingLimit.js → types/exchange.js} +1 -0
  153. package/dist/types/exchange.js.map +1 -0
  154. package/dist/types/index.d.ts +5 -0
  155. package/dist/types/index.d.ts.map +1 -0
  156. package/dist/{cjs/types → types}/index.js +4 -1
  157. package/dist/types/index.js.map +1 -0
  158. package/dist/types/provider.d.ts +11 -0
  159. package/dist/types/provider.d.ts.map +1 -0
  160. package/dist/{cjs/interfaces/tradingLimitsConfig.js → types/provider.js} +1 -0
  161. package/dist/types/provider.js.map +1 -0
  162. package/dist/types/token.d.ts +25 -0
  163. package/dist/types/token.d.ts.map +1 -0
  164. package/dist/{cjs/interfaces/IChainClient.js → types/token.js} +1 -0
  165. package/dist/types/token.js.map +1 -0
  166. package/dist/utils/index.d.ts +2 -0
  167. package/dist/utils/index.d.ts.map +1 -0
  168. package/dist/{cjs/enums → utils}/index.js +2 -2
  169. package/dist/utils/index.js.map +1 -0
  170. package/dist/utils/retry.d.ts +12 -0
  171. package/dist/utils/retry.d.ts.map +1 -0
  172. package/dist/utils/retry.js +28 -0
  173. package/dist/utils/retry.js.map +1 -0
  174. package/package.json +33 -61
  175. package/dist/cjs/ChainClient.d.ts +0 -9
  176. package/dist/cjs/ChainClient.js +0 -58
  177. package/dist/cjs/TestChainClient.d.ts +0 -7
  178. package/dist/cjs/TestChainClient.js +0 -41
  179. package/dist/cjs/constants/addresses.d.ts +0 -4
  180. package/dist/cjs/constants/addresses.js +0 -64
  181. package/dist/cjs/constants/index.d.ts +0 -2
  182. package/dist/cjs/constants/tradablePairs.42220.d.ts +0 -2
  183. package/dist/cjs/constants/tradablePairs.42220.js +0 -6407
  184. package/dist/cjs/constants/tradablePairs.44787.d.ts +0 -2
  185. package/dist/cjs/constants/tradablePairs.44787.js +0 -7391
  186. package/dist/cjs/constants/tradablePairs.d.ts +0 -16
  187. package/dist/cjs/constants/tradablePairs.js +0 -53
  188. package/dist/cjs/enums/index.d.ts +0 -2
  189. package/dist/cjs/governance.d.ts +0 -62
  190. package/dist/cjs/governance.js +0 -151
  191. package/dist/cjs/index.d.ts +0 -6
  192. package/dist/cjs/interfaces/IChainClient.d.ts +0 -6
  193. package/dist/cjs/interfaces/index.d.ts +0 -4
  194. package/dist/cjs/interfaces/tradingLimit.d.ts +0 -7
  195. package/dist/cjs/interfaces/tradingLimitsConfig.d.ts +0 -10
  196. package/dist/cjs/interfaces/tradingLimitsState.d.ts +0 -9
  197. package/dist/cjs/limits.d.ts +0 -33
  198. package/dist/cjs/limits.js +0 -130
  199. package/dist/cjs/mento.d.ts +0 -238
  200. package/dist/cjs/mento.js +0 -559
  201. package/dist/cjs/routeUtils.d.ts +0 -304
  202. package/dist/cjs/routeUtils.js +0 -372
  203. package/dist/cjs/types/contractAddressMap.d.ts +0 -4
  204. package/dist/cjs/types/contractAddressMap.js +0 -2
  205. package/dist/cjs/types/index.d.ts +0 -2
  206. package/dist/cjs/utils.d.ts +0 -50
  207. package/dist/cjs/utils.js +0 -129
  208. package/dist/esm/ChainClient.d.ts +0 -9
  209. package/dist/esm/ChainClient.js +0 -54
  210. package/dist/esm/TestChainClient.d.ts +0 -7
  211. package/dist/esm/TestChainClient.js +0 -37
  212. package/dist/esm/constants/addresses.d.ts +0 -4
  213. package/dist/esm/constants/index.d.ts +0 -2
  214. package/dist/esm/constants/index.js +0 -2
  215. package/dist/esm/constants/tradablePairs.42220.d.ts +0 -2
  216. package/dist/esm/constants/tradablePairs.42220.js +0 -6404
  217. package/dist/esm/constants/tradablePairs.44787.d.ts +0 -2
  218. package/dist/esm/constants/tradablePairs.44787.js +0 -7388
  219. package/dist/esm/constants/tradablePairs.d.ts +0 -16
  220. package/dist/esm/constants/tradablePairs.js +0 -26
  221. package/dist/esm/enums/chainId.d.ts +0 -4
  222. package/dist/esm/enums/chainId.js +0 -5
  223. package/dist/esm/enums/index.d.ts +0 -2
  224. package/dist/esm/enums/index.js +0 -2
  225. package/dist/esm/enums/proposalState.d.ts +0 -10
  226. package/dist/esm/enums/proposalState.js +0 -11
  227. package/dist/esm/governance.d.ts +0 -62
  228. package/dist/esm/governance.js +0 -147
  229. package/dist/esm/index.d.ts +0 -6
  230. package/dist/esm/index.js +0 -6
  231. package/dist/esm/interfaces/IChainClient.d.ts +0 -6
  232. package/dist/esm/interfaces/IChainClient.js +0 -1
  233. package/dist/esm/interfaces/index.d.ts +0 -4
  234. package/dist/esm/interfaces/index.js +0 -4
  235. package/dist/esm/interfaces/tradingLimit.d.ts +0 -7
  236. package/dist/esm/interfaces/tradingLimit.js +0 -1
  237. package/dist/esm/interfaces/tradingLimitsConfig.d.ts +0 -10
  238. package/dist/esm/interfaces/tradingLimitsConfig.js +0 -1
  239. package/dist/esm/interfaces/tradingLimitsState.d.ts +0 -9
  240. package/dist/esm/interfaces/tradingLimitsState.js +0 -1
  241. package/dist/esm/limits.d.ts +0 -33
  242. package/dist/esm/limits.js +0 -123
  243. package/dist/esm/mento.d.ts +0 -238
  244. package/dist/esm/mento.js +0 -555
  245. package/dist/esm/routeUtils.d.ts +0 -304
  246. package/dist/esm/routeUtils.js +0 -362
  247. package/dist/esm/types/contractAddressMap.d.ts +0 -4
  248. package/dist/esm/types/contractAddressMap.js +0 -1
  249. package/dist/esm/types/contractAddresses.d.ts +0 -23
  250. package/dist/esm/types/contractAddresses.js +0 -1
  251. package/dist/esm/types/index.d.ts +0 -2
  252. package/dist/esm/types/index.js +0 -2
  253. package/dist/esm/utils.d.ts +0 -50
  254. package/dist/esm/utils.js +0 -119
package/README.md CHANGED
@@ -1,67 +1,133 @@
1
1
  # Mento SDK
2
2
 
3
- The official Mento Protocol SDK for interacting with Multi-Collateral Mento smart contracts on the Celo network.
3
+ A TypeScript SDK for interacting with the Mento protocol. This SDK provides a simple interface to interact with Mento's smart contracts, supporting both Ethers.js and Viem providers.
4
4
 
5
5
  ## Installation
6
6
 
7
- ```sh
8
- # Install with npm
9
- npm install @mento-protocol/mento-sdk
7
+ ```bash
8
+ npm install @mento/sdk
9
+ # or
10
+ yarn add @mento/sdk
11
+ # or
12
+ pnpm add @mento/sdk
13
+ ```
14
+
15
+ ## Quick Start
16
+
17
+ ### Initialize with Viem
18
+
19
+ ```typescript
20
+ import { createPublicClient, http } from 'viem'
21
+ import { celo } from 'viem/chains'
22
+ import { Mento } from '@mento/sdk'
23
+
24
+ // Create Viem client
25
+ const provider = createPublicClient({
26
+ chain: celo,
27
+ transport: http(),
28
+ })
29
+
30
+ // Initialize Mento SDK
31
+ const mento = new Mento({ provider })
32
+
33
+ // Use the SDK
34
+ const stableTokens = await mento.stable.getStableTokens()
35
+ console.log('Stable Tokens:', stableTokens)
36
+ ```
37
+
38
+ ### Initialize with Ethers.js
39
+
40
+ ```typescript
41
+ import { JsonRpcProvider } from 'ethers'
42
+ import { Mento } from '@mento/sdk'
43
+
44
+ // Create Ethers provider
45
+ const provider = new JsonRpcProvider('YOUR_RPC_URL')
46
+
47
+ // Initialize Mento SDK
48
+ const mento = new Mento({ provider })
49
+
50
+ // Use the SDK
51
+ const collateralAssets = await mento.collateral.getCollateralAssets()
52
+ console.log('Collateral Assets:', collateralAssets)
53
+ ```
54
+
55
+ ## Development Setup
56
+
57
+ ### Project Setup
10
58
 
11
- # Or install with yarn
12
- yarn add @mento-protocol/mento-sdk
59
+ 1. Clone the repository
60
+
61
+ ```bash
62
+ git clone git@github.com:mento-protocol/mento-sdk.git
63
+ cd mento-sdk
64
+ ```
65
+
66
+ 2. Install dependencies
67
+
68
+ ```bash
69
+ pnpm install
70
+ ```
71
+
72
+ ### Development Workflow
73
+
74
+ #### Build
75
+
76
+ ```bash
77
+ pnpm build
13
78
  ```
14
79
 
15
- ## Learn more
80
+ #### Running Tests
16
81
 
17
- You can find example usages of the SDK in the [mento-sdk-examples](https://github.com/mento-protocol/mento-sdk-examples) repository. For in-depth documentation and walk through explanations please see the [SDK section](https://docs.mento.org/mento/developers/mento-sdk) of the Mento docs.
82
+ ```bash
83
+ # Run all tests
84
+ pnpm test
85
+ ```
86
+
87
+ ### Project Structure
88
+
89
+ ```bash
90
+ ├── src/
91
+ │ ├── abis/ # Contract ABIs
92
+ │ ├── adapters/ # Provider adapters (Ethers, Viem)
93
+ │ ├── constants/ # Constants and addresses
94
+ │ ├── services/ # Core services
95
+ │ ├── types/ # TypeScript type definitions
96
+ | ├── utils/ # Utility functions
97
+ │ └── index.ts # Main entry point
98
+ ├── tests/
99
+ │ ├── unit/ # Unit tests
100
+ │ └── integration/ # Integration tests
101
+ ```
18
102
 
19
- ## Tradable Pairs Cache
103
+ ## Features
20
104
 
21
- Anytime we launch a new stable token, we need to update the tradable pairs cache.
105
+ ### Stable Tokens
22
106
 
23
- The `yarn cacheTradablePairs` script generates a TypeScript file containing a list of all tradable pairs on the Mento protocol. This file is used to cache the tradable pairs in the SDK and avoid costly re-fetching from the network.
107
+ Query Mento stable tokens:
24
108
 
25
- ```sh
26
- yarn cacheTradablePairs
109
+ ```typescript
110
+ // Get all stable tokens
111
+ const tokens = await mento.getStableTokens()
27
112
  ```
28
113
 
29
- ## Token Graph Visualization
30
-
31
- Current token connectivity on Celo Mainnet (last updated: 2025-06-19):
32
-
33
- ```mermaid
34
- graph TD
35
- USDT["USD₮"]
36
- USDC --- cUSD
37
- USDT --- cUSD
38
- CELO --- cEUR
39
- CELO --- cREAL
40
- USDC --- cREAL
41
- USDC --- cEUR
42
- axlUSDC --- cUSD
43
- CELO --- cUSD
44
- PUSO --- cUSD
45
- cJPY --- cUSD
46
- cCOP --- cUSD
47
- cGBP --- cUSD
48
- cUSD --- cZAR
49
- cCAD --- cUSD
50
- cAUD --- cUSD
51
- cCHF --- cUSD
52
- axlUSDC --- cEUR
53
- axlUSDC --- cREAL
54
- axlEUROC --- cEUR
55
- cKES --- cUSD
56
- cGHS --- cUSD
57
- cNGN --- cUSD
58
- CELO --- eXOF
59
- axlEUROC --- eXOF
114
+ ### Collateral Assets
115
+
116
+ Retrieve collateral assets:
60
117
 
118
+ ```typescript
119
+ // Get all collateral assets
120
+ const assets = await mento.getCollateralAssets()
61
121
  ```
62
122
 
63
- **Network Stats:** 20 tokens, 24 direct trading pairs
123
+ ## Contributing
124
+
125
+ Contributions are welcome! Please read our contributing guidelines for details.
126
+
127
+ ## License
128
+
129
+ MIT
130
+
131
+ ---
64
132
 
65
- > 💡 This graph shows direct trading pairs only. The SDK automatically finds optimal routes including multi-hop paths.
66
- >
67
- > To regenerate: `yarn getTokenGraph`
133
+ For more detailed documentation and examples, visit our [documentation site](https://docs.mento.org).
@@ -0,0 +1,15 @@
1
+ export declare const BIPOOL_MANAGER_ABI: {
2
+ name: string;
3
+ type: string;
4
+ stateMutability: string;
5
+ inputs: never[];
6
+ outputs: {
7
+ name: string;
8
+ type: string;
9
+ components: {
10
+ name: string;
11
+ type: string;
12
+ }[];
13
+ }[];
14
+ }[];
15
+ //# sourceMappingURL=bipoolmanager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bipoolmanager.d.ts","sourceRoot":"","sources":["../../src/abis/bipoolmanager.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;GAqB9B,CAAC"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BIPOOL_MANAGER_ABI = void 0;
4
+ exports.BIPOOL_MANAGER_ABI = [
5
+ {
6
+ name: "getExchanges",
7
+ type: "function",
8
+ stateMutability: "view",
9
+ inputs: [],
10
+ outputs: [{
11
+ name: "exchanges",
12
+ type: "tuple[]",
13
+ components: [
14
+ {
15
+ name: "exchangeId",
16
+ type: "bytes32",
17
+ },
18
+ {
19
+ name: "assets",
20
+ type: "address[]",
21
+ },
22
+ ],
23
+ }],
24
+ },
25
+ ];
26
+ //# sourceMappingURL=bipoolmanager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bipoolmanager.js","sourceRoot":"","sources":["../../src/abis/bipoolmanager.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG;IACjC;QACC,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,UAAU;QAChB,eAAe,EAAE,MAAM;QACvB,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,CAAC;gBACT,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;gBACf,UAAU,EAAE;oBACX;wBACC,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,SAAS;qBACf;oBACD;wBACC,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,WAAW;qBACjB;iBACD;aACD,CAAC;KACF;CACD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const BROKER_ABI: string[];
2
+ //# sourceMappingURL=broker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"broker.d.ts","sourceRoot":"","sources":["../../src/abis/broker.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,UAGtB,CAAA"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BROKER_ABI = void 0;
4
+ exports.BROKER_ABI = [
5
+ 'function tradingLimitsConfig(bytes32) view returns (uint32 timestep0, uint32 timestep1, int48 limit0, int48 limit1, int48 limitGlobal, uint8 flags)',
6
+ 'function tradingLimitsState(bytes32) view returns (uint32 lastUpdated0, uint32 lastUpdated1, int48 netflow0, int48 netflow1, int48 netflowGlobal)',
7
+ ];
8
+ //# sourceMappingURL=broker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"broker.js","sourceRoot":"","sources":["../../src/abis/broker.ts"],"names":[],"mappings":";;;AAAa,QAAA,UAAU,GAAG;IACxB,qJAAqJ;IACrJ,mJAAmJ;CACpJ,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const ERC20_ABI: string[];
2
+ //# sourceMappingURL=erc20.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"erc20.d.ts","sourceRoot":"","sources":["../../src/abis/erc20.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,UAMrB,CAAA"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ERC20_ABI = void 0;
4
+ exports.ERC20_ABI = [
5
+ 'function name() view returns (string)',
6
+ 'function symbol() view returns (string)',
7
+ 'function decimals() view returns (uint8)',
8
+ 'function totalSupply() view returns (uint256)',
9
+ 'function balanceOf(address) view returns (uint256)',
10
+ ];
11
+ //# sourceMappingURL=erc20.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"erc20.js","sourceRoot":"","sources":["../../src/abis/erc20.ts"],"names":[],"mappings":";;;AAAa,QAAA,SAAS,GAAG;IACvB,uCAAuC;IACvC,yCAAyC;IACzC,0CAA0C;IAC1C,+CAA+C;IAC/C,oDAAoD;CACrD,CAAA"}
@@ -0,0 +1,5 @@
1
+ export * from './erc20';
2
+ export * from './reserve';
3
+ export * from './bipoolmanager';
4
+ export * from './uniswapV3';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/abis/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA"}
@@ -14,5 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./addresses"), exports);
18
- __exportStar(require("./tradablePairs"), exports);
17
+ __exportStar(require("./erc20"), exports);
18
+ __exportStar(require("./reserve"), exports);
19
+ __exportStar(require("./bipoolmanager"), exports);
20
+ __exportStar(require("./uniswapV3"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/abis/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,4CAAyB;AACzB,kDAA+B;AAC/B,8CAA2B"}
@@ -0,0 +1,2 @@
1
+ export declare const PRICING_MODULE_ABI: string[];
2
+ //# sourceMappingURL=pricingmodule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pricingmodule.d.ts","sourceRoot":"","sources":["../../src/abis/pricingmodule.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,UAA4C,CAAA"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PRICING_MODULE_ABI = void 0;
4
+ exports.PRICING_MODULE_ABI = ['function name() view returns (string)'];
5
+ //# sourceMappingURL=pricingmodule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pricingmodule.js","sourceRoot":"","sources":["../../src/abis/pricingmodule.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG,CAAC,uCAAuC,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const RESERVE_ABI: string[];
2
+ //# sourceMappingURL=reserve.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reserve.d.ts","sourceRoot":"","sources":["../../src/abis/reserve.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,UAIvB,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RESERVE_ABI = void 0;
4
+ exports.RESERVE_ABI = [
5
+ "function getTokens() view returns (address[])",
6
+ "function isToken(address) view returns (bool)",
7
+ "function isCollateralAsset(address) view returns (bool)",
8
+ ];
9
+ //# sourceMappingURL=reserve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reserve.js","sourceRoot":"","sources":["../../src/abis/reserve.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG;IAC1B,+CAA+C;IAC/C,+CAA+C;IAC/C,yDAAyD;CACzD,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const UNIV3_POSITION_MANAGER_ABI: string[];
2
+ export declare const UNIV3_FACTORY_ABI: string[];
3
+ export declare const UNIV3_POOL_ABI: string[];
4
+ //# sourceMappingURL=uniswapV3.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uniswapV3.d.ts","sourceRoot":"","sources":["../../src/abis/uniswapV3.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B,UAItC,CAAA;AAED,eAAO,MAAM,iBAAiB,UAE7B,CAAA;AACD,eAAO,MAAM,cAAc,UAE1B,CAAA"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UNIV3_POOL_ABI = exports.UNIV3_FACTORY_ABI = exports.UNIV3_POSITION_MANAGER_ABI = void 0;
4
+ exports.UNIV3_POSITION_MANAGER_ABI = [
5
+ 'function balanceOf(address) view returns (uint256)',
6
+ 'function tokenOfOwnerByIndex(address, uint256) view returns (uint256)',
7
+ 'function positions(uint256) view returns (uint96, address, address, address, uint24, int24, int24, uint128, uint256, uint256, uint128, uint128)',
8
+ ];
9
+ exports.UNIV3_FACTORY_ABI = [
10
+ 'function getPool(address, address, uint24) view returns (address)',
11
+ ];
12
+ exports.UNIV3_POOL_ABI = [
13
+ 'function slot0() view returns (uint160, int24, uint160, int24, uint16, uint16)',
14
+ ];
15
+ //# sourceMappingURL=uniswapV3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uniswapV3.js","sourceRoot":"","sources":["../../src/abis/uniswapV3.ts"],"names":[],"mappings":";;;AAAa,QAAA,0BAA0B,GAAG;IACxC,oDAAoD;IACpD,uEAAuE;IACvE,iJAAiJ;CAClJ,CAAA;AAEY,QAAA,iBAAiB,GAAG;IAC/B,mEAAmE;CACpE,CAAA;AACY,QAAA,cAAc,GAAG;IAC5B,gFAAgF;CACjF,CAAA"}
@@ -0,0 +1,9 @@
1
+ import { Provider as EthersProvider } from 'ethers';
2
+ import { ContractCallOptions, ProviderAdapter } from '../../types';
3
+ export declare class EthersAdapter implements ProviderAdapter {
4
+ private provider;
5
+ constructor(provider: EthersProvider);
6
+ readContract(options: ContractCallOptions): Promise<unknown>;
7
+ getChainId(): Promise<number>;
8
+ }
9
+ //# sourceMappingURL=ethersAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ethersAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/implementations/ethersAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,QAAQ,IAAI,cAAc,EAAE,MAAM,QAAQ,CAAA;AACxE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAElE,qBAAa,aAAc,YAAW,eAAe;IACvC,OAAO,CAAC,QAAQ;gBAAR,QAAQ,EAAE,cAAc;IAEtC,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAS5D,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;CAIpC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EthersAdapter = void 0;
4
+ const ethers_1 = require("ethers");
5
+ class EthersAdapter {
6
+ constructor(provider) {
7
+ this.provider = provider;
8
+ }
9
+ async readContract(options) {
10
+ const contract = new ethers_1.Contract(options.address, options.abi, this.provider);
11
+ return await contract[options.functionName](...(options.args || []));
12
+ }
13
+ async getChainId() {
14
+ const network = await this.provider.getNetwork();
15
+ return Number(network.chainId);
16
+ }
17
+ }
18
+ exports.EthersAdapter = EthersAdapter;
19
+ //# sourceMappingURL=ethersAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ethersAdapter.js","sourceRoot":"","sources":["../../../src/adapters/implementations/ethersAdapter.ts"],"names":[],"mappings":";;;AAAA,mCAAwE;AAGxE,MAAa,aAAa;IACxB,YAAoB,QAAwB;QAAxB,aAAQ,GAAR,QAAQ,CAAgB;IAAG,CAAC;IAEhD,KAAK,CAAC,YAAY,CAAC,OAA4B;QAC7C,MAAM,QAAQ,GAAG,IAAI,iBAAQ,CAC3B,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,GAA2B,EACnC,IAAI,CAAC,QAAQ,CACd,CAAA;QACD,OAAO,MAAM,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAA;IACtE,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAA;QAChD,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAChC,CAAC;CACF;AAhBD,sCAgBC"}
@@ -0,0 +1,9 @@
1
+ import { providers } from 'ethers-v5';
2
+ import { ContractCallOptions, ProviderAdapter } from '../../types';
3
+ export declare class EthersV5Adapter implements ProviderAdapter {
4
+ private provider;
5
+ constructor(provider: providers.Provider);
6
+ readContract(options: ContractCallOptions): Promise<unknown>;
7
+ getChainId(): Promise<number>;
8
+ }
9
+ //# sourceMappingURL=ethersV5Adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ethersV5Adapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/implementations/ethersV5Adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,SAAS,EAAqB,MAAM,WAAW,CAAA;AAClE,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAElE,qBAAa,eAAgB,YAAW,eAAe;IACzC,OAAO,CAAC,QAAQ;gBAAR,QAAQ,EAAE,SAAS,CAAC,QAAQ;IAE1C,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAS5D,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;CAIpC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EthersV5Adapter = void 0;
4
+ const ethers_v5_1 = require("ethers-v5");
5
+ class EthersV5Adapter {
6
+ constructor(provider) {
7
+ this.provider = provider;
8
+ }
9
+ async readContract(options) {
10
+ const contract = new ethers_v5_1.Contract(options.address, options.abi, this.provider);
11
+ return await contract[options.functionName](...(options.args || []));
12
+ }
13
+ async getChainId() {
14
+ const network = await this.provider.getNetwork();
15
+ return Number(network.chainId);
16
+ }
17
+ }
18
+ exports.EthersV5Adapter = EthersV5Adapter;
19
+ //# sourceMappingURL=ethersV5Adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ethersV5Adapter.js","sourceRoot":"","sources":["../../../src/adapters/implementations/ethersV5Adapter.ts"],"names":[],"mappings":";;;AAAA,yCAAkE;AAGlE,MAAa,eAAe;IAC1B,YAAoB,QAA4B;QAA5B,aAAQ,GAAR,QAAQ,CAAoB;IAAG,CAAC;IAEpD,KAAK,CAAC,YAAY,CAAC,OAA4B;QAC7C,MAAM,QAAQ,GAAG,IAAI,oBAAQ,CAC3B,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,GAAmC,EAC3C,IAAI,CAAC,QAAQ,CACd,CAAA;QACD,OAAO,MAAM,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAA;IACtE,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAA;QAChD,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAChC,CAAC;CACF;AAhBD,0CAgBC"}
@@ -0,0 +1,9 @@
1
+ import { type PublicClient } from 'viem';
2
+ import type { ContractCallOptions, ProviderAdapter } from '../../types';
3
+ export declare class ViemAdapter implements ProviderAdapter {
4
+ private client;
5
+ constructor(client: PublicClient);
6
+ readContract(options: ContractCallOptions): Promise<unknown>;
7
+ getChainId(): Promise<number>;
8
+ }
9
+ //# sourceMappingURL=viemAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viemAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/implementations/viemAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,YAAY,EAAE,MAAM,MAAM,CAAA;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAEvE,qBAAa,WAAY,YAAW,eAAe;IACrC,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,YAAY;IAElC,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAe5D,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;CAGpC"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ViemAdapter = void 0;
4
+ const viem_1 = require("viem");
5
+ class ViemAdapter {
6
+ constructor(client) {
7
+ this.client = client;
8
+ }
9
+ async readContract(options) {
10
+ // Check if the abi is a string array(human readable format) or an array of objects(the normal format)
11
+ const abi = Array.isArray(options.abi) && typeof options.abi[0] === 'string'
12
+ ? (0, viem_1.parseAbi)(options.abi)
13
+ : options.abi;
14
+ return await this.client.readContract({
15
+ address: options.address,
16
+ abi: abi,
17
+ functionName: options.functionName,
18
+ args: options.args,
19
+ });
20
+ }
21
+ async getChainId() {
22
+ return await this.client.getChainId();
23
+ }
24
+ }
25
+ exports.ViemAdapter = ViemAdapter;
26
+ //# sourceMappingURL=viemAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viemAdapter.js","sourceRoot":"","sources":["../../../src/adapters/implementations/viemAdapter.ts"],"names":[],"mappings":";;;AAAA,+BAAkD;AAGlD,MAAa,WAAW;IACtB,YAAoB,MAAoB;QAApB,WAAM,GAAN,MAAM,CAAc;IAAG,CAAC;IAE5C,KAAK,CAAC,YAAY,CAAC,OAA4B;QAC7C,sGAAsG;QACtG,MAAM,GAAG,GACP,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ;YAC9D,CAAC,CAAC,IAAA,eAAQ,EAAC,OAAO,CAAC,GAAe,CAAC;YACnC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAA;QAEjB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YACpC,OAAO,EAAE,OAAO,CAAC,OAAwB;YACzC,GAAG,EAAE,GAAG;YACR,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAA;IACvC,CAAC;CACF;AArBD,kCAqBC"}
@@ -0,0 +1,5 @@
1
+ import { EthersV5AdapterProxy } from './proxies/ethersV5AdapterProxy';
2
+ import { EthersAdapterProxy } from './proxies/ethersAdapterProxy';
3
+ import { ViemAdapterProxy } from './proxies/viemAdapterProxy';
4
+ export { EthersV5AdapterProxy as EthersV5Adapter, EthersAdapterProxy as EthersAdapter, ViemAdapterProxy as ViemAdapter, };
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAA;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAE7D,OAAO,EACL,oBAAoB,IAAI,eAAe,EACvC,kBAAkB,IAAI,aAAa,EACnC,gBAAgB,IAAI,WAAW,GAChC,CAAA"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ViemAdapter = exports.EthersAdapter = exports.EthersV5Adapter = void 0;
4
+ const ethersV5AdapterProxy_1 = require("./proxies/ethersV5AdapterProxy");
5
+ Object.defineProperty(exports, "EthersV5Adapter", { enumerable: true, get: function () { return ethersV5AdapterProxy_1.EthersV5AdapterProxy; } });
6
+ const ethersAdapterProxy_1 = require("./proxies/ethersAdapterProxy");
7
+ Object.defineProperty(exports, "EthersAdapter", { enumerable: true, get: function () { return ethersAdapterProxy_1.EthersAdapterProxy; } });
8
+ const viemAdapterProxy_1 = require("./proxies/viemAdapterProxy");
9
+ Object.defineProperty(exports, "ViemAdapter", { enumerable: true, get: function () { return viemAdapterProxy_1.ViemAdapterProxy; } });
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":";;;AAAA,yEAAqE;AAK3C,gGALjB,2CAAoB,OAKY;AAJzC,qEAAiE;AAKzC,8FALf,uCAAkB,OAKU;AAJrC,iEAA6D;AAKvC,4FALb,mCAAgB,OAKQ"}
@@ -0,0 +1,25 @@
1
+ import { ProviderAdapter } from '../../types';
2
+ import type { Provider as EthersV6Provider } from 'ethers';
3
+ /**
4
+ * Proxy class that implements lazy loading for ethers provider adapter.
5
+ *
6
+ * This is an implementation of the Virtual Proxy pattern, which provides
7
+ * a placeholder for the EthersAdapter and controls its initialization.
8
+ * The actual adapter is only loaded when needed, allowing for:
9
+ * - Lazy loading of the ethers dependency
10
+ * - Better error handling for missing dependencies
11
+ * - Same interface as the real adapter (ProviderAdapter)
12
+ *
13
+ * For more information about the proxy pattern implementation,
14
+ * see the README.md in this directory:
15
+ * ./adapters/proxies/README.md
16
+ */
17
+ export declare class EthersAdapterProxy implements ProviderAdapter {
18
+ private adapter;
19
+ private initPromise;
20
+ constructor(provider: EthersV6Provider);
21
+ private initialize;
22
+ readContract(...args: Parameters<ProviderAdapter['readContract']>): Promise<unknown>;
23
+ getChainId(): Promise<number>;
24
+ }
25
+ //# sourceMappingURL=ethersAdapterProxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ethersAdapterProxy.d.ts","sourceRoot":"","sources":["../../../src/adapters/proxies/ethersAdapterProxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,KAAK,EAAE,QAAQ,IAAI,gBAAgB,EAAE,MAAM,QAAQ,CAAA;AAE1D;;;;;;;;;;;;;GAaG;AACH,qBAAa,kBAAmB,YAAW,eAAe;IACxD,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,WAAW,CAAe;gBAEtB,QAAQ,EAAE,gBAAgB;YAIxB,UAAU;IAWlB,YAAY,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;IAUjE,UAAU;CASjB"}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.EthersAdapterProxy = void 0;
27
+ /**
28
+ * Proxy class that implements lazy loading for ethers provider adapter.
29
+ *
30
+ * This is an implementation of the Virtual Proxy pattern, which provides
31
+ * a placeholder for the EthersAdapter and controls its initialization.
32
+ * The actual adapter is only loaded when needed, allowing for:
33
+ * - Lazy loading of the ethers dependency
34
+ * - Better error handling for missing dependencies
35
+ * - Same interface as the real adapter (ProviderAdapter)
36
+ *
37
+ * For more information about the proxy pattern implementation,
38
+ * see the README.md in this directory:
39
+ * ./adapters/proxies/README.md
40
+ */
41
+ class EthersAdapterProxy {
42
+ constructor(provider) {
43
+ this.adapter = null;
44
+ this.initPromise = this.initialize(provider);
45
+ }
46
+ async initialize(provider) {
47
+ try {
48
+ const { EthersAdapter } = await Promise.resolve().then(() => __importStar(require('../implementations/ethersAdapter')));
49
+ this.adapter = new EthersAdapter(provider);
50
+ }
51
+ catch (error) {
52
+ throw new Error('ethers v6 is not installed. Please install ethers@6 to use this adapter');
53
+ }
54
+ }
55
+ async readContract(...args) {
56
+ await this.initPromise;
57
+ if (!this.adapter) {
58
+ throw new Error('Adapter not initialized. Are you missing ethers v6 dependency?');
59
+ }
60
+ return this.adapter.readContract(...args);
61
+ }
62
+ async getChainId() {
63
+ await this.initPromise;
64
+ if (!this.adapter) {
65
+ throw new Error('Adapter not initialized. Are you missing ethers v6 dependency?');
66
+ }
67
+ return this.adapter.getChainId();
68
+ }
69
+ }
70
+ exports.EthersAdapterProxy = EthersAdapterProxy;
71
+ //# sourceMappingURL=ethersAdapterProxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ethersAdapterProxy.js","sourceRoot":"","sources":["../../../src/adapters/proxies/ethersAdapterProxy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA;;;;;;;;;;;;;GAaG;AACH,MAAa,kBAAkB;IAI7B,YAAY,QAA0B;QAH9B,YAAO,GAA2B,IAAI,CAAA;QAI5C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;IAC9C,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,QAA0B;QACjD,IAAI,CAAC;YACH,MAAM,EAAE,aAAa,EAAE,GAAG,wDAAa,kCAAkC,GAAC,CAAA;YAC1E,IAAI,CAAC,OAAO,GAAG,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAA;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAA;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAAG,IAAiD;QACrE,MAAM,IAAI,CAAC,WAAW,CAAA;QACtB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACb,gEAAgE,CACjE,CAAA;QACH,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAA;IAC3C,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,CAAC,WAAW,CAAA;QACtB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACb,gEAAgE,CACjE,CAAA;QACH,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAA;IAClC,CAAC;CACF;AAtCD,gDAsCC"}