@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.
Files changed (97) hide show
  1. package/dist/RPCLibrary.js +14 -0
  2. package/dist/configs/chains/11155111.json +8 -3
  3. package/dist/configs/chains/17000.json +16 -17
  4. package/dist/configs/chains/8453.json +32 -33
  5. package/dist/configs/createConfig.js +3 -3
  6. package/dist/pools/lendingPool/_helpers.js +12 -0
  7. package/dist/pools/lendingPool/adapters/erc20/getERC20AdapterBalance.js +1 -1
  8. package/dist/pools/lendingPool/adapters/erc20/getERC20AdapterInfo.js +1 -1
  9. package/dist/pools/lendingPool/adapters/erc721/getERC721AdapterDeposits.js +1 -1
  10. package/dist/pools/lendingPool/adapters/erc721/getERC721AdapterInfo.js +1 -1
  11. package/dist/pools/lendingPool/borrowFromLendingPool.js +11 -14
  12. package/dist/pools/lendingPool/borrowFromLendingPoolWithInsurance.js +10 -29
  13. package/dist/pools/lendingPool/calculateInsuranceFee.js +11 -8
  14. package/dist/pools/lendingPool/closeLiquidation.js +15 -14
  15. package/dist/pools/lendingPool/depositAssetToLendingPool.js +11 -49
  16. package/dist/pools/lendingPool/depositToLendingPool.js +2 -5
  17. package/dist/pools/lendingPool/getAdapterAddress.js +44 -0
  18. package/dist/pools/lendingPool/getAdapters.js +2 -6
  19. package/dist/pools/lendingPool/getEligibleUserDeposits.js +2 -5
  20. package/dist/pools/lendingPool/getHealthFactor.js +15 -13
  21. package/dist/pools/lendingPool/getLendingPoolInfo.js +6 -12
  22. package/dist/pools/lendingPool/getLendingPoolTotalLiquidity.js +2 -6
  23. package/dist/pools/lendingPool/getParameters.js +2 -6
  24. package/dist/pools/lendingPool/getPositionDebt.js +11 -11
  25. package/dist/pools/lendingPool/getPositionScaledDebt.js +15 -13
  26. package/dist/pools/lendingPool/getPositionView.js +13 -10
  27. package/dist/pools/lendingPool/getPositionsScaledDebt.js +2 -5
  28. package/dist/pools/lendingPool/getRawUserDepositsInLendingPool.js +2 -5
  29. package/dist/pools/lendingPool/getUserCollateralValue.js +2 -5
  30. package/dist/pools/lendingPool/getWithdrawRequestInfo.js +25 -0
  31. package/dist/pools/lendingPool/initializeLiquidation.js +12 -12
  32. package/dist/pools/lendingPool/openVaultPosition.js +42 -0
  33. package/dist/pools/lendingPool/repayToLendingPool.js +11 -14
  34. package/dist/pools/lendingPool/requestWithdraw.js +28 -0
  35. package/dist/pools/lendingPool/types.js +2 -0
  36. package/dist/pools/lendingPool/withdrawAssetFromLendingPool.js +15 -17
  37. package/dist/pools/lendingPool/withdrawFromLendingPool.js +3 -4
  38. package/dist/pools/rwaVault/_helpers.js +41 -0
  39. package/dist/pools/rwaVault/adapters/erc20/getERC20VaultAdapterAssetValue.js +2 -2
  40. package/dist/pools/rwaVault/adapters/erc20/getERC20VaultAdapterInfo.js +2 -2
  41. package/dist/pools/rwaVault/adapters/erc20/getERC20VaultAdapterTotalValue.js +2 -2
  42. package/dist/pools/rwaVault/adapters/erc721/getERC721VaultAdapterAssetValue.js +1 -1
  43. package/dist/pools/rwaVault/adapters/erc721/getERC721VaultAdapterDeposits.js +2 -2
  44. package/dist/pools/rwaVault/adapters/erc721/getERC721VaultAdapterInfo.js +2 -2
  45. package/dist/pools/rwaVault/adapters/erc721/getERC721VaultAdapterTotalValue.js +2 -2
  46. package/dist/pools/rwaVault/depositToRWAVault.js +2 -6
  47. package/dist/pools/rwaVault/getAdapterAddress.js +43 -0
  48. package/dist/pools/rwaVault/getAdapters.js +20 -0
  49. package/dist/pools/rwaVault/getNextRandomNFT.js +2 -6
  50. package/dist/pools/rwaVault/getRWAVaultInfo.js +2 -6
  51. package/dist/pools/rwaVault/redeemNFTFromRWAVault.js +2 -6
  52. package/dist/pools/rwaVault/requestRandomSeed.js +2 -6
  53. package/dist/pools/rwaVault/types.js +2 -0
  54. package/dist/scripts/index.js +169 -219
  55. package/dist/types/RPCLibrary.d.ts +15 -1
  56. package/dist/types/configs/createConfig.d.ts +1 -1
  57. package/dist/types/pools/lendingPool/_helpers.d.ts +2 -0
  58. package/dist/types/pools/lendingPool/adapters/erc20/getERC20AdapterBalance.d.ts +1 -2
  59. package/dist/types/pools/lendingPool/adapters/erc20/getERC20AdapterInfo.d.ts +1 -2
  60. package/dist/types/pools/lendingPool/adapters/erc721/getERC721AdapterDeposits.d.ts +1 -2
  61. package/dist/types/pools/lendingPool/adapters/erc721/getERC721AdapterInfo.d.ts +1 -2
  62. package/dist/types/pools/lendingPool/borrowFromLendingPool.d.ts +4 -3
  63. package/dist/types/pools/lendingPool/borrowFromLendingPoolWithInsurance.d.ts +4 -3
  64. package/dist/types/pools/lendingPool/calculateInsuranceFee.d.ts +2 -1
  65. package/dist/types/pools/lendingPool/closeLiquidation.d.ts +7 -5
  66. package/dist/types/pools/lendingPool/depositAssetToLendingPool.d.ts +3 -2
  67. package/dist/types/pools/lendingPool/getAdapterAddress.d.ts +16 -0
  68. package/dist/types/pools/lendingPool/getHealthFactor.d.ts +6 -4
  69. package/dist/types/pools/lendingPool/getPositionDebt.d.ts +4 -3
  70. package/dist/types/pools/lendingPool/getPositionScaledDebt.d.ts +8 -5
  71. package/dist/types/pools/lendingPool/getPositionView.d.ts +5 -12
  72. package/dist/types/pools/lendingPool/getWithdrawRequestInfo.d.ts +8 -0
  73. package/dist/types/pools/lendingPool/initializeLiquidation.d.ts +4 -3
  74. package/dist/types/pools/lendingPool/openVaultPosition.d.ts +4 -0
  75. package/dist/types/pools/lendingPool/repayToLendingPool.d.ts +4 -3
  76. package/dist/types/pools/lendingPool/requestWithdraw.d.ts +4 -0
  77. package/dist/types/pools/lendingPool/types.d.ts +7 -0
  78. package/dist/types/pools/lendingPool/withdrawAssetFromLendingPool.d.ts +3 -2
  79. package/dist/types/pools/rwaVault/_helpers.d.ts +10 -0
  80. package/dist/types/pools/rwaVault/adapters/erc20/getERC20VaultAdapterAssetValue.d.ts +1 -2
  81. package/dist/types/pools/rwaVault/adapters/erc20/getERC20VaultAdapterInfo.d.ts +1 -2
  82. package/dist/types/pools/rwaVault/adapters/erc20/getERC20VaultAdapterTotalValue.d.ts +1 -2
  83. package/dist/types/pools/rwaVault/adapters/erc721/getERC721VaultAdapterAssetValue.d.ts +1 -2
  84. package/dist/types/pools/rwaVault/adapters/erc721/getERC721VaultAdapterDeposits.d.ts +1 -2
  85. package/dist/types/pools/rwaVault/adapters/erc721/getERC721VaultAdapterInfo.d.ts +1 -2
  86. package/dist/types/pools/rwaVault/adapters/erc721/getERC721VaultAdapterTotalValue.d.ts +1 -2
  87. package/dist/types/pools/rwaVault/depositToRWAVault.d.ts +3 -2
  88. package/dist/types/pools/rwaVault/getAdapterAddress.d.ts +16 -0
  89. package/dist/types/pools/rwaVault/getAdapters.d.ts +8 -0
  90. package/dist/types/pools/rwaVault/redeemNFTFromRWAVault.d.ts +2 -2
  91. package/dist/types/pools/rwaVault/requestRandomSeed.d.ts +2 -2
  92. package/dist/types/pools/rwaVault/types.d.ts +7 -0
  93. package/dist/types/scripts/index.d.ts +1 -0
  94. package/dist/types/utils/artifacts.d.ts +0 -131
  95. package/dist/utils/artifacts.js +0 -2
  96. package/package.json +1 -1
  97. package/dist/artifacts/core/tokens/IndexToken.sol/IndexToken.json +0 -770
