@swapkit/helpers 4.0.4 → 4.0.5
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 +5 -6
- package/dist/api/index.js +2 -2
- package/dist/api/index.js.map +5 -6
- package/dist/types/api/index.d.ts +2 -5
- package/dist/types/api/index.d.ts.map +1 -1
- package/dist/types/api/midgard/endpoints.d.ts +2 -2
- package/dist/types/api/midgard/endpoints.d.ts.map +1 -1
- package/package.json +3 -3
- package/dist/types/api/microgard/endpoints.d.ts +0 -25
- package/dist/types/api/microgard/endpoints.d.ts.map +0 -1
- package/dist/types/api/microgard/types.d.ts +0 -56
- package/dist/types/api/microgard/types.d.ts.map +0 -1
package/dist/api/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var iE={};F(iE,{TxnType:()=>f,TxnStatus:()=>$,TransactionSchema:()=>nE,TransactionDTOSchema:()=>NE,TrackingStatus:()=>x,TrackingRequestSchema:()=>rA,TrackingRequestQuerySchema:()=>oA,TrackerResponseSchema:()=>EE,TokenSchema:()=>dA,TokenDetailsMetadataSchema:()=>l,SwapKitApi:()=>cE,RouteQuoteWarningSchema:()=>TA,RouteQuoteTxType:()=>g,RouteQuoteMetadataV2Schema:()=>OA,RouteQuoteMetadataSchema:()=>IA,RouteQuoteMetadataAssetSchema:()=>NA,RouteLegWithoutAddressesSchema:()=>TE,RouteLegSchema:()=>nA,QuoteResponseSchema:()=>k,QuoteRequestSchema:()=>qA,PriorityLabel:()=>W,PriceResponseSchema:()=>z,PriceRequestSchema:()=>pA,NearSwapResponseSchema:()=>J,NearDepositChannelResultSchema:()=>lA,NearDepositChannelParamsSchema:()=>a,GasSchema:()=>Q,GasResponseSchema:()=>w,FeesSchema:()=>j,EstimatedTimeSchema:()=>h,EVMTransactionSchema:()=>e,EVMTransactionDetailsSchema:()=>LE,EVMTransactionDetailsParamsSchema:()=>AA,DepositChannelResponseSchema:()=>v,DepositChannelParamsSchema:()=>Z,CosmosTransactionSchema:()=>EA,ChainflipMetadataSchema:()=>LA,BrokerDepositChannelParamsSchema:()=>s,AssetValueSchema:()=>M,ApiV2ErrorSchema:()=>yA});module.exports=KE(iE);var u={};F(u,{getTNSChainAddress:()=>SA,getTHORNamesByOwner:()=>CA,getTHORNamesByAddress:()=>bA,getTHORNameDetails:()=>t,getTHORChainPools:()=>PA,getLiquidityPositionsRaw:()=>d,getLiquidityPositions:()=>GA});var D=require("@swapkit/helpers"),B="https://mu.thorswap.net";function t(E){return D.RequestClient.get(`${B}/thorname/lookup/${E}`)}function CA(E){return D.RequestClient.get(`${B}/thorname/owner/${E}`)}function bA(E){return D.RequestClient.get(`${B}/thorname/address/${E}`)}function PA(E){return D.RequestClient.get(`${B}/pools`,{searchParams:{period:E}})}function d(E){return D.RequestClient.get(`${B}/fullmember?address=${E.join(",")}`)}async function SA({chain:E,tns:L}){return(await t(L))?.entries?.find((N)=>N.chain.toLowerCase()===E.toLowerCase())?.address}async function GA(E){return(await d(E)).map((n)=>({asset:D.AssetValue.from({asset:n.pool,fromBaseDecimal:D.BaseDecimal.THOR,value:n.assetAdded}),assetPending:D.AssetValue.from({asset:n.pool,fromBaseDecimal:D.BaseDecimal.THOR,value:n.assetPending}),assetRegisteredAddress:n.assetAddress,assetWithdrawn:D.AssetValue.from({asset:n.pool,fromBaseDecimal:D.BaseDecimal.THOR,value:n.assetWithdrawn}),dateFirstAdded:n.dateFirstAdded,dateLastAdded:n.dateLastAdded,poolShare:new D.SwapKitNumber(n.sharedUnits).div(n.poolUnits),rune:D.AssetValue.from({asset:"THOR.RUNE",fromBaseDecimal:D.BaseDecimal.THOR,value:n.runeAdded}),runePending:D.AssetValue.from({asset:"THOR.RUNE",fromBaseDecimal:D.BaseDecimal.THOR,value:n.runePending}),runeRegisteredAddress:n.runeAddress,runeWithdrawn:D.AssetValue.from({asset:"THOR.RUNE",fromBaseDecimal:D.BaseDecimal.THOR,value:n.runeWithdrawn})}))}var O=require("@swapkit/helpers");function r(E=!0){return E?"https://midgard.ninerealms.com":"https://midgard.mayachain.info"}function _A(E=!0){let L=r(E);return E?`${L}/v2/thorname`:`${L}/v2/mayaname`}function YA(E){return function L(n){let N=n?`?status=${n}`:"";return O.RequestClient.get(`${E}/v2/pools${N}`)}}function MA(E){return function L(n){return O.RequestClient.get(`${E}/v2/pool/${n}`)}}function RA(E){return function L(n,N){let I=N?`?period=${N}`:"";return O.RequestClient.get(`${E}/v2/pool/${n}/stats${I}`)}}function VA(E){return function L(n,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 C=I.toString()?`?${I.toString()}`:"";return O.RequestClient.get(`${E}/v2/history/depths/${n}${C}`)}}function XA(E){return function L(){return O.RequestClient.get(`${E}/v2/network`)}}function FA(E){return function L(){return O.RequestClient.get(`${E}/v2/health`)}}function BA(E){return function L(){return O.RequestClient.get(`${E}/v2/nodes`)}}function gA(E){return function L(n){return O.RequestClient.get(`${E}/v2/node/${n}`)}}function uA(E){return function L(){return O.RequestClient.get(`${E}/v2/mimir/votes`)}}function WA(E){return function L(){return O.RequestClient.get(`${E}/v2/mimir`)}}function fA(E){return function L(){return O.RequestClient.get(`${E}/v2/constants`)}}function $A(E){return function L(){return O.RequestClient.get(`${E}/v2/stats`)}}function xA(E){return function L(n){let N=new URLSearchParams;if(n?.interval)N.append("interval",n.interval);if(n?.count)N.append("count",n.count.toString());if(n?.from)N.append("from",n.from.toString());if(n?.to)N.append("to",n.to.toString());let I=N.toString()?`?${N.toString()}`:"";return O.RequestClient.get(`${E}/v2/history/earnings${I}`)}}function zA(E){return function L(n,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 C=I.toString()?`?${I.toString()}`:"",b=n?`/swaps/${n}`:"/swaps";return O.RequestClient.get(`${E}/v2/history${b}${C}`)}}function ZA(E){return function L(n){let N=new URLSearchParams;if(n?.interval)N.append("interval",n.interval);if(n?.count)N.append("count",n.count.toString());if(n?.from)N.append("from",n.from.toString());if(n?.to)N.append("to",n.to.toString());let I=N.toString()?`?${N.toString()}`:"";return O.RequestClient.get(`${E}/v2/history/tvl${I}`)}}function vA(E){if(!E)return"";let L=new URLSearchParams,n=(N,I)=>{if(I!==void 0)L.append(N,typeof I==="number"?I.toString():I)};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),L.toString()?`?${L.toString()}`:""}function JA(E){return function L(n){let N=vA(n);return O.RequestClient.get(`${E}/v2/actions${N}`)}}function jA(E){return function L(n){return O.RequestClient.get(`${E}/v2/member/${n}`)}}function hA(E){return function L(n){let N=n?`/${n}`:"";return O.RequestClient.get(`${E}/v2/members${N}`)}}function kA(E){return function L(n,N){let I=N?`&asset=${N}`:"";return O.RequestClient.get(`${E}/v2/saver/${n}${I?`?${I.substring(1)}`:""}`)}}function QA(E){return function L(n){return O.RequestClient.get(`${E}/v2/savers/${n}`)}}function wA(E){return function L(n,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 C=I.toString()?`?${I.toString()}`:"",b=n?`/savers/${n}`:"/savers";return O.RequestClient.get(`${E}/v2/history${b}${C}`)}}function KA(E){return function L(n){return O.RequestClient.get(`${E}/v2/balance/${n}`)}}function cA(E){return async function L(n){try{return await O.RequestClient.get(`${E}/lookup/${n}`)}catch(N){if(N?.info?.status===404)return;throw N}}}function iA(E){return async function L(n){try{return await O.RequestClient.get(`${E}/rlookup/${n}`)}catch(N){if(N?.info?.status===404)return[];throw N}}}function UA(E){return async function L(n){try{return await O.RequestClient.get(`${E}/owner/${n}`)}catch(N){if(N?.info?.status===404)return[];throw N}}}function V({asset:E,value:L}){return O.AssetValue.from({asset:E,fromBaseDecimal:O.BaseDecimal.THOR,value:L})}function tA({liquidityPositionGetter:E,isThorchain:L}){return async function n(N){let I=await E(N),C=L?"rune":"cacao";return I.pools.map((b)=>({[`${C}Pending`]:V({asset:"THOR.RUNE",value:b.runePending}),[`${C}RegisteredAddress`]:b.runeAddress,[`${C}Withdrawn`]:V({asset:"THOR.RUNE",value:b.runeWithdrawn}),[C]:V({asset:"THOR.RUNE",value:b.runeAdded}),asset:V({asset:b.pool,value:b.assetAdded}),assetPending:V({asset:b.pool,value:b.assetPending}),assetRegisteredAddress:b.assetAddress,assetWithdrawn:V({asset:b.pool,value:b.assetWithdrawn}),dateFirstAdded:b.dateFirstAdded,dateLastAdded:b.dateLastAdded,poolShare:new O.SwapKitNumber(b.liquidityUnits).div(b.pool)}))}}function o(E){let L=E===O.Chain.THORChain,n=r(L),N=_A(L),I=jA(n);return{getActions:JA(n),getBalance:KA(n),getConstants:fA(n),getEarningsHistory:xA(n),getHealth:FA(n),getLiquidityPosition:tA({isThorchain:L,liquidityPositionGetter:I}),getLiquidityPositionRaw:I,getMembers:hA(n),getMimir:WA(n),getMimirVotes:uA(n),getNameDetails:cA(N),getNamesByAddress:iA(N),getNamesByOwner:UA(N),getNetworkInfo:XA(n),getNode:gA(n),getNodes:BA(n),getPool:MA(n),getPoolDepthHistory:VA(n),getPoolStats:RA(n),getPools:YA(n),getSaverDetails:kA(n),getSavers:QA(n),getSaversHistory:wA(n),getStats:$A(n),getSwapHistory:zA(n),getTVLHistory:ZA(n)}}var y=o(O.Chain.THORChain),q=o(O.Chain.Maya);var c={};F(c,{getTrackerDetails:()=>CE,getTokenListProviders:()=>K,getTokenList:()=>SE,getSwapQuote:()=>bE,getPrice:()=>GE,getNearDepositChannel:()=>ME,getGasRate:()=>_E,getChainflipDepositChannel:()=>YE,getChainBalance:()=>PE});var m=require("@swapkit/helpers");var H=require("@swapkit/helpers"),A=require("zod/v4"),W;((N)=>{N.CHEAPEST="CHEAPEST";N.FASTEST="FASTEST";N.RECOMMENDED="RECOMMENDED"})(W||={});var g;((I)=>{I.PSBT="PSBT";I.EVM="EVM";I.COSMOS="COSMOS";I.RADIX="RADIX"})(g||={});var f;((S)=>{S.native_send="native_send";S.token_transfer="token_transfer";S.native_contract_call="native_contract_call";S.token_contract_call="token_contract_call";S.approve="approve";S.deposit="deposit";S.thorname_action="thorname_action";S.lp_action="lp_action";S.swap="swap";S.streaming_swap="streaming_swap";S.stake="stake";S.claim="claim";S.lending="lending";S.unknown="unknown"})(f||={});var $;((C)=>{C.unknown="unknown";C.not_started="not_started";C.pending="pending";C.swapping="swapping";C.completed="completed"})($||={});var x;((P)=>{P.not_started="not_started";P.starting="starting";P.broadcasted="broadcasted";P.mempool="mempool";P.inbound="inbound";P.outbound="outbound";P.swapping="swapping";P.completed="completed";P.refunded="refunded";P.partially_refunded="partially_refunded";P.dropped="dropped";P.reverted="reverted";P.replaced="replaced";P.retries_exceeded="retries_exceeded";P.parsing_error="parsing_error"})(x||={});var dA=A.object({address:A.optional(A.string()),chain:A.z.enum(H.Chain).optional(),chainId:A.z.enum(H.ChainId),coingeckoId:A.optional(A.string()),decimals:A.coerce.number(),extensions:A.optional(A.z.looseObject({})),identifier:A.string(),logoURI:A.optional(A.string()),name:A.optional(A.string()),shortCode:A.optional(A.string()),symbol:A.optional(A.string()),ticker:A.string()}),rA=A.z.object({block:A.z.optional(A.z.number().describe("Block number. Required for Polkadot chain. e.g. `123456`")),chainId:A.z.optional(A.z.string().describe("ChainId for the hash. e.g. `thorchain-1`")),depositChannelId:A.z.optional(A.z.string().describe("Deposit channel ID, required for Chainflip if tx was broadcasted without wallet connection")),hash:A.z.optional(A.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"}),oA=A.z.object({forceUpdate:A.z.string().toLowerCase().transform((E)=>E==="true").pipe(A.z.boolean()).optional()}),yA=A.object({error:A.string(),message:A.string()}),M=A.object({address:A.optional(A.string()),chain:A.z.enum(H.Chain),decimal:A.optional(A.number()),isGasAsset:A.boolean(),isSynthetic:A.boolean(),symbol:A.string(),tax:A.optional(A.object({buy:A.number(),sell:A.number()})),ticker:A.string()}),l=A.object({id:A.string(),market_cap:A.number(),name:A.string(),price_change_24h_usd:A.number(),price_change_percentage_24h_usd:A.number(),sparkline_in_7d:A.array(A.number()),timestamp:A.string(),total_volume:A.number()}),z=A.array(A.object({cg:l.optional(),identifier:A.string(),price_usd:A.number(),provider:A.string(),timestamp:A.number()}).partial()),qA=A.object({affiliate:A.optional(A.string().describe("Affiliate thorname")),affiliateFee:A.optional(A.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:A.optional(A.boolean().describe("Allow smart contract as recipient")),allowSmartContractSender:A.optional(A.boolean().describe("Allow smart contract as sender")),buyAsset:A.string().describe("Asset to buy"),cfBoost:A.optional(A.boolean().describe("Set to true to enable CF boost to speed up Chainflip swaps. BTC only.")),destinationAddress:A.optional(A.string().describe("Address to send asset to")),disableSecurityChecks:A.optional(A.boolean().describe("Disable security checks")),includeTx:A.optional(A.boolean().describe("Set to true to include an transaction object (EVM only)")),providers:A.optional(A.array(A.string().describe("List of providers to use").refine((E)=>H.ProviderName[E]!==void 0,{message:"Invalid provider",path:["providers"]}))),referrer:A.optional(A.string().describe("Referrer address (referral program)")),sellAmount:A.string().describe("Amount of asset to sell").refine((E)=>+E>0,{message:"sellAmount must be greater than 0",path:["sellAmount"]}),sellAsset:A.string().describe("Asset to sell"),slippage:A.optional(A.number().describe("Slippage tolerance as a percentage. Default is 3%.")),sourceAddress:A.optional(A.string().describe("Address to send asset from"))}).refine((E)=>E.sellAsset!==E.buyAsset,{message:"Must be different",path:["sellAsset","buyAsset"]}),pA=A.object({metadata:A.boolean(),tokens:A.array(A.object({identifier:A.string()}))}),Z=A.object({destinationAddress:A.string()}),s=Z.extend({affiliateFees:A.array(A.object({brokerAddress:A.string(),feeBps:A.number()})).optional(),brokerCommissionBps:A.number().optional(),buyAsset:A.object({asset:A.string(),chain:A.string()}),channelMetadata:A.object({cfParameters:A.string().optional(),gasBudget:A.string().optional(),message:A.string().optional()}).optional(),dcaParameters:A.object({chunkInterval:A.number().optional(),numberOfChunks:A.number().optional()}).optional(),maxBoostFeeBps:A.number().optional(),refundParameters:A.object({minPrice:A.string().optional(),refundAddress:A.string().optional(),retryDuration:A.number().optional()}).optional(),sellAsset:A.object({asset:A.string(),chain:A.string()})}),v=A.object({channelId:A.string(),depositAddress:A.string()}),a=Z.extend({affiliateFees:A.object({feeBps:A.number(),nearId:A.string()}).optional(),buyAsset:A.string(),sellAmount:A.string(),sellAsset:A.string(),slippage:A.coerce.number(),sourceAddress:A.string()}),p=A.object({amountIn:A.string(),amountInFormatted:A.string(),amountInUsd:A.string(),amountOut:A.string(),amountOutFormatted:A.string(),amountOutUsd:A.string(),deadline:A.string().optional(),minAmountIn:A.string(),minAmountOut:A.string(),timeEstimate:A.number().optional(),timeWhenInactive:A.string().optional()}),lA=p.extend({depositAddress:A.string(),quote:p,signature:A.string(),timestamp:A.string(),tx:A.unknown()}),J=A.object({buyAsset:A.string(),buyAssetAmount:A.string(),buyAssetAmountMaxSlippage:A.string(),deadline:A.string().optional(),depositAddress:A.string(),depositAmount:A.string(),depositAsset:A.string(),tx:A.unknown()}),sA=A.object({evmCalldata:A.optional(A.string()),logs:A.optional(A.unknown()),memo:A.optional(A.string()),spender:A.optional(A.string())}),aA=A.object({currentLegIndex:A.optional(A.number()),estimatedFinalisedAt:A.number(),estimatedTimeToComplete:A.number(),providerDetails:A.optional(A.unknown()),updatedAt:A.number()}),eA=A.object({affiliate:A.optional(M),liquidity:A.optional(M),network:A.optional(M),protocol:A.optional(M),tax:A.optional(M)}),AE=A.object({affiliate:A.optional(A.string()),broadcastedAt:A.optional(A.number()),explorerUrl:A.optional(A.string()),fees:A.optional(eA),images:A.optional(A.object({chain:A.optional(A.string()),from:A.optional(A.string()),provider:A.optional(A.string()),to:A.optional(A.string())})),provider:A.optional(A.z.enum(H.ProviderName)),quoteId:A.optional(A.string()),wallet:A.optional(A.string())}),X=A.z.object({block:A.z.number(),chainId:A.z.enum(H.ChainId),finalAddress:A.z.optional(A.z.string()),finalAsset:A.z.optional(M),finalisedAt:A.z.number(),fromAddress:A.z.string(),fromAmount:A.z.string(),fromAsset:A.z.string(),hash:A.z.string(),meta:A.z.optional(AE),payload:A.z.optional(sA),status:A.z.enum($),toAddress:A.z.string(),toAmount:A.z.string(),toAsset:A.z.string(),trackingStatus:A.z.optional(A.z.enum(x)),transient:A.z.optional(aA),type:A.z.enum(f)}),EE=X.extend({legs:A.z.array(X)}),nE=X.extend({legs:A.array(X)}),NE=X.extend({legs:A.array(X)}),j=A.array(A.object({amount:A.string(),asset:A.string(),chain:A.string(),protocol:A.z.enum(H.ProviderName),type:A.z.enum(H.FeeTypeEnum)})),h=A.z.object({inbound:A.z.optional(A.z.number().describe("Time to receive inbound asset in seconds")),outbound:A.z.optional(A.z.number().describe("Time to receive outbound asset in seconds")),swap:A.z.optional(A.z.number().describe("Time to swap assets in seconds")),total:A.z.number().describe("Total time in seconds")}),e=A.object({data:A.string().describe("Data to send"),from:A.string().describe("Address of the sender"),to:A.string().describe("Address of the recipient"),value:A.string().describe("Value to send")}),AA=A.array(A.union([A.string(),A.number(),A.array(A.string()),A.object({from:A.string(),value:A.string()}).describe("Parameters to pass to the contract method")])),LE=A.object({approvalSpender:A.optional(A.string().describe("Address of the spender to approve")),approvalToken:A.optional(A.string().describe("Address of the token to approve spending of")),contractAddress:A.string().describe("Address of the contract to interact with"),contractMethod:A.string().describe("Name of the method to call"),contractParamNames:A.array(A.string().describe("Names of the parameters to pass to the contract method")),contractParams:AA}),IE=A.object({typeUrl:A.string(),value:A.unknown()}),OE=A.object({amount:A.array(A.object({amount:A.string(),denom:A.string()})),gas:A.string()}),EA=A.object({accountNumber:A.number(),chainId:A.z.enum(H.ChainId),fee:OE,memo:A.string(),msgs:A.array(IE),sequence:A.number()}),nA=A.object({affiliate:A.string().describe("Affiliate address").optional(),affiliateFee:A.number().describe("Affiliate fee").optional(),buyAsset:A.string().describe("Asset to buy"),destinationAddress:A.string().describe("Destination address"),estimatedTime:h.optional(),provider:A.z.enum(H.ProviderName),sellAsset:A.string().describe("Asset to sell"),slipPercentage:A.number().describe("Slippage as a percentage"),sourceAddress:A.string().describe("Source address")}),TE=nA.omit({destinationAddress:!0,slipPercentage:!0,sourceAddress:!0}),NA=A.object({asset:A.string().describe("Asset name"),image:A.string().describe("Asset image"),price:A.number().describe("Price in USD")}),LA=s,IA=A.object({assets:A.optional(A.array(NA)),maxStreamingQuantity:A.number().optional(),referrer:A.string().optional(),streamingInterval:A.number().optional(),tags:A.array(A.z.enum(W))}),OA=IA.extend({affiliate:A.optional(A.string()),affiliateFee:A.optional(A.string()),approvalAddress:A.optional(A.string().describe("Approval address for swap")),chainflip:LA.optional(),near:a.optional(),priceImpact:A.optional(A.number().describe("Price impact")),referrer:A.optional(A.string()),txType:A.optional(A.z.enum(g))}),TA=A.array(A.object({code:A.z.enum(H.WarningCodeEnum),display:A.string(),tooltip:A.string().optional()})),HE=A.object({buyAmount:A.string().describe("Buy amount"),buyAmountMaxSlippage:A.string().describe("Buy amount max slippage"),buyAsset:A.string().describe("Asset to buy"),fees:A.optional(j),provider:A.z.enum(H.ProviderName),sellAmount:A.string().describe("Sell amount"),sellAsset:A.string().describe("Asset to sell")}),mE=A.object({buyAsset:A.string().describe("Asset to buy"),destinationAddress:A.string().describe("Destination address"),estimatedTime:A.optional(h),expectedBuyAmount:A.string().describe("Expected Buy amount"),expectedBuyAmountMaxSlippage:A.string().describe("Expected Buy amount max slippage"),expiration:A.optional(A.string().describe("Expiration")),fees:j,inboundAddress:A.optional(A.string().describe("Inbound address")),legs:A.array(HE),memo:A.optional(A.string().describe("Memo")),meta:OA,providers:A.array(A.z.enum(H.ProviderName)),sellAmount:A.string().describe("Sell amount"),sellAsset:A.string().describe("Asset to sell"),sourceAddress:A.string().describe("Source address"),targetAddress:A.optional(A.string().describe("Target address")),totalSlippageBps:A.number().describe("Total slippage in bps"),tx:A.optional(A.union([e,EA,A.string()])),txType:A.optional(A.z.enum(g)),warnings:TA}),k=A.object({error:A.optional(A.string().describe("Error message")),providerErrors:A.optional(A.array(A.object({errorCode:A.optional(A.z.enum(H.ErrorCode)),message:A.optional(A.string()),provider:A.z.enum(H.ProviderName).optional()}))),quoteId:A.string().describe("Quote ID"),routes:A.array(mE)}),Q=A.z.object({chainId:A.z.enum(H.ChainId),createdAt:A.z.date(),id:A.z.number(),unit:A.z.string(),value:A.z.string()}),DE=A.z.array(Q),w=A.z.union([Q,DE]),tE=A.array(A.object({chain:A.z.enum(H.Chain),decimal:A.number(),identifier:A.string(),symbol:A.string(),ticker:A.string(),value:A.string()}));var _=m.RequestClient.extend({dynamicHeader:()=>{let{swapKit:E}=m.SKConfig.get("apiKeys");return E?{"x-api-key":E}:{}}});function CE(E){return _.post(Y("/track"),{json:E})}async function bE(E){let L=await _.post(Y("/quote"),{json:E});if(L.error)throw new m.SwapKitError("api_v2_server_error",{message:L.error});try{let n=k.safeParse(L);if(!n.success)throw new m.SwapKitError("api_v2_invalid_response",n.error);return n.data}catch(n){return L}}async function PE({chain:E,address:L,scamFilter:n=!0}){let N=Y(`/balance?chain=${E}&address=${L}`),I=await _.get(N),C=Array.isArray(I)?I:[];return n?XE(C):C}function K(){let E=Y("/providers");return _.get(E)}function SE(E){let L=Y(`/tokens?provider=${E}`);return _.get(L)}async function GE(E){let L=Y("/price"),n=await _.post(L,{json:E});try{let N=z.safeParse(n);if(!N.success)throw new m.SwapKitError("api_v2_invalid_response",N.error);return N.data}catch(N){throw new m.SwapKitError("api_v2_invalid_response",N)}}async function _E(){let E=Y("/gas"),L=await _.get(E);try{let n=w.safeParse(L);if(!n.success)throw new m.SwapKitError("api_v2_invalid_response",n.error);return Array.isArray(n)?n:[n]}catch(n){throw new m.SwapKitError("api_v2_invalid_response",n)}}async function YE(E){let{destinationAddress:L}=E;if(!L)throw new m.SwapKitError("chainflip_broker_invalid_params");let n=m.SKConfig.get("integrations").chainflip?.brokerUrl||Y("/chainflip/broker/channel"),N=await _.post(n,{json:E});try{let I=v.safeParse(N);if(!I.success)throw new m.SwapKitError("api_v2_invalid_response",I.error);return I.data}catch(I){throw new m.SwapKitError("api_v2_invalid_response",I)}}async function ME(E){let{destinationAddress:L}=E;if(!L)throw new m.SwapKitError("chainflip_broker_invalid_params");let n=Y("/near/channel"),N=await _.post(n,{json:E});try{let I=J.safeParse(N);if(!I.success)throw new m.SwapKitError("api_v2_invalid_response",I.error);return I.data}catch(I){throw new m.SwapKitError("api_v2_invalid_response",I)}}function Y(E){let{isDev:L,apiUrl:n,devApiUrl:N}=m.SKConfig.get("envs");return`${L?N:n}${E}`}function RE(E){let[L,n]=E.split(".");if(!m.EVMChains.includes(L))return!0;let N=n.split("-"),I=N.length===1?void 0:N[N.length-1];return m.isGasAsset({chain:L,symbol:n})||!!I}var VE=new RegExp(/(.)\1{6}|\.ORG|\.NET|\.FINANCE|\.COM|WWW|HTTP|\\\\|\/\/|[\s$%:[\]]/,"gmi");function XE(E){return E.filter((L)=>{return!VE.test(L.identifier)&&RE(L.identifier)})}var i={};F(i,{getThorchainQueue:()=>gE,getTcyStakers:()=>vE,getTcyStaker:()=>ZE,getTcyClaimers:()=>jE,getTcyClaimer:()=>JE,getTNSPreferredAsset:()=>$E,getTHORNodeTNSDetails:()=>HA,getRunePoolProviderInfo:()=>zE,getRunePoolInfo:()=>xE,getNodes:()=>uE,getMimirInfo:()=>WE,getLastBlock:()=>BE,getInboundAddresses:()=>fE});var T=require("@swapkit/helpers");function G(E){let{isStagenet:L}=T.SKConfig.get("envs"),n=T.SKConfig.get("nodeUrls");switch(E){case"mayachain":return`${n[L?T.StagenetChain.Maya:T.Chain.Maya]}/mayachain`;default:return`${n[L?T.StagenetChain.THORChain:T.Chain.THORChain]}/thorchain`}}function FE(E){let L=E==="mayachain"?"mayaname":"thorname";return`${G(E)}/${L}`}function BE(E="thorchain"){return T.RequestClient.get(`${G(E)}/lastblock`)}function gE(E){return T.RequestClient.get(`${G(E)}/queue`)}function uE(E){return T.RequestClient.get(`${G(E)}/nodes`)}function WE(E){return T.RequestClient.get(`${G(E)}/mimir`)}function fE(E){return T.RequestClient.get(`${G(E)}/inbound_addresses`)}async function HA({type:E,name:L}){try{return await T.RequestClient.get(`${FE(E)}/${L}`)}catch(n){return{affiliate_collector_rune:"",aliases:[],expire_block_height:0,name:L,owner:"",preferred_asset:""}}}async function $E({type:E,tns:L}){let n=await HA({name:L,type:E});if(!n.preferred_asset||n.preferred_asset===".")return;return T.AssetValue.from({asset:n.preferred_asset,asyncTokenLookup:!0})}function xE(E){return T.RequestClient.get(`${G(E)}/runepool`)}function zE({type:E,thorAddress:L}){return T.RequestClient.get(`${G(E)}/rune_provider/${L}`)}function ZE({type:E,address:L}){return T.RequestClient.get(`${G(E)}/tcy_staker/${L}`)}function vE(E){return T.RequestClient.get(`${G(E)}/tcy_stakers`)}function JE({type:E,address:L}){return T.RequestClient.get(`${G(E)}/tcy_claimer/${L}`)}function jE(E){return T.RequestClient.get(`${G(E)}/tcy_claimers`)}var U={};F(U,{getProviderLogo:()=>QE,getLogoForAsset:()=>hE,getChainLogoForAsset:()=>kE});var R=require("@swapkit/helpers");var DA="https://static.thorswap.net";function hE(E){let L=wE(E);return`${DA}/token-list/images/${L}.png`}function kE(E){let{chain:L}=R.AssetValue.from({asset:E}),n=R.getChainIdentifier(L).toLowerCase();return`${DA}/token-list/images/${n}.png`}var mA;async function QE(E){return mA||=await K(),mA.find((L)=>L.name===E)?.url}function wE(E){let{symbol:L}=R.AssetValue.from({asset:E});if(L===R.Chain.Ethereum)return"eth.eth";return E.toLowerCase()}var cE={...c,...U,mayachainMidgard:q,microgard:u,thorchainMidgard:y,thornode:i};
|
|
1
|
+
var Gn={};O(Gn,{TxnType:()=>d,TxnStatus:()=>D,TransactionSchema:()=>kt,TransactionDTOSchema:()=>Qt,TrackingStatus:()=>f,TrackingRequestSchema:()=>Ut,TrackingRequestQuerySchema:()=>Vt,TrackerResponseSchema:()=>Wt,TokenSchema:()=>$t,TokenDetailsMetadataSchema:()=>W,SwapKitApi:()=>vn,RouteQuoteWarningSchema:()=>rt,RouteQuoteTxType:()=>S,RouteQuoteMetadataV2Schema:()=>nt,RouteQuoteMetadataSchema:()=>tt,RouteQuoteMetadataAssetSchema:()=>K,RouteLegWithoutAddressesSchema:()=>jt,RouteLegSchema:()=>j,QuoteResponseSchema:()=>l,QuoteRequestSchema:()=>Yt,PriorityLabel:()=>b,PriceResponseSchema:()=>R,PriceRequestSchema:()=>Ft,NearSwapResponseSchema:()=>M,NearDepositChannelResultSchema:()=>Xt,NearDepositChannelParamsSchema:()=>Q,GasSchema:()=>$,GasResponseSchema:()=>U,FeesSchema:()=>v,EstimatedTimeSchema:()=>G,EVMTransactionSchema:()=>z,EVMTransactionDetailsSchema:()=>zt,EVMTransactionDetailsParamsSchema:()=>Z,DepositChannelResponseSchema:()=>B,DepositChannelParamsSchema:()=>h,CosmosTransactionSchema:()=>J,ChainflipMetadataSchema:()=>q,BrokerDepositChannelParamsSchema:()=>k,AssetValueSchema:()=>I,ApiV2ErrorSchema:()=>_t});module.exports=Mn(Gn);var s=require("@swapkit/helpers");function X(n=!0){return n?"https://midgard.ninerealms.com":"https://midgard.mayachain.info"}function st(n=!0){let i=X(n);return n?`${i}/v2/thorname`:`${i}/v2/mayaname`}function mt(n){return function i(r){let e=r?`?status=${r}`:"";return s.RequestClient.get(`${n}/v2/pools${e}`)}}function ut(n){return function i(r){return s.RequestClient.get(`${n}/v2/pool/${r}`)}}function at(n){return function i(r,e){let o=e?`?period=${e}`:"";return s.RequestClient.get(`${n}/v2/pool/${r}/stats${o}`)}}function gt(n){return function i(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 At(n){return function i(){return s.RequestClient.get(`${n}/v2/network`)}}function Et(n){return function i(){return s.RequestClient.get(`${n}/v2/health`)}}function Nt(n){return function i(){return s.RequestClient.get(`${n}/v2/nodes`)}}function Lt(n){return function i(r){return s.RequestClient.get(`${n}/v2/node/${r}`)}}function Tt(n){return function i(){return s.RequestClient.get(`${n}/v2/mimir/votes`)}}function Ht(n){return function i(){return s.RequestClient.get(`${n}/v2/mimir`)}}function It(n){return function i(){return s.RequestClient.get(`${n}/v2/constants`)}}function Pt(n){return function i(){return s.RequestClient.get(`${n}/v2/stats`)}}function ct(n){return function i(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 Ct(n){return function i(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 St(n){return function i(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 Ot(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 bt(n){return function i(r){let e=Ot(r);return s.RequestClient.get(`${n}/v2/actions${e}`)}}function dt(n){return function i(r){return s.RequestClient.get(`${n}/v2/member/${r}`)}}function Dt(n){return function i(r){let e=r?`/${r}`:"";return s.RequestClient.get(`${n}/v2/members${e}`)}}function ft(n){return function i(r,e){let o=e?`&asset=${e}`:"";return s.RequestClient.get(`${n}/v2/saver/${r}${o?`?${o.substring(1)}`:""}`)}}function Rt(n){return function i(r){return s.RequestClient.get(`${n}/v2/savers/${r}`)}}function ht(n){return function i(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 Bt(n){return function i(r){return s.RequestClient.get(`${n}/v2/balance/${r}`)}}function Mt(n){return async function i(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 vt(n){return async function i(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 Gt(n){return async function i(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 c({asset:n,value:i}){return s.AssetValue.from({asset:n,fromBaseDecimal:s.BaseDecimal.THOR,value:i})}function lt({liquidityPositionGetter:n,isThorchain:i}){return async function r(e){let o=await n(e),g=i?"rune":"cacao";return o.pools.map((A)=>({[`${g}Pending`]:c({asset:"THOR.RUNE",value:A.runePending}),[`${g}RegisteredAddress`]:A.runeAddress,[`${g}Withdrawn`]:c({asset:"THOR.RUNE",value:A.runeWithdrawn}),[g]:c({asset:"THOR.RUNE",value:A.runeAdded}),asset:c({asset:A.pool,value:A.assetAdded}),assetPending:c({asset:A.pool,value:A.assetPending}),assetRegisteredAddress:A.assetAddress,assetWithdrawn:c({asset:A.pool,value:A.assetWithdrawn}),dateFirstAdded:A.dateFirstAdded,dateLastAdded:A.dateLastAdded,poolShare:new s.SwapKitNumber(A.liquidityUnits).div(A.pool)}))}}function p(n){let i=n===s.Chain.THORChain,r=X(i),e=st(i),o=dt(r);return{getActions:bt(r),getBalance:Bt(r),getConstants:It(r),getEarningsHistory:ct(r),getHealth:Et(r),getLiquidityPosition:lt({isThorchain:i,liquidityPositionGetter:o}),getLiquidityPositionRaw:o,getMembers:Dt(r),getMimir:Ht(r),getMimirVotes:Tt(r),getNameDetails:Mt(e),getNamesByAddress:vt(e),getNamesByOwner:Gt(e),getNetworkInfo:At(r),getNode:Lt(r),getNodes:Nt(r),getPool:ut(r),getPoolDepthHistory:gt(r),getPoolStats:at(r),getPools:mt(r),getSaverDetails:ft(r),getSavers:Rt(r),getSaversHistory:ht(r),getStats:Pt(r),getSwapHistory:Ct(r),getTVLHistory:St(r)}}var w=p(s.Chain.THORChain),y=p(s.Chain.Maya);var _={};O(_,{getTrackerDetails:()=>nn,getTokenListProviders:()=>V,getTokenList:()=>on,getSwapQuote:()=>rn,getPrice:()=>sn,getNearDepositChannel:()=>an,getGasRate:()=>mn,getChainflipDepositChannel:()=>un,getChainBalance:()=>en});var a=require("@swapkit/helpers");var u=require("@swapkit/helpers"),t=require("zod/v4"),b;((e)=>{e.CHEAPEST="CHEAPEST";e.FASTEST="FASTEST";e.RECOMMENDED="RECOMMENDED"})(b||={});var S;((o)=>{o.PSBT="PSBT";o.EVM="EVM";o.COSMOS="COSMOS";o.RADIX="RADIX"})(S||={});var d;((N)=>{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"})(d||={});var D;((g)=>{g.unknown="unknown";g.not_started="not_started";g.pending="pending";g.swapping="swapping";g.completed="completed"})(D||={});var f;((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"})(f||={});var $t=t.object({address:t.optional(t.string()),chain:t.z.enum(u.Chain).optional(),chainId:t.z.enum(u.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()}),Ut=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"}),Vt=t.z.object({forceUpdate:t.z.string().toLowerCase().transform((n)=>n==="true").pipe(t.z.boolean()).optional()}),_t=t.object({error:t.string(),message:t.string()}),I=t.object({address:t.optional(t.string()),chain:t.z.enum(u.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()}),W=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()}),R=t.array(t.object({cg:W.optional(),identifier:t.string(),price_usd:t.number(),provider:t.string(),timestamp:t.number()}).partial()),Yt=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)=>u.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"]}),Ft=t.object({metadata:t.boolean(),tokens:t.array(t.object({identifier:t.string()}))}),h=t.object({destinationAddress:t.string()}),k=h.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()})}),B=t.object({channelId:t.string(),depositAddress:t.string()}),Q=h.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()}),x=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()}),Xt=x.extend({depositAddress:t.string(),quote:x,signature:t.string(),timestamp:t.string(),tx:t.unknown()}),M=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()}),pt=t.object({evmCalldata:t.optional(t.string()),logs:t.optional(t.unknown()),memo:t.optional(t.string()),spender:t.optional(t.string())}),wt=t.object({currentLegIndex:t.optional(t.number()),estimatedFinalisedAt:t.number(),estimatedTimeToComplete:t.number(),providerDetails:t.optional(t.unknown()),updatedAt:t.number()}),yt=t.object({affiliate:t.optional(I),liquidity:t.optional(I),network:t.optional(I),protocol:t.optional(I),tax:t.optional(I)}),xt=t.object({affiliate:t.optional(t.string()),broadcastedAt:t.optional(t.number()),explorerUrl:t.optional(t.string()),fees:t.optional(yt),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(u.ProviderName)),quoteId:t.optional(t.string()),wallet:t.optional(t.string())}),C=t.z.object({block:t.z.number(),chainId:t.z.enum(u.ChainId),finalAddress:t.z.optional(t.z.string()),finalAsset:t.z.optional(I),finalisedAt:t.z.number(),fromAddress:t.z.string(),fromAmount:t.z.string(),fromAsset:t.z.string(),hash:t.z.string(),meta:t.z.optional(xt),payload:t.z.optional(pt),status:t.z.enum(D),toAddress:t.z.string(),toAmount:t.z.string(),toAsset:t.z.string(),trackingStatus:t.z.optional(t.z.enum(f)),transient:t.z.optional(wt),type:t.z.enum(d)}),Wt=C.extend({legs:t.z.array(C)}),kt=C.extend({legs:t.array(C)}),Qt=C.extend({legs:t.array(C)}),v=t.array(t.object({amount:t.string(),asset:t.string(),chain:t.string(),protocol:t.z.enum(u.ProviderName),type:t.z.enum(u.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")}),z=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")}),Z=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")])),zt=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:Z}),Zt=t.object({typeUrl:t.string(),value:t.unknown()}),Jt=t.object({amount:t.array(t.object({amount:t.string(),denom:t.string()})),gas:t.string()}),J=t.object({accountNumber:t.number(),chainId:t.z.enum(u.ChainId),fee:Jt,memo:t.string(),msgs:t.array(Zt),sequence:t.number()}),j=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(u.ProviderName),sellAsset:t.string().describe("Asset to sell"),slipPercentage:t.number().describe("Slippage as a percentage"),sourceAddress:t.string().describe("Source address")}),jt=j.omit({destinationAddress:!0,slipPercentage:!0,sourceAddress:!0}),K=t.object({asset:t.string().describe("Asset name"),image:t.string().describe("Asset image"),price:t.number().describe("Price in USD")}),q=k,tt=t.object({assets:t.optional(t.array(K)),maxStreamingQuantity:t.number().optional(),referrer:t.string().optional(),streamingInterval:t.number().optional(),tags:t.array(t.z.enum(b))}),nt=tt.extend({affiliate:t.optional(t.string()),affiliateFee:t.optional(t.string()),approvalAddress:t.optional(t.string().describe("Approval address for swap")),chainflip:q.optional(),near:Q.optional(),priceImpact:t.optional(t.number().describe("Price impact")),referrer:t.optional(t.string()),txType:t.optional(t.z.enum(S))}),rt=t.array(t.object({code:t.z.enum(u.WarningCodeEnum),display:t.string(),tooltip:t.string().optional()})),Kt=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(v),provider:t.z.enum(u.ProviderName),sellAmount:t.string().describe("Sell amount"),sellAsset:t.string().describe("Asset to sell")}),qt=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:v,inboundAddress:t.optional(t.string().describe("Inbound address")),legs:t.array(Kt),memo:t.optional(t.string().describe("Memo")),meta:nt,providers:t.array(t.z.enum(u.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([z,J,t.string()])),txType:t.optional(t.z.enum(S)),warnings:rt}),l=t.object({error:t.optional(t.string().describe("Error message")),providerErrors:t.optional(t.array(t.object({errorCode:t.optional(t.z.enum(u.ErrorCode)),message:t.optional(t.string()),provider:t.z.enum(u.ProviderName).optional()}))),quoteId:t.string().describe("Quote ID"),routes:t.array(qt)}),$=t.z.object({chainId:t.z.enum(u.ChainId),createdAt:t.z.date(),id:t.z.number(),unit:t.z.string(),value:t.z.string()}),tn=t.z.array($),U=t.z.union([$,tn]),$n=t.array(t.object({chain:t.z.enum(u.Chain),decimal:t.number(),identifier:t.string(),symbol:t.string(),ticker:t.string(),value:t.string()}));var T=a.RequestClient.extend({dynamicHeader:()=>{let{swapKit:n}=a.SKConfig.get("apiKeys");return n?{"x-api-key":n}:{}}});function nn(n){return T.post(H("/track"),{json:n})}async function rn(n){let i=await T.post(H("/quote"),{json:n});if(i.error)throw new a.SwapKitError("api_v2_server_error",{message:i.error});try{let r=l.safeParse(i);if(!r.success)throw new a.SwapKitError("api_v2_invalid_response",r.error);return r.data}catch(r){return i}}async function en({chain:n,address:i,scamFilter:r=!0}){let e=H(`/balance?chain=${n}&address=${i}`),o=await T.get(e),g=Array.isArray(o)?o:[];return r?En(g):g}function V(){let n=H("/providers");return T.get(n)}function on(n){let i=H(`/tokens?provider=${n}`);return T.get(i)}async function sn(n){let i=H("/price"),r=await T.post(i,{json:n});try{let e=R.safeParse(r);if(!e.success)throw new a.SwapKitError("api_v2_invalid_response",e.error);return e.data}catch(e){throw new a.SwapKitError("api_v2_invalid_response",e)}}async function mn(){let n=H("/gas"),i=await T.get(n);try{let r=U.safeParse(i);if(!r.success)throw new a.SwapKitError("api_v2_invalid_response",r.error);return Array.isArray(r)?r:[r]}catch(r){throw new a.SwapKitError("api_v2_invalid_response",r)}}async function un(n){let{destinationAddress:i}=n;if(!i)throw new a.SwapKitError("chainflip_broker_invalid_params");let r=a.SKConfig.get("integrations").chainflip?.brokerUrl||H("/chainflip/broker/channel"),e=await T.post(r,{json:n});try{let o=B.safeParse(e);if(!o.success)throw new a.SwapKitError("api_v2_invalid_response",o.error);return o.data}catch(o){throw new a.SwapKitError("api_v2_invalid_response",o)}}async function an(n){let{destinationAddress:i}=n;if(!i)throw new a.SwapKitError("chainflip_broker_invalid_params");let r=H("/near/channel"),e=await T.post(r,{json:n});try{let o=M.safeParse(e);if(!o.success)throw new a.SwapKitError("api_v2_invalid_response",o.error);return o.data}catch(o){throw new a.SwapKitError("api_v2_invalid_response",o)}}function H(n){let{isDev:i,apiUrl:r,devApiUrl:e}=a.SKConfig.get("envs");return`${i?e:r}${n}`}function gn(n){let[i,r]=n.split(".");if(!a.EVMChains.includes(i))return!0;let e=r.split("-"),o=e.length===1?void 0:e[e.length-1];return a.isGasAsset({chain:i,symbol:r})||!!o}var An=new RegExp(/(.)\1{6}|\.ORG|\.NET|\.FINANCE|\.COM|WWW|HTTP|\\\\|\/\/|[\s$%:[\]]/,"gmi");function En(n){return n.filter((i)=>{return!An.test(i.identifier)&&gn(i.identifier)})}var Y={};O(Y,{getThorchainQueue:()=>Tn,getTcyStakers:()=>bn,getTcyStaker:()=>On,getTcyClaimers:()=>Dn,getTcyClaimer:()=>dn,getTNSPreferredAsset:()=>cn,getTHORNodeTNSDetails:()=>et,getRunePoolProviderInfo:()=>Sn,getRunePoolInfo:()=>Cn,getNodes:()=>Hn,getMimirInfo:()=>In,getLastBlock:()=>Ln,getInboundAddresses:()=>Pn});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 Nn(n){let i=n==="mayachain"?"mayaname":"thorname";return`${L(n)}/${i}`}function Ln(n="thorchain"){return m.RequestClient.get(`${L(n)}/lastblock`)}function Tn(n){return m.RequestClient.get(`${L(n)}/queue`)}function Hn(n){return m.RequestClient.get(`${L(n)}/nodes`)}function In(n){return m.RequestClient.get(`${L(n)}/mimir`)}function Pn(n){return m.RequestClient.get(`${L(n)}/inbound_addresses`)}async function et({type:n,name:i}){try{return await m.RequestClient.get(`${Nn(n)}/${i}`)}catch(r){return{affiliate_collector_rune:"",aliases:[],expire_block_height:0,name:i,owner:"",preferred_asset:""}}}async function cn({type:n,tns:i}){let r=await et({name:i,type:n});if(!r.preferred_asset||r.preferred_asset===".")return;return m.AssetValue.from({asset:r.preferred_asset,asyncTokenLookup:!0})}function Cn(n){return m.RequestClient.get(`${L(n)}/runepool`)}function Sn({type:n,thorAddress:i}){return m.RequestClient.get(`${L(n)}/rune_provider/${i}`)}function On({type:n,address:i}){return m.RequestClient.get(`${L(n)}/tcy_staker/${i}`)}function bn(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 Dn(n){return m.RequestClient.get(`${L(n)}/tcy_claimers`)}var F={};O(F,{getProviderLogo:()=>hn,getLogoForAsset:()=>fn,getChainLogoForAsset:()=>Rn});var P=require("@swapkit/helpers");var ot="https://static.thorswap.net";function fn(n){let i=Bn(n);return`${ot}/token-list/images/${i}.png`}function Rn(n){let{chain:i}=P.AssetValue.from({asset:n}),r=P.getChainIdentifier(i).toLowerCase();return`${ot}/token-list/images/${r}.png`}var it;async function hn(n){return it||=await V(),it.find((i)=>i.name===n)?.url}function Bn(n){let{symbol:i}=P.AssetValue.from({asset:n});if(i===P.Chain.Ethereum)return"eth.eth";return n.toLowerCase()}var vn={..._,...F,mayachainMidgard:y,thorchainMidgard:w,thornode:Y};
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=25F1CB3B9D89501E64756E2164756E21
|
|
4
4
|
//# sourceMappingURL=index.cjs.map
|
package/dist/api/index.cjs.map
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../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/thorswapStatic/endpoints.ts", "../src/api/index.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"import { AssetValue, BaseDecimal, type Chain, RequestClient, SwapKitNumber } from \"@swapkit/helpers\";\nimport type { LiquidityPositionRaw, MicroguardTHORNameDetails, PoolDetail, PoolPeriod } from \"./types\";\n\n/**\n * TODO: Move to SKConfig under midgardUrls.microgard\n */\nconst baseUrl = \"https://mu.thorswap.net\";\n\nexport function getTHORNameDetails(thorname: string) {\n return RequestClient.get<MicroguardTHORNameDetails>(`${baseUrl}/thorname/lookup/${thorname}`);\n}\n\nexport function getTHORNamesByOwner(owner: string) {\n return RequestClient.get<string[]>(`${baseUrl}/thorname/owner/${owner}`);\n}\n\nexport function getTHORNamesByAddress(address: string) {\n return RequestClient.get<string[]>(`${baseUrl}/thorname/address/${address}`);\n}\n\nexport function getTHORChainPools(period: PoolPeriod) {\n return RequestClient.get<PoolDetail[]>(`${baseUrl}/pools`, { searchParams: { period } });\n}\n\nexport function getLiquidityPositionsRaw(addresses: string[]) {\n return RequestClient.get<LiquidityPositionRaw[]>(`${baseUrl}/fullmember?address=${addresses.join(\",\")}`);\n}\n\nexport async function getTNSChainAddress({ chain, tns }: { chain: Chain; tns: string }) {\n const tnsDetails = await getTHORNameDetails(tns);\n\n return tnsDetails?.entries?.find((e) => e.chain.toLowerCase() === chain.toLowerCase())?.address;\n}\n\nexport async function getLiquidityPositions(addresses: string[]) {\n const rawLiquidityPositions = await getLiquidityPositionsRaw(addresses);\n\n return rawLiquidityPositions.map((p) => ({\n asset: AssetValue.from({ asset: p.pool, fromBaseDecimal: BaseDecimal.THOR, value: p.assetAdded }),\n assetPending: AssetValue.from({ asset: p.pool, fromBaseDecimal: BaseDecimal.THOR, value: p.assetPending }),\n assetRegisteredAddress: p.assetAddress,\n assetWithdrawn: AssetValue.from({ asset: p.pool, fromBaseDecimal: BaseDecimal.THOR, value: p.assetWithdrawn }),\n dateFirstAdded: p.dateFirstAdded,\n dateLastAdded: p.dateLastAdded,\n poolShare: new SwapKitNumber(p.sharedUnits).div(p.poolUnits),\n rune: AssetValue.from({ asset: \"THOR.RUNE\", fromBaseDecimal: BaseDecimal.THOR, value: p.runeAdded }),\n runePending: AssetValue.from({ asset: \"THOR.RUNE\", fromBaseDecimal: BaseDecimal.THOR, value: p.runePending }),\n runeRegisteredAddress: p.runeAddress,\n runeWithdrawn: AssetValue.from({ asset: \"THOR.RUNE\", fromBaseDecimal: BaseDecimal.THOR, value: p.runeWithdrawn }),\n }));\n}\n",
|
|
6
|
-
"import { AssetValue, BaseDecimal, Chain, RequestClient, SwapKitNumber } from \"@swapkit/helpers\";\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 Chain.THORChain | Chain.Maya>(baseUrl: string) {\n return function getLiquidityPosition(\n address: string,\n ): Promise<Chain extends Chain.THORChain ? MemberDetailsThorchain : MemberDetailsMayachain> {\n return RequestClient.get<Chain extends 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 try {\n return await RequestClient.get<THORNameDetails>(`${baseUrl}/lookup/${name}`);\n } catch (error: any) {\n // Return empty array when no names found for owner (404)\n if (error?.info?.status === 404) {\n return undefined;\n }\n throw error;\n }\n };\n}\n\nfunction getNamesByAddress(baseUrl: string) {\n return async function getNamesByAddress(address: string) {\n try {\n return await RequestClient.get<string[]>(`${baseUrl}/rlookup/${address}`);\n } catch (error: any) {\n // Return empty array when no names found for owner (404)\n if (error?.info?.status === 404) {\n return [];\n }\n throw error;\n }\n };\n}\n\nfunction getNamesByOwner(baseUrl: string) {\n return async function getNamesByOwner(address: string) {\n try {\n return await RequestClient.get<string[]>(`${baseUrl}/owner/${address}`);\n } catch (error: any) {\n // Return empty array when no names found for owner (404)\n if (error?.info?.status === 404) {\n return [];\n }\n throw error;\n }\n };\n}\n\nfunction getPoolAsset({ asset, value }: { asset: string; value: string }) {\n return AssetValue.from({ asset, fromBaseDecimal: BaseDecimal.THOR, value });\n}\n\nfunction getLiquidityPosition<IsThorchain extends boolean = true>({\n liquidityPositionGetter,\n isThorchain,\n}: {\n liquidityPositionGetter: ReturnType<\n typeof getLiquidityPositionRaw<IsThorchain extends true ? Chain.THORChain : 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 Chain.THORChain | Chain.Maya>(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",
|
|
5
|
+
"import { AssetValue, BaseDecimal, Chain, RequestClient, SwapKitNumber } from \"@swapkit/helpers\";\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 Chain.THORChain | Chain.Maya>(baseUrl: string) {\n return function getLiquidityPosition(\n address: string,\n ): Promise<Chain extends Chain.THORChain ? MemberDetailsThorchain : MemberDetailsMayachain> {\n return RequestClient.get<Chain extends 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: BaseDecimal.THOR, value });\n}\n\nfunction getLiquidityPosition<IsThorchain extends boolean = true>({\n liquidityPositionGetter,\n isThorchain,\n}: {\n liquidityPositionGetter: ReturnType<\n typeof getLiquidityPositionRaw<IsThorchain extends true ? Chain.THORChain : 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 Chain.THORChain | Chain.Maya>(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",
|
|
7
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 return SKRequestClient.post<TrackerResponse>(getApiUrl(\"/track\"), { json });\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 (_error) {\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",
|
|
8
7
|
"import { Chain, ChainId, ErrorCode, FeeTypeEnum, ProviderName, WarningCodeEnum } from \"@swapkit/helpers\";\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",
|
|
9
8
|
"import { AssetValue, Chain, RequestClient, SKConfig, StagenetChain } from \"@swapkit/helpers\";\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 const nodeUrls = SKConfig.get(\"nodeUrls\");\n\n switch (type) {\n case \"mayachain\": {\n const mayaNodeUrl = nodeUrls[isStagenet ? StagenetChain.Maya : Chain.Maya];\n\n return `${mayaNodeUrl}/mayachain`;\n }\n default: {\n const thorNodeUrl = nodeUrls[isStagenet ? StagenetChain.THORChain : Chain.THORChain];\n\n return `${thorNodeUrl}/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 (_error) {\n // If we get an error, the name doesn't exist and is available for registration\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",
|
|
10
9
|
"import { AssetValue, Chain, getChainIdentifier, type ProviderName } from \"@swapkit/helpers\";\n\nimport { getTokenListProviders } from \"../swapkitApi/endpoints\";\nimport type { TokenListProvidersResponse } from \"../swapkitApi/types\";\n\nconst baseUrl = \"https://static.thorswap.net\";\n\nexport function getLogoForAsset(assetString: string) {\n const mappedAssetIcon = getMappedAssetIcon(assetString);\n\n return `${baseUrl}/token-list/images/${mappedAssetIcon}.png`;\n}\n\nexport function getChainLogoForAsset(assetString: string) {\n const { chain } = AssetValue.from({ asset: assetString });\n const chainIdentifier = getChainIdentifier(chain).toLowerCase();\n\n return `${baseUrl}/token-list/images/${chainIdentifier}.png`;\n}\n\nlet providerData: TokenListProvidersResponse;\n\nexport async function getProviderLogo(providerName: ProviderName | string) {\n providerData ||= await getTokenListProviders();\n\n return providerData.find((p) => p.name === providerName)?.url;\n}\n\nfunction getMappedAssetIcon(assetString: string) {\n const { symbol } = AssetValue.from({ asset: assetString });\n\n if (symbol === Chain.Ethereum) return \"eth.eth\";\n\n return assetString.toLowerCase();\n}\n",
|
|
11
|
-
"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"
|
|
12
11
|
],
|
|
13
|
-
"mappings": "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",
|
|
14
|
-
"debugId": "
|
|
12
|
+
"mappings": "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",
|
|
13
|
+
"debugId": "25F1CB3B9D89501E64756E2164756E21",
|
|
15
14
|
"names": []
|
|
16
15
|
}
|
package/dist/api/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{b as Z}from"../chunk-hm14bfyg.js";var J={};Z(J,{getTNSChainAddress:()=>XA,getTHORNamesByOwner:()=>MA,getTHORNamesByAddress:()=>RA,getTHORNameDetails:()=>U,getTHORChainPools:()=>VA,getLiquidityPositionsRaw:()=>t,getLiquidityPositions:()=>FA});import{AssetValue as B,BaseDecimal as g,RequestClient as $,SwapKitNumber as YA}from"@swapkit/helpers";var x="https://mu.thorswap.net";function U(A){return $.get(`${x}/thorname/lookup/${A}`)}function MA(A){return $.get(`${x}/thorname/owner/${A}`)}function RA(A){return $.get(`${x}/thorname/address/${A}`)}function VA(A){return $.get(`${x}/pools`,{searchParams:{period:A}})}function t(A){return $.get(`${x}/fullmember?address=${A.join(",")}`)}async function XA({chain:A,tns:L}){return(await U(L))?.entries?.find((N)=>N.chain.toLowerCase()===A.toLowerCase())?.address}async function FA(A){return(await t(A)).map((E)=>({asset:B.from({asset:E.pool,fromBaseDecimal:g.THOR,value:E.assetAdded}),assetPending:B.from({asset:E.pool,fromBaseDecimal:g.THOR,value:E.assetPending}),assetRegisteredAddress:E.assetAddress,assetWithdrawn:B.from({asset:E.pool,fromBaseDecimal:g.THOR,value:E.assetWithdrawn}),dateFirstAdded:E.dateFirstAdded,dateLastAdded:E.dateLastAdded,poolShare:new YA(E.sharedUnits).div(E.poolUnits),rune:B.from({asset:"THOR.RUNE",fromBaseDecimal:g.THOR,value:E.runeAdded}),runePending:B.from({asset:"THOR.RUNE",fromBaseDecimal:g.THOR,value:E.runePending}),runeRegisteredAddress:E.runeAddress,runeWithdrawn:B.from({asset:"THOR.RUNE",fromBaseDecimal:g.THOR,value:E.runeWithdrawn})}))}import{AssetValue as BA,BaseDecimal as gA,Chain as j,RequestClient as D,SwapKitNumber as uA}from"@swapkit/helpers";function d(A=!0){return A?"https://midgard.ninerealms.com":"https://midgard.mayachain.info"}function WA(A=!0){let L=d(A);return A?`${L}/v2/thorname`:`${L}/v2/mayaname`}function fA(A){return function L(E){let N=E?`?status=${E}`:"";return D.get(`${A}/v2/pools${N}`)}}function $A(A){return function L(E){return D.get(`${A}/v2/pool/${E}`)}}function xA(A){return function L(E,N){let T=N?`?period=${N}`:"";return D.get(`${A}/v2/pool/${E}/stats${T}`)}}function zA(A){return function L(E,N){let T=new URLSearchParams;if(N?.interval)T.append("interval",N.interval);if(N?.count)T.append("count",N.count.toString());if(N?.from)T.append("from",N.from.toString());if(N?.to)T.append("to",N.to.toString());let b=T.toString()?`?${T.toString()}`:"";return D.get(`${A}/v2/history/depths/${E}${b}`)}}function ZA(A){return function L(){return D.get(`${A}/v2/network`)}}function vA(A){return function L(){return D.get(`${A}/v2/health`)}}function JA(A){return function L(){return D.get(`${A}/v2/nodes`)}}function jA(A){return function L(E){return D.get(`${A}/v2/node/${E}`)}}function hA(A){return function L(){return D.get(`${A}/v2/mimir/votes`)}}function kA(A){return function L(){return D.get(`${A}/v2/mimir`)}}function QA(A){return function L(){return D.get(`${A}/v2/constants`)}}function wA(A){return function L(){return D.get(`${A}/v2/stats`)}}function KA(A){return function L(E){let N=new URLSearchParams;if(E?.interval)N.append("interval",E.interval);if(E?.count)N.append("count",E.count.toString());if(E?.from)N.append("from",E.from.toString());if(E?.to)N.append("to",E.to.toString());let T=N.toString()?`?${N.toString()}`:"";return D.get(`${A}/v2/history/earnings${T}`)}}function cA(A){return function L(E,N){let T=new URLSearchParams;if(N?.interval)T.append("interval",N.interval);if(N?.count)T.append("count",N.count.toString());if(N?.from)T.append("from",N.from.toString());if(N?.to)T.append("to",N.to.toString());let b=T.toString()?`?${T.toString()}`:"",P=E?`/swaps/${E}`:"/swaps";return D.get(`${A}/v2/history${P}${b}`)}}function iA(A){return function L(E){let N=new URLSearchParams;if(E?.interval)N.append("interval",E.interval);if(E?.count)N.append("count",E.count.toString());if(E?.from)N.append("from",E.from.toString());if(E?.to)N.append("to",E.to.toString());let T=N.toString()?`?${N.toString()}`:"";return D.get(`${A}/v2/history/tvl${T}`)}}function UA(A){if(!A)return"";let L=new URLSearchParams,E=(N,T)=>{if(T!==void 0)L.append(N,typeof T==="number"?T.toString():T)};return E("address",A.address),E("txid",A.txid),E("asset",A.asset),E("type",A.type),E("affiliate",A.affiliate),E("limit",A.limit),E("offset",A.offset),L.toString()?`?${L.toString()}`:""}function tA(A){return function L(E){let N=UA(E);return D.get(`${A}/v2/actions${N}`)}}function dA(A){return function L(E){return D.get(`${A}/v2/member/${E}`)}}function rA(A){return function L(E){let N=E?`/${E}`:"";return D.get(`${A}/v2/members${N}`)}}function oA(A){return function L(E,N){let T=N?`&asset=${N}`:"";return D.get(`${A}/v2/saver/${E}${T?`?${T.substring(1)}`:""}`)}}function yA(A){return function L(E){return D.get(`${A}/v2/savers/${E}`)}}function qA(A){return function L(E,N){let T=new URLSearchParams;if(N?.interval)T.append("interval",N.interval);if(N?.count)T.append("count",N.count.toString());if(N?.from)T.append("from",N.from.toString());if(N?.to)T.append("to",N.to.toString());let b=T.toString()?`?${T.toString()}`:"",P=E?`/savers/${E}`:"/savers";return D.get(`${A}/v2/history${P}${b}`)}}function pA(A){return function L(E){return D.get(`${A}/v2/balance/${E}`)}}function lA(A){return async function L(E){try{return await D.get(`${A}/lookup/${E}`)}catch(N){if(N?.info?.status===404)return;throw N}}}function sA(A){return async function L(E){try{return await D.get(`${A}/rlookup/${E}`)}catch(N){if(N?.info?.status===404)return[];throw N}}}function aA(A){return async function L(E){try{return await D.get(`${A}/owner/${E}`)}catch(N){if(N?.info?.status===404)return[];throw N}}}function u({asset:A,value:L}){return BA.from({asset:A,fromBaseDecimal:gA.THOR,value:L})}function eA({liquidityPositionGetter:A,isThorchain:L}){return async function E(N){let T=await A(N),b=L?"rune":"cacao";return T.pools.map((P)=>({[`${b}Pending`]:u({asset:"THOR.RUNE",value:P.runePending}),[`${b}RegisteredAddress`]:P.runeAddress,[`${b}Withdrawn`]:u({asset:"THOR.RUNE",value:P.runeWithdrawn}),[b]:u({asset:"THOR.RUNE",value:P.runeAdded}),asset:u({asset:P.pool,value:P.assetAdded}),assetPending:u({asset:P.pool,value:P.assetPending}),assetRegisteredAddress:P.assetAddress,assetWithdrawn:u({asset:P.pool,value:P.assetWithdrawn}),dateFirstAdded:P.dateFirstAdded,dateLastAdded:P.dateLastAdded,poolShare:new uA(P.liquidityUnits).div(P.pool)}))}}function r(A){let L=A===j.THORChain,E=d(L),N=WA(L),T=dA(E);return{getActions:tA(E),getBalance:pA(E),getConstants:QA(E),getEarningsHistory:KA(E),getHealth:vA(E),getLiquidityPosition:eA({isThorchain:L,liquidityPositionGetter:T}),getLiquidityPositionRaw:T,getMembers:rA(E),getMimir:kA(E),getMimirVotes:hA(E),getNameDetails:lA(N),getNamesByAddress:sA(N),getNamesByOwner:aA(N),getNetworkInfo:ZA(E),getNode:jA(E),getNodes:JA(E),getPool:$A(E),getPoolDepthHistory:zA(E),getPoolStats:xA(E),getPools:fA(E),getSaverDetails:oA(E),getSavers:yA(E),getSaversHistory:qA(E),getStats:wA(E),getSwapHistory:cA(E),getTVLHistory:iA(E)}}var o=r(j.THORChain),y=r(j.Maya);var K={};Z(K,{getTrackerDetails:()=>fE,getTokenListProviders:()=>w,getTokenList:()=>zE,getSwapQuote:()=>$E,getPrice:()=>ZE,getNearDepositChannel:()=>jE,getGasRate:()=>vE,getChainflipDepositChannel:()=>JE,getChainBalance:()=>xE});import{EVMChains as gE,isGasAsset as uE,RequestClient as WE,SKConfig as Q,SwapKitError as _}from"@swapkit/helpers";import{Chain as h,ChainId as v,ErrorCode as AE,FeeTypeEnum as EE,ProviderName as F,WarningCodeEnum as nE}from"@swapkit/helpers";import{array as C,boolean as X,coerce as p,number as m,object as H,optional as O,string as n,union as l,unknown as z,z as I}from"zod/v4";var s;((N)=>{N.CHEAPEST="CHEAPEST";N.FASTEST="FASTEST";N.RECOMMENDED="RECOMMENDED"})(s||={});var k;((T)=>{T.PSBT="PSBT";T.EVM="EVM";T.COSMOS="COSMOS";T.RADIX="RADIX"})(k||={});var a;((G)=>{G.native_send="native_send";G.token_transfer="token_transfer";G.native_contract_call="native_contract_call";G.token_contract_call="token_contract_call";G.approve="approve";G.deposit="deposit";G.thorname_action="thorname_action";G.lp_action="lp_action";G.swap="swap";G.streaming_swap="streaming_swap";G.stake="stake";G.claim="claim";G.lending="lending";G.unknown="unknown"})(a||={});var e;((b)=>{b.unknown="unknown";b.not_started="not_started";b.pending="pending";b.swapping="swapping";b.completed="completed"})(e||={});var AA;((S)=>{S.not_started="not_started";S.starting="starting";S.broadcasted="broadcasted";S.mempool="mempool";S.inbound="inbound";S.outbound="outbound";S.swapping="swapping";S.completed="completed";S.refunded="refunded";S.partially_refunded="partially_refunded";S.dropped="dropped";S.reverted="reverted";S.replaced="replaced";S.retries_exceeded="retries_exceeded";S.parsing_error="parsing_error"})(AA||={});var mn=H({address:O(n()),chain:I.enum(h).optional(),chainId:I.enum(v),coingeckoId:O(n()),decimals:p.number(),extensions:O(I.looseObject({})),identifier:n(),logoURI:O(n()),name:O(n()),shortCode:O(n()),symbol:O(n()),ticker:n()}),Dn=I.object({block:I.optional(I.number().describe("Block number. Required for Polkadot chain. e.g. `123456`")),chainId:I.optional(I.string().describe("ChainId for the hash. e.g. `thorchain-1`")),depositChannelId:I.optional(I.string().describe("Deposit channel ID, required for Chainflip if tx was broadcasted without wallet connection")),hash:I.optional(I.string().describe("Hash for the first transaction broadcasted by the end user. e.g. `88D1819378ECD09E5284C54937CDC1E99B52F253C007617A02DD1200710CE677`"))}).refine((A)=>A.hash&&A.chainId||A.depositChannelId,{message:"Either `hash` and `chainId` or `depositChannelId` must be provided"}),Cn=I.object({forceUpdate:I.string().toLowerCase().transform((A)=>A==="true").pipe(I.boolean()).optional()}),bn=H({error:n(),message:n()}),W=H({address:O(n()),chain:I.enum(h),decimal:O(m()),isGasAsset:X(),isSynthetic:X(),symbol:n(),tax:O(H({buy:m(),sell:m()})),ticker:n()}),NE=H({id:n(),market_cap:m(),name:n(),price_change_24h_usd:m(),price_change_percentage_24h_usd:m(),sparkline_in_7d:C(m()),timestamp:n(),total_volume:m()}),EA=C(H({cg:NE.optional(),identifier:n(),price_usd:m(),provider:n(),timestamp:m()}).partial()),Pn=H({affiliate:O(n().describe("Affiliate thorname")),affiliateFee:O(m().describe("Affiliate fee in basis points").refine((A)=>A===Math.floor(A)&&A>=0,{message:"affiliateFee must be a positive integer",path:["affiliateFee"]})),allowSmartContractReceiver:O(X().describe("Allow smart contract as recipient")),allowSmartContractSender:O(X().describe("Allow smart contract as sender")),buyAsset:n().describe("Asset to buy"),cfBoost:O(X().describe("Set to true to enable CF boost to speed up Chainflip swaps. BTC only.")),destinationAddress:O(n().describe("Address to send asset to")),disableSecurityChecks:O(X().describe("Disable security checks")),includeTx:O(X().describe("Set to true to include an transaction object (EVM only)")),providers:O(C(n().describe("List of providers to use").refine((A)=>F[A]!==void 0,{message:"Invalid provider",path:["providers"]}))),referrer:O(n().describe("Referrer address (referral program)")),sellAmount:n().describe("Amount of asset to sell").refine((A)=>+A>0,{message:"sellAmount must be greater than 0",path:["sellAmount"]}),sellAsset:n().describe("Asset to sell"),slippage:O(m().describe("Slippage tolerance as a percentage. Default is 3%.")),sourceAddress:O(n().describe("Address to send asset from"))}).refine((A)=>A.sellAsset!==A.buyAsset,{message:"Must be different",path:["sellAsset","buyAsset"]}),Sn=H({metadata:X(),tokens:C(H({identifier:n()}))}),nA=H({destinationAddress:n()}),LE=nA.extend({affiliateFees:C(H({brokerAddress:n(),feeBps:m()})).optional(),brokerCommissionBps:m().optional(),buyAsset:H({asset:n(),chain:n()}),channelMetadata:H({cfParameters:n().optional(),gasBudget:n().optional(),message:n().optional()}).optional(),dcaParameters:H({chunkInterval:m().optional(),numberOfChunks:m().optional()}).optional(),maxBoostFeeBps:m().optional(),refundParameters:H({minPrice:n().optional(),refundAddress:n().optional(),retryDuration:m().optional()}).optional(),sellAsset:H({asset:n(),chain:n()})}),NA=H({channelId:n(),depositAddress:n()}),IE=nA.extend({affiliateFees:H({feeBps:m(),nearId:n()}).optional(),buyAsset:n(),sellAmount:n(),sellAsset:n(),slippage:p.number(),sourceAddress:n()}),q=H({amountIn:n(),amountInFormatted:n(),amountInUsd:n(),amountOut:n(),amountOutFormatted:n(),amountOutUsd:n(),deadline:n().optional(),minAmountIn:n(),minAmountOut:n(),timeEstimate:m().optional(),timeWhenInactive:n().optional()}),Gn=q.extend({depositAddress:n(),quote:q,signature:n(),timestamp:n(),tx:z()}),LA=H({buyAsset:n(),buyAssetAmount:n(),buyAssetAmountMaxSlippage:n(),deadline:n().optional(),depositAddress:n(),depositAmount:n(),depositAsset:n(),tx:z()}),OE=H({evmCalldata:O(n()),logs:O(z()),memo:O(n()),spender:O(n())}),TE=H({currentLegIndex:O(m()),estimatedFinalisedAt:m(),estimatedTimeToComplete:m(),providerDetails:O(z()),updatedAt:m()}),HE=H({affiliate:O(W),liquidity:O(W),network:O(W),protocol:O(W),tax:O(W)}),mE=H({affiliate:O(n()),broadcastedAt:O(m()),explorerUrl:O(n()),fees:O(HE),images:O(H({chain:O(n()),from:O(n()),provider:O(n()),to:O(n())})),provider:O(I.enum(F)),quoteId:O(n()),wallet:O(n())}),f=I.object({block:I.number(),chainId:I.enum(v),finalAddress:I.optional(I.string()),finalAsset:I.optional(W),finalisedAt:I.number(),fromAddress:I.string(),fromAmount:I.string(),fromAsset:I.string(),hash:I.string(),meta:I.optional(mE),payload:I.optional(OE),status:I.enum(e),toAddress:I.string(),toAmount:I.string(),toAsset:I.string(),trackingStatus:I.optional(I.enum(AA)),transient:I.optional(TE),type:I.enum(a)}),_n=f.extend({legs:I.array(f)}),Yn=f.extend({legs:C(f)}),Mn=f.extend({legs:C(f)}),IA=C(H({amount:n(),asset:n(),chain:n(),protocol:I.enum(F),type:I.enum(EE)})),OA=I.object({inbound:I.optional(I.number().describe("Time to receive inbound asset in seconds")),outbound:I.optional(I.number().describe("Time to receive outbound asset in seconds")),swap:I.optional(I.number().describe("Time to swap assets in seconds")),total:I.number().describe("Total time in seconds")}),DE=H({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")}),CE=C(l([n(),m(),C(n()),H({from:n(),value:n()}).describe("Parameters to pass to the contract method")])),Rn=H({approvalSpender:O(n().describe("Address of the spender to approve")),approvalToken:O(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:C(n().describe("Names of the parameters to pass to the contract method")),contractParams:CE}),bE=H({typeUrl:n(),value:z()}),PE=H({amount:C(H({amount:n(),denom:n()})),gas:n()}),SE=H({accountNumber:m(),chainId:I.enum(v),fee:PE,memo:n(),msgs:C(bE),sequence:m()}),GE=H({affiliate:n().describe("Affiliate address").optional(),affiliateFee:m().describe("Affiliate fee").optional(),buyAsset:n().describe("Asset to buy"),destinationAddress:n().describe("Destination address"),estimatedTime:OA.optional(),provider:I.enum(F),sellAsset:n().describe("Asset to sell"),slipPercentage:m().describe("Slippage as a percentage"),sourceAddress:n().describe("Source address")}),Vn=GE.omit({destinationAddress:!0,slipPercentage:!0,sourceAddress:!0}),_E=H({asset:n().describe("Asset name"),image:n().describe("Asset image"),price:m().describe("Price in USD")}),YE=LE,ME=H({assets:O(C(_E)),maxStreamingQuantity:m().optional(),referrer:n().optional(),streamingInterval:m().optional(),tags:C(I.enum(s))}),RE=ME.extend({affiliate:O(n()),affiliateFee:O(n()),approvalAddress:O(n().describe("Approval address for swap")),chainflip:YE.optional(),near:IE.optional(),priceImpact:O(m().describe("Price impact")),referrer:O(n()),txType:O(I.enum(k))}),VE=C(H({code:I.enum(nE),display:n(),tooltip:n().optional()})),XE=H({buyAmount:n().describe("Buy amount"),buyAmountMaxSlippage:n().describe("Buy amount max slippage"),buyAsset:n().describe("Asset to buy"),fees:O(IA),provider:I.enum(F),sellAmount:n().describe("Sell amount"),sellAsset:n().describe("Asset to sell")}),FE=H({buyAsset:n().describe("Asset to buy"),destinationAddress:n().describe("Destination address"),estimatedTime:O(OA),expectedBuyAmount:n().describe("Expected Buy amount"),expectedBuyAmountMaxSlippage:n().describe("Expected Buy amount max slippage"),expiration:O(n().describe("Expiration")),fees:IA,inboundAddress:O(n().describe("Inbound address")),legs:C(XE),memo:O(n().describe("Memo")),meta:RE,providers:C(I.enum(F)),sellAmount:n().describe("Sell amount"),sellAsset:n().describe("Asset to sell"),sourceAddress:n().describe("Source address"),targetAddress:O(n().describe("Target address")),totalSlippageBps:m().describe("Total slippage in bps"),tx:O(l([DE,SE,n()])),txType:O(I.enum(k)),warnings:VE}),TA=H({error:O(n().describe("Error message")),providerErrors:O(C(H({errorCode:O(I.enum(AE)),message:O(n()),provider:I.enum(F).optional()}))),quoteId:n().describe("Quote ID"),routes:C(FE)}),HA=I.object({chainId:I.enum(v),createdAt:I.date(),id:I.number(),unit:I.string(),value:I.string()}),BE=I.array(HA),mA=I.union([HA,BE]),Xn=C(H({chain:I.enum(h),decimal:m(),identifier:n(),symbol:n(),ticker:n(),value:n()}));var R=WE.extend({dynamicHeader:()=>{let{swapKit:A}=Q.get("apiKeys");return A?{"x-api-key":A}:{}}});function fE(A){return R.post(V("/track"),{json:A})}async function $E(A){let L=await R.post(V("/quote"),{json:A});if(L.error)throw new _("api_v2_server_error",{message:L.error});try{let E=TA.safeParse(L);if(!E.success)throw new _("api_v2_invalid_response",E.error);return E.data}catch(E){return L}}async function xE({chain:A,address:L,scamFilter:E=!0}){let N=V(`/balance?chain=${A}&address=${L}`),T=await R.get(N),b=Array.isArray(T)?T:[];return E?QE(b):b}function w(){let A=V("/providers");return R.get(A)}function zE(A){let L=V(`/tokens?provider=${A}`);return R.get(L)}async function ZE(A){let L=V("/price"),E=await R.post(L,{json:A});try{let N=EA.safeParse(E);if(!N.success)throw new _("api_v2_invalid_response",N.error);return N.data}catch(N){throw new _("api_v2_invalid_response",N)}}async function vE(){let A=V("/gas"),L=await R.get(A);try{let E=mA.safeParse(L);if(!E.success)throw new _("api_v2_invalid_response",E.error);return Array.isArray(E)?E:[E]}catch(E){throw new _("api_v2_invalid_response",E)}}async function JE(A){let{destinationAddress:L}=A;if(!L)throw new _("chainflip_broker_invalid_params");let E=Q.get("integrations").chainflip?.brokerUrl||V("/chainflip/broker/channel"),N=await R.post(E,{json:A});try{let T=NA.safeParse(N);if(!T.success)throw new _("api_v2_invalid_response",T.error);return T.data}catch(T){throw new _("api_v2_invalid_response",T)}}async function jE(A){let{destinationAddress:L}=A;if(!L)throw new _("chainflip_broker_invalid_params");let E=V("/near/channel"),N=await R.post(E,{json:A});try{let T=LA.safeParse(N);if(!T.success)throw new _("api_v2_invalid_response",T.error);return T.data}catch(T){throw new _("api_v2_invalid_response",T)}}function V(A){let{isDev:L,apiUrl:E,devApiUrl:N}=Q.get("envs");return`${L?N:E}${A}`}function hE(A){let[L,E]=A.split(".");if(!gE.includes(L))return!0;let N=E.split("-"),T=N.length===1?void 0:N[N.length-1];return uE({chain:L,symbol:E})||!!T}var kE=new RegExp(/(.)\1{6}|\.ORG|\.NET|\.FINANCE|\.COM|WWW|HTTP|\\\\|\/\/|[\s$%:[\]]/,"gmi");function QE(A){return A.filter((L)=>{return!kE.test(L.identifier)&&hE(L.identifier)})}var c={};Z(c,{getThorchainQueue:()=>iE,getTcyStakers:()=>pE,getTcyStaker:()=>qE,getTcyClaimers:()=>sE,getTcyClaimer:()=>lE,getTNSPreferredAsset:()=>rE,getTHORNodeTNSDetails:()=>PA,getRunePoolProviderInfo:()=>yE,getRunePoolInfo:()=>oE,getNodes:()=>UE,getMimirInfo:()=>tE,getLastBlock:()=>cE,getInboundAddresses:()=>dE});import{AssetValue as wE,Chain as DA,RequestClient as Y,SKConfig as CA,StagenetChain as bA}from"@swapkit/helpers";function M(A){let{isStagenet:L}=CA.get("envs"),E=CA.get("nodeUrls");switch(A){case"mayachain":return`${E[L?bA.Maya:DA.Maya]}/mayachain`;default:return`${E[L?bA.THORChain:DA.THORChain]}/thorchain`}}function KE(A){let L=A==="mayachain"?"mayaname":"thorname";return`${M(A)}/${L}`}function cE(A="thorchain"){return Y.get(`${M(A)}/lastblock`)}function iE(A){return Y.get(`${M(A)}/queue`)}function UE(A){return Y.get(`${M(A)}/nodes`)}function tE(A){return Y.get(`${M(A)}/mimir`)}function dE(A){return Y.get(`${M(A)}/inbound_addresses`)}async function PA({type:A,name:L}){try{return await Y.get(`${KE(A)}/${L}`)}catch(E){return{affiliate_collector_rune:"",aliases:[],expire_block_height:0,name:L,owner:"",preferred_asset:""}}}async function rE({type:A,tns:L}){let E=await PA({name:L,type:A});if(!E.preferred_asset||E.preferred_asset===".")return;return wE.from({asset:E.preferred_asset,asyncTokenLookup:!0})}function oE(A){return Y.get(`${M(A)}/runepool`)}function yE({type:A,thorAddress:L}){return Y.get(`${M(A)}/rune_provider/${L}`)}function qE({type:A,address:L}){return Y.get(`${M(A)}/tcy_staker/${L}`)}function pE(A){return Y.get(`${M(A)}/tcy_stakers`)}function lE({type:A,address:L}){return Y.get(`${M(A)}/tcy_claimer/${L}`)}function sE(A){return Y.get(`${M(A)}/tcy_claimers`)}var i={};Z(i,{getProviderLogo:()=>nn,getLogoForAsset:()=>An,getChainLogoForAsset:()=>En});import{AssetValue as GA,Chain as aE,getChainIdentifier as eE}from"@swapkit/helpers";var _A="https://static.thorswap.net";function An(A){let L=Nn(A);return`${_A}/token-list/images/${L}.png`}function En(A){let{chain:L}=GA.from({asset:A}),E=eE(L).toLowerCase();return`${_A}/token-list/images/${E}.png`}var SA;async function nn(A){return SA||=await w(),SA.find((L)=>L.name===A)?.url}function Nn(A){let{symbol:L}=GA.from({asset:A});if(L===aE.Ethereum)return"eth.eth";return A.toLowerCase()}var xn={...K,...i,mayachainMidgard:y,microgard:J,thorchainMidgard:o,thornode:c};export{a as TxnType,e as TxnStatus,Yn as TransactionSchema,Mn as TransactionDTOSchema,AA as TrackingStatus,Dn as TrackingRequestSchema,Cn as TrackingRequestQuerySchema,_n as TrackerResponseSchema,mn as TokenSchema,NE as TokenDetailsMetadataSchema,xn as SwapKitApi,VE as RouteQuoteWarningSchema,k as RouteQuoteTxType,RE as RouteQuoteMetadataV2Schema,ME as RouteQuoteMetadataSchema,_E as RouteQuoteMetadataAssetSchema,Vn as RouteLegWithoutAddressesSchema,GE as RouteLegSchema,TA as QuoteResponseSchema,Pn as QuoteRequestSchema,s as PriorityLabel,EA as PriceResponseSchema,Sn as PriceRequestSchema,LA as NearSwapResponseSchema,Gn as NearDepositChannelResultSchema,IE as NearDepositChannelParamsSchema,HA as GasSchema,mA as GasResponseSchema,IA as FeesSchema,OA as EstimatedTimeSchema,DE as EVMTransactionSchema,Rn as EVMTransactionDetailsSchema,CE as EVMTransactionDetailsParamsSchema,NA as DepositChannelResponseSchema,nA as DepositChannelParamsSchema,SE as CosmosTransactionSchema,YE as ChainflipMetadataSchema,LE as BrokerDepositChannelParamsSchema,W as AssetValueSchema,bn as ApiV2ErrorSchema};
|
|
1
|
+
import{b as v}from"../chunk-hm14bfyg.js";import{AssetValue as gt,BaseDecimal as At,Chain as h,RequestClient as g,SwapKitNumber as Et}from"@swapkit/helpers";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 i(r){let e=r?`?status=${r}`:"";return g.get(`${t}/v2/pools${e}`)}}function Tt(t){return function i(r){return g.get(`${t}/v2/pool/${r}`)}}function Ht(t){return function i(r,e){let o=e?`?period=${e}`:"";return g.get(`${t}/v2/pool/${r}/stats${o}`)}}function It(t){return function i(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 g.get(`${t}/v2/history/depths/${r}${E}`)}}function Pt(t){return function i(){return g.get(`${t}/v2/network`)}}function ct(t){return function i(){return g.get(`${t}/v2/health`)}}function Ct(t){return function i(){return g.get(`${t}/v2/nodes`)}}function St(t){return function i(r){return g.get(`${t}/v2/node/${r}`)}}function Ot(t){return function i(){return g.get(`${t}/v2/mimir/votes`)}}function bt(t){return function i(){return g.get(`${t}/v2/mimir`)}}function dt(t){return function i(){return g.get(`${t}/v2/constants`)}}function Dt(t){return function i(){return g.get(`${t}/v2/stats`)}}function ft(t){return function i(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 g.get(`${t}/v2/history/earnings${o}`)}}function Rt(t){return function i(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 g.get(`${t}/v2/history${N}${E}`)}}function ht(t){return function i(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 g.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 i(r){let e=Bt(r);return g.get(`${t}/v2/actions${e}`)}}function vt(t){return function i(r){return g.get(`${t}/v2/member/${r}`)}}function Gt(t){return function i(r){let e=r?`/${r}`:"";return g.get(`${t}/v2/members${e}`)}}function lt(t){return function i(r,e){let o=e?`&asset=${e}`:"";return g.get(`${t}/v2/saver/${r}${o?`?${o.substring(1)}`:""}`)}}function $t(t){return function i(r){return g.get(`${t}/v2/savers/${r}`)}}function Ut(t){return function i(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 g.get(`${t}/v2/history${N}${E}`)}}function Vt(t){return function i(r){return g.get(`${t}/v2/balance/${r}`)}}function _t(t){return async function i(r){let e=(o)=>{if(o?.cause?.status===404)return;throw o};return await g.get(`${t}/lookup/${r}`,{onError:e,retry:{maxRetries:1}})}}function Yt(t){return async function i(r){let e=(o)=>{if(o?.cause?.status===404)return[];throw o};return await g.get(`${t}/rlookup/${r}`,{onError:e,retry:{maxRetries:1}})}}function Ft(t){return async function i(r){let e=(o)=>{if(o?.cause?.status===404)return[];throw o};return await g.get(`${t}/owner/${r}`,{onError:e,retry:{maxRetries:1}})}}function b({asset:t,value:i}){return gt.from({asset:t,fromBaseDecimal:At.THOR,value:i})}function Xt({liquidityPositionGetter:t,isThorchain:i}){return async function r(e){let o=await t(e),E=i?"rune":"cacao";return o.pools.map((N)=>({[`${E}Pending`]:b({asset:"THOR.RUNE",value:N.runePending}),[`${E}RegisteredAddress`]:N.runeAddress,[`${E}Withdrawn`]:b({asset:"THOR.RUNE",value:N.runeWithdrawn}),[E]:b({asset:"THOR.RUNE",value:N.runeAdded}),asset:b({asset:N.pool,value:N.assetAdded}),assetPending:b({asset:N.pool,value:N.assetPending}),assetRegisteredAddress:N.assetAddress,assetWithdrawn:b({asset:N.pool,value:N.assetWithdrawn}),dateFirstAdded:N.dateFirstAdded,dateLastAdded:N.dateLastAdded,poolShare:new Et(N.liquidityUnits).div(N.pool)}))}}function Y(t){let i=t===h.THORChain,r=_(i),e=Nt(i),o=vt(r);return{getActions:Mt(r),getBalance:Vt(r),getConstants:dt(r),getEarningsHistory:ft(r),getHealth:ct(r),getLiquidityPosition:Xt({isThorchain:i,liquidityPositionGetter:o}),getLiquidityPositionRaw:o,getMembers:Gt(r),getMimir:bt(r),getMimirVotes:Ot(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(h.THORChain),X=Y(h.Maya);var $={};v($,{getTrackerDetails:()=>Tn,getTokenListProviders:()=>l,getTokenList:()=>Pn,getSwapQuote:()=>Hn,getPrice:()=>cn,getNearDepositChannel:()=>On,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{Chain as B,ChainId as R,ErrorCode as pt,FeeTypeEnum as wt,ProviderName as O,WarningCodeEnum as yt}from"@swapkit/helpers";import{array as A,boolean as S,coerce as w,number as a,object as u,optional as m,string as n,union as y,unknown as f,z as s}from"zod/v4";var x;((e)=>{e.CHEAPEST="CHEAPEST";e.FASTEST="FASTEST";e.RECOMMENDED="RECOMMENDED"})(x||={});var M;((o)=>{o.PSBT="PSBT";o.EVM="EVM";o.COSMOS="COSMOS";o.RADIX="RADIX"})(M||={});var W;((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"})(W||={});var k;((E)=>{E.unknown="unknown";E.not_started="not_started";E.pending="pending";E.swapping="swapping";E.completed="completed"})(k||={});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 Jn=u({address:m(n()),chain:s.enum(B).optional(),chainId:s.enum(R),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()}),jn=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"}),Kn=s.object({forceUpdate:s.string().toLowerCase().transform((t)=>t==="true").pipe(s.boolean()).optional()}),qn=u({error:n(),message:n()}),d=u({address:m(n()),chain:s.enum(B),decimal:m(a()),isGasAsset:S(),isSynthetic:S(),symbol:n(),tax:m(u({buy:a(),sell:a()})),ticker:n()}),xt=u({id:n(),market_cap:a(),name:n(),price_change_24h_usd:a(),price_change_percentage_24h_usd:a(),sparkline_in_7d:A(a()),timestamp:n(),total_volume:a()}),z=A(u({cg:xt.optional(),identifier:n(),price_usd:a(),provider:n(),timestamp:a()}).partial()),tr=u({affiliate:m(n().describe("Affiliate thorname")),affiliateFee:m(a().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)=>O[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(a().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"]}),nr=u({metadata:S(),tokens:A(u({identifier:n()}))}),Z=u({destinationAddress:n()}),Wt=Z.extend({affiliateFees:A(u({brokerAddress:n(),feeBps:a()})).optional(),brokerCommissionBps:a().optional(),buyAsset:u({asset:n(),chain:n()}),channelMetadata:u({cfParameters:n().optional(),gasBudget:n().optional(),message:n().optional()}).optional(),dcaParameters:u({chunkInterval:a().optional(),numberOfChunks:a().optional()}).optional(),maxBoostFeeBps:a().optional(),refundParameters:u({minPrice:n().optional(),refundAddress:n().optional(),retryDuration:a().optional()}).optional(),sellAsset:u({asset:n(),chain:n()})}),J=u({channelId:n(),depositAddress:n()}),kt=Z.extend({affiliateFees:u({feeBps:a(),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:a().optional(),timeWhenInactive:n().optional()}),rr=p.extend({depositAddress:n(),quote:p,signature:n(),timestamp:n(),tx:f()}),j=u({buyAsset:n(),buyAssetAmount:n(),buyAssetAmountMaxSlippage:n(),deadline:n().optional(),depositAddress:n(),depositAmount:n(),depositAsset:n(),tx:f()}),Qt=u({evmCalldata:m(n()),logs:m(f()),memo:m(n()),spender:m(n())}),zt=u({currentLegIndex:m(a()),estimatedFinalisedAt:a(),estimatedTimeToComplete:a(),providerDetails:m(f()),updatedAt:a()}),Zt=u({affiliate:m(d),liquidity:m(d),network:m(d),protocol:m(d),tax:m(d)}),Jt=u({affiliate:m(n()),broadcastedAt:m(a()),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(O)),quoteId:m(n()),wallet:m(n())}),D=s.object({block:s.number(),chainId:s.enum(R),finalAddress:s.optional(s.string()),finalAsset:s.optional(d),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(k),toAddress:s.string(),toAmount:s.string(),toAsset:s.string(),trackingStatus:s.optional(s.enum(Q)),transient:s.optional(zt),type:s.enum(W)}),er=D.extend({legs:s.array(D)}),ir=D.extend({legs:A(D)}),or=D.extend({legs:A(D)}),K=A(u({amount:n(),asset:n(),chain:n(),protocol:s.enum(O),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(),a(),A(n()),u({from:n(),value:n()}).describe("Parameters to pass to the contract method")])),sr=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:f()}),tn=u({amount:A(u({amount:n(),denom:n()})),gas:n()}),nn=u({accountNumber:a(),chainId:s.enum(R),fee:tn,memo:n(),msgs:A(qt),sequence:a()}),rn=u({affiliate:n().describe("Affiliate address").optional(),affiliateFee:a().describe("Affiliate fee").optional(),buyAsset:n().describe("Asset to buy"),destinationAddress:n().describe("Destination address"),estimatedTime:q.optional(),provider:s.enum(O),sellAsset:n().describe("Asset to sell"),slipPercentage:a().describe("Slippage as a percentage"),sourceAddress:n().describe("Source address")}),mr=rn.omit({destinationAddress:!0,slipPercentage:!0,sourceAddress:!0}),en=u({asset:n().describe("Asset name"),image:n().describe("Asset image"),price:a().describe("Price in USD")}),on=Wt,sn=u({assets:m(A(en)),maxStreamingQuantity:a().optional(),referrer:n().optional(),streamingInterval:a().optional(),tags:A(s.enum(x))}),mn=sn.extend({affiliate:m(n()),affiliateFee:m(n()),approvalAddress:m(n().describe("Approval address for swap")),chainflip:on.optional(),near:kt.optional(),priceImpact:m(a().describe("Price impact")),referrer:m(n()),txType:m(s.enum(M))}),un=A(u({code:s.enum(yt),display:n(),tooltip:n().optional()})),an=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(O),sellAmount:n().describe("Sell amount"),sellAsset:n().describe("Asset to sell")}),gn=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(an),memo:m(n().describe("Memo")),meta:mn,providers:A(s.enum(O)),sellAmount:n().describe("Sell amount"),sellAsset:n().describe("Asset to sell"),sourceAddress:n().describe("Source address"),targetAddress:m(n().describe("Target address")),totalSlippageBps:a().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(O).optional()}))),quoteId:n().describe("Quote ID"),routes:A(gn)}),nt=s.object({chainId:s.enum(R),createdAt:s.date(),id:s.number(),unit:s.string(),value:s.string()}),An=s.array(nt),rt=s.union([nt,An]),ur=A(u({chain:s.enum(B),decimal:a(),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 On(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 bn(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 dn=new RegExp(/(.)\1{6}|\.ORG|\.NET|\.FINANCE|\.COM|WWW|HTTP|\\\\|\/\/|[\s$%:[\]]/,"gmi");function Dn(t){return t.filter((i)=>{return!dn.test(i.identifier)&&bn(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 fn,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 fn.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:()=>xn,getLogoForAsset:()=>wn,getChainLogoForAsset:()=>yn});import{AssetValue as ut,Chain as Xn,getChainIdentifier as pn}from"@swapkit/helpers";var at="https://static.thorswap.net";function wn(t){let i=Wn(t);return`${at}/token-list/images/${i}.png`}function yn(t){let{chain:i}=ut.from({asset:t}),r=pn(i).toLowerCase();return`${at}/token-list/images/${r}.png`}var mt;async function xn(t){return mt||=await l(),mt.find((i)=>i.name===t)?.url}function Wn(t){let{symbol:i}=ut.from({asset:t});if(i===Xn.Ethereum)return"eth.eth";return t.toLowerCase()}var Hr={...$,...V,mayachainMidgard:X,thorchainMidgard:F,thornode:U};export{W as TxnType,k as TxnStatus,ir as TransactionSchema,or as TransactionDTOSchema,Q as TrackingStatus,jn as TrackingRequestSchema,Kn as TrackingRequestQuerySchema,er as TrackerResponseSchema,Jn as TokenSchema,xt as TokenDetailsMetadataSchema,Hr as SwapKitApi,un as RouteQuoteWarningSchema,M as RouteQuoteTxType,mn as RouteQuoteMetadataV2Schema,sn as RouteQuoteMetadataSchema,en as RouteQuoteMetadataAssetSchema,mr as RouteLegWithoutAddressesSchema,rn as RouteLegSchema,tt as QuoteResponseSchema,tr as QuoteRequestSchema,x as PriorityLabel,z as PriceResponseSchema,nr as PriceRequestSchema,j as NearSwapResponseSchema,rr as NearDepositChannelResultSchema,kt as NearDepositChannelParamsSchema,nt as GasSchema,rt as GasResponseSchema,K as FeesSchema,q as EstimatedTimeSchema,jt as EVMTransactionSchema,sr as EVMTransactionDetailsSchema,Kt as EVMTransactionDetailsParamsSchema,J as DepositChannelResponseSchema,Z as DepositChannelParamsSchema,nn as CosmosTransactionSchema,on as ChainflipMetadataSchema,Wt as BrokerDepositChannelParamsSchema,d as AssetValueSchema,qn as ApiV2ErrorSchema};
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=4F49CF10FCF114F364756E2164756E21
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
package/dist/api/index.js.map
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../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/thorswapStatic/endpoints.ts", "../src/api/index.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
|
-
"import { AssetValue, BaseDecimal, type Chain, RequestClient, SwapKitNumber } from \"@swapkit/helpers\";\nimport type { LiquidityPositionRaw, MicroguardTHORNameDetails, PoolDetail, PoolPeriod } from \"./types\";\n\n/**\n * TODO: Move to SKConfig under midgardUrls.microgard\n */\nconst baseUrl = \"https://mu.thorswap.net\";\n\nexport function getTHORNameDetails(thorname: string) {\n return RequestClient.get<MicroguardTHORNameDetails>(`${baseUrl}/thorname/lookup/${thorname}`);\n}\n\nexport function getTHORNamesByOwner(owner: string) {\n return RequestClient.get<string[]>(`${baseUrl}/thorname/owner/${owner}`);\n}\n\nexport function getTHORNamesByAddress(address: string) {\n return RequestClient.get<string[]>(`${baseUrl}/thorname/address/${address}`);\n}\n\nexport function getTHORChainPools(period: PoolPeriod) {\n return RequestClient.get<PoolDetail[]>(`${baseUrl}/pools`, { searchParams: { period } });\n}\n\nexport function getLiquidityPositionsRaw(addresses: string[]) {\n return RequestClient.get<LiquidityPositionRaw[]>(`${baseUrl}/fullmember?address=${addresses.join(\",\")}`);\n}\n\nexport async function getTNSChainAddress({ chain, tns }: { chain: Chain; tns: string }) {\n const tnsDetails = await getTHORNameDetails(tns);\n\n return tnsDetails?.entries?.find((e) => e.chain.toLowerCase() === chain.toLowerCase())?.address;\n}\n\nexport async function getLiquidityPositions(addresses: string[]) {\n const rawLiquidityPositions = await getLiquidityPositionsRaw(addresses);\n\n return rawLiquidityPositions.map((p) => ({\n asset: AssetValue.from({ asset: p.pool, fromBaseDecimal: BaseDecimal.THOR, value: p.assetAdded }),\n assetPending: AssetValue.from({ asset: p.pool, fromBaseDecimal: BaseDecimal.THOR, value: p.assetPending }),\n assetRegisteredAddress: p.assetAddress,\n assetWithdrawn: AssetValue.from({ asset: p.pool, fromBaseDecimal: BaseDecimal.THOR, value: p.assetWithdrawn }),\n dateFirstAdded: p.dateFirstAdded,\n dateLastAdded: p.dateLastAdded,\n poolShare: new SwapKitNumber(p.sharedUnits).div(p.poolUnits),\n rune: AssetValue.from({ asset: \"THOR.RUNE\", fromBaseDecimal: BaseDecimal.THOR, value: p.runeAdded }),\n runePending: AssetValue.from({ asset: \"THOR.RUNE\", fromBaseDecimal: BaseDecimal.THOR, value: p.runePending }),\n runeRegisteredAddress: p.runeAddress,\n runeWithdrawn: AssetValue.from({ asset: \"THOR.RUNE\", fromBaseDecimal: BaseDecimal.THOR, value: p.runeWithdrawn }),\n }));\n}\n",
|
|
6
|
-
"import { AssetValue, BaseDecimal, Chain, RequestClient, SwapKitNumber } from \"@swapkit/helpers\";\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 Chain.THORChain | Chain.Maya>(baseUrl: string) {\n return function getLiquidityPosition(\n address: string,\n ): Promise<Chain extends Chain.THORChain ? MemberDetailsThorchain : MemberDetailsMayachain> {\n return RequestClient.get<Chain extends 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 try {\n return await RequestClient.get<THORNameDetails>(`${baseUrl}/lookup/${name}`);\n } catch (error: any) {\n // Return empty array when no names found for owner (404)\n if (error?.info?.status === 404) {\n return undefined;\n }\n throw error;\n }\n };\n}\n\nfunction getNamesByAddress(baseUrl: string) {\n return async function getNamesByAddress(address: string) {\n try {\n return await RequestClient.get<string[]>(`${baseUrl}/rlookup/${address}`);\n } catch (error: any) {\n // Return empty array when no names found for owner (404)\n if (error?.info?.status === 404) {\n return [];\n }\n throw error;\n }\n };\n}\n\nfunction getNamesByOwner(baseUrl: string) {\n return async function getNamesByOwner(address: string) {\n try {\n return await RequestClient.get<string[]>(`${baseUrl}/owner/${address}`);\n } catch (error: any) {\n // Return empty array when no names found for owner (404)\n if (error?.info?.status === 404) {\n return [];\n }\n throw error;\n }\n };\n}\n\nfunction getPoolAsset({ asset, value }: { asset: string; value: string }) {\n return AssetValue.from({ asset, fromBaseDecimal: BaseDecimal.THOR, value });\n}\n\nfunction getLiquidityPosition<IsThorchain extends boolean = true>({\n liquidityPositionGetter,\n isThorchain,\n}: {\n liquidityPositionGetter: ReturnType<\n typeof getLiquidityPositionRaw<IsThorchain extends true ? Chain.THORChain : 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 Chain.THORChain | Chain.Maya>(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",
|
|
5
|
+
"import { AssetValue, BaseDecimal, Chain, RequestClient, SwapKitNumber } from \"@swapkit/helpers\";\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 Chain.THORChain | Chain.Maya>(baseUrl: string) {\n return function getLiquidityPosition(\n address: string,\n ): Promise<Chain extends Chain.THORChain ? MemberDetailsThorchain : MemberDetailsMayachain> {\n return RequestClient.get<Chain extends 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: BaseDecimal.THOR, value });\n}\n\nfunction getLiquidityPosition<IsThorchain extends boolean = true>({\n liquidityPositionGetter,\n isThorchain,\n}: {\n liquidityPositionGetter: ReturnType<\n typeof getLiquidityPositionRaw<IsThorchain extends true ? Chain.THORChain : 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 Chain.THORChain | Chain.Maya>(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",
|
|
7
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 return SKRequestClient.post<TrackerResponse>(getApiUrl(\"/track\"), { json });\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 (_error) {\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",
|
|
8
7
|
"import { Chain, ChainId, ErrorCode, FeeTypeEnum, ProviderName, WarningCodeEnum } from \"@swapkit/helpers\";\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",
|
|
9
8
|
"import { AssetValue, Chain, RequestClient, SKConfig, StagenetChain } from \"@swapkit/helpers\";\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 const nodeUrls = SKConfig.get(\"nodeUrls\");\n\n switch (type) {\n case \"mayachain\": {\n const mayaNodeUrl = nodeUrls[isStagenet ? StagenetChain.Maya : Chain.Maya];\n\n return `${mayaNodeUrl}/mayachain`;\n }\n default: {\n const thorNodeUrl = nodeUrls[isStagenet ? StagenetChain.THORChain : Chain.THORChain];\n\n return `${thorNodeUrl}/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 (_error) {\n // If we get an error, the name doesn't exist and is available for registration\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",
|
|
10
9
|
"import { AssetValue, Chain, getChainIdentifier, type ProviderName } from \"@swapkit/helpers\";\n\nimport { getTokenListProviders } from \"../swapkitApi/endpoints\";\nimport type { TokenListProvidersResponse } from \"../swapkitApi/types\";\n\nconst baseUrl = \"https://static.thorswap.net\";\n\nexport function getLogoForAsset(assetString: string) {\n const mappedAssetIcon = getMappedAssetIcon(assetString);\n\n return `${baseUrl}/token-list/images/${mappedAssetIcon}.png`;\n}\n\nexport function getChainLogoForAsset(assetString: string) {\n const { chain } = AssetValue.from({ asset: assetString });\n const chainIdentifier = getChainIdentifier(chain).toLowerCase();\n\n return `${baseUrl}/token-list/images/${chainIdentifier}.png`;\n}\n\nlet providerData: TokenListProvidersResponse;\n\nexport async function getProviderLogo(providerName: ProviderName | string) {\n providerData ||= await getTokenListProviders();\n\n return providerData.find((p) => p.name === providerName)?.url;\n}\n\nfunction getMappedAssetIcon(assetString: string) {\n const { symbol } = AssetValue.from({ asset: assetString });\n\n if (symbol === Chain.Ethereum) return \"eth.eth\";\n\n return assetString.toLowerCase();\n}\n",
|
|
11
|
-
"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"
|
|
12
11
|
],
|
|
13
|
-
"mappings": "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",
|
|
14
|
-
"debugId": "
|
|
12
|
+
"mappings": "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",
|
|
13
|
+
"debugId": "4F49CF10FCF114F364756E2164756E21",
|
|
15
14
|
"names": []
|
|
16
15
|
}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import * as microgard from "./microgard/endpoints";
|
|
2
1
|
import * as thornode from "./thornode/endpoints";
|
|
3
|
-
export * from "./microgard/types";
|
|
4
2
|
export * from "./midgard/types";
|
|
5
3
|
export * from "./swapkitApi/types";
|
|
6
4
|
export * from "./thornode/types";
|
|
@@ -26,7 +24,7 @@ export declare const SwapKitApi: {
|
|
|
26
24
|
getMembers: (pool?: string) => Promise<string[]>;
|
|
27
25
|
getMimir: () => Promise<Record<string, string>>;
|
|
28
26
|
getMimirVotes: () => Promise<import(".").MimirVote[]>;
|
|
29
|
-
getNameDetails: (name: string) => Promise<import(".").THORNameDetails
|
|
27
|
+
getNameDetails: (name: string) => Promise<import(".").THORNameDetails>;
|
|
30
28
|
getNamesByAddress: (address: string) => Promise<string[]>;
|
|
31
29
|
getNamesByOwner: (address: string) => Promise<string[]>;
|
|
32
30
|
getNetworkInfo: () => Promise<import(".").NetworkInfo>;
|
|
@@ -43,7 +41,6 @@ export declare const SwapKitApi: {
|
|
|
43
41
|
getSwapHistory: (pool?: string, query?: import(".").HistoryQuery) => Promise<import(".").SwapHistory>;
|
|
44
42
|
getTVLHistory: (query?: import(".").HistoryQuery) => Promise<import(".").TVLHistory>;
|
|
45
43
|
};
|
|
46
|
-
microgard: typeof microgard;
|
|
47
44
|
thorchainMidgard: {
|
|
48
45
|
getActions: (query?: import(".").ActionQuery) => Promise<import(".").PagedResponse<import(".").Action>>;
|
|
49
46
|
getBalance: (address: string) => Promise<import(".").Balance[]>;
|
|
@@ -64,7 +61,7 @@ export declare const SwapKitApi: {
|
|
|
64
61
|
getMembers: (pool?: string) => Promise<string[]>;
|
|
65
62
|
getMimir: () => Promise<Record<string, string>>;
|
|
66
63
|
getMimirVotes: () => Promise<import(".").MimirVote[]>;
|
|
67
|
-
getNameDetails: (name: string) => Promise<import(".").THORNameDetails
|
|
64
|
+
getNameDetails: (name: string) => Promise<import(".").THORNameDetails>;
|
|
68
65
|
getNamesByAddress: (address: string) => Promise<string[]>;
|
|
69
66
|
getNamesByOwner: (address: string) => Promise<string[]>;
|
|
70
67
|
getNetworkInfo: () => Promise<import(".").NetworkInfo>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAC;AAGjD,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AAEvC,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBACkuC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CADvpC,CAAC"}
|
|
@@ -20,7 +20,7 @@ export declare const thorchainMidgard: {
|
|
|
20
20
|
getMembers: (pool?: string) => Promise<string[]>;
|
|
21
21
|
getMimir: () => Promise<Record<string, string>>;
|
|
22
22
|
getMimirVotes: () => Promise<MimirVote[]>;
|
|
23
|
-
getNameDetails: (name: string) => Promise<THORNameDetails
|
|
23
|
+
getNameDetails: (name: string) => Promise<THORNameDetails>;
|
|
24
24
|
getNamesByAddress: (address: string) => Promise<string[]>;
|
|
25
25
|
getNamesByOwner: (address: string) => Promise<string[]>;
|
|
26
26
|
getNetworkInfo: () => Promise<NetworkInfo>;
|
|
@@ -57,7 +57,7 @@ export declare const mayachainMidgard: {
|
|
|
57
57
|
getMembers: (pool?: string) => Promise<string[]>;
|
|
58
58
|
getMimir: () => Promise<Record<string, string>>;
|
|
59
59
|
getMimirVotes: () => Promise<MimirVote[]>;
|
|
60
|
-
getNameDetails: (name: string) => Promise<THORNameDetails
|
|
60
|
+
getNameDetails: (name: string) => Promise<THORNameDetails>;
|
|
61
61
|
getNamesByAddress: (address: string) => Promise<string[]>;
|
|
62
62
|
getNamesByOwner: (address: string) => Promise<string[]>;
|
|
63
63
|
getNetworkInfo: () => Promise<NetworkInfo>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoints.d.ts","sourceRoot":"","sources":["../../../../src/api/midgard/endpoints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAqC,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAChG,OAAO,KAAK,EACV,MAAM,EACN,WAAW,EACX,OAAO,EACP,SAAS,EACT,YAAY,EACZ,eAAe,EACf,UAAU,EACV,YAAY,EACZ,sBAAsB,EACtB,sBAAsB,EACtB,SAAS,EACT,WAAW,EACX,IAAI,EACJ,aAAa,EACb,IAAI,EACJ,SAAS,EACT,YAAY,EACZ,aAAa,EACb,KAAK,EACL,WAAW,EACX,eAAe,EACf,UAAU,EACX,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"endpoints.d.ts","sourceRoot":"","sources":["../../../../src/api/midgard/endpoints.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"author": "swapkit-oss",
|
|
3
3
|
"dependencies": {
|
|
4
4
|
"@swapkit/contracts": "4.0.1",
|
|
5
|
-
"@swapkit/tokens": "4.0.
|
|
5
|
+
"@swapkit/tokens": "4.0.5",
|
|
6
6
|
"ethers": "^6.14.0",
|
|
7
7
|
"ts-pattern": "^5.7.0",
|
|
8
8
|
"zod": "^3.25.74",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
},
|
|
11
11
|
"description": "SwapKit - Helpers",
|
|
12
12
|
"devDependencies": {
|
|
13
|
-
"@swapkit/toolboxes": "4.0.
|
|
13
|
+
"@swapkit/toolboxes": "4.0.5",
|
|
14
14
|
"ethers": "6.15.0",
|
|
15
15
|
"ts-pattern": "5.8.0",
|
|
16
16
|
"zod": "3.25.74",
|
|
@@ -46,5 +46,5 @@
|
|
|
46
46
|
"type-check:go": "tsgo"
|
|
47
47
|
},
|
|
48
48
|
"type": "module",
|
|
49
|
-
"version": "4.0.
|
|
49
|
+
"version": "4.0.5"
|
|
50
50
|
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { AssetValue, type Chain, SwapKitNumber } from "@swapkit/helpers";
|
|
2
|
-
import type { LiquidityPositionRaw, MicroguardTHORNameDetails, PoolDetail, PoolPeriod } from "./types";
|
|
3
|
-
export declare function getTHORNameDetails(thorname: string): Promise<MicroguardTHORNameDetails>;
|
|
4
|
-
export declare function getTHORNamesByOwner(owner: string): Promise<string[]>;
|
|
5
|
-
export declare function getTHORNamesByAddress(address: string): Promise<string[]>;
|
|
6
|
-
export declare function getTHORChainPools(period: PoolPeriod): Promise<PoolDetail[]>;
|
|
7
|
-
export declare function getLiquidityPositionsRaw(addresses: string[]): Promise<LiquidityPositionRaw[]>;
|
|
8
|
-
export declare function getTNSChainAddress({ chain, tns }: {
|
|
9
|
-
chain: Chain;
|
|
10
|
-
tns: string;
|
|
11
|
-
}): Promise<string | undefined>;
|
|
12
|
-
export declare function getLiquidityPositions(addresses: string[]): Promise<{
|
|
13
|
-
asset: AssetValue;
|
|
14
|
-
assetPending: AssetValue;
|
|
15
|
-
assetRegisteredAddress: string;
|
|
16
|
-
assetWithdrawn: AssetValue;
|
|
17
|
-
dateFirstAdded: string;
|
|
18
|
-
dateLastAdded: string;
|
|
19
|
-
poolShare: SwapKitNumber;
|
|
20
|
-
rune: AssetValue;
|
|
21
|
-
runePending: AssetValue;
|
|
22
|
-
runeRegisteredAddress: string;
|
|
23
|
-
runeWithdrawn: AssetValue;
|
|
24
|
-
}[]>;
|
|
25
|
-
//# sourceMappingURL=endpoints.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"endpoints.d.ts","sourceRoot":"","sources":["../../../../src/api/microgard/endpoints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAe,KAAK,KAAK,EAAiB,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACrG,OAAO,KAAK,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAOvG,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,sCAElD;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,qBAEhD;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,qBAEpD;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,yBAEnD;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,mCAE3D;AAED,wBAAsB,kBAAkB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,+BAIrF;AAED,wBAAsB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE;;;;;;;;;;;;KAgB9D"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import type { AssetValue, SwapKitNumber } from "@swapkit/helpers";
|
|
2
|
-
export type MicroguardTHORNameDetails = {
|
|
3
|
-
entries: Array<{
|
|
4
|
-
address: string;
|
|
5
|
-
chain: string;
|
|
6
|
-
}>;
|
|
7
|
-
owner: string;
|
|
8
|
-
expire: string;
|
|
9
|
-
};
|
|
10
|
-
export type PoolPeriod = "1h" | "24h" | "7d" | "30d" | "90d" | "100d" | "180d" | "365d";
|
|
11
|
-
export type PoolDetail = {
|
|
12
|
-
annualPercentageRate: string;
|
|
13
|
-
asset: string;
|
|
14
|
-
assetDepth: string;
|
|
15
|
-
assetPrice: string;
|
|
16
|
-
assetPriceUSD: string;
|
|
17
|
-
liquidityUnits: string;
|
|
18
|
-
poolAPY: string;
|
|
19
|
-
runeDepth: string;
|
|
20
|
-
status: string;
|
|
21
|
-
synthSupply: string;
|
|
22
|
-
synthUnits: string;
|
|
23
|
-
units: string;
|
|
24
|
-
volume24h: string;
|
|
25
|
-
};
|
|
26
|
-
export type LiquidityPositionRaw = {
|
|
27
|
-
assetAdded: string;
|
|
28
|
-
assetAddress: string;
|
|
29
|
-
assetPending: string;
|
|
30
|
-
assetWithdrawn: string;
|
|
31
|
-
dateFirstAdded: string;
|
|
32
|
-
dateLastAdded: string;
|
|
33
|
-
pool: string;
|
|
34
|
-
poolAssetDepth: string;
|
|
35
|
-
poolRuneDepth: string;
|
|
36
|
-
poolUnits: string;
|
|
37
|
-
runeAdded: string;
|
|
38
|
-
runeAddress: string;
|
|
39
|
-
runePending: string;
|
|
40
|
-
runeWithdrawn: string;
|
|
41
|
-
sharedUnits: string;
|
|
42
|
-
};
|
|
43
|
-
export type LiquidityPosition = {
|
|
44
|
-
asset: AssetValue;
|
|
45
|
-
assetPending: AssetValue;
|
|
46
|
-
assetWithdrawn: AssetValue;
|
|
47
|
-
assetAddress: string;
|
|
48
|
-
native: AssetValue;
|
|
49
|
-
nativeAddress: string;
|
|
50
|
-
nativePending: AssetValue;
|
|
51
|
-
nativeWithdrawn: AssetValue;
|
|
52
|
-
dateFirstAdded: string;
|
|
53
|
-
dateLastAdded: string;
|
|
54
|
-
poolShare: SwapKitNumber;
|
|
55
|
-
};
|
|
56
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/api/microgard/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAElE,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAExF,MAAM,MAAM,UAAU,GAAG;IACvB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,UAAU,CAAC;IAClB,YAAY,EAAE,UAAU,CAAC;IACzB,cAAc,EAAE,UAAU,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,UAAU,CAAC;IAC1B,eAAe,EAAE,UAAU,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,aAAa,CAAC;CAC1B,CAAC"}
|