@dappworks/kit 0.5.41 → 0.5.43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/dist/{PromiseState-e64b3707.d.ts → PromiseState-8EAu4Zv4.d.mts} +1 -1
  2. package/dist/{StorageState-cfd942cb.d.ts → StorageState-qapaHguM.d.mts} +1 -1
  3. package/dist/aiem.d.mts +14 -15
  4. package/dist/aiem.mjs +5 -5
  5. package/dist/aiem.mjs.map +1 -1
  6. package/dist/{chunk-ISV4OEKJ.mjs → chunk-2B3FO5P6.mjs} +5 -5
  7. package/dist/chunk-2B3FO5P6.mjs.map +1 -0
  8. package/dist/{chunk-M5Y3VYMJ.mjs → chunk-6HA5WR5H.mjs} +9 -15
  9. package/dist/chunk-6HA5WR5H.mjs.map +1 -0
  10. package/dist/{chunk-FJHGIW3I.mjs → chunk-AFXQRBS6.mjs} +3 -3
  11. package/dist/chunk-AFXQRBS6.mjs.map +1 -0
  12. package/dist/chunk-GKAU4P5I.mjs +1 -1
  13. package/dist/chunk-GKAU4P5I.mjs.map +1 -1
  14. package/dist/{chunk-SL5OV6OR.mjs → chunk-GPPSD2BO.mjs} +5 -7
  15. package/dist/chunk-GPPSD2BO.mjs.map +1 -0
  16. package/dist/chunk-IMOLRP7I.mjs +1 -1
  17. package/dist/chunk-IMOLRP7I.mjs.map +1 -1
  18. package/dist/chunk-K7LFG5BA.mjs +2 -2
  19. package/dist/chunk-K7LFG5BA.mjs.map +1 -1
  20. package/dist/{chunk-3XIPR2M3.mjs → chunk-L5VZQRXB.mjs} +7 -8
  21. package/dist/chunk-L5VZQRXB.mjs.map +1 -0
  22. package/dist/{chunk-2N4HH4ZF.mjs → chunk-NCGC2KDE.mjs} +4 -6
  23. package/dist/chunk-NCGC2KDE.mjs.map +1 -0
  24. package/dist/chunk-ONVPCAMQ.mjs +1 -1
  25. package/dist/chunk-ONVPCAMQ.mjs.map +1 -1
  26. package/dist/{chunk-C5BPNLKH.mjs → chunk-TEVYTENF.mjs} +4 -4
  27. package/dist/chunk-TEVYTENF.mjs.map +1 -0
  28. package/dist/{chunk-4F33QAJ4.mjs → chunk-WNK4WSTE.mjs} +31 -56
  29. package/dist/chunk-WNK4WSTE.mjs.map +1 -0
  30. package/dist/{chunk-IDKGZ5T4.mjs → chunk-XSGTWROT.mjs} +8 -8
  31. package/dist/chunk-XSGTWROT.mjs.map +1 -0
  32. package/dist/{chunk-R4N52NI2.mjs → chunk-YBLCIJW4.mjs} +37 -31
  33. package/dist/chunk-YBLCIJW4.mjs.map +1 -0
  34. package/dist/{chunk-6F7H4PAA.mjs → chunk-YOSPWY5K.mjs} +2 -2
  35. package/dist/chunk-YOSPWY5K.mjs.map +1 -0
  36. package/dist/dev.d.mts +1 -1
  37. package/dist/dev.mjs +6 -8
  38. package/dist/dev.mjs.map +1 -1
  39. package/dist/experimental.d.mts +4 -4
  40. package/dist/experimental.mjs +7 -9
  41. package/dist/experimental.mjs.map +1 -1
  42. package/dist/form.d.mts +6 -6
  43. package/dist/form.mjs +16 -20
  44. package/dist/form.mjs.map +1 -1
  45. package/dist/{index-38be834f.d.ts → index-CUKoRIdy.d.mts} +1 -1
  46. package/dist/index.d.mts +5 -5
  47. package/dist/index.mjs +9 -9
  48. package/dist/index.mjs.map +1 -1
  49. package/dist/inspector.d.mts +1 -1
  50. package/dist/inspector.mjs +3 -4
  51. package/dist/inspector.mjs.map +1 -1
  52. package/dist/jsoncomponent.d.mts +5 -5
  53. package/dist/jsoncomponent.mjs +2 -2
  54. package/dist/jsoncomponent.mjs.map +1 -1
  55. package/dist/jsontable.d.mts +2 -2
  56. package/dist/jsontable.mjs +5 -5
  57. package/dist/jsontable.mjs.map +1 -1
  58. package/dist/metrics.d.mts +1 -1
  59. package/dist/metrics.mjs +6 -6
  60. package/dist/metrics.mjs.map +1 -1
  61. package/dist/plugins.d.mts +7 -7
  62. package/dist/plugins.mjs +6 -6
  63. package/dist/plugins.mjs.map +1 -1
  64. package/dist/{root-218afa4f.d.ts → root-BPMUmS6H.d.mts} +1 -1
  65. package/dist/ui.mjs +5 -6
  66. package/dist/ui.mjs.map +1 -1
  67. package/dist/utils.d.mts +105 -22
  68. package/dist/utils.mjs +4 -4
  69. package/dist/utils.mjs.map +1 -1
  70. package/dist/wallet.d.mts +6 -4
  71. package/dist/wallet.mjs +59 -17
  72. package/dist/wallet.mjs.map +1 -1
  73. package/package.json +4 -3
  74. package/dist/chunk-2N4HH4ZF.mjs.map +0 -1
  75. package/dist/chunk-3XIPR2M3.mjs.map +0 -1
  76. package/dist/chunk-4F33QAJ4.mjs.map +0 -1
  77. package/dist/chunk-6F7H4PAA.mjs.map +0 -1
  78. package/dist/chunk-C5BPNLKH.mjs.map +0 -1
  79. package/dist/chunk-FJHGIW3I.mjs.map +0 -1
  80. package/dist/chunk-IDKGZ5T4.mjs.map +0 -1
  81. package/dist/chunk-ISV4OEKJ.mjs.map +0 -1
  82. package/dist/chunk-M5Y3VYMJ.mjs.map +0 -1
  83. package/dist/chunk-R4N52NI2.mjs.map +0 -1
  84. package/dist/chunk-SL5OV6OR.mjs.map +0 -1
  85. /package/dist/{PaginationState-c19e621a.d.ts → PaginationState-Bmrrw0ky.d.mts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../store/standard/PromiseHook.ts","../store/standard/BigNumberState.ts","../store/standard/BigNumberInputState.ts","../store/standard/StorageState.ts","../store/standard/StorageListState.ts","../store/standard/ObjectPool.ts","../module/Wallet/walletConfigStore.ts","../module/Wallet/walletPluginStore.tsx","../module/Wallet/SuccessTxDialog/index.tsx","../module/Wallet/ledger.tsx","../module/Wallet/index.tsx","../module/AutoMain/index.tsx","../module/AppProvider.tsx"],"names":["BigNumber","makeAutoObservable","React","Icon","_a","error","observer","useEffect","promise","rootStore"],"mappings":"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","file":"chunk-WNK4WSTE.mjs","sourcesContent":["import { observable } from \"mobx\";\n\nexport class KV {\n //@ts-ignore\n static datas = observable();\n}\n\nexport abstract class ContractBase {\n // chainId?: number;\n // address?: string;\n}\n\nexport type ContractClass<T extends ContractBase> = new (args: Partial<T>) => T;\n\nexport type PromiseHookData<T, U> = { value: Awaited<U>; get: T; call: T; func: T; loading: boolean; errorRetry: number };\n\nexport class PromiseHook {\n static entities = observable([]);\n static Get<T extends ContractBase>(\n cls: ContractClass<T>,\n ): (args: { args: Partial<T>; id?: string; select?: { [key in keyof Partial<T>]: boolean }; unselect?: { [key in keyof Partial<T>]: boolean } }) => Promise<T & { refresh: () => Promise<void> }> {\n try {\n return async ({ args, select, id, unselect }) => {\n let instance: any;\n //@ts-ignore\n if (!id || !this.entities[id]) {\n instance = new cls(args);\n\n instance.refresh = async () => {\n const hooks = Object.entries(instance)\n .filter((i) => {\n if (!this.isPromiseHook(instance[i[0]])) return false;\n //@ts-ignore\n if (i[1].lazy) return false;\n if (select && !select[i[0]]) return false;\n if (unselect && unselect[i[0]]) return false;\n return true;\n })\n .map((i) => {\n const hook = instance[i[0]];\n return hook;\n });\n\n await Promise.all(hooks.map((i) => i.call()));\n };\n if (id) {\n //@ts-ignore\n this.entities[id] = instance;\n }\n } else {\n instance = this.entities[id!];\n }\n\n await instance.refresh();\n return instance;\n };\n } catch (e) {\n throw e;\n }\n }\n\n static isPromiseHook(target) {\n return target?._type == \"promiseHook\";\n }\n\n //ttl : ms\n static wrap<T extends (...args: any[]) => Promise<any>, U = ReturnType<T>>({ func, defaultValue, lazy }: { func: T; defaultValue?: Awaited<U>; lazy?: boolean }): PromiseHookData<T, U> {\n let context;\n const call = (args) => {\n context.loading = true;\n if (!context._call) {\n context._call = func(args)\n .then((i) => {\n context.value = i;\n context.loading = false;\n context._call = null;\n return i;\n })\n .catch((i) => {\n console.error(i, func);\n context.value = defaultValue;\n context._call = null;\n context.loading = false;\n throw i;\n });\n }\n\n return context._call;\n };\n const get = async (args: any) => {\n if (!context.value) {\n return call(args);\n }\n return context.value;\n };\n\n if (!context) {\n context = observable({\n _type: \"promiseHook\",\n _value: defaultValue,\n get value() {\n return context[\"_value\"];\n },\n set value(val) {\n context[\"_value\"] = val;\n },\n get,\n lazy,\n\n loading: false,\n call,\n defaultValue,\n toJSON() {\n return context.value;\n },\n toString() {\n return context.value;\n },\n });\n }\n\n return context;\n }\n}\n","import BigNumber from \"bignumber.js\";\nimport { makeAutoObservable } from \"mobx\";\nimport { helper } from \"../../lib/helper\";\n\nexport class BigNumberState {\n value = new BigNumber(0);\n loading = false;\n decimals = 18;\n fixed = 6;\n formatter?: Function;\n constructor(args: Partial<BigNumberState>) {\n Object.assign(this, args);\n makeAutoObservable(this, {\n getFormat: false,\n });\n }\n get format() {\n if (this.loading) return \"...\";\n return this.getFormat();\n }\n\n getFormat({ decimals = this.decimals, fixed = this.fixed }: { decimals?: number; fixed?: number } = {}) {\n if (this.loading) return \"...\";\n if (this.formatter) return this.formatter(this);\n return helper.number.toPrecisionFloor(new BigNumber(this.value).dividedBy(10 ** decimals).toFixed(), {\n decimals: fixed,\n });\n }\n\n setDecimals(decimals: number) {\n this.decimals = decimals;\n }\n\n setValue(value: BigNumber) {\n this.value = value;\n this.setLoading(false);\n }\n\n setLoading(val) {\n this.loading = val;\n }\n}\n","import BigNumber from 'bignumber.js';\nimport { makeAutoObservable } from 'mobx';\nimport { helper } from '../../lib/helper';\nexport class BigNumberInputState {\n value = new BigNumber(0);\n format = '';\n loading = false;\n decimals = 18;\n formatter?: Function;\n constructor(args: Partial<BigNumberInputState>) {\n Object.assign(this, args);\n makeAutoObservable(this);\n }\n get noDecimasValue(): BigNumber {\n return new BigNumber(this.value).dividedBy(10 ** this.decimals);\n }\n setValue(value: any) {\n this.value = new BigNumber(value);\n // this.format = helper.number.toPrecisionFloor(new BigNumber(this.value).dividedBy(10 ** this.decimals).toFixed());\n this.format = helper.number.warpBigNumber(this.value.toFixed(), this.decimals, { format: '0.000', fallback: '' }).format;\n this.setLoading(false);\n }\n setFormat(val: any) {\n this.format = val;\n // this.format = helper.number.toPrecisionFloor(this.format);\n // this.format = helper.number.warpBigNumber(this.value.toFixed(), this.decimals, { format: '0.000', fallback: '' }).format;\n this.value = new BigNumber(val).multipliedBy(10 ** this.decimals);\n }\n setLoading(val: boolean) {\n this.loading = val;\n }\n setDecimals(val: number) {\n this.decimals = val;\n }\n get isZero(): boolean {\n return this.value.isZero() && this.format == '';\n }\n}\n","import { makeAutoObservable } from \"mobx\";\n\nexport class StorageState<T> {\n key: string;\n value: T | any = null;\n default: T | any = null;\n constructor(args: Partial<StorageState<T>>) {\n Object.assign(this, args);\n makeAutoObservable(this);\n this.load();\n }\n\n static safeParse(val: any) {\n try {\n return JSON.parse(val);\n } catch (error) {\n return val;\n }\n }\n\n load() {\n try {\n if (typeof window == 'undefined') return\n const value = window?.localStorage?.getItem(this.key);\n this.value = StorageState.safeParse(value);\n if (this.value == null) {\n this.value = this.default;\n }\n return this.value;\n } catch (error) {\n console.error(error);\n return null;\n }\n }\n\n save(value?: T) {\n try {\n if (typeof window == 'undefined') return\n if (value !== null || value !== undefined) {\n this.value = value;\n }\n window?.localStorage.setItem(this.key, JSON.stringify(value));\n } catch (error) {\n console.error(error);\n return null;\n }\n }\n\n setValue(value?: T) {\n this.save(value);\n }\n\n clear() {\n try {\n if (typeof window == 'undefined') return\n window?.localStorage.removeItem(this.key);\n } catch (error) {\n return null;\n }\n }\n}\n","import { makeAutoObservable } from \"mobx\";\n\nimport { helper } from \"../../lib/helper\";\nimport { _ } from \"../../lib/lodash\";\n\nexport class StorageListState<T = any> {\n key: string;\n list: T[] = [];\n\n static safeParse(val: any) {\n try {\n return JSON.parse(val);\n } catch (error) {\n return val;\n }\n }\n\n constructor(args: { key: string; }) {\n Object.assign(this, args);\n makeAutoObservable(this);\n this.load();\n }\n\n\n load() {\n try {\n const value = localStorage.getItem(this.key);\n if (value) {\n this.list = StorageListState.safeParse(value);\n }\n return StorageListState.safeParse(value)\n } catch (error) {\n console.error(error);\n return null;\n }\n }\n\n\n push(value: T) {\n this.list.push(value);\n this.save();\n }\n\n remove(index: number) {\n this.list.splice(index, 1);\n this.save();\n }\n\n private save() {\n try {\n localStorage.setItem(this.key, JSON.stringify(this.list));\n } catch (error) {\n }\n }\n\n clear() {\n try {\n localStorage.removeItem(this.key);\n this.list = [];\n } catch (error) {\n }\n }\n}\n","\n\nexport class ObjectPool {\n static pool: { [key: string]: any } = {};\n\n static get<T extends (...args: any[]) => any, U = ReturnType<T>>(key: string, func: T): U {\n if (!ObjectPool.pool[key]) {\n ObjectPool.pool[key] = func();\n }\n return ObjectPool.pool[key];\n }\n}","import { Chain, getDefaultConfig } from \"@rainbow-me/rainbowkit\";\nimport { walletConnectWallet, metaMaskWallet, iopayWallet, okxWallet, binanceWallet, safeWallet, gateWallet } from \"@rainbow-me/rainbowkit/wallets\";\nimport { ObjectPool, Store } from \"../..\";\n\nexport class WalletConfigStore implements Store {\n sid = \"WalletConfigStore\";\n autoObservable = true;\n\n appName = \"Dappkit\";\n projectId = \"b69e844f38265667350efd78e3e1a5fb\";\n // @ts-ignore\n supportedChains: Chain[];\n defaultChainId = 4689;\n updateTicker = 1;\n walletUpdateTick = 0;\n isConnect = false;\n isInSafeApp = false;\n // This mode to resolve and walletClient and nextui in some extreme cases cause page infinite redraw bugs\n compatibleMode = true;\n\n constructor(args: Partial<WalletConfigStore>) {\n Object.assign(this, args);\n }\n\n set(params: Partial<WalletConfigStore>) {\n Object.assign(this, params);\n this.updateTicker += 1;\n }\n\n get reconnectOnMount() {\n if (!this.compatibleMode) return true;\n\n if (!this.isConnect && this.walletUpdateTick == 0) {\n return true;\n }\n if (!this.isConnect && this.walletUpdateTick != 0) {\n return false;\n }\n if (this.isConnect) {\n return true;\n }\n }\n\n get rainbowKitConfig() {\n return ObjectPool.get(`rainbowKitConfig-${this.supportedChains?.map((i) => i.id).join(\"-\")}`, () => {\n return getDefaultConfig({\n pollingInterval: 2500,\n appName: this.appName,\n projectId: this.projectId,\n //@ts-ignore\n chains: this.supportedChains,\n wallets: [\n {\n groupName: \"Recommended\",\n wallets: [iopayWallet, metaMaskWallet],\n },\n {\n groupName: \"Others\",\n wallets: [metaMaskWallet, walletConnectWallet, iopayWallet, okxWallet, binanceWallet, safeWallet, gateWallet],\n },\n ],\n });\n });\n }\n}\n","import React from 'react';\nimport { Icon } from \"@iconify/react\";\nimport { RootStore } from \"../../store\";\nimport { Store } from \"../../store/standard/base\";\nimport { StorageState } from '../../store/standard/StorageState';\nimport { ToastPlugin } from \"../Toast/Toast\";\nimport { WalletTransactionHistoryType } from \"./type\";\nimport { WalletStore } from \".\";\nimport { helper } from \"../../lib/helper\";\nimport { WalletConfigStore } from './walletConfigStore';\nimport { toHex } from 'viem';\n\nconst defaultRPCList = [\n { name: 'https://babel-api.fastblocks.io', latency: 0, height: 0, custom: false },\n { name: 'https://babel-api.mainnet.iotex.one', latency: 0, height: 0, },\n { name: 'https://babel-api.mainnet.iotex.io', latency: 0, height: 0, },\n { name: 'https://iotex-network.rpc.thirdweb.com', latency: 0, height: 0, },\n // { name: 'https://iotexrpc.com', latency: 0, height: 0, },\n { name: 'https://iotex.api.onfinality.io/public', latency: 0, height: 0, },\n // { name: 'https://rpc.ankr.com/iotex', latency: 0, height: 0, },\n]\n\nexport class WalletRpcStore implements Store {\n sid = 'WalletPluginStore';\n autoObservable = true\n curRpc = new StorageState({ default: 'https://babel-api.mainnet.iotex.one', key: 'curRPC-v2', value: 'https://babel-api.mainnet.iotex.one' });\n isAutoSelectRpc = new StorageState({ key: 'isAutoSelectRpc', default: true });\n customRpc = '';\n rpcList = new StorageState({ key: 'customRpcList-v2', default: defaultRPCList, value: [] })\n showCustomRpc = false;\n get currentRpc() {\n console.log(this.rpcList.value?.find(i => i.name == this.curRpc))\n return this.rpcList.value?.find(i => i.name == this.curRpc.value) || null\n }\n addCustomRpc() {\n const item = { name: this.customRpc, latency: 0, height: 0, custom: true }\n if (defaultRPCList.find(i => i.name === item.name)) {\n return RootStore.Get(ToastPlugin).error('Rpc already exists')\n }\n if (this.rpcList.value) {\n this.rpcList.save([...this.rpcList.value, item])\n this.refresh()\n return\n }\n this.rpcList.save([...defaultRPCList, item])\n this.refresh()\n }\n async addToMetamask(url) {\n try {\n if (typeof window == 'undefined') return;\n await window?.ethereum?.request({\n method: 'wallet_addEthereumChain',\n params: [{\n chainId: `0x${(4689).toString(16)}`,\n chainName: 'IoTeX Mainnet',\n nativeCurrency: {\n name: 'IoTeX',\n symbol: 'IOTX',\n decimals: 18,\n },\n rpcUrls: [url],\n blockExplorerUrls: ['https://iotexscan.io'],\n }]\n });\n RootStore.Get(ToastPlugin).success('Network added');\n console.log('Network added');\n } catch (error) {\n console.error('Failed to add network', error);\n }\n }\n async switchOrAddChain(chainId: number) {\n return new Promise(async (resolve, reject) => {\n try {\n await window.ethereum.request({\n method: 'wallet_switchEthereumChain',\n params: [{ chainId: toHex(chainId) }],\n });\n resolve(true)\n } catch (switchError) {\n if (switchError.code === 4902) {\n try {\n await this.addToMetamaskById(chainId)\n } catch (addError) {\n reject(addError)\n }\n } else {\n reject(switchError)\n }\n }\n })\n }\n async addToMetamaskById(id: number) {\n return new Promise(async (resolve, reject) => {\n try {\n if (typeof window == 'undefined') return;\n const chain = RootStore.Get(WalletConfigStore).supportedChains.find(i => i.id == id)\n const res = await window.ethereum.request({\n method: 'wallet_addEthereumChain',\n params: [{\n \"chainId\": toHex(chain.id),\n \"chainName\": chain.name,\n \"nativeCurrency\": {\n \"name\": chain.nativeCurrency.name,\n \"symbol\": chain.nativeCurrency.symbol,\n \"decimals\": chain.nativeCurrency.decimals,\n },\n \"rpcUrls\": JSON.parse(JSON.stringify(chain.rpcUrls.default.http)),\n \"blockExplorerUrls\": [chain.blockExplorers.default.url],\n }]\n });\n console.log(res)\n resolve(res)\n } catch (switchError) {\n reject(false)\n }\n })\n }\n refresh() {\n this.showCustomRpc = false\n this.customRpc = ''\n setTimeout(() => {\n this.testRpc()\n }, 500)\n }\n latencyColor(latency: number) {\n if (latency < 0) {\n return 'text-red-500'\n }\n if (latency < 1) {\n return 'text-green-500'\n }\n if (latency < 2) {\n return 'text-yellow-500'\n }\n return 'text-red-500'\n }\n async testRpcFunction(url: string): Promise<{ url: string, lentency: number, height: number }> {\n const start = performance.now();\n try {\n const response = await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n jsonrpc: '2.0',\n method: 'eth_getBlockByNumber',\n params: [\"latest\", false],\n id: 1,\n }),\n });\n\n if (!response.ok) {\n throw new Error(`Error from server: ${response.status}`);\n }\n const res = await response.json();\n console.log(res)\n const end = performance.now();\n return { url, lentency: Number(helper.number.numberFormat(((end - start) / 1000), '0.000', { fallback: '-1' })), height: parseInt(res.result.number, 16) };\n } catch (error) {\n console.error('RPC Latency Test Failed:', error);\n return { url, lentency: -1, height: -1 };\n }\n }\n testRpc() {\n this.rpcList?.value.forEach(i => {\n this.testRpcFunction(i.name).then(res => {\n i.latency = res.lentency\n i.height = res.height\n })\n })\n this.rpcList.save(this.rpcList.value)\n }\n removeRpc(name: string) {\n this.rpcList.save(this.rpcList.value.filter(i => i.name !== name))\n }\n scoreIcon(score: number) {\n if (score < 0) {\n return <Icon icon=\"codicon:error\" width=\"18\" height=\"18\" style={{ color: \"#FF0000\" }} />\n }\n if (score < 1) {\n return <Icon icon=\"icon-park-solid:check-one\" width=\"18\" height=\"18\" style={{ color: \"#289726\" }} />\n }\n if (score < 2) {\n return <Icon icon=\"bxs:error\" width=\"18\" height=\"18\" style={{ color: \"#FFA500\" }} />\n }\n return <Icon icon=\"codicon:error\" width=\"18\" height=\"18\" style={{ color: \"#FF0000\" }} />\n }\n get wallet() {\n return RootStore.Get(WalletStore)\n }\n // debounceAutoSelectRpc = pDebounce(this.autoSelectRpc, 3000)\n async autoSelectRpc() {\n console.log('autoSelectRpc')\n for (let i = 0; i < this.rpcList.value.length; i++) {\n const item = this.rpcList.value[i]\n const res = await this.testRpcFunction(item.name)\n if (res.lentency != -1 || res.height > 0) {\n this.curRpc.save(item.name)\n break;\n }\n }\n }\n}\n\nexport class WalletHistoryStore implements Store {\n sid = 'WalletHistoryStore';\n isRender = false\n autoObservable = true\n set(params: Partial<WalletHistoryStore>) {\n Object.assign(this, params);\n }\n private history = new StorageState<WalletTransactionHistoryType[] | null>({ value: [], key: 'history' });\n get historyList(): WalletTransactionHistoryType[] {\n if (this.isRender) {\n return this.history.value\n }\n return []\n }\n recordHistory(item: WalletTransactionHistoryType) {\n let value: WalletTransactionHistoryType[] | null = this.history.load();\n if (!value) {\n value = [item];\n } else {\n value = [...value, item];\n }\n this.history.setValue(value);\n }\n updateHistoryStatusByTx(tx: string | null, status: 'loading' | 'success' | 'fail') {\n let value: WalletTransactionHistoryType[] | null = this.history.load();\n if (!value) {\n return;\n }\n value = value.map((i) => {\n if (i.tx == tx) {\n i.status = status;\n return i;\n }\n if (!tx) {\n i.status = status;\n }\n return i;\n });\n this.history.setValue(value);\n }\n clearHistory() {\n this.history.setValue(null);\n }\n}\n","import { Icon } from \"@iconify/react\";\nimport { observer } from \"mobx-react-lite\";\nimport React from \"react\";\nimport { RootStore } from \"../../../store\";\nimport { DialogStore } from \"../../../module/Dialog\";\n\ninterface IProps {\n msg: string,\n hash: string,\n}\n\nconst SuccessTxDialog = observer((props: IProps) => {\n return <div className='flex-col gap-4 py-10'>\n <div className='w-full flex items-center justify-center'>\n <Icon icon=\"icon-park-solid:check-one\" width=\"48\" height=\"48\" className='text-green-500' /></div>\n <div className='text-2xl font-[900] text-center mt-4'>{props.msg}</div>\n <div className='flex items-center justify-center text-green-500 text-sm mt-6 gap-2 cursor-pointer hover:text-green-600 transition'\n onClick={e => window.open(`https://iotexscan.io/tx/${props.hash}`, '_blank')}>View on IoTeXScan <Icon icon=\"material-symbols:chip-extraction-rounded\" width=\"18\" height=\"18\" /></div>\n </div>\n})\nexport const ShowSuccessTxDialog = ({ msg, hash }) => {\n RootStore.Get(DialogStore).setData({\n title: '',\n content: <SuccessTxDialog msg={msg} hash={hash} />,\n isOpen: true,\n })\n}","import Transport from \"@ledgerhq/hw-transport\";\nimport TransportWebUSB from \"@ledgerhq/hw-transport-webusb\";\nimport Eth from \"@ledgerhq/hw-app-eth\";\nimport { ethers } from \"ethers\";\nimport { ObjectPool } from \"../../store/standard/ObjectPool\";\nimport { RootStore } from \"../../store\";\nimport { WalletStore } from \".\";\nimport { ToastPlugin } from \"../Toast/Toast\";\n\nlet _transport: Transport | null = null;\nlet _signer: LedgerSigner | null = null;\n\nexport async function createTransport(): Promise<Transport> {\n if (_transport) {\n return _transport;\n }\n try {\n const res = await TransportWebUSB.create();\n console.log('createTransport res', res);\n _transport = res;\n return res;\n } catch (error) {\n console.error('Error creating transport', error);\n throw error;\n }\n}\n\nexport async function getAddress(transport: Transport, path: string): Promise<string> {\n const eth = new Eth(transport);\n const address = await eth.getAddress(path);\n return address.address;\n}\n\nexport function waiter(duration: number): Promise<void> {\n return new Promise((resolve) => {\n setTimeout(resolve, duration);\n });\n}\n\nexport const GlobalLedgerProvider = ObjectPool.get('provider', async () => {\n return new ethers.providers.JsonRpcProvider(\"https://babel-api.mainnet.iotex.io\");\n});\n\nexport const GlobalLedgerSigner = async () => {\n try {\n if (_signer) {\n return _signer;\n }\n const transport = await createTransport();\n _signer = new LedgerSigner(transport, await GlobalLedgerProvider, \"44'/304'/0'/0/0\");\n return _signer;\n } catch (error) {\n console.error('Error creating ledger signer', error);\n RootStore.Get(ToastPlugin).error(error.message ?? 'Failed to connect to Ledger');\n RootStore.Get(WalletStore).isLedger = false;\n return null;\n }\n}\n\nexport const ConnectLedger = async () => {\n RootStore.Get(WalletStore).isLedger = true;\n console.log('ConnectLedger');\n const signer = await GlobalLedgerSigner();\n console.log('signer', signer);\n const interval = setInterval(async () => {\n try {\n const address = await signer?.getAddress()\n if (address) {\n RootStore.Get(WalletStore).set({\n account: address as `0x${string}`,\n isConnect: true,\n });\n // const transport = await createTransport();\n // RootStore.Get(WalletStore).walletClient = createWalletClient({\n // account: address as `0x${string}`,\n // chain: iotex,\n // //@ts-ignore\n // transport: (transport)\n // }).extend(publicActions)\n clearInterval(interval);\n return signer;\n }\n } catch (error) {\n console.error('Error getting address', error);\n }\n }, 1000);\n};\n\nexport const DisconnectLedger = () => {\n RootStore.Get(WalletStore).set({\n isConnect: false,\n isLedger: false,\n });\n};\n\nexport class LedgerSigner extends ethers.Signer {\n readonly path: string\n readonly _eth: Promise<Eth>;\n\n constructor(transport: Transport, provider?: ethers.providers.Provider, path?: string) {\n super();\n\n ethers.utils.defineReadOnly(this, \"path\", path || \"44'/304'/0'/0/0\");\n //@ts-ignore\n ethers.utils.defineReadOnly(this, \"provider\", provider || null);\n\n const eth = new Eth(transport);\n const _eth = eth.getAppConfiguration().then((config) => {\n return eth;\n }, (error) => {\n return Promise.reject(error);\n });\n ethers.utils.defineReadOnly(this, \"_eth\", _eth);\n }\n\n _retry<T = any>(callback: (eth: Eth) => Promise<T>, timeout?: number): Promise<T> {\n return new Promise(async (resolve, reject) => {\n if (timeout && timeout > 0) {\n setTimeout(() => { reject(new Error(\"timeout\")); }, timeout);\n }\n\n const eth = await this._eth;\n\n // Wait up to 5 seconds\n for (let i = 0; i < 50; i++) {\n try {\n const result = await callback(eth);\n return resolve(result);\n } catch (error) {\n if (error.id !== \"TransportLocked\") {\n return reject(error);\n }\n }\n await waiter(100);\n }\n\n return reject(new Error(\"timeout\"));\n });\n }\n\n async getAddress(): Promise<string> {\n const account = await this._retry((eth) => eth.getAddress(this.path));\n return ethers.utils.getAddress(account.address);\n }\n\n async signMessage(message: ethers.utils.Bytes | string): Promise<string> {\n if (typeof (message) === 'string') {\n message = ethers.utils.toUtf8Bytes(message);\n }\n\n const messageHex = ethers.utils.hexlify(message).substring(2);\n\n const sig = await this._retry((eth) => eth.signPersonalMessage(this.path, messageHex));\n sig.r = '0x' + sig.r;\n sig.s = '0x' + sig.s;\n return ethers.utils.joinSignature(sig);\n }\n\n async signTransaction(transaction: ethers.providers.TransactionRequest): Promise<string> {\n const tx = await ethers.utils.resolveProperties(transaction);\n const baseTx: ethers.utils.UnsignedTransaction = {\n chainId: (tx.chainId || undefined),\n data: (tx.data || undefined),\n gasLimit: (tx.gasLimit || undefined),\n gasPrice: (tx.gasPrice || undefined),\n nonce: (tx.nonce ? ethers.BigNumber.from(tx.nonce).toNumber() : undefined),\n to: (tx.to || undefined),\n value: (tx.value || undefined),\n };\n\n const unsignedTx = ethers.utils.serializeTransaction(baseTx).substring(2);\n const sig = await this._retry((eth) => eth.signTransaction(this.path, unsignedTx));\n\n return ethers.utils.serializeTransaction(baseTx, {\n v: ethers.BigNumber.from(\"0x\" + sig.v).toNumber(),\n r: (\"0x\" + sig.r),\n s: (\"0x\" + sig.s),\n });\n }\n\n connect(provider: ethers.providers.Provider): ethers.Signer {\n //@ts-ignore\n return new LedgerSigner(provider, this.path);\n }\n}","import React from 'react';\nimport { useEffect } from \"react\";\nimport { Store } from \"../../store/standard/base\";\nimport { PublicClient, type HttpTransport, WalletClient, TransactionReceipt, createWalletClient, custom, publicActions, SwitchChainErrorType, UserRejectedRequestError } from \"viem\";\nimport { PromiseHook } from '../../store/standard/PromiseHook';\nimport { AddressMode, WalletTransactionHistoryType } from \"./type\";\nimport EventEmitter from \"events\";\nimport { SwitchChainMutateAsync } from \"wagmi/query\";\nimport { Config, useAccount, useConnect, useDisconnect, useSwitchChain, useWalletClient, } from \"wagmi\";\nimport { Chain, useConnectModal } from '@rainbow-me/rainbowkit';\nimport { RootStore } from \"../../store\";\nimport { ToastPlugin } from \"../Toast/Toast\";\nimport { WalletHistoryStore, WalletRpcStore } from './walletPluginStore';\nimport SafeAppsSDK, { TransactionStatus } from '@safe-global/safe-apps-sdk';\nimport { ShowSuccessTxDialog } from './SuccessTxDialog'\nimport { WalletConfigStore } from \"./walletConfigStore\";\nimport { AIem } from \"../../aiem\";\nimport { helper } from \"../../lib/helper\";\nimport { DialogStore } from '../Dialog';\nimport { Icon } from '@iconify/react';\nimport { Card, Input } from '@nextui-org/react';\nimport { GlobalLedgerSigner } from './ledger';\n\nexport class WalletStore implements Store {\n sid = 'wallet';\n autoObservable = true;\n account: `0x${string}` = null;\n isSuccessDialogOpen = false;\n // isInSafeApp = false;\n get isInSafeApp() {\n return RootStore.Get(WalletConfigStore).isInSafeApp\n }\n isLedger = false;\n isConnect = false;\n walletClient: WalletClient;\n event = new EventEmitter();\n switchChain: SwitchChainMutateAsync<Config, unknown> | undefined;\n updateTicker = 0;\n addressMode: AddressMode = '0x';\n isIoTeXChain: boolean = false;\n setAddressMode(mode: AddressMode) {\n this.addressMode = mode;\n localStorage.setItem('addressMode', mode);\n }\n get accountFormat() {\n return this.account ? helper.address.convertAddress(this.addressMode, this.account) : '-';\n }\n get connectAccountEllipsisFormat() {\n return this.account ? helper.string.truncate(helper.address.convertAddress(this.addressMode, this.account), 11, '...') : '-';\n }\n get accountEllipsisFormat() {\n return this.account ? helper.string.truncate(helper.address.convertAddress(this.addressMode, this.account), 16, '...') : '-';\n }\n get supportedChains() {\n return RootStore.Get(WalletConfigStore).supportedChains\n }\n chain: Chain | undefined;\n openConnectModal: any;\n disconnect: any;\n balance = PromiseHook.wrap({\n func: async () => {\n if (!this.publicClient || !this.account) return helper.number.warpBigNumber('0');\n const balance = await this.publicClient.getBalance({\n address: this.account,\n });\n if (balance) {\n return helper.number.warpBigNumber(balance?.toString() ?? '0');\n }\n },\n });\n\n constructor(args?: Partial<WalletStore>) {\n Object.assign(this, args);\n }\n\n use() {\n // const { data: walletClient, isSuccess } = useWalletClient();\n const { chain, address, isConnected } = useAccount();\n const { switchChainAsync } = useSwitchChain();\n const { openConnectModal } = useConnectModal();\n const { connect } = useConnect();\n const { disconnect } = useDisconnect();\n const walletConfigStore = RootStore.Get(WalletConfigStore);\n this.set({\n //@ts-ignore\n connect,\n // @ts-ignore \n // walletClient,\n openConnectModal,\n switchChain: switchChainAsync,\n disconnect\n })\n\n useEffect(() => {\n RootStore.Get(WalletHistoryStore).set({ isRender: true })\n this.set({\n isConnect: isConnected,\n account: address,\n chain,\n })\n if (chain?.id == 4689) {\n this.isIoTeXChain = true\n } else {\n this.isIoTeXChain = false\n }\n walletConfigStore.set({\n isConnect: isConnected,\n })\n if (this.account) {\n this.updateTicker++;\n walletConfigStore.set({\n walletUpdateTick: this.updateTicker,\n })\n this.event.emit('walletAccount:ready');\n }\n // this.useWalletClientWithCompatibleMode()\n }, [address, isConnected, chain])\n\n useEffect(() => {\n setTimeout(() => {\n this.balance.call()\n }, 1500)\n }, [this.updateTicker])\n }\n\n private useWalletClientWithCompatibleMode() {\n if (RootStore.Get(WalletConfigStore).compatibleMode) {\n if (this.account && this.chain) {\n // @ts-ignore - Type instantiation is too deep, but the code works correctly\n this.walletClient = createWalletClient({\n account: this.account,\n chain: this.chain,\n transport: custom(window.ethereum! as any),\n pollingInterval: 2500,\n }).extend(publicActions)\n }\n console.log(this.walletClient, 'this.walletClientxxx')\n }\n }\n\n useWalletClientWithoutCompatibleMode() {\n const { data: walletClient, isSuccess } = useWalletClient({\n query: {\n refetchInterval: 2500\n }\n })\n useEffect(() => {\n if (isSuccess && walletClient) {\n this.set({ walletClient })\n }\n }, [walletClient, isSuccess]);\n }\n\n //always return or return default chain\n get publicClient(): PublicClient<HttpTransport, Chain, any, any> {\n if (this.chain && this.supportedChains.some(i => i.id === this.chain.id)) {\n if (this.chain.id == 4689) {\n return AIem.PubClient('4689', {\n rpcUrls: { default: { http: [RootStore.Get(WalletRpcStore).curRpc.value] } },\n multicall: true,\n pollingInterval: 2500\n })\n }\n return AIem.PubClient(this.chain.id.toString(), { pollingInterval: 2500 })\n } else {\n return AIem.PubClient('4689', { pollingInterval: 2500 })\n }\n }\n\n set(args: Partial<WalletStore>) {\n Object.assign(this, args);\n }\n\n toJSON() {\n const { account } = this;\n return { account };\n }\n\n async prepare(chainId?: number): Promise<WalletStore> {\n const walletRpcStore = RootStore.Get(WalletRpcStore)\n return new Promise<WalletStore>(async (res, rej) => {\n try {\n if (this.account) {\n if (this.isLedger) {\n res(this)\n }\n if ((!chainId || (Number(this.chain?.id) == Number(chainId))) && this.walletClient) {\n res(this);\n }\n const interval = setInterval(() => {\n if (this.chain?.id == chainId) {\n try {\n this.useWalletClientWithCompatibleMode()\n res(this);\n } catch (error) {\n console.log(error, 'myerror')\n rej(error);\n }\n clearInterval(interval);\n }\n }, 1000);\n\n if (chainId != this.chain?.id) {\n try {\n await this.walletClient?.switchChain({ id: chainId })\n } catch (error) {\n console.log(error.message)\n if (error?.message?.includes(\"wallet_addEthereumChain\")) {\n const chain = RootStore.Get(WalletConfigStore).supportedChains.find(i => i.id == chainId)\n try {\n await RootStore.Get(WalletRpcStore).addToMetamaskById(chainId)\n await this.walletClient.switchChain({ id: chainId })\n } catch (error) {\n RootStore.Get(DialogStore).setData({\n isOpen: true,\n title: \"Chain Addition Failed\",\n size: '2xl',\n content: <div>\n <Card className='p-2'>\n <div className='p-2 flex items-center justify-center gap-4'>\n <div className='text-yellow-500 text-sm'>We encountered an issue while adding the chain. This might be caused by a compatibility issue with your current plugin. Please try adding the chain manually or review your plugin settings to ensure compatibility.</div>\n </div>\n </Card>\n <div className='flex flex-col gap-4 my-4'>\n <Input\n label=\"Network Name\"\n value={chain.name}\n startContent={\n <Icon icon=\"fluent:rename-24-filled\" width=\"20\" height=\"20\" />\n }\n />\n <Input\n label=\"Network RPC\"\n value={chain.rpcUrls.default?.http?.[0]}\n startContent={\n <Icon icon=\"material-symbols:link\" width=\"20\" height=\"20\" />\n }\n />\n <Input\n label=\"Chain ID\"\n value={chain.id.toString()}\n startContent={\n <Icon icon=\"f7:grid-circle-fill\" width=\"20\" height=\"20\" />\n }\n />\n <Input\n label=\"Native Currency Symbol\"\n value={chain.nativeCurrency?.symbol}\n startContent={\n <Icon icon=\"mingcute:coin-fill\" width=\"20\" height=\"20\" />\n }\n />\n <Input\n label=\"Block Explorer URL\"\n value={chain.blockExplorers?.default?.url}\n startContent={\n <Icon icon=\"material-symbols:explore\" width=\"20\" height=\"20\" />\n }\n />\n </div>\n </div>\n })\n console.log(error.message)\n }\n } else {\n rej(error)\n }\n }\n }\n } else {\n this.openConnectModal();\n const interval = setInterval(() => {\n if (this.account) {\n clearInterval(interval);\n res(this);\n }\n }, 1000);\n }\n } catch (error) {\n rej(error);\n }\n });\n }\n\n\n async waitForTransactionReceipt({ hash }) {\n // https://github.com/wevm/wagmi/discussions/3463#discussioncomment-8139187\n if (this.isInSafeApp) {\n // console.log('isInSafeApp', this.isInSafeApp);\n const sdk = new SafeAppsSDK();\n while (true) {\n const queued = await sdk.txs.getBySafeTxHash(hash);\n if (queued.txStatus === TransactionStatus.AWAITING_CONFIRMATIONS || queued.txStatus === TransactionStatus.AWAITING_EXECUTION || queued.txStatus === TransactionStatus.CANCELLED) {\n await new Promise((resolve) => setTimeout(resolve, 2000));\n } else {\n return this.publicClient.waitForTransactionReceipt({ hash: queued.txHash! as `0x${string}` });\n }\n }\n } else {\n return this.publicClient.waitForTransactionReceipt({ hash });\n }\n }\n\n static async SendTx(...args: Parameters<WalletStore['sendTx']>) {\n return RootStore.Get(WalletStore).sendTx(...args);\n }\n static async SendRawTx(...args: Parameters<WalletStore['sendRawTx']>) {\n return RootStore.Get(WalletStore).sendRawTx(...args);\n }\n async sendTx({\n chainId,\n tx,\n autoAlert = true,\n loadingText,\n successText,\n historyItem,\n showSuccessDialog = false,\n onSuccess,\n onError,\n }: {\n chainId: number | string;\n tx: any;\n autoAlert?: boolean;\n loadingText?: string;\n successText?: string;\n showSuccessDialog?: boolean;\n historyItem?: Pick<WalletTransactionHistoryType, 'msg' | 'type'>;\n onSuccess?: ({ receipt }: { receipt: TransactionReceipt }) => Promise<void>;\n onError?: (error: any) => void;\n }) {\n const toast = RootStore.Get(ToastPlugin);\n let hash;\n const historyStore = RootStore.Get(WalletHistoryStore)\n try {\n if (loadingText) toast.loading(loadingText);\n if (!chainId) throw new Error('chainId, address, data is required');\n await RootStore.Get(WalletStore).prepare(Number(chainId));\n hash = await tx();\n if (historyItem) {\n historyStore.recordHistory({ ...historyItem, tx: hash, timestamp: Date.now(), status: 'loading', chainId: Number(chainId) });\n }\n const receipt = await this.waitForTransactionReceipt({ hash });\n if (receipt.status == 'success') {\n if (onSuccess) {\n await onSuccess({ receipt });\n }\n toast.dismiss();\n toast.success('The transaction was successful');\n if (historyItem) {\n if (showSuccessDialog) {\n ShowSuccessTxDialog({ msg: historyItem.msg, hash: hash });\n }\n historyStore.updateHistoryStatusByTx(hash, 'success');\n }\n } else {\n toast.dismiss();\n toast.error('The transaction failed');\n historyStore.updateHistoryStatusByTx(hash, 'fail');\n }\n if (successText) toast.success(successText);\n this.updateTicker++;\n return receipt;\n } catch (error) {\n console.log(error);\n toast.dismiss();\n if (autoAlert) {\n const msg = /reason=\"[A-Za-z0-9_ :\"]*/g.exec(error?.message);\n console.log('sendTx', error?.message);\n if (error?.message?.includes('rejected') || String(error).toLowerCase().includes('rejected') || error?.message?.includes('cancel') || String(error).toLowerCase().includes('cancel') || String(error).toLowerCase().includes('denied')) {\n toast.error('User rejected transaction');\n // onError?.(error);\n return;\n }\n if (error?.message?.includes('The Transaction may not be processed on a block yet') || error?.message?.includes('could not be found')) {\n if (historyItem) {\n historyStore.updateHistoryStatusByTx(hash, 'success');\n }\n toast.success('The transaction was successful');\n return;\n }\n\n if (msg) {\n // toast.error(msg as unknown as string);\n onError?.(new Error(msg as unknown as string || 'Transaction failed'));\n } else {\n if (error?.message.includes('viem')) {\n const messageArr = error?.message.split('\\n');\n console.log('messageArr---', messageArr);\n if (messageArr.length > 0) {\n // toast.error(messageArr[0]);\n onError?.(new Error(messageArr[0] || 'Transaction failed'));\n }\n } else {\n // toast.error(String(error?.message || error));\n onError?.(new Error(error?.message || 'Transaction failed'));\n }\n }\n } else {\n onError?.(error);\n throw error;\n }\n }\n }\n async sendRawTx({\n chainId,\n address,\n data,\n value = '0',\n autoAlert = true,\n onSended,\n onSuccess,\n onError,\n historyItem,\n loadingText,\n showSuccessDialog = false,\n }: {\n loadingText?: string;\n chainId: number | string;\n address: string;\n data: string | null;\n value?: string;\n autoRefresh?: boolean;\n autoAlert?: boolean;\n historyItem?: Pick<WalletTransactionHistoryType, 'msg' | 'type'>;\n showTransactionSubmitDialog?: boolean;\n showSuccessDialog?: boolean;\n onSended?: ({ res }: { res: TransactionReceipt }) => void;\n onSuccess?: ({ res }: { res: TransactionReceipt }) => void;\n onError?: (error: any) => void;\n }): Promise<TransactionReceipt | undefined> {\n chainId = Number(chainId);\n const toast = RootStore.Get(ToastPlugin);\n try {\n if (!chainId || !address) throw new Error('chainId, address, is required');\n await RootStore.Get(WalletStore).prepare(chainId);\n if (loadingText) toast.loading(loadingText);\n const historyStore = RootStore.Get(WalletHistoryStore)\n let hash;\n if (this.isLedger) {\n const ledger = await GlobalLedgerSigner();\n console.log(ledger, 'ledger signer')\n const tx = await ledger.sendTransaction({\n to: address as `0x${string}`,\n data: data as `0x${string}`,\n value: value ? BigInt(value) : undefined,\n from: this.account,\n type: 0\n });\n hash = tx?.hash;\n } else {\n // @ts-ignore\n hash = await this.walletClient.sendTransaction({\n account: this.account,\n to: address as `0x${string}`,\n data: data as `0x${string}`,\n value: value ? BigInt(value) : undefined,\n });\n }\n let receipt = await this.waitForTransactionReceipt({ hash });\n if (historyItem) {\n historyStore.recordHistory({ ...historyItem, tx: receipt.transactionHash, timestamp: Date.now(), status: 'loading', chainId: Number(chainId) });\n }\n this.updateTicker++;\n onSended ? onSended({ res: receipt }) : null;\n if (receipt.status == 'success') {\n if (historyItem) {\n if (showSuccessDialog) {\n ShowSuccessTxDialog({ msg: historyItem.msg, hash: hash });\n }\n historyStore.updateHistoryStatusByTx(receipt.transactionHash, 'success');\n }\n onSuccess && onSuccess({ res: receipt });\n toast.dismiss();\n toast.success('The transaction was successful');\n } else {\n if (historyItem) {\n historyStore.updateHistoryStatusByTx(receipt.transactionHash, 'fail');\n }\n onError && onError?.(new Error('The transaction failed'));\n toast.dismiss();\n toast.error('The transaction failed');\n }\n return receipt;\n } catch (error) {\n toast.dismiss();\n onError?.(error)\n console.log(error);\n const msg = /reason=\"[A-Za-z0-9_ :\"]*/g.exec(error?.message);\n // Details: Transaction was rejected\n if (error?.message?.includes('rejected') || error?.message?.includes('cancel') || String(error).toLowerCase().includes('cancel') || String(error).toLowerCase().includes('rejected') || String(error).toLowerCase().includes('user denied')) {\n autoAlert && toast.error('User rejected transaction');\n onError?.(error);\n return;\n }\n if (error?.message?.includes('Price slippage check')) {\n autoAlert && toast.error('The latest pool price has changed, please try to increase the slippage tolerance or reload the page.');\n onError?.(error);\n return;\n }\n if (error?.message.includes('viem')) {\n const messageArr = error?.message.split('\\n');\n console.log('messageArr---', messageArr);\n if (messageArr.length > 0) {\n // toast.error(messageArr[0]);\n onError?.(new Error(messageArr[0] ?? 'Transaction failed'));\n return;\n }\n }\n\n // if (msg) {\n // autoAlert && toast.error(msg as unknown as string);\n // } else {\n // autoAlert && toast.error(String(error.message));\n // }\n if (!autoAlert) {\n onError?.(error);\n throw error;\n }\n }\n }\n async signMessage(message: string) {\n if (this.isLedger) {\n const ledger = await GlobalLedgerSigner();\n return ledger.signMessage(message);\n }\n // @ts-ignore\n return this.walletClient.signMessage(message);\n }\n}\n","import { useEffect } from 'react';\nimport { useRouter } from 'next/router.js';\nimport { observer } from 'mobx-react-lite';\nimport { RootStore, rootStore } from '../../store';\nimport { Store } from \"../../store/standard/base\";\nimport { WalletStore } from '../Wallet';\nimport React from 'react';\n\nexport class AutoMan implements Store {\n sid = 'AutoMan';\n stype = 'Plugin';\n autoObservable?: boolean | undefined;\n\n provider = observer(() => {\n const wallet = RootStore.Get(WalletStore);\n const router = useRouter();\n useEffect(() => {\n console.log('automan proverider')\n // @ts-ignore\n const stores = Object.values(rootStore.instance).filter((i) => i._active > 0);\n //@ts-ignore\n const promise: PromiseState<any>[] = stores.reduce((p, c) => {\n //@ts-ignore\n const promise = Object.values(c).filter((i: PromiseState<any>) => !!i?.call);\n //@ts-ignore\n return [...p, ...promise];\n }, []);\n const autoUpdate = promise.filter((i) => i.autoUpdate);\n console.log({ autoUpdate });\n\n autoUpdate.forEach((i) => !i.loading.value && i.call());\n }, [wallet.updateTicker, router.asPath]);\n return <></>;\n });\n\n static use<T extends { [Key in keyof T]: Store }, U extends { [Key in keyof T]: T[Key] extends Store ? { [K in keyof T[Key]]?: any } : never }>(stores: T, promises?: U) {\n useEffect(() => {\n Object.keys(stores).forEach((storeName) => {\n const store = stores[storeName];\n Object.keys(store).forEach((key) => {\n const i = store[key];\n //@ts-ignore\n if (!!i?.getOrCall && (i.autoInit || !!promises?.[storeName][key])) {\n if (!store._active) store._active = 0;\n store._active += 1;\n i.getOrCall();\n }\n });\n });\n\n return () => {\n Object.values(stores).forEach((store) => {\n //@ts-ignore\n if (!store._active) store._active = 0;\n //@ts-ignore\n store._active -= 1;\n //@ts-ignore\n if (store.autoClean !== false && !store._active > 0) {\n //@ts-ignore\n Object.entries(store)\n //@ts-ignore\n .filter(([key, i]) => !!i?.value)\n .forEach(([key, i]) => {\n console.log('clean', key);\n //@ts-ignore\n i.value = null;\n });\n }\n });\n\n if (!!promises) {\n //@ts-ignore\n Object.entries(promises).forEach(([storaName, promise]) => {\n const store = stores[storaName];\n //@ts-ignore\n Object.keys(promise).forEach((key) => {\n const promise = store[key];\n console.log('clean', key);\n if (!promise) return\n if (!promise._active) promise._active = 0;\n\n promise._active -= 1;\n //@ts-ignore\n if (!promise._active > 0) {\n promise.value = null;\n }\n });\n });\n }\n };\n }, []);\n return stores;\n }\n}\n","import React from \"react\";\nimport { observer } from \"mobx-react-lite\";\nimport { RootStore } from \"../store/root\";\n\nexport const AppProvider = observer(({ children }: { children?: React.ReactNode }) => {\n const rootStore = RootStore.init()\n return (\n <>\n {rootStore.providers.map((store) => {\n const Component: any = store.provider;\n return <Component rootStore={rootStore} key={store.sid} />;\n })}\n {children && children}\n </>\n )\n})"]}
