@venusprotocol/venus-protocol 9.8.0-dev.6 → 9.8.0-dev.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 (88) hide show
  1. package/deploy/002-interest-rate-model.ts +59 -83
  2. package/deploy/007-deploy-mock-tokens.ts +4 -3
  3. package/deploy/011-deploy-markets.ts +21 -37
  4. package/deploy/999-checks/001-check-rate-models.ts +183 -0
  5. package/deployments/bscmainnet.json +429 -429
  6. package/deployments/bscmainnet_addresses.json +29 -29
  7. package/deployments/bsctestnet.json +413 -413
  8. package/deployments/bsctestnet_addresses.json +14 -14
  9. package/dist/deploy/002-interest-rate-model.js +61 -78
  10. package/dist/deploy/007-deploy-mock-tokens.js +4 -2
  11. package/dist/deploy/011-deploy-markets.js +18 -35
  12. package/dist/deploy/999-checks/001-check-rate-models.d.ts +3 -0
  13. package/dist/deploy/999-checks/001-check-rate-models.js +107 -0
  14. package/dist/deployments/bscmainnet.json +429 -429
  15. package/dist/deployments/bsctestnet.json +413 -413
  16. package/dist/hardhat.config.js +2 -0
  17. package/dist/helpers/chains.d.ts +38 -0
  18. package/dist/helpers/chains.js +76 -0
  19. package/dist/helpers/deploymentConfig.d.ts +3 -29
  20. package/dist/helpers/deploymentConfig.js +1 -530
  21. package/dist/helpers/markets/bscmainnet.d.ts +653 -0
  22. package/dist/helpers/markets/bscmainnet.js +691 -0
  23. package/dist/helpers/markets/bsctestnet.d.ts +529 -0
  24. package/dist/helpers/markets/bsctestnet.js +561 -0
  25. package/dist/helpers/markets/hardhat.d.ts +65 -0
  26. package/dist/helpers/markets/hardhat.js +70 -0
  27. package/dist/helpers/markets/index.d.ts +122 -0
  28. package/dist/helpers/markets/index.js +94 -0
  29. package/dist/helpers/markets/types.d.ts +60 -0
  30. package/dist/helpers/markets/types.js +2 -0
  31. package/dist/helpers/rateModelHelpers.d.ts +4 -0
  32. package/dist/helpers/rateModelHelpers.js +35 -0
  33. package/dist/helpers/tokens/bscmainnet.d.ts +253 -0
  34. package/dist/helpers/tokens/bscmainnet.js +258 -0
  35. package/dist/helpers/tokens/bsctestnet.d.ts +204 -0
  36. package/dist/helpers/tokens/bsctestnet.js +209 -0
  37. package/dist/helpers/tokens/common/indexBySymbol.d.ts +6 -0
  38. package/dist/helpers/tokens/common/indexBySymbol.js +8 -0
  39. package/dist/helpers/tokens/hardhat.d.ts +27 -0
  40. package/dist/helpers/tokens/hardhat.js +30 -0
  41. package/dist/helpers/tokens/index.d.ts +1498 -0
  42. package/dist/helpers/tokens/index.js +38 -0
  43. package/dist/helpers/tokens/types.d.ts +12 -0
  44. package/dist/helpers/tokens/types.js +2 -0
  45. package/package.json +1 -1
  46. /package/deployments/bscmainnet/{JumpRateModel_base0bps_slope10000bps_jump25000bps_kink8000bps.json → JumpRateModel_base0bps_slope10000bps_jump25000bps_kink8000bps_bpy10512000.json} +0 -0
  47. /package/deployments/bscmainnet/{JumpRateModel_base0bps_slope10000bps_jump50000bps_kink8000bps.json → JumpRateModel_base0bps_slope10000bps_jump50000bps_kink8000bps_bpy10512000.json} +0 -0
  48. /package/deployments/bscmainnet/{JumpRateModel_base0bps_slope1000bps_jump20000bps_kink7500bps.json → JumpRateModel_base0bps_slope1000bps_jump20000bps_kink7500bps_bpy10512000.json} +0 -0
  49. /package/deployments/bscmainnet/{JumpRateModel_base0bps_slope1000bps_jump25000bps_kink8000bps.json → JumpRateModel_base0bps_slope1000bps_jump25000bps_kink8000bps_bpy10512000.json} +0 -0
  50. /package/deployments/bscmainnet/{JumpRateModel_base0bps_slope1000bps_jump50000bps_kink8000bps.json → JumpRateModel_base0bps_slope1000bps_jump50000bps_kink8000bps_bpy10512000.json} +0 -0
  51. /package/deployments/bscmainnet/{JumpRateModel_base0bps_slope1250bps_jump25000bps_kink8000bps.json → JumpRateModel_base0bps_slope1250bps_jump25000bps_kink8000bps_bpy10512000.json} +0 -0
  52. /package/deployments/bscmainnet/{JumpRateModel_base0bps_slope1250bps_jump50000bps_kink8000bps.json → JumpRateModel_base0bps_slope1250bps_jump50000bps_kink8000bps_bpy10512000.json} +0 -0
  53. /package/deployments/bscmainnet/{JumpRateModel_base0bps_slope1500bps_jump30000bps_kink6000bps.json → JumpRateModel_base0bps_slope1500bps_jump30000bps_kink6000bps_bpy10512000.json} +0 -0
  54. /package/deployments/bscmainnet/{JumpRateModel_base0bps_slope1750bps_jump25000bps_kink8000bps.json → JumpRateModel_base0bps_slope1750bps_jump25000bps_kink8000bps_bpy10512000.json} +0 -0
  55. /package/deployments/bscmainnet/{JumpRateModel_base0bps_slope2000bps_jump30000bps_kink5000bps.json → JumpRateModel_base0bps_slope2000bps_jump30000bps_kink5000bps_bpy10512000.json} +0 -0
  56. /package/deployments/bscmainnet/{InterestRateModelVETH.json → JumpRateModel_base0bps_slope300bps_jump45000bps_kink9000bps_bpy10512000.json} +0 -0
  57. /package/deployments/bscmainnet/{JumpRateModel_base0bps_slope687bps_jump25000bps_kink8000bps.json → JumpRateModel_base0bps_slope687bps_jump25000bps_kink8000bps_bpy10512000.json} +0 -0
  58. /package/deployments/bscmainnet/{JumpRateModel_base0bps_slope750bps_jump50000bps_kink8000bps.json → JumpRateModel_base0bps_slope750bps_jump50000bps_kink8000bps_bpy10512000.json} +0 -0
  59. /package/deployments/bscmainnet/{JumpRateModel_base0bps_slope750bps_jump5000bps_kink8000bps.json → JumpRateModel_base0bps_slope750bps_jump5000bps_kink8000bps_bpy10512000.json} +0 -0
  60. /package/deployments/bscmainnet/{JumpRateModel_base0bps_slope875bps_jump25000bps_kink8000bps.json → JumpRateModel_base0bps_slope875bps_jump25000bps_kink8000bps_bpy10512000.json} +0 -0
  61. /package/deployments/bscmainnet/{JumpRateModel_base0bps_slope875bps_jump50000bps_kink8000bps.json → JumpRateModel_base0bps_slope875bps_jump50000bps_kink8000bps_bpy10512000.json} +0 -0
  62. /package/deployments/bscmainnet/{JumpRateModel_base0bps_slope900bps_jump20000bps_kink5000bps.json → JumpRateModel_base0bps_slope900bps_jump20000bps_kink5000bps_bpy10512000.json} +0 -0
  63. /package/deployments/bscmainnet/{JumpRateModel_base0bps_slope900bps_jump20000bps_kink7500bps.json → JumpRateModel_base0bps_slope900bps_jump20000bps_kink7500bps_bpy10512000.json} +0 -0
  64. /package/deployments/bscmainnet/{JumpRateModel_base0bps_slope900bps_jump35000bps_kink4500bps.json → JumpRateModel_base0bps_slope900bps_jump35000bps_kink4500bps_bpy10512000.json} +0 -0
  65. /package/deployments/bscmainnet/{JumpRateModel_base200bps_slope10000bps_jump30000bps_kink100bps.json → JumpRateModel_base200bps_slope10000bps_jump30000bps_kink100bps_bpy10512000.json} +0 -0
  66. /package/deployments/bscmainnet/{JumpRateModel_base200bps_slope1200bps_jump30000bps_kink6000bps.json → JumpRateModel_base200bps_slope1200bps_jump30000bps_kink6000bps_bpy10512000.json} +0 -0
  67. /package/deployments/bscmainnet/{JumpRateModel_base200bps_slope1500bps_jump30000bps_kink6000bps.json → JumpRateModel_base200bps_slope1500bps_jump30000bps_kink6000bps_bpy10512000.json} +0 -0
  68. /package/deployments/bscmainnet/{JumpRateModel_base200bps_slope2000bps_jump30000bps_kink5000bps.json → JumpRateModel_base200bps_slope2000bps_jump30000bps_kink5000bps_bpy10512000.json} +0 -0
  69. /package/deployments/bscmainnet/{JumpRateModel_base5000bps_slope3000bps_jump30000bps_kink6000bps.json → JumpRateModel_base5000bps_slope3000bps_jump30000bps_kink6000bps_bpy10512000.json} +0 -0
  70. /package/deployments/bscmainnet/{TwoKinks_base0bps_slope1500bps_kink8000bps_slope29000bps_base20bps_kink29000bps_jump30000bps.json → TwoKinks_base0bps_slope1500bps_kink8000bps_slope29000bps_base20bps_kink29000bps_jump30000bps_bpy10512000.json} +0 -0
  71. /package/deployments/bscmainnet/{InterestRateModelVBNB.json → TwoKinks_base0bps_slope350bps_kink8000bps_slope217500bps_base20bps_kink29000bps_jump30000bps_bpy10512000.json} +0 -0
  72. /package/deployments/bscmainnet/{WhitePaperInterestRateModel_base0bps_slope0bps.json → WhitePaperInterestRateModel_base0bps_slope0bps_bpy10512000.json} +0 -0
  73. /package/deployments/bscmainnet/{WhitePaperInterestRateModel_base0bps_slope24000bps.json → WhitePaperInterestRateModel_base0bps_slope24000bps_bpy10512000.json} +0 -0
  74. /package/deployments/bscmainnet/{WhitePaperInterestRateModel_base2629bps_slope30000bps.json → WhitePaperInterestRateModel_base2629bps_slope30000bps_bpy10512000.json} +0 -0
  75. /package/deployments/bsctestnet/{JumpRateModel_base0bps_slope1000bps_jump20000bps_kink7500bps.json → JumpRateModel_base0bps_slope1000bps_jump20000bps_kink7500bps_bpy10512000.json} +0 -0
  76. /package/deployments/bsctestnet/{JumpRateModel_base0bps_slope1000bps_jump25000bps_kink8000bps.json → JumpRateModel_base0bps_slope1000bps_jump25000bps_kink8000bps_bpy10512000.json} +0 -0
  77. /package/deployments/bsctestnet/{JumpRateModel_base0bps_slope2000bps_jump30000bps_kink5000bps.json → JumpRateModel_base0bps_slope2000bps_jump30000bps_kink5000bps_bpy10512000.json} +0 -0
  78. /package/deployments/bsctestnet/{JumpRateModel_base0bps_slope500bps_jump10900bps_kink8000bps.json → JumpRateModel_base0bps_slope500bps_jump10900bps_kink8000bps_bpy10512000.json} +0 -0
  79. /package/deployments/bsctestnet/{JumpRateModel_base0bps_slope500bps_jump5000bps_kink8000bps.json → JumpRateModel_base0bps_slope500bps_jump5000bps_kink8000bps_bpy10512000.json} +0 -0
  80. /package/deployments/bsctestnet/{JumpRateModel_base0bps_slope687bps_jump25000bps_kink8000bps.json → JumpRateModel_base0bps_slope687bps_jump25000bps_kink8000bps_bpy10512000.json} +0 -0
  81. /package/deployments/bsctestnet/{JumpRateModel_base0bps_slope750bps_jump5000bps_kink8000bps.json → JumpRateModel_base0bps_slope750bps_jump5000bps_kink8000bps_bpy10512000.json} +0 -0
  82. /package/deployments/bsctestnet/{JumpRateModel_base0bps_slope900bps_jump20000bps_kink5000bps.json → JumpRateModel_base0bps_slope900bps_jump20000bps_kink5000bps_bpy10512000.json} +0 -0
  83. /package/deployments/bsctestnet/{JumpRateModel_base0bps_slope900bps_jump35000bps_kink4500bps.json → JumpRateModel_base0bps_slope900bps_jump35000bps_kink4500bps_bpy10512000.json} +0 -0
  84. /package/deployments/bsctestnet/{JumpRateModel_base200bps_slope1500bps_jump30000bps_kink6000bps.json → JumpRateModel_base200bps_slope1500bps_jump30000bps_kink6000bps_bpy10512000.json} +0 -0
  85. /package/deployments/bsctestnet/{JumpRateModel_base200bps_slope2000bps_jump30000bps_kink5000bps.json → JumpRateModel_base200bps_slope2000bps_jump30000bps_kink5000bps_bpy10512000.json} +0 -0
  86. /package/deployments/bsctestnet/{InterestRateModelVBNB.json → TwoKinks_base0bps_slope350bps_kink8000bps_slope217500bps_base20bps_kink29000bps_jump30000bps_bpy10512000.json} +0 -0
  87. /package/deployments/bsctestnet/{WhitePaperInterestRateModel_base0bps_slope10000bps.json → WhitePaperInterestRateModel_base0bps_slope10000bps_bpy10512000.json} +0 -0
  88. /package/deployments/bsctestnet/{WhitepaperInterestRateModel.json → WhitePaperInterestRateModel_base200bps_slope1000bps_bpy10512000.json} +0 -0