@@ -1,219 +1,169 @@
1
- // import { ethers, parseEther, Provider, WebSocketProvider } from "ethers";
2
- // import chains, { ChainId } from "../configs/chains";
3
- // //node --env-file=../.env -r ts-node/register ./test.ts
4
- // import RPCLibrary from "../RPCLibrary";
5
- // import { getContractAddress } from "../utils/contracts";
6
- // import { getABI } from "../utils/artifacts";
7
- // import {
8
- // BaseVRFv2Consumer,
9
- // DEToken,
10
- // RWAIndexToken,
11
- // LendingPool,
12
- // MockVRFCoordinatorV2,
13
- // RAACHousePrices,
14
- // RAACNFT,
15
- // RAACPrimeRateOracle,
16
- // } from "../typechain-types";
17
- // const chainId = 8453;
18
- // const config = chains[chainId];
19
- // const TEST_MNEMONIC = process.env.TEST_MNEMONIC as string;
20
- // const TEST_PRIVATE_KEY = process.env.TEST_PRIVATE_KEY as string;
21
- // async function getProvider() {
22
- // return new ethers.JsonRpcProvider(config.rpcs[0]);
23
- // }
24
- // async function createWallet(mnemonic: string, provider: Provider) {
25
- // const wallet = ethers.Wallet.fromPhrase(mnemonic, provider);
26
- // console.info(`[${chainId}]: Loaded wallet from mnemonic: ${wallet.address}`);
27
- // // the signer is the wallet
28
- // return wallet;
29
- // // load from private key
30
- // // const wallet = new ethers.Wallet(TEST_PRIVATE_KEY, provider);
31
- // // console.info(
32
- // // `[${chainId}]: Loaded wallet from private key: ${wallet.address}`
33
- // // );
34
- // // return wallet;
35
- // }
36
- // async function setup() {
37
- // const provider = await getProvider();
38
- // const signer = await createWallet(TEST_MNEMONIC, provider);
39
- // const rpc = new RPCLibrary();
40
- // rpc.address = signer.address;
41
- // rpc.provider = provider;
42
- // rpc.chainId = chainId;
43
- // // send myself some CRVUSD
44
- // await rpc.wallet.assets.mintAsset(
45
- // chainId,
46
- // "crvusd",
47
- // 10000000n,
48
- // signer.address,
49
- // signer
50
- // );
51
- // // // set the base uri to instruxi data gateway
52
- // await rpc.nfts.setBaseUri(
53
- // chainId,
54
- // "https://gateway-staging.instruxi.dev/api/v1/vnft/metadata/public/1/0x0000000000000000000000000000",
55
- // signer
56
- // );
57
- // // // // set the oracle address of the RAACHousePrice. TEmporarily simulating that I AM THE ORACLE
58
- // await rpc.contracts.housePrices.setOracle(chainId, signer.address, signer);
59
- // // // // set price for 3 houses
60
- // const housePriceAddress = getContractAddress(chainId, "raachouseprices");
61
- // const housePriceABI = getABI("raachouseprices");
62
- // const housePriceContract = new ethers.Contract(
63
- // housePriceAddress,
64
- // housePriceABI,
65
- // signer
66
- // ) as any as RAACHousePrices;
67
- // const raacNFTAddress = getContractAddress(chainId, "raacnft");
68
- // const raacNFTABI = getABI("raacnft");
69
- // const raacNFTContract = new ethers.Contract(
70
- // raacNFTAddress,
71
- // raacNFTABI,
72
- // signer
73
- // ) as any as RAACNFT;
74
- // const countTokens = 3;
75
- // // // Generate 10 house prices between 100K and 2M
76
- // const housePrices = [];
77
- // for (let i = 1; i <= countTokens; i++) {
78
- // const price = Math.floor(Math.random() * (2000000 - 100000) + 100000);
79
- // housePrices.push(price);
80
- // }
81
- // // // Mint the new properties
82
- // for (let i = 1; i <= countTokens; i++) {
83
- // const tx = await raacNFTContract.minterMint(signer.address, i);
84
- // await tx.wait();
85
- // console.log("Minted NFT", i);
86
- // }
87
- // // set house prices
88
- // for (let i = 1; i <= countTokens; i++) {
89
- // const tx = await housePriceContract.setHousePrice(
90
- // i,
91
- // parseEther(housePrices[i - 1].toString())
92
- // );
93
- // await tx.wait();
94
- // console.log("Price set for house", i);
95
- // }
96
- // // confirm the house prices are set
97
- // for (let i = 1; i <= countTokens; i++) {
98
- // const price = await rpc.nfts.getHousePrice(chainId, i, provider);
99
- // console.log("Price for house", i, price);
100
- // if (price !== housePrices[i - 1].toString() + ".0") {
101
- // throw new Error("Price not set correctly");
102
- // }
103
- // }
104
- // // Generate some random NFT and set price only: not purchased yet
105
- // let nftIdStart = countTokens + 1;
106
- // let nftIdEnd = countTokens + 10;
107
- // for (let i = nftIdStart; i <= nftIdEnd; i++) {
108
- // const price = Math.floor(Math.random() * (2000000 - 100000) + 100000);
109
- // const tx = await housePriceContract.setHousePrice(
110
- // i,
111
- // parseEther(price.toString())
112
- // );
113
- // await tx.wait();
114
- // console.log("Price set for house", i);
115
- // }
116
- // /// Temporary fix for stabillity pool setStabilityPool
117
- // const stabilityPoolAddress = getContractAddress(chainId, "stabilitypool");
118
- // const deTokenAddress = getContractAddress(chainId, "detoken");
119
- // const deTokenABI = getABI("detoken");
120
- // const deTokenContract = new ethers.Contract(
121
- // deTokenAddress,
122
- // deTokenABI,
123
- // signer
124
- // ) as any as DEToken;
125
- // const tx = await deTokenContract.setStabilityPool(stabilityPoolAddress);
126
- // await tx.wait();
127
- // console.log("Stability pool set to", stabilityPoolAddress);
128
- // fulfillRequest();
129
- // }
130
- // const execute = async () => {
131
- // const provider = await getProvider();
132
- // const signer = await createWallet(TEST_MNEMONIC, provider);
133
- // const rpc = new RPCLibrary();
134
- // rpc.address = signer.address;
135
- // rpc.provider = provider;
136
- // rpc.chainId = chainId;
137
- // const lendingPoolAddress = getContractAddress(chainId, "lendingpool");
138
- // const lendingPoolABI = getABI("lendingpool");
139
- // const lendingPoolContract = new ethers.Contract(
140
- // lendingPoolAddress,
141
- // lendingPoolABI,
142
- // signer
143
- // ) as any as LendingPool;
144
- // console.log(await lendingPoolContract.primeRateOracle());
145
- // const primeRateOracleAddress = getContractAddress(
146
- // chainId,
147
- // "raacprimerateoracle"
148
- // );
149
- // const primeRateOracleABI = getABI("raacprimerateoracle");
150
- // const primeRateOracleContract = new ethers.Contract(
151
- // primeRateOracleAddress,
152
- // primeRateOracleABI,
153
- // signer
154
- // ) as any as RAACPrimeRateOracle;
155
- // console.log(await primeRateOracleContract.lastPrimeRate());
156
- // };
157
- // const updateNFTPrice = async (id: string, price: string) => {
158
- // const provider = await getProvider();
159
- // const signer = await createWallet(TEST_MNEMONIC, provider);
160
- // const rpc = new RPCLibrary();
161
- // rpc.address = signer.address;
162
- // rpc.provider = provider;
163
- // rpc.chainId = chainId;
164
- // const housePriceAddress = getContractAddress(chainId, "raachouseprices");
165
- // const housePriceABI = getABI("raachouseprices");
166
- // const housePriceContract = new ethers.Contract(
167
- // housePriceAddress,
168
- // housePriceABI,
169
- // signer
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.BrowserProvider | ethers.JsonRpcProvider>;
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>;
@@ -81,7 +81,7 @@ declare function createConfig(chainId: ChainId): {
81
81
  decimals: number;
82
82
  contract: string;
83
83
  };
