{"mappings":"mbAAO,MAAMA,EAAqBC,MAChCC,IAEA,IACE,aAAaA,IACb,MAAOC,GAEP,MADAC,QAAQC,IAAIF,GACNA,IAwBH,MAAMG,EAA6BL,MACxCC,EACAK,EACAC,KAEA,IACE,aAAaN,IACb,MAAOC,GAEP,MADAC,QAAQC,IAAIF,GACNA,O,kECxCV,IAAAM,EAAAC,EAAA,S,iEAUO,MAAMC,EAMXC,cACEC,KAAKC,QAAUC,EAAAC,QAUjBf,kBACEgB,EACAC,EACAC,GAAqB,GAErB,IAAKA,IAAcN,KAAKC,QAAQM,YAC9B,MAAM,IAAI,EAAAC,EAAAC,oBACRD,EAAAE,uBAAuBC,aACvB,wBAIJ,OAAIL,EACKN,KAAKY,iCAAiCR,EAAYC,SAG9CL,KAAKC,QAAQY,gBAAgBC,YACxCV,EACAC,EACAL,KAAKC,QAAQc,WAAWC,MAU5BJ,iCACER,EACAC,GAEKP,EAASmB,QACZnB,EAASmB,MAAQ,IAAI,EAAAC,EAAAC,WAAU,CAAEC,KAAMC,EAAAC,WAEnC,EAAAD,EAAAE,eACFzB,EAASmB,MAAMO,eAAeC,OAAMnC,IAClCC,QAAQmC,MAAM,uBAAuBpC,SAS3C,OALc4B,EAAAS,MAAMb,YAAeT,EAAa,CAC9CY,MAAOnB,EAASmB,M,WAChBb,K,MA5DHwB,EAAAC,YADU/B,EAAQgC,UAEnB,eAAO","sources":["src/model/utils/errorLogger.ts","src/model/AuthBase.ts"],"sourcesContent":["export const executeWithLogging = async (\n func: () => Promise\n): Promise => {\n try {\n return await func();\n } catch (e) {\n console.log(e);\n throw e;\n }\n};\n\nexport function withLogging(\n target: any,\n key: string,\n meta: PropertyDescriptor\n) {\n const origin = meta.value;\n\n meta.value = function (...data: any[]) {\n const result = origin.apply(this, data);\n\n return result instanceof Promise\n ? result.catch(error => {\n console.warn(`Error in ${key}: ${error}`);\n\n throw error;\n })\n : result;\n };\n}\n\nexport const executeWithLoggingAndCache = async (\n func: () => Promise,\n cacheKey: string,\n ttl: number\n): Promise => {\n try {\n return await func();\n } catch (e) {\n console.log(e);\n throw e;\n }\n // TODO: cache\n // return await queryWithCache(\n // async () => {\n // try {\n // return await func();\n // } catch (e) {\n // console.log(e);\n // throw e;\n // }\n // },\n // cacheKey,\n // ttl\n // );\n};\n","import { observable } from 'mobx';\nimport { SessionStore } from './Session';\nimport { IAuth } from './interface';\nimport { Actor, ActorSubclass, HttpAgent } from '@dfinity/agent';\nimport { Principal } from '@dfinity/principal';\nimport { WalletConnectError, WalletConnectErrorCode } from './utils/exception';\nimport { IC_HOST, isLocalEnv } from './utils/config';\nimport { IDL } from '@dfinity/candid';\nimport session from './Session';\n\nexport class AuthBase implements IAuth {\n @observable\n session: SessionStore;\n\n private static agent: HttpAgent;\n\n constructor() {\n this.session = session;\n }\n\n /**\n * create an actor\n * @param canisterId canisterId\n * @param canisterDid canisterDid\n * @param anonymous create actor with anonymous identity\n * @returns\n */\n public async createActor(\n canisterId: string,\n canisterDid: IDL.InterfaceFactory,\n anonymous: boolean = true\n ): Promise> {\n if (!anonymous && !this.session.isConnected) {\n throw new WalletConnectError(\n WalletConnectErrorCode.NotConnected,\n 'Wallet not connected'\n );\n }\n\n if (anonymous) {\n return this.createActorWithAnonymousIdentity(canisterId, canisterDid);\n }\n\n return await this.session.walletConnector.createActor(\n canisterId,\n canisterDid,\n this.session.walletAuth.type\n );\n }\n\n /**\n * create an actor with an anonymous identity\n * @param canisterDid\n * @param canisterId\n * @returns\n */\n private createActorWithAnonymousIdentity(\n canisterId: string | Principal,\n canisterDid: IDL.InterfaceFactory\n ): ActorSubclass {\n if (!AuthBase.agent) {\n AuthBase.agent = new HttpAgent({ host: IC_HOST });\n // The root key only has to be fetched for local development environments\n if (isLocalEnv()) {\n AuthBase.agent.fetchRootKey().catch(e => {\n console.error(`fetchRootKey error: ${e}`);\n });\n }\n }\n const actor = Actor.createActor(canisterDid, {\n agent: AuthBase.agent,\n canisterId\n });\n\n return actor;\n }\n}\n"],"names":["$34ecc9d44f8f0f1d$export$717a648099a840eb","async","func","e","console","log","$34ecc9d44f8f0f1d$export$46e17b7fae449c9c","cacheKey","ttl","$1Yvdb","parcelRequire","$ee5f01517e9b447e$export$8fccf5abe309e8af","constructor","this","session","$fxvql","default","canisterId","canisterDid","anonymous","isConnected","$eLiKN","WalletConnectError","WalletConnectErrorCode","NotConnected","createActorWithAnonymousIdentity","walletConnector","createActor","walletAuth","type","agent","$8GYUw","HttpAgent","host","$iI5ED","IC_HOST","isLocalEnv","fetchRootKey","catch","error","Actor","$57kwV","observable","prototype"],"version":3,"file":"FaucetClaim.770a017e.js.map"}