@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.
- package/README.md +124 -8
- package/dist/abis/bipoolmanager.d.ts +15 -0
- package/dist/abis/bipoolmanager.d.ts.map +1 -0
- package/dist/abis/bipoolmanager.js +26 -0
- package/dist/abis/bipoolmanager.js.map +1 -0
- package/dist/abis/broker.d.ts +2 -0
- package/dist/abis/broker.d.ts.map +1 -0
- package/dist/abis/broker.js +8 -0
- package/dist/abis/broker.js.map +1 -0
- package/dist/abis/erc20.d.ts +2 -0
- package/dist/abis/erc20.d.ts.map +1 -0
- package/dist/abis/erc20.js +11 -0
- package/dist/abis/erc20.js.map +1 -0
- package/dist/abis/index.d.ts +4 -0
- package/dist/abis/index.d.ts.map +1 -0
- package/dist/{cjs → abis}/index.js +4 -5
- package/dist/abis/index.js.map +1 -0
- package/dist/abis/pricingmodule.d.ts +2 -0
- package/dist/abis/pricingmodule.d.ts.map +1 -0
- package/dist/abis/pricingmodule.js +5 -0
- package/dist/abis/pricingmodule.js.map +1 -0
- package/dist/abis/reserve.d.ts +2 -0
- package/dist/abis/reserve.d.ts.map +1 -0
- package/dist/abis/reserve.js +9 -0
- package/dist/abis/reserve.js.map +1 -0
- package/dist/adapters/implementations/ethersAdapter.d.ts +10 -0
- package/dist/adapters/implementations/ethersAdapter.d.ts.map +1 -0
- package/dist/adapters/implementations/ethersAdapter.js +22 -0
- package/dist/adapters/implementations/ethersAdapter.js.map +1 -0
- package/dist/adapters/implementations/ethersV5Adapter.d.ts +10 -0
- package/dist/adapters/implementations/ethersV5Adapter.d.ts.map +1 -0
- package/dist/adapters/implementations/ethersV5Adapter.js +22 -0
- package/dist/adapters/implementations/ethersV5Adapter.js.map +1 -0
- package/dist/adapters/implementations/viemAdapter.d.ts +10 -0
- package/dist/adapters/implementations/viemAdapter.d.ts.map +1 -0
- package/dist/adapters/implementations/viemAdapter.js +29 -0
- package/dist/adapters/implementations/viemAdapter.js.map +1 -0
- package/dist/adapters/index.d.ts +5 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +10 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/proxies/ethersAdapterProxy.d.ts +27 -0
- package/dist/adapters/proxies/ethersAdapterProxy.d.ts.map +1 -0
- package/dist/adapters/proxies/ethersAdapterProxy.js +77 -0
- package/dist/adapters/proxies/ethersAdapterProxy.js.map +1 -0
- package/dist/adapters/proxies/ethersV5AdapterProxy.d.ts +27 -0
- package/dist/adapters/proxies/ethersV5AdapterProxy.d.ts.map +1 -0
- package/dist/adapters/proxies/ethersV5AdapterProxy.js +77 -0
- package/dist/adapters/proxies/ethersV5AdapterProxy.js.map +1 -0
- package/dist/adapters/proxies/viemAdapterProxy.d.ts +28 -0
- package/dist/adapters/proxies/viemAdapterProxy.d.ts.map +1 -0
- package/dist/adapters/proxies/viemAdapterProxy.js +77 -0
- package/dist/adapters/proxies/viemAdapterProxy.js.map +1 -0
- package/dist/constants/addresses.d.ts +14 -0
- package/dist/constants/addresses.d.ts.map +1 -0
- package/dist/{cjs/constants → constants}/addresses.js +14 -25
- package/dist/constants/addresses.js.map +1 -0
- package/dist/constants/chainId.d.ts +5 -0
- package/dist/constants/chainId.d.ts.map +1 -0
- package/dist/{cjs/enums → constants}/chainId.js +2 -2
- package/dist/constants/chainId.js.map +1 -0
- package/dist/constants/contractNames.d.ts +21 -0
- package/dist/constants/contractNames.d.ts.map +1 -0
- package/dist/constants/contractNames.js +24 -0
- package/dist/constants/contractNames.js.map +1 -0
- package/dist/constants/index.d.ts +6 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/{cjs/interfaces → constants}/index.js +6 -4
- package/dist/constants/index.js.map +1 -0
- package/dist/{cjs/enums → constants}/proposalState.d.ts +1 -0
- package/dist/constants/proposalState.d.ts.map +1 -0
- package/dist/{cjs/enums → constants}/proposalState.js +2 -1
- package/dist/constants/proposalState.js.map +1 -0
- package/dist/constants/stableTokenMetadata.d.ts +13 -0
- package/dist/constants/stableTokenMetadata.d.ts.map +1 -0
- package/dist/constants/stableTokenMetadata.js +30 -0
- package/dist/constants/stableTokenMetadata.js.map +1 -0
- package/dist/index.d.ts +67 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +122 -0
- package/dist/index.js.map +1 -0
- package/dist/services/collateralAssetService.d.ts +8 -0
- package/dist/services/collateralAssetService.d.ts.map +1 -0
- package/dist/services/collateralAssetService.js +44 -0
- package/dist/services/collateralAssetService.js.map +1 -0
- package/dist/services/exchangeService.d.ts +18 -0
- package/dist/services/exchangeService.d.ts.map +1 -0
- package/dist/services/exchangeService.js +78 -0
- package/dist/services/exchangeService.js.map +1 -0
- package/dist/services/index.d.ts +3 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/{cjs/enums → services}/index.js +3 -2
- package/dist/services/index.js.map +1 -0
- package/dist/services/stableTokenService.d.ts +8 -0
- package/dist/services/stableTokenService.d.ts.map +1 -0
- package/dist/services/stableTokenService.js +35 -0
- package/dist/services/stableTokenService.js.map +1 -0
- package/dist/services/tokenMetadataService.d.ts +8 -0
- package/dist/services/tokenMetadataService.d.ts.map +1 -0
- package/dist/services/tokenMetadataService.js +45 -0
- package/dist/services/tokenMetadataService.js.map +1 -0
- package/dist/{esm/types → types}/contractAddresses.d.ts +1 -0
- package/dist/types/contractAddresses.d.ts.map +1 -0
- package/dist/{cjs/types → types}/contractAddresses.js +1 -0
- package/dist/types/contractAddresses.js.map +1 -0
- package/dist/types/exchange.d.ts +12 -0
- package/dist/types/exchange.d.ts.map +1 -0
- package/dist/{cjs/interfaces/tradingLimit.js → types/exchange.js} +1 -0
- package/dist/types/exchange.js.map +1 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/{cjs/types → types}/index.js +4 -1
- package/dist/types/index.js.map +1 -0
- package/dist/types/provider.d.ts +12 -0
- package/dist/types/provider.d.ts.map +1 -0
- package/dist/{cjs/interfaces/tradingLimitsConfig.js → types/provider.js} +1 -0
- package/dist/types/provider.js.map +1 -0
- package/dist/types/token.d.ts +12 -0
- package/dist/types/token.d.ts.map +1 -0
- package/dist/{cjs/interfaces/IChainClient.js → types/token.js} +1 -0
- package/dist/types/token.js.map +1 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/{cjs/constants → utils}/index.js +2 -1
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/retry.d.ts +12 -0
- package/dist/utils/retry.d.ts.map +1 -0
- package/dist/utils/retry.js +28 -0
- package/dist/utils/retry.js.map +1 -0
- package/package.json +31 -43
- package/dist/cjs/ChainClient.d.ts +0 -9
- package/dist/cjs/ChainClient.js +0 -58
- package/dist/cjs/TestChainClient.d.ts +0 -7
- package/dist/cjs/TestChainClient.js +0 -41
- package/dist/cjs/constants/addresses.d.ts +0 -2
- package/dist/cjs/constants/index.d.ts +0 -1
- package/dist/cjs/enums/chainId.d.ts +0 -5
- package/dist/cjs/enums/index.d.ts +0 -2
- package/dist/cjs/governance.d.ts +0 -62
- package/dist/cjs/governance.js +0 -151
- package/dist/cjs/index.d.ts +0 -5
- package/dist/cjs/interfaces/IChainClient.d.ts +0 -6
- package/dist/cjs/interfaces/index.d.ts +0 -4
- package/dist/cjs/interfaces/tradingLimit.d.ts +0 -7
- package/dist/cjs/interfaces/tradingLimitsConfig.d.ts +0 -10
- package/dist/cjs/interfaces/tradingLimitsState.d.ts +0 -9
- package/dist/cjs/interfaces/tradingLimitsState.js +0 -2
- package/dist/cjs/limits.d.ts +0 -33
- package/dist/cjs/limits.js +0 -130
- package/dist/cjs/mento.d.ts +0 -152
- package/dist/cjs/mento.js +0 -318
- package/dist/cjs/types/contractAddressMap.d.ts +0 -4
- package/dist/cjs/types/contractAddressMap.js +0 -2
- package/dist/cjs/types/contractAddresses.d.ts +0 -22
- package/dist/cjs/types/index.d.ts +0 -2
- package/dist/cjs/utils.d.ts +0 -36
- package/dist/cjs/utils.js +0 -98
- package/dist/esm/ChainClient.d.ts +0 -9
- package/dist/esm/ChainClient.js +0 -54
- package/dist/esm/TestChainClient.d.ts +0 -7
- package/dist/esm/TestChainClient.js +0 -37
- package/dist/esm/constants/addresses.d.ts +0 -2
- package/dist/esm/constants/addresses.js +0 -69
- package/dist/esm/constants/index.d.ts +0 -1
- package/dist/esm/constants/index.js +0 -1
- package/dist/esm/enums/chainId.d.ts +0 -5
- package/dist/esm/enums/chainId.js +0 -6
- package/dist/esm/enums/index.d.ts +0 -2
- package/dist/esm/enums/index.js +0 -2
- package/dist/esm/enums/proposalState.d.ts +0 -10
- package/dist/esm/enums/proposalState.js +0 -11
- package/dist/esm/governance.d.ts +0 -62
- package/dist/esm/governance.js +0 -147
- package/dist/esm/index.d.ts +0 -5
- package/dist/esm/index.js +0 -5
- package/dist/esm/interfaces/IChainClient.d.ts +0 -6
- package/dist/esm/interfaces/IChainClient.js +0 -1
- package/dist/esm/interfaces/index.d.ts +0 -4
- package/dist/esm/interfaces/index.js +0 -4
- package/dist/esm/interfaces/tradingLimit.d.ts +0 -7
- package/dist/esm/interfaces/tradingLimit.js +0 -1
- package/dist/esm/interfaces/tradingLimitsConfig.d.ts +0 -10
- package/dist/esm/interfaces/tradingLimitsConfig.js +0 -1
- package/dist/esm/interfaces/tradingLimitsState.d.ts +0 -9
- package/dist/esm/interfaces/tradingLimitsState.js +0 -1
- package/dist/esm/limits.d.ts +0 -33
- package/dist/esm/limits.js +0 -123
- package/dist/esm/mento.d.ts +0 -152
- package/dist/esm/mento.js +0 -314
- package/dist/esm/types/contractAddressMap.d.ts +0 -4
- package/dist/esm/types/contractAddressMap.js +0 -1
- package/dist/esm/types/contractAddresses.js +0 -1
- package/dist/esm/types/index.d.ts +0 -2
- package/dist/esm/types/index.js +0 -2
- package/dist/esm/utils.d.ts +0 -36
- package/dist/esm/utils.js +0 -90
package/README.md
CHANGED
|
@@ -1,17 +1,133 @@
|
|
|
1
1
|
# Mento SDK
|
|
2
2
|
|
|
3
|
-
|
|
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
|
-
```
|
|
8
|
-
|
|
9
|
-
|
|
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
|
-
|
|
12
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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("./
|
|
19
|
-
__exportStar(require("./
|
|
20
|
-
__exportStar(require("./
|
|
21
|
-
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"pricingmodule.d.ts","sourceRoot":"","sources":["../../src/abis/pricingmodule.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,UAA4C,CAAA"}
|
|
@@ -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 @@
|
|
|
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"}
|