@huma-finance/sdk 0.0.62-beta.721 → 0.0.62-beta.725
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/helpers/solana/HumaSolanaProgramHelper.js +48 -3
- package/dist/cjs/helpers/solana/HumaSolanaProgramHelper.js.map +1 -1
- package/dist/cjs/helpers/solana/HumaSolanaReceivableHelper.js +12 -0
- package/dist/cjs/helpers/solana/HumaSolanaReceivableHelper.js.map +1 -1
- package/dist/cjs/utils/solana/buildOptimalTransaction.d.ts +3 -0
- package/dist/cjs/utils/solana/buildOptimalTransaction.js +20 -0
- package/dist/cjs/utils/solana/buildOptimalTransaction.js.map +1 -0
- package/dist/helpers/solana/HumaSolanaProgramHelper.js +48 -3
- package/dist/helpers/solana/HumaSolanaProgramHelper.js.map +1 -1
- package/dist/helpers/solana/HumaSolanaReceivableHelper.js +12 -0
- package/dist/helpers/solana/HumaSolanaReceivableHelper.js.map +1 -1
- package/dist/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/utils/solana/buildOptimalTransaction.d.ts +3 -0
- package/dist/utils/solana/buildOptimalTransaction.js +17 -0
- package/dist/utils/solana/buildOptimalTransaction.js.map +1 -0
- package/package.json +3 -3
|
@@ -7,6 +7,7 @@ const anchor_1 = require("@coral-xyz/anchor");
|
|
|
7
7
|
const shared_1 = require("@huma-finance/shared");
|
|
8
8
|
const spl_token_1 = require("@solana/spl-token");
|
|
9
9
|
const web3_js_1 = require("@solana/web3.js");
|
|
10
|
+
const buildOptimalTransaction_1 = require("../../utils/solana/buildOptimalTransaction");
|
|
10
11
|
const getReceivableReferenceAccount_1 = require("../../utils/solana/getReceivableReferenceAccount");
|
|
11
12
|
exports.MPL_CORE_PROGRAM_ID = 'CoREENxT6tW1HoK8ypY1SxRMZTcVPm7R94rH4PZNhX7d';
|
|
12
13
|
class HumaSolanaProgramHelper {
|
|
@@ -42,6 +43,16 @@ class HumaSolanaProgramHelper {
|
|
|
42
43
|
})
|
|
43
44
|
.transaction();
|
|
44
45
|
tx.add(programTx);
|
|
46
|
+
await (0, buildOptimalTransaction_1.buildOptimalTransaction)(tx, [
|
|
47
|
+
publicKey,
|
|
48
|
+
receivableReferenceData.asset,
|
|
49
|
+
new web3_js_1.PublicKey(poolInfo.humaConfig),
|
|
50
|
+
new web3_js_1.PublicKey(poolInfo.poolConfig),
|
|
51
|
+
new web3_js_1.PublicKey(poolInfo.poolState),
|
|
52
|
+
creditConfigAccount,
|
|
53
|
+
creditStateAccount,
|
|
54
|
+
new web3_js_1.PublicKey(exports.MPL_CORE_PROGRAM_ID),
|
|
55
|
+
], tslib_1.__classPrivateFieldGet(this, _HumaSolanaProgramHelper_solanaContext, "f"));
|
|
45
56
|
return tx;
|
|
46
57
|
}
|
|
47
58
|
async buildDrawdownTransaction(amount) {
|
|
@@ -97,6 +108,19 @@ class HumaSolanaProgramHelper {
|
|
|
97
108
|
})
|
|
98
109
|
.transaction();
|
|
99
110
|
tx.add(programTx);
|
|
111
|
+
await (0, buildOptimalTransaction_1.buildOptimalTransaction)(tx, [
|
|
112
|
+
publicKey,
|
|
113
|
+
new web3_js_1.PublicKey(poolInfo.humaConfig),
|
|
114
|
+
new web3_js_1.PublicKey(poolInfo.poolConfig),
|
|
115
|
+
new web3_js_1.PublicKey(poolInfo.poolState),
|
|
116
|
+
creditConfigAccount,
|
|
117
|
+
creditStateAccount,
|
|
118
|
+
new web3_js_1.PublicKey(poolInfo.poolAuthority),
|
|
119
|
+
new web3_js_1.PublicKey(poolInfo.underlyingMint.address),
|
|
120
|
+
new web3_js_1.PublicKey(poolInfo.poolUnderlyingTokenAccount),
|
|
121
|
+
borrowerUnderlyingTokenAccountAddress,
|
|
122
|
+
spl_token_1.TOKEN_PROGRAM_ID,
|
|
123
|
+
], tslib_1.__classPrivateFieldGet(this, _HumaSolanaProgramHelper_solanaContext, "f"));
|
|
100
124
|
return tx;
|
|
101
125
|
}
|
|
102
126
|
async buildPaymentTransaction(amount, principalOnly = false) {
|
|
@@ -107,7 +131,7 @@ class HumaSolanaProgramHelper {
|
|
|
107
131
|
throw new Error('Could not find pool');
|
|
108
132
|
}
|
|
109
133
|
const { creditConfigAccount, creditStateAccount } = (0, shared_1.getCreditAccounts)(poolInfo, publicKey);
|
|
110
|
-
const { underlyingTokenATA:
|
|
134
|
+
const { underlyingTokenATA: borrowerUnderlyingTokenAccount } = (0, shared_1.getTokenAccounts)(poolInfo, publicKey);
|
|
111
135
|
const accounts = {
|
|
112
136
|
humaConfig: poolInfo.humaConfig,
|
|
113
137
|
poolConfig: poolInfo.poolConfig,
|
|
@@ -117,7 +141,7 @@ class HumaSolanaProgramHelper {
|
|
|
117
141
|
poolAuthority: poolInfo.poolAuthority,
|
|
118
142
|
underlyingMint: poolInfo.underlyingMint.address,
|
|
119
143
|
poolUnderlyingToken: poolInfo.poolUnderlyingTokenAccount,
|
|
120
|
-
borrowerUnderlyingToken:
|
|
144
|
+
borrowerUnderlyingToken: borrowerUnderlyingTokenAccount,
|
|
121
145
|
tokenProgram: spl_token_1.TOKEN_PROGRAM_ID,
|
|
122
146
|
};
|
|
123
147
|
let tx;
|
|
@@ -133,6 +157,19 @@ class HumaSolanaProgramHelper {
|
|
|
133
157
|
.accountsPartial(Object.assign(Object.assign({}, accounts), { signer: publicKey }))
|
|
134
158
|
.transaction();
|
|
135
159
|
}
|
|
160
|
+
await (0, buildOptimalTransaction_1.buildOptimalTransaction)(tx, [
|
|
161
|
+
publicKey,
|
|
162
|
+
new web3_js_1.PublicKey(poolInfo.humaConfig),
|
|
163
|
+
new web3_js_1.PublicKey(poolInfo.poolConfig),
|
|
164
|
+
new web3_js_1.PublicKey(poolInfo.poolState),
|
|
165
|
+
creditConfigAccount,
|
|
166
|
+
creditStateAccount,
|
|
167
|
+
new web3_js_1.PublicKey(poolInfo.poolAuthority),
|
|
168
|
+
new web3_js_1.PublicKey(poolInfo.underlyingMint.address),
|
|
169
|
+
new web3_js_1.PublicKey(poolInfo.poolUnderlyingTokenAccount),
|
|
170
|
+
borrowerUnderlyingTokenAccount,
|
|
171
|
+
spl_token_1.TOKEN_PROGRAM_ID,
|
|
172
|
+
], tslib_1.__classPrivateFieldGet(this, _HumaSolanaProgramHelper_solanaContext, "f"));
|
|
136
173
|
return tx;
|
|
137
174
|
}
|
|
138
175
|
async buildApproveAllowanceTransaction() {
|
|
@@ -142,7 +179,15 @@ class HumaSolanaProgramHelper {
|
|
|
142
179
|
throw new Error('Could not find pool');
|
|
143
180
|
}
|
|
144
181
|
const { underlyingTokenATA: borrowerUnderlyingTokenAccount } = (0, shared_1.getTokenAccounts)(poolInfo, publicKey);
|
|
145
|
-
|
|
182
|
+
const tx = new web3_js_1.Transaction().add((0, spl_token_1.createApproveCheckedInstruction)(borrowerUnderlyingTokenAccount, new web3_js_1.PublicKey(poolInfo.underlyingMint.address), new web3_js_1.PublicKey((0, shared_1.getSentinelAddress)(chainId)), publicKey, BigInt(shared_1.SolanaTokenUtils.parseUnits('100000000000', poolInfo.underlyingMint.decimals).toString()), poolInfo.underlyingMint.decimals, undefined, spl_token_1.TOKEN_PROGRAM_ID));
|
|
183
|
+
await (0, buildOptimalTransaction_1.buildOptimalTransaction)(tx, [
|
|
184
|
+
publicKey,
|
|
185
|
+
borrowerUnderlyingTokenAccount,
|
|
186
|
+
new web3_js_1.PublicKey(poolInfo.underlyingMint.address),
|
|
187
|
+
new web3_js_1.PublicKey((0, shared_1.getSentinelAddress)(chainId)),
|
|
188
|
+
spl_token_1.TOKEN_PROGRAM_ID,
|
|
189
|
+
], tslib_1.__classPrivateFieldGet(this, _HumaSolanaProgramHelper_solanaContext, "f"));
|
|
190
|
+
return tx;
|
|
146
191
|
}
|
|
147
192
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
148
193
|
async getAccountInfo() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HumaSolanaProgramHelper.js","sourceRoot":"","sources":["../../../../src/helpers/solana/HumaSolanaProgramHelper.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"HumaSolanaProgramHelper.js","sourceRoot":"","sources":["../../../../src/helpers/solana/HumaSolanaProgramHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ const web3_js_1 = require("@solana/web3.js");
|
|
|
8
8
|
const lodash_1 = tslib_1.__importDefault(require("lodash"));
|
|
9
9
|
const getReceivableReferenceAccount_1 = require("../../utils/solana/getReceivableReferenceAccount");
|
|
10
10
|
const HumaSolanaProgramHelper_1 = require("./HumaSolanaProgramHelper");
|
|
11
|
+
const buildOptimalTransaction_1 = require("../../utils/solana/buildOptimalTransaction");
|
|
11
12
|
class HumaSolanaReceivableHelper {
|
|
12
13
|
constructor({ solanaContext }) {
|
|
13
14
|
_HumaSolanaReceivableHelper_solanaContext.set(this, void 0);
|
|
@@ -44,6 +45,12 @@ class HumaSolanaReceivableHelper {
|
|
|
44
45
|
.transaction();
|
|
45
46
|
tx.add(programTx);
|
|
46
47
|
tx.feePayer = publicKey;
|
|
48
|
+
await (0, buildOptimalTransaction_1.buildOptimalTransaction)(tx, [
|
|
49
|
+
publicKey,
|
|
50
|
+
newAsset.publicKey,
|
|
51
|
+
new web3_js_1.PublicKey(HumaSolanaProgramHelper_1.MPL_CORE_PROGRAM_ID),
|
|
52
|
+
receivableReferencePDA,
|
|
53
|
+
], tslib_1.__classPrivateFieldGet(this, _HumaSolanaReceivableHelper_solanaContext, "f"));
|
|
47
54
|
return tx;
|
|
48
55
|
}
|
|
49
56
|
async buildDeclarePaymentTransaction(referenceId, paymentAmount) {
|
|
@@ -65,6 +72,11 @@ class HumaSolanaReceivableHelper {
|
|
|
65
72
|
})
|
|
66
73
|
.transaction();
|
|
67
74
|
tx.add(programTx);
|
|
75
|
+
await (0, buildOptimalTransaction_1.buildOptimalTransaction)(tx, [
|
|
76
|
+
publicKey,
|
|
77
|
+
receivableReferenceData.asset,
|
|
78
|
+
new web3_js_1.PublicKey(HumaSolanaProgramHelper_1.MPL_CORE_PROGRAM_ID),
|
|
79
|
+
], tslib_1.__classPrivateFieldGet(this, _HumaSolanaReceivableHelper_solanaContext, "f"));
|
|
68
80
|
return tx;
|
|
69
81
|
}
|
|
70
82
|
async getReceivableInfo(referenceId, ownerOverride) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HumaSolanaReceivableHelper.js","sourceRoot":"","sources":["../../../../src/helpers/solana/HumaSolanaReceivableHelper.ts"],"names":[],"mappings":";;;;;AACA,iDAAwE;AACxE,6CAAiE;AACjE,4DAA2B;AAC3B,oGAGyD;AAEzD,uEAA+D;
|
|
1
|
+
{"version":3,"file":"HumaSolanaReceivableHelper.js","sourceRoot":"","sources":["../../../../src/helpers/solana/HumaSolanaReceivableHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildOptimalTransaction = buildOptimalTransaction;
|
|
4
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
5
|
+
async function buildOptimalTransaction(tx, txAccounts, context) {
|
|
6
|
+
const [recentPrioritizationFees, recentBlockhash] = await Promise.all([
|
|
7
|
+
context.connection.getRecentPrioritizationFees({
|
|
8
|
+
lockedWritableAccounts: txAccounts,
|
|
9
|
+
}),
|
|
10
|
+
context.connection.getLatestBlockhash(),
|
|
11
|
+
]);
|
|
12
|
+
let averagePrioritizationFee = recentPrioritizationFees.reduce((acc, fee) => acc + fee.prioritizationFee, 0);
|
|
13
|
+
averagePrioritizationFee = Math.ceil(averagePrioritizationFee / recentPrioritizationFees.length);
|
|
14
|
+
tx.instructions.unshift(web3_js_1.ComputeBudgetProgram.setComputeUnitPrice({
|
|
15
|
+
microLamports: averagePrioritizationFee,
|
|
16
|
+
}));
|
|
17
|
+
tx.recentBlockhash = recentBlockhash.blockhash;
|
|
18
|
+
return tx;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=buildOptimalTransaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"buildOptimalTransaction.js","sourceRoot":"","sources":["../../../../src/utils/solana/buildOptimalTransaction.ts"],"names":[],"mappings":";;AAQA,0DA4BC;AApCD,6CAKwB;AAGjB,KAAK,UAAU,uBAAuB,CAC3C,EAAe,EACf,UAAuB,EACvB,OAA0B;IAE1B,MAAM,CAAC,wBAAwB,EAAE,eAAe,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACpE,OAAO,CAAC,UAAU,CAAC,2BAA2B,CAAC;YAC7C,sBAAsB,EAAE,UAAU;SACnC,CAAC;QACF,OAAO,CAAC,UAAU,CAAC,kBAAkB,EAAE;KACxC,CAAC,CAAA;IAEF,IAAI,wBAAwB,GAAG,wBAAwB,CAAC,MAAM,CAC5D,CAAC,GAAW,EAAE,GAA6B,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,iBAAiB,EAC3E,CAAC,CACF,CAAA;IACD,wBAAwB,GAAG,IAAI,CAAC,IAAI,CAClC,wBAAwB,GAAG,wBAAwB,CAAC,MAAM,CAC3D,CAAA;IAED,EAAE,CAAC,YAAY,CAAC,OAAO,CACrB,8BAAoB,CAAC,mBAAmB,CAAC;QACvC,aAAa,EAAE,wBAAwB;KACxC,CAAC,CACH,CAAA;IAED,EAAE,CAAC,eAAe,GAAG,eAAe,CAAC,SAAS,CAAA;IAC9C,OAAO,EAAE,CAAA;AACX,CAAC"}
|
|
@@ -4,6 +4,7 @@ import { BN } from '@coral-xyz/anchor';
|
|
|
4
4
|
import { getCreditAccounts, getHumaProgram, getSentinelAddress, getSolanaPoolInfo, getTokenAccounts, SolanaTokenUtils, } from '@huma-finance/shared';
|
|
5
5
|
import { createApproveCheckedInstruction, createAssociatedTokenAccountInstruction, getAccount, TOKEN_PROGRAM_ID, TokenAccountNotFoundError, } from '@solana/spl-token';
|
|
6
6
|
import { PublicKey, Transaction } from '@solana/web3.js';
|
|
7
|
+
import { buildOptimalTransaction } from '../../utils/solana/buildOptimalTransaction';
|
|
7
8
|
import { getReceivableReferenceData } from '../../utils/solana/getReceivableReferenceAccount';
|
|
8
9
|
export const MPL_CORE_PROGRAM_ID = 'CoREENxT6tW1HoK8ypY1SxRMZTcVPm7R94rH4PZNhX7d';
|
|
9
10
|
export class HumaSolanaProgramHelper {
|
|
@@ -39,6 +40,16 @@ export class HumaSolanaProgramHelper {
|
|
|
39
40
|
})
|
|
40
41
|
.transaction();
|
|
41
42
|
tx.add(programTx);
|
|
43
|
+
await buildOptimalTransaction(tx, [
|
|
44
|
+
publicKey,
|
|
45
|
+
receivableReferenceData.asset,
|
|
46
|
+
new PublicKey(poolInfo.humaConfig),
|
|
47
|
+
new PublicKey(poolInfo.poolConfig),
|
|
48
|
+
new PublicKey(poolInfo.poolState),
|
|
49
|
+
creditConfigAccount,
|
|
50
|
+
creditStateAccount,
|
|
51
|
+
new PublicKey(MPL_CORE_PROGRAM_ID),
|
|
52
|
+
], __classPrivateFieldGet(this, _HumaSolanaProgramHelper_solanaContext, "f"));
|
|
42
53
|
return tx;
|
|
43
54
|
}
|
|
44
55
|
async buildDrawdownTransaction(amount) {
|
|
@@ -94,6 +105,19 @@ export class HumaSolanaProgramHelper {
|
|
|
94
105
|
})
|
|
95
106
|
.transaction();
|
|
96
107
|
tx.add(programTx);
|
|
108
|
+
await buildOptimalTransaction(tx, [
|
|
109
|
+
publicKey,
|
|
110
|
+
new PublicKey(poolInfo.humaConfig),
|
|
111
|
+
new PublicKey(poolInfo.poolConfig),
|
|
112
|
+
new PublicKey(poolInfo.poolState),
|
|
113
|
+
creditConfigAccount,
|
|
114
|
+
creditStateAccount,
|
|
115
|
+
new PublicKey(poolInfo.poolAuthority),
|
|
116
|
+
new PublicKey(poolInfo.underlyingMint.address),
|
|
117
|
+
new PublicKey(poolInfo.poolUnderlyingTokenAccount),
|
|
118
|
+
borrowerUnderlyingTokenAccountAddress,
|
|
119
|
+
TOKEN_PROGRAM_ID,
|
|
120
|
+
], __classPrivateFieldGet(this, _HumaSolanaProgramHelper_solanaContext, "f"));
|
|
97
121
|
return tx;
|
|
98
122
|
}
|
|
99
123
|
async buildPaymentTransaction(amount, principalOnly = false) {
|
|
@@ -104,7 +128,7 @@ export class HumaSolanaProgramHelper {
|
|
|
104
128
|
throw new Error('Could not find pool');
|
|
105
129
|
}
|
|
106
130
|
const { creditConfigAccount, creditStateAccount } = getCreditAccounts(poolInfo, publicKey);
|
|
107
|
-
const { underlyingTokenATA:
|
|
131
|
+
const { underlyingTokenATA: borrowerUnderlyingTokenAccount } = getTokenAccounts(poolInfo, publicKey);
|
|
108
132
|
const accounts = {
|
|
109
133
|
humaConfig: poolInfo.humaConfig,
|
|
110
134
|
poolConfig: poolInfo.poolConfig,
|
|
@@ -114,7 +138,7 @@ export class HumaSolanaProgramHelper {
|
|
|
114
138
|
poolAuthority: poolInfo.poolAuthority,
|
|
115
139
|
underlyingMint: poolInfo.underlyingMint.address,
|
|
116
140
|
poolUnderlyingToken: poolInfo.poolUnderlyingTokenAccount,
|
|
117
|
-
borrowerUnderlyingToken:
|
|
141
|
+
borrowerUnderlyingToken: borrowerUnderlyingTokenAccount,
|
|
118
142
|
tokenProgram: TOKEN_PROGRAM_ID,
|
|
119
143
|
};
|
|
120
144
|
let tx;
|
|
@@ -130,6 +154,19 @@ export class HumaSolanaProgramHelper {
|
|
|
130
154
|
.accountsPartial(Object.assign(Object.assign({}, accounts), { signer: publicKey }))
|
|
131
155
|
.transaction();
|
|
132
156
|
}
|
|
157
|
+
await buildOptimalTransaction(tx, [
|
|
158
|
+
publicKey,
|
|
159
|
+
new PublicKey(poolInfo.humaConfig),
|
|
160
|
+
new PublicKey(poolInfo.poolConfig),
|
|
161
|
+
new PublicKey(poolInfo.poolState),
|
|
162
|
+
creditConfigAccount,
|
|
163
|
+
creditStateAccount,
|
|
164
|
+
new PublicKey(poolInfo.poolAuthority),
|
|
165
|
+
new PublicKey(poolInfo.underlyingMint.address),
|
|
166
|
+
new PublicKey(poolInfo.poolUnderlyingTokenAccount),
|
|
167
|
+
borrowerUnderlyingTokenAccount,
|
|
168
|
+
TOKEN_PROGRAM_ID,
|
|
169
|
+
], __classPrivateFieldGet(this, _HumaSolanaProgramHelper_solanaContext, "f"));
|
|
133
170
|
return tx;
|
|
134
171
|
}
|
|
135
172
|
async buildApproveAllowanceTransaction() {
|
|
@@ -139,7 +176,15 @@ export class HumaSolanaProgramHelper {
|
|
|
139
176
|
throw new Error('Could not find pool');
|
|
140
177
|
}
|
|
141
178
|
const { underlyingTokenATA: borrowerUnderlyingTokenAccount } = getTokenAccounts(poolInfo, publicKey);
|
|
142
|
-
|
|
179
|
+
const tx = new Transaction().add(createApproveCheckedInstruction(borrowerUnderlyingTokenAccount, new PublicKey(poolInfo.underlyingMint.address), new PublicKey(getSentinelAddress(chainId)), publicKey, BigInt(SolanaTokenUtils.parseUnits('100000000000', poolInfo.underlyingMint.decimals).toString()), poolInfo.underlyingMint.decimals, undefined, TOKEN_PROGRAM_ID));
|
|
180
|
+
await buildOptimalTransaction(tx, [
|
|
181
|
+
publicKey,
|
|
182
|
+
borrowerUnderlyingTokenAccount,
|
|
183
|
+
new PublicKey(poolInfo.underlyingMint.address),
|
|
184
|
+
new PublicKey(getSentinelAddress(chainId)),
|
|
185
|
+
TOKEN_PROGRAM_ID,
|
|
186
|
+
], __classPrivateFieldGet(this, _HumaSolanaProgramHelper_solanaContext, "f"));
|
|
187
|
+
return tx;
|
|
143
188
|
}
|
|
144
189
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
145
190
|
async getAccountInfo() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HumaSolanaProgramHelper.js","sourceRoot":"","sources":["../../../src/helpers/solana/HumaSolanaProgramHelper.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"HumaSolanaProgramHelper.js","sourceRoot":"","sources":["../../../src/helpers/solana/HumaSolanaProgramHelper.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import { PublicKey, Transaction } from '@solana/web3.js';
|
|
|
5
5
|
import lodash from 'lodash';
|
|
6
6
|
import { getReceivableReferenceAccount, getReceivableReferenceData, } from '../../utils/solana/getReceivableReferenceAccount';
|
|
7
7
|
import { MPL_CORE_PROGRAM_ID } from './HumaSolanaProgramHelper';
|
|
8
|
+
import { buildOptimalTransaction } from '../../utils/solana/buildOptimalTransaction';
|
|
8
9
|
export class HumaSolanaReceivableHelper {
|
|
9
10
|
constructor({ solanaContext }) {
|
|
10
11
|
_HumaSolanaReceivableHelper_solanaContext.set(this, void 0);
|
|
@@ -41,6 +42,12 @@ export class HumaSolanaReceivableHelper {
|
|
|
41
42
|
.transaction();
|
|
42
43
|
tx.add(programTx);
|
|
43
44
|
tx.feePayer = publicKey;
|
|
45
|
+
await buildOptimalTransaction(tx, [
|
|
46
|
+
publicKey,
|
|
47
|
+
newAsset.publicKey,
|
|
48
|
+
new PublicKey(MPL_CORE_PROGRAM_ID),
|
|
49
|
+
receivableReferencePDA,
|
|
50
|
+
], __classPrivateFieldGet(this, _HumaSolanaReceivableHelper_solanaContext, "f"));
|
|
44
51
|
return tx;
|
|
45
52
|
}
|
|
46
53
|
async buildDeclarePaymentTransaction(referenceId, paymentAmount) {
|
|
@@ -62,6 +69,11 @@ export class HumaSolanaReceivableHelper {
|
|
|
62
69
|
})
|
|
63
70
|
.transaction();
|
|
64
71
|
tx.add(programTx);
|
|
72
|
+
await buildOptimalTransaction(tx, [
|
|
73
|
+
publicKey,
|
|
74
|
+
receivableReferenceData.asset,
|
|
75
|
+
new PublicKey(MPL_CORE_PROGRAM_ID),
|
|
76
|
+
], __classPrivateFieldGet(this, _HumaSolanaReceivableHelper_solanaContext, "f"));
|
|
65
77
|
return tx;
|
|
66
78
|
}
|
|
67
79
|
async getReceivableInfo(referenceId, ownerOverride) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HumaSolanaReceivableHelper.js","sourceRoot":"","sources":["../../../src/helpers/solana/HumaSolanaReceivableHelper.ts"],"names":[],"mappings":";;AACA,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxE,OAAO,EAAW,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AACjE,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,GAC3B,MAAM,kDAAkD,CAAA;AAEzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"HumaSolanaReceivableHelper.js","sourceRoot":"","sources":["../../../src/helpers/solana/HumaSolanaReceivableHelper.ts"],"names":[],"mappings":"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"}
|