@lit-protocol/vincent-ability-uniswap-swap 2.0.0 → 3.0.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 (83) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +94 -83
  3. package/dist/CHANGELOG.md +23 -0
  4. package/dist/README.md +94 -83
  5. package/dist/package.json +9 -7
  6. package/dist/src/generated/lit-action-prepare.js +9 -0
  7. package/dist/src/generated/lit-action.js +2 -2
  8. package/dist/src/generated/vincent-ability-metadata.json +1 -1
  9. package/dist/src/generated/vincent-bundled-ability.d.ts +132 -946
  10. package/dist/src/generated/vincent-bundled-ability.d.ts.map +1 -1
  11. package/dist/src/generated/vincent-prepare-metadata.json +6 -0
  12. package/dist/src/index.d.ts +3 -0
  13. package/dist/src/index.d.ts.map +1 -1
  14. package/dist/src/index.js +5 -1
  15. package/dist/src/index.js.map +1 -1
  16. package/dist/src/lib/ability-checks/check-token-in-balance.d.ts +1 -1
  17. package/dist/src/lib/ability-checks/check-token-in-balance.d.ts.map +1 -1
  18. package/dist/src/lib/ability-checks/check-token-in-balance.js.map +1 -1
  19. package/dist/src/lib/ability-checks/index.d.ts +0 -1
  20. package/dist/src/lib/ability-checks/index.d.ts.map +1 -1
  21. package/dist/src/lib/ability-checks/index.js +0 -1
  22. package/dist/src/lib/ability-checks/index.js.map +1 -1
  23. package/dist/src/lib/ability-helpers/get-gas-params.d.ts +1 -1
  24. package/dist/src/lib/ability-helpers/get-gas-params.d.ts.map +1 -1
  25. package/dist/src/lib/ability-helpers/get-gas-params.js +5 -3
  26. package/dist/src/lib/ability-helpers/get-gas-params.js.map +1 -1
  27. package/dist/src/lib/ability-helpers/get-uniswap-quote.d.ts +6 -11
  28. package/dist/src/lib/ability-helpers/get-uniswap-quote.d.ts.map +1 -1
  29. package/dist/src/lib/ability-helpers/get-uniswap-quote.js +59 -104
  30. package/dist/src/lib/ability-helpers/get-uniswap-quote.js.map +1 -1
  31. package/dist/src/lib/ability-helpers/index.d.ts +0 -4
  32. package/dist/src/lib/ability-helpers/index.d.ts.map +1 -1
  33. package/dist/src/lib/ability-helpers/index.js +0 -4
  34. package/dist/src/lib/ability-helpers/index.js.map +1 -1
  35. package/dist/src/lib/ability-helpers/send-uniswap-tx.d.ts +8 -8
  36. package/dist/src/lib/ability-helpers/send-uniswap-tx.d.ts.map +1 -1
  37. package/dist/src/lib/ability-helpers/send-uniswap-tx.js +25 -53
  38. package/dist/src/lib/ability-helpers/send-uniswap-tx.js.map +1 -1
  39. package/dist/src/lib/prepare/get-signed-uniswap-quote.d.ts +9 -0
  40. package/dist/src/lib/prepare/get-signed-uniswap-quote.d.ts.map +1 -0
  41. package/dist/src/lib/prepare/get-signed-uniswap-quote.js +56 -0
  42. package/dist/src/lib/prepare/get-signed-uniswap-quote.js.map +1 -0
  43. package/dist/src/lib/prepare/lit-action.d.ts +2 -0
  44. package/dist/src/lib/prepare/lit-action.d.ts.map +1 -0
  45. package/dist/src/lib/prepare/lit-action.js +87 -0
  46. package/dist/src/lib/prepare/lit-action.js.map +1 -0
  47. package/dist/src/lib/prepare/types.d.ts +48 -0
  48. package/dist/src/lib/prepare/types.d.ts.map +1 -0
  49. package/dist/src/lib/prepare/types.js +3 -0
  50. package/dist/src/lib/prepare/types.js.map +1 -0
  51. package/dist/src/lib/prepare/validate-signed-uniswap-quote.d.ts +6 -0
  52. package/dist/src/lib/prepare/validate-signed-uniswap-quote.d.ts.map +1 -0
  53. package/dist/src/lib/prepare/validate-signed-uniswap-quote.js +22 -0
  54. package/dist/src/lib/prepare/validate-signed-uniswap-quote.js.map +1 -0
  55. package/dist/src/lib/schemas.d.ts +133 -62
  56. package/dist/src/lib/schemas.d.ts.map +1 -1
  57. package/dist/src/lib/schemas.js +26 -41
  58. package/dist/src/lib/schemas.js.map +1 -1
  59. package/dist/src/lib/vincent-ability.d.ts +132 -946
  60. package/dist/src/lib/vincent-ability.d.ts.map +1 -1
  61. package/dist/src/lib/vincent-ability.js +52 -122
  62. package/dist/src/lib/vincent-ability.js.map +1 -1
  63. package/package.json +11 -9
  64. package/dist/src/lib/ability-checks/check-uniswap-pool-exists.d.ts +0 -10
  65. package/dist/src/lib/ability-checks/check-uniswap-pool-exists.d.ts.map +0 -1
  66. package/dist/src/lib/ability-checks/check-uniswap-pool-exists.js +0 -24
  67. package/dist/src/lib/ability-checks/check-uniswap-pool-exists.js.map +0 -1
  68. package/dist/src/lib/ability-helpers/calculate-usd-value.d.ts +0 -7
  69. package/dist/src/lib/ability-helpers/calculate-usd-value.d.ts.map +0 -1
  70. package/dist/src/lib/ability-helpers/calculate-usd-value.js +0 -22
  71. package/dist/src/lib/ability-helpers/calculate-usd-value.js.map +0 -1
  72. package/dist/src/lib/ability-helpers/estimate-gas-for-swap.d.ts +0 -7
  73. package/dist/src/lib/ability-helpers/estimate-gas-for-swap.d.ts.map +0 -1
  74. package/dist/src/lib/ability-helpers/estimate-gas-for-swap.js +0 -24
  75. package/dist/src/lib/ability-helpers/estimate-gas-for-swap.js.map +0 -1
  76. package/dist/src/lib/ability-helpers/get-eth-usd-price.d.ts +0 -6
  77. package/dist/src/lib/ability-helpers/get-eth-usd-price.d.ts.map +0 -1
  78. package/dist/src/lib/ability-helpers/get-eth-usd-price.js +0 -22
  79. package/dist/src/lib/ability-helpers/get-eth-usd-price.js.map +0 -1
  80. package/dist/src/lib/ability-helpers/get-token-amount-in-usd.d.ts +0 -10
  81. package/dist/src/lib/ability-helpers/get-token-amount-in-usd.d.ts.map +0 -1
  82. package/dist/src/lib/ability-helpers/get-token-amount-in-usd.js +0 -68
  83. package/dist/src/lib/ability-helpers/get-token-amount-in-usd.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"vincent-bundled-ability.d.ts","sourceRoot":"","sources":["../../../src/generated/vincent-bundled-ability.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAA4D,CAAC"}
