@swapkit/helpers 3.0.0-beta.11 → 3.0.0-beta.13

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.
Files changed (67) hide show
  1. package/dist/api/index.cjs +2 -2
  2. package/dist/api/index.cjs.map +5 -5
  3. package/dist/api/index.js +2 -2
  4. package/dist/api/index.js.map +5 -5
  5. package/dist/{chunk-6vvdbb6s.js → chunk-7shcm26h.js} +3 -3
  6. package/dist/{chunk-6vvdbb6s.js.map → chunk-7shcm26h.js.map} +1 -1
  7. package/dist/chunk-8fdws4se.js +4 -0
  8. package/dist/chunk-8fdws4se.js.map +10 -0
  9. package/dist/{chunk-dbsrwnw2.js → chunk-b8hashv0.js} +3 -3
  10. package/dist/{chunk-dbsrwnw2.js.map → chunk-b8hashv0.js.map} +1 -1
  11. package/dist/{chunk-kdcsgh3q.js → chunk-bf0ph1bk.js} +3 -3
  12. package/dist/{chunk-kdcsgh3q.js.map → chunk-bf0ph1bk.js.map} +1 -1
  13. package/dist/{chunk-mmwvr2y8.js → chunk-bh986mnf.js} +3 -3
  14. package/dist/{chunk-mmwvr2y8.js.map → chunk-bh986mnf.js.map} +1 -1
  15. package/dist/{chunk-ahpfxkx0.js → chunk-dzypg9sp.js} +3 -3
  16. package/dist/{chunk-ahpfxkx0.js.map → chunk-dzypg9sp.js.map} +1 -1
  17. package/dist/{chunk-wmxwvv8c.js → chunk-ghdhtvtt.js} +3 -3
  18. package/dist/{chunk-wmxwvv8c.js.map → chunk-ghdhtvtt.js.map} +1 -1
  19. package/dist/{chunk-fr86y3rx.js → chunk-jhmhh7ax.js} +3 -3
  20. package/dist/{chunk-fr86y3rx.js.map → chunk-jhmhh7ax.js.map} +1 -1
  21. package/dist/{chunk-ekd1k975.js → chunk-nm1av1e6.js} +3 -3
  22. package/dist/{chunk-ekd1k975.js.map → chunk-nm1av1e6.js.map} +1 -1
  23. package/dist/{chunk-wrjh857m.js → chunk-rarep8vg.js} +3 -3
  24. package/dist/{chunk-wrjh857m.js.map → chunk-rarep8vg.js.map} +1 -1
  25. package/dist/{chunk-kr69v1tm.js → chunk-rr043vwc.js} +3 -3
  26. package/dist/{chunk-kr69v1tm.js.map → chunk-rr043vwc.js.map} +1 -1
  27. package/dist/{chunk-3wnfcm30.js → chunk-s82pm7xc.js} +2 -2
  28. package/dist/{chunk-3wnfcm30.js.map → chunk-s82pm7xc.js.map} +1 -1
  29. package/dist/chunk-sb9hymk1.js +3 -0
  30. package/dist/chunk-sb9hymk1.js.map +10 -0
  31. package/dist/{chunk-tq87xn7m.js → chunk-tn4e7zrk.js} +3 -3
  32. package/dist/{chunk-tq87xn7m.js.map → chunk-tn4e7zrk.js.map} +1 -1
  33. package/dist/{chunk-z8emzpyc.js → chunk-vadspc46.js} +3 -3
  34. package/dist/{chunk-z8emzpyc.js.map → chunk-vadspc46.js.map} +1 -1
  35. package/dist/{chunk-xyczdrny.js → chunk-vgg88vt8.js} +3 -3
  36. package/dist/{chunk-xyczdrny.js.map → chunk-vgg88vt8.js.map} +1 -1
  37. package/dist/{chunk-q8xy3739.js → chunk-wssz50sc.js} +3 -3
  38. package/dist/{chunk-q8xy3739.js.map → chunk-wssz50sc.js.map} +1 -1
  39. package/dist/contracts/index.js +1 -1
  40. package/dist/index.cjs +3 -3
  41. package/dist/index.cjs.map +15 -16
  42. package/dist/index.js +3 -3
  43. package/dist/index.js.map +15 -16
  44. package/dist/tokens/index.js +2 -2
  45. package/dist/tokens/index.js.map +2 -2
  46. package/package.json +2 -2
  47. package/src/api/microgard/types.ts +0 -3
  48. package/src/api/midgard/endpoints.ts +1 -65
  49. package/src/api/midgard/types.ts +0 -49
  50. package/src/api/swapkitApi/endpoints.ts +1 -2
  51. package/src/api/swapkitApi/types.ts +1 -1
  52. package/src/modules/__tests__/assetValue.test.ts +42 -0
  53. package/src/modules/__tests__/swapKitNumber.test.ts +4 -5
  54. package/src/modules/assetValue.ts +12 -28
  55. package/src/modules/bigIntArithmetics.ts +12 -1
  56. package/src/modules/requestClient.ts +36 -22
  57. package/src/modules/swapKitError.ts +294 -105
  58. package/src/types/chains.ts +45 -37
  59. package/src/types/derivationPath.ts +1 -0
  60. package/src/types/quotes.ts +0 -2
  61. package/src/types/sdk.ts +0 -2
  62. package/src/types/wallet.ts +2 -0
  63. package/src/utils/__tests__/memo.test.ts +0 -20
  64. package/src/utils/asset.ts +3 -2
  65. package/src/utils/memo.ts +5 -42
  66. package/src/utils/others.ts +1 -2
  67. package/src/utils/wallets.ts +4 -1
