@swapkit/helpers 4.0.26 → 4.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/index.cjs +2 -2
- package/dist/api/index.cjs.map +7 -8
- package/dist/api/index.js +2 -2
- package/dist/api/index.js.map +7 -8
- package/dist/index.cjs +3 -3
- package/dist/index.cjs.map +12 -13
- package/dist/index.js +3 -3
- package/dist/index.js.map +12 -13
- package/dist/types/api/index.d.ts +0 -4
- package/dist/types/api/index.d.ts.map +1 -1
- package/dist/types/api/swapkitApi/endpoints.d.ts.map +1 -1
- package/dist/types/api/swapkitApi/types.d.ts +145 -22
- package/dist/types/api/swapkitApi/types.d.ts.map +1 -1
- package/dist/types/api/thornode/endpoints.d.ts.map +1 -1
- package/dist/types/modules/assetValue.d.ts +2 -0
- package/dist/types/modules/assetValue.d.ts.map +1 -1
- package/dist/types/modules/feeMultiplier.d.ts.map +1 -1
- package/dist/types/modules/swapKitConfig.d.ts +41 -22
- package/dist/types/modules/swapKitConfig.d.ts.map +1 -1
- package/dist/types/modules/swapKitError.d.ts +28 -0
- package/dist/types/modules/swapKitError.d.ts.map +1 -1
- package/dist/types/types/derivationPath.d.ts +3 -15
- package/dist/types/types/derivationPath.d.ts.map +1 -1
- package/dist/types/types/index.d.ts +0 -2
- package/dist/types/types/index.d.ts.map +1 -1
- package/dist/types/utils/asset.d.ts +6 -3
- package/dist/types/utils/asset.d.ts.map +1 -1
- package/dist/types/utils/chains.d.ts.map +1 -1
- package/dist/types/utils/derivationPath.d.ts +2 -2
- package/dist/types/utils/derivationPath.d.ts.map +1 -1
- package/dist/types/utils/explorerUrls.d.ts.map +1 -1
- package/package.json +5 -5
- package/dist/types/api/thorswapStatic/endpoints.d.ts +0 -5
- package/dist/types/api/thorswapStatic/endpoints.d.ts.map +0 -1
- package/dist/types/api/thorswapStatic/types.d.ts +0 -21
- package/dist/types/api/thorswapStatic/types.d.ts.map +0 -1
- package/dist/types/types/chains.d.ts +0 -34
- package/dist/types/types/chains.d.ts.map +0 -1
- package/dist/types/types/radix.d.ts +0 -15
- package/dist/types/types/radix.d.ts.map +0 -1
package/dist/api/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var $n={};f($n,{TxnType:()=>D,TxnStatus:()=>R,TransactionSchema:()=>zt,TransactionDTOSchema:()=>Zt,TrackingStatus:()=>h,TrackingRequestSchema:()=>_t,TrackingRequestQuerySchema:()=>Yt,TrackerResponseSchema:()=>Qt,TokenSchema:()=>Vt,TokenDetailsMetadataSchema:()=>Q,SwapKitApi:()=>ln,RouteQuoteWarningSchema:()=>it,RouteQuoteTxType:()=>O,RouteQuoteMetadataV2Schema:()=>et,RouteQuoteMetadataSchema:()=>rt,RouteQuoteMetadataAssetSchema:()=>tt,RouteLegWithoutAddressesSchema:()=>qt,RouteLegSchema:()=>q,QuoteResponseSchema:()=>U,QuoteRequestSchema:()=>Xt,PriorityLabel:()=>d,PriceResponseSchema:()=>B,PriceRequestSchema:()=>pt,NearSwapResponseSchema:()=>G,NearDepositChannelResultSchema:()=>wt,NearDepositChannelParamsSchema:()=>Z,GasSchema:()=>V,GasResponseSchema:()=>_,FeesSchema:()=>l,EstimatedTimeSchema:()=>$,EVMTransactionSchema:()=>J,EVMTransactionDetailsSchema:()=>Jt,EVMTransactionDetailsParamsSchema:()=>j,DepositChannelResponseSchema:()=>v,DepositChannelParamsSchema:()=>M,CosmosTransactionSchema:()=>K,ChainflipMetadataSchema:()=>nt,BrokerDepositChannelParamsSchema:()=>z,AssetValueSchema:()=>c,ApiV2ErrorSchema:()=>Ft});module.exports=Gn($n);var s=require("@swapkit/helpers"),P=require("@swapkit/types");function w(n=!0){return n?"https://midgard.ninerealms.com":"https://midgard.mayachain.info"}function ut(n=!0){let i=w(n);return n?`${i}/v2/thorname`:`${i}/v2/mayaname`}function gt(n){return function(r){let e=r?`?status=${r}`:"";return s.RequestClient.get(`${n}/v2/pools${e}`)}}function at(n){return function(r){return s.RequestClient.get(`${n}/v2/pool/${r}`)}}function At(n){return function(r,e){let o=e?`?period=${e}`:"";return s.RequestClient.get(`${n}/v2/pool/${r}/stats${o}`)}}function Et(n){return function(r,e){let o=new URLSearchParams;if(e?.interval)o.append("interval",e.interval);if(e?.count)o.append("count",e.count.toString());if(e?.from)o.append("from",e.from.toString());if(e?.to)o.append("to",e.to.toString());let g=o.toString()?`?${o.toString()}`:"";return s.RequestClient.get(`${n}/v2/history/depths/${r}${g}`)}}function Nt(n){return function(){return s.RequestClient.get(`${n}/v2/network`)}}function Lt(n){return function(){return s.RequestClient.get(`${n}/v2/health`)}}function Tt(n){return function(){return s.RequestClient.get(`${n}/v2/nodes`)}}function Ht(n){return function(r){return s.RequestClient.get(`${n}/v2/node/${r}`)}}function It(n){return function(){return s.RequestClient.get(`${n}/v2/mimir/votes`)}}function Pt(n){return function(){return s.RequestClient.get(`${n}/v2/mimir`)}}function ct(n){return function(){return s.RequestClient.get(`${n}/v2/constants`)}}function Ct(n){return function(){return s.RequestClient.get(`${n}/v2/stats`)}}function St(n){return function(r){let e=new URLSearchParams;if(r?.interval)e.append("interval",r.interval);if(r?.count)e.append("count",r.count.toString());if(r?.from)e.append("from",r.from.toString());if(r?.to)e.append("to",r.to.toString());let o=e.toString()?`?${e.toString()}`:"";return s.RequestClient.get(`${n}/v2/history/earnings${o}`)}}function bt(n){return function(r,e){let o=new URLSearchParams;if(e?.interval)o.append("interval",e.interval);if(e?.count)o.append("count",e.count.toString());if(e?.from)o.append("from",e.from.toString());if(e?.to)o.append("to",e.to.toString());let g=o.toString()?`?${o.toString()}`:"",a=r?`/swaps/${r}`:"/swaps";return s.RequestClient.get(`${n}/v2/history${a}${g}`)}}function Ot(n){return function(r){let e=new URLSearchParams;if(r?.interval)e.append("interval",r.interval);if(r?.count)e.append("count",r.count.toString());if(r?.from)e.append("from",r.from.toString());if(r?.to)e.append("to",r.to.toString());let o=e.toString()?`?${e.toString()}`:"";return s.RequestClient.get(`${n}/v2/history/tvl${o}`)}}function ft(n){if(!n)return"";let i=new URLSearchParams,r=(e,o)=>{if(o!==void 0)i.append(e,typeof o==="number"?o.toString():o)};return r("address",n.address),r("txid",n.txid),r("asset",n.asset),r("type",n.type),r("affiliate",n.affiliate),r("limit",n.limit),r("offset",n.offset),i.toString()?`?${i.toString()}`:""}function dt(n){return function(r){let e=ft(r);return s.RequestClient.get(`${n}/v2/actions${e}`)}}function Dt(n){return function(r){return s.RequestClient.get(`${n}/v2/member/${r}`)}}function Rt(n){return function(r){let e=r?`/${r}`:"";return s.RequestClient.get(`${n}/v2/members${e}`)}}function ht(n){return function(r,e){let o=e?`&asset=${e}`:"";return s.RequestClient.get(`${n}/v2/saver/${r}${o?`?${o.substring(1)}`:""}`)}}function Bt(n){return function(r){return s.RequestClient.get(`${n}/v2/savers/${r}`)}}function Mt(n){return function(r,e){let o=new URLSearchParams;if(e?.interval)o.append("interval",e.interval);if(e?.count)o.append("count",e.count.toString());if(e?.from)o.append("from",e.from.toString());if(e?.to)o.append("to",e.to.toString());let g=o.toString()?`?${o.toString()}`:"",a=r?`/savers/${r}`:"/savers";return s.RequestClient.get(`${n}/v2/history${a}${g}`)}}function vt(n){return function(r){return s.RequestClient.get(`${n}/v2/balance/${r}`)}}function Gt(n){return async function(r){let e=(o)=>{if(o?.cause?.status===404)return;throw o};return await s.RequestClient.get(`${n}/lookup/${r}`,{onError:e,retry:{maxRetries:1}})}}function lt(n){return async function(r){let e=(o)=>{if(o?.cause?.status===404)return[];throw o};return await s.RequestClient.get(`${n}/rlookup/${r}`,{onError:e,retry:{maxRetries:1}})}}function $t(n){return async function(r){let e=(o)=>{if(o?.cause?.status===404)return[];throw o};return await s.RequestClient.get(`${n}/owner/${r}`,{onError:e,retry:{maxRetries:1}})}}function S({asset:n,value:i}){return s.AssetValue.from({asset:n,fromBaseDecimal:P.getChainConfig(P.Chain.THORChain).baseDecimal,value:i})}function Ut({liquidityPositionGetter:n,isThorchain:i}){return async function(e){let o=await n(e),g=i?"rune":"cacao";return o.pools.map((a)=>({[`${g}Pending`]:S({asset:"THOR.RUNE",value:a.runePending}),[`${g}RegisteredAddress`]:a.runeAddress,[`${g}Withdrawn`]:S({asset:"THOR.RUNE",value:a.runeWithdrawn}),[g]:S({asset:"THOR.RUNE",value:a.runeAdded}),asset:S({asset:a.pool,value:a.assetAdded}),assetPending:S({asset:a.pool,value:a.assetPending}),assetRegisteredAddress:a.assetAddress,assetWithdrawn:S({asset:a.pool,value:a.assetWithdrawn}),dateFirstAdded:a.dateFirstAdded,dateLastAdded:a.dateLastAdded,poolShare:new s.SwapKitNumber(a.liquidityUnits).div(a.pool)}))}}function y(n){let i=n===P.Chain.THORChain,r=w(i),e=ut(i),o=Dt(r);return{getActions:dt(r),getBalance:vt(r),getConstants:ct(r),getEarningsHistory:St(r),getHealth:Lt(r),getLiquidityPosition:Ut({isThorchain:i,liquidityPositionGetter:o}),getLiquidityPositionRaw:o,getMembers:Rt(r),getMimir:Pt(r),getMimirVotes:It(r),getNameDetails:Gt(e),getNamesByAddress:lt(e),getNamesByOwner:$t(e),getNetworkInfo:Nt(r),getNode:Ht(r),getNodes:Tt(r),getPool:at(r),getPoolDepthHistory:Et(r),getPoolStats:At(r),getPools:gt(r),getSaverDetails:ht(r),getSavers:Bt(r),getSaversHistory:Mt(r),getStats:Ct(r),getSwapHistory:bt(r),getTVLHistory:Ot(r)}}var k=y(P.Chain.THORChain),x=y(P.Chain.Maya);var F={};f(F,{getTrackerDetails:()=>en,getTokenListProviders:()=>Y,getTokenList:()=>mn,getSwapQuote:()=>on,getPrice:()=>un,getNearDepositChannel:()=>An,getGasRate:()=>gn,getChainflipDepositChannel:()=>an,getChainBalance:()=>sn});var u=require("@swapkit/helpers");var N=require("@swapkit/helpers"),T=require("@swapkit/types"),t=require("zod/v4"),d;((e)=>{e.CHEAPEST="CHEAPEST";e.FASTEST="FASTEST";e.RECOMMENDED="RECOMMENDED"})(d||={});var O;((o)=>{o.PSBT="PSBT";o.EVM="EVM";o.COSMOS="COSMOS";o.RADIX="RADIX"})(O||={});var D;((E)=>{E.native_send="native_send";E.token_transfer="token_transfer";E.native_contract_call="native_contract_call";E.token_contract_call="token_contract_call";E.approve="approve";E.deposit="deposit";E.thorname_action="thorname_action";E.lp_action="lp_action";E.swap="swap";E.streaming_swap="streaming_swap";E.stake="stake";E.claim="claim";E.lending="lending";E.unknown="unknown"})(D||={});var R;((g)=>{g.unknown="unknown";g.not_started="not_started";g.pending="pending";g.swapping="swapping";g.completed="completed"})(R||={});var h;((A)=>{A.not_started="not_started";A.starting="starting";A.broadcasted="broadcasted";A.mempool="mempool";A.inbound="inbound";A.outbound="outbound";A.swapping="swapping";A.completed="completed";A.refunded="refunded";A.partially_refunded="partially_refunded";A.dropped="dropped";A.reverted="reverted";A.replaced="replaced";A.retries_exceeded="retries_exceeded";A.parsing_error="parsing_error"})(h||={});var Vt=t.object({address:t.optional(t.string()),chain:t.z.enum(T.Chain).optional(),chainId:t.z.enum(T.ChainId),coingeckoId:t.optional(t.string()),decimals:t.coerce.number(),extensions:t.optional(t.z.looseObject({})),identifier:t.string(),logoURI:t.optional(t.string()),name:t.optional(t.string()),shortCode:t.optional(t.string()),symbol:t.optional(t.string()),ticker:t.string()}),_t=t.z.object({block:t.z.optional(t.z.number().describe("Block number. Required for Polkadot chain. e.g. `123456`")),chainId:t.z.optional(t.z.string().describe("ChainId for the hash. e.g. `thorchain-1`")),depositChannelId:t.z.optional(t.z.string().describe("Deposit channel ID, required for Chainflip if tx was broadcasted without wallet connection")),hash:t.z.optional(t.z.string().describe("Hash for the first transaction broadcasted by the end user. e.g. `88D1819378ECD09E5284C54937CDC1E99B52F253C007617A02DD1200710CE677`"))}).refine((n)=>n.hash&&n.chainId||n.depositChannelId,{message:"Either `hash` and `chainId` or `depositChannelId` must be provided"}),Yt=t.z.object({forceUpdate:t.z.string().toLowerCase().transform((n)=>n==="true").pipe(t.z.boolean()).optional()}),Ft=t.object({error:t.string(),message:t.string()}),c=t.object({address:t.optional(t.string()),chain:t.z.enum(T.Chain),decimal:t.optional(t.number()),isGasAsset:t.boolean(),isSynthetic:t.boolean(),symbol:t.string(),tax:t.optional(t.object({buy:t.number(),sell:t.number()})),ticker:t.string()}),Q=t.object({id:t.string(),market_cap:t.number(),name:t.string(),price_change_24h_usd:t.number(),price_change_percentage_24h_usd:t.number(),sparkline_in_7d:t.array(t.number()),timestamp:t.string(),total_volume:t.number()}),B=t.array(t.object({cg:Q.optional(),identifier:t.string(),price_usd:t.number(),provider:t.string(),timestamp:t.number()}).partial()),Xt=t.object({affiliate:t.optional(t.string().describe("Affiliate thorname")),affiliateFee:t.optional(t.number().describe("Affiliate fee in basis points").refine((n)=>n===Math.floor(n)&&n>=0,{message:"affiliateFee must be a positive integer",path:["affiliateFee"]})),allowSmartContractReceiver:t.optional(t.boolean().describe("Allow smart contract as recipient")),allowSmartContractSender:t.optional(t.boolean().describe("Allow smart contract as sender")),buyAsset:t.string().describe("Asset to buy"),cfBoost:t.optional(t.boolean().describe("Set to true to enable CF boost to speed up Chainflip swaps. BTC only.")),destinationAddress:t.optional(t.string().describe("Address to send asset to")),disableSecurityChecks:t.optional(t.boolean().describe("Disable security checks")),includeTx:t.optional(t.boolean().describe("Set to true to include an transaction object (EVM only)")),providers:t.optional(t.array(t.string().describe("List of providers to use").refine((n)=>N.ProviderName[n]!==void 0,{message:"Invalid provider",path:["providers"]}))),referrer:t.optional(t.string().describe("Referrer address (referral program)")),sellAmount:t.string().describe("Amount of asset to sell").refine((n)=>+n>0,{message:"sellAmount must be greater than 0",path:["sellAmount"]}),sellAsset:t.string().describe("Asset to sell"),slippage:t.optional(t.number().describe("Slippage tolerance as a percentage. Default is 3%.")),sourceAddress:t.optional(t.string().describe("Address to send asset from"))}).refine((n)=>n.sellAsset!==n.buyAsset,{message:"Must be different",path:["sellAsset","buyAsset"]}),pt=t.object({metadata:t.boolean(),tokens:t.array(t.object({identifier:t.string()}))}),M=t.object({destinationAddress:t.string()}),z=M.extend({affiliateFees:t.array(t.object({brokerAddress:t.string(),feeBps:t.number()})).optional(),brokerCommissionBps:t.number().optional(),buyAsset:t.object({asset:t.string(),chain:t.string()}),channelMetadata:t.object({cfParameters:t.string().optional(),gasBudget:t.string().optional(),message:t.string().optional()}).optional(),dcaParameters:t.object({chunkInterval:t.number().optional(),numberOfChunks:t.number().optional()}).optional(),maxBoostFeeBps:t.number().optional(),refundParameters:t.object({minPrice:t.string().optional(),refundAddress:t.string().optional(),retryDuration:t.number().optional()}).optional(),sellAsset:t.object({asset:t.string(),chain:t.string()})}),v=t.object({channelId:t.string(),depositAddress:t.string()}),Z=M.extend({affiliateFees:t.object({feeBps:t.number(),nearId:t.string()}).optional(),buyAsset:t.string(),sellAmount:t.string(),sellAsset:t.string(),slippage:t.coerce.number(),sourceAddress:t.string()}),W=t.object({amountIn:t.string(),amountInFormatted:t.string(),amountInUsd:t.string(),amountOut:t.string(),amountOutFormatted:t.string(),amountOutUsd:t.string(),deadline:t.string().optional(),minAmountIn:t.string(),minAmountOut:t.string(),timeEstimate:t.number().optional(),timeWhenInactive:t.string().optional()}),wt=W.extend({depositAddress:t.string(),quote:W,signature:t.string(),timestamp:t.string(),tx:t.unknown()}),G=t.object({buyAsset:t.string(),buyAssetAmount:t.string(),buyAssetAmountMaxSlippage:t.string(),deadline:t.string().optional(),depositAddress:t.string(),depositAmount:t.string(),depositAsset:t.string(),tx:t.unknown()}),yt=t.object({evmCalldata:t.optional(t.string()),logs:t.optional(t.unknown()),memo:t.optional(t.string()),spender:t.optional(t.string())}),kt=t.object({currentLegIndex:t.optional(t.number()),estimatedFinalisedAt:t.number(),estimatedTimeToComplete:t.number(),providerDetails:t.optional(t.unknown()),updatedAt:t.number()}),xt=t.object({affiliate:t.optional(c),liquidity:t.optional(c),network:t.optional(c),protocol:t.optional(c),tax:t.optional(c)}),Wt=t.object({affiliate:t.optional(t.string()),broadcastedAt:t.optional(t.number()),explorerUrl:t.optional(t.string()),fees:t.optional(xt),images:t.optional(t.object({chain:t.optional(t.string()),from:t.optional(t.string()),provider:t.optional(t.string()),to:t.optional(t.string())})),provider:t.optional(t.z.enum(N.ProviderName)),quoteId:t.optional(t.string()),wallet:t.optional(t.string())}),b=t.z.object({block:t.z.number(),chainId:t.z.enum(T.ChainId),finalAddress:t.z.optional(t.z.string()),finalAsset:t.z.optional(c),finalisedAt:t.z.number(),fromAddress:t.z.string(),fromAmount:t.z.string(),fromAsset:t.z.string(),hash:t.z.string(),meta:t.z.optional(Wt),payload:t.z.optional(yt),status:t.z.enum(R),toAddress:t.z.string(),toAmount:t.z.string(),toAsset:t.z.string(),trackingStatus:t.z.optional(t.z.enum(h)),transient:t.z.optional(kt),type:t.z.enum(D)}),Qt=b.extend({legs:t.z.array(b)}),zt=b.extend({legs:t.array(b)}),Zt=b.extend({legs:t.array(b)}),l=t.array(t.object({amount:t.string(),asset:t.string(),chain:t.string(),protocol:t.z.enum(N.ProviderName),type:t.z.enum(N.FeeTypeEnum)})),$=t.z.object({inbound:t.z.optional(t.z.number().describe("Time to receive inbound asset in seconds")),outbound:t.z.optional(t.z.number().describe("Time to receive outbound asset in seconds")),swap:t.z.optional(t.z.number().describe("Time to swap assets in seconds")),total:t.z.number().describe("Total time in seconds")}),J=t.object({data:t.string().describe("Data to send"),from:t.string().describe("Address of the sender"),to:t.string().describe("Address of the recipient"),value:t.string().describe("Value to send")}),j=t.array(t.union([t.string(),t.number(),t.array(t.string()),t.object({from:t.string(),value:t.string()}).describe("Parameters to pass to the contract method")])),Jt=t.object({approvalSpender:t.optional(t.string().describe("Address of the spender to approve")),approvalToken:t.optional(t.string().describe("Address of the token to approve spending of")),contractAddress:t.string().describe("Address of the contract to interact with"),contractMethod:t.string().describe("Name of the method to call"),contractParamNames:t.array(t.string().describe("Names of the parameters to pass to the contract method")),contractParams:j}),jt=t.object({typeUrl:t.string(),value:t.unknown()}),Kt=t.object({amount:t.array(t.object({amount:t.string(),denom:t.string()})),gas:t.string()}),K=t.object({accountNumber:t.number(),chainId:t.z.enum(T.ChainId),fee:Kt,memo:t.string(),msgs:t.array(jt),sequence:t.number()}),q=t.object({affiliate:t.string().describe("Affiliate address").optional(),affiliateFee:t.number().describe("Affiliate fee").optional(),buyAsset:t.string().describe("Asset to buy"),destinationAddress:t.string().describe("Destination address"),estimatedTime:$.optional(),provider:t.z.enum(N.ProviderName),sellAsset:t.string().describe("Asset to sell"),slipPercentage:t.number().describe("Slippage as a percentage"),sourceAddress:t.string().describe("Source address")}),qt=q.omit({destinationAddress:!0,slipPercentage:!0,sourceAddress:!0}),tt=t.object({asset:t.string().describe("Asset name"),image:t.string().describe("Asset image"),price:t.number().describe("Price in USD")}),nt=z,rt=t.object({assets:t.optional(t.array(tt)),maxStreamingQuantity:t.number().optional(),referrer:t.string().optional(),streamingInterval:t.number().optional(),tags:t.array(t.z.enum(d))}),et=rt.extend({affiliate:t.optional(t.string()),affiliateFee:t.optional(t.string()),approvalAddress:t.optional(t.string().describe("Approval address for swap")),chainflip:nt.optional(),near:Z.optional(),priceImpact:t.optional(t.number().describe("Price impact")),referrer:t.optional(t.string()),txType:t.optional(t.z.enum(O))}),it=t.array(t.object({code:t.z.enum(N.WarningCodeEnum),display:t.string(),tooltip:t.string().optional()})),tn=t.object({buyAmount:t.string().describe("Buy amount"),buyAmountMaxSlippage:t.string().describe("Buy amount max slippage"),buyAsset:t.string().describe("Asset to buy"),fees:t.optional(l),provider:t.z.enum(N.ProviderName),sellAmount:t.string().describe("Sell amount"),sellAsset:t.string().describe("Asset to sell")}),nn=t.object({buyAsset:t.string().describe("Asset to buy"),destinationAddress:t.string().describe("Destination address"),estimatedTime:t.optional($),expectedBuyAmount:t.string().describe("Expected Buy amount"),expectedBuyAmountMaxSlippage:t.string().describe("Expected Buy amount max slippage"),expiration:t.optional(t.string().describe("Expiration")),fees:l,inboundAddress:t.optional(t.string().describe("Inbound address")),legs:t.array(tn),memo:t.optional(t.string().describe("Memo")),meta:et,providers:t.array(t.z.enum(N.ProviderName)),sellAmount:t.string().describe("Sell amount"),sellAsset:t.string().describe("Asset to sell"),sourceAddress:t.string().describe("Source address"),targetAddress:t.optional(t.string().describe("Target address")),totalSlippageBps:t.number().describe("Total slippage in bps"),tx:t.optional(t.union([J,K,t.string()])),txType:t.optional(t.z.enum(O)),warnings:it}),U=t.object({error:t.optional(t.string().describe("Error message")),providerErrors:t.optional(t.array(t.object({errorCode:t.optional(t.z.enum(N.ErrorCode)),message:t.optional(t.string()),provider:t.z.enum(N.ProviderName).optional()}))),quoteId:t.string().describe("Quote ID"),routes:t.array(nn)}),V=t.z.object({chainId:t.z.enum(T.ChainId),createdAt:t.z.date(),id:t.z.number(),unit:t.z.string(),value:t.z.string()}),rn=t.z.array(V),_=t.z.union([V,rn]),Vn=t.array(t.object({chain:t.z.enum(T.Chain),decimal:t.number(),identifier:t.string(),symbol:t.string(),ticker:t.string(),value:t.string()}));var H=u.RequestClient.extend({dynamicHeader:()=>{let{swapKit:n}=u.SKConfig.get("apiKeys");return n?{"x-api-key":n}:{}}});function en(n){return H.post(I("/track"),{json:n})}async function on(n){let i=await H.post(I("/quote"),{json:n});if(i.error)throw new u.SwapKitError("api_v2_server_error",{message:i.error});try{let r=U.safeParse(i);if(!r.success)throw new u.SwapKitError("api_v2_invalid_response",r.error);return r.data}catch(r){return i}}async function sn({chain:n,address:i,scamFilter:r=!0}){let e=I(`/balance?chain=${n}&address=${i}`),o=await H.get(e),g=Array.isArray(o)?o:[];return r?Ln(g):g}function Y(){let n=I("/providers");return H.get(n)}function mn(n){let i=I(`/tokens?provider=${n}`);return H.get(i)}async function un(n){let i=I("/price"),r=await H.post(i,{json:n});try{let e=B.safeParse(r);if(!e.success)throw new u.SwapKitError("api_v2_invalid_response",e.error);return e.data}catch(e){throw new u.SwapKitError("api_v2_invalid_response",e)}}async function gn(){let n=I("/gas"),i=await H.get(n);try{let r=_.safeParse(i);if(!r.success)throw new u.SwapKitError("api_v2_invalid_response",r.error);return Array.isArray(r)?r:[r]}catch(r){throw new u.SwapKitError("api_v2_invalid_response",r)}}async function an(n){let{destinationAddress:i}=n;if(!i)throw new u.SwapKitError("chainflip_broker_invalid_params");let r=u.SKConfig.get("integrations").chainflip?.brokerUrl||I("/chainflip/broker/channel"),e=await H.post(r,{json:n});try{let o=v.safeParse(e);if(!o.success)throw new u.SwapKitError("api_v2_invalid_response",o.error);return o.data}catch(o){throw new u.SwapKitError("api_v2_invalid_response",o)}}async function An(n){let{destinationAddress:i}=n;if(!i)throw new u.SwapKitError("chainflip_broker_invalid_params");let r=I("/near/channel"),e=await H.post(r,{json:n});try{let o=G.safeParse(e);if(!o.success)throw new u.SwapKitError("api_v2_invalid_response",o.error);return o.data}catch(o){throw new u.SwapKitError("api_v2_invalid_response",o)}}function I(n){let{isDev:i,apiUrl:r,devApiUrl:e}=u.SKConfig.get("envs");return`${i?e:r}${n}`}function En(n){let[i,r]=n.split(".");if(!u.EVMChains.includes(i))return!0;let e=r.split("-"),o=e.length===1?void 0:e[e.length-1];return u.isGasAsset({chain:i,symbol:r})||!!o}var Nn=new RegExp(/(.)\1{6}|\.ORG|\.NET|\.FINANCE|\.COM|WWW|HTTP|\\\\|\/\/|[\s$%:[\]]/,"gmi");function Ln(n){return n.filter((i)=>{return!Nn.test(i.identifier)&&En(i.identifier)})}var X={};f(X,{getThorchainQueue:()=>In,getTcyStakers:()=>dn,getTcyStaker:()=>fn,getTcyClaimers:()=>Rn,getTcyClaimer:()=>Dn,getTNSPreferredAsset:()=>Sn,getTHORNodeTNSDetails:()=>ot,getRunePoolProviderInfo:()=>On,getRunePoolInfo:()=>bn,getNodes:()=>Pn,getMimirInfo:()=>cn,getLastBlock:()=>Hn,getInboundAddresses:()=>Cn});var m=require("@swapkit/helpers");function L(n){let{isStagenet:i}=m.SKConfig.get("envs"),r=m.SKConfig.get("nodeUrls");switch(n){case"mayachain":return`${r[i?m.StagenetChain.Maya:m.Chain.Maya]}/mayachain`;default:return`${r[i?m.StagenetChain.THORChain:m.Chain.THORChain]}/thorchain`}}function Tn(n){let i=n==="mayachain"?"mayaname":"thorname";return`${L(n)}/${i}`}function Hn(n="thorchain"){return m.RequestClient.get(`${L(n)}/lastblock`)}function In(n){return m.RequestClient.get(`${L(n)}/queue`)}function Pn(n){return m.RequestClient.get(`${L(n)}/nodes`)}function cn(n){return m.RequestClient.get(`${L(n)}/mimir`)}function Cn(n){return m.RequestClient.get(`${L(n)}/inbound_addresses`)}async function ot({type:n,name:i}){try{return await m.RequestClient.get(`${Tn(n)}/${i}`)}catch(r){return{affiliate_collector_rune:"",aliases:[],expire_block_height:0,name:i,owner:"",preferred_asset:""}}}async function Sn({type:n,tns:i}){let r=await ot({name:i,type:n});if(!r.preferred_asset||r.preferred_asset===".")return;return m.AssetValue.from({asset:r.preferred_asset,asyncTokenLookup:!0})}function bn(n){return m.RequestClient.get(`${L(n)}/runepool`)}function On({type:n,thorAddress:i}){return m.RequestClient.get(`${L(n)}/rune_provider/${i}`)}function fn({type:n,address:i}){return m.RequestClient.get(`${L(n)}/tcy_staker/${i}`)}function dn(n){return m.RequestClient.get(`${L(n)}/tcy_stakers`)}function Dn({type:n,address:i}){return m.RequestClient.get(`${L(n)}/tcy_claimer/${i}`)}function Rn(n){return m.RequestClient.get(`${L(n)}/tcy_claimers`)}var p={};f(p,{getProviderLogo:()=>Mn,getLogoForAsset:()=>hn,getChainLogoForAsset:()=>Bn});var C=require("@swapkit/helpers");var mt="https://static.thorswap.net";function hn(n){let i=vn(n);return`${mt}/token-list/images/${i}.png`}function Bn(n){let{chain:i}=C.AssetValue.from({asset:n}),r=C.getChainIdentifier(i).toLowerCase();return`${mt}/token-list/images/${r}.png`}var st;async function Mn(n){return st||=await Y(),st.find((i)=>i.name===n)?.url}function vn(n){let{symbol:i}=C.AssetValue.from({asset:n});if(i===C.Chain.Ethereum)return"eth.eth";return n.toLowerCase()}var ln={...F,...p,mayachainMidgard:x,thorchainMidgard:k,thornode:X};
|
|
1
|
+
var Me={};X(Me,{TxnType:()=>D,TxnStatus:()=>h,TransactionSchema:()=>Jt,TransactionDTOSchema:()=>jt,TrackingStatus:()=>B,TrackingRequestSchema:()=>Gt,TrackingRequestQuerySchema:()=>vt,TrackerResponseSchema:()=>$,TokenSchema:()=>_t,TokenDetailsMetadataSchema:()=>Z,SwapKitApi:()=>ye,RouteQuoteWarningSchema:()=>st,RouteQuoteTxType:()=>P,RouteQuoteMetadataV2Schema:()=>ot,RouteQuoteMetadataSchema:()=>it,RouteQuoteMetadataAssetSchema:()=>nt,RouteLegWithoutAddressesSchema:()=>ee,RouteLegSchema:()=>et,QuoteResponseSchema:()=>v,QuoteRequestSchema:()=>Vt,ProviderAction:()=>l,PriorityLabel:()=>R,PriceResponseSchema:()=>y,PriceRequestSchema:()=>Xt,NearSwapResponseSchema:()=>U,NearDepositChannelResultSchema:()=>Ft,NearDepositChannelParamsSchema:()=>j,GasSchema:()=>Y,GasResponseSchema:()=>V,FeesSchema:()=>_,EstimatedTimeSchema:()=>G,EVMTransactionSchema:()=>K,EVMTransactionDetailsSchema:()=>Kt,EVMTransactionDetailsParamsSchema:()=>q,DepositChannelResponseSchema:()=>p,DepositChannelParamsSchema:()=>M,CosmosTransactionSchema:()=>tt,ChainflipMetadataSchema:()=>rt,BrokerDepositChannelParamsSchema:()=>J,AssetValueSchema:()=>S,ApiV2ErrorSchema:()=>Yt});module.exports=Be(Me);var s=require("@swapkit/helpers"),O=require("@swapkit/types");function x(e=!0){return e?"https://midgard.ninerealms.com":"https://midgard.mayachain.info"}function at(e=!0){let i=x(e);return e?`${i}/v2/thorname`:`${i}/v2/mayaname`}function mt(e){return function(n){let r=n?`?status=${n}`:"";return s.RequestClient.get(`${e}/v2/pools${r}`)}}function gt(e){return function(n){return s.RequestClient.get(`${e}/v2/pool/${n}`)}}function At(e){return function(n,r){let o=r?`?period=${r}`:"";return s.RequestClient.get(`${e}/v2/pool/${n}/stats${o}`)}}function Tt(e){return function(n,r){let o=new URLSearchParams;if(r?.interval)o.append("interval",r.interval);if(r?.count)o.append("count",r.count.toString());if(r?.from)o.append("from",r.from.toString());if(r?.to)o.append("to",r.to.toString());let N=o.toString()?`?${o.toString()}`:"";return s.RequestClient.get(`${e}/v2/history/depths/${n}${N}`)}}function Nt(e){return function(){return s.RequestClient.get(`${e}/v2/network`)}}function Et(e){return function(){return s.RequestClient.get(`${e}/v2/health`)}}function Ht(e){return function(){return s.RequestClient.get(`${e}/v2/nodes`)}}function Ct(e){return function(n){return s.RequestClient.get(`${e}/v2/node/${n}`)}}function dt(e){return function(){return s.RequestClient.get(`${e}/v2/mimir/votes`)}}function ct(e){return function(){return s.RequestClient.get(`${e}/v2/mimir`)}}function It(e){return function(){return s.RequestClient.get(`${e}/v2/constants`)}}function Lt(e){return function(){return s.RequestClient.get(`${e}/v2/stats`)}}function Ot(e){return function(n){let r=new URLSearchParams;if(n?.interval)r.append("interval",n.interval);if(n?.count)r.append("count",n.count.toString());if(n?.from)r.append("from",n.from.toString());if(n?.to)r.append("to",n.to.toString());let o=r.toString()?`?${r.toString()}`:"";return s.RequestClient.get(`${e}/v2/history/earnings${o}`)}}function St(e){return function(n,r){let o=new URLSearchParams;if(r?.interval)o.append("interval",r.interval);if(r?.count)o.append("count",r.count.toString());if(r?.from)o.append("from",r.from.toString());if(r?.to)o.append("to",r.to.toString());let N=o.toString()?`?${o.toString()}`:"",a=n?`/swaps/${n}`:"/swaps";return s.RequestClient.get(`${e}/v2/history${a}${N}`)}}function ft(e){return function(n){let r=new URLSearchParams;if(n?.interval)r.append("interval",n.interval);if(n?.count)r.append("count",n.count.toString());if(n?.from)r.append("from",n.from.toString());if(n?.to)r.append("to",n.to.toString());let o=r.toString()?`?${r.toString()}`:"";return s.RequestClient.get(`${e}/v2/history/tvl${o}`)}}function bt(e){if(!e)return"";let i=new URLSearchParams,n=(r,o)=>{if(o!==void 0)i.append(r,typeof o==="number"?o.toString():o)};return n("address",e.address),n("txid",e.txid),n("asset",e.asset),n("type",e.type),n("affiliate",e.affiliate),n("limit",e.limit),n("offset",e.offset),i.toString()?`?${i.toString()}`:""}function Pt(e){return function(n){let r=bt(n);return s.RequestClient.get(`${e}/v2/actions${r}`)}}function Rt(e){return function(n){return s.RequestClient.get(`${e}/v2/member/${n}`)}}function Dt(e){return function(n){let r=n?`/${n}`:"";return s.RequestClient.get(`${e}/v2/members${r}`)}}function lt(e){return function(n,r){let o=r?`&asset=${r}`:"";return s.RequestClient.get(`${e}/v2/saver/${n}${o?`?${o.substring(1)}`:""}`)}}function ht(e){return function(n){return s.RequestClient.get(`${e}/v2/savers/${n}`)}}function Bt(e){return function(n,r){let o=new URLSearchParams;if(r?.interval)o.append("interval",r.interval);if(r?.count)o.append("count",r.count.toString());if(r?.from)o.append("from",r.from.toString());if(r?.to)o.append("to",r.to.toString());let N=o.toString()?`?${o.toString()}`:"",a=n?`/savers/${n}`:"/savers";return s.RequestClient.get(`${e}/v2/history${a}${N}`)}}function yt(e){return function(n){return s.RequestClient.get(`${e}/v2/balance/${n}`)}}function Mt(e){return async function(n){let r=(o)=>{if(o?.cause?.status===404)return;throw o};return await s.RequestClient.get(`${e}/lookup/${n}`,{onError:r,retry:{maxRetries:1}})}}function pt(e){return async function(n){let r=(o)=>{if(o?.cause?.status===404)return[];throw o};return await s.RequestClient.get(`${e}/rlookup/${n}`,{onError:r,retry:{maxRetries:1}})}}function Ut(e){return async function(n){let r=(o)=>{if(o?.cause?.status===404)return[];throw o};return await s.RequestClient.get(`${e}/owner/${n}`,{onError:r,retry:{maxRetries:1}})}}function f({asset:e,value:i}){return s.AssetValue.from({asset:e,fromBaseDecimal:O.getChainConfig(O.Chain.THORChain).baseDecimal,value:i})}function $t({liquidityPositionGetter:e,isThorchain:i}){return async function(r){let o=await e(r),N=i?"rune":"cacao";return o.pools.map((a)=>({[`${N}Pending`]:f({asset:"THOR.RUNE",value:a.runePending}),[`${N}RegisteredAddress`]:a.runeAddress,[`${N}Withdrawn`]:f({asset:"THOR.RUNE",value:a.runeWithdrawn}),[N]:f({asset:"THOR.RUNE",value:a.runeAdded}),asset:f({asset:a.pool,value:a.assetAdded}),assetPending:f({asset:a.pool,value:a.assetPending}),assetRegisteredAddress:a.assetAddress,assetWithdrawn:f({asset:a.pool,value:a.assetWithdrawn}),dateFirstAdded:a.dateFirstAdded,dateLastAdded:a.dateLastAdded,poolShare:new s.SwapKitNumber(a.liquidityUnits).div(a.pool)}))}}function k(e){let i=e===O.Chain.THORChain,n=x(i),r=at(i),o=Rt(n);return{getActions:Pt(n),getBalance:yt(n),getConstants:It(n),getEarningsHistory:Ot(n),getHealth:Et(n),getLiquidityPosition:$t({isThorchain:i,liquidityPositionGetter:o}),getLiquidityPositionRaw:o,getMembers:Dt(n),getMimir:ct(n),getMimirVotes:dt(n),getNameDetails:Mt(r),getNamesByAddress:pt(r),getNamesByOwner:Ut(r),getNetworkInfo:Nt(n),getNode:Ct(n),getNodes:Ht(n),getPool:gt(n),getPoolDepthHistory:Tt(n),getPoolStats:At(n),getPools:mt(n),getSaverDetails:lt(n),getSavers:ht(n),getSaversHistory:Bt(n),getStats:Lt(n),getSwapHistory:St(n),getTVLHistory:ft(n)}}var W=k(O.Chain.THORChain),Q=k(O.Chain.Maya);var F={};X(F,{getTrackerDetails:()=>oe,getTokenListProviders:()=>ae,getTokenList:()=>me,getSwapQuote:()=>se,getPrice:()=>ge,getNearDepositChannel:()=>Ne,getGasRate:()=>Ae,getChainflipDepositChannel:()=>Te,getChainBalance:()=>ue});var u=require("@swapkit/helpers");var T=require("@swapkit/helpers"),C=require("@swapkit/types"),t=require("zod/v4"),R;((r)=>{r.CHEAPEST="CHEAPEST";r.FASTEST="FASTEST";r.RECOMMENDED="RECOMMENDED"})(R||={});var P;((o)=>{o.PSBT="PSBT";o.EVM="EVM";o.COSMOS="COSMOS";o.RADIX="RADIX"})(P||={});var D;((g)=>{g.approve="approve";g.claim="claim";g.deposit="deposit";g.donate="donate";g.lending="lending";g.lp_action="lp_action";g.native_contract_call="native_contract_call";g.native_send="native_send";g.stake="stake";g.streaming_swap="streaming_swap";g.swap="swap";g.thorname_action="thorname_action";g.token_contract_call="token_contract_call";g.token_transfer="token_transfer";g.unknown="unknown";g.unstake="unstake"})(D||={});var l;((E)=>{E.swap="swap";E.aggregation="aggregation";E.addLiquidity="addLiquidity";E.withdrawLiquidity="withdrawLiquidity";E.addSavers="addSavers";E.withdrawSavers="withdrawSavers";E.borrow="borrow";E.repay="repay";E.name="name";E.donate="donate";E.claim="claim";E.stake="stake";E.unstake="unstake"})(l||={});var h;((L)=>{L.unknown="unknown";L.not_started="not_started";L.pending="pending";L.swapping="swapping";L.completed="completed";L.refunded="refunded";L.failed="failed"})(h||={});var B;((A)=>{A.not_started="not_started";A.starting="starting";A.broadcasted="broadcasted";A.mempool="mempool";A.inbound="inbound";A.outbound="outbound";A.swapping="swapping";A.completed="completed";A.refunded="refunded";A.partially_refunded="partially_refunded";A.dropped="dropped";A.reverted="reverted";A.replaced="replaced";A.retries_exceeded="retries_exceeded";A.parsing_error="parsing_error"})(B||={});var _t=t.object({address:t.optional(t.string()),chain:t.z.enum(C.Chain).optional(),chainId:t.z.enum(C.ChainId),coingeckoId:t.optional(t.string()),decimals:t.coerce.number(),extensions:t.optional(t.z.looseObject({})),identifier:t.string(),logoURI:t.optional(t.string()),name:t.optional(t.string()),shortCode:t.optional(t.string()),symbol:t.optional(t.string()),ticker:t.string()}),Gt=t.z.object({block:t.z.optional(t.z.number().describe("Block number. Required for Polkadot chain. e.g. `123456`")),chainId:t.z.optional(t.z.string().describe("ChainId for the hash. e.g. `thorchain-1`")),depositChannelId:t.z.optional(t.z.string().describe("Deposit channel ID, required for Chainflip if tx was broadcasted without wallet connection")),hash:t.z.optional(t.z.string().describe("Hash for the first transaction broadcasted by the end user. e.g. `88D1819378ECD09E5284C54937CDC1E99B52F253C007617A02DD1200710CE677`"))}).refine((e)=>e.hash&&e.chainId||e.depositChannelId,{message:"Either `hash` and `chainId` or `depositChannelId` must be provided"}),vt=t.z.object({forceUpdate:t.z.string().toLowerCase().transform((e)=>e==="true").pipe(t.z.boolean()).optional()}),Yt=t.object({error:t.string(),message:t.string()}),S=t.object({address:t.optional(t.string()),chain:t.z.enum(C.Chain),decimal:t.optional(t.number()),isGasAsset:t.boolean(),isSynthetic:t.boolean(),symbol:t.string(),tax:t.optional(t.object({buy:t.number(),sell:t.number()})),ticker:t.string()}),Z=t.object({id:t.string(),market_cap:t.number(),name:t.string(),price_change_24h_usd:t.number(),price_change_percentage_24h_usd:t.number(),sparkline_in_7d:t.array(t.number()),timestamp:t.string(),total_volume:t.number()}),y=t.array(t.object({cg:Z.optional(),identifier:t.string(),price_usd:t.number(),provider:t.string(),timestamp:t.number()}).partial()),Vt=t.object({affiliate:t.optional(t.string().describe("Affiliate thorname")),affiliateFee:t.optional(t.number().describe("Affiliate fee in basis points").refine((e)=>e===Math.floor(e)&&e>=0,{message:"affiliateFee must be a positive integer",path:["affiliateFee"]})),allowSmartContractReceiver:t.optional(t.boolean().describe("Allow smart contract as recipient")),allowSmartContractSender:t.optional(t.boolean().describe("Allow smart contract as sender")),buyAsset:t.string().describe("Asset to buy"),cfBoost:t.optional(t.boolean().describe("Set to true to enable CF boost to speed up Chainflip swaps. BTC only.")),destinationAddress:t.optional(t.string().describe("Address to send asset to")),disableSecurityChecks:t.optional(t.boolean().describe("Disable security checks")),includeTx:t.optional(t.boolean().describe("Set to true to include an transaction object (EVM only)")),providers:t.optional(t.array(t.string().describe("List of providers to use").refine((e)=>T.ProviderName[e]!==void 0,{message:"Invalid provider",path:["providers"]}))),referrer:t.optional(t.string().describe("Referrer address (referral program)")),sellAmount:t.string().describe("Amount of asset to sell").refine((e)=>+e>0,{message:"sellAmount must be greater than 0",path:["sellAmount"]}),sellAsset:t.string().describe("Asset to sell"),slippage:t.optional(t.number().describe("Slippage tolerance as a percentage. Default is 3%.")),sourceAddress:t.optional(t.string().describe("Address to send asset from"))}).refine((e)=>e.sellAsset!==e.buyAsset,{message:"Must be different",path:["sellAsset","buyAsset"]}),Xt=t.object({metadata:t.boolean(),tokens:t.array(t.object({identifier:t.string()}))}),M=t.object({destinationAddress:t.string()}),J=M.extend({affiliateFees:t.array(t.object({brokerAddress:t.string(),feeBps:t.number()})).optional(),brokerCommissionBps:t.number().optional(),buyAsset:t.object({asset:t.string(),chain:t.string()}),channelMetadata:t.object({cfParameters:t.string().optional(),gasBudget:t.string().optional(),message:t.string().optional()}).optional(),dcaParameters:t.object({chunkInterval:t.number().optional(),numberOfChunks:t.number().optional()}).optional(),maxBoostFeeBps:t.number().optional(),refundParameters:t.object({minPrice:t.string().optional(),refundAddress:t.string().optional(),retryDuration:t.number().optional()}).optional(),sellAsset:t.object({asset:t.string(),chain:t.string()})}),p=t.object({channelId:t.string(),depositAddress:t.string()}),j=M.extend({affiliateFees:t.object({feeBps:t.number(),nearId:t.string()}).optional(),buyAsset:t.string(),sellAmount:t.string(),sellAsset:t.string(),slippage:t.coerce.number(),sourceAddress:t.string()}),z=t.object({amountIn:t.string(),amountInFormatted:t.string(),amountInUsd:t.string(),amountOut:t.string(),amountOutFormatted:t.string(),amountOutUsd:t.string(),deadline:t.string().optional(),minAmountIn:t.string(),minAmountOut:t.string(),timeEstimate:t.number().optional(),timeWhenInactive:t.string().optional()}),Ft=z.extend({depositAddress:t.string(),quote:z,signature:t.string(),timestamp:t.string(),tx:t.unknown()}),U=t.object({buyAsset:t.string(),buyAssetAmount:t.string(),buyAssetAmountMaxSlippage:t.string(),deadline:t.string().optional(),depositAddress:t.string(),depositAmount:t.string(),depositAsset:t.string(),tx:t.unknown()}),wt=t.object({evmCalldata:t.z.optional(t.z.string()),intentHash:t.z.optional(t.z.string()),logs:t.z.optional(t.z.unknown()),manifest:t.z.optional(t.z.unknown()),memo:t.z.optional(t.z.string()),spender:t.z.optional(t.z.string()),thorname:t.z.optional(t.z.string())}),xt=t.object({currentStage:t.string(),inboundConfirmation:t.number(),inboundObservation:t.number(),outboundDelay:t.number(),outboundObservation:t.number(),streamingSwap:t.number()}),kt=t.object({count:t.optional(t.number()),interval:t.optional(t.number()),quantity:t.optional(t.number()),subSwapsMap:t.optional(t.array(t.number()))}),Wt=t.z.object({currentLegIndex:t.z.optional(t.z.number()),estimatedTimeToComplete:t.z.number(),estimates:t.z.optional(xt),providerDetails:t.z.optional(t.z.object({streamingDetails:t.z.optional(kt)}))}),Qt=t.object({affiliate:t.optional(S),liquidity:t.optional(S),network:t.optional(S),protocol:t.optional(S),tax:t.optional(S)}),zt=t.object({affiliate:t.string(),bps:t.string(),isReferrer:t.boolean()}),Zt=t.object({affiliate:t.optional(t.string()),affiliateFees:t.optional(t.array(zt)),broadcastedAt:t.optional(t.number()),explorerUrl:t.optional(t.string()),fees:t.optional(Qt),images:t.optional(t.object({chain:t.optional(t.string()),from:t.optional(t.string()),provider:t.optional(t.string()),to:t.optional(t.string())})),provider:t.optional(t.z.enum(T.ProviderName)),providerAction:t.z.optional(t.z.enum(l)),quoteId:t.optional(t.string()),wallet:t.optional(t.string())}),b=t.z.object({block:t.z.number(),chainId:t.z.enum(C.ChainId),finalAddress:t.z.optional(t.z.string()),finalAsset:t.z.optional(S),finalisedAt:t.z.number(),fromAddress:t.z.string(),fromAmount:t.z.string(),fromAsset:t.z.string(),hash:t.z.string(),meta:t.z.optional(Zt),payload:t.z.optional(wt),status:t.z.enum(h),toAddress:t.z.string(),toAmount:t.z.string(),toAsset:t.z.string(),trackingStatus:t.z.optional(t.z.enum(B)),transient:t.z.optional(Wt),type:t.z.enum(D)}),$=b.extend({legs:t.z.array(b)}),Jt=b.extend({legs:t.array(b)}),jt=b.extend({legs:t.array(b)}),_=t.array(t.object({amount:t.string(),asset:t.string(),chain:t.string(),protocol:t.z.enum(T.ProviderName),type:t.z.enum(T.FeeTypeEnum)})),G=t.z.object({inbound:t.z.optional(t.z.number().describe("Time to receive inbound asset in seconds")),outbound:t.z.optional(t.z.number().describe("Time to receive outbound asset in seconds")),swap:t.z.optional(t.z.number().describe("Time to swap assets in seconds")),total:t.z.number().describe("Total time in seconds")}),K=t.object({data:t.string().describe("Data to send"),from:t.string().describe("Address of the sender"),to:t.string().describe("Address of the recipient"),value:t.string().describe("Value to send")}),q=t.array(t.union([t.string(),t.number(),t.array(t.string()),t.object({from:t.string(),value:t.string()}).describe("Parameters to pass to the contract method")])),Kt=t.object({approvalSpender:t.optional(t.string().describe("Address of the spender to approve")),approvalToken:t.optional(t.string().describe("Address of the token to approve spending of")),contractAddress:t.string().describe("Address of the contract to interact with"),contractMethod:t.string().describe("Name of the method to call"),contractParamNames:t.array(t.string().describe("Names of the parameters to pass to the contract method")),contractParams:q}),qt=t.object({typeUrl:t.string(),value:t.unknown()}),te=t.object({amount:t.array(t.object({amount:t.string(),denom:t.string()})),gas:t.string()}),tt=t.object({accountNumber:t.number(),chainId:t.z.enum(C.ChainId),fee:te,memo:t.string(),msgs:t.array(qt),sequence:t.number()}),et=t.object({affiliate:t.string().describe("Affiliate address").optional(),affiliateFee:t.number().describe("Affiliate fee").optional(),buyAsset:t.string().describe("Asset to buy"),destinationAddress:t.string().describe("Destination address"),estimatedTime:G.optional(),provider:t.z.enum(T.ProviderName),sellAsset:t.string().describe("Asset to sell"),slipPercentage:t.number().describe("Slippage as a percentage"),sourceAddress:t.string().describe("Source address")}),ee=et.omit({destinationAddress:!0,slipPercentage:!0,sourceAddress:!0}),nt=t.object({asset:t.string().describe("Asset name"),image:t.string().describe("Asset image"),price:t.number().describe("Price in USD")}),rt=J,it=t.object({assets:t.optional(t.array(nt)),maxStreamingQuantity:t.number().optional(),referrer:t.string().optional(),streamingInterval:t.number().optional(),tags:t.array(t.z.enum(R))}),ot=it.extend({affiliate:t.optional(t.string()),affiliateFee:t.optional(t.string()),approvalAddress:t.optional(t.string().describe("Approval address for swap")),chainflip:rt.optional(),near:j.optional(),priceImpact:t.optional(t.number().describe("Price impact")),referrer:t.optional(t.string()),txType:t.optional(t.z.enum(P))}),st=t.array(t.object({code:t.z.enum(T.WarningCodeEnum),display:t.string(),tooltip:t.string().optional()})),ne=t.object({buyAmount:t.string().describe("Buy amount"),buyAmountMaxSlippage:t.string().describe("Buy amount max slippage"),buyAsset:t.string().describe("Asset to buy"),fees:t.optional(_),provider:t.z.enum(T.ProviderName),sellAmount:t.string().describe("Sell amount"),sellAsset:t.string().describe("Asset to sell")}),re=t.object({buyAsset:t.string().describe("Asset to buy"),destinationAddress:t.string().describe("Destination address"),estimatedTime:t.optional(G),expectedBuyAmount:t.string().describe("Expected Buy amount"),expectedBuyAmountMaxSlippage:t.string().describe("Expected Buy amount max slippage"),expiration:t.optional(t.string().describe("Expiration")),fees:_,inboundAddress:t.optional(t.string().describe("Inbound address")),legs:t.array(ne),memo:t.optional(t.string().describe("Memo")),meta:ot,providers:t.array(t.z.enum(T.ProviderName)),sellAmount:t.string().describe("Sell amount"),sellAsset:t.string().describe("Asset to sell"),sourceAddress:t.string().describe("Source address"),targetAddress:t.optional(t.string().describe("Target address")),totalSlippageBps:t.number().describe("Total slippage in bps"),tx:t.optional(t.union([K,tt,t.string()])),txType:t.optional(t.z.enum(P)),warnings:st}),v=t.object({error:t.optional(t.string().describe("Error message")),providerErrors:t.optional(t.array(t.object({errorCode:t.optional(t.z.enum(T.ErrorCode)),message:t.optional(t.string()),provider:t.z.enum(T.ProviderName).optional()}))),quoteId:t.string().describe("Quote ID"),routes:t.array(re)}),Y=t.z.object({chainId:t.z.enum(C.ChainId),createdAt:t.z.date(),id:t.z.number(),unit:t.z.string(),value:t.z.string()}),ie=t.z.array(Y),V=t.z.union([Y,ie]),Ue=t.array(t.object({chain:t.z.enum(C.Chain),decimal:t.number(),identifier:t.string(),symbol:t.string(),ticker:t.string(),value:t.string()}));var d=u.RequestClient.extend({dynamicHeader:()=>{let{swapKit:e}=u.SKConfig.get("apiKeys");return e?{"x-api-key":e}:{}}});async function oe(e){let i=await d.post(c("/track"),{json:e});try{let n=$.safeParse(i);if(!n.success)throw new u.SwapKitError("api_v2_invalid_response",n.error);return n.data}catch(n){return i}}async function se(e){let i=await d.post(c("/quote"),{json:e});if(i.error)throw new u.SwapKitError("api_v2_server_error",{message:i.error});try{let n=v.safeParse(i);if(!n.success)throw new u.SwapKitError("api_v2_invalid_response",n.error);return n.data}catch{return i}}async function ue({chain:e,address:i,scamFilter:n=!0}){let r=c(`/balance?chain=${e}&address=${i}`),o=await d.get(r),N=Array.isArray(o)?o:[];return n?Ce(N):N}function ae(){let e=c("/providers");return d.get(e)}function me(e){let i=c(`/tokens?provider=${e}`);return d.get(i)}async function ge(e){let i=c("/price"),n=await d.post(i,{json:e});try{let r=y.safeParse(n);if(!r.success)throw new u.SwapKitError("api_v2_invalid_response",r.error);return r.data}catch(r){throw new u.SwapKitError("api_v2_invalid_response",r)}}async function Ae(){let e=c("/gas"),i=await d.get(e);try{let n=V.safeParse(i);if(!n.success)throw new u.SwapKitError("api_v2_invalid_response",n.error);return Array.isArray(n)?n:[n]}catch(n){throw new u.SwapKitError("api_v2_invalid_response",n)}}async function Te(e){let{destinationAddress:i}=e;if(!i)throw new u.SwapKitError("chainflip_broker_invalid_params");let n=u.SKConfig.get("integrations").chainflip?.brokerUrl||c("/chainflip/broker/channel"),r=await d.post(n,{json:e});try{let o=p.safeParse(r);if(!o.success)throw new u.SwapKitError("api_v2_invalid_response",o.error);return o.data}catch(o){throw new u.SwapKitError("api_v2_invalid_response",o)}}async function Ne(e){let{destinationAddress:i}=e;if(!i)throw new u.SwapKitError("chainflip_broker_invalid_params");let n=c("/near/channel"),r=await d.post(n,{json:e});try{let o=U.safeParse(r);if(!o.success)throw new u.SwapKitError("api_v2_invalid_response",o.error);return o.data}catch(o){throw new u.SwapKitError("api_v2_invalid_response",o)}}function c(e){let{isDev:i,apiUrl:n,devApiUrl:r}=u.SKConfig.get("envs");return`${i?r:n}${e}`}function Ee(e){let[i,n]=e.split(".");if(!u.EVMChains.includes(i))return!0;let r=n.split("-"),o=r.length===1?void 0:r[r.length-1];return u.isGasAsset({chain:i,symbol:n})||!!o}var He=new RegExp(/(.)\1{6}|\.ORG|\.NET|\.FINANCE|\.COM|WWW|HTTP|\\\\|\/\/|[\s$%:[\]]/,"gmi");function Ce(e){return e.filter((i)=>{return!He.test(i.identifier)&&Ee(i.identifier)})}var w={};X(w,{getThorchainQueue:()=>Ie,getTcyStakers:()=>De,getTcyStaker:()=>Re,getTcyClaimers:()=>he,getTcyClaimer:()=>le,getTNSPreferredAsset:()=>fe,getTHORNodeTNSDetails:()=>ut,getRunePoolProviderInfo:()=>Pe,getRunePoolInfo:()=>be,getNodes:()=>Le,getMimirInfo:()=>Oe,getLastBlock:()=>ce,getInboundAddresses:()=>Se});var m=require("@swapkit/helpers"),I=require("@swapkit/types");function H(e){let{isStagenet:i}=m.SKConfig.get("envs");switch(e){case"mayachain":return`${i?I.StagenetMAYAConfig.nodeUrl:I.MAYAConfig.nodeUrl}/mayachain`;default:return`${i?I.StagenetTHORConfig.nodeUrl:I.THORConfig.nodeUrl}/thorchain`}}function de(e){let i=e==="mayachain"?"mayaname":"thorname";return`${H(e)}/${i}`}function ce(e="thorchain"){return m.RequestClient.get(`${H(e)}/lastblock`)}function Ie(e){return m.RequestClient.get(`${H(e)}/queue`)}function Le(e){return m.RequestClient.get(`${H(e)}/nodes`)}function Oe(e){return m.RequestClient.get(`${H(e)}/mimir`)}function Se(e){return m.RequestClient.get(`${H(e)}/inbound_addresses`)}async function ut({type:e,name:i}){try{return await m.RequestClient.get(`${de(e)}/${i}`)}catch{return{affiliate_collector_rune:"",aliases:[],expire_block_height:0,name:i,owner:"",preferred_asset:""}}}async function fe({type:e,tns:i}){let n=await ut({name:i,type:e});if(!n.preferred_asset||n.preferred_asset===".")return;return m.AssetValue.from({asset:n.preferred_asset,asyncTokenLookup:!0})}function be(e){return m.RequestClient.get(`${H(e)}/runepool`)}function Pe({type:e,thorAddress:i}){return m.RequestClient.get(`${H(e)}/rune_provider/${i}`)}function Re({type:e,address:i}){return m.RequestClient.get(`${H(e)}/tcy_staker/${i}`)}function De(e){return m.RequestClient.get(`${H(e)}/tcy_stakers`)}function le({type:e,address:i}){return m.RequestClient.get(`${H(e)}/tcy_claimer/${i}`)}function he(e){return m.RequestClient.get(`${H(e)}/tcy_claimers`)}var ye={...F,mayachainMidgard:Q,thorchainMidgard:W,thornode:w};
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=08EBD58BD367E68964756E2164756E21
|
|
4
4
|
//# sourceMappingURL=index.cjs.map
|
package/dist/api/index.cjs.map
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/api/midgard/endpoints.ts", "../src/api/swapkitApi/endpoints.ts", "../src/api/swapkitApi/types.ts", "../src/api/thornode/endpoints.ts", "../src/api/
|
|
3
|
+
"sources": ["../src/api/midgard/endpoints.ts", "../src/api/swapkitApi/endpoints.ts", "../src/api/swapkitApi/types.ts", "../src/api/thornode/endpoints.ts", "../src/api/index.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"import { AssetValue, RequestClient, SwapKitNumber } from \"@swapkit/helpers\";\nimport { Chain, getChainConfig, type TCLikeChain } from \"@swapkit/types\";\nimport type {\n Action,\n ActionQuery,\n Balance,\n Constants,\n DepthHistory,\n EarningsHistory,\n HealthInfo,\n HistoryQuery,\n MemberDetailsMayachain,\n MemberDetailsThorchain,\n MimirVote,\n NetworkInfo,\n Node,\n PagedResponse,\n Pool,\n PoolStats,\n SaverDetails,\n SaversHistory,\n Stats,\n SwapHistory,\n THORNameDetails,\n TVLHistory,\n} from \"./types\";\n\nfunction getMidgardBaseUrl(isThorchain = true) {\n return isThorchain ? \"https://midgard.ninerealms.com\" : \"https://midgard.mayachain.info\";\n}\n\nfunction getNameServiceBaseUrl(isThorchain = true) {\n const baseUrl = getMidgardBaseUrl(isThorchain);\n return isThorchain ? `${baseUrl}/v2/thorname` : `${baseUrl}/v2/mayaname`;\n}\n\nfunction getPools(baseUrl: string) {\n return function getPools(status?: string): Promise<Pool[]> {\n const params = status ? `?status=${status}` : \"\";\n return RequestClient.get<Pool[]>(`${baseUrl}/v2/pools${params}`);\n };\n}\n\nfunction getPool(baseUrl: string) {\n return function getPool(asset: string): Promise<Pool> {\n return RequestClient.get<Pool>(`${baseUrl}/v2/pool/${asset}`);\n };\n}\n\nfunction getPoolStats(baseUrl: string) {\n return function getPoolStats(asset: string, period?: string): Promise<PoolStats> {\n const params = period ? `?period=${period}` : \"\";\n return RequestClient.get<PoolStats>(`${baseUrl}/v2/pool/${asset}/stats${params}`);\n };\n}\n\nfunction getPoolDepthHistory(baseUrl: string) {\n return function getPoolDepthHistory(asset: string, query?: HistoryQuery): Promise<DepthHistory> {\n const params = new URLSearchParams();\n if (query?.interval) params.append(\"interval\", query.interval);\n if (query?.count) params.append(\"count\", query.count.toString());\n if (query?.from) params.append(\"from\", query.from.toString());\n if (query?.to) params.append(\"to\", query.to.toString());\n const queryString = params.toString() ? `?${params.toString()}` : \"\";\n return RequestClient.get<DepthHistory>(`${baseUrl}/v2/history/depths/${asset}${queryString}`);\n };\n}\n\nfunction getNetworkInfo(baseUrl: string) {\n return function getNetworkInfo(): Promise<NetworkInfo> {\n return RequestClient.get<NetworkInfo>(`${baseUrl}/v2/network`);\n };\n}\n\nfunction getHealth(baseUrl: string) {\n return function getHealth(): Promise<HealthInfo> {\n return RequestClient.get<HealthInfo>(`${baseUrl}/v2/health`);\n };\n}\n\nfunction getNodes(baseUrl: string) {\n return function getNodes(): Promise<Node[]> {\n return RequestClient.get<Node[]>(`${baseUrl}/v2/nodes`);\n };\n}\n\nfunction getNode(baseUrl: string) {\n return function getNode(address: string): Promise<Node> {\n return RequestClient.get<Node>(`${baseUrl}/v2/node/${address}`);\n };\n}\n\nfunction getMimirVotes(baseUrl: string) {\n return function getMimirVotes(): Promise<MimirVote[]> {\n return RequestClient.get<MimirVote[]>(`${baseUrl}/v2/mimir/votes`);\n };\n}\n\nfunction getMimir(baseUrl: string) {\n return function getMimir(): Promise<Record<string, string>> {\n return RequestClient.get<Record<string, string>>(`${baseUrl}/v2/mimir`);\n };\n}\n\nfunction getConstants(baseUrl: string) {\n return function getConstants(): Promise<Constants> {\n return RequestClient.get<Constants>(`${baseUrl}/v2/constants`);\n };\n}\n\nfunction getStats(baseUrl: string) {\n return function getStats(): Promise<Stats> {\n return RequestClient.get<Stats>(`${baseUrl}/v2/stats`);\n };\n}\n\nfunction getEarningsHistory(baseUrl: string) {\n return function getEarningsHistory(query?: HistoryQuery): Promise<EarningsHistory> {\n const params = new URLSearchParams();\n if (query?.interval) params.append(\"interval\", query.interval);\n if (query?.count) params.append(\"count\", query.count.toString());\n if (query?.from) params.append(\"from\", query.from.toString());\n if (query?.to) params.append(\"to\", query.to.toString());\n const queryString = params.toString() ? `?${params.toString()}` : \"\";\n return RequestClient.get<EarningsHistory>(`${baseUrl}/v2/history/earnings${queryString}`);\n };\n}\n\nfunction getSwapHistory(baseUrl: string) {\n return function getSwapHistory(pool?: string, query?: HistoryQuery): Promise<SwapHistory> {\n const params = new URLSearchParams();\n if (query?.interval) params.append(\"interval\", query.interval);\n if (query?.count) params.append(\"count\", query.count.toString());\n if (query?.from) params.append(\"from\", query.from.toString());\n if (query?.to) params.append(\"to\", query.to.toString());\n const queryString = params.toString() ? `?${params.toString()}` : \"\";\n const poolPath = pool ? `/swaps/${pool}` : \"/swaps\";\n return RequestClient.get<SwapHistory>(`${baseUrl}/v2/history${poolPath}${queryString}`);\n };\n}\n\nfunction getTVLHistory(baseUrl: string) {\n return function getTVLHistory(query?: HistoryQuery): Promise<TVLHistory> {\n const params = new URLSearchParams();\n if (query?.interval) params.append(\"interval\", query.interval);\n if (query?.count) params.append(\"count\", query.count.toString());\n if (query?.from) params.append(\"from\", query.from.toString());\n if (query?.to) params.append(\"to\", query.to.toString());\n const queryString = params.toString() ? `?${params.toString()}` : \"\";\n return RequestClient.get<TVLHistory>(`${baseUrl}/v2/history/tvl${queryString}`);\n };\n}\n\nfunction buildActionParams(query?: ActionQuery): string {\n if (!query) return \"\";\n const params = new URLSearchParams();\n const appendParam = (key: keyof ActionQuery, value: any) => {\n if (value !== undefined) {\n params.append(key, typeof value === \"number\" ? value.toString() : value);\n }\n };\n appendParam(\"address\", query.address);\n appendParam(\"txid\", query.txid);\n appendParam(\"asset\", query.asset);\n appendParam(\"type\", query.type);\n appendParam(\"affiliate\", query.affiliate);\n appendParam(\"limit\", query.limit);\n appendParam(\"offset\", query.offset);\n return params.toString() ? `?${params.toString()}` : \"\";\n}\n\nfunction getActions(baseUrl: string) {\n return function getActions(query?: ActionQuery): Promise<PagedResponse<Action>> {\n const queryString = buildActionParams(query);\n return RequestClient.get<PagedResponse<Action>>(`${baseUrl}/v2/actions${queryString}`);\n };\n}\n\nfunction getLiquidityPositionRaw<Chain extends TCLikeChain>(baseUrl: string) {\n return function getLiquidityPosition(\n address: string,\n ): Promise<Chain extends typeof Chain.THORChain ? MemberDetailsThorchain : MemberDetailsMayachain> {\n return RequestClient.get<Chain extends typeof Chain.THORChain ? MemberDetailsThorchain : MemberDetailsMayachain>(\n `${baseUrl}/v2/member/${address}`,\n );\n };\n}\n\nfunction getMembers(baseUrl: string) {\n return function getMembers(pool?: string): Promise<string[]> {\n const poolPath = pool ? `/${pool}` : \"\";\n return RequestClient.get<string[]>(`${baseUrl}/v2/members${poolPath}`);\n };\n}\n\nfunction getSaverDetails(baseUrl: string) {\n return function getSaverDetails(address: string, pool?: string): Promise<SaverDetails[]> {\n const poolPath = pool ? `&asset=${pool}` : \"\";\n return RequestClient.get<SaverDetails[]>(\n `${baseUrl}/v2/saver/${address}${poolPath ? `?${poolPath.substring(1)}` : \"\"}`,\n );\n };\n}\n\nfunction getSavers(baseUrl: string) {\n return function getSavers(pool: string): Promise<string[]> {\n return RequestClient.get<string[]>(`${baseUrl}/v2/savers/${pool}`);\n };\n}\n\nfunction getSaversHistory(baseUrl: string) {\n return function getSaversHistory(pool?: string, query?: HistoryQuery): Promise<SaversHistory> {\n const params = new URLSearchParams();\n if (query?.interval) params.append(\"interval\", query.interval);\n if (query?.count) params.append(\"count\", query.count.toString());\n if (query?.from) params.append(\"from\", query.from.toString());\n if (query?.to) params.append(\"to\", query.to.toString());\n const queryString = params.toString() ? `?${params.toString()}` : \"\";\n const poolPath = pool ? `/savers/${pool}` : \"/savers\";\n return RequestClient.get<SaversHistory>(`${baseUrl}/v2/history${poolPath}${queryString}`);\n };\n}\n\nfunction getBalance(baseUrl: string) {\n return function getBalance(address: string): Promise<Balance[]> {\n return RequestClient.get<Balance[]>(`${baseUrl}/v2/balance/${address}`);\n };\n}\n\nfunction getNameDetails(baseUrl: string) {\n return async function getNamesByAddress(name: string) {\n const errorHandler = (error: any) => {\n // Handle specific error cases\n if (error?.cause?.status === 404) {\n return undefined;\n }\n throw error;\n };\n return await RequestClient.get<THORNameDetails>(`${baseUrl}/lookup/${name}`, {\n onError: errorHandler,\n retry: { maxRetries: 1 },\n });\n };\n}\n\nfunction getNamesByAddress(baseUrl: string) {\n return async function getNamesByAddress(address: string) {\n const errorHandler = (error: any) => {\n // Handle specific error cases\n if (error?.cause?.status === 404) {\n return [];\n }\n throw error;\n };\n return await RequestClient.get<string[]>(`${baseUrl}/rlookup/${address}`, {\n onError: errorHandler,\n retry: { maxRetries: 1 },\n });\n };\n}\n\nfunction getNamesByOwner(baseUrl: string) {\n return async function getNamesByOwner(address: string) {\n const errorHandler = (error: any) => {\n // Handle specific error cases\n if (error?.cause?.status === 404) {\n return [];\n }\n throw error;\n };\n return await RequestClient.get<string[]>(`${baseUrl}/owner/${address}`, {\n onError: errorHandler,\n retry: { maxRetries: 1 },\n });\n };\n}\n\nfunction getPoolAsset({ asset, value }: { asset: string; value: string }) {\n return AssetValue.from({ asset, fromBaseDecimal: getChainConfig(Chain.THORChain).baseDecimal, value });\n}\n\nfunction getLiquidityPosition<IsThorchain extends boolean = true>({\n liquidityPositionGetter,\n isThorchain,\n}: {\n liquidityPositionGetter: ReturnType<\n typeof getLiquidityPositionRaw<IsThorchain extends true ? typeof Chain.THORChain : typeof Chain.Maya>\n >;\n isThorchain: IsThorchain;\n}) {\n return async function getLiquidityPosition(address: string) {\n const rawLiquidityPositions = await liquidityPositionGetter(address);\n const fieldPrefix = isThorchain ? \"rune\" : \"cacao\";\n\n return rawLiquidityPositions.pools.map((p) => ({\n [`${fieldPrefix}Pending`]: getPoolAsset({ asset: \"THOR.RUNE\", value: p.runePending }),\n [`${fieldPrefix}RegisteredAddress`]: p.runeAddress,\n [`${fieldPrefix}Withdrawn`]: getPoolAsset({ asset: \"THOR.RUNE\", value: p.runeWithdrawn }),\n [fieldPrefix]: getPoolAsset({ asset: \"THOR.RUNE\", value: p.runeAdded }),\n asset: getPoolAsset({ asset: p.pool, value: p.assetAdded }),\n assetPending: getPoolAsset({ asset: p.pool, value: p.assetPending }),\n assetRegisteredAddress: p.assetAddress,\n assetWithdrawn: getPoolAsset({ asset: p.pool, value: p.assetWithdrawn }),\n dateFirstAdded: p.dateFirstAdded,\n dateLastAdded: p.dateLastAdded,\n poolShare: new SwapKitNumber(p.liquidityUnits).div(p.pool),\n }));\n };\n}\n\nfunction getMidgardMethodsForProtocol<T extends TCLikeChain>(chain: T) {\n const isThorchain = chain === Chain.THORChain;\n const midgardBaseUrl = getMidgardBaseUrl(isThorchain);\n const nameServiceBaseUrl = getNameServiceBaseUrl(isThorchain);\n const liquidityPositionGetter = getLiquidityPositionRaw<T>(midgardBaseUrl);\n\n return {\n getActions: getActions(midgardBaseUrl),\n getBalance: getBalance(midgardBaseUrl),\n getConstants: getConstants(midgardBaseUrl),\n getEarningsHistory: getEarningsHistory(midgardBaseUrl),\n getHealth: getHealth(midgardBaseUrl),\n getLiquidityPosition: getLiquidityPosition({ isThorchain, liquidityPositionGetter }),\n getLiquidityPositionRaw: liquidityPositionGetter,\n getMembers: getMembers(midgardBaseUrl),\n getMimir: getMimir(midgardBaseUrl),\n getMimirVotes: getMimirVotes(midgardBaseUrl),\n getNameDetails: getNameDetails(nameServiceBaseUrl),\n getNamesByAddress: getNamesByAddress(nameServiceBaseUrl),\n getNamesByOwner: getNamesByOwner(nameServiceBaseUrl),\n getNetworkInfo: getNetworkInfo(midgardBaseUrl),\n getNode: getNode(midgardBaseUrl),\n getNodes: getNodes(midgardBaseUrl),\n getPool: getPool(midgardBaseUrl),\n getPoolDepthHistory: getPoolDepthHistory(midgardBaseUrl),\n getPoolStats: getPoolStats(midgardBaseUrl),\n getPools: getPools(midgardBaseUrl),\n getSaverDetails: getSaverDetails(midgardBaseUrl),\n getSavers: getSavers(midgardBaseUrl),\n getSaversHistory: getSaversHistory(midgardBaseUrl),\n getStats: getStats(midgardBaseUrl),\n getSwapHistory: getSwapHistory(midgardBaseUrl),\n getTVLHistory: getTVLHistory(midgardBaseUrl),\n };\n}\n\nexport const thorchainMidgard = getMidgardMethodsForProtocol(Chain.THORChain);\nexport const mayachainMidgard = getMidgardMethodsForProtocol(Chain.Maya);\n",
|
|
6
|
-
"import {\n type Chain,\n type EVMChain,\n EVMChains,\n isGasAsset,\n type ProviderName,\n RequestClient,\n SKConfig,\n SwapKitError,\n} from \"@swapkit/helpers\";\n\nimport {\n type BalanceResponse,\n type BrokerDepositChannelParams,\n type DepositChannelResponse,\n DepositChannelResponseSchema,\n type GasResponse,\n GasResponseSchema,\n type NearDepositChannelParams,\n type NearSwapResponse,\n NearSwapResponseSchema,\n type PriceRequest,\n type PriceResponse,\n PriceResponseSchema,\n type QuoteRequest,\n type QuoteResponse,\n QuoteResponseSchema,\n type TokenListProvidersResponse,\n type TokensResponseV2,\n type TrackerResponse,\n type TrackingRequest,\n} from \"./types\";\n\nconst SKRequestClient = RequestClient.extend({\n dynamicHeader: () => {\n const { swapKit } = SKConfig.get(\"apiKeys\");\n return swapKit ? { \"x-api-key\": swapKit } : {};\n },\n});\n\nexport function getTrackerDetails(json: TrackingRequest) {\n
|
|
7
|
-
"import { ErrorCode, FeeTypeEnum, ProviderName, WarningCodeEnum } from \"@swapkit/helpers\";\nimport { Chain, ChainId } from \"@swapkit/types\";\nimport { array, boolean, coerce, number, object, optional, string, union, unknown, type ZodType, z } from \"zod/v4\";\n\nexport enum PriorityLabel {\n CHEAPEST = \"CHEAPEST\",\n FASTEST = \"FASTEST\",\n RECOMMENDED = \"RECOMMENDED\",\n}\n\nexport enum RouteQuoteTxType {\n PSBT = \"PSBT\",\n EVM = \"EVM\",\n COSMOS = \"COSMOS\",\n RADIX = \"RADIX\",\n}\n\nexport enum TxnType {\n native_send = \"native_send\",\n token_transfer = \"token_transfer\",\n native_contract_call = \"native_contract_call\",\n token_contract_call = \"token_contract_call\",\n approve = \"approve\",\n deposit = \"deposit\",\n thorname_action = \"thorname_action\",\n lp_action = \"lp_action\",\n swap = \"swap\",\n streaming_swap = \"streaming_swap\",\n stake = \"stake\",\n claim = \"claim\",\n lending = \"lending\",\n unknown = \"unknown\",\n}\n\nexport enum TxnStatus {\n unknown = \"unknown\",\n not_started = \"not_started\",\n pending = \"pending\",\n swapping = \"swapping\",\n completed = \"completed\",\n}\n\nexport enum TrackingStatus {\n not_started = \"not_started\",\n starting = \"starting\",\n broadcasted = \"broadcasted\",\n mempool = \"mempool\",\n inbound = \"inbound\",\n outbound = \"outbound\",\n swapping = \"swapping\",\n completed = \"completed\",\n refunded = \"refunded\",\n partially_refunded = \"partially_refunded\",\n dropped = \"dropped\",\n reverted = \"reverted\",\n replaced = \"replaced\",\n retries_exceeded = \"retries_exceeded\",\n parsing_error = \"parsing_error\",\n}\n\ntype TokenProviderVersion = { major: number; minor: number; patch: number };\n\nexport type TokenListProvidersResponse = Array<{\n provider: ProviderName;\n name: string;\n timestamp: string;\n version: TokenProviderVersion;\n keywords: string[];\n count: number;\n url: string;\n}>;\n\nexport type TokensResponseV2 = {\n chainId: ChainId;\n count: number;\n keywords: string[];\n name: string;\n provider: ProviderName;\n timestamp: string;\n tokens: Token[];\n version: TokenProviderVersion;\n};\n\nexport const TokenSchema = object({\n address: optional(string()),\n chain: z.enum(Chain).optional(),\n chainId: z.enum(ChainId),\n coingeckoId: optional(string()),\n decimals: coerce.number(),\n extensions: optional(z.looseObject({})),\n identifier: string(),\n logoURI: optional(string()),\n name: optional(string()),\n shortCode: optional(string()),\n symbol: optional(string()),\n ticker: string(),\n});\n\nexport type Token = z.infer<typeof TokenSchema>;\n\nexport const TrackingRequestSchema = z\n .object({\n block: z.optional(z.number().describe(\"Block number. Required for Polkadot chain. e.g. `123456`\")),\n chainId: z.optional(z.string().describe(\"ChainId for the hash. e.g. `thorchain-1`\")),\n depositChannelId: z.optional(\n z.string().describe(\"Deposit channel ID, required for Chainflip if tx was broadcasted without wallet connection\"),\n ),\n hash: z.optional(\n z\n .string()\n .describe(\n \"Hash for the first transaction broadcasted by the end user. e.g. `88D1819378ECD09E5284C54937CDC1E99B52F253C007617A02DD1200710CE677`\",\n ),\n ),\n })\n .refine((data) => (data.hash && data.chainId) || data.depositChannelId, {\n message: \"Either `hash` and `chainId` or `depositChannelId` must be provided\",\n });\n\nexport const TrackingRequestQuerySchema = z.object({\n forceUpdate: z\n .string()\n .toLowerCase()\n .transform((x) => x === \"true\")\n .pipe(z.boolean())\n .optional(),\n});\n\nexport type TrackingRequest = z.infer<typeof TrackingRequestSchema>;\n\nexport const ApiV2ErrorSchema = object({ error: string(), message: string() });\n\nexport const AssetValueSchema = object({\n address: optional(string()),\n chain: z.enum(Chain),\n decimal: optional(number()),\n isGasAsset: boolean(),\n isSynthetic: boolean(),\n symbol: string(),\n tax: optional(object({ buy: number(), sell: number() })),\n ticker: string(),\n});\n\nexport const TokenDetailsMetadataSchema = object({\n id: string(),\n market_cap: number(),\n name: string(),\n price_change_24h_usd: number(),\n price_change_percentage_24h_usd: number(),\n sparkline_in_7d: array(number()),\n timestamp: string(),\n total_volume: number(),\n});\n\nexport const PriceResponseSchema = array(\n object({\n cg: TokenDetailsMetadataSchema.optional(),\n identifier: string(),\n price_usd: number(),\n provider: string(),\n timestamp: number(),\n }).partial(),\n);\n\nexport type PriceResponse = z.infer<typeof PriceResponseSchema>;\n\nexport const QuoteRequestSchema = object({\n affiliate: optional(string().describe(\"Affiliate thorname\")),\n affiliateFee: optional(\n number()\n .describe(\"Affiliate fee in basis points\")\n .refine((fee) => fee === Math.floor(fee) && fee >= 0, {\n message: \"affiliateFee must be a positive integer\",\n path: [\"affiliateFee\"],\n }),\n ),\n allowSmartContractReceiver: optional(boolean().describe(\"Allow smart contract as recipient\")),\n allowSmartContractSender: optional(boolean().describe(\"Allow smart contract as sender\")),\n buyAsset: string().describe(\"Asset to buy\"),\n cfBoost: optional(boolean().describe(\"Set to true to enable CF boost to speed up Chainflip swaps. BTC only.\")),\n destinationAddress: optional(string().describe(\"Address to send asset to\")),\n disableSecurityChecks: optional(boolean().describe(\"Disable security checks\")),\n includeTx: optional(boolean().describe(\"Set to true to include an transaction object (EVM only)\")),\n providers: optional(\n array(\n string()\n .describe(\"List of providers to use\")\n .refine((provider) => ProviderName[provider as ProviderName] !== undefined, {\n message: \"Invalid provider\",\n path: [\"providers\"],\n }),\n ),\n ),\n referrer: optional(string().describe(\"Referrer address (referral program)\")),\n sellAmount: string()\n .describe(\"Amount of asset to sell\")\n .refine((amount) => +amount > 0, { message: \"sellAmount must be greater than 0\", path: [\"sellAmount\"] }),\n sellAsset: string().describe(\"Asset to sell\"),\n slippage: optional(number().describe(\"Slippage tolerance as a percentage. Default is 3%.\")),\n sourceAddress: optional(string().describe(\"Address to send asset from\")),\n}).refine((data) => data.sellAsset !== data.buyAsset, {\n message: \"Must be different\",\n path: [\"sellAsset\", \"buyAsset\"],\n});\n\nexport type QuoteRequest = z.infer<typeof QuoteRequestSchema>;\n\nexport const PriceRequestSchema = object({ metadata: boolean(), tokens: array(object({ identifier: string() })) });\n\nexport type PriceRequest = z.infer<typeof PriceRequestSchema>;\n\nexport const DepositChannelParamsSchema = object({ destinationAddress: string() });\n\nexport const BrokerDepositChannelParamsSchema = DepositChannelParamsSchema.extend({\n affiliateFees: array(object({ brokerAddress: string(), feeBps: number() })).optional(),\n brokerCommissionBps: number().optional(),\n buyAsset: object({ asset: string(), chain: string() }),\n channelMetadata: object({\n cfParameters: string().optional(),\n gasBudget: string().optional(),\n message: string().optional(),\n }).optional(),\n dcaParameters: object({ chunkInterval: number().optional(), numberOfChunks: number().optional() }).optional(),\n maxBoostFeeBps: number().optional(),\n refundParameters: object({\n minPrice: string().optional(),\n refundAddress: string().optional(),\n retryDuration: number().optional(),\n }).optional(),\n sellAsset: object({ asset: string(), chain: string() }),\n});\n\nexport type BrokerDepositChannelParams = z.infer<typeof BrokerDepositChannelParamsSchema>;\n\nexport const DepositChannelResponseSchema = object({ channelId: string(), depositAddress: string() });\n\nexport const NearDepositChannelParamsSchema = DepositChannelParamsSchema.extend({\n affiliateFees: object({ feeBps: number(), nearId: string() }).optional(),\n buyAsset: string(),\n sellAmount: string(),\n sellAsset: string(),\n slippage: coerce.number(),\n sourceAddress: string(),\n});\n\nexport type NearDepositChannelParams = z.infer<typeof NearDepositChannelParamsSchema>;\n\nconst NearQuoteResponseSchema = object({\n amountIn: string(),\n amountInFormatted: string(),\n amountInUsd: string(),\n amountOut: string(),\n amountOutFormatted: string(),\n amountOutUsd: string(),\n deadline: string().optional(),\n minAmountIn: string(),\n minAmountOut: string(),\n timeEstimate: number().optional(),\n timeWhenInactive: string().optional(),\n});\n\nexport const NearDepositChannelResultSchema = NearQuoteResponseSchema.extend({\n depositAddress: string(),\n quote: NearQuoteResponseSchema,\n signature: string(),\n timestamp: string(),\n tx: unknown(),\n});\n\nexport type NearDepositChannelResult = z.infer<typeof NearDepositChannelResultSchema>;\n\nexport const NearSwapResponseSchema = object({\n buyAsset: string(),\n buyAssetAmount: string(),\n buyAssetAmountMaxSlippage: string(),\n deadline: string().optional(),\n depositAddress: string(),\n depositAmount: string(),\n depositAsset: string(),\n tx: unknown(),\n});\n\nexport type NearSwapResponse = z.infer<typeof NearSwapResponseSchema>;\n\nexport type DepositChannelResponse = z.infer<typeof DepositChannelResponseSchema>;\n\nconst TxnPayloadSchema = object({\n evmCalldata: optional(string()),\n logs: optional(unknown()),\n memo: optional(string()),\n spender: optional(string()), // used in evm approve transactions\n});\n\nexport type TxnPayload = z.infer<typeof TxnPayloadSchema>;\n\n// props that are most important while the transaction is live\nconst TxnTransientSchema = object({\n currentLegIndex: optional(number()),\n estimatedFinalisedAt: number(),\n estimatedTimeToComplete: number(),\n providerDetails: optional(unknown()), // see ProviderTransientDetails\n updatedAt: number(),\n});\n\nexport type TxnTransient = z.infer<typeof TxnTransientSchema>;\n\nconst TransactionFeesSchema = object({\n affiliate: optional(AssetValueSchema), // e.g. affiliate in memo, other affiliate mechanisms\n liquidity: optional(AssetValueSchema), // fee paid to pool\n network: optional(AssetValueSchema), // gas on ethereum, network fee on thorchain, etc.\n protocol: optional(AssetValueSchema), // extra protocol fees (TS dex aggregation contracts, stargate fees, etc.)\n tax: optional(AssetValueSchema), // taxed tokens\n});\n\nexport type TransactionFees = z.infer<typeof TransactionFeesSchema>;\n\nconst TxnMetaSchema = object({\n affiliate: optional(string()),\n broadcastedAt: optional(number()),\n explorerUrl: optional(string()),\n fees: optional(TransactionFeesSchema),\n images: optional(\n object({\n chain: optional(string()),\n from: optional(string()),\n provider: optional(string()),\n to: optional(string()),\n }),\n ),\n provider: optional(z.enum(ProviderName)),\n quoteId: optional(string()),\n wallet: optional(string()),\n});\n\nexport type TxnMeta = z.infer<typeof TxnMetaSchema>;\n\nconst TransactionLegDTOSchema = z.object({\n block: z.number(),\n chainId: z.enum(ChainId),\n finalAddress: z.optional(z.string()),\n finalAsset: z.optional(AssetValueSchema),\n\n finalisedAt: z.number(),\n fromAddress: z.string(),\n fromAmount: z.string(),\n\n fromAsset: z.string(),\n hash: z.string(),\n meta: z.optional(TxnMetaSchema),\n payload: z.optional(TxnPayloadSchema),\n status: z.enum(TxnStatus),\n toAddress: z.string(),\n toAmount: z.string(),\n toAsset: z.string(),\n trackingStatus: z.optional(z.enum(TrackingStatus)),\n\n transient: z.optional(TxnTransientSchema),\n type: z.enum(TxnType),\n});\n\nexport type TransactionLegDTO = z.infer<typeof TransactionLegDTOSchema>;\n\nexport const TrackerResponseSchema: z.ZodType<TransactionDTO> = TransactionLegDTOSchema.extend({\n legs: z.array(TransactionLegDTOSchema),\n});\n\nexport type TrackerResponse = z.infer<typeof TrackerResponseSchema>;\n\nexport const TransactionSchema = TransactionLegDTOSchema.extend({ legs: array(TransactionLegDTOSchema) });\n\nexport type TransactionDTO = z.infer<typeof TransactionLegDTOSchema> & { legs: TransactionLegDTO[] };\n\nexport const TransactionDTOSchema: ZodType<TransactionDTO> = TransactionLegDTOSchema.extend({\n legs: array(TransactionLegDTOSchema),\n});\n\nexport const FeesSchema = array(\n object({\n amount: string(),\n asset: string(),\n chain: string(),\n protocol: z.enum(ProviderName),\n type: z.enum(FeeTypeEnum),\n }),\n);\n\nexport type Fees = z.infer<typeof FeesSchema>;\n\nexport const EstimatedTimeSchema = z.object({\n inbound: z.optional(z.number().describe(\"Time to receive inbound asset in seconds\")),\n outbound: z.optional(z.number().describe(\"Time to receive outbound asset in seconds\")),\n swap: z.optional(z.number().describe(\"Time to swap assets in seconds\")),\n total: z.number().describe(\"Total time in seconds\"),\n});\n\nexport type EstimatedTime = z.infer<typeof EstimatedTimeSchema>;\n\nexport const EVMTransactionSchema = object({\n data: string().describe(\"Data to send\"),\n from: string().describe(\"Address of the sender\"),\n to: string().describe(\"Address of the recipient\"),\n value: string().describe(\"Value to send\"),\n});\n\nexport type EVMTransaction = z.infer<typeof EVMTransactionSchema>;\n\nexport const EVMTransactionDetailsParamsSchema = array(\n union([\n string(),\n number(),\n array(string()),\n object({ from: string(), value: string() }).describe(\"Parameters to pass to the contract method\"),\n ]),\n);\n\nexport type EVMTransactionDetailsParams = z.infer<typeof EVMTransactionDetailsParamsSchema>;\n\nexport const EVMTransactionDetailsSchema = object({\n approvalSpender: optional(string().describe(\"Address of the spender to approve\")),\n approvalToken: optional(string().describe(\"Address of the token to approve spending of\")),\n contractAddress: string().describe(\"Address of the contract to interact with\"),\n contractMethod: string().describe(\"Name of the method to call\"),\n contractParamNames: array(string().describe(\"Names of the parameters to pass to the contract method\")),\n contractParams: EVMTransactionDetailsParamsSchema,\n});\n\nexport type EVMTransactionDetails = z.infer<typeof EVMTransactionDetailsSchema>;\n\nconst EncodeObjectSchema = object({ typeUrl: string(), value: unknown() });\n\nconst FeeSchema = object({ amount: array(object({ amount: string(), denom: string() })), gas: string() });\n\nexport const CosmosTransactionSchema = object({\n accountNumber: number(),\n chainId: z.enum(ChainId),\n fee: FeeSchema,\n memo: string(),\n msgs: array(EncodeObjectSchema),\n sequence: number(),\n});\n\nexport type CosmosTransaction = z.infer<typeof CosmosTransactionSchema>;\n\nexport const RouteLegSchema = object({\n affiliate: string().describe(\"Affiliate address\").optional(),\n affiliateFee: number().describe(\"Affiliate fee\").optional(),\n buyAsset: string().describe(\"Asset to buy\"),\n destinationAddress: string().describe(\"Destination address\"),\n estimatedTime: EstimatedTimeSchema.optional(),\n provider: z.enum(ProviderName),\n sellAsset: string().describe(\"Asset to sell\"),\n slipPercentage: number().describe(\"Slippage as a percentage\"),\n sourceAddress: string().describe(\"Source address\"),\n});\n\nexport type RouteLeg = z.infer<typeof RouteLegSchema>;\n\nexport const RouteLegWithoutAddressesSchema = RouteLegSchema.omit({\n destinationAddress: true,\n slipPercentage: true,\n sourceAddress: true,\n});\n\nexport type RouteLegWithoutAddresses = z.infer<typeof RouteLegWithoutAddressesSchema>;\n\nexport const RouteQuoteMetadataAssetSchema = object({\n asset: string().describe(\"Asset name\"),\n image: string().describe(\"Asset image\"),\n price: number().describe(\"Price in USD\"),\n});\n\nexport type RouteQuoteMetadataAsset = z.infer<typeof RouteQuoteMetadataAssetSchema>;\n\nexport const ChainflipMetadataSchema = BrokerDepositChannelParamsSchema;\n\nexport type ChainflipMetadata = z.infer<typeof ChainflipMetadataSchema>;\n\nexport const RouteQuoteMetadataSchema = object({\n assets: optional(array(RouteQuoteMetadataAssetSchema)),\n maxStreamingQuantity: number().optional(),\n referrer: string().optional(),\n streamingInterval: number().optional(),\n tags: array(z.enum(PriorityLabel)),\n});\n\nexport const RouteQuoteMetadataV2Schema = RouteQuoteMetadataSchema.extend({\n affiliate: optional(string()),\n affiliateFee: optional(string()),\n approvalAddress: optional(string().describe(\"Approval address for swap\")),\n chainflip: ChainflipMetadataSchema.optional(),\n near: NearDepositChannelParamsSchema.optional(),\n priceImpact: optional(number().describe(\"Price impact\")),\n referrer: optional(string()),\n txType: optional(z.enum(RouteQuoteTxType)),\n});\n\nexport const RouteQuoteWarningSchema = array(\n object({ code: z.enum(WarningCodeEnum), display: string(), tooltip: string().optional() }),\n);\n\nexport type RouteQuoteWarning = z.infer<typeof RouteQuoteWarningSchema>;\n\nconst QuoteResponseRouteLegItem = object({\n buyAmount: string().describe(\"Buy amount\"),\n buyAmountMaxSlippage: string().describe(\"Buy amount max slippage\"),\n buyAsset: string().describe(\"Asset to buy\"),\n fees: optional(FeesSchema),\n provider: z.enum(ProviderName),\n sellAmount: string().describe(\"Sell amount\"),\n sellAsset: string().describe(\"Asset to sell\"),\n});\n\nconst QuoteResponseRouteItem = object({\n buyAsset: string().describe(\"Asset to buy\"),\n destinationAddress: string().describe(\"Destination address\"),\n estimatedTime: optional(EstimatedTimeSchema),\n expectedBuyAmount: string().describe(\"Expected Buy amount\"),\n expectedBuyAmountMaxSlippage: string().describe(\"Expected Buy amount max slippage\"),\n expiration: optional(string().describe(\"Expiration\")),\n fees: FeesSchema,\n inboundAddress: optional(string().describe(\"Inbound address\")),\n legs: array(QuoteResponseRouteLegItem),\n memo: optional(string().describe(\"Memo\")),\n meta: RouteQuoteMetadataV2Schema,\n providers: array(z.enum(ProviderName)),\n sellAmount: string().describe(\"Sell amount\"),\n sellAsset: string().describe(\"Asset to sell\"),\n sourceAddress: string().describe(\"Source address\"),\n targetAddress: optional(string().describe(\"Target address\")),\n totalSlippageBps: number().describe(\"Total slippage in bps\"),\n tx: optional(union([EVMTransactionSchema, CosmosTransactionSchema, string()])),\n txType: optional(z.enum(RouteQuoteTxType)),\n warnings: RouteQuoteWarningSchema,\n});\n\nexport const QuoteResponseSchema = object({\n error: optional(string().describe(\"Error message\")),\n providerErrors: optional(\n array(\n object({\n errorCode: optional(z.enum(ErrorCode)),\n message: optional(string()),\n provider: z.enum(ProviderName).optional(),\n }),\n ),\n ),\n quoteId: string().describe(\"Quote ID\"),\n routes: array(QuoteResponseRouteItem),\n});\n\nexport type QuoteResponse = z.infer<typeof QuoteResponseSchema>;\nexport type QuoteResponseRoute = z.infer<typeof QuoteResponseRouteItem>;\nexport type QuoteResponseRouteLeg = z.infer<typeof QuoteResponseRouteLegItem>;\n\nexport const GasSchema = z.object({\n chainId: z.enum(ChainId),\n createdAt: z.date(),\n id: z.number(),\n unit: z.string(),\n value: z.string(),\n});\n\nconst GasSchemaArray = z.array(GasSchema);\n\nexport const GasResponseSchema = z.union([GasSchema, GasSchemaArray]);\n\nexport type GasResponse = z.infer<typeof GasResponseSchema>;\n\nconst BalanceResponseSchema = array(\n object({\n chain: z.enum(Chain),\n decimal: number(),\n identifier: string(),\n symbol: string(),\n ticker: string(),\n value: string(),\n }),\n);\n\nexport type BalanceResponse = z.infer<typeof BalanceResponseSchema>;\n",
|
|
8
|
-
"import { AssetValue,
|
|
9
|
-
"import {
|
|
10
|
-
"import { mayachainMidgard, thorchainMidgard } from \"./midgard/endpoints\";\nimport * as swapkit from \"./swapkitApi/endpoints\";\nimport * as thornode from \"./thornode/endpoints\";\nimport * as tsStatic from \"./thorswapStatic/endpoints\";\n\nexport * from \"./midgard/types\";\nexport * from \"./swapkitApi/types\";\nexport * from \"./thornode/types\";\nexport * from \"./thorswapStatic/types\";\n\nexport const SwapKitApi = { ...swapkit, ...tsStatic, mayachainMidgard, thorchainMidgard, thornode };\n"
|
|
6
|
+
"import {\n type Chain,\n type EVMChain,\n EVMChains,\n isGasAsset,\n type ProviderName,\n RequestClient,\n SKConfig,\n SwapKitError,\n} from \"@swapkit/helpers\";\n\nimport {\n type BalanceResponse,\n type BrokerDepositChannelParams,\n type DepositChannelResponse,\n DepositChannelResponseSchema,\n type GasResponse,\n GasResponseSchema,\n type NearDepositChannelParams,\n type NearSwapResponse,\n NearSwapResponseSchema,\n type PriceRequest,\n type PriceResponse,\n PriceResponseSchema,\n type QuoteRequest,\n type QuoteResponse,\n QuoteResponseSchema,\n type TokenListProvidersResponse,\n type TokensResponseV2,\n type TrackerResponse,\n TrackerResponseSchema,\n type TrackingRequest,\n} from \"./types\";\n\nconst SKRequestClient = RequestClient.extend({\n dynamicHeader: () => {\n const { swapKit } = SKConfig.get(\"apiKeys\");\n return swapKit ? { \"x-api-key\": swapKit } : {};\n },\n});\n\nexport async function getTrackerDetails(json: TrackingRequest) {\n const response = await SKRequestClient.post<TrackerResponse>(getApiUrl(\"/track\"), { json });\n\n try {\n const parsedResponse = TrackerResponseSchema.safeParse(response);\n\n if (!parsedResponse.success) {\n throw new SwapKitError(\"api_v2_invalid_response\", parsedResponse.error);\n }\n\n return parsedResponse.data;\n } catch (_error) {\n // throw new SwapKitError(\"api_v2_invalid_response\", error);\n return response;\n }\n}\n\nexport async function getSwapQuote(json: QuoteRequest) {\n const response = await SKRequestClient.post<QuoteResponse>(getApiUrl(\"/quote\"), { json });\n\n if (response.error) {\n throw new SwapKitError(\"api_v2_server_error\", { message: response.error });\n }\n\n try {\n const parsedResponse = QuoteResponseSchema.safeParse(response);\n\n if (!parsedResponse.success) {\n throw new SwapKitError(\"api_v2_invalid_response\", parsedResponse.error);\n }\n\n return parsedResponse.data;\n } catch {\n // throw new SwapKitError(\"api_v2_invalid_response\", error);\n return response;\n }\n}\n\nexport async function getChainBalance<T extends Chain>({\n chain,\n address,\n scamFilter = true,\n}: {\n chain: T;\n address: string;\n scamFilter?: boolean;\n}) {\n const url = getApiUrl(`/balance?chain=${chain}&address=${address}`);\n const balanceResponse = await SKRequestClient.get<BalanceResponse>(url);\n const balances = Array.isArray(balanceResponse) ? balanceResponse : [];\n\n return scamFilter ? filterAssets(balances) : balances;\n}\n\nexport function getTokenListProviders() {\n const url = getApiUrl(\"/providers\");\n return SKRequestClient.get<TokenListProvidersResponse>(url);\n}\n\nexport function getTokenList(provider: ProviderName) {\n const url = getApiUrl(`/tokens?provider=${provider}`);\n return SKRequestClient.get<TokensResponseV2>(url);\n}\n\nexport async function getPrice(body: PriceRequest) {\n const url = getApiUrl(\"/price\");\n const response = await SKRequestClient.post<PriceResponse>(url, { json: body });\n\n try {\n const parsedResponse = PriceResponseSchema.safeParse(response);\n\n if (!parsedResponse.success) {\n throw new SwapKitError(\"api_v2_invalid_response\", parsedResponse.error);\n }\n\n return parsedResponse.data;\n } catch (error) {\n throw new SwapKitError(\"api_v2_invalid_response\", error);\n }\n}\n\nexport async function getGasRate() {\n const url = getApiUrl(\"/gas\");\n const response = await SKRequestClient.get<GasResponse>(url);\n\n try {\n const parsedResponse = GasResponseSchema.safeParse(response);\n\n if (!parsedResponse.success) {\n throw new SwapKitError(\"api_v2_invalid_response\", parsedResponse.error);\n }\n\n const gasRates = Array.isArray(parsedResponse) ? parsedResponse : [parsedResponse];\n return gasRates;\n } catch (error) {\n throw new SwapKitError(\"api_v2_invalid_response\", error);\n }\n}\n\nexport async function getChainflipDepositChannel(body: BrokerDepositChannelParams) {\n const { destinationAddress } = body;\n\n if (!destinationAddress) {\n throw new SwapKitError(\"chainflip_broker_invalid_params\");\n }\n const url = SKConfig.get(\"integrations\").chainflip?.brokerUrl || getApiUrl(\"/chainflip/broker/channel\");\n\n const response = await SKRequestClient.post<DepositChannelResponse>(url, { json: body });\n\n try {\n const parsedResponse = DepositChannelResponseSchema.safeParse(response);\n\n if (!parsedResponse.success) {\n throw new SwapKitError(\"api_v2_invalid_response\", parsedResponse.error);\n }\n\n return parsedResponse.data;\n } catch (error) {\n throw new SwapKitError(\"api_v2_invalid_response\", error);\n }\n}\n\nexport async function getNearDepositChannel(body: NearDepositChannelParams) {\n const { destinationAddress } = body;\n\n if (!destinationAddress) {\n throw new SwapKitError(\"chainflip_broker_invalid_params\");\n }\n const url = getApiUrl(\"/near/channel\");\n\n const response = await SKRequestClient.post<NearSwapResponse>(url, { json: body });\n\n try {\n const parsedResponse = NearSwapResponseSchema.safeParse(response);\n\n if (!parsedResponse.success) {\n throw new SwapKitError(\"api_v2_invalid_response\", parsedResponse.error);\n }\n\n return parsedResponse.data;\n } catch (error) {\n throw new SwapKitError(\"api_v2_invalid_response\", error);\n }\n}\n\nfunction getApiUrl(path?: `/${string}`) {\n const { isDev, apiUrl, devApiUrl } = SKConfig.get(\"envs\");\n\n return `${isDev ? devApiUrl : apiUrl}${path}`;\n}\n\nfunction evmAssetHasAddress(assetString: string) {\n const [chain, symbol] = assetString.split(\".\") as [EVMChain, string];\n if (!EVMChains.includes(chain as EVMChain)) return true;\n const splitSymbol = symbol.split(\"-\");\n const address = splitSymbol.length === 1 ? undefined : splitSymbol[splitSymbol.length - 1];\n\n return isGasAsset({ chain: chain as Chain, symbol }) || !!address;\n}\n\nconst potentialScamRegex = new RegExp(/(.)\\1{6}|\\.ORG|\\.NET|\\.FINANCE|\\.COM|WWW|HTTP|\\\\\\\\|\\/\\/|[\\s$%:[\\]]/, \"gmi\");\nfunction filterAssets(tokens: BalanceResponse) {\n return tokens.filter((token) => {\n return !potentialScamRegex.test(token.identifier) && evmAssetHasAddress(token.identifier);\n });\n}\n",
|
|
7
|
+
"import { ErrorCode, FeeTypeEnum, ProviderName, WarningCodeEnum } from \"@swapkit/helpers\";\nimport { Chain, ChainId } from \"@swapkit/types\";\nimport { array, boolean, coerce, number, object, optional, string, union, unknown, type ZodType, z } from \"zod/v4\";\n\nexport enum PriorityLabel {\n CHEAPEST = \"CHEAPEST\",\n FASTEST = \"FASTEST\",\n RECOMMENDED = \"RECOMMENDED\",\n}\n\nexport enum RouteQuoteTxType {\n PSBT = \"PSBT\",\n EVM = \"EVM\",\n COSMOS = \"COSMOS\",\n RADIX = \"RADIX\",\n}\n\nexport enum TxnType {\n approve = \"approve\",\n claim = \"claim\",\n deposit = \"deposit\",\n donate = \"donate\",\n lending = \"lending\",\n lp_action = \"lp_action\",\n native_contract_call = \"native_contract_call\",\n native_send = \"native_send\",\n stake = \"stake\",\n streaming_swap = \"streaming_swap\",\n swap = \"swap\",\n thorname_action = \"thorname_action\",\n token_contract_call = \"token_contract_call\",\n token_transfer = \"token_transfer\",\n unknown = \"unknown\",\n unstake = \"unstake\",\n}\n\nexport enum ProviderAction {\n swap = \"swap\",\n aggregation = \"aggregation\",\n addLiquidity = \"addLiquidity\",\n withdrawLiquidity = \"withdrawLiquidity\",\n addSavers = \"addSavers\",\n withdrawSavers = \"withdrawSavers\",\n borrow = \"borrow\",\n repay = \"repay\",\n name = \"name\",\n donate = \"donate\",\n claim = \"claim\",\n stake = \"stake\",\n unstake = \"unstake\",\n}\n\nexport enum TxnStatus {\n unknown = \"unknown\",\n not_started = \"not_started\",\n pending = \"pending\",\n swapping = \"swapping\",\n completed = \"completed\",\n refunded = \"refunded\",\n failed = \"failed\",\n}\n\nexport enum TrackingStatus {\n not_started = \"not_started\",\n starting = \"starting\",\n broadcasted = \"broadcasted\",\n mempool = \"mempool\",\n inbound = \"inbound\",\n outbound = \"outbound\",\n swapping = \"swapping\",\n completed = \"completed\",\n refunded = \"refunded\",\n partially_refunded = \"partially_refunded\",\n dropped = \"dropped\",\n reverted = \"reverted\",\n replaced = \"replaced\",\n retries_exceeded = \"retries_exceeded\",\n parsing_error = \"parsing_error\",\n}\n\ntype TokenProviderVersion = { major: number; minor: number; patch: number };\n\nexport type TokenListProvidersResponse = Array<{\n provider: ProviderName;\n name: string;\n timestamp: string;\n version: TokenProviderVersion;\n keywords: string[];\n count: number;\n url: string;\n}>;\n\nexport type TokensResponseV2 = {\n chainId: ChainId;\n count: number;\n keywords: string[];\n name: string;\n provider: ProviderName;\n timestamp: string;\n tokens: Token[];\n version: TokenProviderVersion;\n};\n\nexport const TokenSchema = object({\n address: optional(string()),\n chain: z.enum(Chain).optional(),\n chainId: z.enum(ChainId),\n coingeckoId: optional(string()),\n decimals: coerce.number(),\n extensions: optional(z.looseObject({})),\n identifier: string(),\n logoURI: optional(string()),\n name: optional(string()),\n shortCode: optional(string()),\n symbol: optional(string()),\n ticker: string(),\n});\n\nexport type Token = z.infer<typeof TokenSchema>;\n\nexport const TrackingRequestSchema = z\n .object({\n block: z.optional(z.number().describe(\"Block number. Required for Polkadot chain. e.g. `123456`\")),\n chainId: z.optional(z.string().describe(\"ChainId for the hash. e.g. `thorchain-1`\")),\n depositChannelId: z.optional(\n z.string().describe(\"Deposit channel ID, required for Chainflip if tx was broadcasted without wallet connection\"),\n ),\n hash: z.optional(\n z\n .string()\n .describe(\n \"Hash for the first transaction broadcasted by the end user. e.g. `88D1819378ECD09E5284C54937CDC1E99B52F253C007617A02DD1200710CE677`\",\n ),\n ),\n })\n .refine((data) => (data.hash && data.chainId) || data.depositChannelId, {\n message: \"Either `hash` and `chainId` or `depositChannelId` must be provided\",\n });\n\nexport const TrackingRequestQuerySchema = z.object({\n forceUpdate: z\n .string()\n .toLowerCase()\n .transform((x) => x === \"true\")\n .pipe(z.boolean())\n .optional(),\n});\n\nexport type TrackingRequest = z.infer<typeof TrackingRequestSchema>;\n\nexport const ApiV2ErrorSchema = object({ error: string(), message: string() });\n\nexport const AssetValueSchema = object({\n address: optional(string()),\n chain: z.enum(Chain),\n decimal: optional(number()),\n isGasAsset: boolean(),\n isSynthetic: boolean(),\n symbol: string(),\n tax: optional(object({ buy: number(), sell: number() })),\n ticker: string(),\n});\n\nexport const TokenDetailsMetadataSchema = object({\n id: string(),\n market_cap: number(),\n name: string(),\n price_change_24h_usd: number(),\n price_change_percentage_24h_usd: number(),\n sparkline_in_7d: array(number()),\n timestamp: string(),\n total_volume: number(),\n});\n\nexport const PriceResponseSchema = array(\n object({\n cg: TokenDetailsMetadataSchema.optional(),\n identifier: string(),\n price_usd: number(),\n provider: string(),\n timestamp: number(),\n }).partial(),\n);\n\nexport type PriceResponse = z.infer<typeof PriceResponseSchema>;\n\nexport const QuoteRequestSchema = object({\n affiliate: optional(string().describe(\"Affiliate thorname\")),\n affiliateFee: optional(\n number()\n .describe(\"Affiliate fee in basis points\")\n .refine((fee) => fee === Math.floor(fee) && fee >= 0, {\n message: \"affiliateFee must be a positive integer\",\n path: [\"affiliateFee\"],\n }),\n ),\n allowSmartContractReceiver: optional(boolean().describe(\"Allow smart contract as recipient\")),\n allowSmartContractSender: optional(boolean().describe(\"Allow smart contract as sender\")),\n buyAsset: string().describe(\"Asset to buy\"),\n cfBoost: optional(boolean().describe(\"Set to true to enable CF boost to speed up Chainflip swaps. BTC only.\")),\n destinationAddress: optional(string().describe(\"Address to send asset to\")),\n disableSecurityChecks: optional(boolean().describe(\"Disable security checks\")),\n includeTx: optional(boolean().describe(\"Set to true to include an transaction object (EVM only)\")),\n providers: optional(\n array(\n string()\n .describe(\"List of providers to use\")\n .refine((provider) => ProviderName[provider as ProviderName] !== undefined, {\n message: \"Invalid provider\",\n path: [\"providers\"],\n }),\n ),\n ),\n referrer: optional(string().describe(\"Referrer address (referral program)\")),\n sellAmount: string()\n .describe(\"Amount of asset to sell\")\n .refine((amount) => +amount > 0, { message: \"sellAmount must be greater than 0\", path: [\"sellAmount\"] }),\n sellAsset: string().describe(\"Asset to sell\"),\n slippage: optional(number().describe(\"Slippage tolerance as a percentage. Default is 3%.\")),\n sourceAddress: optional(string().describe(\"Address to send asset from\")),\n}).refine((data) => data.sellAsset !== data.buyAsset, {\n message: \"Must be different\",\n path: [\"sellAsset\", \"buyAsset\"],\n});\n\nexport type QuoteRequest = z.infer<typeof QuoteRequestSchema>;\n\nexport const PriceRequestSchema = object({ metadata: boolean(), tokens: array(object({ identifier: string() })) });\n\nexport type PriceRequest = z.infer<typeof PriceRequestSchema>;\n\nexport const DepositChannelParamsSchema = object({ destinationAddress: string() });\n\nexport const BrokerDepositChannelParamsSchema = DepositChannelParamsSchema.extend({\n affiliateFees: array(object({ brokerAddress: string(), feeBps: number() })).optional(),\n brokerCommissionBps: number().optional(),\n buyAsset: object({ asset: string(), chain: string() }),\n channelMetadata: object({\n cfParameters: string().optional(),\n gasBudget: string().optional(),\n message: string().optional(),\n }).optional(),\n dcaParameters: object({ chunkInterval: number().optional(), numberOfChunks: number().optional() }).optional(),\n maxBoostFeeBps: number().optional(),\n refundParameters: object({\n minPrice: string().optional(),\n refundAddress: string().optional(),\n retryDuration: number().optional(),\n }).optional(),\n sellAsset: object({ asset: string(), chain: string() }),\n});\n\nexport type BrokerDepositChannelParams = z.infer<typeof BrokerDepositChannelParamsSchema>;\n\nexport const DepositChannelResponseSchema = object({ channelId: string(), depositAddress: string() });\n\nexport const NearDepositChannelParamsSchema = DepositChannelParamsSchema.extend({\n affiliateFees: object({ feeBps: number(), nearId: string() }).optional(),\n buyAsset: string(),\n sellAmount: string(),\n sellAsset: string(),\n slippage: coerce.number(),\n sourceAddress: string(),\n});\n\nexport type NearDepositChannelParams = z.infer<typeof NearDepositChannelParamsSchema>;\n\nconst NearQuoteResponseSchema = object({\n amountIn: string(),\n amountInFormatted: string(),\n amountInUsd: string(),\n amountOut: string(),\n amountOutFormatted: string(),\n amountOutUsd: string(),\n deadline: string().optional(),\n minAmountIn: string(),\n minAmountOut: string(),\n timeEstimate: number().optional(),\n timeWhenInactive: string().optional(),\n});\n\nexport const NearDepositChannelResultSchema = NearQuoteResponseSchema.extend({\n depositAddress: string(),\n quote: NearQuoteResponseSchema,\n signature: string(),\n timestamp: string(),\n tx: unknown(),\n});\n\nexport type NearDepositChannelResult = z.infer<typeof NearDepositChannelResultSchema>;\n\nexport const NearSwapResponseSchema = object({\n buyAsset: string(),\n buyAssetAmount: string(),\n buyAssetAmountMaxSlippage: string(),\n deadline: string().optional(),\n depositAddress: string(),\n depositAmount: string(),\n depositAsset: string(),\n tx: unknown(),\n});\n\nexport type NearSwapResponse = z.infer<typeof NearSwapResponseSchema>;\n\nexport type DepositChannelResponse = z.infer<typeof DepositChannelResponseSchema>;\n\nconst TxnPayloadSchema = object({\n evmCalldata: z.optional(z.string()),\n intentHash: z.optional(z.string()),\n logs: z.optional(z.unknown()),\n manifest: z.optional(z.unknown()),\n memo: z.optional(z.string()),\n spender: z.optional(z.string()),\n thorname: z.optional(z.string()),\n});\n\nexport type TxnPayload = z.infer<typeof TxnPayloadSchema>;\n\nconst TransactionEstimatesSchema = object({\n currentStage: string(),\n inboundConfirmation: number(),\n inboundObservation: number(),\n outboundDelay: number(),\n outboundObservation: number(),\n streamingSwap: number(),\n});\n\nexport type TransactionEstimates = z.infer<typeof TransactionEstimatesSchema>;\n\nconst TransactionStreamingDetailsSchema = object({\n count: optional(number()),\n interval: optional(number()),\n quantity: optional(number()),\n subSwapsMap: optional(array(number())),\n});\n\nexport type TransactionStreamingDetails = z.infer<typeof TransactionStreamingDetailsSchema>;\n\nconst TxnTransientSchema = z.object({\n currentLegIndex: z.optional(z.number()),\n estimatedTimeToComplete: z.number(),\n estimates: z.optional(TransactionEstimatesSchema),\n providerDetails: z.optional(z.object({ streamingDetails: z.optional(TransactionStreamingDetailsSchema) })),\n});\n\nexport type TxnTransient = z.infer<typeof TxnTransientSchema>;\n\nconst TransactionFeesSchema = object({\n affiliate: optional(AssetValueSchema), // e.g. affiliate in memo, other affiliate mechanisms\n liquidity: optional(AssetValueSchema), // fee paid to pool\n network: optional(AssetValueSchema), // gas on ethereum, network fee on thorchain, etc.\n protocol: optional(AssetValueSchema), // extra protocol fees (TS dex aggregation contracts, stargate fees, etc.)\n tax: optional(AssetValueSchema), // taxed tokens\n});\n\nexport type TransactionFees = z.infer<typeof TransactionFeesSchema>;\n\nconst TxnMetaAffiliateFeesSchema = object({ affiliate: string(), bps: string(), isReferrer: boolean() });\n\nconst TxnMetaSchema = object({\n affiliate: optional(string()),\n affiliateFees: optional(array(TxnMetaAffiliateFeesSchema)),\n broadcastedAt: optional(number()),\n explorerUrl: optional(string()),\n fees: optional(TransactionFeesSchema),\n images: optional(\n object({\n chain: optional(string()),\n from: optional(string()),\n provider: optional(string()),\n to: optional(string()),\n }),\n ),\n provider: optional(z.enum(ProviderName)),\n providerAction: z.optional(z.enum(ProviderAction)),\n quoteId: optional(string()),\n wallet: optional(string()),\n});\n\nexport type TxnMeta = z.infer<typeof TxnMetaSchema>;\n\nconst TransactionLegDTOSchema = z.object({\n block: z.number(),\n chainId: z.enum(ChainId),\n finalAddress: z.optional(z.string()),\n finalAsset: z.optional(AssetValueSchema),\n finalisedAt: z.number(),\n fromAddress: z.string(),\n fromAmount: z.string(),\n fromAsset: z.string(),\n hash: z.string(),\n meta: z.optional(TxnMetaSchema),\n payload: z.optional(TxnPayloadSchema),\n status: z.enum(TxnStatus),\n toAddress: z.string(),\n toAmount: z.string(),\n toAsset: z.string(),\n trackingStatus: z.optional(z.enum(TrackingStatus)),\n transient: z.optional(TxnTransientSchema),\n type: z.enum(TxnType),\n});\n\nexport type TransactionLegDTO = z.infer<typeof TransactionLegDTOSchema>;\n\nexport const TrackerResponseSchema: z.ZodType<TransactionDTO> = TransactionLegDTOSchema.extend({\n legs: z.array(TransactionLegDTOSchema),\n});\n\nexport type TrackerResponse = z.infer<typeof TrackerResponseSchema>;\n\nexport const TransactionSchema = TransactionLegDTOSchema.extend({ legs: array(TransactionLegDTOSchema) });\n\nexport type TransactionDTO = z.infer<typeof TransactionLegDTOSchema> & { legs: TransactionLegDTO[] };\n\nexport const TransactionDTOSchema: ZodType<TransactionDTO> = TransactionLegDTOSchema.extend({\n legs: array(TransactionLegDTOSchema),\n});\n\nexport const FeesSchema = array(\n object({\n amount: string(),\n asset: string(),\n chain: string(),\n protocol: z.enum(ProviderName),\n type: z.enum(FeeTypeEnum),\n }),\n);\n\nexport type Fees = z.infer<typeof FeesSchema>;\n\nexport const EstimatedTimeSchema = z.object({\n inbound: z.optional(z.number().describe(\"Time to receive inbound asset in seconds\")),\n outbound: z.optional(z.number().describe(\"Time to receive outbound asset in seconds\")),\n swap: z.optional(z.number().describe(\"Time to swap assets in seconds\")),\n total: z.number().describe(\"Total time in seconds\"),\n});\n\nexport type EstimatedTime = z.infer<typeof EstimatedTimeSchema>;\n\nexport const EVMTransactionSchema = object({\n data: string().describe(\"Data to send\"),\n from: string().describe(\"Address of the sender\"),\n to: string().describe(\"Address of the recipient\"),\n value: string().describe(\"Value to send\"),\n});\n\nexport type EVMTransaction = z.infer<typeof EVMTransactionSchema>;\n\nexport const EVMTransactionDetailsParamsSchema = array(\n union([\n string(),\n number(),\n array(string()),\n object({ from: string(), value: string() }).describe(\"Parameters to pass to the contract method\"),\n ]),\n);\n\nexport type EVMTransactionDetailsParams = z.infer<typeof EVMTransactionDetailsParamsSchema>;\n\nexport const EVMTransactionDetailsSchema = object({\n approvalSpender: optional(string().describe(\"Address of the spender to approve\")),\n approvalToken: optional(string().describe(\"Address of the token to approve spending of\")),\n contractAddress: string().describe(\"Address of the contract to interact with\"),\n contractMethod: string().describe(\"Name of the method to call\"),\n contractParamNames: array(string().describe(\"Names of the parameters to pass to the contract method\")),\n contractParams: EVMTransactionDetailsParamsSchema,\n});\n\nexport type EVMTransactionDetails = z.infer<typeof EVMTransactionDetailsSchema>;\n\nconst EncodeObjectSchema = object({ typeUrl: string(), value: unknown() });\n\nconst FeeSchema = object({ amount: array(object({ amount: string(), denom: string() })), gas: string() });\n\nexport const CosmosTransactionSchema = object({\n accountNumber: number(),\n chainId: z.enum(ChainId),\n fee: FeeSchema,\n memo: string(),\n msgs: array(EncodeObjectSchema),\n sequence: number(),\n});\n\nexport type CosmosTransaction = z.infer<typeof CosmosTransactionSchema>;\n\nexport const RouteLegSchema = object({\n affiliate: string().describe(\"Affiliate address\").optional(),\n affiliateFee: number().describe(\"Affiliate fee\").optional(),\n buyAsset: string().describe(\"Asset to buy\"),\n destinationAddress: string().describe(\"Destination address\"),\n estimatedTime: EstimatedTimeSchema.optional(),\n provider: z.enum(ProviderName),\n sellAsset: string().describe(\"Asset to sell\"),\n slipPercentage: number().describe(\"Slippage as a percentage\"),\n sourceAddress: string().describe(\"Source address\"),\n});\n\nexport type RouteLeg = z.infer<typeof RouteLegSchema>;\n\nexport const RouteLegWithoutAddressesSchema = RouteLegSchema.omit({\n destinationAddress: true,\n slipPercentage: true,\n sourceAddress: true,\n});\n\nexport type RouteLegWithoutAddresses = z.infer<typeof RouteLegWithoutAddressesSchema>;\n\nexport const RouteQuoteMetadataAssetSchema = object({\n asset: string().describe(\"Asset name\"),\n image: string().describe(\"Asset image\"),\n price: number().describe(\"Price in USD\"),\n});\n\nexport type RouteQuoteMetadataAsset = z.infer<typeof RouteQuoteMetadataAssetSchema>;\n\nexport const ChainflipMetadataSchema = BrokerDepositChannelParamsSchema;\n\nexport type ChainflipMetadata = z.infer<typeof ChainflipMetadataSchema>;\n\nexport const RouteQuoteMetadataSchema = object({\n assets: optional(array(RouteQuoteMetadataAssetSchema)),\n maxStreamingQuantity: number().optional(),\n referrer: string().optional(),\n streamingInterval: number().optional(),\n tags: array(z.enum(PriorityLabel)),\n});\n\nexport const RouteQuoteMetadataV2Schema = RouteQuoteMetadataSchema.extend({\n affiliate: optional(string()),\n affiliateFee: optional(string()),\n approvalAddress: optional(string().describe(\"Approval address for swap\")),\n chainflip: ChainflipMetadataSchema.optional(),\n near: NearDepositChannelParamsSchema.optional(),\n priceImpact: optional(number().describe(\"Price impact\")),\n referrer: optional(string()),\n txType: optional(z.enum(RouteQuoteTxType)),\n});\n\nexport const RouteQuoteWarningSchema = array(\n object({ code: z.enum(WarningCodeEnum), display: string(), tooltip: string().optional() }),\n);\n\nexport type RouteQuoteWarning = z.infer<typeof RouteQuoteWarningSchema>;\n\nconst QuoteResponseRouteLegItem = object({\n buyAmount: string().describe(\"Buy amount\"),\n buyAmountMaxSlippage: string().describe(\"Buy amount max slippage\"),\n buyAsset: string().describe(\"Asset to buy\"),\n fees: optional(FeesSchema),\n provider: z.enum(ProviderName),\n sellAmount: string().describe(\"Sell amount\"),\n sellAsset: string().describe(\"Asset to sell\"),\n});\n\nconst QuoteResponseRouteItem = object({\n buyAsset: string().describe(\"Asset to buy\"),\n destinationAddress: string().describe(\"Destination address\"),\n estimatedTime: optional(EstimatedTimeSchema),\n expectedBuyAmount: string().describe(\"Expected Buy amount\"),\n expectedBuyAmountMaxSlippage: string().describe(\"Expected Buy amount max slippage\"),\n expiration: optional(string().describe(\"Expiration\")),\n fees: FeesSchema,\n inboundAddress: optional(string().describe(\"Inbound address\")),\n legs: array(QuoteResponseRouteLegItem),\n memo: optional(string().describe(\"Memo\")),\n meta: RouteQuoteMetadataV2Schema,\n providers: array(z.enum(ProviderName)),\n sellAmount: string().describe(\"Sell amount\"),\n sellAsset: string().describe(\"Asset to sell\"),\n sourceAddress: string().describe(\"Source address\"),\n targetAddress: optional(string().describe(\"Target address\")),\n totalSlippageBps: number().describe(\"Total slippage in bps\"),\n tx: optional(union([EVMTransactionSchema, CosmosTransactionSchema, string()])),\n txType: optional(z.enum(RouteQuoteTxType)),\n warnings: RouteQuoteWarningSchema,\n});\n\nexport const QuoteResponseSchema = object({\n error: optional(string().describe(\"Error message\")),\n providerErrors: optional(\n array(\n object({\n errorCode: optional(z.enum(ErrorCode)),\n message: optional(string()),\n provider: z.enum(ProviderName).optional(),\n }),\n ),\n ),\n quoteId: string().describe(\"Quote ID\"),\n routes: array(QuoteResponseRouteItem),\n});\n\nexport type QuoteResponse = z.infer<typeof QuoteResponseSchema>;\nexport type QuoteResponseRoute = z.infer<typeof QuoteResponseRouteItem>;\nexport type QuoteResponseRouteLeg = z.infer<typeof QuoteResponseRouteLegItem>;\n\nexport const GasSchema = z.object({\n chainId: z.enum(ChainId),\n createdAt: z.date(),\n id: z.number(),\n unit: z.string(),\n value: z.string(),\n});\n\nconst GasSchemaArray = z.array(GasSchema);\n\nexport const GasResponseSchema = z.union([GasSchema, GasSchemaArray]);\n\nexport type GasResponse = z.infer<typeof GasResponseSchema>;\n\nconst BalanceResponseSchema = array(\n object({\n chain: z.enum(Chain),\n decimal: number(),\n identifier: string(),\n symbol: string(),\n ticker: string(),\n value: string(),\n }),\n);\n\nexport type BalanceResponse = z.infer<typeof BalanceResponseSchema>;\n",
|
|
8
|
+
"import { AssetValue, RequestClient, SKConfig } from \"@swapkit/helpers\";\nimport { MAYAConfig, StagenetMAYAConfig, StagenetTHORConfig, THORConfig } from \"@swapkit/types\";\nimport type {\n InboundAddressesItem,\n LastBlockItem,\n MimirData,\n NodeItem,\n RunePoolInfo,\n RunePoolProviderInfo,\n TCYClaimerResponse,\n TCYClaimersResponse,\n TCYStakerResponse,\n TCYStakersResponse,\n THORNodeTNSDetails,\n THORNodeType,\n} from \"./types\";\n\nfunction baseUrl(type?: THORNodeType) {\n const { isStagenet } = SKConfig.get(\"envs\");\n\n switch (type) {\n case \"mayachain\": {\n const nodeUrl = isStagenet ? StagenetMAYAConfig.nodeUrl : MAYAConfig.nodeUrl;\n return `${nodeUrl}/mayachain`;\n }\n default: {\n const nodeUrl = isStagenet ? StagenetTHORConfig.nodeUrl : THORConfig.nodeUrl;\n\n return `${nodeUrl}/thorchain`;\n }\n }\n}\n\nfunction getNameServiceBaseUrl(type?: THORNodeType) {\n const nsType = type === \"mayachain\" ? \"mayaname\" : \"thorname\";\n\n return `${baseUrl(type)}/${nsType}`;\n}\n\nexport function getLastBlock<T extends THORNodeType = \"thorchain\">(type: T = \"thorchain\" as T) {\n return RequestClient.get<LastBlockItem<T>[]>(`${baseUrl(type)}/lastblock`);\n}\n\nexport function getThorchainQueue(type?: THORNodeType) {\n return RequestClient.get(`${baseUrl(type)}/queue`);\n}\n\nexport function getNodes(type?: THORNodeType) {\n return RequestClient.get<NodeItem[]>(`${baseUrl(type)}/nodes`);\n}\n\nexport function getMimirInfo(type?: THORNodeType) {\n return RequestClient.get<MimirData>(`${baseUrl(type)}/mimir`);\n}\n\nexport function getInboundAddresses(type?: THORNodeType) {\n return RequestClient.get<InboundAddressesItem[]>(`${baseUrl(type)}/inbound_addresses`);\n}\n\nexport async function getTHORNodeTNSDetails({\n type,\n name,\n}: {\n type?: THORNodeType;\n name: string;\n}): Promise<THORNodeTNSDetails> {\n try {\n const result = await RequestClient.get<THORNodeTNSDetails>(`${getNameServiceBaseUrl(type)}/${name}`);\n return result;\n } catch {\n return { affiliate_collector_rune: \"\", aliases: [], expire_block_height: 0, name, owner: \"\", preferred_asset: \"\" };\n }\n}\n\nexport async function getTNSPreferredAsset({ type, tns }: { type?: THORNodeType; tns: string }) {\n const tnsDetails = await getTHORNodeTNSDetails({ name: tns, type });\n\n if (!tnsDetails.preferred_asset || tnsDetails.preferred_asset === \".\") return undefined;\n\n return AssetValue.from({ asset: tnsDetails.preferred_asset, asyncTokenLookup: true });\n}\n\nexport function getRunePoolInfo(type?: THORNodeType) {\n return RequestClient.get<RunePoolInfo>(`${baseUrl(type)}/runepool`);\n}\n\nexport function getRunePoolProviderInfo({ type, thorAddress }: { type?: THORNodeType; thorAddress: string }) {\n return RequestClient.get<RunePoolProviderInfo>(`${baseUrl(type)}/rune_provider/${thorAddress}`);\n}\n\nexport function getTcyStaker({ type, address }: { type?: THORNodeType; address: string }) {\n return RequestClient.get<TCYStakerResponse>(`${baseUrl(type)}/tcy_staker/${address}`);\n}\n\nexport function getTcyStakers(type?: THORNodeType) {\n return RequestClient.get<TCYStakersResponse>(`${baseUrl(type)}/tcy_stakers`);\n}\n\nexport function getTcyClaimer({ type, address }: { type?: THORNodeType; address: string }) {\n return RequestClient.get<TCYClaimerResponse>(`${baseUrl(type)}/tcy_claimer/${address}`);\n}\n\nexport function getTcyClaimers(type?: THORNodeType) {\n return RequestClient.get<TCYClaimersResponse>(`${baseUrl(type)}/tcy_claimers`);\n}\n",
|
|
9
|
+
"import { mayachainMidgard, thorchainMidgard } from \"./midgard/endpoints\";\nimport * as swapkit from \"./swapkitApi/endpoints\";\nimport * as thornode from \"./thornode/endpoints\";\n\nexport * from \"./midgard/types\";\nexport * from \"./swapkitApi/types\";\nexport * from \"./thornode/types\";\n\nexport const SwapKitApi = { ...swapkit, mayachainMidgard, thorchainMidgard, thornode };\n"
|
|
11
10
|
],
|
|
12
|
-
"mappings": "8nCAAyD,IAAzD,8BACA,4BA0BA,SAAS,CAAiB,CAAC,EAAc,GAAM,CAC7C,OAAO,EAAc,iCAAmC,iCAG1D,SAAS,EAAqB,CAAC,EAAc,GAAM,CACjD,IAAM,EAAU,EAAkB,CAAW,EAC7C,OAAO,EAAc,GAAG,gBAAwB,GAAG,gBAGrD,SAAS,EAAQ,CAAC,EAAiB,CACjC,OAAO,QAAiB,CAAC,EAAkC,CACzD,IAAM,EAAS,EAAS,WAAW,IAAW,GAC9C,OAAO,gBAAc,IAAY,GAAG,aAAmB,GAAQ,GAInE,SAAS,EAAO,CAAC,EAAiB,CAChC,OAAO,QAAgB,CAAC,EAA8B,CACpD,OAAO,gBAAc,IAAU,GAAG,aAAmB,GAAO,GAIhE,SAAS,EAAY,CAAC,EAAiB,CACrC,OAAO,QAAqB,CAAC,EAAe,EAAqC,CAC/E,IAAM,EAAS,EAAS,WAAW,IAAW,GAC9C,OAAO,gBAAc,IAAe,GAAG,aAAmB,UAAc,GAAQ,GAIpF,SAAS,EAAmB,CAAC,EAAiB,CAC5C,OAAO,QAA4B,CAAC,EAAe,EAA6C,CAC9F,IAAM,EAAS,IAAI,gBACnB,GAAI,GAAO,SAAU,EAAO,OAAO,WAAY,EAAM,QAAQ,EAC7D,GAAI,GAAO,MAAO,EAAO,OAAO,QAAS,EAAM,MAAM,SAAS,CAAC,EAC/D,GAAI,GAAO,KAAM,EAAO,OAAO,OAAQ,EAAM,KAAK,SAAS,CAAC,EAC5D,GAAI,GAAO,GAAI,EAAO,OAAO,KAAM,EAAM,GAAG,SAAS,CAAC,EACtD,IAAM,EAAc,EAAO,SAAS,EAAI,IAAI,EAAO,SAAS,IAAM,GAClE,OAAO,gBAAc,IAAkB,GAAG,uBAA6B,IAAQ,GAAa,GAIhG,SAAS,EAAc,CAAC,EAAiB,CACvC,OAAO,QAAuB,EAAyB,CACrD,OAAO,gBAAc,IAAiB,GAAG,cAAoB,GAIjE,SAAS,EAAS,CAAC,EAAiB,CAClC,OAAO,QAAkB,EAAwB,CAC/C,OAAO,gBAAc,IAAgB,GAAG,aAAmB,GAI/D,SAAS,EAAQ,CAAC,EAAiB,CACjC,OAAO,QAAiB,EAAoB,CAC1C,OAAO,gBAAc,IAAY,GAAG,YAAkB,GAI1D,SAAS,EAAO,CAAC,EAAiB,CAChC,OAAO,QAAgB,CAAC,EAAgC,CACtD,OAAO,gBAAc,IAAU,GAAG,aAAmB,GAAS,GAIlE,SAAS,EAAa,CAAC,EAAiB,CACtC,OAAO,QAAsB,EAAyB,CACpD,OAAO,gBAAc,IAAiB,GAAG,kBAAwB,GAIrE,SAAS,EAAQ,CAAC,EAAiB,CACjC,OAAO,QAAiB,EAAoC,CAC1D,OAAO,gBAAc,IAA4B,GAAG,YAAkB,GAI1E,SAAS,EAAY,CAAC,EAAiB,CACrC,OAAO,QAAqB,EAAuB,CACjD,OAAO,gBAAc,IAAe,GAAG,gBAAsB,GAIjE,SAAS,EAAQ,CAAC,EAAiB,CACjC,OAAO,QAAiB,EAAmB,CACzC,OAAO,gBAAc,IAAW,GAAG,YAAkB,GAIzD,SAAS,EAAkB,CAAC,EAAiB,CAC3C,OAAO,QAA2B,CAAC,EAAgD,CACjF,IAAM,EAAS,IAAI,gBACnB,GAAI,GAAO,SAAU,EAAO,OAAO,WAAY,EAAM,QAAQ,EAC7D,GAAI,GAAO,MAAO,EAAO,OAAO,QAAS,EAAM,MAAM,SAAS,CAAC,EAC/D,GAAI,GAAO,KAAM,EAAO,OAAO,OAAQ,EAAM,KAAK,SAAS,CAAC,EAC5D,GAAI,GAAO,GAAI,EAAO,OAAO,KAAM,EAAM,GAAG,SAAS,CAAC,EACtD,IAAM,EAAc,EAAO,SAAS,EAAI,IAAI,EAAO,SAAS,IAAM,GAClE,OAAO,gBAAc,IAAqB,GAAG,wBAA8B,GAAa,GAI5F,SAAS,EAAc,CAAC,EAAiB,CACvC,OAAO,QAAuB,CAAC,EAAe,EAA4C,CACxF,IAAM,EAAS,IAAI,gBACnB,GAAI,GAAO,SAAU,EAAO,OAAO,WAAY,EAAM,QAAQ,EAC7D,GAAI,GAAO,MAAO,EAAO,OAAO,QAAS,EAAM,MAAM,SAAS,CAAC,EAC/D,GAAI,GAAO,KAAM,EAAO,OAAO,OAAQ,EAAM,KAAK,SAAS,CAAC,EAC5D,GAAI,GAAO,GAAI,EAAO,OAAO,KAAM,EAAM,GAAG,SAAS,CAAC,EACtD,IAAM,EAAc,EAAO,SAAS,EAAI,IAAI,EAAO,SAAS,IAAM,GAC5D,EAAW,EAAO,UAAU,IAAS,SAC3C,OAAO,gBAAc,IAAiB,GAAG,eAAqB,IAAW,GAAa,GAI1F,SAAS,EAAa,CAAC,EAAiB,CACtC,OAAO,QAAsB,CAAC,EAA2C,CACvE,IAAM,EAAS,IAAI,gBACnB,GAAI,GAAO,SAAU,EAAO,OAAO,WAAY,EAAM,QAAQ,EAC7D,GAAI,GAAO,MAAO,EAAO,OAAO,QAAS,EAAM,MAAM,SAAS,CAAC,EAC/D,GAAI,GAAO,KAAM,EAAO,OAAO,OAAQ,EAAM,KAAK,SAAS,CAAC,EAC5D,GAAI,GAAO,GAAI,EAAO,OAAO,KAAM,EAAM,GAAG,SAAS,CAAC,EACtD,IAAM,EAAc,EAAO,SAAS,EAAI,IAAI,EAAO,SAAS,IAAM,GAClE,OAAO,gBAAc,IAAgB,GAAG,mBAAyB,GAAa,GAIlF,SAAS,EAAiB,CAAC,EAA6B,CACtD,GAAI,CAAC,EAAO,MAAO,GACnB,IAAM,EAAS,IAAI,gBACb,EAAc,CAAC,EAAwB,IAAe,CAC1D,GAAI,IAAU,OACZ,EAAO,OAAO,EAAK,OAAO,IAAU,SAAW,EAAM,SAAS,EAAI,CAAK,GAU3E,OAPA,EAAY,UAAW,EAAM,OAAO,EACpC,EAAY,OAAQ,EAAM,IAAI,EAC9B,EAAY,QAAS,EAAM,KAAK,EAChC,EAAY,OAAQ,EAAM,IAAI,EAC9B,EAAY,YAAa,EAAM,SAAS,EACxC,EAAY,QAAS,EAAM,KAAK,EAChC,EAAY,SAAU,EAAM,MAAM,EAC3B,EAAO,SAAS,EAAI,IAAI,EAAO,SAAS,IAAM,GAGvD,SAAS,EAAU,CAAC,EAAiB,CACnC,OAAO,QAAmB,CAAC,EAAqD,CAC9E,IAAM,EAAc,GAAkB,CAAK,EAC3C,OAAO,gBAAc,IAA2B,GAAG,eAAqB,GAAa,GAIzF,SAAS,EAAkD,CAAC,EAAiB,CAC3E,OAAO,QAA6B,CAClC,EACiG,CACjG,OAAO,gBAAc,IACnB,GAAG,eAAqB,GAC1B,GAIJ,SAAS,EAAU,CAAC,EAAiB,CACnC,OAAO,QAAmB,CAAC,EAAkC,CAC3D,IAAM,EAAW,EAAO,IAAI,IAAS,GACrC,OAAO,gBAAc,IAAc,GAAG,eAAqB,GAAU,GAIzE,SAAS,EAAe,CAAC,EAAiB,CACxC,OAAO,QAAwB,CAAC,EAAiB,EAAwC,CACvF,IAAM,EAAW,EAAO,UAAU,IAAS,GAC3C,OAAO,gBAAc,IACnB,GAAG,cAAoB,IAAU,EAAW,IAAI,EAAS,UAAU,CAAC,IAAM,IAC5E,GAIJ,SAAS,EAAS,CAAC,EAAiB,CAClC,OAAO,QAAkB,CAAC,EAAiC,CACzD,OAAO,gBAAc,IAAc,GAAG,eAAqB,GAAM,GAIrE,SAAS,EAAgB,CAAC,EAAiB,CACzC,OAAO,QAAyB,CAAC,EAAe,EAA8C,CAC5F,IAAM,EAAS,IAAI,gBACnB,GAAI,GAAO,SAAU,EAAO,OAAO,WAAY,EAAM,QAAQ,EAC7D,GAAI,GAAO,MAAO,EAAO,OAAO,QAAS,EAAM,MAAM,SAAS,CAAC,EAC/D,GAAI,GAAO,KAAM,EAAO,OAAO,OAAQ,EAAM,KAAK,SAAS,CAAC,EAC5D,GAAI,GAAO,GAAI,EAAO,OAAO,KAAM,EAAM,GAAG,SAAS,CAAC,EACtD,IAAM,EAAc,EAAO,SAAS,EAAI,IAAI,EAAO,SAAS,IAAM,GAC5D,EAAW,EAAO,WAAW,IAAS,UAC5C,OAAO,gBAAc,IAAmB,GAAG,eAAqB,IAAW,GAAa,GAI5F,SAAS,EAAU,CAAC,EAAiB,CACnC,OAAO,QAAmB,CAAC,EAAqC,CAC9D,OAAO,gBAAc,IAAe,GAAG,gBAAsB,GAAS,GAI1E,SAAS,EAAc,CAAC,EAAiB,CACvC,OAAO,cAAgC,CAAC,EAAc,CACpD,IAAM,EAAe,CAAC,IAAe,CAEnC,GAAI,GAAO,OAAO,SAAW,IAC3B,OAEF,MAAM,GAER,OAAO,MAAM,gBAAc,IAAqB,GAAG,YAAkB,IAAQ,CAC3E,QAAS,EACT,MAAO,CAAE,WAAY,CAAE,CACzB,CAAC,GAIL,SAAS,EAAiB,CAAC,EAAiB,CAC1C,OAAO,cAAgC,CAAC,EAAiB,CACvD,IAAM,EAAe,CAAC,IAAe,CAEnC,GAAI,GAAO,OAAO,SAAW,IAC3B,MAAO,CAAC,EAEV,MAAM,GAER,OAAO,MAAM,gBAAc,IAAc,GAAG,aAAmB,IAAW,CACxE,QAAS,EACT,MAAO,CAAE,WAAY,CAAE,CACzB,CAAC,GAIL,SAAS,EAAe,CAAC,EAAiB,CACxC,OAAO,cAA8B,CAAC,EAAiB,CACrD,IAAM,EAAe,CAAC,IAAe,CAEnC,GAAI,GAAO,OAAO,SAAW,IAC3B,MAAO,CAAC,EAEV,MAAM,GAER,OAAO,MAAM,gBAAc,IAAc,GAAG,WAAiB,IAAW,CACtE,QAAS,EACT,MAAO,CAAE,WAAY,CAAE,CACzB,CAAC,GAIL,SAAS,CAAY,EAAG,QAAO,SAA2C,CACxE,OAAO,aAAW,KAAK,CAAE,QAAO,gBAAiB,iBAAe,QAAM,SAAS,EAAE,YAAa,OAAM,CAAC,EAGvG,SAAS,EAAwD,EAC/D,0BACA,eAMC,CACD,OAAO,cAAmC,CAAC,EAAiB,CAC1D,IAAM,EAAwB,MAAM,EAAwB,CAAO,EAC7D,EAAc,EAAc,OAAS,QAE3C,OAAO,EAAsB,MAAM,IAAI,CAAC,KAAO,EAC5C,GAAG,YAAuB,EAAa,CAAE,MAAO,YAAa,MAAO,EAAE,WAAY,CAAC,GACnF,GAAG,sBAAiC,EAAE,aACtC,GAAG,cAAyB,EAAa,CAAE,MAAO,YAAa,MAAO,EAAE,aAAc,CAAC,GACvF,GAAc,EAAa,CAAE,MAAO,YAAa,MAAO,EAAE,SAAU,CAAC,EACtE,MAAO,EAAa,CAAE,MAAO,EAAE,KAAM,MAAO,EAAE,UAAW,CAAC,EAC1D,aAAc,EAAa,CAAE,MAAO,EAAE,KAAM,MAAO,EAAE,YAAa,CAAC,EACnE,uBAAwB,EAAE,aAC1B,eAAgB,EAAa,CAAE,MAAO,EAAE,KAAM,MAAO,EAAE,cAAe,CAAC,EACvE,eAAgB,EAAE,eAClB,cAAe,EAAE,cACjB,UAAW,IAAI,gBAAc,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,CAC3D,EAAE,GAIN,SAAS,CAAmD,CAAC,EAAU,CACrE,IAAM,EAAc,IAAU,QAAM,UAC9B,EAAiB,EAAkB,CAAW,EAC9C,EAAqB,GAAsB,CAAW,EACtD,EAA0B,GAA2B,CAAc,EAEzE,MAAO,CACL,WAAY,GAAW,CAAc,EACrC,WAAY,GAAW,CAAc,EACrC,aAAc,GAAa,CAAc,EACzC,mBAAoB,GAAmB,CAAc,EACrD,UAAW,GAAU,CAAc,EACnC,qBAAsB,GAAqB,CAAE,cAAa,yBAAwB,CAAC,EACnF,wBAAyB,EACzB,WAAY,GAAW,CAAc,EACrC,SAAU,GAAS,CAAc,EACjC,cAAe,GAAc,CAAc,EAC3C,eAAgB,GAAe,CAAkB,EACjD,kBAAmB,GAAkB,CAAkB,EACvD,gBAAiB,GAAgB,CAAkB,EACnD,eAAgB,GAAe,CAAc,EAC7C,QAAS,GAAQ,CAAc,EAC/B,SAAU,GAAS,CAAc,EACjC,QAAS,GAAQ,CAAc,EAC/B,oBAAqB,GAAoB,CAAc,EACvD,aAAc,GAAa,CAAc,EACzC,SAAU,GAAS,CAAc,EACjC,gBAAiB,GAAgB,CAAc,EAC/C,UAAW,GAAU,CAAc,EACnC,iBAAkB,GAAiB,CAAc,EACjD,SAAU,GAAS,CAAc,EACjC,eAAgB,GAAe,CAAc,EAC7C,cAAe,GAAc,CAAc,CAC7C,EAGK,IAAM,EAAmB,EAA6B,QAAM,SAAS,EAC/D,EAAmB,EAA6B,QAAM,IAAI,uOClVhE,IATP,8BCAsE,IAAtE,8BACA,4BACA,oBAEY,GAAL,CAAK,IAAL,CACL,WAAW,WACX,UAAU,UACV,cAAc,gBAHJ,QAML,IAAK,GAAL,CAAK,IAAL,CACL,OAAO,OACP,MAAM,MACN,SAAS,SACT,QAAQ,UAJE,QAOL,IAAK,GAAL,CAAK,IAAL,CACL,cAAc,cACd,iBAAiB,iBACjB,uBAAuB,uBACvB,sBAAsB,sBACtB,UAAU,UACV,UAAU,UACV,kBAAkB,kBAClB,YAAY,YACZ,OAAO,OACP,iBAAiB,iBACjB,QAAQ,QACR,QAAQ,QACR,UAAU,UACV,UAAU,YAdA,QAiBL,IAAK,GAAL,CAAK,IAAL,CACL,UAAU,UACV,cAAc,cACd,UAAU,UACV,WAAW,WACX,YAAY,cALF,QAQL,IAAK,GAAL,CAAK,IAAL,CACL,cAAc,cACd,WAAW,WACX,cAAc,cACd,UAAU,UACV,UAAU,UACV,WAAW,WACX,WAAW,WACX,YAAY,YACZ,WAAW,WACX,qBAAqB,qBACrB,UAAU,UACV,WAAW,WACX,WAAW,WACX,mBAAmB,mBACnB,gBAAgB,kBAfN,QAyCL,IAAM,GAAc,SAAO,CAChC,QAAS,WAAS,SAAO,CAAC,EAC1B,MAAO,IAAE,KAAK,OAAK,EAAE,SAAS,EAC9B,QAAS,IAAE,KAAK,SAAO,EACvB,YAAa,WAAS,SAAO,CAAC,EAC9B,SAAU,SAAO,OAAO,EACxB,WAAY,WAAS,IAAE,YAAY,CAAC,CAAC,CAAC,EACtC,WAAY,SAAO,EACnB,QAAS,WAAS,SAAO,CAAC,EAC1B,KAAM,WAAS,SAAO,CAAC,EACvB,UAAW,WAAS,SAAO,CAAC,EAC5B,OAAQ,WAAS,SAAO,CAAC,EACzB,OAAQ,SAAO,CACjB,CAAC,EAIY,GAAwB,IAClC,OAAO,CACN,MAAO,IAAE,SAAS,IAAE,OAAO,EAAE,SAAS,0DAA0D,CAAC,EACjG,QAAS,IAAE,SAAS,IAAE,OAAO,EAAE,SAAS,0CAA0C,CAAC,EACnF,iBAAkB,IAAE,SAClB,IAAE,OAAO,EAAE,SAAS,4FAA4F,CAClH,EACA,KAAM,IAAE,SACN,IACG,OAAO,EACP,SACC,qIACF,CACJ,CACF,CAAC,EACA,OAAO,CAAC,IAAU,EAAK,MAAQ,EAAK,SAAY,EAAK,iBAAkB,CACtE,QAAS,oEACX,CAAC,EAEU,GAA6B,IAAE,OAAO,CACjD,YAAa,IACV,OAAO,EACP,YAAY,EACZ,UAAU,CAAC,IAAM,IAAM,MAAM,EAC7B,KAAK,IAAE,QAAQ,CAAC,EAChB,SAAS,CACd,CAAC,EAIY,GAAmB,SAAO,CAAE,MAAO,SAAO,EAAG,QAAS,SAAO,CAAE,CAAC,EAEhE,EAAmB,SAAO,CACrC,QAAS,WAAS,SAAO,CAAC,EAC1B,MAAO,IAAE,KAAK,OAAK,EACnB,QAAS,WAAS,SAAO,CAAC,EAC1B,WAAY,UAAQ,EACpB,YAAa,UAAQ,EACrB,OAAQ,SAAO,EACf,IAAK,WAAS,SAAO,CAAE,IAAK,SAAO,EAAG,KAAM,SAAO,CAAE,CAAC,CAAC,EACvD,OAAQ,SAAO,CACjB,CAAC,EAEY,EAA6B,SAAO,CAC/C,GAAI,SAAO,EACX,WAAY,SAAO,EACnB,KAAM,SAAO,EACb,qBAAsB,SAAO,EAC7B,gCAAiC,SAAO,EACxC,gBAAiB,QAAM,SAAO,CAAC,EAC/B,UAAW,SAAO,EAClB,aAAc,SAAO,CACvB,CAAC,EAEY,EAAsB,QACjC,SAAO,CACL,GAAI,EAA2B,SAAS,EACxC,WAAY,SAAO,EACnB,UAAW,SAAO,EAClB,SAAU,SAAO,EACjB,UAAW,SAAO,CACpB,CAAC,EAAE,QAAQ,CACb,EAIa,GAAqB,SAAO,CACvC,UAAW,WAAS,SAAO,EAAE,SAAS,oBAAoB,CAAC,EAC3D,aAAc,WACZ,SAAO,EACJ,SAAS,+BAA+B,EACxC,OAAO,CAAC,IAAQ,IAAQ,KAAK,MAAM,CAAG,GAAK,GAAO,EAAG,CACpD,QAAS,0CACT,KAAM,CAAC,cAAc,CACvB,CAAC,CACL,EACA,2BAA4B,WAAS,UAAQ,EAAE,SAAS,mCAAmC,CAAC,EAC5F,yBAA0B,WAAS,UAAQ,EAAE,SAAS,gCAAgC,CAAC,EACvF,SAAU,SAAO,EAAE,SAAS,cAAc,EAC1C,QAAS,WAAS,UAAQ,EAAE,SAAS,uEAAuE,CAAC,EAC7G,mBAAoB,WAAS,SAAO,EAAE,SAAS,0BAA0B,CAAC,EAC1E,sBAAuB,WAAS,UAAQ,EAAE,SAAS,yBAAyB,CAAC,EAC7E,UAAW,WAAS,UAAQ,EAAE,SAAS,yDAAyD,CAAC,EACjG,UAAW,WACT,QACE,SAAO,EACJ,SAAS,0BAA0B,EACnC,OAAO,CAAC,IAAa,eAAa,KAA8B,OAAW,CAC1E,QAAS,mBACT,KAAM,CAAC,WAAW,CACpB,CAAC,CACL,CACF,EACA,SAAU,WAAS,SAAO,EAAE,SAAS,qCAAqC,CAAC,EAC3E,WAAY,SAAO,EAChB,SAAS,yBAAyB,EAClC,OAAO,CAAC,IAAW,CAAC,EAAS,EAAG,CAAE,QAAS,oCAAqC,KAAM,CAAC,YAAY,CAAE,CAAC,EACzG,UAAW,SAAO,EAAE,SAAS,eAAe,EAC5C,SAAU,WAAS,SAAO,EAAE,SAAS,oDAAoD,CAAC,EAC1F,cAAe,WAAS,SAAO,EAAE,SAAS,4BAA4B,CAAC,CACzE,CAAC,EAAE,OAAO,CAAC,IAAS,EAAK,YAAc,EAAK,SAAU,CACpD,QAAS,oBACT,KAAM,CAAC,YAAa,UAAU,CAChC,CAAC,EAIY,GAAqB,SAAO,CAAE,SAAU,UAAQ,EAAG,OAAQ,QAAM,SAAO,CAAE,WAAY,SAAO,CAAE,CAAC,CAAC,CAAE,CAAC,EAIpG,EAA6B,SAAO,CAAE,mBAAoB,SAAO,CAAE,CAAC,EAEpE,EAAmC,EAA2B,OAAO,CAChF,cAAe,QAAM,SAAO,CAAE,cAAe,SAAO,EAAG,OAAQ,SAAO,CAAE,CAAC,CAAC,EAAE,SAAS,EACrF,oBAAqB,SAAO,EAAE,SAAS,EACvC,SAAU,SAAO,CAAE,MAAO,SAAO,EAAG,MAAO,SAAO,CAAE,CAAC,EACrD,gBAAiB,SAAO,CACtB,aAAc,SAAO,EAAE,SAAS,EAChC,UAAW,SAAO,EAAE,SAAS,EAC7B,QAAS,SAAO,EAAE,SAAS,CAC7B,CAAC,EAAE,SAAS,EACZ,cAAe,SAAO,CAAE,cAAe,SAAO,EAAE,SAAS,EAAG,eAAgB,SAAO,EAAE,SAAS,CAAE,CAAC,EAAE,SAAS,EAC5G,eAAgB,SAAO,EAAE,SAAS,EAClC,iBAAkB,SAAO,CACvB,SAAU,SAAO,EAAE,SAAS,EAC5B,cAAe,SAAO,EAAE,SAAS,EACjC,cAAe,SAAO,EAAE,SAAS,CACnC,CAAC,EAAE,SAAS,EACZ,UAAW,SAAO,CAAE,MAAO,SAAO,EAAG,MAAO,SAAO,CAAE,CAAC,CACxD,CAAC,EAIY,EAA+B,SAAO,CAAE,UAAW,SAAO,EAAG,eAAgB,SAAO,CAAE,CAAC,EAEvF,EAAiC,EAA2B,OAAO,CAC9E,cAAe,SAAO,CAAE,OAAQ,SAAO,EAAG,OAAQ,SAAO,CAAE,CAAC,EAAE,SAAS,EACvE,SAAU,SAAO,EACjB,WAAY,SAAO,EACnB,UAAW,SAAO,EAClB,SAAU,SAAO,OAAO,EACxB,cAAe,SAAO,CACxB,CAAC,EAIK,EAA0B,SAAO,CACrC,SAAU,SAAO,EACjB,kBAAmB,SAAO,EAC1B,YAAa,SAAO,EACpB,UAAW,SAAO,EAClB,mBAAoB,SAAO,EAC3B,aAAc,SAAO,EACrB,SAAU,SAAO,EAAE,SAAS,EAC5B,YAAa,SAAO,EACpB,aAAc,SAAO,EACrB,aAAc,SAAO,EAAE,SAAS,EAChC,iBAAkB,SAAO,EAAE,SAAS,CACtC,CAAC,EAEY,GAAiC,EAAwB,OAAO,CAC3E,eAAgB,SAAO,EACvB,MAAO,EACP,UAAW,SAAO,EAClB,UAAW,SAAO,EAClB,GAAI,UAAQ,CACd,CAAC,EAIY,EAAyB,SAAO,CAC3C,SAAU,SAAO,EACjB,eAAgB,SAAO,EACvB,0BAA2B,SAAO,EAClC,SAAU,SAAO,EAAE,SAAS,EAC5B,eAAgB,SAAO,EACvB,cAAe,SAAO,EACtB,aAAc,SAAO,EACrB,GAAI,UAAQ,CACd,CAAC,EAMK,GAAmB,SAAO,CAC9B,YAAa,WAAS,SAAO,CAAC,EAC9B,KAAM,WAAS,UAAQ,CAAC,EACxB,KAAM,WAAS,SAAO,CAAC,EACvB,QAAS,WAAS,SAAO,CAAC,CAC5B,CAAC,EAKK,GAAqB,SAAO,CAChC,gBAAiB,WAAS,SAAO,CAAC,EAClC,qBAAsB,SAAO,EAC7B,wBAAyB,SAAO,EAChC,gBAAiB,WAAS,UAAQ,CAAC,EACnC,UAAW,SAAO,CACpB,CAAC,EAIK,GAAwB,SAAO,CACnC,UAAW,WAAS,CAAgB,EACpC,UAAW,WAAS,CAAgB,EACpC,QAAS,WAAS,CAAgB,EAClC,SAAU,WAAS,CAAgB,EACnC,IAAK,WAAS,CAAgB,CAChC,CAAC,EAIK,GAAgB,SAAO,CAC3B,UAAW,WAAS,SAAO,CAAC,EAC5B,cAAe,WAAS,SAAO,CAAC,EAChC,YAAa,WAAS,SAAO,CAAC,EAC9B,KAAM,WAAS,EAAqB,EACpC,OAAQ,WACN,SAAO,CACL,MAAO,WAAS,SAAO,CAAC,EACxB,KAAM,WAAS,SAAO,CAAC,EACvB,SAAU,WAAS,SAAO,CAAC,EAC3B,GAAI,WAAS,SAAO,CAAC,CACvB,CAAC,CACH,EACA,SAAU,WAAS,IAAE,KAAK,cAAY,CAAC,EACvC,QAAS,WAAS,SAAO,CAAC,EAC1B,OAAQ,WAAS,SAAO,CAAC,CAC3B,CAAC,EAIK,EAA0B,IAAE,OAAO,CACvC,MAAO,IAAE,OAAO,EAChB,QAAS,IAAE,KAAK,SAAO,EACvB,aAAc,IAAE,SAAS,IAAE,OAAO,CAAC,EACnC,WAAY,IAAE,SAAS,CAAgB,EAEvC,YAAa,IAAE,OAAO,EACtB,YAAa,IAAE,OAAO,EACtB,WAAY,IAAE,OAAO,EAErB,UAAW,IAAE,OAAO,EACpB,KAAM,IAAE,OAAO,EACf,KAAM,IAAE,SAAS,EAAa,EAC9B,QAAS,IAAE,SAAS,EAAgB,EACpC,OAAQ,IAAE,KAAK,CAAS,EACxB,UAAW,IAAE,OAAO,EACpB,SAAU,IAAE,OAAO,EACnB,QAAS,IAAE,OAAO,EAClB,eAAgB,IAAE,SAAS,IAAE,KAAK,CAAc,CAAC,EAEjD,UAAW,IAAE,SAAS,EAAkB,EACxC,KAAM,IAAE,KAAK,CAAO,CACtB,CAAC,EAIY,GAAmD,EAAwB,OAAO,CAC7F,KAAM,IAAE,MAAM,CAAuB,CACvC,CAAC,EAIY,GAAoB,EAAwB,OAAO,CAAE,KAAM,QAAM,CAAuB,CAAE,CAAC,EAI3F,GAAgD,EAAwB,OAAO,CAC1F,KAAM,QAAM,CAAuB,CACrC,CAAC,EAEY,EAAa,QACxB,SAAO,CACL,OAAQ,SAAO,EACf,MAAO,SAAO,EACd,MAAO,SAAO,EACd,SAAU,IAAE,KAAK,cAAY,EAC7B,KAAM,IAAE,KAAK,aAAW,CAC1B,CAAC,CACH,EAIa,EAAsB,IAAE,OAAO,CAC1C,QAAS,IAAE,SAAS,IAAE,OAAO,EAAE,SAAS,0CAA0C,CAAC,EACnF,SAAU,IAAE,SAAS,IAAE,OAAO,EAAE,SAAS,2CAA2C,CAAC,EACrF,KAAM,IAAE,SAAS,IAAE,OAAO,EAAE,SAAS,gCAAgC,CAAC,EACtE,MAAO,IAAE,OAAO,EAAE,SAAS,uBAAuB,CACpD,CAAC,EAIY,EAAuB,SAAO,CACzC,KAAM,SAAO,EAAE,SAAS,cAAc,EACtC,KAAM,SAAO,EAAE,SAAS,uBAAuB,EAC/C,GAAI,SAAO,EAAE,SAAS,0BAA0B,EAChD,MAAO,SAAO,EAAE,SAAS,eAAe,CAC1C,CAAC,EAIY,EAAoC,QAC/C,QAAM,CACJ,SAAO,EACP,SAAO,EACP,QAAM,SAAO,CAAC,EACd,SAAO,CAAE,KAAM,SAAO,EAAG,MAAO,SAAO,CAAE,CAAC,EAAE,SAAS,2CAA2C,CAClG,CAAC,CACH,EAIa,GAA8B,SAAO,CAChD,gBAAiB,WAAS,SAAO,EAAE,SAAS,mCAAmC,CAAC,EAChF,cAAe,WAAS,SAAO,EAAE,SAAS,6CAA6C,CAAC,EACxF,gBAAiB,SAAO,EAAE,SAAS,0CAA0C,EAC7E,eAAgB,SAAO,EAAE,SAAS,4BAA4B,EAC9D,mBAAoB,QAAM,SAAO,EAAE,SAAS,wDAAwD,CAAC,EACrG,eAAgB,CAClB,CAAC,EAIK,GAAqB,SAAO,CAAE,QAAS,SAAO,EAAG,MAAO,UAAQ,CAAE,CAAC,EAEnE,GAAY,SAAO,CAAE,OAAQ,QAAM,SAAO,CAAE,OAAQ,SAAO,EAAG,MAAO,SAAO,CAAE,CAAC,CAAC,EAAG,IAAK,SAAO,CAAE,CAAC,EAE3F,EAA0B,SAAO,CAC5C,cAAe,SAAO,EACtB,QAAS,IAAE,KAAK,SAAO,EACvB,IAAK,GACL,KAAM,SAAO,EACb,KAAM,QAAM,EAAkB,EAC9B,SAAU,SAAO,CACnB,CAAC,EAIY,EAAiB,SAAO,CACnC,UAAW,SAAO,EAAE,SAAS,mBAAmB,EAAE,SAAS,EAC3D,aAAc,SAAO,EAAE,SAAS,eAAe,EAAE,SAAS,EAC1D,SAAU,SAAO,EAAE,SAAS,cAAc,EAC1C,mBAAoB,SAAO,EAAE,SAAS,qBAAqB,EAC3D,cAAe,EAAoB,SAAS,EAC5C,SAAU,IAAE,KAAK,cAAY,EAC7B,UAAW,SAAO,EAAE,SAAS,eAAe,EAC5C,eAAgB,SAAO,EAAE,SAAS,0BAA0B,EAC5D,cAAe,SAAO,EAAE,SAAS,gBAAgB,CACnD,CAAC,EAIY,GAAiC,EAAe,KAAK,CAChE,mBAAoB,GACpB,eAAgB,GAChB,cAAe,EACjB,CAAC,EAIY,GAAgC,SAAO,CAClD,MAAO,SAAO,EAAE,SAAS,YAAY,EACrC,MAAO,SAAO,EAAE,SAAS,aAAa,EACtC,MAAO,SAAO,EAAE,SAAS,cAAc,CACzC,CAAC,EAIY,GAA0B,EAI1B,GAA2B,SAAO,CAC7C,OAAQ,WAAS,QAAM,EAA6B,CAAC,EACrD,qBAAsB,SAAO,EAAE,SAAS,EACxC,SAAU,SAAO,EAAE,SAAS,EAC5B,kBAAmB,SAAO,EAAE,SAAS,EACrC,KAAM,QAAM,IAAE,KAAK,CAAa,CAAC,CACnC,CAAC,EAEY,GAA6B,GAAyB,OAAO,CACxE,UAAW,WAAS,SAAO,CAAC,EAC5B,aAAc,WAAS,SAAO,CAAC,EAC/B,gBAAiB,WAAS,SAAO,EAAE,SAAS,2BAA2B,CAAC,EACxE,UAAW,GAAwB,SAAS,EAC5C,KAAM,EAA+B,SAAS,EAC9C,YAAa,WAAS,SAAO,EAAE,SAAS,cAAc,CAAC,EACvD,SAAU,WAAS,SAAO,CAAC,EAC3B,OAAQ,WAAS,IAAE,KAAK,CAAgB,CAAC,CAC3C,CAAC,EAEY,GAA0B,QACrC,SAAO,CAAE,KAAM,IAAE,KAAK,iBAAe,EAAG,QAAS,SAAO,EAAG,QAAS,SAAO,EAAE,SAAS,CAAE,CAAC,CAC3F,EAIM,GAA4B,SAAO,CACvC,UAAW,SAAO,EAAE,SAAS,YAAY,EACzC,qBAAsB,SAAO,EAAE,SAAS,yBAAyB,EACjE,SAAU,SAAO,EAAE,SAAS,cAAc,EAC1C,KAAM,WAAS,CAAU,EACzB,SAAU,IAAE,KAAK,cAAY,EAC7B,WAAY,SAAO,EAAE,SAAS,aAAa,EAC3C,UAAW,SAAO,EAAE,SAAS,eAAe,CAC9C,CAAC,EAEK,GAAyB,SAAO,CACpC,SAAU,SAAO,EAAE,SAAS,cAAc,EAC1C,mBAAoB,SAAO,EAAE,SAAS,qBAAqB,EAC3D,cAAe,WAAS,CAAmB,EAC3C,kBAAmB,SAAO,EAAE,SAAS,qBAAqB,EAC1D,6BAA8B,SAAO,EAAE,SAAS,kCAAkC,EAClF,WAAY,WAAS,SAAO,EAAE,SAAS,YAAY,CAAC,EACpD,KAAM,EACN,eAAgB,WAAS,SAAO,EAAE,SAAS,iBAAiB,CAAC,EAC7D,KAAM,QAAM,EAAyB,EACrC,KAAM,WAAS,SAAO,EAAE,SAAS,MAAM,CAAC,EACxC,KAAM,GACN,UAAW,QAAM,IAAE,KAAK,cAAY,CAAC,EACrC,WAAY,SAAO,EAAE,SAAS,aAAa,EAC3C,UAAW,SAAO,EAAE,SAAS,eAAe,EAC5C,cAAe,SAAO,EAAE,SAAS,gBAAgB,EACjD,cAAe,WAAS,SAAO,EAAE,SAAS,gBAAgB,CAAC,EAC3D,iBAAkB,SAAO,EAAE,SAAS,uBAAuB,EAC3D,GAAI,WAAS,QAAM,CAAC,EAAsB,EAAyB,SAAO,CAAC,CAAC,CAAC,EAC7E,OAAQ,WAAS,IAAE,KAAK,CAAgB,CAAC,EACzC,SAAU,EACZ,CAAC,EAEY,EAAsB,SAAO,CACxC,MAAO,WAAS,SAAO,EAAE,SAAS,eAAe,CAAC,EAClD,eAAgB,WACd,QACE,SAAO,CACL,UAAW,WAAS,IAAE,KAAK,WAAS,CAAC,EACrC,QAAS,WAAS,SAAO,CAAC,EAC1B,SAAU,IAAE,KAAK,cAAY,EAAE,SAAS,CAC1C,CAAC,CACH,CACF,EACA,QAAS,SAAO,EAAE,SAAS,UAAU,EACrC,OAAQ,QAAM,EAAsB,CACtC,CAAC,EAMY,EAAY,IAAE,OAAO,CAChC,QAAS,IAAE,KAAK,SAAO,EACvB,UAAW,IAAE,KAAK,EAClB,GAAI,IAAE,OAAO,EACb,KAAM,IAAE,OAAO,EACf,MAAO,IAAE,OAAO,CAClB,CAAC,EAEK,GAAiB,IAAE,MAAM,CAAS,EAE3B,EAAoB,IAAE,MAAM,CAAC,EAAW,EAAc,CAAC,EAI9D,GAAwB,QAC5B,SAAO,CACL,MAAO,IAAE,KAAK,OAAK,EACnB,QAAS,SAAO,EAChB,WAAY,SAAO,EACnB,OAAQ,SAAO,EACf,OAAQ,SAAO,EACf,MAAO,SAAO,CAChB,CAAC,CACH,EDhiBA,IAAM,EAAkB,gBAAc,OAAO,CAC3C,cAAe,IAAM,CACnB,IAAQ,WAAY,WAAS,IAAI,SAAS,EAC1C,OAAO,EAAU,CAAE,YAAa,CAAQ,EAAI,CAAC,EAEjD,CAAC,EAEM,SAAS,EAAiB,CAAC,EAAuB,CACvD,OAAO,EAAgB,KAAsB,EAAU,QAAQ,EAAG,CAAE,MAAK,CAAC,EAG5E,eAAsB,EAAY,CAAC,EAAoB,CACrD,IAAM,EAAW,MAAM,EAAgB,KAAoB,EAAU,QAAQ,EAAG,CAAE,MAAK,CAAC,EAExF,GAAI,EAAS,MACX,MAAM,IAAI,eAAa,sBAAuB,CAAE,QAAS,EAAS,KAAM,CAAC,EAG3E,GAAI,CACF,IAAM,EAAiB,EAAoB,UAAU,CAAQ,EAE7D,GAAI,CAAC,EAAe,QAClB,MAAM,IAAI,eAAa,0BAA2B,EAAe,KAAK,EAGxE,OAAO,EAAe,KACtB,MAAO,EAAQ,CAEf,OAAO,GAIX,eAAsB,EAAgC,EACpD,QACA,UACA,aAAa,IAKZ,CACD,IAAM,EAAM,EAAU,kBAAkB,aAAiB,GAAS,EAC5D,EAAkB,MAAM,EAAgB,IAAqB,CAAG,EAChE,EAAW,MAAM,QAAQ,CAAe,EAAI,EAAkB,CAAC,EAErE,OAAO,EAAa,GAAa,CAAQ,EAAI,EAGxC,SAAS,CAAqB,EAAG,CACtC,IAAM,EAAM,EAAU,YAAY,EAClC,OAAO,EAAgB,IAAgC,CAAG,EAGrD,SAAS,EAAY,CAAC,EAAwB,CACnD,IAAM,EAAM,EAAU,oBAAoB,GAAU,EACpD,OAAO,EAAgB,IAAsB,CAAG,EAGlD,eAAsB,EAAQ,CAAC,EAAoB,CACjD,IAAM,EAAM,EAAU,QAAQ,EACxB,EAAW,MAAM,EAAgB,KAAoB,EAAK,CAAE,KAAM,CAAK,CAAC,EAE9E,GAAI,CACF,IAAM,EAAiB,EAAoB,UAAU,CAAQ,EAE7D,GAAI,CAAC,EAAe,QAClB,MAAM,IAAI,eAAa,0BAA2B,EAAe,KAAK,EAGxE,OAAO,EAAe,KACtB,MAAO,EAAO,CACd,MAAM,IAAI,eAAa,0BAA2B,CAAK,GAI3D,eAAsB,EAAU,EAAG,CACjC,IAAM,EAAM,EAAU,MAAM,EACtB,EAAW,MAAM,EAAgB,IAAiB,CAAG,EAE3D,GAAI,CACF,IAAM,EAAiB,EAAkB,UAAU,CAAQ,EAE3D,GAAI,CAAC,EAAe,QAClB,MAAM,IAAI,eAAa,0BAA2B,EAAe,KAAK,EAIxE,OADiB,MAAM,QAAQ,CAAc,EAAI,EAAiB,CAAC,CAAc,EAEjF,MAAO,EAAO,CACd,MAAM,IAAI,eAAa,0BAA2B,CAAK,GAI3D,eAAsB,EAA0B,CAAC,EAAkC,CACjF,IAAQ,sBAAuB,EAE/B,GAAI,CAAC,EACH,MAAM,IAAI,eAAa,iCAAiC,EAE1D,IAAM,EAAM,WAAS,IAAI,cAAc,EAAE,WAAW,WAAa,EAAU,2BAA2B,EAEhG,EAAW,MAAM,EAAgB,KAA6B,EAAK,CAAE,KAAM,CAAK,CAAC,EAEvF,GAAI,CACF,IAAM,EAAiB,EAA6B,UAAU,CAAQ,EAEtE,GAAI,CAAC,EAAe,QAClB,MAAM,IAAI,eAAa,0BAA2B,EAAe,KAAK,EAGxE,OAAO,EAAe,KACtB,MAAO,EAAO,CACd,MAAM,IAAI,eAAa,0BAA2B,CAAK,GAI3D,eAAsB,EAAqB,CAAC,EAAgC,CAC1E,IAAQ,sBAAuB,EAE/B,GAAI,CAAC,EACH,MAAM,IAAI,eAAa,iCAAiC,EAE1D,IAAM,EAAM,EAAU,eAAe,EAE/B,EAAW,MAAM,EAAgB,KAAuB,EAAK,CAAE,KAAM,CAAK,CAAC,EAEjF,GAAI,CACF,IAAM,EAAiB,EAAuB,UAAU,CAAQ,EAEhE,GAAI,CAAC,EAAe,QAClB,MAAM,IAAI,eAAa,0BAA2B,EAAe,KAAK,EAGxE,OAAO,EAAe,KACtB,MAAO,EAAO,CACd,MAAM,IAAI,eAAa,0BAA2B,CAAK,GAI3D,SAAS,CAAS,CAAC,EAAqB,CACtC,IAAQ,QAAO,SAAQ,aAAc,WAAS,IAAI,MAAM,EAExD,MAAO,GAAG,EAAQ,EAAY,IAAS,IAGzC,SAAS,EAAkB,CAAC,EAAqB,CAC/C,IAAO,EAAO,GAAU,EAAY,MAAM,GAAG,EAC7C,GAAI,CAAC,YAAU,SAAS,CAAiB,EAAG,MAAO,GACnD,IAAM,EAAc,EAAO,MAAM,GAAG,EAC9B,EAAU,EAAY,SAAW,EAAI,OAAY,EAAY,EAAY,OAAS,GAExF,OAAO,aAAW,CAAE,MAAO,EAAgB,QAAO,CAAC,GAAK,CAAC,CAAC,EAG5D,IAAM,GAAqB,IAAI,OAAO,qEAAsE,KAAK,EACjH,SAAS,EAAY,CAAC,EAAyB,CAC7C,OAAO,EAAO,OAAO,CAAC,IAAU,CAC9B,MAAO,CAAC,GAAmB,KAAK,EAAM,UAAU,GAAK,GAAmB,EAAM,UAAU,EACzF,iUE/LuE,IAA1E,8BAgBA,SAAS,CAAO,CAAC,EAAqB,CACpC,IAAQ,cAAe,WAAS,IAAI,MAAM,EACpC,EAAW,WAAS,IAAI,UAAU,EAExC,OAAQ,OACD,YAGH,MAAO,GAFa,EAAS,EAAa,gBAAc,KAAO,QAAM,0BAOrE,MAAO,GAFa,EAAS,EAAa,gBAAc,UAAY,QAAM,wBAOhF,SAAS,EAAqB,CAAC,EAAqB,CAClD,IAAM,EAAS,IAAS,YAAc,WAAa,WAEnD,MAAO,GAAG,EAAQ,CAAI,KAAK,IAGtB,SAAS,EAAkD,CAAC,EAAU,YAAkB,CAC7F,OAAO,gBAAc,IAAwB,GAAG,EAAQ,CAAI,aAAa,EAGpE,SAAS,EAAiB,CAAC,EAAqB,CACrD,OAAO,gBAAc,IAAI,GAAG,EAAQ,CAAI,SAAS,EAG5C,SAAS,EAAQ,CAAC,EAAqB,CAC5C,OAAO,gBAAc,IAAgB,GAAG,EAAQ,CAAI,SAAS,EAGxD,SAAS,EAAY,CAAC,EAAqB,CAChD,OAAO,gBAAc,IAAe,GAAG,EAAQ,CAAI,SAAS,EAGvD,SAAS,EAAmB,CAAC,EAAqB,CACvD,OAAO,gBAAc,IAA4B,GAAG,EAAQ,CAAI,qBAAqB,EAGvF,eAAsB,EAAqB,EACzC,OACA,QAI8B,CAC9B,GAAI,CAEF,OADe,MAAM,gBAAc,IAAwB,GAAG,GAAsB,CAAI,KAAK,GAAM,EAEnG,MAAO,EAAQ,CAEf,MAAO,CAAE,yBAA0B,GAAI,QAAS,CAAC,EAAG,oBAAqB,EAAG,OAAM,MAAO,GAAI,gBAAiB,EAAG,GAIrH,eAAsB,EAAoB,EAAG,OAAM,OAA6C,CAC9F,IAAM,EAAa,MAAM,GAAsB,CAAE,KAAM,EAAK,MAAK,CAAC,EAElE,GAAI,CAAC,EAAW,iBAAmB,EAAW,kBAAoB,IAAK,OAEvE,OAAO,aAAW,KAAK,CAAE,MAAO,EAAW,gBAAiB,iBAAkB,EAAK,CAAC,EAG/E,SAAS,EAAe,CAAC,EAAqB,CACnD,OAAO,gBAAc,IAAkB,GAAG,EAAQ,CAAI,YAAY,EAG7D,SAAS,EAAuB,EAAG,OAAM,eAA6D,CAC3G,OAAO,gBAAc,IAA0B,GAAG,EAAQ,CAAI,mBAAmB,GAAa,EAGzF,SAAS,EAAY,EAAG,OAAM,WAAqD,CACxF,OAAO,gBAAc,IAAuB,GAAG,EAAQ,CAAI,gBAAgB,GAAS,EAG/E,SAAS,EAAa,CAAC,EAAqB,CACjD,OAAO,gBAAc,IAAwB,GAAG,EAAQ,CAAI,eAAe,EAGtE,SAAS,EAAa,EAAG,OAAM,WAAqD,CACzF,OAAO,gBAAc,IAAwB,GAAG,EAAQ,CAAI,iBAAiB,GAAS,EAGjF,SAAS,EAAc,CAAC,EAAqB,CAClD,OAAO,gBAAc,IAAyB,GAAG,EAAQ,CAAI,gBAAgB,4FCzGN,IAAzE,8BAKA,IAAM,GAAU,8BAET,SAAS,EAAe,CAAC,EAAqB,CACnD,IAAM,EAAkB,GAAmB,CAAW,EAEtD,MAAO,GAAG,wBAA6B,QAGlC,SAAS,EAAoB,CAAC,EAAqB,CACxD,IAAQ,SAAU,aAAW,KAAK,CAAE,MAAO,CAAY,CAAC,EAClD,EAAkB,qBAAmB,CAAK,EAAE,YAAY,EAE9D,MAAO,GAAG,wBAA6B,QAGzC,IAAI,GAEJ,eAAsB,EAAe,CAAC,EAAqC,CAGzE,OAFA,KAAiB,MAAM,EAAsB,EAEtC,GAAa,KAAK,CAAC,IAAM,EAAE,OAAS,CAAY,GAAG,IAG5D,SAAS,EAAkB,CAAC,EAAqB,CAC/C,IAAQ,UAAW,aAAW,KAAK,CAAE,MAAO,CAAY,CAAC,EAEzD,GAAI,IAAW,QAAM,SAAU,MAAO,UAEtC,OAAO,EAAY,YAAY,ECvB1B,IAAM,GAAa,IAAK,KAAY,EAAU,mBAAkB,mBAAkB,UAAS",
|
|
13
|
-
"debugId": "
|
|
11
|
+
"mappings": "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",
|
|
12
|
+
"debugId": "08EBD58BD367E68964756E2164756E21",
|
|
14
13
|
"names": []
|
|
15
14
|
}
|
package/dist/api/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{b as v}from"../chunk-pfmeq01a.js";import{AssetValue as at,RequestClient as a,SwapKitNumber as At}from"@swapkit/helpers";import{Chain as R,getChainConfig as Et}from"@swapkit/types";function _(t=!0){return t?"https://midgard.ninerealms.com":"https://midgard.mayachain.info"}function Nt(t=!0){let i=_(t);return t?`${i}/v2/thorname`:`${i}/v2/mayaname`}function Lt(t){return function(r){let e=r?`?status=${r}`:"";return a.get(`${t}/v2/pools${e}`)}}function Tt(t){return function(r){return a.get(`${t}/v2/pool/${r}`)}}function Ht(t){return function(r,e){let o=e?`?period=${e}`:"";return a.get(`${t}/v2/pool/${r}/stats${o}`)}}function It(t){return function(r,e){let o=new URLSearchParams;if(e?.interval)o.append("interval",e.interval);if(e?.count)o.append("count",e.count.toString());if(e?.from)o.append("from",e.from.toString());if(e?.to)o.append("to",e.to.toString());let E=o.toString()?`?${o.toString()}`:"";return a.get(`${t}/v2/history/depths/${r}${E}`)}}function Pt(t){return function(){return a.get(`${t}/v2/network`)}}function ct(t){return function(){return a.get(`${t}/v2/health`)}}function Ct(t){return function(){return a.get(`${t}/v2/nodes`)}}function St(t){return function(r){return a.get(`${t}/v2/node/${r}`)}}function bt(t){return function(){return a.get(`${t}/v2/mimir/votes`)}}function Ot(t){return function(){return a.get(`${t}/v2/mimir`)}}function ft(t){return function(){return a.get(`${t}/v2/constants`)}}function dt(t){return function(){return a.get(`${t}/v2/stats`)}}function Dt(t){return function(r){let e=new URLSearchParams;if(r?.interval)e.append("interval",r.interval);if(r?.count)e.append("count",r.count.toString());if(r?.from)e.append("from",r.from.toString());if(r?.to)e.append("to",r.to.toString());let o=e.toString()?`?${e.toString()}`:"";return a.get(`${t}/v2/history/earnings${o}`)}}function Rt(t){return function(r,e){let o=new URLSearchParams;if(e?.interval)o.append("interval",e.interval);if(e?.count)o.append("count",e.count.toString());if(e?.from)o.append("from",e.from.toString());if(e?.to)o.append("to",e.to.toString());let E=o.toString()?`?${o.toString()}`:"",N=r?`/swaps/${r}`:"/swaps";return a.get(`${t}/v2/history${N}${E}`)}}function ht(t){return function(r){let e=new URLSearchParams;if(r?.interval)e.append("interval",r.interval);if(r?.count)e.append("count",r.count.toString());if(r?.from)e.append("from",r.from.toString());if(r?.to)e.append("to",r.to.toString());let o=e.toString()?`?${e.toString()}`:"";return a.get(`${t}/v2/history/tvl${o}`)}}function Bt(t){if(!t)return"";let i=new URLSearchParams,r=(e,o)=>{if(o!==void 0)i.append(e,typeof o==="number"?o.toString():o)};return r("address",t.address),r("txid",t.txid),r("asset",t.asset),r("type",t.type),r("affiliate",t.affiliate),r("limit",t.limit),r("offset",t.offset),i.toString()?`?${i.toString()}`:""}function Mt(t){return function(r){let e=Bt(r);return a.get(`${t}/v2/actions${e}`)}}function vt(t){return function(r){return a.get(`${t}/v2/member/${r}`)}}function Gt(t){return function(r){let e=r?`/${r}`:"";return a.get(`${t}/v2/members${e}`)}}function lt(t){return function(r,e){let o=e?`&asset=${e}`:"";return a.get(`${t}/v2/saver/${r}${o?`?${o.substring(1)}`:""}`)}}function $t(t){return function(r){return a.get(`${t}/v2/savers/${r}`)}}function Ut(t){return function(r,e){let o=new URLSearchParams;if(e?.interval)o.append("interval",e.interval);if(e?.count)o.append("count",e.count.toString());if(e?.from)o.append("from",e.from.toString());if(e?.to)o.append("to",e.to.toString());let E=o.toString()?`?${o.toString()}`:"",N=r?`/savers/${r}`:"/savers";return a.get(`${t}/v2/history${N}${E}`)}}function Vt(t){return function(r){return a.get(`${t}/v2/balance/${r}`)}}function _t(t){return async function(r){let e=(o)=>{if(o?.cause?.status===404)return;throw o};return await a.get(`${t}/lookup/${r}`,{onError:e,retry:{maxRetries:1}})}}function Yt(t){return async function(r){let e=(o)=>{if(o?.cause?.status===404)return[];throw o};return await a.get(`${t}/rlookup/${r}`,{onError:e,retry:{maxRetries:1}})}}function Ft(t){return async function(r){let e=(o)=>{if(o?.cause?.status===404)return[];throw o};return await a.get(`${t}/owner/${r}`,{onError:e,retry:{maxRetries:1}})}}function O({asset:t,value:i}){return at.from({asset:t,fromBaseDecimal:Et(R.THORChain).baseDecimal,value:i})}function Xt({liquidityPositionGetter:t,isThorchain:i}){return async function(e){let o=await t(e),E=i?"rune":"cacao";return o.pools.map((N)=>({[`${E}Pending`]:O({asset:"THOR.RUNE",value:N.runePending}),[`${E}RegisteredAddress`]:N.runeAddress,[`${E}Withdrawn`]:O({asset:"THOR.RUNE",value:N.runeWithdrawn}),[E]:O({asset:"THOR.RUNE",value:N.runeAdded}),asset:O({asset:N.pool,value:N.assetAdded}),assetPending:O({asset:N.pool,value:N.assetPending}),assetRegisteredAddress:N.assetAddress,assetWithdrawn:O({asset:N.pool,value:N.assetWithdrawn}),dateFirstAdded:N.dateFirstAdded,dateLastAdded:N.dateLastAdded,poolShare:new At(N.liquidityUnits).div(N.pool)}))}}function Y(t){let i=t===R.THORChain,r=_(i),e=Nt(i),o=vt(r);return{getActions:Mt(r),getBalance:Vt(r),getConstants:ft(r),getEarningsHistory:Dt(r),getHealth:ct(r),getLiquidityPosition:Xt({isThorchain:i,liquidityPositionGetter:o}),getLiquidityPositionRaw:o,getMembers:Gt(r),getMimir:Ot(r),getMimirVotes:bt(r),getNameDetails:_t(e),getNamesByAddress:Yt(e),getNamesByOwner:Ft(e),getNetworkInfo:Pt(r),getNode:St(r),getNodes:Ct(r),getPool:Tt(r),getPoolDepthHistory:It(r),getPoolStats:Ht(r),getPools:Lt(r),getSaverDetails:lt(r),getSavers:$t(r),getSaversHistory:Ut(r),getStats:dt(r),getSwapHistory:Rt(r),getTVLHistory:ht(r)}}var F=Y(R.THORChain),X=Y(R.Maya);var $={};v($,{getTrackerDetails:()=>Tn,getTokenListProviders:()=>l,getTokenList:()=>Pn,getSwapQuote:()=>Hn,getPrice:()=>cn,getNearDepositChannel:()=>bn,getGasRate:()=>Cn,getChainflipDepositChannel:()=>Sn,getChainBalance:()=>In});import{EVMChains as En,isGasAsset as Nn,RequestClient as Ln,SKConfig as G,SwapKitError as H}from"@swapkit/helpers";import{ErrorCode as pt,FeeTypeEnum as wt,ProviderName as b,WarningCodeEnum as yt}from"@swapkit/helpers";import{Chain as B,ChainId as h}from"@swapkit/types";import{array as A,boolean as S,coerce as w,number as g,object as u,optional as m,string as n,union as y,unknown as D,z as s}from"zod/v4";var k;((e)=>{e.CHEAPEST="CHEAPEST";e.FASTEST="FASTEST";e.RECOMMENDED="RECOMMENDED"})(k||={});var M;((o)=>{o.PSBT="PSBT";o.EVM="EVM";o.COSMOS="COSMOS";o.RADIX="RADIX"})(M||={});var x;((T)=>{T.native_send="native_send";T.token_transfer="token_transfer";T.native_contract_call="native_contract_call";T.token_contract_call="token_contract_call";T.approve="approve";T.deposit="deposit";T.thorname_action="thorname_action";T.lp_action="lp_action";T.swap="swap";T.streaming_swap="streaming_swap";T.stake="stake";T.claim="claim";T.lending="lending";T.unknown="unknown"})(x||={});var W;((E)=>{E.unknown="unknown";E.not_started="not_started";E.pending="pending";E.swapping="swapping";E.completed="completed"})(W||={});var Q;((L)=>{L.not_started="not_started";L.starting="starting";L.broadcasted="broadcasted";L.mempool="mempool";L.inbound="inbound";L.outbound="outbound";L.swapping="swapping";L.completed="completed";L.refunded="refunded";L.partially_refunded="partially_refunded";L.dropped="dropped";L.reverted="reverted";L.replaced="replaced";L.retries_exceeded="retries_exceeded";L.parsing_error="parsing_error"})(Q||={});var Kn=u({address:m(n()),chain:s.enum(B).optional(),chainId:s.enum(h),coingeckoId:m(n()),decimals:w.number(),extensions:m(s.looseObject({})),identifier:n(),logoURI:m(n()),name:m(n()),shortCode:m(n()),symbol:m(n()),ticker:n()}),qn=s.object({block:s.optional(s.number().describe("Block number. Required for Polkadot chain. e.g. `123456`")),chainId:s.optional(s.string().describe("ChainId for the hash. e.g. `thorchain-1`")),depositChannelId:s.optional(s.string().describe("Deposit channel ID, required for Chainflip if tx was broadcasted without wallet connection")),hash:s.optional(s.string().describe("Hash for the first transaction broadcasted by the end user. e.g. `88D1819378ECD09E5284C54937CDC1E99B52F253C007617A02DD1200710CE677`"))}).refine((t)=>t.hash&&t.chainId||t.depositChannelId,{message:"Either `hash` and `chainId` or `depositChannelId` must be provided"}),tr=s.object({forceUpdate:s.string().toLowerCase().transform((t)=>t==="true").pipe(s.boolean()).optional()}),nr=u({error:n(),message:n()}),f=u({address:m(n()),chain:s.enum(B),decimal:m(g()),isGasAsset:S(),isSynthetic:S(),symbol:n(),tax:m(u({buy:g(),sell:g()})),ticker:n()}),kt=u({id:n(),market_cap:g(),name:n(),price_change_24h_usd:g(),price_change_percentage_24h_usd:g(),sparkline_in_7d:A(g()),timestamp:n(),total_volume:g()}),z=A(u({cg:kt.optional(),identifier:n(),price_usd:g(),provider:n(),timestamp:g()}).partial()),rr=u({affiliate:m(n().describe("Affiliate thorname")),affiliateFee:m(g().describe("Affiliate fee in basis points").refine((t)=>t===Math.floor(t)&&t>=0,{message:"affiliateFee must be a positive integer",path:["affiliateFee"]})),allowSmartContractReceiver:m(S().describe("Allow smart contract as recipient")),allowSmartContractSender:m(S().describe("Allow smart contract as sender")),buyAsset:n().describe("Asset to buy"),cfBoost:m(S().describe("Set to true to enable CF boost to speed up Chainflip swaps. BTC only.")),destinationAddress:m(n().describe("Address to send asset to")),disableSecurityChecks:m(S().describe("Disable security checks")),includeTx:m(S().describe("Set to true to include an transaction object (EVM only)")),providers:m(A(n().describe("List of providers to use").refine((t)=>b[t]!==void 0,{message:"Invalid provider",path:["providers"]}))),referrer:m(n().describe("Referrer address (referral program)")),sellAmount:n().describe("Amount of asset to sell").refine((t)=>+t>0,{message:"sellAmount must be greater than 0",path:["sellAmount"]}),sellAsset:n().describe("Asset to sell"),slippage:m(g().describe("Slippage tolerance as a percentage. Default is 3%.")),sourceAddress:m(n().describe("Address to send asset from"))}).refine((t)=>t.sellAsset!==t.buyAsset,{message:"Must be different",path:["sellAsset","buyAsset"]}),er=u({metadata:S(),tokens:A(u({identifier:n()}))}),Z=u({destinationAddress:n()}),xt=Z.extend({affiliateFees:A(u({brokerAddress:n(),feeBps:g()})).optional(),brokerCommissionBps:g().optional(),buyAsset:u({asset:n(),chain:n()}),channelMetadata:u({cfParameters:n().optional(),gasBudget:n().optional(),message:n().optional()}).optional(),dcaParameters:u({chunkInterval:g().optional(),numberOfChunks:g().optional()}).optional(),maxBoostFeeBps:g().optional(),refundParameters:u({minPrice:n().optional(),refundAddress:n().optional(),retryDuration:g().optional()}).optional(),sellAsset:u({asset:n(),chain:n()})}),J=u({channelId:n(),depositAddress:n()}),Wt=Z.extend({affiliateFees:u({feeBps:g(),nearId:n()}).optional(),buyAsset:n(),sellAmount:n(),sellAsset:n(),slippage:w.number(),sourceAddress:n()}),p=u({amountIn:n(),amountInFormatted:n(),amountInUsd:n(),amountOut:n(),amountOutFormatted:n(),amountOutUsd:n(),deadline:n().optional(),minAmountIn:n(),minAmountOut:n(),timeEstimate:g().optional(),timeWhenInactive:n().optional()}),ir=p.extend({depositAddress:n(),quote:p,signature:n(),timestamp:n(),tx:D()}),j=u({buyAsset:n(),buyAssetAmount:n(),buyAssetAmountMaxSlippage:n(),deadline:n().optional(),depositAddress:n(),depositAmount:n(),depositAsset:n(),tx:D()}),Qt=u({evmCalldata:m(n()),logs:m(D()),memo:m(n()),spender:m(n())}),zt=u({currentLegIndex:m(g()),estimatedFinalisedAt:g(),estimatedTimeToComplete:g(),providerDetails:m(D()),updatedAt:g()}),Zt=u({affiliate:m(f),liquidity:m(f),network:m(f),protocol:m(f),tax:m(f)}),Jt=u({affiliate:m(n()),broadcastedAt:m(g()),explorerUrl:m(n()),fees:m(Zt),images:m(u({chain:m(n()),from:m(n()),provider:m(n()),to:m(n())})),provider:m(s.enum(b)),quoteId:m(n()),wallet:m(n())}),d=s.object({block:s.number(),chainId:s.enum(h),finalAddress:s.optional(s.string()),finalAsset:s.optional(f),finalisedAt:s.number(),fromAddress:s.string(),fromAmount:s.string(),fromAsset:s.string(),hash:s.string(),meta:s.optional(Jt),payload:s.optional(Qt),status:s.enum(W),toAddress:s.string(),toAmount:s.string(),toAsset:s.string(),trackingStatus:s.optional(s.enum(Q)),transient:s.optional(zt),type:s.enum(x)}),or=d.extend({legs:s.array(d)}),sr=d.extend({legs:A(d)}),mr=d.extend({legs:A(d)}),K=A(u({amount:n(),asset:n(),chain:n(),protocol:s.enum(b),type:s.enum(wt)})),q=s.object({inbound:s.optional(s.number().describe("Time to receive inbound asset in seconds")),outbound:s.optional(s.number().describe("Time to receive outbound asset in seconds")),swap:s.optional(s.number().describe("Time to swap assets in seconds")),total:s.number().describe("Total time in seconds")}),jt=u({data:n().describe("Data to send"),from:n().describe("Address of the sender"),to:n().describe("Address of the recipient"),value:n().describe("Value to send")}),Kt=A(y([n(),g(),A(n()),u({from:n(),value:n()}).describe("Parameters to pass to the contract method")])),ur=u({approvalSpender:m(n().describe("Address of the spender to approve")),approvalToken:m(n().describe("Address of the token to approve spending of")),contractAddress:n().describe("Address of the contract to interact with"),contractMethod:n().describe("Name of the method to call"),contractParamNames:A(n().describe("Names of the parameters to pass to the contract method")),contractParams:Kt}),qt=u({typeUrl:n(),value:D()}),tn=u({amount:A(u({amount:n(),denom:n()})),gas:n()}),nn=u({accountNumber:g(),chainId:s.enum(h),fee:tn,memo:n(),msgs:A(qt),sequence:g()}),rn=u({affiliate:n().describe("Affiliate address").optional(),affiliateFee:g().describe("Affiliate fee").optional(),buyAsset:n().describe("Asset to buy"),destinationAddress:n().describe("Destination address"),estimatedTime:q.optional(),provider:s.enum(b),sellAsset:n().describe("Asset to sell"),slipPercentage:g().describe("Slippage as a percentage"),sourceAddress:n().describe("Source address")}),gr=rn.omit({destinationAddress:!0,slipPercentage:!0,sourceAddress:!0}),en=u({asset:n().describe("Asset name"),image:n().describe("Asset image"),price:g().describe("Price in USD")}),on=xt,sn=u({assets:m(A(en)),maxStreamingQuantity:g().optional(),referrer:n().optional(),streamingInterval:g().optional(),tags:A(s.enum(k))}),mn=sn.extend({affiliate:m(n()),affiliateFee:m(n()),approvalAddress:m(n().describe("Approval address for swap")),chainflip:on.optional(),near:Wt.optional(),priceImpact:m(g().describe("Price impact")),referrer:m(n()),txType:m(s.enum(M))}),un=A(u({code:s.enum(yt),display:n(),tooltip:n().optional()})),gn=u({buyAmount:n().describe("Buy amount"),buyAmountMaxSlippage:n().describe("Buy amount max slippage"),buyAsset:n().describe("Asset to buy"),fees:m(K),provider:s.enum(b),sellAmount:n().describe("Sell amount"),sellAsset:n().describe("Asset to sell")}),an=u({buyAsset:n().describe("Asset to buy"),destinationAddress:n().describe("Destination address"),estimatedTime:m(q),expectedBuyAmount:n().describe("Expected Buy amount"),expectedBuyAmountMaxSlippage:n().describe("Expected Buy amount max slippage"),expiration:m(n().describe("Expiration")),fees:K,inboundAddress:m(n().describe("Inbound address")),legs:A(gn),memo:m(n().describe("Memo")),meta:mn,providers:A(s.enum(b)),sellAmount:n().describe("Sell amount"),sellAsset:n().describe("Asset to sell"),sourceAddress:n().describe("Source address"),targetAddress:m(n().describe("Target address")),totalSlippageBps:g().describe("Total slippage in bps"),tx:m(y([jt,nn,n()])),txType:m(s.enum(M)),warnings:un}),tt=u({error:m(n().describe("Error message")),providerErrors:m(A(u({errorCode:m(s.enum(pt)),message:m(n()),provider:s.enum(b).optional()}))),quoteId:n().describe("Quote ID"),routes:A(an)}),nt=s.object({chainId:s.enum(h),createdAt:s.date(),id:s.number(),unit:s.string(),value:s.string()}),An=s.array(nt),rt=s.union([nt,An]),ar=A(u({chain:s.enum(B),decimal:g(),identifier:n(),symbol:n(),ticker:n(),value:n()}));var c=Ln.extend({dynamicHeader:()=>{let{swapKit:t}=G.get("apiKeys");return t?{"x-api-key":t}:{}}});function Tn(t){return c.post(C("/track"),{json:t})}async function Hn(t){let i=await c.post(C("/quote"),{json:t});if(i.error)throw new H("api_v2_server_error",{message:i.error});try{let r=tt.safeParse(i);if(!r.success)throw new H("api_v2_invalid_response",r.error);return r.data}catch(r){return i}}async function In({chain:t,address:i,scamFilter:r=!0}){let e=C(`/balance?chain=${t}&address=${i}`),o=await c.get(e),E=Array.isArray(o)?o:[];return r?dn(E):E}function l(){let t=C("/providers");return c.get(t)}function Pn(t){let i=C(`/tokens?provider=${t}`);return c.get(i)}async function cn(t){let i=C("/price"),r=await c.post(i,{json:t});try{let e=z.safeParse(r);if(!e.success)throw new H("api_v2_invalid_response",e.error);return e.data}catch(e){throw new H("api_v2_invalid_response",e)}}async function Cn(){let t=C("/gas"),i=await c.get(t);try{let r=rt.safeParse(i);if(!r.success)throw new H("api_v2_invalid_response",r.error);return Array.isArray(r)?r:[r]}catch(r){throw new H("api_v2_invalid_response",r)}}async function Sn(t){let{destinationAddress:i}=t;if(!i)throw new H("chainflip_broker_invalid_params");let r=G.get("integrations").chainflip?.brokerUrl||C("/chainflip/broker/channel"),e=await c.post(r,{json:t});try{let o=J.safeParse(e);if(!o.success)throw new H("api_v2_invalid_response",o.error);return o.data}catch(o){throw new H("api_v2_invalid_response",o)}}async function bn(t){let{destinationAddress:i}=t;if(!i)throw new H("chainflip_broker_invalid_params");let r=C("/near/channel"),e=await c.post(r,{json:t});try{let o=j.safeParse(e);if(!o.success)throw new H("api_v2_invalid_response",o.error);return o.data}catch(o){throw new H("api_v2_invalid_response",o)}}function C(t){let{isDev:i,apiUrl:r,devApiUrl:e}=G.get("envs");return`${i?e:r}${t}`}function On(t){let[i,r]=t.split(".");if(!En.includes(i))return!0;let e=r.split("-"),o=e.length===1?void 0:e[e.length-1];return Nn({chain:i,symbol:r})||!!o}var fn=new RegExp(/(.)\1{6}|\.ORG|\.NET|\.FINANCE|\.COM|WWW|HTTP|\\\\|\/\/|[\s$%:[\]]/,"gmi");function dn(t){return t.filter((i)=>{return!fn.test(i.identifier)&&On(i.identifier)})}var U={};v(U,{getThorchainQueue:()=>Bn,getTcyStakers:()=>_n,getTcyStaker:()=>Vn,getTcyClaimers:()=>Fn,getTcyClaimer:()=>Yn,getTNSPreferredAsset:()=>ln,getTHORNodeTNSDetails:()=>st,getRunePoolProviderInfo:()=>Un,getRunePoolInfo:()=>$n,getNodes:()=>Mn,getMimirInfo:()=>vn,getLastBlock:()=>hn,getInboundAddresses:()=>Gn});import{AssetValue as Dn,Chain as et,RequestClient as I,SKConfig as it,StagenetChain as ot}from"@swapkit/helpers";function P(t){let{isStagenet:i}=it.get("envs"),r=it.get("nodeUrls");switch(t){case"mayachain":return`${r[i?ot.Maya:et.Maya]}/mayachain`;default:return`${r[i?ot.THORChain:et.THORChain]}/thorchain`}}function Rn(t){let i=t==="mayachain"?"mayaname":"thorname";return`${P(t)}/${i}`}function hn(t="thorchain"){return I.get(`${P(t)}/lastblock`)}function Bn(t){return I.get(`${P(t)}/queue`)}function Mn(t){return I.get(`${P(t)}/nodes`)}function vn(t){return I.get(`${P(t)}/mimir`)}function Gn(t){return I.get(`${P(t)}/inbound_addresses`)}async function st({type:t,name:i}){try{return await I.get(`${Rn(t)}/${i}`)}catch(r){return{affiliate_collector_rune:"",aliases:[],expire_block_height:0,name:i,owner:"",preferred_asset:""}}}async function ln({type:t,tns:i}){let r=await st({name:i,type:t});if(!r.preferred_asset||r.preferred_asset===".")return;return Dn.from({asset:r.preferred_asset,asyncTokenLookup:!0})}function $n(t){return I.get(`${P(t)}/runepool`)}function Un({type:t,thorAddress:i}){return I.get(`${P(t)}/rune_provider/${i}`)}function Vn({type:t,address:i}){return I.get(`${P(t)}/tcy_staker/${i}`)}function _n(t){return I.get(`${P(t)}/tcy_stakers`)}function Yn({type:t,address:i}){return I.get(`${P(t)}/tcy_claimer/${i}`)}function Fn(t){return I.get(`${P(t)}/tcy_claimers`)}var V={};v(V,{getProviderLogo:()=>kn,getLogoForAsset:()=>wn,getChainLogoForAsset:()=>yn});import{AssetValue as ut,Chain as Xn,getChainIdentifier as pn}from"@swapkit/helpers";var gt="https://static.thorswap.net";function wn(t){let i=xn(t);return`${gt}/token-list/images/${i}.png`}function yn(t){let{chain:i}=ut.from({asset:t}),r=pn(i).toLowerCase();return`${gt}/token-list/images/${r}.png`}var mt;async function kn(t){return mt||=await l(),mt.find((i)=>i.name===t)?.url}function xn(t){let{symbol:i}=ut.from({asset:t});if(i===Xn.Ethereum)return"eth.eth";return t.toLowerCase()}var Pr={...$,...V,mayachainMidgard:X,thorchainMidgard:F,thornode:U};export{x as TxnType,W as TxnStatus,sr as TransactionSchema,mr as TransactionDTOSchema,Q as TrackingStatus,qn as TrackingRequestSchema,tr as TrackingRequestQuerySchema,or as TrackerResponseSchema,Kn as TokenSchema,kt as TokenDetailsMetadataSchema,Pr as SwapKitApi,un as RouteQuoteWarningSchema,M as RouteQuoteTxType,mn as RouteQuoteMetadataV2Schema,sn as RouteQuoteMetadataSchema,en as RouteQuoteMetadataAssetSchema,gr as RouteLegWithoutAddressesSchema,rn as RouteLegSchema,tt as QuoteResponseSchema,rr as QuoteRequestSchema,k as PriorityLabel,z as PriceResponseSchema,er as PriceRequestSchema,j as NearSwapResponseSchema,ir as NearDepositChannelResultSchema,Wt as NearDepositChannelParamsSchema,nt as GasSchema,rt as GasResponseSchema,K as FeesSchema,q as EstimatedTimeSchema,jt as EVMTransactionSchema,ur as EVMTransactionDetailsSchema,Kt as EVMTransactionDetailsParamsSchema,J as DepositChannelResponseSchema,Z as DepositChannelParamsSchema,nn as CosmosTransactionSchema,on as ChainflipMetadataSchema,xt as BrokerDepositChannelParamsSchema,f as AssetValueSchema,nr as ApiV2ErrorSchema};
|
|
1
|
+
import{b as it}from"../chunk-pfmeq01a.js";import{AssetValue as st,RequestClient as g,SwapKitNumber as ut}from"@swapkit/helpers";import{Chain as l,getChainConfig as at}from"@swapkit/types";function _(t=!0){return t?"https://midgard.ninerealms.com":"https://midgard.mayachain.info"}function mt(t=!0){let o=_(t);return t?`${o}/v2/thorname`:`${o}/v2/mayaname`}function gt(t){return function(n){let i=n?`?status=${n}`:"";return g.get(`${t}/v2/pools${i}`)}}function At(t){return function(n){return g.get(`${t}/v2/pool/${n}`)}}function Tt(t){return function(n,i){let s=i?`?period=${i}`:"";return g.get(`${t}/v2/pool/${n}/stats${s}`)}}function Nt(t){return function(n,i){let s=new URLSearchParams;if(i?.interval)s.append("interval",i.interval);if(i?.count)s.append("count",i.count.toString());if(i?.from)s.append("from",i.from.toString());if(i?.to)s.append("to",i.to.toString());let H=s.toString()?`?${s.toString()}`:"";return g.get(`${t}/v2/history/depths/${n}${H}`)}}function Et(t){return function(){return g.get(`${t}/v2/network`)}}function Ht(t){return function(){return g.get(`${t}/v2/health`)}}function Ct(t){return function(){return g.get(`${t}/v2/nodes`)}}function dt(t){return function(n){return g.get(`${t}/v2/node/${n}`)}}function ct(t){return function(){return g.get(`${t}/v2/mimir/votes`)}}function It(t){return function(){return g.get(`${t}/v2/mimir`)}}function Lt(t){return function(){return g.get(`${t}/v2/constants`)}}function Ot(t){return function(){return g.get(`${t}/v2/stats`)}}function St(t){return function(n){let i=new URLSearchParams;if(n?.interval)i.append("interval",n.interval);if(n?.count)i.append("count",n.count.toString());if(n?.from)i.append("from",n.from.toString());if(n?.to)i.append("to",n.to.toString());let s=i.toString()?`?${i.toString()}`:"";return g.get(`${t}/v2/history/earnings${s}`)}}function ft(t){return function(n,i){let s=new URLSearchParams;if(i?.interval)s.append("interval",i.interval);if(i?.count)s.append("count",i.count.toString());if(i?.from)s.append("from",i.from.toString());if(i?.to)s.append("to",i.to.toString());let H=s.toString()?`?${s.toString()}`:"",T=n?`/swaps/${n}`:"/swaps";return g.get(`${t}/v2/history${T}${H}`)}}function bt(t){return function(n){let i=new URLSearchParams;if(n?.interval)i.append("interval",n.interval);if(n?.count)i.append("count",n.count.toString());if(n?.from)i.append("from",n.from.toString());if(n?.to)i.append("to",n.to.toString());let s=i.toString()?`?${i.toString()}`:"";return g.get(`${t}/v2/history/tvl${s}`)}}function Pt(t){if(!t)return"";let o=new URLSearchParams,n=(i,s)=>{if(s!==void 0)o.append(i,typeof s==="number"?s.toString():s)};return n("address",t.address),n("txid",t.txid),n("asset",t.asset),n("type",t.type),n("affiliate",t.affiliate),n("limit",t.limit),n("offset",t.offset),o.toString()?`?${o.toString()}`:""}function Rt(t){return function(n){let i=Pt(n);return g.get(`${t}/v2/actions${i}`)}}function Dt(t){return function(n){return g.get(`${t}/v2/member/${n}`)}}function lt(t){return function(n){let i=n?`/${n}`:"";return g.get(`${t}/v2/members${i}`)}}function ht(t){return function(n,i){let s=i?`&asset=${i}`:"";return g.get(`${t}/v2/saver/${n}${s?`?${s.substring(1)}`:""}`)}}function Bt(t){return function(n){return g.get(`${t}/v2/savers/${n}`)}}function yt(t){return function(n,i){let s=new URLSearchParams;if(i?.interval)s.append("interval",i.interval);if(i?.count)s.append("count",i.count.toString());if(i?.from)s.append("from",i.from.toString());if(i?.to)s.append("to",i.to.toString());let H=s.toString()?`?${s.toString()}`:"",T=n?`/savers/${n}`:"/savers";return g.get(`${t}/v2/history${T}${H}`)}}function Mt(t){return function(n){return g.get(`${t}/v2/balance/${n}`)}}function pt(t){return async function(n){let i=(s)=>{if(s?.cause?.status===404)return;throw s};return await g.get(`${t}/lookup/${n}`,{onError:i,retry:{maxRetries:1}})}}function Ut(t){return async function(n){let i=(s)=>{if(s?.cause?.status===404)return[];throw s};return await g.get(`${t}/rlookup/${n}`,{onError:i,retry:{maxRetries:1}})}}function $t(t){return async function(n){let i=(s)=>{if(s?.cause?.status===404)return[];throw s};return await g.get(`${t}/owner/${n}`,{onError:i,retry:{maxRetries:1}})}}function P({asset:t,value:o}){return st.from({asset:t,fromBaseDecimal:at(l.THORChain).baseDecimal,value:o})}function _t({liquidityPositionGetter:t,isThorchain:o}){return async function(i){let s=await t(i),H=o?"rune":"cacao";return s.pools.map((T)=>({[`${H}Pending`]:P({asset:"THOR.RUNE",value:T.runePending}),[`${H}RegisteredAddress`]:T.runeAddress,[`${H}Withdrawn`]:P({asset:"THOR.RUNE",value:T.runeWithdrawn}),[H]:P({asset:"THOR.RUNE",value:T.runeAdded}),asset:P({asset:T.pool,value:T.assetAdded}),assetPending:P({asset:T.pool,value:T.assetPending}),assetRegisteredAddress:T.assetAddress,assetWithdrawn:P({asset:T.pool,value:T.assetWithdrawn}),dateFirstAdded:T.dateFirstAdded,dateLastAdded:T.dateLastAdded,poolShare:new ut(T.liquidityUnits).div(T.pool)}))}}function G(t){let o=t===l.THORChain,n=_(o),i=mt(o),s=Dt(n);return{getActions:Rt(n),getBalance:Mt(n),getConstants:Lt(n),getEarningsHistory:St(n),getHealth:Ht(n),getLiquidityPosition:_t({isThorchain:o,liquidityPositionGetter:s}),getLiquidityPositionRaw:s,getMembers:lt(n),getMimir:It(n),getMimirVotes:ct(n),getNameDetails:pt(i),getNamesByAddress:Ut(i),getNamesByOwner:$t(i),getNetworkInfo:Et(n),getNode:dt(n),getNodes:Ct(n),getPool:At(n),getPoolDepthHistory:Nt(n),getPoolStats:Tt(n),getPools:gt(n),getSaverDetails:ht(n),getSavers:Bt(n),getSaversHistory:yt(n),getStats:Ot(n),getSwapHistory:ft(n),getTVLHistory:bt(n)}}var v=G(l.THORChain),Y=G(l.Maya);var U={};it(U,{getTrackerDetails:()=>Ne,getTokenListProviders:()=>Ce,getTokenList:()=>de,getSwapQuote:()=>Ee,getPrice:()=>ce,getNearDepositChannel:()=>Oe,getGasRate:()=>Ie,getChainflipDepositChannel:()=>Le,getChainBalance:()=>He});import{EVMChains as ge,isGasAsset as Ae,RequestClient as Te,SKConfig as p,SwapKitError as d}from"@swapkit/helpers";import{ErrorCode as Gt,FeeTypeEnum as vt,ProviderName as b,WarningCodeEnum as Yt}from"@swapkit/helpers";import{Chain as B,ChainId as h}from"@swapkit/types";import{array as A,boolean as L,coerce as X,number as m,object as a,optional as u,string as e,union as F,unknown as y,z as r}from"zod/v4";var w;((i)=>{i.CHEAPEST="CHEAPEST";i.FASTEST="FASTEST";i.RECOMMENDED="RECOMMENDED"})(w||={});var M;((s)=>{s.PSBT="PSBT";s.EVM="EVM";s.COSMOS="COSMOS";s.RADIX="RADIX"})(M||={});var x;((N)=>{N.approve="approve";N.claim="claim";N.deposit="deposit";N.donate="donate";N.lending="lending";N.lp_action="lp_action";N.native_contract_call="native_contract_call";N.native_send="native_send";N.stake="stake";N.streaming_swap="streaming_swap";N.swap="swap";N.thorname_action="thorname_action";N.token_contract_call="token_contract_call";N.token_transfer="token_transfer";N.unknown="unknown";N.unstake="unstake"})(x||={});var k;((C)=>{C.swap="swap";C.aggregation="aggregation";C.addLiquidity="addLiquidity";C.withdrawLiquidity="withdrawLiquidity";C.addSavers="addSavers";C.withdrawSavers="withdrawSavers";C.borrow="borrow";C.repay="repay";C.name="name";C.donate="donate";C.claim="claim";C.stake="stake";C.unstake="unstake"})(k||={});var W;((f)=>{f.unknown="unknown";f.not_started="not_started";f.pending="pending";f.swapping="swapping";f.completed="completed";f.refunded="refunded";f.failed="failed"})(W||={});var Q;((E)=>{E.not_started="not_started";E.starting="starting";E.broadcasted="broadcasted";E.mempool="mempool";E.inbound="inbound";E.outbound="outbound";E.swapping="swapping";E.completed="completed";E.refunded="refunded";E.partially_refunded="partially_refunded";E.dropped="dropped";E.reverted="reverted";E.replaced="replaced";E.retries_exceeded="retries_exceeded";E.parsing_error="parsing_error"})(Q||={});var Je=a({address:u(e()),chain:r.enum(B).optional(),chainId:r.enum(h),coingeckoId:u(e()),decimals:X.number(),extensions:u(r.looseObject({})),identifier:e(),logoURI:u(e()),name:u(e()),shortCode:u(e()),symbol:u(e()),ticker:e()}),je=r.object({block:r.optional(r.number().describe("Block number. Required for Polkadot chain. e.g. `123456`")),chainId:r.optional(r.string().describe("ChainId for the hash. e.g. `thorchain-1`")),depositChannelId:r.optional(r.string().describe("Deposit channel ID, required for Chainflip if tx was broadcasted without wallet connection")),hash:r.optional(r.string().describe("Hash for the first transaction broadcasted by the end user. e.g. `88D1819378ECD09E5284C54937CDC1E99B52F253C007617A02DD1200710CE677`"))}).refine((t)=>t.hash&&t.chainId||t.depositChannelId,{message:"Either `hash` and `chainId` or `depositChannelId` must be provided"}),Ke=r.object({forceUpdate:r.string().toLowerCase().transform((t)=>t==="true").pipe(r.boolean()).optional()}),qe=a({error:e(),message:e()}),R=a({address:u(e()),chain:r.enum(B),decimal:u(m()),isGasAsset:L(),isSynthetic:L(),symbol:e(),tax:u(a({buy:m(),sell:m()})),ticker:e()}),Vt=a({id:e(),market_cap:m(),name:e(),price_change_24h_usd:m(),price_change_percentage_24h_usd:m(),sparkline_in_7d:A(m()),timestamp:e(),total_volume:m()}),z=A(a({cg:Vt.optional(),identifier:e(),price_usd:m(),provider:e(),timestamp:m()}).partial()),tn=a({affiliate:u(e().describe("Affiliate thorname")),affiliateFee:u(m().describe("Affiliate fee in basis points").refine((t)=>t===Math.floor(t)&&t>=0,{message:"affiliateFee must be a positive integer",path:["affiliateFee"]})),allowSmartContractReceiver:u(L().describe("Allow smart contract as recipient")),allowSmartContractSender:u(L().describe("Allow smart contract as sender")),buyAsset:e().describe("Asset to buy"),cfBoost:u(L().describe("Set to true to enable CF boost to speed up Chainflip swaps. BTC only.")),destinationAddress:u(e().describe("Address to send asset to")),disableSecurityChecks:u(L().describe("Disable security checks")),includeTx:u(L().describe("Set to true to include an transaction object (EVM only)")),providers:u(A(e().describe("List of providers to use").refine((t)=>b[t]!==void 0,{message:"Invalid provider",path:["providers"]}))),referrer:u(e().describe("Referrer address (referral program)")),sellAmount:e().describe("Amount of asset to sell").refine((t)=>+t>0,{message:"sellAmount must be greater than 0",path:["sellAmount"]}),sellAsset:e().describe("Asset to sell"),slippage:u(m().describe("Slippage tolerance as a percentage. Default is 3%.")),sourceAddress:u(e().describe("Address to send asset from"))}).refine((t)=>t.sellAsset!==t.buyAsset,{message:"Must be different",path:["sellAsset","buyAsset"]}),en=a({metadata:L(),tokens:A(a({identifier:e()}))}),Z=a({destinationAddress:e()}),Xt=Z.extend({affiliateFees:A(a({brokerAddress:e(),feeBps:m()})).optional(),brokerCommissionBps:m().optional(),buyAsset:a({asset:e(),chain:e()}),channelMetadata:a({cfParameters:e().optional(),gasBudget:e().optional(),message:e().optional()}).optional(),dcaParameters:a({chunkInterval:m().optional(),numberOfChunks:m().optional()}).optional(),maxBoostFeeBps:m().optional(),refundParameters:a({minPrice:e().optional(),refundAddress:e().optional(),retryDuration:m().optional()}).optional(),sellAsset:a({asset:e(),chain:e()})}),J=a({channelId:e(),depositAddress:e()}),Ft=Z.extend({affiliateFees:a({feeBps:m(),nearId:e()}).optional(),buyAsset:e(),sellAmount:e(),sellAsset:e(),slippage:X.number(),sourceAddress:e()}),V=a({amountIn:e(),amountInFormatted:e(),amountInUsd:e(),amountOut:e(),amountOutFormatted:e(),amountOutUsd:e(),deadline:e().optional(),minAmountIn:e(),minAmountOut:e(),timeEstimate:m().optional(),timeWhenInactive:e().optional()}),nn=V.extend({depositAddress:e(),quote:V,signature:e(),timestamp:e(),tx:y()}),j=a({buyAsset:e(),buyAssetAmount:e(),buyAssetAmountMaxSlippage:e(),deadline:e().optional(),depositAddress:e(),depositAmount:e(),depositAsset:e(),tx:y()}),wt=a({evmCalldata:r.optional(r.string()),intentHash:r.optional(r.string()),logs:r.optional(r.unknown()),manifest:r.optional(r.unknown()),memo:r.optional(r.string()),spender:r.optional(r.string()),thorname:r.optional(r.string())}),xt=a({currentStage:e(),inboundConfirmation:m(),inboundObservation:m(),outboundDelay:m(),outboundObservation:m(),streamingSwap:m()}),kt=a({count:u(m()),interval:u(m()),quantity:u(m()),subSwapsMap:u(A(m()))}),Wt=r.object({currentLegIndex:r.optional(r.number()),estimatedTimeToComplete:r.number(),estimates:r.optional(xt),providerDetails:r.optional(r.object({streamingDetails:r.optional(kt)}))}),Qt=a({affiliate:u(R),liquidity:u(R),network:u(R),protocol:u(R),tax:u(R)}),zt=a({affiliate:e(),bps:e(),isReferrer:L()}),Zt=a({affiliate:u(e()),affiliateFees:u(A(zt)),broadcastedAt:u(m()),explorerUrl:u(e()),fees:u(Qt),images:u(a({chain:u(e()),from:u(e()),provider:u(e()),to:u(e())})),provider:u(r.enum(b)),providerAction:r.optional(r.enum(k)),quoteId:u(e()),wallet:u(e())}),D=r.object({block:r.number(),chainId:r.enum(h),finalAddress:r.optional(r.string()),finalAsset:r.optional(R),finalisedAt:r.number(),fromAddress:r.string(),fromAmount:r.string(),fromAsset:r.string(),hash:r.string(),meta:r.optional(Zt),payload:r.optional(wt),status:r.enum(W),toAddress:r.string(),toAmount:r.string(),toAsset:r.string(),trackingStatus:r.optional(r.enum(Q)),transient:r.optional(Wt),type:r.enum(x)}),K=D.extend({legs:r.array(D)}),rn=D.extend({legs:A(D)}),on=D.extend({legs:A(D)}),q=A(a({amount:e(),asset:e(),chain:e(),protocol:r.enum(b),type:r.enum(vt)})),tt=r.object({inbound:r.optional(r.number().describe("Time to receive inbound asset in seconds")),outbound:r.optional(r.number().describe("Time to receive outbound asset in seconds")),swap:r.optional(r.number().describe("Time to swap assets in seconds")),total:r.number().describe("Total time in seconds")}),Jt=a({data:e().describe("Data to send"),from:e().describe("Address of the sender"),to:e().describe("Address of the recipient"),value:e().describe("Value to send")}),jt=A(F([e(),m(),A(e()),a({from:e(),value:e()}).describe("Parameters to pass to the contract method")])),sn=a({approvalSpender:u(e().describe("Address of the spender to approve")),approvalToken:u(e().describe("Address of the token to approve spending of")),contractAddress:e().describe("Address of the contract to interact with"),contractMethod:e().describe("Name of the method to call"),contractParamNames:A(e().describe("Names of the parameters to pass to the contract method")),contractParams:jt}),Kt=a({typeUrl:e(),value:y()}),qt=a({amount:A(a({amount:e(),denom:e()})),gas:e()}),te=a({accountNumber:m(),chainId:r.enum(h),fee:qt,memo:e(),msgs:A(Kt),sequence:m()}),ee=a({affiliate:e().describe("Affiliate address").optional(),affiliateFee:m().describe("Affiliate fee").optional(),buyAsset:e().describe("Asset to buy"),destinationAddress:e().describe("Destination address"),estimatedTime:tt.optional(),provider:r.enum(b),sellAsset:e().describe("Asset to sell"),slipPercentage:m().describe("Slippage as a percentage"),sourceAddress:e().describe("Source address")}),un=ee.omit({destinationAddress:!0,slipPercentage:!0,sourceAddress:!0}),ne=a({asset:e().describe("Asset name"),image:e().describe("Asset image"),price:m().describe("Price in USD")}),re=Xt,ie=a({assets:u(A(ne)),maxStreamingQuantity:m().optional(),referrer:e().optional(),streamingInterval:m().optional(),tags:A(r.enum(w))}),oe=ie.extend({affiliate:u(e()),affiliateFee:u(e()),approvalAddress:u(e().describe("Approval address for swap")),chainflip:re.optional(),near:Ft.optional(),priceImpact:u(m().describe("Price impact")),referrer:u(e()),txType:u(r.enum(M))}),se=A(a({code:r.enum(Yt),display:e(),tooltip:e().optional()})),ue=a({buyAmount:e().describe("Buy amount"),buyAmountMaxSlippage:e().describe("Buy amount max slippage"),buyAsset:e().describe("Asset to buy"),fees:u(q),provider:r.enum(b),sellAmount:e().describe("Sell amount"),sellAsset:e().describe("Asset to sell")}),ae=a({buyAsset:e().describe("Asset to buy"),destinationAddress:e().describe("Destination address"),estimatedTime:u(tt),expectedBuyAmount:e().describe("Expected Buy amount"),expectedBuyAmountMaxSlippage:e().describe("Expected Buy amount max slippage"),expiration:u(e().describe("Expiration")),fees:q,inboundAddress:u(e().describe("Inbound address")),legs:A(ue),memo:u(e().describe("Memo")),meta:oe,providers:A(r.enum(b)),sellAmount:e().describe("Sell amount"),sellAsset:e().describe("Asset to sell"),sourceAddress:e().describe("Source address"),targetAddress:u(e().describe("Target address")),totalSlippageBps:m().describe("Total slippage in bps"),tx:u(F([Jt,te,e()])),txType:u(r.enum(M)),warnings:se}),et=a({error:u(e().describe("Error message")),providerErrors:u(A(a({errorCode:u(r.enum(Gt)),message:u(e()),provider:r.enum(b).optional()}))),quoteId:e().describe("Quote ID"),routes:A(ae)}),nt=r.object({chainId:r.enum(h),createdAt:r.date(),id:r.number(),unit:r.string(),value:r.string()}),me=r.array(nt),rt=r.union([nt,me]),an=A(a({chain:r.enum(B),decimal:m(),identifier:e(),symbol:e(),ticker:e(),value:e()}));var O=Te.extend({dynamicHeader:()=>{let{swapKit:t}=p.get("apiKeys");return t?{"x-api-key":t}:{}}});async function Ne(t){let o=await O.post(S("/track"),{json:t});try{let n=K.safeParse(o);if(!n.success)throw new d("api_v2_invalid_response",n.error);return n.data}catch(n){return o}}async function Ee(t){let o=await O.post(S("/quote"),{json:t});if(o.error)throw new d("api_v2_server_error",{message:o.error});try{let n=et.safeParse(o);if(!n.success)throw new d("api_v2_invalid_response",n.error);return n.data}catch{return o}}async function He({chain:t,address:o,scamFilter:n=!0}){let i=S(`/balance?chain=${t}&address=${o}`),s=await O.get(i),H=Array.isArray(s)?s:[];return n?be(H):H}function Ce(){let t=S("/providers");return O.get(t)}function de(t){let o=S(`/tokens?provider=${t}`);return O.get(o)}async function ce(t){let o=S("/price"),n=await O.post(o,{json:t});try{let i=z.safeParse(n);if(!i.success)throw new d("api_v2_invalid_response",i.error);return i.data}catch(i){throw new d("api_v2_invalid_response",i)}}async function Ie(){let t=S("/gas"),o=await O.get(t);try{let n=rt.safeParse(o);if(!n.success)throw new d("api_v2_invalid_response",n.error);return Array.isArray(n)?n:[n]}catch(n){throw new d("api_v2_invalid_response",n)}}async function Le(t){let{destinationAddress:o}=t;if(!o)throw new d("chainflip_broker_invalid_params");let n=p.get("integrations").chainflip?.brokerUrl||S("/chainflip/broker/channel"),i=await O.post(n,{json:t});try{let s=J.safeParse(i);if(!s.success)throw new d("api_v2_invalid_response",s.error);return s.data}catch(s){throw new d("api_v2_invalid_response",s)}}async function Oe(t){let{destinationAddress:o}=t;if(!o)throw new d("chainflip_broker_invalid_params");let n=S("/near/channel"),i=await O.post(n,{json:t});try{let s=j.safeParse(i);if(!s.success)throw new d("api_v2_invalid_response",s.error);return s.data}catch(s){throw new d("api_v2_invalid_response",s)}}function S(t){let{isDev:o,apiUrl:n,devApiUrl:i}=p.get("envs");return`${o?i:n}${t}`}function Se(t){let[o,n]=t.split(".");if(!ge.includes(o))return!0;let i=n.split("-"),s=i.length===1?void 0:i[i.length-1];return Ae({chain:o,symbol:n})||!!s}var fe=new RegExp(/(.)\1{6}|\.ORG|\.NET|\.FINANCE|\.COM|WWW|HTTP|\\\\|\/\/|[\s$%:[\]]/,"gmi");function be(t){return t.filter((o)=>{return!fe.test(o.identifier)&&Se(o.identifier)})}var $={};it($,{getThorchainQueue:()=>pe,getTcyStakers:()=>Xe,getTcyStaker:()=>Ve,getTcyClaimers:()=>we,getTcyClaimer:()=>Fe,getTNSPreferredAsset:()=>Ge,getTHORNodeTNSDetails:()=>ot,getRunePoolProviderInfo:()=>Ye,getRunePoolInfo:()=>ve,getNodes:()=>Ue,getMimirInfo:()=>$e,getLastBlock:()=>Me,getInboundAddresses:()=>_e});import{AssetValue as Pe,RequestClient as c,SKConfig as Re}from"@swapkit/helpers";import{MAYAConfig as De,StagenetMAYAConfig as le,StagenetTHORConfig as he,THORConfig as Be}from"@swapkit/types";function I(t){let{isStagenet:o}=Re.get("envs");switch(t){case"mayachain":return`${o?le.nodeUrl:De.nodeUrl}/mayachain`;default:return`${o?he.nodeUrl:Be.nodeUrl}/thorchain`}}function ye(t){let o=t==="mayachain"?"mayaname":"thorname";return`${I(t)}/${o}`}function Me(t="thorchain"){return c.get(`${I(t)}/lastblock`)}function pe(t){return c.get(`${I(t)}/queue`)}function Ue(t){return c.get(`${I(t)}/nodes`)}function $e(t){return c.get(`${I(t)}/mimir`)}function _e(t){return c.get(`${I(t)}/inbound_addresses`)}async function ot({type:t,name:o}){try{return await c.get(`${ye(t)}/${o}`)}catch{return{affiliate_collector_rune:"",aliases:[],expire_block_height:0,name:o,owner:"",preferred_asset:""}}}async function Ge({type:t,tns:o}){let n=await ot({name:o,type:t});if(!n.preferred_asset||n.preferred_asset===".")return;return Pe.from({asset:n.preferred_asset,asyncTokenLookup:!0})}function ve(t){return c.get(`${I(t)}/runepool`)}function Ye({type:t,thorAddress:o}){return c.get(`${I(t)}/rune_provider/${o}`)}function Ve({type:t,address:o}){return c.get(`${I(t)}/tcy_staker/${o}`)}function Xe(t){return c.get(`${I(t)}/tcy_stakers`)}function Fe({type:t,address:o}){return c.get(`${I(t)}/tcy_claimer/${o}`)}function we(t){return c.get(`${I(t)}/tcy_claimers`)}var Hn={...U,mayachainMidgard:Y,thorchainMidgard:v,thornode:$};export{x as TxnType,W as TxnStatus,rn as TransactionSchema,on as TransactionDTOSchema,Q as TrackingStatus,je as TrackingRequestSchema,Ke as TrackingRequestQuerySchema,K as TrackerResponseSchema,Je as TokenSchema,Vt as TokenDetailsMetadataSchema,Hn as SwapKitApi,se as RouteQuoteWarningSchema,M as RouteQuoteTxType,oe as RouteQuoteMetadataV2Schema,ie as RouteQuoteMetadataSchema,ne as RouteQuoteMetadataAssetSchema,un as RouteLegWithoutAddressesSchema,ee as RouteLegSchema,et as QuoteResponseSchema,tn as QuoteRequestSchema,k as ProviderAction,w as PriorityLabel,z as PriceResponseSchema,en as PriceRequestSchema,j as NearSwapResponseSchema,nn as NearDepositChannelResultSchema,Ft as NearDepositChannelParamsSchema,nt as GasSchema,rt as GasResponseSchema,q as FeesSchema,tt as EstimatedTimeSchema,Jt as EVMTransactionSchema,sn as EVMTransactionDetailsSchema,jt as EVMTransactionDetailsParamsSchema,J as DepositChannelResponseSchema,Z as DepositChannelParamsSchema,te as CosmosTransactionSchema,re as ChainflipMetadataSchema,Xt as BrokerDepositChannelParamsSchema,R as AssetValueSchema,qe as ApiV2ErrorSchema};
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=D64E0DC02AC647BA64756E2164756E21
|
|
4
4
|
//# sourceMappingURL=index.js.map
|