1
+ {"version":3,"file":"vincent-bundled-ability.d.ts","sourceRoot":"","sources":["../../../src/generated/vincent-bundled-ability.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAA4D,CAAC"}
@@ -0,0 +1,6 @@
1
+ {
2
+ "ipfsCid": "Qmear8Lpn6JUQtcUSLTutVF8kYnvqApDJLoGKGdxYndbez",
3
+ "pkpTokenId": "101569634561284132242435049794817845129394735556748236108121249689791476389893",
4
+ "pkpPublicKey": "0x048bfc57a83d4d9efbd8c9b460e4922bb85aecf908cc4fa782cd6adffc354fd01d78e9c0e38092d9c0448bf17ba6428469c8378e4f6e5211b1a6cd946c0ae10fed",
5
+ "pkpEthAddress": "0x18f215Ac54e550c5489408E0Af9A1FbA3a1a981e"
6
+ }
@@ -1,2 +1,5 @@
1
1
  export { bundledVincentAbility } from './generated/vincent-bundled-ability';
2
+ export { getSignedUniswapQuote } from './lib/prepare/get-signed-uniswap-quote';
3
+ export { validateSignedUniswapQuote } from './lib/prepare/validate-signed-uniswap-quote';
4
+ export type * from './lib/prepare/types';
2
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC;AACzF,mBAAmB,qBAAqB,CAAC"}
package/dist/src/index.js CHANGED
@@ -1,6 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.bundledVincentAbility = void 0;
3
+ exports.validateSignedUniswapQuote = exports.getSignedUniswapQuote = exports.bundledVincentAbility = void 0;
4
4
  var vincent_bundled_ability_1 = require("./generated/vincent-bundled-ability");
5
5
  Object.defineProperty(exports, "bundledVincentAbility", { enumerable: true, get: function () { return vincent_bundled_ability_1.bundledVincentAbility; } });
6
+ var get_signed_uniswap_quote_1 = require("./lib/prepare/get-signed-uniswap-quote");
7
+ Object.defineProperty(exports, "getSignedUniswapQuote", { enumerable: true, get: function () { return get_signed_uniswap_quote_1.getSignedUniswapQuote; } });
8
+ var validate_signed_uniswap_quote_1 = require("./lib/prepare/validate-signed-uniswap-quote");
9
+ Object.defineProperty(exports, "validateSignedUniswapQuote", { enumerable: true, get: function () { return validate_signed_uniswap_quote_1.validateSignedUniswapQuote; } });
6
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,+EAA4E;AAAnE,gIAAA,qBAAqB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,+EAA4E;AAAnE,gIAAA,qBAAqB,OAAA;AAC9B,mFAA+E;AAAtE,iIAAA,qBAAqB,OAAA;AAC9B,6FAAyF;AAAhF,2IAAA,0BAA0B,OAAA"}
@@ -4,5 +4,5 @@ export declare const checkTokenInBalance: ({ provider, pkpEthAddress, tokenInAdd
4
4
  pkpEthAddress: string;
5
5
  tokenInAddress: string;
6
6
  tokenInAmount: bigint;
7
- }) => Promise<any>;
7
+ }) => Promise<ethers.BigNumber>;
8
8
  //# sourceMappingURL=check-token-in-balance.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"check-token-in-balance.d.ts","sourceRoot":"","sources":["../../../../src/lib/ability-checks/check-token-in-balance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,eAAO,MAAM,mBAAmB,GAAU,6DAKvC;IACD,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC;IACjD,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB,iBAeA,CAAC"}
