@swapkit/plugins 4.0.0-beta.35 → 4.0.0-beta.36

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.
@@ -1,3 +1,4 @@
1
1
  var F={};R(F,{assetIdentifierToChainflipTicker:()=>T,ChainflipPlugin:()=>E,ChainflipBroker:()=>D});module.exports=k(F);var g=require("@polkadot/keyring"),h=require("@polkadot/util"),s=require("@swapkit/helpers"),T=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"]]),b=(e)=>()=>{let i=e.api.tx.swapping?.registerAsBroker?.();if(!i)throw new s.SwapKitError("chainflip_broker_register");return e.signAndBroadcast({tx:i,address:e.getAddress()})},y=(e)=>({feeAsset:i,recipient:r})=>{let n=i.chain===s.Chain.Polkadot,p=s.wrapWithThrow(()=>{return n?e.encodeAddress(e.decodeAddress(r),"hex"):r},"chainflip_broker_recipient_error");return new Promise((o)=>{let a=e.api.tx?.swapping?.withdraw?.(i.ticker.toLowerCase(),{[i.chain.toLowerCase()]:p});if(!a)throw new s.SwapKitError("chainflip_broker_withdraw");e.signAndBroadcast({tx:a,callback:async(f)=>{if(!f.status?.isFinalized)return;let d=f.events.find((w)=>w.event.method==="WithdrawalRequested");if(!d)throw new s.SwapKitError("chainflip_channel_error","Could not find 'WithdrawalRequested' event");let{event:{data:{egressId:A,egressAsset:u,egressAmount:c,egressFee:m,destinationAddress:C}}}=d.toHuman();o({egressId:A,egressAsset:u,egressAmount:c,egressFee:m,destinationAddress:C})}})})},B=(e)=>async({evmToolbox:i,stateChainAccount:r,assetValue:n})=>{let{chainflipGateway:p}=await import("@swapkit/helpers/contracts"),o=s.AssetValue.from({asset:"ETH.FLIP"});if(!n.eqAsset(o))throw new s.SwapKitError("chainflip_broker_fund_only_flip_supported");if(!e.validateAddress(r))throw new s.SwapKitError("chainflip_broker_fund_invalid_address");let a=h.isHex(r)?r:h.u8aToHex(g.decodeAddress(r));return i.call({abi:p,contractAddress:"0x6995ab7c4d7f4b03f467cf4c8e920427d9621dbd",funcName:"fundStateChainAccount",funcParams:[a,n.getBaseValue("string")]})},D=(e)=>({registerAsBroker:b(e),fundStateChainAccount:B(e),withdrawFee:y(e)});var t=require("@swapkit/helpers"),l=require("@swapkit/helpers/api"),E=t.createPlugin({name:"chainflip",methods:({getWallet:e})=>({swap:async function i(r){let n=t.SKConfig.get("integrations").chainflip?.brokerUrl;if(!(r?.route?.buyAsset&&n&&r.route.meta.chainflip))throw new t.SwapKitError("core_swap_invalid_params",{...r,chainflipBrokerUrl:n});let{route:{buyAsset:p,sellAsset:o,sellAmount:a,destinationAddress:f,meta:{chainflip:d}},maxBoostFeeBps:A=0}=r;if(!(o&&p))throw new t.SwapKitError("core_swap_asset_not_recognized");let u=await t.AssetValue.from({asyncTokenLookup:!0,asset:o,value:a}),c=e(u.chain);if(!c)throw new t.SwapKitError("core_wallet_connection_not_found");let{depositAddress:m}=await l.SwapKitApi.getChainflipDepositChannel({...d,destinationAddress:f||d.destinationAddress,maxBoostFeeBps:A||d.maxBoostFeeBps});return await c.transfer({assetValue:u,sender:c.address,recipient:m,isProgramDerivedAddress:!0})}}),properties:{supportedSwapkitProviders:[t.ProviderName.CHAINFLIP,t.ProviderName.CHAINFLIP_STREAMING]}});
2
2
 
3
3
  //# debugId=E9F48CA793E45EBF64756E2164756E21
4
+ //# sourceMappingURL=index.cjs.map
@@ -1,3 +1,4 @@
1
1
  import{a as l,b as w}from"../chunk-wfktpptf.js";import{decodeAddress as x}from"@polkadot/keyring";import{isHex as T,u8aToHex as b}from"@polkadot/util";import{AssetValue as y,Chain as B,SwapKitError as p,wrapWithThrow as D}from"@swapkit/helpers";var L=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"]]),E=(e)=>()=>{let r=e.api.tx.swapping?.registerAsBroker?.();if(!r)throw new p("chainflip_broker_register");return e.signAndBroadcast({tx:r,address:e.getAddress()})},k=(e)=>({feeAsset:r,recipient:t})=>{let s=r.chain===B.Polkadot,a=D(()=>{return s?e.encodeAddress(e.decodeAddress(t),"hex"):t},"chainflip_broker_recipient_error");return new Promise((i)=>{let n=e.api.tx?.swapping?.withdraw?.(r.ticker.toLowerCase(),{[r.chain.toLowerCase()]:a});if(!n)throw new p("chainflip_broker_withdraw");e.signAndBroadcast({tx:n,callback:async(c)=>{if(!c.status?.isFinalized)return;let o=c.events.find((g)=>g.event.method==="WithdrawalRequested");if(!o)throw new p("chainflip_channel_error","Could not find 'WithdrawalRequested' event");let{event:{data:{egressId:u,egressAsset:f,egressAmount:d,egressFee:h,destinationAddress:m}}}=o.toHuman();i({egressId:u,egressAsset:f,egressAmount:d,egressFee:h,destinationAddress:m})}})})},R=(e)=>async({evmToolbox:r,stateChainAccount:t,assetValue:s})=>{let{chainflipGateway:a}=await import("@swapkit/helpers/contracts"),i=y.from({asset:"ETH.FLIP"});if(!s.eqAsset(i))throw new p("chainflip_broker_fund_only_flip_supported");if(!e.validateAddress(t))throw new p("chainflip_broker_fund_invalid_address");let n=T(t)?t:b(x(t));return r.call({abi:a,contractAddress:"0x6995ab7c4d7f4b03f467cf4c8e920427d9621dbd",funcName:"fundStateChainAccount",funcParams:[n,s.getBaseValue("string")]})},U=(e)=>({registerAsBroker:E(e),fundStateChainAccount:R(e),withdrawFee:k(e)});import{AssetValue as F,ProviderName as C,SKConfig as _,SwapKitError as A,createPlugin as S}from"@swapkit/helpers";import{SwapKitApi as H}from"@swapkit/helpers/api";var M=S({name:"chainflip",methods:({getWallet:e})=>({swap:async function r(t){let s=_.get("integrations").chainflip?.brokerUrl;if(!(t?.route?.buyAsset&&s&&t.route.meta.chainflip))throw new A("core_swap_invalid_params",{...t,chainflipBrokerUrl:s});let{route:{buyAsset:a,sellAsset:i,sellAmount:n,destinationAddress:c,meta:{chainflip:o}},maxBoostFeeBps:u=0}=t;if(!(i&&a))throw new A("core_swap_asset_not_recognized");let f=await F.from({asyncTokenLookup:!0,asset:i,value:n}),d=e(f.chain);if(!d)throw new A("core_wallet_connection_not_found");let{depositAddress:h}=await H.getChainflipDepositChannel({...o,destinationAddress:c||o.destinationAddress,maxBoostFeeBps:u||o.maxBoostFeeBps});return await d.transfer({assetValue:f,sender:d.address,recipient:h,isProgramDerivedAddress:!0})}}),properties:{supportedSwapkitProviders:[C.CHAINFLIP,C.CHAINFLIP_STREAMING]}});export{L as assetIdentifierToChainflipTicker,M as ChainflipPlugin,U as ChainflipBroker};
