@haven-fi/solauto-sdk 1.0.431 → 1.0.433
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/clients/solautoMarginfiClient.d.ts.map +1 -1
- package/dist/clients/solautoMarginfiClient.js +9 -5
- package/dist/utils/jitoUtils.d.ts +3 -3
- package/dist/utils/jitoUtils.d.ts.map +1 -1
- package/dist/utils/jitoUtils.js +10 -3
- package/package.json +1 -1
- package/src/clients/solautoMarginfiClient.ts +11 -8
- package/src/utils/jitoUtils.ts +14 -4
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"solautoMarginfiClient.d.ts","sourceRoot":"","sources":["../../src/clients/solautoMarginfiClient.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,MAAM,EACN,kBAAkB,EAMnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,SAAS,EAA8B,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAM1D,OAAO,EACL,kBAAkB,EAElB,aAAa,EAGb,iBAAiB,EACjB,wBAAwB,EACxB,gCAAgC,EAKjC,MAAM,cAAc,CAAC;AAEtB,OAAO,EAEL,eAAe,EAUhB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,gBAAgB,EAChB,eAAe,EAChB,MAAM,iCAAiC,CAAC;AASzC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,MAAM,WAAW,yBAA0B,SAAQ,iBAAiB;IAClE,eAAe,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IACrC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,aAAa,CAAC,EAAE,SAAS,CAAC;CAC3B;AAED,qBAAa,qBAAsB,SAAQ,aAAa;IACtD,OAAO,CAAC,cAAc,CAAC,CAAY;IAE5B,eAAe,EAAG,SAAS,CAAC;IAE5B,sBAAsB,EAAE,MAAM,CAAa;IAC3C,eAAe,EAAG,SAAS,GAAG,MAAM,CAAC;IACrC,iBAAiB,EAAG,SAAS,CAAC;IAC9B,aAAa,EAAG,SAAS,CAAC;IAE1B,sBAAsB,EAAG,qBAAqB,CAAC;IAC/C,oBAAoB,EAAG,qBAAqB,CAAC;IAE7C,iBAAiB,EAAG,SAAS,CAAC;IAC9B,eAAe,EAAG,SAAS,CAAC;IAG5B,iCAAiC,CAAC,EAAE,MAAM,CAAC;IAC3C,6BAA6B,EAAG,SAAS,CAAC;IAC1C,2BAA2B,CAAC,EAAE,eAAe,CAAC;IAE/C,UAAU,CAAC,IAAI,EAAE,yBAAyB;
|
1
|
+
{"version":3,"file":"solautoMarginfiClient.d.ts","sourceRoot":"","sources":["../../src/clients/solautoMarginfiClient.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,MAAM,EACN,kBAAkB,EAMnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,SAAS,EAA8B,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAM1D,OAAO,EACL,kBAAkB,EAElB,aAAa,EAGb,iBAAiB,EACjB,wBAAwB,EACxB,gCAAgC,EAKjC,MAAM,cAAc,CAAC;AAEtB,OAAO,EAEL,eAAe,EAUhB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,gBAAgB,EAChB,eAAe,EAChB,MAAM,iCAAiC,CAAC;AASzC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,MAAM,WAAW,yBAA0B,SAAQ,iBAAiB;IAClE,eAAe,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IACrC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,aAAa,CAAC,EAAE,SAAS,CAAC;CAC3B;AAED,qBAAa,qBAAsB,SAAQ,aAAa;IACtD,OAAO,CAAC,cAAc,CAAC,CAAY;IAE5B,eAAe,EAAG,SAAS,CAAC;IAE5B,sBAAsB,EAAE,MAAM,CAAa;IAC3C,eAAe,EAAG,SAAS,GAAG,MAAM,CAAC;IACrC,iBAAiB,EAAG,SAAS,CAAC;IAC9B,aAAa,EAAG,SAAS,CAAC;IAE1B,sBAAsB,EAAG,qBAAqB,CAAC;IAC/C,oBAAoB,EAAG,qBAAqB,CAAC;IAE7C,iBAAiB,EAAG,SAAS,CAAC;IAC9B,eAAe,EAAG,SAAS,CAAC;IAG5B,iCAAiC,CAAC,EAAE,MAAM,CAAC;IAC3C,6BAA6B,EAAG,SAAS,CAAC;IAC1C,2BAA2B,CAAC,EAAE,eAAe,CAAC;IAE/C,UAAU,CAAC,IAAI,EAAE,yBAAyB;IA2F1C,8BAA8B;IAwCpC,eAAe,IAAI,SAAS;IAI5B,mBAAmB,IAAI,MAAM,EAAE;IAI/B,gBAAgB,IAAI,SAAS,EAAE;IAUzB,wBAAwB,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;IA0BvE,yBAAyB,CAAC,eAAe,EAAE,MAAM,GAAG,kBAAkB;IAStE,YAAY,CACV,aAAa,CAAC,EAAE,gCAAgC,EAChD,GAAG,CAAC,EAAE,kBAAkB,GACvB,kBAAkB;IAMrB,OAAO,CAAC,sBAAsB;IA6C9B,OAAO,IAAI,kBAAkB;IAc7B,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,GAAG,kBAAkB;IAUhE,OAAO,CAAC,6BAA6B;IAmErC,OAAO,CAAC,oCAAoC;IA0D5C,SAAS,CACP,aAAa,EAAE,GAAG,GAAG,GAAG,EACxB,QAAQ,EAAE,aAAa,EACvB,aAAa,EAAE,wBAAwB,EACvC,eAAe,EAAE,eAAe,EAChC,SAAS,CAAC,EAAE,gBAAgB,EAC5B,2BAA2B,CAAC,EAAE,MAAM,GACnC,kBAAkB;IAgFrB,WAAW,CACT,gBAAgB,EAAE,gBAAgB,EAClC,uBAAuB,EAAE,SAAS,GACjC,kBAAkB;IA2BrB,UAAU,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,kBAAkB;IAoF5D,qBAAqB,IAAI,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;CA8ClE"}
|
@@ -21,11 +21,9 @@ class SolautoMarginfiClient extends solautoClient_1.SolautoClient {
|
|
21
21
|
await super.initialize(args);
|
22
22
|
this.lendingPlatform = generated_1.LendingPlatform.Marginfi;
|
23
23
|
if (this.selfManaged) {
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
this.otherSigners.push(marginfiAccSigner);
|
28
|
-
}
|
24
|
+
this.marginfiAccount =
|
25
|
+
args.marginfiAccount ??
|
26
|
+
(0, umi_1.createSignerFromKeypair)(this.umi, this.umi.eddsa.generateKeypair());
|
29
27
|
}
|
30
28
|
else {
|
31
29
|
if (this.solautoPositionData) {
|
@@ -46,6 +44,9 @@ class SolautoMarginfiClient extends solautoClient_1.SolautoClient {
|
|
46
44
|
"publicKey" in this.marginfiAccount
|
47
45
|
? (0, umi_web3js_adapters_1.toWeb3JsPublicKey)(this.marginfiAccount.publicKey)
|
48
46
|
: this.marginfiAccount;
|
47
|
+
if ("publicKey" in this.marginfiAccount) {
|
48
|
+
this.otherSigners.push(this.marginfiAccount);
|
49
|
+
}
|
49
50
|
const marginfiAccountData = !args.new
|
50
51
|
? await (0, marginfi_sdk_1.safeFetchMarginfiAccount)(this.umi, (0, umi_1.publicKey)(this.marginfiAccountPk), { commitment: "confirmed" })
|
51
52
|
: null;
|
@@ -90,6 +91,9 @@ class SolautoMarginfiClient extends solautoClient_1.SolautoClient {
|
|
90
91
|
compatibleMarginfiAccounts.length > 0
|
91
92
|
? compatibleMarginfiAccounts[0]
|
92
93
|
: undefined;
|
94
|
+
if (this.intermediaryMarginfiAccountSigner) {
|
95
|
+
this.otherSigners.push(this.intermediaryMarginfiAccountSigner);
|
96
|
+
}
|
93
97
|
}
|
94
98
|
protocolAccount() {
|
95
99
|
return this.marginfiAccountPk;
|
@@ -1,8 +1,8 @@
|
|
1
|
-
import { Connection, PublicKey
|
2
|
-
import { Signer, TransactionBuilder, Umi } from "@metaplex-foundation/umi";
|
1
|
+
import { Connection, PublicKey } from "@solana/web3.js";
|
2
|
+
import { Signer, TransactionBuilder, Umi, TransactionMessage } from "@metaplex-foundation/umi";
|
3
3
|
import { PriorityFeeSetting, TransactionRunType } from "../types";
|
4
4
|
export declare function getRandomTipAccount(): PublicKey;
|
5
|
-
export declare function getRequiredSigners(message:
|
5
|
+
export declare function getRequiredSigners(message: TransactionMessage): {
|
6
6
|
index: number;
|
7
7
|
publicKey: string;
|
8
8
|
isWritable: boolean;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"jitoUtils.d.ts","sourceRoot":"","sources":["../../src/utils/jitoUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,SAAS,
|
1
|
+
{"version":3,"file":"jitoUtils.d.ts","sourceRoot":"","sources":["../../src/utils/jitoUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,SAAS,EAKV,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,MAAM,EACN,kBAAkB,EAClB,GAAG,EAEH,kBAAkB,EACnB,MAAM,0BAA0B,CAAC;AAQlC,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAMlE,wBAAgB,mBAAmB,IAAI,SAAS,CAa/C;AA8ND,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB;;;;IAkB7D;AAED,wBAAsB,2BAA2B,CAC/C,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EAAE,EACtB,GAAG,EAAE,kBAAkB,EAAE,EACzB,MAAM,CAAC,EAAE,kBAAkB,EAC3B,kBAAkB,GAAE,kBAA2C,EAC/D,cAAc,CAAC,EAAE,MAAM,IAAI,GAC1B,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CA8F/B"}
|
package/dist/utils/jitoUtils.js
CHANGED
@@ -116,8 +116,15 @@ async function umiToVersionedTransactions(umi, blockhash, userSigner, otherSigne
|
|
116
116
|
}));
|
117
117
|
if (sign) {
|
118
118
|
builtTxs = await userSigner.signAllTransactions(builtTxs);
|
119
|
-
for (const
|
120
|
-
|
119
|
+
for (const signer of otherSigners) {
|
120
|
+
for (let i = 0; i < builtTxs.length; i++) {
|
121
|
+
const requiredSigners = getRequiredSigners(builtTxs[i].message);
|
122
|
+
if (requiredSigners
|
123
|
+
.map((x) => x.publicKey)
|
124
|
+
.includes(signer.publicKey.toString())) {
|
125
|
+
builtTxs[i] = await signer.signTransaction(builtTxs[i]);
|
126
|
+
}
|
127
|
+
}
|
121
128
|
}
|
122
129
|
}
|
123
130
|
return builtTxs.map((x) => (0, umi_web3js_adapters_1.toWeb3JsTransaction)(x));
|
@@ -182,7 +189,7 @@ function getRequiredSigners(message) {
|
|
182
189
|
const numWritableSigners = numRequiredSignatures - numReadonlySignedAccounts;
|
183
190
|
const signersInfo = [];
|
184
191
|
for (let i = 0; i < numRequiredSignatures; i++) {
|
185
|
-
const publicKey = message.
|
192
|
+
const publicKey = message.accounts[i].toString();
|
186
193
|
const isWritable = i < numWritableSigners;
|
187
194
|
signersInfo.push({
|
188
195
|
index: i,
|
package/package.json
CHANGED
@@ -95,14 +95,9 @@ export class SolautoMarginfiClient extends SolautoClient {
|
|
95
95
|
this.lendingPlatform = LendingPlatform.Marginfi;
|
96
96
|
|
97
97
|
if (this.selfManaged) {
|
98
|
-
|
99
|
-
|
100
|
-
this.umi.eddsa.generateKeypair()
|
101
|
-
);
|
102
|
-
this.marginfiAccount = args.marginfiAccount ?? marginfiAccSigner;
|
103
|
-
if (!args.marginfiAccount) {
|
104
|
-
this.otherSigners.push(marginfiAccSigner);
|
105
|
-
}
|
98
|
+
this.marginfiAccount =
|
99
|
+
args.marginfiAccount ??
|
100
|
+
createSignerFromKeypair(this.umi, this.umi.eddsa.generateKeypair());
|
106
101
|
} else {
|
107
102
|
if (this.solautoPositionData) {
|
108
103
|
this.marginfiAccount = toWeb3JsPublicKey(
|
@@ -138,6 +133,10 @@ export class SolautoMarginfiClient extends SolautoClient {
|
|
138
133
|
? toWeb3JsPublicKey(this.marginfiAccount.publicKey)
|
139
134
|
: this.marginfiAccount;
|
140
135
|
|
136
|
+
if ("publicKey" in this.marginfiAccount) {
|
137
|
+
this.otherSigners.push(this.marginfiAccount);
|
138
|
+
}
|
139
|
+
|
141
140
|
const marginfiAccountData = !args.new
|
142
141
|
? await safeFetchMarginfiAccount(
|
143
142
|
this.umi,
|
@@ -215,6 +214,10 @@ export class SolautoMarginfiClient extends SolautoClient {
|
|
215
214
|
compatibleMarginfiAccounts.length > 0
|
216
215
|
? compatibleMarginfiAccounts[0]
|
217
216
|
: undefined;
|
217
|
+
|
218
|
+
if (this.intermediaryMarginfiAccountSigner) {
|
219
|
+
this.otherSigners.push(this.intermediaryMarginfiAccountSigner);
|
220
|
+
}
|
218
221
|
}
|
219
222
|
|
220
223
|
protocolAccount(): PublicKey {
|
package/src/utils/jitoUtils.ts
CHANGED
@@ -13,6 +13,7 @@ import {
|
|
13
13
|
TransactionBuilder,
|
14
14
|
Umi,
|
15
15
|
WrappedInstruction,
|
16
|
+
TransactionMessage,
|
16
17
|
} from "@metaplex-foundation/umi";
|
17
18
|
import {
|
18
19
|
assembleFinalTransaction,
|
@@ -178,8 +179,17 @@ async function umiToVersionedTransactions(
|
|
178
179
|
|
179
180
|
if (sign) {
|
180
181
|
builtTxs = await userSigner.signAllTransactions(builtTxs);
|
181
|
-
for (const
|
182
|
-
|
182
|
+
for (const signer of otherSigners) {
|
183
|
+
for (let i = 0; i < builtTxs.length; i++) {
|
184
|
+
const requiredSigners = getRequiredSigners(builtTxs[i].message);
|
185
|
+
if (
|
186
|
+
requiredSigners
|
187
|
+
.map((x) => x.publicKey)
|
188
|
+
.includes(signer.publicKey.toString())
|
189
|
+
) {
|
190
|
+
builtTxs[i] = await signer.signTransaction(builtTxs[i]);
|
191
|
+
}
|
192
|
+
}
|
183
193
|
}
|
184
194
|
}
|
185
195
|
|
@@ -253,14 +263,14 @@ async function sendJitoBundle(
|
|
253
263
|
return bundleId ? await pollBundleStatus(bundleId) : [];
|
254
264
|
}
|
255
265
|
|
256
|
-
export function getRequiredSigners(message:
|
266
|
+
export function getRequiredSigners(message: TransactionMessage) {
|
257
267
|
const { numRequiredSignatures, numReadonlySignedAccounts } = message.header;
|
258
268
|
|
259
269
|
const numWritableSigners = numRequiredSignatures - numReadonlySignedAccounts;
|
260
270
|
|
261
271
|
const signersInfo = [];
|
262
272
|
for (let i = 0; i < numRequiredSignatures; i++) {
|
263
|
-
const publicKey = message.
|
273
|
+
const publicKey = message.accounts[i].toString();
|
264
274
|
const isWritable = i < numWritableSigners;
|
265
275
|
|
266
276
|
signersInfo.push({
|