1
+ {"version":3,"file":"check-token-in-balance.d.ts","sourceRoot":"","sources":["../../../../src/lib/ability-checks/check-token-in-balance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,eAAO,MAAM,mBAAmB,GAAU,6DAKvC;IACD,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,qBAAqB,CAAC;IACjD,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;CACvB,8BAeA,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"check-token-in-balance.js","sourceRoot":"","sources":["../../../../src/lib/ability-checks/check-token-in-balance.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAChC,yDAAsD;AAE/C,MAAM,mBAAmB,GAAG,KAAK,EAAE,EACxC,QAAQ,EACR,aAAa,EACb,cAAc,EACd,aAAa,GAMd,EAAE,EAAE;IACH,MAAM,QAAQ,GAAG,IAAA,mCAAgB,EAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IAE5D,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAE/D,6CAA6C;IAC7C,MAAM,eAAe,GAAG,eAAM,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;IAExE,IAAI,cAAc,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CACb,kBAAkB,aAAa,0CAA0C,cAAc,aAAa,aAAa,mBAAmB,cAAc,wBAAwB,CAC3K,CAAC;IACJ,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAzBW,QAAA,mBAAmB,uBAyB9B"}
1
+ {"version":3,"file":"check-token-in-balance.js","sourceRoot":"","sources":["../../../../src/lib/ability-checks/check-token-in-balance.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAChC,yDAAsD;AAE/C,MAAM,mBAAmB,GAAG,KAAK,EAAE,EACxC,QAAQ,EACR,aAAa,EACb,cAAc,EACd,aAAa,GAMd,EAAE,EAAE;IACH,MAAM,QAAQ,GAAG,IAAA,mCAAgB,EAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IAE5D,MAAM,cAAc,GAAqB,MAAM,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAEjF,6CAA6C;IAC7C,MAAM,eAAe,GAAG,eAAM,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;IAExE,IAAI,cAAc,CAAC,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CACb,kBAAkB,aAAa,0CAA0C,cAAc,aAAa,aAAa,mBAAmB,cAAc,wBAAwB,CAC3K,CAAC;IACJ,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAzBW,QAAA,mBAAmB,uBAyB9B"}
@@ -1,5 +1,4 @@
1
1
  export * from './check-native-token-balance';
2
2
  export * from './check-token-in-balance';
3
- export * from './check-uniswap-pool-exists';
4
3
  export * from './check-erc20-allowance';
5
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/ability-checks/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/ability-checks/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAC7C,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC"}
@@ -3,6 +3,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./check-native-token-balance"), exports);
5
5
  tslib_1.__exportStar(require("./check-token-in-balance"), exports);
6
- tslib_1.__exportStar(require("./check-uniswap-pool-exists"), exports);
7
6
  tslib_1.__exportStar(require("./check-erc20-allowance"), exports);
8
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/ability-checks/index.ts"],"names":[],"mappings":";;;AAAA,uEAA6C;AAC7C,mEAAyC;AACzC,sEAA4C;AAC5C,kEAAwC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/ability-checks/index.ts"],"names":[],"mappings":";;;AAAA,uEAA6C;AAC7C,mEAAyC;AACzC,kEAAwC"}
@@ -4,5 +4,5 @@ export interface GasParams {
4
4
  maxFeePerGas: ethers.BigNumber;
5
5
  maxPriorityFeePerGas: ethers.BigNumber;
6
6
  }
7
- export declare const getGasParams: (provider: ethers.providers.Provider, block: ethers.providers.Block, feeData: ethers.providers.FeeData, estimatedGas: ethers.BigNumber) => Promise<GasParams>;
7
+ export declare const getGasParams: (provider: ethers.providers.Provider, estimatedGas: ethers.BigNumber) => Promise<GasParams>;
8
8
  //# sourceMappingURL=get-gas-params.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-gas-params.d.ts","sourceRoot":"","sources":["../../../../src/lib/ability-helpers/get-gas-params.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC;IAC/B,oBAAoB,EAAE,MAAM,CAAC,SAAS,CAAC;CACxC;AAED,eAAO,MAAM,YAAY,GACvB,UAAU,MAAM,CAAC,SAAS,CAAC,QAAQ,EACnC,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,EAC7B,SAAS,MAAM,CAAC,SAAS,CAAC,OAAO,EACjC,cAAc,MAAM,CAAC,SAAS,KAC7B,OAAO,CAAC,SAAS,CA6BnB,CAAC"}
1
+ {"version":3,"file":"get-gas-params.d.ts","sourceRoot":"","sources":["../../../../src/lib/ability-helpers/get-gas-params.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC;IAC/B,oBAAoB,EAAE,MAAM,CAAC,SAAS,CAAC;CACxC;AAED,eAAO,MAAM,YAAY,GACvB,UAAU,MAAM,CAAC,SAAS,CAAC,QAAQ,EACnC,cAAc,MAAM,CAAC,SAAS,KAC7B,OAAO,CAAC,SAAS,CA+BnB,CAAC"}
@@ -2,7 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getGasParams = void 0;
4
4
  const ethers_1 = require("ethers");
5
- const getGasParams = async (provider, block, feeData, estimatedGas) => {
5
+ const getGasParams = async (provider, estimatedGas) => {
6
+ // Fetch block and fee data
7
+ const [block, feeData] = await Promise.all([provider.getBlock('latest'), provider.getFeeData()]);
6
8
  // Determine baseFeePerGas, with multiple fallbacks
7
9
  let baseFeePerGas = block.baseFeePerGas;
8
10
  if (baseFeePerGas == null) {
@@ -19,8 +21,8 @@ const getGasParams = async (provider, block, feeData, estimatedGas) => {
19
21
  : ethers_1.ethers.utils.parseUnits('1.5', 'gwei');
20
22
  // Calculate maxFeePerGas as the sum of baseFee and priority fee
21
23
  const maxFeePerGas = baseFeePerGas.add(maxPriorityFeePerGas);
22
- // Add a 20% buffer to the estimated gas limit
23
- const estimatedGasWithBuffer = estimatedGas.mul(120).div(100);
24
+ // Add a 50% buffer to the estimated gas limit for complex swaps
25
+ const estimatedGasWithBuffer = estimatedGas.mul(150).div(100);
24
26
  return {
25
27
  estimatedGas: estimatedGasWithBuffer,
26
28
  maxFeePerGas,
@@ -1 +1 @@
1
- {"version":3,"file":"get-gas-params.js","sourceRoot":"","sources":["../../../../src/lib/ability-helpers/get-gas-params.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAQzB,MAAM,YAAY,GAAG,KAAK,EAC/B,QAAmC,EACnC,KAA6B,EAC7B,OAAiC,EACjC,YAA8B,EACV,EAAE;IACtB,mDAAmD;IACnD,IAAI,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;IACxC,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;QAC1B,4CAA4C;QAC5C,aAAa,GAAG,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;IAChG,CAAC;IACD,kDAAkD;IAClD,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;QAC1B,aAAa,GAAG,eAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACvD,CAAC;IAED,8FAA8F;IAC9F,MAAM,oBAAoB,GACxB,OAAO,IAAI,OAAO,CAAC,oBAAoB;QACrC,CAAC,CAAC,OAAO,CAAC,oBAAoB;QAC9B,CAAC,CAAC,eAAM,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAE7C,gEAAgE;IAChE,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAE7D,8CAA8C;IAC9C,MAAM,sBAAsB,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAE9D,OAAO;QACL,YAAY,EAAE,sBAAsB;QACpC,YAAY;QACZ,oBAAoB;KACrB,CAAC;AACJ,CAAC,CAAC;AAlCW,QAAA,YAAY,gBAkCvB"}
1
+ {"version":3,"file":"get-gas-params.js","sourceRoot":"","sources":["../../../../src/lib/ability-helpers/get-gas-params.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAQzB,MAAM,YAAY,GAAG,KAAK,EAC/B,QAAmC,EACnC,YAA8B,EACV,EAAE;IACtB,2BAA2B;IAC3B,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACjG,mDAAmD;IACnD,IAAI,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;IACxC,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;QAC1B,4CAA4C;QAC5C,aAAa,GAAG,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;IAChG,CAAC;IACD,kDAAkD;IAClD,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;QAC1B,aAAa,GAAG,eAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACvD,CAAC;IAED,8FAA8F;IAC9F,MAAM,oBAAoB,GACxB,OAAO,IAAI,OAAO,CAAC,oBAAoB;QACrC,CAAC,CAAC,OAAO,CAAC,oBAAoB;QAC9B,CAAC,CAAC,eAAM,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAE7C,gEAAgE;IAChE,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAE7D,gEAAgE;IAChE,MAAM,sBAAsB,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAE9D,OAAO;QACL,YAAY,EAAE,sBAAsB;QACpC,YAAY;QACZ,oBAAoB;KACrB,CAAC;AACJ,CAAC,CAAC;AAlCW,QAAA,YAAY,gBAkCvB"}
@@ -1,15 +1,10 @@
1
- import { ethers } from 'ethers';
2
- export declare const getUniswapQuote: ({ rpcUrl, chainId, tokenInAddress, tokenInDecimals, tokenInAmount, tokenOutAddress, tokenOutDecimals, }: {
1
+ import { SwapRoute } from '@uniswap/smart-order-router';
2
+ export declare function getUniswapQuote({ rpcUrl, tokenInAddress, tokenInAmount, tokenOutAddress, recipient, slippageTolerance, }: {
3
3
  rpcUrl: string;
4
- chainId: number;
5
4
  tokenInAddress: string;
6
- tokenInDecimals: number;
7
- tokenInAmount: number;
5
+ tokenInAmount: string;
8
6
  tokenOutAddress: string;
9
- tokenOutDecimals: number;
10
- }) => Promise<{
11
- bestQuote: ethers.BigNumber;
12
- bestFee: number;
13
- amountOutMin: ethers.BigNumber;
14
- }>;
7
+ recipient: string;
8
+ slippageTolerance?: number;
9
+ }): Promise<SwapRoute>;
15
10
  //# sourceMappingURL=get-uniswap-quote.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-uniswap-quote.d.ts","sourceRoot":"","sources":["../../../../src/lib/ability-helpers/get-uniswap-quote.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAMhC,eAAO,MAAM,eAAe,GAAU,yGAQnC;IACD,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,KAAG,OAAO,CAAC;IACV,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC;CAChC,CA8HA,CAAC"}
1
+ {"version":3,"file":"get-uniswap-quote.d.ts","sourceRoot":"","sources":["../../../../src/lib/ability-helpers/get-uniswap-quote.ts"],"names":[],"mappings":"AACA,OAAO,EAAyB,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAG/E,wBAAsB,eAAe,CAAC,EACpC,MAAM,EACN,cAAc,EACd,aAAa,EACb,eAAe,EACf,SAAS,EACT,iBAAiB,GAClB,EAAE;IACD,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,GAAG,OAAO,CAAC,SAAS,CAAC,CAkFrB"}
@@ -1,114 +1,69 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getUniswapQuote = void 0;
3
+ exports.getUniswapQuote = getUniswapQuote;
4
4
  const sdk_core_1 = require("@uniswap/sdk-core");
5
+ const smart_order_router_1 = require("@uniswap/smart-order-router");
5
6
  const ethers_1 = require("ethers");
6
- const UNISWAP_V3_QUOTER_INTERFACE = new ethers_1.ethers.utils.Interface([
7
- 'function quoteExactInputSingle((address tokenIn, address tokenOut, uint256 amountIn, uint24 fee, uint160 sqrtPriceLimitX96)) external returns (uint256 amountOut, uint160 sqrtPriceX96After, uint32 initializedTicksCrossed, uint256 gasEstimate)',
8
- ]);
9
- const getUniswapQuote = async ({ rpcUrl, chainId, tokenInAddress, tokenInDecimals, tokenInAmount, tokenOutAddress, tokenOutDecimals, }) => {
10
- console.log('Getting Uniswap Quote (getUniswapQuote)', {
11
- rpcUrl,
12
- chainId,
13
- tokenInAddress,
14
- tokenInDecimals,
15
- tokenInAmount,
16
- tokenOutAddress,
17
- tokenOutDecimals,
7
+ async function getUniswapQuote({ rpcUrl, tokenInAddress, tokenInAmount, tokenOutAddress, recipient, slippageTolerance, }) {
8
+ const activeTimeouts = new Set();
9
+ const realSetTimeout = global.setTimeout;
10
+ const realClearTimeout = global.clearTimeout;
11
+ global.setTimeout = ((fn, ms, ...args) => {
12
+ const id = realSetTimeout(fn, ms, ...args);
13
+ activeTimeouts.add(id);
14
+ return id;
18
15
  });
19
- const chainAddressMap = sdk_core_1.CHAIN_TO_ADDRESSES_MAP[chainId];
20
- if (chainAddressMap === undefined)
21
- throw new Error(`Unsupported chainId: ${chainId} (getUniswapQuote)`);
22
- if (chainAddressMap.quoterAddress === undefined)
23
- throw new Error(`No Uniswap V3 Quoter Address found for chainId: ${chainId} (getUniswapQuote)`);
24
- const quoterAddress = chainAddressMap.quoterAddress;
25
- console.log(`Using Quoter Address: ${quoterAddress} (getUniswapQuote)`);
26
- const uniswapRpcProvider = new ethers_1.ethers.providers.StaticJsonRpcProvider(rpcUrl);
27
- const formattedTokenInAmount = ethers_1.ethers.utils.parseUnits(tokenInAmount.toString(), tokenInDecimals);
28
- console.log('Amount conversion:', {
29
- original: tokenInAmount,
30
- decimals: tokenInDecimals,
31
- wei: formattedTokenInAmount.toString(),
32
- formatted: ethers_1.ethers.utils.formatUnits(formattedTokenInAmount, tokenInDecimals),
16
+ global.clearTimeout = ((id) => {
17
+ activeTimeouts.delete(id);
18
+ return realClearTimeout(id);
33
19
  });
34
- let bestQuote = null;
35
- let bestFee = null;
36
- const feeTiers = [3000, 500]; // Supported fee tiers (0.3% and 0.05%)
37
- for (const fee of feeTiers) {
38
- try {
39
- const quoteParams = {
40
- tokenIn: tokenInAddress,
41
- tokenOut: tokenOutAddress,
42
- amountIn: formattedTokenInAmount.toString(),
43
- fee,
44
- sqrtPriceLimitX96: 0,
45
- };
46
- console.log(`Attempting quote with fee tier ${fee / 10000}% (getUniswapQuote)`);
47
- console.log('Quote parameters (getUniswapQuote):', quoteParams);
48
- const quote = await uniswapRpcProvider.call({
49
- to: quoterAddress,
50
- data: UNISWAP_V3_QUOTER_INTERFACE.encodeFunctionData('quoteExactInputSingle', [
51
- quoteParams,
52
- ]),
53
- });
54
- console.log('Raw quote response (getUniswapQuote):', quote);
55
- const [amountOut] = UNISWAP_V3_QUOTER_INTERFACE.decodeFunctionResult('quoteExactInputSingle', quote);
56
- const currentQuote = ethers_1.ethers.BigNumber.from(amountOut);
57
- if (currentQuote.isZero()) {
58
- console.log(`Quote is 0 for fee tier ${fee / 10000}% - skipping (getUniswapQuote)`);
59
- continue;
60
- }
61
- const formattedQuote = ethers_1.ethers.utils.formatUnits(currentQuote, tokenOutDecimals);
62
- console.log(`Quote for fee tier ${fee / 10000}% (getUniswapQuote):`, {
63
- raw: currentQuote.toString(),
64
- formatted: formattedQuote,
65
- });
66
- if (!bestQuote || currentQuote.gt(bestQuote)) {
67
- bestQuote = currentQuote;
68
- bestFee = fee;
69
- console.log(`New best quote found with fee tier ${fee / 10000}% (getUniswapQuote): ${formattedQuote}`);
70
- }
71
- }
72
- catch (error) {
73
- const err = error;
74
- // Check if this is an ethers contract error with expected properties
75
- if ('reason' in err && 'message' in err && 'code' in err) {
76
- if (err.reason === 'Unexpected error') {
77
- console.log(`Unexpected error thrown, probably no pool found for fee tier ${fee / 10000}% (getUniswapQuote)`, err);
78
- }
79
- else {
80
- console.log(`Quoter call failed for fee tier ${fee / 10000}% (getUniswapQuote)`, {
81
- message: err.message,
82
- reason: err.reason,
83
- code: err.code,
84
- });
85
- }
86
- continue;
87
- }
88
- else {
89
- throw error;
90
- }
20
+ const provider = new ethers_1.ethers.providers.StaticJsonRpcProvider(rpcUrl);
21
+ const [network, tokenInDecimals, tokenOutDecimals] = await Promise.all([
22
+ provider.getNetwork(),
23
+ new ethers_1.ethers.Contract(tokenInAddress, ['function decimals() view returns (uint8)'], provider).decimals(),
24
+ new ethers_1.ethers.Contract(tokenOutAddress, ['function decimals() view returns (uint8)'], provider).decimals(),
25
+ ]);
26
+ const chainId = network.chainId;
27
+ const router = new smart_order_router_1.AlphaRouter({ chainId, provider });
28
+ try {
29
+ const tokenIn = new sdk_core_1.Token(chainId, tokenInAddress, tokenInDecimals);
30
+ const tokenOut = new sdk_core_1.Token(chainId, tokenOutAddress, tokenOutDecimals);
31
+ const amountIn = sdk_core_1.CurrencyAmount.fromRawAmount(tokenIn, ethers_1.ethers.utils.parseUnits(tokenInAmount.toString(), tokenInDecimals).toString());
32
+ // User provides slippage in basis points (e.g., 50 for 0.5%, 100 for 1%)
33
+ // Default to 50 basis points (0.5%) if not provided
34
+ const slippage = new sdk_core_1.Percent(slippageTolerance ?? 50, 10_000);
35
+ console.log('Amount conversion:', {
36
+ original: tokenInAmount,
37
+ decimals: tokenInDecimals,
38
+ wei: amountIn.quotient.toString(),
39
+ formatted: amountIn.toExact(),
40
+ });
41
+ console.log('Getting route from AlphaRouter...');
42
+ const routeResult = await router.route(amountIn, tokenOut, sdk_core_1.TradeType.EXACT_INPUT, {
43
+ recipient,
44
+ slippageTolerance: slippage,
45
+ deadline: Math.floor(Date.now() / 1000 + 1800),
46
+ type: smart_order_router_1.SwapType.SWAP_ROUTER_02,
47
+ });
48
+ if (!routeResult || !routeResult.quote) {
49
+ throw new Error('Failed to get quote from Uniswap (no route)');
91
50
  }
51
+ console.log('AlphaRouter completed successfully');
52
+ return routeResult;
92
53
  }
93
- if (!bestQuote || !bestFee) {
94
- throw new Error('Failed to get quote from Uniswap V3. No valid pool found for this token pair or quote returned 0 (getUniswapQuote)');
54
+ finally {
55
+ console.log('Performing cleanup of AlphaRouter resources...');
56
+ provider.removeAllListeners();
57
+ // Clear any timers created during this call
58
+ console.log(`Clearing ${activeTimeouts.size} timeouts`);
59
+ for (const id of Array.from(activeTimeouts)) {
60
+ realClearTimeout(id);
61
+ }
62
+ activeTimeouts.clear();
63
+ // Restore globals to avoid side effects
64
+ global.setTimeout = realSetTimeout;
65
+ global.clearTimeout = realClearTimeout;
66
+ console.log('AlphaRouter cleanup completed');
95
67
  }
96
- // Calculate minimum output with 0.5% slippage tolerance
97
- const slippageTolerance = 0.005;
98
- const amountOutMin = bestQuote.mul(1000 - slippageTolerance * 1000).div(1000);
99
- console.log('Final quote details:', {
100
- bestFee: `${bestFee / 10000}%`,
101
- bestQuote: {
102
- raw: bestQuote.toString(),
103
- formatted: ethers_1.ethers.utils.formatUnits(bestQuote, tokenOutDecimals),
104
- },
105
- minimumOutput: {
106
- raw: amountOutMin.toString(),
107
- formatted: ethers_1.ethers.utils.formatUnits(amountOutMin, tokenOutDecimals),
108
- },
109
- slippageTolerance: `${slippageTolerance * 100}%`,
110
- });
111
- return { bestQuote, bestFee, amountOutMin };
112
- };
113
- exports.getUniswapQuote = getUniswapQuote;
68
+ }
114
69
  //# sourceMappingURL=get-uniswap-quote.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-uniswap-quote.js","sourceRoot":"","sources":["../../../../src/lib/ability-helpers/get-uniswap-quote.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-uniswap-quote.js","sourceRoot":"","sources":["../../../../src/lib/ability-helpers/get-uniswap-quote.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,6 @@
1
1
  export * from './get-pkp-info';
2
2
  export * from './get-uniswap-quote';
3
3
  export * from './send-uniswap-tx';
4
- export * from './get-token-amount-in-usd';
5
4
  export * from './get-gas-params';
6
5
  export * from './sign-tx';
7
- export * from './estimate-gas-for-swap';
8
- export * from './calculate-usd-value';
9
- export * from './get-eth-usd-price';
10
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/ability-helpers/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/ability-helpers/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC"}
@@ -4,10 +4,6 @@ const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./get-pkp-info"), exports);
5
5
  tslib_1.__exportStar(require("./get-uniswap-quote"), exports);
6
6
  tslib_1.__exportStar(require("./send-uniswap-tx"), exports);
7
- tslib_1.__exportStar(require("./get-token-amount-in-usd"), exports);
8
7
  tslib_1.__exportStar(require("./get-gas-params"), exports);
9
8
  tslib_1.__exportStar(require("./sign-tx"), exports);
10
- tslib_1.__exportStar(require("./estimate-gas-for-swap"), exports);
11
- tslib_1.__exportStar(require("./calculate-usd-value"), exports);
12
- tslib_1.__exportStar(require("./get-eth-usd-price"), exports);
13
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/ability-helpers/index.ts"],"names":[],"mappings":";;;AAAA,yDAA+B;AAC/B,8DAAoC;AACpC,4DAAkC;AAClC,oEAA0C;AAC1C,2DAAiC;AACjC,oDAA0B;AAC1B,kEAAwC;AACxC,gEAAsC;AACtC,8DAAoC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/ability-helpers/index.ts"],"names":[],"mappings":";;;AAAA,yDAA+B;AAC/B,8DAAoC;AACpC,4DAAkC;AAClC,2DAAiC;AACjC,oDAA0B"}
@@ -1,12 +1,12 @@
1
- export declare const sendUniswapTx: ({ rpcUrl, chainId, pkpEthAddress, pkpPublicKey, tokenInAddress, tokenOutAddress, tokenInDecimals, tokenOutDecimals, tokenInAmount, }: {
1
+ export declare const sendUniswapTx: ({ rpcUrl, chainId, pkpEthAddress, pkpPublicKey, uniswapTxData, }: {
2
2
  rpcUrl: string;
3
3
  chainId: number;
4
- pkpEthAddress: `0x${string}`;
4
+ pkpEthAddress: string;
5
5
  pkpPublicKey: string;
6
- tokenInAddress: `0x${string}`;
7
- tokenOutAddress: `0x${string}`;
8
- tokenInDecimals: number;
9
- tokenOutDecimals: number;
10
- tokenInAmount: number;
11
- }) => Promise<`0x${string}`>;
6
+ uniswapTxData: {
7
+ to: string;
8
+ calldata: string;
9
+ estimatedGasUsed: string;
10
+ };
11
+ }) => Promise<string>;
12
12
  //# sourceMappingURL=send-uniswap-tx.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"send-uniswap-tx.d.ts","sourceRoot":"","sources":["../../../../src/lib/ability-helpers/send-uniswap-tx.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,aAAa,GAAU,sIAUjC;IACD,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,KAAK,MAAM,EAAE,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,KAAK,MAAM,EAAE,CAAC;IAC9B,eAAe,EAAE,KAAK,MAAM,EAAE,CAAC;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;CACvB,KAAG,OAAO,CAAC,KAAK,MAAM,EAAE,CAwJxB,CAAC"}
1
+ {"version":3,"file":"send-uniswap-tx.d.ts","sourceRoot":"","sources":["../../../../src/lib/ability-helpers/send-uniswap-tx.ts"],"names":[],"mappings":"AAiBA,eAAO,MAAM,aAAa,GAAU,kEAMjC;IACD,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE;QACb,EAAE,EAAE,MAAM,CAAC;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH,KAAG,OAAO,CAAC,MAAM,CAwGjB,CAAC"}
@@ -1,61 +1,33 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.sendUniswapTx = void 0;
4
- const sdk_core_1 = require("@uniswap/sdk-core");
5
4
  const ethers_1 = require("ethers");
6
- const _1 = require(".");
7
- const sendUniswapTx = async ({ rpcUrl, chainId, pkpEthAddress, pkpPublicKey, tokenInAddress, tokenOutAddress, tokenInDecimals, tokenOutDecimals, tokenInAmount, }) => {
8
- console.log('Estimating gas for Swap transaction (sendUniswapTx)');
9
- if (sdk_core_1.CHAIN_TO_ADDRESSES_MAP[chainId] === undefined) {
10
- throw new Error(`Unsupported chainId: ${chainId} (sendUniswapTx)`);
11
- }
12
- const uniswapRouterAddress = sdk_core_1.CHAIN_TO_ADDRESSES_MAP[chainId].swapRouter02Address;
5
+ const sign_tx_1 = require("./sign-tx");
6
+ const get_gas_params_1 = require("./get-gas-params");
7
+ const sendUniswapTx = async ({ rpcUrl, chainId, pkpEthAddress, pkpPublicKey, uniswapTxData, }) => {
8
+ console.log('Estimating gas for Swap transaction using pre-computed route (sendUniswapTx)');
13
9
  const uniswapRpcProvider = new ethers_1.ethers.providers.StaticJsonRpcProvider(rpcUrl);
14
- const partialSwapTxResponse = await Lit.Actions.runOnce({ waitForResponse: true, name: 'Uniswap swap tx gas estimation' }, async () => {
10
+ const partialSwapTxResponse = await Lit.Actions.runOnce({ waitForResponse: true, name: 'Uniswap swap tx gas estimation with pre-computed route' }, async () => {
15
11
  try {
16
- const formattedTokenInAmount = ethers_1.ethers.utils.parseUnits(tokenInAmount.toString(), tokenInDecimals);
17
- const uniswapV3RouterContract = new ethers_1.ethers.Contract(uniswapRouterAddress, [
18
- 'function exactInputSingle((address,address,uint24,address,uint256,uint256,uint160)) external payable returns (uint256)',
19
- ], uniswapRpcProvider);
20
- console.log('Getting Uniswap quote for swap (sendUniswapTx)');
21
- const uniswapQuoteResponse = await (0, _1.getUniswapQuote)({
22
- rpcUrl,
23
- chainId,
24
- tokenInAddress,
25
- tokenInDecimals,
26
- tokenInAmount,
27
- tokenOutAddress,
28
- tokenOutDecimals,
29
- });
30
- const { bestFee, amountOutMin } = uniswapQuoteResponse;
31
- const { estimatedGas, maxFeePerGas, maxPriorityFeePerGas } = await (0, _1.estimateGasForSwap)(uniswapV3RouterContract, tokenInAddress, tokenOutAddress, bestFee, pkpEthAddress, formattedTokenInAmount, amountOutMin);
32
- console.log('Encoding swap transaction data (sendUniswapTx)', {
33
- tokenInAddress,
34
- tokenOutAddress,
35
- bestFee,
36
- pkpEthAddress,
37
- formattedTokenInAmount,
38
- amountOutMin,
39
- sqrtPriceLimitX96: 0,
12
+ console.log('Using pre-computed Uniswap route for swap (sendUniswapTx)');
13
+ // Use getGasParams helper which handles block/feeData fetching and applies 50% buffer
14
+ const { estimatedGas, maxFeePerGas, maxPriorityFeePerGas } = await (0, get_gas_params_1.getGasParams)(uniswapRpcProvider, ethers_1.ethers.BigNumber.from(uniswapTxData.estimatedGasUsed));
15
+ console.log('Swap transaction details with pre-computed route (sendUniswapTx)', {
16
+ to: uniswapTxData.to,
17
+ calldata: uniswapTxData.calldata,
18
+ routeEstimatedGas: uniswapTxData.estimatedGasUsed,
19
+ adjustedGasLimit: estimatedGas.toString(),
20
+ maxPriorityFeePerGas: `${ethers_1.ethers.utils.formatUnits(maxPriorityFeePerGas, 'gwei')} gwei`,
21
+ maxFeePerGas: `${ethers_1.ethers.utils.formatUnits(maxFeePerGas, 'gwei')} gwei`,
40
22
  });
41
- const swapTxData = uniswapV3RouterContract.interface.encodeFunctionData('exactInputSingle', [
42
- [
43
- tokenInAddress,
44
- tokenOutAddress,
45
- bestFee,
46
- pkpEthAddress,
47
- formattedTokenInAmount,
48
- amountOutMin,
49
- 0,
50
- ],
51
- ]);
52
23
  return JSON.stringify({
53
24
  status: 'success',
54
25
  partialSwapTx: {
55
- data: swapTxData,
56
- gasLimit: estimatedGas,
57
- maxFeePerGas: maxFeePerGas,
58
- maxPriorityFeePerGas: maxPriorityFeePerGas,
26
+ to: uniswapTxData.to,
27
+ data: uniswapTxData.calldata,
28
+ gasLimit: estimatedGas.toString(),
29
+ maxFeePerGas: maxFeePerGas.toString(),
30
+ maxPriorityFeePerGas: maxPriorityFeePerGas.toString(),
59
31
  nonce: await uniswapRpcProvider.getTransactionCount(pkpEthAddress),
60
32
  },
61
33
  });
@@ -73,7 +45,7 @@ const sendUniswapTx = async ({ rpcUrl, chainId, pkpEthAddress, pkpPublicKey, tok
73
45
  }
74
46
  const { partialSwapTx } = parsedPartialSwapTxResponse;
75
47
  const unsignedSwapTx = {
76
- to: uniswapRouterAddress,
48
+ to: partialSwapTx.to,
77
49
  data: partialSwapTx.data,
78
50
  value: ethers_1.ethers.BigNumber.from(0),
79
51
  gasLimit: ethers_1.ethers.BigNumber.from(partialSwapTx.gasLimit),
@@ -83,15 +55,15 @@ const sendUniswapTx = async ({ rpcUrl, chainId, pkpEthAddress, pkpPublicKey, tok
83
55
  chainId,
84
56
  type: 2,
85
57
  };
86
- console.log('Unsigned swap transaction object (sendUniswapTx)', {
58
+ console.log('Unsigned swap transaction object with pre-computed route (sendUniswapTx)', {
87
59
  ...unsignedSwapTx,
88
60
  value: unsignedSwapTx.value.toString(),
89
61
  gasLimit: unsignedSwapTx.gasLimit.toString(),
90
62
  maxFeePerGas: unsignedSwapTx.maxFeePerGas.toString(),
91
63
  maxPriorityFeePerGas: unsignedSwapTx.maxPriorityFeePerGas.toString(),
92
64
  });
93
- const signedSwapTx = await (0, _1.signTx)(pkpPublicKey, unsignedSwapTx, 'spendingLimitSig');
94
- console.log(`Broadcasting swap transaction (sendUniswapTx)`);
65
+ const signedSwapTx = await (0, sign_tx_1.signTx)(pkpPublicKey, unsignedSwapTx, 'uniswapSwapSig');
66
+ console.log(`Broadcasting swap transaction with pre-computed route (sendUniswapTx)`);
95
67
  const swapTxResponse = await Lit.Actions.runOnce({ waitForResponse: true, name: 'swapTxSender' }, async () => {
96
68
  try {
97
69
  const receipt = await uniswapRpcProvider.sendTransaction(signedSwapTx);
@@ -112,7 +84,7 @@ const sendUniswapTx = async ({ rpcUrl, chainId, pkpEthAddress, pkpPublicKey, tok
112
84
  throw new Error(`Error broadcasting swap transaction: ${parsedSwapTxResponse.error} (sendUniswapTx)`);
113
85
  }
114
86
  const { txHash } = parsedSwapTxResponse;
115
- console.log(`Swap transaction broadcasted (sendUniswapTx): ${txHash}`);
87
+ console.log(`Swap transaction broadcasted with pre-computed route (sendUniswapTx): ${txHash}`);
116
88
  return txHash;
117
89
  };
118
90
  exports.sendUniswapTx = sendUniswapTx;
@@ -1 +1 @@
1
- {"version":3,"file":"send-uniswap-tx.js","sourceRoot":"","sources":["../../../../src/lib/ability-helpers/send-uniswap-tx.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"send-uniswap-tx.js","sourceRoot":"","sources":["../../../../src/lib/ability-helpers/send-uniswap-tx.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { ethers } from 'ethers';
2
+ import { LitNodeClient } from '@lit-protocol/lit-node-client';
3
+ import type { PrepareSignedUniswapQuote, QuoteParams } from './types';
4
+ export declare const getSignedUniswapQuote: ({ quoteParams, ethersSigner, litNodeClient, }: {
5
+ quoteParams: QuoteParams;
6
+ ethersSigner: ethers.Signer;
7
+ litNodeClient: LitNodeClient;
8
+ }) => Promise<PrepareSignedUniswapQuote>;
9
+ //# sourceMappingURL=get-signed-uniswap-quote.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-signed-uniswap-quote.d.ts","sourceRoot":"","sources":["../../../../src/lib/prepare/get-signed-uniswap-quote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAG9D,OAAO,KAAK,EAEV,yBAAyB,EAEzB,WAAW,EACZ,MAAM,SAAS,CAAC;AAIjB,eAAO,MAAM,qBAAqB,GAAU,+CAIzC;IACD,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC;IAC5B,aAAa,EAAE,aAAa,CAAC;CAC9B,KAAG,OAAO,CAAC,yBAAyB,CAuDpC,CAAC"}