2
2
 
3
3
  //# debugId=8EB8AC0447903D3764756E2164756E21
4
+ //# sourceMappingURL=index.js.map
@@ -1,3 +1,4 @@
1
1
  var j=Object.create;var{getPrototypeOf:k,defineProperty:e,getOwnPropertyNames:h,getOwnPropertyDescriptor:l}=Object,i=Object.prototype.hasOwnProperty;var m=(a,b,c)=>{c=a!=null?j(k(a)):{};let d=b||!a||!a.__esModule?e(c,"default",{value:a,enumerable:!0}):c;for(let f of h(a))if(!i.call(d,f))e(d,f,{get:()=>a[f],enumerable:!0});return d},g=new WeakMap,n=(a)=>{var b=g.get(a),c;if(b)return b;if(b=e({},"__esModule",{value:!0}),a&&typeof a==="object"||typeof a==="function")h(a).map((d)=>!i.call(b,d)&&e(b,d,{get:()=>a[d],enumerable:!(c=l(a,d))||c.enumerable}));return g.set(a,b),b};var o=(a,b)=>{for(var c in b)e(a,c,{get:b[c],enumerable:!0,configurable:!0,set:(d)=>b[c]=()=>d})};
2
2
 
3
3
  //# debugId=9E860276D712218864756E2164756E21
4
+ //# sourceMappingURL=chunk-fazw0jvt.js.map
@@ -2,3 +2,4 @@ var g=Object.create;var{getPrototypeOf:h,defineProperty:f,getOwnPropertyNames:i}
2
2
  export{k as a,l as b};
3
3
 
4
4
  //# debugId=5A093E2BA710099564756E2164756E21
5
+ //# sourceMappingURL=chunk-wfktpptf.js.map
@@ -1,3 +1,4 @@
1
1
  var E={};V(E,{EVMPlugin:()=>l});module.exports=m(E);var e=require("@swapkit/helpers");function v({approveMode:a,getWallet:c}){return function n({assetValue:s,spenderAddress:t}){let p=s.chain,r=e.EVMChains.includes(p);if(r&&s.isGasAsset||!r||s.isSynthetic){let d=a==="checkOnly"||"approved";return Promise.resolve(d)}let o=c(p),i=a==="checkOnly"?o.isApproved:o.approve;if(!(s.address&&o.address))throw new e.SwapKitError("core_approve_asset_address_or_from_not_found");return i({amount:s.getBaseValue("bigint"),assetAddress:s.address,from:o.address,spenderAddress:t})}}var l=e.createPlugin({name:"evm",properties:{supportedSwapkitProviders:[e.ProviderName.CAMELOT_V3,e.ProviderName.OPENOCEAN_V2,e.ProviderName.ONEINCH,e.ProviderName.PANCAKESWAP,e.ProviderName.PANGOLIN_V1,e.ProviderName.SUSHISWAP_V2,e.ProviderName.TRADERJOE_V2,e.ProviderName.UNISWAP_V2,e.ProviderName.UNISWAP_V3]},methods:({getWallet:a})=>({approveAssetValue:v({approveMode:e.ApproveMode.Approve,getWallet:a}),isAssetValueApproved:v({approveMode:e.ApproveMode.CheckOnly,getWallet:a}),swap:async function c({route:{tx:n,sellAsset:s},feeOptionKey:t}){let r=(await e.AssetValue.from({asset:s,asyncTokenLookup:!0})).chain,u=a(r);if(!(e.EVMChains.includes(r)&&n))throw new e.SwapKitError("core_swap_invalid_params");let{from:o,to:i,data:d,value:A}=n;return u.sendTransaction({from:o,to:i,data:d,value:BigInt(A),feeOptionKey:t})}})});
2
2
 
3
3
  //# debugId=FDF9BDCE1CF4B05064756E2164756E21
