@exodus/solana-plugin 1.24.7 → 1.25.0

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/CHANGELOG.md CHANGED
@@ -3,6 +3,16 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [1.25.0](https://github.com/ExodusMovement/assets/compare/@exodus/solana-plugin@1.24.6...@exodus/solana-plugin@1.25.0) (2025-10-14)
7
+
8
+
9
+ ### Features
10
+
11
+
12
+ * feat: integrate Solana fee payer service (#6615)
13
+
14
+
15
+
6
16
  ## [1.24.7](https://github.com/ExodusMovement/assets/compare/@exodus/solana-plugin@1.24.6...@exodus/solana-plugin@1.24.7) (2025-10-09)
7
17
 
8
18
  **Note:** Version bump only for package @exodus/solana-plugin
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@exodus/solana-plugin",
3
- "version": "1.24.7",
3
+ "version": "1.25.0",
4
4
  "description": "Solana plugin for Exodus SDK powered wallets.",
5
5
  "type": "module",
6
6
  "main": "src/index.js",
@@ -27,8 +27,8 @@
27
27
  "@exodus/bip44-constants": "^195.0.0",
28
28
  "@exodus/i18n-dummy": "^1.0.0",
29
29
  "@exodus/send-validation-model": "^1.0.0",
30
- "@exodus/solana-api": "^3.20.9",
31
- "@exodus/solana-lib": "^3.12.1",
30
+ "@exodus/solana-api": "^3.21.0",
31
+ "@exodus/solana-lib": "^3.13.0",
32
32
  "@exodus/solana-meta": "^2.3.1",
33
33
  "@exodus/web3-solana-utils": "^2.9.0",
34
34
  "minimalistic-assert": "^1.0.1",
@@ -44,5 +44,5 @@
44
44
  "type": "git",
45
45
  "url": "git+https://github.com/ExodusMovement/assets.git"
46
46
  },
47
- "gitHead": "6237b0d98791ed9e6290260947068d2600bf8270"
47
+ "gitHead": "5acad66ba9ec02ffaee656516f72a24ff8a247fb"
48
48
  }
@@ -5,6 +5,8 @@ import {
5
5
  ClarityApi,
6
6
  createAccountState,
7
7
  createAndBroadcastTXFactory,
8
+ createTxFactory,
9
+ feePayerClientFactory,
8
10
  getBalancesFactory,
9
11
  getFeeAsyncFactory,
10
12
  isSolanaRewardsActivityTx,
@@ -51,7 +53,8 @@ export const createSolanaAssetFactory =
51
53
  ticksBetweenStakeFetches,
52
54
  txsLimit,
53
55
  signWithSigner = true,
54
- feePayerApiUrl,
56
+ feePayerApiUrl, // @deprecated use feePayer instead
57
+ feePayer = Object.create(null),
55
58
  } = {},
56
59
  overrideCallback = ({ asset }) => asset,
57
60
  } = {}) => {
@@ -87,10 +90,26 @@ export const createSolanaAssetFactory =
87
90
 
88
91
  const feeData = createFeeData({ asset: base })
89
92
 
93
+ let feePayerClient = null
94
+ feePayerApiUrl = feePayer.feePayerApiUrl ?? feePayerApiUrl
95
+ if (feePayerApiUrl) {
96
+ feePayerClient = feePayerClientFactory({
97
+ assetName: baseAssetName,
98
+ feePayerApiUrl,
99
+ requireAuthentication: true,
100
+ ...feePayer,
101
+ })
102
+ }
103
+
104
+ const createTx = createTxFactory({
105
+ assetClientInterface,
106
+ api: serverApi,
107
+ feePayerClient,
108
+ })
109
+
90
110
  const sendTx = createAndBroadcastTXFactory({
91
111
  api: serverApi,
92
112
  assetClientInterface,
93
- feePayerApiUrl,
94
113
  })
95
114
 
96
115
  const createToken = ({ mintAddress, name, ...tokenDef }) => ({
@@ -154,7 +173,7 @@ export const createSolanaAssetFactory =
154
173
  return { fee, priorityFee }
155
174
  }
156
175
 
157
- const getFeeAsync = getFeeAsyncFactory({ api: serverApi })
176
+ const getFeeAsync = getFeeAsyncFactory({ createTx })
158
177
 
159
178
  const sendValidations = sendValidationsFactory({
160
179
  api: serverApi,
@@ -182,6 +201,7 @@ export const createSolanaAssetFactory =
182
201
  createHistoryMonitor,
183
202
  createToken: (tokenDef) =>
184
203
  tokenDef.isBuiltIn ? createToken(tokenDef) : createCustomToken(tokenDef),
204
+ createTx,
185
205
  defaultAddressPath,
186
206
  features,
187
207
  getBalances,