@hyperlane-xyz/sdk 19.5.0 → 19.6.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.
Files changed (150) hide show
  1. package/dist/core/types.d.ts +430 -0
  2. package/dist/core/types.d.ts.map +1 -1
  3. package/dist/deploy/warp.d.ts.map +1 -1
  4. package/dist/deploy/warp.js +3 -1
  5. package/dist/deploy/warp.js.map +1 -1
  6. package/dist/fee/EvmTokenFeeDeployer.d.ts +16 -0
  7. package/dist/fee/EvmTokenFeeDeployer.d.ts.map +1 -0
  8. package/dist/fee/EvmTokenFeeDeployer.hardhat-test.d.ts +2 -0
  9. package/dist/fee/EvmTokenFeeDeployer.hardhat-test.d.ts.map +1 -0
  10. package/dist/fee/EvmTokenFeeDeployer.hardhat-test.js +133 -0
  11. package/dist/fee/EvmTokenFeeDeployer.hardhat-test.js.map +1 -0
  12. package/dist/fee/EvmTokenFeeDeployer.js +75 -0
  13. package/dist/fee/EvmTokenFeeDeployer.js.map +1 -0
  14. package/dist/fee/EvmTokenFeeModule.d.ts +40 -0
  15. package/dist/fee/EvmTokenFeeModule.d.ts.map +1 -0
  16. package/dist/fee/EvmTokenFeeModule.hardhat-test.d.ts +2 -0
  17. package/dist/fee/EvmTokenFeeModule.hardhat-test.d.ts.map +1 -0
  18. package/dist/fee/EvmTokenFeeModule.hardhat-test.js +215 -0
  19. package/dist/fee/EvmTokenFeeModule.hardhat-test.js.map +1 -0
  20. package/dist/fee/EvmTokenFeeModule.js +182 -0
  21. package/dist/fee/EvmTokenFeeModule.js.map +1 -0
  22. package/dist/fee/EvmTokenFeeReader.d.ts +25 -0
  23. package/dist/fee/EvmTokenFeeReader.d.ts.map +1 -0
  24. package/dist/fee/EvmTokenFeeReader.hardhat-test.d.ts +4 -0
  25. package/dist/fee/EvmTokenFeeReader.hardhat-test.d.ts.map +1 -0
  26. package/dist/fee/EvmTokenFeeReader.hardhat-test.js +133 -0
  27. package/dist/fee/EvmTokenFeeReader.hardhat-test.js.map +1 -0
  28. package/dist/fee/EvmTokenFeeReader.js +116 -0
  29. package/dist/fee/EvmTokenFeeReader.js.map +1 -0
  30. package/dist/fee/contracts.d.ts +9 -0
  31. package/dist/fee/contracts.d.ts.map +1 -0
  32. package/dist/fee/contracts.js +9 -0
  33. package/dist/fee/contracts.js.map +1 -0
  34. package/dist/fee/types.d.ts +386 -0
  35. package/dist/fee/types.d.ts.map +1 -0
  36. package/dist/fee/types.js +107 -0
  37. package/dist/fee/types.js.map +1 -0
  38. package/dist/fee/utils.d.ts +10 -0
  39. package/dist/fee/utils.d.ts.map +1 -0
  40. package/dist/fee/utils.js +16 -0
  41. package/dist/fee/utils.js.map +1 -0
  42. package/dist/fork/types.d.ts +15 -15
  43. package/dist/ica/types.d.ts +322 -0
  44. package/dist/ica/types.d.ts.map +1 -1
  45. package/dist/index.d.ts +8 -3
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +7 -2
  48. package/dist/index.js.map +1 -1
  49. package/dist/ism/serialization.d.ts +37 -0
  50. package/dist/ism/serialization.d.ts.map +1 -0
  51. package/dist/ism/serialization.js +96 -0
  52. package/dist/ism/serialization.js.map +1 -0
  53. package/dist/mailbox/serialization.d.ts +41 -0
  54. package/dist/mailbox/serialization.d.ts.map +1 -0
  55. package/dist/mailbox/serialization.js +104 -0
  56. package/dist/mailbox/serialization.js.map +1 -0
  57. package/dist/metadata/agentConfig.d.ts +4 -4
  58. package/dist/router/HyperlaneRouterDeployer.d.ts +1 -0
  59. package/dist/router/HyperlaneRouterDeployer.d.ts.map +1 -1
  60. package/dist/router/HyperlaneRouterDeployer.js +12 -0
  61. package/dist/router/HyperlaneRouterDeployer.js.map +1 -1
  62. package/dist/router/types.d.ts +326 -1
  63. package/dist/router/types.d.ts.map +1 -1
  64. package/dist/router/types.js +2 -0
  65. package/dist/router/types.js.map +1 -1
  66. package/dist/token/EvmERC20WarpModule.d.ts +14 -1
  67. package/dist/token/EvmERC20WarpModule.d.ts.map +1 -1
  68. package/dist/token/EvmERC20WarpModule.hardhat-test.js +415 -25
  69. package/dist/token/EvmERC20WarpModule.hardhat-test.js.map +1 -1
  70. package/dist/token/EvmERC20WarpModule.js +172 -5
  71. package/dist/token/EvmERC20WarpModule.js.map +1 -1
  72. package/dist/token/EvmERC20WarpRouteReader.d.ts +8 -0
  73. package/dist/token/EvmERC20WarpRouteReader.d.ts.map +1 -1
  74. package/dist/token/EvmERC20WarpRouteReader.hardhat-test.js +141 -3
  75. package/dist/token/EvmERC20WarpRouteReader.hardhat-test.js.map +1 -1
  76. package/dist/token/EvmERC20WarpRouteReader.js +162 -34
  77. package/dist/token/EvmERC20WarpRouteReader.js.map +1 -1
  78. package/dist/token/Token.js +2 -2
  79. package/dist/token/Token.js.map +1 -1
  80. package/dist/token/Token.test.js +6 -0
  81. package/dist/token/Token.test.js.map +1 -1
  82. package/dist/token/TokenStandard.d.ts +2 -0
  83. package/dist/token/TokenStandard.d.ts.map +1 -1
  84. package/dist/token/TokenStandard.js +6 -0
  85. package/dist/token/TokenStandard.js.map +1 -1
  86. package/dist/token/adapters/CosmWasmTokenAdapter.d.ts +3 -3
  87. package/dist/token/adapters/CosmWasmTokenAdapter.d.ts.map +1 -1
  88. package/dist/token/adapters/CosmWasmTokenAdapter.js +7 -7
  89. package/dist/token/adapters/CosmWasmTokenAdapter.js.map +1 -1
  90. package/dist/token/adapters/CosmosModuleTokenAdapter.d.ts +2 -2
  91. package/dist/token/adapters/CosmosModuleTokenAdapter.d.ts.map +1 -1
  92. package/dist/token/adapters/CosmosModuleTokenAdapter.js +13 -7
  93. package/dist/token/adapters/CosmosModuleTokenAdapter.js.map +1 -1
  94. package/dist/token/adapters/CosmosTokenAdapter.d.ts +3 -3
  95. package/dist/token/adapters/CosmosTokenAdapter.d.ts.map +1 -1
  96. package/dist/token/adapters/CosmosTokenAdapter.js +15 -7
  97. package/dist/token/adapters/CosmosTokenAdapter.js.map +1 -1
  98. package/dist/token/adapters/EvmTokenAdapter.d.ts +13 -8
  99. package/dist/token/adapters/EvmTokenAdapter.d.ts.map +1 -1
  100. package/dist/token/adapters/EvmTokenAdapter.js +92 -41
  101. package/dist/token/adapters/EvmTokenAdapter.js.map +1 -1
  102. package/dist/token/adapters/ITokenAdapter.d.ts +14 -3
  103. package/dist/token/adapters/ITokenAdapter.d.ts.map +1 -1
  104. package/dist/token/adapters/M0PortalLiteTokenAdapter.d.ts +2 -2
  105. package/dist/token/adapters/M0PortalLiteTokenAdapter.d.ts.map +1 -1
  106. package/dist/token/adapters/M0PortalLiteTokenAdapter.js +10 -4
  107. package/dist/token/adapters/M0PortalLiteTokenAdapter.js.map +1 -1
  108. package/dist/token/adapters/RadixTokenAdapter.d.ts +2 -2
  109. package/dist/token/adapters/RadixTokenAdapter.d.ts.map +1 -1
  110. package/dist/token/adapters/RadixTokenAdapter.js +11 -7
  111. package/dist/token/adapters/RadixTokenAdapter.js.map +1 -1
  112. package/dist/token/adapters/SealevelTokenAdapter.d.ts +2 -2
  113. package/dist/token/adapters/SealevelTokenAdapter.d.ts.map +1 -1
  114. package/dist/token/adapters/SealevelTokenAdapter.js +5 -6
  115. package/dist/token/adapters/SealevelTokenAdapter.js.map +1 -1
  116. package/dist/token/adapters/StarknetTokenAdapter.d.ts +2 -2
  117. package/dist/token/adapters/StarknetTokenAdapter.d.ts.map +1 -1
  118. package/dist/token/adapters/StarknetTokenAdapter.js +6 -6
  119. package/dist/token/adapters/StarknetTokenAdapter.js.map +1 -1
  120. package/dist/token/config.d.ts +7 -2
  121. package/dist/token/config.d.ts.map +1 -1
  122. package/dist/token/config.js +6 -2
  123. package/dist/token/config.js.map +1 -1
  124. package/dist/token/contracts.d.ts +7 -2
  125. package/dist/token/contracts.d.ts.map +1 -1
  126. package/dist/token/contracts.js +13 -2
  127. package/dist/token/contracts.js.map +1 -1
  128. package/dist/token/deploy.d.ts +7 -3
  129. package/dist/token/deploy.d.ts.map +1 -1
  130. package/dist/token/deploy.js +141 -16
  131. package/dist/token/deploy.js.map +1 -1
  132. package/dist/token/types.d.ts +19993 -1868
  133. package/dist/token/types.d.ts.map +1 -1
  134. package/dist/token/types.js +98 -3
  135. package/dist/token/types.js.map +1 -1
  136. package/dist/token/types.test.js +47 -1
  137. package/dist/token/types.test.js.map +1 -1
  138. package/dist/utils/contract.d.ts +2 -0
  139. package/dist/utils/contract.d.ts.map +1 -0
  140. package/dist/utils/contract.js +5 -0
  141. package/dist/utils/contract.js.map +1 -0
  142. package/dist/warp/WarpCore.d.ts +20 -10
  143. package/dist/warp/WarpCore.d.ts.map +1 -1
  144. package/dist/warp/WarpCore.js +111 -38
  145. package/dist/warp/WarpCore.js.map +1 -1
  146. package/dist/warp/WarpCore.test.js +17 -8
  147. package/dist/warp/WarpCore.test.js.map +1 -1
  148. package/dist/warp/types.d.ts +1 -0
  149. package/dist/warp/types.d.ts.map +1 -1
  150. package/package.json +6 -6
