{"version":3,"sources":["jsdelivr-header.js","/npm/can-pass-js@1.1.5/src/index.ts"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,uxBCNA,IAAA,UAAA,aAAA,QAAA,cACA,IAAA,aAAA,QAAA,UACA,KAAA,QAAA,QAkIS,OAAA,eAAA,QAAA,aAAA,YAAA,EAAA,IAAA,kBAlIA,KAAA,SAAS,IAClB,IAAA,eAAA,gBAAA,QAAA,mBACA,QAAA,QAAA,WACA,SAAA,gBAAA,QAAA,aAmBM,QAAU,CACd,KAAA,SAAK,GAUH,OATI,EAAO,OAAO,UAAA,WAAkB,EAAO,OACvC,EAAO,OAAO,QAAA,IAAS,EAAO,OAElC,UAAA,QAAQ,MAAM,WAAY,EAAO,UACjC,UAAA,QAAQ,MAAM,UAAW,EAAO,SAChC,UAAA,QAAQ,MAAM,WAAY,EAAO,UACjC,UAAA,QAAQ,MAAM,YAAa,EAAO,WAElC,SAAA,QAAO,UAAU,EAAO,QACjB,CACT,EAEA,eAAA,SAAe,GAGb,OAFA,UAAA,QAAQ,MAAM,cAAe,EAAY,aACzC,UAAA,QAAQ,MAAM,UAAW,EAAY,SAC9B,CACT,EAGA,OAAA,SACE,EACA,EACA,GAEA,QAAiB,IAAb,EAAwB,CAC1B,IAAM,EAAK,KAAK,OAChB,OAAO,IAAI,SAAQ,SAAC,EAAS,GAC3B,EAAG,EAAI,GAAc,SAAC,EAAK,GACrB,EACF,EAAO,GAEP,EAAQ,EAEZ,GACF,G,CAGF,OAAO,IACJ,UAAU,EAAI,GACd,MAAK,SAAA,GACI,IAAA,EAAc,EAAW,UACjC,OAAO,KAAA,OAAO,EAChB,IACC,MAAK,SAAA,GAAQ,OAAA,EAAS,KAAM,EAAf,IACb,OAAM,SAAA,GAAO,OAAA,EAAS,EAAT,GAClB,EAEA,YAAW,WACT,IAAM,EAAW,UAAA,QAAQ,KAAK,YAC9B,eAAA,QAAY,EACd,EAEA,IAAG,WAED,OADA,SAAA,QAAO,MAAM,sBACN,CACT,GA8BI,QAAW,WACf,IAAI,EAMJ,MAAO,CACL,YAAW,WAIT,OAHK,IACH,EANG,SAQE,CACT,EAEJ,CAfgB,GAiBM,oBAAX,SACT,OAAO,QAAU,SAInB,QAAA,QAAe","file":"/npm/can-pass-js@1.1.5/dist/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/can-pass-js@1.1.5/dist/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","import storage, { initialize as initializeStorage } from './storage';\nimport * as api from './api';\nimport { openPopup, signTx } from './ui';\nimport loginButton from './login-button';\nimport { set as setFetch } from './fetch';\nimport logger, { Logger } from './logger';\nimport { RequestSignTxOptions } from './types';\n\ndeclare global {\n  interface Window {\n    CanPass: any;\n  }\n}\n\nexport interface CanPassApiConfig {\n  clientId: string;\n  version: string;\n  endPoint?: string; // can-keys\n  signTxURL?: string;\n  store?: string;\n  fetch?: () => Promise<any>;\n  logger?: Logger;\n}\n\nconst canPass = {\n  init(config: CanPassApiConfig) {\n    if (config.store) initializeStorage(config.store);\n    if (config.fetch) setFetch(config.fetch);\n\n    storage.write('clientId', config.clientId);\n    storage.write('version', config.version);\n    storage.write('endPoint', config.endPoint);\n    storage.write('signTxURL', config.signTxURL);\n\n    logger.setLogger(config.logger);\n    return config;\n  },\n\n  setCredentials(credentials: { idToken: string; accessToken: string }) {\n    storage.write('accessToken', credentials.accessToken);\n    storage.write('idToken', credentials.idToken);\n    return credentials;\n  },\n\n  // eslint-disable-next-line\n  signTx(\n    tx: { actions: Array<any> },\n    signTxOption?: RequestSignTxOptions,\n    callback?: (error: any, data?: any) => any,\n  ): Promise<any> {\n    if (callback === undefined) {\n      const fn = this.signTx;\n      return new Promise((resolve, reject) => {\n        fn(tx, signTxOption, (err, result) => {\n          if (err) {\n            reject(err);\n          } else {\n            resolve(result);\n          }\n        });\n      });\n    }\n\n    return api\n      .requestTx(tx, signTxOption)\n      .then(requestedTx => {\n        const { requestId } = requestedTx;\n        return signTx(requestId);\n      })\n      .then(data => callback(null, data))\n      .catch(err => callback(err));\n  },\n\n  loginButton() {\n    const clientId = storage.read('clientId');\n    loginButton(clientId);\n  },\n\n  api() {\n    logger.debug('calling api method');\n    return 0;\n  },\n};\n\n// const CanPass = (function factory() {\n//   let initialized = false;\n//\n//   const handler = {\n//     // Force to init the SDK before using any methods\n//     get(target, prop) {\n//       if (prop === 'init') {\n//         initialized = true;\n//       }\n//       if (prop !== 'init' && !initialized) {\n//         throw new Error('You need to init the SDK first.');\n//       }\n//       return target[prop];\n//     },\n//   };\n//\n//   return new Proxy(canPass, handler);\n// }());\n\n// if (typeof window !== 'undefined') {\n//   window.CanPass = CanPass;\n//\n//   const canPassAsyncInit = window.canPassAsyncInit || function init() {};\n//   canPassAsyncInit();\n// }\n\n/* eslint-disable func-names */\nconst CanPass = (function () {\n  let instance;\n\n  function createInstance() {\n    return canPass;\n  }\n\n  return {\n    getInstance() {\n      if (!instance) {\n        instance = createInstance();\n      }\n      return instance;\n    },\n  };\n}());\n\nif (typeof window !== 'undefined') {\n  window.CanPass = CanPass;\n}\n\nexport { openPopup };\nexport default canPass;\n"]}