UNPKG

@privy-io/js-sdk-core

Version:

Vanilla JS client for the Privy Auth API

2 lines (1 loc) 1.42 kB
import{mainnet as e,base as a,optimism as s,polygon as t,arbitrum as r}from"@privy-io/chains";let n=new Set([e.id,a.id,s.id,t.id,r.id]),c=new Set([e.id,a.id,t.id,s.id]),i={buy:"CARD",send:"CRYPTO_ACCOUNT"},d={USDC:"2b92315d-eab7-5bef-84fa-089a131333f5",ETH:"d85dce9b-5b73-5c3c-8978-522ce1d1c1b4",BTC:"5b71fc48-3dd3-540c-809b-f8c94d0e68b5",SOL:"4f039497-3af8-5bb3-951c-6df9afa9be1c",POL:"026bcc1e-9163-591c-a709-34dd18b2e7a1"},o={[e.id]:"ethereum",[a.id]:"base",[s.id]:"optimism",[t.id]:"polygon",[r.id]:"arbitrum"};function u({input:e,amount:a,blockchain:s,asset:t,experience:r}){let n=new URL("https://pay.coinbase.com/buy/select-asset");return n.searchParams.set("appId",e.app_id),n.searchParams.set("sessionToken",e.session_token),n.searchParams.set("defaultExperience",r),n.searchParams.set("presetCryptoAmount",a.startsWith(".")?`0${a}`:a),n.searchParams.set("defaultNetwork",s),n.searchParams.set("defaultPaymentMethod",i[r]),n.searchParams.set("defaultAsset",d[t]),n.searchParams.set("partnerUserId",e.partner_user_id),{url:n}}const b=(e,a)=>{switch(a){case"native-currency":return n.has(e);case"USDC":return c.has(e);default:return console.warn("Unknown asset passed to Coinbase Onramp"),!1}};function p(e){return o[e]}function m(e,a){return"USDC"===a?"USDC":e===t.id?"POL":"ETH"}export{u as getCoinbaseOnRampUrl,b as isSupportedChainIdForCoinbaseOnramp,m as toCoinbaseAssetId,p as toCoinbaseBlockchainFromChainId};