4
+ //# sourceMappingURL=index.cjs.map
package/dist/evm/index.js CHANGED
@@ -1,3 +1,4 @@
1
1
  import"../chunk-wfktpptf.js";import{ApproveMode as v,AssetValue as E,EVMChains as m,ProviderName as e,SwapKitError as V,createPlugin as w}from"@swapkit/helpers";function A({approveMode:a,getWallet:c}){return function n({assetValue:s,spenderAddress:t}){let p=s.chain,r=m.includes(p);if(r&&s.isGasAsset||!r||s.isSynthetic){let d=a==="checkOnly"||"approved";return Promise.resolve(d)}let o=c(p),i=a==="checkOnly"?o.isApproved:o.approve;if(!(s.address&&o.address))throw new V("core_approve_asset_address_or_from_not_found");return i({amount:s.getBaseValue("bigint"),assetAddress:s.address,from:o.address,spenderAddress:t})}}var h=w({name:"evm",properties:{supportedSwapkitProviders:[e.CAMELOT_V3,e.OPENOCEAN_V2,e.ONEINCH,e.PANCAKESWAP,e.PANGOLIN_V1,e.SUSHISWAP_V2,e.TRADERJOE_V2,e.UNISWAP_V2,e.UNISWAP_V3]},methods:({getWallet:a})=>({approveAssetValue:A({approveMode:v.Approve,getWallet:a}),isAssetValueApproved:A({approveMode:v.CheckOnly,getWallet:a}),swap:async function c({route:{tx:n,sellAsset:s},feeOptionKey:t}){let r=(await E.from({asset:s,asyncTokenLookup:!0})).chain,u=a(r);if(!(m.includes(r)&&n))throw new V("core_swap_invalid_params");let{from:o,to:i,data:d,value:l}=n;return u.sendTransaction({from:o,to:i,data:d,value:BigInt(l),feeOptionKey:t})}})});export{h as EVMPlugin};
2
2
 
3
3
  //# debugId=E47DB87BB400068364756E2164756E21
4
+ //# sourceMappingURL=index.js.map
package/dist/index.cjs CHANGED
@@ -1,3 +1,4 @@
1
1
  var p={};e(p,{loadPlugin:()=>o});module.exports=r(p);async function o(t){let{match:a}=await import("ts-pattern");return await a(t).with("chainflip",async()=>{let{ChainflipPlugin:i}=await import("./chainflip/index.cjs");return i}).with("thorchain",async()=>{let{ThorchainPlugin:i}=await import("./thorchain/index.cjs");return i}).with("radix",async()=>{let{RadixPlugin:i}=await import("./radix/index.cjs");return i}).with("evm",async()=>{let{EVMPlugin:i}=await import("./evm/index.cjs");return i}).with("solana",async()=>{let{SolanaPlugin:i}=await import("./solana/index.cjs");return i}).with("near",async()=>{let{NearPlugin:i}=await import("./near/index.cjs");return i}).exhaustive()}
2
2
 
3
3
  //# debugId=A3E8E694D24EF52A64756E2164756E21
4
+ //# sourceMappingURL=index.cjs.map
package/dist/index.js CHANGED
@@ -1,3 +1,4 @@
1
1
  import{a as n,b as t}from"./chunk-wfktpptf.js";async function e(a){let{match:o}=await import("ts-pattern");return await o(a).with("chainflip",async()=>{let{ChainflipPlugin:i}=await import("./chainflip/index.js");return i}).with("thorchain",async()=>{let{ThorchainPlugin:i}=await import("./thorchain/index.js");return i}).with("radix",async()=>{let{RadixPlugin:i}=await import("./radix/index.js");return i}).with("evm",async()=>{let{EVMPlugin:i}=await import("./evm/index.js");return i}).with("solana",async()=>{let{SolanaPlugin:i}=await import("./solana/index.js");return i}).with("near",async()=>{let{NearPlugin:i}=await import("./near/index.js");return i}).exhaustive()}export{e as loadPlugin};
2
2
 
3
3
  //# debugId=FA0901EFAAEE532D64756E2164756E21
4
+ //# sourceMappingURL=index.js.map
@@ -1,3 +1,4 @@
1
1
  var _={};T(_,{NearPlugin:()=>U});module.exports=b(_);var x=require("@swapkit/helpers"),D=require("@swapkit/helpers/api");var X=require("near-api-js/lib/utils/format"),V=2,P=64;function Z(Q){if(Q.length<V||Q.length>P)return!1;return/^[a-z0-9]+(-[a-z0-9]+)*$/.test(Q)}function y(Q){let B=Q.length,q;if(B<=2)q="50";else if(B<=3)q="20";else if(B<=4)q="5";else if(B<=5)q="1";else q="0.1";return X.parseNearAmount(q)||"0"}var U=x.createPlugin({name:"near",properties:{supportedSwapkitProviders:[x.ProviderName.NEAR]},methods:({getWallet:Q})=>({async swap({route:B,recipient:q}){let{meta:J}=B;if(!J?.nearSwapInfo)throw new x.SwapKitError("core_swap_invalid_params",{message:"Missing NEAR swap metadata"});let F=J.nearSwapInfo,Y=await Q(F.srcChain),j={...F,toAddress:q||await Y.getAddress()},$=await D.SwapKitApi.getNearDepositChannel?.(j);if(!$)throw new x.SwapKitError("core_plugin_not_found",{info:"NEAR deposit channel API not implemented"});let k=$;if(!k.isSuccess)throw new x.SwapKitError("core_swap_invalid_params",{message:"Failed to create NEAR deposit channel"});let{channelId:G,depositAddress:H}=k.response,L=x.AssetValue.from({chain:F.srcChain,symbol:F.srcToken,value:F.amount,decimal:B.srcToken.decimals});return await Y.transfer({assetValue:L,recipient:H,memo:G})},nearNames:{async resolve(B){try{let q=B.toLowerCase().replace(/\.near$/,"");if(!Z(q))throw new x.SwapKitError("plugin_near_invalid_name");let J=Q(x.Chain.Near);if(!J)throw new x.SwapKitError("plugin_near_no_connection");let F=await J.provider.query({request_type:"call_function",finality:"final",account_id:"near",method_name:"resolve",args_base64:Buffer.from(JSON.stringify({name:q})).toString("base64")});return JSON.parse(Buffer.from(F.result).toString())?.owner||null}catch{return null}},async isAvailable(B){return await this.resolve(B)===null},async getInfo(B){try{let q=B.toLowerCase().replace(/\.near$/,"");if(!Z(q))throw new x.SwapKitError("plugin_near_invalid_name");let J=Q(x.Chain.Near);if(!J)throw new x.SwapKitError("plugin_near_no_connection");let F=await J.provider.query({request_type:"call_function",finality:"final",account_id:"near",method_name:"get_info",args_base64:Buffer.from(JSON.stringify({name:q})).toString("base64")});return JSON.parse(Buffer.from(F.result).toString())||null}catch{return null}},async lookupNames(B){try{let q=Q(x.Chain.Near);if(!q)throw new x.SwapKitError("plugin_near_no_connection");let J=await q.provider.query({request_type:"call_function",finality:"final",account_id:"near",method_name:"get_names_by_owner",args_base64:Buffer.from(JSON.stringify({account_id:B})).toString("base64")}),F=JSON.parse(Buffer.from(J.result).toString());return Array.isArray(F)?F.map((Y)=>`${Y}.near`):[]}catch{return[]}},async register(B){let{name:q,publicKey:J}=B,F=q.toLowerCase().replace(/\.near$/,"");if(!Z(F))throw new x.SwapKitError("plugin_near_invalid_name");let Y=Q(x.Chain.Near),j=J||await Y.getPublicKey(),$=y(F);return Y.callFunction({contractId:"near",methodName:"create_account",args:{new_account_id:`${F}.near`,new_public_key:j},deposit:$})},transfer(B,q){let J=B.toLowerCase().replace(/\.near$/,"");if(!Z(J))throw new x.SwapKitError("plugin_near_invalid_name");return Q(x.Chain.Near).callFunction({contractId:"near",methodName:"transfer",args:{name:J,new_owner:q},deposit:"1"})}}})});