@@ -1,3 +1,3 @@
1
- var Ae={};b(Ae,{TxnType:()=>B,TxnStatus:()=>h,TransactionSchema:()=>Br,TransactionDTOSchema:()=>hr,TrackingStatus:()=>M,TokenDetailsMetadataSchema:()=>K,SwapKitApi:()=>se,RouteQuoteWarningSchema:()=>er,RouteQuoteTxType:()=>P,RouteQuoteMetadataSchema:()=>rr,RouteQuoteMetadataAssetSchema:()=>q,RouteLegWithoutAddressesSchema:()=>_r,RouteLegSchema:()=>Q,QuoteResponseSchema:()=>U,QuoteRequestSchema:()=>br,PriorityLabel:()=>S,PriceResponseSchema:()=>c,PriceRequestSchema:()=>Cr,GasResponseSchema:()=>f,FeesSchema:()=>_,EstimatedTimeSchema:()=>l,EVMTransactionSchema:()=>z,EVMTransactionDetailsSchema:()=>Mr,EVMTransactionDetailsParamsSchema:()=>J,DepositChannelResponseSchema:()=>G,CosmosTransactionSchema:()=>j,ChainflipMetadataSchema:()=>p,BrokerDepositChannelParamsSchema:()=>Z,AssetValueSchema:()=>D,ApiV2ErrorSchema:()=>Dr});module.exports=ie(Ae);var R={};b(R,{getTNSChainAddress:()=>ur,getTHORNamesByOwner:()=>ir,getTHORNamesByAddress:()=>sr,getTHORNameDetails:()=>X,getTHORChainPools:()=>Ar,getLiquidityPositionsRaw:()=>$,getLiquidityPositions:()=>mr});var m=require("@swapkit/helpers"),C="https://mu.thorswap.net";function X(e){return m.RequestClient.get(`${C}/thorname/lookup/${e}`)}function ir(e){return m.RequestClient.get(`${C}/thorname/owner/${e}`)}function sr(e){return m.RequestClient.get(`${C}/thorname/address/${e}`)}function Ar(e){return m.RequestClient.get(`${C}/pools`,{searchParams:{period:e}})}function $(e){return m.RequestClient.get(`${C}/fullmember?address=${e.join(",")}`)}async function ur({chain:e,tns:t}){return(await X(t))?.entries?.find((s)=>s.chain.toLowerCase()===e.toLowerCase())?.address}async function mr(e){return(await $(e)).map((n)=>({assetRegisteredAddress:n.assetAddress,asset:m.AssetValue.from({asset:n.pool,value:n.assetAdded,fromBaseDecimal:m.BaseDecimal.THOR}),assetPending:m.AssetValue.from({asset:n.pool,value:n.assetPending,fromBaseDecimal:m.BaseDecimal.THOR}),assetWithdrawn:m.AssetValue.from({asset:n.pool,value:n.assetWithdrawn,fromBaseDecimal:m.BaseDecimal.THOR}),runeRegisteredAddress:n.runeAddress,rune:m.AssetValue.from({asset:"THOR.RUNE",value:n.runeAdded,fromBaseDecimal:m.BaseDecimal.THOR}),runePending:m.AssetValue.from({asset:"THOR.RUNE",value:n.runePending,fromBaseDecimal:m.BaseDecimal.THOR}),runeWithdrawn:m.AssetValue.from({asset:"THOR.RUNE",value:n.runeWithdrawn,fromBaseDecimal:m.BaseDecimal.THOR}),poolShare:new m.SwapKitNumber(n.sharedUnits).div(n.poolUnits),dateLastAdded:n.dateLastAdded,dateFirstAdded:n.dateFirstAdded}))}var A=require("@swapkit/helpers");function y(e=!0){return e?"https://midgard.ninerealms.com":"https://midgard.mayachain.info"}function or(e=!0){let t=y(e);return e?`${t}/v2/thorname`:`${t}/v2/mayaname`}function ar(e){return function t(n){return A.RequestClient.get(`${e}/v2/borrower/${n}`)}}function Er(e){return function t(n){return A.RequestClient.get(`${e}/v2/saver/${n}`)}}function Nr(e){return function t(n){return A.RequestClient.get(`${e}/v2/member/${n}`)}}function Lr(e){return function t(n){return A.RequestClient.get(`${e}/lookup/${n}`)}}function Tr(e){return function t(n){return A.RequestClient.get(`${e}/rlookup/${n}`)}}function dr(e){return function t(n){return A.RequestClient.get(`${e}/owner/${n}`)}}function Ir(e){return async function t(n){return(await e(n)).pools.map((i)=>({collateral_deposited:A.AssetValue.from({asset:i.collateral_asset,value:i.collateral_deposited,fromBaseDecimal:A.BaseDecimal.THOR}),collateral_withdrawn:A.AssetValue.from({asset:i.collateral_asset,value:i.collateral_withdrawn,fromBaseDecimal:A.BaseDecimal.THOR}),debt_issued_tor:A.SwapKitNumber.fromBigInt(BigInt(i.debt_issued_tor),A.BaseDecimal.THOR),debt_repaid_tor:A.SwapKitNumber.fromBigInt(BigInt(i.debt_repaid_tor),A.BaseDecimal.THOR),last_open_loan_timestamp:i.last_open_loan_timestamp,last_repay_loan_timestamp:i.last_repay_loan_timestamp,target_assets:i.target_assets.map((E)=>A.AssetValue.from({asset:E}))}))}}function d({asset:e,value:t}){return A.AssetValue.from({asset:e,value:t,fromBaseDecimal:A.BaseDecimal.THOR})}function gr(e){return async function t(n){return(await e(n)).pools.map((i)=>({assetAdded:d({asset:i.pool,value:i.assetAdded}),assetDeposit:d({asset:i.pool,value:i.assetDeposit}),assetRedeem:d({asset:i.pool,value:i.assetRedeem}),assetWithdrawn:d({asset:i.pool,value:i.assetWithdrawn}),assetRegisteredAddress:i.assetAddress,dateFirstAdded:i.dateFirstAdded,dateLastAdded:i.dateLastAdded}))}}function Or({liquidityPositionGetter:e,isThorchain:t}){return async function n(s){let i=await e(s),E=t?"rune":"cacao";return i.pools.map((N)=>({[`${E}Pending`]:d({asset:"THOR.RUNE",value:N.runePending}),[`${E}RegisteredAddress`]:N.runeAddress,[`${E}Withdrawn`]:d({asset:"THOR.RUNE",value:N.runeWithdrawn}),[E]:d({asset:"THOR.RUNE",value:N.runeAdded}),asset:d({asset:N.pool,value:N.assetAdded}),assetPending:d({asset:N.pool,value:N.assetPending}),assetRegisteredAddress:N.assetAddress,assetWithdrawn:d({asset:N.pool,value:N.assetWithdrawn}),dateFirstAdded:N.dateFirstAdded,dateLastAdded:N.dateLastAdded,poolShare:new A.SwapKitNumber(N.liquidityUnits).div(N.pool)}))}}function W(e){let t=e===A.Chain.THORChain,n=y(t),s=or(t),i=Nr(n),E=ar(n),N=Er(n);return{getLiquidityPositionRaw:i,getBorrowerDetailRaw:E,getSaverDetailRaw:N,getBorrowerDetail:Ir(E),getSaversDetail:gr(N),getNameDetails:Lr(s),getNamesByAddress:Tr(s),getNamesByOwner:dr(s),getLiquidityPosition:Or({liquidityPositionGetter:i,isThorchain:t})}}var x=W(A.Chain.THORChain),k=W(A.Chain.Maya);var w={};b(w,{getTrackerDetails:()=>fr,getTokenListProviders:()=>v,getTokenList:()=>Vr,getSwapQuote:()=>vr,getPrice:()=>Fr,getGasRate:()=>Yr,getChainflipDepositChannel:()=>Xr,getChainBalance:()=>wr});var u=require("@swapkit/helpers");var o=require("@swapkit/helpers"),r=require("zod"),S;((s)=>{s.CHEAPEST="CHEAPEST";s.FASTEST="FASTEST";s.RECOMMENDED="RECOMMENDED"})(S||={});var P;((i)=>{i.PSBT="PSBT";i.EVM="EVM";i.COSMOS="COSMOS";i.RADIX="RADIX"})(P||={});var B;((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"})(B||={});var h;((E)=>{E.unknown="unknown";E.not_started="not_started";E.pending="pending";E.swapping="swapping";E.completed="completed"})(h||={});var M;((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"})(M||={});var Dr=r.object({error:r.string(),message:r.string()}),D=r.object({chain:r.nativeEnum(o.Chain),symbol:r.string(),ticker:r.string(),decimal:r.optional(r.number()),address:r.optional(r.string()),isGasAsset:r.boolean(),isSynthetic:r.boolean(),tax:r.optional(r.object({buy:r.number(),sell:r.number()}))}),K=r.object({id:r.string(),market_cap:r.number(),name:r.string(),price_change_24h_usd:r.number(),price_change_percentage_24h_usd:r.number(),sparkline_in_7d:r.array(r.number()),timestamp:r.string(),total_volume:r.number()}),c=r.array(r.object({identifier:r.string(),provider:r.string(),cg:K.optional(),price_usd:r.number(),timestamp:r.number()}).partial()),br=r.object({sellAsset:r.string({description:"Asset to sell"}),buyAsset:r.string({description:"Asset to buy"}),sellAmount:r.string({description:"Amount of asset to sell"}).refine((e)=>+e>0,{message:"sellAmount must be greater than 0",path:["sellAmount"]}),providers:r.optional(r.array(r.string({description:"List of providers to use"}).refine((e)=>o.ProviderName[e]!==void 0,{message:"Invalid provider",path:["providers"]}))),sourceAddress:r.optional(r.string({description:"Address to send asset from"})),destinationAddress:r.optional(r.string({description:"Address to send asset to"})),slippage:r.optional(r.number({description:"Slippage tolerance as a percentage. Default is 3%."})),affiliate:r.optional(r.string({description:"Affiliate thorname"})),affiliateFee:r.optional(r.number({description:"Affiliate fee in basis points"}).refine((e)=>e===Math.floor(e)&&e>=0,{message:"affiliateFee must be a positive integer",path:["affiliateFee"]})),allowSmartContractSender:r.optional(r.boolean({description:"Allow smart contract as sender"})),allowSmartContractReceiver:r.optional(r.boolean({description:"Allow smart contract as recipient"})),disableSecurityChecks:r.optional(r.boolean({description:"Disable security checks"})),includeTx:r.optional(r.boolean({description:"Set to true to include an transaction object (EVM only)"})),cfBoost:r.optional(r.boolean({description:"Set to true to enable CF boost to speed up Chainflip swaps. BTC only."})),referrer:r.optional(r.string({description:"Referrer address (referral program)"}))}).refine((e)=>e.sellAsset!==e.buyAsset,{message:"Must be different",path:["sellAsset","buyAsset"]}),Cr=r.object({tokens:r.array(r.object({identifier:r.string()})),metadata:r.boolean()}),Z=r.object({sellAsset:r.object({chain:r.string(),asset:r.string()}),buyAsset:r.object({chain:r.string(),asset:r.string()}),destinationAddress:r.string(),channelMetadata:r.object({cfParameters:r.string().optional(),gasBudget:r.string().optional(),message:r.string().optional()}).optional(),affiliateFees:r.array(r.object({brokerAddress:r.string(),feeBps:r.number()})).optional(),refundParameters:r.object({minPrice:r.string().optional(),refundAddress:r.string().optional(),retryDuration:r.number().optional()}).optional(),dcaParameters:r.object({chunkInterval:r.number().optional(),numberOfChunks:r.number().optional()}).optional(),brokerCommissionBps:r.number().optional(),maxBoostFeeBps:r.number().optional()}),G=r.object({channelId:r.string(),depositAddress:r.string()}),Hr=r.object({evmCalldata:r.optional(r.string()),logs:r.optional(r.unknown()),memo:r.optional(r.string()),spender:r.optional(r.string())}),Pr=r.object({estimatedFinalisedAt:r.number(),estimatedTimeToComplete:r.number(),updatedAt:r.number(),currentLegIndex:r.optional(r.number()),providerDetails:r.optional(r.unknown())}),Rr=r.object({network:r.optional(D),affiliate:r.optional(D),liquidity:r.optional(D),protocol:r.optional(D),tax:r.optional(D)}),Sr=r.object({broadcastedAt:r.optional(r.number()),wallet:r.optional(r.string()),quoteId:r.optional(r.string()),explorerUrl:r.optional(r.string()),affiliate:r.optional(r.string()),fees:r.optional(Rr),provider:r.optional(r.nativeEnum(o.ProviderName)),images:r.optional(r.object({from:r.optional(r.string()),to:r.optional(r.string()),provider:r.optional(r.string()),chain:r.optional(r.string())}))}),H=r.object({chainId:r.nativeEnum(o.ChainId),hash:r.string(),block:r.number(),type:r.nativeEnum(B),status:r.nativeEnum(h),trackingStatus:r.optional(r.nativeEnum(M)),fromAsset:r.string(),fromAmount:r.string(),fromAddress:r.string(),toAsset:r.string(),toAmount:r.string(),toAddress:r.string(),finalAsset:r.optional(D),finalAddress:r.optional(r.string()),finalisedAt:r.number(),transient:r.optional(Pr),meta:r.optional(Sr),payload:r.optional(Hr)}),Br=H.extend({legs:r.array(H)}),hr=H.extend({legs:r.array(H)}),_=r.array(r.object({type:r.nativeEnum(o.FeeTypeEnum),amount:r.string(),asset:r.string(),chain:r.string(),protocol:r.nativeEnum(o.ProviderName)})),l=r.object({inbound:r.optional(r.number({description:"Time to receive inbound asset in seconds"})),swap:r.optional(r.number({description:"Time to swap assets in seconds"})),outbound:r.optional(r.number({description:"Time to receive outbound asset in seconds"})),total:r.number({description:"Total time in seconds"})}),z=r.object({to:r.string({description:"Address of the recipient"}),from:r.string({description:"Address of the sender"}),value:r.string({description:"Value to send"}),data:r.string({description:"Data to send"})}),J=r.array(r.union([r.string(),r.number(),r.array(r.string()),r.object({from:r.string(),value:r.string()}).describe("Parameters to pass to the contract method")])),Mr=r.object({contractAddress:r.string({description:"Address of the contract to interact with"}),contractMethod:r.string({description:"Name of the method to call"}),contractParams:J,contractParamNames:r.array(r.string({description:"Names of the parameters to pass to the contract method"})),approvalToken:r.optional(r.string({description:"Address of the token to approve spending of"})),approvalSpender:r.optional(r.string({description:"Address of the spender to approve"}))}),cr=r.object({typeUrl:r.string(),value:r.unknown()}),Gr=r.object({amount:r.array(r.object({denom:r.string(),amount:r.string()})),gas:r.string()}),j=r.object({memo:r.string(),accountNumber:r.number(),sequence:r.number(),chainId:r.nativeEnum(o.ChainId),msgs:r.array(cr),fee:Gr}),Q=r.object({sellAsset:r.string({description:"Asset to sell"}),buyAsset:r.string({description:"Asset to buy"}),provider:r.nativeEnum(o.ProviderName),sourceAddress:r.string({description:"Source address"}),destinationAddress:r.string({description:"Destination address"}),estimatedTime:l.optional(),affiliate:r.string({description:"Affiliate address"}).optional(),affiliateFee:r.number({description:"Affiliate fee"}).optional(),slipPercentage:r.number({description:"Slippage as a percentage"})}),_r=Q.omit({sourceAddress:!0,destinationAddress:!0,slipPercentage:!0}),q=r.object({asset:r.string({description:"Asset name"}),price:r.number({description:"Price in USD"}),image:r.string({description:"Asset image"})}),p=Z,rr=r.object({priceImpact:r.optional(r.number({description:"Price impact"})),assets:r.optional(r.array(q)),approvalAddress:r.optional(r.string({description:"Approval address for swap"})),streamingInterval:r.number().optional(),maxStreamingQuantity:r.number().optional(),tags:r.array(r.nativeEnum(S)),affiliate:r.optional(r.string()),affiliateFee:r.optional(r.string()),txType:r.optional(r.nativeEnum(P)),chainflip:r.optional(p),referrer:r.optional(r.string())}),er=r.array(r.object({code:r.nativeEnum(o.WarningCodeEnum),display:r.string(),tooltip:r.string().optional()})),lr=r.object({provider:r.nativeEnum(o.ProviderName),sellAsset:r.string({description:"Asset to sell"}),sellAmount:r.string({description:"Sell amount"}),buyAsset:r.string({description:"Asset to buy"}),buyAmount:r.string({description:"Buy amount"}),buyAmountMaxSlippage:r.string({description:"Buy amount max slippage"}),fees:r.optional(_)}),Ur=r.object({providers:r.array(r.nativeEnum(o.ProviderName)),sellAsset:r.string({description:"Asset to sell"}),sellAmount:r.string({description:"Sell amount"}),buyAsset:r.string({description:"Asset to buy"}),expectedBuyAmount:r.string({description:"Expected Buy amount"}),expectedBuyAmountMaxSlippage:r.string({description:"Expected Buy amount max slippage"}),sourceAddress:r.string({description:"Source address"}),destinationAddress:r.string({description:"Destination address"}),targetAddress:r.optional(r.string({description:"Target address"})),inboundAddress:r.optional(r.string({description:"Inbound address"})),expiration:r.optional(r.string({description:"Expiration"})),memo:r.optional(r.string({description:"Memo"})),fees:_,txType:r.optional(r.nativeEnum(P)),tx:r.optional(r.union([z,j,r.string()])),estimatedTime:r.optional(l),totalSlippageBps:r.number({description:"Total slippage in bps"}),legs:r.array(lr),warnings:er,meta:rr}),U=r.object({quoteId:r.string({description:"Quote ID"}),routes:r.array(Ur),error:r.optional(r.string({description:"Error message"})),providerErrors:r.optional(r.array(r.object({provider:r.nativeEnum(o.ProviderName).optional(),errorCode:r.optional(r.nativeEnum(o.ErrorCode)),message:r.optional(r.string())})))}),f=r.array(r.object({id:r.number(),chainId:r.string(),value:r.string(),unit:r.string(),createdAt:r.string()})),me=r.array(r.object({chain:r.nativeEnum(o.Chain),decimal:r.number(),ticker:r.string(),symbol:r.string(),value:r.string(),identifier:r.string()}));function fr(e){return u.RequestClient.post(g("/track"),{json:e})}async function vr(e){let t=await u.RequestClient.post(g("/quote"),{json:e});if(t.error)throw new u.SwapKitError("api_v2_server_error",{message:t.error});try{let n=U.safeParse(t);if(!n.success)throw new u.SwapKitError("api_v2_invalid_response",n.error);return n.data}catch(n){return console.warn(n),t}}async function wr({chain:e,address:t,scamFilter:n=!0}){let s=g(`/balance?chain=${e}&address=${t}`),i=await u.RequestClient.get(s),E=Array.isArray(i)?i:[];return n?Wr(E):E}function v(){let e=g("/providers");return u.RequestClient.get(e)}function Vr(e){let t=g(`/tokens?provider=${e}`);return u.RequestClient.get(t)}async function Fr(e){let t=g("/price"),n=await u.RequestClient.post(t,{json:e});try{let s=c.safeParse(n);if(!s.success)throw new u.SwapKitError("api_v2_invalid_response",s.error);return s.data}catch(s){throw new u.SwapKitError("api_v2_invalid_response",s)}}async function Yr(){let e=g("/gas"),t=await u.RequestClient.get(e);try{let n=f.safeParse(t);if(!n.success)throw new u.SwapKitError("api_v2_invalid_response",n.error);return n.data}catch(n){throw new u.SwapKitError("api_v2_invalid_response",n)}}async function Xr(e){let{destinationAddress:t}=e;if(!t)throw new u.SwapKitError("chainflip_broker_invalid_params");let n=u.SKConfig.get("integrations").chainflip?.brokerUrl||g("/channel"),s=await u.RequestClient.post(n,{json:e});try{let i=G.safeParse(s);if(!i.success)throw new u.SwapKitError("api_v2_invalid_response",i.error);return i.data}catch(i){throw new u.SwapKitError("api_v2_invalid_response",i)}}function g(e){let{isDev:t,apiUrl:n,devApiUrl:s}=u.SKConfig.get("envs");return`${t?s:n}${e}`}function $r(e){let[t,n]=e.split(".");if(!u.EVMChains.includes(t))return!0;let s=n.split("-"),i=s.length===1?void 0:s[s.length-1];return u.isGasAsset({chain:t,symbol:n})||!!i}var yr=new RegExp(/(.)\1{6}|\.ORG|\.NET|\.FINANCE|\.COM|WWW|HTTP|\\\\|\/\/|[\s$%:[\]]/,"gmi");function Wr(e){return e.filter((t)=>{return!yr.test(t.identifier)&&$r(t.identifier)})}var V={};b(V,{getThorchainQueue:()=>Kr,getTNSPreferredAsset:()=>jr,getTHORNodeTNSDetails:()=>nr,getRunePoolProviderInfo:()=>qr,getRunePoolInfo:()=>Qr,getNodes:()=>Zr,getMimirInfo:()=>zr,getLastBlock:()=>kr,getInboundAddresses:()=>Jr});var a=require("@swapkit/helpers");function O(e){let{isStagenet:t}=a.SKConfig.get("envs"),n=a.SKConfig.get("nodeUrls");switch(e){case"mayachain":return`${n[t?a.StagenetChain.Maya:a.Chain.Maya]}/mayachain`;default:return`${n[t?a.StagenetChain.THORChain:a.Chain.THORChain]}/thorchain`}}function xr(e){let t=e==="mayachain"?"mayaname":"thorname";return`${O(e)}/${t}`}function kr(e="thorchain"){return a.RequestClient.get(`${O(e)}/lastblock`)}function Kr(e){return a.RequestClient.get(`${O(e)}/queue`)}function Zr(e){return a.RequestClient.get(`${O(e)}/nodes`)}function zr(e){return a.RequestClient.get(`${O(e)}/mimir`)}function Jr(e){return a.RequestClient.get(`${O(e)}/inbound_addresses`)}async function nr({type:e,name:t}){try{return await a.RequestClient.get(`${xr(e)}/${t}`)}catch(n){return{name:t,expire_block_height:0,owner:"",preferred_asset:"",affiliate_collector_rune:"",aliases:[]}}}async function jr({type:e,tns:t}){let n=await nr({name:t,type:e});if(!n.preferred_asset||n.preferred_asset===".")return;return a.AssetValue.from({asyncTokenLookup:!0,asset:n.preferred_asset})}function Qr(e){return a.RequestClient.get(`${O(e)}/runepool`)}function qr({type:e,thorAddress:t}){return a.RequestClient.get(`${O(e)}/rune_provider/${t}`)}var Y={};b(Y,{getStaticTokenList:()=>pr,getProviderLogo:()=>ne,getLogoForAsset:()=>re,getChainLogoForAsset:()=>ee});var I=require("@swapkit/helpers");var F="https://static.thorswap.net";function pr(e){return I.RequestClient.get(`${F}/token-list/${e}.json`)}function re(e){let t=te(e);return`${F}/token-list/images/${t}.png`}function ee(e){let{chain:t}=I.AssetValue.from({asset:e}),n=I.getChainIdentifier(t).toLowerCase();return`${F}/token-list/images/${n}.png`}var tr;async function ne(e){return tr||=await v(),tr.find((t)=>t.name===e)?.url}function te(e){let{symbol:t}=I.AssetValue.from({asset:e});if(t===I.Chain.Ethereum)return"eth.eth";return e.toLowerCase()}var se={...w,...Y,mayachainMidgard:k,microgard:R,thorchainMidgard:x,thornode:V};
1
+ var ir={};d(ir,{TxnType:()=>h,TxnStatus:()=>B,TransactionSchema:()=>an,TransactionDTOSchema:()=>Sn,TrackingStatus:()=>M,TokenDetailsMetadataSchema:()=>Z,SwapKitApi:()=>tr,RouteQuoteWarningSchema:()=>en,RouteQuoteTxType:()=>R,RouteQuoteMetadataSchema:()=>rn,RouteQuoteMetadataAssetSchema:()=>p,RouteLegWithoutAddressesSchema:()=>Gn,RouteLegSchema:()=>q,QuoteResponseSchema:()=>F,QuoteRequestSchema:()=>Hn,PriorityLabel:()=>S,PriceResponseSchema:()=>G,PriceRequestSchema:()=>gn,GasResponseSchema:()=>Y,FeesSchema:()=>c,EstimatedTimeSchema:()=>V,EVMTransactionSchema:()=>J,EVMTransactionDetailsSchema:()=>hn,EVMTransactionDetailsParamsSchema:()=>j,DepositChannelResponseSchema:()=>U,CosmosTransactionSchema:()=>Q,ChainflipMetadataSchema:()=>nn,BrokerDepositChannelParamsSchema:()=>z,AssetValueSchema:()=>H,ApiV2ErrorSchema:()=>Cn});module.exports=er(ir);var a={};d(a,{getTNSChainAddress:()=>Nn,getTHORNamesByOwner:()=>mn,getTHORNamesByAddress:()=>un,getTHORNameDetails:()=>$,getTHORChainPools:()=>En,getLiquidityPositionsRaw:()=>W,getLiquidityPositions:()=>sn});var m=require("@swapkit/helpers"),D="https://mu.thorswap.net";function $(r){return m.RequestClient.get(`${D}/thorname/lookup/${r}`)}function mn(r){return m.RequestClient.get(`${D}/thorname/owner/${r}`)}function un(r){return m.RequestClient.get(`${D}/thorname/address/${r}`)}function En(r){return m.RequestClient.get(`${D}/pools`,{searchParams:{period:r}})}function W(r){return m.RequestClient.get(`${D}/fullmember?address=${r.join(",")}`)}async function Nn({chain:r,tns:e}){return(await $(e))?.entries?.find((i)=>i.chain.toLowerCase()===r.toLowerCase())?.address}async function sn(r){return(await W(r)).map((t)=>({assetRegisteredAddress:t.assetAddress,asset:m.AssetValue.from({asset:t.pool,value:t.assetAdded,fromBaseDecimal:m.BaseDecimal.THOR}),assetPending:m.AssetValue.from({asset:t.pool,value:t.assetPending,fromBaseDecimal:m.BaseDecimal.THOR}),assetWithdrawn:m.AssetValue.from({asset:t.pool,value:t.assetWithdrawn,fromBaseDecimal:m.BaseDecimal.THOR}),runeRegisteredAddress:t.runeAddress,rune:m.AssetValue.from({asset:"THOR.RUNE",value:t.runeAdded,fromBaseDecimal:m.BaseDecimal.THOR}),runePending:m.AssetValue.from({asset:"THOR.RUNE",value:t.runePending,fromBaseDecimal:m.BaseDecimal.THOR}),runeWithdrawn:m.AssetValue.from({asset:"THOR.RUNE",value:t.runeWithdrawn,fromBaseDecimal:m.BaseDecimal.THOR}),poolShare:new m.SwapKitNumber(t.sharedUnits).div(t.poolUnits),dateLastAdded:t.dateLastAdded,dateFirstAdded:t.dateFirstAdded}))}var T=require("@swapkit/helpers");function y(r=!0){return r?"https://midgard.ninerealms.com":"https://midgard.mayachain.info"}function Ln(r=!0){let e=y(r);return r?`${e}/v2/thorname`:`${e}/v2/mayaname`}function Tn(r){return function e(t){return T.RequestClient.get(`${r}/v2/member/${t}`)}}function In(r){return function e(t){return T.RequestClient.get(`${r}/lookup/${t}`)}}function On(r){return function e(t){return T.RequestClient.get(`${r}/rlookup/${t}`)}}function bn(r){return function e(t){return T.RequestClient.get(`${r}/owner/${t}`)}}function g({asset:r,value:e}){return T.AssetValue.from({asset:r,value:e,fromBaseDecimal:T.BaseDecimal.THOR})}function on({liquidityPositionGetter:r,isThorchain:e}){return async function t(i){let u=await r(i),O=e?"rune":"cacao";return u.pools.map((s)=>({[`${O}Pending`]:g({asset:"THOR.RUNE",value:s.runePending}),[`${O}RegisteredAddress`]:s.runeAddress,[`${O}Withdrawn`]:g({asset:"THOR.RUNE",value:s.runeWithdrawn}),[O]:g({asset:"THOR.RUNE",value:s.runeAdded}),asset:g({asset:s.pool,value:s.assetAdded}),assetPending:g({asset:s.pool,value:s.assetPending}),assetRegisteredAddress:s.assetAddress,assetWithdrawn:g({asset:s.pool,value:s.assetWithdrawn}),dateFirstAdded:s.dateFirstAdded,dateLastAdded:s.dateLastAdded,poolShare:new T.SwapKitNumber(s.liquidityUnits).div(s.pool)}))}}function x(r){let e=r===T.Chain.THORChain,t=y(e),i=Ln(e),u=Tn(t);return{getLiquidityPositionRaw:u,getNameDetails:In(i),getNamesByAddress:On(i),getNamesByOwner:bn(i),getLiquidityPosition:on({liquidityPositionGetter:u,isThorchain:e})}}var l=x(T.Chain.THORChain),k=x(T.Chain.Maya);var X={};d(X,{getTrackerDetails:()=>Vn,getTokenListProviders:()=>_,getTokenList:()=>_n,getSwapQuote:()=>Fn,getPrice:()=>Xn,getGasRate:()=>fn,getChainflipDepositChannel:()=>vn,getChainBalance:()=>Yn});var A=require("@swapkit/helpers");var N=require("@swapkit/helpers"),n=require("zod");var S;((i)=>{i.CHEAPEST="CHEAPEST";i.FASTEST="FASTEST";i.RECOMMENDED="RECOMMENDED"})(S||={});var R;((u)=>{u.PSBT="PSBT";u.EVM="EVM";u.COSMOS="COSMOS";u.RADIX="RADIX"})(R||={});var h;((I)=>{I.native_send="native_send";I.token_transfer="token_transfer";I.native_contract_call="native_contract_call";I.token_contract_call="token_contract_call";I.approve="approve";I.deposit="deposit";I.thorname_action="thorname_action";I.lp_action="lp_action";I.swap="swap";I.streaming_swap="streaming_swap";I.stake="stake";I.claim="claim";I.lending="lending";I.unknown="unknown"})(h||={});var B;((O)=>{O.unknown="unknown";O.not_started="not_started";O.pending="pending";O.swapping="swapping";O.completed="completed"})(B||={});var M;((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"})(M||={});var Cn=n.object({error:n.string(),message:n.string()}),H=n.object({chain:n.nativeEnum(N.Chain),symbol:n.string(),ticker:n.string(),decimal:n.optional(n.number()),address:n.optional(n.string()),isGasAsset:n.boolean(),isSynthetic:n.boolean(),tax:n.optional(n.object({buy:n.number(),sell:n.number()}))}),Z=n.object({id:n.string(),market_cap:n.number(),name:n.string(),price_change_24h_usd:n.number(),price_change_percentage_24h_usd:n.number(),sparkline_in_7d:n.array(n.number()),timestamp:n.string(),total_volume:n.number()}),G=n.array(n.object({identifier:n.string(),provider:n.string(),cg:Z.optional(),price_usd:n.number(),timestamp:n.number()}).partial()),Hn=n.object({sellAsset:n.string({description:"Asset to sell"}),buyAsset:n.string({description:"Asset to buy"}),sellAmount:n.string({description:"Amount of asset to sell"}).refine((r)=>+r>0,{message:"sellAmount must be greater than 0",path:["sellAmount"]}),providers:n.optional(n.array(n.string({description:"List of providers to use"}).refine((r)=>N.ProviderName[r]!==void 0,{message:"Invalid provider",path:["providers"]}))),sourceAddress:n.optional(n.string({description:"Address to send asset from"})),destinationAddress:n.optional(n.string({description:"Address to send asset to"})),slippage:n.optional(n.number({description:"Slippage tolerance as a percentage. Default is 3%."})),affiliate:n.optional(n.string({description:"Affiliate thorname"})),affiliateFee:n.optional(n.number({description:"Affiliate fee in basis points"}).refine((r)=>r===Math.floor(r)&&r>=0,{message:"affiliateFee must be a positive integer",path:["affiliateFee"]})),allowSmartContractSender:n.optional(n.boolean({description:"Allow smart contract as sender"})),allowSmartContractReceiver:n.optional(n.boolean({description:"Allow smart contract as recipient"})),disableSecurityChecks:n.optional(n.boolean({description:"Disable security checks"})),includeTx:n.optional(n.boolean({description:"Set to true to include an transaction object (EVM only)"})),cfBoost:n.optional(n.boolean({description:"Set to true to enable CF boost to speed up Chainflip swaps. BTC only."})),referrer:n.optional(n.string({description:"Referrer address (referral program)"}))}).refine((r)=>r.sellAsset!==r.buyAsset,{message:"Must be different",path:["sellAsset","buyAsset"]}),gn=n.object({tokens:n.array(n.object({identifier:n.string()})),metadata:n.boolean()}),z=n.object({sellAsset:n.object({chain:n.string(),asset:n.string()}),buyAsset:n.object({chain:n.string(),asset:n.string()}),destinationAddress:n.string(),channelMetadata:n.object({cfParameters:n.string().optional(),gasBudget:n.string().optional(),message:n.string().optional()}).optional(),affiliateFees:n.array(n.object({brokerAddress:n.string(),feeBps:n.number()})).optional(),refundParameters:n.object({minPrice:n.string().optional(),refundAddress:n.string().optional(),retryDuration:n.number().optional()}).optional(),dcaParameters:n.object({chunkInterval:n.number().optional(),numberOfChunks:n.number().optional()}).optional(),brokerCommissionBps:n.number().optional(),maxBoostFeeBps:n.number().optional()}),U=n.object({channelId:n.string(),depositAddress:n.string()}),dn=n.object({evmCalldata:n.optional(n.string()),logs:n.optional(n.unknown()),memo:n.optional(n.string()),spender:n.optional(n.string())}),Dn=n.object({estimatedFinalisedAt:n.number(),estimatedTimeToComplete:n.number(),updatedAt:n.number(),currentLegIndex:n.optional(n.number()),providerDetails:n.optional(n.unknown())}),Pn=n.object({network:n.optional(H),affiliate:n.optional(H),liquidity:n.optional(H),protocol:n.optional(H),tax:n.optional(H)}),Rn=n.object({broadcastedAt:n.optional(n.number()),wallet:n.optional(n.string()),quoteId:n.optional(n.string()),explorerUrl:n.optional(n.string()),affiliate:n.optional(n.string()),fees:n.optional(Pn),provider:n.optional(n.nativeEnum(N.ProviderName)),images:n.optional(n.object({from:n.optional(n.string()),to:n.optional(n.string()),provider:n.optional(n.string()),chain:n.optional(n.string())}))}),P=n.object({chainId:n.nativeEnum(N.ChainId),hash:n.string(),block:n.number(),type:n.nativeEnum(h),status:n.nativeEnum(B),trackingStatus:n.optional(n.nativeEnum(M)),fromAsset:n.string(),fromAmount:n.string(),fromAddress:n.string(),toAsset:n.string(),toAmount:n.string(),toAddress:n.string(),finalAsset:n.optional(H),finalAddress:n.optional(n.string()),finalisedAt:n.number(),transient:n.optional(Dn),meta:n.optional(Rn),payload:n.optional(dn)}),an=P.extend({legs:n.array(P)}),Sn=P.extend({legs:n.array(P)}),c=n.array(n.object({type:n.nativeEnum(N.FeeTypeEnum),amount:n.string(),asset:n.string(),chain:n.string(),protocol:n.nativeEnum(N.ProviderName)})),V=n.object({inbound:n.optional(n.number({description:"Time to receive inbound asset in seconds"})),swap:n.optional(n.number({description:"Time to swap assets in seconds"})),outbound:n.optional(n.number({description:"Time to receive outbound asset in seconds"})),total:n.number({description:"Total time in seconds"})}),J=n.object({to:n.string({description:"Address of the recipient"}),from:n.string({description:"Address of the sender"}),value:n.string({description:"Value to send"}),data:n.string({description:"Data to send"})}),j=n.array(n.union([n.string(),n.number(),n.array(n.string()),n.object({from:n.string(),value:n.string()}).describe("Parameters to pass to the contract method")])),hn=n.object({contractAddress:n.string({description:"Address of the contract to interact with"}),contractMethod:n.string({description:"Name of the method to call"}),contractParams:j,contractParamNames:n.array(n.string({description:"Names of the parameters to pass to the contract method"})),approvalToken:n.optional(n.string({description:"Address of the token to approve spending of"})),approvalSpender:n.optional(n.string({description:"Address of the spender to approve"}))}),Bn=n.object({typeUrl:n.string(),value:n.unknown()}),Mn=n.object({amount:n.array(n.object({denom:n.string(),amount:n.string()})),gas:n.string()}),Q=n.object({memo:n.string(),accountNumber:n.number(),sequence:n.number(),chainId:n.nativeEnum(N.ChainId),msgs:n.array(Bn),fee:Mn}),q=n.object({sellAsset:n.string({description:"Asset to sell"}),buyAsset:n.string({description:"Asset to buy"}),provider:n.nativeEnum(N.ProviderName),sourceAddress:n.string({description:"Source address"}),destinationAddress:n.string({description:"Destination address"}),estimatedTime:V.optional(),affiliate:n.string({description:"Affiliate address"}).optional(),affiliateFee:n.number({description:"Affiliate fee"}).optional(),slipPercentage:n.number({description:"Slippage as a percentage"})}),Gn=q.omit({sourceAddress:!0,destinationAddress:!0,slipPercentage:!0}),p=n.object({asset:n.string({description:"Asset name"}),price:n.number({description:"Price in USD"}),image:n.string({description:"Asset image"})}),nn=z,rn=n.object({priceImpact:n.optional(n.number({description:"Price impact"})),assets:n.optional(n.array(p)),approvalAddress:n.optional(n.string({description:"Approval address for swap"})),streamingInterval:n.number().optional(),maxStreamingQuantity:n.number().optional(),tags:n.array(n.nativeEnum(S)),affiliate:n.optional(n.string()),affiliateFee:n.optional(n.string()),txType:n.optional(n.nativeEnum(R)),chainflip:n.optional(nn),referrer:n.optional(n.string())}),en=n.array(n.object({code:n.nativeEnum(N.WarningCodeEnum),display:n.string(),tooltip:n.string().optional()})),Un=n.object({provider:n.nativeEnum(N.ProviderName),sellAsset:n.string({description:"Asset to sell"}),sellAmount:n.string({description:"Sell amount"}),buyAsset:n.string({description:"Asset to buy"}),buyAmount:n.string({description:"Buy amount"}),buyAmountMaxSlippage:n.string({description:"Buy amount max slippage"}),fees:n.optional(c)}),cn=n.object({providers:n.array(n.nativeEnum(N.ProviderName)),sellAsset:n.string({description:"Asset to sell"}),sellAmount:n.string({description:"Sell amount"}),buyAsset:n.string({description:"Asset to buy"}),expectedBuyAmount:n.string({description:"Expected Buy amount"}),expectedBuyAmountMaxSlippage:n.string({description:"Expected Buy amount max slippage"}),sourceAddress:n.string({description:"Source address"}),destinationAddress:n.string({description:"Destination address"}),targetAddress:n.optional(n.string({description:"Target address"})),inboundAddress:n.optional(n.string({description:"Inbound address"})),expiration:n.optional(n.string({description:"Expiration"})),memo:n.optional(n.string({description:"Memo"})),fees:c,txType:n.optional(n.nativeEnum(R)),tx:n.optional(n.union([J,Q,n.string()])),estimatedTime:n.optional(V),totalSlippageBps:n.number({description:"Total slippage in bps"}),legs:n.array(Un),warnings:en,meta:rn}),F=n.object({quoteId:n.string({description:"Quote ID"}),routes:n.array(cn),error:n.optional(n.string({description:"Error message"})),providerErrors:n.optional(n.array(n.object({provider:n.nativeEnum(N.ProviderName).optional(),errorCode:n.optional(n.nativeEnum(K)),message:n.optional(n.string())})))}),Y=n.array(n.object({id:n.number(),chainId:n.string(),value:n.string(),unit:n.string(),createdAt:n.string()})),ur=n.array(n.object({chain:n.nativeEnum(N.Chain),decimal:n.number(),ticker:n.string(),symbol:n.string(),value:n.string(),identifier:n.string()}));function Vn(r){return A.RequestClient.post(o("/track"),{json:r})}async function Fn(r){let e=await A.RequestClient.post(o("/quote"),{json:r});if(e.error)throw new A.SwapKitError("api_v2_server_error",{message:e.error});try{let t=F.safeParse(e);if(!t.success)throw new A.SwapKitError("api_v2_invalid_response",t.error);return t.data}catch(t){return e}}async function Yn({chain:r,address:e,scamFilter:t=!0}){let i=o(`/balance?chain=${r}&address=${e}`),u=await A.RequestClient.get(i),O=Array.isArray(u)?u:[];return t?Wn(O):O}function _(){let r=o("/providers");return A.RequestClient.get(r)}function _n(r){let e=o(`/tokens?provider=${r}`);return A.RequestClient.get(e)}async function Xn(r){let e=o("/price"),t=await A.RequestClient.post(e,{json:r});try{let i=G.safeParse(t);if(!i.success)throw new A.SwapKitError("api_v2_invalid_response",i.error);return i.data}catch(i){throw new A.SwapKitError("api_v2_invalid_response",i)}}async function fn(){let r=o("/gas"),e=await A.RequestClient.get(r);try{let t=Y.safeParse(e);if(!t.success)throw new A.SwapKitError("api_v2_invalid_response",t.error);return t.data}catch(t){throw new A.SwapKitError("api_v2_invalid_response",t)}}async function vn(r){let{destinationAddress:e}=r;if(!e)throw new A.SwapKitError("chainflip_broker_invalid_params");let t=A.SKConfig.get("integrations").chainflip?.brokerUrl||o("/channel"),i=await A.RequestClient.post(t,{json:r});try{let u=U.safeParse(i);if(!u.success)throw new A.SwapKitError("api_v2_invalid_response",u.error);return u.data}catch(u){throw new A.SwapKitError("api_v2_invalid_response",u)}}function o(r){let{isDev:e,apiUrl:t,devApiUrl:i}=A.SKConfig.get("envs");return`${e?i:t}${r}`}function wn(r){let[e,t]=r.split(".");if(!A.EVMChains.includes(e))return!0;let i=t.split("-"),u=i.length===1?void 0:i[i.length-1];return A.isGasAsset({chain:e,symbol:t})||!!u}var $n=new RegExp(/(.)\1{6}|\.ORG|\.NET|\.FINANCE|\.COM|WWW|HTTP|\\\\|\/\/|[\s$%:[\]]/,"gmi");function Wn(r){return r.filter((e)=>{return!$n.test(e.identifier)&&wn(e.identifier)})}var f={};d(f,{getThorchainQueue:()=>ln,getTNSPreferredAsset:()=>zn,getTHORNodeTNSDetails:()=>tn,getRunePoolProviderInfo:()=>jn,getRunePoolInfo:()=>Jn,getNodes:()=>kn,getMimirInfo:()=>Kn,getLastBlock:()=>xn,getInboundAddresses:()=>Zn});var E=require("@swapkit/helpers");function C(r){let{isStagenet:e}=E.SKConfig.get("envs"),t=E.SKConfig.get("nodeUrls");switch(r){case"mayachain":return`${t[e?E.StagenetChain.Maya:E.Chain.Maya]}/mayachain`;default:return`${t[e?E.StagenetChain.THORChain:E.Chain.THORChain]}/thorchain`}}function yn(r){let e=r==="mayachain"?"mayaname":"thorname";return`${C(r)}/${e}`}function xn(r="thorchain"){return E.RequestClient.get(`${C(r)}/lastblock`)}function ln(r){return E.RequestClient.get(`${C(r)}/queue`)}function kn(r){return E.RequestClient.get(`${C(r)}/nodes`)}function Kn(r){return E.RequestClient.get(`${C(r)}/mimir`)}function Zn(r){return E.RequestClient.get(`${C(r)}/inbound_addresses`)}async function tn({type:r,name:e}){try{return await E.RequestClient.get(`${yn(r)}/${e}`)}catch(t){return{name:e,expire_block_height:0,owner:"",preferred_asset:"",affiliate_collector_rune:"",aliases:[]}}}async function zn({type:r,tns:e}){let t=await tn({name:e,type:r});if(!t.preferred_asset||t.preferred_asset===".")return;return E.AssetValue.from({asyncTokenLookup:!0,asset:t.preferred_asset})}function Jn(r){return E.RequestClient.get(`${C(r)}/runepool`)}function jn({type:r,thorAddress:e}){return E.RequestClient.get(`${C(r)}/rune_provider/${e}`)}var w={};d(w,{getStaticTokenList:()=>Qn,getProviderLogo:()=>nr,getLogoForAsset:()=>qn,getChainLogoForAsset:()=>pn});var b=require("@swapkit/helpers");var v="https://static.thorswap.net";function Qn(r){return b.RequestClient.get(`${v}/token-list/${r}.json`)}function qn(r){let e=rr(r);return`${v}/token-list/images/${e}.png`}function pn(r){let{chain:e}=b.AssetValue.from({asset:r}),t=b.getChainIdentifier(e).toLowerCase();return`${v}/token-list/images/${t}.png`}var An;async function nr(r){return An||=await _(),An.find((e)=>e.name===r)?.url}function rr(r){let{symbol:e}=b.AssetValue.from({asset:r});if(e===b.Chain.Ethereum)return"eth.eth";return r.toLowerCase()}var tr={...X,...w,mayachainMidgard:k,microgard:a,thorchainMidgard:l,thornode:f};
2
2
 
3
- //# debugId=BCB24EA016F5DFA964756E2164756E21
3
+ //# debugId=9EB721D94EABBD3D64756E2164756E21
@@ -3,14 +3,14 @@
3
3
  "sources": ["../src/api/microgard/endpoints.ts", "../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
5
  "import {\n AssetValue,\n BaseDecimal,\n type Chain,\n RequestClient,\n SwapKitNumber,\n} from \"@swapkit/helpers\";\nimport type { LiquidityPositionRaw, PoolDetail, PoolPeriod, THORNameDetails } 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<THORNameDetails>(`${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[]>(\n `${baseUrl}/fullmember?address=${addresses.join(\",\")}`,\n );\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 assetRegisteredAddress: p.assetAddress,\n asset: AssetValue.from({\n asset: p.pool,\n value: p.assetAdded,\n fromBaseDecimal: BaseDecimal.THOR,\n }),\n assetPending: AssetValue.from({\n asset: p.pool,\n value: p.assetPending,\n fromBaseDecimal: BaseDecimal.THOR,\n }),\n assetWithdrawn: AssetValue.from({\n asset: p.pool,\n value: p.assetWithdrawn,\n fromBaseDecimal: BaseDecimal.THOR,\n }),\n runeRegisteredAddress: p.runeAddress,\n rune: AssetValue.from({\n asset: \"THOR.RUNE\",\n value: p.runeAdded,\n fromBaseDecimal: BaseDecimal.THOR,\n }),\n runePending: AssetValue.from({\n asset: \"THOR.RUNE\",\n value: p.runePending,\n fromBaseDecimal: BaseDecimal.THOR,\n }),\n runeWithdrawn: AssetValue.from({\n asset: \"THOR.RUNE\",\n value: p.runeWithdrawn,\n fromBaseDecimal: BaseDecimal.THOR,\n }),\n poolShare: new SwapKitNumber(p.sharedUnits).div(p.poolUnits),\n dateLastAdded: p.dateLastAdded,\n dateFirstAdded: p.dateFirstAdded,\n }));\n}\n",
6
- "import { AssetValue, BaseDecimal, Chain, RequestClient, SwapKitNumber } from \"@swapkit/helpers\";\nimport type {\n BorrowerDetails,\n MemberDetailsMayachain,\n MemberDetailsThorchain,\n SaverDetails,\n THORNameDetails,\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 getBorrowerDetailRaw(baseUrl: string) {\n return function getBorrowerDetail(address: string) {\n return RequestClient.get<BorrowerDetails>(`${baseUrl}/v2/borrower/${address}`);\n };\n}\n\nfunction getSaverDetailRaw(baseUrl: string) {\n return function getSaverDetail(address: string) {\n return RequestClient.get<SaverDetails>(`${baseUrl}/v2/saver/${address}`);\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<\n Chain extends Chain.THORChain ? MemberDetailsThorchain : MemberDetailsMayachain\n >(`${baseUrl}/v2/member/${address}`);\n };\n}\n\nfunction getNameDetails(baseUrl: string) {\n return function getNameDetails(name: string) {\n return RequestClient.get<THORNameDetails>(`${baseUrl}/lookup/${name}`);\n };\n}\n\nfunction getNamesByAddress(baseUrl: string) {\n return function getNamesByAddress(address: string) {\n return RequestClient.get<string[]>(`${baseUrl}/rlookup/${address}`);\n };\n}\n\nfunction getNamesByOwner(baseUrl: string) {\n return function getNamesByOwner(address: string) {\n return RequestClient.get<string[]>(`${baseUrl}/owner/${address}`);\n };\n}\n\nfunction getBorrowerDetail(borrowerDetailGetter: ReturnType<typeof getBorrowerDetailRaw>) {\n return async function getBorrowerDetail(address: string) {\n const rawBorrowerDetail = await borrowerDetailGetter(address);\n\n return rawBorrowerDetail.pools.map((p) => ({\n collateral_deposited: AssetValue.from({\n asset: p.collateral_asset,\n value: p.collateral_deposited,\n fromBaseDecimal: BaseDecimal.THOR,\n }),\n collateral_withdrawn: AssetValue.from({\n asset: p.collateral_asset,\n value: p.collateral_withdrawn,\n fromBaseDecimal: BaseDecimal.THOR,\n }),\n debt_issued_tor: SwapKitNumber.fromBigInt(BigInt(p.debt_issued_tor), BaseDecimal.THOR),\n debt_repaid_tor: SwapKitNumber.fromBigInt(BigInt(p.debt_repaid_tor), BaseDecimal.THOR),\n last_open_loan_timestamp: p.last_open_loan_timestamp,\n last_repay_loan_timestamp: p.last_repay_loan_timestamp,\n target_assets: p.target_assets.map((asset) => AssetValue.from({ asset })),\n }));\n };\n}\n\nfunction getPoolAsset({ asset, value }: { asset: string; value: string }) {\n return AssetValue.from({ asset, value, fromBaseDecimal: BaseDecimal.THOR });\n}\n\nfunction getSaverDetail(saverDetailGetter: ReturnType<typeof getSaverDetailRaw>) {\n return async function getSaverDetail(address: string) {\n const rawSaverPositions = await saverDetailGetter(address);\n\n return rawSaverPositions.pools.map((p) => ({\n assetAdded: getPoolAsset({ asset: p.pool, value: p.assetAdded }),\n assetDeposit: getPoolAsset({ asset: p.pool, value: p.assetDeposit }),\n assetRedeem: getPoolAsset({ asset: p.pool, value: p.assetRedeem }),\n assetWithdrawn: getPoolAsset({ asset: p.pool, value: p.assetWithdrawn }),\n assetRegisteredAddress: p.assetAddress,\n dateFirstAdded: p.dateFirstAdded,\n dateLastAdded: p.dateLastAdded,\n }));\n };\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 const borrowerDetailGetter = getBorrowerDetailRaw(midgardBaseUrl);\n const saverDetailGetter = getSaverDetailRaw(midgardBaseUrl);\n\n return {\n getLiquidityPositionRaw: liquidityPositionGetter,\n getBorrowerDetailRaw: borrowerDetailGetter,\n getSaverDetailRaw: saverDetailGetter,\n getBorrowerDetail: getBorrowerDetail(borrowerDetailGetter),\n getSaversDetail: getSaverDetail(saverDetailGetter),\n getNameDetails: getNameDetails(nameServiceBaseUrl),\n getNamesByAddress: getNamesByAddress(nameServiceBaseUrl),\n getNamesByOwner: getNamesByOwner(nameServiceBaseUrl),\n getLiquidityPosition: getLiquidityPosition({ liquidityPositionGetter, isThorchain }),\n };\n}\n\nexport const thorchainMidgard = getMidgardMethodsForProtocol(Chain.THORChain);\nexport const mayachainMidgard = getMidgardMethodsForProtocol(Chain.Maya);\n",
7
- "import {\n type Chain,\n type EVMChain,\n EVMChains,\n type ProviderName,\n RequestClient,\n SKConfig,\n SwapKitError,\n isGasAsset,\n} from \"@swapkit/helpers\";\n\nimport {\n type BalanceResponse,\n type BrokerDepositChannelParams,\n type DepositChannelResponse,\n DepositChannelResponseSchema,\n type GasResponse,\n GasResponseSchema,\n type PriceRequest,\n type PriceResponse,\n PriceResponseSchema,\n type QuoteRequest,\n type QuoteResponse,\n QuoteResponseSchema,\n type TokenListProvidersResponse,\n type TokensResponseV2,\n type TrackerParams,\n type TrackerResponse,\n} from \"./types\";\n\nexport function getTrackerDetails(json: TrackerParams) {\n return RequestClient.post<TrackerResponse>(getApiUrl(\"/track\"), { json });\n}\n\nexport async function getSwapQuote(json: QuoteRequest) {\n const response = await RequestClient.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 console.warn(error);\n return response;\n }\n}\n\nexport async function getChainBalance<T extends Chain>({\n chain,\n address,\n scamFilter = true,\n}: { chain: T; address: string; scamFilter?: boolean }) {\n const url = getApiUrl(`/balance?chain=${chain}&address=${address}`);\n const balanceResponse = await RequestClient.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 RequestClient.get<TokenListProvidersResponse>(url);\n}\n\nexport function getTokenList(provider: ProviderName) {\n const url = getApiUrl(`/tokens?provider=${provider}`);\n return RequestClient.get<TokensResponseV2>(url);\n}\n\nexport async function getPrice(body: PriceRequest) {\n const url = getApiUrl(\"/price\");\n const response = await RequestClient.post<PriceResponse>(url, {\n json: body,\n });\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 RequestClient.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 return parsedResponse.data;\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(\"/channel\");\n\n const response = await RequestClient.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\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(\n /(.)\\1{6}|\\.ORG|\\.NET|\\.FINANCE|\\.COM|WWW|HTTP|\\\\\\\\|\\/\\/|[\\s$%:[\\]]/,\n \"gmi\",\n);\nfunction filterAssets(tokens: BalanceResponse) {\n return tokens.filter((token) => {\n return !potentialScamRegex.test(token.identifier) && evmAssetHasAddress(token.identifier);\n });\n}\n",
8
- "import {\n type AssetValue,\n Chain,\n ChainId,\n ErrorCode,\n FeeTypeEnum,\n ProviderName,\n WarningCodeEnum,\n} from \"@swapkit/helpers\";\nimport {\n type ZodType,\n array,\n boolean,\n nativeEnum,\n number,\n object,\n optional,\n string,\n union,\n unknown,\n type z,\n} from \"zod\";\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 = {\n major: number;\n minor: number;\n patch: number;\n};\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: TokenV2[];\n version: TokenProviderVersion;\n};\n\nexport type TokenV2 = {\n address?: string;\n chain: string;\n shortCode?: string;\n chainId: string;\n decimals: number;\n extensions?: {};\n identifier: string;\n logoURI: string;\n name?: string;\n symbol: string;\n ticker: string;\n};\n\nexport interface TransactionProps {\n chainId: ChainId;\n hash: string;\n block: number;\n type?: TxnType;\n status?: TxnStatus;\n trackingStatus?: TrackingStatus;\n fromAsset: AssetValue | null;\n fromAddress: string;\n toAsset: AssetValue | null;\n toAddress: string;\n finalisedAt?: number;\n meta?: Partial<TxnMeta>;\n payload?: Partial<TxnPayload>;\n}\n\nexport type TrackerParams = {\n chainId: ChainId;\n hash: string;\n block?: number;\n};\n\nexport type TrackerResponse = TransactionProps & {\n legs: TransactionLegDTO[];\n transient?: TxnTransient;\n};\n\nexport const ApiV2ErrorSchema = object({\n error: string(),\n message: string(),\n});\n\nexport const AssetValueSchema = object({\n chain: nativeEnum(Chain),\n symbol: string(),\n ticker: string(),\n decimal: optional(number()),\n address: optional(string()),\n isGasAsset: boolean(),\n isSynthetic: boolean(),\n tax: optional(object({ buy: number(), sell: number() })),\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 identifier: string(),\n provider: string(),\n cg: TokenDetailsMetadataSchema.optional(),\n price_usd: number(),\n timestamp: number(),\n }).partial(),\n);\n\nexport type PriceResponse = z.infer<typeof PriceResponseSchema>;\n\nexport const QuoteRequestSchema = object({\n sellAsset: string({ description: \"Asset to sell\" }),\n buyAsset: string({ description: \"Asset to buy\" }),\n sellAmount: string({ description: \"Amount of asset to sell\" }).refine((amount) => +amount > 0, {\n message: \"sellAmount must be greater than 0\",\n path: [\"sellAmount\"],\n }),\n providers: optional(\n array(\n string({ description: \"List of providers to use\" }).refine(\n (provider) => ProviderName[provider as ProviderName] !== undefined,\n { message: \"Invalid provider\", path: [\"providers\"] },\n ),\n ),\n ),\n sourceAddress: optional(string({ description: \"Address to send asset from\" })),\n destinationAddress: optional(string({ description: \"Address to send asset to\" })),\n slippage: optional(number({ description: \"Slippage tolerance as a percentage. Default is 3%.\" })),\n affiliate: optional(string({ description: \"Affiliate thorname\" })),\n affiliateFee: optional(\n number({ description: \"Affiliate fee in basis points\" }).refine(\n (fee) => fee === Math.floor(fee) && fee >= 0,\n { message: \"affiliateFee must be a positive integer\", path: [\"affiliateFee\"] },\n ),\n ),\n allowSmartContractSender: optional(boolean({ description: \"Allow smart contract as sender\" })),\n allowSmartContractReceiver: optional(\n boolean({ description: \"Allow smart contract as recipient\" }),\n ),\n disableSecurityChecks: optional(boolean({ description: \"Disable security checks\" })),\n includeTx: optional(\n boolean({ description: \"Set to true to include an transaction object (EVM only)\" }),\n ),\n cfBoost: optional(\n boolean({\n description: \"Set to true to enable CF boost to speed up Chainflip swaps. BTC only.\",\n }),\n ),\n referrer: optional(string({ description: \"Referrer address (referral program)\" })),\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({\n tokens: array(\n object({\n identifier: string(),\n }),\n ),\n metadata: boolean(),\n});\n\nexport type PriceRequest = z.infer<typeof PriceRequestSchema>;\n\nexport const BrokerDepositChannelParamsSchema = object({\n sellAsset: object({\n chain: string(),\n asset: string(),\n }),\n buyAsset: object({\n chain: string(),\n asset: string(), // identifier of the asset\n }),\n destinationAddress: string(),\n channelMetadata: object({\n cfParameters: string().optional(),\n gasBudget: string().optional(),\n message: string().optional(),\n }).optional(),\n affiliateFees: array(\n object({\n brokerAddress: string(),\n feeBps: number(),\n }),\n ).optional(),\n refundParameters: object({\n minPrice: string().optional(),\n refundAddress: string().optional(),\n retryDuration: number().optional(),\n }).optional(),\n dcaParameters: object({\n chunkInterval: number().optional(),\n numberOfChunks: number().optional(),\n }).optional(),\n brokerCommissionBps: number().optional(),\n maxBoostFeeBps: number().optional(),\n});\n\nexport type BrokerDepositChannelParams = z.infer<typeof BrokerDepositChannelParamsSchema>;\n\nexport const DepositChannelResponseSchema = object({\n channelId: string(),\n depositAddress: string(),\n});\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 estimatedFinalisedAt: number(),\n estimatedTimeToComplete: number(),\n updatedAt: number(),\n currentLegIndex: optional(number()),\n providerDetails: optional(unknown()), // see ProviderTransientDetails\n});\n\nexport type TxnTransient = z.infer<typeof TxnTransientSchema>;\n\nconst TransactionFeesSchema = object({\n network: optional(AssetValueSchema), // gas on ethereum, network fee on thorchain, etc.\n affiliate: optional(AssetValueSchema), // e.g. affiliate in memo, other affiliate mechanisms\n liquidity: optional(AssetValueSchema), // fee paid to pool\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 broadcastedAt: optional(number()),\n wallet: optional(string()),\n quoteId: optional(string()),\n explorerUrl: optional(string()),\n affiliate: optional(string()),\n fees: optional(TransactionFeesSchema),\n provider: optional(nativeEnum(ProviderName)),\n images: optional(\n object({\n from: optional(string()),\n to: optional(string()),\n provider: optional(string()),\n chain: optional(string()),\n }),\n ),\n});\n\nexport type TxnMeta = z.infer<typeof TxnMetaSchema>;\n\nconst TransactionLegDTOSchema = object({\n chainId: nativeEnum(ChainId),\n hash: string(),\n block: number(),\n type: nativeEnum(TxnType),\n status: nativeEnum(TxnStatus),\n trackingStatus: optional(nativeEnum(TrackingStatus)),\n\n fromAsset: string(),\n fromAmount: string(),\n fromAddress: string(),\n toAsset: string(),\n toAmount: string(),\n toAddress: string(),\n finalAsset: optional(AssetValueSchema),\n finalAddress: optional(string()),\n\n finalisedAt: number(),\n\n transient: optional(TxnTransientSchema),\n meta: optional(TxnMetaSchema),\n payload: optional(TxnPayloadSchema),\n});\n\nexport type TransactionLegDTO = z.infer<typeof TransactionLegDTOSchema>;\n\nexport const TransactionSchema = TransactionLegDTOSchema.extend({\n legs: array(TransactionLegDTOSchema),\n});\n\nexport type TransactionDTO = z.infer<typeof TransactionLegDTOSchema> & {\n legs: TransactionLegDTO[];\n};\n\nexport const TransactionDTOSchema: ZodType<TransactionDTO> = TransactionLegDTOSchema.extend({\n legs: array(TransactionLegDTOSchema),\n});\n\nexport const FeesSchema = array(\n object({\n type: nativeEnum(FeeTypeEnum),\n amount: string(),\n asset: string(),\n chain: string(),\n protocol: nativeEnum(ProviderName),\n }),\n);\n\nexport type Fees = z.infer<typeof FeesSchema>;\n\nexport const EstimatedTimeSchema = object({\n inbound: optional(number({ description: \"Time to receive inbound asset in seconds\" })),\n swap: optional(number({ description: \"Time to swap assets in seconds\" })),\n outbound: optional(number({ description: \"Time to receive outbound asset in seconds\" })),\n total: number({ description: \"Total time in seconds\" }),\n});\n\nexport type EstimatedTime = z.infer<typeof EstimatedTimeSchema>;\n\nexport const EVMTransactionSchema = object({\n to: string({ description: \"Address of the recipient\" }),\n from: string({ description: \"Address of the sender\" }),\n value: string({ description: \"Value to send\" }),\n data: string({ description: \"Data 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\n object({ from: string(), value: string() }).describe(\n \"Parameters to pass to the contract method\",\n ),\n ]),\n);\n\nexport type EVMTransactionDetailsParams = z.infer<typeof EVMTransactionDetailsParamsSchema>;\n\nexport const EVMTransactionDetailsSchema = object({\n contractAddress: string({ description: \"Address of the contract to interact with\" }),\n contractMethod: string({ description: \"Name of the method to call\" }),\n contractParams: EVMTransactionDetailsParamsSchema,\n contractParamNames: array(\n string({ description: \"Names of the parameters to pass to the contract method\" }),\n ),\n approvalToken: optional(string({ description: \"Address of the token to approve spending of\" })),\n approvalSpender: optional(string({ description: \"Address of the spender to approve\" })),\n});\n\nexport type EVMTransactionDetails = z.infer<typeof EVMTransactionDetailsSchema>;\n\nconst EncodeObjectSchema = object({\n typeUrl: string(),\n value: unknown(),\n});\n\nconst FeeSchema = object({\n amount: array(object({ denom: string(), amount: string() })),\n gas: string(),\n});\n\nexport const CosmosTransactionSchema = object({\n memo: string(),\n accountNumber: number(),\n sequence: number(),\n chainId: nativeEnum(ChainId),\n msgs: array(EncodeObjectSchema),\n fee: FeeSchema,\n});\n\nexport type CosmosTransaction = z.infer<typeof CosmosTransactionSchema>;\n\nexport const RouteLegSchema = object({\n sellAsset: string({ description: \"Asset to sell\" }),\n buyAsset: string({ description: \"Asset to buy\" }),\n provider: nativeEnum(ProviderName),\n sourceAddress: string({ description: \"Source address\" }),\n destinationAddress: string({ description: \"Destination address\" }),\n estimatedTime: EstimatedTimeSchema.optional(),\n affiliate: string({ description: \"Affiliate address\" }).optional(),\n affiliateFee: number({ description: \"Affiliate fee\" }).optional(),\n slipPercentage: number({ description: \"Slippage as a percentage\" }),\n});\n\nexport type RouteLeg = z.infer<typeof RouteLegSchema>;\n\nexport const RouteLegWithoutAddressesSchema = RouteLegSchema.omit({\n sourceAddress: true,\n destinationAddress: true,\n slipPercentage: true,\n});\n\nexport type RouteLegWithoutAddresses = z.infer<typeof RouteLegWithoutAddressesSchema>;\n\nexport const RouteQuoteMetadataAssetSchema = object({\n asset: string({ description: \"Asset name\" }),\n price: number({ description: \"Price in USD\" }),\n image: string({ description: \"Asset image\" }),\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 priceImpact: optional(number({ description: \"Price impact\" })),\n assets: optional(array(RouteQuoteMetadataAssetSchema)),\n approvalAddress: optional(string({ description: \"Approval address for swap\" })),\n streamingInterval: number().optional(),\n maxStreamingQuantity: number().optional(),\n tags: array(nativeEnum(PriorityLabel)),\n affiliate: optional(string()),\n affiliateFee: optional(string()),\n txType: optional(nativeEnum(RouteQuoteTxType)),\n chainflip: optional(ChainflipMetadataSchema),\n referrer: optional(string()),\n});\n\nexport const RouteQuoteWarningSchema = array(\n object({ code: nativeEnum(WarningCodeEnum), display: string(), tooltip: string().optional() }),\n);\n\nexport type RouteQuoteWarning = z.infer<typeof RouteQuoteWarningSchema>;\n\nconst QuoteResponseRouteLegItem = object({\n provider: nativeEnum(ProviderName),\n sellAsset: string({ description: \"Asset to sell\" }),\n sellAmount: string({ description: \"Sell amount\" }),\n buyAsset: string({ description: \"Asset to buy\" }),\n buyAmount: string({ description: \"Buy amount\" }),\n buyAmountMaxSlippage: string({ description: \"Buy amount max slippage\" }),\n fees: optional(FeesSchema),\n});\n\nconst QuoteResponseRouteItem = object({\n providers: array(nativeEnum(ProviderName)),\n sellAsset: string({ description: \"Asset to sell\" }),\n sellAmount: string({ description: \"Sell amount\" }),\n buyAsset: string({ description: \"Asset to buy\" }),\n expectedBuyAmount: string({ description: \"Expected Buy amount\" }),\n expectedBuyAmountMaxSlippage: string({ description: \"Expected Buy amount max slippage\" }),\n sourceAddress: string({ description: \"Source address\" }),\n destinationAddress: string({ description: \"Destination address\" }),\n targetAddress: optional(string({ description: \"Target address\" })),\n inboundAddress: optional(string({ description: \"Inbound address\" })),\n expiration: optional(string({ description: \"Expiration\" })),\n memo: optional(string({ description: \"Memo\" })),\n fees: FeesSchema,\n txType: optional(nativeEnum(RouteQuoteTxType)),\n tx: optional(union([EVMTransactionSchema, CosmosTransactionSchema, string()])),\n estimatedTime: optional(EstimatedTimeSchema),\n totalSlippageBps: number({ description: \"Total slippage in bps\" }),\n legs: array(QuoteResponseRouteLegItem),\n warnings: RouteQuoteWarningSchema,\n meta: RouteQuoteMetadataSchema,\n});\n\nexport const QuoteResponseSchema = object({\n quoteId: string({ description: \"Quote ID\" }),\n routes: array(QuoteResponseRouteItem),\n error: optional(string({ description: \"Error message\" })),\n providerErrors: optional(\n array(\n object({\n provider: nativeEnum(ProviderName).optional(),\n errorCode: optional(nativeEnum(ErrorCode)),\n message: optional(string()),\n }),\n ),\n ),\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 GasResponseSchema = array(\n object({ id: number(), chainId: string(), value: string(), unit: string(), createdAt: string() }),\n);\n\nexport type GasResponse = z.infer<typeof GasResponseSchema>;\n\nconst BalanceResponseSchema = array(\n object({\n chain: nativeEnum(Chain),\n decimal: number(),\n ticker: string(),\n symbol: string(),\n value: string(),\n identifier: string(),\n }),\n);\n\nexport type BalanceResponse = z.infer<typeof BalanceResponseSchema>;\n",
6
+ "import { AssetValue, BaseDecimal, Chain, RequestClient, SwapKitNumber } from \"@swapkit/helpers\";\nimport type { MemberDetailsMayachain, MemberDetailsThorchain, THORNameDetails } 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 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<\n Chain extends Chain.THORChain ? MemberDetailsThorchain : MemberDetailsMayachain\n >(`${baseUrl}/v2/member/${address}`);\n };\n}\n\nfunction getNameDetails(baseUrl: string) {\n return function getNameDetails(name: string) {\n return RequestClient.get<THORNameDetails>(`${baseUrl}/lookup/${name}`);\n };\n}\n\nfunction getNamesByAddress(baseUrl: string) {\n return function getNamesByAddress(address: string) {\n return RequestClient.get<string[]>(`${baseUrl}/rlookup/${address}`);\n };\n}\n\nfunction getNamesByOwner(baseUrl: string) {\n return function getNamesByOwner(address: string) {\n return RequestClient.get<string[]>(`${baseUrl}/owner/${address}`);\n };\n}\n\nfunction getPoolAsset({ asset, value }: { asset: string; value: string }) {\n return AssetValue.from({ asset, value, fromBaseDecimal: BaseDecimal.THOR });\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 getLiquidityPositionRaw: liquidityPositionGetter,\n getNameDetails: getNameDetails(nameServiceBaseUrl),\n getNamesByAddress: getNamesByAddress(nameServiceBaseUrl),\n getNamesByOwner: getNamesByOwner(nameServiceBaseUrl),\n getLiquidityPosition: getLiquidityPosition({ liquidityPositionGetter, isThorchain }),\n };\n}\n\nexport const thorchainMidgard = getMidgardMethodsForProtocol(Chain.THORChain);\nexport const mayachainMidgard = getMidgardMethodsForProtocol(Chain.Maya);\n",
7
+ "import {\n type Chain,\n type EVMChain,\n EVMChains,\n type ProviderName,\n RequestClient,\n SKConfig,\n SwapKitError,\n isGasAsset,\n} from \"@swapkit/helpers\";\n\nimport {\n type BalanceResponse,\n type BrokerDepositChannelParams,\n type DepositChannelResponse,\n DepositChannelResponseSchema,\n type GasResponse,\n GasResponseSchema,\n type PriceRequest,\n type PriceResponse,\n PriceResponseSchema,\n type QuoteRequest,\n type QuoteResponse,\n QuoteResponseSchema,\n type TokenListProvidersResponse,\n type TokensResponseV2,\n type TrackerParams,\n type TrackerResponse,\n} from \"./types\";\n\nexport function getTrackerDetails(json: TrackerParams) {\n return RequestClient.post<TrackerResponse>(getApiUrl(\"/track\"), { json });\n}\n\nexport async function getSwapQuote(json: QuoteRequest) {\n const response = await RequestClient.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}: { chain: T; address: string; scamFilter?: boolean }) {\n const url = getApiUrl(`/balance?chain=${chain}&address=${address}`);\n const balanceResponse = await RequestClient.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 RequestClient.get<TokenListProvidersResponse>(url);\n}\n\nexport function getTokenList(provider: ProviderName) {\n const url = getApiUrl(`/tokens?provider=${provider}`);\n return RequestClient.get<TokensResponseV2>(url);\n}\n\nexport async function getPrice(body: PriceRequest) {\n const url = getApiUrl(\"/price\");\n const response = await RequestClient.post<PriceResponse>(url, {\n json: body,\n });\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 RequestClient.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 return parsedResponse.data;\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(\"/channel\");\n\n const response = await RequestClient.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\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(\n /(.)\\1{6}|\\.ORG|\\.NET|\\.FINANCE|\\.COM|WWW|HTTP|\\\\\\\\|\\/\\/|[\\s$%:[\\]]/,\n \"gmi\",\n);\nfunction filterAssets(tokens: BalanceResponse) {\n return tokens.filter((token) => {\n return !potentialScamRegex.test(token.identifier) && evmAssetHasAddress(token.identifier);\n });\n}\n",
8
+ "import {\n type AssetValue,\n Chain,\n ChainId,\n FeeTypeEnum,\n ProviderName,\n WarningCodeEnum,\n} from \"@swapkit/helpers\";\nimport {\n type ZodType,\n array,\n boolean,\n nativeEnum,\n number,\n object,\n optional,\n string,\n union,\n unknown,\n type z,\n} from \"zod\";\nimport { ErrorCode } from \"../../types/quotes\";\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 = {\n major: number;\n minor: number;\n patch: number;\n};\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: TokenV2[];\n version: TokenProviderVersion;\n};\n\nexport type TokenV2 = {\n address?: string;\n chain: string;\n shortCode?: string;\n chainId: string;\n decimals: number;\n extensions?: {};\n identifier: string;\n logoURI: string;\n name?: string;\n symbol: string;\n ticker: string;\n};\n\nexport interface TransactionProps {\n chainId: ChainId;\n hash: string;\n block: number;\n type?: TxnType;\n status?: TxnStatus;\n trackingStatus?: TrackingStatus;\n fromAsset: AssetValue | null;\n fromAddress: string;\n toAsset: AssetValue | null;\n toAddress: string;\n finalisedAt?: number;\n meta?: Partial<TxnMeta>;\n payload?: Partial<TxnPayload>;\n}\n\nexport type TrackerParams = {\n chainId: ChainId;\n hash: string;\n block?: number;\n};\n\nexport type TrackerResponse = TransactionProps & {\n legs: TransactionLegDTO[];\n transient?: TxnTransient;\n};\n\nexport const ApiV2ErrorSchema = object({\n error: string(),\n message: string(),\n});\n\nexport const AssetValueSchema = object({\n chain: nativeEnum(Chain),\n symbol: string(),\n ticker: string(),\n decimal: optional(number()),\n address: optional(string()),\n isGasAsset: boolean(),\n isSynthetic: boolean(),\n tax: optional(object({ buy: number(), sell: number() })),\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 identifier: string(),\n provider: string(),\n cg: TokenDetailsMetadataSchema.optional(),\n price_usd: number(),\n timestamp: number(),\n }).partial(),\n);\n\nexport type PriceResponse = z.infer<typeof PriceResponseSchema>;\n\nexport const QuoteRequestSchema = object({\n sellAsset: string({ description: \"Asset to sell\" }),\n buyAsset: string({ description: \"Asset to buy\" }),\n sellAmount: string({ description: \"Amount of asset to sell\" }).refine((amount) => +amount > 0, {\n message: \"sellAmount must be greater than 0\",\n path: [\"sellAmount\"],\n }),\n providers: optional(\n array(\n string({ description: \"List of providers to use\" }).refine(\n (provider) => ProviderName[provider as ProviderName] !== undefined,\n { message: \"Invalid provider\", path: [\"providers\"] },\n ),\n ),\n ),\n sourceAddress: optional(string({ description: \"Address to send asset from\" })),\n destinationAddress: optional(string({ description: \"Address to send asset to\" })),\n slippage: optional(number({ description: \"Slippage tolerance as a percentage. Default is 3%.\" })),\n affiliate: optional(string({ description: \"Affiliate thorname\" })),\n affiliateFee: optional(\n number({ description: \"Affiliate fee in basis points\" }).refine(\n (fee) => fee === Math.floor(fee) && fee >= 0,\n { message: \"affiliateFee must be a positive integer\", path: [\"affiliateFee\"] },\n ),\n ),\n allowSmartContractSender: optional(boolean({ description: \"Allow smart contract as sender\" })),\n allowSmartContractReceiver: optional(\n boolean({ description: \"Allow smart contract as recipient\" }),\n ),\n disableSecurityChecks: optional(boolean({ description: \"Disable security checks\" })),\n includeTx: optional(\n boolean({ description: \"Set to true to include an transaction object (EVM only)\" }),\n ),\n cfBoost: optional(\n boolean({\n description: \"Set to true to enable CF boost to speed up Chainflip swaps. BTC only.\",\n }),\n ),\n referrer: optional(string({ description: \"Referrer address (referral program)\" })),\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({\n tokens: array(\n object({\n identifier: string(),\n }),\n ),\n metadata: boolean(),\n});\n\nexport type PriceRequest = z.infer<typeof PriceRequestSchema>;\n\nexport const BrokerDepositChannelParamsSchema = object({\n sellAsset: object({\n chain: string(),\n asset: string(),\n }),\n buyAsset: object({\n chain: string(),\n asset: string(), // identifier of the asset\n }),\n destinationAddress: string(),\n channelMetadata: object({\n cfParameters: string().optional(),\n gasBudget: string().optional(),\n message: string().optional(),\n }).optional(),\n affiliateFees: array(\n object({\n brokerAddress: string(),\n feeBps: number(),\n }),\n ).optional(),\n refundParameters: object({\n minPrice: string().optional(),\n refundAddress: string().optional(),\n retryDuration: number().optional(),\n }).optional(),\n dcaParameters: object({\n chunkInterval: number().optional(),\n numberOfChunks: number().optional(),\n }).optional(),\n brokerCommissionBps: number().optional(),\n maxBoostFeeBps: number().optional(),\n});\n\nexport type BrokerDepositChannelParams = z.infer<typeof BrokerDepositChannelParamsSchema>;\n\nexport const DepositChannelResponseSchema = object({\n channelId: string(),\n depositAddress: string(),\n});\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 estimatedFinalisedAt: number(),\n estimatedTimeToComplete: number(),\n updatedAt: number(),\n currentLegIndex: optional(number()),\n providerDetails: optional(unknown()), // see ProviderTransientDetails\n});\n\nexport type TxnTransient = z.infer<typeof TxnTransientSchema>;\n\nconst TransactionFeesSchema = object({\n network: optional(AssetValueSchema), // gas on ethereum, network fee on thorchain, etc.\n affiliate: optional(AssetValueSchema), // e.g. affiliate in memo, other affiliate mechanisms\n liquidity: optional(AssetValueSchema), // fee paid to pool\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 broadcastedAt: optional(number()),\n wallet: optional(string()),\n quoteId: optional(string()),\n explorerUrl: optional(string()),\n affiliate: optional(string()),\n fees: optional(TransactionFeesSchema),\n provider: optional(nativeEnum(ProviderName)),\n images: optional(\n object({\n from: optional(string()),\n to: optional(string()),\n provider: optional(string()),\n chain: optional(string()),\n }),\n ),\n});\n\nexport type TxnMeta = z.infer<typeof TxnMetaSchema>;\n\nconst TransactionLegDTOSchema = object({\n chainId: nativeEnum(ChainId),\n hash: string(),\n block: number(),\n type: nativeEnum(TxnType),\n status: nativeEnum(TxnStatus),\n trackingStatus: optional(nativeEnum(TrackingStatus)),\n\n fromAsset: string(),\n fromAmount: string(),\n fromAddress: string(),\n toAsset: string(),\n toAmount: string(),\n toAddress: string(),\n finalAsset: optional(AssetValueSchema),\n finalAddress: optional(string()),\n\n finalisedAt: number(),\n\n transient: optional(TxnTransientSchema),\n meta: optional(TxnMetaSchema),\n payload: optional(TxnPayloadSchema),\n});\n\nexport type TransactionLegDTO = z.infer<typeof TransactionLegDTOSchema>;\n\nexport const TransactionSchema = TransactionLegDTOSchema.extend({\n legs: array(TransactionLegDTOSchema),\n});\n\nexport type TransactionDTO = z.infer<typeof TransactionLegDTOSchema> & {\n legs: TransactionLegDTO[];\n};\n\nexport const TransactionDTOSchema: ZodType<TransactionDTO> = TransactionLegDTOSchema.extend({\n legs: array(TransactionLegDTOSchema),\n});\n\nexport const FeesSchema = array(\n object({\n type: nativeEnum(FeeTypeEnum),\n amount: string(),\n asset: string(),\n chain: string(),\n protocol: nativeEnum(ProviderName),\n }),\n);\n\nexport type Fees = z.infer<typeof FeesSchema>;\n\nexport const EstimatedTimeSchema = object({\n inbound: optional(number({ description: \"Time to receive inbound asset in seconds\" })),\n swap: optional(number({ description: \"Time to swap assets in seconds\" })),\n outbound: optional(number({ description: \"Time to receive outbound asset in seconds\" })),\n total: number({ description: \"Total time in seconds\" }),\n});\n\nexport type EstimatedTime = z.infer<typeof EstimatedTimeSchema>;\n\nexport const EVMTransactionSchema = object({\n to: string({ description: \"Address of the recipient\" }),\n from: string({ description: \"Address of the sender\" }),\n value: string({ description: \"Value to send\" }),\n data: string({ description: \"Data 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\n object({ from: string(), value: string() }).describe(\n \"Parameters to pass to the contract method\",\n ),\n ]),\n);\n\nexport type EVMTransactionDetailsParams = z.infer<typeof EVMTransactionDetailsParamsSchema>;\n\nexport const EVMTransactionDetailsSchema = object({\n contractAddress: string({ description: \"Address of the contract to interact with\" }),\n contractMethod: string({ description: \"Name of the method to call\" }),\n contractParams: EVMTransactionDetailsParamsSchema,\n contractParamNames: array(\n string({ description: \"Names of the parameters to pass to the contract method\" }),\n ),\n approvalToken: optional(string({ description: \"Address of the token to approve spending of\" })),\n approvalSpender: optional(string({ description: \"Address of the spender to approve\" })),\n});\n\nexport type EVMTransactionDetails = z.infer<typeof EVMTransactionDetailsSchema>;\n\nconst EncodeObjectSchema = object({\n typeUrl: string(),\n value: unknown(),\n});\n\nconst FeeSchema = object({\n amount: array(object({ denom: string(), amount: string() })),\n gas: string(),\n});\n\nexport const CosmosTransactionSchema = object({\n memo: string(),\n accountNumber: number(),\n sequence: number(),\n chainId: nativeEnum(ChainId),\n msgs: array(EncodeObjectSchema),\n fee: FeeSchema,\n});\n\nexport type CosmosTransaction = z.infer<typeof CosmosTransactionSchema>;\n\nexport const RouteLegSchema = object({\n sellAsset: string({ description: \"Asset to sell\" }),\n buyAsset: string({ description: \"Asset to buy\" }),\n provider: nativeEnum(ProviderName),\n sourceAddress: string({ description: \"Source address\" }),\n destinationAddress: string({ description: \"Destination address\" }),\n estimatedTime: EstimatedTimeSchema.optional(),\n affiliate: string({ description: \"Affiliate address\" }).optional(),\n affiliateFee: number({ description: \"Affiliate fee\" }).optional(),\n slipPercentage: number({ description: \"Slippage as a percentage\" }),\n});\n\nexport type RouteLeg = z.infer<typeof RouteLegSchema>;\n\nexport const RouteLegWithoutAddressesSchema = RouteLegSchema.omit({\n sourceAddress: true,\n destinationAddress: true,\n slipPercentage: true,\n});\n\nexport type RouteLegWithoutAddresses = z.infer<typeof RouteLegWithoutAddressesSchema>;\n\nexport const RouteQuoteMetadataAssetSchema = object({\n asset: string({ description: \"Asset name\" }),\n price: number({ description: \"Price in USD\" }),\n image: string({ description: \"Asset image\" }),\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 priceImpact: optional(number({ description: \"Price impact\" })),\n assets: optional(array(RouteQuoteMetadataAssetSchema)),\n approvalAddress: optional(string({ description: \"Approval address for swap\" })),\n streamingInterval: number().optional(),\n maxStreamingQuantity: number().optional(),\n tags: array(nativeEnum(PriorityLabel)),\n affiliate: optional(string()),\n affiliateFee: optional(string()),\n txType: optional(nativeEnum(RouteQuoteTxType)),\n chainflip: optional(ChainflipMetadataSchema),\n referrer: optional(string()),\n});\n\nexport const RouteQuoteWarningSchema = array(\n object({ code: nativeEnum(WarningCodeEnum), display: string(), tooltip: string().optional() }),\n);\n\nexport type RouteQuoteWarning = z.infer<typeof RouteQuoteWarningSchema>;\n\nconst QuoteResponseRouteLegItem = object({\n provider: nativeEnum(ProviderName),\n sellAsset: string({ description: \"Asset to sell\" }),\n sellAmount: string({ description: \"Sell amount\" }),\n buyAsset: string({ description: \"Asset to buy\" }),\n buyAmount: string({ description: \"Buy amount\" }),\n buyAmountMaxSlippage: string({ description: \"Buy amount max slippage\" }),\n fees: optional(FeesSchema),\n});\n\nconst QuoteResponseRouteItem = object({\n providers: array(nativeEnum(ProviderName)),\n sellAsset: string({ description: \"Asset to sell\" }),\n sellAmount: string({ description: \"Sell amount\" }),\n buyAsset: string({ description: \"Asset to buy\" }),\n expectedBuyAmount: string({ description: \"Expected Buy amount\" }),\n expectedBuyAmountMaxSlippage: string({ description: \"Expected Buy amount max slippage\" }),\n sourceAddress: string({ description: \"Source address\" }),\n destinationAddress: string({ description: \"Destination address\" }),\n targetAddress: optional(string({ description: \"Target address\" })),\n inboundAddress: optional(string({ description: \"Inbound address\" })),\n expiration: optional(string({ description: \"Expiration\" })),\n memo: optional(string({ description: \"Memo\" })),\n fees: FeesSchema,\n txType: optional(nativeEnum(RouteQuoteTxType)),\n tx: optional(union([EVMTransactionSchema, CosmosTransactionSchema, string()])),\n estimatedTime: optional(EstimatedTimeSchema),\n totalSlippageBps: number({ description: \"Total slippage in bps\" }),\n legs: array(QuoteResponseRouteLegItem),\n warnings: RouteQuoteWarningSchema,\n meta: RouteQuoteMetadataSchema,\n});\n\nexport const QuoteResponseSchema = object({\n quoteId: string({ description: \"Quote ID\" }),\n routes: array(QuoteResponseRouteItem),\n error: optional(string({ description: \"Error message\" })),\n providerErrors: optional(\n array(\n object({\n provider: nativeEnum(ProviderName).optional(),\n errorCode: optional(nativeEnum(ErrorCode)),\n message: optional(string()),\n }),\n ),\n ),\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 GasResponseSchema = array(\n object({ id: number(), chainId: string(), value: string(), unit: string(), createdAt: string() }),\n);\n\nexport type GasResponse = z.infer<typeof GasResponseSchema>;\n\nconst BalanceResponseSchema = array(\n object({\n chain: nativeEnum(Chain),\n decimal: number(),\n ticker: string(),\n symbol: string(),\n value: string(),\n identifier: string(),\n }),\n);\n\nexport type BalanceResponse = z.infer<typeof BalanceResponseSchema>;\n",
9
9
  "import { AssetValue, Chain, RequestClient, SKConfig, StagenetChain } from \"@swapkit/helpers\";\nimport type {\n InboundAddressesItem,\n LastBlockItem,\n MimirData,\n NodeItem,\n RunePoolInfo,\n RunePoolProviderInfo,\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}: { type?: THORNodeType; name: string }): Promise<THORNodeTNSDetails> {\n try {\n const result = await RequestClient.get<THORNodeTNSDetails>(\n `${getNameServiceBaseUrl(type)}/${name}`,\n );\n return result;\n } catch (_error) {\n // If we get an error, the name doesn't exist and is available for registration\n return {\n name,\n expire_block_height: 0,\n owner: \"\",\n preferred_asset: \"\",\n affiliate_collector_rune: \"\",\n aliases: [],\n };\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({ asyncTokenLookup: true, asset: tnsDetails.preferred_asset });\n}\n\nexport function getRunePoolInfo(type?: THORNodeType) {\n return RequestClient.get<RunePoolInfo>(`${baseUrl(type)}/runepool`);\n}\n\nexport function getRunePoolProviderInfo({\n type,\n thorAddress,\n}: { type?: THORNodeType; thorAddress: string }) {\n return RequestClient.get<RunePoolProviderInfo>(`${baseUrl(type)}/rune_provider/${thorAddress}`);\n}\n",
10
10
  "import {\n AssetValue,\n Chain,\n type ProviderName,\n RequestClient,\n getChainIdentifier,\n} from \"@swapkit/helpers\";\n\nimport { getTokenListProviders } from \"../swapkitApi/endpoints\";\nimport type { TokenListProvidersResponse } from \"../swapkitApi/types\";\nimport type { TokensResponse } from \"./types\";\n\nconst baseUrl = \"https://static.thorswap.net\";\n\nexport function getStaticTokenList(tokenListName: string) {\n return RequestClient.get<TokensResponse>(`${baseUrl}/token-list/${tokenListName}.json`);\n}\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
11
  "import * as microgard from \"./microgard/endpoints\";\nimport { 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 \"./microgard/types\";\nexport * from \"./thorswapStatic/types\";\nexport * from \"./thornode/types\";\nexport * from \"./swapkitApi/types\";\n\nexport const SwapKitApi = {\n ...swapkit,\n ...tsStatic,\n mayachainMidgard,\n microgard,\n thorchainMidgard,\n thornode,\n};\n"
12
12
  ],
13
- "mappings": "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",
14
- "debugId": "BCB24EA016F5DFA964756E2164756E21",
13
+ "mappings": "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",
14
+ "debugId": "9EB721D94EABBD3D64756E2164756E21",
15
15
  "names": []
16
16
  }
package/dist/api/index.js CHANGED
@@ -1,3 +1,3 @@
1
- import{p as G}from"../chunk-3wnfcm30.js";var U={};G(U,{getTNSChainAddress:()=>Dr,getTHORNamesByOwner:()=>Ir,getTHORNamesByAddress:()=>gr,getTHORNameDetails:()=>W,getTHORChainPools:()=>Or,getLiquidityPositionsRaw:()=>x,getLiquidityPositions:()=>br});import{AssetValue as P,BaseDecimal as R,RequestClient as h,SwapKitNumber as dr}from"@swapkit/helpers";var M="https://mu.thorswap.net";function W(e){return h.get(`${M}/thorname/lookup/${e}`)}function Ir(e){return h.get(`${M}/thorname/owner/${e}`)}function gr(e){return h.get(`${M}/thorname/address/${e}`)}function Or(e){return h.get(`${M}/pools`,{searchParams:{period:e}})}function x(e){return h.get(`${M}/fullmember?address=${e.join(",")}`)}async function Dr({chain:e,tns:i}){return(await W(i))?.entries?.find((m)=>m.chain.toLowerCase()===e.toLowerCase())?.address}async function br(e){return(await x(e)).map((n)=>({assetRegisteredAddress:n.assetAddress,asset:P.from({asset:n.pool,value:n.assetAdded,fromBaseDecimal:R.THOR}),assetPending:P.from({asset:n.pool,value:n.assetPending,fromBaseDecimal:R.THOR}),assetWithdrawn:P.from({asset:n.pool,value:n.assetWithdrawn,fromBaseDecimal:R.THOR}),runeRegisteredAddress:n.runeAddress,rune:P.from({asset:"THOR.RUNE",value:n.runeAdded,fromBaseDecimal:R.THOR}),runePending:P.from({asset:"THOR.RUNE",value:n.runePending,fromBaseDecimal:R.THOR}),runeWithdrawn:P.from({asset:"THOR.RUNE",value:n.runeWithdrawn,fromBaseDecimal:R.THOR}),poolShare:new dr(n.sharedUnits).div(n.poolUnits),dateLastAdded:n.dateLastAdded,dateFirstAdded:n.dateFirstAdded}))}import{AssetValue as _,BaseDecimal as c,Chain as v,RequestClient as S,SwapKitNumber as f}from"@swapkit/helpers";function k(e=!0){return e?"https://midgard.ninerealms.com":"https://midgard.mayachain.info"}function Cr(e=!0){let i=k(e);return e?`${i}/v2/thorname`:`${i}/v2/mayaname`}function Hr(e){return function i(n){return S.get(`${e}/v2/borrower/${n}`)}}function Pr(e){return function i(n){return S.get(`${e}/v2/saver/${n}`)}}function Rr(e){return function i(n){return S.get(`${e}/v2/member/${n}`)}}function Sr(e){return function i(n){return S.get(`${e}/lookup/${n}`)}}function Br(e){return function i(n){return S.get(`${e}/rlookup/${n}`)}}function hr(e){return function i(n){return S.get(`${e}/owner/${n}`)}}function Mr(e){return async function i(n){return(await e(n)).pools.map((s)=>({collateral_deposited:_.from({asset:s.collateral_asset,value:s.collateral_deposited,fromBaseDecimal:c.THOR}),collateral_withdrawn:_.from({asset:s.collateral_asset,value:s.collateral_withdrawn,fromBaseDecimal:c.THOR}),debt_issued_tor:f.fromBigInt(BigInt(s.debt_issued_tor),c.THOR),debt_repaid_tor:f.fromBigInt(BigInt(s.debt_repaid_tor),c.THOR),last_open_loan_timestamp:s.last_open_loan_timestamp,last_repay_loan_timestamp:s.last_repay_loan_timestamp,target_assets:s.target_assets.map((E)=>_.from({asset:E}))}))}}function d({asset:e,value:i}){return _.from({asset:e,value:i,fromBaseDecimal:c.THOR})}function cr(e){return async function i(n){return(await e(n)).pools.map((s)=>({assetAdded:d({asset:s.pool,value:s.assetAdded}),assetDeposit:d({asset:s.pool,value:s.assetDeposit}),assetRedeem:d({asset:s.pool,value:s.assetRedeem}),assetWithdrawn:d({asset:s.pool,value:s.assetWithdrawn}),assetRegisteredAddress:s.assetAddress,dateFirstAdded:s.dateFirstAdded,dateLastAdded:s.dateLastAdded}))}}function Gr({liquidityPositionGetter:e,isThorchain:i}){return async function n(m){let s=await e(m),E=i?"rune":"cacao";return s.pools.map((N)=>({[`${E}Pending`]:d({asset:"THOR.RUNE",value:N.runePending}),[`${E}RegisteredAddress`]:N.runeAddress,[`${E}Withdrawn`]:d({asset:"THOR.RUNE",value:N.runeWithdrawn}),[E]:d({asset:"THOR.RUNE",value:N.runeAdded}),asset:d({asset:N.pool,value:N.assetAdded}),assetPending:d({asset:N.pool,value:N.assetPending}),assetRegisteredAddress:N.assetAddress,assetWithdrawn:d({asset:N.pool,value:N.assetWithdrawn}),dateFirstAdded:N.dateFirstAdded,dateLastAdded:N.dateLastAdded,poolShare:new f(N.liquidityUnits).div(N.pool)}))}}function K(e){let i=e===v.THORChain,n=k(i),m=Cr(i),s=Rr(n),E=Hr(n),N=Pr(n);return{getLiquidityPositionRaw:s,getBorrowerDetailRaw:E,getSaverDetailRaw:N,getBorrowerDetail:Mr(E),getSaversDetail:cr(N),getNameDetails:Sr(m),getNamesByAddress:Br(m),getNamesByOwner:hr(m),getLiquidityPosition:Gr({liquidityPositionGetter:s,isThorchain:i})}}var Z=K(v.THORChain),z=K(v.Maya);var Y={};G(Y,{getTrackerDetails:()=>re,getTokenListProviders:()=>F,getTokenList:()=>te,getSwapQuote:()=>ee,getPrice:()=>ie,getGasRate:()=>se,getChainflipDepositChannel:()=>Ae,getChainBalance:()=>ne});import{EVMChains as qr,RequestClient as O,SKConfig as mr,SwapKitError as I,isGasAsset as pr}from"@swapkit/helpers";import{Chain as J,ChainId as j,ErrorCode as _r,FeeTypeEnum as lr,ProviderName as H,WarningCodeEnum as Ur}from"@swapkit/helpers";import{array as o,boolean as g,nativeEnum as a,number as u,object as A,optional as t,string as r,union as Q,unknown as w}from"zod";var q;((m)=>{m.CHEAPEST="CHEAPEST";m.FASTEST="FASTEST";m.RECOMMENDED="RECOMMENDED"})(q||={});var V;((s)=>{s.PSBT="PSBT";s.EVM="EVM";s.COSMOS="COSMOS";s.RADIX="RADIX"})(V||={});var p;((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"})(p||={});var rr;((E)=>{E.unknown="unknown";E.not_started="not_started";E.pending="pending";E.swapping="swapping";E.completed="completed"})(rr||={});var er;((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"})(er||={});var Ue=A({error:r(),message:r()}),B=A({chain:a(J),symbol:r(),ticker:r(),decimal:t(u()),address:t(r()),isGasAsset:g(),isSynthetic:g(),tax:t(A({buy:u(),sell:u()}))}),fr=A({id:r(),market_cap:u(),name:r(),price_change_24h_usd:u(),price_change_percentage_24h_usd:u(),sparkline_in_7d:o(u()),timestamp:r(),total_volume:u()}),nr=o(A({identifier:r(),provider:r(),cg:fr.optional(),price_usd:u(),timestamp:u()}).partial()),fe=A({sellAsset:r({description:"Asset to sell"}),buyAsset:r({description:"Asset to buy"}),sellAmount:r({description:"Amount of asset to sell"}).refine((e)=>+e>0,{message:"sellAmount must be greater than 0",path:["sellAmount"]}),providers:t(o(r({description:"List of providers to use"}).refine((e)=>H[e]!==void 0,{message:"Invalid provider",path:["providers"]}))),sourceAddress:t(r({description:"Address to send asset from"})),destinationAddress:t(r({description:"Address to send asset to"})),slippage:t(u({description:"Slippage tolerance as a percentage. Default is 3%."})),affiliate:t(r({description:"Affiliate thorname"})),affiliateFee:t(u({description:"Affiliate fee in basis points"}).refine((e)=>e===Math.floor(e)&&e>=0,{message:"affiliateFee must be a positive integer",path:["affiliateFee"]})),allowSmartContractSender:t(g({description:"Allow smart contract as sender"})),allowSmartContractReceiver:t(g({description:"Allow smart contract as recipient"})),disableSecurityChecks:t(g({description:"Disable security checks"})),includeTx:t(g({description:"Set to true to include an transaction object (EVM only)"})),cfBoost:t(g({description:"Set to true to enable CF boost to speed up Chainflip swaps. BTC only."})),referrer:t(r({description:"Referrer address (referral program)"}))}).refine((e)=>e.sellAsset!==e.buyAsset,{message:"Must be different",path:["sellAsset","buyAsset"]}),ve=A({tokens:o(A({identifier:r()})),metadata:g()}),vr=A({sellAsset:A({chain:r(),asset:r()}),buyAsset:A({chain:r(),asset:r()}),destinationAddress:r(),channelMetadata:A({cfParameters:r().optional(),gasBudget:r().optional(),message:r().optional()}).optional(),affiliateFees:o(A({brokerAddress:r(),feeBps:u()})).optional(),refundParameters:A({minPrice:r().optional(),refundAddress:r().optional(),retryDuration:u().optional()}).optional(),dcaParameters:A({chunkInterval:u().optional(),numberOfChunks:u().optional()}).optional(),brokerCommissionBps:u().optional(),maxBoostFeeBps:u().optional()}),tr=A({channelId:r(),depositAddress:r()}),wr=A({evmCalldata:t(r()),logs:t(w()),memo:t(r()),spender:t(r())}),Vr=A({estimatedFinalisedAt:u(),estimatedTimeToComplete:u(),updatedAt:u(),currentLegIndex:t(u()),providerDetails:t(w())}),Fr=A({network:t(B),affiliate:t(B),liquidity:t(B),protocol:t(B),tax:t(B)}),Yr=A({broadcastedAt:t(u()),wallet:t(r()),quoteId:t(r()),explorerUrl:t(r()),affiliate:t(r()),fees:t(Fr),provider:t(a(H)),images:t(A({from:t(r()),to:t(r()),provider:t(r()),chain:t(r())}))}),l=A({chainId:a(j),hash:r(),block:u(),type:a(p),status:a(rr),trackingStatus:t(a(er)),fromAsset:r(),fromAmount:r(),fromAddress:r(),toAsset:r(),toAmount:r(),toAddress:r(),finalAsset:t(B),finalAddress:t(r()),finalisedAt:u(),transient:t(Vr),meta:t(Yr),payload:t(wr)}),we=l.extend({legs:o(l)}),Ve=l.extend({legs:o(l)}),ir=o(A({type:a(lr),amount:r(),asset:r(),chain:r(),protocol:a(H)})),sr=A({inbound:t(u({description:"Time to receive inbound asset in seconds"})),swap:t(u({description:"Time to swap assets in seconds"})),outbound:t(u({description:"Time to receive outbound asset in seconds"})),total:u({description:"Total time in seconds"})}),Xr=A({to:r({description:"Address of the recipient"}),from:r({description:"Address of the sender"}),value:r({description:"Value to send"}),data:r({description:"Data to send"})}),$r=o(Q([r(),u(),o(r()),A({from:r(),value:r()}).describe("Parameters to pass to the contract method")])),Fe=A({contractAddress:r({description:"Address of the contract to interact with"}),contractMethod:r({description:"Name of the method to call"}),contractParams:$r,contractParamNames:o(r({description:"Names of the parameters to pass to the contract method"})),approvalToken:t(r({description:"Address of the token to approve spending of"})),approvalSpender:t(r({description:"Address of the spender to approve"}))}),yr=A({typeUrl:r(),value:w()}),Wr=A({amount:o(A({denom:r(),amount:r()})),gas:r()}),xr=A({memo:r(),accountNumber:u(),sequence:u(),chainId:a(j),msgs:o(yr),fee:Wr}),kr=A({sellAsset:r({description:"Asset to sell"}),buyAsset:r({description:"Asset to buy"}),provider:a(H),sourceAddress:r({description:"Source address"}),destinationAddress:r({description:"Destination address"}),estimatedTime:sr.optional(),affiliate:r({description:"Affiliate address"}).optional(),affiliateFee:u({description:"Affiliate fee"}).optional(),slipPercentage:u({description:"Slippage as a percentage"})}),Ye=kr.omit({sourceAddress:!0,destinationAddress:!0,slipPercentage:!0}),Kr=A({asset:r({description:"Asset name"}),price:u({description:"Price in USD"}),image:r({description:"Asset image"})}),Zr=vr,zr=A({priceImpact:t(u({description:"Price impact"})),assets:t(o(Kr)),approvalAddress:t(r({description:"Approval address for swap"})),streamingInterval:u().optional(),maxStreamingQuantity:u().optional(),tags:o(a(q)),affiliate:t(r()),affiliateFee:t(r()),txType:t(a(V)),chainflip:t(Zr),referrer:t(r())}),Jr=o(A({code:a(Ur),display:r(),tooltip:r().optional()})),jr=A({provider:a(H),sellAsset:r({description:"Asset to sell"}),sellAmount:r({description:"Sell amount"}),buyAsset:r({description:"Asset to buy"}),buyAmount:r({description:"Buy amount"}),buyAmountMaxSlippage:r({description:"Buy amount max slippage"}),fees:t(ir)}),Qr=A({providers:o(a(H)),sellAsset:r({description:"Asset to sell"}),sellAmount:r({description:"Sell amount"}),buyAsset:r({description:"Asset to buy"}),expectedBuyAmount:r({description:"Expected Buy amount"}),expectedBuyAmountMaxSlippage:r({description:"Expected Buy amount max slippage"}),sourceAddress:r({description:"Source address"}),destinationAddress:r({description:"Destination address"}),targetAddress:t(r({description:"Target address"})),inboundAddress:t(r({description:"Inbound address"})),expiration:t(r({description:"Expiration"})),memo:t(r({description:"Memo"})),fees:ir,txType:t(a(V)),tx:t(Q([Xr,xr,r()])),estimatedTime:t(sr),totalSlippageBps:u({description:"Total slippage in bps"}),legs:o(jr),warnings:Jr,meta:zr}),Ar=A({quoteId:r({description:"Quote ID"}),routes:o(Qr),error:t(r({description:"Error message"})),providerErrors:t(o(A({provider:a(H).optional(),errorCode:t(a(_r)),message:t(r())})))}),ur=o(A({id:u(),chainId:r(),value:r(),unit:r(),createdAt:r()})),Xe=o(A({chain:a(J),decimal:u(),ticker:r(),symbol:r(),value:r(),identifier:r()}));function re(e){return O.post(D("/track"),{json:e})}async function ee(e){let i=await O.post(D("/quote"),{json:e});if(i.error)throw new I("api_v2_server_error",{message:i.error});try{let n=Ar.safeParse(i);if(!n.success)throw new I("api_v2_invalid_response",n.error);return n.data}catch(n){return console.warn(n),i}}async function ne({chain:e,address:i,scamFilter:n=!0}){let m=D(`/balance?chain=${e}&address=${i}`),s=await O.get(m),E=Array.isArray(s)?s:[];return n?oe(E):E}function F(){let e=D("/providers");return O.get(e)}function te(e){let i=D(`/tokens?provider=${e}`);return O.get(i)}async function ie(e){let i=D("/price"),n=await O.post(i,{json:e});try{let m=nr.safeParse(n);if(!m.success)throw new I("api_v2_invalid_response",m.error);return m.data}catch(m){throw new I("api_v2_invalid_response",m)}}async function se(){let e=D("/gas"),i=await O.get(e);try{let n=ur.safeParse(i);if(!n.success)throw new I("api_v2_invalid_response",n.error);return n.data}catch(n){throw new I("api_v2_invalid_response",n)}}async function Ae(e){let{destinationAddress:i}=e;if(!i)throw new I("chainflip_broker_invalid_params");let n=mr.get("integrations").chainflip?.brokerUrl||D("/channel"),m=await O.post(n,{json:e});try{let s=tr.safeParse(m);if(!s.success)throw new I("api_v2_invalid_response",s.error);return s.data}catch(s){throw new I("api_v2_invalid_response",s)}}function D(e){let{isDev:i,apiUrl:n,devApiUrl:m}=mr.get("envs");return`${i?m:n}${e}`}function ue(e){let[i,n]=e.split(".");if(!qr.includes(i))return!0;let m=n.split("-"),s=m.length===1?void 0:m[m.length-1];return pr({chain:i,symbol:n})||!!s}var me=new RegExp(/(.)\1{6}|\.ORG|\.NET|\.FINANCE|\.COM|WWW|HTTP|\\\\|\/\/|[\s$%:[\]]/,"gmi");function oe(e){return e.filter((i)=>{return!me.test(i.identifier)&&ue(i.identifier)})}var X={};G(X,{getThorchainQueue:()=>Le,getTNSPreferredAsset:()=>ge,getTHORNodeTNSDetails:()=>Nr,getRunePoolProviderInfo:()=>De,getRunePoolInfo:()=>Oe,getNodes:()=>Te,getMimirInfo:()=>de,getLastBlock:()=>Ne,getInboundAddresses:()=>Ie});import{AssetValue as ae,Chain as or,RequestClient as b,SKConfig as ar,StagenetChain as Er}from"@swapkit/helpers";function C(e){let{isStagenet:i}=ar.get("envs"),n=ar.get("nodeUrls");switch(e){case"mayachain":return`${n[i?Er.Maya:or.Maya]}/mayachain`;default:return`${n[i?Er.THORChain:or.THORChain]}/thorchain`}}function Ee(e){let i=e==="mayachain"?"mayaname":"thorname";return`${C(e)}/${i}`}function Ne(e="thorchain"){return b.get(`${C(e)}/lastblock`)}function Le(e){return b.get(`${C(e)}/queue`)}function Te(e){return b.get(`${C(e)}/nodes`)}function de(e){return b.get(`${C(e)}/mimir`)}function Ie(e){return b.get(`${C(e)}/inbound_addresses`)}async function Nr({type:e,name:i}){try{return await b.get(`${Ee(e)}/${i}`)}catch(n){return{name:i,expire_block_height:0,owner:"",preferred_asset:"",affiliate_collector_rune:"",aliases:[]}}}async function ge({type:e,tns:i}){let n=await Nr({name:i,type:e});if(!n.preferred_asset||n.preferred_asset===".")return;return ae.from({asyncTokenLookup:!0,asset:n.preferred_asset})}function Oe(e){return b.get(`${C(e)}/runepool`)}function De({type:e,thorAddress:i}){return b.get(`${C(e)}/rune_provider/${i}`)}var y={};G(y,{getStaticTokenList:()=>Pe,getProviderLogo:()=>Be,getLogoForAsset:()=>Re,getChainLogoForAsset:()=>Se});import{AssetValue as Tr,Chain as be,RequestClient as Ce,getChainIdentifier as He}from"@swapkit/helpers";var $="https://static.thorswap.net";function Pe(e){return Ce.get(`${$}/token-list/${e}.json`)}function Re(e){let i=he(e);return`${$}/token-list/images/${i}.png`}function Se(e){let{chain:i}=Tr.from({asset:e}),n=He(i).toLowerCase();return`${$}/token-list/images/${n}.png`}var Lr;async function Be(e){return Lr||=await F(),Lr.find((i)=>i.name===e)?.url}function he(e){let{symbol:i}=Tr.from({asset:e});if(i===be.Ethereum)return"eth.eth";return e.toLowerCase()}var ze={...Y,...y,mayachainMidgard:z,microgard:U,thorchainMidgard:Z,thornode:X};export{p as TxnType,rr as TxnStatus,we as TransactionSchema,Ve as TransactionDTOSchema,er as TrackingStatus,fr as TokenDetailsMetadataSchema,ze as SwapKitApi,Jr as RouteQuoteWarningSchema,V as RouteQuoteTxType,zr as RouteQuoteMetadataSchema,Kr as RouteQuoteMetadataAssetSchema,Ye as RouteLegWithoutAddressesSchema,kr as RouteLegSchema,Ar as QuoteResponseSchema,fe as QuoteRequestSchema,q as PriorityLabel,nr as PriceResponseSchema,ve as PriceRequestSchema,ur as GasResponseSchema,ir as FeesSchema,sr as EstimatedTimeSchema,Xr as EVMTransactionSchema,Fe as EVMTransactionDetailsSchema,$r as EVMTransactionDetailsParamsSchema,tr as DepositChannelResponseSchema,xr as CosmosTransactionSchema,Zr as ChainflipMetadataSchema,vr as BrokerDepositChannelParamsSchema,B as AssetValueSchema,Ue as ApiV2ErrorSchema};
1
+ import{a as K}from"../chunk-8fdws4se.js";import{t as M}from"../chunk-s82pm7xc.js";var c={};M(c,{getTNSChainAddress:()=>Hn,getTHORNamesByOwner:()=>bn,getTHORNamesByAddress:()=>on,getTHORNameDetails:()=>$,getTHORChainPools:()=>Cn,getLiquidityPositionsRaw:()=>W,getLiquidityPositions:()=>gn});import{AssetValue as P,BaseDecimal as R,RequestClient as h,SwapKitNumber as On}from"@swapkit/helpers";var B="https://mu.thorswap.net";function $(r){return h.get(`${B}/thorname/lookup/${r}`)}function bn(r){return h.get(`${B}/thorname/owner/${r}`)}function on(r){return h.get(`${B}/thorname/address/${r}`)}function Cn(r){return h.get(`${B}/pools`,{searchParams:{period:r}})}function W(r){return h.get(`${B}/fullmember?address=${r.join(",")}`)}async function Hn({chain:r,tns:t}){return(await $(t))?.entries?.find((u)=>u.chain.toLowerCase()===r.toLowerCase())?.address}async function gn(r){return(await W(r)).map((i)=>({assetRegisteredAddress:i.assetAddress,asset:P.from({asset:i.pool,value:i.assetAdded,fromBaseDecimal:R.THOR}),assetPending:P.from({asset:i.pool,value:i.assetPending,fromBaseDecimal:R.THOR}),assetWithdrawn:P.from({asset:i.pool,value:i.assetWithdrawn,fromBaseDecimal:R.THOR}),runeRegisteredAddress:i.runeAddress,rune:P.from({asset:"THOR.RUNE",value:i.runeAdded,fromBaseDecimal:R.THOR}),runePending:P.from({asset:"THOR.RUNE",value:i.runePending,fromBaseDecimal:R.THOR}),runeWithdrawn:P.from({asset:"THOR.RUNE",value:i.runeWithdrawn,fromBaseDecimal:R.THOR}),poolShare:new On(i.sharedUnits).div(i.poolUnits),dateLastAdded:i.dateLastAdded,dateFirstAdded:i.dateFirstAdded}))}import{AssetValue as dn,BaseDecimal as Dn,Chain as V,RequestClient as G,SwapKitNumber as Pn}from"@swapkit/helpers";function y(r=!0){return r?"https://midgard.ninerealms.com":"https://midgard.mayachain.info"}function Rn(r=!0){let t=y(r);return r?`${t}/v2/thorname`:`${t}/v2/mayaname`}function an(r){return function t(i){return G.get(`${r}/v2/member/${i}`)}}function Sn(r){return function t(i){return G.get(`${r}/lookup/${i}`)}}function hn(r){return function t(i){return G.get(`${r}/rlookup/${i}`)}}function Bn(r){return function t(i){return G.get(`${r}/owner/${i}`)}}function a({asset:r,value:t}){return dn.from({asset:r,value:t,fromBaseDecimal:Dn.THOR})}function Mn({liquidityPositionGetter:r,isThorchain:t}){return async function i(u){let N=await r(u),O=t?"rune":"cacao";return N.pools.map((L)=>({[`${O}Pending`]:a({asset:"THOR.RUNE",value:L.runePending}),[`${O}RegisteredAddress`]:L.runeAddress,[`${O}Withdrawn`]:a({asset:"THOR.RUNE",value:L.runeWithdrawn}),[O]:a({asset:"THOR.RUNE",value:L.runeAdded}),asset:a({asset:L.pool,value:L.assetAdded}),assetPending:a({asset:L.pool,value:L.assetPending}),assetRegisteredAddress:L.assetAddress,assetWithdrawn:a({asset:L.pool,value:L.assetWithdrawn}),dateFirstAdded:L.dateFirstAdded,dateLastAdded:L.dateLastAdded,poolShare:new Pn(L.liquidityUnits).div(L.pool)}))}}function x(r){let t=r===V.THORChain,i=y(t),u=Rn(t),N=an(i);return{getLiquidityPositionRaw:N,getNameDetails:Sn(u),getNamesByAddress:hn(u),getNamesByOwner:Bn(u),getLiquidityPosition:Mn({liquidityPositionGetter:N,isThorchain:t})}}var l=x(V.THORChain),k=x(V.Maya);var X={};M(X,{getTrackerDetails:()=>Qn,getTokenListProviders:()=>_,getTokenList:()=>nr,getSwapQuote:()=>qn,getPrice:()=>rr,getGasRate:()=>er,getChainflipDepositChannel:()=>tr,getChainBalance:()=>pn});import{EVMChains as Jn,RequestClient as C,SKConfig as un,SwapKitError as b,isGasAsset as jn}from"@swapkit/helpers";import{Chain as Z,ChainId as z,FeeTypeEnum as Gn,ProviderName as D,WarningCodeEnum as Un}from"@swapkit/helpers";import{array as E,boolean as o,nativeEnum as s,number as m,object as A,optional as e,string as n,union as J,unknown as F}from"zod";var j;((u)=>{u.CHEAPEST="CHEAPEST";u.FASTEST="FASTEST";u.RECOMMENDED="RECOMMENDED"})(j||={});var Y;((N)=>{N.PSBT="PSBT";N.EVM="EVM";N.COSMOS="COSMOS";N.RADIX="RADIX"})(Y||={});var Q;((I)=>{I.native_send="native_send";I.token_transfer="token_transfer";I.native_contract_call="native_contract_call";I.token_contract_call="token_contract_call";I.approve="approve";I.deposit="deposit";I.thorname_action="thorname_action";I.lp_action="lp_action";I.swap="swap";I.streaming_swap="streaming_swap";I.stake="stake";I.claim="claim";I.lending="lending";I.unknown="unknown"})(Q||={});var q;((O)=>{O.unknown="unknown";O.not_started="not_started";O.pending="pending";O.swapping="swapping";O.completed="completed"})(q||={});var p;((T)=>{T.not_started="not_started";T.starting="starting";T.broadcasted="broadcasted";T.mempool="mempool";T.inbound="inbound";T.outbound="outbound";T.swapping="swapping";T.completed="completed";T.refunded="refunded";T.partially_refunded="partially_refunded";T.dropped="dropped";T.reverted="reverted";T.replaced="replaced";T.retries_exceeded="retries_exceeded";T.parsing_error="parsing_error"})(p||={});var cr=A({error:n(),message:n()}),S=A({chain:s(Z),symbol:n(),ticker:n(),decimal:e(m()),address:e(n()),isGasAsset:o(),isSynthetic:o(),tax:e(A({buy:m(),sell:m()}))}),cn=A({id:n(),market_cap:m(),name:n(),price_change_24h_usd:m(),price_change_percentage_24h_usd:m(),sparkline_in_7d:E(m()),timestamp:n(),total_volume:m()}),nn=E(A({identifier:n(),provider:n(),cg:cn.optional(),price_usd:m(),timestamp:m()}).partial()),Vr=A({sellAsset:n({description:"Asset to sell"}),buyAsset:n({description:"Asset to buy"}),sellAmount:n({description:"Amount of asset to sell"}).refine((r)=>+r>0,{message:"sellAmount must be greater than 0",path:["sellAmount"]}),providers:e(E(n({description:"List of providers to use"}).refine((r)=>D[r]!==void 0,{message:"Invalid provider",path:["providers"]}))),sourceAddress:e(n({description:"Address to send asset from"})),destinationAddress:e(n({description:"Address to send asset to"})),slippage:e(m({description:"Slippage tolerance as a percentage. Default is 3%."})),affiliate:e(n({description:"Affiliate thorname"})),affiliateFee:e(m({description:"Affiliate fee in basis points"}).refine((r)=>r===Math.floor(r)&&r>=0,{message:"affiliateFee must be a positive integer",path:["affiliateFee"]})),allowSmartContractSender:e(o({description:"Allow smart contract as sender"})),allowSmartContractReceiver:e(o({description:"Allow smart contract as recipient"})),disableSecurityChecks:e(o({description:"Disable security checks"})),includeTx:e(o({description:"Set to true to include an transaction object (EVM only)"})),cfBoost:e(o({description:"Set to true to enable CF boost to speed up Chainflip swaps. BTC only."})),referrer:e(n({description:"Referrer address (referral program)"}))}).refine((r)=>r.sellAsset!==r.buyAsset,{message:"Must be different",path:["sellAsset","buyAsset"]}),Fr=A({tokens:E(A({identifier:n()})),metadata:o()}),Vn=A({sellAsset:A({chain:n(),asset:n()}),buyAsset:A({chain:n(),asset:n()}),destinationAddress:n(),channelMetadata:A({cfParameters:n().optional(),gasBudget:n().optional(),message:n().optional()}).optional(),affiliateFees:E(A({brokerAddress:n(),feeBps:m()})).optional(),refundParameters:A({minPrice:n().optional(),refundAddress:n().optional(),retryDuration:m().optional()}).optional(),dcaParameters:A({chunkInterval:m().optional(),numberOfChunks:m().optional()}).optional(),brokerCommissionBps:m().optional(),maxBoostFeeBps:m().optional()}),rn=A({channelId:n(),depositAddress:n()}),Fn=A({evmCalldata:e(n()),logs:e(F()),memo:e(n()),spender:e(n())}),Yn=A({estimatedFinalisedAt:m(),estimatedTimeToComplete:m(),updatedAt:m(),currentLegIndex:e(m()),providerDetails:e(F())}),_n=A({network:e(S),affiliate:e(S),liquidity:e(S),protocol:e(S),tax:e(S)}),Xn=A({broadcastedAt:e(m()),wallet:e(n()),quoteId:e(n()),explorerUrl:e(n()),affiliate:e(n()),fees:e(_n),provider:e(s(D)),images:e(A({from:e(n()),to:e(n()),provider:e(n()),chain:e(n())}))}),U=A({chainId:s(z),hash:n(),block:m(),type:s(Q),status:s(q),trackingStatus:e(s(p)),fromAsset:n(),fromAmount:n(),fromAddress:n(),toAsset:n(),toAmount:n(),toAddress:n(),finalAsset:e(S),finalAddress:e(n()),finalisedAt:m(),transient:e(Yn),meta:e(Xn),payload:e(Fn)}),Yr=U.extend({legs:E(U)}),_r=U.extend({legs:E(U)}),en=E(A({type:s(Gn),amount:n(),asset:n(),chain:n(),protocol:s(D)})),tn=A({inbound:e(m({description:"Time to receive inbound asset in seconds"})),swap:e(m({description:"Time to swap assets in seconds"})),outbound:e(m({description:"Time to receive outbound asset in seconds"})),total:m({description:"Total time in seconds"})}),fn=A({to:n({description:"Address of the recipient"}),from:n({description:"Address of the sender"}),value:n({description:"Value to send"}),data:n({description:"Data to send"})}),vn=E(J([n(),m(),E(n()),A({from:n(),value:n()}).describe("Parameters to pass to the contract method")])),Xr=A({contractAddress:n({description:"Address of the contract to interact with"}),contractMethod:n({description:"Name of the method to call"}),contractParams:vn,contractParamNames:E(n({description:"Names of the parameters to pass to the contract method"})),approvalToken:e(n({description:"Address of the token to approve spending of"})),approvalSpender:e(n({description:"Address of the spender to approve"}))}),wn=A({typeUrl:n(),value:F()}),$n=A({amount:E(A({denom:n(),amount:n()})),gas:n()}),Wn=A({memo:n(),accountNumber:m(),sequence:m(),chainId:s(z),msgs:E(wn),fee:$n}),yn=A({sellAsset:n({description:"Asset to sell"}),buyAsset:n({description:"Asset to buy"}),provider:s(D),sourceAddress:n({description:"Source address"}),destinationAddress:n({description:"Destination address"}),estimatedTime:tn.optional(),affiliate:n({description:"Affiliate address"}).optional(),affiliateFee:m({description:"Affiliate fee"}).optional(),slipPercentage:m({description:"Slippage as a percentage"})}),fr=yn.omit({sourceAddress:!0,destinationAddress:!0,slipPercentage:!0}),xn=A({asset:n({description:"Asset name"}),price:m({description:"Price in USD"}),image:n({description:"Asset image"})}),ln=Vn,kn=A({priceImpact:e(m({description:"Price impact"})),assets:e(E(xn)),approvalAddress:e(n({description:"Approval address for swap"})),streamingInterval:m().optional(),maxStreamingQuantity:m().optional(),tags:E(s(j)),affiliate:e(n()),affiliateFee:e(n()),txType:e(s(Y)),chainflip:e(ln),referrer:e(n())}),Kn=E(A({code:s(Un),display:n(),tooltip:n().optional()})),Zn=A({provider:s(D),sellAsset:n({description:"Asset to sell"}),sellAmount:n({description:"Sell amount"}),buyAsset:n({description:"Asset to buy"}),buyAmount:n({description:"Buy amount"}),buyAmountMaxSlippage:n({description:"Buy amount max slippage"}),fees:e(en)}),zn=A({providers:E(s(D)),sellAsset:n({description:"Asset to sell"}),sellAmount:n({description:"Sell amount"}),buyAsset:n({description:"Asset to buy"}),expectedBuyAmount:n({description:"Expected Buy amount"}),expectedBuyAmountMaxSlippage:n({description:"Expected Buy amount max slippage"}),sourceAddress:n({description:"Source address"}),destinationAddress:n({description:"Destination address"}),targetAddress:e(n({description:"Target address"})),inboundAddress:e(n({description:"Inbound address"})),expiration:e(n({description:"Expiration"})),memo:e(n({description:"Memo"})),fees:en,txType:e(s(Y)),tx:e(J([fn,Wn,n()])),estimatedTime:e(tn),totalSlippageBps:m({description:"Total slippage in bps"}),legs:E(Zn),warnings:Kn,meta:kn}),An=A({quoteId:n({description:"Quote ID"}),routes:E(zn),error:e(n({description:"Error message"})),providerErrors:e(E(A({provider:s(D).optional(),errorCode:e(s(K)),message:e(n())})))}),mn=E(A({id:m(),chainId:n(),value:n(),unit:n(),createdAt:n()})),vr=E(A({chain:s(Z),decimal:m(),ticker:n(),symbol:n(),value:n(),identifier:n()}));function Qn(r){return C.post(H("/track"),{json:r})}async function qn(r){let t=await C.post(H("/quote"),{json:r});if(t.error)throw new b("api_v2_server_error",{message:t.error});try{let i=An.safeParse(t);if(!i.success)throw new b("api_v2_invalid_response",i.error);return i.data}catch(i){return t}}async function pn({chain:r,address:t,scamFilter:i=!0}){let u=H(`/balance?chain=${r}&address=${t}`),N=await C.get(u),O=Array.isArray(N)?N:[];return i?mr(O):O}function _(){let r=H("/providers");return C.get(r)}function nr(r){let t=H(`/tokens?provider=${r}`);return C.get(t)}async function rr(r){let t=H("/price"),i=await C.post(t,{json:r});try{let u=nn.safeParse(i);if(!u.success)throw new b("api_v2_invalid_response",u.error);return u.data}catch(u){throw new b("api_v2_invalid_response",u)}}async function er(){let r=H("/gas"),t=await C.get(r);try{let i=mn.safeParse(t);if(!i.success)throw new b("api_v2_invalid_response",i.error);return i.data}catch(i){throw new b("api_v2_invalid_response",i)}}async function tr(r){let{destinationAddress:t}=r;if(!t)throw new b("chainflip_broker_invalid_params");let i=un.get("integrations").chainflip?.brokerUrl||H("/channel"),u=await C.post(i,{json:r});try{let N=rn.safeParse(u);if(!N.success)throw new b("api_v2_invalid_response",N.error);return N.data}catch(N){throw new b("api_v2_invalid_response",N)}}function H(r){let{isDev:t,apiUrl:i,devApiUrl:u}=un.get("envs");return`${t?u:i}${r}`}function ir(r){let[t,i]=r.split(".");if(!Jn.includes(t))return!0;let u=i.split("-"),N=u.length===1?void 0:u[u.length-1];return jn({chain:t,symbol:i})||!!N}var Ar=new RegExp(/(.)\1{6}|\.ORG|\.NET|\.FINANCE|\.COM|WWW|HTTP|\\\\|\/\/|[\s$%:[\]]/,"gmi");function mr(r){return r.filter((t)=>{return!Ar.test(t.identifier)&&ir(t.identifier)})}var f={};M(f,{getThorchainQueue:()=>sr,getTNSPreferredAsset:()=>Or,getTHORNodeTNSDetails:()=>Ln,getRunePoolProviderInfo:()=>or,getRunePoolInfo:()=>br,getNodes:()=>Lr,getMimirInfo:()=>Tr,getLastBlock:()=>Nr,getInboundAddresses:()=>Ir});import{AssetValue as ur,Chain as En,RequestClient as g,SKConfig as Nn,StagenetChain as sn}from"@swapkit/helpers";function d(r){let{isStagenet:t}=Nn.get("envs"),i=Nn.get("nodeUrls");switch(r){case"mayachain":return`${i[t?sn.Maya:En.Maya]}/mayachain`;default:return`${i[t?sn.THORChain:En.THORChain]}/thorchain`}}function Er(r){let t=r==="mayachain"?"mayaname":"thorname";return`${d(r)}/${t}`}function Nr(r="thorchain"){return g.get(`${d(r)}/lastblock`)}function sr(r){return g.get(`${d(r)}/queue`)}function Lr(r){return g.get(`${d(r)}/nodes`)}function Tr(r){return g.get(`${d(r)}/mimir`)}function Ir(r){return g.get(`${d(r)}/inbound_addresses`)}async function Ln({type:r,name:t}){try{return await g.get(`${Er(r)}/${t}`)}catch(i){return{name:t,expire_block_height:0,owner:"",preferred_asset:"",affiliate_collector_rune:"",aliases:[]}}}async function Or({type:r,tns:t}){let i=await Ln({name:t,type:r});if(!i.preferred_asset||i.preferred_asset===".")return;return ur.from({asyncTokenLookup:!0,asset:i.preferred_asset})}function br(r){return g.get(`${d(r)}/runepool`)}function or({type:r,thorAddress:t}){return g.get(`${d(r)}/rune_provider/${t}`)}var w={};M(w,{getStaticTokenList:()=>dr,getProviderLogo:()=>Rr,getLogoForAsset:()=>Dr,getChainLogoForAsset:()=>Pr});import{AssetValue as In,Chain as Cr,RequestClient as Hr,getChainIdentifier as gr}from"@swapkit/helpers";var v="https://static.thorswap.net";function dr(r){return Hr.get(`${v}/token-list/${r}.json`)}function Dr(r){let t=ar(r);return`${v}/token-list/images/${t}.png`}function Pr(r){let{chain:t}=In.from({asset:r}),i=gr(t).toLowerCase();return`${v}/token-list/images/${i}.png`}var Tn;async function Rr(r){return Tn||=await _(),Tn.find((t)=>t.name===r)?.url}function ar(r){let{symbol:t}=In.from({asset:r});if(t===Cr.Ethereum)return"eth.eth";return r.toLowerCase()}var Kr={...X,...w,mayachainMidgard:k,microgard:c,thorchainMidgard:l,thornode:f};export{Q as TxnType,q as TxnStatus,Yr as TransactionSchema,_r as TransactionDTOSchema,p as TrackingStatus,cn as TokenDetailsMetadataSchema,Kr as SwapKitApi,Kn as RouteQuoteWarningSchema,Y as RouteQuoteTxType,kn as RouteQuoteMetadataSchema,xn as RouteQuoteMetadataAssetSchema,fr as RouteLegWithoutAddressesSchema,yn as RouteLegSchema,An as QuoteResponseSchema,Vr as QuoteRequestSchema,j as PriorityLabel,nn as PriceResponseSchema,Fr as PriceRequestSchema,mn as GasResponseSchema,en as FeesSchema,tn as EstimatedTimeSchema,fn as EVMTransactionSchema,Xr as EVMTransactionDetailsSchema,vn as EVMTransactionDetailsParamsSchema,rn as DepositChannelResponseSchema,Wn as CosmosTransactionSchema,ln as ChainflipMetadataSchema,Vn as BrokerDepositChannelParamsSchema,S as AssetValueSchema,cr as ApiV2ErrorSchema};
2
2
 
3
- //# debugId=FA9C36ED22266D7A64756E2164756E21
3
+ //# debugId=80F792D505D3CF9864756E2164756E21