/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/@nufi/fcl-web3auth-plugin@2.0.0-alpha.1/dist/cjs/index.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n);var r=Object.getOwnPropertyDescriptor(e,n);r&&!("get"in r?!e.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,i,r)}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),__importStar=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&__createBinding(e,t,n);return __setModuleDefault(e,t),e},__exportStar=this&&this.__exportStar||function(t,e){for(var n in t)"default"===n||Object.prototype.hasOwnProperty.call(e,n)||__createBinding(e,t,n)},__importDefault=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.experimentalLinkAccount=exports.getUserInfo=exports.loginProviders=exports.auth=exports.authWithProvider=exports.setCallbacks=exports.init=void 0;const constants_1=require("./constants"),flowportApi_1=require("./flowportApi"),ui_1=require("./ui"),connection_1=require("./web3auth/connection"),api_1=require("./connector/api"),connector_1=require("./connector"),fcl=__importStar(require("@onflow/fcl")),serviceDefinition_1=require("./connector/serviceDefinition"),wallet_1=__importDefault(require("./wallet")),typeUtils_1=require("./typeUtils"),cadence_1=require("./cadence"),utils_1=require("./utils"),sdk=__importStar(require("@onflow/sdk")),getDefaultWalletCallbacks=()=>{const t=(0,ui_1.getUi)();return{confirmSign:t.confirmSign,onLoginStatusChange:e=>{if("creating_account"===e.status&&t.showLoading("Creating account..."),"logged_in"===e.status&&t.close(),"error"===e.status)throw t.close(),e.error}}};function init({clientId:t,network:e,mfaLevel:n="none",uxMode:i="popup"}){const r=(0,api_1.createApi)(wallet_1.default.create(new connection_1.Web3AuthConnection(e,t,n,i),new flowportApi_1.FlowportApiConnection(constants_1.web3AuthNetworkToFlowportApiMapping[e]),getDefaultWalletCallbacks()),constants_1.web3AuthFclServices);(0,connector_1.listenToMessages)(r)}function setCallbacks(t){wallet_1.default.instance().setCallbacks(t)}async function authWithProvider(t){await wallet_1.default.instance().logout(),await fcl.authenticate({service:(0,serviceDefinition_1.serviceDefinition)(constants_1.web3AuthFclServices[t])})}function auth(t){const e=(0,ui_1.getUi)();if(!t)return e.showLoginModal({onAuthWithProvider:authWithProvider,loginProvidersMetadata:constants_1.web3AuthProviderMetadata});const n=t.loginProviderWhiteList.map((t=>{const e=constants_1.web3AuthProviderMetadata.find((({loginProvider:e})=>e===t));return(0,typeUtils_1.assert)(!!e,`${t} not among available login providers`),e}));return e.showLoginModal({onAuthWithProvider:authWithProvider,loginProvidersMetadata:n})}exports.init=init,exports.setCallbacks=setCallbacks,exports.authWithProvider=authWithProvider,exports.auth=auth;var constants_2=require("./constants");Object.defineProperty(exports,"loginProviders",{enumerable:!0,get:function(){return constants_2.web3AuthProviderMetadata}});const getUserInfo=()=>wallet_1.default.instance().accountInfo?.web3authUserInfo;exports.getUserInfo=getUserInfo,__exportStar(require("./web3auth/types"),exports),__exportStar(require("./wallet/types"),exports),__exportStar(require("./types"),exports);const getDefaultOnAccountLinkStatusChange=t=>{const e=(0,ui_1.getUi)();switch(t.status){case"signing":case"initialized":return e.showLoading("Linking account...");case"submitting":return e.showLoading("Submitting transaction...");case"tx_pending":return e.showLoading("Awaiting execution...");case"tx_executed":return e.showLoading("Executed, awaiting sealing...");case"tx_success":return e.showSuccess("Linking account successful"),(0,utils_1.sleep)(2e3).then((()=>e.close()));case"tx_fail":return e.showFail("Linking account failed"),(0,utils_1.sleep)(2e3).then((()=>e.close()));default:return(0,typeUtils_1.safeAssertUnreachable)(t)}};async function experimentalLinkAccount(t){const e=t.onLinkAccountStatusChange||getDefaultOnAccountLinkStatusChange;e({status:"initialized"});const n=await wallet_1.default.instance().ensureUserLoggedIn();await fcl.unauthenticate(),await fcl.authenticate();const i=(await fcl.currentUser().snapshot()).addr;e({status:"signing"});const r=await sdk.resolve(fcl.build([fcl.transaction((0,cadence_1.getLinkAccountCadence)(constants_1.web3AuthNetworkToCadenceContractAddresses[n.web3authUserInfo.network])),fcl.args([fcl.arg(fcl.withPrefix(n.address),fcl.t.Address),fcl.arg(t.linkedAccountName,fcl.t.String),fcl.arg(t.linkedAccountDescription,fcl.t.String),fcl.arg(t.clientThumbnailURL,fcl.t.String),fcl.arg(t.clientExternalURL,fcl.t.String),fcl.arg(t.handlerPathSuffix,fcl.t.String)]),fcl.proposer(fcl.authz),fcl.authorizations([fcl.authz]),fcl.payer(fcl.authz),fcl.limit(9999)]));await fcl.unauthenticate(),await fcl.authenticate({service:(0,serviceDefinition_1.serviceDefinition)(constants_1.web3AuthFclServices[n.web3authUserInfo.loginProvider])});const a=await fcl.mutate({cadence:cadence_1.publishAccountCadence,args:(e,n)=>[e(i,n.Address),e(t.authAccountPathSuffix,n.String)]});e({status:"submitting"}),await fcl.tx(a).onceSealed();const{transactionId:o}=await fcl.send(r);return fcl.tx(o).subscribe((t=>{"PENDING"===t.statusString?e({status:"tx_pending",transaction:t}):"EXECUTED"===t.statusString?e({status:"tx_executed",transaction:t}):"SEALED"!==t.statusString||t.errorMessage?t.errorMessage&&""!==t.errorMessage&&e({status:"tx_fail",transaction:t}):e({status:"tx_success",transaction:t})})),o}exports.experimentalLinkAccount=experimentalLinkAccount;
//# sourceMappingURL=/sm/aec8b2229d8f3273112c83a7a0407d66c997fcd804c438544dc2108b99b9afe1.map