New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@swapkit/api

Package Overview
Dependencies
Maintainers
2
Versions
242
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@swapkit/api - npm Package Compare versions

Comparing version 0.0.0-nightly-20240607015403 to 0.0.0-nightly-20240718103505

src/midgard/endpoints.ts

510

dist/index.js

@@ -1,509 +0,3 @@

var __defProp = Object.defineProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, {
get: all[name],
enumerable: true,
configurable: true,
set: (newValue) => all[name] = () => newValue
});
};
var _=Object.defineProperty;var T=(e,t)=>{for(var o in t)_(e,o,{get:t[o],enumerable:!0,configurable:!0,set:(s)=>t[o]=()=>s})};var B={};T(B,{getTNSChainAddress:()=>se,getTHORNamesByOwner:()=>ee,getTHORNamesByAddress:()=>re,getTHORNameDetails:()=>F,getTHORChainPools:()=>te,getLiquidityPositionsRaw:()=>$,getLiquidityPositions:()=>ne});import{AssetValue as l,BaseDecimal as b,RequestClient as f,SwapKitNumber as R} from"@swapkit/helpers";function F(e){return f.get(`${h}/thorname/lookup/${e}`)}function ee(e){return f.get(`${h}/thorname/owner/${e}`)}function re(e){return f.get(`${h}/thorname/address/${e}`)}function te(e){return f.get(`${h}/pools`,{searchParams:{period:e}})}function $(e){return f.get(`${h}/fullmember?address=${e.join(",")}`)}async function se({chain:e,tns:t}){return(await F(t))?.entries?.find((s)=>s.chain.toLowerCase()===e.toLowerCase())?.address}async function ne(e){return(await $(e)).map((o)=>({assetRegisteredAddress:o.assetAddress,asset:l.from({asset:o.pool,value:o.assetAdded,fromBaseDecimal:b.THOR}),assetPending:l.from({asset:o.pool,value:o.assetPending,fromBaseDecimal:b.THOR}),assetWithdrawn:l.from({asset:o.pool,value:o.assetWithdrawn,fromBaseDecimal:b.THOR}),runeRegisteredAddress:o.runeAddress,rune:l.from({asset:"THOR.RUNE",value:o.runeAdded,fromBaseDecimal:b.THOR}),runePending:l.from({asset:"THOR.RUNE",value:o.runePending,fromBaseDecimal:b.THOR}),runeWithdrawn:l.from({asset:"THOR.RUNE",value:o.runeWithdrawn,fromBaseDecimal:b.THOR}),poolShare:new R(o.sharedUnits).div(o.poolUnits),dateLastAdded:o.dateLastAdded,dateFirstAdded:o.dateFirstAdded}))}var h="https://mu.thorswap.net";import{AssetValue as m,BaseDecimal as i,Chain as p,RequestClient as D,SwapKitNumber as P} from"@swapkit/helpers";function M(e,t=!1){return D.get(`${t?V:G}/v2/borrower/${e}`)}function w(e,t=!1){return D.get(`${t?V:G}/v2/saver/${e}`)}function X(e,t){return D.get(`${t?V:G}/v2/member/${e}`)}async function oe(e,t=!1){return(await M(e,t)).pools.map((s)=>({collateral_deposited:m.from({asset:s.collateral_asset,value:s.collateral_deposited,fromBaseDecimal:i.THOR}),collateral_withdrawn:m.from({asset:s.collateral_asset,value:s.collateral_withdrawn,fromBaseDecimal:i.THOR}),debt_issued_tor:P.fromBigInt(BigInt(s.debt_issued_tor),i.THOR),debt_repaid_tor:P.fromBigInt(BigInt(s.debt_repaid_tor),i.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((H)=>m.from({asset:H}))}))}async function ae(e,t=!1){return(await w(e,t)).pools.map((s)=>({assetRegisteredAddress:s.assetAddress,assetAdded:m.from({asset:s.pool,value:s.assetAdded,fromBaseDecimal:i.THOR}),assetDeposit:m.from({asset:s.pool,value:s.assetDeposit,fromBaseDecimal:i.THOR}),assetRedeem:m.from({asset:s.pool,value:s.assetRedeem,fromBaseDecimal:i.THOR}),assetWithdrawn:m.from({asset:s.pool,value:s.assetWithdrawn,fromBaseDecimal:i.THOR}),dateLastAdded:s.dateLastAdded,dateFirstAdded:s.dateFirstAdded}))}async function ie(e,t=!1){return(await X(e,t)).pools.map((s)=>({assetRegisteredAddress:s.assetAddress,asset:m.from({asset:s.pool,value:s.assetAdded,fromBaseDecimal:i.THOR}),assetPending:m.from({asset:s.pool,value:s.assetPending,fromBaseDecimal:i.THOR}),assetWithdrawn:m.from({asset:s.pool,value:s.assetWithdrawn,fromBaseDecimal:i.THOR}),[`${t?"cacao":"rune"}RegisteredAddress`]:s.runeAddress,[`${t?"cacao":"rune"}`]:m.from({asset:"THOR.RUNE",value:s.runeAdded,fromBaseDecimal:i.THOR}),[`${t?"cacao":"rune"}Pending`]:m.from({asset:"THOR.RUNE",value:s.runePending,fromBaseDecimal:i.THOR}),[`${t?"cacao":"rune"}Withdrawn`]:m.from({asset:"THOR.RUNE",value:s.runeWithdrawn,fromBaseDecimal:i.THOR}),poolShare:new P(s.liquidityUnits).div(s.pool),dateLastAdded:s.dateLastAdded,dateFirstAdded:s.dateFirstAdded}))}var G="https://midgard.ninerealms.com",V="https://midgard.mayachain.info",Y=(e)=>({getBorrowerDetail:(t)=>oe(t,e===p.Maya),getBorrowerDetailRaw:(t)=>M(t,e===p.Maya),getSaversDetail:(t)=>ae(t,e===p.Maya),getSaverDetailRaw:(t)=>w(t,e===p.Maya),getLiquidityPosition:(t)=>ie(t,e===p.Maya),getLiquidityPositionRaw:(t)=>X(t,e===p.Maya)}),q=Y(p.THORChain),E=Y(p.Maya);var v={};T(v,{getThorchainQueue:()=>ue,getTNSPreferredAsset:()=>le,getTHORNodeTNSDetails:()=>W,getNodes:()=>Ae,getMimirInfo:()=>pe,getLastBlock:()=>de,getInboundAddresses:()=>ge});import{AssetValue as me,RequestClient as N} from"@swapkit/helpers";var I=function({type:e="thorchain",stagenet:t=!1}={}){switch(e){case"mayachain":return t?"https://stagenet.mayanode.mayachain.info/mayachain":"https://mayanode.mayachain.info/mayachain";default:return t?"https://stagenet-thornode.ninerealms.com/thorchain":"https://thornode.thorswap.net/thorchain"}};function de(e){return N.get(`${I(e)}/lastblock`)}function ue(e){return N.get(`${I(e)}/queue`)}function Ae(e){return N.get(`${I(e)}/nodes`)}function pe(e){return N.get(`${I(e)}/mimir`)}function ge(e){return N.get(`${I(e)}/inbound_addresses`)}function W(e){return N.get(`${I(e)}/thorname/${e.name}`)}async function le(e){const t=await W({name:e});if(!t.preferred_asset||t.preferred_asset===".")return;return me.from({asyncTokenLookup:!0,asset:t.preferred_asset})}var U={};T(U,{getTxnDetails:()=>Ce,getTokenListProviders:()=>Be,getSwapQuote:()=>He,getRepayQuote:()=>fe,getLoans:()=>ce,getLendingAssets:()=>he,getGasRates:()=>Se,getCachedPrices:()=>Le,getBorrowQuote:()=>Te,APIV1RequestClient:()=>c});import{RequestClient as L} from"@swapkit/helpers";import{z as g} from"zod";var be;((n)=>{n.SWAP_TC_TO_TC="SWAP:TC-TC";n.SWAP_ETH_TO_TC="SWAP:ERC20-TC";n.SWAP_TC_TO_ETH="SWAP:TC-ERC20";n.SWAP_ETH_TO_ETH="SWAP:ERC20-ERC20";n.SWAP_AVAX_TO_TC="SWAP:AVAX-TC";n.SWAP_TC_TO_AVAX="SWAP:TC-AVAX";n.SWAP_AVAX_TO_AVAX="SWAP:AVAX-AVAX";n.SWAP_ETH_TO_AVAX="SWAP:ETH-AVAX";n.SWAP_AVAX_TO_ETH="SWAP:AVAX-ETH";n.SWAP_TC_TO_GAIA="SWAP:TC-GAIA";n.SWAP_GAIA_TO_TC="SWAP:GAIA-TC";n.SWAP_TC_TO_BTC="SWAP:TC-BTC";n.SWAP_BTC_TO_TC="SWAP:BTC-TC";n.SWAP_TC_TO_BCH="SWAP:TC-BCH";n.SWAP_BCH_TO_TC="SWAP:BCH-TC";n.SWAP_TC_TO_LTC="SWAP:TC-LTC";n.SWAP_LTC_TO_TC="SWAP:LTC-TC";n.SWAP_TC_TO_DOGE="SWAP:TC-DOGE";n.SWAP_DOGE_TO_TC="SWAP:DOGE-TC";n.TC_STATUS="TC:STATUS";n.TC_TRANSFER="TC:TRANSFER";n.TC_DEPOSIT="TC:DEPOSIT";n.TC_SEND="TC:SEND";n.TC_SWITCH="TC:SWITCH";n.TC_LP_ADD="TC:ADDLIQUIDITY";n.TC_LP_WITHDRAW="TC:WITHDRAW";n.TC_TNS_CREATE="TC:TNS-CREATE";n.TC_TNS_EXTEND="TC:TNS-EXTEND";n.TC_TNS_UPDATE="TC:TNS-UPDATE";n.TC_SAVINGS_ADD="TC:ADDSAVINGS";n.TC_SAVINGS_WITHDRAW="TC:WITHDRAWSAVINGS";n.TC_LENDING_OPEN="TC:LENDINGOPEN";n.TC_LENDING_CLOSE="TC:LENDINGCLOSE";n.ETH_APPROVAL="ETH:APPROVAL";n.ETH_STATUS="ETH:STATUS";n.ETH_TRANSFER_TO_TC="ETH:TRANSFER:IN";n.ETH_TRANSFER_FROM_TC="ETH:TRANSFER:OUT";n.AVAX_APPROVAL="AVAX:APPROVAL";n.AVAX_STATUS="AVAX:STATUS";n.AVAX_TRANSFER_TO_TC="AVAX:TRANSFER:IN";n.AVAX_TRANSFER_FROM_TC="AVAX:TRANSFER:OUT";n.BSC_APPROVAL="BSC:APPROVAL";n.BSC_STATUS="BSC:STATUS";n.BSC_TRANSFER_TO_TC="BSC:TRANSFER:IN";n.BSC_TRANSFER_FROM_TC="BSC:TRANSFER:OUT";n.APPROVAL="APPROVAL";n.STATUS="STATUS";n.TRANSFER_TO_TC="TRANSFER:IN";n.TRANSFER_FROM_TC="TRANSFER:OUT";n.UNSUPPORTED="UNSUPPORTED";n.TC_LENDING="TC:LENDING"})(be||={});var Ne;((u)=>{u.PENDING="pending";u.SUCCESS="success";u.CANCELLED="cancelled";u.REFUNDED="refunded";u.REPLACED="replaced";u.ERROR="error";u.UNKNOWN="unknown";u.NOT_STARTED="not_started";u.NOT_FOUND="not_found";u.RETRIES_EXCEEDED="retries_exceeded";u.STREAMING="streaming"})(Ne||={});var Ie;((s)=>{s[s.NOT_STARTED=0]="NOT_STARTED";s[s.SUCCESS=1]="SUCCESS";s[s.REFUNDED=2]="REFUNDED"})(Ie||={});var K;((r)=>{r.INVALID_INPUT_PARAMETERS="1000";r.UNKNOWN_PROVIDERS="1001";r.CANNOT_FIND_INBOUND_ADDRESS="1002";r.NO_INBOUND_ADDRESSES="1003";r.CHAIN_HALTED_OR_UNSUPPORTED="1004";r.MISSING_INPUT_PARAMETER="1005";r.INVALID_TYPE_GENERIC="1100";r.INVALID_NUMBER_STRING="1101";r.INVALID_NUMBER="1102";r.INVALID_BOOLEAN="1103";r.INVALID_OBJECT="1104";r.INVALID_ARRAY="1105";r.SELL_AMOUNT_MUST_BE_POSITIVE_INTEGER="2000";r.SELL_BUY_ASSETS_ARE_THE_SAME="2001";r.MISSING_SOURCE_ADDRESS_FOR_SYNTH="2002";r.AFF_ADDRESS_AND_BPS_OR_NEITHER="2003";r.AFF_ADDRESS_TOO_LONG="2004";r.AFF_BPS_INTEGER_MAX_500="2005";r.SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN="2006";r.DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN="2007";r.PREFERRED_PROVIDER_NOT_SUPPORTED="2008";r.DESTINATION_ADDRESS_SMART_CONTRACT="2009";r.BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER="2010";r.SOURCE_ADDRESS_SMART_CONTRACT="2011";r.SWAP_AMOUNT_TOO_LOW="2012";r.INVALID_PROVIDER="2100";r.MISSING_CROSS_CHAIN_PROVIDER="2101";r.MISSING_AVAX_PROVIDER="2102";r.MISSING_BSC_PROVIDER="2103";r.MISSING_ETH_PROVIDER="2104";r.INVALID_PROVIDER_FOR_SWAP_OUT="2105";r.MISSING_ARB_PROVIDER="2106";r.INVALID_CHAIN="2200";r.INVALID_ASSET="2201";r.INVALID_ASSET_IDENTIFIER="2202";r.UNSUPPORTED_CHAIN="2204";r.UNSUPPORTED_ASSET="2203";r.UNSUPPORTED_ASSET_FOR_SWAPOUT="2205";r.INVALID_SOURCE_ADDRESS="2300";r.INVALID_DESTINATION_ADDRESS="2301";r.THORNODE_QUOTE_GENERIC_ERROR="3000";r.NOT_ENOUGH_SYNTH_BALANCE="3001";r.SYNTH_MINTING_CAP_REACHED="3002";r.INVALID_QUOTE_MODE="4000";r.NO_QUOTES="4001";r.SERVICE_UNAVAILABLE_GENERIC="5000";r.MISSING_GAS_DATA_GENERIC="5100";r.MISSING_TOKEN_INFO_GENERIC="5200";r.CANT_FIND_TOKEN_LIST="5201";r.NO_PRICE="5202";r.PRICE_IS_STALE="5203";r.ADDRESS_NOT_WHITELISTED="6000";r.ADDRESS_ALREADY_CLAIMED="6001";r.TEMPORARY_ERROR="9999"})(K||={});var Q;((a)=>{a.HEALTH_CONTROLLER="1000";a.LIQUIDITY_CONTROLLER="1001";a.PROVIDER_CONTROLLER="1002";a.QUOTE_CONTROLLER="1003";a.SWAP_CONTROLLER="1004";a.UTIL_CONTROLLER="1005";a.AIRDROP_CONTROLLER="1006";a.PROVIDER="2000";a.ASSET="2001";a.TOKEN_LIST="2002";a.QUOTE="2100";a.QUOTE_TXN_DETAILS="2101";a.THORCHAIN_PROVIDER="3000";a.UNISWAPV2_ETH_PROVIDER="3001";a.UNISWAPV3_ETH_PROVIDER="3002";a.SUSHISWAP_ETH_PROVIDER="3003";a.PANCAKESWAP_BSC_PROVIDER="3004";a.PANCAKESWAP_ETH_PROVIDER="3005";a.ONEINCH_ETH_PROVIDER="3006";a.ONEINCH_BSC_PROVIDER="3007";a.ONEINCH_AVAX_PROVIDER="3008";a.ZEROX_ETH_PROVIDER="3009";a.WOOFI_AVAX_PROVIDER="3010";a.PANGOLIN_AVAX_PROVIDER="3011";a.TRADERJOE_AVAX_PROVIDER="3012";a.KYBER_ETH_PROVIDER="3013";a.KYBER_AVAX_PROVIDER="3014";a.WOOFI_BSC_PROVIDER="3015";a.STARGATE_PROVIDER="3016";a.PROVIDER_UTIL="4000";a.TXN_DETAILS="5000";a.AIRDROP_UTIL="6000"})(Q||={});var j;((d)=>{d.VALIDATION_ERROR="VALIDATION_ERROR";d.REQUEST_PARAMETER_ERROR="REQUEST_PARAMETER_ERROR";d.RESPONSE_PARSING_ERROR="RESPONSE_PARSING_ERROR";d.UNSUPPORTED="UNSUPPORTED";d.NOT_IMPLEMENTED="NOT_IMPLEMENTED";d.INCOMPATIBLE_ASSETS_OPERATIONS="INCOMPATIBLE_ASSETS_OPERATIONS";d.SERVICE_UNAVAILABLE="SERVICE_UNAVAILABLE";d.DOWN_FOR_MAINTENANCE="DOWN_FOR_MAINTENANCE";d.MISSING_INBOUND_INFO="MISSING_INBOUND_INFO";d.QUOTE_FETCHING_ERROR="QUOTE_FETCHING_ERROR";d.AIRDROP_ERROR="AIRDROP_ERROR";d.UNHANDLED_ERROR="UNHANDLED_ERROR"})(j||={});var J=g.object({status:g.number(),type:g.nativeEnum(j),code:g.nativeEnum(K),module:g.nativeEnum(Q),complete:g.string(),identifier:g.string(),message:g.string()});function Le({tokens:e,...t}){const o=new URLSearchParams,s=e.filter((H,Z,O)=>O.findIndex((z)=>z===H)===Z);for(let H of s)o.append("tokens",JSON.stringify(H));if(t.metadata)o.append("metadata","true");if(t.lookup)o.append("lookup","true");if(t.sparkline)o.append("sparkline","true");return c.post(`${A}/tokenlist/cached-price`,{body:o.toString(),headers:{"Content-Type":"application/x-www-form-urlencoded"}})}function He(e){return c.get(`${A}/aggregator/tokens/quote`,{searchParams:e})}function Te(e){return c.get(`${A}/aggregator/lending/borrow`,{searchParams:e})}function fe(e){return c.get(`${A}/aggregator/lending/repay`,{searchParams:e})}function he(){return L.get(`${A}/aggregator/lending/assets`)}function ce(e){return L.get(`${A}/aggregator/lending/loans`,{searchParams:e})}function Se(){return L.get(`${A}/resource-worker/gasPrice/getAll`)}function Ce(e){return L.get(`${A}/apiusage/v2/txn`,{searchParams:{txHash:e}})}function Be(){return L.get(`${A}/tokenlist/providers`)}var A="https://api.thorswap.finance",c=L.extend({responseHandler:(e)=>{try{return J.parse(e)}catch(t){return e}}});var y={};T(y,{getTrackerDetails:()=>Ve,getTokenListV2:()=>ye,getTokenListProvidersV2:()=>Ue,getSwapQuoteV2:()=>ve});import{QuoteResponseSchema as Pe,RequestClient as S,SwapKitError as De} from"@swapkit/helpers";function Ve(e){return S.post(`${C}/track`,{body:JSON.stringify(e)})}async function ve(e,t=!1){const o=await S.post(`${t?Ge:C}/quote`,{json:e});try{return Pe.parse(o)}catch(s){throw new De("api_v2_invalid_response",s)}}async function Ue(){return await S.get(`${C}/providers`)}function ye(e){return S.get(`${C}/tokens?provider=${e}`)}var C="https://api.swapkit.dev",Ge="https://dev-api.swapkit.dev";var k={};T(k,{getTokenList:()=>$e,getLogoForAsset:()=>Me,getChainLogoForAsset:()=>we});import{AssetValue as xe,RequestClient as ke,getChainIdentifier as Fe} from"@swapkit/helpers";function $e(e){return ke.get(`${x}/token-list/${e}.json`)}function Me(e){return`${x}/token-list/images/${e.toLowerCase()}.png`}function we(e){const{chain:t}=xe.from({asset:e}),o=Fe(t).toLowerCase();return`${x}/token-list/images/${o}.png`}var x="https://static.thorswap.net";var _e={...B,...v,...U,...y,...k,thorchainMidgard:q,mayachainMidgard:E};export{Ne as TxStatus,be as TransactionType,_e as SwapKitApi,Ie as StreamingSwapProgressStatus,j as ERROR_TYPE,Q as ERROR_MODULE,K as ERROR_CODE,J as ApiV1ErrorSchema};
// src/microgard/endpoints.ts
var exports_endpoints = {};
__export(exports_endpoints, {
getTHORNamesByOwner: () => {
{
return getTHORNamesByOwner;
}
},
getTHORNamesByAddress: () => {
{
return getTHORNamesByAddress;
}
},
getTHORNameDetails: () => {
{
return getTHORNameDetails;
}
},
getTHORChainPools: () => {
{
return getTHORChainPools;
}
}
});
import {RequestClient} from "@swapkit/helpers";
function getTHORNameDetails(thorname) {
return RequestClient.get(`${baseUrl}/thorname/lookup/${thorname}`);
}
function getTHORNamesByOwner(owner) {
return RequestClient.get(`${baseUrl}/thorname/owner/${owner}`);
}
function getTHORNamesByAddress(address) {
return RequestClient.get(`${baseUrl}/thorname/address/${address}`);
}
function getTHORChainPools(period) {
return RequestClient.get(`${baseUrl}/pools`, { searchParams: { period } });
}
var baseUrl = "https://mu.thorswap.net";
// src/thornode/endpoints.ts
var exports_endpoints2 = {};
__export(exports_endpoints2, {
getThorchainQueue: () => {
{
return getThorchainQueue;
}
},
getNodes: () => {
{
return getNodes;
}
},
getMimirInfo: () => {
{
return getMimirInfo;
}
},
getLastBlock: () => {
{
return getLastBlock;
}
},
getInboundAddresses: () => {
{
return getInboundAddresses;
}
}
});
import {RequestClient as RequestClient2} from "@swapkit/helpers";
var baseUrl2 = function({ type = "thorchain", stagenet = false } = {}) {
switch (type) {
case "mayachain":
return stagenet ? "https://stagenet.mayanode.mayachain.info/mayachain" : "https://mayanode.mayachain.info/mayachain";
default:
return stagenet ? "https://stagenet-thornode.ninerealms.com/thorchain" : "https://thornode.thorswap.net/thorchain";
}
};
function getLastBlock(params) {
return RequestClient2.get(`${baseUrl2(params)}/lastblock`);
}
function getThorchainQueue(params) {
return RequestClient2.get(`${baseUrl2(params)}/queue`);
}
function getNodes(params) {
return RequestClient2.get(`${baseUrl2(params)}/nodes`);
}
function getMimirInfo(params) {
return RequestClient2.get(`${baseUrl2(params)}/mimir`);
}
function getInboundAddresses(params) {
return RequestClient2.get(`${baseUrl2(params)}/inbound_addresses`);
}
// src/thorswapApi/endpoints.ts
var exports_endpoints3 = {};
__export(exports_endpoints3, {
getTxnDetails: () => {
{
return getTxnDetails;
}
},
getTokenListProviders: () => {
{
return getTokenListProviders;
}
},
getSwapQuote: () => {
{
return getSwapQuote;
}
},
getRepayQuote: () => {
{
return getRepayQuote;
}
},
getLoans: () => {
{
return getLoans;
}
},
getLendingAssets: () => {
{
return getLendingAssets;
}
},
getGasRates: () => {
{
return getGasRates;
}
},
getCachedPrices: () => {
{
return getCachedPrices;
}
},
getBorrowQuote: () => {
{
return getBorrowQuote;
}
},
APIV1RequestClient: () => {
{
return APIV1RequestClient;
}
}
});
import {RequestClient as RequestClient3} from "@swapkit/helpers";
// src/thorswapApi/types.ts
import {z} from "zod";
var TransactionType;
(function(TransactionType2) {
TransactionType2["SWAP_TC_TO_TC"] = "SWAP:TC-TC";
TransactionType2["SWAP_ETH_TO_TC"] = "SWAP:ERC20-TC";
TransactionType2["SWAP_TC_TO_ETH"] = "SWAP:TC-ERC20";
TransactionType2["SWAP_ETH_TO_ETH"] = "SWAP:ERC20-ERC20";
TransactionType2["SWAP_AVAX_TO_TC"] = "SWAP:AVAX-TC";
TransactionType2["SWAP_TC_TO_AVAX"] = "SWAP:TC-AVAX";
TransactionType2["SWAP_AVAX_TO_AVAX"] = "SWAP:AVAX-AVAX";
TransactionType2["SWAP_ETH_TO_AVAX"] = "SWAP:ETH-AVAX";
TransactionType2["SWAP_AVAX_TO_ETH"] = "SWAP:AVAX-ETH";
TransactionType2["SWAP_TC_TO_GAIA"] = "SWAP:TC-GAIA";
TransactionType2["SWAP_GAIA_TO_TC"] = "SWAP:GAIA-TC";
TransactionType2["SWAP_TC_TO_BNB"] = "SWAP:TC-BNB";
TransactionType2["SWAP_BNB_TO_TC"] = "SWAP:BNB-TC";
TransactionType2["SWAP_TC_TO_BTC"] = "SWAP:TC-BTC";
TransactionType2["SWAP_BTC_TO_TC"] = "SWAP:BTC-TC";
TransactionType2["SWAP_TC_TO_BCH"] = "SWAP:TC-BCH";
TransactionType2["SWAP_BCH_TO_TC"] = "SWAP:BCH-TC";
TransactionType2["SWAP_TC_TO_LTC"] = "SWAP:TC-LTC";
TransactionType2["SWAP_LTC_TO_TC"] = "SWAP:LTC-TC";
TransactionType2["SWAP_TC_TO_DOGE"] = "SWAP:TC-DOGE";
TransactionType2["SWAP_DOGE_TO_TC"] = "SWAP:DOGE-TC";
TransactionType2["TC_STATUS"] = "TC:STATUS";
TransactionType2["TC_TRANSFER"] = "TC:TRANSFER";
TransactionType2["TC_DEPOSIT"] = "TC:DEPOSIT";
TransactionType2["TC_SEND"] = "TC:SEND";
TransactionType2["TC_SWITCH"] = "TC:SWITCH";
TransactionType2["TC_LP_ADD"] = "TC:ADDLIQUIDITY";
TransactionType2["TC_LP_WITHDRAW"] = "TC:WITHDRAW";
TransactionType2["TC_TNS_CREATE"] = "TC:TNS-CREATE";
TransactionType2["TC_TNS_EXTEND"] = "TC:TNS-EXTEND";
TransactionType2["TC_TNS_UPDATE"] = "TC:TNS-UPDATE";
TransactionType2["TC_SAVINGS_ADD"] = "TC:ADDSAVINGS";
TransactionType2["TC_SAVINGS_WITHDRAW"] = "TC:WITHDRAWSAVINGS";
TransactionType2["TC_LENDING_OPEN"] = "TC:LENDINGOPEN";
TransactionType2["TC_LENDING_CLOSE"] = "TC:LENDINGCLOSE";
TransactionType2["ETH_APPROVAL"] = "ETH:APPROVAL";
TransactionType2["ETH_STATUS"] = "ETH:STATUS";
TransactionType2["ETH_TRANSFER_TO_TC"] = "ETH:TRANSFER:IN";
TransactionType2["ETH_TRANSFER_FROM_TC"] = "ETH:TRANSFER:OUT";
TransactionType2["AVAX_APPROVAL"] = "AVAX:APPROVAL";
TransactionType2["AVAX_STATUS"] = "AVAX:STATUS";
TransactionType2["AVAX_TRANSFER_TO_TC"] = "AVAX:TRANSFER:IN";
TransactionType2["AVAX_TRANSFER_FROM_TC"] = "AVAX:TRANSFER:OUT";
TransactionType2["BSC_APPROVAL"] = "BSC:APPROVAL";
TransactionType2["BSC_STATUS"] = "BSC:STATUS";
TransactionType2["BSC_TRANSFER_TO_TC"] = "BSC:TRANSFER:IN";
TransactionType2["BSC_TRANSFER_FROM_TC"] = "BSC:TRANSFER:OUT";
TransactionType2["APPROVAL"] = "APPROVAL";
TransactionType2["STATUS"] = "STATUS";
TransactionType2["TRANSFER_TO_TC"] = "TRANSFER:IN";
TransactionType2["TRANSFER_FROM_TC"] = "TRANSFER:OUT";
TransactionType2["UNSUPPORTED"] = "UNSUPPORTED";
TransactionType2["TC_LENDING"] = "TC:LENDING";
})(TransactionType || (TransactionType = {}));
var TxStatus;
(function(TxStatus2) {
TxStatus2["PENDING"] = "pending";
TxStatus2["SUCCESS"] = "success";
TxStatus2["CANCELLED"] = "cancelled";
TxStatus2["REFUNDED"] = "refunded";
TxStatus2["REPLACED"] = "replaced";
TxStatus2["ERROR"] = "error";
TxStatus2["UNKNOWN"] = "unknown";
TxStatus2["NOT_STARTED"] = "not_started";
TxStatus2["NOT_FOUND"] = "not_found";
TxStatus2["RETRIES_EXCEEDED"] = "retries_exceeded";
TxStatus2["STREAMING"] = "streaming";
})(TxStatus || (TxStatus = {}));
var StreamingSwapProgressStatus;
(function(StreamingSwapProgressStatus2) {
StreamingSwapProgressStatus2[StreamingSwapProgressStatus2["NOT_STARTED"] = 0] = "NOT_STARTED";
StreamingSwapProgressStatus2[StreamingSwapProgressStatus2["SUCCESS"] = 1] = "SUCCESS";
StreamingSwapProgressStatus2[StreamingSwapProgressStatus2["REFUNDED"] = 2] = "REFUNDED";
})(StreamingSwapProgressStatus || (StreamingSwapProgressStatus = {}));
var ERROR_CODE;
(function(ERROR_CODE2) {
ERROR_CODE2["INVALID_INPUT_PARAMETERS"] = "1000";
ERROR_CODE2["UNKNOWN_PROVIDERS"] = "1001";
ERROR_CODE2["CANNOT_FIND_INBOUND_ADDRESS"] = "1002";
ERROR_CODE2["NO_INBOUND_ADDRESSES"] = "1003";
ERROR_CODE2["CHAIN_HALTED_OR_UNSUPPORTED"] = "1004";
ERROR_CODE2["MISSING_INPUT_PARAMETER"] = "1005";
ERROR_CODE2["INVALID_TYPE_GENERIC"] = "1100";
ERROR_CODE2["INVALID_NUMBER_STRING"] = "1101";
ERROR_CODE2["INVALID_NUMBER"] = "1102";
ERROR_CODE2["INVALID_BOOLEAN"] = "1103";
ERROR_CODE2["INVALID_OBJECT"] = "1104";
ERROR_CODE2["INVALID_ARRAY"] = "1105";
ERROR_CODE2["SELL_AMOUNT_MUST_BE_POSITIVE_INTEGER"] = "2000";
ERROR_CODE2["SELL_BUY_ASSETS_ARE_THE_SAME"] = "2001";
ERROR_CODE2["MISSING_SOURCE_ADDRESS_FOR_SYNTH"] = "2002";
ERROR_CODE2["AFF_ADDRESS_AND_BPS_OR_NEITHER"] = "2003";
ERROR_CODE2["AFF_ADDRESS_TOO_LONG"] = "2004";
ERROR_CODE2["AFF_BPS_INTEGER_MAX_500"] = "2005";
ERROR_CODE2["SOURCE_ADDRESS_INVALID_FOR_SELL_CHAIN"] = "2006";
ERROR_CODE2["DESTINATION_ADDRESS_INVALID_FOR_BUY_CHAIN"] = "2007";
ERROR_CODE2["PREFERRED_PROVIDER_NOT_SUPPORTED"] = "2008";
ERROR_CODE2["DESTINATION_ADDRESS_SMART_CONTRACT"] = "2009";
ERROR_CODE2["BUY_AMOUNT_MUST_BE_POSITIVE_INTEGER"] = "2010";
ERROR_CODE2["SOURCE_ADDRESS_SMART_CONTRACT"] = "2011";
ERROR_CODE2["SWAP_AMOUNT_TOO_LOW"] = "2012";
ERROR_CODE2["INVALID_PROVIDER"] = "2100";
ERROR_CODE2["MISSING_CROSS_CHAIN_PROVIDER"] = "2101";
ERROR_CODE2["MISSING_AVAX_PROVIDER"] = "2102";
ERROR_CODE2["MISSING_BSC_PROVIDER"] = "2103";
ERROR_CODE2["MISSING_ETH_PROVIDER"] = "2104";
ERROR_CODE2["INVALID_PROVIDER_FOR_SWAP_OUT"] = "2105";
ERROR_CODE2["MISSING_ARB_PROVIDER"] = "2106";
ERROR_CODE2["INVALID_CHAIN"] = "2200";
ERROR_CODE2["INVALID_ASSET"] = "2201";
ERROR_CODE2["INVALID_ASSET_IDENTIFIER"] = "2202";
ERROR_CODE2["UNSUPPORTED_CHAIN"] = "2204";
ERROR_CODE2["UNSUPPORTED_ASSET"] = "2203";
ERROR_CODE2["UNSUPPORTED_ASSET_FOR_SWAPOUT"] = "2205";
ERROR_CODE2["INVALID_SOURCE_ADDRESS"] = "2300";
ERROR_CODE2["INVALID_DESTINATION_ADDRESS"] = "2301";
ERROR_CODE2["THORNODE_QUOTE_GENERIC_ERROR"] = "3000";
ERROR_CODE2["NOT_ENOUGH_SYNTH_BALANCE"] = "3001";
ERROR_CODE2["SYNTH_MINTING_CAP_REACHED"] = "3002";
ERROR_CODE2["INVALID_QUOTE_MODE"] = "4000";
ERROR_CODE2["NO_QUOTES"] = "4001";
ERROR_CODE2["SERVICE_UNAVAILABLE_GENERIC"] = "5000";
ERROR_CODE2["MISSING_GAS_DATA_GENERIC"] = "5100";
ERROR_CODE2["MISSING_TOKEN_INFO_GENERIC"] = "5200";
ERROR_CODE2["CANT_FIND_TOKEN_LIST"] = "5201";
ERROR_CODE2["NO_PRICE"] = "5202";
ERROR_CODE2["PRICE_IS_STALE"] = "5203";
ERROR_CODE2["ADDRESS_NOT_WHITELISTED"] = "6000";
ERROR_CODE2["ADDRESS_ALREADY_CLAIMED"] = "6001";
ERROR_CODE2["TEMPORARY_ERROR"] = "9999";
})(ERROR_CODE || (ERROR_CODE = {}));
var ERROR_MODULE;
(function(ERROR_MODULE2) {
ERROR_MODULE2["HEALTH_CONTROLLER"] = "1000";
ERROR_MODULE2["LIQUIDITY_CONTROLLER"] = "1001";
ERROR_MODULE2["PROVIDER_CONTROLLER"] = "1002";
ERROR_MODULE2["QUOTE_CONTROLLER"] = "1003";
ERROR_MODULE2["SWAP_CONTROLLER"] = "1004";
ERROR_MODULE2["UTIL_CONTROLLER"] = "1005";
ERROR_MODULE2["AIRDROP_CONTROLLER"] = "1006";
ERROR_MODULE2["PROVIDER"] = "2000";
ERROR_MODULE2["ASSET"] = "2001";
ERROR_MODULE2["TOKEN_LIST"] = "2002";
ERROR_MODULE2["QUOTE"] = "2100";
ERROR_MODULE2["QUOTE_TXN_DETAILS"] = "2101";
ERROR_MODULE2["THORCHAIN_PROVIDER"] = "3000";
ERROR_MODULE2["UNISWAPV2_ETH_PROVIDER"] = "3001";
ERROR_MODULE2["UNISWAPV3_ETH_PROVIDER"] = "3002";
ERROR_MODULE2["SUSHISWAP_ETH_PROVIDER"] = "3003";
ERROR_MODULE2["PANCAKESWAP_BSC_PROVIDER"] = "3004";
ERROR_MODULE2["PANCAKESWAP_ETH_PROVIDER"] = "3005";
ERROR_MODULE2["ONEINCH_ETH_PROVIDER"] = "3006";
ERROR_MODULE2["ONEINCH_BSC_PROVIDER"] = "3007";
ERROR_MODULE2["ONEINCH_AVAX_PROVIDER"] = "3008";
ERROR_MODULE2["ZEROX_ETH_PROVIDER"] = "3009";
ERROR_MODULE2["WOOFI_AVAX_PROVIDER"] = "3010";
ERROR_MODULE2["PANGOLIN_AVAX_PROVIDER"] = "3011";
ERROR_MODULE2["TRADERJOE_AVAX_PROVIDER"] = "3012";
ERROR_MODULE2["KYBER_ETH_PROVIDER"] = "3013";
ERROR_MODULE2["KYBER_AVAX_PROVIDER"] = "3014";
ERROR_MODULE2["WOOFI_BSC_PROVIDER"] = "3015";
ERROR_MODULE2["STARGATE_PROVIDER"] = "3016";
ERROR_MODULE2["PROVIDER_UTIL"] = "4000";
ERROR_MODULE2["TXN_DETAILS"] = "5000";
ERROR_MODULE2["AIRDROP_UTIL"] = "6000";
})(ERROR_MODULE || (ERROR_MODULE = {}));
var ERROR_TYPE;
(function(ERROR_TYPE2) {
ERROR_TYPE2["VALIDATION_ERROR"] = "VALIDATION_ERROR";
ERROR_TYPE2["REQUEST_PARAMETER_ERROR"] = "REQUEST_PARAMETER_ERROR";
ERROR_TYPE2["RESPONSE_PARSING_ERROR"] = "RESPONSE_PARSING_ERROR";
ERROR_TYPE2["UNSUPPORTED"] = "UNSUPPORTED";
ERROR_TYPE2["NOT_IMPLEMENTED"] = "NOT_IMPLEMENTED";
ERROR_TYPE2["INCOMPATIBLE_ASSETS_OPERATIONS"] = "INCOMPATIBLE_ASSETS_OPERATIONS";
ERROR_TYPE2["SERVICE_UNAVAILABLE"] = "SERVICE_UNAVAILABLE";
ERROR_TYPE2["DOWN_FOR_MAINTENANCE"] = "DOWN_FOR_MAINTENANCE";
ERROR_TYPE2["MISSING_INBOUND_INFO"] = "MISSING_INBOUND_INFO";
ERROR_TYPE2["QUOTE_FETCHING_ERROR"] = "QUOTE_FETCHING_ERROR";
ERROR_TYPE2["AIRDROP_ERROR"] = "AIRDROP_ERROR";
ERROR_TYPE2["UNHANDLED_ERROR"] = "UNHANDLED_ERROR";
})(ERROR_TYPE || (ERROR_TYPE = {}));
var ApiV1ErrorSchema = z.object({
status: z.number(),
type: z.nativeEnum(ERROR_TYPE),
code: z.nativeEnum(ERROR_CODE),
module: z.nativeEnum(ERROR_MODULE),
complete: z.string(),
identifier: z.string(),
message: z.string()
});
// src/thorswapApi/endpoints.ts
function getCachedPrices({ tokens, ...options }) {
const body = new URLSearchParams;
const filteredTokens = tokens.filter((token, index, sourceArr) => sourceArr.findIndex((t) => t === token) === index);
for (const token of filteredTokens) {
body.append("tokens", JSON.stringify(token));
}
if (options.metadata)
body.append("metadata", "true");
if (options.lookup)
body.append("lookup", "true");
if (options.sparkline)
body.append("sparkline", "true");
return APIV1RequestClient.post(`${baseUrlV1}/tokenlist/cached-price`, {
body: body.toString(),
headers: { "Content-Type": "application/x-www-form-urlencoded" }
});
}
function getSwapQuote(searchParams) {
return APIV1RequestClient.get(`${baseUrlV1}/aggregator/tokens/quote`, {
searchParams
});
}
function getBorrowQuote(searchParams) {
return APIV1RequestClient.get(`${baseUrlV1}/aggregator/lending/borrow`, {
searchParams
});
}
function getRepayQuote(searchParams) {
return APIV1RequestClient.get(`${baseUrlV1}/aggregator/lending/repay`, {
searchParams
});
}
function getLendingAssets() {
return RequestClient3.get(`${baseUrlV1}/aggregator/lending/assets`);
}
function getLoans(searchParams) {
return RequestClient3.get(`${baseUrlV1}/aggregator/lending/loans`, {
searchParams
});
}
function getGasRates() {
return RequestClient3.get(`${baseUrlV1}/resource-worker/gasPrice/getAll`);
}
function getTxnDetails(txHash) {
return RequestClient3.get(`${baseUrlV1}/apiusage/v2/txn`, {
searchParams: { txHash }
});
}
function getTokenListProviders() {
return RequestClient3.get(`${baseUrlV1}/tokenlist/providers`);
}
var baseUrlV1 = "https://api.thorswap.finance";
var APIV1RequestClient = RequestClient3.extend({
hooks: {
afterResponse: [
async (_request, _options, response) => {
const body = await response.json();
try {
const errorBody = ApiV1ErrorSchema.parse(body);
return new Response(JSON.stringify(errorBody), { status: 200 });
} catch (_error) {
return response;
}
}
]
}
});
// src/thorswapApiV2/endpoints.ts
var exports_endpoints4 = {};
__export(exports_endpoints4, {
getTrackerDetails: () => {
{
return getTrackerDetails;
}
},
getSwapQuoteV2: () => {
{
return getSwapQuoteV2;
}
}
});
import {
QuoteResponseSchema,
RequestClient as RequestClient4,
SwapKitError
} from "@swapkit/helpers";
function getTrackerDetails(payload) {
return RequestClient4.post(`${baseUrl3}/track`, { body: JSON.stringify(payload) });
}
function getSwapQuoteV2(searchParams, isDev = false) {
const afterResponse = [
async (_request, _options, response) => {
const body = await response.json();
try {
QuoteResponseSchema.parse(body);
} catch (error) {
throw new SwapKitError("api_v2_invalid_response", error);
}
return response;
}
];
const kyClient = RequestClient4.extend({ hooks: { afterResponse } });
return kyClient.post(`${isDev ? baseUrlDev : baseUrl3}/quote`, {
json: searchParams
});
}
var baseUrl3 = "https://api.swapkit.dev";
var baseUrlDev = "https://dev-api.swapkit.dev";
// src/thorswapStatic/endpoints.ts
var exports_endpoints5 = {};
__export(exports_endpoints5, {
getTokenList: () => {
{
return getTokenList;
}
},
getLogoForAsset: () => {
{
return getLogoForAsset;
}
}
});
import {RequestClient as RequestClient5} from "@swapkit/helpers";
function getTokenList(tokenListName) {
return RequestClient5.get(`${baseUrl4}/token-list/${tokenListName}.json`);
}
function getLogoForAsset(assetString) {
return `${baseUrl4}/token-list/images/${assetString.toLowerCase()}.png`;
}
var baseUrl4 = "https://static.thorswap.finance";
// src/index.ts
var SwapKitApi = {
...exports_endpoints,
...exports_endpoints2,
...exports_endpoints3,
...exports_endpoints4,
...exports_endpoints5
};
export {
TxStatus,
TransactionType,
SwapKitApi,
StreamingSwapProgressStatus,
ERROR_TYPE,
ERROR_MODULE,
ERROR_CODE,
ApiV1ErrorSchema
};
//# debugId=CDB82025C5831F1264756e2164756e21
//# debugId=328FF35413B218D764756E2164756E21
{
"author": "swapkit-oss",
"dependencies": {
"@swapkit/helpers": "0.0.0-nightly-20240607015403",
"@swapkit/helpers": "0.0.0-nightly-20240718103505",
"zod": "3.23.8"
},
"devDependencies": {
"bun-types": "1.1.8"
"ky": "1.4.0"
},

@@ -19,6 +19,2 @@ "description": "SwapKit - API",

"name": "@swapkit/api",
"peerDependencies": {
"@swapkit/helpers": "0.0.0-nightly-20240607015403",
"zod": "3.23.8"
},
"react-native": "./src/index.ts",

@@ -31,6 +27,6 @@ "repository": {

"build": "bun run ./build.ts",
"clean": "rm -rf .turbo dist node_modules *.tsbuildinfo",
"lint": "biome check --apply ./src",
"clean": "rm -rf dist node_modules *.tsbuildinfo",
"lint": "biome check --write ./src",
"test": "echo 'bun test'",
"test:coverage": "echo 'bun test --coverage'",
"test:coverage": "bun test --coverage",
"type-check": "tsc --noEmit"

@@ -40,3 +36,3 @@ },

"types": "./src/index.ts",
"version": "0.0.0-nightly-20240607015403"
"version": "0.0.0-nightly-20240718103505"
}
import * as microgardEndpoints from "./microgard/endpoints.ts";
import { mayachainMidgard, thorchainMidgard } from "./midgard/endpoints.ts";
import * as thornodeEndpoints from "./thornode/endpoints.ts";

@@ -18,2 +19,4 @@ import * as thorswapApiEndpoints from "./thorswapApi/endpoints.ts";

...thorswapStaticEndpoints,
thorchainMidgard,
mayachainMidgard,
};