2
2
 
3
3
  //# debugId=5DB17A38AECAA7AA64756E2164756E21
4
+ //# sourceMappingURL=index.cjs.map
@@ -1,3 +1,4 @@
1
1
  import"../chunk-wfktpptf.js";import{AssetValue as U,Chain as $,ProviderName as b,SwapKitError as Q,createPlugin as T}from"@swapkit/helpers";import{SwapKitApi as _}from"@swapkit/helpers/api";import{parseNearAmount as L}from"near-api-js/lib/utils/format";var V=2,P=64;function Z(J){if(J.length<V||J.length>P)return!1;return/^[a-z0-9]+(-[a-z0-9]+)*$/.test(J)}function y(J){let q=J.length,x;if(q<=2)x="50";else if(q<=3)x="20";else if(q<=4)x="5";else if(q<=5)x="1";else x="0.1";return L(x)||"0"}var R=T({name:"near",properties:{supportedSwapkitProviders:[b.NEAR]},methods:({getWallet:J})=>({async swap({route:q,recipient:x}){let{meta:F}=q;if(!F?.nearSwapInfo)throw new Q("core_swap_invalid_params",{message:"Missing NEAR swap metadata"});let B=F.nearSwapInfo,Y=await J(B.srcChain),k={...B,toAddress:x||await Y.getAddress()},j=await _.getNearDepositChannel?.(k);if(!j)throw new Q("core_plugin_not_found",{info:"NEAR deposit channel API not implemented"});let X=j;if(!X.isSuccess)throw new Q("core_swap_invalid_params",{message:"Failed to create NEAR deposit channel"});let{channelId:D,depositAddress:G}=X.response,H=U.from({chain:B.srcChain,symbol:B.srcToken,value:B.amount,decimal:q.srcToken.decimals});return await Y.transfer({assetValue:H,recipient:G,memo:D})},nearNames:{async resolve(q){try{let x=q.toLowerCase().replace(/\.near$/,"");if(!Z(x))throw new Q("plugin_near_invalid_name");let F=J($.Near);if(!F)throw new Q("plugin_near_no_connection");let B=await F.provider.query({request_type:"call_function",finality:"final",account_id:"near",method_name:"resolve",args_base64:Buffer.from(JSON.stringify({name:x})).toString("base64")});return JSON.parse(Buffer.from(B.result).toString())?.owner||null}catch{return null}},async isAvailable(q){return await this.resolve(q)===null},async getInfo(q){try{let x=q.toLowerCase().replace(/\.near$/,"");if(!Z(x))throw new Q("plugin_near_invalid_name");let F=J($.Near);if(!F)throw new Q("plugin_near_no_connection");let B=await F.provider.query({request_type:"call_function",finality:"final",account_id:"near",method_name:"get_info",args_base64:Buffer.from(JSON.stringify({name:x})).toString("base64")});return JSON.parse(Buffer.from(B.result).toString())||null}catch{return null}},async lookupNames(q){try{let x=J($.Near);if(!x)throw new Q("plugin_near_no_connection");let F=await x.provider.query({request_type:"call_function",finality:"final",account_id:"near",method_name:"get_names_by_owner",args_base64:Buffer.from(JSON.stringify({account_id:q})).toString("base64")}),B=JSON.parse(Buffer.from(F.result).toString());return Array.isArray(B)?B.map((Y)=>`${Y}.near`):[]}catch{return[]}},async register(q){let{name:x,publicKey:F}=q,B=x.toLowerCase().replace(/\.near$/,"");if(!Z(B))throw new Q("plugin_near_invalid_name");let Y=J($.Near),k=F||await Y.getPublicKey(),j=y(B);return Y.callFunction({contractId:"near",methodName:"create_account",args:{new_account_id:`${B}.near`,new_public_key:k},deposit:j})},transfer(q,x){let F=q.toLowerCase().replace(/\.near$/,"");if(!Z(F))throw new Q("plugin_near_invalid_name");return J($.Near).callFunction({contractId:"near",methodName:"transfer",args:{name:F,new_owner:x},deposit:"1"})}}})});export{R as NearPlugin};
2
2
 
