@swapkit/plugins 4.6.55 → 4.6.56
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 +18 -0
- package/dist/src/evm/index.cjs +1 -1
- package/dist/src/evm/index.js +1 -1
- package/dist/src/garden/index.cjs +1 -1
- package/dist/src/garden/index.js +1 -1
- package/dist/src/harbor/index.cjs +1 -1
- package/dist/src/harbor/index.js +1 -1
- package/dist/src/index.cjs +1 -1
- package/dist/src/swapkit/index.cjs +1 -1
- package/dist/src/swapkit/index.js +1 -1
- package/dist/types/evm/index.d.ts +1 -1
- package/dist/types/garden/plugin.d.ts +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# @swapkit/plugins
|
|
2
2
|
|
|
3
|
+
## 4.6.56
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Accept base-10 and hex integer EVM-compatible transaction values, expose shared value parsing helpers, and add TRON/TON quote tx types.
|
|
8
|
+
|
|
9
|
+
Emit hex `value` fields from EVM transaction creators.
|
|
10
|
+
|
|
11
|
+
Expose hex `value` fields from Tron toolbox-created transactions.
|
|
12
|
+
|
|
13
|
+
Update TON transaction payloads to use `{ sendMode, messages }`, while keeping TON toolbox signing compatible with legacy message-array inputs.
|
|
14
|
+
|
|
15
|
+
Keep SwapKit plugin signing compatible with legacy TON message-array inputs through August 26, 2026.
|
|
16
|
+
|
|
17
|
+
- Updated dependencies:
|
|
18
|
+
- @swapkit/helpers@4.15.3
|
|
19
|
+
- @swapkit/toolboxes@4.20.1
|
|
20
|
+
|
|
3
21
|
## 4.6.55
|
|
4
22
|
|
|
5
23
|
### Patch Changes
|
package/dist/src/evm/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var{defineProperty:l,getOwnPropertyNames:
|
|
1
|
+
var{defineProperty:l,getOwnPropertyNames:E,getOwnPropertyDescriptor:M}=Object,S=Object.prototype.hasOwnProperty;function _(e){return this[e]}var g=(e)=>{var r=(w??=new WeakMap).get(e),s;if(r)return r;if(r=l({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function"){for(var n of E(e))if(!S.call(r,n))l(r,n,{get:_.bind(e,n),enumerable:!(s=M(e,n))||s.enumerable})}return w.set(e,r),r},w;var R=(e)=>e;function C(e,r){this[e]=R.bind(null,r)}var N=(e,r)=>{for(var s in r)l(e,s,{get:r[s],enumerable:!0,configurable:!0,set:C.bind(r,s)})};var f=(e,r)=>()=>(e&&(r=e(e=0)),r);function P({name:e,properties:r,methods:s}){function n(p){return{...s(p),...r}}return{[e]:n}}function A({approveMode:e,getWallet:r}){return function(n){return d.match(n).with({route:d.P.not(d.P.nullish),spenderAddress:d.P.string},async({route:p,spenderAddress:i})=>{let o=u.AssetValue.from({asset:p.sellAsset,value:p.sellAmount}),c=u.EVMChains.includes(o.chain);if(c&&o.isGasAsset||!c||o.isSynthetic)return e==="checkOnly"?!0:"approved";let t=await y.SwapKitApi.getTokenApproval({routeId:p.routeId,spender:i});if(e==="checkOnly")return t.isApproved;if(!t.approvalTransaction)throw new u.SwapKitError("core_approve_asset_target_invalid");return r(o.chain).sendTransaction({data:t.approvalTransaction.data,from:t.approvalTransaction.from,to:t.approvalTransaction.to,value:BigInt(o.getBaseValue("bigint")||"0")})}).otherwise(({spenderAddress:p,assetValue:i})=>{let o=i.chain,c=u.EVMChains.includes(o);if(c&&i.isGasAsset||!c||i.isSynthetic)return Promise.resolve(e==="checkOnly"?!0:"approved");let t=r(o),m=e==="checkOnly"?t.isApproved:t.approve;if(!(i.address&&t.address))throw new u.SwapKitError("core_approve_asset_address_or_from_not_found");return m({amount:i.getBaseValue("bigint"),assetAddress:i.address,from:t.address,spenderAddress:p})})}}var u,y,d;var V=f(()=>{u=require("@swapkit/helpers"),y=require("@swapkit/helpers/api"),d=require("ts-pattern")});var K={};N(K,{EVMPlugin:()=>k});module.exports=g(K);var a,T,k;var O=f(()=>{V();a=require("@swapkit/helpers"),T=require("@swapkit/helpers/api"),k=P({methods:({getWallet:e})=>({approveAssetValue:A({approveMode:a.ApproveMode.Approve,getWallet:e}),isAssetValueApproved:A({approveMode:a.ApproveMode.CheckOnly,getWallet:e}),swap:async function({route:{tx:s,sellAsset:n},feeOptionKey:p}){let o=(await a.AssetValue.from({asset:n,asyncTokenLookup:!0})).chain,c=e(o);if(!(a.EVMChains.includes(o)&&s))throw new a.SwapKitError("core_swap_invalid_params");let{from:v,to:t,data:m,value:h}=s;return c.sendTransaction({data:m,feeOptionKey:p,from:v,to:t,value:T.parseTransactionValue(h)})}}),name:"evm",properties:{supportedSwapkitProviders:[a.ProviderName.OKX,a.ProviderName.ONEINCH,a.ProviderName.PANCAKESWAP,a.ProviderName.SUSHISWAP_V2,a.ProviderName.TRADERJOE_V2,a.ProviderName.UNISWAP_V2,a.ProviderName.UNISWAP_V3]}})});O();
|
package/dist/src/evm/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as t,c as o}from"../../chunk-atezkenb.js";import{ApproveMode as p,AssetValue as A,EVMChains as d,ProviderName as e,SwapKitError as w}from"@swapkit/helpers";var
|
|
1
|
+
import{b as t,c as o}from"../../chunk-atezkenb.js";import{ApproveMode as p,AssetValue as A,EVMChains as d,ProviderName as e,SwapKitError as l}from"@swapkit/helpers";import{parseTransactionValue as w}from"@swapkit/helpers/api";var f=t({methods:({getWallet:a})=>({approveAssetValue:o({approveMode:p.Approve,getWallet:a}),isAssetValueApproved:o({approveMode:p.CheckOnly,getWallet:a}),swap:async function({route:{tx:s,sellAsset:n},feeOptionKey:i}){let r=(await A.from({asset:n,asyncTokenLookup:!0})).chain,u=a(r);if(!(d.includes(r)&&s))throw new l("core_swap_invalid_params");let{from:c,to:m,data:v,value:V}=s;return u.sendTransaction({data:v,feeOptionKey:i,from:c,to:m,value:w(V)})}}),name:"evm",properties:{supportedSwapkitProviders:[e.OKX,e.ONEINCH,e.PANCAKESWAP,e.SUSHISWAP_V2,e.TRADERJOE_V2,e.UNISWAP_V2,e.UNISWAP_V3]}});export{f as EVMPlugin};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var{defineProperty:h,getOwnPropertyNames:
|
|
1
|
+
var{defineProperty:h,getOwnPropertyNames:_,getOwnPropertyDescriptor:x}=Object,k=Object.prototype.hasOwnProperty;function N(e){return this[e]}var K=(e)=>{var a=(f??=new WeakMap).get(e),t;if(a)return a;if(a=h({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function"){for(var i of _(e))if(!k.call(a,i))h(a,i,{get:N.bind(e,i),enumerable:!(t=x(e,i))||t.enumerable})}return f.set(e,a),a},f;var G=(e)=>e;function O(e,a){this[e]=G.bind(null,a)}var b=(e,a)=>{for(var t in a)h(e,t,{get:a[t],enumerable:!0,configurable:!0,set:O.bind(a,t)})};var w=(e,a)=>()=>(e&&(a=e(e=0)),a);function T({name:e,properties:a,methods:t}){function i(p){return{...t(p),...a}}return{[e]:i}}function A({approveMode:e,getWallet:a}){return function(i){return m.match(i).with({route:m.P.not(m.P.nullish),spenderAddress:m.P.string},async({route:p,spenderAddress:n})=>{let o=d.AssetValue.from({asset:p.sellAsset,value:p.sellAmount}),c=d.EVMChains.includes(o.chain);if(c&&o.isGasAsset||!c||o.isSynthetic)return e==="checkOnly"?!0:"approved";let r=await g.SwapKitApi.getTokenApproval({routeId:p.routeId,spender:n});if(e==="checkOnly")return r.isApproved;if(!r.approvalTransaction)throw new d.SwapKitError("core_approve_asset_target_invalid");return a(o.chain).sendTransaction({data:r.approvalTransaction.data,from:r.approvalTransaction.from,to:r.approvalTransaction.to,value:BigInt(o.getBaseValue("bigint")||"0")})}).otherwise(({spenderAddress:p,assetValue:n})=>{let o=n.chain,c=d.EVMChains.includes(o);if(c&&n.isGasAsset||!c||n.isSynthetic)return Promise.resolve(e==="checkOnly"?!0:"approved");let r=a(o),l=e==="checkOnly"?r.isApproved:r.approve;if(!(n.address&&r.address))throw new d.SwapKitError("core_approve_asset_address_or_from_not_found");return l({amount:n.getBaseValue("bigint"),assetAddress:n.address,from:r.address,spenderAddress:p})})}}var d,g,m;var y=w(()=>{d=require("@swapkit/helpers"),g=require("@swapkit/helpers/api"),m=require("ts-pattern")});var P,s,V,E,M;var R=w(()=>{y();P=require("@solana/web3.js"),s=require("@swapkit/helpers"),V=require("@swapkit/helpers/api"),E=require("ts-pattern"),M=T({methods:({getWallet:e})=>({approveAssetValue:A({approveMode:s.ApproveMode.Approve,getWallet:e}),isAssetValueApproved:A({approveMode:s.ApproveMode.CheckOnly,getWallet:e}),swap:function({route:t}){let{sellAsset:i,sellAmount:p,targetAddress:n,tx:o}=t,c=s.AssetValue.from({asset:i,value:p});return E.match(c.chain).with(...s.EVMChains,(u)=>{let r=e(u),{from:l,to:v,data:S,value:C}=o;return r.sendTransaction({data:S,from:l,to:v,value:V.parseTransactionValue(C)})}).with(s.Chain.Solana,async(u)=>{let r=e(u),l=P.VersionedTransaction.deserialize(Buffer.from(o,"base64")),v=await r.signTransaction(l);return r.broadcastTransaction(v)}).otherwise(async(u)=>{if(!n)throw new s.SwapKitError("plugin_garden_missing_data",{message:"Missing target address: "});return await e(u).transfer({assetValue:c,recipient:n})})}}),name:"garden",properties:{supportedSwapkitProviders:[s.ProviderName.GARDEN]}})});var B={};b(B,{GardenPlugin:()=>M});module.exports=K(B);var Q=w(()=>{R()});Q();
|
package/dist/src/garden/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as d,c as n}from"../../chunk-atezkenb.js";import{VersionedTransaction as f}from"@solana/web3.js";import{ApproveMode as c,AssetValue as g,Chain as v,EVMChains as A,ProviderName as V,SwapKitError as x}from"@swapkit/helpers";import{match as C}from"ts-pattern";var M=d({methods:({getWallet:a})=>({approveAssetValue:n({approveMode:c.Approve,getWallet:a}),isAssetValueApproved:n({approveMode:c.CheckOnly,getWallet:a}),swap:function({route:u}){let{sellAsset:l,sellAmount:m,targetAddress:o,tx:i}=u,p=g.from({asset:l,value:m});return C(p.chain).with(...A,(e)=>{let s=a(e),{from:r,to:t,data:w,value:h}=i;return s.sendTransaction({data:w,from:r,to:t,value:
|
|
1
|
+
import{b as d,c as n}from"../../chunk-atezkenb.js";import{VersionedTransaction as f}from"@solana/web3.js";import{ApproveMode as c,AssetValue as g,Chain as v,EVMChains as A,ProviderName as V,SwapKitError as T}from"@swapkit/helpers";import{parseTransactionValue as x}from"@swapkit/helpers/api";import{match as C}from"ts-pattern";var M=d({methods:({getWallet:a})=>({approveAssetValue:n({approveMode:c.Approve,getWallet:a}),isAssetValueApproved:n({approveMode:c.CheckOnly,getWallet:a}),swap:function({route:u}){let{sellAsset:l,sellAmount:m,targetAddress:o,tx:i}=u,p=g.from({asset:l,value:m});return C(p.chain).with(...A,(e)=>{let s=a(e),{from:r,to:t,data:w,value:h}=i;return s.sendTransaction({data:w,from:r,to:t,value:x(h)})}).with(v.Solana,async(e)=>{let s=a(e),r=f.deserialize(Buffer.from(i,"base64")),t=await s.signTransaction(r);return s.broadcastTransaction(t)}).otherwise(async(e)=>{if(!o)throw new T("plugin_garden_missing_data",{message:"Missing target address: "});return await a(e).transfer({assetValue:p,recipient:o})})}}),name:"garden",properties:{supportedSwapkitProviders:[V.GARDEN]}});export{M as GardenPlugin};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var{defineProperty:
|
|
1
|
+
var{defineProperty:y,getOwnPropertyNames:E,getOwnPropertyDescriptor:S}=Object,k=Object.prototype.hasOwnProperty;function _(e){return this[e]}var C=(e)=>{var r=(P??=new WeakMap).get(e),t;if(r)return r;if(r=y({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function"){for(var o of E(e))if(!k.call(r,o))y(r,o,{get:_.bind(e,o),enumerable:!(t=S(e,o))||t.enumerable})}return P.set(e,r),r},P;var N=(e)=>e;function K(e,r){this[e]=N.bind(null,r)}var x=(e,r)=>{for(var t in r)y(e,t,{get:r[t],enumerable:!0,configurable:!0,set:K.bind(r,t)})};var V=(e,r)=>()=>(e&&(r=e(e=0)),r);function M({name:e,properties:r,methods:t}){function o(i){return{...t(i),...r}}return{[e]:o}}function T({approveMode:e,getWallet:r}){return function(o){return l.match(o).with({route:l.P.not(l.P.nullish),spenderAddress:l.P.string},async({route:i,spenderAddress:n})=>{let p=u.AssetValue.from({asset:i.sellAsset,value:i.sellAmount}),c=u.EVMChains.includes(p.chain);if(c&&p.isGasAsset||!c||p.isSynthetic)return e==="checkOnly"?!0:"approved";let a=await g.SwapKitApi.getTokenApproval({routeId:i.routeId,spender:n});if(e==="checkOnly")return a.isApproved;if(!a.approvalTransaction)throw new u.SwapKitError("core_approve_asset_target_invalid");return r(p.chain).sendTransaction({data:a.approvalTransaction.data,from:a.approvalTransaction.from,to:a.approvalTransaction.to,value:BigInt(p.getBaseValue("bigint")||"0")})}).otherwise(({spenderAddress:i,assetValue:n})=>{let p=n.chain,c=u.EVMChains.includes(p);if(c&&n.isGasAsset||!c||n.isSynthetic)return Promise.resolve(e==="checkOnly"?!0:"approved");let a=r(p),m=e==="checkOnly"?a.isApproved:a.approve;if(!(n.address&&a.address))throw new u.SwapKitError("core_approve_asset_address_or_from_not_found");return m({amount:n.getBaseValue("bigint"),assetAddress:n.address,from:a.address,spenderAddress:i})})}}var u,g,l;var R=V(()=>{u=require("@swapkit/helpers"),g=require("@swapkit/helpers/api"),l=require("ts-pattern")});var O={};x(O,{HarborPlugin:()=>B});module.exports=C(O);var s,v,d,b=(e)=>v.EVMTransactionSchema.safeParse(e).success,B;var Q=V(()=>{R();s=require("@swapkit/helpers"),v=require("@swapkit/helpers/api"),d=require("ts-pattern"),B=M({methods:({getWallet:e})=>({approveAssetValue:T({approveMode:s.ApproveMode.Approve,getWallet:e}),isAssetValueApproved:T({approveMode:s.ApproveMode.CheckOnly,getWallet:e}),swap:async function({route:{tx:t,sellAsset:o,memo:i,targetAddress:n,sellAmount:p},feeOptionKey:c}){let h=await s.AssetValue.from({asset:o,asyncTokenLookup:!0,value:p}),a=h.chain;return d.match({chain:a,memo:i,targetAddress:n,tx:t}).returnType().with({chain:d.P.union(...s.EVMChains),tx:d.P.when(b)},async({chain:m,tx:w})=>{let A=await e(m),f=v.EVMTransactionSchema.parse(w);return A.sendTransaction({...f,feeOptionKey:c,value:v.parseTransactionValue(f.value)})}).with({chain:s.Chain.Bitcoin,memo:d.P.string,targetAddress:d.P.string},({chain:m,memo:w,targetAddress:A})=>{return e(m).transfer({assetValue:h,feeOptionKey:c,memo:w,recipient:A})}).otherwise(()=>{throw new s.SwapKitError("core_swap_invalid_params",{chain:a,memo:i,targetAddress:n,tx:t})})}}),name:"harbor",properties:{supportedSwapkitProviders:[s.ProviderName.HARBOR]}})});Q();
|
package/dist/src/harbor/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as v,c as t}from"../../chunk-atezkenb.js";import{ApproveMode as h,AssetValue as
|
|
1
|
+
import{b as v,c as t}from"../../chunk-atezkenb.js";import{ApproveMode as h,AssetValue as V,Chain as f,EVMChains as A,ProviderName as y,SwapKitError as M}from"@swapkit/helpers";import{EVMTransactionSchema as l,parseTransactionValue as R}from"@swapkit/helpers/api";import{match as S,P as r}from"ts-pattern";var T=(a)=>l.safeParse(a).success,g=v({methods:({getWallet:a})=>({approveAssetValue:t({approveMode:h.Approve,getWallet:a}),isAssetValueApproved:t({approveMode:h.CheckOnly,getWallet:a}),swap:async function({route:{tx:i,sellAsset:d,memo:p,targetAddress:c,sellAmount:P},feeOptionKey:u}){let m=await V.from({asset:d,asyncTokenLookup:!0,value:P}),w=m.chain;return S({chain:w,memo:p,targetAddress:c,tx:i}).returnType().with({chain:r.union(...A),tx:r.when(T)},async({chain:e,tx:o})=>{let s=await a(e),n=l.parse(o);return s.sendTransaction({...n,feeOptionKey:u,value:R(n.value)})}).with({chain:f.Bitcoin,memo:r.string,targetAddress:r.string},({chain:e,memo:o,targetAddress:s})=>{return a(e).transfer({assetValue:m,feeOptionKey:u,memo:o,recipient:s})}).otherwise(()=>{throw new M("core_swap_invalid_params",{chain:w,memo:p,targetAddress:c,tx:i})})}}),name:"harbor",properties:{supportedSwapkitProviders:[y.HARBOR]}});export{g as HarborPlugin};
|
package/dist/src/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var{defineProperty:un,getOwnPropertyNames:ar,getOwnPropertyDescriptor:sr}=Object,cr=Object.prototype.hasOwnProperty;function mr(n){return this[n]}var U=(n)=>{var i=(Yn??=new WeakMap).get(n),o;if(i)return i;if(i=un({},"__esModule",{value:!0}),n&&typeof n==="object"||typeof n==="function"){for(var t of ar(n))if(!cr.call(i,t))un(i,t,{get:mr.bind(n,t),enumerable:!(o=sr(n,t))||o.enumerable})}return Yn.set(n,i),i},Yn;var wr=(n)=>n;function Pr(n,i){this[n]=wr.bind(null,i)}var X=(n,i)=>{for(var o in i)un(n,o,{get:i[o],enumerable:!0,configurable:!0,set:Pr.bind(i,o)})};var Q=(n,i)=>()=>(n&&(i=n(n=0)),i);function ur(n){return typeof n==="string"&&/^0x[0-9a-fA-F]*$/.test(n)}function vr(n){return`0x${Array.from(n).map((i)=>i.toString(16).padStart(2,"0")).join("")}`}function yr(n){let i=On.base58.decode(n),o=i[0];if(o===void 0||i.length<35)throw new J.SwapKitError("core_transaction_failed","Invalid SS58 address format");if((o&128)!==0||o===46||o===47)throw new J.SwapKitError("core_transaction_failed","Invalid SS58 address format");let t=(o&64)!==0?2:1,p=i.slice(t,i.length-2),c=i.slice(i.length-2),s=new Uint8Array([...fr,...i.slice(0,i.length-2)]),m=$n.blake2b(s,{dkLen:64});if(c[0]!==m[0]||c[1]!==m[1])throw new J.SwapKitError("core_transaction_failed","Invalid SS58 checksum");return p}var $n,On,J,fr,_r,xr=(n)=>async()=>{let o=(await n.getApi()).tx.swapping?.registerAsBroker?.();if(!o)throw new J.SwapKitError("chainflip_broker_register");return n.signAndBroadcast({address:await n.getAddress(),tx:o})},hr=(n)=>async({feeAsset:i,recipient:o})=>{let t=i.chain===J.Chain.Polkadot,p=J.wrapWithThrow(()=>{return t?n.encodeAddress(n.decodeAddress(o),"hex"):o},"chainflip_broker_recipient_error"),s=(await n.getApi()).tx?.swapping?.withdraw?.(i.ticker.toLowerCase(),{[i.chain.toLowerCase()]:p});if(!s)throw new J.SwapKitError("chainflip_broker_withdraw");return new Promise((m)=>{n.signAndBroadcast({callback:(w)=>{if(!w.status?.isFinalized)return;let u=w.events.find((v)=>v.event.method==="WithdrawalRequested");if(!u)throw new J.SwapKitError("chainflip_channel_error","Could not find 'WithdrawalRequested' event");let{event:{data:{egressId:g,egressAsset:B,egressAmount:f,egressFee:_,destinationAddress:h}}}=u.toHuman();m({destinationAddress:h,egressAmount:f,egressAsset:B,egressFee:_,egressId:g})},tx:s})})},gr=(n)=>async({evmToolbox:i,stateChainAccount:o,assetValue:t})=>{let{chainflipGateway:p}=await import("@swapkit/helpers/contracts"),c=J.AssetValue.from({asset:"ETH.FLIP"});if(!t.eqAsset(c))throw new J.SwapKitError("chainflip_broker_fund_only_flip_supported");if(!n.validateAddress(o))throw new J.SwapKitError("chainflip_broker_fund_invalid_address");let s=ur(o)?o:vr(yr(o));return i.call({abi:p,contractAddress:"0x6995ab7c4d7f4b03f467cf4c8e920427d9621dbd",funcName:"fundStateChainAccount",funcParams:[s,t.getBaseValue("string")]})},Rr=(n)=>({fundStateChainAccount:gr(n),registerAsBroker:xr(n),withdrawFee:hr(n)});var dn=Q(()=>{$n=require("@noble/hashes/blake2.js"),On=require("@scure/base"),J=require("@swapkit/helpers"),fr=new TextEncoder().encode("SS58PRE");_r=new Map([["ARB.ETH","ArbEth"],["ARB.USDC-0XAF88D065E77C8CC2239327C5EDB3A432268E5831","ArbUsdc"],["BTC.BTC","Btc"],["DOT.DOT","Dot"],["ETH.ETH","Eth"],["ETH.FLIP-0X826180541412D574CF1336D22C0C0A287822678A","Flip"],["ETH.USDC-0XA0B86991C6218B36C1D19D4A2E9EB0CE3606EB48","Usdc"],["ETH.USDT-0XDAC17F958D2EE523A2206206994597C13D831EC7","Usdt"],["SOL.SOL","Sol"],["SOL.USDC-EPJFWDD5AUFQSSQEM2QN1XZYBAPC8G4WEGGKZWYTDT1V","SolUsdc"]])});function M({name:n,properties:i,methods:o}){function t(p){return{...o(p),...i}}return{[n]:t}}function $({approveMode:n,getWallet:i}){return function(t){return l.match(t).with({route:l.P.not(l.P.nullish),spenderAddress:l.P.string},async({route:p,spenderAddress:c})=>{let s=A.AssetValue.from({asset:p.sellAsset,value:p.sellAmount}),m=A.EVMChains.includes(s.chain);if(m&&s.isGasAsset||!m||s.isSynthetic)return n==="checkOnly"?!0:"approved";let u=await jn.SwapKitApi.getTokenApproval({routeId:p.routeId,spender:c});if(n==="checkOnly")return u.isApproved;if(!u.approvalTransaction)throw new A.SwapKitError("core_approve_asset_target_invalid");return i(s.chain).sendTransaction({data:u.approvalTransaction.data,from:u.approvalTransaction.from,to:u.approvalTransaction.to,value:BigInt(s.getBaseValue("bigint")||"0")})}).otherwise(({spenderAddress:p,assetValue:c})=>{let s=c.chain,m=A.EVMChains.includes(s);if(m&&c.isGasAsset||!m||c.isSynthetic)return Promise.resolve(n==="checkOnly"?!0:"approved");let u=i(s),g=n==="checkOnly"?u.isApproved:u.approve;if(!(c.address&&u.address))throw new A.SwapKitError("core_approve_asset_address_or_from_not_found");return g({amount:c.getBaseValue("bigint"),assetAddress:c.address,from:u.address,spenderAddress:p})})}}var A,jn,l;var z=Q(()=>{A=require("@swapkit/helpers"),jn=require("@swapkit/helpers/api"),l=require("ts-pattern")});var D,zn,Tr;var Nn=Q(()=>{z();D=require("@swapkit/helpers"),zn=require("@swapkit/helpers/api"),Tr=M({methods:({getWallet:n})=>({swap:async function(o){if(!(o?.route?.buyAsset&&o.route.meta.chainflip))throw new D.SwapKitError("core_swap_invalid_params",{...o});let{route:{buyAsset:t,sellAsset:p,sellAmount:c,meta:{chainflip:s}},maxBoostFeeBps:m=0,authorizations:w}=o;if(!(p&&t))throw new D.SwapKitError("core_swap_asset_not_recognized");let u=await D.AssetValue.from({asset:p,asyncTokenLookup:!0,value:c}),g=n(u.chain);if(!g||!("transfer"in g))throw new D.SwapKitError("core_wallet_connection_not_found");let{depositAddress:B}=await zn.SwapKitApi.getChainflipDepositChannel({...s,maxBoostFeeBps:m||s.maxBoostFeeBps});return await g.transfer({assetValue:u,isProgramDerivedAddress:!0,recipient:B,sender:g.address,...w?.length&&{authorizations:w}})}}),name:"chainflip",properties:{supportedSwapkitProviders:[D.ProviderName.CHAINFLIP,D.ProviderName.CHAINFLIP_STREAMING]}})});var vn={};X(vn,{assetIdentifierToChainflipTicker:()=>_r,ChainflipPlugin:()=>Tr,ChainflipBroker:()=>Rr});module.exports=U(vn);var yn=Q(()=>{dn();Nn()});var _n={};X(_n,{EVMPlugin:()=>kr});module.exports=U(_n);var G,kr;var xn=Q(()=>{z();G=require("@swapkit/helpers"),kr=M({methods:({getWallet:n})=>({approveAssetValue:$({approveMode:G.ApproveMode.Approve,getWallet:n}),isAssetValueApproved:$({approveMode:G.ApproveMode.CheckOnly,getWallet:n}),swap:async function({route:{tx:o,sellAsset:t},feeOptionKey:p}){let s=(await G.AssetValue.from({asset:t,asyncTokenLookup:!0})).chain,m=n(s);if(!(G.EVMChains.includes(s)&&o))throw new G.SwapKitError("core_swap_invalid_params");let{from:w,to:u,data:g,value:B}=o;return m.sendTransaction({data:g,feeOptionKey:p,from:w,to:u,value:BigInt(B)})}}),name:"evm",properties:{supportedSwapkitProviders:[G.ProviderName.OKX,G.ProviderName.ONEINCH,G.ProviderName.PANCAKESWAP,G.ProviderName.SUSHISWAP_V2,G.ProviderName.TRADERJOE_V2,G.ProviderName.UNISWAP_V2,G.ProviderName.UNISWAP_V3]}})});var Un,O,Xn,En;var Fn=Q(()=>{z();Un=require("@solana/web3.js"),O=require("@swapkit/helpers"),Xn=require("ts-pattern"),En=M({methods:({getWallet:n})=>({approveAssetValue:$({approveMode:O.ApproveMode.Approve,getWallet:n}),isAssetValueApproved:$({approveMode:O.ApproveMode.CheckOnly,getWallet:n}),swap:function({route:o}){let{sellAsset:t,sellAmount:p,targetAddress:c,tx:s}=o,m=O.AssetValue.from({asset:t,value:p});return Xn.match(m.chain).with(...O.EVMChains,(w)=>{let u=n(w),{from:g,to:B,data:f,value:_}=s;return u.sendTransaction({data:f,from:g,to:B,value:BigInt(_)})}).with(O.Chain.Solana,async(w)=>{let u=n(w),g=Un.VersionedTransaction.deserialize(Buffer.from(s,"base64")),B=await u.signTransaction(g);return u.broadcastTransaction(B)}).otherwise(async(w)=>{if(!c)throw new O.SwapKitError("plugin_garden_missing_data",{message:"Missing target address: "});return await n(w).transfer({assetValue:m,recipient:c})})}}),name:"garden",properties:{supportedSwapkitProviders:[O.ProviderName.GARDEN]}})});var hn={};X(hn,{GardenPlugin:()=>En});module.exports=U(hn);var gn=Q(()=>{Fn()});var Tn={};X(Tn,{HarborPlugin:()=>Br});module.exports=U(Tn);var d,Rn,C,Sr=(n)=>Rn.EVMTransactionSchema.safeParse(n).success,Br;var kn=Q(()=>{z();d=require("@swapkit/helpers"),Rn=require("@swapkit/helpers/api"),C=require("ts-pattern"),Br=M({methods:({getWallet:n})=>({approveAssetValue:$({approveMode:d.ApproveMode.Approve,getWallet:n}),isAssetValueApproved:$({approveMode:d.ApproveMode.CheckOnly,getWallet:n}),swap:async function({route:{tx:o,sellAsset:t,memo:p,targetAddress:c,sellAmount:s},feeOptionKey:m}){let w=await d.AssetValue.from({asset:t,asyncTokenLookup:!0,value:s}),u=w.chain;return C.match({chain:u,memo:p,targetAddress:c,tx:o}).returnType().with({chain:C.P.union(...d.EVMChains),tx:C.P.when(Sr)},async({chain:g,tx:B})=>{let f=await n(g),_=Rn.EVMTransactionSchema.parse(B);return f.sendTransaction({..._,feeOptionKey:m,value:BigInt(_.value)})}).with({chain:d.Chain.Bitcoin,memo:C.P.string,targetAddress:C.P.string},({chain:g,memo:B,targetAddress:f})=>{return n(g).transfer({assetValue:w,feeOptionKey:m,memo:B,recipient:f})}).otherwise(()=>{throw new d.SwapKitError("core_swap_invalid_params",{chain:u,memo:p,targetAddress:c,tx:o})})}}),name:"harbor",properties:{supportedSwapkitProviders:[d.ProviderName.HARBOR]}})});function on(n){if(n.length<Mr||n.length>Qr)return!1;return/^[a-z0-9]+(-[a-z0-9]+)*$/.test(n)}function An(n){let i=n.length,o;if(i<=2)o="50";else if(i<=3)o="20";else if(i<=4)o="5";else if(i<=5)o="1";else o="0.1";return Dn.parseNearAmount(o)||"0"}var Dn,Mr=2,Qr=64;var In=Q(()=>{Dn=require("@near-js/utils")});var x,nn,Kn=(n)=>n instanceof Error&&/UNKNOWN_ACCOUNT|does not exist while viewing/.test(n.message),Hr;var Cn=Q(()=>{z();In();x=require("@swapkit/helpers"),nn=require("ts-pattern"),Hr=M({methods:({getWallet:n})=>({nearNames:{async getInfo(i){let o=i.toLowerCase().replace(/\.near$/,"");if(!on(o))throw new x.SwapKitError("plugin_near_invalid_name");let t=`${o}.near`,p=n(x.Chain.Near);if(!p)throw new x.SwapKitError("plugin_near_no_connection");let c=await p.getNearProvider();try{let[s,m]=await Promise.all([c.query({account_id:t,finality:"final",request_type:"view_account"}),c.query({account_id:t,finality:"final",request_type:"view_access_key_list"})]);return{accountId:t,balance:s?.amount,codeHash:s?.code_hash,publicKeys:(m?.keys??[]).map((w)=>w.public_key),storageUsed:s?.storage_usage}}catch(s){if(Kn(s))return null;throw s}},async isAvailable(i){return await this.resolve(i)===null},async lookupNames(i){let o=n(x.Chain.Near);if(!o)throw new x.SwapKitError("plugin_near_no_connection");let t=await o.getNearProvider();try{return await t.query({account_id:i,finality:"final",request_type:"view_account"}),i.endsWith(".near")?[i]:[]}catch{return[]}},async register(i){let{name:o,publicKey:t}=i,p=o.toLowerCase().replace(/\.near$/,"");if(!on(p))throw new x.SwapKitError("plugin_near_invalid_name");let c=n(x.Chain.Near),s=t||await c.getPublicKey(),m=An(p);return c.callFunction({args:{new_account_id:`${p}.near`,new_public_key:s},contractId:"near",deposit:m,methodName:"create_account"})},async resolve(i){let o=i.toLowerCase().replace(/\.near$/,"");if(!on(o))throw new x.SwapKitError("plugin_near_invalid_name");let t=`${o}.near`,p=n(x.Chain.Near);if(!p)throw new x.SwapKitError("plugin_near_no_connection");try{return await(await p.getNearProvider()).query({account_id:t,finality:"final",request_type:"view_account"}),t}catch(c){if(Kn(c))return null;throw c}},transfer(i,o){let t=i.toLowerCase().replace(/\.near$/,"");if(!on(t))throw new x.SwapKitError("plugin_near_invalid_name");return n(x.Chain.Near).callFunction({args:{name:t,new_owner:o},contractId:"near",deposit:"1",methodName:"transfer"})}},async swap(i){let{route:{buyAsset:o,sellAsset:t,inboundAddress:p,sellAmount:c,meta:{near:s}}}=i;if(!(t&&o&&s?.sellAsset))throw new x.SwapKitError("core_swap_asset_not_recognized");if(!p)throw new x.SwapKitError("core_swap_invalid_params",{missing:["inboundAddress"]});let m=x.AssetValue.from({asset:t,value:c});return await nn.match({chain:m.chain,isGasAsset:m.isGasAsset}).with({chain:x.Chain.Near,isGasAsset:!1},async()=>{let w=n(x.Chain.Near);if(!w)throw new x.SwapKitError("core_wallet_connection_not_found");let u=await w.createContractFunctionCall({args:{amount:m.getBaseValue("string"),msg:JSON.stringify({receiver_id:p}),receiver_id:"intents.near"},attachedDeposit:"1",contractId:m.address,gas:"250000000000000",methodName:"ft_transfer_call",sender:w.address});return w.signAndBroadcastTransaction(u)}).otherwise(async()=>{let w=n(m.chain);if(!w)throw new x.SwapKitError("core_wallet_connection_not_found");return await w.transfer({assetValue:m,isProgramDerivedAddress:!0,recipient:p,sender:w.address})})},async swapWithUtxos(i){let{route:{buyAsset:o,sellAsset:t,inboundAddress:p,sellAmount:c,meta:{near:s}},utxos:m,feeRate:w,feeOptionKey:u,changeAddress:g}=i;if(!(t&&o&&s?.sellAsset))throw new x.SwapKitError("core_swap_asset_not_recognized");if(!p)throw new x.SwapKitError("core_swap_invalid_params",{missing:["inboundAddress"]});if(!m||m.length===0)throw new x.SwapKitError("core_swap_invalid_params",{missing:["utxos"]});let B=x.AssetValue.from({asset:t,value:c}),f=B.chain;if(!x.UTXOChains.includes(f))throw new x.SwapKitError("core_swap_invalid_params",{message:`swapWithUtxos only supports UTXO chains. Use swap() for ${f}`});let _=n(f);return await nn.match(_).with(nn.P.nullish,()=>{throw new x.SwapKitError("core_wallet_connection_not_found")}).with(nn.P.when((h)=>!("transferFromMultipleAddresses"in h)),()=>{throw new x.SwapKitError("core_wallet_connection_not_found",{message:"Wallet does not support multi-address transfers. Use a keystore or compatible hardware wallet."})}).otherwise((h)=>h.transferFromMultipleAddresses({assetValue:B,changeAddress:g,feeOptionKey:u||x.FeeOption.Fast,feeRate:w,recipient:p,utxos:m}))}}),name:"near",properties:{supportedSwapkitProviders:[x.ProviderName.NEAR]}})});var Sn={};X(Sn,{NearPlugin:()=>Hr});module.exports=U(Sn);var Bn=Q(()=>{Cn()});var Mn={};X(Mn,{RadixPlugin:()=>Zr});module.exports=U(Mn);var V,Zr;var Qn=Q(()=>{z();V=require("@swapkit/helpers"),Zr=M({methods:({getWallet:n})=>({swap:async function({route:{tx:o,sellAmount:t,sellAsset:p}}){let c=await V.AssetValue.from({asset:p,asyncTokenLookup:!0,value:t});if(V.Chain.Radix!==c.chain)throw new V.SwapKitError("core_swap_invalid_params");let s=n(c.chain);try{return s.signAndBroadcast({manifest:o})}catch(m){throw new V.SwapKitError("core_swap_invalid_params",m)}}}),name:"radix",properties:{supportedSwapkitProviders:[]}})});var I,Vn;var en=Q(()=>{z();I=require("@swapkit/helpers"),Vn=M({methods:({getWallet:n})=>({swap:async function({route:o}){let{VersionedTransaction:t}=await import("@solana/web3.js"),{tx:p,sellAsset:c}=o,m=(await I.AssetValue.from({asset:c})).chain;if(!(m===I.Chain.Solana&&p))throw new I.SwapKitError("core_swap_invalid_params");let w=n(m),u=t.deserialize(Buffer.from(p,"base64")),g=await w.signTransaction(u);return w.broadcastTransaction(g)}}),name:"solana",properties:{supportedSwapkitProviders:[I.ProviderName.JUPITER]}})});var Hn={};X(Hn,{SolanaPlugin:()=>Vn});module.exports=U(Hn);var Zn=Q(()=>{en()});function $r(n){return n.targetAddress||n.inboundAddress}var y,q,H,Gr=(n)=>q.EVMTransactionSchema.safeParse(n).success,Lr=(n)=>q.TronTransactionSchema.safeParse(n).success,Jr=(n)=>q.CosmosTransactionSchema.safeParse(n).success,qr=(n)=>q.StarknetTransactionSchema.safeParse(n).success,Yr=(n)=>q.TONTransactionSchema.safeParse(n).success,Wn;var bn=Q(()=>{z();y=require("@swapkit/helpers"),q=require("@swapkit/helpers/api"),H=require("ts-pattern");Wn=M({methods:({getWallet:n})=>({approveAssetValue:$({approveMode:y.ApproveMode.Approve,getWallet:n}),isAssetValueApproved:$({approveMode:y.ApproveMode.CheckOnly,getWallet:n}),swap:function({route:o,feeOptionKey:t}){let{memo:p,providers:c,sellAmount:s,sellAsset:m,tx:w}=o,u=y.AssetValue.from({asset:m,value:s}),g=u.chain,B=c.includes(y.ProviderName.FLASHNET);return H.match({chain:g,tx:w}).returnType().with({chain:H.P.union(y.Chain.Bitcoin,y.Chain.BitcoinCash,y.Chain.Dogecoin,y.Chain.Litecoin,y.Chain.Dash),tx:H.P.string},async({chain:f,tx:_})=>{let h=await n(f);if(f===y.Chain.Bitcoin&&B&&!h.supportsDirectSigning){let v=$r(o);if(!v)throw new y.SwapKitError("core_swap_invalid_params",{missing:["targetAddress"],provider:y.ProviderName.FLASHNET,routeId:o.routeId});return h.transfer({assetValue:u,feeOptionKey:t,memo:p,recipient:v})}try{let{Transaction:v}=await import("@swapkit/utxo-signer"),L=v.fromPSBT(Buffer.from(_,"base64"));return h.signAndBroadcastTransaction(L)}catch(v){throw new y.SwapKitError("plugin_swapkit_invalid_transaction",{chain:f,message:v instanceof Error?v.message:"Invalid PSBT format"})}}).with({chain:y.Chain.Zcash,tx:H.P.string},async({chain:f,tx:_})=>{let h=await n(f);try{let{PCZT:v,ZcashPSBT:L,ZcashTransaction:cn}=await import("@swapkit/utxo-signer"),Z=Buffer.from(_,"base64"),mn=Z.length>=5&&Z[0]===112&&Z[1]===99&&Z[2]===122&&Z[3]===116&&Z[4]===255,wn=Z.length>=5&&Z[0]===112&&Z[1]===115&&Z[2]===98&&Z[3]===116&&Z[4]===255,a=mn?v.fromBytes(Z):wn?L.fromBytes(Z):cn.fromBytes(Z);return h.signAndBroadcastTransaction(a)}catch(v){throw new y.SwapKitError("plugin_swapkit_invalid_transaction",{chain:f,message:v instanceof Error?v.message:"Invalid Zcash transaction format"})}}).with({chain:H.P.union(...y.EVMChains),tx:H.P.when(Gr)},async({chain:f,tx:_})=>{let h=await n(f),v=q.EVMTransactionSchema.parse(_);return h.sendTransaction({...v,value:BigInt(v.value||"0")})}).with({chain:y.Chain.Solana,tx:H.P.string},async({chain:f,tx:_})=>{let{VersionedTransaction:h}=await import("@solana/web3.js"),v=await n(f);try{let L=h.deserialize(Buffer.from(_,"base64"));return v.signAndBroadcastTransaction(L)}catch(L){throw new y.SwapKitError("plugin_swapkit_invalid_transaction",{chain:f,message:L instanceof Error?L.message:"Invalid Solana transaction format"})}}).with({chain:H.P.union(...y.CosmosChains),tx:H.P.when(Jr)},async({chain:f,tx:_})=>{let h=await n(f),v=q.CosmosTransactionSchema.parse(_);return h.signAndBroadcastTransaction(v)}).with({chain:y.Chain.Near,tx:H.P.string},async({chain:f,tx:_})=>{let{Transaction:h}=await import("@near-js/transactions"),v=await n(f);try{let L=h.decode(Buffer.from(_,"base64"));return v.signAndBroadcastTransaction(L)}catch(L){throw new y.SwapKitError("plugin_swapkit_invalid_transaction",{chain:f,message:L instanceof Error?L.message:"Invalid Near transaction format"})}}).with({chain:y.Chain.Ripple,tx:H.P.string},async({chain:f,tx:_})=>{let h=await n(f);try{let v=JSON.parse(_);return h.signAndBroadcastTransaction(v)}catch(v){throw new y.SwapKitError("plugin_swapkit_invalid_transaction",{chain:f,message:v instanceof Error?v.message:"Invalid Ripple transaction format"})}}).with({chain:y.Chain.Tron,tx:H.P.when(Lr)},async({chain:f,tx:_})=>{let h=await n(f),v=q.TronTransactionSchema.parse(_);return h.signAndBroadcastTransaction(v)}).with({chain:y.Chain.Sui,tx:H.P.string},async({chain:f,tx:_})=>{return(await n(f)).signAndBroadcastTransaction(_)}).with({chain:y.Chain.Cardano,tx:H.P.string},async({chain:f,tx:_})=>{return(await n(f)).signAndBroadcastTransaction(_)}).with({chain:y.Chain.Starknet,tx:H.P.when(qr)},async({chain:f,tx:_})=>{let h=await n(f),v=q.StarknetTransactionSchema.parse(_);return h.signAndBroadcastTransaction(v)}).with({chain:y.Chain.Ton,tx:H.P.when(Yr)},async({chain:f,tx:_})=>{let h=await n(f),v=q.TONTransactionSchema.parse(_);return h.signAndBroadcastTransaction(v)}).otherwise(()=>{throw new y.SwapKitError("plugin_swapkit_invalid_transaction",{chain:g,tx:w})})}}),name:"swapkit",properties:{supportedSwapkitProviders:[]}})});var Gn={};X(Gn,{SwapKitPlugin:()=>Wn});module.exports=U(Gn);var Ln=Q(()=>{bn()});function tn({chain:n,address:i}){if(!i)return!1;return n===ln.Chain.Bitcoin?!i.startsWith("bc1p"):!0}function nr({assetValue:n,from:i,memo:o="",...t}){return{...t,assetValue:n,from:i,memo:o}}var ln;var Jn=Q(()=>{ln=require("@swapkit/helpers")});function zr(n){return async function(o){if(n==="thorchain"&&o===r.Chain.THORChain||n==="mayachain"&&o===r.Chain.Maya)return{address:"",chain:o,dust_threshold:"0",gas_rate:"0",halted:!1,router:""};let p=(await qn.SwapKitApi.thornode.getInboundAddresses(n)).find((c)=>c.chain===o);if(!p)throw new r.SwapKitError("core_inbound_data_not_found");if(p?.halted)throw new r.SwapKitError("core_chain_halted");return p}}function ir(n){return function({getWallet:o}){let t=n===r.Chain.Maya?"mayachain":"thorchain",p=zr(t);async function c({assetValue:a,type:P="checkOnly"}){let R=(await p(a.chain)).router,T=a.chain,S=r.EVMChains.includes(T);if(S&&a.isGasAsset||!S||a.isSynthetic)return Promise.resolve(P==="checkOnly"?!0:"approved");let Y=o(T);if(!Y)throw new r.SwapKitError("core_wallet_connection_not_found");let N=P==="checkOnly"?Y.isApproved:Y.approve;if(!(a.address&&Y.address))throw new r.SwapKitError("core_approve_asset_address_or_from_not_found");return N({amount:a.getBaseValue("bigint"),assetAddress:a.address,from:Y.address,spenderAddress:R})}async function s({assetValue:a,recipient:P,router:R,...T}){let S=t==="thorchain"?dr:jr,{chain:k,symbol:Y,ticker:N}=a,e=o(k);if(!e)throw new r.SwapKitError("core_wallet_connection_not_found");let{address:W}=e;if(!tn({address:W,chain:k}))throw new r.SwapKitError("core_transaction_invalid_sender_address");let K=nr({assetValue:a,from:W,recipient:P,router:R,...T});try{let E=S?.[k];if(!E){let b=o(k);return n===k&&P===""?b.deposit(K):b.transfer(K)}let{getChecksumAddressFromAsset:F}=await import("@swapkit/toolboxes/evm");return o(k).call({abi:E,contractAddress:R||(await p(k)).router,funcName:"depositWithExpiry",funcParams:[P,F({chain:k,symbol:Y,ticker:N},k),a.getBaseValue("string"),K.memo,T.expiration||Number.parseInt(`${(Date.now()+900000)/1000}`,10)],txOverrides:{from:K.from,value:a.isGasAsset?a.getBaseValue("bigint"):void 0}})}catch(E){let F=typeof E==="string"?E.toLowerCase():E?.message.toLowerCase(),pn=F?.includes("insufficient funds"),b=F?.includes("gas"),fn=F?.includes("server"),pr=F?.includes("user rejected");throw new r.SwapKitError(pn?"core_transaction_deposit_insufficient_funds_error":b?"core_transaction_deposit_gas_error":fn?"core_transaction_deposit_server_error":pr?"core_transaction_user_rejected":"core_transaction_deposit_error",E)}}async function m({memo:a,assetValue:P}){let R=await qn.SwapKitApi.thornode.getMimirInfo(t);if(R.HALTCHAINGLOBAL>=1||R.HALTTHORCHAIN>=1)throw new r.SwapKitError("thorchain_chain_halted");return s({assetValue:P,memo:a,recipient:""})}async function w({assetValue:a,memo:P,feeOptionKey:R=r.FeeOption.Fast}){let{gas_rate:T="0",router:S,address:k}=await p(a.chain);return s({assetValue:a,feeRate:Number.parseInt(T,10)*Or[R],memo:P,recipient:k,router:S})}function u({assetValue:a}){return c({assetValue:a,type:r.ApproveMode.Approve})}function g({assetValue:a}){return c({assetValue:a,type:r.ApproveMode.CheckOnly})}function B({assetValue:a,...P}){return m({assetValue:a,memo:r.getMemoForNameRegister(P)})}function f({assetValue:a,payoutAddress:P,name:R,ownerAddress:T}){let S=P||o(a.chain)?.address;if(!S)throw new r.SwapKitError("thorchain_preferred_asset_payout_required");return m({assetValue:r.AssetValue.from({chain:n}),memo:r.getMemoForNamePreferredAssetRegister({asset:a.toString(),chain:a.chain,name:R,owner:T,payout:S})})}function _({type:a,assetValue:P,address:R}){let T=a===r.MemoType.UNBOND?r.getMemoForUnbond({address:R,unbondAmount:P.getBaseValue("number")}):r.getMemoForLeaveAndBond({address:R,type:a}),S=a===r.MemoType.BOND?P:r.getMinAmountByChain(n);return m({assetValue:S,memo:T})}async function h({baseAssetValue:a,assetValue:P}){if(a.lte(0)||P.lte(0))throw new r.SwapKitError("core_transaction_create_liquidity_invalid_params");let R=o(P.chain).address,T=o(n).address,S=await r.wrapWithThrow(()=>{return w({assetValue:a,memo:r.getMemoForDeposit({...P,address:R})})},"core_transaction_create_liquidity_base_error");return{assetTx:await r.wrapWithThrow(()=>{return w({assetValue:P,memo:r.getMemoForDeposit({...P,address:T})})},"core_transaction_create_liquidity_asset_error"),baseAssetTx:S}}function v({assetValue:a,poolAddress:P,address:R,symmetric:T}){if(T&&!R)throw new r.SwapKitError("core_transaction_add_liquidity_invalid_params");let S=r.getMemoForDeposit({address:T?R:"",chain:P.split(".")[0],symbol:P.split(".")[1]});return w({assetValue:a,memo:S})}async function L({baseAssetValue:a,assetValue:P,baseAssetAddr:R,assetAddr:T,isPendingSymmAsset:S,mode:k="sym"}){let{chain:Y,symbol:N}=P,e=k==="sym",W=a?.gt(0)&&(e||k==="baseAsset"),Pn=P?.gt(0)&&(e||k==="asset"),K=S||W,E=o(n).address,F=K?R||E:"",pn=e||k==="asset"?T||o(Y).address:"";if(!(W||Pn))throw new r.SwapKitError("core_transaction_add_liquidity_invalid_params");if(K&&!F)throw new r.SwapKitError("core_transaction_add_liquidity_base_address");let b=W&&a?await r.wrapWithThrow(()=>{return w({assetValue:a,memo:r.getMemoForDeposit({address:pn,chain:Y,symbol:N})})},"core_transaction_add_liquidity_base_error"):void 0;return{assetTx:Pn&&P?await r.wrapWithThrow(()=>{return w({assetValue:P,memo:r.getMemoForDeposit({address:F,chain:Y,symbol:N})})},"core_transaction_add_liquidity_asset_error"):void 0,baseAssetTx:b}}function cn({memo:a,assetValue:P,percent:R,from:T,to:S}){let k=S==="baseAsset"&&T!=="baseAsset"?r.AssetValue.from({chain:n}):T==="sym"&&S==="sym"||T==="baseAsset"||T==="asset"?void 0:P,Y=r.getMinAmountByChain(T==="asset"?P.chain:n),N=a||r.getMemoForWithdraw({basisPoints:Math.min(1e4,Math.round(R*100)),chain:P.chain,symbol:P.symbol,targetAsset:k?.toString(),ticker:P.ticker});return w({assetValue:Y,memo:N})}async function Z({chain:a,thorAddress:P}){let R=await p(a),T=R.dust_threshold,{baseDecimal:S}=r.getChainConfig(a),{baseDecimal:k}=r.getChainConfig(r.Chain.THORChain);return s({assetValue:r.AssetValue.from({chain:a,fromBaseDecimal:Math.min(S,k),value:a!==r.Chain.THORChain?T:0}),memo:r.getMemoForTcyClaim(r.MemoType.CLAIM_TCY,{address:P}),recipient:R.address,router:R.router})}function mn(a){if(a.type==="stake"){if(a.assetValue.toString()!=="THOR.TCY")throw new r.SwapKitError("thorchain_asset_is_not_tcy");return s({assetValue:a.assetValue,memo:r.getMemoForTcyStake(r.MemoType.STAKE_TCY,{}),recipient:""})}return s({assetValue:r.AssetValue.from({chain:r.Chain.THORChain}),memo:r.getMemoForTcyStake(r.MemoType.UNSTAKE_TCY,{unstakeBps:a.unstakeBps}),recipient:""})}async function wn({feeOptionKey:a,route:P}){let{memo:R,expiration:T,targetAddress:S}=P,k=await r.AssetValue.from({asset:P.sellAsset,asyncTokenLookup:!0,value:P.sellAmount});if(!k)throw new r.SwapKitError("core_swap_asset_not_recognized");if(!tn({address:P.destinationAddress,chain:r.AssetValue.from({asset:P.buyAsset}).chain}))throw new r.SwapKitError("core_transaction_invalid_recipient_address");let{address:N}=await p(k.chain);return s({assetValue:k,expiration:Number(T),feeOptionKey:a,memo:R,recipient:N,router:S})}return{addLiquidity:L,addLiquidityPart:v,approveAssetValue:u,claimTcy:Z,createLiquidity:h,deposit:s,depositToPool:w,getInboundDataByChain:p,isAssetValueApproved:g,nodeAction:_,registerName:B,registerPreferredAsset:f,stakeTcyAction:mn,swap:wn,withdraw:cn}}}var r,qn,j,Or,dr,jr,rr,or;var tr=Q(()=>{z();Jn();r=require("@swapkit/helpers"),qn=require("@swapkit/helpers/api"),j=require("@swapkit/helpers/contracts"),Or={[r.FeeOption.Average]:1.2,[r.FeeOption.Fast]:1.5,[r.FeeOption.Fastest]:2},dr={[r.Chain.Avalanche]:j.TCAvalancheDepositABI,[r.Chain.Base]:j.TCBaseDepositABI,[r.Chain.BinanceSmartChain]:j.TCBscDepositABI,[r.Chain.Ethereum]:j.TCEthereumVaultAbi},jr={[r.Chain.Arbitrum]:j.MayaArbitrumVaultAbi,[r.Chain.Ethereum]:j.MayaEthereumVaultAbi},rr=M({methods:ir(r.Chain.THORChain),name:"thorchain",properties:{supportedSwapkitProviders:[r.ProviderName.THORCHAIN,r.ProviderName.THORCHAIN_STREAMING]}}),or=M({methods:ir(r.Chain.Maya),name:"mayachain",properties:{supportedSwapkitProviders:[r.ProviderName.MAYACHAIN,r.ProviderName.MAYACHAIN_STREAMING]}})});var an={};X(an,{validateAddressType:()=>tn,ThorchainPlugin:()=>rr,MayachainPlugin:()=>or});module.exports=U(an);var sn=Q(()=>{tr();Jn()});var Xr={};X(Xr,{loadPlugin:()=>Ur,loadDefaultPlugins:()=>Nr,createPlugin:()=>M,approve:()=>$});module.exports=U(Xr);z();async function Nr(){let[{ChainflipPlugin:n},{EVMPlugin:i},{GardenPlugin:o},{HarborPlugin:t},{NearPlugin:p},{RadixPlugin:c},{SolanaPlugin:s},{SwapKitPlugin:m},{MayachainPlugin:w,ThorchainPlugin:u}]=await Promise.all([Promise.resolve().then(() => (yn(),vn)),Promise.resolve().then(() => (xn(),_n)),Promise.resolve().then(() => (gn(),hn)),Promise.resolve().then(() => (kn(),Tn)),Promise.resolve().then(() => (Bn(),Sn)),Promise.resolve().then(() => (Qn(),Mn)),Promise.resolve().then(() => (Zn(),Hn)),Promise.resolve().then(() => (Ln(),Gn)),Promise.resolve().then(() => (sn(),an))]);return{...n,...i,...w,...u,...c,...s,...p,...o,...m,...t}}async function Ur(n){let{match:i}=await import("ts-pattern");return await i(n).with("chainflip",async()=>{let{ChainflipPlugin:t}=await Promise.resolve().then(() => (yn(),vn));return t}).with("thorchain",async()=>{let{ThorchainPlugin:t}=await Promise.resolve().then(() => (sn(),an));return t}).with("mayachain",async()=>{let{MayachainPlugin:t}=await Promise.resolve().then(() => (sn(),an));return t}).with("radix",async()=>{let{RadixPlugin:t}=await Promise.resolve().then(() => (Qn(),Mn));return t}).with("evm",async()=>{let{EVMPlugin:t}=await Promise.resolve().then(() => (xn(),_n));return t}).with("garden",async()=>{let{GardenPlugin:t}=await Promise.resolve().then(() => (gn(),hn));return t}).with("solana",async()=>{let{SolanaPlugin:t}=await Promise.resolve().then(() => (Zn(),Hn));return t}).with("swapkit",async()=>{let{SwapKitPlugin:t}=await Promise.resolve().then(() => (Ln(),Gn));return t}).with("near",async()=>{let{NearPlugin:t}=await Promise.resolve().then(() => (Bn(),Sn));return t}).with("harbor",async()=>{let{HarborPlugin:t}=await Promise.resolve().then(() => (kn(),Tn));return t}).exhaustive()}
|
|
1
|
+
var{defineProperty:kp,getOwnPropertyNames:_n,getOwnPropertyDescriptor:Rn}=Object,yn=Object.prototype.hasOwnProperty;function wn(p){return this[p]}var T=(p)=>{var f=(Fp??=new WeakMap).get(p),P;if(f)return f;if(f=kp({},"__esModule",{value:!0}),p&&typeof p==="object"||typeof p==="function"){for(var o of _n(p))if(!yn.call(f,o))kp(f,o,{get:wn.bind(p,o),enumerable:!(P=Rn(p,o))||P.enumerable})}return Fp.set(p,f),f},Fp;var Qn=(p)=>p;function kn(p,f){this[p]=Qn.bind(null,f)}var V=(p,f)=>{for(var P in f)kp(p,P,{get:f[P],enumerable:!0,configurable:!0,set:kn.bind(f,P)})};var z=(p,f)=>()=>(p&&(f=p(p=0)),f);function un(p){return typeof p==="string"&&/^0x[0-9a-fA-F]*$/.test(p)}function Gn(p){return`0x${Array.from(p).map((f)=>f.toString(16).padStart(2,"0")).join("")}`}function qn(p){let f=Sp.base58.decode(p),P=f[0];if(P===void 0||f.length<35)throw new F.SwapKitError("core_transaction_failed","Invalid SS58 address format");if((P&128)!==0||P===46||P===47)throw new F.SwapKitError("core_transaction_failed","Invalid SS58 address format");let o=(P&64)!==0?2:1,m=f.slice(o,f.length-2),_=f.slice(f.length-2),r=new Uint8Array([...Hn,...f.slice(0,f.length-2)]),R=Dp.blake2b(r,{dkLen:64});if(_[0]!==R[0]||_[1]!==R[1])throw new F.SwapKitError("core_transaction_failed","Invalid SS58 checksum");return m}var Dp,Sp,F,Hn,Jn,Ln=(p)=>async()=>{let P=(await p.getApi()).tx.swapping?.registerAsBroker?.();if(!P)throw new F.SwapKitError("chainflip_broker_register");return p.signAndBroadcast({address:await p.getAddress(),tx:P})},Yn=(p)=>async({feeAsset:f,recipient:P})=>{let o=f.chain===F.Chain.Polkadot,m=F.wrapWithThrow(()=>{return o?p.encodeAddress(p.decodeAddress(P),"hex"):P},"chainflip_broker_recipient_error"),r=(await p.getApi()).tx?.swapping?.withdraw?.(f.ticker.toLowerCase(),{[f.chain.toLowerCase()]:m});if(!r)throw new F.SwapKitError("chainflip_broker_withdraw");return new Promise((R)=>{p.signAndBroadcast({callback:(w)=>{if(!w.status?.isFinalized)return;let k=w.events.find((u)=>u.event.method==="WithdrawalRequested");if(!k)throw new F.SwapKitError("chainflip_channel_error","Could not find 'WithdrawalRequested' event");let{event:{data:{egressId:J,egressAsset:Z,egressAmount:y,egressFee:H,destinationAddress:q}}}=k.toHuman();R({destinationAddress:q,egressAmount:y,egressAsset:Z,egressFee:H,egressId:J})},tx:r})})},$n=(p)=>async({evmToolbox:f,stateChainAccount:P,assetValue:o})=>{let{chainflipGateway:m}=await import("@swapkit/helpers/contracts"),_=F.AssetValue.from({asset:"ETH.FLIP"});if(!o.eqAsset(_))throw new F.SwapKitError("chainflip_broker_fund_only_flip_supported");if(!p.validateAddress(P))throw new F.SwapKitError("chainflip_broker_fund_invalid_address");let r=un(P)?P:Gn(qn(P));return f.call({abi:m,contractAddress:"0x6995ab7c4d7f4b03f467cf4c8e920427d9621dbd",funcName:"fundStateChainAccount",funcParams:[r,o.getBaseValue("string")]})},Mn=(p)=>({fundStateChainAccount:$n(p),registerAsBroker:Ln(p),withdrawFee:Yn(p)});var Np=z(()=>{Dp=require("@noble/hashes/blake2.js"),Sp=require("@scure/base"),F=require("@swapkit/helpers"),Hn=new TextEncoder().encode("SS58PRE");Jn=new Map([["ARB.ETH","ArbEth"],["ARB.USDC-0XAF88D065E77C8CC2239327C5EDB3A432268E5831","ArbUsdc"],["BTC.BTC","Btc"],["DOT.DOT","Dot"],["ETH.ETH","Eth"],["ETH.FLIP-0X826180541412D574CF1336D22C0C0A287822678A","Flip"],["ETH.USDC-0XA0B86991C6218B36C1D19D4A2E9EB0CE3606EB48","Usdc"],["ETH.USDT-0XDAC17F958D2EE523A2206206994597C13D831EC7","Usdt"],["SOL.SOL","Sol"],["SOL.USDC-EPJFWDD5AUFQSSQEM2QN1XZYBAPC8G4WEGGKZWYTDT1V","SolUsdc"]])});function j({name:p,properties:f,methods:P}){function o(m){return{...P(m),...f}}return{[p]:o}}function S({approveMode:p,getWallet:f}){return function(o){return e.match(o).with({route:e.P.not(e.P.nullish),spenderAddress:e.P.string},async({route:m,spenderAddress:_})=>{let r=W.AssetValue.from({asset:m.sellAsset,value:m.sellAmount}),R=W.EVMChains.includes(r.chain);if(R&&r.isGasAsset||!R||r.isSynthetic)return p==="checkOnly"?!0:"approved";let k=await Ip.SwapKitApi.getTokenApproval({routeId:m.routeId,spender:_});if(p==="checkOnly")return k.isApproved;if(!k.approvalTransaction)throw new W.SwapKitError("core_approve_asset_target_invalid");return f(r.chain).sendTransaction({data:k.approvalTransaction.data,from:k.approvalTransaction.from,to:k.approvalTransaction.to,value:BigInt(r.getBaseValue("bigint")||"0")})}).otherwise(({spenderAddress:m,assetValue:_})=>{let r=_.chain,R=W.EVMChains.includes(r);if(R&&_.isGasAsset||!R||_.isSynthetic)return Promise.resolve(p==="checkOnly"?!0:"approved");let k=f(r),J=p==="checkOnly"?k.isApproved:k.approve;if(!(_.address&&k.address))throw new W.SwapKitError("core_approve_asset_address_or_from_not_found");return J({amount:_.getBaseValue("bigint"),assetAddress:_.address,from:k.address,spenderAddress:m})})}}var W,Ip,e;var K=z(()=>{W=require("@swapkit/helpers"),Ip=require("@swapkit/helpers/api"),e=require("ts-pattern")});var C,gp,Zn;var Kp=z(()=>{K();C=require("@swapkit/helpers"),gp=require("@swapkit/helpers/api"),Zn=j({methods:({getWallet:p})=>({swap:async function(P){if(!(P?.route?.buyAsset&&P.route.meta.chainflip))throw new C.SwapKitError("core_swap_invalid_params",{...P});let{route:{buyAsset:o,sellAsset:m,sellAmount:_,meta:{chainflip:r}},maxBoostFeeBps:R=0,authorizations:w}=P;if(!(m&&o))throw new C.SwapKitError("core_swap_asset_not_recognized");let k=await C.AssetValue.from({asset:m,asyncTokenLookup:!0,value:_}),J=p(k.chain);if(!J||!("transfer"in J))throw new C.SwapKitError("core_wallet_connection_not_found");let{depositAddress:Z}=await gp.SwapKitApi.getChainflipDepositChannel({...r,maxBoostFeeBps:R||r.maxBoostFeeBps});return await J.transfer({assetValue:k,isProgramDerivedAddress:!0,recipient:Z,sender:J.address,...w?.length&&{authorizations:w}})}}),name:"chainflip",properties:{supportedSwapkitProviders:[C.ProviderName.CHAINFLIP,C.ProviderName.CHAINFLIP_STREAMING]}})});var ip={};V(ip,{assetIdentifierToChainflipTicker:()=>Jn,ChainflipPlugin:()=>Zn,ChainflipBroker:()=>Mn});module.exports=T(ip);var Hp=z(()=>{Np();Kp()});var up={};V(up,{EVMPlugin:()=>jn});module.exports=T(up);var O,Ep,jn;var Gp=z(()=>{K();O=require("@swapkit/helpers"),Ep=require("@swapkit/helpers/api"),jn=j({methods:({getWallet:p})=>({approveAssetValue:S({approveMode:O.ApproveMode.Approve,getWallet:p}),isAssetValueApproved:S({approveMode:O.ApproveMode.CheckOnly,getWallet:p}),swap:async function({route:{tx:P,sellAsset:o},feeOptionKey:m}){let r=(await O.AssetValue.from({asset:o,asyncTokenLookup:!0})).chain,R=p(r);if(!(O.EVMChains.includes(r)&&P))throw new O.SwapKitError("core_swap_invalid_params");let{from:w,to:k,data:J,value:Z}=P;return R.sendTransaction({data:J,feeOptionKey:m,from:w,to:k,value:Ep.parseTransactionValue(Z)})}}),name:"evm",properties:{supportedSwapkitProviders:[O.ProviderName.OKX,O.ProviderName.ONEINCH,O.ProviderName.PANCAKESWAP,O.ProviderName.SUSHISWAP_V2,O.ProviderName.TRADERJOE_V2,O.ProviderName.UNISWAP_V2,O.ProviderName.UNISWAP_V3]}})});var Tp,N,Vp,cp,Ap;var Cp=z(()=>{K();Tp=require("@solana/web3.js"),N=require("@swapkit/helpers"),Vp=require("@swapkit/helpers/api"),cp=require("ts-pattern"),Ap=j({methods:({getWallet:p})=>({approveAssetValue:S({approveMode:N.ApproveMode.Approve,getWallet:p}),isAssetValueApproved:S({approveMode:N.ApproveMode.CheckOnly,getWallet:p}),swap:function({route:P}){let{sellAsset:o,sellAmount:m,targetAddress:_,tx:r}=P,R=N.AssetValue.from({asset:o,value:m});return cp.match(R.chain).with(...N.EVMChains,(w)=>{let k=p(w),{from:J,to:Z,data:y,value:H}=r;return k.sendTransaction({data:y,from:J,to:Z,value:Vp.parseTransactionValue(H)})}).with(N.Chain.Solana,async(w)=>{let k=p(w),J=Tp.VersionedTransaction.deserialize(Buffer.from(r,"base64")),Z=await k.signTransaction(J);return k.broadcastTransaction(Z)}).otherwise(async(w)=>{if(!_)throw new N.SwapKitError("plugin_garden_missing_data",{message:"Missing target address: "});return await p(w).transfer({assetValue:R,recipient:_})})}}),name:"garden",properties:{supportedSwapkitProviders:[N.ProviderName.GARDEN]}})});var qp={};V(qp,{GardenPlugin:()=>Ap});module.exports=T(qp);var Jp=z(()=>{Cp()});var Lp={};V(Lp,{HarborPlugin:()=>Un});module.exports=T(Lp);var I,Pp,h,zn=(p)=>Pp.EVMTransactionSchema.safeParse(p).success,Un;var Yp=z(()=>{K();I=require("@swapkit/helpers"),Pp=require("@swapkit/helpers/api"),h=require("ts-pattern"),Un=j({methods:({getWallet:p})=>({approveAssetValue:S({approveMode:I.ApproveMode.Approve,getWallet:p}),isAssetValueApproved:S({approveMode:I.ApproveMode.CheckOnly,getWallet:p}),swap:async function({route:{tx:P,sellAsset:o,memo:m,targetAddress:_,sellAmount:r},feeOptionKey:R}){let w=await I.AssetValue.from({asset:o,asyncTokenLookup:!0,value:r}),k=w.chain;return h.match({chain:k,memo:m,targetAddress:_,tx:P}).returnType().with({chain:h.P.union(...I.EVMChains),tx:h.P.when(zn)},async({chain:J,tx:Z})=>{let y=await p(J),H=Pp.EVMTransactionSchema.parse(Z);return y.sendTransaction({...H,feeOptionKey:R,value:Pp.parseTransactionValue(H.value)})}).with({chain:I.Chain.Bitcoin,memo:h.P.string,targetAddress:h.P.string},({chain:J,memo:Z,targetAddress:y})=>{return p(J).transfer({assetValue:w,feeOptionKey:R,memo:Z,recipient:y})}).otherwise(()=>{throw new I.SwapKitError("core_swap_invalid_params",{chain:k,memo:m,targetAddress:_,tx:P})})}}),name:"harbor",properties:{supportedSwapkitProviders:[I.ProviderName.HARBOR]}})});function fp(p){if(p.length<Xn||p.length>Bn)return!1;return/^[a-z0-9]+(-[a-z0-9]+)*$/.test(p)}function dp(p){let f=p.length,P;if(f<=2)P="50";else if(f<=3)P="20";else if(f<=4)P="5";else if(f<=5)P="1";else P="0.1";return Wp.parseNearAmount(P)||"0"}var Wp,Xn=2,Bn=64;var bp=z(()=>{Wp=require("@near-js/utils")});var G,pp,hp=(p)=>p instanceof Error&&/UNKNOWN_ACCOUNT|does not exist while viewing/.test(p.message),On;var sp=z(()=>{K();bp();G=require("@swapkit/helpers"),pp=require("ts-pattern"),On=j({methods:({getWallet:p})=>({nearNames:{async getInfo(f){let P=f.toLowerCase().replace(/\.near$/,"");if(!fp(P))throw new G.SwapKitError("plugin_near_invalid_name");let o=`${P}.near`,m=p(G.Chain.Near);if(!m)throw new G.SwapKitError("plugin_near_no_connection");let _=await m.getNearProvider();try{let[r,R]=await Promise.all([_.query({account_id:o,finality:"final",request_type:"view_account"}),_.query({account_id:o,finality:"final",request_type:"view_access_key_list"})]);return{accountId:o,balance:r?.amount,codeHash:r?.code_hash,publicKeys:(R?.keys??[]).map((w)=>w.public_key),storageUsed:r?.storage_usage}}catch(r){if(hp(r))return null;throw r}},async isAvailable(f){return await this.resolve(f)===null},async lookupNames(f){let P=p(G.Chain.Near);if(!P)throw new G.SwapKitError("plugin_near_no_connection");let o=await P.getNearProvider();try{return await o.query({account_id:f,finality:"final",request_type:"view_account"}),f.endsWith(".near")?[f]:[]}catch{return[]}},async register(f){let{name:P,publicKey:o}=f,m=P.toLowerCase().replace(/\.near$/,"");if(!fp(m))throw new G.SwapKitError("plugin_near_invalid_name");let _=p(G.Chain.Near),r=o||await _.getPublicKey(),R=dp(m);return _.callFunction({args:{new_account_id:`${m}.near`,new_public_key:r},contractId:"near",deposit:R,methodName:"create_account"})},async resolve(f){let P=f.toLowerCase().replace(/\.near$/,"");if(!fp(P))throw new G.SwapKitError("plugin_near_invalid_name");let o=`${P}.near`,m=p(G.Chain.Near);if(!m)throw new G.SwapKitError("plugin_near_no_connection");try{return await(await m.getNearProvider()).query({account_id:o,finality:"final",request_type:"view_account"}),o}catch(_){if(hp(_))return null;throw _}},transfer(f,P){let o=f.toLowerCase().replace(/\.near$/,"");if(!fp(o))throw new G.SwapKitError("plugin_near_invalid_name");return p(G.Chain.Near).callFunction({args:{name:o,new_owner:P},contractId:"near",deposit:"1",methodName:"transfer"})}},async swap(f){let{route:{buyAsset:P,sellAsset:o,inboundAddress:m,sellAmount:_,meta:{near:r}}}=f;if(!(o&&P&&r?.sellAsset))throw new G.SwapKitError("core_swap_asset_not_recognized");if(!m)throw new G.SwapKitError("core_swap_invalid_params",{missing:["inboundAddress"]});let R=G.AssetValue.from({asset:o,value:_});return await pp.match({chain:R.chain,isGasAsset:R.isGasAsset}).with({chain:G.Chain.Near,isGasAsset:!1},async()=>{let w=p(G.Chain.Near);if(!w)throw new G.SwapKitError("core_wallet_connection_not_found");let k=await w.createContractFunctionCall({args:{amount:R.getBaseValue("string"),msg:JSON.stringify({receiver_id:m}),receiver_id:"intents.near"},attachedDeposit:"1",contractId:R.address,gas:"250000000000000",methodName:"ft_transfer_call",sender:w.address});return w.signAndBroadcastTransaction(k)}).otherwise(async()=>{let w=p(R.chain);if(!w)throw new G.SwapKitError("core_wallet_connection_not_found");return await w.transfer({assetValue:R,isProgramDerivedAddress:!0,recipient:m,sender:w.address})})},async swapWithUtxos(f){let{route:{buyAsset:P,sellAsset:o,inboundAddress:m,sellAmount:_,meta:{near:r}},utxos:R,feeRate:w,feeOptionKey:k,changeAddress:J}=f;if(!(o&&P&&r?.sellAsset))throw new G.SwapKitError("core_swap_asset_not_recognized");if(!m)throw new G.SwapKitError("core_swap_invalid_params",{missing:["inboundAddress"]});if(!R||R.length===0)throw new G.SwapKitError("core_swap_invalid_params",{missing:["utxos"]});let Z=G.AssetValue.from({asset:o,value:_}),y=Z.chain;if(!G.UTXOChains.includes(y))throw new G.SwapKitError("core_swap_invalid_params",{message:`swapWithUtxos only supports UTXO chains. Use swap() for ${y}`});let H=p(y);return await pp.match(H).with(pp.P.nullish,()=>{throw new G.SwapKitError("core_wallet_connection_not_found")}).with(pp.P.when((q)=>!("transferFromMultipleAddresses"in q)),()=>{throw new G.SwapKitError("core_wallet_connection_not_found",{message:"Wallet does not support multi-address transfers. Use a keystore or compatible hardware wallet."})}).otherwise((q)=>q.transferFromMultipleAddresses({assetValue:Z,changeAddress:J,feeOptionKey:k||G.FeeOption.Fast,feeRate:w,recipient:m,utxos:R}))}}),name:"near",properties:{supportedSwapkitProviders:[G.ProviderName.NEAR]}})});var $p={};V($p,{NearPlugin:()=>On});module.exports=T($p);var Mp=z(()=>{sp()});var Zp={};V(Zp,{RadixPlugin:()=>xn});module.exports=T(Zp);var s,xn;var jp=z(()=>{K();s=require("@swapkit/helpers"),xn=j({methods:({getWallet:p})=>({swap:async function({route:{tx:P,sellAmount:o,sellAsset:m}}){let _=await s.AssetValue.from({asset:m,asyncTokenLookup:!0,value:o});if(s.Chain.Radix!==_.chain)throw new s.SwapKitError("core_swap_invalid_params");let r=p(_.chain);try{return r.signAndBroadcast({manifest:P})}catch(R){throw new s.SwapKitError("core_swap_invalid_params",R)}}}),name:"radix",properties:{supportedSwapkitProviders:[]}})});var d,tp;var ap=z(()=>{K();d=require("@swapkit/helpers"),tp=j({methods:({getWallet:p})=>({swap:async function({route:P}){let{VersionedTransaction:o}=await import("@solana/web3.js"),{tx:m,sellAsset:_}=P,R=(await d.AssetValue.from({asset:_})).chain;if(!(R===d.Chain.Solana&&m))throw new d.SwapKitError("core_swap_invalid_params");let w=p(R),k=o.deserialize(Buffer.from(m,"base64")),J=await w.signTransaction(k);return w.broadcastTransaction(J)}}),name:"solana",properties:{supportedSwapkitProviders:[d.ProviderName.JUPITER]}})});var zp={};V(zp,{SolanaPlugin:()=>tp});module.exports=T(zp);var Up=z(()=>{ap()});function gn(p){return X.TONTransactionMessageSchema.safeParse(p).success}function Kn(p){return p.targetAddress||p.inboundAddress}var i,X,U,Fn=(p)=>X.EVMTransactionSchema.safeParse(p).success,Dn=(p)=>X.TronTransactionSchema.safeParse(p).success,Sn=(p)=>X.CosmosTransactionSchema.safeParse(p).success,Nn=(p)=>X.StarknetTransactionSchema.safeParse(p).success,In=(p)=>X.TONTransactionSchema.safeParse(p).success,lp=(p)=>Array.isArray(p)&&p.every(gn),ep;var pn=z(()=>{K();i=require("@swapkit/helpers"),X=require("@swapkit/helpers/api"),U=require("ts-pattern");ep=j({methods:({getWallet:p})=>({approveAssetValue:S({approveMode:i.ApproveMode.Approve,getWallet:p}),isAssetValueApproved:S({approveMode:i.ApproveMode.CheckOnly,getWallet:p}),swap:function({route:P,feeOptionKey:o}){let{memo:m,providers:_,sellAmount:r,sellAsset:R,tx:w}=P,k=i.AssetValue.from({asset:R,value:r}),J=k.chain,Z=_.includes(i.ProviderName.FLASHNET);return U.match({chain:J,tx:w}).returnType().with({chain:U.P.union(i.Chain.Bitcoin,i.Chain.BitcoinCash,i.Chain.Dogecoin,i.Chain.Litecoin,i.Chain.Dash),tx:U.P.string},async({chain:y,tx:H})=>{let q=await p(y);if(y===i.Chain.Bitcoin&&Z&&!q.supportsDirectSigning){let u=Kn(P);if(!u)throw new i.SwapKitError("core_swap_invalid_params",{missing:["targetAddress"],provider:i.ProviderName.FLASHNET,routeId:P.routeId});return q.transfer({assetValue:k,feeOptionKey:o,memo:m,recipient:u})}try{let{Transaction:u}=await import("@swapkit/utxo-signer"),x=u.fromPSBT(Buffer.from(H,"base64"));return q.signAndBroadcastTransaction(x)}catch(u){throw new i.SwapKitError("plugin_swapkit_invalid_transaction",{chain:y,message:u instanceof Error?u.message:"Invalid PSBT format"})}}).with({chain:i.Chain.Zcash,tx:U.P.string},async({chain:y,tx:H})=>{let q=await p(y);try{let{PCZT:u,ZcashPSBT:x,ZcashTransaction:_p}=await import("@swapkit/utxo-signer"),B=Buffer.from(H,"base64"),Rp=B.length>=5&&B[0]===112&&B[1]===99&&B[2]===122&&B[3]===116&&B[4]===255,yp=B.length>=5&&B[0]===112&&B[1]===115&&B[2]===98&&B[3]===116&&B[4]===255,v=Rp?u.fromBytes(B):yp?x.fromBytes(B):_p.fromBytes(B);return q.signAndBroadcastTransaction(v)}catch(u){throw new i.SwapKitError("plugin_swapkit_invalid_transaction",{chain:y,message:u instanceof Error?u.message:"Invalid Zcash transaction format"})}}).with({chain:U.P.union(...i.EVMChains),tx:U.P.when(Fn)},async({chain:y,tx:H})=>{let q=await p(y),u=X.EVMTransactionSchema.parse(H);return q.sendTransaction({...u,value:X.parseTransactionValue(u.value)})}).with({chain:i.Chain.Solana,tx:U.P.string},async({chain:y,tx:H})=>{let{VersionedTransaction:q}=await import("@solana/web3.js"),u=await p(y);try{let x=q.deserialize(Buffer.from(H,"base64"));return u.signAndBroadcastTransaction(x)}catch(x){throw new i.SwapKitError("plugin_swapkit_invalid_transaction",{chain:y,message:x instanceof Error?x.message:"Invalid Solana transaction format"})}}).with({chain:U.P.union(...i.CosmosChains),tx:U.P.when(Sn)},async({chain:y,tx:H})=>{let q=await p(y),u=X.CosmosTransactionSchema.parse(H);return q.signAndBroadcastTransaction(u)}).with({chain:i.Chain.Near,tx:U.P.string},async({chain:y,tx:H})=>{let{Transaction:q}=await import("@near-js/transactions"),u=await p(y);try{let x=q.decode(Buffer.from(H,"base64"));return u.signAndBroadcastTransaction(x)}catch(x){throw new i.SwapKitError("plugin_swapkit_invalid_transaction",{chain:y,message:x instanceof Error?x.message:"Invalid Near transaction format"})}}).with({chain:i.Chain.Ripple,tx:U.P.string},async({chain:y,tx:H})=>{let q=await p(y);try{let u=JSON.parse(H);return q.signAndBroadcastTransaction(u)}catch(u){throw new i.SwapKitError("plugin_swapkit_invalid_transaction",{chain:y,message:u instanceof Error?u.message:"Invalid Ripple transaction format"})}}).with({chain:i.Chain.Tron,tx:U.P.when(Dn)},async({chain:y,tx:H})=>{let q=await p(y),u=X.TronTransactionSchema.parse(H);return q.signAndBroadcastTransaction(u)}).with({chain:i.Chain.Sui,tx:U.P.string},async({chain:y,tx:H})=>{return(await p(y)).signAndBroadcastTransaction(H)}).with({chain:i.Chain.Cardano,tx:U.P.string},async({chain:y,tx:H})=>{return(await p(y)).signAndBroadcastTransaction(H)}).with({chain:i.Chain.Starknet,tx:U.P.when(Nn)},async({chain:y,tx:H})=>{let q=await p(y),u=X.StarknetTransactionSchema.parse(H);return q.signAndBroadcastTransaction(u)}).with({chain:i.Chain.Ton,tx:U.P.when(In)},async({chain:y,tx:H})=>{let q=await p(y),u=X.TONTransactionSchema.parse(H);return q.signAndBroadcastTransaction(u)}).with({chain:i.Chain.Ton,tx:U.P.when(lp)},async({tx:y})=>{if(!lp(y))throw new i.SwapKitError("plugin_swapkit_invalid_transaction",{chain:i.Chain.Ton,tx:y});return(await p(i.Chain.Ton)).signAndBroadcastTransaction(y)}).otherwise(()=>{throw new i.SwapKitError("plugin_swapkit_invalid_transaction",{chain:J,tx:w})})}}),name:"swapkit",properties:{supportedSwapkitProviders:[]}})});var Xp={};V(Xp,{SwapKitPlugin:()=>ep});module.exports=T(Xp);var Bp=z(()=>{pn()});function op({chain:p,address:f}){if(!f)return!1;return p===nn.Chain.Bitcoin?!f.startsWith("bc1p"):!0}function Pn({assetValue:p,from:f,memo:P="",...o}){return{...o,assetValue:p,from:f,memo:P}}var nn;var Op=z(()=>{nn=require("@swapkit/helpers")});function cn(p){return async function(P){if(p==="thorchain"&&P===n.Chain.THORChain||p==="mayachain"&&P===n.Chain.Maya)return{address:"",chain:P,dust_threshold:"0",gas_rate:"0",halted:!1,router:""};let m=(await xp.SwapKitApi.thornode.getInboundAddresses(p)).find((_)=>_.chain===P);if(!m)throw new n.SwapKitError("core_inbound_data_not_found");if(m?.halted)throw new n.SwapKitError("core_chain_halted");return m}}function mn(p){return function({getWallet:P}){let o=p===n.Chain.Maya?"mayachain":"thorchain",m=cn(o);async function _({assetValue:v,type:Q="checkOnly"}){let L=(await m(v.chain)).router,Y=v.chain,M=n.EVMChains.includes(Y);if(M&&v.isGasAsset||!M||v.isSynthetic)return Promise.resolve(Q==="checkOnly"?!0:"approved");let D=P(Y);if(!D)throw new n.SwapKitError("core_wallet_connection_not_found");let E=Q==="checkOnly"?D.isApproved:D.approve;if(!(v.address&&D.address))throw new n.SwapKitError("core_approve_asset_address_or_from_not_found");return E({amount:v.getBaseValue("bigint"),assetAddress:v.address,from:D.address,spenderAddress:L})}async function r({assetValue:v,recipient:Q,router:L,...Y}){let M=o==="thorchain"?Tn:Vn,{chain:$,symbol:D,ticker:E}=v,t=P($);if(!t)throw new n.SwapKitError("core_wallet_connection_not_found");let{address:a}=t;if(!op({address:a,chain:$}))throw new n.SwapKitError("core_transaction_invalid_sender_address");let b=Pn({assetValue:v,from:a,recipient:Q,router:L,...Y});try{let c=M?.[$];if(!c){let l=P($);return p===$&&Q===""?l.deposit(b):l.transfer(b)}let{getChecksumAddressFromAsset:A}=await import("@swapkit/toolboxes/evm");return P($).call({abi:c,contractAddress:L||(await m($)).router,funcName:"depositWithExpiry",funcParams:[Q,A({chain:$,symbol:D,ticker:E},$),v.getBaseValue("string"),b.memo,Y.expiration||Number.parseInt(`${(Date.now()+900000)/1000}`,10)],txOverrides:{from:b.from,value:v.isGasAsset?v.getBaseValue("bigint"):void 0}})}catch(c){let A=typeof c==="string"?c.toLowerCase():c?.message.toLowerCase(),mp=A?.includes("insufficient funds"),l=A?.includes("gas"),Qp=A?.includes("server"),rn=A?.includes("user rejected");throw new n.SwapKitError(mp?"core_transaction_deposit_insufficient_funds_error":l?"core_transaction_deposit_gas_error":Qp?"core_transaction_deposit_server_error":rn?"core_transaction_user_rejected":"core_transaction_deposit_error",c)}}async function R({memo:v,assetValue:Q}){let L=await xp.SwapKitApi.thornode.getMimirInfo(o);if(L.HALTCHAINGLOBAL>=1||L.HALTTHORCHAIN>=1)throw new n.SwapKitError("thorchain_chain_halted");return r({assetValue:Q,memo:v,recipient:""})}async function w({assetValue:v,memo:Q,feeOptionKey:L=n.FeeOption.Fast}){let{gas_rate:Y="0",router:M,address:$}=await m(v.chain);return r({assetValue:v,feeRate:Number.parseInt(Y,10)*En[L],memo:Q,recipient:$,router:M})}function k({assetValue:v}){return _({assetValue:v,type:n.ApproveMode.Approve})}function J({assetValue:v}){return _({assetValue:v,type:n.ApproveMode.CheckOnly})}function Z({assetValue:v,...Q}){return R({assetValue:v,memo:n.getMemoForNameRegister(Q)})}function y({assetValue:v,payoutAddress:Q,name:L,ownerAddress:Y}){let M=Q||P(v.chain)?.address;if(!M)throw new n.SwapKitError("thorchain_preferred_asset_payout_required");return R({assetValue:n.AssetValue.from({chain:p}),memo:n.getMemoForNamePreferredAssetRegister({asset:v.toString(),chain:v.chain,name:L,owner:Y,payout:M})})}function H({type:v,assetValue:Q,address:L}){let Y=v===n.MemoType.UNBOND?n.getMemoForUnbond({address:L,unbondAmount:Q.getBaseValue("number")}):n.getMemoForLeaveAndBond({address:L,type:v}),M=v===n.MemoType.BOND?Q:n.getMinAmountByChain(p);return R({assetValue:M,memo:Y})}async function q({baseAssetValue:v,assetValue:Q}){if(v.lte(0)||Q.lte(0))throw new n.SwapKitError("core_transaction_create_liquidity_invalid_params");let L=P(Q.chain).address,Y=P(p).address,M=await n.wrapWithThrow(()=>{return w({assetValue:v,memo:n.getMemoForDeposit({...Q,address:L})})},"core_transaction_create_liquidity_base_error");return{assetTx:await n.wrapWithThrow(()=>{return w({assetValue:Q,memo:n.getMemoForDeposit({...Q,address:Y})})},"core_transaction_create_liquidity_asset_error"),baseAssetTx:M}}function u({assetValue:v,poolAddress:Q,address:L,symmetric:Y}){if(Y&&!L)throw new n.SwapKitError("core_transaction_add_liquidity_invalid_params");let M=n.getMemoForDeposit({address:Y?L:"",chain:Q.split(".")[0],symbol:Q.split(".")[1]});return w({assetValue:v,memo:M})}async function x({baseAssetValue:v,assetValue:Q,baseAssetAddr:L,assetAddr:Y,isPendingSymmAsset:M,mode:$="sym"}){let{chain:D,symbol:E}=Q,t=$==="sym",a=v?.gt(0)&&(t||$==="baseAsset"),wp=Q?.gt(0)&&(t||$==="asset"),b=M||a,c=P(p).address,A=b?L||c:"",mp=t||$==="asset"?Y||P(D).address:"";if(!(a||wp))throw new n.SwapKitError("core_transaction_add_liquidity_invalid_params");if(b&&!A)throw new n.SwapKitError("core_transaction_add_liquidity_base_address");let l=a&&v?await n.wrapWithThrow(()=>{return w({assetValue:v,memo:n.getMemoForDeposit({address:mp,chain:D,symbol:E})})},"core_transaction_add_liquidity_base_error"):void 0;return{assetTx:wp&&Q?await n.wrapWithThrow(()=>{return w({assetValue:Q,memo:n.getMemoForDeposit({address:A,chain:D,symbol:E})})},"core_transaction_add_liquidity_asset_error"):void 0,baseAssetTx:l}}function _p({memo:v,assetValue:Q,percent:L,from:Y,to:M}){let $=M==="baseAsset"&&Y!=="baseAsset"?n.AssetValue.from({chain:p}):Y==="sym"&&M==="sym"||Y==="baseAsset"||Y==="asset"?void 0:Q,D=n.getMinAmountByChain(Y==="asset"?Q.chain:p),E=v||n.getMemoForWithdraw({basisPoints:Math.min(1e4,Math.round(L*100)),chain:Q.chain,symbol:Q.symbol,targetAsset:$?.toString(),ticker:Q.ticker});return w({assetValue:D,memo:E})}async function B({chain:v,thorAddress:Q}){let L=await m(v),Y=L.dust_threshold,{baseDecimal:M}=n.getChainConfig(v),{baseDecimal:$}=n.getChainConfig(n.Chain.THORChain);return r({assetValue:n.AssetValue.from({chain:v,fromBaseDecimal:Math.min(M,$),value:v!==n.Chain.THORChain?Y:0}),memo:n.getMemoForTcyClaim(n.MemoType.CLAIM_TCY,{address:Q}),recipient:L.address,router:L.router})}function Rp(v){if(v.type==="stake"){if(v.assetValue.toString()!=="THOR.TCY")throw new n.SwapKitError("thorchain_asset_is_not_tcy");return r({assetValue:v.assetValue,memo:n.getMemoForTcyStake(n.MemoType.STAKE_TCY,{}),recipient:""})}return r({assetValue:n.AssetValue.from({chain:n.Chain.THORChain}),memo:n.getMemoForTcyStake(n.MemoType.UNSTAKE_TCY,{unstakeBps:v.unstakeBps}),recipient:""})}async function yp({feeOptionKey:v,route:Q}){let{memo:L,expiration:Y,targetAddress:M}=Q,$=await n.AssetValue.from({asset:Q.sellAsset,asyncTokenLookup:!0,value:Q.sellAmount});if(!$)throw new n.SwapKitError("core_swap_asset_not_recognized");if(!op({address:Q.destinationAddress,chain:n.AssetValue.from({asset:Q.buyAsset}).chain}))throw new n.SwapKitError("core_transaction_invalid_recipient_address");let{address:E}=await m($.chain);return r({assetValue:$,expiration:Number(Y),feeOptionKey:v,memo:L,recipient:E,router:M})}return{addLiquidity:x,addLiquidityPart:u,approveAssetValue:k,claimTcy:B,createLiquidity:q,deposit:r,depositToPool:w,getInboundDataByChain:m,isAssetValueApproved:J,nodeAction:H,registerName:Z,registerPreferredAsset:y,stakeTcyAction:Rp,swap:yp,withdraw:_p}}}var n,xp,g,En,Tn,Vn,fn,on;var vn=z(()=>{K();Op();n=require("@swapkit/helpers"),xp=require("@swapkit/helpers/api"),g=require("@swapkit/helpers/contracts"),En={[n.FeeOption.Average]:1.2,[n.FeeOption.Fast]:1.5,[n.FeeOption.Fastest]:2},Tn={[n.Chain.Avalanche]:g.TCAvalancheDepositABI,[n.Chain.Base]:g.TCBaseDepositABI,[n.Chain.BinanceSmartChain]:g.TCBscDepositABI,[n.Chain.Ethereum]:g.TCEthereumVaultAbi},Vn={[n.Chain.Arbitrum]:g.MayaArbitrumVaultAbi,[n.Chain.Ethereum]:g.MayaEthereumVaultAbi},fn=j({methods:mn(n.Chain.THORChain),name:"thorchain",properties:{supportedSwapkitProviders:[n.ProviderName.THORCHAIN,n.ProviderName.THORCHAIN_STREAMING]}}),on=j({methods:mn(n.Chain.Maya),name:"mayachain",properties:{supportedSwapkitProviders:[n.ProviderName.MAYACHAIN,n.ProviderName.MAYACHAIN_STREAMING]}})});var vp={};V(vp,{validateAddressType:()=>op,ThorchainPlugin:()=>fn,MayachainPlugin:()=>on});module.exports=T(vp);var rp=z(()=>{vn();Op()});var Wn={};V(Wn,{loadPlugin:()=>Cn,loadDefaultPlugins:()=>An,createPlugin:()=>j,approve:()=>S});module.exports=T(Wn);K();async function An(){let[{ChainflipPlugin:p},{EVMPlugin:f},{GardenPlugin:P},{HarborPlugin:o},{NearPlugin:m},{RadixPlugin:_},{SolanaPlugin:r},{SwapKitPlugin:R},{MayachainPlugin:w,ThorchainPlugin:k}]=await Promise.all([Promise.resolve().then(() => (Hp(),ip)),Promise.resolve().then(() => (Gp(),up)),Promise.resolve().then(() => (Jp(),qp)),Promise.resolve().then(() => (Yp(),Lp)),Promise.resolve().then(() => (Mp(),$p)),Promise.resolve().then(() => (jp(),Zp)),Promise.resolve().then(() => (Up(),zp)),Promise.resolve().then(() => (Bp(),Xp)),Promise.resolve().then(() => (rp(),vp))]);return{...p,...f,...w,...k,..._,...r,...m,...P,...R,...o}}async function Cn(p){let{match:f}=await import("ts-pattern");return await f(p).with("chainflip",async()=>{let{ChainflipPlugin:o}=await Promise.resolve().then(() => (Hp(),ip));return o}).with("thorchain",async()=>{let{ThorchainPlugin:o}=await Promise.resolve().then(() => (rp(),vp));return o}).with("mayachain",async()=>{let{MayachainPlugin:o}=await Promise.resolve().then(() => (rp(),vp));return o}).with("radix",async()=>{let{RadixPlugin:o}=await Promise.resolve().then(() => (jp(),Zp));return o}).with("evm",async()=>{let{EVMPlugin:o}=await Promise.resolve().then(() => (Gp(),up));return o}).with("garden",async()=>{let{GardenPlugin:o}=await Promise.resolve().then(() => (Jp(),qp));return o}).with("solana",async()=>{let{SolanaPlugin:o}=await Promise.resolve().then(() => (Up(),zp));return o}).with("swapkit",async()=>{let{SwapKitPlugin:o}=await Promise.resolve().then(() => (Bp(),Xp));return o}).with("near",async()=>{let{NearPlugin:o}=await Promise.resolve().then(() => (Mp(),$p));return o}).with("harbor",async()=>{let{HarborPlugin:o}=await Promise.resolve().then(() => (Yp(),Lp));return o}).exhaustive()}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var{defineProperty:
|
|
1
|
+
var{defineProperty:H,getOwnPropertyNames:P,getOwnPropertyDescriptor:s}=Object,b=Object.prototype.hasOwnProperty;function S(p){return this[p]}var T=(p)=>{var m=(U??=new WeakMap).get(p),k;if(m)return m;if(m=H({},"__esModule",{value:!0}),p&&typeof p==="object"||typeof p==="function"){for(var N of P(p))if(!b.call(m,N))H(m,N,{get:S.bind(p,N),enumerable:!(k=s(p,N))||k.enumerable})}return U.set(p,m),m},U;var C=(p)=>p;function g(p,m){this[p]=C.bind(null,m)}var W=(p,m)=>{for(var k in m)H(p,k,{get:m[k],enumerable:!0,configurable:!0,set:g.bind(m,k)})};var J=(p,m)=>()=>(p&&(m=p(p=0)),m);function Y({name:p,properties:m,methods:k}){function N(y){return{...k(y),...m}}return{[p]:N}}function K({approveMode:p,getWallet:m}){return function(N){return q.match(N).with({route:q.P.not(q.P.nullish),spenderAddress:q.P.string},async({route:y,spenderAddress:Q})=>{let o=B.AssetValue.from({asset:y.sellAsset,value:y.sellAmount}),M=B.EVMChains.includes(o.chain);if(M&&o.isGasAsset||!M||o.isSynthetic)return p==="checkOnly"?!0:"approved";let G=await X.SwapKitApi.getTokenApproval({routeId:y.routeId,spender:Q});if(p==="checkOnly")return G.isApproved;if(!G.approvalTransaction)throw new B.SwapKitError("core_approve_asset_target_invalid");return m(o.chain).sendTransaction({data:G.approvalTransaction.data,from:G.approvalTransaction.from,to:G.approvalTransaction.to,value:BigInt(o.getBaseValue("bigint")||"0")})}).otherwise(({spenderAddress:y,assetValue:Q})=>{let o=Q.chain,M=B.EVMChains.includes(o);if(M&&Q.isGasAsset||!M||Q.isSynthetic)return Promise.resolve(p==="checkOnly"?!0:"approved");let G=m(o),z=p==="checkOnly"?G.isApproved:G.approve;if(!(Q.address&&G.address))throw new B.SwapKitError("core_approve_asset_address_or_from_not_found");return z({amount:Q.getBaseValue("bigint"),assetAddress:Q.address,from:G.address,spenderAddress:y})})}}var B,X,q;var $=J(()=>{B=require("@swapkit/helpers"),X=require("@swapkit/helpers/api"),q=require("ts-pattern")});function h(p){return R.TONTransactionMessageSchema.safeParse(p).success}function l(p){return p.targetAddress||p.inboundAddress}var d,R,_,i=(p)=>R.EVMTransactionSchema.safeParse(p).success,n=(p)=>R.TronTransactionSchema.safeParse(p).success,x=(p)=>R.CosmosTransactionSchema.safeParse(p).success,c=(p)=>R.StarknetTransactionSchema.safeParse(p).success,e=(p)=>R.TONTransactionSchema.safeParse(p).success,j=(p)=>Array.isArray(p)&&p.every(h),D;var F=J(()=>{$();d=require("@swapkit/helpers"),R=require("@swapkit/helpers/api"),_=require("ts-pattern");D=Y({methods:({getWallet:p})=>({approveAssetValue:K({approveMode:d.ApproveMode.Approve,getWallet:p}),isAssetValueApproved:K({approveMode:d.ApproveMode.CheckOnly,getWallet:p}),swap:function({route:k,feeOptionKey:N}){let{memo:y,providers:Q,sellAmount:o,sellAsset:M,tx:E}=k,G=d.AssetValue.from({asset:M,value:o}),z=G.chain,L=Q.includes(d.ProviderName.FLASHNET);return _.match({chain:z,tx:E}).returnType().with({chain:_.P.union(d.Chain.Bitcoin,d.Chain.BitcoinCash,d.Chain.Dogecoin,d.Chain.Litecoin,d.Chain.Dash),tx:_.P.string},async({chain:v,tx:f})=>{let A=await p(v);if(v===d.Chain.Bitcoin&&L&&!A.supportsDirectSigning){let u=l(k);if(!u)throw new d.SwapKitError("core_swap_invalid_params",{missing:["targetAddress"],provider:d.ProviderName.FLASHNET,routeId:k.routeId});return A.transfer({assetValue:G,feeOptionKey:N,memo:y,recipient:u})}try{let{Transaction:u}=await import("@swapkit/utxo-signer"),I=u.fromPSBT(Buffer.from(f,"base64"));return A.signAndBroadcastTransaction(I)}catch(u){throw new d.SwapKitError("plugin_swapkit_invalid_transaction",{chain:v,message:u instanceof Error?u.message:"Invalid PSBT format"})}}).with({chain:d.Chain.Zcash,tx:_.P.string},async({chain:v,tx:f})=>{let A=await p(v);try{let{PCZT:u,ZcashPSBT:I,ZcashTransaction:w}=await import("@swapkit/utxo-signer"),V=Buffer.from(f,"base64"),Z=V.length>=5&&V[0]===112&&V[1]===99&&V[2]===122&&V[3]===116&&V[4]===255,O=V.length>=5&&V[0]===112&&V[1]===115&&V[2]===98&&V[3]===116&&V[4]===255,r=Z?u.fromBytes(V):O?I.fromBytes(V):w.fromBytes(V);return A.signAndBroadcastTransaction(r)}catch(u){throw new d.SwapKitError("plugin_swapkit_invalid_transaction",{chain:v,message:u instanceof Error?u.message:"Invalid Zcash transaction format"})}}).with({chain:_.P.union(...d.EVMChains),tx:_.P.when(i)},async({chain:v,tx:f})=>{let A=await p(v),u=R.EVMTransactionSchema.parse(f);return A.sendTransaction({...u,value:R.parseTransactionValue(u.value)})}).with({chain:d.Chain.Solana,tx:_.P.string},async({chain:v,tx:f})=>{let{VersionedTransaction:A}=await import("@solana/web3.js"),u=await p(v);try{let I=A.deserialize(Buffer.from(f,"base64"));return u.signAndBroadcastTransaction(I)}catch(I){throw new d.SwapKitError("plugin_swapkit_invalid_transaction",{chain:v,message:I instanceof Error?I.message:"Invalid Solana transaction format"})}}).with({chain:_.P.union(...d.CosmosChains),tx:_.P.when(x)},async({chain:v,tx:f})=>{let A=await p(v),u=R.CosmosTransactionSchema.parse(f);return A.signAndBroadcastTransaction(u)}).with({chain:d.Chain.Near,tx:_.P.string},async({chain:v,tx:f})=>{let{Transaction:A}=await import("@near-js/transactions"),u=await p(v);try{let I=A.decode(Buffer.from(f,"base64"));return u.signAndBroadcastTransaction(I)}catch(I){throw new d.SwapKitError("plugin_swapkit_invalid_transaction",{chain:v,message:I instanceof Error?I.message:"Invalid Near transaction format"})}}).with({chain:d.Chain.Ripple,tx:_.P.string},async({chain:v,tx:f})=>{let A=await p(v);try{let u=JSON.parse(f);return A.signAndBroadcastTransaction(u)}catch(u){throw new d.SwapKitError("plugin_swapkit_invalid_transaction",{chain:v,message:u instanceof Error?u.message:"Invalid Ripple transaction format"})}}).with({chain:d.Chain.Tron,tx:_.P.when(n)},async({chain:v,tx:f})=>{let A=await p(v),u=R.TronTransactionSchema.parse(f);return A.signAndBroadcastTransaction(u)}).with({chain:d.Chain.Sui,tx:_.P.string},async({chain:v,tx:f})=>{return(await p(v)).signAndBroadcastTransaction(f)}).with({chain:d.Chain.Cardano,tx:_.P.string},async({chain:v,tx:f})=>{return(await p(v)).signAndBroadcastTransaction(f)}).with({chain:d.Chain.Starknet,tx:_.P.when(c)},async({chain:v,tx:f})=>{let A=await p(v),u=R.StarknetTransactionSchema.parse(f);return A.signAndBroadcastTransaction(u)}).with({chain:d.Chain.Ton,tx:_.P.when(e)},async({chain:v,tx:f})=>{let A=await p(v),u=R.TONTransactionSchema.parse(f);return A.signAndBroadcastTransaction(u)}).with({chain:d.Chain.Ton,tx:_.P.when(j)},async({tx:v})=>{if(!j(v))throw new d.SwapKitError("plugin_swapkit_invalid_transaction",{chain:d.Chain.Ton,tx:v});return(await p(d.Chain.Ton)).signAndBroadcastTransaction(v)}).otherwise(()=>{throw new d.SwapKitError("plugin_swapkit_invalid_transaction",{chain:z,tx:E})})}}),name:"swapkit",properties:{supportedSwapkitProviders:[]}})});var a={};W(a,{SwapKitPlugin:()=>D});module.exports=T(a);var t=J(()=>{F()});t();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as
|
|
1
|
+
import{a as _,b as Z,c as I}from"../../chunk-atezkenb.js";import{ApproveMode as D,AssetValue as w,Chain as L,CosmosChains as m,EVMChains as C,ProviderName as F,SwapKitError as Y}from"@swapkit/helpers";import{CosmosTransactionSchema as k,EVMTransactionSchema as N,parseTransactionValue as W,StarknetTransactionSchema as d,TONTransactionMessageSchema as p,TONTransactionSchema as v,TronTransactionSchema as K}from"@swapkit/helpers/api";import{match as T,P as Q}from"ts-pattern";var g=(q)=>N.safeParse(q).success,x=(q)=>K.safeParse(q).success,h=(q)=>k.safeParse(q).success,c=(q)=>d.safeParse(q).success,o=(q)=>v.safeParse(q).success;function l(q){return p.safeParse(q).success}var R=(q)=>Array.isArray(q)&&q.every(l);function s(q){return q.targetAddress||q.inboundAddress}var i=Z({methods:({getWallet:q})=>({approveAssetValue:I({approveMode:D.Approve,getWallet:q}),isAssetValueApproved:I({approveMode:D.CheckOnly,getWallet:q}),swap:function({route:$,feeOptionKey:O}){let{memo:V,providers:M,sellAmount:A,sellAsset:E,tx:f}=$,j=w.from({asset:E,value:A}),B=j.chain,b=M.includes(F.FLASHNET);return T({chain:B,tx:f}).returnType().with({chain:Q.union(L.Bitcoin,L.BitcoinCash,L.Dogecoin,L.Litecoin,L.Dash),tx:Q.string},async({chain:z,tx:H})=>{let J=await q(z);if(z===L.Bitcoin&&b&&!J.supportsDirectSigning){let G=s($);if(!G)throw new Y("core_swap_invalid_params",{missing:["targetAddress"],provider:F.FLASHNET,routeId:$.routeId});return J.transfer({assetValue:j,feeOptionKey:O,memo:V,recipient:G})}try{let{Transaction:G}=await import("@swapkit/utxo-signer"),X=G.fromPSBT(Buffer.from(H,"base64"));return J.signAndBroadcastTransaction(X)}catch(G){throw new Y("plugin_swapkit_invalid_transaction",{chain:z,message:G instanceof Error?G.message:"Invalid PSBT format"})}}).with({chain:L.Zcash,tx:Q.string},async({chain:z,tx:H})=>{let J=await q(z);try{let{PCZT:G,ZcashPSBT:X,ZcashTransaction:y}=await import("@swapkit/utxo-signer"),U=Buffer.from(H,"base64"),u=U.length>=5&&U[0]===112&&U[1]===99&&U[2]===122&&U[3]===116&&U[4]===255,P=U.length>=5&&U[0]===112&&U[1]===115&&U[2]===98&&U[3]===116&&U[4]===255,S=u?G.fromBytes(U):P?X.fromBytes(U):y.fromBytes(U);return J.signAndBroadcastTransaction(S)}catch(G){throw new Y("plugin_swapkit_invalid_transaction",{chain:z,message:G instanceof Error?G.message:"Invalid Zcash transaction format"})}}).with({chain:Q.union(...C),tx:Q.when(g)},async({chain:z,tx:H})=>{let J=await q(z),G=N.parse(H);return J.sendTransaction({...G,value:W(G.value)})}).with({chain:L.Solana,tx:Q.string},async({chain:z,tx:H})=>{let{VersionedTransaction:J}=await import("@solana/web3.js"),G=await q(z);try{let X=J.deserialize(Buffer.from(H,"base64"));return G.signAndBroadcastTransaction(X)}catch(X){throw new Y("plugin_swapkit_invalid_transaction",{chain:z,message:X instanceof Error?X.message:"Invalid Solana transaction format"})}}).with({chain:Q.union(...m),tx:Q.when(h)},async({chain:z,tx:H})=>{let J=await q(z),G=k.parse(H);return J.signAndBroadcastTransaction(G)}).with({chain:L.Near,tx:Q.string},async({chain:z,tx:H})=>{let{Transaction:J}=await import("@near-js/transactions"),G=await q(z);try{let X=J.decode(Buffer.from(H,"base64"));return G.signAndBroadcastTransaction(X)}catch(X){throw new Y("plugin_swapkit_invalid_transaction",{chain:z,message:X instanceof Error?X.message:"Invalid Near transaction format"})}}).with({chain:L.Ripple,tx:Q.string},async({chain:z,tx:H})=>{let J=await q(z);try{let G=JSON.parse(H);return J.signAndBroadcastTransaction(G)}catch(G){throw new Y("plugin_swapkit_invalid_transaction",{chain:z,message:G instanceof Error?G.message:"Invalid Ripple transaction format"})}}).with({chain:L.Tron,tx:Q.when(x)},async({chain:z,tx:H})=>{let J=await q(z),G=K.parse(H);return J.signAndBroadcastTransaction(G)}).with({chain:L.Sui,tx:Q.string},async({chain:z,tx:H})=>{return(await q(z)).signAndBroadcastTransaction(H)}).with({chain:L.Cardano,tx:Q.string},async({chain:z,tx:H})=>{return(await q(z)).signAndBroadcastTransaction(H)}).with({chain:L.Starknet,tx:Q.when(c)},async({chain:z,tx:H})=>{let J=await q(z),G=d.parse(H);return J.signAndBroadcastTransaction(G)}).with({chain:L.Ton,tx:Q.when(o)},async({chain:z,tx:H})=>{let J=await q(z),G=v.parse(H);return J.signAndBroadcastTransaction(G)}).with({chain:L.Ton,tx:Q.when(R)},async({tx:z})=>{if(!R(z))throw new Y("plugin_swapkit_invalid_transaction",{chain:L.Ton,tx:z});return(await q(L.Ton)).signAndBroadcastTransaction(z)}).otherwise(()=>{throw new Y("plugin_swapkit_invalid_transaction",{chain:B,tx:f})})}}),name:"swapkit",properties:{supportedSwapkitProviders:[]}});export{i as SwapKitPlugin};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AssetValue, ProviderName, type SwapParams } from "@swapkit/helpers";
|
|
2
|
-
import type
|
|
2
|
+
import { type QuoteResponseRoute } from "@swapkit/helpers/api";
|
|
3
3
|
export declare const EVMPlugin: {
|
|
4
4
|
evm: (pluginParams: import("..").SwapKitPluginParams) => {
|
|
5
5
|
supportedSwapkitProviders: readonly [ProviderName.OKX, ProviderName.ONEINCH, ProviderName.PANCAKESWAP, ProviderName.SUSHISWAP_V2, ProviderName.TRADERJOE_V2, ProviderName.UNISWAP_V2, ProviderName.UNISWAP_V3];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AssetValue, ProviderName, type SwapParams } from "@swapkit/helpers";
|
|
2
|
-
import type
|
|
2
|
+
import { type QuoteResponseRoute } from "@swapkit/helpers/api";
|
|
3
3
|
export declare const GardenPlugin: {
|
|
4
4
|
garden: (pluginParams: import("..").SwapKitPluginParams) => {
|
|
5
5
|
supportedSwapkitProviders: readonly [ProviderName.GARDEN];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"author": "swapkit-dev",
|
|
3
|
-
"dependencies": { "@swapkit/helpers": "4.15.
|
|
3
|
+
"dependencies": { "@swapkit/helpers": "4.15.3", "@swapkit/toolboxes": "4.20.1", "@swapkit/utxo-signer": "2.2.2" },
|
|
4
4
|
"description": "SwapKit Plugin - Chainflip",
|
|
5
5
|
"devDependencies": {
|
|
6
6
|
"@near-js/utils": "2.5.1",
|
|
@@ -80,5 +80,5 @@
|
|
|
80
80
|
"type-check:go": "tsgo"
|
|
81
81
|
},
|
|
82
82
|
"type": "module",
|
|
83
|
-
"version": "4.6.
|
|
83
|
+
"version": "4.6.56"
|
|
84
84
|
}
|