{
  "version": 3,
  "sources": ["../src/radix/index.ts"],
  "sourcesContent": [
    "import { type AssetValue, Chain, filterSupportedChains, SKConfig, SwapKitError, WalletOption } from \"@swapkit/helpers\";\nimport { createWallet, getWalletSupportedChains } from \"@swapkit/wallet-core\";\n\nexport const radixWallet = createWallet({\n  connect: ({ addChain, supportedChains, walletType }) =>\n    async function connectRadixWallet(chains: Chain[]) {\n      const filteredChains = filterSupportedChains({ chains, supportedChains, walletType });\n      const radixConfig = SKConfig.get(\"integrations\").radix;\n\n      if (!radixConfig) {\n        throw new SwapKitError(\"wallet_radix_not_found\");\n      }\n\n      await Promise.all(\n        filteredChains.map(async (chain) => {\n          const walletMethods = await getWalletMethods();\n\n          addChain({ ...walletMethods, chain, walletType });\n        }),\n      );\n\n      return true;\n    },\n  // Radix is not in V3 swap chain list\n  directSigningSupport: {},\n  name: \"connectRadixWallet\",\n  supportedChains: [Chain.Radix],\n  walletType: WalletOption.RADIX_WALLET,\n});\n\nexport const RADIX_SUPPORTED_CHAINS = getWalletSupportedChains(radixWallet);\n\nasync function getWalletMethods() {\n  const { RadixDappToolkit } = await import(\"@radixdlt/radix-dapp-toolkit\");\n  const { getRadixToolbox } = await import(\"@swapkit/toolboxes/radix\");\n\n  const dappConfig = SKConfig.get(\"integrations\").radix;\n  const rdt = RadixDappToolkit({ ...dappConfig, networkId: dappConfig.network.networkId });\n  const toolbox = getRadixToolbox({ dappConfig });\n\n  function delay(ms: number) {\n    return new Promise((resolve) => setTimeout(resolve, ms));\n  }\n\n  // TODO: @Towan - Wat is dat?\n  await delay(400);\n\n  function getAddress() {\n    const existingWalletData = rdt.walletApi.getWalletData();\n    const account = existingWalletData?.accounts?.[0];\n\n    return account?.address;\n  }\n\n  async function getNewAddress() {\n    const { DataRequestBuilder } = await import(\"@radixdlt/radix-dapp-toolkit\");\n    rdt.walletApi.setRequestData(DataRequestBuilder.accounts().exactly(1));\n    const res = await rdt.walletApi.sendRequest();\n\n    if (!res) {\n      throw new SwapKitError(\"wallet_radix_no_account\");\n    }\n\n    const newAddress = res.unwrapOr(null)?.accounts[0]?.address;\n\n    if (!newAddress) {\n      throw new SwapKitError(\"wallet_radix_no_account\");\n    }\n\n    return newAddress;\n  }\n\n  const address = getAddress() || (await getNewAddress());\n\n  return {\n    address,\n    getAddress,\n    getBalance: () => toolbox.getBalance(address),\n    radixDappToolkit: rdt,\n    signAndBroadcast: async ({ manifest, message }: { manifest: string; message: string }) => {\n      const tx = await rdt.walletApi.sendTransaction({ message, transactionManifest: manifest });\n\n      const txResult = tx.unwrapOr(null)?.transactionIntentHash;\n\n      if (!txResult) {\n        throw new SwapKitError(\"wallet_radix_transaction_failed\");\n      }\n\n      return txResult;\n    },\n    transfer: (_params: { assetValue: AssetValue; recipient: string; from: string }) => {\n      throw new SwapKitError(\"wallet_radix_method_not_supported\", { method: \"transfer\" });\n    },\n  };\n}\n"
  ],
  "mappings": "mFAAoG,IAApG,8BACA,kCAEa,EAAc,eAAa,CACtC,QAAS,EAAG,WAAU,kBAAiB,gBACrC,cAAiC,CAAC,EAAiB,CACjD,IAAM,EAAiB,wBAAsB,CAAE,SAAQ,kBAAiB,YAAW,CAAC,EAGpF,GAAI,CAFgB,WAAS,IAAI,cAAc,EAAE,MAG/C,MAAM,IAAI,eAAa,wBAAwB,EAWjD,OARA,MAAM,QAAQ,IACZ,EAAe,IAAI,MAAO,IAAU,CAClC,IAAM,EAAgB,MAAM,EAAiB,EAE7C,EAAS,IAAK,EAAe,QAAO,YAAW,CAAC,EACjD,CACH,EAEO,IAGX,qBAAsB,CAAC,EACvB,KAAM,qBACN,gBAAiB,CAAC,QAAM,KAAK,EAC7B,WAAY,eAAa,YAC3B,CAAC,EAEY,EAAyB,2BAAyB,CAAW,EAE1E,eAAe,CAAgB,EAAG,CAChC,IAAQ,oBAAqB,KAAa,yCAClC,mBAAoB,KAAa,oCAEnC,EAAa,WAAS,IAAI,cAAc,EAAE,MAC1C,EAAM,EAAiB,IAAK,EAAY,UAAW,EAAW,QAAQ,SAAU,CAAC,EACjF,EAAU,EAAgB,CAAE,YAAW,CAAC,EAE9C,SAAS,CAAK,CAAC,EAAY,CACzB,OAAO,IAAI,QAAQ,CAAC,IAAY,WAAW,EAAS,CAAE,CAAC,EAIzD,MAAM,EAAM,GAAG,EAEf,SAAS,CAAU,EAAG,CAIpB,OAH2B,EAAI,UAAU,cAAc,GACnB,WAAW,IAE/B,QAGlB,eAAe,CAAa,EAAG,CAC7B,IAAQ,sBAAuB,KAAa,wCAC5C,EAAI,UAAU,eAAe,EAAmB,SAAS,EAAE,QAAQ,CAAC,CAAC,EACrE,IAAM,EAAM,MAAM,EAAI,UAAU,YAAY,EAE5C,GAAI,CAAC,EACH,MAAM,IAAI,eAAa,yBAAyB,EAGlD,IAAM,EAAa,EAAI,SAAS,IAAI,GAAG,SAAS,IAAI,QAEpD,GAAI,CAAC,EACH,MAAM,IAAI,eAAa,yBAAyB,EAGlD,OAAO,EAGT,IAAM,EAAU,EAAW,GAAM,MAAM,EAAc,EAErD,MAAO,CACL,UACA,aACA,WAAY,IAAM,EAAQ,WAAW,CAAO,EAC5C,iBAAkB,EAClB,iBAAkB,OAAS,WAAU,aAAqD,CAGxF,IAAM,GAFK,MAAM,EAAI,UAAU,gBAAgB,CAAE,UAAS,oBAAqB,CAAS,CAAC,GAErE,SAAS,IAAI,GAAG,sBAEpC,GAAI,CAAC,EACH,MAAM,IAAI,eAAa,iCAAiC,EAG1D,OAAO,GAET,SAAU,CAAC,IAAyE,CAClF,MAAM,IAAI,eAAa,oCAAqC,CAAE,OAAQ,UAAW,CAAC,EAEtF",
  "debugId": "41EC1C5F66D1BB9F64756E2164756E21",
  "names": []
}