@cfxjs/sirius-next-common 0.1.33 → 0.1.35
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.
- package/dist/chunk-27U3ZES6.js +212 -0
- package/dist/chunk-27U3ZES6.js.map +1 -0
- package/dist/chunk-2BYZ7YCR.js +63 -0
- package/dist/chunk-2BYZ7YCR.js.map +1 -0
- package/dist/chunk-2CYC4UWO.js +108 -0
- package/dist/chunk-2CYC4UWO.js.map +1 -0
- package/dist/chunk-2DTZKTKF.js +63 -0
- package/dist/chunk-2DTZKTKF.js.map +1 -0
- package/dist/chunk-2E3YJCV3.js +127 -0
- package/dist/chunk-2E3YJCV3.js.map +1 -0
- package/dist/chunk-2ICNULC2.js +254 -0
- package/dist/chunk-2ICNULC2.js.map +1 -0
- package/dist/chunk-2LPOU4PC.js +141 -0
- package/dist/chunk-2LPOU4PC.js.map +1 -0
- package/dist/chunk-2MSHBEWL.js +268 -0
- package/dist/chunk-2MSHBEWL.js.map +1 -0
- package/dist/chunk-2SCHWFIY.js +105 -0
- package/dist/chunk-2SCHWFIY.js.map +1 -0
- package/dist/chunk-3BYHQHWI.js +212 -0
- package/dist/chunk-3BYHQHWI.js.map +1 -0
- package/dist/chunk-3DTLHHIA.js +796 -0
- package/dist/chunk-3DTLHHIA.js.map +1 -0
- package/dist/chunk-3DYO4SUL.js +63 -0
- package/dist/chunk-3DYO4SUL.js.map +1 -0
- package/dist/chunk-3GT2MSFN.js +105 -0
- package/dist/chunk-3GT2MSFN.js.map +1 -0
- package/dist/chunk-3TE65Q5Q.js +105 -0
- package/dist/chunk-3TE65Q5Q.js.map +1 -0
- package/dist/chunk-3UE7QPSR.js +141 -0
- package/dist/chunk-3UE7QPSR.js.map +1 -0
- package/dist/chunk-43ZMPNVA.js +3629 -0
- package/dist/chunk-43ZMPNVA.js.map +1 -0
- package/dist/chunk-44PF4ZKF.js +63 -0
- package/dist/chunk-44PF4ZKF.js.map +1 -0
- package/dist/chunk-4AI26PND.js +150 -0
- package/dist/chunk-4AI26PND.js.map +1 -0
- package/dist/chunk-4JCWYUNH.js +275 -0
- package/dist/chunk-4JCWYUNH.js.map +1 -0
- package/dist/chunk-4LTDTOPU.js +49 -0
- package/dist/chunk-4LTDTOPU.js.map +1 -0
- package/dist/chunk-4N3GNHIP.js +108 -0
- package/dist/chunk-4N3GNHIP.js.map +1 -0
- package/dist/chunk-4OVKJTEK.js +254 -0
- package/dist/chunk-4OVKJTEK.js.map +1 -0
- package/dist/chunk-4RBTXO3A.js +108 -0
- package/dist/chunk-4RBTXO3A.js.map +1 -0
- package/dist/chunk-54S3AFTR.js +141 -0
- package/dist/chunk-54S3AFTR.js.map +1 -0
- package/dist/chunk-5G3TPHDI.js +49 -0
- package/dist/chunk-5G3TPHDI.js.map +1 -0
- package/dist/chunk-5HPBFAVS.js +108 -0
- package/dist/chunk-5HPBFAVS.js.map +1 -0
- package/dist/chunk-5MMGA5S5.js +108 -0
- package/dist/chunk-5MMGA5S5.js.map +1 -0
- package/dist/chunk-5O5QALCR.js +49 -0
- package/dist/chunk-5O5QALCR.js.map +1 -0
- package/dist/chunk-5PHY7B5Q.js +127 -0
- package/dist/chunk-5PHY7B5Q.js.map +1 -0
- package/dist/chunk-5QV6FSW5.js +108 -0
- package/dist/chunk-5QV6FSW5.js.map +1 -0
- package/dist/chunk-5TCARLKL.js +268 -0
- package/dist/chunk-5TCARLKL.js.map +1 -0
- package/dist/chunk-5VLX5LYF.js +796 -0
- package/dist/chunk-5VLX5LYF.js.map +1 -0
- package/dist/chunk-64PFHUWF.js +141 -0
- package/dist/chunk-64PFHUWF.js.map +1 -0
- package/dist/chunk-663WU3VG.js +127 -0
- package/dist/chunk-663WU3VG.js.map +1 -0
- package/dist/chunk-6A5P5KI3.js +141 -0
- package/dist/chunk-6A5P5KI3.js.map +1 -0
- package/dist/chunk-6CSRI3HH.js +141 -0
- package/dist/chunk-6CSRI3HH.js.map +1 -0
- package/dist/chunk-6ECE7EAG.js +63 -0
- package/dist/chunk-6ECE7EAG.js.map +1 -0
- package/dist/chunk-6JGJBJQ5.js +268 -0
- package/dist/chunk-6JGJBJQ5.js.map +1 -0
- package/dist/chunk-6LDWVWGX.js +3629 -0
- package/dist/chunk-6LDWVWGX.js.map +1 -0
- package/dist/chunk-6LZKERHY.js +273 -0
- package/dist/chunk-6LZKERHY.js.map +1 -0
- package/dist/chunk-6RTSZQPF.js +150 -0
- package/dist/chunk-6RTSZQPF.js.map +1 -0
- package/dist/chunk-6RUCML36.js +108 -0
- package/dist/chunk-6RUCML36.js.map +1 -0
- package/dist/chunk-6T7MFHX3.js +2324 -0
- package/dist/chunk-6T7MFHX3.js.map +1 -0
- package/dist/chunk-6ZC5J3YR.js +212 -0
- package/dist/chunk-6ZC5J3YR.js.map +1 -0
- package/dist/chunk-72ZLP3KN.js +3629 -0
- package/dist/chunk-72ZLP3KN.js.map +1 -0
- package/dist/chunk-7355VRDR.js +108 -0
- package/dist/chunk-7355VRDR.js.map +1 -0
- package/dist/chunk-73ACKXGM.js +254 -0
- package/dist/chunk-73ACKXGM.js.map +1 -0
- package/dist/chunk-7FHJMA3Z.js +212 -0
- package/dist/chunk-7FHJMA3Z.js.map +1 -0
- package/dist/chunk-7GW7YPXK.js +127 -0
- package/dist/chunk-7GW7YPXK.js.map +1 -0
- package/dist/chunk-7M5S36LE.js +2324 -0
- package/dist/chunk-7M5S36LE.js.map +1 -0
- package/dist/chunk-7MUTGZCN.js +63 -0
- package/dist/chunk-7MUTGZCN.js.map +1 -0
- package/dist/chunk-7NSYEE6O.js +127 -0
- package/dist/chunk-7NSYEE6O.js.map +1 -0
- package/dist/chunk-7OSWOC4R.js +3629 -0
- package/dist/chunk-7OSWOC4R.js.map +1 -0
- package/dist/chunk-7PGOPD6T.js +63 -0
- package/dist/chunk-7PGOPD6T.js.map +1 -0
- package/dist/chunk-A25FZPUD.js +268 -0
- package/dist/chunk-A25FZPUD.js.map +1 -0
- package/dist/chunk-A474G2N6.js +63 -0
- package/dist/chunk-A474G2N6.js.map +1 -0
- package/dist/chunk-A4KAYCOA.js +63 -0
- package/dist/chunk-A4KAYCOA.js.map +1 -0
- package/dist/chunk-AC3QYTOI.js +141 -0
- package/dist/chunk-AC3QYTOI.js.map +1 -0
- package/dist/chunk-APYD7IKG.js +49 -0
- package/dist/chunk-APYD7IKG.js.map +1 -0
- package/dist/chunk-ARALCU4G.js +150 -0
- package/dist/chunk-ARALCU4G.js.map +1 -0
- package/dist/chunk-AVY3BJ2X.js +127 -0
- package/dist/chunk-AVY3BJ2X.js.map +1 -0
- package/dist/chunk-AZ6RP3ME.js +278 -0
- package/dist/chunk-AZ6RP3ME.js.map +1 -0
- package/dist/chunk-B24CPBDV.js +150 -0
- package/dist/chunk-B24CPBDV.js.map +1 -0
- package/dist/chunk-B2SL7FHW.js +63 -0
- package/dist/chunk-B2SL7FHW.js.map +1 -0
- package/dist/chunk-BC6MQSTI.js +108 -0
- package/dist/chunk-BC6MQSTI.js.map +1 -0
- package/dist/chunk-BETECLYX.js +2324 -0
- package/dist/chunk-BETECLYX.js.map +1 -0
- package/dist/chunk-BEZT4KEG.js +273 -0
- package/dist/chunk-BEZT4KEG.js.map +1 -0
- package/dist/chunk-BGRIHUGF.js +127 -0
- package/dist/chunk-BGRIHUGF.js.map +1 -0
- package/dist/chunk-BGSOKXPS.js +3629 -0
- package/dist/chunk-BGSOKXPS.js.map +1 -0
- package/dist/chunk-BHHLS3OI.js +212 -0
- package/dist/chunk-BHHLS3OI.js.map +1 -0
- package/dist/chunk-BQU5GLOL.js +273 -0
- package/dist/chunk-BQU5GLOL.js.map +1 -0
- package/dist/chunk-BR2HJ226.js +150 -0
- package/dist/chunk-BR2HJ226.js.map +1 -0
- package/dist/chunk-BWWA4QW5.js +63 -0
- package/dist/chunk-BWWA4QW5.js.map +1 -0
- package/dist/chunk-BY6TBBZC.js +63 -0
- package/dist/chunk-BY6TBBZC.js.map +1 -0
- package/dist/chunk-BYNC3ECF.js +2324 -0
- package/dist/chunk-BYNC3ECF.js.map +1 -0
- package/dist/chunk-C35VFER4.js +141 -0
- package/dist/chunk-C35VFER4.js.map +1 -0
- package/dist/chunk-CGNWZ4SF.js +108 -0
- package/dist/chunk-CGNWZ4SF.js.map +1 -0
- package/dist/chunk-CLNWUZHH.js +108 -0
- package/dist/chunk-CLNWUZHH.js.map +1 -0
- package/dist/chunk-CN4VFYDL.js +212 -0
- package/dist/chunk-CN4VFYDL.js.map +1 -0
- package/dist/chunk-CVWVFYZG.js +127 -0
- package/dist/chunk-CVWVFYZG.js.map +1 -0
- package/dist/chunk-CWPEXIAP.js +212 -0
- package/dist/chunk-CWPEXIAP.js.map +1 -0
- package/dist/chunk-CX3RKYHL.js +141 -0
- package/dist/chunk-CX3RKYHL.js.map +1 -0
- package/dist/chunk-DAPOH6OL.js +127 -0
- package/dist/chunk-DAPOH6OL.js.map +1 -0
- package/dist/chunk-DDQPPG36.js +63 -0
- package/dist/chunk-DDQPPG36.js.map +1 -0
- package/dist/chunk-DFGPW4FH.js +141 -0
- package/dist/chunk-DFGPW4FH.js.map +1 -0
- package/dist/chunk-DGMKQGSS.js +255 -0
- package/dist/chunk-DGMKQGSS.js.map +1 -0
- package/dist/chunk-DH7E2QJY.js +63 -0
- package/dist/chunk-DH7E2QJY.js.map +1 -0
- package/dist/chunk-DJMQJGDU.js +127 -0
- package/dist/chunk-DJMQJGDU.js.map +1 -0
- package/dist/chunk-DNAOZ3CB.js +127 -0
- package/dist/chunk-DNAOZ3CB.js.map +1 -0
- package/dist/chunk-DRMEOOSC.js +268 -0
- package/dist/chunk-DRMEOOSC.js.map +1 -0
- package/dist/chunk-DSBTIIE2.js +63 -0
- package/dist/chunk-DSBTIIE2.js.map +1 -0
- package/dist/chunk-DX5EXIMK.js +2324 -0
- package/dist/chunk-DX5EXIMK.js.map +1 -0
- package/dist/chunk-DYGOHLN4.js +108 -0
- package/dist/chunk-DYGOHLN4.js.map +1 -0
- package/dist/chunk-DYH3CYMQ.js +63 -0
- package/dist/chunk-DYH3CYMQ.js.map +1 -0
- package/dist/chunk-DYTSBPL6.js +108 -0
- package/dist/chunk-DYTSBPL6.js.map +1 -0
- package/dist/chunk-DZBIZXJT.js +105 -0
- package/dist/chunk-DZBIZXJT.js.map +1 -0
- package/dist/chunk-EN2EIVJL.js +275 -0
- package/dist/chunk-EN2EIVJL.js.map +1 -0
- package/dist/chunk-ENJ2UI5Q.js +127 -0
- package/dist/chunk-ENJ2UI5Q.js.map +1 -0
- package/dist/chunk-EOYF4Z6B.js +212 -0
- package/dist/chunk-EOYF4Z6B.js.map +1 -0
- package/dist/chunk-EVMADMHS.js +108 -0
- package/dist/chunk-EVMADMHS.js.map +1 -0
- package/dist/chunk-EXHULFNH.js +212 -0
- package/dist/chunk-EXHULFNH.js.map +1 -0
- package/dist/chunk-EY6XUWRC.js +141 -0
- package/dist/chunk-EY6XUWRC.js.map +1 -0
- package/dist/chunk-F25QUZ3T.js +127 -0
- package/dist/chunk-F25QUZ3T.js.map +1 -0
- package/dist/chunk-F6PRHM5V.js +2324 -0
- package/dist/chunk-F6PRHM5V.js.map +1 -0
- package/dist/chunk-FAUXJQMT.js +141 -0
- package/dist/chunk-FAUXJQMT.js.map +1 -0
- package/dist/chunk-FGDJX3JA.js +277 -0
- package/dist/chunk-FGDJX3JA.js.map +1 -0
- package/dist/chunk-FRPZDVFW.js +141 -0
- package/dist/chunk-FRPZDVFW.js.map +1 -0
- package/dist/chunk-FS6ACKGM.js +141 -0
- package/dist/chunk-FS6ACKGM.js.map +1 -0
- package/dist/chunk-FWKC2BLZ.js +212 -0
- package/dist/chunk-FWKC2BLZ.js.map +1 -0
- package/dist/chunk-G2H5OP2H.js +49 -0
- package/dist/chunk-G2H5OP2H.js.map +1 -0
- package/dist/chunk-G3EGBV5J.js +108 -0
- package/dist/chunk-G3EGBV5J.js.map +1 -0
- package/dist/chunk-G4J7I73Y.js +37 -0
- package/dist/chunk-G4J7I73Y.js.map +1 -0
- package/dist/chunk-G7Z3HMEW.js +108 -0
- package/dist/chunk-G7Z3HMEW.js.map +1 -0
- package/dist/chunk-GMGE4NOB.js +105 -0
- package/dist/chunk-GMGE4NOB.js.map +1 -0
- package/dist/chunk-GMSFDN7D.js +3629 -0
- package/dist/chunk-GMSFDN7D.js.map +1 -0
- package/dist/chunk-GQC5LNVW.js +63 -0
- package/dist/chunk-GQC5LNVW.js.map +1 -0
- package/dist/chunk-GYYQP4DT.js +127 -0
- package/dist/chunk-GYYQP4DT.js.map +1 -0
- package/dist/chunk-GZBFBCQI.js +63 -0
- package/dist/chunk-GZBFBCQI.js.map +1 -0
- package/dist/chunk-HDKF3UAE.js +127 -0
- package/dist/chunk-HDKF3UAE.js.map +1 -0
- package/dist/chunk-HGLER5MY.js +796 -0
- package/dist/chunk-HGLER5MY.js.map +1 -0
- package/dist/chunk-HQ6KWJFH.js +49 -0
- package/dist/chunk-HQ6KWJFH.js.map +1 -0
- package/dist/chunk-HQQ5ZL6Q.js +49 -0
- package/dist/chunk-HQQ5ZL6Q.js.map +1 -0
- package/dist/chunk-HQZOZBRY.js +2324 -0
- package/dist/chunk-HQZOZBRY.js.map +1 -0
- package/dist/chunk-HRAKHATH.js +150 -0
- package/dist/chunk-HRAKHATH.js.map +1 -0
- package/dist/chunk-ICC54A7E.js +277 -0
- package/dist/chunk-ICC54A7E.js.map +1 -0
- package/dist/chunk-ILSVC4UY.js +3629 -0
- package/dist/chunk-ILSVC4UY.js.map +1 -0
- package/dist/chunk-IM2MIG5M.js +212 -0
- package/dist/chunk-IM2MIG5M.js.map +1 -0
- package/dist/chunk-IMAOZHSC.js +108 -0
- package/dist/chunk-IMAOZHSC.js.map +1 -0
- package/dist/chunk-IQIVBN66.js +273 -0
- package/dist/chunk-IQIVBN66.js.map +1 -0
- package/dist/chunk-IUQBQLM6.js +19 -0
- package/dist/chunk-IUQBQLM6.js.map +1 -0
- package/dist/chunk-IVS3J33K.js +212 -0
- package/dist/chunk-IVS3J33K.js.map +1 -0
- package/dist/chunk-J6D3CAR7.js +127 -0
- package/dist/chunk-J6D3CAR7.js.map +1 -0
- package/dist/chunk-JCKMXITS.js +212 -0
- package/dist/chunk-JCKMXITS.js.map +1 -0
- package/dist/chunk-JCRWKUQ5.js +796 -0
- package/dist/chunk-JCRWKUQ5.js.map +1 -0
- package/dist/chunk-JCT3BKSW.js +3629 -0
- package/dist/chunk-JCT3BKSW.js.map +1 -0
- package/dist/chunk-JDLXU3ZF.js +108 -0
- package/dist/chunk-JDLXU3ZF.js.map +1 -0
- package/dist/chunk-JH4ADQ7I.js +49 -0
- package/dist/chunk-JH4ADQ7I.js.map +1 -0
- package/dist/chunk-JHPVK6CS.js +127 -0
- package/dist/chunk-JHPVK6CS.js.map +1 -0
- package/dist/chunk-JL6ZIJUH.js +2324 -0
- package/dist/chunk-JL6ZIJUH.js.map +1 -0
- package/dist/chunk-JOJQXQLI.js +277 -0
- package/dist/chunk-JOJQXQLI.js.map +1 -0
- package/dist/chunk-K4SYGDQ7.js +63 -0
- package/dist/chunk-K4SYGDQ7.js.map +1 -0
- package/dist/chunk-K5Z6QUIM.js +141 -0
- package/dist/chunk-K5Z6QUIM.js.map +1 -0
- package/dist/chunk-KATJWNBU.js +212 -0
- package/dist/chunk-KATJWNBU.js.map +1 -0
- package/dist/chunk-KD6CGNYU.js +254 -0
- package/dist/chunk-KD6CGNYU.js.map +1 -0
- package/dist/chunk-KFSPN5LV.js +271 -0
- package/dist/chunk-KFSPN5LV.js.map +1 -0
- package/dist/chunk-KFUS56FH.js +796 -0
- package/dist/chunk-KFUS56FH.js.map +1 -0
- package/dist/chunk-KOOW3QLT.js +108 -0
- package/dist/chunk-KOOW3QLT.js.map +1 -0
- package/dist/chunk-KU5KDJJQ.js +212 -0
- package/dist/chunk-KU5KDJJQ.js.map +1 -0
- package/dist/chunk-L65LHFIO.js +141 -0
- package/dist/chunk-L65LHFIO.js.map +1 -0
- package/dist/chunk-LBVZAZ6U.js +63 -0
- package/dist/chunk-LBVZAZ6U.js.map +1 -0
- package/dist/chunk-LHMHEG43.js +796 -0
- package/dist/chunk-LHMHEG43.js.map +1 -0
- package/dist/chunk-LJW6ZBRN.js +273 -0
- package/dist/chunk-LJW6ZBRN.js.map +1 -0
- package/dist/chunk-LQPPJMCT.js +141 -0
- package/dist/chunk-LQPPJMCT.js.map +1 -0
- package/dist/chunk-LRWSKPWW.js +108 -0
- package/dist/chunk-LRWSKPWW.js.map +1 -0
- package/dist/chunk-LSPAPAC6.js +275 -0
- package/dist/chunk-LSPAPAC6.js.map +1 -0
- package/dist/chunk-LYXB4GLH.js +108 -0
- package/dist/chunk-LYXB4GLH.js.map +1 -0
- package/dist/chunk-M2B6MZSF.js +796 -0
- package/dist/chunk-M2B6MZSF.js.map +1 -0
- package/dist/chunk-M6WAUVRX.js +212 -0
- package/dist/chunk-M6WAUVRX.js.map +1 -0
- package/dist/chunk-M7ID5HPC.js +150 -0
- package/dist/chunk-M7ID5HPC.js.map +1 -0
- package/dist/chunk-MIVIXDFN.js +63 -0
- package/dist/chunk-MIVIXDFN.js.map +1 -0
- package/dist/chunk-MKRM77ER.js +127 -0
- package/dist/chunk-MKRM77ER.js.map +1 -0
- package/dist/chunk-MZAIX5H4.js +254 -0
- package/dist/chunk-MZAIX5H4.js.map +1 -0
- package/dist/chunk-N2A27HBQ.js +275 -0
- package/dist/chunk-N2A27HBQ.js.map +1 -0
- package/dist/chunk-N3VKT6PD.js +63 -0
- package/dist/chunk-N3VKT6PD.js.map +1 -0
- package/dist/chunk-N56EOFH7.js +212 -0
- package/dist/chunk-N56EOFH7.js.map +1 -0
- package/dist/chunk-NCDYCEFI.js +141 -0
- package/dist/chunk-NCDYCEFI.js.map +1 -0
- package/dist/chunk-NOLINMVX.js +63 -0
- package/dist/chunk-NOLINMVX.js.map +1 -0
- package/dist/chunk-NR6CZSCD.js +275 -0
- package/dist/chunk-NR6CZSCD.js.map +1 -0
- package/dist/chunk-NR7VYRLX.js +212 -0
- package/dist/chunk-NR7VYRLX.js.map +1 -0
- package/dist/chunk-NSIDPAOP.js +212 -0
- package/dist/chunk-NSIDPAOP.js.map +1 -0
- package/dist/chunk-NSXFJV7H.js +255 -0
- package/dist/chunk-NSXFJV7H.js.map +1 -0
- package/dist/chunk-NV7LKWOG.js +141 -0
- package/dist/chunk-NV7LKWOG.js.map +1 -0
- package/dist/chunk-NWY2GONC.js +268 -0
- package/dist/chunk-NWY2GONC.js.map +1 -0
- package/dist/chunk-O5TVIMND.js +127 -0
- package/dist/chunk-O5TVIMND.js.map +1 -0
- package/dist/chunk-O7RBLP5X.js +63 -0
- package/dist/chunk-O7RBLP5X.js.map +1 -0
- package/dist/chunk-OG2QBBAF.js +49 -0
- package/dist/chunk-OG2QBBAF.js.map +1 -0
- package/dist/chunk-OK3EPS2C.js +2324 -0
- package/dist/chunk-OK3EPS2C.js.map +1 -0
- package/dist/chunk-OLWGRNA6.js +254 -0
- package/dist/chunk-OLWGRNA6.js.map +1 -0
- package/dist/chunk-OQI2W7LB.js +108 -0
- package/dist/chunk-OQI2W7LB.js.map +1 -0
- package/dist/chunk-OS4E6J4B.js +268 -0
- package/dist/chunk-OS4E6J4B.js.map +1 -0
- package/dist/chunk-P2NXBCRI.js +108 -0
- package/dist/chunk-P2NXBCRI.js.map +1 -0
- package/dist/chunk-P6GKWD7Z.js +49 -0
- package/dist/chunk-P6GKWD7Z.js.map +1 -0
- package/dist/chunk-PH3Y26QE.js +275 -0
- package/dist/chunk-PH3Y26QE.js.map +1 -0
- package/dist/chunk-PJ2YHYMS.js +796 -0
- package/dist/chunk-PJ2YHYMS.js.map +1 -0
- package/dist/chunk-PK2FN4VI.js +796 -0
- package/dist/chunk-PK2FN4VI.js.map +1 -0
- package/dist/chunk-PKYF4ATF.js +127 -0
- package/dist/chunk-PKYF4ATF.js.map +1 -0
- package/dist/chunk-PLDMHO2P.js +284 -0
- package/dist/chunk-PLDMHO2P.js.map +1 -0
- package/dist/chunk-PQ5G5Y3F.js +269 -0
- package/dist/chunk-PQ5G5Y3F.js.map +1 -0
- package/dist/chunk-PRFI5PWG.js +3629 -0
- package/dist/chunk-PRFI5PWG.js.map +1 -0
- package/dist/chunk-PYYIF6GR.js +108 -0
- package/dist/chunk-PYYIF6GR.js.map +1 -0
- package/dist/chunk-Q35VQXCA.js +288 -0
- package/dist/chunk-Q35VQXCA.js.map +1 -0
- package/dist/chunk-Q4DBAKJC.js +127 -0
- package/dist/chunk-Q4DBAKJC.js.map +1 -0
- package/dist/chunk-Q7VF2XEQ.js +141 -0
- package/dist/chunk-Q7VF2XEQ.js.map +1 -0
- package/dist/chunk-QBGHXA67.js +141 -0
- package/dist/chunk-QBGHXA67.js.map +1 -0
- package/dist/chunk-QBMZ6QXX.js +212 -0
- package/dist/chunk-QBMZ6QXX.js.map +1 -0
- package/dist/chunk-QFBKNCBJ.js +141 -0
- package/dist/chunk-QFBKNCBJ.js.map +1 -0
- package/dist/chunk-QJIALKBF.js +141 -0
- package/dist/chunk-QJIALKBF.js.map +1 -0
- package/dist/chunk-QMUTPVWG.js +108 -0
- package/dist/chunk-QMUTPVWG.js.map +1 -0
- package/dist/chunk-QQB223M6.js +49 -0
- package/dist/chunk-QQB223M6.js.map +1 -0
- package/dist/chunk-R2PTF2HJ.js +2324 -0
- package/dist/chunk-R2PTF2HJ.js.map +1 -0
- package/dist/chunk-R2UDBW7V.js +141 -0
- package/dist/chunk-R2UDBW7V.js.map +1 -0
- package/dist/chunk-R6XUP4YU.js +105 -0
- package/dist/chunk-R6XUP4YU.js.map +1 -0
- package/dist/chunk-RBFAHNA3.js +127 -0
- package/dist/chunk-RBFAHNA3.js.map +1 -0
- package/dist/chunk-RBTYJWYS.js +141 -0
- package/dist/chunk-RBTYJWYS.js.map +1 -0
- package/dist/chunk-RCDRPUUW.js +212 -0
- package/dist/chunk-RCDRPUUW.js.map +1 -0
- package/dist/chunk-REVPMYRN.js +127 -0
- package/dist/chunk-REVPMYRN.js.map +1 -0
- package/dist/chunk-RFPY65DW.js +127 -0
- package/dist/chunk-RFPY65DW.js.map +1 -0
- package/dist/chunk-RJYSPPZR.js +105 -0
- package/dist/chunk-RJYSPPZR.js.map +1 -0
- package/dist/chunk-RK473OTT.js +141 -0
- package/dist/chunk-RK473OTT.js.map +1 -0
- package/dist/chunk-RNK6YLW4.js +275 -0
- package/dist/chunk-RNK6YLW4.js.map +1 -0
- package/dist/chunk-RP6FR5KI.js +63 -0
- package/dist/chunk-RP6FR5KI.js.map +1 -0
- package/dist/chunk-RPJ5IR43.js +277 -0
- package/dist/chunk-RPJ5IR43.js.map +1 -0
- package/dist/chunk-RU2M3L6Z.js +212 -0
- package/dist/chunk-RU2M3L6Z.js.map +1 -0
- package/dist/chunk-RU6VCNTG.js +127 -0
- package/dist/chunk-RU6VCNTG.js.map +1 -0
- package/dist/chunk-RUEFVGLB.js +275 -0
- package/dist/chunk-RUEFVGLB.js.map +1 -0
- package/dist/chunk-S6MO4YII.js +796 -0
- package/dist/chunk-S6MO4YII.js.map +1 -0
- package/dist/chunk-S7G36BAF.js +212 -0
- package/dist/chunk-S7G36BAF.js.map +1 -0
- package/dist/chunk-SGKB56KP.js +150 -0
- package/dist/chunk-SGKB56KP.js.map +1 -0
- package/dist/chunk-SGTG53XI.js +141 -0
- package/dist/chunk-SGTG53XI.js.map +1 -0
- package/dist/chunk-SJKGGE46.js +63 -0
- package/dist/chunk-SJKGGE46.js.map +1 -0
- package/dist/chunk-SOGN63YT.js +212 -0
- package/dist/chunk-SOGN63YT.js.map +1 -0
- package/dist/chunk-SOWNENZM.js +108 -0
- package/dist/chunk-SOWNENZM.js.map +1 -0
- package/dist/chunk-SPQO2KWH.js +796 -0
- package/dist/chunk-SPQO2KWH.js.map +1 -0
- package/dist/chunk-SSKS77V7.js +108 -0
- package/dist/chunk-SSKS77V7.js.map +1 -0
- package/dist/chunk-T23IRAHE.js +212 -0
- package/dist/chunk-T23IRAHE.js.map +1 -0
- package/dist/chunk-T6E2JX5B.js +49 -0
- package/dist/chunk-T6E2JX5B.js.map +1 -0
- package/dist/chunk-T7KFCASW.js +63 -0
- package/dist/chunk-T7KFCASW.js.map +1 -0
- package/dist/chunk-THG4N3FI.js +63 -0
- package/dist/chunk-THG4N3FI.js.map +1 -0
- package/dist/chunk-TUK6AZZO.js +150 -0
- package/dist/chunk-TUK6AZZO.js.map +1 -0
- package/dist/chunk-UAUID5ML.js +273 -0
- package/dist/chunk-UAUID5ML.js.map +1 -0
- package/dist/chunk-UCLF63CE.js +212 -0
- package/dist/chunk-UCLF63CE.js.map +1 -0
- package/dist/chunk-UCLFGGFU.js +276 -0
- package/dist/chunk-UCLFGGFU.js.map +1 -0
- package/dist/chunk-UD24DKE6.js +105 -0
- package/dist/chunk-UD24DKE6.js.map +1 -0
- package/dist/chunk-UFL43KWY.js +141 -0
- package/dist/chunk-UFL43KWY.js.map +1 -0
- package/dist/chunk-UMNQJFSG.js +3629 -0
- package/dist/chunk-UMNQJFSG.js.map +1 -0
- package/dist/chunk-UNMUTILO.js +105 -0
- package/dist/chunk-UNMUTILO.js.map +1 -0
- package/dist/chunk-UP54IQOK.js +105 -0
- package/dist/chunk-UP54IQOK.js.map +1 -0
- package/dist/chunk-UUJ5KHJI.js +105 -0
- package/dist/chunk-UUJ5KHJI.js.map +1 -0
- package/dist/chunk-UYXYA627.js +141 -0
- package/dist/chunk-UYXYA627.js.map +1 -0
- package/dist/chunk-VICWI4OU.js +108 -0
- package/dist/chunk-VICWI4OU.js.map +1 -0
- package/dist/chunk-VRBN7BUO.js +212 -0
- package/dist/chunk-VRBN7BUO.js.map +1 -0
- package/dist/chunk-VRKWQVK3.js +2324 -0
- package/dist/chunk-VRKWQVK3.js.map +1 -0
- package/dist/chunk-VSLAOZQD.js +212 -0
- package/dist/chunk-VSLAOZQD.js.map +1 -0
- package/dist/chunk-VSYBVVQG.js +108 -0
- package/dist/chunk-VSYBVVQG.js.map +1 -0
- package/dist/chunk-VUL3LBEC.js +2324 -0
- package/dist/chunk-VUL3LBEC.js.map +1 -0
- package/dist/chunk-VVQHCLKU.js +212 -0
- package/dist/chunk-VVQHCLKU.js.map +1 -0
- package/dist/chunk-VWQKIEMF.js +273 -0
- package/dist/chunk-VWQKIEMF.js.map +1 -0
- package/dist/chunk-VY2GZXYM.js +141 -0
- package/dist/chunk-VY2GZXYM.js.map +1 -0
- package/dist/chunk-VZ56KTEJ.js +127 -0
- package/dist/chunk-VZ56KTEJ.js.map +1 -0
- package/dist/chunk-W3L4ZQJJ.js +212 -0
- package/dist/chunk-W3L4ZQJJ.js.map +1 -0
- package/dist/chunk-WAO36MW5.js +63 -0
- package/dist/chunk-WAO36MW5.js.map +1 -0
- package/dist/chunk-WCOULWN4.js +150 -0
- package/dist/chunk-WCOULWN4.js.map +1 -0
- package/dist/chunk-WIFDOPMN.js +127 -0
- package/dist/chunk-WIFDOPMN.js.map +1 -0
- package/dist/chunk-WJYDNUZB.js +141 -0
- package/dist/chunk-WJYDNUZB.js.map +1 -0
- package/dist/chunk-WNRV6HEX.js +127 -0
- package/dist/chunk-WNRV6HEX.js.map +1 -0
- package/dist/chunk-WRJ773IL.js +127 -0
- package/dist/chunk-WRJ773IL.js.map +1 -0
- package/dist/chunk-WV7E5QWR.js +108 -0
- package/dist/chunk-WV7E5QWR.js.map +1 -0
- package/dist/chunk-WVIQHL36.js +288 -0
- package/dist/chunk-WVIQHL36.js.map +1 -0
- package/dist/chunk-WX6ECDMM.js +108 -0
- package/dist/chunk-WX6ECDMM.js.map +1 -0
- package/dist/chunk-XDRQWJU4.js +127 -0
- package/dist/chunk-XDRQWJU4.js.map +1 -0
- package/dist/chunk-XJYGT7M7.js +141 -0
- package/dist/chunk-XJYGT7M7.js.map +1 -0
- package/dist/chunk-XOZOZ2EK.js +3629 -0
- package/dist/chunk-XOZOZ2EK.js.map +1 -0
- package/dist/chunk-XSOHRWJR.js +19 -0
- package/dist/chunk-XSOHRWJR.js.map +1 -0
- package/dist/chunk-YH2WPBJA.js +150 -0
- package/dist/chunk-YH2WPBJA.js.map +1 -0
- package/dist/chunk-YHNYCAVM.js +212 -0
- package/dist/chunk-YHNYCAVM.js.map +1 -0
- package/dist/chunk-YKWBKP5W.js +63 -0
- package/dist/chunk-YKWBKP5W.js.map +1 -0
- package/dist/chunk-YRKENLA3.js +796 -0
- package/dist/chunk-YRKENLA3.js.map +1 -0
- package/dist/chunk-YUXO7TSK.js +272 -0
- package/dist/chunk-YUXO7TSK.js.map +1 -0
- package/dist/chunk-YVM525DY.js +105 -0
- package/dist/chunk-YVM525DY.js.map +1 -0
- package/dist/chunk-Z4PZFJT2.js +127 -0
- package/dist/chunk-Z4PZFJT2.js.map +1 -0
- package/dist/chunk-Z5U5Q34M.js +150 -0
- package/dist/chunk-Z5U5Q34M.js.map +1 -0
- package/dist/chunk-ZCBBFBGM.js +212 -0
- package/dist/chunk-ZCBBFBGM.js.map +1 -0
- package/dist/chunk-ZGP7RCSE.js +63 -0
- package/dist/chunk-ZGP7RCSE.js.map +1 -0
- package/dist/chunk-ZH2NXJHL.js +3629 -0
- package/dist/chunk-ZH2NXJHL.js.map +1 -0
- package/dist/chunk-ZHGPXPGH.js +278 -0
- package/dist/chunk-ZHGPXPGH.js.map +1 -0
- package/dist/chunk-ZLZWFEEQ.js +37 -0
- package/dist/chunk-ZLZWFEEQ.js.map +1 -0
- package/dist/chunk-ZM6PIKKI.js +275 -0
- package/dist/chunk-ZM6PIKKI.js.map +1 -0
- package/dist/chunk-ZNCI5EUG.js +108 -0
- package/dist/chunk-ZNCI5EUG.js.map +1 -0
- package/dist/chunk-ZYUWIV3D.js +63 -0
- package/dist/chunk-ZYUWIV3D.js.map +1 -0
- package/dist/chunk-ZZI5775T.js +127 -0
- package/dist/chunk-ZZI5775T.js.map +1 -0
- package/dist/components/AddressContainer/CoreAddressContainer.js +10 -11
- package/dist/components/AddressContainer/EVMAddressContainer.js +9 -10
- package/dist/components/AddressContainer/addressSwitcher.js +7 -8
- package/dist/components/AddressContainer/addressView.js +6 -7
- package/dist/components/AddressContainer/label.js +4 -4
- package/dist/components/Age/index.js +4 -4
- package/dist/components/Charts/PreviewChartTemplate.js +1 -1
- package/dist/components/Charts/StockChartTemplate.js +1 -1
- package/dist/components/CopyButton/index.js +3 -3
- package/dist/components/DownloadCSV/index.js +4 -4
- package/dist/components/GasPriceDropdown/index.js +2 -2
- package/dist/components/IncreasePercent/index.js +2 -2
- package/dist/components/InfoIconWithTooltip/index.js +3 -3
- package/dist/components/Modal/index.js +3 -3
- package/dist/components/NetworkIcon/index.js +2 -2
- package/dist/components/PhishingAddressContainer/index.js +4 -5
- package/dist/components/PhishingAddressContainer/index.js.map +1 -1
- package/dist/components/Price/index.js +3 -3
- package/dist/components/Radio/index.js +2 -2
- package/dist/components/Select/index.js +3 -3
- package/dist/components/Select/select.js +3 -3
- package/dist/components/Text/index.js +4 -4
- package/dist/components/Tooltip/index.js +3 -3
- package/dist/components/TransactionAction/coreTransactionAction.js +10 -11
- package/dist/components/TransactionAction/coreTransactionAction.js.map +1 -1
- package/dist/components/TransactionAction/evmTransactionAction.js +9 -10
- package/dist/components/TransactionAction/evmTransactionAction.js.map +1 -1
- package/dist/utils/address.d.ts +4 -5
- package/dist/utils/address.js +2 -4
- package/dist/utils/contractManagerTool.js +2 -2
- package/dist/utils/hooks/useENS.js +3 -4
- package/dist/utils/index.js +2 -2
- package/dist/utils/request.d.ts +6 -1
- package/dist/utils/request.js +7 -1
- package/dist/utils/request.types.d.ts +55 -0
- package/dist/utils/request.types.js +1 -0
- package/dist/utils/request.types.js.map +1 -0
- package/dist/utils/rpcRequest.js +31 -3
- package/dist/utils/rpcRequest.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils/index.ts"],"sourcesContent":["import BigNumber from 'bignumber.js';\nimport dayjs from 'dayjs';\nimport { type ClassValue, clsx } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\nimport { utils as ethersUtils } from 'ethers';\nimport { LOCALSTORAGE_KEYS_MAP, getCurrencySymbol } from './constants';\nimport { fetch } from './request';\nimport { GlobalDataType, NetworkSpace, NetworksType } from 'src/store/types';\nimport IconCore from '../images/core-space/icon.svg';\nimport IconEvm from '../images/espace/icon.svg';\nimport IconBtc from '../images/bspace/icon.svg';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\nexport const toThousands = (num: any, delimiter = ',', prevDelimiter = ',') => {\n if ((typeof num !== 'number' || isNaN(num)) && typeof num !== 'string')\n return '';\n let str = num + '';\n return str\n .replace(new RegExp(prevDelimiter, 'igm'), '')\n .split('.')\n .reduce((acc, cur, index) => {\n if (index) {\n return `${acc}.${cur}`;\n } else {\n return cur.replace(/(\\d{1,3})(?=(\\d{3})+(?:$|\\.))/g, `$1${delimiter}`);\n }\n }, '');\n};\n\nexport const getEllipsStr = (str: string, frontNum: number, endNum: number) => {\n if (str) {\n const length = str.length;\n if (endNum === 0 && length <= frontNum) {\n return str.substring(0, frontNum);\n }\n return (\n str.substring(0, frontNum) +\n '...' +\n str.substring(length - endNum, length)\n );\n }\n return '';\n};\n\nexport const transferToLowerCase = (str: string) => {\n return str ? str.toLowerCase() : '';\n};\n\nfunction hex2asc(pStr: string) {\n let tempstr = '';\n for (let b = 0; b < pStr.length; b += 2) {\n tempstr += String.fromCharCode(parseInt(pStr.slice(b, b + 2), 16));\n }\n return tempstr;\n}\n\nexport const hex2utf8 = (pStr: string) => {\n let tempstr = '';\n try {\n tempstr = decodeURIComponent(\n pStr.replace(/\\s+/g, '').replace(/[0-9a-f]{2}/g, '%$&'),\n );\n } catch (err) {\n tempstr = hex2asc(pStr);\n }\n return tempstr;\n};\n\n// alternative of String.prototype.replaceAll\nexport const replaceAll = (str: string, find: string, replace: string) => {\n return str.replace(\n new RegExp(find.replace(/[.*+\\-?^${}()|[\\]\\\\]/g, '\\\\$&'), 'g'),\n replace,\n );\n};\n\n/**\n * 格式化字符串,向下取整\n * @param {number|string} num 数字或字符串,应尽量使用字符串格式,数字格式如果长度超过 Number.MAX_SAFE_INTEGER 或 Number.MIN_SAFE_INTEGER 可能会有精度损失\n * @param {object} opt 配置参数\n * @returns {string} 格式化后字符串格式数字\n * @todo: 支持四舍五入,向上取整\n * @todo: 支持整数位小数设置精度\n * @todo: 支持负数格式化\n */\nexport const formatNumber = (num: number | string | BigNumber, opt?: any) => {\n // 无法通过 bignumber.js 格式化的不处理\n let bNum = new BigNumber(num).toFixed();\n if (bNum === 'NaN') {\n return '';\n }\n const option = {\n precision: 3, // 保留小数精度数(注意整数位小数的精度固定为 3,原因是受千分符影响)\n keepDecimal: true, // 是否保留小数位(注意如果整数部分带有小数位,则不保留实际小数位,原因是会显示两个小数点,会误解)\n keepZero: false, // 是否保留小数位的 0(注意此配置优先级高于 precision,会清除 precision 添加的 0)\n delimiter: ',', // 自定义分隔符\n withUnit: true, // 是否显示单位\n unit: '', // 指定单位\n ...opt,\n };\n // 0. 定义返回值\n let int = '';\n let decimal = '';\n let result = '';\n /**\n * 1. 定义单位\n * K - kilo, 10³\n * M - mega, 10⁶\n * G - giga, 10⁹\n * T - tera, 10¹²\n * P - peta, 10¹⁵\n * E - exa, 10¹⁸\n * Z - zetta, 10²¹\n * Y - yotta, 10²⁴\n */\n const UNITS = ['', 'K', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y'];\n // 2. 拆分出整数和小数,小数默认值为 0\n const [intStr, decimalStr = '0'] = bNum.split('.');\n // 3. 只能处理 27 位数的单位,大于 27 位的字符串从头部截断保留\n // 3.1 获取大于小数点前 27 位的数字 intStrFront\n let intStrFront = intStr ? intStr.slice(-Infinity, -27) : 0;\n // 3.2 获取小数点前 27 位数字 intStrEnd\n let intStrEnd = intStr ? intStr.slice(-27) : 0;\n // 4. intStrEnd 转千分符形式\n const intStrEndAfterToThousands = toThousands(intStrEnd, option.delimiter);\n // 5. intStrEnd 添加单位,此处不对数字有效性做验证,即可能值为 100.000,100.000k 或 000.000Y\n let intStrEndWithUnit = '';\n\n if (option.withUnit === false) {\n intStrEndWithUnit = intStrEndAfterToThousands;\n } else {\n let unitIndex = 1;\n if (option.unit !== '' && UNITS.includes(option.unit)) {\n unitIndex =\n intStrEndAfterToThousands.split(option.delimiter).length -\n UNITS.findIndex(u => u === option.unit);\n }\n if (unitIndex > 0) {\n intStrEndWithUnit = intStrEndAfterToThousands\n .split(option.delimiter)\n .reduce((prev, curr, index, arr) => {\n const len = arr.length;\n // 无单位整数,为了后面方便处理统一格式\n if (len === 1) {\n return `${curr}.000`;\n }\n if (index === 0) {\n return curr;\n } else if (index === unitIndex) {\n return `${prev}.${curr}${UNITS[len - index]}`;\n } else if (index < unitIndex) {\n return `${prev},${curr}`;\n } else {\n return prev;\n }\n }, '');\n } else {\n intStrEndWithUnit = intStrEndAfterToThousands;\n }\n }\n // 6. 格式化整数\n if (intStrFront) {\n // 如果数字长度超过 27 位,则前面的数字用千分符分割\n int = `${toThousands(intStrFront, option.delimiter)}${\n option.delimiter\n }${intStrEndWithUnit}`;\n } else {\n int = intStrEndWithUnit;\n }\n // 7. 格式化小数\n decimal = new BigNumber(`0.${decimalStr}`).toPrecision(option.precision, 1);\n // 8. 拼接整数,小数和单位\n let unit = int.slice(-1);\n let intWithoutUnit = int;\n if (int && UNITS.includes(unit)) {\n // 8.1 整数位包含单位,则不显示实际小数部分\n if (option.keepDecimal) {\n // 保留整数位整数 + 整数位小数\n intWithoutUnit = int.slice(-Infinity, -1);\n } else {\n // 仅保留整数位整数\n intWithoutUnit = intWithoutUnit.split('.')[0] || '';\n }\n result = `${intWithoutUnit}${unit}`;\n } else {\n unit = '';\n // 8.2 整数位为 0 或无单位整数,拼接小数位\n if (option.keepDecimal) {\n result = new BigNumber(int.toString().replace(/,/g, ''))\n .plus(new BigNumber(decimal))\n .toFixed(option.precision, 1);\n } else {\n result = int.split('.')[0] || '';\n }\n intWithoutUnit = result;\n }\n // 9. 处理小数部分的 0\n if (!option.keepZero) {\n result = `${new BigNumber(\n replaceAll(intWithoutUnit, option.delimiter, ''),\n ).toFormat()}${unit}`;\n }\n // 10. 格式化千分符\n result = toThousands(result);\n return result;\n};\n\nexport const roundToFixedPrecision = (\n number: number | string,\n precision: number,\n method = 'ROUND',\n) => {\n if (number === '') {\n return '--';\n }\n if (typeof number === 'string' && number.includes('<')) {\n return number;\n }\n\n const regex = /^([+-]?[0-9]*\\.?[0-9]+)(\\D*)$/;\n let matches = String(number).match(regex);\n if (!matches) {\n matches = [String(number), ''];\n }\n const suffix = matches[2] || '';\n\n const numberFormat = parseFloat(matches[1] ?? '');\n const factor = Math.pow(10, precision);\n let resultNum: number;\n\n switch (method) {\n case 'FLOOR':\n resultNum = Math.floor(numberFormat * factor) / factor;\n break;\n case 'CEIL':\n resultNum = Math.ceil(numberFormat * factor) / factor;\n break;\n case 'ROUND':\n default:\n resultNum = Math.round((numberFormat + Number.EPSILON) * factor) / factor;\n }\n return resultNum.toFixed(precision) + suffix;\n};\n\nexport const getPercent = (\n divisor: number | string | BigNumber,\n dividend: number | string | BigNumber,\n precision?: number,\n) => {\n if (Number(dividend) === 0) return 0 + '%';\n const bnDivisor = new BigNumber(divisor);\n const bnDividend = new BigNumber(dividend);\n const percentageNum = formatNumber(\n bnDivisor.dividedBy(bnDividend).multipliedBy(100).toNumber(),\n );\n if (precision || precision === 0) {\n const percentageNumPrecision = roundToFixedPrecision(\n percentageNum,\n precision,\n );\n if (percentageNumPrecision === '100.00') {\n return '100%';\n } else if (percentageNumPrecision === '0.00') {\n return '0%';\n }\n return roundToFixedPrecision(percentageNum, precision) + '%';\n }\n\n return `${percentageNum}%`;\n};\n\nexport const formatTimeStamp = (\n time: number,\n type?: 'standard' | 'timezone',\n) => {\n let result: string;\n try {\n switch (type) {\n case 'standard':\n result = dayjs(time).format('YYYY-MM-DD HH:mm:ss');\n break;\n case 'timezone':\n result = dayjs(time).format('YYYY-MM-DD HH:mm:ss Z');\n break;\n default:\n result = dayjs(time).format('YYYY-MM-DD HH:mm:ss');\n }\n } catch (error) {\n result = '';\n }\n return result;\n};\n\nexport const fromGdripToDrip = (num: number | string) =>\n new BigNumber(num).multipliedBy(10 ** 9);\n\nexport const fromCfxToDrip = (num: number | string) =>\n new BigNumber(num).multipliedBy(10 ** 18);\n\nexport const formatBalance = (\n balance: any,\n decimals = 18,\n isShowFull = false,\n opt = {},\n ltValue?: number | string,\n) => {\n try {\n const balanceValue =\n typeof balance === 'string' || typeof balance === 'number'\n ? new BigNumber(balance)\n : balance;\n const num = balanceValue.div(new BigNumber(10).pow(decimals));\n if (num.eq(0)) {\n return num.toFixed();\n }\n if (isShowFull) {\n return toThousands(num.toFixed());\n }\n if (ltValue && num.lt(ltValue)) {\n return `<${ltValue}`;\n }\n return formatNumber(num.toString(), opt);\n } catch {\n return '';\n }\n};\n\ninterface BodyElement extends HTMLBodyElement {\n createTextRange?(): Range;\n}\nexport const selectText = (element: HTMLElement) => {\n var range: any,\n selection: any,\n body = document.body as BodyElement;\n if (body.createTextRange) {\n range = body.createTextRange();\n range.moveToElementText(element);\n range.select();\n } else if (window.getSelection) {\n selection = window.getSelection();\n range = document.createRange();\n range.selectNodeContents(element);\n selection.removeAllRanges();\n selection.addRange(range);\n }\n};\n\nexport const isHash = (str: string) => {\n return /^0x[0-9a-fA-F]{64}$/.test(str);\n};\n\nexport const isBlockHash = async (str: string) => {\n if (!isHash(str)) return false;\n let isBlock = true;\n try {\n const block: any = await fetch(`/v1/block/${str}`);\n // server side will return {} when no block found\n if (!block.hash || block.code !== undefined) isBlock = false;\n } catch (err) {\n isBlock = false;\n }\n\n return isBlock;\n};\n\nexport const isTxHash = async (str: string) => {\n if (!isHash(str)) return false;\n return !(await isBlockHash(str));\n};\n\nexport function validURL(str: string) {\n var pattern = new RegExp(\n '^(https?:\\\\/\\\\/)?' + // protocol\n '((([a-z\\\\d]([a-z\\\\d-]*[a-z\\\\d])*)\\\\.)+[a-z]{2,}|' + // domain name\n '((\\\\d{1,3}\\\\.){3}\\\\d{1,3}))' + // OR ip (v4) address\n '(\\\\:\\\\d+)?(\\\\/[-a-z\\\\d%_.~+]*)*' + // port and path\n '(\\\\?[;&a-z\\\\d%_.~+=-]*)?' + // query string\n '(\\\\#[-a-z\\\\d_]*)?$',\n 'i',\n ); // fragment locator\n return !!pattern.test(str);\n}\n\nexport function byteToKb(bytes: number) {\n return bytes / 1024;\n}\n\nexport function isObject(o: any) {\n return o !== null && typeof o === 'object' && Array.isArray(o) === false;\n}\n\nexport function checkInt(value: string, type: string) {\n const num = Number(type.slice(3));\n const min = new BigNumber(2).pow(num - 1).multipliedBy(-1);\n const max = new BigNumber(2).pow(num - 1).minus(1);\n let isType = false;\n if (!isNaN(Number(value))) {\n const valNum = new BigNumber(value);\n if (\n valNum.isInteger() &&\n valNum.isGreaterThanOrEqualTo(min) &&\n valNum.isLessThanOrEqualTo(max)\n ) {\n isType = true;\n } else {\n isType = false;\n }\n } else {\n isType = false;\n }\n return [isType, num, min.toString(), max.toString()];\n}\n\nexport function checkUint(value: string, type: string) {\n const num = Number(type.slice(4));\n const min = new BigNumber(0);\n const max = new BigNumber(Math.pow(2, num)).minus(1);\n let isType = false;\n if (!isNaN(Number(value))) {\n const valNum = new BigNumber(value);\n if (\n valNum.isInteger() &&\n valNum.isGreaterThanOrEqualTo(min) &&\n valNum.isLessThanOrEqualTo(max)\n ) {\n isType = true;\n } else {\n isType = false;\n }\n } else {\n isType = false;\n }\n return [isType, num, min.toFixed(), max.toFixed()];\n}\n\nexport function isHex(num: string, withPrefix = true) {\n const reg = withPrefix ? /^0x[0-9a-f]*$/i : /^(0x)?[0-9a-f]*$/i;\n return Boolean(num.match(reg));\n}\n\nexport function isEvenLength(str: string) {\n const length = str.length;\n return length > 0 && length % 2 === 0;\n}\n\nexport function checkBytes(value: string, type: string) {\n if (type === 'byte') {\n type = 'bytes1';\n }\n const num = Number(type.slice(5));\n let isBytes = false;\n if (!value) return [isBytes, num];\n if (isHex(value) && isEvenLength(value)) {\n if (num > 0) {\n const str = value.slice(2);\n const buffer = Buffer.from(str, 'hex');\n if (buffer.length === num) {\n isBytes = true;\n } else {\n isBytes = false;\n }\n } else {\n isBytes = true;\n }\n } else {\n isBytes = false;\n }\n return [isBytes, num];\n}\n\nexport function checkCfxType(value: string | number) {\n if (isNaN(Number(value))) {\n return false;\n }\n const valNum = new BigNumber(value);\n if (valNum.isNegative()) {\n return false;\n }\n let index = String(value).indexOf('.');\n if (index !== -1) {\n if (String(value).slice(index + 1).length > 18) {\n return false;\n } else {\n return true;\n }\n } else {\n return true;\n }\n}\n\nexport const sleep = (timeout: number) =>\n new Promise(resolve => setTimeout(resolve, timeout));\n\n// get two block interval time\nexport const getTimeByBlockInterval = (\n minuend = 0,\n subtrahend = 0,\n blockInterval = 0.5,\n) => {\n const seconds = new BigNumber(minuend)\n .minus(subtrahend)\n .multipliedBy(blockInterval)\n .toNumber();\n const dayBase = 86400;\n const hourBase = 3600;\n const days = Math.floor(seconds / dayBase);\n const deltaSecond = seconds - days * 86400;\n const hours = Math.floor(deltaSecond / hourBase);\n return { days, hours, seconds };\n};\n\n/**\n *\n * @param {number|string} data\n * @returns {boolean}\n * @example\n * 0 -> true\n * . -> true\n * 0. -> true\n * .0 -> true\n * 0.0 -> true\n * 0..0 -> false\n * x -> false\n * e -> false\n * @todo support config, such as negative and exponential notation\n */\n\n/**\n *\n * @param {number|string} data\n * @returns {boolean}\n * @example\n * 0 -> true\n * . -> false\n * 11 -> true\n * 011 -> false\n * -1 -> false\n */\nexport const isSafeNumberOrNumericStringInput = (data: string) =>\n /^\\d+\\.?\\d*$|^\\.\\d*$/.test(data);\n\nexport const isZeroOrPositiveInteger = (data: string) =>\n /^(0|[1-9]\\d*)$/.test(data);\n\nexport const parseString = (v: string) => {\n if (typeof v === 'string' && !v.startsWith('0x')) {\n return Buffer.from(v);\n }\n return v;\n};\n\n// process datepicker initial value\nexport const getInitialDate = (minTimestamp: number, maxTimestamp: number) => {\n const startDate = dayjs('2020-10-29T00:00:00+08:00');\n const endDate = dayjs();\n const innerMinTimestamp = minTimestamp\n ? dayjs(new Date(parseInt((minTimestamp + '000') as string)))\n : startDate;\n const innerMaxTimestamp = maxTimestamp\n ? dayjs(new Date(parseInt((maxTimestamp + '000') as string)))\n : endDate;\n const disabledDateD1 = (date: dayjs.Dayjs) =>\n date &&\n (date > innerMaxTimestamp.endOf('day') ||\n date < startDate.subtract(1, 'day').endOf('day'));\n const disabledDateD2 = (date: dayjs.Dayjs) =>\n date &&\n (date < innerMinTimestamp.subtract(1, 'day').endOf('day') ||\n date > endDate.endOf('day'));\n\n return {\n minT: innerMinTimestamp,\n maxT: innerMaxTimestamp,\n dMinT: disabledDateD1,\n dMaxT: disabledDateD2,\n };\n};\n\nexport const addIPFSGateway = (\n imgURL: string,\n IPFSGatewayURL: string,\n): string => {\n if (\n typeof imgURL === 'string' &&\n typeof IPFSGatewayURL === 'string' &&\n imgURL.startsWith('ipfs://')\n ) {\n imgURL = `${IPFSGatewayURL}/${imgURL.replace('ipfs://', 'ipfs/')}`;\n }\n\n return imgURL;\n};\n\nexport const isLikeBigNumber = (obj: any) => {\n if (obj === null || typeof obj !== 'object') {\n return false;\n }\n return 's' in obj && 'e' in obj && 'c' in obj && Array.isArray(obj.c);\n};\n\ntype NestedArray = (string | number | BigNumber | NestedArray)[];\ntype NestedObject = {\n [key: string]: BigNumber | string | NestedObject | NestedObject[];\n};\nexport const convertBigNumbersToStrings: any = (input: NestedArray) => {\n return input.map((item: any) => {\n if (item instanceof Uint8Array) {\n return item;\n }\n if (Array.isArray(item)) {\n return convertBigNumbersToStrings(item);\n } else if (\n item !== null &&\n typeof item === 'object' &&\n !isLikeBigNumber(item)\n ) {\n return convertObjBigNumbersToStrings(item);\n } else if (isLikeBigNumber(item)) {\n return item.toString(10);\n } else {\n return item;\n }\n });\n};\nexport const convertObjBigNumbersToStrings: any = (input: NestedArray) => {\n const newObj: NestedObject = {};\n if (Array.isArray(input)) {\n return convertBigNumbersToStrings(input);\n }\n for (let key in input as any) {\n if (isLikeBigNumber(input[key])) {\n newObj[key] = (input[key] as BigNumber).toString(10);\n } else if (Array.isArray(input[key])) {\n newObj[key] = convertBigNumbersToStrings(input[key]);\n } else if (typeof input[key] === 'object') {\n newObj[key] = convertObjBigNumbersToStrings(input[key] as NestedObject);\n } else {\n newObj[key] = input[key];\n }\n }\n return newObj;\n};\nexport const constprocessResultArray = (resultArray: NestedArray) => {\n if (typeof resultArray === 'string') {\n return resultArray;\n }\n const processElement: any = (element: any) => {\n if (Array.isArray(element)) {\n return element.map(processElement);\n } else if (element.type && element.type === 'Buffer') {\n let result = element.data\n .map((byte: number) => ('00' + byte.toString(16)).slice(-2))\n .join('');\n if (!result.startsWith('0x')) {\n result = '0x' + result;\n }\n return result;\n } else {\n return element;\n }\n };\n\n const inputArray = Array.isArray(resultArray) ? resultArray : [resultArray];\n return inputArray.map(processElement);\n};\n\nexport const formatLargeNumber = (number: string | number | BigNumber) => {\n const num = new BigNumber(number);\n\n if (num.isNaN()) {\n return { value: null, unit: '' };\n }\n\n const T = new BigNumber(10).pow(12);\n const P = new BigNumber(10).pow(15);\n const E = new BigNumber(10).pow(18);\n\n if (num.isGreaterThanOrEqualTo(E)) {\n const result = num.dividedBy(E);\n return {\n value: result.isNaN() ? null : result.toString(),\n unit: 'E',\n };\n } else if (num.isGreaterThanOrEqualTo(P)) {\n const result = num.dividedBy(P);\n return {\n value: result.isNaN() ? null : result.toString(),\n unit: 'P',\n };\n } else if (num.isGreaterThanOrEqualTo(T)) {\n const result = num.dividedBy(T);\n return {\n value: result.isNaN() ? null : result.toString(),\n unit: 'T',\n };\n } else {\n return {\n value: num.toString(),\n unit: '',\n };\n }\n};\n\nconst EPS = new BigNumber(1e-6);\n\nexport function transferRisk(riskStr: string) {\n const riskNum = new BigNumber(riskStr);\n\n if (riskNum.isNaN()) {\n return '';\n }\n // risk > 1e-4*(1+EPS)\n if (riskNum.isGreaterThan(new BigNumber(1e-4).times(EPS.plus(1)))) {\n return 'lv3';\n }\n // risk > 1e-6*(1+EPS)\n if (riskNum.isGreaterThan(new BigNumber(1e-6).times(EPS.plus(1)))) {\n return 'lv2';\n }\n // risk > 1e-8*(1+EPS)\n if (riskNum.isGreaterThan(new BigNumber(1e-8).times(EPS.plus(1)))) {\n return 'lv1';\n }\n return 'lv0';\n}\n\nexport const mergeDeep = (...objects: any[]): any => {\n return objects.reduce((prev, obj) => {\n if (isObject(obj)) {\n Object.keys(obj).forEach(key => {\n const pVal = prev[key];\n const oVal = obj[key];\n\n if (Array.isArray(pVal) && Array.isArray(oVal)) {\n prev[key] = pVal.concat(oVal);\n } else if (isObject(pVal) && isObject(oVal)) {\n prev[key] = mergeDeep(pVal, oVal);\n } else {\n prev[key] = oVal;\n }\n });\n }\n return prev;\n }, {});\n};\n\nexport const HIDE_IN_DOT_NET =\n /.net$/.test(window.location.host) &&\n localStorage.getItem(LOCALSTORAGE_KEYS_MAP.hideInDotNet) !== 'false';\n\nexport const getNetwork = (\n networks: GlobalDataType['networks'],\n id: number,\n) => {\n const list = [\n ...(networks.mainnet ?? []),\n ...(networks.testnet ?? []),\n ...(networks.devnet ?? []),\n ];\n const matched = list.find(n => n.id === id);\n\n return matched || list[0] || { url: '', name: '', id: 0 };\n};\nexport const gotoNetwork = (networkUrl?: string): void => {\n networkUrl && window.location.assign(networkUrl);\n};\nexport const getNetworkIcon = ({\n space,\n icon,\n}: {\n space?: NetworkSpace;\n icon?: string;\n}) => {\n if (icon) return icon;\n if (space === 'core') {\n return IconCore;\n } else if (space === 'evm') {\n return IconEvm;\n } else if (space === 'btc') {\n return IconBtc;\n }\n};\n\nexport const coreCorrespondsToEspace = (coreId: number) => {\n const correspond: { [index: number]: number } = {\n 1029: 1030,\n 1: 71,\n };\n return correspond[coreId] || 1030;\n};\n\n/**\n * 格式化字符串\n * @param {string} str\n * @param {string} type 可能取值为:tag - contract name tag, hash, address; 如果 type 为数字,则截取对应数字 + ...,默认值为 12\n */\nexport const formatString = (\n str: string,\n type?:\n | 'tag'\n | 'hash'\n | 'address'\n | 'tokenTracker'\n | 'posAddress'\n | 'hexAddress'\n | number,\n) => {\n let result: string;\n switch (type) {\n case 'tag':\n result = getEllipsStr(str, 14, 0);\n break;\n case 'hash':\n result = getEllipsStr(str, 10, 0);\n break;\n case 'address':\n result = getEllipsStr(str, 6, 4);\n break;\n case 'tokenTracker':\n result = getEllipsStr(str, 24, 0);\n break;\n case 'posAddress':\n result = getEllipsStr(str, 10, 0);\n break;\n case 'hexAddress':\n result = getEllipsStr(str, 6, 4);\n break;\n default:\n let num = 12;\n if (typeof type === 'number') num = type;\n if (str.length > num) {\n result = getEllipsStr(str, num, 0);\n } else {\n result = str;\n }\n }\n return result;\n};\n\n/**\n *\n * @param num original number\n * @param isShowFull Whether to show all numbers\n */\nexport const fromDripToGdrip = (\n num: number | string,\n isShowFull = false,\n _opt = {},\n) => {\n const opt = {\n minNum: 0.001,\n ..._opt,\n };\n const bn = new BigNumber(num);\n let result = '0';\n if (!window.isNaN(bn.toNumber()) && bn.toNumber() !== 0) {\n const divideBn = bn.dividedBy(10 ** 9);\n if (isShowFull) {\n result = toThousands(divideBn.toFixed());\n } else {\n result = divideBn.lt(opt.minNum)\n ? '< ' + new BigNumber(opt.minNum).toString()\n : formatNumber(divideBn.toFixed(), opt);\n }\n }\n return result;\n};\n/**\n *\n * @param num original number\n * @param isShowFull Whether to show all numbers\n */\nexport const fromDripToCfx = (\n num: number | string,\n isShowFull: boolean = false,\n _opt = {},\n) => {\n const opt = {\n minNum: 0.001,\n ..._opt,\n };\n const bn = new BigNumber(num);\n let result: string = '0';\n if (!window.isNaN(bn.toNumber()) && bn.toNumber() !== 0) {\n const divideBn = bn.dividedBy(10 ** 18);\n if (isShowFull) {\n result = toThousands(divideBn.toFixed());\n } else {\n result = divideBn.lt(opt.minNum)\n ? '< ' + new BigNumber(opt.minNum).toString()\n : formatNumber(divideBn.toFixed(), opt);\n }\n }\n return result;\n};\n\n/**\n * 获取给定时间戳 from 到给定时间 to 的 duration\n * @param {string | number} from syncTimestamp\n * @param {string | number} to current serverTimestamp or current browserTimestamp\n */\nexport const getDuration = (pFrom: number, pTo?: number) => {\n try {\n const to = pTo || +new Date();\n const from = pFrom * 1000;\n\n if (from > to) {\n throw new Error('invalid timestamp pair');\n }\n\n const dayjsTo = dayjs(to);\n\n const fullDay = dayjsTo.diff(from, 'day');\n const fullHour = dayjsTo.diff(from, 'hour');\n const fullMinute = dayjsTo.diff(from, 'minute');\n\n const day = dayjsTo.diff(from, 'day');\n const hour = dayjsTo.subtract(fullDay, 'day').diff(from, 'hour');\n const minute = dayjsTo.subtract(fullHour, 'hour').diff(from, 'minute');\n const second = dayjsTo.subtract(fullMinute, 'minute').diff(from, 'second');\n\n return [day, hour, minute, second];\n } catch (e) {\n return [0, 0, 0, 0];\n }\n};\n\nconst cSymbol = getCurrencySymbol();\nexport const formatPrice = (\n price: string | number,\n symbol = cSymbol,\n): [string, string] => {\n const p = new BigNumber(price);\n let precision = 2;\n\n if (p.eq(0)) {\n return ['0', ''];\n } else if (p.lt(0.0001)) {\n return [\n '<0.0001',\n formatNumber(price || 0, {\n withUnit: false,\n precision: 18,\n keepZero: false,\n }),\n ];\n } else if (p.lt(1)) {\n precision = 4;\n } else if (p.lt(10)) {\n precision = 3;\n } else {\n precision = 2;\n }\n\n return [\n symbol +\n formatNumber(price || 0, {\n withUnit: false,\n keepZero: false,\n precision,\n }),\n '',\n ];\n};\n\nexport const getIncreasePercent = (\n _base: string | number | BigNumber,\n prev: string | number | BigNumber,\n precision = 0,\n) => {\n const base = new BigNumber(_base);\n const isNegative = base.isLessThan(prev);\n const value = Number(\n base.minus(prev).dividedBy(prev).multipliedBy(100).toFixed(precision),\n );\n\n return {\n value,\n percent: getPercent(base.minus(prev), prev, precision),\n isNegative,\n };\n};\n\nexport const viewJson = async (json: object) => {\n const jsonString = encodeURI(\n `data:text/json;charset=utf-8,${JSON.stringify(json)}`,\n );\n const iframe = `<iframe width='100%' height='100%' style='border: none;' src='${jsonString}'></iframe>`;\n const newWindow = window.open(jsonString);\n if (newWindow) {\n newWindow.document.open();\n newWindow.document.write(iframe);\n newWindow.document.close();\n }\n};\n\ntype FragmentType = 'function' | 'event' | 'constructor' | 'error';\ninterface FormatABIOptions {\n allowEmpty?: boolean;\n nameRequired?: boolean;\n minimal?: boolean;\n json?: boolean;\n allowTypes?: FragmentType[];\n}\nexport function formatABI(\n _abi: ConstructorParameters<typeof ethersUtils.Interface>[0],\n options: FormatABIOptions & { json: true },\n): string;\nexport function formatABI(\n _abi: ConstructorParameters<typeof ethersUtils.Interface>[0],\n options?: FormatABIOptions,\n): string[];\nexport function formatABI(\n _abi: ConstructorParameters<typeof ethersUtils.Interface>[0],\n {\n allowEmpty = false,\n nameRequired = false,\n minimal = false,\n json = false,\n allowTypes = [],\n }: FormatABIOptions = {},\n) {\n // try to parse abi\n const iface = new ethersUtils.Interface(_abi);\n // if abi is empty and allowEmpty is false, throw error\n if (!allowEmpty && iface.fragments.length === 0)\n throw new Error('abi is empty');\n if (\n allowTypes.length > 0 &&\n iface.fragments.some(f => !allowTypes.includes(f.type as FragmentType))\n ) {\n throw new Error('type is not allowed');\n }\n if (nameRequired && iface.fragments.some(f => f.inputs.some(i => !i.name))) {\n throw new Error('name is required');\n }\n return json\n ? iface.format('json')\n : iface.format(minimal ? 'minimal' : 'full');\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
import {
|
|
2
|
+
RenderAddress
|
|
3
|
+
} from "./chunk-Q4DBAKJC.js";
|
|
4
|
+
import {
|
|
5
|
+
formatAddress,
|
|
6
|
+
isInnerContractAddress
|
|
7
|
+
} from "./chunk-4JCWYUNH.js";
|
|
8
|
+
import {
|
|
9
|
+
Tooltip
|
|
10
|
+
} from "./chunk-BYNC3ECF.js";
|
|
11
|
+
import {
|
|
12
|
+
coreCorrespondsToEspace,
|
|
13
|
+
formatString,
|
|
14
|
+
getNetwork
|
|
15
|
+
} from "./chunk-KFUS56FH.js";
|
|
16
|
+
import {
|
|
17
|
+
getEnvConfig,
|
|
18
|
+
getTranslations,
|
|
19
|
+
useGlobalData
|
|
20
|
+
} from "./chunk-DQGLZCIG.js";
|
|
21
|
+
|
|
22
|
+
// src/components/AddressContainer/addressSwitcher.tsx
|
|
23
|
+
import { AlertTriangle, File } from "@zeit-ui/react-icons";
|
|
24
|
+
import InternalContractIcon from "./internal-contract-icon-ZH2RG3CU.png";
|
|
25
|
+
import ContractIcon from "./contract-icon-P3W2HUAA.png";
|
|
26
|
+
import VerifiedIcon from "./verified-VJRHZNN7.png";
|
|
27
|
+
import isMeIcon from "./me-SIV36SR7.png";
|
|
28
|
+
import { isPosAddress } from "@cfx-kit/dapp-utils/dist/address";
|
|
29
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
30
|
+
var ContractCreatedAddress = (props) => {
|
|
31
|
+
const { contractCreated = "", outputType, t, isFull } = props;
|
|
32
|
+
const translations = getTranslations();
|
|
33
|
+
const contractAddress = formatAddress(contractCreated, outputType);
|
|
34
|
+
const customProps = {
|
|
35
|
+
content: t(translations.transaction.contractCreation),
|
|
36
|
+
alias: t(translations.transaction.contractCreation),
|
|
37
|
+
hrefAddress: contractAddress,
|
|
38
|
+
cfxAddress: contractAddress,
|
|
39
|
+
maxWidth: 160
|
|
40
|
+
};
|
|
41
|
+
const mergedProps = { ...props, ...customProps };
|
|
42
|
+
return RenderAddress({
|
|
43
|
+
...mergedProps,
|
|
44
|
+
prefix: /* @__PURE__ */ jsx("div", { className: `mr-[2px] flex-shrink-0 ${isFull ? "icon" : ""}`, children: /* @__PURE__ */ jsx(Tooltip, { title: mergedProps.content, children: /* @__PURE__ */ jsx("div", { className: "relative w-[16px] h-[16px]", children: /* @__PURE__ */ jsx(
|
|
45
|
+
"img",
|
|
46
|
+
{
|
|
47
|
+
className: "w-[16px] h-[16px] align-bottom mb-[3px]",
|
|
48
|
+
src: ContractIcon,
|
|
49
|
+
alt: mergedProps.content
|
|
50
|
+
}
|
|
51
|
+
) }) }) })
|
|
52
|
+
});
|
|
53
|
+
};
|
|
54
|
+
var CoreHexAddress = (props) => {
|
|
55
|
+
const { value, t, isFull, maxWidth } = props;
|
|
56
|
+
const { globalData } = useGlobalData();
|
|
57
|
+
const ENV_CONFIG = getEnvConfig();
|
|
58
|
+
const translations = getTranslations();
|
|
59
|
+
const hexAddress = formatAddress(value, "hex");
|
|
60
|
+
const network = getNetwork(
|
|
61
|
+
globalData?.networks,
|
|
62
|
+
coreCorrespondsToEspace(ENV_CONFIG.ENV_NETWORK_ID)
|
|
63
|
+
);
|
|
64
|
+
const url = `${network.url}/address/${hexAddress}`;
|
|
65
|
+
return RenderAddress({
|
|
66
|
+
cfxAddress: hexAddress,
|
|
67
|
+
hoverValue: hexAddress,
|
|
68
|
+
link: url,
|
|
69
|
+
isFull,
|
|
70
|
+
maxWidth,
|
|
71
|
+
suffixSize: 0,
|
|
72
|
+
prefix: /* @__PURE__ */ jsx("div", { className: "mr-[2px] flex-shrink-0", children: /* @__PURE__ */ jsx(Tooltip, { title: t(translations.general.eSpaceAddress), children: /* @__PURE__ */ jsx(File, { size: 16, color: "#17B38A" }) }) })
|
|
73
|
+
});
|
|
74
|
+
};
|
|
75
|
+
var InvalidAddress = (props) => {
|
|
76
|
+
const {
|
|
77
|
+
value,
|
|
78
|
+
alias,
|
|
79
|
+
t,
|
|
80
|
+
isFull,
|
|
81
|
+
maxWidth,
|
|
82
|
+
isFullNameTag,
|
|
83
|
+
hideAliasPrefixInHover
|
|
84
|
+
} = props;
|
|
85
|
+
const translations = getTranslations();
|
|
86
|
+
const tip = t(translations.general.invalidAddress);
|
|
87
|
+
return RenderAddress({
|
|
88
|
+
cfxAddress: value,
|
|
89
|
+
alias,
|
|
90
|
+
hoverValue: `${tip}: ${value}`,
|
|
91
|
+
content: alias ? formatString(alias, "tag") : value,
|
|
92
|
+
link: false,
|
|
93
|
+
isFull,
|
|
94
|
+
isFullNameTag,
|
|
95
|
+
maxWidth,
|
|
96
|
+
style: { color: "#e00909" },
|
|
97
|
+
prefix: /* @__PURE__ */ jsx("div", { className: "mr-[2px] flex-shrink-0", children: /* @__PURE__ */ jsx(Tooltip, { title: tip, children: /* @__PURE__ */ jsx(AlertTriangle, { size: 16, color: "#e00909" }) }) }),
|
|
98
|
+
hideAliasPrefixInHover
|
|
99
|
+
});
|
|
100
|
+
};
|
|
101
|
+
var ContractAddress = (props) => {
|
|
102
|
+
const { showIcon, verify, t, cfxAddress, isFull } = props;
|
|
103
|
+
const translations = getTranslations();
|
|
104
|
+
const isInnerContract = cfxAddress && isInnerContractAddress(cfxAddress);
|
|
105
|
+
const typeText = t(
|
|
106
|
+
isInnerContract ? translations.general.internalContract : verify ? translations.general.verifiedContract : translations.general.unverifiedContract
|
|
107
|
+
);
|
|
108
|
+
return RenderAddress({
|
|
109
|
+
...props,
|
|
110
|
+
prefix: showIcon ? /* @__PURE__ */ jsx("div", { className: `mr-[2px] flex-shrink-0 ${isFull ? "icon" : ""}`, children: /* @__PURE__ */ jsx(Tooltip, { title: typeText, children: /* @__PURE__ */ jsx("div", { className: "relative w-[16px] h-[16px]", children: isInnerContract ? /* @__PURE__ */ jsx(
|
|
111
|
+
"img",
|
|
112
|
+
{
|
|
113
|
+
className: "w-[16px] h-[16px] align-bottom mb-[5px]",
|
|
114
|
+
src: InternalContractIcon,
|
|
115
|
+
alt: typeText
|
|
116
|
+
}
|
|
117
|
+
) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
118
|
+
/* @__PURE__ */ jsx(
|
|
119
|
+
"img",
|
|
120
|
+
{
|
|
121
|
+
className: "w-[16px] h-[16px] align-bottom mb-[5px]",
|
|
122
|
+
src: ContractIcon,
|
|
123
|
+
alt: typeText
|
|
124
|
+
}
|
|
125
|
+
),
|
|
126
|
+
verify ? /* @__PURE__ */ jsx(
|
|
127
|
+
"img",
|
|
128
|
+
{
|
|
129
|
+
className: "w-[8px] h-[8px] absolute bottom-[-1px] right-[1px]",
|
|
130
|
+
src: VerifiedIcon,
|
|
131
|
+
alt: ""
|
|
132
|
+
}
|
|
133
|
+
) : /* @__PURE__ */ jsx(Fragment, {})
|
|
134
|
+
] }) }) }) }) : /* @__PURE__ */ jsx(Fragment, {})
|
|
135
|
+
});
|
|
136
|
+
};
|
|
137
|
+
var MyAddress = (props) => {
|
|
138
|
+
const { isFull } = props;
|
|
139
|
+
return RenderAddress({
|
|
140
|
+
...props,
|
|
141
|
+
suffix: /* @__PURE__ */ jsx("div", { className: "mr-[2px] flex-shrink-0", children: /* @__PURE__ */ jsx(
|
|
142
|
+
"img",
|
|
143
|
+
{
|
|
144
|
+
className: "w-[38.5px] h-[16px] ml-[3px] align-bottom",
|
|
145
|
+
src: isMeIcon,
|
|
146
|
+
alt: "is me",
|
|
147
|
+
style: {
|
|
148
|
+
marginBottom: isFull ? "6px" : "4px"
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
) })
|
|
152
|
+
});
|
|
153
|
+
};
|
|
154
|
+
var PosAddress = (props) => {
|
|
155
|
+
const {
|
|
156
|
+
alias,
|
|
157
|
+
isFull,
|
|
158
|
+
isFullNameTag,
|
|
159
|
+
maxWidth,
|
|
160
|
+
t,
|
|
161
|
+
link,
|
|
162
|
+
isMe,
|
|
163
|
+
hideAliasPrefixInHover
|
|
164
|
+
} = props;
|
|
165
|
+
const value = props.value;
|
|
166
|
+
if (!value) {
|
|
167
|
+
return /* @__PURE__ */ jsx(Fragment, { children: "--" });
|
|
168
|
+
}
|
|
169
|
+
if (isMe) {
|
|
170
|
+
return MyAddress(props);
|
|
171
|
+
}
|
|
172
|
+
const translations = getTranslations();
|
|
173
|
+
const content = alias ? formatString(alias, "tag") : formatString(value, "posAddress");
|
|
174
|
+
if (!isPosAddress(value)) {
|
|
175
|
+
const tip = t(translations.general.invalidPosAddress);
|
|
176
|
+
return RenderAddress({
|
|
177
|
+
cfxAddress: value,
|
|
178
|
+
alias,
|
|
179
|
+
hoverValue: `${tip}: ${value}`,
|
|
180
|
+
content,
|
|
181
|
+
link: false,
|
|
182
|
+
isFull,
|
|
183
|
+
isFullNameTag,
|
|
184
|
+
maxWidth,
|
|
185
|
+
style: { color: "#e00909" },
|
|
186
|
+
prefix: /* @__PURE__ */ jsx("div", { className: "mr-[2px] flex-shrink-0", children: /* @__PURE__ */ jsx(Tooltip, { title: tip, children: /* @__PURE__ */ jsx(AlertTriangle, { size: 16, color: "#e00909" }) }) }),
|
|
187
|
+
type: "pos",
|
|
188
|
+
hideAliasPrefixInHover
|
|
189
|
+
});
|
|
190
|
+
}
|
|
191
|
+
return RenderAddress({
|
|
192
|
+
cfxAddress: value,
|
|
193
|
+
alias,
|
|
194
|
+
link,
|
|
195
|
+
isFull,
|
|
196
|
+
isFullNameTag,
|
|
197
|
+
maxWidth,
|
|
198
|
+
type: "pos",
|
|
199
|
+
content,
|
|
200
|
+
hideAliasPrefixInHover
|
|
201
|
+
});
|
|
202
|
+
};
|
|
203
|
+
|
|
204
|
+
export {
|
|
205
|
+
ContractCreatedAddress,
|
|
206
|
+
CoreHexAddress,
|
|
207
|
+
InvalidAddress,
|
|
208
|
+
ContractAddress,
|
|
209
|
+
MyAddress,
|
|
210
|
+
PosAddress
|
|
211
|
+
};
|
|
212
|
+
//# sourceMappingURL=chunk-S7G36BAF.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/AddressContainer/addressSwitcher.tsx"],"sourcesContent":["import { WithTranslation } from 'react-i18next';\nimport { AlertTriangle, File } from '@zeit-ui/react-icons';\nimport InternalContractIcon from '../../images/internal-contract-icon.png';\nimport ContractIcon from '../../images/contract-icon.png';\nimport VerifiedIcon from '../../images/verified.png';\nimport isMeIcon from '../../images/me.png';\nimport { Tooltip } from '../Tooltip';\nimport { isPosAddress } from '@cfx-kit/dapp-utils/dist/address';\nimport { formatAddress, isInnerContractAddress } from '../../utils/address';\nimport { getTranslations, getEnvConfig, useGlobalData } from '../../store';\nimport { getNetwork, formatString, coreCorrespondsToEspace } from 'src/utils';\nimport { Props } from './types';\nimport { RenderAddress } from './addressView';\n\n// common\nexport const ContractCreatedAddress = (\n props: Props & WithTranslation & { outputType: 'hex' | 'base32' },\n) => {\n const { contractCreated = '', outputType, t, isFull } = props;\n\n const translations = getTranslations();\n\n const contractAddress = formatAddress(contractCreated, outputType);\n\n const customProps = {\n content: t(translations.transaction.contractCreation),\n alias: t(translations.transaction.contractCreation),\n hrefAddress: contractAddress,\n cfxAddress: contractAddress,\n maxWidth: 160,\n };\n\n const mergedProps = { ...props, ...customProps };\n return RenderAddress({\n ...mergedProps,\n prefix: (\n <div className={`mr-[2px] flex-shrink-0 ${isFull ? 'icon' : ''}`}>\n <Tooltip title={mergedProps.content}>\n <div className=\"relative w-[16px] h-[16px]\">\n <img\n className=\"w-[16px] h-[16px] align-bottom mb-[3px]\"\n src={ContractIcon}\n alt={mergedProps.content}\n />\n </div>\n </Tooltip>\n </div>\n ),\n });\n};\n\n// core\nexport const CoreHexAddress = (props: Props & WithTranslation) => {\n const { value, t, isFull, maxWidth } = props;\n const { globalData } = useGlobalData();\n\n const ENV_CONFIG = getEnvConfig();\n const translations = getTranslations();\n const hexAddress = formatAddress(value, 'hex');\n const network = getNetwork(\n globalData?.networks,\n coreCorrespondsToEspace(ENV_CONFIG.ENV_NETWORK_ID),\n );\n const url = `${network.url}/address/${hexAddress}`;\n\n return RenderAddress({\n cfxAddress: hexAddress,\n hoverValue: hexAddress,\n link: url,\n isFull,\n maxWidth,\n suffixSize: 0,\n prefix: (\n <div className=\"mr-[2px] flex-shrink-0\">\n <Tooltip title={t((translations as any).general.eSpaceAddress)}>\n <File size={16} color=\"#17B38A\" />\n </Tooltip>\n </div>\n ),\n });\n};\n\n// common\nexport const InvalidAddress = (props: Props & WithTranslation) => {\n const {\n value,\n alias,\n t,\n isFull,\n maxWidth,\n isFullNameTag,\n hideAliasPrefixInHover,\n } = props;\n\n const translations = getTranslations();\n\n const tip = t(translations.general.invalidAddress);\n\n return RenderAddress({\n cfxAddress: value,\n alias,\n hoverValue: `${tip}: ${value}`,\n content: alias ? formatString(alias, 'tag') : value,\n link: false,\n isFull,\n isFullNameTag,\n maxWidth,\n style: { color: '#e00909' },\n prefix: (\n <div className=\"mr-[2px] flex-shrink-0\">\n <Tooltip title={tip}>\n <AlertTriangle size={16} color=\"#e00909\" />\n </Tooltip>\n </div>\n ),\n hideAliasPrefixInHover,\n });\n};\n\n// common\nexport const ContractAddress = (props: Props & WithTranslation) => {\n const { showIcon, verify, t, cfxAddress, isFull } = props;\n\n const translations = getTranslations();\n\n const isInnerContract = cfxAddress && isInnerContractAddress(cfxAddress);\n\n const typeText = t(\n isInnerContract\n ? translations.general.internalContract\n : verify\n ? translations.general.verifiedContract\n : translations.general.unverifiedContract,\n );\n\n return RenderAddress({\n ...props,\n prefix: showIcon ? (\n <div className={`mr-[2px] flex-shrink-0 ${isFull ? 'icon' : ''}`}>\n <Tooltip title={typeText}>\n <div className=\"relative w-[16px] h-[16px]\">\n {isInnerContract ? (\n <img\n className=\"w-[16px] h-[16px] align-bottom mb-[5px]\"\n src={InternalContractIcon}\n alt={typeText}\n />\n ) : (\n <>\n <img\n className=\"w-[16px] h-[16px] align-bottom mb-[5px]\"\n src={ContractIcon}\n alt={typeText}\n />\n {verify ? (\n <img\n className=\"w-[8px] h-[8px] absolute bottom-[-1px] right-[1px]\"\n src={VerifiedIcon}\n alt={''}\n />\n ) : (\n <></>\n )}\n </>\n )}\n </div>\n </Tooltip>\n </div>\n ) : (\n <></>\n ),\n });\n};\n\n// common\nexport const MyAddress = (props: Props & WithTranslation) => {\n const { isFull } = props;\n return RenderAddress({\n ...props,\n suffix: (\n <div className=\"mr-[2px] flex-shrink-0\">\n <img\n className=\"w-[38.5px] h-[16px] ml-[3px] align-bottom\"\n src={isMeIcon}\n alt=\"is me\"\n style={{\n marginBottom: isFull ? '6px' : '4px',\n }}\n />\n </div>\n ),\n });\n};\n\n// core\nexport const PosAddress = (props: Props & WithTranslation) => {\n const {\n alias,\n isFull,\n isFullNameTag,\n maxWidth,\n t,\n link,\n isMe,\n hideAliasPrefixInHover,\n } = props;\n const value = props.value;\n if (!value) {\n return <>--</>;\n }\n if (isMe) {\n return MyAddress(props);\n }\n const translations = getTranslations();\n const content = alias\n ? formatString(alias, 'tag')\n : formatString(value, 'posAddress');\n if (!isPosAddress(value)) {\n const tip = t(translations.general.invalidPosAddress);\n return RenderAddress({\n cfxAddress: value,\n alias,\n hoverValue: `${tip}: ${value}`,\n content,\n link: false,\n isFull,\n isFullNameTag,\n maxWidth,\n style: { color: '#e00909' },\n prefix: (\n <div className=\"mr-[2px] flex-shrink-0\">\n <Tooltip title={tip}>\n <AlertTriangle size={16} color=\"#e00909\" />\n </Tooltip>\n </div>\n ),\n type: 'pos',\n hideAliasPrefixInHover,\n });\n }\n\n return RenderAddress({\n cfxAddress: value,\n alias,\n link,\n isFull,\n isFullNameTag,\n maxWidth,\n type: 'pos',\n content,\n hideAliasPrefixInHover,\n });\n};\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Spin
|
|
3
|
+
} from "./chunk-XCKMXAL2.js";
|
|
4
|
+
import {
|
|
5
|
+
cn
|
|
6
|
+
} from "./chunk-LHMHEG43.js";
|
|
7
|
+
|
|
8
|
+
// src/components/Modal/index.tsx
|
|
9
|
+
import { useEffect, useCallback, useMemo } from "react";
|
|
10
|
+
import ReactDOM from "react-dom";
|
|
11
|
+
import { X } from "lucide-react";
|
|
12
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
13
|
+
var Backdrop = ({
|
|
14
|
+
onClick,
|
|
15
|
+
children,
|
|
16
|
+
className
|
|
17
|
+
}) => /* @__PURE__ */ jsx("div", { className, onClick, children });
|
|
18
|
+
var ModalContent = ({
|
|
19
|
+
containerClassName,
|
|
20
|
+
closable,
|
|
21
|
+
onClose,
|
|
22
|
+
children,
|
|
23
|
+
loading,
|
|
24
|
+
modalStyles
|
|
25
|
+
}) => /* @__PURE__ */ jsx(
|
|
26
|
+
"div",
|
|
27
|
+
{
|
|
28
|
+
className: cn("relative bg-[#FFF] rounded shadow-lg", containerClassName),
|
|
29
|
+
tabIndex: -1,
|
|
30
|
+
style: modalStyles,
|
|
31
|
+
children: /* @__PURE__ */ jsxs(Spin, { spinning: loading, children: [
|
|
32
|
+
closable && /* @__PURE__ */ jsx(X, { className: "h-4 w-4 absolute right-5 top-5", onClick: onClose }),
|
|
33
|
+
/* @__PURE__ */ jsx("div", { className: "p-4", children })
|
|
34
|
+
] })
|
|
35
|
+
}
|
|
36
|
+
);
|
|
37
|
+
var useEventListener = (eventName, handler, active) => {
|
|
38
|
+
useEffect(() => {
|
|
39
|
+
if (active) {
|
|
40
|
+
const eventListener = (event) => handler(event);
|
|
41
|
+
document.addEventListener(eventName, eventListener);
|
|
42
|
+
return () => {
|
|
43
|
+
document.removeEventListener(eventName, eventListener);
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
}, [eventName, handler, active]);
|
|
47
|
+
};
|
|
48
|
+
var Modal = ({
|
|
49
|
+
open,
|
|
50
|
+
closeOnEsc = true,
|
|
51
|
+
closable = true,
|
|
52
|
+
preventScroll = true,
|
|
53
|
+
backdropClassName = "",
|
|
54
|
+
containerClassName = "",
|
|
55
|
+
onOpen = () => {
|
|
56
|
+
},
|
|
57
|
+
onClose,
|
|
58
|
+
children,
|
|
59
|
+
width = "600px",
|
|
60
|
+
maskClosable = true,
|
|
61
|
+
centered = true,
|
|
62
|
+
loading = false
|
|
63
|
+
}) => {
|
|
64
|
+
useEffect(() => {
|
|
65
|
+
if (open) {
|
|
66
|
+
onOpen?.();
|
|
67
|
+
if (preventScroll) {
|
|
68
|
+
document.body.style.overflow = "hidden";
|
|
69
|
+
}
|
|
70
|
+
} else {
|
|
71
|
+
if (preventScroll) {
|
|
72
|
+
document.body.style.overflow = "";
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return () => {
|
|
76
|
+
if (preventScroll) {
|
|
77
|
+
document.body.style.overflow = "";
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
}, [open, onOpen, preventScroll]);
|
|
81
|
+
const handleKeyDown = useCallback(
|
|
82
|
+
(event) => {
|
|
83
|
+
if (event.key === "Escape" && closeOnEsc && onClose) {
|
|
84
|
+
onClose?.();
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
[closeOnEsc, onClose]
|
|
88
|
+
);
|
|
89
|
+
const handleClickOutside = useCallback(() => {
|
|
90
|
+
if (onClose && maskClosable) {
|
|
91
|
+
onClose?.();
|
|
92
|
+
}
|
|
93
|
+
}, [onClose, maskClosable]);
|
|
94
|
+
const handleBackdropClick = useCallback(
|
|
95
|
+
(event) => {
|
|
96
|
+
if (maskClosable && event.target === event.currentTarget && onClose) {
|
|
97
|
+
onClose?.();
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
[maskClosable, onClose]
|
|
101
|
+
);
|
|
102
|
+
const modalStyles = useMemo(
|
|
103
|
+
() => ({
|
|
104
|
+
width: typeof width === "string" ? width : `${width}px`,
|
|
105
|
+
margin: centered ? "auto" : void 0
|
|
106
|
+
}),
|
|
107
|
+
[width, centered]
|
|
108
|
+
);
|
|
109
|
+
useEventListener(
|
|
110
|
+
"keydown",
|
|
111
|
+
handleKeyDown,
|
|
112
|
+
open && closeOnEsc
|
|
113
|
+
);
|
|
114
|
+
useEventListener(
|
|
115
|
+
"mousedown",
|
|
116
|
+
handleClickOutside,
|
|
117
|
+
open && maskClosable
|
|
118
|
+
);
|
|
119
|
+
if (!open)
|
|
120
|
+
return null;
|
|
121
|
+
return ReactDOM.createPortal(
|
|
122
|
+
/* @__PURE__ */ jsx(
|
|
123
|
+
Backdrop,
|
|
124
|
+
{
|
|
125
|
+
onClick: handleBackdropClick,
|
|
126
|
+
className: cn(
|
|
127
|
+
"fixed inset-0 bg-[#000] bg-opacity-25 flex items-center justify-center z-10000",
|
|
128
|
+
backdropClassName
|
|
129
|
+
),
|
|
130
|
+
children: /* @__PURE__ */ jsx(
|
|
131
|
+
ModalContent,
|
|
132
|
+
{
|
|
133
|
+
containerClassName,
|
|
134
|
+
closable,
|
|
135
|
+
onClose,
|
|
136
|
+
children,
|
|
137
|
+
loading,
|
|
138
|
+
modalStyles
|
|
139
|
+
}
|
|
140
|
+
)
|
|
141
|
+
}
|
|
142
|
+
),
|
|
143
|
+
document.body
|
|
144
|
+
);
|
|
145
|
+
};
|
|
146
|
+
|
|
147
|
+
export {
|
|
148
|
+
Modal
|
|
149
|
+
};
|
|
150
|
+
//# sourceMappingURL=chunk-SGKB56KP.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Modal/index.tsx"],"sourcesContent":["import React, { useEffect, useCallback, useMemo } from 'react';\nimport ReactDOM from 'react-dom';\nimport { X } from 'lucide-react';\nimport { Spin } from '../Spin';\nimport { cn } from '../../utils';\n\ninterface ModalProps {\n open: boolean;\n closeOnEsc?: boolean;\n closable?: boolean;\n preventScroll?: boolean;\n backdropClassName?: string;\n containerClassName?: string;\n onOpen?: () => void;\n onClose?: () => void;\n children?: React.ReactNode;\n width?: string | number;\n maskClosable?: boolean;\n centered?: boolean;\n loading?: boolean;\n}\n\ninterface ModalContentProps {\n containerClassName: string;\n closable: boolean;\n onClose?: VoidFunction;\n children?: React.ReactNode;\n loading?: boolean;\n modalStyles: React.CSSProperties;\n}\n\ninterface BackdropProps {\n onClick: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\n className: string;\n children?: React.ReactNode;\n}\n\nconst Backdrop: React.FC<BackdropProps> = ({\n onClick,\n children,\n className,\n}) => (\n <div className={className} onClick={onClick}>\n {children}\n </div>\n);\n\nconst ModalContent = ({\n containerClassName,\n closable,\n onClose,\n children,\n loading,\n modalStyles,\n}: ModalContentProps) => (\n <div\n className={cn('relative bg-[#FFF] rounded shadow-lg', containerClassName)}\n tabIndex={-1}\n style={modalStyles}\n >\n <Spin spinning={loading}>\n {closable && (\n <X className=\"h-4 w-4 absolute right-5 top-5\" onClick={onClose} />\n )}\n <div className=\"p-4\">{children}</div>\n </Spin>\n </div>\n);\n\nconst useEventListener = (\n eventName: string,\n handler: (event: Event) => void,\n active: boolean,\n) => {\n useEffect(() => {\n if (active) {\n const eventListener = (event: Event) => handler(event);\n\n document.addEventListener(eventName, eventListener);\n return () => {\n document.removeEventListener(eventName, eventListener);\n };\n }\n }, [eventName, handler, active]);\n};\n\nconst Modal: React.FC<ModalProps> = ({\n open,\n closeOnEsc = true,\n closable = true,\n preventScroll = true,\n backdropClassName = '',\n containerClassName = '',\n onOpen = () => {},\n onClose,\n children,\n width = '600px',\n maskClosable = true,\n centered = true,\n loading = false,\n}) => {\n useEffect(() => {\n if (open) {\n onOpen?.();\n if (preventScroll) {\n document.body.style.overflow = 'hidden';\n }\n } else {\n if (preventScroll) {\n document.body.style.overflow = '';\n }\n }\n return () => {\n if (preventScroll) {\n document.body.style.overflow = '';\n }\n };\n }, [open, onOpen, preventScroll]);\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (event.key === 'Escape' && closeOnEsc && onClose) {\n onClose?.();\n }\n },\n [closeOnEsc, onClose],\n );\n\n const handleClickOutside = useCallback(() => {\n if (onClose && maskClosable) {\n onClose?.();\n }\n }, [onClose, maskClosable]);\n\n const handleBackdropClick = useCallback(\n (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n if (maskClosable && event.target === event.currentTarget && onClose) {\n onClose?.();\n }\n },\n [maskClosable, onClose],\n );\n\n const modalStyles: React.CSSProperties = useMemo(\n () => ({\n width: typeof width === 'string' ? width : `${width}px`,\n margin: centered ? 'auto' : undefined,\n }),\n [width, centered],\n );\n\n useEventListener(\n 'keydown',\n handleKeyDown as (event: Event) => void,\n open && closeOnEsc,\n );\n useEventListener(\n 'mousedown',\n handleClickOutside as (event: Event) => void,\n open && maskClosable,\n );\n\n if (!open) return null;\n\n return ReactDOM.createPortal(\n <Backdrop\n onClick={handleBackdropClick}\n className={cn(\n 'fixed inset-0 bg-[#000] bg-opacity-25 flex items-center justify-center z-10000',\n backdropClassName,\n )}\n >\n <ModalContent\n containerClassName={containerClassName}\n closable={closable}\n onClose={onClose}\n children={children}\n loading={loading}\n modalStyles={modalStyles}\n />\n </Backdrop>,\n document.body,\n );\n};\n\nexport { Modal };\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import {
|
|
2
|
+
useENS
|
|
3
|
+
} from "./chunk-RP6FR5KI.js";
|
|
4
|
+
import {
|
|
5
|
+
ContractAddress,
|
|
6
|
+
ContractCreatedAddress,
|
|
7
|
+
CoreHexAddress,
|
|
8
|
+
InvalidAddress,
|
|
9
|
+
MyAddress,
|
|
10
|
+
PosAddress
|
|
11
|
+
} from "./chunk-KU5KDJJQ.js";
|
|
12
|
+
import {
|
|
13
|
+
RenderAddress
|
|
14
|
+
} from "./chunk-WRJ773IL.js";
|
|
15
|
+
import {
|
|
16
|
+
formatAddress,
|
|
17
|
+
isCoreAddress,
|
|
18
|
+
isCoreContractAddress,
|
|
19
|
+
isZeroAddress
|
|
20
|
+
} from "./chunk-UCLFGGFU.js";
|
|
21
|
+
import {
|
|
22
|
+
getLabelInfo
|
|
23
|
+
} from "./chunk-QQB223M6.js";
|
|
24
|
+
import {
|
|
25
|
+
getTranslations,
|
|
26
|
+
useGlobalData
|
|
27
|
+
} from "./chunk-DQGLZCIG.js";
|
|
28
|
+
|
|
29
|
+
// src/components/AddressContainer/CoreAddressContainer.tsx
|
|
30
|
+
import { memo } from "react";
|
|
31
|
+
import { withTranslation } from "react-i18next";
|
|
32
|
+
import _ from "lodash";
|
|
33
|
+
import { Fragment, jsx } from "react/jsx-runtime";
|
|
34
|
+
var parseProps = (props, globalData) => {
|
|
35
|
+
const {
|
|
36
|
+
alias,
|
|
37
|
+
ensInfo,
|
|
38
|
+
t,
|
|
39
|
+
showAddressLabel,
|
|
40
|
+
showNametag,
|
|
41
|
+
nametagInfo,
|
|
42
|
+
showENSLabel
|
|
43
|
+
} = props;
|
|
44
|
+
const value = props.value || "";
|
|
45
|
+
const cfxAddress = formatAddress(value, "base32");
|
|
46
|
+
let ENSMap = ensInfo || {};
|
|
47
|
+
const translations = getTranslations();
|
|
48
|
+
let aliasLabel = alias;
|
|
49
|
+
if (!alias && isZeroAddress(cfxAddress)) {
|
|
50
|
+
aliasLabel = t(translations.general.zeroAddress);
|
|
51
|
+
}
|
|
52
|
+
let prefixIcon = null;
|
|
53
|
+
let officalNametag = null;
|
|
54
|
+
let addressLabel = null;
|
|
55
|
+
let ENSLabel = null;
|
|
56
|
+
const gENSLabel = cfxAddress && ENSMap[cfxAddress]?.name;
|
|
57
|
+
if (cfxAddress && showAddressLabel) {
|
|
58
|
+
const addressLabels = globalData?.["CONFLUX_SCAN_ADDRESS_LABELS" /* addressLabel */];
|
|
59
|
+
const gAddressLabel = addressLabels?.[cfxAddress];
|
|
60
|
+
if (gAddressLabel) {
|
|
61
|
+
const { label } = getLabelInfo(gAddressLabel, "tag");
|
|
62
|
+
addressLabel = label;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
if (cfxAddress && showNametag) {
|
|
66
|
+
const nametags = nametagInfo?.[cfxAddress];
|
|
67
|
+
if (nametags) {
|
|
68
|
+
const nametag = nametags?.nametag ?? "";
|
|
69
|
+
const { label } = getLabelInfo(nametag, "nametag");
|
|
70
|
+
officalNametag = label;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
if (showENSLabel && gENSLabel) {
|
|
74
|
+
const { label, icon } = getLabelInfo(gENSLabel, "ens");
|
|
75
|
+
ENSLabel = label;
|
|
76
|
+
prefixIcon = icon;
|
|
77
|
+
}
|
|
78
|
+
return {
|
|
79
|
+
alias: aliasLabel,
|
|
80
|
+
prefix: prefixIcon,
|
|
81
|
+
nametag: officalNametag,
|
|
82
|
+
addressLabel,
|
|
83
|
+
ENSLabel,
|
|
84
|
+
cfxAddress
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
var CoreAddressContainer = withTranslation()(
|
|
88
|
+
memo((props) => {
|
|
89
|
+
const { globalData } = useGlobalData();
|
|
90
|
+
const unnecessaryEns = props.ensInfo || props.showENSLabel === false;
|
|
91
|
+
const { ens } = useENS(unnecessaryEns ? null : props.value);
|
|
92
|
+
if (!props.value && !props.contractCreated) {
|
|
93
|
+
return /* @__PURE__ */ jsx(Fragment, { children: "--" });
|
|
94
|
+
}
|
|
95
|
+
const defaultProps = {
|
|
96
|
+
isFull: false,
|
|
97
|
+
isFullNameTag: false,
|
|
98
|
+
link: true,
|
|
99
|
+
isMe: false,
|
|
100
|
+
showIcon: true,
|
|
101
|
+
verify: false,
|
|
102
|
+
showAddressLabel: true,
|
|
103
|
+
showENSLabel: true,
|
|
104
|
+
showNametag: true,
|
|
105
|
+
ensInfo: ens
|
|
106
|
+
};
|
|
107
|
+
const mergeDefaultProps = _.assign({}, defaultProps, props);
|
|
108
|
+
const mergeParseProps = _.merge(
|
|
109
|
+
{},
|
|
110
|
+
mergeDefaultProps,
|
|
111
|
+
parseProps(mergeDefaultProps, globalData)
|
|
112
|
+
);
|
|
113
|
+
if (mergeParseProps.isPosAddress) {
|
|
114
|
+
return PosAddress(mergeParseProps);
|
|
115
|
+
}
|
|
116
|
+
if (!mergeParseProps.value && mergeParseProps.contractCreated) {
|
|
117
|
+
return ContractCreatedAddress({
|
|
118
|
+
...mergeParseProps,
|
|
119
|
+
outputType: "base32"
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
if (mergeParseProps.isEspaceAddress) {
|
|
123
|
+
return CoreHexAddress(mergeParseProps);
|
|
124
|
+
}
|
|
125
|
+
if (!isCoreAddress(mergeParseProps.value)) {
|
|
126
|
+
return InvalidAddress(mergeParseProps);
|
|
127
|
+
}
|
|
128
|
+
if (isCoreContractAddress(mergeParseProps.cfxAddress)) {
|
|
129
|
+
return ContractAddress(mergeParseProps);
|
|
130
|
+
}
|
|
131
|
+
if (mergeParseProps.isMe) {
|
|
132
|
+
return MyAddress(mergeParseProps);
|
|
133
|
+
}
|
|
134
|
+
return RenderAddress(mergeParseProps);
|
|
135
|
+
})
|
|
136
|
+
);
|
|
137
|
+
|
|
138
|
+
export {
|
|
139
|
+
CoreAddressContainer
|
|
140
|
+
};
|
|
141
|
+
//# sourceMappingURL=chunk-SGTG53XI.js.map
|