@privy-io/js-sdk-core
Version:
Vanilla JS client for the Privy Auth API
2 lines (1 loc) • 1.49 kB
JavaScript
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]),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({input:e,amount:a,blockchain:s,asset:n,experience:i}){let o=new URL("https://pay.coinbase.com/buy/select-asset");return o.searchParams.set("appId",e.app_id),o.searchParams.set("sessionToken",e.session_token),o.searchParams.set("defaultExperience",i),o.searchParams.set("presetCryptoAmount",a.startsWith(".")?`0${a}`:a),o.searchParams.set("defaultNetwork",s),o.searchParams.set("defaultPaymentMethod",t[i]),o.searchParams.set("defaultAsset",r[n]),o.searchParams.set("partnerUserId",e.partner_user_id),{url:o}},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]};
;