@raac/rpc 1.1.0-beta.83 → 1.1.0-beta.84

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 (31) hide show
  1. package/dist/artifacts/core/collectors/FeeCollector.sol/FeeCollector.json +2 -2
  2. package/dist/artifacts/core/minters/RAACMinter/RAACMinter.sol/RAACMinter.json +2 -2
  3. package/dist/artifacts/core/oracles/RAACPrimeRateOracle.sol/RAACPrimeRateOracle.json +2 -2
  4. package/dist/artifacts/core/pools/LendingPool/LendingPool.sol/LendingPool.json +20 -10
  5. package/dist/artifacts/core/pools/StabilityPool/StabilityPool.sol/StabilityPool.json +2 -2
  6. package/dist/artifacts/core/tokens/DEToken.sol/DEToken.json +63 -7
  7. package/dist/artifacts/core/tokens/RToken.sol/RToken.json +58 -2
  8. package/dist/artifacts/core/vaults/RWAVault.sol/RWAVault.json +2 -20
  9. package/dist/configs/chains/11155111.json +20 -25
  10. package/dist/oracles/encryptSecretURLs.js +6 -17
  11. package/dist/oracles/encryptSecrets.js +5 -19
  12. package/dist/oracles/houses/config.js +6 -5
  13. package/dist/oracles/houses/request.js +31 -60
  14. package/dist/oracles/houses/simulate.js +4 -3
  15. package/dist/oracles/prime-rate/config.js +6 -5
  16. package/dist/oracles/prime-rate/request.js +33 -42
  17. package/dist/oracles/prime-rate/simulate.js +4 -3
  18. package/dist/pools/rwaVault/getRWAVaultInfo.js +3 -1
  19. package/dist/scripts/index.js +3 -10
  20. package/dist/scripts/liquidation.js +13 -29
  21. package/dist/types/oracles/encryptSecretURLs.d.ts +4 -4
  22. package/dist/types/oracles/encryptSecrets.d.ts +2 -4
  23. package/dist/types/oracles/houses/config.d.ts +4 -5
  24. package/dist/types/oracles/houses/request.d.ts +3 -5
  25. package/dist/types/oracles/prime-rate/config.d.ts +4 -5
  26. package/dist/types/oracles/prime-rate/request.d.ts +2 -2
  27. package/dist/types/pools/rwaVault/getRWAVaultInfo.d.ts +1 -0
  28. package/dist/types/utils/artifacts.d.ts +0 -113
  29. package/dist/utils/artifacts.js +0 -2
  30. package/package.json +8 -9
  31. package/dist/artifacts/core/collectors/NFTRoyaltyFeeCollector.sol/NFTRoyaltyFeeCollector.json +0 -246
