├── scripts
├── hardhat.js
├── build.sh
├── update_app.sh
├── tunnel.sh
├── build_telegram.sh
├── sig.cjs
├── dev.sh
├── run_android.sh
├── core.sh
├── module_exists.cjs
└── build_android.sh
├── src
├── components
│ ├── Toast.vue
│ ├── wallet
│ │ ├── GasSelect.vue
│ │ └── tabs
│ │ │ └── ActivityTab.vue
│ ├── browser
│ │ └── BrowserHome.vue
│ ├── common
│ │ ├── TokenIcon.vue
│ │ ├── Icon.vue
│ │ └── CopyBtn.vue
│ ├── popovers
│ │ └── Popover.vue
│ └── header
│ │ └── TopLogo.vue
├── Constant.js
├── config
│ ├── bridge
│ │ ├── index.js
│ │ └── axelar_chainid_map.js
│ ├── db
│ │ └── index.js
│ ├── web3auth.js
│ ├── contracts
│ │ └── botfi
│ │ │ ├── 10.json
│ │ │ ├── 56.json
│ │ │ ├── 12602.json
│ │ │ ├── 1337.json
│ │ │ ├── 42161.json
│ │ │ ├── 43114.json
│ │ │ ├── 59144.json
│ │ │ └── 8453.json
│ ├── swap
│ │ ├── supported_chains.json
│ │ └── index.js
│ ├── browser
│ │ └── index.js
│ ├── multicall3
│ │ ├── system.json
│ │ └── index.js
│ ├── sidenav.js
│ └── app_dev.js
├── workers
│ └── db.js
├── data
│ ├── abi
│ │ ├── deployless
│ │ │ ├── Balances.json
│ │ │ └── DeploylessMulticall2.json
│ │ ├── proxy_beacon_impl_abi.json
│ │ └── deployless_multicall.json
│ └── abi_min
│ │ ├── proxy_beacon_impl_abi.js
│ │ ├── deployless
│ │ ├── Balances.js
│ │ └── DeploylessMulticall2.js
│ │ └── deployless_multicall.js
├── layouts
│ └── BotFiProvider.vue
├── assets
│ └── scss
│ │ ├── animate
│ │ └── source
│ │ │ ├── _vars.css
│ │ │ ├── fading_entrances
│ │ │ ├── fadeIn.css
│ │ │ ├── fadeInUp.css
│ │ │ ├── fadeInDown.css
│ │ │ ├── fadeInLeft.css
│ │ │ ├── fadeInRight.css
│ │ │ ├── fadeInUpBig.css
│ │ │ ├── fadeInTopLeft.css
│ │ │ ├── fadeInDownBig.css
│ │ │ ├── fadeInLeftBig.css
│ │ │ ├── fadeInRightBig.css
│ │ │ ├── fadeInTopRight.css
│ │ │ ├── fadeInBottomLeft.css
│ │ │ └── fadeInBottomRight.css
│ │ │ ├── fading_exits
│ │ │ ├── fadeOut.css
│ │ │ ├── fadeOutUp.css
│ │ │ ├── fadeOutDown.css
│ │ │ ├── fadeOutLeft.css
│ │ │ ├── fadeOutRight.css
│ │ │ ├── fadeOutUpBig.css
│ │ │ ├── fadeOutDownBig.css
│ │ │ ├── fadeOutLeftBig.css
│ │ │ ├── fadeOutRightBig.css
│ │ │ ├── fadeOutTopLeft.css
│ │ │ ├── fadeOutTopRight.css
│ │ │ ├── fadeOutBottomLeft.css
│ │ │ └── fadeOutBottomRight.css
│ │ │ ├── attention_seekers
│ │ │ ├── flash.css
│ │ │ ├── shake.css
│ │ │ ├── shakeX.css
│ │ │ ├── shakeY.css
│ │ │ ├── pulse.css
│ │ │ ├── swing.css
│ │ │ ├── heartBeat.css
│ │ │ ├── tada.css
│ │ │ ├── rubberBand.css
│ │ │ └── headShake.css
│ │ │ ├── zooming_entrances
│ │ │ ├── zoomIn.css
│ │ │ ├── zoomInUp.css
│ │ │ ├── zoomInDown.css
│ │ │ ├── zoomInLeft.css
│ │ │ └── zoomInRight.css
│ │ │ ├── rotating_exits
│ │ │ ├── rotateOut.css
│ │ │ ├── rotateOutUpLeft.css
│ │ │ ├── rotateOutDownLeft.css
│ │ │ ├── rotateOutUpRight.css
│ │ │ └── rotateOutDownRight.css
│ │ │ ├── sliding_entrances
│ │ │ ├── slideInUp.css
│ │ │ ├── slideInDown.css
│ │ │ ├── slideInLeft.css
│ │ │ └── slideInRight.css
│ │ │ ├── sliding_exits
│ │ │ ├── slideOutUp.css
│ │ │ ├── slideOutDown.css
│ │ │ ├── slideOutLeft.css
│ │ │ └── slideOutRight.css
│ │ │ ├── zooming_exits
│ │ │ ├── zoomOut.css
│ │ │ ├── zoomOutLeft.css
│ │ │ ├── zoomOutRight.css
│ │ │ ├── zoomOutUp.css
│ │ │ └── zoomOutDown.css
│ │ │ ├── rotating_entrances
│ │ │ ├── rotateIn.css
│ │ │ ├── rotateInUpLeft.css
│ │ │ ├── rotateInUpRight.css
│ │ │ ├── rotateInDownLeft.css
│ │ │ └── rotateInDownRight.css
│ │ │ ├── bouncing_exits
│ │ │ ├── bounceOutLeft.css
│ │ │ ├── bounceOutRight.css
│ │ │ ├── bounceOutUp.css
│ │ │ ├── bounceOutDown.css
│ │ │ └── bounceOut.css
│ │ │ ├── lightspeed
│ │ │ ├── lightSpeedOutLeft.css
│ │ │ ├── lightSpeedOutRight.css
│ │ │ ├── lightSpeedInLeft.css
│ │ │ └── lightSpeedInRight.css
│ │ │ ├── specials
│ │ │ ├── rollOut.css
│ │ │ ├── rollIn.css
│ │ │ ├── jackInTheBox.css
│ │ │ └── hinge.css
│ │ │ ├── back_entrances
│ │ │ ├── backInUp.css
│ │ │ ├── backInDown.css
│ │ │ ├── backInLeft.css
│ │ │ └── backInRight.css
│ │ │ ├── back_exits
│ │ │ ├── backOutUp.css
│ │ │ ├── backOutDown.css
│ │ │ ├── backOutLeft.css
│ │ │ └── backOutRight.css
│ │ │ ├── flippers
│ │ │ ├── flipOutX.css
│ │ │ └── flipOutY.css
│ │ │ └── animate.css
│ │ └── telegram.scss
├── main_telegram.js
├── pages
│ ├── error
│ │ └── [error_type].vue
│ └── browser
│ │ └── history.vue
├── main_capacitor.js
├── main_dev.js
├── router.js
└── classes
│ ├── EventBus.js
│ ├── PriceFeed.js
│ └── GeckoApi.js
├── .yarnrc.yml
├── public
├── robots.txt
├── favicon.ico
├── images
│ ├── no_data.png
│ ├── empty_box.png
│ ├── nft-small.jpg
│ ├── swap_success.png
│ ├── tx_success.png
│ ├── swap_success_2.png
│ └── crypto
│ │ ├── waves.svg
│ │ ├── mtl.svg
│ │ ├── vib.svg
│ │ ├── gbyte.svg
│ │ ├── huc.svg
│ │ ├── salt.svg
│ │ ├── emc.svg
│ │ ├── bat.svg
│ │ ├── storm.svg
│ │ ├── xvc.svg
│ │ ├── lrc.svg
│ │ ├── nav.svg
│ │ ├── dgd.svg
│ │ ├── bsd.svg
│ │ ├── mod.svg
│ │ ├── neos.svg
│ │ ├── apex.svg
│ │ ├── elec.svg
│ │ ├── ardr.svg
│ │ ├── eop.svg
│ │ ├── r.svg
│ │ ├── xvg.svg
│ │ ├── icn.svg
│ │ ├── moac.svg
│ │ ├── drgn.svg
│ │ ├── sand.svg
│ │ ├── ark.svg
│ │ ├── nio.svg
│ │ ├── ltc.svg
│ │ ├── jpy.svg
│ │ ├── lkk.svg
│ │ ├── cred.svg
│ │ ├── zksync.svg
│ │ ├── lend.svg
│ │ ├── ont.svg
│ │ ├── sc.svg
│ │ ├── stx.svg
│ │ ├── hight.svg
│ │ ├── vtho.svg
│ │ ├── gold.svg
│ │ ├── link.svg
│ │ ├── lpt.svg
│ │ ├── ppc.svg
│ │ ├── tnt.svg
│ │ ├── icx.svg
│ │ ├── tnc.svg
│ │ ├── rap.svg
│ │ ├── xrp.svg
│ │ ├── sai.svg
│ │ ├── tzc.svg
│ │ ├── eos.svg
│ │ ├── gbp.svg
│ │ ├── block.svg
│ │ ├── bnt.svg
│ │ ├── mkr.svg
│ │ ├── tbx.svg
│ │ ├── vet.svg
│ │ ├── vtc.svg
│ │ ├── gas.svg
│ │ ├── neo.svg
│ │ ├── theta.svg
│ │ ├── xpm.svg
│ │ ├── act.svg
│ │ ├── dock.svg
│ │ ├── trx.svg
│ │ ├── utk.svg
│ │ ├── lbc.svg
│ │ ├── pivx.svg
│ │ ├── wpr.svg
│ │ ├── auto.svg
│ │ ├── tkn.svg
│ │ ├── via.svg
│ │ ├── xpa.svg
│ │ ├── band.svg
│ │ ├── wan.svg
│ │ ├── chain.svg
│ │ ├── zel.svg
│ │ ├── ubq.svg
│ │ ├── wings.svg
│ │ ├── bela.svg
│ │ ├── ella.svg
│ │ ├── med.svg
│ │ ├── nuls.svg
│ │ ├── vrc.svg
│ │ ├── xzc.svg
│ │ ├── zil.svg
│ │ ├── adx.svg
│ │ ├── gup.svg
│ │ ├── snt.svg
│ │ ├── emb.svg
│ │ ├── ht.svg
│ │ ├── mnx.svg
│ │ ├── neu.svg
│ │ ├── algo.svg
│ │ ├── vrsc.svg
│ │ ├── bnb.svg
│ │ ├── btcd.svg
│ │ ├── shift.svg
│ │ ├── html.svg
│ │ ├── req.svg
│ │ ├── blcn.svg
│ │ ├── music.svg
│ │ ├── nmc.svg
│ │ ├── vivo.svg
│ │ ├── xmg.svg
│ │ ├── ppt.svg
│ │ ├── ryo.svg
│ │ ├── xmr.svg
│ │ ├── eth.svg
│ │ ├── fuel.svg
│ │ ├── game.svg
│ │ ├── gbx.svg
│ │ ├── xdn.svg
│ │ ├── beam.svg
│ │ ├── flux.svg
│ │ ├── husd.svg
│ │ ├── iost.svg
│ │ ├── sib.svg
│ │ ├── wax.svg
│ │ ├── cix.svg
│ │ ├── cvc.svg
│ │ ├── audr.svg
│ │ ├── ong.svg
│ │ ├── rdn.svg
│ │ ├── maid.svg
│ │ ├── bos.svg
│ │ ├── dcr.svg
│ │ ├── cnd.svg
│ │ ├── gsc.svg
│ │ ├── taas.svg
│ │ ├── zec.svg
│ │ ├── gvt.svg
│ │ ├── vlx.svg
│ │ ├── dlt.svg
│ │ ├── ignis.svg
│ │ ├── krb.svg
│ │ ├── xuc.svg
│ │ ├── bze.svg
│ │ ├── cob.svg
│ │ ├── atm.svg
│ │ ├── sol.svg
│ │ ├── omni.svg
│ │ ├── payx.svg
│ │ ├── xas.svg
│ │ ├── cny.svg
│ │ ├── dash.svg
│ │ ├── mona.svg
│ │ ├── exmo.svg
│ │ ├── bab.svg
│ │ ├── edo.svg
│ │ ├── mth.svg
│ │ ├── rub.svg
│ │ ├── stak.svg
│ │ ├── sumo.svg
│ │ ├── xin.svg
│ │ ├── add.svg
│ │ ├── cmm.svg
│ │ ├── dcn.svg
│ │ ├── grt.svg
│ │ ├── xlm.svg
│ │ ├── nlc2.svg
│ │ ├── dai.svg
│ │ ├── emc2.svg
│ │ ├── knc.svg
│ │ ├── ctr.svg
│ │ ├── eur.svg
│ │ ├── generic.svg
│ │ ├── mft.svg
│ │ ├── nxs.svg
│ │ ├── rdd.svg
│ │ ├── usdt.svg
│ │ ├── burst.svg
│ │ ├── elix.svg
│ │ ├── gusd.svg
│ │ ├── nexo.svg
│ │ ├── xmcc.svg
│ │ ├── sys.svg
│ │ ├── usd.svg
│ │ ├── bcpt.svg
│ │ ├── btm.svg
│ │ ├── dta.svg
│ │ ├── dtr.svg
│ │ ├── pay.svg
│ │ ├── poly.svg
│ │ ├── xmo.svg
│ │ ├── pasl.svg
│ │ ├── rads.svg
│ │ ├── equa.svg
│ │ ├── kcs.svg
│ │ ├── ngc.svg
│ │ ├── pax.svg
│ │ ├── paxg.svg
│ │ ├── bcn.svg
│ │ ├── npxs.svg
│ │ ├── tel.svg
│ │ └── cdt.svg
└── assets
│ └── icons
│ ├── icon-48.webp
│ ├── icon-72.webp
│ ├── icon-96.webp
│ ├── icon-128.webp
│ ├── icon-192.webp
│ ├── icon-256.webp
│ └── icon-512.webp
├── android
├── app
│ ├── .gitignore
│ └── src
│ │ ├── main
│ │ ├── res
│ │ │ ├── drawable
│ │ │ │ └── splash.png
│ │ │ ├── drawable-night
│ │ │ │ └── splash.png
│ │ │ ├── mipmap-hdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ ├── ic_launcher_round.png
│ │ │ │ ├── ic_launcher_background.png
│ │ │ │ └── ic_launcher_foreground.png
│ │ │ ├── mipmap-ldpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ ├── ic_launcher_round.png
│ │ │ │ ├── ic_launcher_background.png
│ │ │ │ └── ic_launcher_foreground.png
│ │ │ ├── mipmap-mdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ ├── ic_launcher_round.png
│ │ │ │ ├── ic_launcher_background.png
│ │ │ │ └── ic_launcher_foreground.png
│ │ │ ├── drawable-land-hdpi
│ │ │ │ └── splash.png
│ │ │ ├── drawable-land-ldpi
│ │ │ │ └── splash.png
│ │ │ ├── drawable-land-mdpi
│ │ │ │ └── splash.png
│ │ │ ├── drawable-land-xhdpi
│ │ │ │ └── splash.png
│ │ │ ├── drawable-port-hdpi
│ │ │ │ └── splash.png
│ │ │ ├── drawable-port-ldpi
│ │ │ │ └── splash.png
│ │ │ ├── drawable-port-mdpi
│ │ │ │ └── splash.png
│ │ │ ├── drawable-port-xhdpi
│ │ │ │ └── splash.png
│ │ │ ├── mipmap-xhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ ├── ic_launcher_round.png
│ │ │ │ ├── ic_launcher_background.png
│ │ │ │ └── ic_launcher_foreground.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ ├── ic_launcher_round.png
│ │ │ │ ├── ic_launcher_background.png
│ │ │ │ └── ic_launcher_foreground.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ │ ├── ic_launcher.png
│ │ │ │ ├── ic_launcher_round.png
│ │ │ │ ├── ic_launcher_background.png
│ │ │ │ └── ic_launcher_foreground.png
│ │ │ ├── drawable-land-xxhdpi
│ │ │ │ └── splash.png
│ │ │ ├── drawable-land-xxxhdpi
│ │ │ │ └── splash.png
│ │ │ ├── drawable-port-xxhdpi
│ │ │ │ └── splash.png
│ │ │ ├── drawable-port-xxxhdpi
│ │ │ │ └── splash.png
│ │ │ ├── drawable-land-night-hdpi
│ │ │ │ └── splash.png
│ │ │ ├── drawable-land-night-ldpi
│ │ │ │ └── splash.png
│ │ │ ├── drawable-land-night-mdpi
│ │ │ │ └── splash.png
│ │ │ ├── drawable-port-night-hdpi
│ │ │ │ └── splash.png
│ │ │ ├── drawable-port-night-ldpi
│ │ │ │ └── splash.png
│ │ │ ├── drawable-port-night-mdpi
│ │ │ │ └── splash.png
│ │ │ ├── drawable-land-night-xhdpi
│ │ │ │ └── splash.png
│ │ │ ├── drawable-land-night-xxhdpi
│ │ │ │ └── splash.png
│ │ │ ├── drawable-port-night-xhdpi
│ │ │ │ └── splash.png
│ │ │ ├── drawable-port-night-xxhdpi
│ │ │ │ └── splash.png
│ │ │ ├── drawable-land-night-xxxhdpi
│ │ │ │ └── splash.png
│ │ │ ├── drawable-port-night-xxxhdpi
│ │ │ │ └── splash.png
│ │ │ ├── values
│ │ │ │ ├── ic_launcher_background.xml
│ │ │ │ └── strings.xml
│ │ │ ├── xml
│ │ │ │ └── file_paths.xml
│ │ │ ├── mipmap-anydpi-v26
│ │ │ │ ├── ic_launcher.xml
│ │ │ │ └── ic_launcher_round.xml
│ │ │ └── layout
│ │ │ │ └── activity_main.xml
│ │ └── java
│ │ │ └── app
│ │ │ └── botfi
│ │ │ └── app
│ │ │ └── MainActivity.java
│ │ └── test
│ │ └── java
│ │ └── com
│ │ └── getcapacitor
│ │ └── myapp
│ │ └── ExampleUnitTest.java
├── gradle
│ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
├── settings.gradle
└── variables.gradle
├── .vscode
└── extensions.json
├── artifacts
└── contracts
│ ├── Balances.sol
│ ├── Balances.dbg.json
│ └── IERC20.dbg.json
│ └── DeploylessMulticall2.sol
│ └── DeploylessMulticall2.dbg.json
├── hardhat.config.cjs
├── auto-imports.d.ts
├── capacitor.config-example.ts
├── telegram_desc.txt
└── .gitignore
/scripts/hardhat.js:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/components/Toast.vue:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.yarnrc.yml:
--------------------------------------------------------------------------------
1 | nodeLinker: node-modules
2 |
--------------------------------------------------------------------------------
/public/robots.txt:
--------------------------------------------------------------------------------
1 | User-agent: *
2 | Allow: /
--------------------------------------------------------------------------------
/src/Constant.js:
--------------------------------------------------------------------------------
1 | export default {
2 |
3 | }
--------------------------------------------------------------------------------
/android/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build/*
2 | !/build/.npmkeep
3 |
--------------------------------------------------------------------------------
/src/config/bridge/index.js:
--------------------------------------------------------------------------------
1 | export default {
2 |
3 | }
--------------------------------------------------------------------------------
/src/components/wallet/GasSelect.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/src/workers/db.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | */
4 | import DB from "../classes/DBCore"
--------------------------------------------------------------------------------
/src/components/browser/BrowserHome.vue:
--------------------------------------------------------------------------------
1 |
2 | No Tabs
3 |
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/public/favicon.ico
--------------------------------------------------------------------------------
/src/data/abi/deployless/Balances.json:
--------------------------------------------------------------------------------
1 | ["constructor((address token, address account)[] calls)"]
--------------------------------------------------------------------------------
/public/images/no_data.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/public/images/no_data.png
--------------------------------------------------------------------------------
/src/data/abi_min/proxy_beacon_impl_abi.js:
--------------------------------------------------------------------------------
1 | export default ["function implementation() view returns (address)"]
--------------------------------------------------------------------------------
/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"]
3 | }
4 |
--------------------------------------------------------------------------------
/public/images/empty_box.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/public/images/empty_box.png
--------------------------------------------------------------------------------
/public/images/nft-small.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/public/images/nft-small.jpg
--------------------------------------------------------------------------------
/src/data/abi_min/deployless/Balances.js:
--------------------------------------------------------------------------------
1 | export default ["constructor((address token, address account)[] calls)"]
--------------------------------------------------------------------------------
/public/images/swap_success.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/public/images/swap_success.png
--------------------------------------------------------------------------------
/public/images/tx_success.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/public/images/tx_success.png
--------------------------------------------------------------------------------
/scripts/build.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | BASEDIR=$(dirname "$0")
4 |
5 | sh $BASEDIR/core.sh
6 | npx vite build
--------------------------------------------------------------------------------
/src/config/db/index.js:
--------------------------------------------------------------------------------
1 | import schema from "./schema"
2 |
3 | export default {
4 | version: 1,
5 | schema
6 | }
--------------------------------------------------------------------------------
/public/assets/icons/icon-48.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/public/assets/icons/icon-48.webp
--------------------------------------------------------------------------------
/public/assets/icons/icon-72.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/public/assets/icons/icon-72.webp
--------------------------------------------------------------------------------
/public/assets/icons/icon-96.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/public/assets/icons/icon-96.webp
--------------------------------------------------------------------------------
/public/images/swap_success_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/public/images/swap_success_2.png
--------------------------------------------------------------------------------
/public/assets/icons/icon-128.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/public/assets/icons/icon-128.webp
--------------------------------------------------------------------------------
/public/assets/icons/icon-192.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/public/assets/icons/icon-192.webp
--------------------------------------------------------------------------------
/public/assets/icons/icon-256.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/public/assets/icons/icon-256.webp
--------------------------------------------------------------------------------
/public/assets/icons/icon-512.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/public/assets/icons/icon-512.webp
--------------------------------------------------------------------------------
/src/data/abi/deployless/DeploylessMulticall2.json:
--------------------------------------------------------------------------------
1 | ["constructor(bool requireSuccess, (address target, bytes callData)[] calls)"]
--------------------------------------------------------------------------------
/src/data/abi_min/deployless_multicall.js:
--------------------------------------------------------------------------------
1 | export default ["constructor((address target, bool allowFailure, bytes callData)[] calls)"]
--------------------------------------------------------------------------------
/src/layouts/BotFiProvider.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/android/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/_vars.css:
--------------------------------------------------------------------------------
1 | :root {
2 | --animate-duration: 1s;
3 | --animate-delay: 1s;
4 | --animate-repeat: 1;
5 | }
6 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/drawable/splash.png
--------------------------------------------------------------------------------
/scripts/update_app.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | BASEDIR=$(dirname "$0")
4 |
5 | cd $BASEDIR/../
6 |
7 | git pull
8 | #npx @capgo/cli encrypt .
--------------------------------------------------------------------------------
/src/data/abi_min/deployless/DeploylessMulticall2.js:
--------------------------------------------------------------------------------
1 | export default ["constructor(bool requireSuccess, (address target, bytes callData)[] calls)"]
--------------------------------------------------------------------------------
/src/config/web3auth.js:
--------------------------------------------------------------------------------
1 | export default {
2 | clientId: "BL0QgTZ04057kJgJrlhYvrZgSs9K2MxisVaSkWNtCRM3upGg8mfNAXNHc_DaYayAhmZ_z3X5_VY13KDgU6DjK9I"
3 | }
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-night/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/drawable-night/splash.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-ldpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/mipmap-ldpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-land-hdpi/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/drawable-land-hdpi/splash.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-land-ldpi/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/drawable-land-ldpi/splash.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-land-mdpi/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/drawable-land-mdpi/splash.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-land-xhdpi/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/drawable-land-xhdpi/splash.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-port-hdpi/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/drawable-port-hdpi/splash.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-port-ldpi/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/drawable-port-ldpi/splash.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-port-mdpi/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/drawable-port-mdpi/splash.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-port-xhdpi/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/drawable-port-xhdpi/splash.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/src/main_telegram.js:
--------------------------------------------------------------------------------
1 | import { startApp } from "./main_core.js"
2 | import telegramPlugin from "./plugins/telegram.js"
3 |
4 | startApp({ telegram: telegramPlugin })
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-land-xxhdpi/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/drawable-land-xxhdpi/splash.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-land-xxxhdpi/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/drawable-land-xxxhdpi/splash.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-port-xxhdpi/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/drawable-port-xxhdpi/splash.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-port-xxxhdpi/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/drawable-port-xxxhdpi/splash.png
--------------------------------------------------------------------------------
/artifacts/contracts/Balances.sol/Balances.dbg.json:
--------------------------------------------------------------------------------
1 | {
2 | "_format": "hh-sol-dbg-1",
3 | "buildInfo": "../../build-info/9789975784204cb39090c53a66e98db4.json"
4 | }
5 |
--------------------------------------------------------------------------------
/artifacts/contracts/Balances.sol/IERC20.dbg.json:
--------------------------------------------------------------------------------
1 | {
2 | "_format": "hh-sol-dbg-1",
3 | "buildInfo": "../../build-info/9789975784204cb39090c53a66e98db4.json"
4 | }
5 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-land-night-hdpi/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/drawable-land-night-hdpi/splash.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-land-night-ldpi/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/drawable-land-night-ldpi/splash.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-land-night-mdpi/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/drawable-land-night-mdpi/splash.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-port-night-hdpi/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/drawable-port-night-hdpi/splash.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-port-night-ldpi/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/drawable-port-night-ldpi/splash.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-port-night-mdpi/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/drawable-port-night-mdpi/splash.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-ldpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/mipmap-ldpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-land-night-xhdpi/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/drawable-land-night-xhdpi/splash.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-land-night-xxhdpi/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/drawable-land-night-xxhdpi/splash.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-port-night-xhdpi/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/drawable-port-night-xhdpi/splash.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-port-night-xxhdpi/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/drawable-port-night-xxhdpi/splash.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/scripts/tunnel.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | #autossh -M 0 -R botfi-dev:80:localhost:5173 serveo.net
3 | #ngrok http --domain=typically-helped-kitten.ngrok-free.app 5173
4 | localtonet
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-land-night-xxxhdpi/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/drawable-land-night-xxxhdpi/splash.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-port-night-xxxhdpi/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/drawable-port-night-xxxhdpi/splash.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-hdpi/ic_launcher_background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/mipmap-hdpi/ic_launcher_background.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-ldpi/ic_launcher_background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/mipmap-ldpi/ic_launcher_background.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-ldpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/mipmap-ldpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-mdpi/ic_launcher_background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/mipmap-mdpi/ic_launcher_background.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xhdpi/ic_launcher_background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/mipmap-xhdpi/ic_launcher_background.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_background.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/scripts/build_telegram.sh:
--------------------------------------------------------------------------------
1 |
2 | BASEDIR=$(dirname "$0")
3 |
4 | #unlink $BASEDIR/../main.js
5 | #cp -f $BASEDIR/../main_telegram.js $BASEDIR/../main.js
6 |
7 | sh $BASEDIR/build.sh
8 |
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_background.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/botfi-app/botfi-wallet/HEAD/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/android/app/src/main/res/values/ic_launcher_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #FFFFFF
4 |
--------------------------------------------------------------------------------
/android/app/src/main/java/app/botfi/app/MainActivity.java:
--------------------------------------------------------------------------------
1 | package app.botfi.app;
2 |
3 | import com.getcapacitor.BridgeActivity;
4 |
5 | public class MainActivity extends BridgeActivity {}
6 |
--------------------------------------------------------------------------------
/artifacts/contracts/DeploylessMulticall2.sol/DeploylessMulticall2.dbg.json:
--------------------------------------------------------------------------------
1 | {
2 | "_format": "hh-sol-dbg-1",
3 | "buildInfo": "../../build-info/e0364a99253ed5ec5e468c1d365be656.json"
4 | }
5 |
--------------------------------------------------------------------------------
/scripts/sig.cjs:
--------------------------------------------------------------------------------
1 | const ethers = require("ethers")
2 |
3 | const sig = "transferFrom(address,address,uint256)"
4 | console.log("Sig:", sig)
5 | console.log("Hash:", ethers.id(sig).substring(0, 10))
--------------------------------------------------------------------------------
/src/config/contracts/botfi/10.json:
--------------------------------------------------------------------------------
1 | {
2 | "swap": {
3 | "factory": "0x26dBd330cc32fAb12513AeB5331531557612E720",
4 | "multicall3": "0x060267D7955D93B3F8c961c4F63c0521a0a02B48"
5 | }
6 | }
--------------------------------------------------------------------------------
/src/config/contracts/botfi/56.json:
--------------------------------------------------------------------------------
1 | {
2 | "swap": {
3 | "factory": "0x3428744B0Fd96DcDbA9DF0367ADEe58d09dBF835",
4 | "multicall3": "0xf78fF5018aBD767E3088248334630227132ae9B6"
5 | }
6 | }
--------------------------------------------------------------------------------
/src/config/contracts/botfi/12602.json:
--------------------------------------------------------------------------------
1 | {
2 | "swap": {
3 | "factory": "0xec38215f299C67a7824FDeBEA908F5488C306246",
4 | "multicall3": "0xB135841406F314eA7D23ADeADeC0C80B16eF9e5C"
5 | }
6 | }
--------------------------------------------------------------------------------
/src/config/contracts/botfi/1337.json:
--------------------------------------------------------------------------------
1 | {
2 | "swap": {
3 | "factory": "0xCB41905CAFAA05aA5567E682aa4ddeEA93a52771",
4 | "multicall3": "0x1b98b9e825E06862Cb0F24d871eC0411D4a60d56"
5 | }
6 | }
--------------------------------------------------------------------------------
/src/config/contracts/botfi/42161.json:
--------------------------------------------------------------------------------
1 | {
2 | "swap": {
3 | "factory": "0x652dFAdd3384Ad8e4327a7f72b16bdf4AF416Ce8",
4 | "multicall3": "0xD8C6ce25BEA210e5EF7d1FD836CCCFd5deC4567e"
5 | }
6 | }
--------------------------------------------------------------------------------
/src/config/contracts/botfi/43114.json:
--------------------------------------------------------------------------------
1 | {
2 | "swap": {
3 | "factory": "0x26dBd330cc32fAb12513AeB5331531557612E720",
4 | "multicall3": "0x060267D7955D93B3F8c961c4F63c0521a0a02B48"
5 | }
6 | }
--------------------------------------------------------------------------------
/src/config/contracts/botfi/59144.json:
--------------------------------------------------------------------------------
1 | {
2 | "swap": {
3 | "factory": "0x26dBd330cc32fAb12513AeB5331531557612E720",
4 | "multicall3": "0x060267D7955D93B3F8c961c4F63c0521a0a02B48"
5 | }
6 | }
--------------------------------------------------------------------------------
/src/config/contracts/botfi/8453.json:
--------------------------------------------------------------------------------
1 | {
2 | "swap": {
3 | "factory": "0x26dBd330cc32fAb12513AeB5331531557612E720",
4 | "multicall3": "0x060267D7955D93B3F8c961c4F63c0521a0a02B48"
5 | }
6 | }
--------------------------------------------------------------------------------
/hardhat.config.cjs:
--------------------------------------------------------------------------------
1 | require("@nomiclabs/hardhat-ethers");
2 | require("@nomicfoundation/hardhat-toolbox");
3 | require("@nomiclabs/hardhat-ethers");
4 |
5 | module.exports = {
6 | solidity: "0.8.19"
7 | };
--------------------------------------------------------------------------------
/src/config/swap/supported_chains.json:
--------------------------------------------------------------------------------
1 | {
2 | "10": true,
3 | "56": true,
4 | "1337": true,
5 | "8453": true,
6 | "12602": true,
7 | "42161": true,
8 | "43114": true,
9 | "59144": true
10 | }
--------------------------------------------------------------------------------
/src/pages/error/[error_type].vue:
--------------------------------------------------------------------------------
1 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/auto-imports.d.ts:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | /* prettier-ignore */
3 | // @ts-nocheck
4 | // noinspection JSUnusedGlobalSymbols
5 | // Generated by unplugin-auto-import
6 | export {}
7 | declare global {
8 |
9 | }
10 |
--------------------------------------------------------------------------------
/public/images/crypto/waves.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/mtl.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/vib.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/fading_entrances/fadeIn.css:
--------------------------------------------------------------------------------
1 | @keyframes fadeIn {
2 | from {
3 | opacity: 0;
4 | }
5 |
6 | to {
7 | opacity: 1;
8 | }
9 | }
10 |
11 | .fadeIn {
12 | animation-name: fadeIn;
13 | }
14 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/fading_exits/fadeOut.css:
--------------------------------------------------------------------------------
1 | @keyframes fadeOut {
2 | from {
3 | opacity: 1;
4 | }
5 |
6 | to {
7 | opacity: 0;
8 | }
9 | }
10 |
11 | .fadeOut {
12 | animation-name: fadeOut;
13 | }
14 |
--------------------------------------------------------------------------------
/android/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 | include ':capacitor-cordova-android-plugins'
3 | project(':capacitor-cordova-android-plugins').projectDir = new File('./capacitor-cordova-android-plugins/')
4 |
5 | apply from: 'capacitor.settings.gradle'
--------------------------------------------------------------------------------
/public/images/crypto/gbyte.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/huc.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/salt.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/emc.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/capacitor.config-example.ts:
--------------------------------------------------------------------------------
1 | import { CapacitorConfig } from '@capacitor/cli';
2 |
3 | const config: CapacitorConfig = {
4 | appId: 'app.botfi.native',
5 | appName: 'BotFi',
6 | webDir: 'dist',
7 |
8 | };
9 |
10 | export default config;
11 |
--------------------------------------------------------------------------------
/public/images/crypto/bat.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/storm.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/android/app/src/main/res/xml/file_paths.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/public/images/crypto/xvc.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/attention_seekers/flash.css:
--------------------------------------------------------------------------------
1 | @keyframes flash {
2 | from,
3 | 50%,
4 | to {
5 | opacity: 1;
6 | }
7 |
8 | 25%,
9 | 75% {
10 | opacity: 0;
11 | }
12 | }
13 |
14 | .flash {
15 | animation-name: flash;
16 | }
17 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/zooming_entrances/zoomIn.css:
--------------------------------------------------------------------------------
1 | @keyframes zoomIn {
2 | from {
3 | opacity: 0;
4 | transform: scale3d(0.3, 0.3, 0.3);
5 | }
6 |
7 | 50% {
8 | opacity: 1;
9 | }
10 | }
11 |
12 | .zoomIn {
13 | animation-name: zoomIn;
14 | }
15 |
--------------------------------------------------------------------------------
/public/images/crypto/lrc.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.2-all.zip
4 | networkTimeout=10000
5 | zipStoreBase=GRADLE_USER_HOME
6 | zipStorePath=wrapper/dists
7 |
--------------------------------------------------------------------------------
/public/images/crypto/nav.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/fading_exits/fadeOutUp.css:
--------------------------------------------------------------------------------
1 | @keyframes fadeOutUp {
2 | from {
3 | opacity: 1;
4 | }
5 |
6 | to {
7 | opacity: 0;
8 | transform: translate3d(0, -100%, 0);
9 | }
10 | }
11 |
12 | .fadeOutUp {
13 | animation-name: fadeOutUp;
14 | }
15 |
--------------------------------------------------------------------------------
/public/images/crypto/dgd.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/fading_exits/fadeOutDown.css:
--------------------------------------------------------------------------------
1 | @keyframes fadeOutDown {
2 | from {
3 | opacity: 1;
4 | }
5 |
6 | to {
7 | opacity: 0;
8 | transform: translate3d(0, 100%, 0);
9 | }
10 | }
11 |
12 | .fadeOutDown {
13 | animation-name: fadeOutDown;
14 | }
15 |
--------------------------------------------------------------------------------
/public/images/crypto/bsd.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/mod.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/neos.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/fading_exits/fadeOutLeft.css:
--------------------------------------------------------------------------------
1 | @keyframes fadeOutLeft {
2 | from {
3 | opacity: 1;
4 | }
5 |
6 | to {
7 | opacity: 0;
8 | transform: translate3d(-100%, 0, 0);
9 | }
10 | }
11 |
12 | .fadeOutLeft {
13 | animation-name: fadeOutLeft;
14 | }
15 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/fading_exits/fadeOutRight.css:
--------------------------------------------------------------------------------
1 | @keyframes fadeOutRight {
2 | from {
3 | opacity: 1;
4 | }
5 |
6 | to {
7 | opacity: 0;
8 | transform: translate3d(100%, 0, 0);
9 | }
10 | }
11 |
12 | .fadeOutRight {
13 | animation-name: fadeOutRight;
14 | }
15 |
--------------------------------------------------------------------------------
/src/pages/browser/history.vue:
--------------------------------------------------------------------------------
1 |
2 | { name: "browser-history" }
3 |
4 |
5 |
10 |
11 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/fading_exits/fadeOutUpBig.css:
--------------------------------------------------------------------------------
1 | @keyframes fadeOutUpBig {
2 | from {
3 | opacity: 1;
4 | }
5 |
6 | to {
7 | opacity: 0;
8 | transform: translate3d(0, -2000px, 0);
9 | }
10 | }
11 |
12 | .fadeOutUpBig {
13 | animation-name: fadeOutUpBig;
14 | }
15 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/fading_exits/fadeOutDownBig.css:
--------------------------------------------------------------------------------
1 | @keyframes fadeOutDownBig {
2 | from {
3 | opacity: 1;
4 | }
5 |
6 | to {
7 | opacity: 0;
8 | transform: translate3d(0, 2000px, 0);
9 | }
10 | }
11 |
12 | .fadeOutDownBig {
13 | animation-name: fadeOutDownBig;
14 | }
15 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/fading_exits/fadeOutLeftBig.css:
--------------------------------------------------------------------------------
1 | @keyframes fadeOutLeftBig {
2 | from {
3 | opacity: 1;
4 | }
5 |
6 | to {
7 | opacity: 0;
8 | transform: translate3d(-2000px, 0, 0);
9 | }
10 | }
11 |
12 | .fadeOutLeftBig {
13 | animation-name: fadeOutLeftBig;
14 | }
15 |
--------------------------------------------------------------------------------
/public/images/crypto/apex.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/fading_exits/fadeOutRightBig.css:
--------------------------------------------------------------------------------
1 | @keyframes fadeOutRightBig {
2 | from {
3 | opacity: 1;
4 | }
5 |
6 | to {
7 | opacity: 0;
8 | transform: translate3d(2000px, 0, 0);
9 | }
10 | }
11 |
12 | .fadeOutRightBig {
13 | animation-name: fadeOutRightBig;
14 | }
15 |
--------------------------------------------------------------------------------
/src/config/browser/index.js:
--------------------------------------------------------------------------------
1 | export default {
2 | homepage: "https://google.com/",
3 | defaultSearch: "https://google.com/search?q={{KEYWORD}}",
4 | searchSuggestionApi: "http://suggestqueries.google.com/complete/search?client=chrome&q={{KEYWORD}}",
5 | maxRequestWaitTime: 300_000
6 | }
7 |
--------------------------------------------------------------------------------
/public/images/crypto/elec.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/scripts/dev.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | BASEDIR=$(dirname "$0")
4 |
5 | SSL_SKIP_DIR="$BASEDIR/../node_modules/@jcesarmobile/ssl-skip"
6 |
7 | if [ ! -d $SSL_SKIP_DIR ]; then
8 | npm install --save-dev "@jcesarmobile/ssl-skip" -f
9 | fi
10 |
11 | sh $BASEDIR/core.sh
12 | npx vite --host
13 |
14 |
15 |
--------------------------------------------------------------------------------
/public/images/crypto/ardr.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/eop.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/rotating_exits/rotateOut.css:
--------------------------------------------------------------------------------
1 | @keyframes rotateOut {
2 | from {
3 | opacity: 1;
4 | }
5 |
6 | to {
7 | transform: rotate3d(0, 0, 1, 200deg);
8 | opacity: 0;
9 | }
10 | }
11 |
12 | .rotateOut {
13 | animation-name: rotateOut;
14 | transform-origin: center;
15 | }
16 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/sliding_entrances/slideInUp.css:
--------------------------------------------------------------------------------
1 | @keyframes slideInUp {
2 | from {
3 | transform: translate3d(0, 100%, 0);
4 | visibility: visible;
5 | }
6 |
7 | to {
8 | transform: translate3d(0, 0, 0);
9 | }
10 | }
11 |
12 | .slideInUp {
13 | animation-name: slideInUp;
14 | }
15 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/sliding_exits/slideOutUp.css:
--------------------------------------------------------------------------------
1 | @keyframes slideOutUp {
2 | from {
3 | transform: translate3d(0, 0, 0);
4 | }
5 |
6 | to {
7 | visibility: hidden;
8 | transform: translate3d(0, -100%, 0);
9 | }
10 | }
11 |
12 | .slideOutUp {
13 | animation-name: slideOutUp;
14 | }
15 |
--------------------------------------------------------------------------------
/public/images/crypto/r.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/xvg.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/fading_entrances/fadeInUp.css:
--------------------------------------------------------------------------------
1 | @keyframes fadeInUp {
2 | from {
3 | opacity: 0;
4 | transform: translate3d(0, 100%, 0);
5 | }
6 |
7 | to {
8 | opacity: 1;
9 | transform: translate3d(0, 0, 0);
10 | }
11 | }
12 |
13 | .fadeInUp {
14 | animation-name: fadeInUp;
15 | }
16 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/sliding_exits/slideOutDown.css:
--------------------------------------------------------------------------------
1 | @keyframes slideOutDown {
2 | from {
3 | transform: translate3d(0, 0, 0);
4 | }
5 |
6 | to {
7 | visibility: hidden;
8 | transform: translate3d(0, 100%, 0);
9 | }
10 | }
11 |
12 | .slideOutDown {
13 | animation-name: slideOutDown;
14 | }
15 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/sliding_exits/slideOutLeft.css:
--------------------------------------------------------------------------------
1 | @keyframes slideOutLeft {
2 | from {
3 | transform: translate3d(0, 0, 0);
4 | }
5 |
6 | to {
7 | visibility: hidden;
8 | transform: translate3d(-100%, 0, 0);
9 | }
10 | }
11 |
12 | .slideOutLeft {
13 | animation-name: slideOutLeft;
14 | }
15 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/zooming_exits/zoomOut.css:
--------------------------------------------------------------------------------
1 | @keyframes zoomOut {
2 | from {
3 | opacity: 1;
4 | }
5 |
6 | 50% {
7 | opacity: 0;
8 | transform: scale3d(0.3, 0.3, 0.3);
9 | }
10 |
11 | to {
12 | opacity: 0;
13 | }
14 | }
15 |
16 | .zoomOut {
17 | animation-name: zoomOut;
18 | }
19 |
--------------------------------------------------------------------------------
/public/images/crypto/icn.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/moac.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/sliding_entrances/slideInDown.css:
--------------------------------------------------------------------------------
1 | @keyframes slideInDown {
2 | from {
3 | transform: translate3d(0, -100%, 0);
4 | visibility: visible;
5 | }
6 |
7 | to {
8 | transform: translate3d(0, 0, 0);
9 | }
10 | }
11 |
12 | .slideInDown {
13 | animation-name: slideInDown;
14 | }
15 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/sliding_entrances/slideInLeft.css:
--------------------------------------------------------------------------------
1 | @keyframes slideInLeft {
2 | from {
3 | transform: translate3d(-100%, 0, 0);
4 | visibility: visible;
5 | }
6 |
7 | to {
8 | transform: translate3d(0, 0, 0);
9 | }
10 | }
11 |
12 | .slideInLeft {
13 | animation-name: slideInLeft;
14 | }
15 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/sliding_entrances/slideInRight.css:
--------------------------------------------------------------------------------
1 | @keyframes slideInRight {
2 | from {
3 | transform: translate3d(100%, 0, 0);
4 | visibility: visible;
5 | }
6 |
7 | to {
8 | transform: translate3d(0, 0, 0);
9 | }
10 | }
11 |
12 | .slideInRight {
13 | animation-name: slideInRight;
14 | }
15 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/sliding_exits/slideOutRight.css:
--------------------------------------------------------------------------------
1 | @keyframes slideOutRight {
2 | from {
3 | transform: translate3d(0, 0, 0);
4 | }
5 |
6 | to {
7 | visibility: hidden;
8 | transform: translate3d(100%, 0, 0);
9 | }
10 | }
11 |
12 | .slideOutRight {
13 | animation-name: slideOutRight;
14 | }
15 |
--------------------------------------------------------------------------------
/src/components/common/TokenIcon.vue:
--------------------------------------------------------------------------------
1 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/src/components/popovers/Popover.vue:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/src/config/swap/index.js:
--------------------------------------------------------------------------------
1 |
2 |
3 | import supported_chains from "./supported_chains.json"
4 | import routes_ABIs from "./routes_ABIs"
5 |
6 | export default {
7 | enabled: true,
8 | protocol_fee_percent: 0.8, //0.8%
9 | supported_chains,
10 | routes_ABIs,
11 | default_slippage: 1 // 1%
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/android/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | BotFi
4 | BotFi
5 | app.botfi.app
6 | app.botfi.app
7 |
8 |
--------------------------------------------------------------------------------
/public/images/crypto/drgn.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/sand.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/scripts/run_android.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | BASEDIR=$(dirname "$0")
4 |
5 | npm install --save-dev "@jcesarmobile/ssl-skip" -f
6 |
7 | unlink $BASEDIR/../capacitor.config.ts
8 | cp -f $BASEDIR/../capacitor.config-dev.ts $BASEDIR/../capacitor.config.ts
9 |
10 | npx cap sync && \
11 | npx cap run android && \
12 | npx cap sync
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/fading_entrances/fadeInDown.css:
--------------------------------------------------------------------------------
1 | @keyframes fadeInDown {
2 | from {
3 | opacity: 0;
4 | transform: translate3d(0, -100%, 0);
5 | }
6 |
7 | to {
8 | opacity: 1;
9 | transform: translate3d(0, 0, 0);
10 | }
11 | }
12 |
13 | .fadeInDown {
14 | animation-name: fadeInDown;
15 | }
16 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/fading_entrances/fadeInLeft.css:
--------------------------------------------------------------------------------
1 | @keyframes fadeInLeft {
2 | from {
3 | opacity: 0;
4 | transform: translate3d(-100%, 0, 0);
5 | }
6 |
7 | to {
8 | opacity: 1;
9 | transform: translate3d(0, 0, 0);
10 | }
11 | }
12 |
13 | .fadeInLeft {
14 | animation-name: fadeInLeft;
15 | }
16 |
--------------------------------------------------------------------------------
/public/images/crypto/ark.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/nio.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/fading_entrances/fadeInRight.css:
--------------------------------------------------------------------------------
1 | @keyframes fadeInRight {
2 | from {
3 | opacity: 0;
4 | transform: translate3d(100%, 0, 0);
5 | }
6 |
7 | to {
8 | opacity: 1;
9 | transform: translate3d(0, 0, 0);
10 | }
11 | }
12 |
13 | .fadeInRight {
14 | animation-name: fadeInRight;
15 | }
16 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/fading_entrances/fadeInUpBig.css:
--------------------------------------------------------------------------------
1 | @keyframes fadeInUpBig {
2 | from {
3 | opacity: 0;
4 | transform: translate3d(0, 2000px, 0);
5 | }
6 |
7 | to {
8 | opacity: 1;
9 | transform: translate3d(0, 0, 0);
10 | }
11 | }
12 |
13 | .fadeInUpBig {
14 | animation-name: fadeInUpBig;
15 | }
16 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/fading_entrances/fadeInTopLeft.css:
--------------------------------------------------------------------------------
1 | @keyframes fadeInTopLeft {
2 | from {
3 | opacity: 0;
4 | transform: translate3d(-100%, -100%, 0);
5 | }
6 | to {
7 | opacity: 1;
8 | transform: translate3d(0, 0, 0);
9 | }
10 | }
11 |
12 | .fadeInTopLeft {
13 | animation-name: fadeInTopLeft;
14 | }
15 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/fading_exits/fadeOutTopLeft.css:
--------------------------------------------------------------------------------
1 | @keyframes fadeOutTopLeft {
2 | from {
3 | opacity: 1;
4 | transform: translate3d(0, 0, 0);
5 | }
6 | to {
7 | opacity: 0;
8 | transform: translate3d(-100%, -100%, 0);
9 | }
10 | }
11 |
12 | .fadeOutTopLeft {
13 | animation-name: fadeOutTopLeft;
14 | }
15 |
--------------------------------------------------------------------------------
/public/images/crypto/ltc.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/fading_entrances/fadeInDownBig.css:
--------------------------------------------------------------------------------
1 | @keyframes fadeInDownBig {
2 | from {
3 | opacity: 0;
4 | transform: translate3d(0, -2000px, 0);
5 | }
6 |
7 | to {
8 | opacity: 1;
9 | transform: translate3d(0, 0, 0);
10 | }
11 | }
12 |
13 | .fadeInDownBig {
14 | animation-name: fadeInDownBig;
15 | }
16 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/fading_entrances/fadeInLeftBig.css:
--------------------------------------------------------------------------------
1 | @keyframes fadeInLeftBig {
2 | from {
3 | opacity: 0;
4 | transform: translate3d(-2000px, 0, 0);
5 | }
6 |
7 | to {
8 | opacity: 1;
9 | transform: translate3d(0, 0, 0);
10 | }
11 | }
12 |
13 | .fadeInLeftBig {
14 | animation-name: fadeInLeftBig;
15 | }
16 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/fading_entrances/fadeInRightBig.css:
--------------------------------------------------------------------------------
1 | @keyframes fadeInRightBig {
2 | from {
3 | opacity: 0;
4 | transform: translate3d(2000px, 0, 0);
5 | }
6 |
7 | to {
8 | opacity: 1;
9 | transform: translate3d(0, 0, 0);
10 | }
11 | }
12 |
13 | .fadeInRightBig {
14 | animation-name: fadeInRightBig;
15 | }
16 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/fading_entrances/fadeInTopRight.css:
--------------------------------------------------------------------------------
1 | @keyframes fadeInTopRight {
2 | from {
3 | opacity: 0;
4 | transform: translate3d(100%, -100%, 0);
5 | }
6 | to {
7 | opacity: 1;
8 | transform: translate3d(0, 0, 0);
9 | }
10 | }
11 |
12 | .fadeInTopRight {
13 | animation-name: fadeInTopRight;
14 | }
15 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/fading_exits/fadeOutTopRight.css:
--------------------------------------------------------------------------------
1 | @keyframes fadeOutTopRight {
2 | from {
3 | opacity: 1;
4 | transform: translate3d(0, 0, 0);
5 | }
6 | to {
7 | opacity: 0;
8 | transform: translate3d(100%, -100%, 0);
9 | }
10 | }
11 |
12 | .fadeOutTopRight {
13 | animation-name: fadeOutTopRight;
14 | }
15 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/rotating_exits/rotateOutUpLeft.css:
--------------------------------------------------------------------------------
1 | @keyframes rotateOutUpLeft {
2 | from {
3 | opacity: 1;
4 | }
5 |
6 | to {
7 | transform: rotate3d(0, 0, 1, -45deg);
8 | opacity: 0;
9 | }
10 | }
11 |
12 | .rotateOutUpLeft {
13 | animation-name: rotateOutUpLeft;
14 | transform-origin: left bottom;
15 | }
16 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/fading_entrances/fadeInBottomLeft.css:
--------------------------------------------------------------------------------
1 | @keyframes fadeInBottomLeft {
2 | from {
3 | opacity: 0;
4 | transform: translate3d(-100%, 100%, 0);
5 | }
6 | to {
7 | opacity: 1;
8 | transform: translate3d(0, 0, 0);
9 | }
10 | }
11 |
12 | .fadeInBottomLeft {
13 | animation-name: fadeInBottomLeft;
14 | }
15 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/fading_exits/fadeOutBottomLeft.css:
--------------------------------------------------------------------------------
1 | @keyframes fadeOutBottomLeft {
2 | from {
3 | opacity: 1;
4 | transform: translate3d(0, 0, 0);
5 | }
6 | to {
7 | opacity: 0;
8 | transform: translate3d(-100%, 100%, 0);
9 | }
10 | }
11 |
12 | .fadeOutBottomLeft {
13 | animation-name: fadeOutBottomLeft;
14 | }
15 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/rotating_exits/rotateOutDownLeft.css:
--------------------------------------------------------------------------------
1 | @keyframes rotateOutDownLeft {
2 | from {
3 | opacity: 1;
4 | }
5 |
6 | to {
7 | transform: rotate3d(0, 0, 1, 45deg);
8 | opacity: 0;
9 | }
10 | }
11 |
12 | .rotateOutDownLeft {
13 | animation-name: rotateOutDownLeft;
14 | transform-origin: left bottom;
15 | }
16 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/rotating_exits/rotateOutUpRight.css:
--------------------------------------------------------------------------------
1 | @keyframes rotateOutUpRight {
2 | from {
3 | opacity: 1;
4 | }
5 |
6 | to {
7 | transform: rotate3d(0, 0, 1, 90deg);
8 | opacity: 0;
9 | }
10 | }
11 |
12 | .rotateOutUpRight {
13 | animation-name: rotateOutUpRight;
14 | transform-origin: right bottom;
15 | }
16 |
--------------------------------------------------------------------------------
/public/images/crypto/jpy.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/lkk.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/fading_entrances/fadeInBottomRight.css:
--------------------------------------------------------------------------------
1 | @keyframes fadeInBottomRight {
2 | from {
3 | opacity: 0;
4 | transform: translate3d(100%, 100%, 0);
5 | }
6 | to {
7 | opacity: 1;
8 | transform: translate3d(0, 0, 0);
9 | }
10 | }
11 |
12 | .fadeInBottomRight {
13 | animation-name: fadeInBottomRight;
14 | }
15 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/fading_exits/fadeOutBottomRight.css:
--------------------------------------------------------------------------------
1 | @keyframes fadeOutBottomRight {
2 | from {
3 | opacity: 1;
4 | transform: translate3d(0, 0, 0);
5 | }
6 | to {
7 | opacity: 0;
8 | transform: translate3d(100%, 100%, 0);
9 | }
10 | }
11 |
12 | .fadeOutBottomRight {
13 | animation-name: fadeOutBottomRight;
14 | }
15 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/rotating_entrances/rotateIn.css:
--------------------------------------------------------------------------------
1 | @keyframes rotateIn {
2 | from {
3 | transform: rotate3d(0, 0, 1, -200deg);
4 | opacity: 0;
5 | }
6 |
7 | to {
8 | transform: translate3d(0, 0, 0);
9 | opacity: 1;
10 | }
11 | }
12 |
13 | .rotateIn {
14 | animation-name: rotateIn;
15 | transform-origin: center;
16 | }
17 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/rotating_exits/rotateOutDownRight.css:
--------------------------------------------------------------------------------
1 | @keyframes rotateOutDownRight {
2 | from {
3 | opacity: 1;
4 | }
5 |
6 | to {
7 | transform: rotate3d(0, 0, 1, -45deg);
8 | opacity: 0;
9 | }
10 | }
11 |
12 | .rotateOutDownRight {
13 | animation-name: rotateOutDownRight;
14 | transform-origin: right bottom;
15 | }
16 |
--------------------------------------------------------------------------------
/public/images/crypto/cred.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/bouncing_exits/bounceOutLeft.css:
--------------------------------------------------------------------------------
1 | @keyframes bounceOutLeft {
2 | 20% {
3 | opacity: 1;
4 | transform: translate3d(20px, 0, 0) scaleX(0.9);
5 | }
6 |
7 | to {
8 | opacity: 0;
9 | transform: translate3d(-2000px, 0, 0) scaleX(2);
10 | }
11 | }
12 |
13 | .bounceOutLeft {
14 | animation-name: bounceOutLeft;
15 | }
16 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/lightspeed/lightSpeedOutLeft.css:
--------------------------------------------------------------------------------
1 | @keyframes lightSpeedOutLeft {
2 | from {
3 | opacity: 1;
4 | }
5 |
6 | to {
7 | transform: translate3d(-100%, 0, 0) skewX(-30deg);
8 | opacity: 0;
9 | }
10 | }
11 |
12 | .lightSpeedOutLeft {
13 | animation-name: lightSpeedOutLeft;
14 | animation-timing-function: ease-in;
15 | }
16 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/bouncing_exits/bounceOutRight.css:
--------------------------------------------------------------------------------
1 | @keyframes bounceOutRight {
2 | 20% {
3 | opacity: 1;
4 | transform: translate3d(-20px, 0, 0) scaleX(0.9);
5 | }
6 |
7 | to {
8 | opacity: 0;
9 | transform: translate3d(2000px, 0, 0) scaleX(2);
10 | }
11 | }
12 |
13 | .bounceOutRight {
14 | animation-name: bounceOutRight;
15 | }
16 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/lightspeed/lightSpeedOutRight.css:
--------------------------------------------------------------------------------
1 | @keyframes lightSpeedOutRight {
2 | from {
3 | opacity: 1;
4 | }
5 |
6 | to {
7 | transform: translate3d(100%, 0, 0) skewX(30deg);
8 | opacity: 0;
9 | }
10 | }
11 |
12 | .lightSpeedOutRight {
13 | animation-name: lightSpeedOutRight;
14 | animation-timing-function: ease-in;
15 | }
16 |
--------------------------------------------------------------------------------
/public/images/crypto/zksync.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/lend.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/ont.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/sc.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/stx.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/rotating_entrances/rotateInUpLeft.css:
--------------------------------------------------------------------------------
1 | @keyframes rotateInUpLeft {
2 | from {
3 | transform: rotate3d(0, 0, 1, 45deg);
4 | opacity: 0;
5 | }
6 |
7 | to {
8 | transform: translate3d(0, 0, 0);
9 | opacity: 1;
10 | }
11 | }
12 |
13 | .rotateInUpLeft {
14 | animation-name: rotateInUpLeft;
15 | transform-origin: left bottom;
16 | }
17 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/specials/rollOut.css:
--------------------------------------------------------------------------------
1 | /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
2 |
3 | @keyframes rollOut {
4 | from {
5 | opacity: 1;
6 | }
7 |
8 | to {
9 | opacity: 0;
10 | transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
11 | }
12 | }
13 |
14 | .rollOut {
15 | animation-name: rollOut;
16 | }
17 |
--------------------------------------------------------------------------------
/public/images/crypto/hight.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/vtho.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/rotating_entrances/rotateInUpRight.css:
--------------------------------------------------------------------------------
1 | @keyframes rotateInUpRight {
2 | from {
3 | transform: rotate3d(0, 0, 1, -90deg);
4 | opacity: 0;
5 | }
6 |
7 | to {
8 | transform: translate3d(0, 0, 0);
9 | opacity: 1;
10 | }
11 | }
12 |
13 | .rotateInUpRight {
14 | animation-name: rotateInUpRight;
15 | transform-origin: right bottom;
16 | }
17 |
--------------------------------------------------------------------------------
/src/data/abi/proxy_beacon_impl_abi.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [],
4 | "name": "implementation",
5 | "outputs": [
6 | {
7 | "internalType": "address",
8 | "name": "",
9 | "type": "address"
10 | }
11 | ],
12 | "stateMutability": "view",
13 | "type": "function"
14 | }
15 | ]
--------------------------------------------------------------------------------
/public/images/crypto/gold.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/link.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/lpt.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/ppc.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/tnt.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/rotating_entrances/rotateInDownLeft.css:
--------------------------------------------------------------------------------
1 | @keyframes rotateInDownLeft {
2 | from {
3 | transform: rotate3d(0, 0, 1, -45deg);
4 | opacity: 0;
5 | }
6 |
7 | to {
8 | transform: translate3d(0, 0, 0);
9 | opacity: 1;
10 | }
11 | }
12 |
13 | .rotateInDownLeft {
14 | animation-name: rotateInDownLeft;
15 | transform-origin: left bottom;
16 | }
17 |
--------------------------------------------------------------------------------
/public/images/crypto/icx.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/tnc.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/scripts/core.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | BASEDIR=$(dirname "$0")
4 |
5 | node $BASEDIR/multicall3.cjs
6 |
7 | # compile contracts with hardhat
8 | npx hardhat compile
9 |
10 | node $BASEDIR/deployless.cjs
11 |
12 | ## the generated abi gives error, so paused for now
13 | node $BASEDIR/optimizeAbi.cjs
14 |
15 | ## process BotFi contract addresses
16 | node $BASEDIR/processBotFiContractsAddrs.cjs
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/rotating_entrances/rotateInDownRight.css:
--------------------------------------------------------------------------------
1 | @keyframes rotateInDownRight {
2 | from {
3 | transform: rotate3d(0, 0, 1, 45deg);
4 | opacity: 0;
5 | }
6 |
7 | to {
8 | transform: translate3d(0, 0, 0);
9 | opacity: 1;
10 | }
11 | }
12 |
13 | .rotateInDownRight {
14 | animation-name: rotateInDownRight;
15 | transform-origin: right bottom;
16 | }
17 |
--------------------------------------------------------------------------------
/public/images/crypto/rap.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/xrp.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/sai.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/tzc.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/back_entrances/backInUp.css:
--------------------------------------------------------------------------------
1 | @keyframes backInUp {
2 | 0% {
3 | transform: translateY(1200px) scale(0.7);
4 | opacity: 0.7;
5 | }
6 |
7 | 80% {
8 | transform: translateY(0px) scale(0.7);
9 | opacity: 0.7;
10 | }
11 |
12 | 100% {
13 | transform: scale(1);
14 | opacity: 1;
15 | }
16 | }
17 |
18 | .backInUp {
19 | animation-name: backInUp;
20 | }
21 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/back_exits/backOutUp.css:
--------------------------------------------------------------------------------
1 | @keyframes backOutUp {
2 | 0% {
3 | transform: scale(1);
4 | opacity: 1;
5 | }
6 |
7 | 20% {
8 | transform: translateY(0px) scale(0.7);
9 | opacity: 0.7;
10 | }
11 |
12 | 100% {
13 | transform: translateY(-700px) scale(0.7);
14 | opacity: 0.7;
15 | }
16 | }
17 |
18 | .backOutUp {
19 | animation-name: backOutUp;
20 | }
21 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/zooming_exits/zoomOutLeft.css:
--------------------------------------------------------------------------------
1 | @keyframes zoomOutLeft {
2 | 40% {
3 | opacity: 1;
4 | transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
5 | }
6 |
7 | to {
8 | opacity: 0;
9 | transform: scale(0.1) translate3d(-2000px, 0, 0);
10 | }
11 | }
12 |
13 | .zoomOutLeft {
14 | animation-name: zoomOutLeft;
15 | transform-origin: left center;
16 | }
17 |
--------------------------------------------------------------------------------
/src/components/common/Icon.vue:
--------------------------------------------------------------------------------
1 |
9 |
10 |
15 |
--------------------------------------------------------------------------------
/public/images/crypto/eos.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/back_exits/backOutDown.css:
--------------------------------------------------------------------------------
1 | @keyframes backOutDown {
2 | 0% {
3 | transform: scale(1);
4 | opacity: 1;
5 | }
6 |
7 | 20% {
8 | transform: translateY(0px) scale(0.7);
9 | opacity: 0.7;
10 | }
11 |
12 | 100% {
13 | transform: translateY(700px) scale(0.7);
14 | opacity: 0.7;
15 | }
16 | }
17 |
18 | .backOutDown {
19 | animation-name: backOutDown;
20 | }
21 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/zooming_exits/zoomOutRight.css:
--------------------------------------------------------------------------------
1 | @keyframes zoomOutRight {
2 | 40% {
3 | opacity: 1;
4 | transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
5 | }
6 |
7 | to {
8 | opacity: 0;
9 | transform: scale(0.1) translate3d(2000px, 0, 0);
10 | }
11 | }
12 |
13 | .zoomOutRight {
14 | animation-name: zoomOutRight;
15 | transform-origin: right center;
16 | }
17 |
--------------------------------------------------------------------------------
/src/components/header/TopLogo.vue:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
![]()
11 |
12 |
--------------------------------------------------------------------------------
/src/main_capacitor.js:
--------------------------------------------------------------------------------
1 | import { startApp } from "./main_core"
2 | import capacitorPlugin from "./plugins/capacitor"
3 | import { FirebaseCrashlytics } from '@capacitor-firebase/crashlytics';
4 | //import { SplashScreen } from '@capacitor/splash-screen';
5 |
6 | //SplashScreen.show()
7 |
8 | FirebaseCrashlytics.setEnabled({enabled: true})
9 |
10 | startApp({ capacitor: capacitorPlugin})
11 |
12 | //SplashScreen.hide()
13 |
--------------------------------------------------------------------------------
/public/images/crypto/gbp.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/back_entrances/backInDown.css:
--------------------------------------------------------------------------------
1 | @keyframes backInDown {
2 | 0% {
3 | transform: translateY(-1200px) scale(0.7);
4 | opacity: 0.7;
5 | }
6 |
7 | 80% {
8 | transform: translateY(0px) scale(0.7);
9 | opacity: 0.7;
10 | }
11 |
12 | 100% {
13 | transform: scale(1);
14 | opacity: 1;
15 | }
16 | }
17 |
18 | .backInDown {
19 | animation-name: backInDown;
20 | }
21 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/back_entrances/backInLeft.css:
--------------------------------------------------------------------------------
1 | @keyframes backInLeft {
2 | 0% {
3 | transform: translateX(-2000px) scale(0.7);
4 | opacity: 0.7;
5 | }
6 |
7 | 80% {
8 | transform: translateX(0px) scale(0.7);
9 | opacity: 0.7;
10 | }
11 |
12 | 100% {
13 | transform: scale(1);
14 | opacity: 1;
15 | }
16 | }
17 |
18 | .backInLeft {
19 | animation-name: backInLeft;
20 | }
21 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/back_entrances/backInRight.css:
--------------------------------------------------------------------------------
1 | @keyframes backInRight {
2 | 0% {
3 | transform: translateX(2000px) scale(0.7);
4 | opacity: 0.7;
5 | }
6 |
7 | 80% {
8 | transform: translateX(0px) scale(0.7);
9 | opacity: 0.7;
10 | }
11 |
12 | 100% {
13 | transform: scale(1);
14 | opacity: 1;
15 | }
16 | }
17 |
18 | .backInRight {
19 | animation-name: backInRight;
20 | }
21 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/back_exits/backOutLeft.css:
--------------------------------------------------------------------------------
1 | @keyframes backOutLeft {
2 | 0% {
3 | transform: scale(1);
4 | opacity: 1;
5 | }
6 |
7 | 20% {
8 | transform: translateX(0px) scale(0.7);
9 | opacity: 0.7;
10 | }
11 |
12 | 100% {
13 | transform: translateX(-2000px) scale(0.7);
14 | opacity: 0.7;
15 | }
16 | }
17 |
18 | .backOutLeft {
19 | animation-name: backOutLeft;
20 | }
21 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/back_exits/backOutRight.css:
--------------------------------------------------------------------------------
1 | @keyframes backOutRight {
2 | 0% {
3 | transform: scale(1);
4 | opacity: 1;
5 | }
6 |
7 | 20% {
8 | transform: translateX(0px) scale(0.7);
9 | opacity: 0.7;
10 | }
11 |
12 | 100% {
13 | transform: translateX(2000px) scale(0.7);
14 | opacity: 0.7;
15 | }
16 | }
17 |
18 | .backOutRight {
19 | animation-name: backOutRight;
20 | }
21 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/specials/rollIn.css:
--------------------------------------------------------------------------------
1 | /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
2 |
3 | @keyframes rollIn {
4 | from {
5 | opacity: 0;
6 | transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
7 | }
8 |
9 | to {
10 | opacity: 1;
11 | transform: translate3d(0, 0, 0);
12 | }
13 | }
14 |
15 | .rollIn {
16 | animation-name: rollIn;
17 | }
18 |
--------------------------------------------------------------------------------
/public/images/crypto/block.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/bnt.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/mkr.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/tbx.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/vet.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/vtc.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/gas.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/neo.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/theta.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/xpm.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/act.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/dock.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/trx.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/utk.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/attention_seekers/shake.css:
--------------------------------------------------------------------------------
1 | @keyframes shake {
2 | from,
3 | to {
4 | transform: translate3d(0, 0, 0);
5 | }
6 |
7 | 10%,
8 | 30%,
9 | 50%,
10 | 70%,
11 | 90% {
12 | transform: translate3d(-10px, 0, 0);
13 | }
14 |
15 | 20%,
16 | 40%,
17 | 60%,
18 | 80% {
19 | transform: translate3d(10px, 0, 0);
20 | }
21 | }
22 |
23 | .shake {
24 | animation-name: shake;
25 | }
26 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/attention_seekers/shakeX.css:
--------------------------------------------------------------------------------
1 | @keyframes shakeX {
2 | from,
3 | to {
4 | transform: translate3d(0, 0, 0);
5 | }
6 |
7 | 10%,
8 | 30%,
9 | 50%,
10 | 70%,
11 | 90% {
12 | transform: translate3d(-10px, 0, 0);
13 | }
14 |
15 | 20%,
16 | 40%,
17 | 60%,
18 | 80% {
19 | transform: translate3d(10px, 0, 0);
20 | }
21 | }
22 |
23 | .shakeX {
24 | animation-name: shakeX;
25 | }
26 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/attention_seekers/shakeY.css:
--------------------------------------------------------------------------------
1 | @keyframes shakeY {
2 | from,
3 | to {
4 | transform: translate3d(0, 0, 0);
5 | }
6 |
7 | 10%,
8 | 30%,
9 | 50%,
10 | 70%,
11 | 90% {
12 | transform: translate3d(0, -10px, 0);
13 | }
14 |
15 | 20%,
16 | 40%,
17 | 60%,
18 | 80% {
19 | transform: translate3d(0, 10px, 0);
20 | }
21 | }
22 |
23 | .shakeY {
24 | animation-name: shakeY;
25 | }
26 |
--------------------------------------------------------------------------------
/public/images/crypto/lbc.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/pivx.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/wpr.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/config/multicall3/system.json:
--------------------------------------------------------------------------------
1 | {
2 | "10": "0x060267D7955D93B3F8c961c4F63c0521a0a02B48",
3 | "56": "0xf78fF5018aBD767E3088248334630227132ae9B6",
4 | "8453": "0x060267D7955D93B3F8c961c4F63c0521a0a02B48",
5 | "12602": "0xB135841406F314eA7D23ADeADeC0C80B16eF9e5C",
6 | "42161": "0xD8C6ce25BEA210e5EF7d1FD836CCCFd5deC4567e",
7 | "43114": "0x060267D7955D93B3F8c961c4F63c0521a0a02B48",
8 | "59144": "0x060267D7955D93B3F8c961c4F63c0521a0a02B48"
9 | }
--------------------------------------------------------------------------------
/src/config/sidenav.js:
--------------------------------------------------------------------------------
1 | export default [
2 | {
3 | title: 'Contact',
4 | icon: 'mdi:contact-outline',
5 | url: '/contacts'
6 | },
7 | {
8 | title: 'Networks',
9 | icon: 'mdi:network-outline',
10 | url: '/networks'
11 | },
12 | {
13 | title: 'Transactions',
14 | icon: 'icon-park-outline:transaction-order',
15 | url: '/transactions'
16 | }
17 | ]
--------------------------------------------------------------------------------
/public/images/crypto/auto.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/tkn.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/via.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/public/images/crypto/xpa.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/public/images/crypto/band.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/wan.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/bouncing_exits/bounceOutUp.css:
--------------------------------------------------------------------------------
1 | @keyframes bounceOutUp {
2 | 20% {
3 | transform: translate3d(0, -10px, 0) scaleY(0.985);
4 | }
5 |
6 | 40%,
7 | 45% {
8 | opacity: 1;
9 | transform: translate3d(0, 20px, 0) scaleY(0.9);
10 | }
11 |
12 | to {
13 | opacity: 0;
14 | transform: translate3d(0, -2000px, 0) scaleY(3);
15 | }
16 | }
17 |
18 | .bounceOutUp {
19 | animation-name: bounceOutUp;
20 | }
21 |
--------------------------------------------------------------------------------
/public/images/crypto/chain.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/zel.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/bouncing_exits/bounceOutDown.css:
--------------------------------------------------------------------------------
1 | @keyframes bounceOutDown {
2 | 20% {
3 | transform: translate3d(0, 10px, 0) scaleY(0.985);
4 | }
5 |
6 | 40%,
7 | 45% {
8 | opacity: 1;
9 | transform: translate3d(0, -20px, 0) scaleY(0.9);
10 | }
11 |
12 | to {
13 | opacity: 0;
14 | transform: translate3d(0, 2000px, 0) scaleY(3);
15 | }
16 | }
17 |
18 | .bounceOutDown {
19 | animation-name: bounceOutDown;
20 | }
21 |
--------------------------------------------------------------------------------
/public/images/crypto/ubq.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/attention_seekers/pulse.css:
--------------------------------------------------------------------------------
1 | /* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
2 |
3 | @keyframes pulse {
4 | from {
5 | transform: scale3d(1, 1, 1);
6 | }
7 |
8 | 50% {
9 | transform: scale3d(1.05, 1.05, 1.05);
10 | }
11 |
12 | to {
13 | transform: scale3d(1, 1, 1);
14 | }
15 | }
16 |
17 | .pulse {
18 | animation-name: pulse;
19 | animation-timing-function: ease-in-out;
20 | }
21 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/bouncing_exits/bounceOut.css:
--------------------------------------------------------------------------------
1 | @keyframes bounceOut {
2 | 20% {
3 | transform: scale3d(0.9, 0.9, 0.9);
4 | }
5 |
6 | 50%,
7 | 55% {
8 | opacity: 1;
9 | transform: scale3d(1.1, 1.1, 1.1);
10 | }
11 |
12 | to {
13 | opacity: 0;
14 | transform: scale3d(0.3, 0.3, 0.3);
15 | }
16 | }
17 |
18 | .bounceOut {
19 | animation-duration: calc(var(--animate-duration) * 0.75);
20 | animation-name: bounceOut;
21 | }
22 |
--------------------------------------------------------------------------------
/src/config/app_dev.js:
--------------------------------------------------------------------------------
1 |
2 | export default {
3 | server_url: "https://dev-server.botfi.app",
4 |
5 | platforms: {
6 | "botfi-dev.com": "pwa",
7 | "pwa-dev.botfi.app": "pwa",
8 | "botfi-dev.botfi.app": "telegram",
9 | "dev-ui.botfi.app": "telegram",
10 | "localhost": "capacitor",
11 | "192.168.8.100": "capacitor",
12 | "native-dev.botfi.app": "capacitor",
13 | },
14 | }
--------------------------------------------------------------------------------
/public/images/crypto/wings.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/bela.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/ella.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/med.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/nuls.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/vrc.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/xzc.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/zil.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/scss/telegram.scss:
--------------------------------------------------------------------------------
1 | html.telegram {
2 | /*body {
3 | background: var(--tg-theme-bg-color);
4 | color: var(--tg-theme-text-color);
5 | }
6 |
7 |
8 | a:not(.btn) {
9 | color: var(--tg-theme-link-color);
10 | }
11 |
12 | .btn-primary {
13 | background-color: var(--tg-theme-button-color);
14 | color: var(--tg-theme-button-text-color);
15 | border-color: var(--tg-theme-button-color);
16 | }*/
17 |
18 | }
--------------------------------------------------------------------------------
/src/config/bridge/axelar_chainid_map.js:
--------------------------------------------------------------------------------
1 | export default {
2 | "avalanche": 43114,
3 | "base": 8453,
4 | "binance": 56,
5 | "celo": 42220,
6 | "Centrifuge": 2031,
7 | "ethereum": 1,
8 | "immutable": 13371,
9 | "kava": 2222,
10 | "linea": 59144,
11 | "mantle": 169,
12 | "moonbeam": 1284,
13 | "optimism": 10,
14 | "polygon": 137,
15 | "scroll": 534352,
16 | "arbitrum": 42161
17 | }
--------------------------------------------------------------------------------
/src/main_dev.js:
--------------------------------------------------------------------------------
1 | import { startApp } from "./main_core.js"
2 | //import telegramPlugin from "./plugins/telegram.js"
3 | import capacitorPlugin from "./plugins/capacitor"
4 | import { FirebaseCrashlytics } from '@capacitor-firebase/crashlytics';
5 |
6 |
7 | FirebaseCrashlytics.setEnabled({enabled: true})
8 |
9 | const plugins = {
10 | //telegram: telegramPlugin,
11 | capacitor: capacitorPlugin
12 | }
13 |
14 | startApp(plugins)
15 |
16 | //SplashScreen.hide()
17 |
--------------------------------------------------------------------------------
/public/images/crypto/adx.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/gup.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/snt.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/specials/jackInTheBox.css:
--------------------------------------------------------------------------------
1 | @keyframes jackInTheBox {
2 | from {
3 | opacity: 0;
4 | transform: scale(0.1) rotate(30deg);
5 | transform-origin: center bottom;
6 | }
7 |
8 | 50% {
9 | transform: rotate(-10deg);
10 | }
11 |
12 | 70% {
13 | transform: rotate(3deg);
14 | }
15 |
16 | to {
17 | opacity: 1;
18 | transform: scale(1);
19 | }
20 | }
21 |
22 | .jackInTheBox {
23 | animation-name: jackInTheBox;
24 | }
25 |
--------------------------------------------------------------------------------
/public/images/crypto/emb.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/ht.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/mnx.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/neu.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/router.js:
--------------------------------------------------------------------------------
1 | import { createRouter, createWebHistory } from 'vue-router'
2 | import routes from '~pages'
3 |
4 | const router = createRouter({
5 | history: createWebHistory(),
6 | routes
7 | })
8 |
9 |
10 |
11 | router.afterEach((to, from) => {
12 | const toDepth = to.path.split('/').length
13 | const fromDepth = from.path.split('/').length
14 | to.meta.transition = toDepth < fromDepth ? 'slide-right' : 'slide-left'
15 | })
16 |
17 | export default router;
18 |
19 |
--------------------------------------------------------------------------------
/public/images/crypto/algo.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/vrsc.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/config/multicall3/index.js:
--------------------------------------------------------------------------------
1 | import supported_chains from "./chains.json"
2 | import system_multicall_addrs from './system.json'
3 |
4 | Object.keys(system_multicall_addrs)
5 | .forEach( c => supported_chains.push(parseInt(c)) )
6 |
7 | //console.log("supported_chains===>", supported_chains)
8 |
9 | export default {
10 | enabled: true,
11 | contract: "0xcA11bde05977b3631167028862bE2a173976CA11",
12 | version: 2,
13 | supported_chains,
14 | system_multicall_addrs
15 | }
--------------------------------------------------------------------------------
/public/images/crypto/bnb.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/btcd.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/shift.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/html.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/req.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/blcn.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/music.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/nmc.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/vivo.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/xmg.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/ppt.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/ryo.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/xmr.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/scripts/module_exists.cjs:
--------------------------------------------------------------------------------
1 | const process = require("process")
2 | const path = require("path")
3 | var fs = require('fs');
4 |
5 | let moduleName = process.argv[2] || ""
6 |
7 | if(moduleName == ''){
8 | process.stderr.write("Module name is required")
9 | process.exit()
10 | }
11 |
12 | let modulePath = path.join(path.dirname(__dirname), "node_modules", moduleName)
13 |
14 | let exists = (fs.existsSync(modulePath))
15 | ? 1
16 | : 0
17 |
18 |
19 | process.stdout.write(exists)
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/attention_seekers/swing.css:
--------------------------------------------------------------------------------
1 | @keyframes swing {
2 | 20% {
3 | transform: rotate3d(0, 0, 1, 15deg);
4 | }
5 |
6 | 40% {
7 | transform: rotate3d(0, 0, 1, -10deg);
8 | }
9 |
10 | 60% {
11 | transform: rotate3d(0, 0, 1, 5deg);
12 | }
13 |
14 | 80% {
15 | transform: rotate3d(0, 0, 1, -5deg);
16 | }
17 |
18 | to {
19 | transform: rotate3d(0, 0, 1, 0deg);
20 | }
21 | }
22 |
23 | .swing {
24 | transform-origin: top center;
25 | animation-name: swing;
26 | }
27 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/lightspeed/lightSpeedInLeft.css:
--------------------------------------------------------------------------------
1 | @keyframes lightSpeedInLeft {
2 | from {
3 | transform: translate3d(-100%, 0, 0) skewX(30deg);
4 | opacity: 0;
5 | }
6 |
7 | 60% {
8 | transform: skewX(-20deg);
9 | opacity: 1;
10 | }
11 |
12 | 80% {
13 | transform: skewX(5deg);
14 | }
15 |
16 | to {
17 | transform: translate3d(0, 0, 0);
18 | }
19 | }
20 |
21 | .lightSpeedInLeft {
22 | animation-name: lightSpeedInLeft;
23 | animation-timing-function: ease-out;
24 | }
25 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/zooming_entrances/zoomInUp.css:
--------------------------------------------------------------------------------
1 | @keyframes zoomInUp {
2 | from {
3 | opacity: 0;
4 | transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
5 | animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
6 | }
7 |
8 | 60% {
9 | opacity: 1;
10 | transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
11 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
12 | }
13 | }
14 |
15 | .zoomInUp {
16 | animation-name: zoomInUp;
17 | }
18 |
--------------------------------------------------------------------------------
/public/images/crypto/eth.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/fuel.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/game.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/gbx.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/xdn.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/lightspeed/lightSpeedInRight.css:
--------------------------------------------------------------------------------
1 | @keyframes lightSpeedInRight {
2 | from {
3 | transform: translate3d(100%, 0, 0) skewX(-30deg);
4 | opacity: 0;
5 | }
6 |
7 | 60% {
8 | transform: skewX(20deg);
9 | opacity: 1;
10 | }
11 |
12 | 80% {
13 | transform: skewX(-5deg);
14 | }
15 |
16 | to {
17 | transform: translate3d(0, 0, 0);
18 | }
19 | }
20 |
21 | .lightSpeedInRight {
22 | animation-name: lightSpeedInRight;
23 | animation-timing-function: ease-out;
24 | }
25 |
--------------------------------------------------------------------------------
/public/images/crypto/beam.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/flux.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/husd.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/iost.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/sib.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/wax.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/flippers/flipOutX.css:
--------------------------------------------------------------------------------
1 | @keyframes flipOutX {
2 | from {
3 | transform: perspective(400px);
4 | }
5 |
6 | 30% {
7 | transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
8 | opacity: 1;
9 | }
10 |
11 | to {
12 | transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
13 | opacity: 0;
14 | }
15 | }
16 |
17 | .flipOutX {
18 | animation-duration: calc(var(--animate-duration) * 0.75);
19 | animation-name: flipOutX;
20 | backface-visibility: visible !important;
21 | }
22 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/flippers/flipOutY.css:
--------------------------------------------------------------------------------
1 | @keyframes flipOutY {
2 | from {
3 | transform: perspective(400px);
4 | }
5 |
6 | 30% {
7 | transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
8 | opacity: 1;
9 | }
10 |
11 | to {
12 | transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
13 | opacity: 0;
14 | }
15 | }
16 |
17 | .flipOutY {
18 | animation-duration: calc(var(--animate-duration) * 0.75);
19 | backface-visibility: visible !important;
20 | animation-name: flipOutY;
21 | }
22 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/zooming_entrances/zoomInDown.css:
--------------------------------------------------------------------------------
1 | @keyframes zoomInDown {
2 | from {
3 | opacity: 0;
4 | transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
5 | animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
6 | }
7 |
8 | 60% {
9 | opacity: 1;
10 | transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
11 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
12 | }
13 | }
14 |
15 | .zoomInDown {
16 | animation-name: zoomInDown;
17 | }
18 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/zooming_entrances/zoomInLeft.css:
--------------------------------------------------------------------------------
1 | @keyframes zoomInLeft {
2 | from {
3 | opacity: 0;
4 | transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
5 | animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
6 | }
7 |
8 | 60% {
9 | opacity: 1;
10 | transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
11 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
12 | }
13 | }
14 |
15 | .zoomInLeft {
16 | animation-name: zoomInLeft;
17 | }
18 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/zooming_entrances/zoomInRight.css:
--------------------------------------------------------------------------------
1 | @keyframes zoomInRight {
2 | from {
3 | opacity: 0;
4 | transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
5 | animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
6 | }
7 |
8 | 60% {
9 | opacity: 1;
10 | transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
11 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
12 | }
13 | }
14 |
15 | .zoomInRight {
16 | animation-name: zoomInRight;
17 | }
18 |
--------------------------------------------------------------------------------
/src/classes/EventBus.js:
--------------------------------------------------------------------------------
1 | /**
2 | * BotFi (https://botfi.app)
3 | * @author BotFi
4 | */
5 |
6 | export default class EventBus{
7 |
8 | static emit(event, data = {}){
9 | document.dispatchEvent(new CustomEvent(event, { detail: data }));
10 | }
11 |
12 | static on(event, callback=(()=>{})) {
13 | document.addEventListener(event, (e) => callback(e.detail));
14 | }
15 |
16 | static off(event, callback) {
17 | document.removeEventListener(event, callback);
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/android/app/src/test/java/com/getcapacitor/myapp/ExampleUnitTest.java:
--------------------------------------------------------------------------------
1 | package com.getcapacitor.myapp;
2 |
3 | import static org.junit.Assert.*;
4 |
5 | import org.junit.Test;
6 |
7 | /**
8 | * Example local unit test, which will execute on the development machine (host).
9 | *
10 | * @see Testing documentation
11 | */
12 | public class ExampleUnitTest {
13 |
14 | @Test
15 | public void addition_isCorrect() throws Exception {
16 | assertEquals(4, 2 + 2);
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/attention_seekers/heartBeat.css:
--------------------------------------------------------------------------------
1 | @keyframes heartBeat {
2 | 0% {
3 | transform: scale(1);
4 | }
5 |
6 | 14% {
7 | transform: scale(1.3);
8 | }
9 |
10 | 28% {
11 | transform: scale(1);
12 | }
13 |
14 | 42% {
15 | transform: scale(1.3);
16 | }
17 |
18 | 70% {
19 | transform: scale(1);
20 | }
21 | }
22 |
23 | .heartBeat {
24 | animation-name: heartBeat;
25 | animation-duration: calc(var(--animate-duration) * 1.3);
26 | animation-timing-function: ease-in-out;
27 | }
28 |
--------------------------------------------------------------------------------
/telegram_desc.txt:
--------------------------------------------------------------------------------
1 | BotFi stands out as a cutting-edge decentralized finance (DeFi) automation protocol,
2 | revolutionizing various tasks within the DeFi ecosystem.
3 |
4 | **Features:**
5 |
6 | 🏛️ Self-Custody Wallet 🟢
7 |
8 | 💡 Limit & Instant Swap 🟢
9 |
10 | 🏝️ NFT Support 🟢
11 |
12 | 🕵 Token Scanner 🟢
13 |
14 | 🌉 Token Bridge 🟡
15 |
16 | ⏰ DCA Automation 🟡
17 |
18 | 🔫 Sniper Bot 🟡
19 |
20 | 🪞 Mirror / Copy Trading 🟡
21 |
22 |
--------------------------------------------------------------------------------
/src/components/wallet/tabs/ActivityTab.vue:
--------------------------------------------------------------------------------
1 |
11 |
12 |
18 |
--------------------------------------------------------------------------------
/public/images/crypto/cix.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/cvc.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/audr.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/ong.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/rdn.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | package-lock.json
11 | yarn.lock
12 |
13 | node_modules
14 | dist
15 | dist-ssr
16 | *.local
17 |
18 | # Editor directories and files
19 | .vscode/*
20 | !.vscode/extensions.json
21 | .idea
22 | .DS_Store
23 | *.suo
24 | *.ntvs*
25 | *.njsproj
26 | *.sln
27 | *.sw?
28 |
29 | capacitor.config.ts
30 | capacitor.config-prod.ts
31 | capacitor.config-dev.ts
32 | .capgo_key.pub
33 | .capgo_key
34 | google-services.json
35 |
--------------------------------------------------------------------------------
/public/images/crypto/maid.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/bos.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/dcr.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/zooming_exits/zoomOutUp.css:
--------------------------------------------------------------------------------
1 | @keyframes zoomOutUp {
2 | 40% {
3 | opacity: 1;
4 | transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
5 | animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
6 | }
7 |
8 | to {
9 | opacity: 0;
10 | transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
11 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
12 | }
13 | }
14 |
15 | .zoomOutUp {
16 | animation-name: zoomOutUp;
17 | transform-origin: center bottom;
18 | }
19 |
--------------------------------------------------------------------------------
/public/images/crypto/cnd.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/gsc.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/taas.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/zec.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/zooming_exits/zoomOutDown.css:
--------------------------------------------------------------------------------
1 | @keyframes zoomOutDown {
2 | 40% {
3 | opacity: 1;
4 | transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
5 | animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
6 | }
7 |
8 | to {
9 | opacity: 0;
10 | transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
11 | animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
12 | }
13 | }
14 |
15 | .zoomOutDown {
16 | animation-name: zoomOutDown;
17 | transform-origin: center bottom;
18 | }
19 |
--------------------------------------------------------------------------------
/android/variables.gradle:
--------------------------------------------------------------------------------
1 | ext {
2 | minSdkVersion = 22
3 | compileSdkVersion = 34
4 | targetSdkVersion = 34
5 | androidxActivityVersion = '1.7.0'
6 | androidxAppCompatVersion = '1.6.1'
7 | androidxCoordinatorLayoutVersion = '1.2.0'
8 | androidxCoreVersion = '1.10.0'
9 | androidxFragmentVersion = '1.5.6'
10 | coreSplashScreenVersion = '1.0.0'
11 | androidxWebkitVersion = '1.6.1'
12 | junitVersion = '4.13.2'
13 | androidxJunitVersion = '1.1.5'
14 | androidxEspressoCoreVersion = '3.5.1'
15 | cordovaAndroidVersion = '10.1.1'
16 | }
--------------------------------------------------------------------------------
/public/images/crypto/gvt.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/vlx.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
10 |
--------------------------------------------------------------------------------
/public/images/crypto/dlt.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/ignis.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/krb.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/xuc.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/bze.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/cob.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/atm.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/sol.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/omni.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/payx.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/xas.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/cny.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/dash.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/mona.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/attention_seekers/tada.css:
--------------------------------------------------------------------------------
1 | @keyframes tada {
2 | from {
3 | transform: scale3d(1, 1, 1);
4 | }
5 |
6 | 10%,
7 | 20% {
8 | transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
9 | }
10 |
11 | 30%,
12 | 50%,
13 | 70%,
14 | 90% {
15 | transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
16 | }
17 |
18 | 40%,
19 | 60%,
20 | 80% {
21 | transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
22 | }
23 |
24 | to {
25 | transform: scale3d(1, 1, 1);
26 | }
27 | }
28 |
29 | .tada {
30 | animation-name: tada;
31 | }
32 |
--------------------------------------------------------------------------------
/public/images/crypto/exmo.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/bab.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/edo.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/mth.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/rub.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/stak.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/sumo.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/xin.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/android/app/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
12 |
13 |
--------------------------------------------------------------------------------
/public/images/crypto/add.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/cmm.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/dcn.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/grt.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/xlm.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/attention_seekers/rubberBand.css:
--------------------------------------------------------------------------------
1 | @keyframes rubberBand {
2 | from {
3 | transform: scale3d(1, 1, 1);
4 | }
5 |
6 | 30% {
7 | transform: scale3d(1.25, 0.75, 1);
8 | }
9 |
10 | 40% {
11 | transform: scale3d(0.75, 1.25, 1);
12 | }
13 |
14 | 50% {
15 | transform: scale3d(1.15, 0.85, 1);
16 | }
17 |
18 | 65% {
19 | transform: scale3d(0.95, 1.05, 1);
20 | }
21 |
22 | 75% {
23 | transform: scale3d(1.05, 0.95, 1);
24 | }
25 |
26 | to {
27 | transform: scale3d(1, 1, 1);
28 | }
29 | }
30 |
31 | .rubberBand {
32 | animation-name: rubberBand;
33 | }
34 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/attention_seekers/headShake.css:
--------------------------------------------------------------------------------
1 | @keyframes headShake {
2 | 0% {
3 | transform: translateX(0);
4 | }
5 |
6 | 6.5% {
7 | transform: translateX(-6px) rotateY(-9deg);
8 | }
9 |
10 | 18.5% {
11 | transform: translateX(5px) rotateY(7deg);
12 | }
13 |
14 | 31.5% {
15 | transform: translateX(-3px) rotateY(-5deg);
16 | }
17 |
18 | 43.5% {
19 | transform: translateX(2px) rotateY(3deg);
20 | }
21 |
22 | 50% {
23 | transform: translateX(0);
24 | }
25 | }
26 |
27 | .headShake {
28 | animation-timing-function: ease-in-out;
29 | animation-name: headShake;
30 | }
31 |
--------------------------------------------------------------------------------
/public/images/crypto/nlc2.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/classes/PriceFeed.js:
--------------------------------------------------------------------------------
1 | /**
2 | * BotFi (https://botfi.app)
3 | * @author BotFi
4 | */
5 |
6 | import app from "../config/app"
7 | import Status from "./Status"
8 | import Utils from "./Utils"
9 |
10 | export default class PriceFeeds {
11 |
12 | static async getPythPriceFeeds() {
13 | try {
14 |
15 | let resultStatus = await Http.getJson(app.pyth_price_feed_url)
16 |
17 | return resultStatus
18 |
19 | } catch(e){
20 | Utils.logError("PriceFeeds#getAllFeeds:",e)
21 | return Status.errorPromise()
22 | }
23 | }
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/public/images/crypto/dai.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/emc2.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/knc.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/ctr.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/eur.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/generic.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/mft.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/nxs.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/rdd.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/usdt.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/burst.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/scripts/build_android.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | BASEDIR=$(dirname "$0")
4 |
5 | unlink $BASEDIR/../capacitor.config.ts
6 | cp -f $BASEDIR/../capacitor.config-prod.ts $BASEDIR/../capacitor.config.ts
7 |
8 | #unlink $BASEDIR/../main.js
9 | #cp -f $BASEDIR/../main_capacitor.js $BASEDIR/../main.js
10 |
11 | #SSL_SKIP_DIR="$BASEDIR/../node_modules/@jcesarmobile/ssl-skip"
12 |
13 | #if [ -d $SSL_SKIP_DIR ]; then
14 | npm uninstall "@jcesarmobile/ssl-skip" -f
15 | #fi
16 |
17 | sh $BASEDIR/build.sh
18 |
19 | # remove som externalized files
20 | rm -rf $BASEDIR/../dist/images/crypto/
21 |
22 | npx cap sync
23 | npx cap copy
24 | npx cap open android
25 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/animate.css:
--------------------------------------------------------------------------------
1 | @import '_vars.css';
2 | @import '_base.css';
3 |
4 | @import 'attention_seekers/pulse.css';
5 |
6 | /* Zooming entrances */
7 | @import 'zooming_entrances/zoomIn.css';
8 | @import 'zooming_entrances/zoomInDown.css';
9 | @import 'zooming_entrances/zoomInLeft.css';
10 | @import 'zooming_entrances/zoomInRight.css';
11 | @import 'zooming_entrances/zoomInUp.css';
12 |
13 | /* Zooming exits */
14 | @import 'zooming_exits/zoomOut.css';
15 | @import 'zooming_exits/zoomOutDown.css';
16 | @import 'zooming_exits/zoomOutLeft.css';
17 | @import 'zooming_exits/zoomOutRight.css';
18 | @import 'zooming_exits/zoomOutUp.css';
19 |
20 |
--------------------------------------------------------------------------------
/public/images/crypto/elix.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/gusd.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/nexo.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/xmcc.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/scss/animate/source/specials/hinge.css:
--------------------------------------------------------------------------------
1 | @keyframes hinge {
2 | 0% {
3 | animation-timing-function: ease-in-out;
4 | }
5 |
6 | 20%,
7 | 60% {
8 | transform: rotate3d(0, 0, 1, 80deg);
9 | animation-timing-function: ease-in-out;
10 | }
11 |
12 | 40%,
13 | 80% {
14 | transform: rotate3d(0, 0, 1, 60deg);
15 | animation-timing-function: ease-in-out;
16 | opacity: 1;
17 | }
18 |
19 | to {
20 | transform: translate3d(0, 700px, 0);
21 | opacity: 0;
22 | }
23 | }
24 |
25 | .hinge {
26 | animation-duration: calc(var(--animate-duration) * 2);
27 | animation-name: hinge;
28 | transform-origin: top left;
29 | }
30 |
--------------------------------------------------------------------------------
/public/images/crypto/sys.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/usd.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/data/abi/deployless_multicall.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [
4 | {
5 | "components": [
6 | {
7 | "internalType": "address",
8 | "name": "target",
9 | "type": "address"
10 | },
11 | {
12 | "internalType": "bool",
13 | "name": "allowFailure",
14 | "type": "bool"
15 | },
16 | {
17 | "internalType": "bytes",
18 | "name": "callData",
19 | "type": "bytes"
20 | }
21 | ],
22 | "internalType": "struct DeploylessMulticall3.Call[]",
23 | "name": "calls",
24 | "type": "tuple[]"
25 | }
26 | ],
27 | "stateMutability": "nonpayable",
28 | "type": "constructor"
29 | }
30 | ]
--------------------------------------------------------------------------------
/public/images/crypto/bcpt.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/btm.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/dta.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/dtr.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/pay.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/poly.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/xmo.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/classes/GeckoApi.js:
--------------------------------------------------------------------------------
1 | /**
2 | * BotFi (https://botfi.app)
3 | * @author BotFi
4 | */
5 |
6 | import Http from './Http'
7 | import Status from './Status'
8 | import appConfig from "../config/app"
9 |
10 | export default class GeckoApi {
11 |
12 | static async getCoinInfo(geckoId) {
13 | try {
14 |
15 | let url = `${appConfig.gecko_api_endpoint}/coins/${geckoId}`
16 | let resultStatus = await Http.getJson(url)
17 |
18 | return resultStatus
19 | } catch(e) {
20 | Utils.logError("GeckoApi#getCoinInfo",e)
21 | return res.systemBusy()
22 | }
23 | }
24 |
25 | }
--------------------------------------------------------------------------------
/public/images/crypto/pasl.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/rads.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/equa.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/kcs.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/ngc.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/pax.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/paxg.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/bcn.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/npxs.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/public/images/crypto/tel.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/components/common/CopyBtn.vue:
--------------------------------------------------------------------------------
1 |
14 |
15 |
16 |
20 |
21 |
--------------------------------------------------------------------------------
/public/images/crypto/cdt.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------