@swapkit/plugins 4.6.51 → 4.6.53
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/chainflip/index.cjs +1 -1
- package/dist/src/evm/index.cjs +1 -1
- package/dist/src/garden/index.cjs +1 -1
- package/dist/src/harbor/index.cjs +1 -1
- package/dist/src/index.cjs +1 -1
- package/dist/src/near/index.cjs +1 -1
- package/dist/src/radix/index.cjs +1 -1
- package/dist/src/solana/index.cjs +1 -1
- package/dist/src/swapkit/index.cjs +1 -1
- package/dist/src/thorchain/index.cjs +1 -1
- package/package.json +3 -3
- package/dist/chunk-r47w260w.js +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# @swapkit/plugins
|
|
2
2
|
|
|
3
|
+
## 4.6.53
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#288](https://github.com/swapkit/sdk/pull/288) [`3172029`](https://github.com/swapkit/sdk/commit/3172029e6349e82b128719a640604ef89e4645ab) Thanks [@ice-chillios](https://github.com/ice-chillios)! - Add Linea (`59144`) and Plasma (`9745`) EVM chains: chain/chainId enums, chain configs, and EVM toolbox wiring. (via @swapkit/toolboxes@4.18.0)
|
|
8
|
+
- [#247](https://github.com/swapkit/sdk/pull/247) [`f3888bf`](https://github.com/swapkit/sdk/commit/f3888bf4695cdef3353557f2494034acc178c67d) Thanks [@ice-chillios](https://github.com/ice-chillios)! - Bump `@aptos-labs/ts-sdk` from 1.34.0 to 7.0.1. v7 is ESM-only and requires Node 22+. Adds two `AptosConfig` parameters required by v7: `network: Network.MAINNET` (custom endpoints now require an explicit network) and `clientConfig: { http2: false }` (Bun's HTTP/2 client isn't mature; v7 warns at construction otherwise). No public API change in our usage. (via @swapkit/toolboxes@4.18.0)
|
|
9
|
+
- [#247](https://github.com/swapkit/sdk/pull/247) [`f3888bf`](https://github.com/swapkit/sdk/commit/f3888bf4695cdef3353557f2494034acc178c67d) Thanks [@ice-chillios](https://github.com/ice-chillios)! - Bump `@polkadot/api`, `@polkadot/rpc-provider`, `@polkadot/types` from 15.10.2 to 16.5.6. Also moves `@polkadot/types` from a hard-pin in `toolboxes/package.json` to the root catalog. Public API unchanged in our usage. v16's Metadata v16 surface-renames (`signedExtensions` → `transactionExtensions`) live inside `api.runtimeMetadata.asV*` which we do not touch. (via @swapkit/toolboxes@4.18.0)
|
|
10
|
+
- [#247](https://github.com/swapkit/sdk/pull/247) [`f3888bf`](https://github.com/swapkit/sdk/commit/f3888bf4695cdef3353557f2494034acc178c67d) Thanks [@ice-chillios](https://github.com/ice-chillios)! - Bump `@polkadot/keyring`, `@polkadot/util`, `@polkadot/util-crypto` from 13.5.7 to 14.0.3. sr25519 implementation now uses pure-JS `micro-sr25519` instead of WASM, shrinking the substrate bundle. Public API unchanged; `cryptoWaitReady()` remains required for ed25519/secp256k1 paths. (via @swapkit/toolboxes@4.18.0)
|
|
11
|
+
- [#247](https://github.com/swapkit/sdk/pull/247) [`f3888bf`](https://github.com/swapkit/sdk/commit/f3888bf4695cdef3353557f2494034acc178c67d) Thanks [@ice-chillios](https://github.com/ice-chillios)! - Bump `@mysten/sui` from 1.44.0 to 2.17.0. The JSON-RPC entry moved from `@mysten/sui/client` to `@mysten/sui/jsonRpc` and `SuiClient` was renamed to `SuiJsonRpcClient` (aliased locally so no public type changes). `network` is now a mandatory `SuiJsonRpcClient` option. Adds a regression test asserting that built transactions carry a non-empty expiration, guarding against silent reversion of v2's epoch+1 default. (via @swapkit/toolboxes@4.18.0)
|
|
12
|
+
- [#287](https://github.com/swapkit/sdk/pull/287) [`19133e3`](https://github.com/swapkit/sdk/commit/19133e3c212cb0a8854698dc041b5487b9790175) Thanks [@ochhii1337](https://github.com/ochhii1337)! - Allow handling for hex strings in Tron toolbox memos (via @swapkit/toolboxes@4.18.0)
|
|
13
|
+
|
|
14
|
+
## 4.6.52
|
|
15
|
+
|
|
16
|
+
### Patch Changes
|
|
17
|
+
|
|
18
|
+
- [#278](https://github.com/swapkit/sdk/pull/278) [`02cec19`](https://github.com/swapkit/sdk/commit/02cec190fa5688a75be4ec00d9fdf33f871a7962) Thanks [@towanTG](https://github.com/towanTG)! - Add `localMode` to SKConfig for routing quote and swap requests to locally running API services. When enabled, quote requests go to `http://localhost:3000` and swap requests to `http://localhost:3001` by default (both configurable via `quoteUrl`/`swapUrl`), while all other endpoints keep using the configured `apiUrl`. (via @swapkit/helpers@4.15.0)
|
|
19
|
+
- [#277](https://github.com/swapkit/sdk/pull/277) [`731e9c1`](https://github.com/swapkit/sdk/commit/731e9c18dfa8bb9b289699a9baee8456d4e4ad30) Thanks [@GiMa-SwapKit](https://github.com/GiMa-SwapKit)! - Optimize Sui `createTransaction` by setting gas price, gas budget, and gas payment refs before building transactions, reducing internal Sui SDK RPC round trips for native and token transfers. (via @swapkit/toolboxes@4.17.6)
|
|
20
|
+
|
|
3
21
|
## 4.6.51
|
|
4
22
|
|
|
5
23
|
### Patch Changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var K={
|
|
1
|
+
var{defineProperty:f,getOwnPropertyNames:S,getOwnPropertyDescriptor:h}=Object,B=Object.prototype.hasOwnProperty;function E(r){return this[r]}var K=(r)=>{var n=(w??=new WeakMap).get(r),p;if(n)return n;if(n=f({},"__esModule",{value:!0}),r&&typeof r==="object"||typeof r==="function"){for(var a of S(r))if(!B.call(n,a))f(n,a,{get:E.bind(r,a),enumerable:!(p=h(r,a))||p.enumerable})}return w.set(r,n),n},w;var q=(r)=>r;function G(r,n){this[r]=q.bind(null,n)}var L=(r,n)=>{for(var p in n)f(r,p,{get:n[p],enumerable:!0,configurable:!0,set:G.bind(n,p)})};var g=(r,n)=>()=>(r&&(n=r(r=0)),n);function k(r){return typeof r==="string"&&/^0x[0-9a-fA-F]*$/.test(r)}function z(r){return`0x${Array.from(r).map((n)=>n.toString(16).padStart(2,"0")).join("")}`}function F(r){let n=R.base58.decode(r),p=n[0];if(p===void 0||n.length<35)throw new m.SwapKitError("core_transaction_failed","Invalid SS58 address format");if((p&128)!==0||p===46||p===47)throw new m.SwapKitError("core_transaction_failed","Invalid SS58 address format");let a=(p&64)!==0?2:1,e=n.slice(a,n.length-2),t=n.slice(n.length-2),s=new Uint8Array([...Q,...n.slice(0,n.length-2)]),o=N.blake2b(s,{dkLen:64});if(t[0]!==o[0]||t[1]!==o[1])throw new m.SwapKitError("core_transaction_failed","Invalid SS58 checksum");return e}var N,R,m,Q,H,J=(r)=>async()=>{let p=(await r.getApi()).tx.swapping?.registerAsBroker?.();if(!p)throw new m.SwapKitError("chainflip_broker_register");return r.signAndBroadcast({address:await r.getAddress(),tx:p})},U=(r)=>async({feeAsset:n,recipient:p})=>{let a=n.chain===m.Chain.Polkadot,e=m.wrapWithThrow(()=>{return a?r.encodeAddress(r.decodeAddress(p),"hex"):p},"chainflip_broker_recipient_error"),s=(await r.getApi()).tx?.swapping?.withdraw?.(n.ticker.toLowerCase(),{[n.chain.toLowerCase()]:e});if(!s)throw new m.SwapKitError("chainflip_broker_withdraw");return new Promise((o)=>{r.signAndBroadcast({callback:(_)=>{if(!_.status?.isFinalized)return;let i=_.events.find((O)=>O.event.method==="WithdrawalRequested");if(!i)throw new m.SwapKitError("chainflip_channel_error","Could not find 'WithdrawalRequested' event");let{event:{data:{egressId:u,egressAsset:y,egressAmount:A,egressFee:C,destinationAddress:D}}}=i.toHuman();o({destinationAddress:D,egressAmount:A,egressAsset:y,egressFee:C,egressId:u})},tx:s})})},Y=(r)=>async({evmToolbox:n,stateChainAccount:p,assetValue:a})=>{let{chainflipGateway:e}=await import("@swapkit/helpers/contracts"),t=m.AssetValue.from({asset:"ETH.FLIP"});if(!a.eqAsset(t))throw new m.SwapKitError("chainflip_broker_fund_only_flip_supported");if(!r.validateAddress(p))throw new m.SwapKitError("chainflip_broker_fund_invalid_address");let s=k(p)?p:z(F(p));return n.call({abi:e,contractAddress:"0x6995ab7c4d7f4b03f467cf4c8e920427d9621dbd",funcName:"fundStateChainAccount",funcParams:[s,a.getBaseValue("string")]})},Z=(r)=>({fundStateChainAccount:Y(r),registerAsBroker:J(r),withdrawFee:U(r)});var M=g(()=>{N=require("@noble/hashes/blake2.js"),R=require("@scure/base"),m=require("@swapkit/helpers"),Q=new TextEncoder().encode("SS58PRE");H=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 T({name:r,properties:n,methods:p}){function a(e){return{...p(e),...n}}return{[r]:a}}function rr({approveMode:r,getWallet:n}){return function(a){return P.match(a).with({route:P.P.not(P.P.nullish),spenderAddress:P.P.string},async({route:e,spenderAddress:t})=>{let s=d.AssetValue.from({asset:e.sellAsset,value:e.sellAmount}),o=d.EVMChains.includes(s.chain);if(o&&s.isGasAsset||!o||s.isSynthetic)return r==="checkOnly"?!0:"approved";let i=await c.SwapKitApi.getTokenApproval({routeId:e.routeId,spender:t});if(r==="checkOnly")return i.isApproved;if(!i.approvalTransaction)throw new d.SwapKitError("core_approve_asset_target_invalid");return n(s.chain).sendTransaction({data:i.approvalTransaction.data,from:i.approvalTransaction.from,to:i.approvalTransaction.to,value:BigInt(s.getBaseValue("bigint")||"0")})}).otherwise(({spenderAddress:e,assetValue:t})=>{let s=t.chain,o=d.EVMChains.includes(s);if(o&&t.isGasAsset||!o||t.isSynthetic)return Promise.resolve(r==="checkOnly"?!0:"approved");let i=n(s),u=r==="checkOnly"?i.isApproved:i.approve;if(!(t.address&&i.address))throw new d.SwapKitError("core_approve_asset_address_or_from_not_found");return u({amount:t.getBaseValue("bigint"),assetAddress:t.address,from:i.address,spenderAddress:e})})}}var d,c,P;var l=g(()=>{d=require("@swapkit/helpers"),c=require("@swapkit/helpers/api"),P=require("ts-pattern")});var v,V,$;var I=g(()=>{l();v=require("@swapkit/helpers"),V=require("@swapkit/helpers/api"),$=T({methods:({getWallet:r})=>({swap:async function(p){if(!(p?.route?.buyAsset&&p.route.meta.chainflip))throw new v.SwapKitError("core_swap_invalid_params",{...p});let{route:{buyAsset:a,sellAsset:e,sellAmount:t,meta:{chainflip:s}},maxBoostFeeBps:o=0,authorizations:_}=p;if(!(e&&a))throw new v.SwapKitError("core_swap_asset_not_recognized");let i=await v.AssetValue.from({asset:e,asyncTokenLookup:!0,value:t}),u=r(i.chain);if(!u||!("transfer"in u))throw new v.SwapKitError("core_wallet_connection_not_found");let{depositAddress:y}=await V.SwapKitApi.getChainflipDepositChannel({...s,maxBoostFeeBps:o||s.maxBoostFeeBps});return await u.transfer({assetValue:i,isProgramDerivedAddress:!0,recipient:y,sender:u.address,..._?.length&&{authorizations:_}})}}),name:"chainflip",properties:{supportedSwapkitProviders:[v.ProviderName.CHAINFLIP,v.ProviderName.CHAINFLIP_STREAMING]}})});var X={};L(X,{assetIdentifierToChainflipTicker:()=>H,ChainflipPlugin:()=>$,ChainflipBroker:()=>Z});module.exports=K(X);var W=g(()=>{M();I()});W();
|
package/dist/src/evm/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var w={}
|
|
1
|
+
var{defineProperty:l,getOwnPropertyNames:T,getOwnPropertyDescriptor:E}=Object,M=Object.prototype.hasOwnProperty;function S(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 T(e))if(!M.call(r,n))l(r,n,{get:S.bind(e,n),enumerable:!(s=E(e,n))||s.enumerable})}return w.set(e,r),r},w;var _=(e)=>e;function R(e,r){this[e]=_.bind(null,r)}var C=(e,r)=>{for(var s in r)l(e,s,{get:r[s],enumerable:!0,configurable:!0,set:R.bind(r,s)})};var f=(e,r)=>()=>(e&&(r=e(e=0)),r);function y({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 P.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,P,d;var V=f(()=>{u=require("@swapkit/helpers"),P=require("@swapkit/helpers/api"),d=require("ts-pattern")});var k={};C(k,{EVMPlugin:()=>N});module.exports=g(k);var a,N;var K=f(()=>{V();a=require("@swapkit/helpers"),N=y({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:BigInt(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]}})});K();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var x={
|
|
1
|
+
var{defineProperty:h,getOwnPropertyNames:C,getOwnPropertyDescriptor:_}=Object,k=Object.prototype.hasOwnProperty;function x(e){return this[e]}var N=(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 C(e))if(!k.call(a,i))h(a,i,{get:x.bind(e,i),enumerable:!(t=_(e,i))||t.enumerable})}return f.set(e,a),a},f;var K=(e)=>e;function B(e,a){this[e]=K.bind(null,a)}var G=(e,a)=>{for(var t in a)h(e,t,{get:a[t],enumerable:!0,configurable:!0,set:B.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;var M=w(()=>{y();P=require("@solana/web3.js"),s=require("@swapkit/helpers"),V=require("ts-pattern"),E=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 V.match(c.chain).with(...s.EVMChains,(u)=>{let r=e(u),{from:l,to:v,data:R,value:S}=o;return r.sendTransaction({data:R,from:l,to:v,value:BigInt(S)})}).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 O={};G(O,{GardenPlugin:()=>E});module.exports=N(O);var b=w(()=>{M()});b();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var
|
|
1
|
+
var{defineProperty:f,getOwnPropertyNames:E,getOwnPropertyDescriptor:S}=Object,k=Object.prototype.hasOwnProperty;function _(e){return this[e]}var C=(e)=>{var r=(T??=new WeakMap).get(e),t;if(r)return r;if(r=f({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function"){for(var o of E(e))if(!k.call(r,o))f(r,o,{get:_.bind(e,o),enumerable:!(t=S(e,o))||t.enumerable})}return T.set(e,r),r},T;var N=(e)=>e;function K(e,r){this[e]=N.bind(null,r)}var x=(e,r)=>{for(var t in r)f(e,t,{get:r[t],enumerable:!0,configurable:!0,set:K.bind(r,t)})};var g=(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 y({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 V.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,V,l;var R=g(()=>{u=require("@swapkit/helpers"),V=require("@swapkit/helpers/api"),l=require("ts-pattern")});var O={};x(O,{HarborPlugin:()=>b});module.exports=C(O);var s,P,d,B=(e)=>P.EVMTransactionSchema.safeParse(e).success,b;var I=g(()=>{R();s=require("@swapkit/helpers"),P=require("@swapkit/helpers/api"),d=require("ts-pattern"),b=M({methods:({getWallet:e})=>({approveAssetValue:y({approveMode:s.ApproveMode.Approve,getWallet:e}),isAssetValueApproved:y({approveMode:s.ApproveMode.CheckOnly,getWallet:e}),swap:async function({route:{tx:t,sellAsset:o,memo:i,targetAddress:n,sellAmount:p},feeOptionKey:c}){let v=await s.AssetValue.from({asset:o,asyncTokenLookup:!0,value:p}),a=v.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:h})=>{let w=await e(m),A=P.EVMTransactionSchema.parse(h);return w.sendTransaction({...A,feeOptionKey:c,value:BigInt(A.value)})}).with({chain:s.Chain.Bitcoin,memo:d.P.string,targetAddress:d.P.string},({chain:m,memo:h,targetAddress:w})=>{return e(m).transfer({assetValue:v,feeOptionKey:c,memo:h,recipient:w})}).otherwise(()=>{throw new s.SwapKitError("core_swap_invalid_params",{chain:a,memo:i,targetAddress:n,tx:t})})}}),name:"harbor",properties:{supportedSwapkitProviders:[s.ProviderName.HARBOR]}})});I();
|
package/dist/src/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var h={};g(h,{loadPlugin:()=>c,loadDefaultPlugins:()=>y,createPlugin:()=>P,approve:()=>s});module.exports=m(h);async function y(){let[{ChainflipPlugin:t},{EVMPlugin:n},{GardenPlugin:a},{HarborPlugin:i},{NearPlugin:r},{RadixPlugin:o},{SolanaPlugin:p},{SwapKitPlugin:e},{MayachainPlugin:l,ThorchainPlugin:u}]=await Promise.all([import("./chainflip/index.cjs"),import("./evm/index.cjs"),import("./garden/index.cjs"),import("./harbor/index.cjs"),import("./near/index.cjs"),import("./radix/index.cjs"),import("./solana/index.cjs"),import("./swapkit/index.cjs"),import("./thorchain/index.cjs")]);return{...t,...n,...l,...u,...o,...p,...r,...a,...e,...i}}async function c(t){let{match:n}=await import("ts-pattern");return await n(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("mayachain",async()=>{let{MayachainPlugin: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("garden",async()=>{let{GardenPlugin:i}=await import("./garden/index.cjs");return i}).with("solana",async()=>{let{SolanaPlugin:i}=await import("./solana/index.cjs");return i}).with("swapkit",async()=>{let{SwapKitPlugin:i}=await import("./swapkit/index.cjs");return i}).with("near",async()=>{let{NearPlugin:i}=await import("./near/index.cjs");return i}).with("harbor",async()=>{let{HarborPlugin:i}=await import("./harbor/index.cjs");return i}).exhaustive()}
|
|
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()}
|
package/dist/src/near/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var
|
|
1
|
+
var{defineProperty:$,getOwnPropertyNames:z,getOwnPropertyDescriptor:O}=Object,b=Object.prototype.hasOwnProperty;function U(p){return this[p]}var K=(p)=>{var v=(j??=new WeakMap).get(p),o;if(v)return v;if(v=$({},"__esModule",{value:!0}),p&&typeof p==="object"||typeof p==="function"){for(var T of z(p))if(!b.call(v,T))$(v,T,{get:U.bind(p,T),enumerable:!(o=O(p,T))||o.enumerable})}return j.set(p,v),v},j;var A=(p)=>p;function S(p,v){this[p]=A.bind(null,v)}var g=(p,v)=>{for(var o in v)$(p,o,{get:v[o],enumerable:!0,configurable:!0,set:S.bind(v,o)})};var q=(p,v)=>()=>(p&&(v=p(p=0)),v);function F({name:p,properties:v,methods:o}){function T(V){return{...o(V),...v}}return{[p]:T}}function m({approveMode:p,getWallet:v}){return function(T){return M.match(T).with({route:M.P.not(M.P.nullish),spenderAddress:M.P.string},async({route:V,spenderAddress:P})=>{let _=k.AssetValue.from({asset:V.sellAsset,value:V.sellAmount}),i=k.EVMChains.includes(_.chain);if(i&&_.isGasAsset||!i||_.isSynthetic)return p==="checkOnly"?!0:"approved";let x=await u.SwapKitApi.getTokenApproval({routeId:V.routeId,spender:P});if(p==="checkOnly")return x.isApproved;if(!x.approvalTransaction)throw new k.SwapKitError("core_approve_asset_target_invalid");return v(_.chain).sendTransaction({data:x.approvalTransaction.data,from:x.approvalTransaction.from,to:x.approvalTransaction.to,value:BigInt(_.getBaseValue("bigint")||"0")})}).otherwise(({spenderAddress:V,assetValue:P})=>{let _=P.chain,i=k.EVMChains.includes(_);if(i&&P.isGasAsset||!i||P.isSynthetic)return Promise.resolve(p==="checkOnly"?!0:"approved");let x=v(_),R=p==="checkOnly"?x.isApproved:x.approve;if(!(P.address&&x.address))throw new k.SwapKitError("core_approve_asset_address_or_from_not_found");return R({amount:P.getBaseValue("bigint"),assetAddress:P.address,from:x.address,spenderAddress:V})})}}var k,u,M;var G=q(()=>{k=require("@swapkit/helpers"),u=require("@swapkit/helpers/api"),M=require("ts-pattern")});function Q(p){if(p.length<W||p.length>d)return!1;return/^[a-z0-9]+(-[a-z0-9]+)*$/.test(p)}function H(p){let v=p.length,o;if(v<=2)o="50";else if(v<=3)o="20";else if(v<=4)o="5";else if(v<=5)o="1";else o="0.1";return D.parseNearAmount(o)||"0"}var D,W=2,d=64;var L=q(()=>{D=require("@near-js/utils")});var y,B,h=(p)=>p instanceof Error&&/UNKNOWN_ACCOUNT|does not exist while viewing/.test(p.message),c;var X=q(()=>{G();L();y=require("@swapkit/helpers"),B=require("ts-pattern"),c=F({methods:({getWallet:p})=>({nearNames:{async getInfo(v){let o=v.toLowerCase().replace(/\.near$/,"");if(!Q(o))throw new y.SwapKitError("plugin_near_invalid_name");let T=`${o}.near`,V=p(y.Chain.Near);if(!V)throw new y.SwapKitError("plugin_near_no_connection");let P=await V.getNearProvider();try{let[_,i]=await Promise.all([P.query({account_id:T,finality:"final",request_type:"view_account"}),P.query({account_id:T,finality:"final",request_type:"view_access_key_list"})]);return{accountId:T,balance:_?.amount,codeHash:_?.code_hash,publicKeys:(i?.keys??[]).map((f)=>f.public_key),storageUsed:_?.storage_usage}}catch(_){if(h(_))return null;throw _}},async isAvailable(v){return await this.resolve(v)===null},async lookupNames(v){let o=p(y.Chain.Near);if(!o)throw new y.SwapKitError("plugin_near_no_connection");let T=await o.getNearProvider();try{return await T.query({account_id:v,finality:"final",request_type:"view_account"}),v.endsWith(".near")?[v]:[]}catch{return[]}},async register(v){let{name:o,publicKey:T}=v,V=o.toLowerCase().replace(/\.near$/,"");if(!Q(V))throw new y.SwapKitError("plugin_near_invalid_name");let P=p(y.Chain.Near),_=T||await P.getPublicKey(),i=H(V);return P.callFunction({args:{new_account_id:`${V}.near`,new_public_key:_},contractId:"near",deposit:i,methodName:"create_account"})},async resolve(v){let o=v.toLowerCase().replace(/\.near$/,"");if(!Q(o))throw new y.SwapKitError("plugin_near_invalid_name");let T=`${o}.near`,V=p(y.Chain.Near);if(!V)throw new y.SwapKitError("plugin_near_no_connection");try{return await(await V.getNearProvider()).query({account_id:T,finality:"final",request_type:"view_account"}),T}catch(P){if(h(P))return null;throw P}},transfer(v,o){let T=v.toLowerCase().replace(/\.near$/,"");if(!Q(T))throw new y.SwapKitError("plugin_near_invalid_name");return p(y.Chain.Near).callFunction({args:{name:T,new_owner:o},contractId:"near",deposit:"1",methodName:"transfer"})}},async swap(v){let{route:{buyAsset:o,sellAsset:T,inboundAddress:V,sellAmount:P,meta:{near:_}}}=v;if(!(T&&o&&_?.sellAsset))throw new y.SwapKitError("core_swap_asset_not_recognized");if(!V)throw new y.SwapKitError("core_swap_invalid_params",{missing:["inboundAddress"]});let i=y.AssetValue.from({asset:T,value:P});return await B.match({chain:i.chain,isGasAsset:i.isGasAsset}).with({chain:y.Chain.Near,isGasAsset:!1},async()=>{let f=p(y.Chain.Near);if(!f)throw new y.SwapKitError("core_wallet_connection_not_found");let x=await f.createContractFunctionCall({args:{amount:i.getBaseValue("string"),msg:JSON.stringify({receiver_id:V}),receiver_id:"intents.near"},attachedDeposit:"1",contractId:i.address,gas:"250000000000000",methodName:"ft_transfer_call",sender:f.address});return f.signAndBroadcastTransaction(x)}).otherwise(async()=>{let f=p(i.chain);if(!f)throw new y.SwapKitError("core_wallet_connection_not_found");return await f.transfer({assetValue:i,isProgramDerivedAddress:!0,recipient:V,sender:f.address})})},async swapWithUtxos(v){let{route:{buyAsset:o,sellAsset:T,inboundAddress:V,sellAmount:P,meta:{near:_}},utxos:i,feeRate:f,feeOptionKey:x,changeAddress:R}=v;if(!(T&&o&&_?.sellAsset))throw new y.SwapKitError("core_swap_asset_not_recognized");if(!V)throw new y.SwapKitError("core_swap_invalid_params",{missing:["inboundAddress"]});if(!i||i.length===0)throw new y.SwapKitError("core_swap_invalid_params",{missing:["utxos"]});let J=y.AssetValue.from({asset:T,value:P}),Y=J.chain;if(!y.UTXOChains.includes(Y))throw new y.SwapKitError("core_swap_invalid_params",{message:`swapWithUtxos only supports UTXO chains. Use swap() for ${Y}`});let C=p(Y);return await B.match(C).with(B.P.nullish,()=>{throw new y.SwapKitError("core_wallet_connection_not_found")}).with(B.P.when((Z)=>!("transferFromMultipleAddresses"in Z)),()=>{throw new y.SwapKitError("core_wallet_connection_not_found",{message:"Wallet does not support multi-address transfers. Use a keystore or compatible hardware wallet."})}).otherwise((Z)=>Z.transferFromMultipleAddresses({assetValue:J,changeAddress:R,feeOptionKey:x||y.FeeOption.Fast,feeRate:f,recipient:V,utxos:i}))}}),name:"near",properties:{supportedSwapkitProviders:[y.ProviderName.NEAR]}})});var E={};g(E,{NearPlugin:()=>c});module.exports=K(E);var I=q(()=>{X()});I();
|
package/dist/src/radix/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var
|
|
1
|
+
var{defineProperty:l,getOwnPropertyNames:P,getOwnPropertyDescriptor:T}=Object,g=Object.prototype.hasOwnProperty;function R(e){return this[e]}var _=(e)=>{var r=(v??=new WeakMap).get(e),a;if(r)return r;if(r=l({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function"){for(var s of P(e))if(!g.call(r,s))l(r,s,{get:R.bind(e,s),enumerable:!(a=T(e,s))||a.enumerable})}return v.set(e,r),r},v;var S=(e)=>e;function V(e,r){this[e]=S.bind(null,r)}var k=(e,r)=>{for(var a in r)l(e,a,{get:r[a],enumerable:!0,configurable:!0,set:V.bind(r,a)})};var w=(e,r)=>()=>(e&&(r=e(e=0)),r);function f({name:e,properties:r,methods:a}){function s(i){return{...a(i),...r}}return{[e]:s}}function N({approveMode:e,getWallet:r}){return function(s){return d.match(s).with({route:d.P.not(d.P.nullish),spenderAddress:d.P.string},async({route:i,spenderAddress:t})=>{let n=p.AssetValue.from({asset:i.sellAsset,value:i.sellAmount}),u=p.EVMChains.includes(n.chain);if(u&&n.isGasAsset||!u||n.isSynthetic)return e==="checkOnly"?!0:"approved";let o=await h.SwapKitApi.getTokenApproval({routeId:i.routeId,spender:t});if(e==="checkOnly")return o.isApproved;if(!o.approvalTransaction)throw new p.SwapKitError("core_approve_asset_target_invalid");return r(n.chain).sendTransaction({data:o.approvalTransaction.data,from:o.approvalTransaction.from,to:o.approvalTransaction.to,value:BigInt(n.getBaseValue("bigint")||"0")})}).otherwise(({spenderAddress:i,assetValue:t})=>{let n=t.chain,u=p.EVMChains.includes(n);if(u&&t.isGasAsset||!u||t.isSynthetic)return Promise.resolve(e==="checkOnly"?!0:"approved");let o=r(n),m=e==="checkOnly"?o.isApproved:o.approve;if(!(t.address&&o.address))throw new p.SwapKitError("core_approve_asset_address_or_from_not_found");return m({amount:t.getBaseValue("bigint"),assetAddress:t.address,from:o.address,spenderAddress:i})})}}var p,h,d;var A=w(()=>{p=require("@swapkit/helpers"),h=require("@swapkit/helpers/api"),d=require("ts-pattern")});var x={};k(x,{RadixPlugin:()=>E});module.exports=_(x);var c,E;var M=w(()=>{A();c=require("@swapkit/helpers"),E=f({methods:({getWallet:e})=>({swap:async function({route:{tx:a,sellAmount:s,sellAsset:i}}){let t=await c.AssetValue.from({asset:i,asyncTokenLookup:!0,value:s});if(c.Chain.Radix!==t.chain)throw new c.SwapKitError("core_swap_invalid_params");let n=e(t.chain);try{return n.signAndBroadcast({manifest:a})}catch(u){throw new c.SwapKitError("core_swap_invalid_params",u)}}}),name:"radix",properties:{supportedSwapkitProviders:[]}})});M();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var f={};w(
|
|
1
|
+
var{defineProperty:v,getOwnPropertyNames:g,getOwnPropertyDescriptor:S}=Object,R=Object.prototype.hasOwnProperty;function V(e){return this[e]}var E=(e)=>{var a=(f??=new WeakMap).get(e),r;if(a)return a;if(a=v({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function"){for(var t of g(e))if(!R.call(a,t))v(a,t,{get:V.bind(e,t),enumerable:!(r=S(e,t))||r.enumerable})}return f.set(e,a),a},f;var _=(e)=>e;function k(e,a){this[e]=_.bind(null,a)}var M=(e,a)=>{for(var r in a)v(e,r,{get:a[r],enumerable:!0,configurable:!0,set:k.bind(a,r)})};var w=(e,a)=>()=>(e&&(a=e(e=0)),a);function A({name:e,properties:a,methods:r}){function t(n){return{...r(n),...a}}return{[e]:t}}function b({approveMode:e,getWallet:a}){return function(t){return u.match(t).with({route:u.P.not(u.P.nullish),spenderAddress:u.P.string},async({route:n,spenderAddress:o})=>{let i=c.AssetValue.from({asset:n.sellAsset,value:n.sellAmount}),p=c.EVMChains.includes(i.chain);if(p&&i.isGasAsset||!p||i.isSynthetic)return e==="checkOnly"?!0:"approved";let s=await h.SwapKitApi.getTokenApproval({routeId:n.routeId,spender:o});if(e==="checkOnly")return s.isApproved;if(!s.approvalTransaction)throw new c.SwapKitError("core_approve_asset_target_invalid");return a(i.chain).sendTransaction({data:s.approvalTransaction.data,from:s.approvalTransaction.from,to:s.approvalTransaction.to,value:BigInt(i.getBaseValue("bigint")||"0")})}).otherwise(({spenderAddress:n,assetValue:o})=>{let i=o.chain,p=c.EVMChains.includes(i);if(p&&o.isGasAsset||!p||o.isSynthetic)return Promise.resolve(e==="checkOnly"?!0:"approved");let s=a(i),m=e==="checkOnly"?s.isApproved:s.approve;if(!(o.address&&s.address))throw new c.SwapKitError("core_approve_asset_address_or_from_not_found");return m({amount:o.getBaseValue("bigint"),assetAddress:o.address,from:s.address,spenderAddress:n})})}}var c,h,u;var T=w(()=>{c=require("@swapkit/helpers"),h=require("@swapkit/helpers/api"),u=require("ts-pattern")});var l,P;var y=w(()=>{T();l=require("@swapkit/helpers"),P=A({methods:({getWallet:e})=>({swap:async function({route:r}){let{VersionedTransaction:t}=await import("@solana/web3.js"),{tx:n,sellAsset:o}=r,p=(await l.AssetValue.from({asset:o})).chain;if(!(p===l.Chain.Solana&&n))throw new l.SwapKitError("core_swap_invalid_params");let d=e(p),s=t.deserialize(Buffer.from(n,"base64")),m=await d.signTransaction(s);return d.broadcastTransaction(m)}}),name:"solana",properties:{supportedSwapkitProviders:[l.ProviderName.JUPITER]}})});var K={};M(K,{SolanaPlugin:()=>P});module.exports=E(K);var N=w(()=>{y()});N();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var
|
|
1
|
+
var{defineProperty:P,getOwnPropertyNames:b,getOwnPropertyDescriptor:O}=Object,Z=Object.prototype.hasOwnProperty;function Q(n){return this[n]}var D=(n)=>{var o=(B??=new WeakMap).get(n),u;if(o)return o;if(o=P({},"__esModule",{value:!0}),n&&typeof n==="object"||typeof n==="function"){for(var m of b(n))if(!Z.call(o,m))P(o,m,{get:Q.bind(n,m),enumerable:!(u=O(n,m))||u.enumerable})}return B.set(n,o),o},B;var F=(n)=>n;function L(n,o){this[n]=F.bind(null,o)}var G=(n,o)=>{for(var u in o)P(n,u,{get:o[u],enumerable:!0,configurable:!0,set:L.bind(o,u)})};var S=(n,o)=>()=>(n&&(o=n(n=0)),o);function E({name:n,properties:o,methods:u}){function m(f){return{...u(f),...o}}return{[n]:m}}function _({approveMode:n,getWallet:o}){return function(m){return g.match(m).with({route:g.P.not(g.P.nullish),spenderAddress:g.P.string},async({route:f,spenderAddress:l})=>{let h=T.AssetValue.from({asset:f.sellAsset,value:f.sellAmount}),v=T.EVMChains.includes(h.chain);if(v&&h.isGasAsset||!v||h.isSynthetic)return n==="checkOnly"?!0:"approved";let d=await k.SwapKitApi.getTokenApproval({routeId:f.routeId,spender:l});if(n==="checkOnly")return d.isApproved;if(!d.approvalTransaction)throw new T.SwapKitError("core_approve_asset_target_invalid");return o(h.chain).sendTransaction({data:d.approvalTransaction.data,from:d.approvalTransaction.from,to:d.approvalTransaction.to,value:BigInt(h.getBaseValue("bigint")||"0")})}).otherwise(({spenderAddress:f,assetValue:l})=>{let h=l.chain,v=T.EVMChains.includes(h);if(v&&l.isGasAsset||!v||l.isSynthetic)return Promise.resolve(n==="checkOnly"?!0:"approved");let d=o(h),A=n==="checkOnly"?d.isApproved:d.approve;if(!(l.address&&d.address))throw new T.SwapKitError("core_approve_asset_address_or_from_not_found");return A({amount:l.getBaseValue("bigint"),assetAddress:l.address,from:d.address,spenderAddress:f})})}}var T,k,g;var V=S(()=>{T=require("@swapkit/helpers"),k=require("@swapkit/helpers/api"),g=require("ts-pattern")});function U(n){return n.targetAddress||n.inboundAddress}var a,p,i,H=(n)=>p.EVMTransactionSchema.safeParse(n).success,z=(n)=>p.TronTransactionSchema.safeParse(n).success,J=(n)=>p.CosmosTransactionSchema.safeParse(n).success,j=(n)=>p.StarknetTransactionSchema.safeParse(n).success,q=(n)=>p.TONTransactionSchema.safeParse(n).success,R;var C=S(()=>{V();a=require("@swapkit/helpers"),p=require("@swapkit/helpers/api"),i=require("ts-pattern");R=E({methods:({getWallet:n})=>({approveAssetValue:_({approveMode:a.ApproveMode.Approve,getWallet:n}),isAssetValueApproved:_({approveMode:a.ApproveMode.CheckOnly,getWallet:n}),swap:function({route:u,feeOptionKey:m}){let{memo:f,providers:l,sellAmount:h,sellAsset:v,tx:y}=u,d=a.AssetValue.from({asset:v,value:h}),A=d.chain,x=l.includes(a.ProviderName.FLASHNET);return i.match({chain:A,tx:y}).returnType().with({chain:i.P.union(a.Chain.Bitcoin,a.Chain.BitcoinCash,a.Chain.Dogecoin,a.Chain.Litecoin,a.Chain.Dash),tx:i.P.string},async({chain:t,tx:r})=>{let e=await n(t);if(t===a.Chain.Bitcoin&&x&&!e.supportsDirectSigning){let s=U(u);if(!s)throw new a.SwapKitError("core_swap_invalid_params",{missing:["targetAddress"],provider:a.ProviderName.FLASHNET,routeId:u.routeId});return e.transfer({assetValue:d,feeOptionKey:m,memo:f,recipient:s})}try{let{Transaction:s}=await import("@swapkit/utxo-signer"),w=s.fromPSBT(Buffer.from(r,"base64"));return e.signAndBroadcastTransaction(w)}catch(s){throw new a.SwapKitError("plugin_swapkit_invalid_transaction",{chain:t,message:s instanceof Error?s.message:"Invalid PSBT format"})}}).with({chain:a.Chain.Zcash,tx:i.P.string},async({chain:t,tx:r})=>{let e=await n(t);try{let{PCZT:s,ZcashPSBT:w,ZcashTransaction:M}=await import("@swapkit/utxo-signer"),c=Buffer.from(r,"base64"),N=c.length>=5&&c[0]===112&&c[1]===99&&c[2]===122&&c[3]===116&&c[4]===255,I=c.length>=5&&c[0]===112&&c[1]===115&&c[2]===98&&c[3]===116&&c[4]===255,K=N?s.fromBytes(c):I?w.fromBytes(c):M.fromBytes(c);return e.signAndBroadcastTransaction(K)}catch(s){throw new a.SwapKitError("plugin_swapkit_invalid_transaction",{chain:t,message:s instanceof Error?s.message:"Invalid Zcash transaction format"})}}).with({chain:i.P.union(...a.EVMChains),tx:i.P.when(H)},async({chain:t,tx:r})=>{let e=await n(t),s=p.EVMTransactionSchema.parse(r);return e.sendTransaction({...s,value:BigInt(s.value||"0")})}).with({chain:a.Chain.Solana,tx:i.P.string},async({chain:t,tx:r})=>{let{VersionedTransaction:e}=await import("@solana/web3.js"),s=await n(t);try{let w=e.deserialize(Buffer.from(r,"base64"));return s.signAndBroadcastTransaction(w)}catch(w){throw new a.SwapKitError("plugin_swapkit_invalid_transaction",{chain:t,message:w instanceof Error?w.message:"Invalid Solana transaction format"})}}).with({chain:i.P.union(...a.CosmosChains),tx:i.P.when(J)},async({chain:t,tx:r})=>{let e=await n(t),s=p.CosmosTransactionSchema.parse(r);return e.signAndBroadcastTransaction(s)}).with({chain:a.Chain.Near,tx:i.P.string},async({chain:t,tx:r})=>{let{Transaction:e}=await import("@near-js/transactions"),s=await n(t);try{let w=e.decode(Buffer.from(r,"base64"));return s.signAndBroadcastTransaction(w)}catch(w){throw new a.SwapKitError("plugin_swapkit_invalid_transaction",{chain:t,message:w instanceof Error?w.message:"Invalid Near transaction format"})}}).with({chain:a.Chain.Ripple,tx:i.P.string},async({chain:t,tx:r})=>{let e=await n(t);try{let s=JSON.parse(r);return e.signAndBroadcastTransaction(s)}catch(s){throw new a.SwapKitError("plugin_swapkit_invalid_transaction",{chain:t,message:s instanceof Error?s.message:"Invalid Ripple transaction format"})}}).with({chain:a.Chain.Tron,tx:i.P.when(z)},async({chain:t,tx:r})=>{let e=await n(t),s=p.TronTransactionSchema.parse(r);return e.signAndBroadcastTransaction(s)}).with({chain:a.Chain.Sui,tx:i.P.string},async({chain:t,tx:r})=>{return(await n(t)).signAndBroadcastTransaction(r)}).with({chain:a.Chain.Cardano,tx:i.P.string},async({chain:t,tx:r})=>{return(await n(t)).signAndBroadcastTransaction(r)}).with({chain:a.Chain.Starknet,tx:i.P.when(j)},async({chain:t,tx:r})=>{let e=await n(t),s=p.StarknetTransactionSchema.parse(r);return e.signAndBroadcastTransaction(s)}).with({chain:a.Chain.Ton,tx:i.P.when(q)},async({chain:t,tx:r})=>{let e=await n(t),s=p.TONTransactionSchema.parse(r);return e.signAndBroadcastTransaction(s)}).otherwise(()=>{throw new a.SwapKitError("plugin_swapkit_invalid_transaction",{chain:A,tx:y})})}}),name:"swapkit",properties:{supportedSwapkitProviders:[]}})});var X={};G(X,{SwapKitPlugin:()=>R});module.exports=D(X);var Y=S(()=>{C()});Y();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var qx={};xx(qx,{validateAddressType:()=>v,ThorchainPlugin:()=>y,MayachainPlugin:()=>w});module.exports=e(qx);var x=require("@swapkit/helpers"),M=require("@swapkit/helpers/api"),Y=require("@swapkit/helpers/contracts");var T=require("@swapkit/helpers");function v({chain:R,address:O}){if(!O)return!1;return R===T.Chain.Bitcoin?!O.startsWith("bc1p"):!0}function b({assetValue:R,from:O,memo:U="",...P}){return{...P,assetValue:R,from:O,memo:U}}var l={[x.FeeOption.Average]:1.2,[x.FeeOption.Fast]:1.5,[x.FeeOption.Fastest]:2},t={[x.Chain.Avalanche]:Y.TCAvalancheDepositABI,[x.Chain.Base]:Y.TCBaseDepositABI,[x.Chain.BinanceSmartChain]:Y.TCBscDepositABI,[x.Chain.Ethereum]:Y.TCEthereumVaultAbi},s={[x.Chain.Arbitrum]:Y.MayaArbitrumVaultAbi,[x.Chain.Ethereum]:Y.MayaEthereumVaultAbi},y=S({methods:C(x.Chain.THORChain),name:"thorchain",properties:{supportedSwapkitProviders:[x.ProviderName.THORCHAIN,x.ProviderName.THORCHAIN_STREAMING]}}),w=S({methods:C(x.Chain.Maya),name:"mayachain",properties:{supportedSwapkitProviders:[x.ProviderName.MAYACHAIN,x.ProviderName.MAYACHAIN_STREAMING]}});function a(R){return async function(U){if(R==="thorchain"&&U===x.Chain.THORChain||R==="mayachain"&&U===x.Chain.Maya)return{address:"",chain:U,dust_threshold:"0",gas_rate:"0",halted:!1,router:""};let Z=(await M.SwapKitApi.thornode.getInboundAddresses(R)).find((F)=>F.chain===U);if(!Z)throw new x.SwapKitError("core_inbound_data_not_found");if(Z?.halted)throw new x.SwapKitError("core_chain_halted");return Z}}function C(R){return function({getWallet:U}){let P=R===x.Chain.Maya?"mayachain":"thorchain",Z=a(P);async function F({assetValue:q,type:z="checkOnly"}){let H=(await Z(q.chain)).router,J=q.chain,Q=x.EVMChains.includes(J);if(Q&&q.isGasAsset||!Q||q.isSynthetic)return Promise.resolve(z==="checkOnly"?!0:"approved");let X=U(J);if(!X)throw new x.SwapKitError("core_wallet_connection_not_found");let $=z==="checkOnly"?X.isApproved:X.approve;if(!(q.address&&X.address))throw new x.SwapKitError("core_approve_asset_address_or_from_not_found");return $({amount:q.getBaseValue("bigint"),assetAddress:q.address,from:X.address,spenderAddress:H})}async function k({assetValue:q,recipient:z,router:H,...J}){let Q=P==="thorchain"?t:s,{chain:L,symbol:X,ticker:$}=q,f=U(L);if(!f)throw new x.SwapKitError("core_wallet_connection_not_found");let{address:I}=f;if(!v({address:I,chain:L}))throw new x.SwapKitError("core_transaction_invalid_sender_address");let N=b({assetValue:q,from:I,recipient:z,router:H,...J});try{let j=Q?.[L];if(!j){let B=U(L);return R===L&&z===""?B.deposit(N):B.transfer(N)}let{getChecksumAddressFromAsset:G}=await import("@swapkit/toolboxes/evm");return U(L).call({abi:j,contractAddress:H||(await Z(L)).router,funcName:"depositWithExpiry",funcParams:[z,G({chain:L,symbol:X,ticker:$},L),q.getBaseValue("string"),N.memo,J.expiration||Number.parseInt(`${(Date.now()+900000)/1000}`,10)],txOverrides:{from:N.from,value:q.isGasAsset?q.getBaseValue("bigint"):void 0}})}catch(j){let G=typeof j==="string"?j.toLowerCase():j?.message.toLowerCase(),E=G?.includes("insufficient funds"),B=G?.includes("gas"),W=G?.includes("server"),i=G?.includes("user rejected");throw new x.SwapKitError(E?"core_transaction_deposit_insufficient_funds_error":B?"core_transaction_deposit_gas_error":W?"core_transaction_deposit_server_error":i?"core_transaction_user_rejected":"core_transaction_deposit_error",j)}}async function K({memo:q,assetValue:z}){let H=await M.SwapKitApi.thornode.getMimirInfo(P);if(H.HALTCHAINGLOBAL>=1||H.HALTTHORCHAIN>=1)throw new x.SwapKitError("thorchain_chain_halted");return k({assetValue:z,memo:q,recipient:""})}async function _({assetValue:q,memo:z,feeOptionKey:H=x.FeeOption.Fast}){let{gas_rate:J="0",router:Q,address:L}=await Z(q.chain);return k({assetValue:q,feeRate:Number.parseInt(J,10)*l[H],memo:z,recipient:L,router:Q})}function A({assetValue:q}){return F({assetValue:q,type:x.ApproveMode.Approve})}function g({assetValue:q}){return F({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:H,ownerAddress:J}){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:H,owner:J,payout:Q})})}function V({type:q,assetValue:z,address:H}){let J=q===x.MemoType.UNBOND?x.getMemoForUnbond({address:H,unbondAmount:z.getBaseValue("number")}):x.getMemoForLeaveAndBond({address:H,type:q}),Q=q===x.MemoType.BOND?z:x.getMinAmountByChain(R);return K({assetValue:Q,memo:J})}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 H=U(z.chain).address,J=U(R).address,Q=await x.wrapWithThrow(()=>{return _({assetValue:q,memo:x.getMemoForDeposit({...z,address:H})})},"core_transaction_create_liquidity_base_error");return{assetTx:await x.wrapWithThrow(()=>{return _({assetValue:z,memo:x.getMemoForDeposit({...z,address:J})})},"core_transaction_create_liquidity_asset_error"),baseAssetTx:Q}}function p({assetValue:q,poolAddress:z,address:H,symmetric:J}){if(J&&!H)throw new x.SwapKitError("core_transaction_add_liquidity_invalid_params");let Q=x.getMemoForDeposit({address:J?H:"",chain:z.split(".")[0],symbol:z.split(".")[1]});return _({assetValue:q,memo:Q})}async function d({baseAssetValue:q,assetValue:z,baseAssetAddr:H,assetAddr:J,isPendingSymmAsset:Q,mode:L="sym"}){let{chain:X,symbol:$}=z,f=L==="sym",I=q?.gt(0)&&(f||L==="baseAsset"),D=z?.gt(0)&&(f||L==="asset"),N=Q||I,j=U(R).address,G=N?H||j:"",E=f||L==="asset"?J||U(X).address:"";if(!(I||D))throw new x.SwapKitError("core_transaction_add_liquidity_invalid_params");if(N&&!G)throw new x.SwapKitError("core_transaction_add_liquidity_base_address");let B=I&&q?await x.wrapWithThrow(()=>{return _({assetValue:q,memo:x.getMemoForDeposit({address:E,chain:X,symbol:$})})},"core_transaction_add_liquidity_base_error"):void 0;return{assetTx:D&&z?await x.wrapWithThrow(()=>{return _({assetValue:z,memo:x.getMemoForDeposit({address:G,chain:X,symbol:$})})},"core_transaction_add_liquidity_asset_error"):void 0,baseAssetTx:B}}function n({memo:q,assetValue:z,percent:H,from:J,to:Q}){let L=Q==="baseAsset"&&J!=="baseAsset"?x.AssetValue.from({chain:R}):J==="sym"&&Q==="sym"||J==="baseAsset"||J==="asset"?void 0:z,X=x.getMinAmountByChain(J==="asset"?z.chain:R),$=q||x.getMemoForWithdraw({basisPoints:Math.min(1e4,Math.round(H*100)),chain:z.chain,symbol:z.symbol,targetAsset:L?.toString(),ticker:z.ticker});return _({assetValue:X,memo:$})}async function u({chain:q,thorAddress:z}){let H=await Z(q),J=H.dust_threshold,{baseDecimal:Q}=x.getChainConfig(q),{baseDecimal:L}=x.getChainConfig(x.Chain.THORChain);return k({assetValue:x.AssetValue.from({chain:q,fromBaseDecimal:Math.min(Q,L),value:q!==x.Chain.THORChain?J:0}),memo:x.getMemoForTcyClaim(x.MemoType.CLAIM_TCY,{address:z}),recipient:H.address,router:H.router})}function r(q){if(q.type==="stake"){if(q.assetValue.toString()!=="THOR.TCY")throw new x.SwapKitError("thorchain_asset_is_not_tcy");return k({assetValue:q.assetValue,memo:x.getMemoForTcyStake(x.MemoType.STAKE_TCY,{}),recipient:""})}return k({assetValue:x.AssetValue.from({chain:x.Chain.THORChain}),memo:x.getMemoForTcyStake(x.MemoType.UNSTAKE_TCY,{unstakeBps:q.unstakeBps}),recipient:""})}async function o({feeOptionKey:q,route:z}){let{memo:H,expiration:J,targetAddress:Q}=z,L=await x.AssetValue.from({asset:z.sellAsset,asyncTokenLookup:!0,value:z.sellAmount});if(!L)throw new x.SwapKitError("core_swap_asset_not_recognized");if(!v({address:z.destinationAddress,chain:x.AssetValue.from({asset:z.buyAsset}).chain}))throw new x.SwapKitError("core_transaction_invalid_recipient_address");let{address:$}=await Z(L.chain);return k({assetValue:L,expiration:Number(J),feeOptionKey:q,memo:H,recipient:$,router:Q})}return{addLiquidity:d,addLiquidityPart:p,approveAssetValue:A,claimTcy:u,createLiquidity:h,deposit:k,depositToPool:_,getInboundDataByChain:Z,isAssetValueApproved:g,nodeAction:V,registerName:m,registerPreferredAsset:c,stakeTcyAction:r,swap:o,withdraw:n}}}
|
|
1
|
+
var{defineProperty:D,getOwnPropertyNames:Rv,getOwnPropertyDescriptor:_v}=Object,kv=Object.prototype.hasOwnProperty;function Nv(f){return this[f]}var Qv=(f)=>{var _=(b??=new WeakMap).get(f),N;if(_)return _;if(_=D({},"__esModule",{value:!0}),f&&typeof f==="object"||typeof f==="function"){for(var z of Rv(f))if(!kv.call(_,z))D(_,z,{get:Nv.bind(f,z),enumerable:!(N=_v(f,z))||N.enumerable})}return b.set(f,_),_},b;var Gv=(f)=>f;function Ov(f,_){this[f]=Gv.bind(null,_)}var qv=(f,_)=>{for(var N in _)D(f,N,{get:_[N],enumerable:!0,configurable:!0,set:Ov.bind(_,N)})};var M=(f,_)=>()=>(f&&(_=f(f=0)),_);function c({name:f,properties:_,methods:N}){function z(O){return{...N(O),..._}}return{[f]:z}}function jv({approveMode:f,getWallet:_}){return function(z){return B.match(z).with({route:B.P.not(B.P.nullish),spenderAddress:B.P.string},async({route:O,spenderAddress:J})=>{let q=n.AssetValue.from({asset:O.sellAsset,value:O.sellAmount}),Y=n.EVMChains.includes(q.chain);if(Y&&q.isGasAsset||!Y||q.isSynthetic)return f==="checkOnly"?!0:"approved";let L=await r.SwapKitApi.getTokenApproval({routeId:O.routeId,spender:J});if(f==="checkOnly")return L.isApproved;if(!L.approvalTransaction)throw new n.SwapKitError("core_approve_asset_target_invalid");return _(q.chain).sendTransaction({data:L.approvalTransaction.data,from:L.approvalTransaction.from,to:L.approvalTransaction.to,value:BigInt(q.getBaseValue("bigint")||"0")})}).otherwise(({spenderAddress:O,assetValue:J})=>{let q=J.chain,Y=n.EVMChains.includes(q);if(Y&&J.isGasAsset||!Y||J.isSynthetic)return Promise.resolve(f==="checkOnly"?!0:"approved");let L=_(q),y=f==="checkOnly"?L.isApproved:L.approve;if(!(J.address&&L.address))throw new n.SwapKitError("core_approve_asset_address_or_from_not_found");return y({amount:J.getBaseValue("bigint"),assetAddress:J.address,from:L.address,spenderAddress:O})})}}var n,r,B;var g=M(()=>{n=require("@swapkit/helpers"),r=require("@swapkit/helpers/api"),B=require("ts-pattern")});function K({chain:f,address:_}){if(!_)return!1;return f===C.Chain.Bitcoin?!_.startsWith("bc1p"):!0}function h({assetValue:f,from:_,memo:N="",...z}){return{...z,assetValue:f,from:_,memo:N}}var C;var W=M(()=>{C=require("@swapkit/helpers")});function Lv(f){return async function(N){if(f==="thorchain"&&N===v.Chain.THORChain||f==="mayachain"&&N===v.Chain.Maya)return{address:"",chain:N,dust_threshold:"0",gas_rate:"0",halted:!1,router:""};let O=(await A.SwapKitApi.thornode.getInboundAddresses(f)).find((J)=>J.chain===N);if(!O)throw new v.SwapKitError("core_inbound_data_not_found");if(O?.halted)throw new v.SwapKitError("core_chain_halted");return O}}function V(f){return function({getWallet:N}){let z=f===v.Chain.Maya?"mayachain":"thorchain",O=Lv(z);async function J({assetValue:x,type:P="checkOnly"}){let R=(await O(x.chain)).router,k=x.chain,G=v.EVMChains.includes(k);if(G&&x.isGasAsset||!G||x.isSynthetic)return Promise.resolve(P==="checkOnly"?!0:"approved");let H=N(k);if(!H)throw new v.SwapKitError("core_wallet_connection_not_found");let X=P==="checkOnly"?H.isApproved:H.approve;if(!(x.address&&H.address))throw new v.SwapKitError("core_approve_asset_address_or_from_not_found");return X({amount:x.getBaseValue("bigint"),assetAddress:x.address,from:H.address,spenderAddress:R})}async function q({assetValue:x,recipient:P,router:R,...k}){let G=z==="thorchain"?Hv:Jv,{chain:Q,symbol:H,ticker:X}=x,E=N(Q);if(!E)throw new v.SwapKitError("core_wallet_connection_not_found");let{address:I}=E;if(!K({address:I,chain:Q}))throw new v.SwapKitError("core_transaction_invalid_sender_address");let p=h({assetValue:x,from:I,recipient:P,router:R,...k});try{let $=G?.[Q];if(!$){let T=N(Q);return f===Q&&P===""?T.deposit(p):T.transfer(p)}let{getChecksumAddressFromAsset:j}=await import("@swapkit/toolboxes/evm");return N(Q).call({abi:$,contractAddress:R||(await O(Q)).router,funcName:"depositWithExpiry",funcParams:[P,j({chain:Q,symbol:H,ticker:X},Q),x.getBaseValue("string"),p.memo,k.expiration||Number.parseInt(`${(Date.now()+900000)/1000}`,10)],txOverrides:{from:p.from,value:x.isGasAsset?x.getBaseValue("bigint"):void 0}})}catch($){let j=typeof $==="string"?$.toLowerCase():$?.message.toLowerCase(),w=j?.includes("insufficient funds"),T=j?.includes("gas"),F=j?.includes("server"),fv=j?.includes("user rejected");throw new v.SwapKitError(w?"core_transaction_deposit_insufficient_funds_error":T?"core_transaction_deposit_gas_error":F?"core_transaction_deposit_server_error":fv?"core_transaction_user_rejected":"core_transaction_deposit_error",$)}}async function Y({memo:x,assetValue:P}){let R=await A.SwapKitApi.thornode.getMimirInfo(z);if(R.HALTCHAINGLOBAL>=1||R.HALTTHORCHAIN>=1)throw new v.SwapKitError("thorchain_chain_halted");return q({assetValue:P,memo:x,recipient:""})}async function Z({assetValue:x,memo:P,feeOptionKey:R=v.FeeOption.Fast}){let{gas_rate:k="0",router:G,address:Q}=await O(x.chain);return q({assetValue:x,feeRate:Number.parseInt(k,10)*zv[R],memo:P,recipient:Q,router:G})}function L({assetValue:x}){return J({assetValue:x,type:v.ApproveMode.Approve})}function y({assetValue:x}){return J({assetValue:x,type:v.ApproveMode.CheckOnly})}function m({assetValue:x,...P}){return Y({assetValue:x,memo:v.getMemoForNameRegister(P)})}function i({assetValue:x,payoutAddress:P,name:R,ownerAddress:k}){let G=P||N(x.chain)?.address;if(!G)throw new v.SwapKitError("thorchain_preferred_asset_payout_required");return Y({assetValue:v.AssetValue.from({chain:f}),memo:v.getMemoForNamePreferredAssetRegister({asset:x.toString(),chain:x.chain,name:R,owner:k,payout:G})})}function t({type:x,assetValue:P,address:R}){let k=x===v.MemoType.UNBOND?v.getMemoForUnbond({address:R,unbondAmount:P.getBaseValue("number")}):v.getMemoForLeaveAndBond({address:R,type:x}),G=x===v.MemoType.BOND?P:v.getMinAmountByChain(f);return Y({assetValue:G,memo:k})}async function l({baseAssetValue:x,assetValue:P}){if(x.lte(0)||P.lte(0))throw new v.SwapKitError("core_transaction_create_liquidity_invalid_params");let R=N(P.chain).address,k=N(f).address,G=await v.wrapWithThrow(()=>{return Z({assetValue:x,memo:v.getMemoForDeposit({...P,address:R})})},"core_transaction_create_liquidity_base_error");return{assetTx:await v.wrapWithThrow(()=>{return Z({assetValue:P,memo:v.getMemoForDeposit({...P,address:k})})},"core_transaction_create_liquidity_asset_error"),baseAssetTx:G}}function s({assetValue:x,poolAddress:P,address:R,symmetric:k}){if(k&&!R)throw new v.SwapKitError("core_transaction_add_liquidity_invalid_params");let G=v.getMemoForDeposit({address:k?R:"",chain:P.split(".")[0],symbol:P.split(".")[1]});return Z({assetValue:x,memo:G})}async function a({baseAssetValue:x,assetValue:P,baseAssetAddr:R,assetAddr:k,isPendingSymmAsset:G,mode:Q="sym"}){let{chain:H,symbol:X}=P,E=Q==="sym",I=x?.gt(0)&&(E||Q==="baseAsset"),S=P?.gt(0)&&(E||Q==="asset"),p=G||I,$=N(f).address,j=p?R||$:"",w=E||Q==="asset"?k||N(H).address:"";if(!(I||S))throw new v.SwapKitError("core_transaction_add_liquidity_invalid_params");if(p&&!j)throw new v.SwapKitError("core_transaction_add_liquidity_base_address");let T=I&&x?await v.wrapWithThrow(()=>{return Z({assetValue:x,memo:v.getMemoForDeposit({address:w,chain:H,symbol:X})})},"core_transaction_add_liquidity_base_error"):void 0;return{assetTx:S&&P?await v.wrapWithThrow(()=>{return Z({assetValue:P,memo:v.getMemoForDeposit({address:j,chain:H,symbol:X})})},"core_transaction_add_liquidity_asset_error"):void 0,baseAssetTx:T}}function e({memo:x,assetValue:P,percent:R,from:k,to:G}){let Q=G==="baseAsset"&&k!=="baseAsset"?v.AssetValue.from({chain:f}):k==="sym"&&G==="sym"||k==="baseAsset"||k==="asset"?void 0:P,H=v.getMinAmountByChain(k==="asset"?P.chain:f),X=x||v.getMemoForWithdraw({basisPoints:Math.min(1e4,Math.round(R*100)),chain:P.chain,symbol:P.symbol,targetAsset:Q?.toString(),ticker:P.ticker});return Z({assetValue:H,memo:X})}async function vv({chain:x,thorAddress:P}){let R=await O(x),k=R.dust_threshold,{baseDecimal:G}=v.getChainConfig(x),{baseDecimal:Q}=v.getChainConfig(v.Chain.THORChain);return q({assetValue:v.AssetValue.from({chain:x,fromBaseDecimal:Math.min(G,Q),value:x!==v.Chain.THORChain?k:0}),memo:v.getMemoForTcyClaim(v.MemoType.CLAIM_TCY,{address:P}),recipient:R.address,router:R.router})}function xv(x){if(x.type==="stake"){if(x.assetValue.toString()!=="THOR.TCY")throw new v.SwapKitError("thorchain_asset_is_not_tcy");return q({assetValue:x.assetValue,memo:v.getMemoForTcyStake(v.MemoType.STAKE_TCY,{}),recipient:""})}return q({assetValue:v.AssetValue.from({chain:v.Chain.THORChain}),memo:v.getMemoForTcyStake(v.MemoType.UNSTAKE_TCY,{unstakeBps:x.unstakeBps}),recipient:""})}async function Pv({feeOptionKey:x,route:P}){let{memo:R,expiration:k,targetAddress:G}=P,Q=await v.AssetValue.from({asset:P.sellAsset,asyncTokenLookup:!0,value:P.sellAmount});if(!Q)throw new v.SwapKitError("core_swap_asset_not_recognized");if(!K({address:P.destinationAddress,chain:v.AssetValue.from({asset:P.buyAsset}).chain}))throw new v.SwapKitError("core_transaction_invalid_recipient_address");let{address:X}=await O(Q.chain);return q({assetValue:Q,expiration:Number(k),feeOptionKey:x,memo:R,recipient:X,router:G})}return{addLiquidity:a,addLiquidityPart:s,approveAssetValue:L,claimTcy:vv,createLiquidity:l,deposit:q,depositToPool:Z,getInboundDataByChain:O,isAssetValueApproved:y,nodeAction:t,registerName:m,registerPreferredAsset:i,stakeTcyAction:xv,swap:Pv,withdraw:e}}}var v,A,U,zv,Hv,Jv,o,d;var u=M(()=>{g();W();v=require("@swapkit/helpers"),A=require("@swapkit/helpers/api"),U=require("@swapkit/helpers/contracts"),zv={[v.FeeOption.Average]:1.2,[v.FeeOption.Fast]:1.5,[v.FeeOption.Fastest]:2},Hv={[v.Chain.Avalanche]:U.TCAvalancheDepositABI,[v.Chain.Base]:U.TCBaseDepositABI,[v.Chain.BinanceSmartChain]:U.TCBscDepositABI,[v.Chain.Ethereum]:U.TCEthereumVaultAbi},Jv={[v.Chain.Arbitrum]:U.MayaArbitrumVaultAbi,[v.Chain.Ethereum]:U.MayaEthereumVaultAbi},o=c({methods:V(v.Chain.THORChain),name:"thorchain",properties:{supportedSwapkitProviders:[v.ProviderName.THORCHAIN,v.ProviderName.THORCHAIN_STREAMING]}}),d=c({methods:V(v.Chain.Maya),name:"mayachain",properties:{supportedSwapkitProviders:[v.ProviderName.MAYACHAIN,v.ProviderName.MAYACHAIN_STREAMING]}})});var Xv={};qv(Xv,{validateAddressType:()=>K,ThorchainPlugin:()=>o,MayachainPlugin:()=>d});module.exports=Qv(Xv);var Yv=M(()=>{u();W()});Yv();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"author": "swapkit-dev",
|
|
3
|
-
"dependencies": { "@swapkit/helpers": "4.
|
|
3
|
+
"dependencies": { "@swapkit/helpers": "4.15.1", "@swapkit/toolboxes": "4.18.0", "@swapkit/utxo-signer": "2.2.2" },
|
|
4
4
|
"description": "SwapKit Plugin - Chainflip",
|
|
5
5
|
"devDependencies": {
|
|
6
6
|
"@near-js/utils": "2.5.1",
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
"license": "SEE LICENSE IN LICENSE",
|
|
62
62
|
"name": "@swapkit/plugins",
|
|
63
63
|
"peerDependencies": {
|
|
64
|
-
"@mysten/sui": "
|
|
64
|
+
"@mysten/sui": "2.17.0",
|
|
65
65
|
"@near-js/transactions": "2.5.1",
|
|
66
66
|
"@near-js/utils": "2.5.1",
|
|
67
67
|
"@noble/hashes": "2.2.0",
|
|
@@ -80,5 +80,5 @@
|
|
|
80
80
|
"type-check:go": "tsgo"
|
|
81
81
|
},
|
|
82
82
|
"type": "module",
|
|
83
|
-
"version": "4.6.
|
|
83
|
+
"version": "4.6.53"
|
|
84
84
|
}
|
package/dist/chunk-r47w260w.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var{defineProperty:c,getOwnPropertyNames:h,getOwnPropertyDescriptor:f}=Object,y=Object.prototype.hasOwnProperty;function T(e){return this[e]}var E=(e)=>{var r=(m??=new WeakMap).get(e),s;if(r)return r;if(r=c({},"__esModule",{value:!0}),e&&typeof e==="object"||typeof e==="function"){for(var a of h(e))if(!y.call(r,a))c(r,a,{get:T.bind(e,a),enumerable:!(s=f(e,a))||s.enumerable})}return m.set(e,r),r},m;var w=(e)=>e;function g(e,r){this[e]=w.bind(null,r)}var V=(e,r)=>{for(var s in r)c(e,s,{get:r[s],enumerable:!0,configurable:!0,set:g.bind(r,s)})};var p=require("@swapkit/helpers"),v=require("@swapkit/helpers/api"),d=require("ts-pattern");function R({name:e,properties:r,methods:s}){function a(i){return{...s(i),...r}}return{[e]:a}}function _({approveMode:e,getWallet:r}){return function(a){return d.match(a).with({route:d.P.not(d.P.nullish),spenderAddress:d.P.string},async({route:i,spenderAddress:n})=>{let o=p.AssetValue.from({asset:i.sellAsset,value:i.sellAmount}),u=p.EVMChains.includes(o.chain);if(u&&o.isGasAsset||!u||o.isSynthetic)return e==="checkOnly"?!0:"approved";let t=await v.SwapKitApi.getTokenApproval({routeId:i.routeId,spender:n});if(e==="checkOnly")return t.isApproved;if(!t.approvalTransaction)throw new p.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:i,assetValue:n})=>{let o=n.chain,u=p.EVMChains.includes(o);if(u&&n.isGasAsset||!u||n.isSynthetic)return Promise.resolve(e==="checkOnly"?!0:"approved");let t=r(o),l=e==="checkOnly"?t.isApproved:t.approve;if(!(n.address&&t.address))throw new p.SwapKitError("core_approve_asset_address_or_from_not_found");return l({amount:n.getBaseValue("bigint"),assetAddress:n.address,from:t.address,spenderAddress:i})})}}
|