@carrot-protocol/clend-rpc 0.0.1-mrgn-fork1-dev-7be6ef2 → 0.0.1-mrgn-fork1-dev-61aff5b

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 (56) hide show
  1. package/dist/addresses.d.ts +80 -0
  2. package/dist/addresses.js +146 -0
  3. package/dist/addresses.js.map +1 -0
  4. package/dist/idl/clend.d.ts +3755 -0
  5. package/dist/idl/clend.js +3758 -0
  6. package/dist/idl/clend.js.map +1 -0
  7. package/dist/index.d.ts +7 -0
  8. package/dist/index.js +39 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/instructions.d.ts +41 -0
  11. package/dist/instructions.js +299 -0
  12. package/dist/instructions.js.map +1 -0
  13. package/dist/jupUtils.d.ts +69 -0
  14. package/dist/jupUtils.js +215 -0
  15. package/dist/jupUtils.js.map +1 -0
  16. package/dist/jupiterUtils.d.ts +62 -0
  17. package/dist/jupiterUtils.js +158 -0
  18. package/dist/jupiterUtils.js.map +1 -0
  19. package/dist/logger.d.ts +2 -0
  20. package/dist/logger.js +21 -0
  21. package/dist/logger.js.map +1 -0
  22. package/dist/math.d.ts +242 -0
  23. package/dist/math.js +482 -0
  24. package/dist/math.js.map +1 -0
  25. package/dist/mockJupiterUtils.d.ts +54 -0
  26. package/dist/mockJupiterUtils.js +75 -0
  27. package/dist/mockJupiterUtils.js.map +1 -0
  28. package/dist/rpc.d.ts +55 -0
  29. package/dist/rpc.js +652 -0
  30. package/dist/rpc.js.map +1 -0
  31. package/dist/state.d.ts +260 -0
  32. package/dist/state.js +131 -0
  33. package/dist/state.js.map +1 -0
  34. package/dist/utils.d.ts +20 -0
  35. package/dist/utils.js +238 -0
  36. package/dist/utils.js.map +1 -0
  37. package/package.json +8 -3
  38. package/.prettierignore +0 -1
  39. package/makefile +0 -12
  40. package/src/addresses.ts +0 -206
  41. package/src/idl/clend.ts +0 -7509
  42. package/src/index.ts +0 -31
  43. package/src/instructions.ts +0 -466
  44. package/src/jupUtils.ts +0 -347
  45. package/src/jupiterUtils.ts +0 -288
  46. package/src/logger.ts +0 -21
  47. package/src/math.ts +0 -684
  48. package/src/mockJupiterUtils.ts +0 -109
  49. package/src/rpc.ts +0 -1296
  50. package/src/state.ts +0 -512
  51. package/src/utils.ts +0 -249
  52. package/test/bank.test.ts +0 -95
  53. package/test/interest-rate.test.ts +0 -114
  54. package/test/leverage.test.ts +0 -867
  55. package/test/token-amounts.test.ts +0 -73
  56. package/tsconfig.json +0 -17