@@ -1,3 +0,9 @@

import { RequestClient } from "@swapkit/helpers";
import type { PoolDetail, PoolPeriod, THORNameDetails } from "./types.ts";
import {
AssetValue,
BaseDecimal,
type Chain,
RequestClient,
SwapKitNumber,
} from "@swapkit/helpers";
import type { LiquidityPositionRaw, PoolDetail, PoolPeriod, THORNameDetails } from "./types.ts";

@@ -21,1 +27,55 @@ const baseUrl = "https://mu.thorswap.net";

}
export function getLiquidityPositionsRaw(addresses: string[]) {
return RequestClient.get<LiquidityPositionRaw[]>(
`${baseUrl}/fullmember?address=${addresses.join(",")}`,
);
}
export async function getTNSChainAddress({ chain, tns }: { chain: Chain; tns: string }) {
const tnsDetails = await getTHORNameDetails(tns);
return tnsDetails?.entries?.find((e) => e.chain.toLowerCase() === chain.toLowerCase())?.address;
}
export async function getLiquidityPositions(addresses: string[]) {
const rawLiquidityPositions = await getLiquidityPositionsRaw(addresses);
return rawLiquidityPositions.map((rawPosition) => ({
assetRegisteredAddress: rawPosition.assetAddress,
asset: AssetValue.from({
asset: rawPosition.pool,
value: rawPosition.assetAdded,
fromBaseDecimal: BaseDecimal.THOR,
}),
assetPending: AssetValue.from({
asset: rawPosition.pool,
value: rawPosition.assetPending,
fromBaseDecimal: BaseDecimal.THOR,
}),
assetWithdrawn: AssetValue.from({
asset: rawPosition.pool,
value: rawPosition.assetWithdrawn,
fromBaseDecimal: BaseDecimal.THOR,
}),
runeRegisteredAddress: rawPosition.runeAddress,
rune: AssetValue.from({
asset: "THOR.RUNE",
value: rawPosition.runeAdded,
fromBaseDecimal: BaseDecimal.THOR,
}),
runePending: AssetValue.from({
asset: "THOR.RUNE",
value: rawPosition.runePending,
fromBaseDecimal: BaseDecimal.THOR,
}),
runeWithdrawn: AssetValue.from({
asset: "THOR.RUNE",
value: rawPosition.runeWithdrawn,
fromBaseDecimal: BaseDecimal.THOR,
}),
poolShare: new SwapKitNumber(rawPosition.sharedUnits).div(rawPosition.poolUnits),
dateLastAdded: rawPosition.dateLastAdded,
dateFirstAdded: rawPosition.dateFirstAdded,
}));
}

