UNPKG

@daimo/pay

Version:

Seamless crypto payments. Onboard users from any chain, any coin into your app with one click.

260 lines (257 loc) 10.7 kB
import { jsx } from 'react/jsx-runtime'; import Logos from '../assets/logos.js'; // Infer in-wallet payment URL from environment. let daimoPayHost = "https://pay.daimo.com"; function setInWalletPaymentUrlFromApiUrl(apiUrl) { if (apiUrl.startsWith("http://localhost")) { daimoPayHost = "http://localhost:3001"; } else if (apiUrl.startsWith("https://pay-api-stage.daimo.xyz")) { daimoPayHost = "https://pay.stage.daimo.xyz"; } else { daimoPayHost = "https://pay.daimo.com"; } } function getDaimoPayUrl(payId) { return daimoPayHost + "/pay?id=" + payId; } function getEncodedDaimoPayUrl(payId) { let url = getDaimoPayUrl(payId); let encodedUrl = encodeURIComponent(url); return encodedUrl; } // Organised in alphabetical order by key const walletConfigs = { "coinbaseWallet, coinbaseWalletSDK": { name: "Coinbase Wallet", shortName: "Coinbase", icon: jsx(Logos.Coinbase, {}), iconShape: "squircle", downloadUrls: { download: "https://connect.family.co/v0/download/coinbasewallet", website: "https://www.coinbase.com/wallet/getting-started-extension", android: "https://play.google.com/store/apps/details?id=org.toshi", ios: "https://apps.apple.com/app/coinbase-wallet-store-crypto/id1278383455", chrome: "https://chrome.google.com/webstore/detail/coinbase-wallet-extension/hnfanknocfeofbddgcijnmhnfnkdnaad", }, showInMobileConnectors: true, deeplinkScheme: "cbwallet://", getDaimoPayDeeplink: (payId) => { return "cbwallet://dapp?url=" + getEncodedDaimoPayUrl(payId); }, }, "com.coinbase.wallet": { name: "Coinbase Wallet", shortName: "Coinbase", icon: jsx(Logos.Coinbase, {}), iconShape: "squircle", downloadUrls: { download: "https://connect.family.co/v0/download/coinbasewallet", website: "https://www.coinbase.com/wallet/getting-started-extension", android: "https://play.google.com/store/apps/details?id=org.toshi", ios: "https://apps.apple.com/app/coinbase-wallet-store-crypto/id1278383455", chrome: "https://chrome.google.com/webstore/detail/coinbase-wallet-extension/hnfanknocfeofbddgcijnmhnfnkdnaad", }, showInMobileConnectors: false, deeplinkScheme: "cbwallet://", getDaimoPayDeeplink: (payId) => { return "cbwallet://dapp?url=" + getEncodedDaimoPayUrl(payId); }, }, backpack: { name: "Backpack", shortName: "Backpack", icon: jsx(Logos.Backpack, {}), iconShape: "squircle", showInMobileConnectors: true, getDaimoPayDeeplink: (payId) => { const url = encodeURIComponent(getDaimoPayUrl(payId)); return `https://backpack.app/ul/v1/browse/${url}`; }, }, bitget: { name: "Bitget", icon: jsx(Logos.Bitget, {}), iconShape: "squircle", showInMobileConnectors: true, deeplinkScheme: "bitkeep://", getDaimoPayDeeplink: (payId) => { return "bitkeep://bkconnect?action=dapp&url=" + getDaimoPayUrl(payId); }, }, "co.family.wallet": { name: "Family", shortName: "Family", icon: jsx(Logos.Family, {}), iconShape: "squircle", downloadUrls: { download: "https://connect.family.co/v0/download/family", website: "https://family.co", ios: "https://family.co/download", }, deeplinkScheme: "familywallet://", getDaimoPayDeeplink: (payId) => { return "familywallet://browser?url=" + getDaimoPayUrl(payId); }, showInMobileConnectors: true, }, "metaMask, metaMask-io, io.metamask, io.metamask.mobile, metaMaskSDK": { name: "MetaMask", shortName: "MetaMask", icon: jsx(Logos.MetaMask, {}), iconConnector: jsx(Logos.MetaMask, {}), iconShouldShrink: true, downloadUrls: { download: "https://connect.family.co/v0/download/metamask", website: "https://metamask.io/download/", android: "https://play.google.com/store/apps/details?id=io.metamask", ios: "https://apps.apple.com/app/metamask/id1438144202", chrome: "https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn", firefox: "https://addons.mozilla.org/firefox/addon/ether-metamask/", brave: "https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn", edge: "https://microsoftedge.microsoft.com/addons/detail/metamask/ejbalbakoplchlghecdalmeeeajnimhm", }, showInMobileConnectors: false, deeplinkScheme: "metamask://", getDaimoPayDeeplink: (payId) => { const daimoPayUrl = getDaimoPayUrl(payId); return ("https://metamask.app.link/dapp/" + daimoPayUrl.replace("https://", "")); }, }, "app.phantom": { name: "Phantom", icon: jsx(Logos.Phantom, {}), iconShape: "squircle", showInMobileConnectors: true, deeplinkScheme: "phantom://", getDaimoPayDeeplink: (payId) => { const url = encodeURIComponent(getDaimoPayUrl(payId)); const ref = encodeURIComponent(window.location.origin); return `https://phantom.app/ul/browse/${url}?ref=${ref}`; }, }, farcaster: { name: "Farcaster", icon: jsx(Logos.Farcaster, {}), iconShape: "squircle", showInMobileConnectors: true, getDaimoPayDeeplink: (payId) => { return ("https://farcaster.xyz/miniapps/sGRsevnRvM9P/daimo-pay/?id=" + payId); }, }, minipay: { name: "MiniPay", icon: jsx(Logos.MiniPay, {}), iconShape: "squircle", showInMobileConnectors: true, getDaimoPayDeeplink: (payId) => { return ("https://cash.minipay.xyz/browse?url=" + encodeURIComponent(getEncodedDaimoPayUrl(payId))); }, }, "me.rainbow": { name: "Rainbow Wallet", shortName: "Rainbow", icon: jsx(Logos.Rainbow, {}), iconShape: "squircle", downloadUrls: { download: "https://connect.family.co/v0/download/rainbow", website: "https://rainbow.me/?utm_source=daimopay", android: "https://play.google.com/store/apps/details?id=me.rainbow&referrer=utm_source%3Ddaimopay&utm_source=daimopay", ios: "https://apps.apple.com/app/rainbow-ethereum-wallet/id1457119021?pt=119997837&ct=daimopay&mt=8", chrome: "https://rainbow.me/extension?utm_source=daimopay", edge: "https://rainbow.me/extension?utm_source=daimopay", brave: "https://rainbow.me/extension?utm_source=daimopay", }, showInMobileConnectors: true, deeplinkScheme: "rainbow://", getDaimoPayDeeplink: (payId) => { return "rainbow://dapp?url=" + getDaimoPayUrl(payId); }, }, // "io.rabby": { // name: "Rabby Wallet", // shortName: "Rabby", // downloadUrls: { // website: "https://rabby.io", // chrome: // "https://chrome.google.com/webstore/detail/rabby-wallet/acmacodkjbdgmoleebolmdjonilkdbch", // }, // showInMobileConnectors: false, // //TODO: add wallet deep link // // edit rabby scheme to deeplink URL: https://github.com/RabbyHub/rabby-mobile/blob/999d60f49c5254e4aa8e6aa8bb80ad46e267845c/apps/mobile/src/LinkingConfig.ts#L25 // }, "com.trustwallet.app": { name: "Trust Wallet", shortName: "Trust", icon: jsx(Logos.Trust, {}), iconConnector: jsx(Logos.Trust, {}), downloadUrls: { download: "https://connect.family.co/v0/download/trust", android: "https://play.google.com/store/apps/details?id=com.wallet.crypto.trustapp", ios: "https://apps.apple.com/app/trust-crypto-bitcoin-wallet/id1288339409", }, showInMobileConnectors: false, deeplinkScheme: "trust://", getDaimoPayDeeplink: (payId) => { return "trust://open_url?coin_id=60&url=" + getDaimoPayUrl(payId); }, }, okx: { name: "OKX", icon: jsx(Logos.OKX, {}), showInMobileConnectors: true, deeplinkScheme: "okx://", getDaimoPayDeeplink: (payId) => { return "okx://wallet/dapp/url?dappUrl=" + getDaimoPayUrl(payId); }, }, solflare: { name: "Solflare", icon: jsx(Logos.Solflare, {}), showInMobileConnectors: true, deeplinkScheme: "solflare://", getDaimoPayDeeplink: (payId) => { const url = encodeURIComponent(getDaimoPayUrl(payId)); const ref = encodeURIComponent(window.location.origin); return `https://solflare.com/ul/v1/browse/${url}?ref=${ref}`; }, isSolanaOnly: true, }, // ledger: { // name: "Ledger Live", // shortName: "Ledger", // icon: <Logos.Ledger />, // downloadUrls: { // download: "https://connect.family.co/v0/download/ledger", // website: "https://www.ledger.com/ledger-live/download#download-device-2", // android: "https://play.google.com/store/apps/details?id=com.ledger.live", // ios: "https://apps.apple.com/app/ledger-live-web3-wallet/id1361671700", // }, // showInMobileConnectors: true, // deeplinkScheme: "ledgerlive://", // // getDaimoPayDeeplink: (payId: string) => { // // return "ledgerlive://discover/" + daimoPayUrl + payId; // // }, // // TODO: Add Daimo Pay to Ledger Live's Discover section https://developers.ledger.com/docs/ledger-live/discover/getting-started // shouldDeeplinkDesktop: true, // }, zerion: { name: "Zerion", icon: jsx(Logos.Zerion, {}), downloadUrls: { download: "https://connect.family.co/v0/download/zerion", ios: "https://apps.apple.com/app/apple-store/id1456732565", android: "https://play.google.com/store/apps/details?id=io.zerion.android", website: "https://zerion.io/", }, showInMobileConnectors: true, deeplinkScheme: "zerion://", getDaimoPayDeeplink: (payId) => { return "zerion://browser?url=" + getDaimoPayUrl(payId); }, }, }; export { setInWalletPaymentUrlFromApiUrl, walletConfigs }; //# sourceMappingURL=walletConfigs.js.map