@@ -0,0 +1,80 @@
1
+ import { web3, BN } from "@coral-xyz/anchor";
2
+ export declare const CLEND_PROGRAM_ID: web3.PublicKey;
3
+ /**
4
+ * Derive the PDA for a bank account
5
+ * @param clendGroup The clend group public key
6
+ * @param mint The token mint public key
7
+ * @returns The bank PDA
8
+ */
9
+ export declare function getBankPda(clendGroup: web3.PublicKey, mint: web3.PublicKey): web3.PublicKey;
10
+ /**
11
+ * Derive the PDA for a bank with seed
12
+ * @param clendGroup The clend group public key
13
+ * @param mint The token mint public key
14
+ * @param seed The seed value
15
+ * @returns The bank PDA
16
+ */
17
+ export declare function getBankWithSeedPda(clendGroup: web3.PublicKey, mint: web3.PublicKey, seed: BN): web3.PublicKey;
18
+ /**
19
+ * Derive the PDA for a bank's liquidity vault authority
20
+ * @param bank The bank public key
21
+ * @returns The liquidity vault authority PDA
22
+ */
23
+ export declare function getBankLiquidityVaultAuthorityPda(bank: web3.PublicKey): web3.PublicKey;
24
+ /**
25
+ * Derive the PDA for a bank's insurance vault authority
26
+ * @param bank The bank public key
27
+ * @returns The insurance vault authority PDA
28
+ */
29
+ export declare function getBankInsuranceVaultAuthorityPda(bank: web3.PublicKey): web3.PublicKey;
30
+ /**
31
+ * Derive the PDA for a bank's fee vault authority
32
+ * @param bank The bank public key
33
+ * @returns The fee vault authority PDA
34
+ */
35
+ export declare function getBankFeeVaultAuthorityPda(bank: web3.PublicKey): web3.PublicKey;
36
+ /**
37
+ * Derive the PDA for the fee state
38
+ * @returns The fee state PDA
39
+ */
40
+ export declare function getFeeStatePda(): web3.PublicKey;
41
+ /**
42
+ * Derive the PDA for a clend account
43
+ * @param authority The authority public key
44
+ * @param clendGroup The clend group public key
45
+ * @returns The clend account PDA
46
+ */
47
+ export declare function getClendAccountPda(authority: web3.PublicKey, clendGroup: web3.PublicKey): web3.PublicKey;
48
+ /**
49
+ * Derive the PDA for a clend account with seed
50
+ * @param authority The authority public key
51
+ * @param clendGroup The clend group public key
52
+ * @param seed The seed value
53
+ * @returns The clend account PDA
54
+ */
55
+ export declare function getClendAccountWithSeedPda(authority: web3.PublicKey, clendGroup: web3.PublicKey, seed: BN): web3.PublicKey;
56
+ /**
57
+ * Derive the PDA for a position in a clend account
58
+ * @param clendAccount The clend account public key
59
+ * @param bank The bank public key
60
+ * @returns The position PDA
61
+ */
62
+ export declare function getPositionPda(clendAccount: web3.PublicKey, bank: web3.PublicKey): web3.PublicKey;
63
+ /**
64
+ * Derive the PDA for a bank's liquidity vault
65
+ * @param bank The bank public key
66
+ * @returns The liquidity vault PDA
67
+ */
68
+ export declare function getBankLiquidityVaultPda(bank: web3.PublicKey): web3.PublicKey;
69
+ /**
70
+ * Derive the PDA for a bank's insurance vault
71
+ * @param bank The bank public key
72
+ * @returns The insurance vault PDA
73
+ */
74
+ export declare function getBankInsuranceVaultPda(bank: web3.PublicKey): web3.PublicKey;
75
+ /**
76
+ * Derive the PDA for a bank's fee vault
77
+ * @param bank The bank public key
78
+ * @returns The fee vault PDA
79
+ */
80
+ export declare function getBankFeeVaultPda(bank: web3.PublicKey): web3.PublicKey;
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CLEND_PROGRAM_ID = void 0;
4
+ exports.getBankPda = getBankPda;
5
+ exports.getBankWithSeedPda = getBankWithSeedPda;
6
+ exports.getBankLiquidityVaultAuthorityPda = getBankLiquidityVaultAuthorityPda;
7
+ exports.getBankInsuranceVaultAuthorityPda = getBankInsuranceVaultAuthorityPda;
8
+ exports.getBankFeeVaultAuthorityPda = getBankFeeVaultAuthorityPda;
9
+ exports.getFeeStatePda = getFeeStatePda;
10
+ exports.getClendAccountPda = getClendAccountPda;
11
+ exports.getClendAccountWithSeedPda = getClendAccountWithSeedPda;
12
+ exports.getPositionPda = getPositionPda;
13
+ exports.getBankLiquidityVaultPda = getBankLiquidityVaultPda;
14
+ exports.getBankInsuranceVaultPda = getBankInsuranceVaultPda;
15
+ exports.getBankFeeVaultPda = getBankFeeVaultPda;
16
+ const anchor_1 = require("@coral-xyz/anchor");
17
+ exports.CLEND_PROGRAM_ID = new anchor_1.web3.PublicKey("C73nDAFn23RYwiFa6vtHshSbcg8x6BLYjw3bERJ3vHxf");
18
+ /**
19
+ * Derive the PDA for a bank account
20
+ * @param clendGroup The clend group public key
21
+ * @param mint The token mint public key
22
+ * @returns The bank PDA
23
+ */
24
+ function getBankPda(clendGroup, mint) {
25
+ const [pubkey] = anchor_1.web3.PublicKey.findProgramAddressSync([Buffer.from("bank"), clendGroup.toBuffer(), mint.toBuffer()], exports.CLEND_PROGRAM_ID);
26
+ return pubkey;
27
+ }
28
+ /**
29
+ * Derive the PDA for a bank with seed
30
+ * @param clendGroup The clend group public key
31
+ * @param mint The token mint public key
32
+ * @param seed The seed value
33
+ * @returns The bank PDA
34
+ */
35
+ function getBankWithSeedPda(clendGroup, mint, seed) {
36
+ const seedBuffer = Buffer.alloc(8);
37
+ seedBuffer.writeBigUInt64LE(BigInt(seed.toString()));
38
+ const [pubkey] = anchor_1.web3.PublicKey.findProgramAddressSync([
39
+ Buffer.from("bank_with_seed"),
40
+ clendGroup.toBuffer(),
41
+ mint.toBuffer(),
42
+ seedBuffer,
43
+ ], exports.CLEND_PROGRAM_ID);
44
+ return pubkey;
45
+ }
46
+ /**
47
+ * Derive the PDA for a bank's liquidity vault authority
48
+ * @param bank The bank public key
49
+ * @returns The liquidity vault authority PDA
50
+ */
51
+ function getBankLiquidityVaultAuthorityPda(bank) {
52
+ const [pubkey] = anchor_1.web3.PublicKey.findProgramAddressSync([Buffer.from("liquidity_vault_auth"), bank.toBuffer()], exports.CLEND_PROGRAM_ID);
53
+ return pubkey;
54
+ }
55
+ /**
56
+ * Derive the PDA for a bank's insurance vault authority
57
+ * @param bank The bank public key
58
+ * @returns The insurance vault authority PDA
59
+ */
60
+ function getBankInsuranceVaultAuthorityPda(bank) {
61
+ const [pubkey] = anchor_1.web3.PublicKey.findProgramAddressSync([Buffer.from("insurance_vault_auth"), bank.toBuffer()], exports.CLEND_PROGRAM_ID);
62
+ return pubkey;
63
+ }
64
+ /**
65
+ * Derive the PDA for a bank's fee vault authority
66
+ * @param bank The bank public key
67
+ * @returns The fee vault authority PDA
68
+ */
69
+ function getBankFeeVaultAuthorityPda(bank) {
70
+ const [pubkey] = anchor_1.web3.PublicKey.findProgramAddressSync([Buffer.from("fee_vault_auth"), bank.toBuffer()], exports.CLEND_PROGRAM_ID);
71
+ return pubkey;
72
+ }
73
+ /**
74
+ * Derive the PDA for the fee state
75
+ * @returns The fee state PDA
76
+ */
77
+ function getFeeStatePda() {
78
+ const [pubkey] = anchor_1.web3.PublicKey.findProgramAddressSync([Buffer.from("fee_state")], exports.CLEND_PROGRAM_ID);
79
+ return pubkey;
80
+ }
81
+ /**
82
+ * Derive the PDA for a clend account
83
+ * @param authority The authority public key
84
+ * @param clendGroup The clend group public key
85
+ * @returns The clend account PDA
86
+ */
87
+ function getClendAccountPda(authority, clendGroup) {
88
+ const [pubkey] = anchor_1.web3.PublicKey.findProgramAddressSync([Buffer.from("clend_account"), authority.toBuffer(), clendGroup.toBuffer()], exports.CLEND_PROGRAM_ID);
89
+ return pubkey;
90
+ }
91
+ /**
92
+ * Derive the PDA for a clend account with seed
93
+ * @param authority The authority public key
94
+ * @param clendGroup The clend group public key
95
+ * @param seed The seed value
96
+ * @returns The clend account PDA
97
+ */
98
+ function getClendAccountWithSeedPda(authority, clendGroup, seed) {
99
+ const seedBuffer = Buffer.alloc(8);
100
+ seedBuffer.writeBigUInt64LE(BigInt(seed.toString()));
101
+ const [pubkey] = anchor_1.web3.PublicKey.findProgramAddressSync([
102
+ Buffer.from("clend_account_with_seed"),
103
+ authority.toBuffer(),
104
+ clendGroup.toBuffer(),
105
+ seedBuffer,
106
+ ], exports.CLEND_PROGRAM_ID);
107
+ return pubkey;
108
+ }
109
+ /**
110
+ * Derive the PDA for a position in a clend account
111
+ * @param clendAccount The clend account public key
112
+ * @param bank The bank public key
113
+ * @returns The position PDA
114
+ */
115
+ function getPositionPda(clendAccount, bank) {
116
+ const [pubkey] = anchor_1.web3.PublicKey.findProgramAddressSync([Buffer.from("position"), clendAccount.toBuffer(), bank.toBuffer()], exports.CLEND_PROGRAM_ID);
117
+ return pubkey;
118
+ }
119
+ /**
120
+ * Derive the PDA for a bank's liquidity vault
121
+ * @param bank The bank public key
122
+ * @returns The liquidity vault PDA
123
+ */
124
+ function getBankLiquidityVaultPda(bank) {
125
+ const [pubkey] = anchor_1.web3.PublicKey.findProgramAddressSync([Buffer.from("liquidity_vault"), bank.toBuffer()], exports.CLEND_PROGRAM_ID);
126
+ return pubkey;
127
+ }
128
+ /**
129
+ * Derive the PDA for a bank's insurance vault
130
+ * @param bank The bank public key
131
+ * @returns The insurance vault PDA
132
+ */
133
+ function getBankInsuranceVaultPda(bank) {
134
+ const [pubkey] = anchor_1.web3.PublicKey.findProgramAddressSync([Buffer.from("insurance_vault"), bank.toBuffer()], exports.CLEND_PROGRAM_ID);
135
+ return pubkey;
136
+ }
137
+ /**
138
+ * Derive the PDA for a bank's fee vault
139
+ * @param bank The bank public key
140
+ * @returns The fee vault PDA
141
+ */
142
+ function getBankFeeVaultPda(bank) {
143
+ const [pubkey] = anchor_1.web3.PublicKey.findProgramAddressSync([Buffer.from("fee_vault"), bank.toBuffer()], exports.CLEND_PROGRAM_ID);
144
+ return pubkey;
145
+ }
146
+ //# sourceMappingURL=addresses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addresses.js","sourceRoot":"","sources":["../src/addresses.ts"],"names":[],"mappings":"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"}