@@ -0,1 +1,3 @@

import type { AssetValue, SwapKitNumber } from "@swapkit/helpers";
export type THORNameDetails = {

@@ -27,1 +29,33 @@ entries: Array<{ address: string; chain: string }>;

};
export type LiquidityPositionRaw = {
assetAdded: string;
assetAddress: string;
assetPending: string;
assetWithdrawn: string;
dateFirstAdded: string;
dateLastAdded: string;
pool: string;
poolAssetDepth: string;
poolRuneDepth: string;
poolUnits: string;
runeAdded: string;
runeAddress: string;
runePending: string;
runeWithdrawn: string;
sharedUnits: string;
};
export type LiquidityPosition = {
asset: AssetValue;
assetPending: AssetValue;
assetWithdrawn: AssetValue;
assetAddress: string;
native: AssetValue;
nativeAddress: string;
nativePending: AssetValue;
nativeWithdrawn: AssetValue;
dateFirstAdded: string;
dateLastAdded: string;
poolShare: SwapKitNumber;
};

@@ -1,2 +0,2 @@

import { RequestClient } from "@swapkit/helpers";
import { AssetValue, RequestClient } from "@swapkit/helpers";
import type {

@@ -7,2 +7,3 @@ InboundAddressesItem,

NodeItem,
THORNodeTNSDetails,
ThornodeEndpointParams,

@@ -43,1 +44,13 @@ } from "./types.ts";

}
export function getTHORNodeTNSDetails(params: ThornodeEndpointParams & { name: string }) {
return RequestClient.get<THORNodeTNSDetails>(`${baseUrl(params)}/thorname/${params.name}`);
}
export async function getTNSPreferredAsset(tns: string) {
const tnsDetails = await getTHORNodeTNSDetails({ name: tns });
if (!tnsDetails.preferred_asset || tnsDetails.preferred_asset === ".") return undefined;
return AssetValue.from({ asyncTokenLookup: true, asset: tnsDetails.preferred_asset });
}