@@ -4,18 +4,18 @@ import { useLocalObservable } from 'mobx-react-lite';
4
4
 
5
5
  // store/root.ts
6
6
  var MyEmitter = class extends EventEmitter {
7
- constructor() {
8
- super();
9
- makeObservable(this, {
10
- // metas: true,
11
- });
12
- }
13
7
  emit(type, ...args) {
14
8
  if (process.env.NODE_ENV == "development") {
15
9
  super.emit("*", { type, args });
16
10
  }
17
11
  return super.emit(type, ...args) || super.emit("", ...args);
18
12
  }
13
+ constructor() {
14
+ super();
15
+ makeObservable(this, {
16
+ // metas: true,
17
+ });
18
+ }
19
19
  };
20
20
  var RootStore = class _RootStore {
21
21
  constructor(args = {}) {
@@ -115,5 +115,5 @@ var rootStore = RootStore.init();
115
115
  var useStore = () => RootStore.init();
116
116
 
117
117
  export { RootStore, rootStore, useStore };
118
- //# sourceMappingURL=out.js.map
119
- //# sourceMappingURL=chunk-IDKGZ5T4.mjs.map
118
+ //# sourceMappingURL=chunk-XSGTWROT.mjs.map
119
+ //# sourceMappingURL=chunk-XSGTWROT.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../store/root.ts","../store/index.ts"],"names":[],"mappings":"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","file":"chunk-XSGTWROT.mjs","sourcesContent":["import { EventEmitter } from \"events\";\nimport { makeAutoObservable, makeObservable } from \"mobx\";\nimport type TypedEmitter from \"typed-emitter\";\nimport { type Store, type StoreClass } from \"./standard/base\";\nimport { useLocalObservable } from \"mobx-react-lite\";\n\nexport type EventMap = {\n \"*\": (args: any) => void;\n add: (store: Store) => void;\n};\n\nexport class MyEmitter extends EventEmitter {\n // metas: Record<string, { count: number }> = {};\n _events: Record<string, any>;\n emit(type: any, ...args: any[]) {\n if (process.env.NODE_ENV == \"development\") {\n super.emit(\"*\", { type, args });\n }\n // if (!this.metas[type]) {\n // this.metas[type] = { count: 0 };\n // }\n // this.metas[type].count++;\n return super.emit(type, ...args) || super.emit(\"\", ...args);\n }\n constructor() {\n super();\n makeObservable(this, {\n // metas: true,\n });\n }\n}\n\nexport class RootStore<T extends EventMap = any> {\n instanceMap = new Map<Function, Map<string, Store>>();\n instance: Record<string, Store> = {};\n\n providers: Store[] = [];\n\n events: TypedEmitter<T> = new MyEmitter() as TypedEmitter<T>;\n isInited = false;\n\n static init<T extends EventMap>(args: Partial<RootStore<T>> = {}): RootStore<T> {\n if (!globalThis.store) {\n //@ts-ignore\n globalThis.store = new RootStore(args);\n }\n\n return globalThis.store;\n }\n\n add(store: Store, { sid }: { sid?: string } = {}) {\n if (store.disabled) {\n return;\n }\n\n const instanceMapId = sid ? sid : \"singleton\";\n const instanceId = sid ? sid : store.sid;\n\n if (!this.has(store.constructor)) {\n this.instanceMap.set(store.constructor, new Map());\n }\n\n if (this.instanceMap.get(store.constructor).get(instanceMapId)) {\n console.error(`Store ${store.sid} already exists`);\n return;\n throw new Error(`Store ${store.sid} already exists`);\n }\n if (store.autoObservable) {\n makeAutoObservable(store);\n }\n if (store.provider) {\n this.providers.push(store);\n }\n if (store.onNewStore) {\n this.events.on(\"add\", (e: Store) => {\n store.onNewStore({ rootStore: this, store: e });\n });\n }\n\n if (store.onAdded) {\n store.onAdded({ rootStore: this });\n }\n if (store.stores) {\n this.addStores(store.stores);\n }\n\n if (store.events) {\n Object.entries(store.events).forEach(([event, val]) => {\n this.events.on(val.name as any, val.handler);\n });\n }\n\n // if (helper.env.isBrowser && store.onKeyBindings) {\n // const res = store.onKeyBindings()\n // res.forEach(({ key, fn }: { key: string[], fn: (ev: KeyboardEvent) => void }) => {\n // useEffect(() => {\n // window.addEventListener(\"keydown\", fn);\n // return () => {\n // window.removeEventListener(\"keydown\", fn);\n // }\n // }, [])\n // })\n // }\n\n this.instanceMap.get(store.constructor).set(instanceMapId, store);\n this.instance[instanceId] = store;\n //@ts-ignore\n this.events.emit(\"add\", store);\n\n if (store.init) {\n store.init();\n }\n // this.crawlStore(store);\n }\n\n addStores(store: Store[]) {\n store.forEach((i) => this.add(i));\n return this;\n }\n\n get<T extends Store>(store: StoreClass<T>, config: { sid?: string; args?: Partial<T> } = {}): T {\n const instanceMapId = config.sid ? config.sid : \"singleton\";\n const valid = this.instanceMap.has(store) && this.instanceMap.get(store).has(instanceMapId);\n if (!valid) {\n this.add(new store(config.args || {}), config);\n }\n return this.instanceMap.get(store).get(instanceMapId) as T;\n }\n\n public has(store: Function): boolean {\n return this.instanceMap.has(store);\n }\n\n constructor(args: Partial<RootStore<T>> = {}) {\n Object.assign(this, args);\n makeObservable(this, {\n providers: true,\n });\n this.crawlStore(this);\n }\n\n crawlStore(obj: Object) {\n Object.values(obj).forEach((value) => {\n if (value?.sid) {\n this.add(value);\n }\n });\n }\n\n static Get<T extends Store>(store: StoreClass<T>, config: { sid?: string; args?: Partial<T> } = {}): T {\n return this.init().get(store, config);\n }\n\n static Local<T>(func: () => T, config: { sid?: string; args?: Partial<T> } = {}, ann?: any): T {\n const val = useLocalObservable(func, ann);\n RootStore.init().instance[\"Local.\" + config.sid] = val;\n return val;\n }\n}\n","import { RootStore, EventMap } from \"./root\";\n\nexport const rootStore = RootStore.init<EventMap>();\n\nexport const useStore = () => RootStore.init();\n\nexport { RootStore };\n"]}
@@ -10,13 +10,30 @@ var valMap = {
10
10
  null: "",
11
11
  false: false
12
12
  };
13
+ var _a, _b, _c, _d;
13
14
  var helper = {
14
15
  env: {
15
- isIopayMobile: () => navigator.userAgent && (navigator.userAgent.includes("IoPayAndroid") || navigator.userAgent.includes("IoPayiOs")),
16
- isBrowser: () => typeof window === "object",
17
- onBrowser(func) {
18
- if (this.isBrowser()) {
19
- func();
16
+ isBrower: typeof window === "undefined" ? false : true,
17
+ isIopayMobile: typeof window === "undefined" ? false : ((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes("IoPayAndroid")) || ((_d = (_c = window == null ? void 0 : window.navigator) == null ? void 0 : _c.userAgent) == null ? void 0 : _d.includes("IoPayiOs")),
18
+ isPc() {
19
+ var _a2;
20
+ const userAgentInfo = typeof window === "undefined" ? "" : (_a2 = window == null ? void 0 : window.navigator) == null ? void 0 : _a2.userAgent;
21
+ const Agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"];
22
+ let flag = true;
23
+ for (let v = 0; v < Agents.length; v++) {
24
+ if ((userAgentInfo == null ? void 0 : userAgentInfo.indexOf(Agents[v] || "")) > 0) {
25
+ flag = false;
26
+ break;
27
+ }
28
+ }
29
+ return flag;
30
+ },
31
+ isInIframe() {
32
+ try {
33
+ if (typeof window === "undefined") return false;
34
+ return window.self !== window.top;
35
+ } catch (e) {
36
+ return true;
20
37
  }
21
38
  }
22
39
  },
@@ -49,10 +66,8 @@ var helper = {
49
66
  },
50
67
  json: {
51
68
  isJsonString(str) {
52
- if (!str || typeof str !== "string")
53
- return false;
54
- if (!(str == null ? void 0 : str.includes("{")))
55
- return false;
69
+ if (!str || typeof str !== "string") return false;
70
+ if (!(str == null ? void 0 : str.includes("{"))) return false;
56
71
  try {
57
72
  JSON.parse(str);
58
73
  } catch (e) {
@@ -105,8 +120,7 @@ var helper = {
105
120
  },
106
121
  img: {
107
122
  parse(src) {
108
- if (!src)
109
- return "/img-404.svg";
123
+ if (!src) return "/img-404.svg";
110
124
  if (src == null ? void 0 : src.startsWith("ipfs")) {
111
125
  return "https://ipfs.io/ipfs/" + src.split("://")[1];
112
126
  }
@@ -131,8 +145,7 @@ var helper = {
131
145
  }
132
146
  },
133
147
  truncate(fullStr = "", strLen, separator) {
134
- if (fullStr.length <= strLen)
135
- return fullStr;
148
+ if (fullStr.length <= strLen) return fullStr;
136
149
  separator = separator || "...";
137
150
  var sepLen = separator.length, charsToShow = strLen - sepLen, frontChars = Math.ceil(charsToShow / 2), backChars = Math.floor(charsToShow / 2);
138
151
  return fullStr.substr(0, frontChars) + separator + fullStr.substr(fullStr.length - backChars);
@@ -187,8 +200,7 @@ var helper = {
187
200
  countNonZeroNumbers: (str) => {
188
201
  let index = 0;
189
202
  const length = str.length;
190
- for (; index < length && (str[index] === "0" || str[index] === "."); index += 1)
191
- ;
203
+ for (; index < length && (str[index] === "0" || str[index] === "."); index += 1) ;
192
204
  return length - index - Number(str.includes("."));
193
205
  },
194
206
  numberWithCommas(num) {
@@ -199,18 +211,14 @@ var helper = {
199
211
  },
200
212
  toPrecisionFloor: (str, options) => {
201
213
  const { decimals = 6, format = "", toLocalString = false } = options || {};
202
- if (!str || isNaN(Number(str)))
203
- return "";
204
- if (helper.number.countNonZeroNumbers(String(str)) <= decimals)
205
- return String(str);
214
+ if (!str || isNaN(Number(str))) return "";
215
+ if (helper.number.countNonZeroNumbers(String(str)) <= decimals) return String(str);
206
216
  const numStr = new BN(str).toFixed();
207
217
  let result = "";
208
218
  let index = 0;
209
219
  const numLength = numStr.length;
210
- for (; numStr[index] === "0" && index < numLength; index += 1)
211
- ;
212
- if (index === numLength)
213
- return "0";
220
+ for (; numStr[index] === "0" && index < numLength; index += 1) ;
221
+ if (index === numLength) return "0";
214
222
  if (numStr[index] === ".") {
215
223
  result = "0";
216
224
  for (; (numStr[index] === "0" || numStr[index] === ".") && index < numLength; index += 1) {
@@ -220,8 +228,7 @@ var helper = {
220
228
  let resultNumLength = 0;
221
229
  for (; index < numLength && (resultNumLength < decimals || !result.includes(".")); index += 1) {
222
230
  result = result + numStr[index];
223
- if (numStr[index] !== ".")
224
- resultNumLength += 1;
231
+ if (numStr[index] !== ".") resultNumLength += 1;
225
232
  }
226
233
  if (format) {
227
234
  return numeral(Number(result)).format(format);
@@ -255,10 +262,9 @@ var helper = {
255
262
  //http://numeraljs.com/ format params does not need to deal with decimal places
256
263
  //format: '$0,0' '0a' '0,0' '0,0$'
257
264
  numberFormat(str, format = "0,0", options = {}) {
258
- var _a, _b;
265
+ var _a2, _b2;
259
266
  const { fallback = "0.00" } = options || {};
260
- if (!str || isNaN(Number(str)))
261
- return fallback;
267
+ if (!str || isNaN(Number(str))) return fallback;
262
268
  const numStr = new BigNumber(str).toFixed();
263
269
  const countNonZeroNumbers = (_str) => {
264
270
  const decimalPointIndex = _str.indexOf(".");
@@ -285,7 +291,7 @@ var helper = {
285
291
  }
286
292
  const fullStr = new BigNumber(numStr).toFixed();
287
293
  let preStr = numeral(fullStr.split(".")[0]).format(format.split(".")[0]);
288
- const fractionStr = (_b = (_a = fullStr.split(".")) == null ? void 0 : _a[1]) == null ? void 0 : _b.slice(0, fractionDigits + numberFractionDigits);
294
+ const fractionStr = (_b2 = (_a2 = fullStr.split(".")) == null ? void 0 : _a2[1]) == null ? void 0 : _b2.slice(0, fractionDigits + numberFractionDigits);
289
295
  if (numberFractionDigits >= fractionDigits) {
290
296
  return (preStr + "." + fractionStr).replace(/\.?0+$/, "");
291
297
  }
@@ -316,5 +322,5 @@ var helper = {
316
322
  };
317
323
 
318
324
  export { helper };
319
- //# sourceMappingURL=out.js.map
320
- //# sourceMappingURL=chunk-R4N52NI2.mjs.map
325
+ //# sourceMappingURL=chunk-YBLCIJW4.mjs.map
326
+ //# sourceMappingURL=chunk-YBLCIJW4.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../lib/helper.ts"],"names":["_a","_b"],"mappings":"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","file":"chunk-YBLCIJW4.mjs","sourcesContent":["import BN, { BigNumber } from \"bignumber.js\";\nimport JSONFormat from \"json-format\";\nimport { _ } from \"./lodash\";\nimport copy from \"copy-to-clipboard\";\nimport numeral from \"numeral\";\nimport { from } from \"@iotexproject/iotex-address-ts\";\n\nconst valMap = {\n undefined: \"\",\n null: \"\",\n false: false,\n};\n\nexport const helper = {\n env: {\n isBrower: typeof window === \"undefined\" ? false : true,\n isIopayMobile: typeof window === \"undefined\" ? false : window.navigator?.userAgent?.includes(\"IoPayAndroid\") || window?.navigator?.userAgent?.includes(\"IoPayiOs\"),\n isPc() {\n const userAgentInfo = typeof window === \"undefined\" ? \"\" : window?.navigator?.userAgent;\n const Agents = [\"Android\", \"iPhone\", \"SymbianOS\", \"Windows Phone\", \"iPad\", \"iPod\"];\n let flag = true;\n for (let v = 0; v < Agents.length; v++) {\n if (userAgentInfo?.indexOf(Agents[v] || \"\") > 0) {\n flag = false;\n break;\n }\n }\n return flag;\n },\n isInIframe() {\n try {\n if (typeof window === \"undefined\") return false;\n return window.self !== window.top;\n } catch (e) {\n return true;\n }\n },\n },\n promise: {\n async sleep(ms) {\n return new Promise((resolve) => setTimeout(resolve, ms));\n },\n async runAsync<T, U = Error>(promise: Promise<T>): Promise<[U | null, T | null]> {\n return promise.then<[null, T]>((data: T) => [null, data]).catch<[U, null]>((err) => [err, null]);\n },\n },\n object: {\n crawlObject(object, options) {\n const newObj = JSON.parse(JSON.stringify(object));\n return helper.object.crawl(newObj, options);\n },\n crawl(object, options) {\n Object.keys(object).forEach((i) => {\n if (typeof object[i] === \"object\") {\n helper.object.crawl(object[i], options);\n } else {\n const handler = options[typeof object[i]];\n if (handler) {\n object[i] = handler(object[i]);\n }\n }\n });\n return object;\n },\n },\n json: {\n isJsonString(str: string) {\n if (!str || typeof str !== \"string\") return false;\n if (!str?.includes(\"{\")) return false;\n try {\n JSON.parse(str);\n } catch (e) {\n return false;\n }\n return true;\n },\n safeParse(val: any) {\n try {\n return JSON.parse(val);\n } catch (error) {\n return val;\n }\n },\n },\n deepAssign(target, ...sources) {\n sources.forEach((source) => {\n Object.keys(source).forEach((key) => {\n let descriptor = Object.getOwnPropertyDescriptor(source, key);\n if (descriptor && descriptor?.get) {\n return Object.defineProperty(target, key, descriptor);\n }\n const targetValue = target[key];\n let sourceValue = source[key];\n if (helper.isObject(targetValue) && helper.isObject(sourceValue)) {\n try {\n target[key] = helper.deepAssign(targetValue, sourceValue);\n } catch (e) {\n target[key] = Object.assign(targetValue, sourceValue);\n }\n } else {\n target[key] = sourceValue;\n }\n });\n });\n return target;\n },\n isObject(value) {\n return value != null && typeof value === \"object\";\n },\n deepMerge(obj, newObj) {\n const newVal = _.mergeWith(obj, newObj, (...args) => {\n const [objValue, srcValue] = args;\n if (typeof srcValue === \"object\") {\n return helper.deepMerge(objValue, srcValue);\n }\n return srcValue || valMap[srcValue];\n });\n return newVal;\n },\n img: {\n parse(src: string | undefined) {\n if (!src) return \"/img-404.svg\";\n if (src?.startsWith(\"ipfs\")) {\n return \"https://ipfs.io/ipfs/\" + src.split(\"://\")[1];\n }\n return src;\n },\n },\n string: {\n copy(str: string) {\n copy(str);\n },\n fristUpper(str: string) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n },\n firstUpperCase(str: string) {\n return str.replace(/^\\S/, (s) => s.toUpperCase());\n },\n toFixString(str, length) {\n if (str && str.length > length) {\n return str.substr(0, length) + \"...\";\n } else {\n return str;\n }\n },\n truncate(fullStr = \"\", strLen, separator) {\n if (fullStr.length <= strLen) return fullStr;\n\n separator = separator || \"...\";\n\n var sepLen = separator.length,\n charsToShow = strLen - sepLen,\n frontChars = Math.ceil(charsToShow / 2),\n backChars = Math.floor(charsToShow / 2);\n\n return fullStr.substr(0, frontChars) + separator + fullStr.substr(fullStr.length - backChars);\n },\n validAbi(abi: string): { abi: any[]; address: string } {\n try {\n JSON.parse(abi);\n const _abi = helper.json.safeParse(abi);\n if (!_abi) {\n return { abi: [], address: \"\" };\n }\n if (Array.isArray(_abi)) {\n return { abi: _abi, address: \"\" };\n } else if (_abi.abi && _abi.address) {\n return { abi: _abi.abi, address: _abi.address };\n } else if (_abi.abi && !_abi.addresses) {\n return { abi: _abi.abi, address: \"\" };\n }\n return { abi: [], address: \"\" };\n } catch (error) {\n return { abi: [], address: \"\" };\n }\n },\n random(count: number) {\n const chars = \"abcdefghijklmnopqrstuvwxyz\";\n let result = \"\";\n for (let i = 0; i < count; i++) {\n result += chars.charAt(Math.floor(Math.random() * chars.length));\n }\n return result;\n },\n },\n download: {\n downloadByBlob(name: string, blob: Blob) {\n const a = document.createElement(\"a\");\n const href = window.URL.createObjectURL(blob);\n a.href = href;\n a.download = name;\n a.click();\n },\n downloadJSON(name: string, jsonObj: object) {\n try {\n const jsonStr: string = JSONFormat(jsonObj);\n const blob = new Blob([jsonStr], { type: \"application/json\" });\n this.downloadByBlob(name + \".json\", blob);\n } catch (error) {\n console.error(error);\n }\n },\n },\n number: {\n countNonZeroNumbers: (str: string) => {\n let index = 0;\n const length = str.length;\n for (; index < length && (str[index] === \"0\" || str[index] === \".\"); index += 1);\n return length - index - Number(str.includes(\".\"));\n },\n numberWithCommas(num: number) {\n return num.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n },\n getBN: (value: number | string | BN) => {\n return value instanceof BN ? value : typeof value === \"string\" ? new BN(Number(value)) : new BN(value);\n },\n toPrecisionFloor: (str: number | string, options?: { decimals?: number; format?: string; toLocalString?: boolean }) => {\n const { decimals = 6, format = \"\", toLocalString = false } = options || {};\n if (!str || isNaN(Number(str))) return \"\";\n\n if (helper.number.countNonZeroNumbers(String(str)) <= decimals) return String(str);\n const numStr = new BN(str).toFixed();\n let result = \"\";\n let index = 0;\n const numLength = numStr.length;\n\n for (; numStr[index] === \"0\" && index < numLength; index += 1);\n\n if (index === numLength) return \"0\";\n\n if (numStr[index] === \".\") {\n // number < 0\n result = \"0\";\n for (; (numStr[index] === \"0\" || numStr[index] === \".\") && index < numLength; index += 1) {\n result = result + numStr[index];\n }\n }\n let resultNumLength = 0;\n for (; index < numLength && (resultNumLength < decimals || !result.includes(\".\")); index += 1) {\n result = result + numStr[index];\n\n if (numStr[index] !== \".\") resultNumLength += 1;\n }\n if (format) {\n return numeral(Number(result)).format(format);\n }\n\n if (toLocalString) {\n return helper.number.numberWithCommas(Number(new BN(result).toFixed()));\n }\n\n return new BN(result).toFixed();\n },\n\n //format: '0,0'\n warpBigNumber(value: string, decimals = 18, options?: { format?: string; fallback?: string; min?: number }) {\n const { format = \"0.0\", fallback = \"0.000\", min } = options || {};\n if (!value) {\n return {\n value: \"...\",\n format: \"...\",\n originFormat: \"...\",\n decimals: \"0\",\n // isZero: true,\n };\n }\n const BigNumberResponse = { value: new BigNumber(value), decimals };\n return {\n value: BigNumberResponse.value.toFixed(0),\n originFormat: BigNumberResponse.value.div(10 ** decimals).toFixed(),\n format: helper.number.numberFormat(BigNumberResponse.value.div(10 ** decimals).toFixed(), format, { fallback, min }),\n decimals: String(BigNumberResponse.decimals),\n // isZero: BigNumberResponse.value.isZero(),\n };\n },\n //http://numeraljs.com/ format params does not need to deal with decimal places\n //format: '$0,0' '0a' '0,0' '0,0$'\n numberFormat(str: string | number, format: string = \"0,0\", options: { min?: number; fallback?: string } = {}): string {\n const { fallback = \"0.00\" } = options || {};\n\n if (!str || isNaN(Number(str))) return fallback;\n const numStr = new BigNumber(str).toFixed();\n const countNonZeroNumbers = (_str: string) => {\n const decimalPointIndex = _str.indexOf(\".\");\n if (decimalPointIndex === -1) {\n return 0;\n }\n const decimalPart = _str.substring(decimalPointIndex + 1);\n let trailingZerosCount = 0;\n for (let i = 0; i < decimalPart.length; i++) {\n if (decimalPart[i] === \"0\") {\n trailingZerosCount++;\n } else {\n break;\n }\n }\n return trailingZerosCount;\n };\n\n const fractionDigits = countNonZeroNumbers(format);\n const numberFractionDigits = countNonZeroNumbers(numStr);\n if (options?.min) {\n if (new BigNumber(numStr).isLessThan(new BigNumber(options?.min || 0))) {\n return `< ${numeral(options?.min).format(format)}`;\n }\n }\n const fullStr = new BigNumber(numStr).toFixed();\n let preStr = numeral(fullStr.split(\".\")[0]).format(format.split(\".\")[0]);\n const fractionStr = fullStr.split(\".\")?.[1]?.slice(0, fractionDigits + numberFractionDigits);\n\n if (numberFractionDigits >= fractionDigits) {\n return (preStr + \".\" + fractionStr).replace(/\\.?0+$/, \"\");\n }\n\n if (fractionStr?.[fractionDigits - 1] == \"9\") {\n return (preStr + \".\" + fractionStr.slice(0, fractionDigits - 1) + \"9\").replace(/\\.?0+$/, \"\");\n }\n\n const resultStr = numeral(new BigNumber(numStr).toString()).format(format);\n return resultStr.replace(/\\.?0+$/, \"\");\n },\n },\n address: {\n convertAddress: (addressMode: \"io\" | \"0x\", address: string = \"\"): string => {\n try {\n if (addressMode == \"0x\" && helper.address.validateIoAddress(address)) {\n return from(address).stringEth();\n }\n if (addressMode == \"io\" && helper.address.validateEthAddress(address)) {\n return from(address).string();\n }\n } catch (error) {}\n return address;\n },\n validateEthAddress: (address: string) => /^0x[a-fA-F0-9]{40}$/.test(address),\n validateIoAddress: (address: string) => /^io[a-zA-Z0-9]{39}$/.test(address),\n validateAddress: (address: string) => helper.address.validateEthAddress(address) || helper.address.validateIoAddress(address),\n },\n};\n"]}
@@ -31,5 +31,5 @@ var __objRest = (source, exclude) => {
31
31
  };
32
32
 
33
33
  export { __objRest, __spreadProps, __spreadValues };
34
- //# sourceMappingURL=out.js.map
35
- //# sourceMappingURL=chunk-6F7H4PAA.mjs.map
34
+ //# sourceMappingURL=chunk-YOSPWY5K.mjs.map
35
+ //# sourceMappingURL=chunk-YOSPWY5K.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-YOSPWY5K.mjs"}
package/dist/dev.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { S as Store, R as RootStore } from './root-218afa4f.js';
1
+ import { S as Store, R as RootStore } from './root-BPMUmS6H.mjs';
2
2
  import React from 'react';
3
3
  import 'typed-emitter';
4
4
 
package/dist/dev.mjs CHANGED
@@ -1,7 +1,7 @@
1
- import { helper } from './chunk-R4N52NI2.mjs';
1
+ import { helper } from './chunk-YBLCIJW4.mjs';
2
2
  import { _ } from './chunk-K7LFG5BA.mjs';
3
- import { cn } from './chunk-M5Y3VYMJ.mjs';
4
- import { __objRest, __spreadProps, __spreadValues } from './chunk-6F7H4PAA.mjs';
3
+ import { cn } from './chunk-6HA5WR5H.mjs';
4
+ import { __objRest, __spreadProps, __spreadValues } from './chunk-YOSPWY5K.mjs';
5
5
  import * as React3 from 'react';
6
6
  import React3__default, { useMemo, useRef } from 'react';
7
7
  import * as SheetPrimitive from '@radix-ui/react-dialog';
@@ -182,8 +182,7 @@ var DevTool = class {
182
182
  }));
183
183
  const initialJson = useMemo(() => {
184
184
  var _a, _b;
185
- if ((_a = state.curStore) == null ? void 0 : _a.toJSON)
186
- return JSON.stringify((_b = state.curStore) == null ? void 0 : _b.toJSON(), null, 2);
185
+ if ((_a = state.curStore) == null ? void 0 : _a.toJSON) return JSON.stringify((_b = state.curStore) == null ? void 0 : _b.toJSON(), null, 2);
187
186
  const filteredData = filterState(state.curStore || {});
188
187
  return JSON.stringify(toJS(filteredData), null, 2);
189
188
  }, [state.curStore]);
@@ -232,8 +231,7 @@ var DevTool = class {
232
231
  onNewStore({ rootStore }) {
233
232
  Object.values(rootStore.instance).forEach((store) => {
234
233
  var _a, _b, _c;
235
- if ((_a = store.devtools) == null ? void 0 : _a.started)
236
- return;
234
+ if ((_a = store.devtools) == null ? void 0 : _a.started) return;
237
235
  if ((_b = store.devtools) == null ? void 0 : _b.panels) {
238
236
  store.devtools.started = true;
239
237
  this.panels = [...this.panels, ...(_c = store.devtools) == null ? void 0 : _c.panels];
@@ -315,5 +313,5 @@ var DevToolProvider = observer(({ rootStore }) => {
315
313
  });
316
314
 
317
315
  export { DevTool, DevToolProvider };
318
- //# sourceMappingURL=out.js.map
316
+ //# sourceMappingURL=dev.mjs.map
319
317
  //# sourceMappingURL=dev.mjs.map