@@ -4,10 +4,11 @@ const _helpers_1 = require("./_helpers");
4
4
  async function getRWAVaultInfo(chainId, provider) {
5
5
  try {
6
6
  const rwaVaultContract = await (0, _helpers_1.getRWAVaultContract)(chainId, provider);
7
- const [totalAssets, pricePerShare, vaultToken, stabilityPool, vrfConsumer, indexTokenMintingFee, feeCollector, vrfRequestDelay, allowVRFRequest,] = await Promise.all([
7
+ const [totalAssets, pricePerShare, vaultToken, underlyingAssetToken, stabilityPool, vrfConsumer, indexTokenMintingFee, feeCollector, vrfRequestDelay, allowVRFRequest,] = await Promise.all([
8
8
  rwaVaultContract.totalAssets(),
9
9
  rwaVaultContract.pricePerShare(),
10
10
  rwaVaultContract.vaultToken(),
11
+ rwaVaultContract.underlyingAssetToken(),
11
12
  rwaVaultContract.stabilityPool(),
12
13
  rwaVaultContract.vrfConsumer(),
13
14
  rwaVaultContract.indexTokenMintingFee(),
@@ -19,6 +20,7 @@ async function getRWAVaultInfo(chainId, provider) {
19
20
  totalAssets: totalAssets.toString(),
20
21
  pricePerShare: pricePerShare.toString(),
21
22
  vaultToken,
23
+ underlyingAssetToken,
22
24
  stabilityPool,
23
25
  vrfConsumer,
24
26
  indexTokenMintingFee: indexTokenMintingFee.toString(),
@@ -10,8 +10,7 @@ const RPCLibrary_1 = __importDefault(require("../RPCLibrary"));
10
10
  const contracts_1 = require("../utils/contracts");
11
11
  const artifacts_1 = require("../utils/artifacts");
12
12
  const _helpers_1 = require("../pools/rwaVault/_helpers");
13
- const ethers5_1 = require("ethers5");
14
- const chainId = 11155111;
13
+ const chainId = 8453;
15
14
  const config = chains_1.default[chainId];
16
15
  const TEST_MNEMONIC = process.env.TEST_MNEMONIC;
17
16
  const TEST_PRIVATE_KEY = process.env.TEST_PRIVATE_KEY;
@@ -61,8 +60,8 @@ async function setup() {
61
60
  const StabilityPoolAddress = (0, contracts_1.getContractAddress)(chainId, "stabilitypool");
62
61
  const StabilityPoolABI = (0, artifacts_1.getABI)("stabilitypool");
63
62
  const StabilityPoolContract = new ethers_1.ethers.Contract(StabilityPoolAddress, StabilityPoolABI, signer);
64
- const providerV5 = new ethers5_1.ethers.providers.JsonRpcProvider(config.rpcs[0]);
65
- const signerV5 = new ethers5_1.ethers.Wallet(TEST_PRIVATE_KEY, providerV5);
63
+ // const provider = new ethers.JsonRpcProvider(config.rpcs[0]);
64
+ const signerPrivateKey = new ethers_1.ethers.Wallet(TEST_PRIVATE_KEY, provider);
66
65
  const TreasuryAddress = (0, contracts_1.getContractAddress)(chainId, "treasury");
67
66
  const TreasuryABI = (0, artifacts_1.getABI)("treasury");
68
67
  const TreasuryContract = new ethers_1.ethers.Contract(TreasuryAddress, TreasuryABI, signer);
@@ -140,12 +139,6 @@ async function setup() {
140
139
  // console.log(tx);
141
140
  // let tx = await StabilityPoolContract.setLiquidationVaultTokenSplit(2_50, 2_50, 90_00, 5_00)
142
141
  // await tx.wait();
143
- // console.log(await raacNFTContract.hasRole(await raacNFTContract.ADMIN_ROLE(), signer.address))
144
- console.log(await housePriceContract.oracle());
145
- // await (await housePriceContract.setOracle(signer.address)).wait();
146
- // return;
147
- await (await housePriceContract.setHousePrice("8", ethers_1.ethers.parseEther("63500"))).wait();
148
- return;
149
142
  await (await RWAVaultContract.registerDepositableAdapter("0x322813Fd9A801c5507c9de605d63CEA4f2CE6c44")).wait();
150
143
  // // console.log(await rpc.wallet.assets.getBalance(chainId, "rwaindextoken", signer.address, provider))
151
144
  // // set the base uri to instruxi data gateway
@@ -9,7 +9,7 @@ const chains_1 = __importDefault(require("../configs/chains"));
9
9
  const RPCLibrary_1 = __importDefault(require("../RPCLibrary"));
10
10
  const contracts_1 = require("../utils/contracts");
11
11
  const artifacts_1 = require("../utils/artifacts");
12
- const chainId = 11155111;
12
+ const chainId = 8453;
13
13
  const config = chains_1.default[chainId];
14
14
  const TEST_MNEMONIC = process.env.TEST_MNEMONIC;
15
15
  const TEST_PRIVATE_KEY = process.env.TEST_PRIVATE_KEY;
@@ -53,43 +53,27 @@ async function setupLiquidityPool() {
53
53
  rpc.address = signer.address;
54
54
  rpc.provider = provider;
55
55
  rpc.chainId = chainId;
56
- const MockLiquidityPoolAddress = "0x0cAa0daa4f5EC8934428Ae406965B044f42F7D49";
56
+ const MockLiquidityPoolAddress = "0x9E545E3C0baAB3E08CdfD552C960A1050f373042";
57
57
  const MockLiquidityPoolABI = [
58
58
  "function add_liquidity(uint256[2] amounts, uint256 min_mint_amount, address receiver) external",
59
59
  ];
60
60
  const MockLiquidityPoolContract = new ethers_1.ethers.Contract(MockLiquidityPoolAddress, MockLiquidityPoolABI, signer);
61
- // mint 200 million in crvusd
61
+ // mint 10 million in crvusd
62
62
  console.log("Minting 100 million in crvusd");
63
- await rpc.wallet.assets.mintAsset(chainId, "crvusd", 9800000n, signer.address, signer);
64
- // deposit 100 million in the RWA Vault
65
- // console.log("Depositing 5 million in the RWA Vault");
66
- // await rpc.wallet.assets.approveAsset(
67
- // chainId,
68
- // "crvusd",
69
- // await rpc.pools.rwaVault.getAdapterAddress(chainId, "crvusdadapter")
70
- // .address,
71
- // "100000000",
72
- // signer
73
- // );
74
- // const d1 = new ethers.AbiCoder().encode(
75
- // ["uint256"],
76
- // [ethers.parseEther("5000000")]
77
- // );
78
- // await rpc.pools.rwaVault.depositToRWAVault(
79
- // chainId,
80
- // "crvusdadapter",
81
- // d1,
82
- // signer.address,
83
- // "0",
84
- // signer
85
- // );
86
- // deposit 100 million in the Mock Liquidity Pool
63
+ await rpc.wallet.assets.mintAsset(chainId, "crvusd", 200000000n, signer.address, signer);
64
+ // deposit 5 million in the RWA Vault
65
+ console.log("Depositing 5 million in the RWA Vault");
66
+ await rpc.wallet.assets.approveAsset(chainId, "crvusd", await rpc.pools.rwaVault.getAdapterAddress(chainId, "crvusdadapter")
67
+ .address, "100000000", signer);
68
+ const d1 = new ethers_1.ethers.AbiCoder().encode(["uint256"], [ethers_1.ethers.parseEther("100000000")]);
69
+ await rpc.pools.rwaVault.depositToRWAVault(chainId, "crvusdadapter", d1, signer.address, "0", signer);
70
+ // deposit 5 million in the Mock Liquidity Pool
87
71
  console.log("Depositing 5 million in the Mock Liquidity Pool");
88
- await rpc.wallet.assets.approveAsset(chainId, "crvusd", MockLiquidityPoolAddress, "9800000", signer);
72
+ await rpc.wallet.assets.approveAsset(chainId, "crvusd", MockLiquidityPoolAddress, "100000000", signer);
89
73
  const indextokenBalance = (await rpc.wallet.assets.getBalance(chainId, "rwaindextoken", signer.address, provider)).balance;
90
74
  await rpc.wallet.assets.approveAsset(chainId, "rwaindextoken", MockLiquidityPoolAddress, indextokenBalance, signer);
91
75
  await (await MockLiquidityPoolContract.add_liquidity([
92
- ethers_1.ethers.parseEther("9800000"),
76
+ ethers_1.ethers.parseEther("100000000"),
93
77
  ethers_1.ethers.parseEther(indextokenBalance.toString()),
94
78
  ], 0, signer.address)).wait();
95
79
  return;
@@ -1,5 +1,5 @@
1
- import { Signer } from "ethers5";
2
- export declare function encryptSecretURLs(chainId: number, urls: string[], signerV5: Signer): Promise<{
3
- encryptedSecrets: string;
4
- isVerified: true;
1
+ import { Signer } from 'ethers';
2
+ export declare function encryptSecretURLs(chainId: number, urls: string[], signer: Signer): Promise<{
3
+ encryptedSecrets: any;
4
+ isVerified: any;
5
5
  }>;
@@ -1,4 +1,2 @@
1
- import { Signer } from "ethers5";
2
- export declare function encryptSecrets(chainId: number, secrets: Record<string, string>, outputFile: string, signerV5: Signer): Promise<{
3
- encryptedSecrets: string;
4
- }>;
1
+ import { Signer } from "ethers";
2
+ export declare function encryptSecrets(chainId: number, secrets: Record<string, string>, outputFile: string, signer: Signer): Promise<any>;
@@ -1,13 +1,12 @@
1
- import { Location, ReturnType, CodeLanguage } from "@chainlink/functions-toolkit";
2
1
  declare const requestConfig: {
3
2
  source: string;
4
- codeLocation: Location;
3
+ codeLocation: any;
5
4
  secrets: {
6
5
  apiKey: string;
7
6
  };
8
- secretsLocation: Location;
7
+ secretsLocation: any;
9
8
  args: any[];
10
- codeLanguage: CodeLanguage;
11
- expectedReturnType: ReturnType;
9
+ codeLanguage: any;
10
+ expectedReturnType: any;
12
11
  };
13
12
  export default requestConfig;
@@ -1,5 +1,3 @@
1
- import { Signer } from "ethers5";
2
- export declare function generateSecretReference(chainId: number, secrets: Record<string, string>, signerV5: Signer): Promise<{
3
- encryptedSecrets: string;
4
- }>;
5
- export declare function request(chainId: number, houseId: string, signerV5: Signer): Promise<void>;
1
+ import { Signer } from "ethers";
2
+ export declare function generateSecretReference(chainId: number, secrets: Record<string, string>, signer: Signer): Promise<any>;
3
+ export declare function request(chainId: number, houseId: string, signer: Signer): Promise<void>;
@@ -1,14 +1,13 @@
1
- import { Location, ReturnType, CodeLanguage } from "@chainlink/functions-toolkit";
2
1
  declare const requestConfig: {
3
2
  name: string;
4
3
  sourceURL: string;
5
- codeLocation: Location;
4
+ codeLocation: any;
6
5
  secrets: {
7
6
  apiKey: string;
8
7
  };
9
- secretsLocation: Location;
8
+ secretsLocation: any;
10
9
  args: any[];
11
- codeLanguage: CodeLanguage;
12
- expectedReturnType: ReturnType;
10
+ codeLanguage: any;
11
+ expectedReturnType: any;
13
12
  };
14
13
  export default requestConfig;
@@ -1,2 +1,2 @@
1
- import { Signer } from "ethers5";
2
- export declare function request(chainId: number, signerV5: Signer): Promise<void>;
1
+ import { Signer } from "ethers";
2
+ export declare function request(chainId: number, signer: Signer): Promise<void>;
@@ -4,6 +4,7 @@ interface RWAVaultInfo {
4
4
  totalAssets: string;
5
5
  pricePerShare: string;
6
6
  vaultToken: string;
7
+ underlyingAssetToken: string;
7
8
  stabilityPool: string;
8
9
  vrfConsumer: string;
9
10
  indexTokenMintingFee: string;
@@ -1775,63 +1775,6 @@ declare const ABIS: {
1775
1775
  type: string;
1776
1776
  anonymous?: undefined;
1777
1777
  })[];
1778
- nftroyaltyfeecollector: ({
1779
- inputs: {
1780
- internalType: string;
1781
- name: string;
1782
- type: string;
1783
- }[];
1784
- stateMutability: string;
1785
- type: string;
1786
- name?: undefined;
1787
- anonymous?: undefined;
1788
- outputs?: undefined;
1789
- } | {
1790
- inputs: {
1791
- internalType: string;
1792
- name: string;
1793
- type: string;
1794
- }[];
1795
- name: string;
1796
- type: string;
1797
- stateMutability?: undefined;
1798
- anonymous?: undefined;
1799
- outputs?: undefined;
1800
- } | {
1801
- anonymous: boolean;
1802
- inputs: {
1803
- indexed: boolean;
1804
- internalType: string;
1805
- name: string;
1806
- type: string;
1807
- }[];
1808
- name: string;
1809
- type: string;
1810
- stateMutability?: undefined;
1811
- outputs?: undefined;
1812
- } | {
1813
- inputs: {
1814
- internalType: string;
1815
- name: string;
1816
- type: string;
1817
- }[];
1818
- name: string;
1819
- outputs: {
1820
- internalType: string;
1821
- name: string;
1822
- type: string;
1823
- }[];
1824
- stateMutability: string;
1825
- type: string;
1826
- anonymous?: undefined;
1827
- } | {
1828
- stateMutability: string;
1829
- type: string;
1830
- inputs?: undefined;
1831
- name?: undefined;
1832
- anonymous?: undefined;
1833
- outputs?: undefined;
1834
- })[];
1835
1778
  };
1836
1779
  export type AssetType = keyof typeof ABIS | string;
1837
1780
  export type ContractType = keyof typeof ABIS;
@@ -3531,61 +3474,5 @@ declare const getABI: (name: keyof typeof ABIS) => ({
3531
3474
  stateMutability: string;
3532
3475
  type: string;
3533
3476
  anonymous?: undefined;
3534
- })[] | ({
3535
- inputs: {
3536
- internalType: string;
3537
- name: string;
3538
- type: string;
3539
- }[];
3540
- stateMutability: string;
3541
- type: string;
3542
- name?: undefined;
3543
- anonymous?: undefined;
3544
- outputs?: undefined;
3545
- } | {
3546
- inputs: {
3547
- internalType: string;
3548
- name: string;
3549
- type: string;
3550
- }[];
3551
- name: string;
3552
- type: string;
3553
- stateMutability?: undefined;
3554
- anonymous?: undefined;
3555
- outputs?: undefined;
3556
- } | {
3557
- anonymous: boolean;
3558
- inputs: {
3559
- indexed: boolean;
3560
- internalType: string;
3561
- name: string;
3562
- type: string;
3563
- }[];
3564
- name: string;
3565
- type: string;
3566
- stateMutability?: undefined;
3567
- outputs?: undefined;
3568
- } | {
3569
- inputs: {
3570
- internalType: string;
3571
- name: string;
3572
- type: string;
3573
- }[];
3574
- name: string;
3575
- outputs: {
3576
- internalType: string;
3577
- name: string;
3578
- type: string;
3579
- }[];
3580
- stateMutability: string;
3581
- type: string;
3582
- anonymous?: undefined;
3583
- } | {
3584
- stateMutability: string;
3585
- type: string;
3586
- inputs?: undefined;
3587
- name?: undefined;
3588
- anonymous?: undefined;
3589
- outputs?: undefined;
3590
3477
  })[];
3591
3478
  export { getABI, ABIS };
@@ -35,7 +35,6 @@ const Treasury_json_1 = __importDefault(require("../artifacts/core/collectors/Tr
35
35
  const RWAIndexTokenCollector_json_1 = __importDefault(require("../artifacts/core/collectors/RWAIndexTokenCollector.sol/RWAIndexTokenCollector.json"));
36
36
  const RAACTokenCollector_json_1 = __importDefault(require("../artifacts/core/collectors/RAACTokenCollector.sol/RAACTokenCollector.json"));
37
37
  const CrvUSDToUSDOracle_json_1 = __importDefault(require("../artifacts/core/oracles/CrvUSDToUSDOracle.sol/CrvUSDToUSDOracle.json"));
38
- const NFTRoyaltyFeeCollector_json_1 = __importDefault(require("../artifacts/core/collectors/NFTRoyaltyFeeCollector.sol/NFTRoyaltyFeeCollector.json"));
39
38
  const CRVUSD_ABI = crvUSDToken_json_1.default.abi;
40
39
  const RToken_json_2 = __importDefault(require("../artifacts/core/tokens/RToken.sol/RToken.json")); // assert { type: "json" }; // TODO: Isnt this same as rcrvusd?
41
40
  const RTOKEN_ABI = RToken_json_2.default.abi;
@@ -96,7 +95,6 @@ const ABIS = {
96
95
  rwaindextokencollector: RWAIndexTokenCollector_json_1.default.abi,
97
96
  raactokencollector: RAACTokenCollector_json_1.default.abi,
98
97
  crvusdtousdoracle: CRVUSDTOUSDORACLE_ABI,
99
- nftroyaltyfeecollector: NFTRoyaltyFeeCollector_json_1.default.abi
100
98
  };
101
99
  exports.ABIS = ABIS;
102
100
  const getABI = (name) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@raac/rpc",
3
- "version": "1.1.0-beta.83",
3
+ "version": "1.1.0-beta.84",
4
4
  "description": "RPC Library for RAAC ",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/types/index.d.ts",
@@ -26,15 +26,14 @@
26
26
  "author": "RAAC",
27
27
  "license": "MIT",
28
28
  "dependencies": {
29
- "@chainlink/functions-toolkit": "^0.3.2",
30
- "csv-parser": "^3.2.0",
31
- "ethers": "^6.0.0",
32
- "ethers5": "npm:ethers@5.7.2"
29
+ "@raac/chainlinkjs": "1.0.1",
30
+ "csv-parser": "3.2.0",
31
+ "ethers": "6.16.0"
33
32
  },
34
33
  "devDependencies": {
35
- "eslint": "^8.0.0",
36
- "ts-node": "^10.9.2",
37
- "ts-node-dev": "^2.0.0",
38
- "typescript": "^5.7.3"
34
+ "eslint": "9.39.2",
35
+ "ts-node": "10.9.2",
36
+ "ts-node-dev": "2.0.0",
37
+ "typescript": "5.9.3"
39
38
  }
40
39
  }
@@ -1,246 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "NFTRoyaltyFeeCollector",
4
- "sourceName": "contracts/core/collectors/NFTRoyaltyFeeCollector.sol",
5
- "abi": [
6
- {
7
- "inputs": [
8
- {
9
- "internalType": "address",
10
- "name": "_weth",
11
- "type": "address"
12
- },
13
- {
14
- "internalType": "address",
15
- "name": "_feeCollector",
16
- "type": "address"
17
- }
18
- ],
19
- "stateMutability": "nonpayable",
20
- "type": "constructor"
21
- },
22
- {
23
- "inputs": [],
24
- "name": "InvalidAddress",
25
- "type": "error"
26
- },
27
- {
28
- "inputs": [
29
- {
30
- "internalType": "address",
31
- "name": "owner",
32
- "type": "address"
33
- }
34
- ],
35
- "name": "OwnableInvalidOwner",
36
- "type": "error"
37
- },
38
- {
39
- "inputs": [
40
- {
41
- "internalType": "address",
42
- "name": "account",
43
- "type": "address"
44
- }
45
- ],
46
- "name": "OwnableUnauthorizedAccount",
47
- "type": "error"
48
- },
49
- {
50
- "inputs": [],
51
- "name": "ReentrancyGuardReentrantCall",
52
- "type": "error"
53
- },
54
- {
55
- "inputs": [
56
- {
57
- "internalType": "address",
58
- "name": "token",
59
- "type": "address"
60
- }
61
- ],
62
- "name": "SafeERC20FailedOperation",
63
- "type": "error"
64
- },
65
- {
66
- "anonymous": false,
67
- "inputs": [
68
- {
69
- "indexed": true,
70
- "internalType": "address",
71
- "name": "token",
72
- "type": "address"
73
- },
74
- {
75
- "indexed": true,
76
- "internalType": "address",
77
- "name": "to",
78
- "type": "address"
79
- },
80
- {
81
- "indexed": false,
82
- "internalType": "uint256",
83
- "name": "amount",
84
- "type": "uint256"
85
- }
86
- ],
87
- "name": "EmergencyWithdrawal",
88
- "type": "event"
89
- },
90
- {
91
- "anonymous": false,
92
- "inputs": [
93
- {
94
- "indexed": true,
95
- "internalType": "address",
96
- "name": "token",
97
- "type": "address"
98
- },
99
- {
100
- "indexed": false,
101
- "internalType": "uint256",
102
- "name": "amount",
103
- "type": "uint256"
104
- }
105
- ],
106
- "name": "FeeCollected",
107
- "type": "event"
108
- },
109
- {
110
- "anonymous": false,
111
- "inputs": [
112
- {
113
- "indexed": true,
114
- "internalType": "address",
115
- "name": "previousOwner",
116
- "type": "address"
117
- },
118
- {
119
- "indexed": true,
120
- "internalType": "address",
121
- "name": "newOwner",
122
- "type": "address"
123
- }
124
- ],
125
- "name": "OwnershipTransferred",
126
- "type": "event"
127
- },
128
- {
129
- "inputs": [
130
- {
131
- "internalType": "address",
132
- "name": "_token",
133
- "type": "address"
134
- }
135
- ],
136
- "name": "distributeCollectedFees",
137
- "outputs": [
138
- {
139
- "internalType": "bool",
140
- "name": "",
141
- "type": "bool"
142
- }
143
- ],
144
- "stateMutability": "nonpayable",
145
- "type": "function"
146
- },
147
- {
148
- "inputs": [
149
- {
150
- "internalType": "address",
151
- "name": "_token",
152
- "type": "address"
153
- },
154
- {
155
- "internalType": "address",
156
- "name": "recipient",
157
- "type": "address"
158
- }
159
- ],
160
- "name": "emergencyWithdraw",
161
- "outputs": [],
162
- "stateMutability": "nonpayable",
163
- "type": "function"
164
- },
165
- {
166
- "inputs": [],
167
- "name": "feeCollector",
168
- "outputs": [
169
- {
170
- "internalType": "address",
171
- "name": "",
172
- "type": "address"
173
- }
174
- ],
175
- "stateMutability": "view",
176
- "type": "function"
177
- },
178
- {
179
- "inputs": [],
180
- "name": "owner",
181
- "outputs": [
182
- {
183
- "internalType": "address",
184
- "name": "",
185
- "type": "address"
186
- }
187
- ],
188
- "stateMutability": "view",
189
- "type": "function"
190
- },
191
- {
192
- "inputs": [],
193
- "name": "renounceOwnership",
194
- "outputs": [],
195
- "stateMutability": "nonpayable",
196
- "type": "function"
197
- },
198
- {
199
- "inputs": [
200
- {
201
- "internalType": "address",
202
- "name": "_feeCollector",
203
- "type": "address"
204
- }
205
- ],
206
- "name": "setFeeCollector",
207
- "outputs": [],
208
- "stateMutability": "nonpayable",
209
- "type": "function"
210
- },
211
- {
212
- "inputs": [
213
- {
214
- "internalType": "address",
215
- "name": "newOwner",
216
- "type": "address"
217
- }
218
- ],
219
- "name": "transferOwnership",
220
- "outputs": [],
221
- "stateMutability": "nonpayable",
222
- "type": "function"
223
- },
224
- {
225
- "inputs": [],
226
- "name": "weth",
227
- "outputs": [
228
- {
229
- "internalType": "address",
230
- "name": "",
231
- "type": "address"
232
- }
233
- ],
234
- "stateMutability": "view",
235
- "type": "function"
236
- },
237
- {
238
- "stateMutability": "payable",
239
- "type": "receive"
240
- }
241
- ],
242
- "bytecode": "0x60803461012757601f610a3038819003918201601f19168301916001600160401b0383118484101761012c57808492604094855283398101031261012757610052602061004b83610142565b9201610142565b33156101115760008054336001600160a01b0319821681178355604051949290916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3600180556001600160a01b031680158015610100575b6100ef5760018060a01b0319600254161760025560018060a01b031660018060a01b031960035416176003556108d990816101578239f35b63e6c4247b60e01b60005260046000fd5b506001600160a01b038216156100b7565b631e4fbdf760e01b600052600060045260246000fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036101275756fe6080604052600436101561001b575b361561001957600080fd5b005b6000803560e01c80625c92bf1461040b5780633fc8cef3146103e25780636382d9ad146101e3578063715018a61461019b5780638da5cb5b14610174578063a42dce801461011d578063c415b95c146100f45763f2fde38b1461007e575061000e565b346100f15760203660031901126100f1576100976106d0565b61009f6107b3565b6001600160a01b031680156100dd5781546001600160a01b03198116821783556001600160a01b03166000805160206108648339815191528380a380f35b631e4fbdf760e01b82526004829052602482fd5b80fd5b50346100f157806003193601126100f1576003546040516001600160a01b039091168152602090f35b50346100f15760203660031901126100f1576101376106d0565b61013f6107b3565b6001600160a01b0316801561016557600380546001600160a01b03191691909117905580f35b63e6c4247b60e01b8252600482fd5b50346100f157806003193601126100f157546040516001600160a01b039091168152602090f35b50346100f157806003193601126100f1576101b46107b3565b80546001600160a01b03198116825581906001600160a01b03166000805160206108648339815191528280a380f35b50346100f15760403660031901126100f1576101fd6106d0565b6024356001600160a01b038116918282036103de5761021a6107b3565b610222610776565b6001600160a01b0316908161031157504761023e8115156106e6565b8380808084875af13d1561030c573d6001600160401b0381116102f85760405190610273601f8201601f19166020018361073d565b81528560203d92013e5b156102a3576020600080516020610884833981519152915b604051908152a36001805580f35b60405162461bcd60e51b815260206004820152602760248201527f4e4654526f79616c7479466565436f6c6c6563746f723a207472616e736665726044820152660819985a5b195960ca1b6064820152608490fd5b634e487b7160e01b86526041600452602486fd5b61027d565b6040516370a0823160e01b8152306004820152602081602481865afa9081156103d357859161038e575b5060008051602061088483398151915291610389826103836020949361037560405193849263a9059cbb60e01b8985015260248401610798565b03601f19810183528261073d565b856107dc565b610295565b90506020813d6020116103cb575b816103a96020938361073d565b810103126103c6575160008051602061088483398151915261033b565b600080fd5b3d915061039c565b6040513d87823e3d90fd5b8380fd5b50346100f157806003193601126100f1576002546040516001600160a01b039091168152602090f35b50346100f15760203660031901126100f1576104256106d0565b61042d610776565b6001600160a01b03811615610669575b6040516370a0823160e01b81523060048201526001600160a01b039190911691602082602481865afa91821561065c578192610628575b508161048a575b60018055602060405160018152f35b60018060a01b036003541660405160208381830163095ea7b360e01b81526104c8846104ba898860248401610798565b03601f19810186528561073d565b83519082895af183513d8261060c575b5050156105c7575b505080602060018060a01b0360035416608460405180948193636033e31560e01b83528960048401523060248401528860448401527f1f49de3380557c514cedfeafa4b0515d7e744b9e861dd34381fe6813d97079ca60648401525af180156105bc5761056b575b5050602060008051602061084483398151915291604051908152a238808061047b565b6020813d6020116105b4575b816105846020938361073d565b810103126105b057519081151582036100f1575060209050600080516020610844833981519152610548565b5080fd5b3d9150610577565b6040513d84823e3d90fd5b6105ff610605926040519063095ea7b360e01b60208301526024820152846044820152604481526105f960648261073d565b866107dc565b846107dc565b38806104e0565b9091506106205750843b15155b38806104d8565b600114610619565b9091506020813d602011610654575b816106446020938361073d565b810103126103c657519038610474565b3d9150610637565b50604051903d90823e3d90fd5b50476106768115156106e6565b60025482906001600160a01b0316803b156105b0578190600460405180958193630d0e30db60e41b83525af1801561065c576106c0575b50506002546001600160a01b031661043d565b6106c99161073d565b38816106ad565b600435906001600160a01b03821682036103c657565b156106ed57565b60405162461bcd60e51b815260206004820152602260248201527f4e4654526f79616c7479466565436f6c6c6563746f723a206e6f2062616c616e604482015261636560f01b6064820152608490fd5b601f909101601f19168101906001600160401b0382119082101761076057604052565b634e487b7160e01b600052604160045260246000fd5b600260015414610787576002600155565b633ee5aeb560e01b60005260046000fd5b6001600160a01b039091168152602081019190915260400190565b6000546001600160a01b031633036107c757565b63118cdaa760e01b6000523360045260246000fd5b906000602091828151910182855af115610837576000513d61082e57506001600160a01b0381163b155b61080d5750565b635274afe760e01b60009081526001600160a01b0391909116600452602490fd5b60011415610806565b6040513d6000823e3d90fdfe06c5efeff5c320943d265dc4e5f1af95ad523555ce0c1957e367dda5514572df8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09495d03190a79a43e534c9e328ff322f6283261383f5f19c809564f6ad5a57b3a26469706673582212201268317d978df24b8234926c146f092ab89370388fa47c489e618353b559773b64736f6c634300081e0033",
243
- "deployedBytecode": "0x6080604052600436101561001b575b361561001957600080fd5b005b6000803560e01c80625c92bf1461040b5780633fc8cef3146103e25780636382d9ad146101e3578063715018a61461019b5780638da5cb5b14610174578063a42dce801461011d578063c415b95c146100f45763f2fde38b1461007e575061000e565b346100f15760203660031901126100f1576100976106d0565b61009f6107b3565b6001600160a01b031680156100dd5781546001600160a01b03198116821783556001600160a01b03166000805160206108648339815191528380a380f35b631e4fbdf760e01b82526004829052602482fd5b80fd5b50346100f157806003193601126100f1576003546040516001600160a01b039091168152602090f35b50346100f15760203660031901126100f1576101376106d0565b61013f6107b3565b6001600160a01b0316801561016557600380546001600160a01b03191691909117905580f35b63e6c4247b60e01b8252600482fd5b50346100f157806003193601126100f157546040516001600160a01b039091168152602090f35b50346100f157806003193601126100f1576101b46107b3565b80546001600160a01b03198116825581906001600160a01b03166000805160206108648339815191528280a380f35b50346100f15760403660031901126100f1576101fd6106d0565b6024356001600160a01b038116918282036103de5761021a6107b3565b610222610776565b6001600160a01b0316908161031157504761023e8115156106e6565b8380808084875af13d1561030c573d6001600160401b0381116102f85760405190610273601f8201601f19166020018361073d565b81528560203d92013e5b156102a3576020600080516020610884833981519152915b604051908152a36001805580f35b60405162461bcd60e51b815260206004820152602760248201527f4e4654526f79616c7479466565436f6c6c6563746f723a207472616e736665726044820152660819985a5b195960ca1b6064820152608490fd5b634e487b7160e01b86526041600452602486fd5b61027d565b6040516370a0823160e01b8152306004820152602081602481865afa9081156103d357859161038e575b5060008051602061088483398151915291610389826103836020949361037560405193849263a9059cbb60e01b8985015260248401610798565b03601f19810183528261073d565b856107dc565b610295565b90506020813d6020116103cb575b816103a96020938361073d565b810103126103c6575160008051602061088483398151915261033b565b600080fd5b3d915061039c565b6040513d87823e3d90fd5b8380fd5b50346100f157806003193601126100f1576002546040516001600160a01b039091168152602090f35b50346100f15760203660031901126100f1576104256106d0565b61042d610776565b6001600160a01b03811615610669575b6040516370a0823160e01b81523060048201526001600160a01b039190911691602082602481865afa91821561065c578192610628575b508161048a575b60018055602060405160018152f35b60018060a01b036003541660405160208381830163095ea7b360e01b81526104c8846104ba898860248401610798565b03601f19810186528561073d565b83519082895af183513d8261060c575b5050156105c7575b505080602060018060a01b0360035416608460405180948193636033e31560e01b83528960048401523060248401528860448401527f1f49de3380557c514cedfeafa4b0515d7e744b9e861dd34381fe6813d97079ca60648401525af180156105bc5761056b575b5050602060008051602061084483398151915291604051908152a238808061047b565b6020813d6020116105b4575b816105846020938361073d565b810103126105b057519081151582036100f1575060209050600080516020610844833981519152610548565b5080fd5b3d9150610577565b6040513d84823e3d90fd5b6105ff610605926040519063095ea7b360e01b60208301526024820152846044820152604481526105f960648261073d565b866107dc565b846107dc565b38806104e0565b9091506106205750843b15155b38806104d8565b600114610619565b9091506020813d602011610654575b816106446020938361073d565b810103126103c657519038610474565b3d9150610637565b50604051903d90823e3d90fd5b50476106768115156106e6565b60025482906001600160a01b0316803b156105b0578190600460405180958193630d0e30db60e41b83525af1801561065c576106c0575b50506002546001600160a01b031661043d565b6106c99161073d565b38816106ad565b600435906001600160a01b03821682036103c657565b156106ed57565b60405162461bcd60e51b815260206004820152602260248201527f4e4654526f79616c7479466565436f6c6c6563746f723a206e6f2062616c616e604482015261636560f01b6064820152608490fd5b601f909101601f19168101906001600160401b0382119082101761076057604052565b634e487b7160e01b600052604160045260246000fd5b600260015414610787576002600155565b633ee5aeb560e01b60005260046000fd5b6001600160a01b039091168152602081019190915260400190565b6000546001600160a01b031633036107c757565b63118cdaa760e01b6000523360045260246000fd5b906000602091828151910182855af115610837576000513d61082e57506001600160a01b0381163b155b61080d5750565b635274afe760e01b60009081526001600160a01b0391909116600452602490fd5b60011415610806565b6040513d6000823e3d90fdfe06c5efeff5c320943d265dc4e5f1af95ad523555ce0c1957e367dda5514572df8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09495d03190a79a43e534c9e328ff322f6283261383f5f19c809564f6ad5a57b3a26469706673582212201268317d978df24b8234926c146f092ab89370388fa47c489e618353b559773b64736f6c634300081e0033",
244
- "linkReferences": {},
245
- "deployedLinkReferences": {}
246
- }