@@ -57,14 +57,18 @@ export class WarpCore {
57
57
  }
58
58
  /**
59
59
  * Queries the token router for an interchain gas quote (i.e. IGP fee).
60
+ * and for token fee quote if it exists.
60
61
  * Sender is only required for Sealevel origins.
61
62
  */
62
- async getInterchainTransferFee({ originToken, destination, sender, }) {
63
+ async getInterchainTransferFee({ originTokenAmount, destination, sender, recipient, }) {
63
64
  this.logger.debug(`Fetching interchain transfer quote to ${destination}`);
64
- const { chainName: originName } = originToken;
65
+ const { amount, token: originToken } = originTokenAmount;
66
+ const originName = originToken.chainName;
65
67
  const destinationName = this.multiProvider.getChainName(destination);
66
68
  let gasAmount;
67
69
  let gasAddressOrDenom;
70
+ let feeAmount;
71
+ let feeTokenAddress;
68
72
  // Check constant quotes first
69
73
  const defaultQuote = this.interchainFeeConstants.find((q) => q.origin === originName && q.destination === destinationName);
70
74
  if (defaultQuote) {
@@ -75,12 +79,20 @@ export class WarpCore {
75
79
  // Otherwise, compute IGP quote via the adapter
76
80
  const hypAdapter = originToken.getHypAdapter(this.multiProvider, destinationName);
77
81
  const destinationDomainId = this.multiProvider.getDomainId(destination);
78
- const quote = await hypAdapter.quoteTransferRemoteGas(destinationDomainId, sender, originToken.igpTokenAddressOrDenom);
79
- gasAmount = BigInt(quote.amount);
80
- gasAddressOrDenom = quote.addressOrDenom;
82
+ const quote = await hypAdapter.quoteTransferRemoteGas({
83
+ destination: destinationDomainId,
84
+ sender,
85
+ customHook: originToken.igpTokenAddressOrDenom,
86
+ recipient,
87
+ amount,
88
+ });
89
+ gasAmount = BigInt(quote.igpQuote.amount);
90
+ gasAddressOrDenom = quote.igpQuote.addressOrDenom;
91
+ feeAmount = quote.tokenFeeQuote?.amount;
92
+ feeTokenAddress = quote.tokenFeeQuote?.addressOrDenom;
81
93
  }
82
94
  let igpToken;
83
- if (!gasAddressOrDenom) {
95
+ if (!gasAddressOrDenom || isZeroishAddress(gasAddressOrDenom)) {
84
96
  // An empty/undefined addressOrDenom indicates the native token
85
97
  igpToken = Token.FromChainMetadataNativeToken(this.multiProvider.getChainMetadata(originName));
86
98
  }
@@ -89,13 +101,28 @@ export class WarpCore {
89
101
  assert(searchResult, `Fee token ${gasAddressOrDenom} is unknown`);
90
102
  igpToken = searchResult;
91
103
  }
104
+ let feeTokenAmount;
105
+ if (feeAmount) {
106
+ // empty address or zero address is native route
107
+ if (!feeTokenAddress || isZeroishAddress(feeTokenAddress)) {
108
+ const nativeToken = Token.FromChainMetadataNativeToken(this.multiProvider.getChainMetadata(originName));
109
+ feeTokenAmount = new TokenAmount(feeAmount, nativeToken);
110
+ }
111
+ else {
112
+ // for non-native routes, fees will be in the current route token
113
+ feeTokenAmount = new TokenAmount(feeAmount, originToken);
114
+ }
115
+ }
92
116
  this.logger.debug(`Quoted interchain transfer fee: ${gasAmount} ${igpToken.symbol}`);
93
- return new TokenAmount(gasAmount, igpToken);
117
+ return {
118
+ igpQuote: new TokenAmount(gasAmount, igpToken),
119
+ tokenFeeQuote: feeTokenAmount,
120
+ };
94
121
  }
95
122
  /**
96
123
  * Simulates a transfer to estimate 'local' gas fees on the origin chain
97
124
  */
98
- async getLocalTransferFee({ originToken, destination, sender, senderPubKey, interchainFee, }) {
125
+ async getLocalTransferFee({ originToken, destination, sender, senderPubKey, interchainFee, tokenFeeQuote, }) {
99
126
  this.logger.debug(`Estimating local transfer gas to ${destination}`);
100
127
  const originMetadata = this.multiProvider.getChainMetadata(originToken.chainName);
101
128
  const destinationMetadata = this.multiProvider.getChainMetadata(destination);
@@ -113,6 +140,7 @@ export class WarpCore {
113
140
  sender,
114
141
  recipient,
115
142
  interchainFee,
143
+ tokenFeeQuote,
116
144
  });
117
145
  // Starknet does not support gas estimation without starknet account
118
146
  if (originToken.protocol === ProtocolType.Starknet) {
@@ -155,7 +183,7 @@ export class WarpCore {
155
183
  * but it also resolves the native token and returns a TokenAmount
156
184
  * @todo: rename to getLocalTransferFee for consistency (requires breaking change)
157
185
  */
158
- async getLocalTransferFeeAmount({ originToken, destination, sender, senderPubKey, interchainFee, }) {
186
+ async getLocalTransferFeeAmount({ originToken, destination, sender, senderPubKey, interchainFee, tokenFeeQuote, }) {
159
187
  const originMetadata = this.multiProvider.getChainMetadata(originToken.chainName);
160
188
  // If there's no native token, we can't represent local gas
161
189
  if (!originMetadata.nativeToken)
@@ -167,6 +195,7 @@ export class WarpCore {
167
195
  sender,
168
196
  senderPubKey,
169
197
  interchainFee,
198
+ tokenFeeQuote,
170
199
  });
171
200
  // Get the local gas token. This assumes the chain's native token will pay for local gas
172
201
  // This will need to be smarter if more complex scenarios on Cosmos are supported
@@ -177,13 +206,33 @@ export class WarpCore {
177
206
  * Gets a list of populated transactions required to transfer a token to a remote chain
178
207
  * Typically just 1 transaction but sometimes more, like when an approval is required first
179
208
  */
180
- async getTransferRemoteTxs({ originTokenAmount, destination, sender, recipient, interchainFee, }) {
209
+ async getTransferRemoteTxs({ originTokenAmount, destination, sender, recipient, interchainFee, tokenFeeQuote, }) {
181
210
  const transactions = [];
182
211
  const { token, amount } = originTokenAmount;
183
212
  const destinationName = this.multiProvider.getChainName(destination);
184
213
  const destinationDomainId = this.multiProvider.getDomainId(destination);
185
214
  const providerType = TOKEN_STANDARD_TO_PROVIDER_TYPE[token.standard];
186
215
  const hypAdapter = token.getHypAdapter(this.multiProvider, destinationName);
216
+ if (!interchainFee || !tokenFeeQuote) {
217
+ const transferFee = await this.getInterchainTransferFee({
218
+ originTokenAmount,
219
+ destination,
220
+ sender,
221
+ recipient,
222
+ });
223
+ interchainFee = transferFee.igpQuote;
224
+ tokenFeeQuote = transferFee.tokenFeeQuote;
225
+ }
226
+ const interchainGas = {
227
+ igpQuote: {
228
+ amount: interchainFee.amount,
229
+ addressOrDenom: interchainFee.token.addressOrDenom,
230
+ },
231
+ tokenFeeQuote: tokenFeeQuote && {
232
+ amount: tokenFeeQuote.amount,
233
+ addressOrDenom: tokenFeeQuote.token.addressOrDenom,
234
+ },
235
+ };
187
236
  const [isApproveRequired, isRevokeApprovalRequired] = await Promise.all([
188
237
  this.isApproveRequired({
189
238
  originTokenAmount,
@@ -200,13 +249,20 @@ export class WarpCore {
200
249
  preTransferRemoteTxs.push([0, WarpTxCategory.Revoke]);
201
250
  }
202
251
  if (isApproveRequired) {
203
- preTransferRemoteTxs.push([amount.toString(), WarpTxCategory.Approval]);
252
+ // feeQuote is required to be approved for routes that have fees set
253
+ const feeQuote = tokenFeeQuote?.amount ?? 0n;
254
+ const amountToApprove = amount + feeQuote;
255
+ preTransferRemoteTxs.push([
256
+ amountToApprove.toString(),
257
+ WarpTxCategory.Approval,
258
+ ]);
204
259
  }
205
260
  for (const [approveAmount, txCategory] of preTransferRemoteTxs) {
206
261
  this.logger.info(`${txCategory} required for transfer of ${token.symbol}`);
207
262
  const approveTxReq = await hypAdapter.populateApproveTx({
208
263
  weiAmountOrId: approveAmount,
209
264
  recipient: token.addressOrDenom,
265
+ interchainGas,
210
266
  });
211
267
  this.logger.debug(`${txCategory} tx for ${token.symbol} populated`);
212
268
  const approveTx = {
@@ -216,13 +272,6 @@ export class WarpCore {
216
272
  };
217
273
  transactions.push(approveTx);
218
274
  }
219
- if (!interchainFee) {
220
- interchainFee = await this.getInterchainTransferFee({
221
- originToken: token,
222
- destination,
223
- sender,
224
- });
225
- }
226
275
  // if the interchain fee is of protocol starknet we also have
227
276
  // to approve the transfer of this fee token
228
277
  if (interchainFee.token.protocol === ProtocolType.Starknet) {
@@ -250,10 +299,7 @@ export class WarpCore {
250
299
  destination: destinationDomainId,
251
300
  fromAccountOwner: sender,
252
301
  recipient,
253
- interchainGas: {
254
- amount: interchainFee.amount,
255
- addressOrDenom: interchainFee.token.addressOrDenom,
256
- },
302
+ interchainGas,
257
303
  customHook: token.igpTokenAddressOrDenom,
258
304
  });
259
305
  this.logger.debug(`Remote transfer tx for ${token.symbol} populated`);
@@ -268,43 +314,47 @@ export class WarpCore {
268
314
  /**
269
315
  * Fetch local and interchain fee estimates for a remote transfer
270
316
  */
271
- async estimateTransferRemoteFees({ originToken, destination, sender, senderPubKey, }) {
317
+ async estimateTransferRemoteFees({ originTokenAmount, destination, recipient, sender, senderPubKey, }) {
272
318
  this.logger.debug('Fetching remote transfer fee estimates');
273
319
  // First get interchain gas quote (aka IGP quote)
274
320
  // Start with this because it's used in the local fee estimation
275
- const interchainQuote = await this.getInterchainTransferFee({
276
- originToken,
321
+ const { igpQuote, tokenFeeQuote } = await this.getInterchainTransferFee({
322
+ originTokenAmount,
277
323
  destination,
278
324
  sender,
325
+ recipient,
279
326
  });
280
327
  // Next, get the local gas quote
281
328
  const localQuote = await this.getLocalTransferFeeAmount({
282
- originToken,
329
+ originToken: originTokenAmount.token,
283
330
  destination,
284
331
  sender,
285
332
  senderPubKey,
286
- interchainFee: interchainQuote,
333
+ interchainFee: igpQuote,
334
+ tokenFeeQuote,
287
335
  });
288
336
  return {
289
- interchainQuote,
337
+ interchainQuote: igpQuote,
290
338
  localQuote,
339
+ tokenFeeQuote,
291
340
  };
292
341
  }
293
342
  /**
294
343
  * Computes the max transferrable amount of the from the given
295
344
  * token balance, accounting for local and interchain gas fees
296
345
  */
297
- async getMaxTransferAmount({ balance, destination, sender, senderPubKey, feeEstimate, }) {
346
+ async getMaxTransferAmount({ balance, destination, recipient, sender, senderPubKey, feeEstimate, }) {
298
347
  const originToken = balance.token;
299
348
  if (!feeEstimate) {
300
349
  feeEstimate = await this.estimateTransferRemoteFees({
301
- originToken,
350
+ originTokenAmount: balance,
302
351
  destination,
352
+ recipient,
303
353
  sender,
304
354
  senderPubKey,
305
355
  });
306
356
  }
307
- const { localQuote, interchainQuote } = feeEstimate;
357
+ const { localQuote, interchainQuote, tokenFeeQuote } = feeEstimate;
308
358
  let maxAmount = balance;
309
359
  if (originToken.isFungibleWith(localQuote.token)) {
310
360
  maxAmount = maxAmount.minus(localQuote.amount);
@@ -312,6 +362,18 @@ export class WarpCore {
312
362
  if (originToken.isFungibleWith(interchainQuote.token)) {
313
363
  maxAmount = maxAmount.minus(interchainQuote.amount);
314
364
  }
365
+ if (originToken.isFungibleWith(tokenFeeQuote?.token)) {
366
+ const { tokenFeeQuote: newFeeQuote } = await this.getInterchainTransferFee({
367
+ originTokenAmount: maxAmount,
368
+ destination,
369
+ recipient,
370
+ sender,
371
+ });
372
+ // Because tokenFeeQuote is calculated based on the amount, we need to recalculate
373
+ // the tokenFeeQuote after subtracting the localQuote and IGP to get max transfer amount
374
+ // to be as close as possible
375
+ maxAmount = maxAmount.minus(newFeeQuote?.amount || 0n);
376
+ }
315
377
  if (maxAmount.amount > 0)
316
378
  return maxAmount;
317
379
  else
@@ -394,7 +456,7 @@ export class WarpCore {
394
456
  const originCollateralError = await this.validateOriginCollateral(originTokenAmount);
395
457
  if (originCollateralError)
396
458
  return originCollateralError;
397
- const balancesError = await this.validateTokenBalances(originTokenAmount, destination, sender, senderPubKey);
459
+ const balancesError = await this.validateTokenBalances(originTokenAmount, destination, sender, recipient, senderPubKey);
398
460
  if (balancesError)
399
461
  return balancesError;
400
462
  return null;
@@ -470,7 +532,7 @@ export class WarpCore {
470
532
  /**
471
533
  * Ensure the sender has sufficient balances for transfer and interchain gas
472
534
  */
473
- async validateTokenBalances(originTokenAmount, destination, sender, senderPubKey) {
535
+ async validateTokenBalances(originTokenAmount, destination, sender, recipient, senderPubKey) {
474
536
  const { token: originToken, amount } = originTokenAmount;
475
537
  const { amount: senderBalance } = await originToken.getBalance(this.multiProvider, sender);
476
538
  const senderBalanceAmount = originTokenAmount.token.amount(senderBalance);
@@ -478,11 +540,12 @@ export class WarpCore {
478
540
  if (amount > senderBalance)
479
541
  return { amount: 'Insufficient balance' };
480
542
  // Check 2: Ensure the balance can cover interchain fee
481
- // Slightly redundant with Check 4 but gives more specific error messages
482
- const interchainQuote = await this.getInterchainTransferFee({
483
- originToken,
543
+ // Slightly redundant with Check 5 but gives more specific error messages
544
+ const { igpQuote: interchainQuote, tokenFeeQuote } = await this.getInterchainTransferFee({
545
+ originTokenAmount,
484
546
  destination,
485
547
  sender,
548
+ recipient,
486
549
  });
487
550
  // Get balance of the IGP fee token, which may be different from the transfer token
488
551
  const interchainQuoteTokenBalance = originToken.isFungibleWith(interchainQuote.token)
@@ -493,19 +556,29 @@ export class WarpCore {
493
556
  amount: `Insufficient ${interchainQuote.token.symbol} for interchain gas`,
494
557
  };
495
558
  }
496
- // Check 3: Simulates the transfer by getting the local gas fee
559
+ // Check 3: Ensure the balance can cover the token fee which would be the same asset as the originTokenValue
560
+ // Slightly redundant with Check 5 but gives more specific error messages
561
+ if (tokenFeeQuote?.amount &&
562
+ amount + tokenFeeQuote.amount > senderBalance) {
563
+ return {
564
+ amount: `Insufficient balance to cover token fee`,
565
+ };
566
+ }
567
+ // Check 4: Simulates the transfer by getting the local gas fee
497
568
  const localQuote = await this.getLocalTransferFeeAmount({
498
569
  originToken,
499
570
  destination,
500
571
  sender,
501
572
  senderPubKey,
502
573
  interchainFee: interchainQuote,
574
+ tokenFeeQuote,
503
575
  });
504
576
  const feeEstimate = { interchainQuote, localQuote };
505
- // Check 4: Ensure balances can cover the COMBINED amount and fees
577
+ // Check 5: Ensure balances can cover the COMBINED amount and fees
506
578
  const maxTransfer = await this.getMaxTransferAmount({
507
579
  balance: senderBalanceAmount,
508
580
  destination,
581
+ recipient,
509
582
  sender,
510
583
  senderPubKey,
511
584
  feeEstimate,
@@ -1 +1 @@
1
- {"version":3,"file":"WarpCore.js","sourceRoot":"","sources":["../../src/warp/WarpCore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WarpCore.js","sourceRoot":"","sources":["../../src/warp/WarpCore.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ import { test1, test2, testCosmosChain, testScale1, testScale2, testSealevelChai
6
6
  import { MultiProtocolProvider } from '../providers/MultiProtocolProvider.js';
7
7
  import { ProviderType } from '../providers/ProviderType.js';
8
8
  import { Token } from '../token/Token.js';
9
+ import { TokenAmount } from '../token/TokenAmount.js';
9
10
  import { TokenStandard } from '../token/TokenStandard.js';
10
11
  import { WarpCore } from './WarpCore.js';
11
12
  import { WarpTxCategory } from './types.js';
@@ -70,21 +71,30 @@ describe('WarpCore', () => {
70
71
  });
71
72
  it('Gets transfer gas quote', async () => {
72
73
  const stubs = warpCore.tokens.map((t) => sinon.stub(t, 'getHypAdapter').returns({
73
- quoteTransferRemoteGas: () => Promise.resolve(MOCK_INTERCHAIN_QUOTE),
74
+ quoteTransferRemoteGas: () => Promise.resolve({
75
+ igpQuote: MOCK_INTERCHAIN_QUOTE,
76
+ tokenFeeQuote: MOCK_INTERCHAIN_QUOTE,
77
+ }),
74
78
  isApproveRequired: () => Promise.resolve(false),
75
79
  populateTransferRemoteTx: () => Promise.resolve({}),
76
80
  isRevokeApprovalRequired: () => Promise.resolve(false),
77
81
  }));
78
- const testQuote = async (token, destination, standard, interchainQuote = MOCK_INTERCHAIN_QUOTE) => {
82
+ const testQuote = async (token, destination, standard, interchainQuote = {
83
+ igpQuote: MOCK_INTERCHAIN_QUOTE,
84
+ tokenFeeQuote: MOCK_INTERCHAIN_QUOTE,
85
+ }) => {
86
+ const tokenAmount = new TokenAmount(0, token);
79
87
  const result = await warpCore.estimateTransferRemoteFees({
80
- originToken: token,
88
+ originTokenAmount: tokenAmount,
81
89
  destination,
82
90
  sender: MOCK_ADDRESS,
91
+ recipient: MOCK_ADDRESS,
83
92
  });
84
93
  expect(result.localQuote.token.standard, `token local standard check for ${token.chainName} to ${destination}`).equals(standard);
85
94
  expect(result.localQuote.amount, `token local amount check for ${token.chainName} to ${destination}`).to.equal(MOCK_LOCAL_QUOTE.fee);
86
95
  expect(result.interchainQuote.token.standard, `token interchain standard check for ${token.chainName} to ${destination}`).equals(standard);
87
- expect(result.interchainQuote.amount, `token interchain amount check for ${token.chainName} to ${destination}`).to.equal(interchainQuote.amount);
96
+ expect(result.interchainQuote.amount, `token interchain amount check for ${token.chainName} to ${destination}`).to.equal(interchainQuote.igpQuote.amount);
97
+ expect(result.tokenFeeQuote?.amount, `token fee amount check for ${token.chainName} to ${destination}`).to.equal(interchainQuote.tokenFeeQuote?.amount);
88
98
  };
89
99
  await testQuote(evmHypNative, test1.name, TokenStandard.EvmNative);
90
100
  await testQuote(evmHypNative, testCosmosChain.name, TokenStandard.EvmNative);
@@ -94,8 +104,7 @@ describe('WarpCore', () => {
94
104
  await testQuote(cosmosIbc, test1.name, TokenStandard.CosmosNative);
95
105
  // Note, this route uses an igp quote const config
96
106
  await testQuote(cwHypCollateral, test2.name, TokenStandard.CosmosNative, {
97
- amount: 1n,
98
- addressOrDenom: 'atom',
107
+ igpQuote: { amount: 1n, addressOrDenom: 'atom' },
99
108
  });
100
109
  stubs.forEach((s) => s.restore());
101
110
  });
@@ -151,7 +160,7 @@ describe('WarpCore', () => {
151
160
  const balanceStubs = warpCore.tokens.map((t) => sinon.stub(t, 'getBalance').resolves({ amount: MOCK_BALANCE }));
152
161
  const minimumTransferAmount = 10n;
153
162
  const quoteStubs = warpCore.tokens.map((t) => sinon.stub(t, 'getHypAdapter').returns({
154
- quoteTransferRemoteGas: () => Promise.resolve(MOCK_INTERCHAIN_QUOTE),
163
+ quoteTransferRemoteGas: () => Promise.resolve({ igpQuote: MOCK_INTERCHAIN_QUOTE }),
155
164
  isApproveRequired: () => Promise.resolve(false),
156
165
  populateTransferRemoteTx: () => Promise.resolve({}),
157
166
  getMinimumTransferAmount: () => Promise.resolve(minimumTransferAmount),
@@ -246,7 +255,7 @@ describe('WarpCore', () => {
246
255
  .stub(warpCore, 'isApproveRequired')
247
256
  .returns(Promise.resolve(false));
248
257
  const adapterStubs = warpCore.tokens.map((t) => sinon.stub(t, 'getHypAdapter').returns({
249
- quoteTransferRemoteGas: () => Promise.resolve(MOCK_INTERCHAIN_QUOTE),
258
+ quoteTransferRemoteGas: () => Promise.resolve({ igpQuote: MOCK_INTERCHAIN_QUOTE }),
250
259
  populateTransferRemoteTx: () => Promise.resolve({}),
251
260
  isRevokeApprovalRequired: () => Promise.resolve(false),
252
261
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"WarpCore.test.js","sourceRoot":"","sources":["../../src/warp/WarpCore.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WarpCore.test.js","sourceRoot":"","sources":["../../src/warp/WarpCore.test.ts"],"names":[],"mappings":"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"}
@@ -337,6 +337,7 @@ export type WarpCoreConfig = z.infer<typeof WarpCoreConfigSchema>;
337
337
  export interface WarpCoreFeeEstimate {
338
338
  interchainQuote: TokenAmount;
339
339
  localQuote: TokenAmount;
340
+ tokenFeeQuote?: TokenAmount;
340
341
  }
341
342
  export {};
342
343
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/warp/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C;;;GAGG;AACH,QAAA,MAAM,uBAAuB;;;;;;;;;;;;;;;WAO5B,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgB/B,CAAC;AAGH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAGxE,MAAM,MAAM,cAAc,GAAG,KAAK,CAAC;IACjC,MAAM,EAAE,SAAS,CAAC;IAClB,WAAW,EAAE,SAAS,CAAC;CACxB,CAAC,CAAC;AAGH,oBAAY,cAAc;IACxB,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,QAAQ,aAAa;CACtB;AAED,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,GAAG;IACpD,QAAQ,EAAE,cAAc,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,WAAW,CAAC;IAC7B,UAAU,EAAE,WAAW,CAAC;CACzB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/warp/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C;;;GAGG;AACH,QAAA,MAAM,uBAAuB;;;;;;;;;;;;;;;WAO5B,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgB/B,CAAC;AAGH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAGxE,MAAM,MAAM,cAAc,GAAG,KAAK,CAAC;IACjC,MAAM,EAAE,SAAS,CAAC;IAClB,WAAW,EAAE,SAAS,CAAC;CACxB,CAAC,CAAC;AAGH,oBAAY,cAAc;IACxB,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,QAAQ,aAAa;CACtB;AAED,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,GAAG;IACpD,QAAQ,EAAE,cAAc,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,WAAW,CAAC;IAC7B,UAAU,EAAE,WAAW,CAAC;IACxB,aAAa,CAAC,EAAE,WAAW,CAAC;CAC7B"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@hyperlane-xyz/sdk",
3
3
  "description": "The official SDK for the Hyperlane Network",
4
- "version": "19.5.0",
4
+ "version": "19.6.0",
5
5
  "dependencies": {
6
6
  "@arbitrum/sdk": "^4.0.0",
7
7
  "@aws-sdk/client-s3": "^3.577.0",
@@ -9,11 +9,11 @@
9
9
  "@cosmjs/cosmwasm-stargate": "^0.32.4",
10
10
  "@cosmjs/proto-signing": "^0.32.4",
11
11
  "@cosmjs/stargate": "^0.32.4",
12
- "@hyperlane-xyz/core": "9.0.17",
13
- "@hyperlane-xyz/cosmos-sdk": "19.5.0",
14
- "@hyperlane-xyz/radix-sdk": "19.5.0",
15
- "@hyperlane-xyz/starknet-core": "19.5.0",
16
- "@hyperlane-xyz/utils": "19.5.0",
12
+ "@hyperlane-xyz/core": "10.0.0",
13
+ "@hyperlane-xyz/cosmos-sdk": "19.6.0",
14
+ "@hyperlane-xyz/radix-sdk": "19.6.0",
15
+ "@hyperlane-xyz/starknet-core": "19.6.0",
16
+ "@hyperlane-xyz/utils": "19.6.0",
17
17
  "@safe-global/api-kit": "4.0.0",
18
18
  "@safe-global/protocol-kit": "6.1.1",
19
19
  "@safe-global/safe-core-sdk-types": "5.1.0",