84
- indextoken: {
84
+ rwaindextoken: {
85
85
  id: string;
86
86
  name: string;
87
87
  decimals: number;
@@ -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
- import { ChainId } from "../../../../configs/chains/index";
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(chainId: ChainId, adapterAddress: string, signer: Signer): Promise<ERC20AdapterInfo>;
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
- import { ChainId } from "../../../../configs/chains/index";
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(chainId: ChainId, adapterAddress: string, signer: Signer): Promise<ERC721AdapterInfo>;
9
+ declare function getERC721AdapterInfo(adapterAddress: string, signer: Signer): Promise<ERC721AdapterInfo>;
11
10
  export default getERC721AdapterInfo;
@@ -1,4 +1,5 @@
1
- import { BytesLike, ethers, Signer } from "ethers";
2
- import { ChainId } from "../../configs/chains/index";
3
- declare function borrowFromLendingPool(chainId: ChainId, adapter: string, data: BytesLike, amount: string, signer: Signer): Promise<ethers.ContractTransactionReceipt>;
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 { BytesLike, ethers, Signer } from "ethers";
2
- import { ChainId } from "../../configs/chains/index";
3
- declare function borrowFromLendingPoolWithInsurance(chainId: ChainId, adapter: string, data: BytesLike, amount: string, signer: Signer): Promise<ethers.ContractTransactionReceipt>;
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
- declare function calculateInsuranceFee(chainId: ChainId, adapter: string, userAddress: string, data: BytesLike, amount: string, provider: Provider): Promise<string>;
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 { BytesLike, ethers, Signer } from "ethers";
2
- import { ChainId } from "../../configs/chains/index";
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 address
7
- * @param provider
7
+ * @param lendingPoolAddress
8
+ * @param adapterName
9
+ * @param data
8
10
  * @returns
9
11
  */
10
- declare function closeLiquidation(chainId: ChainId, adapter: string, data: BytesLike, signer: Signer): Promise<ethers.ContractTransactionResponse>;
12
+ declare function closeLiquidation(chainId: ChainId, adapterName: LendingPoolAdapterId, data: BytesLike): Promise<boolean>;
11
13
  export default closeLiquidation;
@@ -1,4 +1,5 @@
1
- import { BytesLike, ethers, Signer } from "ethers";
1
+ import { BytesLike } from "ethers";
2
2
  import { ChainId } from "../../configs/chains";
3
- declare function depositAssetToLendingPool(chainId: ChainId, adapter: string, data: BytesLike, signer: Signer): Promise<ethers.ContractTransactionReceipt>;
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, Provider } from "ethers";
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 address
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
- declare function getHealthFactor(chainId: ChainId, adapter: string, userAddress: string, data: BytesLike, provider: Provider): Promise<bigint>;
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 { BytesLike, Provider } from "ethers";
2
- import { ChainId } from "../../configs/chains/index";
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, adapter: string, userAddress: string, data: BytesLike, provider: Provider): Promise<bigint>;
11
+ declare function getPositionDebt(chainId: ChainId, adapterName: LendingPoolAdapterId, userAddress: string, data: BytesLike): Promise<bigint>;
11
12
  export default getPositionDebt;