@raac/rpc 1.1.0-beta.6 → 1.1.0-beta.7
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/dist/RPCLibrary.js +14 -0
- package/dist/configs/chains/11155111.json +8 -3
- package/dist/configs/chains/17000.json +16 -17
- package/dist/configs/chains/8453.json +32 -33
- package/dist/configs/createConfig.js +3 -3
- package/dist/pools/lendingPool/_helpers.js +12 -0
- package/dist/pools/lendingPool/adapters/erc20/getERC20AdapterBalance.js +1 -1
- package/dist/pools/lendingPool/adapters/erc20/getERC20AdapterInfo.js +1 -1
- package/dist/pools/lendingPool/adapters/erc721/getERC721AdapterDeposits.js +1 -1
- package/dist/pools/lendingPool/adapters/erc721/getERC721AdapterInfo.js +1 -1
- package/dist/pools/lendingPool/borrowFromLendingPool.js +11 -14
- package/dist/pools/lendingPool/borrowFromLendingPoolWithInsurance.js +10 -29
- package/dist/pools/lendingPool/calculateInsuranceFee.js +11 -8
- package/dist/pools/lendingPool/closeLiquidation.js +15 -14
- package/dist/pools/lendingPool/depositAssetToLendingPool.js +11 -49
- package/dist/pools/lendingPool/depositToLendingPool.js +2 -5
- package/dist/pools/lendingPool/getAdapterAddress.js +44 -0
- package/dist/pools/lendingPool/getAdapters.js +2 -6
- package/dist/pools/lendingPool/getEligibleUserDeposits.js +2 -5
- package/dist/pools/lendingPool/getHealthFactor.js +15 -13
- package/dist/pools/lendingPool/getLendingPoolInfo.js +6 -12
- package/dist/pools/lendingPool/getLendingPoolTotalLiquidity.js +2 -6
- package/dist/pools/lendingPool/getParameters.js +2 -6
- package/dist/pools/lendingPool/getPositionDebt.js +11 -11
- package/dist/pools/lendingPool/getPositionScaledDebt.js +15 -13
- package/dist/pools/lendingPool/getPositionView.js +13 -10
- package/dist/pools/lendingPool/getPositionsScaledDebt.js +2 -5
- package/dist/pools/lendingPool/getRawUserDepositsInLendingPool.js +2 -5
- package/dist/pools/lendingPool/getUserCollateralValue.js +2 -5
- package/dist/pools/lendingPool/getWithdrawRequestInfo.js +25 -0
- package/dist/pools/lendingPool/initializeLiquidation.js +12 -12
- package/dist/pools/lendingPool/openVaultPosition.js +42 -0
- package/dist/pools/lendingPool/repayToLendingPool.js +11 -14
- package/dist/pools/lendingPool/requestWithdraw.js +28 -0
- package/dist/pools/lendingPool/types.js +2 -0
- package/dist/pools/lendingPool/withdrawAssetFromLendingPool.js +15 -17
- package/dist/pools/lendingPool/withdrawFromLendingPool.js +3 -4
- package/dist/pools/rwaVault/_helpers.js +41 -0
- package/dist/pools/rwaVault/adapters/erc20/getERC20VaultAdapterAssetValue.js +2 -2
- package/dist/pools/rwaVault/adapters/erc20/getERC20VaultAdapterInfo.js +2 -2
- package/dist/pools/rwaVault/adapters/erc20/getERC20VaultAdapterTotalValue.js +2 -2
- package/dist/pools/rwaVault/adapters/erc721/getERC721VaultAdapterAssetValue.js +1 -1
- package/dist/pools/rwaVault/adapters/erc721/getERC721VaultAdapterDeposits.js +2 -2
- package/dist/pools/rwaVault/adapters/erc721/getERC721VaultAdapterInfo.js +2 -2
- package/dist/pools/rwaVault/adapters/erc721/getERC721VaultAdapterTotalValue.js +2 -2
- package/dist/pools/rwaVault/depositToRWAVault.js +2 -6
- package/dist/pools/rwaVault/getAdapterAddress.js +43 -0
- package/dist/pools/rwaVault/getAdapters.js +20 -0
- package/dist/pools/rwaVault/getNextRandomNFT.js +2 -6
- package/dist/pools/rwaVault/getRWAVaultInfo.js +2 -6
- package/dist/pools/rwaVault/redeemNFTFromRWAVault.js +2 -6
- package/dist/pools/rwaVault/requestRandomSeed.js +2 -6
- package/dist/pools/rwaVault/types.js +2 -0
- package/dist/scripts/index.js +169 -219
- package/dist/types/RPCLibrary.d.ts +15 -1
- package/dist/types/configs/createConfig.d.ts +1 -1
- package/dist/types/pools/lendingPool/_helpers.d.ts +2 -0
- package/dist/types/pools/lendingPool/adapters/erc20/getERC20AdapterBalance.d.ts +1 -2
- package/dist/types/pools/lendingPool/adapters/erc20/getERC20AdapterInfo.d.ts +1 -2
- package/dist/types/pools/lendingPool/adapters/erc721/getERC721AdapterDeposits.d.ts +1 -2
- package/dist/types/pools/lendingPool/adapters/erc721/getERC721AdapterInfo.d.ts +1 -2
- package/dist/types/pools/lendingPool/borrowFromLendingPool.d.ts +4 -3
- package/dist/types/pools/lendingPool/borrowFromLendingPoolWithInsurance.d.ts +4 -3
- package/dist/types/pools/lendingPool/calculateInsuranceFee.d.ts +2 -1
- package/dist/types/pools/lendingPool/closeLiquidation.d.ts +7 -5
- package/dist/types/pools/lendingPool/depositAssetToLendingPool.d.ts +3 -2
- package/dist/types/pools/lendingPool/getAdapterAddress.d.ts +16 -0
- package/dist/types/pools/lendingPool/getHealthFactor.d.ts +6 -4
- package/dist/types/pools/lendingPool/getPositionDebt.d.ts +4 -3
- package/dist/types/pools/lendingPool/getPositionScaledDebt.d.ts +8 -5
- package/dist/types/pools/lendingPool/getPositionView.d.ts +5 -12
- package/dist/types/pools/lendingPool/getWithdrawRequestInfo.d.ts +8 -0
- package/dist/types/pools/lendingPool/initializeLiquidation.d.ts +4 -3
- package/dist/types/pools/lendingPool/openVaultPosition.d.ts +4 -0
- package/dist/types/pools/lendingPool/repayToLendingPool.d.ts +4 -3
- package/dist/types/pools/lendingPool/requestWithdraw.d.ts +4 -0
- package/dist/types/pools/lendingPool/types.d.ts +7 -0
- package/dist/types/pools/lendingPool/withdrawAssetFromLendingPool.d.ts +3 -2
- package/dist/types/pools/rwaVault/_helpers.d.ts +10 -0
- package/dist/types/pools/rwaVault/adapters/erc20/getERC20VaultAdapterAssetValue.d.ts +1 -2
- package/dist/types/pools/rwaVault/adapters/erc20/getERC20VaultAdapterInfo.d.ts +1 -2
- package/dist/types/pools/rwaVault/adapters/erc20/getERC20VaultAdapterTotalValue.d.ts +1 -2
- package/dist/types/pools/rwaVault/adapters/erc721/getERC721VaultAdapterAssetValue.d.ts +1 -2
- package/dist/types/pools/rwaVault/adapters/erc721/getERC721VaultAdapterDeposits.d.ts +1 -2
- package/dist/types/pools/rwaVault/adapters/erc721/getERC721VaultAdapterInfo.d.ts +1 -2
- package/dist/types/pools/rwaVault/adapters/erc721/getERC721VaultAdapterTotalValue.d.ts +1 -2
- package/dist/types/pools/rwaVault/depositToRWAVault.d.ts +3 -2
- package/dist/types/pools/rwaVault/getAdapterAddress.d.ts +16 -0
- package/dist/types/pools/rwaVault/getAdapters.d.ts +8 -0
- package/dist/types/pools/rwaVault/redeemNFTFromRWAVault.d.ts +2 -2
- package/dist/types/pools/rwaVault/requestRandomSeed.d.ts +2 -2
- package/dist/types/pools/rwaVault/types.d.ts +7 -0
- package/dist/types/scripts/index.d.ts +1 -0
- package/dist/types/utils/artifacts.d.ts +0 -131
- package/dist/utils/artifacts.js +0 -2
- package/package.json +1 -1
- package/dist/artifacts/core/tokens/IndexToken.sol/IndexToken.json +0 -770
package/dist/scripts/index.js
CHANGED
|
@@ -1,219 +1,169 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
//
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
//
|
|
23
|
-
|
|
24
|
-
//
|
|
25
|
-
//
|
|
26
|
-
//
|
|
27
|
-
//
|
|
28
|
-
//
|
|
29
|
-
//
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
//
|
|
39
|
-
//
|
|
40
|
-
//
|
|
41
|
-
//
|
|
42
|
-
//
|
|
43
|
-
//
|
|
44
|
-
//
|
|
45
|
-
//
|
|
46
|
-
//
|
|
47
|
-
//
|
|
48
|
-
//
|
|
49
|
-
//
|
|
50
|
-
//
|
|
51
|
-
//
|
|
52
|
-
|
|
53
|
-
//
|
|
54
|
-
|
|
55
|
-
//
|
|
56
|
-
//
|
|
57
|
-
//
|
|
58
|
-
//
|
|
59
|
-
//
|
|
60
|
-
//
|
|
61
|
-
//
|
|
62
|
-
//
|
|
63
|
-
//
|
|
64
|
-
//
|
|
65
|
-
//
|
|
66
|
-
//
|
|
67
|
-
//
|
|
68
|
-
//
|
|
69
|
-
//
|
|
70
|
-
//
|
|
71
|
-
//
|
|
72
|
-
//
|
|
73
|
-
//
|
|
74
|
-
// const
|
|
75
|
-
//
|
|
76
|
-
//
|
|
77
|
-
//
|
|
78
|
-
//
|
|
79
|
-
//
|
|
80
|
-
//
|
|
81
|
-
//
|
|
82
|
-
//
|
|
83
|
-
//
|
|
84
|
-
//
|
|
85
|
-
//
|
|
86
|
-
//
|
|
87
|
-
//
|
|
88
|
-
//
|
|
89
|
-
//
|
|
90
|
-
//
|
|
91
|
-
//
|
|
92
|
-
//
|
|
93
|
-
//
|
|
94
|
-
//
|
|
95
|
-
//
|
|
96
|
-
//
|
|
97
|
-
//
|
|
98
|
-
//
|
|
99
|
-
//
|
|
100
|
-
//
|
|
101
|
-
//
|
|
102
|
-
//
|
|
103
|
-
//
|
|
104
|
-
//
|
|
105
|
-
//
|
|
106
|
-
//
|
|
107
|
-
//
|
|
108
|
-
//
|
|
109
|
-
//
|
|
110
|
-
//
|
|
111
|
-
//
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
//
|
|
167
|
-
//
|
|
168
|
-
//
|
|
169
|
-
|
|
170
|
-
// ) as any as RAACHousePrices;
|
|
171
|
-
// let tx;
|
|
172
|
-
// tx = await housePriceContract.setHousePrice(id, ethers.parseEther(price));
|
|
173
|
-
// console.log(await rpc.nfts.getHousePrice(chainId, parseInt(id), provider));
|
|
174
|
-
// };
|
|
175
|
-
// const fulfillRequest = async () => {
|
|
176
|
-
// const provider = await getProvider();
|
|
177
|
-
// const signer = await createWallet(TEST_MNEMONIC, provider);
|
|
178
|
-
// const rpc = new RPCLibrary();
|
|
179
|
-
// rpc.address = signer.address;
|
|
180
|
-
// rpc.provider = provider;
|
|
181
|
-
// rpc.chainId = chainId;
|
|
182
|
-
// const indexTokenAddress = getContractAddress(chainId, "indextoken");
|
|
183
|
-
// const indexTokenABI = getABI("indextoken");
|
|
184
|
-
// const indexTokenContract = new ethers.Contract(
|
|
185
|
-
// indexTokenAddress,
|
|
186
|
-
// indexTokenABI,
|
|
187
|
-
// signer
|
|
188
|
-
// ) as any as RWAIndexToken;
|
|
189
|
-
// const vrfCoordinatorAddress = "0x9d4454B023096f34B160D6B654540c56A1F81688";
|
|
190
|
-
// const vrfCoordinatorABI = getABI("mockvrfcoordinator");
|
|
191
|
-
// const vrfCoordinatorContract = new ethers.Contract(
|
|
192
|
-
// vrfCoordinatorAddress,
|
|
193
|
-
// vrfCoordinatorABI,
|
|
194
|
-
// signer
|
|
195
|
-
// ) as any as MockVRFCoordinatorV2;
|
|
196
|
-
// const vrfConsumerAddress = "0x5eb3Bc0a489C5A8288765d2336659EbCA68FCd00";
|
|
197
|
-
// const vrfConsumerABI = getABI("vrfconsumer");
|
|
198
|
-
// const vrfConsumerContract = new ethers.Contract(
|
|
199
|
-
// vrfConsumerAddress,
|
|
200
|
-
// vrfConsumerABI,
|
|
201
|
-
// signer
|
|
202
|
-
// ) as any as BaseVRFv2Consumer;
|
|
203
|
-
// await vrfCoordinatorContract.fulfillRandomWordsWithOverride(
|
|
204
|
-
// await vrfConsumerContract.lastRequestId(),
|
|
205
|
-
// vrfConsumerAddress,
|
|
206
|
-
// [12]
|
|
207
|
-
// );
|
|
208
|
-
// const nextRandom = await vrfConsumerContract.getRequestStatus();
|
|
209
|
-
// console.log("Next random number", nextRandom);
|
|
210
|
-
// const redemptionToken = await indexTokenContract.getNextRandomNFT(
|
|
211
|
-
// chainId,
|
|
212
|
-
// provider
|
|
213
|
-
// );
|
|
214
|
-
// console.log("Redemption token", redemptionToken);
|
|
215
|
-
// };
|
|
216
|
-
// // execute();
|
|
217
|
-
// // setup();
|
|
218
|
-
// // fulfillRequest();
|
|
219
|
-
// updateNFTPrice("1", "200000");
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const ethers_1 = require("ethers");
|
|
7
|
+
const chains_1 = __importDefault(require("../configs/chains"));
|
|
8
|
+
//node --env-file=../.env -r ts-node/register ./test.ts
|
|
9
|
+
const RPCLibrary_1 = __importDefault(require("../RPCLibrary"));
|
|
10
|
+
const contracts_1 = require("../utils/contracts");
|
|
11
|
+
const artifacts_1 = require("../utils/artifacts");
|
|
12
|
+
const chainId = 8453;
|
|
13
|
+
const config = chains_1.default[chainId];
|
|
14
|
+
const TEST_MNEMONIC = process.env.TEST_MNEMONIC;
|
|
15
|
+
const TEST_PRIVATE_KEY = process.env.TEST_PRIVATE_KEY;
|
|
16
|
+
async function getProvider() {
|
|
17
|
+
return new ethers_1.ethers.JsonRpcProvider(config.rpcs[0]);
|
|
18
|
+
}
|
|
19
|
+
async function createWallet(mnemonic, provider) {
|
|
20
|
+
const wallet = ethers_1.ethers.Wallet.fromPhrase(mnemonic, provider);
|
|
21
|
+
console.info(`[${chainId}]: Loaded wallet from mnemonic: ${wallet.address}`);
|
|
22
|
+
// the signer is the wallet
|
|
23
|
+
return wallet;
|
|
24
|
+
// load from private key
|
|
25
|
+
// const wallet = new ethers.Wallet(TEST_PRIVATE_KEY, provider);
|
|
26
|
+
// console.info(
|
|
27
|
+
// `[${chainId}]: Loaded wallet from private key: ${wallet.address}`
|
|
28
|
+
// );
|
|
29
|
+
// return wallet;
|
|
30
|
+
}
|
|
31
|
+
async function setup() {
|
|
32
|
+
const provider = await getProvider();
|
|
33
|
+
const signer = await createWallet(TEST_MNEMONIC, provider);
|
|
34
|
+
const rpc = new RPCLibrary_1.default();
|
|
35
|
+
rpc.address = signer.address;
|
|
36
|
+
rpc.provider = provider;
|
|
37
|
+
rpc.chainId = chainId;
|
|
38
|
+
// // send myself some CRVUSD
|
|
39
|
+
// await rpc.wallet.assets.mintAsset(
|
|
40
|
+
// chainId,
|
|
41
|
+
// "crvusd",
|
|
42
|
+
// 10000000n,
|
|
43
|
+
// signer.address,
|
|
44
|
+
// signer
|
|
45
|
+
// );
|
|
46
|
+
// // // set the base uri to instruxi data gateway
|
|
47
|
+
// await rpc.nfts.setBaseUri(
|
|
48
|
+
// chainId,
|
|
49
|
+
// "https://gateway-staging.instruxi.dev/api/v1/vnft/metadata/public/1/0x0000000000000000000000000000",
|
|
50
|
+
// signer
|
|
51
|
+
// );
|
|
52
|
+
console.log(await rpc.pools.lendingPool.getLendingPoolInfo(chainId, signer.address, provider));
|
|
53
|
+
// // // // set the oracle address of the RAACHousePrice. TEmporarily simulating that I AM THE ORACLE
|
|
54
|
+
await rpc.contracts.housePrices.setOracle(chainId, signer.address, signer);
|
|
55
|
+
// // // // // set price for 3 houses
|
|
56
|
+
// const housePriceAddress = getContractAddress(chainId, "raachouseprices");
|
|
57
|
+
// const housePriceABI = getABI("raachouseprices");
|
|
58
|
+
// const housePriceContract = new ethers.Contract(
|
|
59
|
+
// housePriceAddress,
|
|
60
|
+
// housePriceABI,
|
|
61
|
+
// signer
|
|
62
|
+
// ) as any as RAACHousePrices;
|
|
63
|
+
// const raacNFTAddress = getContractAddress(chainId, "raacnft");
|
|
64
|
+
// const raacNFTABI = getABI("raacnft");
|
|
65
|
+
// const raacNFTContract = new ethers.Contract(
|
|
66
|
+
// raacNFTAddress,
|
|
67
|
+
// raacNFTABI,
|
|
68
|
+
// signer
|
|
69
|
+
// ) as any as RAACNFT;
|
|
70
|
+
// const countTokens = 3;
|
|
71
|
+
// // // // Generate 10 house prices between 100K and 2M
|
|
72
|
+
// const housePrices = [];
|
|
73
|
+
// for (let i = 1; i <= countTokens; i++) {
|
|
74
|
+
// const price = Math.floor(Math.random() * (2000000 - 100000) + 100000);
|
|
75
|
+
// housePrices.push(price);
|
|
76
|
+
// }
|
|
77
|
+
// // // // Mint the new properties
|
|
78
|
+
// for (let i = 1; i <= countTokens; i++) {
|
|
79
|
+
// const tx = await raacNFTContract.minterMint(signer.address, i);
|
|
80
|
+
// await tx.wait();
|
|
81
|
+
// console.log("Minted NFT", i);
|
|
82
|
+
// }
|
|
83
|
+
// // // set house prices
|
|
84
|
+
// for (let i = 1; i <= countTokens; i++) {
|
|
85
|
+
// const tx = await housePriceContract.setHousePrice(
|
|
86
|
+
// i,
|
|
87
|
+
// parseEther(housePrices[i - 1].toString())
|
|
88
|
+
// );
|
|
89
|
+
// await tx.wait();
|
|
90
|
+
// console.log("Price set for house", i);
|
|
91
|
+
// }
|
|
92
|
+
// // // confirm the house prices are set
|
|
93
|
+
// for (let i = 1; i <= countTokens; i++) {
|
|
94
|
+
// const price = await rpc.nfts.getHousePrice(chainId, i, provider);
|
|
95
|
+
// console.log("Price for house", i, price);
|
|
96
|
+
// if (price !== housePrices[i - 1].toString() + ".0") {
|
|
97
|
+
// throw new Error("Price not set correctly");
|
|
98
|
+
// }
|
|
99
|
+
// }
|
|
100
|
+
// // Generate some random NFT and set price only: not purchased yet
|
|
101
|
+
// let nftIdStart = countTokens + 1;
|
|
102
|
+
// let nftIdEnd = countTokens + 10;
|
|
103
|
+
// for (let i = nftIdStart; i <= nftIdEnd; i++) {
|
|
104
|
+
// const price = Math.floor(Math.random() * (2000000 - 100000) + 100000);
|
|
105
|
+
// const tx = await housePriceContract.setHousePrice(
|
|
106
|
+
// i,
|
|
107
|
+
// parseEther(price.toString())
|
|
108
|
+
// );
|
|
109
|
+
// await tx.wait();
|
|
110
|
+
// console.log("Price set for house", i);
|
|
111
|
+
// }
|
|
112
|
+
}
|
|
113
|
+
const execute = async () => {
|
|
114
|
+
const provider = await getProvider();
|
|
115
|
+
const signer = await createWallet(TEST_MNEMONIC, provider);
|
|
116
|
+
const rpc = new RPCLibrary_1.default();
|
|
117
|
+
rpc.address = signer.address;
|
|
118
|
+
rpc.provider = provider;
|
|
119
|
+
rpc.chainId = chainId;
|
|
120
|
+
const lendingPoolAddress = (0, contracts_1.getContractAddress)(chainId, "lendingpool");
|
|
121
|
+
const lendingPoolABI = (0, artifacts_1.getABI)("lendingpool");
|
|
122
|
+
const lendingPoolContract = new ethers_1.ethers.Contract(lendingPoolAddress, lendingPoolABI, signer);
|
|
123
|
+
console.log(await lendingPoolContract.primeRateOracle());
|
|
124
|
+
const primeRateOracleAddress = (0, contracts_1.getContractAddress)(chainId, "raacprimerateoracle");
|
|
125
|
+
const primeRateOracleABI = (0, artifacts_1.getABI)("raacprimerateoracle");
|
|
126
|
+
const primeRateOracleContract = new ethers_1.ethers.Contract(primeRateOracleAddress, primeRateOracleABI, signer);
|
|
127
|
+
console.log(await primeRateOracleContract.lastPrimeRate());
|
|
128
|
+
};
|
|
129
|
+
const updateNFTPrice = async (id, price) => {
|
|
130
|
+
const provider = await getProvider();
|
|
131
|
+
const signer = await createWallet(TEST_MNEMONIC, provider);
|
|
132
|
+
const rpc = new RPCLibrary_1.default();
|
|
133
|
+
rpc.address = signer.address;
|
|
134
|
+
rpc.provider = provider;
|
|
135
|
+
rpc.chainId = chainId;
|
|
136
|
+
const housePriceAddress = (0, contracts_1.getContractAddress)(chainId, "raachouseprices");
|
|
137
|
+
const housePriceABI = (0, artifacts_1.getABI)("raachouseprices");
|
|
138
|
+
const housePriceContract = new ethers_1.ethers.Contract(housePriceAddress, housePriceABI, signer);
|
|
139
|
+
let tx;
|
|
140
|
+
tx = await housePriceContract.setHousePrice(id, ethers_1.ethers.parseEther(price));
|
|
141
|
+
console.log(await rpc.nfts.getHousePrice(chainId, parseInt(id), provider));
|
|
142
|
+
};
|
|
143
|
+
const fulfillRequest = async () => {
|
|
144
|
+
const provider = await getProvider();
|
|
145
|
+
const signer = await createWallet(TEST_MNEMONIC, provider);
|
|
146
|
+
const rpc = new RPCLibrary_1.default();
|
|
147
|
+
rpc.address = signer.address;
|
|
148
|
+
rpc.provider = provider;
|
|
149
|
+
rpc.chainId = chainId;
|
|
150
|
+
const rwaVaultAddress = (0, contracts_1.getContractAddress)(chainId, "rwavault");
|
|
151
|
+
const rwaVaultABI = (0, artifacts_1.getABI)("rwavault");
|
|
152
|
+
const rwaVaultContract = new ethers_1.ethers.Contract(rwaVaultAddress, rwaVaultABI, signer);
|
|
153
|
+
const vrfCoordinatorAddress = "0x84eA74d481Ee0A5332c457a4d796187F6Ba67fEB";
|
|
154
|
+
const vrfCoordinatorABI = (0, artifacts_1.getABI)("mockvrfcoordinator");
|
|
155
|
+
const vrfCoordinatorContract = new ethers_1.ethers.Contract(vrfCoordinatorAddress, vrfCoordinatorABI, signer);
|
|
156
|
+
const vrfConsumerAddress = "0x1613beB3B2C4f22Ee086B2b38C1476A3cE7f78E8";
|
|
157
|
+
const vrfConsumerABI = (0, artifacts_1.getABI)("vrfconsumer");
|
|
158
|
+
const vrfConsumerContract = new ethers_1.ethers.Contract(vrfConsumerAddress, vrfConsumerABI, signer);
|
|
159
|
+
console.log(await vrfConsumerContract.lastRequestId());
|
|
160
|
+
await vrfCoordinatorContract.fulfillRandomWordsWithOverride(await vrfConsumerContract.lastRequestId(), vrfConsumerAddress, [12]);
|
|
161
|
+
const nextRandom = await vrfConsumerContract.getRequestStatus();
|
|
162
|
+
console.log("Next random number", nextRandom);
|
|
163
|
+
const redemptionToken = await rwaVaultContract.getNextRandomNFT();
|
|
164
|
+
console.log("Redemption token", redemptionToken);
|
|
165
|
+
};
|
|
166
|
+
// execute();
|
|
167
|
+
// setup();
|
|
168
|
+
// fulfillRequest();
|
|
169
|
+
setup();
|
|
@@ -80,6 +80,12 @@ import calculateInsuranceFee from "./pools/lendingPool/calculateInsuranceFee";
|
|
|
80
80
|
import getTotalPropertiesCount from "./nfts/getTotalPropertiesCount";
|
|
81
81
|
import getParameters from "./pools/lendingPool/getParameters";
|
|
82
82
|
import getAdapters from "./pools/lendingPool/getAdapters";
|
|
83
|
+
import { getWithdrawRequestInfo } from "./pools/lendingPool/getWithdrawRequestInfo";
|
|
84
|
+
import { requestWithdraw } from "./pools/lendingPool/requestWithdraw";
|
|
85
|
+
import openVaultPosition from "./pools/lendingPool/openVaultPosition";
|
|
86
|
+
import { getAdapterAddress as getLendingPoolAdapterAddress, getAdapterAddressOnly as getLendingPoolAdapterAddressOnly } from "./pools/lendingPool/getAdapterAddress";
|
|
87
|
+
import { getAdapterAddress as getRWAVaultAdapterAddress, getAdapterAddressOnly as getRWAVaultAdapterAddressOnly } from "./pools/rwaVault/getAdapterAddress";
|
|
88
|
+
import getRWAVaultAdapters from "./pools/rwaVault/getAdapters";
|
|
83
89
|
declare class RPCLibrary {
|
|
84
90
|
signer: Signer | null;
|
|
85
91
|
isConnected: boolean;
|
|
@@ -165,6 +171,11 @@ declare class RPCLibrary {
|
|
|
165
171
|
getERC20AdapterBalance: typeof getERC20AdapterBalance;
|
|
166
172
|
getERC721AdapterInfo: typeof getERC721AdapterInfo;
|
|
167
173
|
getERC721AdapterDeposits: typeof getERC721AdapterDeposits;
|
|
174
|
+
requestWithdraw: typeof requestWithdraw;
|
|
175
|
+
getWithdrawRequestInfo: typeof getWithdrawRequestInfo;
|
|
176
|
+
openVaultPosition: typeof openVaultPosition;
|
|
177
|
+
getAdapterAddress: typeof getLendingPoolAdapterAddress;
|
|
178
|
+
getAdapterAddressOnly: typeof getLendingPoolAdapterAddressOnly;
|
|
168
179
|
};
|
|
169
180
|
rwaVault: {
|
|
170
181
|
depositToRWAVault: typeof depositToRWAVault;
|
|
@@ -179,6 +190,9 @@ declare class RPCLibrary {
|
|
|
179
190
|
getERC721VaultAdapterDeposits: typeof getERC721VaultAdapterDeposits;
|
|
180
191
|
getERC721VaultAdapterTotalValue: typeof getERC721VaultAdapterTotalValue;
|
|
181
192
|
getERC721VaultAdapterAssetValue: typeof getERC721VaultAdapterAssetValue;
|
|
193
|
+
getAdapters: typeof getRWAVaultAdapters;
|
|
194
|
+
getAdapterAddress: typeof getRWAVaultAdapterAddress;
|
|
195
|
+
getAdapterAddressOnly: typeof getRWAVaultAdapterAddressOnly;
|
|
182
196
|
};
|
|
183
197
|
depositToLendingPool: typeof depositToLendingPool;
|
|
184
198
|
withdrawFromLendingPool: typeof withdrawFromLendingPool;
|
|
@@ -204,7 +218,7 @@ declare class RPCLibrary {
|
|
|
204
218
|
setChainsConfig: typeof setChainConfig;
|
|
205
219
|
constructor(privateKey?: string);
|
|
206
220
|
getWallet(privateKey: string, provider: Provider): Promise<ethers.JsonRpcSigner | ethers.Wallet>;
|
|
207
|
-
getProvider(chainId: ChainId, providerRpc?: string): Promise<ethers.
|
|
221
|
+
getProvider(chainId: ChainId, providerRpc?: string): Promise<ethers.JsonRpcProvider | ethers.BrowserProvider>;
|
|
208
222
|
getSigner(chainId: ChainId, address: string): Promise<ethers.JsonRpcSigner>;
|
|
209
223
|
connectWallet(): Promise<void>;
|
|
210
224
|
checkConnection(): Promise<void>;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { BytesLike, ethers } from "ethers";
|
|
2
2
|
import { ChainId } from "../../configs/chains";
|
|
3
3
|
import { Adapter } from "../../configs/chains/chain";
|
|
4
|
+
import { LendingPool } from "../../typechain-types";
|
|
4
5
|
export declare function encodeERC721(tokenId: string): string;
|
|
5
6
|
export declare function decodeERC721(data: BytesLike): ethers.Result;
|
|
6
7
|
export declare function encodeERC20(amount: string): string;
|
|
7
8
|
export declare function decodeERC20(data: BytesLike): bigint;
|
|
8
9
|
export declare function getLendingPoolAdapterByAddress(chainId: ChainId, address: string): Adapter;
|
|
10
|
+
export declare function getLendingPoolContract(chainId: ChainId): Promise<LendingPool>;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import { Signer } from "ethers";
|
|
2
|
-
|
|
3
|
-
declare function getERC20AdapterBalance(chainId: ChainId, adapterAddress: string, userAddress: string, signer: Signer): Promise<string>;
|
|
2
|
+
declare function getERC20AdapterBalance(adapterAddress: string, userAddress: string, signer: Signer): Promise<string>;
|
|
4
3
|
export default getERC20AdapterBalance;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Signer } from "ethers";
|
|
2
|
-
import { ChainId } from "../../../../configs/chains/index";
|
|
3
2
|
interface ERC20AdapterInfo {
|
|
4
3
|
token: string;
|
|
5
4
|
priceOracle: string;
|
|
@@ -7,5 +6,5 @@ interface ERC20AdapterInfo {
|
|
|
7
6
|
assetType: string;
|
|
8
7
|
supportsPartialWithdraw: boolean;
|
|
9
8
|
}
|
|
10
|
-
declare function getERC20AdapterInfo(
|
|
9
|
+
declare function getERC20AdapterInfo(adapterAddress: string, signer: Signer): Promise<ERC20AdapterInfo>;
|
|
11
10
|
export default getERC20AdapterInfo;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import { Signer } from "ethers";
|
|
2
|
-
|
|
3
|
-
declare function getERC721AdapterDeposits(chainId: ChainId, adapterAddress: string, userAddress: string, signer: Signer): Promise<bigint[]>;
|
|
2
|
+
declare function getERC721AdapterDeposits(adapterAddress: string, userAddress: string, signer: Signer): Promise<bigint[]>;
|
|
4
3
|
export default getERC721AdapterDeposits;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Signer } from "ethers";
|
|
2
|
-
import { ChainId } from "../../../../configs/chains/index";
|
|
3
2
|
interface ERC721AdapterInfo {
|
|
4
3
|
token: string;
|
|
5
4
|
priceOracle: string;
|
|
@@ -7,5 +6,5 @@ interface ERC721AdapterInfo {
|
|
|
7
6
|
assetType: string;
|
|
8
7
|
supportsPartialWithdraw: boolean;
|
|
9
8
|
}
|
|
10
|
-
declare function getERC721AdapterInfo(
|
|
9
|
+
declare function getERC721AdapterInfo(adapterAddress: string, signer: Signer): Promise<ERC721AdapterInfo>;
|
|
11
10
|
export default getERC721AdapterInfo;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import { ChainId } from "../../configs/chains";
|
|
2
|
+
import { LendingPoolAdapterId } from "./types";
|
|
3
|
+
import { BigNumberish, BytesLike } from "ethers";
|
|
4
|
+
declare function borrowFromLendingPool(chainId: ChainId, adapterName: LendingPoolAdapterId, amount: BigNumberish, data: BytesLike): Promise<boolean>;
|
|
4
5
|
export default borrowFromLendingPool;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ChainId } from "../../configs/chains
|
|
3
|
-
|
|
1
|
+
import { BigNumberish, BytesLike } from "ethers";
|
|
2
|
+
import { ChainId } from "../../configs/chains";
|
|
3
|
+
import { LendingPoolAdapterId } from "./types";
|
|
4
|
+
declare function borrowFromLendingPoolWithInsurance(chainId: ChainId, adapterName: LendingPoolAdapterId, amount: BigNumberish, data: BytesLike): Promise<boolean>;
|
|
4
5
|
export default borrowFromLendingPoolWithInsurance;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { BytesLike, Provider } from "ethers";
|
|
2
2
|
import { ChainId } from "../../configs/chains/index";
|
|
3
|
-
|
|
3
|
+
import { LendingPoolAdapterId } from "./types";
|
|
4
|
+
declare function calculateInsuranceFee(chainId: ChainId, adapterName: LendingPoolAdapterId, userAddress: string, data: BytesLike, amount: string, provider: Provider): Promise<bigint>;
|
|
4
5
|
export default calculateInsuranceFee;
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { ChainId } from "../../configs/chains";
|
|
2
|
+
import { LendingPoolAdapterId } from "./types";
|
|
3
|
+
import { BytesLike } from "ethers";
|
|
3
4
|
/**
|
|
4
5
|
* @description Close the liqudation after the debt has been paid
|
|
5
6
|
* @param chainId
|
|
6
|
-
* @param
|
|
7
|
-
* @param
|
|
7
|
+
* @param lendingPoolAddress
|
|
8
|
+
* @param adapterName
|
|
9
|
+
* @param data
|
|
8
10
|
* @returns
|
|
9
11
|
*/
|
|
10
|
-
declare function closeLiquidation(chainId: ChainId,
|
|
12
|
+
declare function closeLiquidation(chainId: ChainId, adapterName: LendingPoolAdapterId, data: BytesLike): Promise<boolean>;
|
|
11
13
|
export default closeLiquidation;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { BytesLike
|
|
1
|
+
import { BytesLike } from "ethers";
|
|
2
2
|
import { ChainId } from "../../configs/chains";
|
|
3
|
-
|
|
3
|
+
import { LendingPoolAdapterId } from "./types";
|
|
4
|
+
declare function depositAssetToLendingPool(chainId: ChainId, adapterName: LendingPoolAdapterId, data: BytesLike): Promise<boolean>;
|
|
4
5
|
export default depositAssetToLendingPool;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ChainId } from "../../configs/chains";
|
|
2
|
+
import { AdapterInfo, LendingPoolAdapterId } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* Get the adapter address and type for a given adapter name
|
|
5
|
+
* @param chainId The chain ID
|
|
6
|
+
* @param adapterName The name of the adapter (e.g., "rwaindextokenadapter")
|
|
7
|
+
* @returns The adapter address and type, or null if not found
|
|
8
|
+
*/
|
|
9
|
+
export declare function getAdapterAddress(chainId: ChainId, adapterName: LendingPoolAdapterId): AdapterInfo | null;
|
|
10
|
+
/**
|
|
11
|
+
* Get the adapter address for a given adapter name
|
|
12
|
+
* @param chainId The chain ID
|
|
13
|
+
* @param adapterName The name of the adapter (e.g., "rwaindextokenadapter")
|
|
14
|
+
* @returns The adapter address, or null if not found
|
|
15
|
+
*/
|
|
16
|
+
export declare function getAdapterAddressOnly(chainId: ChainId, adapterName: LendingPoolAdapterId): string | null;
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import { BytesLike
|
|
1
|
+
import { BytesLike } from "ethers";
|
|
2
2
|
import { ChainId } from "../../configs/chains/index";
|
|
3
|
+
import { LendingPoolAdapterId } from "./types";
|
|
3
4
|
/**
|
|
4
5
|
* @description Get the health factor of a NFT position -> factor < 1 : undercollateralized.
|
|
5
6
|
* @param chainId
|
|
6
|
-
* @param
|
|
7
|
+
* @param adapterName
|
|
8
|
+
* @param userAddress
|
|
9
|
+
* @param data
|
|
7
10
|
* @param provider
|
|
8
11
|
* @returns The health factor of a position (0, inf)
|
|
9
12
|
*/
|
|
10
|
-
|
|
11
|
-
export default getHealthFactor;
|
|
13
|
+
export default function getHealthFactor(chainId: ChainId, adapterName: LendingPoolAdapterId, userAddress: string, data: BytesLike): Promise<bigint>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { ChainId } from "../../configs/chains";
|
|
2
|
+
import { LendingPoolAdapterId } from "./types";
|
|
3
|
+
import { BytesLike } from "ethers";
|
|
3
4
|
/**
|
|
4
5
|
* @description Get the raw debt of the user on a NFT. Equivant to the original amount borrowed on NFT.
|
|
5
6
|
* @param chainId
|
|
@@ -7,5 +8,5 @@ import { ChainId } from "../../configs/chains/index";
|
|
|
7
8
|
* @param provider
|
|
8
9
|
* @returns The raw debt of the user on a NFT
|
|
9
10
|
*/
|
|
10
|
-
declare function getPositionDebt(chainId: ChainId,
|
|
11
|
+
declare function getPositionDebt(chainId: ChainId, adapterName: LendingPoolAdapterId, userAddress: string, data: BytesLike): Promise<bigint>;
|
|
11
12
|
export default getPositionDebt;
|