@lifi/sdk-provider-solana 4.0.0-alpha.21 → 4.0.0-alpha.22
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/SolanaProvider.js +1 -0
- package/dist/cjs/SolanaProvider.js.map +1 -1
- package/dist/cjs/core/SolanaStepExecutor.d.ts +1 -0
- package/dist/cjs/core/SolanaStepExecutor.js +3 -0
- package/dist/cjs/core/SolanaStepExecutor.js.map +1 -1
- package/dist/cjs/core/tasks/SolanaStandardWaitForTransactionTask.js +14 -12
- package/dist/cjs/core/tasks/SolanaStandardWaitForTransactionTask.js.map +1 -1
- package/dist/cjs/types.d.ts +3 -0
- package/dist/cjs/types.js.map +1 -1
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/SolanaProvider.js +1 -0
- package/dist/esm/SolanaProvider.js.map +1 -1
- package/dist/esm/core/SolanaStepExecutor.d.ts +1 -0
- package/dist/esm/core/SolanaStepExecutor.js +3 -0
- package/dist/esm/core/SolanaStepExecutor.js.map +1 -1
- package/dist/esm/core/tasks/SolanaStandardWaitForTransactionTask.js +14 -12
- package/dist/esm/core/tasks/SolanaStandardWaitForTransactionTask.js.map +1 -1
- package/dist/esm/types.d.ts +3 -0
- package/dist/esm/types.js.map +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/types/SolanaProvider.d.ts.map +1 -1
- package/dist/types/core/SolanaStepExecutor.d.ts +1 -0
- package/dist/types/core/SolanaStepExecutor.d.ts.map +1 -1
- package/dist/types/core/tasks/SolanaStandardWaitForTransactionTask.d.ts.map +1 -1
- package/dist/types/types.d.ts +3 -0
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +3 -3
- package/src/SolanaProvider.ts +1 -0
- package/src/core/SolanaStepExecutor.ts +3 -0
- package/src/core/tasks/SolanaStandardWaitForTransactionTask.ts +25 -23
- package/src/types.ts +3 -0
- package/src/version.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolanaProvider.js","sourceRoot":"","sources":["../../src/SolanaProvider.ts"],"names":[],"mappings":";;AAYA,
|
|
1
|
+
{"version":3,"file":"SolanaProvider.js","sourceRoot":"","sources":["../../src/SolanaProvider.ts"],"names":[],"mappings":";;AAYA,wCAsCC;AAlDD,mCAKkB;AAClB,qCAAuC;AACvC,uEAAgE;AAChE,+EAAwE;AACxE,wEAAiE;AAGjE,SAAgB,cAAc,CAC5B,OAA+B;IAE/B,MAAM,QAAQ,GAA0B,OAAO,IAAI,EAAE,CAAA;IACrD,OAAO;QACL,IAAI,IAAI;YACN,OAAO,eAAS,CAAC,GAAG,CAAA;QACtB,CAAC;QACD,SAAS,EAAT,eAAS;QACT,cAAc,EAAE,8CAAoB;QACpC,UAAU,EAAE,sCAAgB;QAC5B,KAAK,CAAC,eAAe,CACnB,OAA4B;YAE5B,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;gBACxB,MAAM,IAAI,mBAAa,CACrB,mBAAa,CAAC,WAAW,EACzB,8CAA8C,CAC/C,CAAA;YACH,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,CAAA;YAEzC,MAAM,QAAQ,GAAG,IAAI,0CAAkB,CAAC;gBACtC,MAAM;gBACN,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,cAAc,EAAE,QAAQ,CAAC,cAAc;gBACvC,gBAAgB,EAAE;oBAChB,GAAG,OAAO,CAAC,gBAAgB;iBAC5B;aACF,CAAC,CAAA;YAEF,OAAO,QAAQ,CAAA;QACjB,CAAC;QACD,UAAU,CAAC,OAA8B;YACvC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAClC,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -2,6 +2,7 @@ import { BaseStepExecutor, type ExecutionAction, type LiFiStepExtended, type SDK
|
|
|
2
2
|
import type { SolanaStepExecutorContext, SolanaStepExecutorOptions } from '../types.js';
|
|
3
3
|
export declare class SolanaStepExecutor extends BaseStepExecutor {
|
|
4
4
|
private wallet;
|
|
5
|
+
private skipSimulation;
|
|
5
6
|
constructor(options: SolanaStepExecutorOptions);
|
|
6
7
|
getWalletAccount: (step: LiFiStepExtended) => import("@wallet-standard/base").WalletAccount;
|
|
7
8
|
parseErrors: (error: Error, step?: LiFiStepExtended, action?: ExecutionAction) => Promise<SDKError>;
|
|
@@ -7,9 +7,11 @@ const SolanaSignAndExecuteTask_js_1 = require("./tasks/SolanaSignAndExecuteTask.
|
|
|
7
7
|
const SolanaWaitForTransactionTask_js_1 = require("./tasks/SolanaWaitForTransactionTask.js");
|
|
8
8
|
class SolanaStepExecutor extends sdk_1.BaseStepExecutor {
|
|
9
9
|
wallet;
|
|
10
|
+
skipSimulation;
|
|
10
11
|
constructor(options) {
|
|
11
12
|
super(options);
|
|
12
13
|
this.wallet = options.wallet;
|
|
14
|
+
this.skipSimulation = options.skipSimulation ?? false;
|
|
13
15
|
}
|
|
14
16
|
getWalletAccount = (step) => {
|
|
15
17
|
const account = this.wallet.accounts.find((account) => account.address === step.action.fromAddress);
|
|
@@ -26,6 +28,7 @@ class SolanaStepExecutor extends sdk_1.BaseStepExecutor {
|
|
|
26
28
|
...baseContext,
|
|
27
29
|
wallet: this.wallet,
|
|
28
30
|
walletAccount,
|
|
31
|
+
skipSimulation: this.skipSimulation,
|
|
29
32
|
};
|
|
30
33
|
};
|
|
31
34
|
createPipeline = (context) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolanaStepExecutor.js","sourceRoot":"","sources":["../../../src/core/SolanaStepExecutor.ts"],"names":[],"mappings":";;;AAAA,mCAYkB;AAElB,yEAAkE;AAKlE,qFAA8E;AAC9E,6FAAsF;AAEtF,MAAa,kBAAmB,SAAQ,sBAAgB;IAC9C,MAAM,CAAQ;
|
|
1
|
+
{"version":3,"file":"SolanaStepExecutor.js","sourceRoot":"","sources":["../../../src/core/SolanaStepExecutor.ts"],"names":[],"mappings":";;;AAAA,mCAYkB;AAElB,yEAAkE;AAKlE,qFAA8E;AAC9E,6FAAsF;AAEtF,MAAa,kBAAmB,SAAQ,sBAAgB;IAC9C,MAAM,CAAQ;IACd,cAAc,CAAS;IAE/B,YAAY,OAAkC;QAC5C,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QAC5B,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,KAAK,CAAA;IACvD,CAAC;IAED,gBAAgB,GAAG,CAAC,IAAsB,EAAE,EAAE;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CACvC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,MAAM,CAAC,WAAW,CACzD,CAAA;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,sBAAgB,CACxB,mBAAa,CAAC,4BAA4B,EAC1C,mHAAmH,CACpH,CAAA;QACH,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC,CAAA;IAEQ,WAAW,GAAG,CACrB,KAAY,EACZ,IAAuB,EACvB,MAAwB,EACL,EAAE,CAAC,IAAA,wCAAiB,EAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;IAErD,aAAa,GAAG,KAAK,EAC5B,WAAoC,EACA,EAAE;QACtC,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,CAAA;QAE5B,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;QAEjD,OAAO;YACL,GAAG,WAAW;YACd,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,aAAa;YACb,cAAc,EAAE,IAAI,CAAC,cAAc;SACpC,CAAA;IACH,CAAC,CAAA;IAEQ,cAAc,GAAG,CAAC,OAAkC,EAAE,EAAE;QAC/D,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAA;QAE3C,MAAM,KAAK,GAAG;YACZ,IAAI,sBAAgB,EAAE;YACtB,IAAI,4BAAsB,EAAE;YAC5B,IAAI,sDAAwB,EAAE;YAC9B,IAAI,8DAA4B,EAAE;YAClC,IAAI,kCAA4B,CAC9B,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAC/C;SACF,CAAA;QAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CACtD,IAAI,EACJ,iBAAiB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAC3C,CAAA;QAED,MAAM,QAAQ,GACZ,kBAAkB,EAAE,MAAM,IAAI,kBAAkB,EAAE,MAAM,KAAK,MAAM;YACjE,CAAC,CAAC,kCAA4B,CAAC,IAAI;YACnC,CAAC,CAAC,sBAAgB,CAAC,IAAI,CAAA;QAE3B,MAAM,cAAc,GAAG,KAAK,CAAC,SAAS,CACpC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ,CAC7C,CAAA;QAED,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;QAE9C,OAAO,IAAI,kBAAY,CAAC,UAAU,CAAC,CAAA;IACrC,CAAC,CAAA;CACF;AA7ED,gDA6EC"}
|
|
@@ -18,18 +18,20 @@ class SolanaStandardWaitForTransactionTask extends sdk_1.BaseStepExecutionTask {
|
|
|
18
18
|
}
|
|
19
19
|
const signedTransaction = signedTransactions[0];
|
|
20
20
|
const encodedTransaction = (0, kit_1.getBase64EncodedWireTransaction)(signedTransaction);
|
|
21
|
-
|
|
22
|
-
.
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
21
|
+
if (!context.skipSimulation) {
|
|
22
|
+
const simulationResult = await (0, utils_js_1.callSolanaRpcsWithRetry)(client, (connection) => connection
|
|
23
|
+
.simulateTransaction(encodedTransaction, {
|
|
24
|
+
commitment: 'confirmed',
|
|
25
|
+
replaceRecentBlockhash: true,
|
|
26
|
+
encoding: 'base64',
|
|
27
|
+
})
|
|
28
|
+
.send());
|
|
29
|
+
if (simulationResult.value.err) {
|
|
30
|
+
const errorMessage = typeof simulationResult.value.err === 'object'
|
|
31
|
+
? JSON.stringify(simulationResult.value.err, (_, v) => typeof v === 'bigint' ? v.toString() : v)
|
|
32
|
+
: simulationResult.value.err;
|
|
33
|
+
throw new sdk_1.TransactionError(sdk_1.LiFiErrorCode.TransactionSimulationFailed, `Transaction simulation failed: ${errorMessage}`, new Error(errorMessage));
|
|
34
|
+
}
|
|
33
35
|
}
|
|
34
36
|
const result = await (0, sendAndConfirmTransaction_js_1.sendAndConfirmTransaction)(client, signedTransaction);
|
|
35
37
|
if (!result.signatureResult) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolanaStandardWaitForTransactionTask.js","sourceRoot":"","sources":["../../../../src/core/tasks/SolanaStandardWaitForTransactionTask.ts"],"names":[],"mappings":";;;AAAA,mCAKkB;AAClB,qCAA6D;AAC7D,6FAAsF;AACtF,iDAA4D;AAG5D,MAAa,oCAAqC,SAAQ,2BAAqB;IAC7E,KAAK,CAAC,GAAG,CAAC,OAAkC;QAC1C,MAAM,EACJ,MAAM,EACN,IAAI,EACJ,aAAa,EACb,SAAS,EACT,iBAAiB,EACjB,kBAAkB,EAAE,yBAAyB,GAC9C,GAAG,OAAO,CAAA;QAEX,MAAM,kBAAkB,GAAG,yBAAyB,IAAI,EAAE,CAAA;QAE1D,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CACrC,IAAI,EACJ,iBAAiB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAC3C,CAAA;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,sBAAgB,CACxB,mBAAa,CAAC,qBAAqB,EACnC,kDAAkD,CACnD,CAAA;QACH,CAAC;QAED,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC;YAC/B,MAAM,IAAI,sBAAgB,CACxB,mBAAa,CAAC,qBAAqB,EACnC,mEAAmE,CACpE,CAAA;QACH,CAAC;QAGD,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAA;QAE/C,MAAM,kBAAkB,GACtB,IAAA,qCAA+B,EAAC,iBAAiB,CAAC,CAAA;QAEpD,MAAM,gBAAgB,GAAG,MAAM,IAAA,kCAAuB,EACpD,MAAM,EACN,CAAC,UAAU,EAAE,EAAE,CACb,UAAU;
|
|
1
|
+
{"version":3,"file":"SolanaStandardWaitForTransactionTask.js","sourceRoot":"","sources":["../../../../src/core/tasks/SolanaStandardWaitForTransactionTask.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/types.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import type { Transaction } from '@solana/kit';
|
|
|
3
3
|
import type { Wallet, WalletAccount } from '@wallet-standard/base';
|
|
4
4
|
export interface SolanaProviderOptions {
|
|
5
5
|
getWallet?: () => Promise<Wallet>;
|
|
6
|
+
skipSimulation?: boolean;
|
|
6
7
|
}
|
|
7
8
|
export interface SolanaTaskContext {
|
|
8
9
|
signedTransactions?: Transaction[];
|
|
@@ -10,6 +11,7 @@ export interface SolanaTaskContext {
|
|
|
10
11
|
export interface SolanaStepExecutorContext extends StepExecutorContext, SolanaTaskContext {
|
|
11
12
|
wallet: Wallet;
|
|
12
13
|
walletAccount: WalletAccount;
|
|
14
|
+
skipSimulation: boolean;
|
|
13
15
|
}
|
|
14
16
|
export interface SolanaSDKProvider extends SDKProvider {
|
|
15
17
|
setOptions(options: SolanaProviderOptions): void;
|
|
@@ -17,4 +19,5 @@ export interface SolanaSDKProvider extends SDKProvider {
|
|
|
17
19
|
export declare function isSolanaProvider(provider: SDKProvider): provider is SolanaSDKProvider;
|
|
18
20
|
export interface SolanaStepExecutorOptions extends StepExecutorOptions {
|
|
19
21
|
wallet: Wallet;
|
|
22
|
+
skipSimulation?: boolean;
|
|
20
23
|
}
|
package/dist/cjs/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;AA8BA,4CAIC;AAlCD,mCAKkB;AAyBlB,SAAgB,gBAAgB,CAC9B,QAAqB;IAErB,OAAO,QAAQ,CAAC,IAAI,KAAK,eAAS,CAAC,GAAG,CAAA;AACxC,CAAC"}
|
package/dist/cjs/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export declare const name = "@lifi/sdk-provider-solana";
|
|
2
|
-
export declare const version = "4.0.0-alpha.
|
|
2
|
+
export declare const version = "4.0.0-alpha.22";
|
package/dist/cjs/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolanaProvider.js","sourceRoot":"","sources":["../../src/SolanaProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,aAAa,EACb,aAAa,GAEd,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAGjE,MAAM,UAAU,cAAc,CAC5B,OAA+B;IAE/B,MAAM,QAAQ,GAA0B,OAAO,IAAI,EAAE,CAAA;IACrD,OAAO;QACL,IAAI,IAAI;YACN,OAAO,SAAS,CAAC,GAAG,CAAA;QACtB,CAAC;QACD,SAAS;QACT,cAAc,EAAE,oBAAoB;QACpC,UAAU,EAAE,gBAAgB;QAC5B,KAAK,CAAC,eAAe,CACnB,OAA4B;YAE5B,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;gBACxB,MAAM,IAAI,aAAa,CACrB,aAAa,CAAC,WAAW,EACzB,8CAA8C,CAC/C,CAAA;YACH,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,CAAA;YAEzC,MAAM,QAAQ,GAAG,IAAI,kBAAkB,CAAC;gBACtC,MAAM;gBACN,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,gBAAgB,EAAE;oBAChB,GAAG,OAAO,CAAC,gBAAgB;iBAC5B;aACF,CAAC,CAAA;YAEF,OAAO,QAAQ,CAAA;QACjB,CAAC;QACD,UAAU,CAAC,OAA8B;YACvC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAClC,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"SolanaProvider.js","sourceRoot":"","sources":["../../src/SolanaProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,aAAa,EACb,aAAa,GAEd,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAGjE,MAAM,UAAU,cAAc,CAC5B,OAA+B;IAE/B,MAAM,QAAQ,GAA0B,OAAO,IAAI,EAAE,CAAA;IACrD,OAAO;QACL,IAAI,IAAI;YACN,OAAO,SAAS,CAAC,GAAG,CAAA;QACtB,CAAC;QACD,SAAS;QACT,cAAc,EAAE,oBAAoB;QACpC,UAAU,EAAE,gBAAgB;QAC5B,KAAK,CAAC,eAAe,CACnB,OAA4B;YAE5B,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;gBACxB,MAAM,IAAI,aAAa,CACrB,aAAa,CAAC,WAAW,EACzB,8CAA8C,CAC/C,CAAA;YACH,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,CAAA;YAEzC,MAAM,QAAQ,GAAG,IAAI,kBAAkB,CAAC;gBACtC,MAAM;gBACN,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,cAAc,EAAE,QAAQ,CAAC,cAAc;gBACvC,gBAAgB,EAAE;oBAChB,GAAG,OAAO,CAAC,gBAAgB;iBAC5B;aACF,CAAC,CAAA;YAEF,OAAO,QAAQ,CAAA;QACjB,CAAC;QACD,UAAU,CAAC,OAA8B;YACvC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAClC,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -2,6 +2,7 @@ import { BaseStepExecutor, type ExecutionAction, type LiFiStepExtended, type SDK
|
|
|
2
2
|
import type { SolanaStepExecutorContext, SolanaStepExecutorOptions } from '../types.js';
|
|
3
3
|
export declare class SolanaStepExecutor extends BaseStepExecutor {
|
|
4
4
|
private wallet;
|
|
5
|
+
private skipSimulation;
|
|
5
6
|
constructor(options: SolanaStepExecutorOptions);
|
|
6
7
|
getWalletAccount: (step: LiFiStepExtended) => import("@wallet-standard/base").WalletAccount;
|
|
7
8
|
parseErrors: (error: Error, step?: LiFiStepExtended, action?: ExecutionAction) => Promise<SDKError>;
|
|
@@ -4,9 +4,11 @@ import { SolanaSignAndExecuteTask } from './tasks/SolanaSignAndExecuteTask.js';
|
|
|
4
4
|
import { SolanaWaitForTransactionTask } from './tasks/SolanaWaitForTransactionTask.js';
|
|
5
5
|
export class SolanaStepExecutor extends BaseStepExecutor {
|
|
6
6
|
wallet;
|
|
7
|
+
skipSimulation;
|
|
7
8
|
constructor(options) {
|
|
8
9
|
super(options);
|
|
9
10
|
this.wallet = options.wallet;
|
|
11
|
+
this.skipSimulation = options.skipSimulation ?? false;
|
|
10
12
|
}
|
|
11
13
|
getWalletAccount = (step) => {
|
|
12
14
|
const account = this.wallet.accounts.find((account) => account.address === step.action.fromAddress);
|
|
@@ -23,6 +25,7 @@ export class SolanaStepExecutor extends BaseStepExecutor {
|
|
|
23
25
|
...baseContext,
|
|
24
26
|
wallet: this.wallet,
|
|
25
27
|
walletAccount,
|
|
28
|
+
skipSimulation: this.skipSimulation,
|
|
26
29
|
};
|
|
27
30
|
};
|
|
28
31
|
createPipeline = (context) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolanaStepExecutor.js","sourceRoot":"","sources":["../../../src/core/SolanaStepExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAEhB,aAAa,EAEb,sBAAsB,EAGtB,YAAY,EACZ,gBAAgB,EAChB,4BAA4B,GAC7B,MAAM,WAAW,CAAA;AAElB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAKlE,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAA;AAC9E,OAAO,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAA;AAEtF,MAAM,OAAO,kBAAmB,SAAQ,gBAAgB;IAC9C,MAAM,CAAQ;
|
|
1
|
+
{"version":3,"file":"SolanaStepExecutor.js","sourceRoot":"","sources":["../../../src/core/SolanaStepExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAEhB,aAAa,EAEb,sBAAsB,EAGtB,YAAY,EACZ,gBAAgB,EAChB,4BAA4B,GAC7B,MAAM,WAAW,CAAA;AAElB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAKlE,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAA;AAC9E,OAAO,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAA;AAEtF,MAAM,OAAO,kBAAmB,SAAQ,gBAAgB;IAC9C,MAAM,CAAQ;IACd,cAAc,CAAS;IAE/B,YAAY,OAAkC;QAC5C,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QAC5B,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,KAAK,CAAA;IACvD,CAAC;IAED,gBAAgB,GAAG,CAAC,IAAsB,EAAE,EAAE;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CACvC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,MAAM,CAAC,WAAW,CACzD,CAAA;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,gBAAgB,CACxB,aAAa,CAAC,4BAA4B,EAC1C,mHAAmH,CACpH,CAAA;QACH,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC,CAAA;IAEQ,WAAW,GAAG,CACrB,KAAY,EACZ,IAAuB,EACvB,MAAwB,EACL,EAAE,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAA;IAErD,aAAa,GAAG,KAAK,EAC5B,WAAoC,EACA,EAAE;QACtC,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,CAAA;QAE5B,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;QAEjD,OAAO;YACL,GAAG,WAAW;YACd,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,aAAa;YACb,cAAc,EAAE,IAAI,CAAC,cAAc;SACpC,CAAA;IACH,CAAC,CAAA;IAEQ,cAAc,GAAG,CAAC,OAAkC,EAAE,EAAE;QAC/D,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAA;QAE3C,MAAM,KAAK,GAAG;YACZ,IAAI,gBAAgB,EAAE;YACtB,IAAI,sBAAsB,EAAE;YAC5B,IAAI,wBAAwB,EAAE;YAC9B,IAAI,4BAA4B,EAAE;YAClC,IAAI,4BAA4B,CAC9B,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAC/C;SACF,CAAA;QAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CACtD,IAAI,EACJ,iBAAiB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAC3C,CAAA;QAED,MAAM,QAAQ,GACZ,kBAAkB,EAAE,MAAM,IAAI,kBAAkB,EAAE,MAAM,KAAK,MAAM;YACjE,CAAC,CAAC,4BAA4B,CAAC,IAAI;YACnC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAA;QAE3B,MAAM,cAAc,GAAG,KAAK,CAAC,SAAS,CACpC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,QAAQ,CAC7C,CAAA;QAED,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;QAE9C,OAAO,IAAI,YAAY,CAAC,UAAU,CAAC,CAAA;IACrC,CAAC,CAAA;CACF"}
|
|
@@ -16,18 +16,20 @@ export class SolanaStandardWaitForTransactionTask extends BaseStepExecutionTask
|
|
|
16
16
|
// Use regular transaction submission
|
|
17
17
|
const signedTransaction = signedTransactions[0];
|
|
18
18
|
const encodedTransaction = getBase64EncodedWireTransaction(signedTransaction);
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
19
|
+
if (!context.skipSimulation) {
|
|
20
|
+
const simulationResult = await callSolanaRpcsWithRetry(client, (connection) => connection
|
|
21
|
+
.simulateTransaction(encodedTransaction, {
|
|
22
|
+
commitment: 'confirmed',
|
|
23
|
+
replaceRecentBlockhash: true,
|
|
24
|
+
encoding: 'base64',
|
|
25
|
+
})
|
|
26
|
+
.send());
|
|
27
|
+
if (simulationResult.value.err) {
|
|
28
|
+
const errorMessage = typeof simulationResult.value.err === 'object'
|
|
29
|
+
? JSON.stringify(simulationResult.value.err, (_, v) => typeof v === 'bigint' ? v.toString() : v)
|
|
30
|
+
: simulationResult.value.err;
|
|
31
|
+
throw new TransactionError(LiFiErrorCode.TransactionSimulationFailed, `Transaction simulation failed: ${errorMessage}`, new Error(errorMessage));
|
|
32
|
+
}
|
|
31
33
|
}
|
|
32
34
|
const result = await sendAndConfirmTransaction(client, signedTransaction);
|
|
33
35
|
if (!result.signatureResult) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolanaStandardWaitForTransactionTask.js","sourceRoot":"","sources":["../../../../src/core/tasks/SolanaStandardWaitForTransactionTask.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,aAAa,EAEb,gBAAgB,GACjB,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,+BAA+B,EAAE,MAAM,aAAa,CAAA;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAA;AACtF,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAG5D,MAAM,OAAO,oCAAqC,SAAQ,qBAAqB;IAC7E,KAAK,CAAC,GAAG,CAAC,OAAkC;QAC1C,MAAM,EACJ,MAAM,EACN,IAAI,EACJ,aAAa,EACb,SAAS,EACT,iBAAiB,EACjB,kBAAkB,EAAE,yBAAyB,GAC9C,GAAG,OAAO,CAAA;QAEX,MAAM,kBAAkB,GAAG,yBAAyB,IAAI,EAAE,CAAA;QAE1D,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CACrC,IAAI,EACJ,iBAAiB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAC3C,CAAA;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,gBAAgB,CACxB,aAAa,CAAC,qBAAqB,EACnC,kDAAkD,CACnD,CAAA;QACH,CAAC;QAED,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC;YAC/B,MAAM,IAAI,gBAAgB,CACxB,aAAa,CAAC,qBAAqB,EACnC,mEAAmE,CACpE,CAAA;QACH,CAAC;QAED,qCAAqC;QACrC,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAA;QAE/C,MAAM,kBAAkB,GACtB,+BAA+B,CAAC,iBAAiB,CAAC,CAAA;QAEpD,MAAM,gBAAgB,GAAG,MAAM,uBAAuB,CACpD,MAAM,EACN,CAAC,UAAU,EAAE,EAAE,CACb,UAAU;
|
|
1
|
+
{"version":3,"file":"SolanaStandardWaitForTransactionTask.js","sourceRoot":"","sources":["../../../../src/core/tasks/SolanaStandardWaitForTransactionTask.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/types.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import type { Transaction } from '@solana/kit';
|
|
|
3
3
|
import type { Wallet, WalletAccount } from '@wallet-standard/base';
|
|
4
4
|
export interface SolanaProviderOptions {
|
|
5
5
|
getWallet?: () => Promise<Wallet>;
|
|
6
|
+
skipSimulation?: boolean;
|
|
6
7
|
}
|
|
7
8
|
export interface SolanaTaskContext {
|
|
8
9
|
signedTransactions?: Transaction[];
|
|
@@ -10,6 +11,7 @@ export interface SolanaTaskContext {
|
|
|
10
11
|
export interface SolanaStepExecutorContext extends StepExecutorContext, SolanaTaskContext {
|
|
11
12
|
wallet: Wallet;
|
|
12
13
|
walletAccount: WalletAccount;
|
|
14
|
+
skipSimulation: boolean;
|
|
13
15
|
}
|
|
14
16
|
export interface SolanaSDKProvider extends SDKProvider {
|
|
15
17
|
setOptions(options: SolanaProviderOptions): void;
|
|
@@ -17,4 +19,5 @@ export interface SolanaSDKProvider extends SDKProvider {
|
|
|
17
19
|
export declare function isSolanaProvider(provider: SDKProvider): provider is SolanaSDKProvider;
|
|
18
20
|
export interface SolanaStepExecutorOptions extends StepExecutorOptions {
|
|
19
21
|
wallet: Wallet;
|
|
22
|
+
skipSimulation?: boolean;
|
|
20
23
|
}
|
package/dist/esm/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,GAIV,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,GAIV,MAAM,WAAW,CAAA;AAyBlB,MAAM,UAAU,gBAAgB,CAC9B,QAAqB;IAErB,OAAO,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,GAAG,CAAA;AACxC,CAAC"}
|
package/dist/esm/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export declare const name = "@lifi/sdk-provider-solana";
|
|
2
|
-
export declare const version = "4.0.0-alpha.
|
|
2
|
+
export declare const version = "4.0.0-alpha.22";
|
package/dist/esm/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolanaProvider.d.ts","sourceRoot":"","sources":["../../src/SolanaProvider.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAE1E,wBAAgB,cAAc,CAC5B,OAAO,CAAC,EAAE,qBAAqB,GAC9B,iBAAiB,
|
|
1
|
+
{"version":3,"file":"SolanaProvider.d.ts","sourceRoot":"","sources":["../../src/SolanaProvider.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAE1E,wBAAgB,cAAc,CAC5B,OAAO,CAAC,EAAE,qBAAqB,GAC9B,iBAAiB,CAoCnB"}
|
|
@@ -2,6 +2,7 @@ import { BaseStepExecutor, type ExecutionAction, type LiFiStepExtended, type SDK
|
|
|
2
2
|
import type { SolanaStepExecutorContext, SolanaStepExecutorOptions } from '../types.js';
|
|
3
3
|
export declare class SolanaStepExecutor extends BaseStepExecutor {
|
|
4
4
|
private wallet;
|
|
5
|
+
private skipSimulation;
|
|
5
6
|
constructor(options: SolanaStepExecutorOptions);
|
|
6
7
|
getWalletAccount: (step: LiFiStepExtended) => import("@wallet-standard/base").WalletAccount;
|
|
7
8
|
parseErrors: (error: Error, step?: LiFiStepExtended, action?: ExecutionAction) => Promise<SDKError>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolanaStepExecutor.d.ts","sourceRoot":"","sources":["../../../src/core/SolanaStepExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAEhB,KAAK,eAAe,EAEpB,KAAK,gBAAgB,EAErB,KAAK,QAAQ,EACb,KAAK,uBAAuB,EAC5B,YAAY,EAGb,MAAM,WAAW,CAAA;AAGlB,OAAO,KAAK,EACV,yBAAyB,EACzB,yBAAyB,EAC1B,MAAM,aAAa,CAAA;AAIpB,qBAAa,kBAAmB,SAAQ,gBAAgB;IACtD,OAAO,CAAC,MAAM,CAAQ;
|
|
1
|
+
{"version":3,"file":"SolanaStepExecutor.d.ts","sourceRoot":"","sources":["../../../src/core/SolanaStepExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAEhB,KAAK,eAAe,EAEpB,KAAK,gBAAgB,EAErB,KAAK,QAAQ,EACb,KAAK,uBAAuB,EAC5B,YAAY,EAGb,MAAM,WAAW,CAAA;AAGlB,OAAO,KAAK,EACV,yBAAyB,EACzB,yBAAyB,EAC1B,MAAM,aAAa,CAAA;AAIpB,qBAAa,kBAAmB,SAAQ,gBAAgB;IACtD,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,cAAc,CAAS;gBAEnB,OAAO,EAAE,yBAAyB;IAM9C,gBAAgB,GAAI,MAAM,gBAAgB,mDAazC;IAEQ,WAAW,GAClB,OAAO,KAAK,EACZ,OAAO,gBAAgB,EACvB,SAAS,eAAe,KACvB,OAAO,CAAC,QAAQ,CAAC,CAA0C;IAErD,aAAa,GACpB,aAAa,uBAAuB,KACnC,OAAO,CAAC,yBAAyB,CAAC,CAWpC;IAEQ,cAAc,GAAI,SAAS,yBAAyB,kBA8B5D;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolanaStandardWaitForTransactionTask.d.ts","sourceRoot":"","sources":["../../../../src/core/tasks/SolanaStandardWaitForTransactionTask.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EAErB,KAAK,UAAU,EAEhB,MAAM,WAAW,CAAA;AAIlB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAA;AAE/D,qBAAa,oCAAqC,SAAQ,qBAAqB;IACvE,GAAG,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"SolanaStandardWaitForTransactionTask.d.ts","sourceRoot":"","sources":["../../../../src/core/tasks/SolanaStandardWaitForTransactionTask.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EAErB,KAAK,UAAU,EAEhB,MAAM,WAAW,CAAA;AAIlB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAA;AAE/D,qBAAa,oCAAqC,SAAQ,qBAAqB;IACvE,GAAG,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,UAAU,CAAC;CAsGnE"}
|
package/dist/types/types.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import type { Transaction } from '@solana/kit';
|
|
|
3
3
|
import type { Wallet, WalletAccount } from '@wallet-standard/base';
|
|
4
4
|
export interface SolanaProviderOptions {
|
|
5
5
|
getWallet?: () => Promise<Wallet>;
|
|
6
|
+
skipSimulation?: boolean;
|
|
6
7
|
}
|
|
7
8
|
export interface SolanaTaskContext {
|
|
8
9
|
signedTransactions?: Transaction[];
|
|
@@ -10,6 +11,7 @@ export interface SolanaTaskContext {
|
|
|
10
11
|
export interface SolanaStepExecutorContext extends StepExecutorContext, SolanaTaskContext {
|
|
11
12
|
wallet: Wallet;
|
|
12
13
|
walletAccount: WalletAccount;
|
|
14
|
+
skipSimulation: boolean;
|
|
13
15
|
}
|
|
14
16
|
export interface SolanaSDKProvider extends SDKProvider {
|
|
15
17
|
setOptions(options: SolanaProviderOptions): void;
|
|
@@ -17,5 +19,6 @@ export interface SolanaSDKProvider extends SDKProvider {
|
|
|
17
19
|
export declare function isSolanaProvider(provider: SDKProvider): provider is SolanaSDKProvider;
|
|
18
20
|
export interface SolanaStepExecutorOptions extends StepExecutorOptions {
|
|
19
21
|
wallet: Wallet;
|
|
22
|
+
skipSimulation?: boolean;
|
|
20
23
|
}
|
|
21
24
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACzB,MAAM,WAAW,CAAA;AAClB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAElE,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACzB,MAAM,WAAW,CAAA;AAClB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAElE,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;IACjC,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,kBAAkB,CAAC,EAAE,WAAW,EAAE,CAAA;CACnC;AAED,MAAM,WAAW,yBACf,SAAQ,mBAAmB,EACzB,iBAAiB;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,aAAa,CAAA;IAC5B,cAAc,EAAE,OAAO,CAAA;CACxB;AAED,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,UAAU,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAAA;CACjD;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,WAAW,GACpB,QAAQ,IAAI,iBAAiB,CAE/B;AAED,MAAM,WAAW,yBAA0B,SAAQ,mBAAmB;IACpE,MAAM,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB"}
|
package/dist/types/version.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lifi/sdk-provider-solana",
|
|
3
|
-
"version": "4.0.0-alpha.
|
|
3
|
+
"version": "4.0.0-alpha.22",
|
|
4
4
|
"description": "LI.FI Solana SDK Provider for Any-to-Any Cross-Chain-Swap",
|
|
5
5
|
"homepage": "https://github.com/lifinance/sdk",
|
|
6
6
|
"bugs": {
|
|
@@ -28,10 +28,10 @@
|
|
|
28
28
|
"./package.json": "./package.json"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@solana/kit": "^6.
|
|
31
|
+
"@solana/kit": "^6.3.0",
|
|
32
32
|
"@solana/wallet-standard-features": "^1.3.0",
|
|
33
33
|
"@wallet-standard/base": "^1.1.0",
|
|
34
|
-
"@lifi/sdk": "4.0.0-alpha.
|
|
34
|
+
"@lifi/sdk": "4.0.0-alpha.22"
|
|
35
35
|
},
|
|
36
36
|
"publishConfig": {
|
|
37
37
|
"access": "public"
|
package/src/SolanaProvider.ts
CHANGED
|
@@ -22,10 +22,12 @@ import { SolanaWaitForTransactionTask } from './tasks/SolanaWaitForTransactionTa
|
|
|
22
22
|
|
|
23
23
|
export class SolanaStepExecutor extends BaseStepExecutor {
|
|
24
24
|
private wallet: Wallet
|
|
25
|
+
private skipSimulation: boolean
|
|
25
26
|
|
|
26
27
|
constructor(options: SolanaStepExecutorOptions) {
|
|
27
28
|
super(options)
|
|
28
29
|
this.wallet = options.wallet
|
|
30
|
+
this.skipSimulation = options.skipSimulation ?? false
|
|
29
31
|
}
|
|
30
32
|
|
|
31
33
|
getWalletAccount = (step: LiFiStepExtended) => {
|
|
@@ -60,6 +62,7 @@ export class SolanaStepExecutor extends BaseStepExecutor {
|
|
|
60
62
|
...baseContext,
|
|
61
63
|
wallet: this.wallet,
|
|
62
64
|
walletAccount,
|
|
65
|
+
skipSimulation: this.skipSimulation,
|
|
63
66
|
}
|
|
64
67
|
}
|
|
65
68
|
|
|
@@ -46,30 +46,32 @@ export class SolanaStandardWaitForTransactionTask extends BaseStepExecutionTask
|
|
|
46
46
|
const encodedTransaction =
|
|
47
47
|
getBase64EncodedWireTransaction(signedTransaction)
|
|
48
48
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
connection
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
if (simulationResult.value.err) {
|
|
62
|
-
const errorMessage =
|
|
63
|
-
typeof simulationResult.value.err === 'object'
|
|
64
|
-
? JSON.stringify(simulationResult.value.err, (_, v) =>
|
|
65
|
-
typeof v === 'bigint' ? v.toString() : v
|
|
66
|
-
)
|
|
67
|
-
: simulationResult.value.err
|
|
68
|
-
throw new TransactionError(
|
|
69
|
-
LiFiErrorCode.TransactionSimulationFailed,
|
|
70
|
-
`Transaction simulation failed: ${errorMessage}`,
|
|
71
|
-
new Error(errorMessage)
|
|
49
|
+
if (!context.skipSimulation) {
|
|
50
|
+
const simulationResult = await callSolanaRpcsWithRetry(
|
|
51
|
+
client,
|
|
52
|
+
(connection) =>
|
|
53
|
+
connection
|
|
54
|
+
.simulateTransaction(encodedTransaction, {
|
|
55
|
+
commitment: 'confirmed',
|
|
56
|
+
replaceRecentBlockhash: true,
|
|
57
|
+
encoding: 'base64',
|
|
58
|
+
})
|
|
59
|
+
.send()
|
|
72
60
|
)
|
|
61
|
+
|
|
62
|
+
if (simulationResult.value.err) {
|
|
63
|
+
const errorMessage =
|
|
64
|
+
typeof simulationResult.value.err === 'object'
|
|
65
|
+
? JSON.stringify(simulationResult.value.err, (_, v) =>
|
|
66
|
+
typeof v === 'bigint' ? v.toString() : v
|
|
67
|
+
)
|
|
68
|
+
: simulationResult.value.err
|
|
69
|
+
throw new TransactionError(
|
|
70
|
+
LiFiErrorCode.TransactionSimulationFailed,
|
|
71
|
+
`Transaction simulation failed: ${errorMessage}`,
|
|
72
|
+
new Error(errorMessage)
|
|
73
|
+
)
|
|
74
|
+
}
|
|
73
75
|
}
|
|
74
76
|
|
|
75
77
|
const result = await sendAndConfirmTransaction(client, signedTransaction)
|
package/src/types.ts
CHANGED
|
@@ -9,6 +9,7 @@ import type { Wallet, WalletAccount } from '@wallet-standard/base'
|
|
|
9
9
|
|
|
10
10
|
export interface SolanaProviderOptions {
|
|
11
11
|
getWallet?: () => Promise<Wallet>
|
|
12
|
+
skipSimulation?: boolean
|
|
12
13
|
}
|
|
13
14
|
|
|
14
15
|
export interface SolanaTaskContext {
|
|
@@ -20,6 +21,7 @@ export interface SolanaStepExecutorContext
|
|
|
20
21
|
SolanaTaskContext {
|
|
21
22
|
wallet: Wallet
|
|
22
23
|
walletAccount: WalletAccount
|
|
24
|
+
skipSimulation: boolean
|
|
23
25
|
}
|
|
24
26
|
|
|
25
27
|
export interface SolanaSDKProvider extends SDKProvider {
|
|
@@ -34,4 +36,5 @@ export function isSolanaProvider(
|
|
|
34
36
|
|
|
35
37
|
export interface SolanaStepExecutorOptions extends StepExecutorOptions {
|
|
36
38
|
wallet: Wallet
|
|
39
|
+
skipSimulation?: boolean
|
|
37
40
|
}
|
package/src/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export const name = '@lifi/sdk-provider-solana'
|
|
2
|
-
export const version = '4.0.0-alpha.
|
|
2
|
+
export const version = '4.0.0-alpha.22'
|