@@ -6,2 +6,14 @@ export type ThornodeEndpointParams = {

export type THORNodeTNSDetails = {
name: string;
expire_block_height: number;
owner: string;
preferred_asset: string;
affiliate_collector_rune: string;
aliases: {
chain: string;
address: string;
}[];
};
export type InboundAddressesItem = {

@@ -71,4 +83,2 @@ address: string;

HALTBCHTRADING: number;
HALTBNBCHAIN: number;
HALTBNBTRADING: number;
HALTBSCCHAIN: number;

@@ -91,3 +101,2 @@ HALTBSCTRADING: number;

HALTSIGNINGBCH: number;
HALTSIGNINGBNB: number;
HALTSIGNINGBSC: number;

@@ -140,3 +149,2 @@ HALTSIGNINGBTC: number;

PAUSELPBCH: number;
PAUSELPBNB: number;
PAUSELPBSC: number;

@@ -154,5 +162,2 @@ PAUSELPBTC: number;

"POL-BCH-BCH": number;
"POL-BNB-BNB": number;
"POL-BNB-BUSD-BD1": number;
"POL-BSC-BNB": number;
"POL-BSC-USDC-0X8AC76A51CC950D9822D68B83FE1AD97B32CD580D": number;

@@ -174,18 +179,2 @@ "POL-BTC-BTC": number;

PREFERREDASSETOUTBOUNDFEEMULTIPLIER: number;
"RAGNAROK-BNB-AVA-645": number;
"RAGNAROK-BNB-BAT-07A": number;
"RAGNAROK-BNB-BNB": number;
"RAGNAROK-BNB-BTCB-1DE": number;
"RAGNAROK-BNB-BUSD-BD1": number;
"RAGNAROK-BNB-CAKE-435": number;
"RAGNAROK-BNB-EQL-586": number;
"RAGNAROK-BNB-ETH-1C9": number;
"RAGNAROK-BNB-ETHBULL-D33": number;
"RAGNAROK-BNB-NEXO-A84": number;
"RAGNAROK-BNB-RUNE": number;
"RAGNAROK-BNB-TWT-8C2": number;
"RAGNAROK-BNB-USDT-6D8": number;
"RAGNAROK-BNB-XRP-BF2": number;
"RAGNAROK-TERRA-LUNA": number;
"RAGNAROK-TERRA-UST": number;
RESCHEDULECOALESCEBLOCKS: number;

@@ -205,3 +194,2 @@ SAVERSSTREAMINGSWAPSINTERVAL: number;

STOPSOLVENCYCHECKAVAX: number;
STOPSOLVENCYCHECKBNB: number;
STOPSOLVENCYCHECKBSC: number;

@@ -217,3 +205,2 @@ STOPSOLVENCYCHECKDOGE: number;

"TORANCHOR-AVAX-USDT-0X9702230A8EA53601F5CD2DC00FDBC13D4DF4A8C7": number;
"TORANCHOR-BNB-BUSD-BD1": number;
"TORANCHOR-BSC-USDC-0X8AC76A51CC950D9822D68B83FE1AD97B32CD580D": number;

@@ -220,0 +207,0 @@ "TORANCHOR-ETH-DAI-0X6B175474E89094C44DA98B954EEDEAC495271D0F": number;

@@ -24,15 +24,9 @@ import { RequestClient } from "@swapkit/helpers";

export const APIV1RequestClient = RequestClient.extend({
hooks: {
afterResponse: [
async (_request, _options, response) => {
const body = await response.json();
try {
const errorBody = ApiV1ErrorSchema.parse(body);
return new Response(JSON.stringify(errorBody), { status: 200 });
} catch (_error) {
return response;
}
},
],
responseHandler: (response) => {
try {
const errorBody = ApiV1ErrorSchema.parse(response);
return errorBody;
} catch (_error) {
return response;
}
},

@@ -39,0 +33,0 @@ });

@@ -337,5 +337,2 @@ import type { Chain, LedgerErrorCode, QuoteMode } from "@swapkit/helpers";

SWAP_GAIA_TO_TC = "SWAP:GAIA-TC",
// BNB
SWAP_TC_TO_BNB = "SWAP:TC-BNB",
SWAP_BNB_TO_TC = "SWAP:BNB-TC",
// BTC

@@ -442,2 +439,3 @@ SWAP_TC_TO_BTC = "SWAP:TC-BTC",

lastLegEffectiveSlipPercentage: number;
slippagePercentage: number;
priceProtectionDetected: boolean;

@@ -444,0 +442,0 @@ priceProtectionRequired: boolean;

import {
type ProviderName,
type QuoteRequest as QuoteRequestV2,

@@ -8,4 +9,8 @@ type QuoteResponse,

} from "@swapkit/helpers";
import type { AfterResponseHook } from "ky";
import type { TrackerParams, TrackerResponse } from "./types";
import type {
TokenListProvidersResponse,
TokensResponseV2,
TrackerParams,
TrackerResponse,
} from "./types";

@@ -19,20 +24,25 @@ const baseUrl = "https://api.swapkit.dev";

export function getSwapQuoteV2(searchParams: QuoteRequestV2, isDev = false) {
const afterResponse: AfterResponseHook[] = [
async (_request, _options, response) => {
const body = await response.json();
try {
QuoteResponseSchema.parse(body);
} catch (error) {
throw new SwapKitError("api_v2_invalid_response", error);
}
return response;
export async function getSwapQuoteV2(searchParams: QuoteRequestV2, isDev = false) {
const response = await RequestClient.post<QuoteResponse>(
`${isDev ? baseUrlDev : baseUrl}/quote`,
{
json: searchParams,
},
];
);
const kyClient = RequestClient.extend({ hooks: { afterResponse } });
try {
return QuoteResponseSchema.parse(response);
} catch (error) {
throw new SwapKitError("api_v2_invalid_response", error);
}
}
return kyClient.post<QuoteResponse>(`${isDev ? baseUrlDev : baseUrl}/quote`, {
json: searchParams,
});
export async function getTokenListProvidersV2() {
const response = await RequestClient.get<TokenListProvidersResponse>(`${baseUrl}/providers`);
return response;
}
export function getTokenListV2(provider: ProviderName) {
const response = RequestClient.get<TokensResponseV2>(`${baseUrl}/tokens?provider=${provider}`);
return response;
}

@@ -172,2 +172,42 @@ import { type AssetValue, Chain, ChainId } from "@swapkit/helpers";

type TokenProviderVersion = {
major: number;
minor: number;
patch: number;
};
export type TokenListProvidersResponse = Array<{
provider: ProviderName;
name: string;
timestamp: string;
version: TokenProviderVersion;
keywords: string[];
count: number;
url: string;
}>;
export type TokensResponseV2 = {
chainId: ChainId;
count: number;
keywords: string[];
name: string;
provider: ProviderName;
timestamp: string;
tokens: TokenV2[];
version: TokenProviderVersion;
};
export type TokenV2 = {
address?: string;
chain: string;
chainId: string;
decimals: number;
extensions?: {};
identifier: string;
logoURI: string;
name?: string;
symbol: string;
ticker: string;
};
export interface TransactionProps {

@@ -174,0 +214,0 @@ chainId: ChainId;

@@ -1,6 +0,6 @@

import { RequestClient } from "@swapkit/helpers";
import { AssetValue, RequestClient, getChainIdentifier } from "@swapkit/helpers";
import type { TokensResponse } from "./types.ts";
const baseUrl = "https://static.thorswap.finance";
const baseUrl = "https://static.thorswap.net";

@@ -14,1 +14,7 @@ export function getTokenList(tokenListName: string) {

}
export function getChainLogoForAsset(assetString: string) {
const { chain } = AssetValue.from({ asset: assetString });
const chainIdentifier = getChainIdentifier(chain).toLowerCase();
return `${baseUrl}/token-list/images/${chainIdentifier}.png`;
}

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc