@mento-protocol/mento-sdk 1.0.0 → 2.0.0-beta.1

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 (196) hide show
  1. package/README.md +124 -8
  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 +4 -0
  15. package/dist/abis/index.d.ts.map +1 -0
  16. package/dist/{cjs → abis}/index.js +4 -5
  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/adapters/implementations/ethersAdapter.d.ts +10 -0
  27. package/dist/adapters/implementations/ethersAdapter.d.ts.map +1 -0
  28. package/dist/adapters/implementations/ethersAdapter.js +22 -0
  29. package/dist/adapters/implementations/ethersAdapter.js.map +1 -0
  30. package/dist/adapters/implementations/ethersV5Adapter.d.ts +10 -0
  31. package/dist/adapters/implementations/ethersV5Adapter.d.ts.map +1 -0
  32. package/dist/adapters/implementations/ethersV5Adapter.js +22 -0
  33. package/dist/adapters/implementations/ethersV5Adapter.js.map +1 -0
  34. package/dist/adapters/implementations/viemAdapter.d.ts +10 -0
  35. package/dist/adapters/implementations/viemAdapter.d.ts.map +1 -0
  36. package/dist/adapters/implementations/viemAdapter.js +29 -0
  37. package/dist/adapters/implementations/viemAdapter.js.map +1 -0
  38. package/dist/adapters/index.d.ts +5 -0
  39. package/dist/adapters/index.d.ts.map +1 -0
  40. package/dist/adapters/index.js +10 -0
  41. package/dist/adapters/index.js.map +1 -0
  42. package/dist/adapters/proxies/ethersAdapterProxy.d.ts +27 -0
  43. package/dist/adapters/proxies/ethersAdapterProxy.d.ts.map +1 -0
  44. package/dist/adapters/proxies/ethersAdapterProxy.js +77 -0
  45. package/dist/adapters/proxies/ethersAdapterProxy.js.map +1 -0
  46. package/dist/adapters/proxies/ethersV5AdapterProxy.d.ts +27 -0
  47. package/dist/adapters/proxies/ethersV5AdapterProxy.d.ts.map +1 -0
  48. package/dist/adapters/proxies/ethersV5AdapterProxy.js +77 -0
  49. package/dist/adapters/proxies/ethersV5AdapterProxy.js.map +1 -0
  50. package/dist/adapters/proxies/viemAdapterProxy.d.ts +28 -0
  51. package/dist/adapters/proxies/viemAdapterProxy.d.ts.map +1 -0
  52. package/dist/adapters/proxies/viemAdapterProxy.js +77 -0
  53. package/dist/adapters/proxies/viemAdapterProxy.js.map +1 -0
  54. package/dist/constants/addresses.d.ts +14 -0
  55. package/dist/constants/addresses.d.ts.map +1 -0
  56. package/dist/{cjs/constants → constants}/addresses.js +14 -25
  57. package/dist/constants/addresses.js.map +1 -0
  58. package/dist/constants/chainId.d.ts +5 -0
  59. package/dist/constants/chainId.d.ts.map +1 -0
  60. package/dist/{cjs/enums → constants}/chainId.js +2 -2
  61. package/dist/constants/chainId.js.map +1 -0
  62. package/dist/constants/contractNames.d.ts +21 -0
  63. package/dist/constants/contractNames.d.ts.map +1 -0
  64. package/dist/constants/contractNames.js +24 -0
  65. package/dist/constants/contractNames.js.map +1 -0
  66. package/dist/constants/index.d.ts +6 -0
  67. package/dist/constants/index.d.ts.map +1 -0
  68. package/dist/{cjs/interfaces → constants}/index.js +6 -4
  69. package/dist/constants/index.js.map +1 -0
  70. package/dist/{cjs/enums → constants}/proposalState.d.ts +1 -0
  71. package/dist/constants/proposalState.d.ts.map +1 -0
  72. package/dist/{cjs/enums → constants}/proposalState.js +2 -1
  73. package/dist/constants/proposalState.js.map +1 -0
  74. package/dist/constants/stableTokenMetadata.d.ts +13 -0
  75. package/dist/constants/stableTokenMetadata.d.ts.map +1 -0
  76. package/dist/constants/stableTokenMetadata.js +30 -0
  77. package/dist/constants/stableTokenMetadata.js.map +1 -0
  78. package/dist/index.d.ts +67 -0
  79. package/dist/index.d.ts.map +1 -0
  80. package/dist/index.js +122 -0
  81. package/dist/index.js.map +1 -0
  82. package/dist/services/collateralAssetService.d.ts +8 -0
  83. package/dist/services/collateralAssetService.d.ts.map +1 -0
  84. package/dist/services/collateralAssetService.js +44 -0
  85. package/dist/services/collateralAssetService.js.map +1 -0
  86. package/dist/services/exchangeService.d.ts +18 -0
  87. package/dist/services/exchangeService.d.ts.map +1 -0
  88. package/dist/services/exchangeService.js +78 -0
  89. package/dist/services/exchangeService.js.map +1 -0
  90. package/dist/services/index.d.ts +3 -0
  91. package/dist/services/index.d.ts.map +1 -0
  92. package/dist/{cjs/enums → services}/index.js +3 -2
  93. package/dist/services/index.js.map +1 -0
  94. package/dist/services/stableTokenService.d.ts +8 -0
  95. package/dist/services/stableTokenService.d.ts.map +1 -0
  96. package/dist/services/stableTokenService.js +35 -0
  97. package/dist/services/stableTokenService.js.map +1 -0
  98. package/dist/services/tokenMetadataService.d.ts +8 -0
  99. package/dist/services/tokenMetadataService.d.ts.map +1 -0
  100. package/dist/services/tokenMetadataService.js +45 -0
  101. package/dist/services/tokenMetadataService.js.map +1 -0
  102. package/dist/{esm/types → types}/contractAddresses.d.ts +1 -0
  103. package/dist/types/contractAddresses.d.ts.map +1 -0
  104. package/dist/{cjs/types → types}/contractAddresses.js +1 -0
  105. package/dist/types/contractAddresses.js.map +1 -0
  106. package/dist/types/exchange.d.ts +12 -0
  107. package/dist/types/exchange.d.ts.map +1 -0
  108. package/dist/{cjs/interfaces/tradingLimit.js → types/exchange.js} +1 -0
  109. package/dist/types/exchange.js.map +1 -0
  110. package/dist/types/index.d.ts +5 -0
  111. package/dist/types/index.d.ts.map +1 -0
  112. package/dist/{cjs/types → types}/index.js +4 -1
  113. package/dist/types/index.js.map +1 -0
  114. package/dist/types/provider.d.ts +12 -0
  115. package/dist/types/provider.d.ts.map +1 -0
  116. package/dist/{cjs/interfaces/tradingLimitsConfig.js → types/provider.js} +1 -0
  117. package/dist/types/provider.js.map +1 -0
  118. package/dist/types/token.d.ts +12 -0
  119. package/dist/types/token.d.ts.map +1 -0
  120. package/dist/{cjs/interfaces/IChainClient.js → types/token.js} +1 -0
  121. package/dist/types/token.js.map +1 -0
  122. package/dist/utils/index.d.ts +2 -0
  123. package/dist/utils/index.d.ts.map +1 -0
  124. package/dist/{cjs/constants → utils}/index.js +2 -1
  125. package/dist/utils/index.js.map +1 -0
  126. package/dist/utils/retry.d.ts +12 -0
  127. package/dist/utils/retry.d.ts.map +1 -0
  128. package/dist/utils/retry.js +28 -0
  129. package/dist/utils/retry.js.map +1 -0
  130. package/package.json +31 -43
  131. package/dist/cjs/ChainClient.d.ts +0 -9
  132. package/dist/cjs/ChainClient.js +0 -58
  133. package/dist/cjs/TestChainClient.d.ts +0 -7
  134. package/dist/cjs/TestChainClient.js +0 -41
  135. package/dist/cjs/constants/addresses.d.ts +0 -2
  136. package/dist/cjs/constants/index.d.ts +0 -1
  137. package/dist/cjs/enums/chainId.d.ts +0 -5
  138. package/dist/cjs/enums/index.d.ts +0 -2
  139. package/dist/cjs/governance.d.ts +0 -62
  140. package/dist/cjs/governance.js +0 -151
  141. package/dist/cjs/index.d.ts +0 -5
  142. package/dist/cjs/interfaces/IChainClient.d.ts +0 -6
  143. package/dist/cjs/interfaces/index.d.ts +0 -4
  144. package/dist/cjs/interfaces/tradingLimit.d.ts +0 -7
  145. package/dist/cjs/interfaces/tradingLimitsConfig.d.ts +0 -10
  146. package/dist/cjs/interfaces/tradingLimitsState.d.ts +0 -9
  147. package/dist/cjs/interfaces/tradingLimitsState.js +0 -2
  148. package/dist/cjs/limits.d.ts +0 -33
  149. package/dist/cjs/limits.js +0 -130
  150. package/dist/cjs/mento.d.ts +0 -152
  151. package/dist/cjs/mento.js +0 -318
  152. package/dist/cjs/types/contractAddressMap.d.ts +0 -4
  153. package/dist/cjs/types/contractAddressMap.js +0 -2
  154. package/dist/cjs/types/contractAddresses.d.ts +0 -22
  155. package/dist/cjs/types/index.d.ts +0 -2
  156. package/dist/cjs/utils.d.ts +0 -36
  157. package/dist/cjs/utils.js +0 -98
  158. package/dist/esm/ChainClient.d.ts +0 -9
  159. package/dist/esm/ChainClient.js +0 -54
  160. package/dist/esm/TestChainClient.d.ts +0 -7
  161. package/dist/esm/TestChainClient.js +0 -37
  162. package/dist/esm/constants/addresses.d.ts +0 -2
  163. package/dist/esm/constants/addresses.js +0 -69
  164. package/dist/esm/constants/index.d.ts +0 -1
  165. package/dist/esm/constants/index.js +0 -1
  166. package/dist/esm/enums/chainId.d.ts +0 -5
  167. package/dist/esm/enums/chainId.js +0 -6
  168. package/dist/esm/enums/index.d.ts +0 -2
  169. package/dist/esm/enums/index.js +0 -2
  170. package/dist/esm/enums/proposalState.d.ts +0 -10
  171. package/dist/esm/enums/proposalState.js +0 -11
  172. package/dist/esm/governance.d.ts +0 -62
  173. package/dist/esm/governance.js +0 -147
  174. package/dist/esm/index.d.ts +0 -5
  175. package/dist/esm/index.js +0 -5
  176. package/dist/esm/interfaces/IChainClient.d.ts +0 -6
  177. package/dist/esm/interfaces/IChainClient.js +0 -1
  178. package/dist/esm/interfaces/index.d.ts +0 -4
  179. package/dist/esm/interfaces/index.js +0 -4
  180. package/dist/esm/interfaces/tradingLimit.d.ts +0 -7
  181. package/dist/esm/interfaces/tradingLimit.js +0 -1
  182. package/dist/esm/interfaces/tradingLimitsConfig.d.ts +0 -10
  183. package/dist/esm/interfaces/tradingLimitsConfig.js +0 -1
  184. package/dist/esm/interfaces/tradingLimitsState.d.ts +0 -9
  185. package/dist/esm/interfaces/tradingLimitsState.js +0 -1
  186. package/dist/esm/limits.d.ts +0 -33
  187. package/dist/esm/limits.js +0 -123
  188. package/dist/esm/mento.d.ts +0 -152
  189. package/dist/esm/mento.js +0 -314
  190. package/dist/esm/types/contractAddressMap.d.ts +0 -4
  191. package/dist/esm/types/contractAddressMap.js +0 -1
  192. package/dist/esm/types/contractAddresses.js +0 -1
  193. package/dist/esm/types/index.d.ts +0 -2
  194. package/dist/esm/types/index.js +0 -2
  195. package/dist/esm/utils.d.ts +0 -36
  196. package/dist/esm/utils.js +0 -90
package/README.md CHANGED
@@ -1,17 +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')
10
46
 
11
- # Or install with yarn
12
- yarn add @mento-protocol/mento-sdk
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
58
+
59
+ 1. Clone the repository
60
+
61
+ ```bash
62
+ git clone git@github.com:mento-protocol/mento-sdk.git
63
+ cd mento-sdk
13
64
  ```
14
65
 
15
- # Learn more
66
+ 2. Install dependencies
67
+
68
+ ```bash
69
+ pnpm install
70
+ ```
71
+
72
+ ### Development Workflow
73
+
74
+ #### Build
75
+
76
+ ```bash
77
+ pnpm build
78
+ ```
79
+
80
+ #### Running Tests
81
+
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
+ ```
102
+
103
+ ## Features
104
+
105
+ ### Stable Tokens
106
+
107
+ Query Mento stable tokens:
108
+
109
+ ```typescript
110
+ // Get all stable tokens
111
+ const tokens = await mento.getStableTokens()
112
+ ```
113
+
114
+ ### Collateral Assets
115
+
116
+ Retrieve collateral assets:
117
+
118
+ ```typescript
119
+ // Get all collateral assets
120
+ const assets = await mento.getCollateralAssets()
121
+ ```
122
+
123
+ ## Contributing
124
+
125
+ Contributions are welcome! Please read our contributing guidelines for details.
126
+
127
+ ## License
128
+
129
+ MIT
130
+
131
+ ---
16
132
 
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.
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,4 @@
1
+ export * from "./erc20";
2
+ export * from "./reserve";
3
+ export * from "./bipoolmanager";
4
+ //# 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,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC"}
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- /* istanbul ignore file */
3
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
3
  if (k2 === undefined) k2 = k;
5
4
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -15,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
16
15
  };
17
16
  Object.defineProperty(exports, "__esModule", { value: true });
18
- __exportStar(require("./mento"), exports);
19
- __exportStar(require("./governance"), exports);
20
- __exportStar(require("./utils"), exports);
21
- __exportStar(require("./constants"), exports);
17
+ __exportStar(require("./erc20"), exports);
18
+ __exportStar(require("./reserve"), exports);
19
+ __exportStar(require("./bipoolmanager"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/abis/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,4CAA0B;AAC1B,kDAAgC"}
@@ -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,10 @@
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
+ isAddress(address: string): Promise<boolean>;
9
+ }
10
+ //# 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,EAGL,QAAQ,IAAI,cAAc,EAE3B,MAAM,QAAQ,CAAA;AACf,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;IAK7B,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAGnD"}
@@ -0,0 +1,22 @@
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
+ async isAddress(address) {
18
+ return (0, ethers_1.isAddress)(address);
19
+ }
20
+ }
21
+ exports.EthersAdapter = EthersAdapter;
22
+ //# sourceMappingURL=ethersAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ethersAdapter.js","sourceRoot":"","sources":["../../../src/adapters/implementations/ethersAdapter.ts"],"names":[],"mappings":";;;AAAA,mCAKe;AAGf,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;IAED,KAAK,CAAC,SAAS,CAAC,OAAe;QAC7B,OAAO,IAAA,kBAAS,EAAC,OAAO,CAAC,CAAA;IAC3B,CAAC;CACF;AApBD,sCAoBC"}
@@ -0,0 +1,10 @@
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
+ isAddress(address: string): Promise<boolean>;
9
+ }
10
+ //# 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,EAA4B,MAAM,WAAW,CAAA;AACzE,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;IAK7B,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAGnD"}
@@ -0,0 +1,22 @@
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
+ async isAddress(address) {
18
+ return ethers_v5_1.utils.isAddress(address);
19
+ }
20
+ }
21
+ exports.EthersV5Adapter = EthersV5Adapter;
22
+ //# sourceMappingURL=ethersV5Adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ethersV5Adapter.js","sourceRoot":"","sources":["../../../src/adapters/implementations/ethersV5Adapter.ts"],"names":[],"mappings":";;;AAAA,yCAAyE;AAGzE,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;IAED,KAAK,CAAC,SAAS,CAAC,OAAe;QAC7B,OAAO,iBAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IACjC,CAAC;CACF;AApBD,0CAoBC"}
@@ -0,0 +1,10 @@
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
+ isAddress(address: string): Promise<boolean>;
9
+ }
10
+ //# 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,EAAa,MAAM,MAAM,CAAA;AAC7D,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;IAI7B,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAGnD"}
@@ -0,0 +1,29 @@
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
+ async isAddress(address) {
25
+ return (0, viem_1.isAddress)(address);
26
+ }
27
+ }
28
+ exports.ViemAdapter = ViemAdapter;
29
+ //# sourceMappingURL=viemAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viemAdapter.js","sourceRoot":"","sources":["../../../src/adapters/implementations/viemAdapter.ts"],"names":[],"mappings":";;;AAAA,+BAA6D;AAG7D,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;IAED,KAAK,CAAC,SAAS,CAAC,OAAe;QAC7B,OAAO,IAAA,gBAAS,EAAC,OAAO,CAAC,CAAA;IAC3B,CAAC;CACF;AAzBD,kCAyBC"}
@@ -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,27 @@
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
+ private ensureAdapter;
23
+ readContract(...args: Parameters<ProviderAdapter['readContract']>): Promise<unknown>;
24
+ getChainId(): Promise<number>;
25
+ isAddress(address: string): Promise<boolean>;
26
+ }
27
+ //# 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;AAK1D;;;;;;;;;;;;;GAaG;AACH,qBAAa,kBAAmB,YAAW,eAAe;IACxD,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,WAAW,CAAe;gBAEtB,QAAQ,EAAE,gBAAgB;YAIxB,UAAU;YASV,aAAa;IAQrB,YAAY,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;IAKjE,UAAU;IAKV,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAInD"}
@@ -0,0 +1,77 @@
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
+ const ETHERS_NOT_INSTALLED_ERROR = 'ethers v6 is not installed. Please install ethers@6 to use this adapter';
28
+ /**
29
+ * Proxy class that implements lazy loading for ethers provider adapter.
30
+ *
31
+ * This is an implementation of the Virtual Proxy pattern, which provides
32
+ * a placeholder for the EthersAdapter and controls its initialization.
33
+ * The actual adapter is only loaded when needed, allowing for:
34
+ * - Lazy loading of the ethers dependency
35
+ * - Better error handling for missing dependencies
36
+ * - Same interface as the real adapter (ProviderAdapter)
37
+ *
38
+ * For more information about the proxy pattern implementation,
39
+ * see the README.md in this directory:
40
+ * ./adapters/proxies/README.md
41
+ */
42
+ class EthersAdapterProxy {
43
+ constructor(provider) {
44
+ this.adapter = null;
45
+ this.initPromise = this.initialize(provider);
46
+ }
47
+ async initialize(provider) {
48
+ try {
49
+ const { EthersAdapter } = await Promise.resolve().then(() => __importStar(require('../implementations/ethersAdapter')));
50
+ this.adapter = new EthersAdapter(provider);
51
+ }
52
+ catch (error) {
53
+ throw new Error(ETHERS_NOT_INSTALLED_ERROR);
54
+ }
55
+ }
56
+ async ensureAdapter() {
57
+ await this.initPromise;
58
+ if (!this.adapter) {
59
+ throw new Error(ETHERS_NOT_INSTALLED_ERROR);
60
+ }
61
+ return this.adapter;
62
+ }
63
+ async readContract(...args) {
64
+ const adapter = await this.ensureAdapter();
65
+ return adapter.readContract(...args);
66
+ }
67
+ async getChainId() {
68
+ const adapter = await this.ensureAdapter();
69
+ return adapter.getChainId();
70
+ }
71
+ async isAddress(address) {
72
+ const adapter = await this.ensureAdapter();
73
+ return adapter.isAddress(address);
74
+ }
75
+ }
76
+ exports.EthersAdapterProxy = EthersAdapterProxy;
77
+ //# sourceMappingURL=ethersAdapterProxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ethersAdapterProxy.js","sourceRoot":"","sources":["../../../src/adapters/proxies/ethersAdapterProxy.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,MAAM,0BAA0B,GAC9B,yEAAyE,CAAA;AAE3E;;;;;;;;;;;;;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,CAAC,0BAA0B,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,aAAa;QACzB,MAAM,IAAI,CAAC,WAAW,CAAA;QACtB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;QAC7C,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAAG,IAAiD;QACrE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAA;QAC1C,OAAO,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAA;IACtC,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAA;QAC1C,OAAO,OAAO,CAAC,UAAU,EAAE,CAAA;IAC7B,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAe;QAC7B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAA;QAC1C,OAAO,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IACnC,CAAC;CACF;AAvCD,gDAuCC"}
@@ -0,0 +1,27 @@
1
+ import { ProviderAdapter } from '../../types';
2
+ import type { providers as EthersV5Providers } from 'ethers-v5';
3
+ /**
4
+ * Proxy class that implements lazy loading for ethers v5 provider adapter.
5
+ *
6
+ * This is an implementation of the Virtual Proxy pattern, which provides
7
+ * a placeholder for the EthersV5Adapter and controls its initialization.
8
+ * The actual adapter is only loaded when needed, allowing for:
9
+ * - Lazy loading of the ethers v5 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 EthersV5AdapterProxy implements ProviderAdapter {
18
+ private adapter;
19
+ private initPromise;
20
+ constructor(provider: EthersV5Providers.Provider);
21
+ private initialize;
22
+ private ensureAdapter;
23
+ readContract(...args: Parameters<ProviderAdapter['readContract']>): Promise<unknown>;
24
+ getChainId(): Promise<number>;
25
+ isAddress(address: string): Promise<boolean>;
26
+ }
27
+ //# sourceMappingURL=ethersV5AdapterProxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ethersV5AdapterProxy.d.ts","sourceRoot":"","sources":["../../../src/adapters/proxies/ethersV5AdapterProxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,KAAK,EAAE,SAAS,IAAI,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAK/D;;;;;;;;;;;;;GAaG;AACH,qBAAa,oBAAqB,YAAW,eAAe;IAC1D,OAAO,CAAC,OAAO,CAA+B;IAC9C,OAAO,CAAC,WAAW,CAAe;gBAEtB,QAAQ,EAAE,iBAAiB,CAAC,QAAQ;YAIlC,UAAU;YAWV,aAAa;IAQrB,YAAY,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;IAKjE,UAAU;IAKV,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAInD"}