3
3
  //# debugId=D977A83716DD691F64756E2164756E21
4
+ //# sourceMappingURL=index.js.map
@@ -1,3 +1,4 @@
1
1
  var c={};u(c,{RadixPlugin:()=>w});module.exports=p(c);var a=require("@swapkit/helpers"),w=a.createPlugin({name:"radix",properties:{supportedSwapkitProviders:[a.ProviderName.CAVIAR_V1]},methods:({getWallet:r})=>({swap:async function d({route:{tx:t,sellAmount:s,sellAsset:o}}){let e=await a.AssetValue.from({asyncTokenLookup:!0,value:s,asset:o});if(a.Chain.Radix!==e.chain)throw new a.SwapKitError("core_swap_invalid_params");let i=r(e.chain);try{return i.signAndBroadcast({manifest:t})}catch(n){throw new a.SwapKitError("core_swap_invalid_params",n)}}})});
2
2
 
3
3
  //# debugId=0E4076998B38FA0B64756E2164756E21
4
+ //# sourceMappingURL=index.cjs.map
@@ -1,3 +1,4 @@
1
1
  import"../chunk-wfktpptf.js";import{AssetValue as p,Chain as u,ProviderName as w,SwapKitError as e,createPlugin as c}from"@swapkit/helpers";var l=c({name:"radix",properties:{supportedSwapkitProviders:[w.CAVIAR_V1]},methods:({getWallet:r})=>({swap:async function d({route:{tx:t,sellAmount:s,sellAsset:o}}){let a=await p.from({asyncTokenLookup:!0,value:s,asset:o});if(u.Radix!==a.chain)throw new e("core_swap_invalid_params");let i=r(a.chain);try{return i.signAndBroadcast({manifest:t})}catch(n){throw new e("core_swap_invalid_params",n)}}})});export{l as RadixPlugin};
2
2
 
3
3
  //# debugId=1CB0136C68E6C70064756E2164756E21
4
+ //# sourceMappingURL=index.js.map
@@ -1,3 +1,4 @@
1
1
  var d={};w(d,{SolanaPlugin:()=>e});module.exports=u(d);var a=require("@swapkit/helpers"),e=a.createPlugin({name:"solana",properties:{supportedSwapkitProviders:[a.ProviderName.JUPITER]},methods:({getWallet:n})=>({swap:async function f({route:r}){let{VersionedTransaction:i}=await import("@solana/web3.js"),{tx:s,sellAsset:p}=r,t=(await a.AssetValue.from({asset:p})).chain;if(!(t===a.Chain.Solana&&s))throw new a.SwapKitError("core_swap_invalid_params");let o=n(t),c=i.deserialize(Buffer.from(s,"base64")),l=await o.signTransaction(c);return o.broadcastTransaction(l)}})});
2
2
 
3
3
  //# debugId=AF48A1D6E1E7D2FF64756E2164756E21
4
+ //# sourceMappingURL=index.cjs.map
@@ -1,3 +1,4 @@
1
1
  import{a as c,b as l}from"../chunk-wfktpptf.js";import{AssetValue as m,Chain as u,ProviderName as w,SwapKitError as d,createPlugin as f}from"@swapkit/helpers";var P=f({name:"solana",properties:{supportedSwapkitProviders:[w.JUPITER]},methods:({getWallet:o})=>({swap:async function S({route:e}){let{VersionedTransaction:n}=await import("@solana/web3.js"),{tx:a,sellAsset:r}=e,s=(await m.from({asset:r})).chain;if(!(s===u.Solana&&a))throw new d("core_swap_invalid_params");let t=o(s),i=n.deserialize(Buffer.from(a,"base64")),p=await t.signTransaction(i);return t.broadcastTransaction(p)}})});export{P as SolanaPlugin};
2
2
 
3
3
  //# debugId=152D8E277A7505FD64756E2164756E21
