UNPKG

@privy-io/js-sdk-core

Version:

Vanilla JS client for the Privy Auth API

2 lines (1 loc) 1.56 kB
"use strict";var e=require("@privy-io/chains");let a=new Set([e.mainnet.id,e.base.id,e.optimism.id,e.polygon.id,e.arbitrum.id]),s=new Set([e.mainnet.id,e.base.id,e.polygon.id,e.optimism.id,e.arbitrum.id]),t={buy:"CARD",send:"CRYPTO_ACCOUNT"},r={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"},n={[e.mainnet.id]:"ethereum",[e.base.id]:"base",[e.optimism.id]:"optimism",[e.polygon.id]:"polygon",[e.arbitrum.id]:"arbitrum"};exports.getCoinbaseOnRampUrl=function({appId:e,input:a,amount:s,blockchain:n,asset:i,experience:o}){let d=new URL("https://pay.coinbase.com/buy/select-asset");return d.searchParams.set("appId",a.app_id),d.searchParams.set("sessionToken",a.session_token),d.searchParams.set("endPartnerName",`privy:${e}`),d.searchParams.set("defaultExperience",o),d.searchParams.set("presetCryptoAmount",s.startsWith(".")?`0${s}`:s),d.searchParams.set("defaultNetwork",n),d.searchParams.set("defaultPaymentMethod",t[o]),d.searchParams.set("defaultAsset",r[i]),d.searchParams.set("partnerUserId",a.partner_user_id),{url:d}},exports.isSupportedChainIdForCoinbaseOnramp=(e,t)=>{switch(t){case"native-currency":return a.has(e);case"USDC":return s.has(e);default:return console.warn("Unknown asset passed to Coinbase Onramp"),!1}},exports.toCoinbaseAssetId=function(a,s){return"USDC"===s?"USDC":a===e.polygon.id?"POL":"ETH"},exports.toCoinbaseBlockchainFromChainId=function(e){return n[e]};