@swapkit/plugin-evm
Advanced tools
Comparing version 1.0.18 to 1.1.0
@@ -1,3 +0,3 @@ | ||
import{lowercasedContractAbiMapping as b}from"@swapkit/helpers";import{ApproveMode as Z,AssetValue as f,EVMChains as _,ProviderName as q,SwapKitError as Q}from"@swapkit/helpers";function S({getWallet:R}){async function $({route:x,feeOptionKey:J}){const{evmTransactionDetails:j,sellAmount:B,sellAsset:F}=x,H=j&&b[j.contractAddress],z=(await f.from({asset:F,value:B,asyncTokenLookup:!0})).chain;if(!(_.includes(z)&&H))throw new Q("core_swap_invalid_params");const L=R(z);return L.call({contractAddress:j.contractAddress,funcName:j.contractMethod,funcParams:j.contractParams,txOverrides:{from:L.address},feeOption:J,abi:H})}function U({assetValue:x,spenderAddress:J,type:j="checkOnly"}){const{address:B,chain:F,isGasAsset:H,isSynthetic:X}=x,z=_.includes(F);if(z&&H||!z||X)return Promise.resolve(j==="checkOnly"?!0:"approved");const I=R(F);if(!I)throw new Q("core_wallet_connection_not_found");const O=j==="checkOnly"?I.isApproved:I.approve,Y=I.address;if(!(B&&Y))throw new Q("core_approve_asset_address_or_from_not_found");return O({amount:x.getBaseValue("bigint"),assetAddress:B,from:Y,spenderAddress:J})}function G(x){return U({...x,type:Z.Approve})}function k(x){return U({...x,type:Z.CheckOnly})}return{swap:$,approveAssetValue:G,isAssetValueApproved:k,supportedSwapkitProviders:[q.TRADERJOE_V1,q.PANGOLIN_V1,q.UNISWAP_V2,q.SUSHISWAP_V2,q.ONEINCH,q.WOOFI_V2,q.PANCAKESWAP]}}var T={evm:{plugin:S}};export{T as EVMPlugin}; | ||
import{ApproveMode as X,AssetValue as G,EVMChains as Y,ProviderName as j,SwapKitError as L}from"@swapkit/helpers";function x({getWallet:Q}){async function Z({route:b,feeOptionKey:H}){const{tx:q,sellAsset:B}=b,D=(await G.from({asset:B,asyncTokenLookup:!0})).chain,J=Q(D);if(!(Y.includes(D)&&q))throw new L("core_swap_invalid_params");const{from:F,to:T,data:z}=q;return J.sendTransaction({from:F,to:T,data:z,value:BigInt(q.value)},H)}function R({assetValue:b,spenderAddress:H,type:q="checkOnly"}){const{address:B,chain:I,isGasAsset:D,isSynthetic:J}=b,F=Y.includes(I);if(F&&D||!F||J)return Promise.resolve(q==="checkOnly"?!0:"approved");const z=Q(I);if(!z)throw new L("core_wallet_connection_not_found");const k=q==="checkOnly"?z.isApproved:z.approve,U=z.address;if(!(B&&U))throw new L("core_approve_asset_address_or_from_not_found");return k({amount:b.getBaseValue("bigint"),assetAddress:B,from:U,spenderAddress:H})}function _(b){return R({...b,type:X.Approve})}function $(b){return R({...b,type:X.CheckOnly})}return{swap:Z,approveAssetValue:_,isAssetValueApproved:$,supportedSwapkitProviders:[j.ONEINCH,j.PANCAKESWAP,j.PANGOLIN_V1,j.SUSHISWAP_V2,j.TRADERJOE_V2,j.UNISWAP_V2,j.UNISWAP_V3]}}var f={evm:{plugin:x}};export{f as EVMPlugin}; | ||
//# debugId=4D10A9103BA5F17264756E2164756E21 | ||
//# debugId=815442AFA752C6BF64756E2164756E21 |
{ | ||
"author": "swapkit-oss", | ||
"dependencies": { | ||
"@swapkit/api": "1.4.7", | ||
"@swapkit/helpers": "1.3.2", | ||
"@swapkit/toolbox-evm": "1.1.11" | ||
"@swapkit/api": "1.5.0", | ||
"@swapkit/helpers": "1.4.0", | ||
"@swapkit/toolbox-evm": "1.2.0" | ||
}, | ||
@@ -32,3 +32,3 @@ "description": "SwapKit Plugin - EVM", | ||
"types": "./src/index.ts", | ||
"version": "1.0.18" | ||
"version": "1.1.0" | ||
} |
import type { QuoteResponseRoute } from "@swapkit/api"; | ||
import { lowercasedContractAbiMapping } from "@swapkit/helpers"; | ||
import { | ||
@@ -22,10 +21,6 @@ ApproveMode, | ||
async function swap({ route, feeOptionKey }: SwapParams<"evm", QuoteResponseRoute>) { | ||
const { evmTransactionDetails, sellAmount, sellAsset } = route; | ||
const { tx, sellAsset } = route; | ||
const abi = | ||
evmTransactionDetails && lowercasedContractAbiMapping[evmTransactionDetails.contractAddress]; | ||
const assetValue = await AssetValue.from({ | ||
asset: sellAsset, | ||
value: sellAmount, | ||
asyncTokenLookup: true, | ||
@@ -35,15 +30,8 @@ }); | ||
const evmChain = assetValue.chain as EVMChain; | ||
const wallet = getWallet(evmChain); | ||
if (!(EVMChains.includes(evmChain) && abi)) throw new SwapKitError("core_swap_invalid_params"); | ||
if (!(EVMChains.includes(evmChain) && tx)) throw new SwapKitError("core_swap_invalid_params"); | ||
const wallet = getWallet(evmChain); | ||
return wallet.call<string>({ | ||
contractAddress: evmTransactionDetails.contractAddress, | ||
funcName: evmTransactionDetails.contractMethod, | ||
funcParams: evmTransactionDetails.contractParams, | ||
txOverrides: { from: wallet.address }, | ||
feeOption: feeOptionKey, | ||
abi, | ||
}); | ||
const { from, to, data } = tx; | ||
return wallet.sendTransaction({ from, to, data, value: BigInt(tx.value) }, feeOptionKey); | ||
} | ||
@@ -102,9 +90,9 @@ | ||
supportedSwapkitProviders: [ | ||
ProviderName.TRADERJOE_V1, | ||
ProviderName.ONEINCH, | ||
ProviderName.PANCAKESWAP, | ||
ProviderName.PANGOLIN_V1, | ||
ProviderName.SUSHISWAP_V2, | ||
ProviderName.TRADERJOE_V2, | ||
ProviderName.UNISWAP_V2, | ||
ProviderName.SUSHISWAP_V2, | ||
ProviderName.ONEINCH, | ||
ProviderName.WOOFI_V2, | ||
ProviderName.PANCAKESWAP, | ||
ProviderName.UNISWAP_V3, | ||
], | ||
@@ -111,0 +99,0 @@ }; |
Sorry, the diff of this file is not supported yet
8905
89
+ Added@swapkit/api@1.5.0(transitive)
+ Added@swapkit/helpers@1.4.0(transitive)
+ Added@swapkit/toolbox-evm@1.2.0(transitive)
- Removed@swapkit/api@1.4.7(transitive)
- Removed@swapkit/helpers@1.3.2(transitive)
- Removed@swapkit/toolbox-evm@1.1.11(transitive)
Updated@swapkit/api@1.5.0
Updated@swapkit/helpers@1.4.0
Updated@swapkit/toolbox-evm@1.2.0