4
+ //# sourceMappingURL=index.js.map
@@ -1,3 +1,4 @@
1
1
  var e={};a(e,{validateAddressType:()=>B,ThorchainPlugin:()=>y,MayachainPlugin:()=>b});module.exports=s(e);var x=require("@swapkit/helpers"),M=require("@swapkit/helpers/api"),Y=require("@swapkit/helpers/contracts");var S=require("@swapkit/helpers");function B({chain:R,address:N}){if(!N)return!1;return R===S.Chain.Bitcoin?!N.startsWith("bc1p"):!0}function T({assetValue:R,from:N,memo:U="",...O}){return{...O,memo:U,from:N,assetValue:R}}var o={[x.FeeOption.Average]:1.2,[x.FeeOption.Fast]:1.5,[x.FeeOption.Fastest]:2},i={[x.Chain.Avalanche]:Y.TCAvalancheDepositABI,[x.Chain.Base]:Y.TCBaseDepositABI,[x.Chain.BinanceSmartChain]:Y.TCBscDepositABI,[x.Chain.Ethereum]:Y.TCEthereumVaultAbi},l={[x.Chain.Arbitrum]:Y.MayaArbitrumVaultAbi,[x.Chain.Ethereum]:Y.MayaEthereumVaultAbi},y=x.createPlugin({name:"thorchain",methods:w(x.Chain.THORChain),properties:{supportedSwapkitProviders:[x.ProviderName.THORCHAIN,x.ProviderName.THORCHAIN_STREAMING]}}),b=x.createPlugin({name:"mayachain",methods:w(x.Chain.Maya),properties:{supportedSwapkitProviders:[x.ProviderName.MAYACHAIN]}});function t(R){return async function N(U){if(R==="thorchain"&&U===x.Chain.THORChain||R==="mayachain"&&U===x.Chain.Maya)return{gas_rate:"0",router:"",address:"",halted:!1,chain:U};let $=(await M.SwapKitApi.thornode.getInboundAddresses(R)).find((v)=>v.chain===U);if(!$)throw new x.SwapKitError("core_inbound_data_not_found");if($?.halted)throw new x.SwapKitError("core_chain_halted");return $}}function w(R){return function N({getWallet:U}){let O=R===x.Chain.Maya?"mayachain":"thorchain",$=t(O);async function v({assetValue:q,type:z="checkOnly"}){let J=(await $(q.chain)).router,H=q.chain,Q=x.EVMChains.includes(H);if(Q&&q.isGasAsset||!Q||q.isSynthetic)return Promise.resolve(z==="checkOnly"?!0:"approved");let X=U(H);if(!X)throw new x.SwapKitError("core_wallet_connection_not_found");let Z=z==="checkOnly"?X.isApproved:X.approve;if(!(q.address&&X.address))throw new x.SwapKitError("core_approve_asset_address_or_from_not_found");return Z({amount:q.getBaseValue("bigint"),assetAddress:q.address,from:X.address,spenderAddress:J})}async function D({assetValue:q,recipient:z,router:J,...H}){let Q=O==="thorchain"?i:l,{chain:L,symbol:X,ticker:Z}=q,P=U(L);if(!P)throw new x.SwapKitError("core_wallet_connection_not_found");let{address:f}=P;if(!B({address:f,chain:L}))throw new x.SwapKitError("core_transaction_invalid_sender_address");let _=T({from:f,assetValue:q,recipient:z,router:J,...H});try{let j=Q?.[L];if(!j){let I=U(L);return R===L&&z===""?I.deposit(_):I.transfer(_)}let{getChecksumAddressFromAsset:k}=await import("@swapkit/toolboxes/evm");return U(L).call({abi:j,contractAddress:J||(await $(L)).router,funcName:"depositWithExpiry",funcParams:[z,k({chain:L,symbol:X,ticker:Z},L),q.getBaseValue("string"),_.memo,H.expiration||Number.parseInt(`${(Date.now()+900000)/1000}`)],txOverrides:{from:_.from,value:q.isGasAsset?q.getBaseValue("bigint"):void 0}})}catch(j){let k=typeof j==="string"?j.toLowerCase():j?.message.toLowerCase(),F=k?.includes("insufficient funds"),I=k?.includes("gas"),E=k?.includes("server"),u=k?.includes("user rejected");throw new x.SwapKitError(F?"core_transaction_deposit_insufficient_funds_error":I?"core_transaction_deposit_gas_error":E?"core_transaction_deposit_server_error":u?"core_transaction_user_rejected":"core_transaction_deposit_error",j)}}async function K({memo:q,assetValue:z}){let J=await M.SwapKitApi.thornode.getMimirInfo(O);if(J.HALTCHAINGLOBAL>=1||J.HALTTHORCHAIN>=1)throw new x.SwapKitError("thorchain_chain_halted");return D({assetValue:z,recipient:"",memo:q})}async function G({assetValue:q,memo:z,feeOptionKey:J=x.FeeOption.Fast}){let{gas_rate:H="0",router:Q,address:L}=await $(q.chain);return D({assetValue:q,recipient:L,memo:z,router:Q,feeRate:Number.parseInt(H)*o[J]})}function C({assetValue:q}){return v({assetValue:q,type:x.ApproveMode.Approve})}function A({assetValue:q}){return v({assetValue:q,type:x.ApproveMode.CheckOnly})}function m({assetValue:q,...z}){return K({assetValue:q,memo:x.getMemoForNameRegister(z)})}function c({assetValue:q,payoutAddress:z,name:J,ownerAddress:H}){let Q=z||U(q.chain)?.address;if(!Q)throw new x.SwapKitError("thorchain_preferred_asset_payout_required");return K({assetValue:x.AssetValue.from({chain:R}),memo:x.getMemoForNamePreferredAssetRegister({asset:q.toString(),chain:q.chain,name:J,owner:H,payout:Q})})}function g({type:q,assetValue:z,address:J}){let H=q===x.MemoType.UNBOND?x.getMemoForUnbond({address:J,unbondAmount:z.getBaseValue("number")}):x.getMemoForLeaveAndBond({type:q,address:J}),Q=q===x.MemoType.BOND?z:x.getMinAmountByChain(R);return K({memo:H,assetValue:Q})}async function h({baseAssetValue:q,assetValue:z}){if(q.lte(0)||z.lte(0))throw new x.SwapKitError("core_transaction_create_liquidity_invalid_params");let J=U(z.chain).address,H=U(R).address,Q=await x.wrapWithThrow(()=>{return G({assetValue:q,memo:x.getMemoForDeposit({...z,address:J})})},"core_transaction_create_liquidity_base_error"),L=await x.wrapWithThrow(()=>{return G({assetValue:z,memo:x.getMemoForDeposit({...z,address:H})})},"core_transaction_create_liquidity_asset_error");return{baseAssetTx:Q,assetTx:L}}function V({assetValue:q,poolAddress:z,address:J,symmetric:H}){if(H&&!J)throw new x.SwapKitError("core_transaction_add_liquidity_invalid_params");let Q=x.getMemoForDeposit({chain:z.split(".")[0],symbol:z.split(".")[1],address:H?J:""});return G({assetValue:q,memo:Q})}async function p({baseAssetValue:q,assetValue:z,baseAssetAddr:J,assetAddr:H,isPendingSymmAsset:Q,mode:L="sym"}){let{chain:X,symbol:Z}=z,P=L==="sym",f=q?.gt(0)&&(P||L==="baseAsset"),W=z?.gt(0)&&(P||L==="asset"),_=Q||f,j=U(R).address,k=_?J||j:"",F=P||L==="asset"?H||U(X).address:"";if(!(f||W))throw new x.SwapKitError("core_transaction_add_liquidity_invalid_params");if(_&&!k)throw new x.SwapKitError("core_transaction_add_liquidity_base_address");let I=f&&q?await x.wrapWithThrow(()=>{return G({assetValue:q,memo:x.getMemoForDeposit({chain:X,symbol:Z,address:F})})},"core_transaction_add_liquidity_base_error"):void 0,E=W&&z?await x.wrapWithThrow(()=>{return G({assetValue:z,memo:x.getMemoForDeposit({chain:X,symbol:Z,address:k})})},"core_transaction_add_liquidity_asset_error"):void 0;return{baseAssetTx:I,assetTx:E}}function n({memo:q,assetValue:z,percent:J,from:H,to:Q}){let L=Q==="baseAsset"&&H!=="baseAsset"?x.AssetValue.from({chain:R}):H==="sym"&&Q==="sym"||H==="baseAsset"||H==="asset"?void 0:z,X=x.getMinAmountByChain(H==="asset"?z.chain:R),Z=q||x.getMemoForWithdraw({symbol:z.symbol,chain:z.chain,ticker:z.ticker,basisPoints:Math.min(1e4,Math.round(J*100)),targetAsset:L?.toString()});return G({assetValue:X,memo:Z})}async function d({feeOptionKey:q,route:z}){let{memo:J,expiration:H,targetAddress:Q}=z,L=await x.AssetValue.from({asyncTokenLookup:!0,asset:z.sellAsset,value:z.sellAmount});if(!L)throw new x.SwapKitError("core_swap_asset_not_recognized");if(!B({address:z.destinationAddress,chain:x.AssetValue.from({asset:z.buyAsset}).chain}))throw new x.SwapKitError("core_transaction_invalid_recipient_address");let{address:Z}=await $(L.chain);return D({expiration:Number(H),assetValue:L,memo:J,feeOptionKey:q,router:Q,recipient:Z})}return{addLiquidity:p,addLiquidityPart:V,approveAssetValue:C,createLiquidity:h,deposit:D,depositToPool:G,getInboundDataByChain:$,isAssetValueApproved:A,nodeAction:g,registerName:m,registerPreferredAsset:c,swap:d,withdraw:n}}}
