@avalabs/core-paraswap-sdk 2.8.0-alpha.197 → 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.
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/esm/paraswapUtils.js +1 -1
- package/esm/performSwap.d.ts +1 -1
- package/package.json +5 -7
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { OptimalRate } from 'paraswap-core';
|
|
2
2
|
import { BitcoinInputUTXO, BitcoinOutputUTXO, JsonRpcBatchInternal } from '@avalabs/core-wallets-sdk';
|
|
3
3
|
import { TransactionRequest } from 'ethers';
|
|
4
|
-
import { Network } from '@avalabs/chains-sdk';
|
|
4
|
+
import { Network } from '@avalabs/core-chains-sdk';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Paraswap may return both data and an error sometimes.
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("@openzeppelin/contracts/build/contracts/ERC20.json"),r=require("big.js"),t=require("bn.js"),s=require("paraswap"),a=require("@avalabs/core-utils-sdk"),n=require("@avalabs/chains-sdk"),o=require("web3"),i=require("assert"),c=require("ethers");const d=new s.ParaSwap(n.ChainId.AVALANCHE_MAINNET_ID,void 0,new o);exports.PARASWAP_RETRYABLE_ERRORS=["Price Timeout","An error has occurred, please try again later or contact our support"],exports.hasParaswapError=e=>"string"==typeof e.error,exports.performSwap=async function({srcTokenAddress:o,isSrcTokenNative:p,destTokenAddress:u,isDestTokenNative:w,priceRoute:m,gasLimit:l,maxFeePerGas:A,maxPriorityFeePerGas:h,slippage:E,activeNetwork:f,provider:v,transactionSend:T,transactionSign:k,userAddress:g,networkGasPrice:R}){i(o,"no source token on request"),i(u,"no destination token on request"),i(m,"request requires the paraswap priceRoute"),i(l,"request requires gas limit from paraswap response"),i(g,"Wallet Error: address not defined"),i(R,"network gas price not defined"),i(f,"Network Init Error: Wrong network"),i(!f.isTestnet,"Network Init Error: Wrong network");const S=await async function(){const e=await fetch(`${d.apiURL}/adapters/contracts?network=${n.ChainId.AVALANCHE_MAINNET_ID}`);return(await e.json()).TokenTransferProxy}(),x=p?s.ETHER_ADDRESS:o,P=w?s.ETHER_ADDRESS:u,D=R;let q;const I=new r(m.destAmount).times(1-E/100).toFixed(0),y=new r(m.srcAmount).times(1+E/100).toFixed(0),N="SELL"===m.side?m.srcAmount:y,L="SELL"===m.side?I:m.destAmount;let $=await v.getTransactionCount(g);if(!p){const r=new c.Contract(x,e.abi,v),[t,s]=await a.resolve(r.allowance(g,S));if(s||null===t)throw new Error(`Allowance Error: ${s}`);if(t<BigInt(N)){const[e]=await a.resolve(r.approve.estimateGas(S,N)),{data:t}=await r.approve.populateTransaction(S,N),[s,n]=await a.resolve(k({nonce:$,chainId:f.chainId,maxFeePerGas:D,gasPrice:D,gasLimit:e||BigInt(l),data:t,to:x}));if(!s||n)throw new Error(`Approve Error: ${n}`);const[o,c]=await a.resolve(T(s));if(c)throw new Error(`Approve Error: ${c}`);i(o,"Tx hash empty"),$++,q=o}else q=void 0}const[b,F]=await a.resolve(a.promiseResolveWithBackoff((()=>async function({network:e,srcToken:r,destToken:t,srcAmount:s,destAmount:a,priceRoute:n,userAddress:o,partner:i,partnerAddress:c,partnerFeeBps:p,receiver:u,options:w,srcDecimals:m,destDecimals:l,permit:A,deadline:h}){const E=new URLSearchParams(w),f=`${d.apiURL}/transactions/${e}/?${E.toString()}`,v={priceRoute:n,srcToken:r,destToken:t,srcAmount:s,destAmount:a,userAddress:o,partner:i,partnerAddress:c,partnerFeeBps:p,receiver:u,srcDecimals:m,destDecimals:l,permit:A,deadline:h},T=await fetch(f,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(v)});return await T.json()}({network:f.chainId.toString(),srcToken:x,destToken:P,srcAmount:N,destAmount:L,priceRoute:m,userAddress:g,partner:"Avalanche",partnerAddress:undefined,partnerFeeBps:undefined,receiver:undefined,options:undefined,srcDecimals:m.srcDecimals,destDecimals:m.destDecimals,permit:undefined,deadline:undefined})),(function(e){return"Server too busy"===e.message||e.error}),0,10));if(!b||F||"message"in b)throw new Error(`Data Error: ${F}`);const[B,C]=await a.resolve(k({nonce:$,chainId:f.chainId,maxFeePerGas:A??D,maxPriorityFeePerGas:h,gasLimit:Number(b.gas),data:b.data,to:b.to,value:p?`0x${new t.BN(N).toString("hex")}`:void 0}));if(!B||C)throw new Error(`Tx Error: ${C}`);const[_,G]=await a.resolve(T(B));if(G)throw new Error(`Tx Error: ${G}`);return i(_,"Tx hash empty"),{swapTxHash:_,approveTxHash:q}};
|
|
1
|
+
"use strict";var e=require("@openzeppelin/contracts/build/contracts/ERC20.json"),r=require("big.js"),t=require("bn.js"),s=require("paraswap"),a=require("@avalabs/core-utils-sdk"),n=require("@avalabs/core-chains-sdk"),o=require("web3"),i=require("assert"),c=require("ethers");const d=new s.ParaSwap(n.ChainId.AVALANCHE_MAINNET_ID,void 0,new o);exports.PARASWAP_RETRYABLE_ERRORS=["Price Timeout","An error has occurred, please try again later or contact our support"],exports.hasParaswapError=e=>"string"==typeof e.error,exports.performSwap=async function({srcTokenAddress:o,isSrcTokenNative:p,destTokenAddress:u,isDestTokenNative:w,priceRoute:m,gasLimit:l,maxFeePerGas:A,maxPriorityFeePerGas:h,slippage:E,activeNetwork:f,provider:v,transactionSend:T,transactionSign:k,userAddress:g,networkGasPrice:R}){i(o,"no source token on request"),i(u,"no destination token on request"),i(m,"request requires the paraswap priceRoute"),i(l,"request requires gas limit from paraswap response"),i(g,"Wallet Error: address not defined"),i(R,"network gas price not defined"),i(f,"Network Init Error: Wrong network"),i(!f.isTestnet,"Network Init Error: Wrong network");const S=await async function(){const e=await fetch(`${d.apiURL}/adapters/contracts?network=${n.ChainId.AVALANCHE_MAINNET_ID}`);return(await e.json()).TokenTransferProxy}(),x=p?s.ETHER_ADDRESS:o,P=w?s.ETHER_ADDRESS:u,D=R;let q;const I=new r(m.destAmount).times(1-E/100).toFixed(0),y=new r(m.srcAmount).times(1+E/100).toFixed(0),N="SELL"===m.side?m.srcAmount:y,L="SELL"===m.side?I:m.destAmount;let $=await v.getTransactionCount(g);if(!p){const r=new c.Contract(x,e.abi,v),[t,s]=await a.resolve(r.allowance(g,S));if(s||null===t)throw new Error(`Allowance Error: ${s}`);if(t<BigInt(N)){const[e]=await a.resolve(r.approve.estimateGas(S,N)),{data:t}=await r.approve.populateTransaction(S,N),[s,n]=await a.resolve(k({nonce:$,chainId:f.chainId,maxFeePerGas:D,gasPrice:D,gasLimit:e||BigInt(l),data:t,to:x}));if(!s||n)throw new Error(`Approve Error: ${n}`);const[o,c]=await a.resolve(T(s));if(c)throw new Error(`Approve Error: ${c}`);i(o,"Tx hash empty"),$++,q=o}else q=void 0}const[b,F]=await a.resolve(a.promiseResolveWithBackoff((()=>async function({network:e,srcToken:r,destToken:t,srcAmount:s,destAmount:a,priceRoute:n,userAddress:o,partner:i,partnerAddress:c,partnerFeeBps:p,receiver:u,options:w,srcDecimals:m,destDecimals:l,permit:A,deadline:h}){const E=new URLSearchParams(w),f=`${d.apiURL}/transactions/${e}/?${E.toString()}`,v={priceRoute:n,srcToken:r,destToken:t,srcAmount:s,destAmount:a,userAddress:o,partner:i,partnerAddress:c,partnerFeeBps:p,receiver:u,srcDecimals:m,destDecimals:l,permit:A,deadline:h},T=await fetch(f,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(v)});return await T.json()}({network:f.chainId.toString(),srcToken:x,destToken:P,srcAmount:N,destAmount:L,priceRoute:m,userAddress:g,partner:"Avalanche",partnerAddress:undefined,partnerFeeBps:undefined,receiver:undefined,options:undefined,srcDecimals:m.srcDecimals,destDecimals:m.destDecimals,permit:undefined,deadline:undefined})),(function(e){return"Server too busy"===e.message||e.error}),0,10));if(!b||F||"message"in b)throw new Error(`Data Error: ${F}`);const[B,C]=await a.resolve(k({nonce:$,chainId:f.chainId,maxFeePerGas:A??D,maxPriorityFeePerGas:h,gasLimit:Number(b.gas),data:b.data,to:b.to,value:p?`0x${new t.BN(N).toString("hex")}`:void 0}));if(!B||C)throw new Error(`Tx Error: ${C}`);const[_,G]=await a.resolve(T(B));if(G)throw new Error(`Tx Error: ${G}`);return i(_,"Tx hash empty"),{swapTxHash:_,approveTxHash:q}};
|
package/esm/paraswapUtils.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ParaSwap as e}from"paraswap";import{ChainId as r}from"@avalabs/chains-sdk";import t from"web3";const s=new e(r.AVALANCHE_MAINNET_ID,void 0,new t);async function n({network:e,srcToken:r,destToken:t,srcAmount:n,destAmount:a,priceRoute:o,userAddress:i,partner:c,partnerAddress:p,partnerFeeBps:d,receiver:m,options:A,srcDecimals:u,destDecimals:w,permit:T,deadline:f}){const k=new URLSearchParams(A),l=`${s.apiURL}/transactions/${e}/?${k.toString()}`,N={priceRoute:o,srcToken:r,destToken:t,srcAmount:n,destAmount:a,userAddress:i,partner:c,partnerAddress:p,partnerFeeBps:d,receiver:m,srcDecimals:u,destDecimals:w,permit:T,deadline:f},h=await fetch(l,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(N)});return await h.json()}async function a(){const e=await fetch(`${s.apiURL}/adapters/contracts?network=${r.AVALANCHE_MAINNET_ID}`);return(await e.json()).TokenTransferProxy}export{n as buildTx,a as getParaswapSpender};
|
|
1
|
+
import{ParaSwap as e}from"paraswap";import{ChainId as r}from"@avalabs/core-chains-sdk";import t from"web3";const s=new e(r.AVALANCHE_MAINNET_ID,void 0,new t);async function n({network:e,srcToken:r,destToken:t,srcAmount:n,destAmount:a,priceRoute:o,userAddress:i,partner:c,partnerAddress:p,partnerFeeBps:d,receiver:m,options:A,srcDecimals:u,destDecimals:w,permit:T,deadline:f}){const k=new URLSearchParams(A),l=`${s.apiURL}/transactions/${e}/?${k.toString()}`,N={priceRoute:o,srcToken:r,destToken:t,srcAmount:n,destAmount:a,userAddress:i,partner:c,partnerAddress:p,partnerFeeBps:d,receiver:m,srcDecimals:u,destDecimals:w,permit:T,deadline:f},h=await fetch(l,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(N)});return await h.json()}async function a(){const e=await fetch(`${s.apiURL}/adapters/contracts?network=${r.AVALANCHE_MAINNET_ID}`);return(await e.json()).TokenTransferProxy}export{n as buildTx,a as getParaswapSpender};
|
package/esm/performSwap.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Network } from '@avalabs/chains-sdk';
|
|
1
|
+
import { Network } from '@avalabs/core-chains-sdk';
|
|
2
2
|
import { JsonRpcBatchInternal } from '@avalabs/core-wallets-sdk';
|
|
3
3
|
import { OptimalRate } from 'paraswap-core';
|
|
4
4
|
import { TransactionSender } from './types/TransactionSender.js';
|
package/package.json
CHANGED
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@avalabs/core-paraswap-sdk",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"license": "Limited Ecosystem License",
|
|
5
5
|
"private": false,
|
|
6
|
-
"publishConfig": {
|
|
7
|
-
"access": "restricted"
|
|
8
|
-
},
|
|
9
6
|
"main": "dist/index.js",
|
|
10
7
|
"module": "esm/index.js",
|
|
11
8
|
"typings": "dist/index.d.ts",
|
|
@@ -35,8 +32,8 @@
|
|
|
35
32
|
"ts-jest": "29.0.5"
|
|
36
33
|
},
|
|
37
34
|
"dependencies": {
|
|
38
|
-
"@avalabs/core-utils-sdk": "
|
|
39
|
-
"@avalabs/core-wallets-sdk": "
|
|
35
|
+
"@avalabs/core-utils-sdk": "^3.0.0",
|
|
36
|
+
"@avalabs/core-wallets-sdk": "^3.0.0"
|
|
40
37
|
},
|
|
41
38
|
"peerDependencies": {
|
|
42
39
|
"big.js": "^6.2.1",
|
|
@@ -49,5 +46,6 @@
|
|
|
49
46
|
"volta": {
|
|
50
47
|
"node": "16.13.1",
|
|
51
48
|
"yarn": "1.22.17"
|
|
52
|
-
}
|
|
49
|
+
},
|
|
50
|
+
"gitHead": "7a1e8923aa49c3533a1c4785a6d52b5895d700e9"
|
|
53
51
|
}
|