@kryptogo/kryptogokit-sdk-react
Version:
KryptogoKit offers a comprehensive web3 wallet solution with seamless KryptoGO Auth integration and multi-wallet connection support. Designed for users. Built for developers.
158 lines (154 loc) • 7.34 kB
JavaScript
"use client";
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __commonJS = (cb, mod) => function __require() {
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
mod
));
// src/wallets/walletConnectors/enkryptWallet/enkryptWallet.svg
var require_enkryptWallet = __commonJS({
"src/wallets/walletConnectors/enkryptWallet/enkryptWallet.svg"(exports, module) {
module.exports = 'data:image/svg+xml,<svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg">%0A<rect width="28" height="28" fill="white"/>%0A<path fill-rule="evenodd" clip-rule="evenodd" d="M5.87852 5.87869C6.54381 5.21339 7.4461 4.83965 8.38694 4.83965L23.2744 4.83951V7.56142C23.2744 8.23771 23.0057 8.88627 22.5276 9.36445C22.0494 9.84262 21.4008 10.1113 20.7246 10.1113H13.725C12.7842 10.1113 11.8819 10.485 11.2166 11.1503C10.5513 11.8156 10.1776 12.7178 10.1776 13.6587V14.5615C10.1776 15.5023 10.5513 16.4046 11.2166 17.0698C11.8819 17.7351 12.7842 18.1088 13.725 18.1088H20.7246C21.4008 18.1088 22.0494 18.3775 22.5276 18.8557C23.0057 19.3339 23.2744 19.9824 23.2744 20.6587V23.2746H8.38694C7.4461 23.2746 6.54381 22.9008 5.87852 22.2356C5.21326 21.5703 4.83951 20.668 4.83951 19.7271V8.38707C4.83951 7.44624 5.21326 6.54395 5.87852 5.87869ZM13.8783 11.5949H21.0573C22.2818 11.5949 23.2744 12.5875 23.2744 13.812V14.4085C23.2744 15.6329 22.2818 16.6256 21.0573 16.6256H13.8783C12.6538 16.6256 11.6612 15.6329 11.6612 14.4085V13.812C11.6612 12.5875 12.6538 11.5949 13.8783 11.5949Z" fill="url(%23paint0_linear_3142_296)"/>%0A<defs>%0A<linearGradient id="paint0_linear_3142_296" x1="6.69242" y1="4.83951" x2="19.6241" y2="24.1286" gradientUnits="userSpaceOnUse">%0A<stop stop-color="%23C549FF"/>%0A<stop offset="1" stop-color="%23654BFF"/>%0A</linearGradient>%0A</defs>%0A</svg>%0A';
}
});
// src/wallets/getInjectedConnector.ts
import { createConnector } from "wagmi";
import { injected } from "wagmi/connectors";
function getExplicitInjectedProvider(flag) {
const _window = typeof window !== "undefined" ? window : void 0;
if (typeof _window === "undefined" || typeof _window.ethereum === "undefined")
return;
const providers = _window.ethereum.providers;
return providers ? providers.find((provider) => provider[flag]) : _window.ethereum[flag] ? _window.ethereum : void 0;
}
function getWindowProviderNamespace(namespace) {
const providerSearch = (provider, namespace2) => {
const [property, ...path] = namespace2.split(".");
const _provider = provider[property];
if (_provider) {
if (path.length === 0)
return _provider;
return providerSearch(_provider, path.join("."));
}
};
if (typeof window !== "undefined")
return providerSearch(window, namespace);
}
function hasInjectedProvider({ flag, namespace }) {
if (namespace && typeof getWindowProviderNamespace(namespace) !== "undefined")
return true;
if (flag && typeof getExplicitInjectedProvider(flag) !== "undefined")
return true;
return false;
}
function getInjectedProvider({ flag, namespace }) {
const _window = typeof window !== "undefined" ? window : void 0;
if (typeof _window === "undefined")
return;
if (namespace) {
const windowProvider = getWindowProviderNamespace(namespace);
if (windowProvider)
return windowProvider;
}
const providers = _window.ethereum?.providers;
if (flag) {
const provider = getExplicitInjectedProvider(flag);
if (provider)
return provider;
}
if (typeof providers !== "undefined" && providers.length > 0)
return providers[0];
return _window.ethereum;
}
function createInjectedConnector(provider) {
return (walletDetails) => {
const injectedConfig = provider ? {
shimDisconnect: false,
target: () => ({
id: walletDetails.rkDetails.id,
name: walletDetails.rkDetails.name,
provider
})
} : { shimDisconnect: false };
return createConnector((config) => ({
// Spread the injectedConfig object, which may be empty or contain the target function
...injected(injectedConfig)(config),
...walletDetails
}));
};
}
function getInjectedConnector({
flag,
namespace,
target
}) {
const provider = target ? target : getInjectedProvider({ flag, namespace });
return createInjectedConnector(provider);
}
// src/wallets/walletConnectors/enkryptWallet/enkryptWallet.ts
var enkryptWallet = () => {
return {
id: "enkrypt",
name: "Enkrypt Wallet",
rdns: "com.enkrypt",
installed: hasInjectedProvider({ namespace: "enkrypt.providers.ethereum" }),
iconUrl: async () => (await Promise.resolve().then(() => __toESM(require_enkryptWallet(), 1))).default,
iconBackground: "#FFFFFF",
downloadUrls: {
qrCode: "https://www.enkrypt.com",
chrome: "https://chrome.google.com/webstore/detail/enkrypt-ethereum-polkadot/kkpllkodjeloidieedojogacfhpaihoh",
browserExtension: "https://www.enkrypt.com/",
edge: "https://microsoftedge.microsoft.com/addons/detail/enkrypt-ethereum-polkad/gfenajajnjjmmdojhdjmnngomkhlnfjl",
firefox: "https://addons.mozilla.org/en-US/firefox/addon/enkrypt/",
opera: "https://addons.opera.com/en/extensions/details/enkrypt/",
safari: "https://apps.apple.com/app/enkrypt-web3-wallet/id1640164309"
},
extension: {
instructions: {
learnMoreUrl: "https://blog.enkrypt.com/what-is-a-web3-wallet/",
steps: [
{
description: "wallet_connectors.enkrypt.extension.step1.description",
step: "install",
title: "wallet_connectors.enkrypt.extension.step1.title"
},
{
description: "wallet_connectors.enkrypt.extension.step2.description",
step: "create",
title: "wallet_connectors.enkrypt.extension.step2.title"
},
{
description: "wallet_connectors.enkrypt.extension.step3.description",
step: "refresh",
title: "wallet_connectors.enkrypt.extension.step3.title"
}
]
}
},
createConnector: getInjectedConnector({
namespace: "enkrypt.providers.ethereum"
})
};
};
export {
enkryptWallet
};