@dynamic-labs/sdk-react-core
Version:
A React SDK for implementing wallet web3 authentication and authorization to your website.
31 lines (27 loc) • 1.44 kB
JavaScript
'use client'
;
Object.defineProperty(exports, '__esModule', { value: true });
/**
* returns the id of the primary turnkey wallet
* if the primary wallet is a turnkey wallet, it returns the id of the primary wallet
* if the primary wallet is a zerodev wallet, it returns corresponding turnkey wallet id
*/
const getPrimaryTurnkeyWalletId = (primaryWalletId, verifiedCredentials) => {
var _a;
const primaryWallet = verifiedCredentials === null || verifiedCredentials === void 0 ? void 0 : verifiedCredentials.find(({ id }) => id === primaryWalletId);
if (!primaryWallet) {
throw new Error('Primary wallet not found');
}
let turnkeyWalletId = undefined;
if ((_a = primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.walletName) === null || _a === void 0 ? void 0 : _a.startsWith('turnkey')) {
turnkeyWalletId = primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.id;
}
else if (primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.signerRefId) {
turnkeyWalletId = primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.signerRefId;
}
if (!turnkeyWalletId) {
throw new Error("Invalid wallet type: expecting 'turnkey' wallet, or a wallet with a 'signerRefId'");
}
return turnkeyWalletId;
};
exports.getPrimaryTurnkeyWalletId = getPrimaryTurnkeyWalletId;