UNPKG

@privy-io/js-sdk-core

Version:

Vanilla JS client for the Privy Auth API

2 lines (1 loc) 1.48 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]),d={buy:"CARD",send:"CRYPTO_ACCOUNT"},i={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({appId:e,input:a,amount:s,blockchain:t,asset:r,experience:n}){let c=new URL("https://pay.coinbase.com/buy/select-asset");return c.searchParams.set("appId",a.app_id),c.searchParams.set("sessionToken",a.session_token),c.searchParams.set("endPartnerName",`privy:${e}`),c.searchParams.set("defaultExperience",n),c.searchParams.set("presetCryptoAmount",s.startsWith(".")?`0${s}`:s),c.searchParams.set("defaultNetwork",t),c.searchParams.set("defaultPaymentMethod",d[n]),c.searchParams.set("defaultAsset",i[r]),c.searchParams.set("partnerUserId",a.partner_user_id),{url:c}}const p=(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 b(e){return o[e]}function m(e,a){return"USDC"===a?"USDC":e===t.id?"POL":"ETH"}export{u as getCoinbaseOnRampUrl,p as isSupportedChainIdForCoinbaseOnramp,m as toCoinbaseAssetId,b as toCoinbaseBlockchainFromChainId};