@@ -166,6 +166,7 @@ const config = {
166
166
  bsctestnet: {
167
167
  url: process.env.ARCHIVE_NODE_bsctestnet || "https://data-seed-prebsc-1-s1.binance.org:8545",
168
168
  chainId: 97,
169
+ live: true,
169
170
  accounts: DEPLOYER_PRIVATE_KEY ? [`0x${DEPLOYER_PRIVATE_KEY}`] : [],
170
171
  gasPrice: 10000000000,
171
172
  gasMultiplier: 10,
@@ -174,6 +175,7 @@ const config = {
174
175
  bscmainnet: {
175
176
  url: process.env.ARCHIVE_NODE_bscmainnet || "https://bsc-dataseed.binance.org/",
176
177
  chainId: 56,
178
+ live: true,
177
179
  accounts: DEPLOYER_PRIVATE_KEY ? [`0x${DEPLOYER_PRIVATE_KEY}`] : [],
178
180
  },
179
181
  sepolia: {
@@ -0,0 +1,38 @@
1
+ declare const knownChains: readonly ["hardhat", "bsctestnet", "bscmainnet", "sepolia", "ethereum", "opbnbtestnet", "opbnbmainnet", "arbitrumsepolia", "arbitrumone", "opsepolia", "opmainnet", "basesepolia", "basemainnet", "unichainsepolia", "unichainmainnet", "berachainbartio", "zksyncsepolia", "zksyncmainnet"];
2
+ export type Chain = {
3
+ [k in keyof typeof knownChains]: (typeof knownChains)[k];
4
+ }[number];
5
+ export type BlocksPerYear = number | "time-based";
6
+ export declare const blocksPerYear: {
7
+ readonly hardhat: 100;
8
+ readonly bsctestnet: 10512000;
9
+ readonly bscmainnet: 10512000;
10
+ readonly sepolia: 2628000;
11
+ readonly ethereum: 2628000;
12
+ readonly opbnbtestnet: 31536000;
13
+ readonly opbnbmainnet: 31536000;
14
+ readonly arbitrumsepolia: "time-based";
15
+ readonly arbitrumone: "time-based";
16
+ readonly opsepolia: "time-based";
17
+ readonly opmainnet: "time-based";
18
+ readonly basesepolia: "time-based";
19
+ readonly basemainnet: "time-based";
20
+ readonly unichainsepolia: "time-based";
21
+ readonly unichainmainnet: "time-based";
22
+ readonly berachainbartio: "time-based";
23
+ readonly zksyncsepolia: "time-based";
24
+ readonly zksyncmainnet: "time-based";
25
+ };
26
+ export type TimeBasedChain = keyof {
27
+ [k in Chain as (typeof blocksPerYear)[k] extends "time-based" ? k : never]: void;
28
+ };
29
+ export type BlockBasedChain = keyof {
30
+ [k in Chain as (typeof blocksPerYear)[k] extends number ? k : never]: void;
31
+ };
32
+ export declare const isKnownChain: (networkName: string) => networkName is "hardhat" | "bsctestnet" | "bscmainnet" | "sepolia" | "ethereum" | "opbnbtestnet" | "opbnbmainnet" | "arbitrumsepolia" | "arbitrumone" | "opsepolia" | "opmainnet" | "basesepolia" | "basemainnet" | "unichainsepolia" | "unichainmainnet" | "berachainbartio" | "zksyncsepolia" | "zksyncmainnet";
33
+ export declare const assertKnownChain: (networkName: string) => Chain;
34
+ export declare const isTimeBasedChain: (networkName: string) => networkName is "arbitrumsepolia" | "arbitrumone" | "opsepolia" | "opmainnet" | "basesepolia" | "basemainnet" | "unichainsepolia" | "unichainmainnet" | "berachainbartio" | "zksyncsepolia" | "zksyncmainnet";
35
+ export declare const assertTimeBasedChain: (networkName: string) => TimeBasedChain;
36
+ export declare const isBlockBasedChain: (networkName: string) => networkName is "hardhat" | "bsctestnet" | "bscmainnet" | "sepolia" | "ethereum" | "opbnbtestnet" | "opbnbmainnet";
37
+ export declare const assertBlockBasedChain: (networkName: string) => BlockBasedChain;
38
+ export {};
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.assertBlockBasedChain = exports.isBlockBasedChain = exports.assertTimeBasedChain = exports.isTimeBasedChain = exports.assertKnownChain = exports.isKnownChain = exports.blocksPerYear = void 0;
4
+ const knownChains = [
5
+ "hardhat",
6
+ "bsctestnet",
7
+ "bscmainnet",
8
+ "sepolia",
9
+ "ethereum",
10
+ "opbnbtestnet",
11
+ "opbnbmainnet",
12
+ "arbitrumsepolia",
13
+ "arbitrumone",
14
+ "opsepolia",
15
+ "opmainnet",
16
+ "basesepolia",
17
+ "basemainnet",
18
+ "unichainsepolia",
19
+ "unichainmainnet",
20
+ "berachainbartio",
21
+ "zksyncsepolia",
22
+ "zksyncmainnet",
23
+ ];
24
+ exports.blocksPerYear = {
25
+ hardhat: 100,
26
+ bsctestnet: 10512000,
27
+ bscmainnet: 10512000,
28
+ sepolia: 2628000,
29
+ ethereum: 2628000,
30
+ opbnbtestnet: 31536000,
31
+ opbnbmainnet: 31536000,
32
+ arbitrumsepolia: "time-based",
33
+ arbitrumone: "time-based",
34
+ opsepolia: "time-based",
35
+ opmainnet: "time-based",
36
+ basesepolia: "time-based",
37
+ basemainnet: "time-based",
38
+ unichainsepolia: "time-based",
39
+ unichainmainnet: "time-based",
40
+ berachainbartio: "time-based",
41
+ zksyncsepolia: "time-based",
42
+ zksyncmainnet: "time-based",
43
+ };
44
+ const isKnownChain = (networkName) => {
45
+ return knownChains.includes(networkName);
46
+ };
47
+ exports.isKnownChain = isKnownChain;
48
+ const assertKnownChain = (networkName) => {
49
+ if (!(0, exports.isKnownChain)(networkName)) {
50
+ throw new Error(`Unsupported network ${networkName}`);
51
+ }
52
+ return networkName;
53
+ };
54
+ exports.assertKnownChain = assertKnownChain;
55
+ const isTimeBasedChain = (networkName) => {
56
+ return exports.blocksPerYear[networkName] === "time-based";
57
+ };
58
+ exports.isTimeBasedChain = isTimeBasedChain;
59
+ const assertTimeBasedChain = (networkName) => {
60
+ if (!(0, exports.isTimeBasedChain)(networkName)) {
61
+ throw new Error(`Expected ${networkName} to be a time-based chain`);
62
+ }
63
+ return networkName;
64
+ };
65
+ exports.assertTimeBasedChain = assertTimeBasedChain;
66
+ const isBlockBasedChain = (networkName) => {
67
+ return typeof exports.blocksPerYear[networkName] === "number";
68
+ };
69
+ exports.isBlockBasedChain = isBlockBasedChain;
70
+ const assertBlockBasedChain = (networkName) => {
71
+ if (!(0, exports.isBlockBasedChain)(networkName)) {
72
+ throw new Error(`Expected ${networkName} to be a block-based chain`);
73
+ }
74
+ return networkName;
75
+ };
76
+ exports.assertBlockBasedChain = assertBlockBasedChain;
@@ -1,9 +1,6 @@
1
1
  import { DeploymentsExtension } from "hardhat-deploy/types";
2
2
  import { HardhatRuntimeEnvironment } from "hardhat/types";
3
- export declare enum InterestRateModels {
4
- WhitePaper = 0,
5
- JumpRate = 1
6
- }
3
+ import { ParsedVTokenConfig } from "./markets/types";
7
4
  export type TokenConfig = {
8
5
  isMock: true;
9
6
  name: string;
@@ -14,33 +11,10 @@ export type TokenConfig = {
14
11
  symbol: string;
15
12
  tokenAddress: string;
16
13
  };
17
- export type VTokenConfig = {
18
- name: string;
19
- symbol: string;
20
- asset: string;
21
- rateModel: string;
22
- baseRatePerYear: string;
23
- multiplierPerYear: string;
24
- jumpMultiplierPerYear: string;
25
- kink_: string;
26
- collateralFactor: string;
27
- reserveFactor: string;
28
- initialSupply: string;
29
- supplyCap: string;
30
- borrowCap: string;
31
- vTokenReceiver: string;
32
- };
33
14
  export type DeploymentConfig = {
34
- tokensConfig: TokenConfig[];
35
- marketsConfig: VTokenConfig[];
36
- };
37
- export type NetworkConfig = {
38
- hardhat: DeploymentConfig;
39
- bsctestnet: DeploymentConfig;
40
- bscmainnet: DeploymentConfig;
15
+ tokensConfig: Record<string, TokenConfig>;
16
+ marketsConfig: ParsedVTokenConfig[];
41
17
  };
42
- export declare const getGlobalConfig: () => Promise<NetworkConfig>;
43
- export declare function getConfig(networkName: string): Promise<DeploymentConfig>;
44
18
  export declare function getTokenConfig(tokenSymbol: string, tokens: TokenConfig[]): TokenConfig;
45
19
  export declare const getContractAddressOrNullAddress: (deployments: DeploymentsExtension, name: string) => Promise<string>;
46
20
  export declare const onlyHardhat: () => (hre: HardhatRuntimeEnvironment) => Promise<boolean>;