2
2
 
3
3
  //# debugId=5AD9581C3502FCE164756E2164756E21
4
+ //# sourceMappingURL=index.cjs.map
@@ -1,3 +1,4 @@
1
1
  import{a as e,b as xx}from"../chunk-wfktpptf.js";import{ApproveMode as C,AssetValue as B,Chain as Y,EVMChains as qx,FeeOption as S,MemoType as A,ProviderName as b,SwapKitError as U,createPlugin as c,getMemoForDeposit as v,getMemoForLeaveAndBond as zx,getMemoForNamePreferredAssetRegister as Hx,getMemoForNameRegister as Jx,getMemoForUnbond as Lx,getMemoForWithdraw as Qx,getMinAmountByChain as m,wrapWithThrow as M}from"@swapkit/helpers";import{SwapKitApi as g}from"@swapkit/helpers/api";import{MayaArbitrumVaultAbi as Rx,MayaEthereumVaultAbi as Ux,TCAvalancheDepositABI as Xx,TCBaseDepositABI as Yx,TCBscDepositABI as Zx,TCEthereumVaultAbi as $x}from"@swapkit/helpers/contracts";import{Chain as a}from"@swapkit/helpers";function W({chain:Q,address:N}){if(!N)return!1;return Q===a.Bitcoin?!N.startsWith("bc1p"):!0}function w({assetValue:Q,from:N,memo:R="",...O}){return{...O,memo:R,from:N,assetValue:Q}}var jx={[S.Average]:1.2,[S.Fast]:1.5,[S.Fastest]:2},kx={[Y.Avalanche]:Xx,[Y.Base]:Yx,[Y.BinanceSmartChain]:Zx,[Y.Ethereum]:$x},Gx={[Y.Arbitrum]:Rx,[Y.Ethereum]:Ux},_x=c({name:"thorchain",methods:h(Y.THORChain),properties:{supportedSwapkitProviders:[b.THORCHAIN,b.THORCHAIN_STREAMING]}}),Nx=c({name:"mayachain",methods:h(Y.Maya),properties:{supportedSwapkitProviders:[b.MAYACHAIN]}});function Ox(Q){return async function N(R){if(Q==="thorchain"&&R===Y.THORChain||Q==="mayachain"&&R===Y.Maya)return{gas_rate:"0",router:"",address:"",halted:!1,chain:R};let $=(await g.thornode.getInboundAddresses(Q)).find((D)=>D.chain===R);if(!$)throw new U("core_inbound_data_not_found");if($?.halted)throw new U("core_chain_halted");return $}}function h(Q){return function N({getWallet:R}){let O=Q===Y.Maya?"mayachain":"thorchain",$=Ox(O);async function D({assetValue:x,type:q="checkOnly"}){let H=(await $(x.chain)).router,z=x.chain,L=qx.includes(z);if(L&&x.isGasAsset||!L||x.isSynthetic)return Promise.resolve(q==="checkOnly"?!0:"approved");let X=R(z);if(!X)throw new U("core_wallet_connection_not_found");let Z=q==="checkOnly"?X.isApproved:X.approve;if(!(x.address&&X.address))throw new U("core_approve_asset_address_or_from_not_found");return Z({amount:x.getBaseValue("bigint"),assetAddress:x.address,from:X.address,spenderAddress:H})}async function F({assetValue:x,recipient:q,router:H,...z}){let L=O==="thorchain"?kx:Gx,{chain:J,symbol:X,ticker:Z}=x,P=R(J);if(!P)throw new U("core_wallet_connection_not_found");let{address:f}=P;if(!W({address:f,chain:J}))throw new U("core_transaction_invalid_sender_address");let _=w({from:f,assetValue:x,recipient:q,router:H,...z});try{let j=L?.[J];if(!j){let I=R(J);return Q===J&&q===""?I.deposit(_):I.transfer(_)}let{getChecksumAddressFromAsset:k}=await import("@swapkit/toolboxes/evm");return R(J).call({abi:j,contractAddress:H||(await $(J)).router,funcName:"depositWithExpiry",funcParams:[q,k({chain:J,symbol:X,ticker:Z},J),x.getBaseValue("string"),_.memo,z.expiration||Number.parseInt(`${(Date.now()+900000)/1000}`)],txOverrides:{from:_.from,value:x.isGasAsset?x.getBaseValue("bigint"):void 0}})}catch(j){let k=typeof j==="string"?j.toLowerCase():j?.message.toLowerCase(),E=k?.includes("insufficient funds"),I=k?.includes("gas"),K=k?.includes("server"),s=k?.includes("user rejected");throw new U(E?"core_transaction_deposit_insufficient_funds_error":I?"core_transaction_deposit_gas_error":K?"core_transaction_deposit_server_error":s?"core_transaction_user_rejected":"core_transaction_deposit_error",j)}}async function T({memo:x,assetValue:q}){let H=await g.thornode.getMimirInfo(O);if(H.HALTCHAINGLOBAL>=1||H.HALTTHORCHAIN>=1)throw new U("thorchain_chain_halted");return F({assetValue:q,recipient:"",memo:x})}async function G({assetValue:x,memo:q,feeOptionKey:H=S.Fast}){let{gas_rate:z="0",router:L,address:J}=await $(x.chain);return F({assetValue:x,recipient:J,memo:q,router:L,feeRate:Number.parseInt(z)*jx[H]})}function V({assetValue:x}){return D({assetValue:x,type:C.Approve})}function p({assetValue:x}){return D({assetValue:x,type:C.CheckOnly})}function n({assetValue:x,...q}){return T({assetValue:x,memo:Jx(q)})}function d({assetValue:x,payoutAddress:q,name:H,ownerAddress:z}){let L=q||R(x.chain)?.address;if(!L)throw new U("thorchain_preferred_asset_payout_required");return T({assetValue:B.from({chain:Q}),memo:Hx({asset:x.toString(),chain:x.chain,name:H,owner:z,payout:L})})}function u({type:x,assetValue:q,address:H}){let z=x===A.UNBOND?Lx({address:H,unbondAmount:q.getBaseValue("number")}):zx({type:x,address:H}),L=x===A.BOND?q:m(Q);return T({memo:z,assetValue:L})}async function r({baseAssetValue:x,assetValue:q}){if(x.lte(0)||q.lte(0))throw new U("core_transaction_create_liquidity_invalid_params");let H=R(q.chain).address,z=R(Q).address,L=await M(()=>{return G({assetValue:x,memo:v({...q,address:H})})},"core_transaction_create_liquidity_base_error"),J=await M(()=>{return G({assetValue:q,memo:v({...q,address:z})})},"core_transaction_create_liquidity_asset_error");return{baseAssetTx:L,assetTx:J}}function o({assetValue:x,poolAddress:q,address:H,symmetric:z}){if(z&&!H)throw new U("core_transaction_add_liquidity_invalid_params");let L=v({chain:q.split(".")[0],symbol:q.split(".")[1],address:z?H:""});return G({assetValue:x,memo:L})}async function i({baseAssetValue:x,assetValue:q,baseAssetAddr:H,assetAddr:z,isPendingSymmAsset:L,mode:J="sym"}){let{chain:X,symbol:Z}=q,P=J==="sym",f=x?.gt(0)&&(P||J==="baseAsset"),y=q?.gt(0)&&(P||J==="asset"),_=L||f,j=R(Q).address,k=_?H||j:"",E=P||J==="asset"?z||R(X).address:"";if(!(f||y))throw new U("core_transaction_add_liquidity_invalid_params");if(_&&!k)throw new U("core_transaction_add_liquidity_base_address");let I=f&&x?await M(()=>{return G({assetValue:x,memo:v({chain:X,symbol:Z,address:E})})},"core_transaction_add_liquidity_base_error"):void 0,K=y&&q?await M(()=>{return G({assetValue:q,memo:v({chain:X,symbol:Z,address:k})})},"core_transaction_add_liquidity_asset_error"):void 0;return{baseAssetTx:I,assetTx:K}}function l({memo:x,assetValue:q,percent:H,from:z,to:L}){let J=L==="baseAsset"&&z!=="baseAsset"?B.from({chain:Q}):z==="sym"&&L==="sym"||z==="baseAsset"||z==="asset"?void 0:q,X=m(z==="asset"?q.chain:Q),Z=x||Qx({symbol:q.symbol,chain:q.chain,ticker:q.ticker,basisPoints:Math.min(1e4,Math.round(H*100)),targetAsset:J?.toString()});return G({assetValue:X,memo:Z})}async function t({feeOptionKey:x,route:q}){let{memo:H,expiration:z,targetAddress:L}=q,J=await B.from({asyncTokenLookup:!0,asset:q.sellAsset,value:q.sellAmount});if(!J)throw new U("core_swap_asset_not_recognized");if(!W({address:q.destinationAddress,chain:B.from({asset:q.buyAsset}).chain}))throw new U("core_transaction_invalid_recipient_address");let{address:Z}=await $(J.chain);return F({expiration:Number(z),assetValue:J,memo:H,feeOptionKey:x,router:L,recipient:Z})}return{addLiquidity:i,addLiquidityPart:o,approveAssetValue:V,createLiquidity:r,deposit:F,depositToPool:G,getInboundDataByChain:$,isAssetValueApproved:p,nodeAction:u,registerName:n,registerPreferredAsset:d,swap:t,withdraw:l}}}export{W as validateAddressType,_x as ThorchainPlugin,Nx as MayachainPlugin};
2
2
 
3
3
  //# debugId=9E969DDFEF3179D664756E2164756E21
4
+ //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "@polkadot/util": "^13.5.0",
6
6
  "@solana/web3.js": "^1.98.0",
7
7
  "@swapkit/helpers": "^4.0.0-beta.24",
8
- "@swapkit/toolboxes": "^4.0.0-beta.35",
8
+ "@swapkit/toolboxes": "^4.0.0-beta.36",
9
9
  "ts-pattern": "^5.0.0"
10
10
  },
11
11
  "devDependencies": {
@@ -72,5 +72,5 @@
72
72
  "type-check:go": "tsgo"
73
73
  },
74
74
  "type": "module",
75
- "version": "4.0.0-beta.35"
75
+ "version": "4.0.0-beta.36"
76
76
  }