This commit is contained in:
Danil Kovtonyuk 2022-04-22 13:05:56 +10:00
commit 44f31f8b9f
No known key found for this signature in database
GPG Key ID: E72A919BF08C3746
402 changed files with 47865 additions and 0 deletions

16
.babelrc Normal file

@ -0,0 +1,16 @@
{
"env": {
"test": {
"presets": [
[
"@babel/preset-env",
{
"targets": {
"node": "current"
}
}
]
]
}
}
}

15
.env.example Normal file

@ -0,0 +1,15 @@
PINATA_API_KEY=
PINATA_SECRET_API_KEY=
INFURA_KEY=
ALCHEMY_MAINNET_KEY=
ALCHEMY_POLYGON_KEY=
ALCHEMY_OPTIMISM_KEY=
ALCHEMY_ARBITRUM_KEY=
ALCHEMY_GOERLI_KEY=
WC_BRIDGE=
STORE_NAME=
APP_ENS_NAME=

20
.eslintrc.js Normal file

@ -0,0 +1,20 @@
module.exports = {
root: true,
env: {
browser: true,
node: true,
es2020: true
},
parserOptions: {
parser: 'babel-eslint'
},
extends: ['@nuxtjs', 'plugin:nuxt/recommended', 'plugin:prettier/recommended', 'prettier', 'prettier/vue'],
plugins: ['prettier'],
// add your custom rules here
rules: {
'prettier/prettier': ['error', { printWidth: 110 }],
'no-async-promise-executor': 'off',
'vue/comment-directive': 'off',
'no-console': 'off'
}
}

142
.github/workflows/nodejs.yml vendored Normal file

@ -0,0 +1,142 @@
# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
name: Node.js CI
on:
push:
branches: [master]
jobs:
cleanup:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- name: Remove old artifacts
uses: c-hive/gha-remove-artifacts@v1
with:
age: 0 days
skip-tags: true
skip-recent: 2
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: 14
- run: yarn install
- name: Linting JS
run: yarn lint
- name: Build
run: yarn generate
env:
INFURA_KEY: ${{ secrets.INFURA_KEY }}
ALCHEMY_MAINNET_KEY: ${{ secrets.ALCHEMY_MAINNET_KEY }}
ALCHEMY_POLYGON_KEY: ${{ secrets.ALCHEMY_POLYGON_KEY }}
ALCHEMY_OPTIMISM_KEY: ${{ secrets.ALCHEMY_OPTIMISM_KEY }}
ALCHEMY_ARBITRUM_KEY: ${{ secrets.ALCHEMY_ARBITRUM_KEY }}
ALCHEMY_GOERLI_KEY: ${{ secrets.ALCHEMY_GOERLI_KEY }}
WC_BRIDGE: ${{ secrets.WC_BRIDGE }}
OLD_STORE_NAME: ${{ secrets.OLD_STORE_NAME }}
STORE_NAME: ${{ secrets.STORE_NAME }}
APP_ENS_NAME: ${{ secrets.APP_ENS_NAME }}
- name: Upload artefact
uses: actions/upload-artifact@v1.0.0
with:
name: dist
path: dist
deploy-minified:
runs-on: ubuntu-latest
needs: build
steps:
- name: Download artifact `dist`
uses: actions/download-artifact@v1
with:
name: dist
- name: Add SSH key
uses: webfactory/ssh-agent@v0.2.0
env:
ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true'
with:
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
- name: Add git remote
run: |
git init
git config --local user.email "actions@github.com"
git config --local user.name "GitHub"
echo dist > .gitignore && git add .gitignore && git commit -m push-dir
git remote add ui git@github.com:tornadocash/ui-minified.git
- name: Deploying...
run: npx push-dir --dir=dist --branch=master --cleanup --remote=ui
deploy-docker:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v2
- name: Download artifact `dist`
uses: actions/download-artifact@v1
with:
name: dist
- name: Build and push Docker image
uses: docker/build-push-action@v1.1.0
with:
path: dist
dockerfile: Dockerfile
repository: tornadocash/ui
tags: latest
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_TOKEN }}
deploy-ipfs:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: 14
- run: yarn install
- name: Download artifact `dist`
uses: actions/download-artifact@v1
with:
name: dist
- name: Upload to IPFS
id: upload
run: yarn ipfsUpload dist
env:
PINATA_API_KEY: ${{ secrets.PINATA_API_KEY }}
PINATA_SECRET_API_KEY: ${{ secrets.PINATA_SECRET_API_KEY }}
notify:
runs-on: ubuntu-latest
if: always()
needs:
- deploy-minified
- deploy-docker
- deploy-ipfs
steps:
# ${{ env.WORKFLOW_CONCLUSION }} # neutral, success, cancelled, timed_out, failure
- uses: technote-space/workflow-conclusion-action@v2
- name: Set short SHA
id: vars
run: echo "::set-output name=sha_short::$(echo ${GITHUB_SHA:0:7})"
- name: Telegram Message Notify
uses: appleboy/telegram-action@v0.1.1
if: ${{ env.WORKFLOW_CONCLUSION == 'success' }}
with:
to: ${{ secrets.TELEGRAM_CHAT_ID }}
token: ${{ secrets.TELEGRAM_BOT_TOKEN}}
message: 🚀 Deployed commit [${{ steps.vars.outputs.sha_short }}](https://github.com/tornadocash/tornado-cash-ui/commit/${{ github.sha }}) of tornado.cash UI
format: markdown
- name: Telegram Failure Notification
uses: appleboy/telegram-action@v0.1.1
if: ${{ env.WORKFLOW_CONCLUSION == 'failure' || env.WORKFLOW_CONCLUSION == 'timed_out' || env.WORKFLOW_CONCLUSION == 'neutral' }}
with:
message: ❗ Build failed for [${{ github.repository }}](https://github.com/${{ github.repository }}/actions) because of ${{ github.actor }}
format: markdown
to: ${{ secrets.TELEGRAM_CHAT_ID }}
token: ${{ secrets.TELEGRAM_BOT_TOKEN }}

89
.gitignore vendored Normal file

@ -0,0 +1,89 @@
# Created by .ignore support plugin (hsz.mobi)
### Node template
# Logs
.vscode
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
# nyc test coverage
.nyc_output
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# TypeScript v1 declaration files
typings/
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variables file
.env
# parcel-bundler cache (https://parceljs.org/)
.cache
# next.js build output
.next
# nuxt.js build output
.nuxt
# Nuxt generate
dist
# vuepress build output
.vuepress/dist
# Serverless directories
.serverless
# IDE / Editor
.idea
.editorconfig
# Service worker
sw.*
# Mac OSX
.DS_Store

1
.nvmrc Normal file

@ -0,0 +1 @@
14

6
.prettierrc Normal file

@ -0,0 +1,6 @@
{
"semi": false,
"arrowParens": "always",
"singleQuote": true,
"printWidth": 110
}

3
Dockerfile Normal file

@ -0,0 +1,3 @@
FROM nginx:alpine
RUN rm /usr/share/nginx/html/*
COPY . /usr/share/nginx/html

21
LICENSE Normal file

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2022 Tornado Cash
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

22
README.md Normal file

@ -0,0 +1,22 @@
# tornadocash ui
> UI for non-custodial Ethereum Privacy solution
## Build Setup
```bash
# install dependencies
$ yarn install
# serve with hot reload at localhost:3000
$ yarn dev
# build for production and launch server
$ yarn build
$ yarn start
# generate static project
$ yarn generate
```
For detailed explanation on how things work, checkout [Nuxt.js docs](https://nuxtjs.org).

208
abis/Aggregator.abi.json Normal file

@ -0,0 +1,208 @@
[
{
"inputs": [],
"name": "ensRegistry",
"outputs": [
{
"internalType": "contract ENSRegistry",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract Governance",
"name": "governance",
"type": "address"
}
],
"name": "getAllProposals",
"outputs": [
{
"components": [
{
"internalType": "address",
"name": "proposer",
"type": "address"
},
{
"internalType": "address",
"name": "target",
"type": "address"
},
{
"internalType": "uint256",
"name": "startTime",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "endTime",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "forVotes",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "againstVotes",
"type": "uint256"
},
{
"internalType": "bool",
"name": "executed",
"type": "bool"
},
{
"internalType": "bool",
"name": "extended",
"type": "bool"
},
{
"internalType": "enum Governance.ProposalState",
"name": "state",
"type": "uint8"
}
],
"internalType": "struct GovernanceAggregator.Proposal[]",
"name": "proposals",
"type": "tuple[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract Governance",
"name": "governance",
"type": "address"
},
{
"internalType": "address[]",
"name": "accs",
"type": "address[]"
}
],
"name": "getGovernanceBalances",
"outputs": [
{
"internalType": "uint256[]",
"name": "amounts",
"type": "uint256[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract Governance",
"name": "governance",
"type": "address"
},
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "getUserData",
"outputs": [
{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "latestProposalId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "latestProposalIdState",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "timelock",
"type": "uint256"
},
{
"internalType": "address",
"name": "delegatee",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "relayerRegistry",
"outputs": [
{
"internalType": "contract RelayerRegistry",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32[]",
"name": "_relayers",
"type": "bytes32[]"
},
{
"internalType": "string[]",
"name": "_subdomains",
"type": "string[]"
}
],
"name": "relayersData",
"outputs": [
{
"components": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
},
{
"internalType": "bool",
"name": "isRegistered",
"type": "bool"
},
{
"internalType": "string[20]",
"name": "records",
"type": "string[20]"
}
],
"internalType": "struct Relayer[]",
"name": "",
"type": "tuple[]"
}
],
"stateMutability": "view",
"type": "function"
}
]

681
abis/ENS.abi.json Normal file

@ -0,0 +1,681 @@
[
{
"constant": true,
"inputs": [
{
"internalType": "bytes4",
"name": "interfaceID",
"type": "bytes4"
}
],
"name": "supportsInterface",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "pure",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "bytes32",
"name": "node",
"type": "bytes32"
},
{
"internalType": "string",
"name": "key",
"type": "string"
},
{
"internalType": "string",
"name": "value",
"type": "string"
}
],
"name": "setText",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "bytes32",
"name": "node",
"type": "bytes32"
},
{
"internalType": "bytes4",
"name": "interfaceID",
"type": "bytes4"
}
],
"name": "interfaceImplementer",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "bytes32",
"name": "node",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "contentTypes",
"type": "uint256"
}
],
"name": "ABI",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "",
"type": "bytes"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "bytes32",
"name": "node",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "x",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "y",
"type": "bytes32"
}
],
"name": "setPubkey",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "bytes32",
"name": "node",
"type": "bytes32"
},
{
"internalType": "bytes",
"name": "hash",
"type": "bytes"
}
],
"name": "setContenthash",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "bytes32",
"name": "node",
"type": "bytes32"
}
],
"name": "addr",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "bytes32",
"name": "node",
"type": "bytes32"
},
{
"internalType": "address",
"name": "target",
"type": "address"
},
{
"internalType": "bool",
"name": "isAuthorised",
"type": "bool"
}
],
"name": "setAuthorisation",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "bytes32",
"name": "node",
"type": "bytes32"
},
{
"internalType": "string",
"name": "key",
"type": "string"
}
],
"name": "text",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "bytes32",
"name": "node",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "contentType",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "setABI",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "bytes32",
"name": "node",
"type": "bytes32"
}
],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "bytes32",
"name": "node",
"type": "bytes32"
},
{
"internalType": "string",
"name": "name",
"type": "string"
}
],
"name": "setName",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "bytes32",
"name": "node",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "coinType",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "a",
"type": "bytes"
}
],
"name": "setAddr",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "bytes32",
"name": "node",
"type": "bytes32"
}
],
"name": "contenthash",
"outputs": [
{
"internalType": "bytes",
"name": "",
"type": "bytes"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "bytes32",
"name": "node",
"type": "bytes32"
}
],
"name": "pubkey",
"outputs": [
{
"internalType": "bytes32",
"name": "x",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "y",
"type": "bytes32"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "bytes32",
"name": "node",
"type": "bytes32"
},
{
"internalType": "address",
"name": "a",
"type": "address"
}
],
"name": "setAddr",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "bytes32",
"name": "node",
"type": "bytes32"
},
{
"internalType": "bytes4",
"name": "interfaceID",
"type": "bytes4"
},
{
"internalType": "address",
"name": "implementer",
"type": "address"
}
],
"name": "setInterface",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "bytes32",
"name": "node",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "coinType",
"type": "uint256"
}
],
"name": "addr",
"outputs": [
{
"internalType": "bytes",
"name": "",
"type": "bytes"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
},
{
"internalType": "address",
"name": "",
"type": "address"
},
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "authorisations",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract ENS",
"name": "_ens",
"type": "address"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "node",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "target",
"type": "address"
},
{
"indexed": false,
"internalType": "bool",
"name": "isAuthorised",
"type": "bool"
}
],
"name": "AuthorisationChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "node",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "string",
"name": "indexedKey",
"type": "string"
},
{
"indexed": false,
"internalType": "string",
"name": "key",
"type": "string"
}
],
"name": "TextChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "node",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "bytes32",
"name": "x",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "bytes32",
"name": "y",
"type": "bytes32"
}
],
"name": "PubkeyChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "node",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "string",
"name": "name",
"type": "string"
}
],
"name": "NameChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "node",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "bytes4",
"name": "interfaceID",
"type": "bytes4"
},
{
"indexed": false,
"internalType": "address",
"name": "implementer",
"type": "address"
}
],
"name": "InterfaceChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "node",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "bytes",
"name": "hash",
"type": "bytes"
}
],
"name": "ContenthashChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "node",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "address",
"name": "a",
"type": "address"
}
],
"name": "AddrChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "node",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "uint256",
"name": "coinType",
"type": "uint256"
},
{
"indexed": false,
"internalType": "bytes",
"name": "newAddress",
"type": "bytes"
}
],
"name": "AddressChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "node",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "uint256",
"name": "contentType",
"type": "uint256"
}
],
"name": "ABIChanged",
"type": "event"
}
]

228
abis/ERC20.abi.json Normal file

@ -0,0 +1,228 @@
[
{
"constant": true,
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "_totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "address",
"name": "who",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"constant": true,
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "approve",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "nonces",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{ "internalType": "address", "name": "owner", "type": "address" },
{ "internalType": "address", "name": "spender", "type": "address" },
{ "internalType": "uint256", "name": "amount", "type": "uint256" },
{ "internalType": "uint256", "name": "deadline", "type": "uint256" },
{ "internalType": "uint8", "name": "v", "type": "uint8" },
{ "internalType": "bytes32", "name": "r", "type": "bytes32" },
{ "internalType": "bytes32", "name": "s", "type": "bytes32" }
],
"name": "permit",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]

422
abis/Governance.abi.json Normal file

@ -0,0 +1,422 @@
[
{
"inputs": [
{ "internalType": "address", "name": "_gasCompLogic", "type": "address" },
{ "internalType": "address", "name": "_userVault", "type": "address" }
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{ "indexed": true, "internalType": "address", "name": "account", "type": "address" },
{ "indexed": true, "internalType": "address", "name": "to", "type": "address" }
],
"name": "Delegated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{ "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" },
{ "indexed": true, "internalType": "address", "name": "proposer", "type": "address" },
{ "indexed": false, "internalType": "address", "name": "target", "type": "address" },
{ "indexed": false, "internalType": "uint256", "name": "startTime", "type": "uint256" },
{ "indexed": false, "internalType": "uint256", "name": "endTime", "type": "uint256" },
{ "indexed": false, "internalType": "string", "name": "description", "type": "string" }
],
"name": "ProposalCreated",
"type": "event"
},
{
"anonymous": false,
"inputs": [{ "indexed": true, "internalType": "uint256", "name": "proposalId", "type": "uint256" }],
"name": "ProposalExecuted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{ "indexed": true, "internalType": "address", "name": "account", "type": "address" },
{ "indexed": true, "internalType": "address", "name": "from", "type": "address" }
],
"name": "Undelegated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{ "indexed": true, "internalType": "uint256", "name": "proposalId", "type": "uint256" },
{ "indexed": true, "internalType": "address", "name": "voter", "type": "address" },
{ "indexed": true, "internalType": "bool", "name": "support", "type": "bool" },
{ "indexed": false, "internalType": "uint256", "name": "votes", "type": "uint256" }
],
"name": "Voted",
"type": "event"
},
{
"inputs": [],
"name": "CLOSING_PERIOD",
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "EXECUTION_DELAY",
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "EXECUTION_EXPIRATION",
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "PROPOSAL_THRESHOLD",
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "QUORUM_VOTES",
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "VOTE_EXTEND_TIME",
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "VOTING_DELAY",
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "VOTING_PERIOD",
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [{ "internalType": "bytes32[]", "name": "domains", "type": "bytes32[]" }],
"name": "bulkResolve",
"outputs": [{ "internalType": "address[]", "name": "result", "type": "address[]" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [{ "internalType": "address", "name": "", "type": "address" }],
"name": "canWithdrawAfter",
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{ "internalType": "address[]", "name": "from", "type": "address[]" },
{ "internalType": "uint256", "name": "proposalId", "type": "uint256" },
{ "internalType": "bool", "name": "support", "type": "bool" }
],
"name": "castDelegatedVote",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{ "internalType": "uint256", "name": "proposalId", "type": "uint256" },
{ "internalType": "bool", "name": "support", "type": "bool" }
],
"name": "castVote",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [{ "internalType": "uint256", "name": "proposalId", "type": "uint256" }],
"name": "checkIfQuorumReached",
"outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [{ "internalType": "address", "name": "to", "type": "address" }],
"name": "delegate",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [{ "internalType": "address", "name": "", "type": "address" }],
"name": "delegatedTo",
"outputs": [{ "internalType": "address", "name": "", "type": "address" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [{ "internalType": "uint256", "name": "proposalId", "type": "uint256" }],
"name": "execute",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [],
"name": "gasCompensationVault",
"outputs": [{ "internalType": "contract IGasCompensationVault", "name": "", "type": "address" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{ "internalType": "uint256", "name": "proposalId", "type": "uint256" },
{ "internalType": "address", "name": "voter", "type": "address" }
],
"name": "getReceipt",
"outputs": [
{
"components": [
{ "internalType": "bool", "name": "hasVoted", "type": "bool" },
{ "internalType": "bool", "name": "support", "type": "bool" },
{ "internalType": "uint256", "name": "votes", "type": "uint256" }
],
"internalType": "struct Governance.Receipt",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{ "internalType": "uint256", "name": "proposalId", "type": "uint256" },
{ "internalType": "address", "name": "account", "type": "address" }
],
"name": "hasAccountVoted",
"outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [{ "internalType": "bytes32", "name": "_torn", "type": "bytes32" }],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [{ "internalType": "address", "name": "", "type": "address" }],
"name": "latestProposalIds",
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{ "internalType": "address", "name": "owner", "type": "address" },
{ "internalType": "uint256", "name": "amount", "type": "uint256" },
{ "internalType": "uint256", "name": "deadline", "type": "uint256" },
{ "internalType": "uint8", "name": "v", "type": "uint8" },
{ "internalType": "bytes32", "name": "r", "type": "bytes32" },
{ "internalType": "bytes32", "name": "s", "type": "bytes32" }
],
"name": "lock",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [{ "internalType": "uint256", "name": "amount", "type": "uint256" }],
"name": "lockWithApproval",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [{ "internalType": "address", "name": "", "type": "address" }],
"name": "lockedBalance",
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "proposalCount",
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
"name": "proposals",
"outputs": [
{ "internalType": "address", "name": "proposer", "type": "address" },
{ "internalType": "address", "name": "target", "type": "address" },
{ "internalType": "uint256", "name": "startTime", "type": "uint256" },
{ "internalType": "uint256", "name": "endTime", "type": "uint256" },
{ "internalType": "uint256", "name": "forVotes", "type": "uint256" },
{ "internalType": "uint256", "name": "againstVotes", "type": "uint256" },
{ "internalType": "bool", "name": "executed", "type": "bool" },
{ "internalType": "bool", "name": "extended", "type": "bool" }
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{ "internalType": "address", "name": "target", "type": "address" },
{ "internalType": "string", "name": "description", "type": "string" }
],
"name": "propose",
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{ "internalType": "address", "name": "from", "type": "address" },
{ "internalType": "address", "name": "target", "type": "address" },
{ "internalType": "string", "name": "description", "type": "string" }
],
"name": "proposeByDelegate",
"outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [{ "internalType": "bytes32", "name": "node", "type": "bytes32" }],
"name": "resolve",
"outputs": [{ "internalType": "address", "name": "", "type": "address" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "returnMultisigAddress",
"outputs": [{ "internalType": "address", "name": "", "type": "address" }],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [{ "internalType": "uint256", "name": "closingPeriod", "type": "uint256" }],
"name": "setClosingPeriod",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [{ "internalType": "uint256", "name": "executionDelay", "type": "uint256" }],
"name": "setExecutionDelay",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [{ "internalType": "uint256", "name": "executionExpiration", "type": "uint256" }],
"name": "setExecutionExpiration",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [{ "internalType": "uint256", "name": "gasCompensationsLimit", "type": "uint256" }],
"name": "setGasCompensations",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [{ "internalType": "uint256", "name": "proposalThreshold", "type": "uint256" }],
"name": "setProposalThreshold",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [{ "internalType": "uint256", "name": "quorumVotes", "type": "uint256" }],
"name": "setQuorumVotes",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [{ "internalType": "uint256", "name": "voteExtendTime", "type": "uint256" }],
"name": "setVoteExtendTime",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [{ "internalType": "uint256", "name": "votingDelay", "type": "uint256" }],
"name": "setVotingDelay",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [{ "internalType": "uint256", "name": "votingPeriod", "type": "uint256" }],
"name": "setVotingPeriod",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [{ "internalType": "uint256", "name": "proposalId", "type": "uint256" }],
"name": "state",
"outputs": [{ "internalType": "enum Governance.ProposalState", "name": "", "type": "uint8" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "torn",
"outputs": [{ "internalType": "contract TORN", "name": "", "type": "address" }],
"stateMutability": "view",
"type": "function"
},
{ "inputs": [], "name": "undelegate", "outputs": [], "stateMutability": "nonpayable", "type": "function" },
{
"inputs": [{ "internalType": "uint256", "name": "amount", "type": "uint256" }],
"name": "unlock",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "userVault",
"outputs": [{ "internalType": "contract ITornadoVault", "name": "", "type": "address" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "version",
"outputs": [{ "internalType": "string", "name": "", "type": "string" }],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [{ "internalType": "uint256", "name": "amount", "type": "uint256" }],
"name": "withdrawFromHelper",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{ "stateMutability": "payable", "type": "receive" }
]

519
abis/Instance.abi.json Normal file

@ -0,0 +1,519 @@
[
{
"constant": false,
"inputs": [
{
"internalType": "address",
"name": "_newOperator",
"type": "address"
}
],
"name": "changeOperator",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "nullifierHashes",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "bytes",
"name": "_proof",
"type": "bytes"
},
{
"internalType": "bytes32",
"name": "_root",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "_nullifierHash",
"type": "bytes32"
},
{
"internalType": "address payable",
"name": "_recipient",
"type": "address"
},
{
"internalType": "address payable",
"name": "_relayer",
"type": "address"
},
{
"internalType": "uint256",
"name": "_fee",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_refund",
"type": "uint256"
}
],
"name": "withdraw",
"outputs": [],
"payable": true,
"stateMutability": "payable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "verifier",
"outputs": [
{
"internalType": "contract IVerifier",
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "bytes32",
"name": "_left",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "_right",
"type": "bytes32"
}
],
"name": "hashLeftRight",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"payable": false,
"stateMutability": "pure",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "FIELD_SIZE",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "levels",
"outputs": [
{
"internalType": "uint32",
"name": "",
"type": "uint32"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "operator",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "bytes32",
"name": "_root",
"type": "bytes32"
}
],
"name": "isKnownRoot",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "commitments",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "denomination",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "currentRootIndex",
"outputs": [
{
"internalType": "uint32",
"name": "",
"type": "uint32"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "address",
"name": "_newVerifier",
"type": "address"
}
],
"name": "updateVerifier",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "bytes32[]",
"name": "_nullifierHashes",
"type": "bytes32[]"
}
],
"name": "isSpentArray",
"outputs": [
{
"internalType": "bool[]",
"name": "spent",
"type": "bool[]"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"internalType": "bytes32",
"name": "_commitment",
"type": "bytes32"
}
],
"name": "deposit",
"outputs": [],
"payable": true,
"stateMutability": "payable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "getLastRoot",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "roots",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "ROOT_HISTORY_SIZE",
"outputs": [
{
"internalType": "uint32",
"name": "",
"type": "uint32"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "bytes32",
"name": "_nullifierHash",
"type": "bytes32"
}
],
"name": "isSpent",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "zeros",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "ZERO_VALUE",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "filledSubtrees",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "nextIndex",
"outputs": [
{
"internalType": "uint32",
"name": "",
"type": "uint32"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IVerifier",
"name": "_verifier",
"type": "address"
},
{
"internalType": "uint256",
"name": "_denomination",
"type": "uint256"
},
{
"internalType": "uint32",
"name": "_merkleTreeHeight",
"type": "uint32"
},
{
"internalType": "address",
"name": "_operator",
"type": "address"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "commitment",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "uint32",
"name": "leafIndex",
"type": "uint32"
},
{
"indexed": false,
"internalType": "uint256",
"name": "timestamp",
"type": "uint256"
}
],
"name": "Deposit",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "bytes32",
"name": "nullifierHash",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "relayer",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "fee",
"type": "uint256"
}
],
"name": "Withdrawal",
"type": "event"
}
]

86
abis/Multicall.json Normal file

@ -0,0 +1,86 @@
[
{
"constant": true,
"inputs": [],
"name": "getCurrentBlockTimestamp",
"outputs": [{ "name": "timestamp", "type": "uint256" }],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"components": [
{ "name": "target", "type": "address" },
{ "name": "callData", "type": "bytes" }
],
"name": "calls",
"type": "tuple[]"
}
],
"name": "aggregate",
"outputs": [
{ "name": "blockNumber", "type": "uint256" },
{ "name": "returnData", "type": "bytes[]" }
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "getLastBlockHash",
"outputs": [{ "name": "blockHash", "type": "bytes32" }],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [{ "name": "addr", "type": "address" }],
"name": "getEthBalance",
"outputs": [{ "name": "balance", "type": "uint256" }],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "getCurrentBlockDifficulty",
"outputs": [{ "name": "difficulty", "type": "uint256" }],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "getCurrentBlockGasLimit",
"outputs": [{ "name": "gaslimit", "type": "uint256" }],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [],
"name": "getCurrentBlockCoinbase",
"outputs": [{ "name": "coinbase", "type": "address" }],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": true,
"inputs": [{ "name": "blockNumber", "type": "uint256" }],
"name": "getBlockHash",
"outputs": [{ "name": "blockHash", "type": "bytes32" }],
"payable": false,
"stateMutability": "view",
"type": "function"
}
]

@ -0,0 +1,181 @@
[
{
"inputs": [
{ "internalType": "contract MultiWrapper", "name": "_multiWrapper", "type": "address" },
{ "internalType": "contract IOracle[]", "name": "existingOracles", "type": "address[]" },
{ "internalType": "enum OffchainOracle.OracleType[]", "name": "oracleTypes", "type": "uint8[]" },
{ "internalType": "contract IERC20[]", "name": "existingConnectors", "type": "address[]" },
{ "internalType": "contract IERC20", "name": "wBase", "type": "address" }
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{ "indexed": false, "internalType": "contract IERC20", "name": "connector", "type": "address" }
],
"name": "ConnectorAdded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{ "indexed": false, "internalType": "contract IERC20", "name": "connector", "type": "address" }
],
"name": "ConnectorRemoved",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{ "indexed": false, "internalType": "contract MultiWrapper", "name": "multiWrapper", "type": "address" }
],
"name": "MultiWrapperUpdated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{ "indexed": false, "internalType": "contract IOracle", "name": "oracle", "type": "address" },
{
"indexed": false,
"internalType": "enum OffchainOracle.OracleType",
"name": "oracleType",
"type": "uint8"
}
],
"name": "OracleAdded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{ "indexed": false, "internalType": "contract IOracle", "name": "oracle", "type": "address" },
{
"indexed": false,
"internalType": "enum OffchainOracle.OracleType",
"name": "oracleType",
"type": "uint8"
}
],
"name": "OracleRemoved",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{ "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" },
{ "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" }
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"inputs": [{ "internalType": "contract IERC20", "name": "connector", "type": "address" }],
"name": "addConnector",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{ "internalType": "contract IOracle", "name": "oracle", "type": "address" },
{ "internalType": "enum OffchainOracle.OracleType", "name": "oracleKind", "type": "uint8" }
],
"name": "addOracle",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "connectors",
"outputs": [{ "internalType": "contract IERC20[]", "name": "allConnectors", "type": "address[]" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{ "internalType": "contract IERC20", "name": "srcToken", "type": "address" },
{ "internalType": "contract IERC20", "name": "dstToken", "type": "address" },
{ "internalType": "bool", "name": "useWrappers", "type": "bool" }
],
"name": "getRate",
"outputs": [{ "internalType": "uint256", "name": "weightedRate", "type": "uint256" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{ "internalType": "contract IERC20", "name": "srcToken", "type": "address" },
{ "internalType": "bool", "name": "useSrcWrappers", "type": "bool" }
],
"name": "getRateToEth",
"outputs": [{ "internalType": "uint256", "name": "weightedRate", "type": "uint256" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "multiWrapper",
"outputs": [{ "internalType": "contract MultiWrapper", "name": "", "type": "address" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "oracles",
"outputs": [
{ "internalType": "contract IOracle[]", "name": "allOracles", "type": "address[]" },
{ "internalType": "enum OffchainOracle.OracleType[]", "name": "oracleTypes", "type": "uint8[]" }
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [{ "internalType": "address", "name": "", "type": "address" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [{ "internalType": "contract IERC20", "name": "connector", "type": "address" }],
"name": "removeConnector",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{ "internalType": "contract IOracle", "name": "oracle", "type": "address" },
{ "internalType": "enum OffchainOracle.OracleType", "name": "oracleKind", "type": "uint8" }
],
"name": "removeOracle",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [{ "internalType": "contract MultiWrapper", "name": "_multiWrapper", "type": "address" }],
"name": "setMultiWrapper",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [{ "internalType": "address", "name": "newOwner", "type": "address" }],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]

@ -0,0 +1,670 @@
[
{
"inputs": [
{
"internalType": "address",
"name": "_torn",
"type": "address"
},
{
"internalType": "address",
"name": "_governance",
"type": "address"
},
{
"internalType": "address",
"name": "_ens",
"type": "address"
},
{
"internalType": "bytes32",
"name": "_staking",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "_feeManager",
"type": "bytes32"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "minStakeAmount",
"type": "uint256"
}
],
"name": "MinimumStakeAmount",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "relayer",
"type": "address"
}
],
"name": "RelayerBalanceNullified",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bytes32",
"name": "relayer",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "string",
"name": "ensName",
"type": "string"
},
{
"indexed": false,
"internalType": "address",
"name": "relayerAddress",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "stakedAmount",
"type": "uint256"
}
],
"name": "RelayerRegistered",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "tornadoRouter",
"type": "address"
}
],
"name": "RouterRegistered",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "relayer",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amountStakeAdded",
"type": "uint256"
}
],
"name": "StakeAddedToRelayer",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "relayer",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amountBurned",
"type": "uint256"
}
],
"name": "StakeBurned",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "relayer",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "worker",
"type": "address"
}
],
"name": "WorkerRegistered",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "relayer",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "worker",
"type": "address"
}
],
"name": "WorkerUnregistered",
"type": "event"
},
{
"inputs": [
{
"internalType": "bytes32[]",
"name": "domains",
"type": "bytes32[]"
}
],
"name": "bulkResolve",
"outputs": [
{
"internalType": "address[]",
"name": "result",
"type": "address[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "address",
"name": "relayer",
"type": "address"
},
{
"internalType": "contract ITornadoInstance",
"name": "pool",
"type": "address"
}
],
"name": "burn",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "ens",
"outputs": [
{
"internalType": "contract IENS",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "feeManager",
"outputs": [
{
"internalType": "contract FeeManager",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "relayer",
"type": "address"
}
],
"name": "getRelayerBalance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "relayer",
"type": "address"
}
],
"name": "getRelayerEnsHash",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "governance",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "_tornadoRouter",
"type": "bytes32"
}
],
"name": "initialize",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "toResolve",
"type": "address"
}
],
"name": "isRelayer",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "relayer",
"type": "address"
},
{
"internalType": "address",
"name": "toResolve",
"type": "address"
}
],
"name": "isRelayerRegistered",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "minStakeAmount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "relayer",
"type": "address"
}
],
"name": "nullifyBalance",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "ensName",
"type": "string"
},
{
"internalType": "uint256",
"name": "stake",
"type": "uint256"
},
{
"internalType": "address[]",
"name": "workersToRegister",
"type": "address[]"
}
],
"name": "register",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "ensName",
"type": "string"
},
{
"internalType": "uint256",
"name": "stake",
"type": "uint256"
},
{
"internalType": "address[]",
"name": "workersToRegister",
"type": "address[]"
},
{
"internalType": "address",
"name": "relayer",
"type": "address"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
},
{
"internalType": "uint8",
"name": "v",
"type": "uint8"
},
{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
}
],
"name": "registerPermit",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "relayer",
"type": "address"
},
{
"internalType": "address",
"name": "worker",
"type": "address"
}
],
"name": "registerWorker",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "relayers",
"outputs": [
{
"internalType": "uint256",
"name": "balance",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "ensHash",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "node",
"type": "bytes32"
}
],
"name": "resolve",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "minAmount",
"type": "uint256"
}
],
"name": "setMinStakeAmount",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "tornadoRouterAddress",
"type": "address"
}
],
"name": "setTornadoRouter",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "relayer",
"type": "address"
},
{
"internalType": "uint256",
"name": "stake",
"type": "uint256"
}
],
"name": "stakeToRelayer",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "relayer",
"type": "address"
},
{
"internalType": "uint256",
"name": "stake",
"type": "uint256"
},
{
"internalType": "address",
"name": "staker",
"type": "address"
},
{
"internalType": "uint256",
"name": "deadline",
"type": "uint256"
},
{
"internalType": "uint8",
"name": "v",
"type": "uint8"
},
{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
}
],
"name": "stakeToRelayerPermit",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "staking",
"outputs": [
{
"internalType": "contract ITornadoStakingRewards",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "torn",
"outputs": [
{
"internalType": "contract TORN",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "tornadoRouter",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "worker",
"type": "address"
}
],
"name": "unregisterWorker",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "workers",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
}
]

@ -0,0 +1,92 @@
[
{ "inputs": [], "stateMutability": "nonpayable", "type": "constructor" },
{
"anonymous": false,
"inputs": [{ "indexed": true, "internalType": "address", "name": "addr", "type": "address" }],
"name": "NonSanctionedAddress",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{ "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" },
{ "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" }
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"anonymous": false,
"inputs": [{ "indexed": true, "internalType": "address", "name": "addr", "type": "address" }],
"name": "SanctionedAddress",
"type": "event"
},
{
"anonymous": false,
"inputs": [{ "indexed": false, "internalType": "address[]", "name": "addrs", "type": "address[]" }],
"name": "SanctionedAddressesAdded",
"type": "event"
},
{
"anonymous": false,
"inputs": [{ "indexed": false, "internalType": "address[]", "name": "addrs", "type": "address[]" }],
"name": "SanctionedAddressesRemoved",
"type": "event"
},
{
"inputs": [{ "internalType": "address[]", "name": "newSanctions", "type": "address[]" }],
"name": "addToSanctionsList",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [{ "internalType": "address", "name": "addr", "type": "address" }],
"name": "isSanctioned",
"outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [{ "internalType": "address", "name": "addr", "type": "address" }],
"name": "isSanctionedVerbose",
"outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "name",
"outputs": [{ "internalType": "string", "name": "", "type": "string" }],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [{ "internalType": "address", "name": "", "type": "address" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [{ "internalType": "address[]", "name": "removeSanctions", "type": "address[]" }],
"name": "removeFromSanctionsList",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [{ "internalType": "address", "name": "newOwner", "type": "address" }],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]

237
abis/TornadoProxy.abi.json Normal file

@ -0,0 +1,237 @@
[
{
"inputs": [
{
"internalType": "bytes32",
"name": "_tornadoTrees",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "_governance",
"type": "bytes32"
},
{
"internalType": "bytes32[]",
"name": "_instances",
"type": "bytes32[]"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"indexed": false,
"internalType": "bytes",
"name": "encryptedNote",
"type": "bytes"
}
],
"name": "EncryptedNote",
"type": "event"
},
{
"inputs": [
{
"internalType": "bytes32[]",
"name": "domains",
"type": "bytes32[]"
}
],
"name": "bulkResolve",
"outputs": [
{
"internalType": "address[]",
"name": "result",
"type": "address[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "governance",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract ITornadoInstance",
"name": "",
"type": "address"
}
],
"name": "instances",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "node",
"type": "bytes32"
}
],
"name": "resolve",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "tornadoTrees",
"outputs": [
{
"internalType": "contract ITornadoTrees",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract ITornadoInstance",
"name": "_tornado",
"type": "address"
},
{
"internalType": "bytes32",
"name": "_commitment",
"type": "bytes32"
},
{
"internalType": "bytes",
"name": "_encryptedNote",
"type": "bytes"
}
],
"name": "deposit",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract ITornadoInstance",
"name": "_instance",
"type": "address"
},
{
"internalType": "bool",
"name": "_update",
"type": "bool"
}
],
"name": "updateInstance",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract ITornadoInstance",
"name": "_tornado",
"type": "address"
},
{
"internalType": "bytes",
"name": "_proof",
"type": "bytes"
},
{
"internalType": "bytes32",
"name": "_root",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "_nullifierHash",
"type": "bytes32"
},
{
"internalType": "address payable",
"name": "_recipient",
"type": "address"
},
{
"internalType": "address payable",
"name": "_relayer",
"type": "address"
},
{
"internalType": "uint256",
"name": "_fee",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_refund",
"type": "uint256"
}
],
"name": "withdraw",
"outputs": [],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract IERC20",
"name": "_token",
"type": "address"
},
{
"internalType": "address payable",
"name": "_to",
"type": "address"
},
{
"internalType": "uint256",
"name": "_balance",
"type": "uint256"
}
],
"name": "rescueTokens",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]

@ -0,0 +1,272 @@
[
{
"inputs": [
{
"internalType": "address",
"name": "governanceAddress",
"type": "address"
},
{
"internalType": "address",
"name": "tornAddress",
"type": "address"
},
{
"internalType": "bytes32",
"name": "_relayerRegistry",
"type": "bytes32"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "account",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "rewardsClaimed",
"type": "uint256"
}
],
"name": "RewardsClaimed",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "account",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "rewards",
"type": "uint256"
}
],
"name": "RewardsUpdated",
"type": "event"
},
{
"inputs": [],
"name": "Governance",
"outputs": [
{
"internalType": "contract ITornadoGovernance",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "accumulatedRewardPerTorn",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "accumulatedRewardRateOnLastUpdate",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "accumulatedRewards",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "addBurnRewards",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32[]",
"name": "domains",
"type": "bytes32[]"
}
],
"name": "bulkResolve",
"outputs": [
{
"internalType": "address[]",
"name": "result",
"type": "address[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "checkReward",
"outputs": [
{
"internalType": "uint256",
"name": "rewards",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getReward",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "ratioConstant",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "relayerRegistry",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "node",
"type": "bytes32"
}
],
"name": "resolve",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "torn",
"outputs": [
{
"internalType": "contract IERC20",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "amountLockedBeforehand",
"type": "uint256"
}
],
"name": "updateRewardsOnLockedBalanceChange",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "withdrawTorn",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]

39
app.html Normal file

@ -0,0 +1,39 @@
<!DOCTYPE html>
<html {{ HTML_ATTRS }}>
<head {{ HEAD_ATTRS }}>
<script>
if (window.location.search) {
console.log('redirect')
window.location = window.location.origin + window.location.pathname
}
function addScript(src) {
const s = document.createElement('script')
s.setAttribute('src', src)
document.body.appendChild(s)
}
document.addEventListener('DOMContentLoaded', () => {
const ipfsPathRegExp = /^(\/(?:ipfs|ipns)\/[^/]+)/
const ipfsPathPrefix = (window.location.pathname.match(ipfsPathRegExp) || [])[1] || ''
if (ipfsPathPrefix) {
const scripts = [...document.getElementsByTagName('script')]
for (let i = 0; i < scripts.length; i++) {
if (scripts[i].src) {
const source = new URL(scripts[i].src)
console.log('Loading', source.pathname)
const newSource = window.location.origin + ipfsPathPrefix + source.pathname
addScript(newSource)
}
}
console.log('Finished')
}
})
</script>
{{ HEAD }}
</head>
<body {{ BODY_ATTRS }}>
{{ APP }}
</body>
</html>

7
assets/README.md Normal file

@ -0,0 +1,7 @@
# ASSETS
**This directory is not required, you can delete it if you don't want to use it.**
This directory contains your un-compiled assets such as LESS, SASS, or JavaScript.
More information about the usage of this directory in [the documentation](https://nuxtjs.org/guide/assets#webpacked).

Binary file not shown.

Binary file not shown.

11
assets/img/ethereum.svg Normal file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg width="256px" height="417px" viewBox="0 0 256 417" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid">
<g>
<polygon fill="#343434" points="127.9611 0 125.1661 9.5 125.1661 285.168 127.9611 287.958 255.9231 212.32"/>
<polygon fill="#8C8C8C" points="127.962 0 0 212.32 127.962 287.959 127.962 154.158"/>
<polygon fill="#3C3C3B" points="127.9611 312.1866 126.3861 314.1066 126.3861 412.3056 127.9611 416.9066 255.9991 236.5866"/>
<polygon fill="#8C8C8C" points="127.962 416.9052 127.962 312.1852 0 236.5852"/>
<polygon fill="#141414" points="127.9611 287.9577 255.9211 212.3207 127.9611 154.1587"/>
<polygon fill="#393939" points="0.0009 212.3208 127.9609 287.9578 127.9609 154.1588"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 841 B

1
assets/img/flags/cn.svg Normal file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><circle cx="256" cy="256" r="256" fill="#d80027"/><path fill="#ffda44" d="M140.1 155.8l22.1 68h71.5l-57.8 42.1 22.1 68-57.9-42-57.9 42 22.2-68-57.9-42.1H118zm163.4 240.7l-16.9-20.8-25 9.7 14.5-22.5-16.9-20.9 25.9 6.9 14.6-22.5 1.4 26.8 26 6.9-25.1 9.6zm33.6-61l8-25.6-21.9-15.5 26.8-.4 7.9-25.6 8.7 25.4 26.8-.3-21.5 16 8.6 25.4-21.9-15.5zm45.3-147.6L370.6 212l19.2 18.7-26.5-3.8-11.8 24-4.6-26.4-26.6-3.8 23.8-12.5-4.6-26.5 19.2 18.7zm-78.2-73l-2 26.7 24.9 10.1-26.1 6.4-1.9 26.8-14.1-22.8-26.1 6.4 17.3-20.5-14.2-22.7 24.9 10.1z"/></svg>

After

Width:  |  Height:  |  Size: 601 B

1
assets/img/flags/es.svg Normal file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 512 512"><mask id="a"><circle cx="256" cy="256" r="256" fill="#fff"/></mask><mask id="b"><path fill="#fff" d="M160 272v24a24 24 0 0 0 24 24 24 24 0 0 0 24-24v-24h-24z"/></mask><g mask="url(#a)"><path fill="#d80027" d="M0 0h512v512H0z"/><path fill="#ffda44" d="M0 128h512v256H0z"/><g fill="#eee"><path d="M144 304h-16v-80h16zm128 0h16v-80h-16z"/><ellipse cx="208" cy="296" rx="48" ry="32"/></g><g fill="#d80027"><rect width="16" height="24" x="128" y="192" rx="8"/><rect width="16" height="24" x="272" y="192" rx="8"/><path d="M208 272v24a24 24 0 0 0 24 24 24 24 0 0 0 24-24v-24h-24z"/></g><g fill="#ff9811"><rect width="32" height="16" x="120" y="208" ry="8"/><rect width="32" height="16" x="264" y="208" ry="8"/><rect width="32" height="16" x="120" y="304" rx="8"/><rect width="32" height="16" x="264" y="304" rx="8"/><path d="M160 272v24a24 24 0 0 0 24 24 24 24 0 0 0 24-24v-24h-24z"/></g><path d="M122 252h172m-172 24h28m116 0h28"/><path fill="#d80027" d="M122 248a4 4 0 0 0-4 4 4 4 0 0 0 4 4h172a4 4 0 0 0 4-4 4 4 0 0 0-4-4zm0 24a4 4 0 0 0-4 4 4 4 0 0 0 4 4h28a4 4 0 0 0 4-4 4 4 0 0 0-4-4zm144 0a4 4 0 0 0-4 4 4 4 0 0 0 4 4h28a4 4 0 0 0 4-4 4 4 0 0 0-4-4z"/><path fill="#eee" d="M196 168c-7 0-13 5-15 11l-5-1c-9 0-16 7-16 16s7 16 16 16c7 0 13-4 15-11a16 16 0 0 0 17-4 16 16 0 0 0 17 4 16 16 0 1 0 10-20 16 16 0 0 0-27-5c-3-4-7-6-12-6zm0 8c5 0 8 4 8 8 0 5-3 8-8 8-4 0-8-3-8-8 0-4 4-8 8-8zm24 0c5 0 8 4 8 8 0 5-3 8-8 8-4 0-8-3-8-8 0-4 4-8 8-8zm-44 10 4 1 4 8c0 4-4 7-8 7s-8-3-8-8c0-4 4-8 8-8zm64 0c5 0 8 4 8 8 0 5-3 8-8 8-4 0-8-3-8-7l4-8 4-1z"/><path fill="none" d="M220 284v12c0 7 5 12 12 12s12-5 12-12v-12z"/><path fill="#ff9811" d="M200 160h16v32h-16z"/><path fill="#eee" d="M208 224h48v48h-48z"/><g fill="#d80027"><path d="m248 208-8 8h-64l-8-8c0-13 18-24 40-24s40 11 40 24zm-88 16h48v48h-48z"/><rect width="20" height="32" x="222" y="232" rx="10" ry="10"/><g mask="url(#b)"><path d="M170 272h10v48h-10zm19 0h10v48h-10z"/></g></g><path fill="#ff9811" d="M168 232v8h8v16h-8v8h32v-8h-8v-16h8v-8zm8-16h64v8h-64z"/><g fill="#ffda44"><circle cx="186" cy="202" r="6"/><circle cx="208" cy="202" r="6"/><circle cx="230" cy="202" r="6"/></g><g fill="#338af3"><circle cx="208" cy="272" r="16"/><rect width="32" height="16" x="264" y="320" ry="8"/><rect width="32" height="16" x="120" y="320" ry="8"/></g></g></svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

1
assets/img/flags/fr.svg Normal file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><mask id="a"><circle cx="256" cy="256" r="256" fill="#fff"/></mask><g mask="url(#a)"><path fill="#eee" d="M167 0h178l25.9 252.3L345 512H167l-29.8-253.4z"/><path fill="#0052b4" d="M0 0h167v512H0z"/><path fill="#d80027" d="M345 0h167v512H345z"/></g></svg>

After

Width:  |  Height:  |  Size: 315 B

1
assets/img/flags/gb.svg Normal file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><circle cx="256" cy="256" r="256" fill="#eee"/><path fill="#0052b4" d="M53 100.1a255 255 0 0 0-44.2 89.1H142l-89-89zm450.2 89.1a255 255 0 0 0-44.1-89l-89 89h133zM8.8 322.8a255 255 0 0 0 44.1 89l89-89H9zm403-269.9a255 255 0 0 0-89-44V142l89-89zM100.2 459.1a255 255 0 0 0 89.1 44V370l-89 89zm89-450.3a255 255 0 0 0-89 44.1l89 89.1V8.8zm133.6 494.4a255 255 0 0 0 89-44.1l-89-89v133zM370 322.8l89 89a255 255 0 0 0 44.2-89H370z"/><g fill="#d80027"><path d="M509.8 222.6H289.4V2.2A258.6 258.6 0 0 0 256 0c-11.3 0-22.5.7-33.4 2.2v220.4H2.2A258.6 258.6 0 0 0 0 256c0 11.3.7 22.5 2.2 33.4h220.4v220.4a258.4 258.4 0 0 0 66.8 0V289.4h220.4A258.5 258.5 0 0 0 512 256c0-11.3-.7-22.5-2.2-33.4z"/><path d="M322.8 322.8L437 437a256.6 256.6 0 0 0 15-16.4l-97.7-97.8h-31.5zm-133.6 0L75 437a256.6 256.6 0 0 0 16.4 15l97.8-97.7v-31.5zm0-133.6L75 75a256.6 256.6 0 0 0-15 16.4l97.7 97.8h31.5zm133.6 0L437 75a256.3 256.3 0 0 0-16.4-15l-97.8 97.7v31.5z"/></g></svg>

After

Width:  |  Height:  |  Size: 1003 B

1
assets/img/flags/ru.svg Normal file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><circle cx="256" cy="256" r="256" fill="#eee"/><path fill="#0052b4" d="M496 345a255.4 255.4 0 0 0 0-178H16a255.5 255.5 0 0 0 0 178l240 22.3L496 345z"/><path fill="#d80027" d="M256 512a256 256 0 0 0 240-167H16a256 256 0 0 0 240 167z"/></svg>

After

Width:  |  Height:  |  Size: 302 B

1
assets/img/flags/tr.svg Normal file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 512 512"><mask id="a"><circle cx="256" cy="256" r="256" fill="#fff"/></mask><g mask="url(#a)"><path fill="#d80027" d="M0 0h512v512H0z"/><g fill="#eee"><path d="m245.5 209.2 21 29 34-11.1-21 29 21 28.9-34-11.1-21 29V267l-34-11.1 34-11z"/><path d="M188.2 328.3a72.3 72.3 0 1 1 34.4-136 89 89 0 1 0 0 127.3 72 72 0 0 1-34.4 8.7z"/></g></g></svg>

After

Width:  |  Height:  |  Size: 420 B

1
assets/img/flags/uk.svg Normal file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 512 512"><mask id="a"><circle cx="256" cy="256" r="256" fill="#fff"/></mask><g mask="url(#a)"><path fill="#ffda44" d="m0 256 258-39.4L512 256v256H0z"/><path fill="#338af3" d="M0 0h512v256H0z"/></g></svg>

After

Width:  |  Height:  |  Size: 281 B

@ -0,0 +1,4 @@
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M13 4C13 6.20914 11.2091 8 9 8C6.79086 8 5 6.20914 5 4C5 1.79086 6.79086 0 9 0C11.2091 0 13 1.79086 13 4ZM11 4C11 5.10457 10.1046 6 9 6C7.89543 6 7 5.10457 7 4C7 2.89543 7.89543 2 9 2C10.1046 2 11 2.89543 11 4Z" fill="#44F1A6"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M9 8H6C2.68629 8 0 10.6863 0 14V16C0 17.1046 0.89543 18 2 18H16C17.1046 18 18 17.1046 18 16V14C18 10.6863 15.3137 8 12 8H9ZM2 14C2 11.7909 3.79086 10 6 10H12C14.2091 10 16 11.7909 16 14V16H2L2 14Z" fill="#44F1A6"/>
</svg>

After

Width:  |  Height:  |  Size: 645 B

@ -0,0 +1,6 @@
<svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M15.0377 15.0014C15.2347 15.0163 15.4044 15.1458 15.4709 15.3318L17.9709 22.3318C18.0414 22.5293 17.9812 22.7499 17.8201 22.8841L14.8201 25.3841C14.6214 25.5497 14.3293 25.5364 14.1464 25.3536L11.1464 22.3536C10.9903 22.1974 10.9551 21.9574 11.0598 21.763L14.5598 15.2629C14.6534 15.089 14.8407 14.9865 15.0377 15.0014ZM12.1166 21.9095L14.5307 24.3236L16.9117 22.3394L14.9072 16.7269L12.1166 21.9095Z" fill="#44F1A6"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M10.7132 23.5905C10.9119 23.4512 11.182 23.4748 11.3536 23.6464L14.5469 26.8398L18.2 24.1C18.3897 23.9577 18.6532 23.9683 18.8309 24.1252C19.0086 24.2821 19.0518 24.5422 18.9341 24.7481L14.9341 31.7481C14.8414 31.9103 14.666 32.0073 14.4794 31.9996C14.2927 31.9919 14.1259 31.8807 14.0469 31.7114L10.5469 24.2114C10.4443 23.9915 10.5144 23.7297 10.7132 23.5905ZM12.6533 26.3604L14.5448 30.4137L16.8672 26.3496L14.8 27.9C14.6009 28.0493 14.3224 28.0295 14.1464 27.8536L12.6533 26.3604Z" fill="#44F1A6"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M16.1878 9.60361C15.7996 9.53533 15.4033 9.5 15 9.5C12.3043 9.5 9.91707 11.0788 8.22494 13.523C6.53146 15.9692 5.5 19.3213 5.5 23C5.5 26.6787 6.53146 30.0308 8.22494 32.477C9.91707 34.9212 12.3043 36.5 15 36.5C15.4033 36.5 15.7996 36.4647 16.1878 36.3964C16.563 36.4648 16.9454 36.5 17.3333 36.5C18.2058 36.5 19.0439 36.3228 19.8339 35.9958C20.6252 36.323 21.4637 36.5 22.3333 36.5C22.7067 36.5 23.0739 36.4675 23.4336 36.4048L23.4292 36.4356C23.7267 36.4782 24.0284 36.5 24.3333 36.5C25.2058 36.5 26.0439 36.3228 26.8339 35.9959C27.6259 36.3233 28.4647 36.5 29.3333 36.5C29.7067 36.5 30.0739 36.4675 30.4336 36.4048L30.4292 36.4356C30.7267 36.4782 31.0284 36.5 31.3333 36.5C33.9458 36.5 36.2497 34.9117 37.8776 32.4697C39.5079 30.0243 40.5 26.6748 40.5 23C40.5 19.3252 39.5079 15.9757 37.8776 13.5303C36.2497 11.0883 33.9458 9.5 31.3333 9.5C31.0638 9.5 30.7968 9.51702 30.533 9.55038L30.5411 9.61491C30.1471 9.53926 29.744 9.5 29.3333 9.5C28.465 9.5 27.6262 9.67658 26.8339 10.0041C26.0439 9.67717 25.2058 9.5 24.3333 9.5C24.0284 9.5 23.7267 9.52178 23.4292 9.56436L23.4336 9.59521C23.0739 9.53245 22.7067 9.5 22.3333 9.5C21.4646 9.5 20.6259 9.6767 19.8339 10.0041C19.0439 9.67717 18.2058 9.5 17.3333 9.5C16.9454 9.5 16.563 9.53525 16.1878 9.60361ZM9.04714 14.0922C7.48326 16.3511 6.5 19.499 6.5 23C6.5 26.501 7.48326 29.6489 9.04714 31.9078C10.6124 34.1687 12.7252 35.5 15 35.5C15.3732 35.5 15.7421 35.4642 16.1049 35.3943L16.1128 35.36C16.1385 35.3659 16.1641 35.3717 16.1898 35.3773C18.0052 34.9999 19.6645 33.7687 20.9529 31.9078C22.5167 29.6489 23.5 26.501 23.5 23C23.5 19.499 22.5167 16.3511 20.9529 14.0922C19.6645 12.2313 18.0052 11.0001 16.1898 10.6227C16.1641 10.6283 16.1385 10.6341 16.1128 10.64L16.1049 10.6057C15.7421 10.5358 15.3732 10.5 15 10.5C12.7252 10.5 10.6124 11.8313 9.04714 14.0922ZM29.3333 35.5C28.9002 35.5 28.4743 35.4479 28.0579 35.347C29.13 34.6474 30.0841 33.66 30.8776 32.4697C32.5079 30.0243 33.5 26.6748 33.5 23C33.5 19.3252 32.5079 15.9757 30.8776 13.5303C30.0841 12.34 29.13 11.3526 28.0579 10.653C28.4742 10.5521 28.9001 10.5 29.3333 10.5C31.5074 10.5 33.5368 11.8218 35.0456 14.085C36.552 16.3446 37.5 19.4951 37.5 23C37.5 26.5049 36.552 29.6554 35.0456 31.915C33.5368 34.1782 31.5074 35.5 29.3333 35.5ZM37.0456 31.915C36.0432 33.4186 34.811 34.5067 33.4592 35.0677C34.369 34.3942 35.1846 33.5093 35.8776 32.4697C37.5079 30.0243 38.5 26.6748 38.5 23C38.5 19.3252 37.5079 15.9757 35.8776 13.5303C35.1846 12.4907 34.369 11.6058 33.4592 10.9323C34.811 11.4933 36.0432 12.5814 37.0456 14.085C38.552 16.3446 39.5 19.4951 39.5 23C39.5 26.5049 38.552 29.6554 37.0456 31.915ZM30.0456 31.915C29.0432 33.4186 27.811 34.5067 26.4593 35.0677C27.369 34.3942 28.1846 33.5093 28.8776 32.4697C30.5079 30.0243 31.5 26.6748 31.5 23C31.5 19.3252 30.5079 15.9757 28.8776 13.5303C28.1846 12.4907 27.369 11.6058 26.4593 10.9323C27.811 11.4933 29.0432 12.5814 30.0456 14.085C31.552 16.3446 32.5 19.4951 32.5 23C32.5 26.5049 31.552 29.6554 30.0456 31.915ZM19.0557 10.7817C20.0828 11.4692 21.0015 12.4057 21.7751 13.523C23.4685 15.9692 24.5 19.3213 24.5 23C24.5 26.6787 23.4685 30.0308 21.7751 32.477C21.1501 33.3798 20.4302 34.1645 19.6351 34.7952C19.7007 34.8306 19.7667 34.8648 19.833 34.8977C21.0381 34.3008 22.1364 33.2789 23.0456 31.915C24.552 29.6554 25.5 26.5049 25.5 23C25.5 19.4951 24.552 16.3446 23.0456 14.085C21.9443 12.433 20.5655 11.2826 19.0557 10.7817ZM21.0579 35.347C21.4746 35.448 21.9006 35.5 22.3333 35.5C24.5074 35.5 26.5368 34.1782 28.0456 31.915C29.552 29.6554 30.5 26.5049 30.5 23C30.5 19.4951 29.552 16.3446 28.0456 14.085C26.5368 11.8218 24.5074 10.5 22.3333 10.5C21.9002 10.5 21.4743 10.5521 21.0579 10.653C22.13 11.3526 23.0841 12.34 23.8776 13.5303C25.5079 15.9757 26.5 19.3252 26.5 23C26.5 26.6748 25.5079 30.0243 23.8776 32.4697C23.0841 33.66 22.13 34.6474 21.0579 35.347Z" fill="#44F1A6"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M8 0C3.58172 0 0 3.58172 0 8V40C0 44.4183 3.58172 48 8 48H40C44.4183 48 48 44.4183 48 40V8C48 3.58172 44.4183 0 40 0H8ZM40 1H8C4.13401 1 1 4.13401 1 8V40C1 43.866 4.13401 47 8 47H40C43.866 47 47 43.866 47 40V8C47 4.13401 43.866 1 40 1Z" fill="#44F1A6"/>
</svg>

After

Width:  |  Height:  |  Size: 5.2 KiB

@ -0,0 +1,13 @@
<svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11 8H14V13H16V14H11V13H13V9H11V8Z" fill="#44F1A6"/>
<path d="M39 24H9V25H39V24Z" fill="#44F1A6"/>
<path d="M28 8H25V9H27V13H25V14H30V13H28V8Z" fill="#44F1A6"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M37 14H32V8H37V14ZM36 9V13H33V9H36Z" fill="#44F1A6"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M16 22H11V16H16V22ZM15 17V21H12V17H15Z" fill="#44F1A6"/>
<path d="M21 16H18V17H20V21H18V22H23V21H21V16Z" fill="#44F1A6"/>
<path d="M28 16H25V17H27V21H25V22H30V21H28V16Z" fill="#44F1A6"/>
<path d="M35 16H32V17H34V21H32V22H37V21H35V16Z" fill="#44F1A6"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M23 14H18V8H23V14ZM22 9V13H19V9H22Z" fill="#44F1A6"/>
<path d="M10.0381 27H10.0589C10.491 30.67 13.2718 33.6213 16.8572 34.3096C14.5797 32.4947 12.9217 29.9354 12.2514 27H19.7085C20.1766 29.4925 22.3622 31.3793 24.9894 31.3846L25.0004 31.3846C27.6326 31.3846 29.8236 29.496 30.2924 27H38.0453C38.0665 27.3049 38.0773 27.6127 38.0773 27.9231C38.0773 35.1453 32.2226 41 25.0004 41C29.1249 41 32.5602 38.049 33.31 34.1432C30.9141 37.1499 27.2207 39.0769 23.0773 39.0769C16.1916 39.0769 10.5489 33.755 10.0381 27Z" fill="#44F1A6"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M8 0C3.58172 0 0 3.58172 0 8V40C0 44.4183 3.58172 48 8 48H40C44.4183 48 48 44.4183 48 40V8C48 3.58172 44.4183 0 40 0H8ZM40 1H8C4.13401 1 1 4.13401 1 8V40C1 43.866 4.13401 47 8 47H40C43.866 47 47 43.866 47 40V8C47 4.13401 43.866 1 40 1Z" fill="#44F1A6"/>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

@ -0,0 +1,5 @@
<svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M33.7476 19.1465C35.0977 17.7963 35.0978 15.6027 33.7476 14.2524C32.3974 12.9022 30.2037 12.9022 28.8534 14.2524C27.5032 15.6027 27.5032 17.7963 28.8534 19.1466C30.2037 20.4968 32.3974 20.4968 33.7476 19.1465ZM29.5606 18.4394C30.5203 19.3992 32.0808 19.3992 33.0405 18.4394C34.0001 17.4797 34.0002 15.9192 33.0405 14.9595C32.0808 13.9998 30.5203 13.9998 29.5606 14.9595C28.6008 15.9192 28.6008 17.4797 29.5606 18.4394Z" fill="#44F1A6"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M21.1671 32.1936C21.3986 32.2248 21.6317 32.1471 21.8072 31.9918C21.9818 31.8356 22.0819 31.6128 22.0819 31.3789V29.8516H23.5816C23.7994 29.8516 24.0078 29.7651 24.1615 29.6112L26.2652 27.5354C29.4775 28.5768 32.9579 27.8049 35.3611 25.4001C38.8795 21.8818 38.8795 16.1571 35.3611 12.6388C31.8428 9.12038 26.1182 9.12043 22.5999 12.6388C20.1966 15.042 19.3619 18.5837 20.4025 21.7968L10.2404 31.959C10.0865 32.1128 10 32.3211 10 32.539V37.1797C10 37.6331 10.3669 38 10.8203 38H15.461C15.6789 38 15.8872 37.9135 16.0409 37.7597L17.2009 36.5989C17.3779 36.4218 17.4645 36.1735 17.4356 35.9243L17.2914 34.6778L19.0186 34.5152C19.4111 34.4783 19.7211 34.1683 19.758 33.7758L19.9206 32.0486L21.1671 32.1936ZM21.5424 22.0711L21.3538 21.4887C20.4282 18.6304 21.1713 15.4816 23.307 13.3459C26.4348 10.2181 31.5262 10.218 34.654 13.3459C37.7819 16.4737 37.7819 21.5652 34.654 24.693C32.5263 26.8221 29.4417 27.514 26.5736 26.5841L25.9954 26.3967L23.5076 28.8516H21.0819V31.177L19.0209 30.9372L18.7764 33.5336L16.1806 33.778L16.4323 35.9533L15.3863 37H11V32.6136L21.5424 22.0711Z" fill="#44F1A6"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 8C0 3.58172 3.58172 0 8 0H40C44.4183 0 48 3.58172 48 8V40C48 44.4183 44.4183 48 40 48H8C3.58172 48 0 44.4183 0 40V8ZM8 1H40C43.866 1 47 4.13401 47 8V40C47 43.866 43.866 47 40 47H8C4.13401 47 1 43.866 1 40V8C1 4.13401 4.13401 1 8 1Z" fill="#44F1A6"/>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

@ -0,0 +1,11 @@
<svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M13 16C13 17.1046 12.1046 18 11 18C9.89543 18 9 17.1046 9 16C9 14.8954 9.89543 14 11 14C12.1046 14 13 14.8954 13 16Z" fill="#44F1A6"/>
<path d="M20 16C20 15.4477 20.4477 15 21 15H34C34.5523 15 35 15.4477 35 16C35 16.5523 34.5523 17 34 17H21C20.4477 17 20 16.5523 20 16Z" fill="#44F1A6"/>
<path d="M39 16C39 16.5523 38.5523 17 38 17C37.4477 17 37 16.5523 37 16C37 15.4477 37.4477 15 38 15C38.5523 15 39 15.4477 39 16Z" fill="#44F1A6"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M7 10C5.89543 10 5 10.8954 5 12V20C5 21.1046 5.89543 22 7 22H41C42.1046 22 43 21.1046 43 20V12C43 10.8954 42.1046 10 41 10H7ZM16 12C16 11.4477 15.5523 11 15 11H7C6.44772 11 6 11.4477 6 12V20C6 20.5523 6.44772 21 7 21H15C15.5523 21 16 20.5523 16 20V12ZM16.7324 21C16.9026 20.7058 17 20.3643 17 20V12C17 11.6357 16.9026 11.2942 16.7324 11H41C41.5523 11 42 11.4477 42 12V20C42 20.5523 41.5523 21 41 21H16.7324Z" fill="#44F1A6"/>
<path d="M11 34C12.1046 34 13 33.1046 13 32C13 30.8954 12.1046 30 11 30C9.89543 30 9 30.8954 9 32C9 33.1046 9.89543 34 11 34Z" fill="#44F1A6"/>
<path d="M20 32C20 31.4477 20.4477 31 21 31H34C34.5523 31 35 31.4477 35 32C35 32.5523 34.5523 33 34 33H21C20.4477 33 20 32.5523 20 32Z" fill="#44F1A6"/>
<path d="M39 32C39 32.5523 38.5523 33 38 33C37.4477 33 37 32.5523 37 32C37 31.4477 37.4477 31 38 31C38.5523 31 39 31.4477 39 32Z" fill="#44F1A6"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M7 26C5.89543 26 5 26.8954 5 28V36C5 37.1046 5.89543 38 7 38H41C42.1046 38 43 37.1046 43 36V28C43 26.8954 42.1046 26 41 26H7ZM16 28C16 27.4477 15.5523 27 15 27H7C6.44772 27 6 27.4477 6 28V36C6 36.5523 6.44772 37 7 37H15C15.5523 37 16 36.5523 16 36V28ZM16.7324 37C16.9026 36.7058 17 36.3643 17 36V28C17 27.6357 16.9026 27.2942 16.7324 27H41C41.5523 27 42 27.4477 42 28V36C42 36.5523 41.5523 37 41 37H16.7324Z" fill="#44F1A6"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 8C0 3.58172 3.58172 0 8 0H40C44.4183 0 48 3.58172 48 8V40C48 44.4183 44.4183 48 40 48H8C3.58172 48 0 44.4183 0 40V8ZM8 1H40C43.866 1 47 4.13401 47 8V40C47 43.866 43.866 47 40 47H8C4.13401 47 1 43.866 1 40V8C1 4.13401 4.13401 1 8 1Z" fill="#44F1A6"/>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

@ -0,0 +1,9 @@
<svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M11 26C12.1046 26 13 25.1046 13 24C13 22.8954 12.1046 22 11 22C9.89543 22 9 22.8954 9 24C9 25.1046 9.89543 26 11 26Z" fill="#44F1A6"/>
<path d="M22 25C22.5523 25 23 24.5523 23 24C23 23.4477 22.5523 23 22 23C21.4477 23 21 23.4477 21 24C21 24.5523 21.4477 25 22 25Z" fill="#44F1A6"/>
<path d="M27 25C27.5523 25 28 24.5523 28 24C28 23.4477 27.5523 23 27 23C26.4477 23 26 23.4477 26 24C26 24.5523 26.4477 25 27 25Z" fill="#44F1A6"/>
<path d="M32 25C32.5523 25 33 24.5523 33 24C33 23.4477 32.5523 23 32 23C31.4477 23 31 23.4477 31 24C31 24.5523 31.4477 25 32 25Z" fill="#44F1A6"/>
<path d="M37 25C37.5523 25 38 24.5523 38 24C38 23.4477 37.5523 23 37 23C36.4477 23 36 23.4477 36 24C36 24.5523 36.4477 25 37 25Z" fill="#44F1A6"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M5 20C5 18.8954 5.89543 18 7 18H41C42.1046 18 43 18.8954 43 20V28C43 29.1046 42.1046 30 41 30H7C5.89543 30 5 29.1046 5 28V20ZM15 19C15.5523 19 16 19.4477 16 20V28C16 28.5523 15.5523 29 15 29H7C6.44772 29 6 28.5523 6 28V20C6 19.4477 6.44772 19 7 19H15ZM17 28C17 28.3643 16.9026 28.7058 16.7324 29H41C41.5523 29 42 28.5523 42 28V20C42 19.4477 41.5523 19 41 19H16.7324C16.9026 19.2942 17 19.6357 17 20V28Z" fill="#44F1A6"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 8C0 3.58172 3.58172 0 8 0H40C44.4183 0 48 3.58172 48 8V40C48 44.4183 44.4183 48 40 48H8C3.58172 48 0 44.4183 0 40V8ZM8 1H40C43.866 1 47 4.13401 47 8V40C47 43.866 43.866 47 40 47H8C4.13401 47 1 43.866 1 40V8C1 4.13401 4.13401 1 8 1Z" fill="#44F1A6"/>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

@ -0,0 +1,5 @@
<svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M27.5 24C27.2239 24 27 24.2239 27 24.5C27 24.7761 27.2239 25 27.5 25H30.5C30.7761 25 31 24.7761 31 24.5C31 24.2239 30.7761 24 30.5 24H27.5Z" fill="#44F1A6"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M36 11C38.2091 11 40 12.7909 40 15V33C40 35.2091 38.2091 37 36 37H12C11.8619 37 11.7255 36.993 11.591 36.9793C9.574 36.7745 8 35.0711 8 33V15C8 12.7909 9.79086 11 12 11H36ZM34.6458 12H36C37.6569 12 39 13.3431 39 15V21H36V15C36 13.8053 35.4762 12.7329 34.6458 12ZM27.5 22H39V27H27.5C26.1193 27 25 25.8807 25 24.5C25 23.1193 26.1193 22 27.5 22ZM39 28H36V33C36 34.1947 35.4762 35.2671 34.6458 36H36C37.6569 36 39 34.6569 39 33V28ZM27.5 21H35V15C35 13.3431 33.6569 12 32 12H12C10.3431 12 9 13.3431 9 15V33C9 34.4497 10.0283 35.6593 11.3954 35.939C11.5907 35.979 11.7929 36 12 36H32C33.6569 36 35 34.6569 35 33V28H27.5C25.567 28 24 26.433 24 24.5C24 22.567 25.567 21 27.5 21Z" fill="#44F1A6"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 8C0 3.58172 3.58172 0 8 0H40C44.4183 0 48 3.58172 48 8V40C48 44.4183 44.4183 48 40 48H8C3.58172 48 0 44.4183 0 40V8ZM8 1H40C43.866 1 47 4.13401 47 8V40C47 43.866 43.866 47 40 47H8C4.13401 47 1 43.866 1 40V8C1 4.13401 4.13401 1 8 1Z" fill="#44F1A6"/>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

@ -0,0 +1,8 @@
<svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M19 16V15C19 12.7909 20.7909 11 23 11H26C28.2091 11 30 12.7909 30 15V16H35.5C35.7761 16 36 16.2239 36 16.5C36 16.7761 35.7761 17 35.5 17H13.5C13.2239 17 13 16.7761 13 16.5C13 16.2239 13.2239 16 13.5 16H19ZM23 12H26C27.6569 12 29 13.3431 29 15V16H20V15C20 13.3431 21.3431 12 23 12Z" fill="#44F1A6"/>
<path d="M20.5 23C20.2239 23 20 23.2239 20 23.5V32.5C20 32.7761 20.2239 33 20.5 33C20.7761 33 21 32.7761 21 32.5V23.5C21 23.2239 20.7761 23 20.5 23Z" fill="#44F1A6"/>
<path d="M28.5 23C28.2239 23 28 23.2239 28 23.5V32.5C28 32.7761 28.2239 33 28.5 33C28.7761 33 29 32.7761 29 32.5V23.5C29 23.2239 28.7761 23 28.5 23Z" fill="#44F1A6"/>
<path d="M24.5 23C24.2239 23 24 23.2239 24 23.5V32.5C24 32.7761 24.2239 33 24.5 33C24.7761 33 25 32.7761 25 32.5V23.5C25 23.2239 24.7761 23 24.5 23Z" fill="#44F1A6"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M34 33C34 35.2091 32.2091 37 30 37H19C16.7909 37 15 35.2091 15 33V19H34V33ZM19 36C17.3431 36 16 34.6569 16 33V20H33V33C33 34.6569 31.6569 36 30 36H19Z" fill="#44F1A6"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 8C0 3.58172 3.58172 0 8 0H40C44.4183 0 48 3.58172 48 8V40C48 44.4183 44.4183 48 40 48H8C3.58172 48 0 44.4183 0 40V8ZM8 1H40C43.866 1 47 4.13401 47 8V40C47 43.866 43.866 47 40 47H8C4.13401 47 1 43.866 1 40V8C1 4.13401 4.13401 1 8 1Z" fill="#44F1A6"/>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

@ -0,0 +1,4 @@
<svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M24 8C32.8366 8 40 15.1634 40 24C40 32.8366 32.8366 40 24 40C15.1634 40 8 32.8366 8 24C8 15.1634 15.1634 8 24 8ZM24 39C26.2922 39 28.5187 37.5107 30.2231 34.7837C30.5801 34.2125 30.9099 33.5926 31.2081 32.9302C29.0419 33.6145 26.593 34 24 34C21.407 34 18.9581 33.6145 16.7919 32.9302C17.0901 33.5926 17.4199 34.2125 17.7769 34.7837C19.4813 37.5107 21.7078 39 24 39ZM24 33C26.8305 33 29.4621 32.5228 31.7053 31.7053C32.5228 29.4621 33 26.8305 33 24C33 21.1695 32.5228 18.5379 31.7053 16.2947C29.4621 15.4772 26.8305 15 24 15C21.1695 15 18.5379 15.4772 16.2947 16.2947C15.4772 18.5379 15 21.1695 15 24C15 26.8305 15.4772 29.4621 16.2947 31.7053C18.5379 32.5228 21.1695 33 24 33ZM28.4572 38.3267C30.1116 37.0065 31.5051 34.9744 32.4811 32.4811C34.9744 31.5051 37.0065 30.1116 38.3267 28.4572C36.8661 33.1569 33.1569 36.8661 28.4572 38.3267ZM19.5428 9.67335C14.8431 11.1339 11.1339 14.8431 9.67335 19.5427C10.9935 17.8884 13.0256 16.4949 15.5189 15.5189C16.4949 13.0256 17.8884 10.9935 19.5428 9.67335ZM17.7769 13.2163C17.4199 13.7875 17.0901 14.4074 16.7919 15.0698C18.9581 14.3855 21.407 14 24 14C26.593 14 29.0419 14.3855 31.2081 15.0698C30.9099 14.4074 30.5801 13.7875 30.2231 13.2163C28.5187 10.4893 26.2922 9 24 9C21.7078 9 19.4813 10.4893 17.7769 13.2163ZM28.4572 9.67335C30.1116 10.9935 31.5051 13.0256 32.4811 15.5189C34.9744 16.4949 37.0065 17.8884 38.3267 19.5428C36.8661 14.8431 33.1569 11.1339 28.4572 9.67335ZM34.7837 17.7769C34.2125 17.4199 33.5926 17.0901 32.9302 16.7919C33.6145 18.9581 34 21.407 34 24C34 26.593 33.6145 29.0419 32.9302 31.2081C33.5926 30.9099 34.2125 30.5801 34.7837 30.2231C37.5107 28.5187 39 26.2922 39 24C39 21.7078 37.5107 19.4813 34.7837 17.7769ZM13.2163 17.7769C13.7875 17.4199 14.4074 17.0901 15.0698 16.7919C14.3855 18.9581 14 21.407 14 24C14 26.593 14.3855 29.0419 15.0698 31.2081C14.4074 30.9099 13.7875 30.5801 13.2163 30.2231C10.492 28.5204 9.00291 26.2966 9 24.0067L9 24C9 21.7078 10.4893 19.4813 13.2163 17.7769ZM9.67335 28.4572C10.9935 30.1116 13.0256 31.5051 15.5189 32.4811C16.4949 34.9744 17.8884 37.0065 19.5428 38.3267C14.8431 36.8661 11.1339 33.1568 9.67335 28.4572Z" fill="#44F1A6"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 8C0 3.58172 3.58172 0 8 0H40C44.4183 0 48 3.58172 48 8V40C48 44.4183 44.4183 48 40 48H8C3.58172 48 0 44.4183 0 40V8ZM8 1H40C43.866 1 47 4.13401 47 8V40C47 43.866 43.866 47 40 47H8C4.13401 47 1 43.866 1 40V8C1 4.13401 4.13401 1 8 1Z" fill="#44F1A6"/>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

@ -0,0 +1,7 @@
<svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M12.3674 33.0686C12.7495 32.8586 13.1802 32.7468 13.6282 32.7468C14.3293 32.7468 14.9885 33.0198 15.4844 33.5156C15.9802 34.0112 16.2532 34.6707 16.2532 35.3716C16.2532 36.0728 15.9802 36.7322 15.4844 37.2278C14.9885 37.7236 14.3293 37.9968 13.6282 37.9968C12.927 37.9968 12.2678 37.7236 11.7722 37.2278C11.2764 36.7322 11.0032 36.073 11.0032 35.3718C11.0032 34.8457 11.157 34.3433 11.4431 33.9158C9.2207 31.1033 8 27.595 8 24C8 19.7263 9.66431 15.7083 12.6863 12.6863C15.7083 9.66431 19.7263 8 24 8C25.0718 8 26.1433 8.10669 27.1851 8.31714C27.5234 8.38574 27.7422 8.71533 27.6738 9.05371C27.6055 9.39209 27.2754 9.61084 26.9375 9.54248C25.9771 9.34839 24.9888 9.25 24 9.25C15.8667 9.25 9.25 15.8667 9.25 24C9.25 27.2834 10.3547 30.4885 12.3674 33.0686ZM13.6282 36.7468C13.9954 36.7468 14.3408 36.6038 14.6003 36.344C14.8601 36.0842 15.0032 35.739 15.0032 35.3718C15.0032 35.0044 14.8601 34.6592 14.6003 34.3994C14.3406 34.1399 13.9954 33.9968 13.6282 33.9968C13.261 33.9968 12.9155 34.1396 12.656 34.3994C12.3962 34.6592 12.2532 35.0044 12.2532 35.3718C12.2532 35.739 12.3962 36.0842 12.656 36.344C12.9158 36.6038 13.261 36.7468 13.6282 36.7468Z" fill="#44F1A6"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M36.228 10.772C37.1267 11.6707 37.2358 13.0642 36.5564 14.0835C38.7791 16.8962 40 20.4048 40 24C40 28.2737 38.3357 32.2917 35.3137 35.3137C32.2917 38.3357 28.2737 40 24 40C22.9387 40 21.8772 39.8953 20.8452 39.689C20.5068 39.6211 20.2874 39.292 20.355 38.9534C20.4229 38.615 20.7522 38.3955 21.0906 38.4631C22.042 38.6536 23.021 38.75 24 38.75C32.1333 38.75 38.75 32.1333 38.75 24C38.75 20.7166 37.6453 17.5117 35.6326 14.9314C35.2505 15.1414 34.8198 15.2532 34.3718 15.2532C33.6707 15.2532 33.0115 14.9802 32.5156 14.4844C32.0198 13.9885 31.7468 13.3293 31.7468 12.6282C31.7468 11.927 32.0198 11.2678 32.5156 10.772C33.0115 10.2764 33.6707 10.0032 34.3718 10.0032C35.073 10.0032 35.7322 10.2764 36.228 10.772ZM32.9968 12.6282C32.9968 12.9956 33.1399 13.3408 33.3997 13.6006C33.6592 13.8601 34.0044 14.0032 34.3718 14.0032C34.739 14.0032 35.0845 13.8601 35.3442 13.6006C35.8801 13.0645 35.8801 12.1921 35.3442 11.656C35.0845 11.3962 34.739 11.2532 34.3718 11.2532C34.0046 11.2532 33.6592 11.3962 33.3997 11.656C33.1399 11.9158 32.9968 12.261 32.9968 12.6282Z" fill="#44F1A6"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M24 18.8357C26.8477 18.8357 29.1643 21.1523 29.1643 24C29.1643 26.8477 26.8477 29.1643 24 29.1643C21.1523 29.1643 18.8357 26.8477 18.8357 24C18.8357 21.1523 21.1523 18.8357 24 18.8357ZM24 20.0857C21.8416 20.0857 20.0857 21.8416 20.0857 24C20.0857 26.1584 21.8416 27.9143 24 27.9143C26.1584 27.9143 27.9143 26.1582 27.9143 24C27.9143 21.8418 26.1584 20.0857 24 20.0857Z" fill="#44F1A6"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M21.4209 34.75C21.4209 35.0952 21.7009 35.375 22.0459 35.375H25.9539C26.2991 35.375 26.5789 35.0952 26.5789 34.75V33.5383C27.4006 33.3171 28.1863 32.9915 28.9246 32.5662L29.78 33.4216C29.8972 33.5388 30.0562 33.6047 30.2222 33.6047C30.3877 33.6047 30.5469 33.5388 30.6641 33.4214L33.4263 30.6572C33.6702 30.4131 33.6702 30.0173 33.4263 29.7734L32.5718 28.9189C32.9971 28.1807 33.3228 27.395 33.5439 26.5732H34.751C35.0962 26.5732 35.376 26.2935 35.376 25.9482V22.0403C35.376 21.6951 35.0962 21.4153 34.751 21.4153H33.5437C33.3225 20.5938 32.9971 19.8081 32.5718 19.0698L33.4216 18.22C33.5388 18.1028 33.6047 17.9436 33.6047 17.7778C33.6045 17.6121 33.5386 17.4529 33.4214 17.3357L30.657 14.5735C30.4131 14.3296 30.0173 14.3296 29.7732 14.5737L28.9246 15.4226C28.1863 14.9973 27.4006 14.6716 26.5789 14.4504V13.25C26.5789 12.9048 26.2991 12.625 25.9539 12.625H22.0459C21.7009 12.625 21.4209 12.9048 21.4209 13.25V14.4507C20.5994 14.6716 19.8137 14.9973 19.0754 15.4226L18.2266 14.5737C17.9827 14.3298 17.5869 14.3296 17.3428 14.5735L14.5786 17.3359C14.4612 17.4531 14.3953 17.6121 14.3953 17.7778C14.3953 17.9436 14.4612 18.1028 14.5784 18.22L15.4282 19.0698C15.0029 19.8081 14.6772 20.5935 14.4561 21.4153H13.2512C12.906 21.4153 12.6262 21.6951 12.6262 22.04L12.624 25.948C12.6238 26.1138 12.6897 26.2729 12.8069 26.3901C12.9241 26.5073 13.083 26.5732 13.249 26.5732H14.4561C14.6772 27.395 15.0029 28.1807 15.4282 28.9189L14.5737 29.7734C14.3298 30.0173 14.3296 30.4131 14.5737 30.6572L17.3359 33.4214C17.4531 33.5386 17.6121 33.6047 17.7778 33.6047C17.9436 33.6047 18.1028 33.5388 18.22 33.4216L19.0752 32.5662C19.8137 32.9915 20.5994 33.3171 21.4209 33.5383V34.75ZM19.3203 31.2517C19.073 31.0918 18.7476 31.1265 18.5391 31.3347L17.7781 32.0957L15.8994 30.2156L16.6597 29.4551C16.8679 29.2468 16.9026 28.9214 16.7427 28.6741C16.176 27.7971 15.7776 26.8359 15.5588 25.8169C15.4968 25.5291 15.2424 25.3232 14.9478 25.3232H13.8743L13.8757 22.6653H14.9478C15.2424 22.6653 15.4968 22.4597 15.5588 22.1716C15.7776 21.1528 16.176 20.1917 16.7427 19.3147C16.9026 19.0674 16.8679 18.7419 16.6597 18.5337L15.9043 17.7781L17.7844 15.8994L18.5391 16.6543C18.7476 16.8625 19.0728 16.897 19.3203 16.7373C20.197 16.1707 21.1582 15.7722 22.1772 15.5535C22.4651 15.4915 22.6709 15.2368 22.6709 14.9424V13.875H25.3289V14.9421C25.3289 15.2368 25.5344 15.4915 25.8225 15.5532C26.8413 15.7722 27.8027 16.1704 28.6794 16.7371C28.9268 16.897 29.2522 16.8625 29.4605 16.6541L30.2153 15.8994L32.0955 17.7781L31.3401 18.5334C31.1316 18.7419 31.0972 19.0674 31.2571 19.3147C31.8237 20.1917 32.2219 21.1528 32.4409 22.1716C32.5027 22.4597 32.7573 22.6653 33.052 22.6653H34.126V25.3232H33.052C32.7573 25.3232 32.5029 25.5291 32.4409 25.8169C32.2222 26.8357 31.8237 27.7971 31.2571 28.6738C31.0972 28.9214 31.1318 29.2468 31.3401 29.4551L32.1003 30.2153L30.2217 32.0955L29.4607 31.3347C29.2522 31.1262 28.9268 31.0918 28.6794 31.2517C27.8025 31.8184 26.8413 32.2166 25.8225 32.4355C25.5344 32.4976 25.3289 32.752 25.3289 33.0466V34.125H22.6709V33.0466C22.6709 32.7522 22.4651 32.4976 22.1772 32.4355C21.1584 32.2168 20.1973 31.8184 19.3203 31.2517Z" fill="#44F1A6"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 8C0 3.58172 3.58172 0 8 0H40C44.4183 0 48 3.58172 48 8V40C48 44.4183 44.4183 48 40 48H8C3.58172 48 0 44.4183 0 40V8ZM8 1H40C43.866 1 47 4.13401 47 8V40C47 43.866 43.866 47 40 47H8C4.13401 47 1 43.866 1 40V8C1 4.13401 4.13401 1 8 1Z" fill="#44F1A6"/>
</svg>

After

Width:  |  Height:  |  Size: 6.2 KiB

@ -0,0 +1,4 @@
<svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M9.32325 8.35802L7.48313 13.7557L8.48797 18.727L7.56089 19.5768L8.57538 20.2176L7.90578 20.7915L8.87595 21.7078L8.32033 22.1624L9.8372 23.922L7.85763 30.5562L10.2276 37.9624L17.4056 35.9997L21.6979 39.5408H26.9698L30.7807 36.052L37.7179 37.7304L40.0885 30.5593L38.1114 23.8797L39.6914 22.1781L39.1101 21.6937L40.0636 20.9521L39.3176 20.2593L40.3409 19.5202L39.3127 18.7123L40.522 13.9276L38.619 8.58697L28.0541 12.1463H19.8964L9.32325 8.35802ZM9.40034 20.8275L10.2546 20.0954L9.20101 19.43L9.58005 19.0825L8.51687 13.8225L9.88333 9.81425L20.8972 18.0995L16.6908 21.4455L10.5633 23.2327L9.7477 22.2866L10.3894 21.7616L9.40034 20.8275ZM19.4164 13.0365L12.569 10.5832L20.698 16.6982L19.4164 13.0365ZM17.3188 22.2237L21.2729 19.0784L21.6177 24.8095L16.0523 24.6342L17.3188 22.2237ZM16.4847 25.6484L21.5555 25.8081L21.2656 27.4266L20.6335 26.1941L18.1743 27.3379L16.4847 25.6484ZM19.4684 27.8389L20.5151 28.1545L20.1828 27.5066L19.4684 27.8389ZM18.568 30.6917V28.6118L21.0804 29.3695L22.0625 33.298L21.9245 33.3769L18.568 30.6917ZM25.4723 33.0442H23.1105L22.2092 17.9889L20.5143 13.1463H27.4576L25.9518 18.0036L25.6772 25.3077L25.677 25.3133L25.4723 33.0442ZM27.3823 16.7663L28.5379 13.0385L35.5089 10.69L27.3823 16.7663ZM27.2568 18.1088L38.0695 10.024L39.478 13.9771L38.1839 19.0972L38.6795 19.4866L37.7437 20.1625L38.5214 20.8847L37.5158 21.6668L38.2406 22.2709L37.3954 23.1811L31.1516 21.3386L27.2568 18.1088ZM32.1085 22.6636L37.1488 24.1509L38.9026 30.0761L33.8903 30.2689L33.8855 30.2691L30.9707 30.3535L33.6666 24.9617L32.1085 22.6636ZM34.1798 31.2585L38.8637 31.0784L37.0576 36.5418L31.5065 35.1987C31.7358 34.8763 32.0293 34.4513 32.3464 33.9865C32.96 33.087 33.6674 32.0301 34.1798 31.2585ZM31.5203 33.423C31.3357 33.6935 31.1603 33.9488 31.0018 34.177L30.7037 31.3617L32.9531 31.2965C32.5058 31.9668 31.9856 32.7408 31.5203 33.423ZM27.7016 33.8074L29.757 31.9177L30.0554 34.7356L27.7016 33.8074ZM27.3591 34.7472L29.7116 35.675L27.507 37.6933L27.6064 37.0968L27.3591 34.7472ZM26.5118 37.5816L26.3519 38.5408H22.2897L22.1032 37.5816H26.5118ZM18.5353 35.6353L21.1207 37.7683L20.9907 37.0993L21.2844 34.7075L18.5353 35.6353ZM18.457 31.8835L20.8507 33.7984L18.115 34.7217L18.457 31.8835ZM17.5068 31.4103L17.1838 34.0909L15.246 31.3214L17.5068 31.4103ZM9.07478 31.0787L13.991 31.272L16.7071 35.1539L10.888 36.7451L9.07478 31.0787ZM10.7959 24.2065L9.04426 30.0767L17.2534 30.3995L14.6779 25.1L15.9349 22.7076L10.7959 24.2065ZM16.9881 27.566L17.568 28.7592V28.1459L16.9881 27.566ZM22.0618 36.5816L22.3433 34.2893L22.7722 34.0442H25.8342L26.306 34.2959L26.5466 36.5816H22.0618ZM26.5153 33.2742L26.698 33.3716L29.6617 30.647L29.7745 28.6171L27.2132 29.3658L26.5153 33.2742ZM31.8737 25.5579L30.1884 27.3424L27.5044 26.2003L27.0048 27.2829L26.7612 25.7995L31.8737 25.5579ZM32.1743 24.5426L26.697 24.8014L26.9105 19.1207L30.5376 22.1286L32.1743 24.5426ZM30.802 28.1491L31.1268 27.8052L30.7829 28.493L30.802 28.1491ZM28.0058 27.5004L27.69 28.1846L28.8303 27.8512L28.0058 27.5004Z" fill="#44F1A6"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 8C0 3.58172 3.58172 0 8 0H40C44.4183 0 48 3.58172 48 8V40C48 44.4183 44.4183 48 40 48H8C3.58172 48 0 44.4183 0 40V8ZM8 1H40C43.866 1 47 4.13401 47 8V40C47 43.866 43.866 47 40 47H8C4.13401 47 1 43.866 1 40V8C1 4.13401 4.13401 1 8 1Z" fill="#44F1A6"/>
</svg>

After

Width:  |  Height:  |  Size: 3.4 KiB

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="60" height="40">
<path fill="#FFF" fill-rule="evenodd" d="M30 40C16.364 40 4.718 31.707 0 20 4.718 8.293 16.364 0 30 0c13.65 0 25.282 8.293 30 20-4.718 11.707-16.35 20-30 20zm0-33.333c-7.527 0-13.636 5.973-13.636 13.333S22.473 33.333 30 33.333c7.527 0 13.636-5.973 13.636-13.333S37.527 6.667 30 6.667zM30 28c-4.514 0-8.182-3.587-8.182-8s3.668-8 8.182-8c4.513 0 8.182 3.587 8.182 8S34.514 28 30 28z"/>
</svg>

After

Width:  |  Height:  |  Size: 459 B

@ -0,0 +1,3 @@
<svg width="16" height="18" viewBox="0 0 16 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 4.99595V13.0041C0 13.3322 0.176285 13.6357 0.462898 13.8009L7.53086 17.8747C7.82082 18.0418 8.17919 18.0418 8.46914 17.8747L15.5371 13.8009C15.8237 13.6357 16 13.3322 16 13.0041V4.99595C16 4.66775 15.8237 4.36429 15.5371 4.1991L8.46914 0.125341C8.17919 -0.0417807 7.82081 -0.0417802 7.53086 0.125342L0.462898 4.1991C0.176284 4.36429 0 4.66775 0 4.99595ZM7.76491 1.22044L1.3183 4.94719C1.17529 5.02987 1.08738 5.18143 1.08738 5.34532V11.4621L4.43993 5.9761C4.72129 5.5157 5.22546 5.23438 5.76923 5.23438H7.68932L2.4151 13.6869L2.98792 14.018L8.38835 5.23438H11.0291L5.10898 15.2442L7.76491 16.7796C7.91015 16.8635 8.08985 16.8635 8.23509 16.7796L10.5917 15.4172L8.07767 11.6129L9.5534 9.07684L12.8316 14.1224L13.4174 13.7837L10.0971 8.30835L11.3398 6.07972L14.9126 11.2783V5.34532C14.9126 5.18143 14.8247 5.02987 14.6817 4.94719L8.2351 1.22044C8.08985 1.13647 7.91015 1.13647 7.76491 1.22044Z" fill="#44F1A6"/>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

@ -0,0 +1,3 @@
<svg width="13" height="18" viewBox="0 0 13 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M10.3057 11.3047L7.02586 14.586V1C7.02586 0.447716 6.57815 0 6.02586 0C5.47358 0 5.02586 0.447716 5.02586 1V14.5616L1.71953 11.2537C1.3291 10.8631 0.695354 10.8638 0.304921 11.2544C-0.0855112 11.645 -0.0862427 12.2791 0.30419 12.6697L5.20862 17.5764C5.38969 17.8327 5.68824 18 6.02586 18C6.23733 18 6.43347 17.9344 6.59501 17.8223C6.6482 17.7866 6.69872 17.7453 6.74572 17.6982C6.76367 17.6803 6.78079 17.6618 6.79709 17.6429L11.719 12.7187C12.1093 12.3282 12.1093 11.6951 11.719 11.3047C11.3287 10.9142 10.6959 10.9142 10.3057 11.3047Z" fill="#44F1A6"/>
</svg>

After

Width:  |  Height:  |  Size: 707 B

@ -0,0 +1,3 @@
<svg width="14" height="12" viewBox="0 0 14 12" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0.293024 6.87611C-0.0957161 6.49661 -0.0976703 5.88248 0.287192 5.50063L0.295009 5.49291L5.62915 0.285644C6.01988 -0.0958026 6.6543 -0.0949233 7.04506 0.286531C7.43581 0.667979 7.4367 1.28732 7.04597 1.66877L3.41583 5.21255L12.9994 5.21254C13.552 5.21254 14 5.64986 14 6.18932C14 6.72877 13.552 7.16609 12.9994 7.16609L3.4198 7.16609L6.66359 10.3327C7.05428 10.7141 7.05428 11.3325 6.66359 11.7139C6.27286 12.0954 5.63941 12.0954 5.24872 11.7139L0.293024 6.87611Z" fill="#44F1A6"/>
</svg>

After

Width:  |  Height:  |  Size: 595 B

@ -0,0 +1,3 @@
<svg width="16" height="18" viewBox="0 0 16 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M2.99765 3.41452L1.71784 4.69519C1.32757 5.08573 0.694743 5.08576 0.304431 4.69527C-0.0858223 4.30483 -0.0858563 3.67182 0.304355 3.28134L3.22535 0.358352C3.24195 0.339009 3.25941 0.320151 3.27772 0.301829C3.3244 0.255123 3.37457 0.213992 3.42737 0.178437C3.58913 0.0659449 3.78569 0 3.99765 0C4.33554 0 4.63428 0.16758 4.81531 0.42416L7.71947 3.3303C8.10983 3.72092 8.10907 4.35491 7.71867 4.7455C7.32821 5.13614 6.6944 5.13684 6.30398 4.74615L4.99765 3.43894V10C4.99765 10.5523 4.54993 11 3.99765 11C3.44536 11 2.99765 10.5523 2.99765 10V3.41452ZM13.0141 14.5855L14.2939 13.3048C14.6841 12.9143 15.317 12.9142 15.7073 13.3047C16.0975 13.6952 16.0976 14.3282 15.7074 14.7187L12.7864 17.6416C12.7698 17.661 12.7523 17.6798 12.734 17.6982C12.6873 17.7449 12.6372 17.786 12.5843 17.8216C12.4226 17.9341 12.226 18 12.0141 18C11.6762 18 11.3774 17.8324 11.1964 17.5758L8.29225 14.6697C7.90188 14.2791 7.90265 13.6451 8.29305 13.2545C8.68351 12.8639 9.31732 12.8632 9.70774 13.2538L11.0141 14.5611L11.0141 8C11.0141 7.44772 11.4618 7 12.0141 7C12.5664 7 13.0141 7.44772 13.0141 8L13.0141 14.5855Z" fill="#6B6B6B"/>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="24" height="24" viewBox="0 0 24 24"><path d="M13,20H11V8L5.5,13.5L4.08,12.08L12,4.16L19.92,12.08L18.5,13.5L13,8V20Z" /></svg>

After

Width:  |  Height:  |  Size: 216 B

@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" width="184" height="164">
<path fill="#94FEBF" fill-rule="evenodd" d="M140 164H80l44-82L80 0h60l44 82-44 82z"/>
<path fill="#94FEBF" fill-rule="evenodd" d="M70 164H30l44-82L30 0h40l44 82-44 82z" opacity=".502"/>
<path fill="#94FEBF" fill-rule="evenodd" d="M20 164H0l44-82L0 0h20l44 82-44 82z" opacity=".2"/>
</svg>

After

Width:  |  Height:  |  Size: 367 B

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 11 KiB

@ -0,0 +1,3 @@
<svg width="18" height="16" viewBox="0 0 18 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M13.5032 9.81773C13.9433 9.05868 14.6535 9.05868 15.0936 9.81773L17.8343 14.6217C18.2744 15.3808 17.9143 16 17.0341 16H11.5127C10.6425 16 10.2824 15.3808 10.7125 14.6217L13.5032 9.81773ZM8.20189 0.569288C8.642 -0.189763 9.34217 -0.189763 9.78228 0.569288L10.3924 1.66792L11.8328 4.19476C12.1829 4.91386 12.1829 5.7628 11.8328 6.4819L7.0016 14.8414C6.56149 15.5206 5.83131 15.9501 5.02111 16H1.01013C0.12991 16 -0.230178 15.3908 0.20993 14.6217L8.20189 0.569288Z" fill="#4FB2F9"/>
</svg>

After

Width:  |  Height:  |  Size: 592 B

@ -0,0 +1,4 @@
<svg width="18" height="18" viewBox="0 0 18 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M5.50426 7.56374L9 4.068L12.4974 7.56526L14.5314 5.53126L9 0L3.4704 5.5296L5.50433 7.5636L5.50426 7.56374ZM0 9L2.03407 6.96564L4.068 8.99957L2.03393 11.0336L0 9ZM5.50426 10.4365L9 13.932L12.4973 10.4348L14.5324 12.4677L14.5314 12.4688L9 18L3.4704 12.4704L3.46752 12.4675L5.50447 10.4363L5.50426 10.4365ZM13.932 9.00086L15.9661 6.96679L18 9.00072L15.966 11.0348L13.932 9.00086Z" fill="#44F1A6"/>
<path d="M11.0629 8.99895H11.0638L9 6.935L7.47454 8.46003L7.29929 8.63535L6.93785 8.99686L6.93497 8.99967L6.93785 9.00262L9 11.0651L11.064 9.00111L11.065 8.99996L11.0631 8.99895" fill="#44F1A6"/>
</svg>

After

Width:  |  Height:  |  Size: 703 B

@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19 19">
<path fill-rule="evenodd" clip-rule="evenodd" d="M0.8,9.4c-0.4,0.4-0.4,1,0,1.4l4.9,4.9C5.9,15.9,6.2,16,6.5,16c0.2,0,0.5-0.1,0.7-0.3L18.2,4.7
c0.4-0.4,0.4-1,0-1.4c-0.4-0.4-1-0.4-1.4,0L6.4,13.6L2.2,9.4C1.8,9,1.2,9,0.8,9.4z"/>
</svg>

After

Width:  |  Height:  |  Size: 293 B

@ -0,0 +1,3 @@
<svg width="9" height="7" viewBox="0 0 9 7" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0.252191 2.83146C-0.114479 3.24449 -0.0768985 3.87651 0.336134 4.24318L2.57963 6.23484C2.99266 6.60151 3.62468 6.56393 3.99135 6.1509L7.97468 1.66391C8.34135 1.25088 8.30377 0.618861 7.89074 0.252191C7.4777 -0.114479 6.84569 -0.0768985 6.47902 0.336134L3.15957 4.07529L1.66391 2.74752C1.25088 2.38085 0.618861 2.41843 0.252191 2.83146Z" fill="#000"/>
</svg>

After

Width:  |  Height:  |  Size: 460 B

@ -0,0 +1 @@
<svg width="13" height="8" viewBox="0 0 13 8" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12 7L6.5 0.999999L0.999999 7" stroke="#EEEEEE" stroke-linecap="round" stroke-linejoin="round"/></svg>

After

Width:  |  Height:  |  Size: 205 B

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12">
<path fill="#000403" fill-rule="evenodd" d="M7.349 5.998l3.364 3.364a.955.955 0 0 1-1.351 1.351L5.998 7.349l-3.365 3.365a.952.952 0 1 1-1.347-1.347l3.365-3.365-3.394-3.394a.955.955 0 0 1 1.351-1.351l3.394 3.394 3.364-3.364a.952.952 0 1 1 1.347 1.347L7.349 5.998z"/>
</svg>

After

Width:  |  Height:  |  Size: 341 B

@ -0,0 +1,4 @@
<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M13 10C12.4477 10 12 9.55231 12 9V2H5C4.44769 2 4 1.55231 4 1C4 0.447693 4.44769 0 5 0H13C13.5523 0 14 0.447693 14 1V9C14 9.55231 13.5523 10 13 10Z" fill="#000403"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M1 4C0.447693 4 0 4.44769 0 5V13C0 13.5523 0.447693 14 1 14H9C9.55231 14 10 13.5523 10 13V5C10 4.44769 9.55231 4 9 4H1ZM8 12V6H2V12H8Z" fill="#000403"/>
</svg>

After

Width:  |  Height:  |  Size: 480 B

@ -0,0 +1 @@
<svg aria-hidden="true" focusable="false" data-prefix="far" data-icon="unlock-alt" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512" class="svg-inline--fa fa-unlock-alt fa-w-14 fa-lg"><path fill="currentColor" d="M400 240H128v-94.8c0-52.8 42.1-96.7 95-97.2 53.4-.6 97 42.7 97 96v24c0 13.3 10.7 24 24 24s24-10.7 24-24v-22.6C368 65.8 304 .2 224.3 0 144.8-.2 80 64.5 80 144v96H48c-26.5 0-48 21.5-48 48v176c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V288c0-26.5-21.5-48-48-48zm0 224H48V288h352v176zm-176-32c-15.5 0-28-12.5-28-28v-56c0-15.5 12.5-28 28-28s28 12.5 28 28v56c0 15.5-12.5 28-28 28z" class=""></path></svg>

After

Width:  |  Height:  |  Size: 632 B

@ -0,0 +1,4 @@
<svg width="10" height="18" viewBox="0 0 10 18" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M5 0L0 9L5 11L10 9L5 0Z" fill="#44F1A6"/>
<path d="M0 10L5 12L10 10L5 18L0 10Z" fill="#44F1A6"/>
</svg>

After

Width:  |  Height:  |  Size: 217 B

3
assets/img/icons/eye.svg Normal file

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="8">
<path fill-rule="evenodd" d="M6 8C3.391 8 1.194 6.325.367 4 1.194 1.675 3.391 0 6 0s4.806 1.675 5.633 4C10.806 6.325 8.609 8 6 8zm0-6a2 2 0 1 0-.001 3.999A2 2 0 0 0 6 2z"/>
</svg>

After

Width:  |  Height:  |  Size: 247 B

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2000 2000"><g fill="#44F1A6 "><path d="m1809.4 500l-73.6 73.6c58.5 92 76.9 207.4 36.8 317.7-66.9 187.3-274.2 286-463.2 219.1-26.8-10-51.8-21.7-73.6-36.8l-235.8 235.8-205.7-207.4c-95.3 63.5-217.4 81.9-332.8 41.8-194-70.2-294.3-282.6-224.1-474.9 10-30.1 25.1-56.9 41.8-81.9l-88.6-88.6-16.7 28.4c-92 150.5-142.1 324.4-142.1 503.3-1.7 533.4 433.1 969.9 966.5 969.9h1.7c533.4 0 966.6-433.1 968.2-966.6 0-177.3-48.5-351.2-140.5-503.3l-18.3-30.1"/><path d="m388 695.7c-25.1 33.4-40.1 75.3-40.1 120.4 0 108.7 88.6 197.3 197.3 197.3 45.2 0 87-15.1 120.4-41.8l-277.6-275.9"/><path d="m1356.2 954.8c31.8 21.7 68.6 33.4 110.4 33.4 108.7 0 197.3-88.6 197.3-197.3 0-40.1-11.7-78.6-33.4-110.4l-274.3 274.3"/><path d="m1003.3 1162.2l-799.3-802.7 31.8-33.4c197.3-209 466.5-326.1 755.8-326.1h1.7c292.6 0 573.6 125.4 769.2 342.8l30.1 33.4-789.3 786m-668.8-802.7l668.9 670.6 660.5-657.2c-177.3-177.2-418.1-279.3-668.9-279.3h-1.7c-249.2 0-481.6 93.7-658.8 265.9"/></g></svg>

After

Width:  |  Height:  |  Size: 1008 B

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 18 19">
<path fill="#44F1A6" d="M4.908 14.417a4.556 4.556 0 01-1.879-.4 4.878 4.878 0 01-1.558-1.11A5.5 5.5 0 01.4 11.243 5.27 5.27 0 010 9.182c0-.73.133-1.415.4-2.054a5.475 5.475 0 011.07-1.67 4.88 4.88 0 011.56-1.112 4.557 4.557 0 011.878-.4c.564 0 1.092.096 1.582.288.496.187.93.44 1.303.76.378.314.698.679.96 1.095.266.415.457.847.575 1.294H7.689a3.37 3.37 0 00-.368-.767 2.486 2.486 0 00-.591-.655 2.891 2.891 0 00-.807-.448 2.799 2.799 0 00-1.015-.176c-.427 0-.842.096-1.247.288-.4.186-.757.453-1.071.8-.31.34-.56.745-.752 1.214a4.036 4.036 0 00-.287 1.543c0 .554.096 1.066.287 1.534.192.47.443.877.752 1.223.314.341.671.608 1.07.8.406.191.821.287 1.248.287a3.05 3.05 0 001.119-.2 3.03 3.03 0 001.559-1.35c.17-.31.287-.637.351-.983h-3.11V9.014h4.58v5.323H8.266l-.408-.983a3.352 3.352 0 01-.775.544c-.25.133-.56.253-.927.36-.363.106-.778.16-1.247.16zM16.53 10.652a2.52 2.52 0 00-.177-.959 2.757 2.757 0 00-.447-.751 1.885 1.885 0 00-.656-.488 1.792 1.792 0 00-.767-.175c-.261 0-.517.058-.767.175-.25.118-.47.28-.656.488a2.511 2.511 0 00-.447.751 2.52 2.52 0 00-.176.96c0 .351.059.67.176.959.117.287.266.538.447.751.187.213.405.378.656.496.25.117.506.173.767.167a1.863 1.863 0 001.423-.663c.186-.213.336-.464.447-.751.118-.288.176-.608.176-.96zm1.47 0a4.27 4.27 0 01-.264 1.527 3.497 3.497 0 01-.76 1.183c-.319.33-.692.589-1.118.775-.426.187-.885.28-1.375.28s-.948-.093-1.375-.28a3.487 3.487 0 01-1.119-.775 3.669 3.669 0 01-.759-1.183 4.012 4.012 0 01-.264-1.527c0-.554.088-1.06.264-1.518.181-.458.434-.855.76-1.191.32-.33.692-.589 1.118-.775.427-.187.885-.28 1.375-.28s.949.093 1.375.28c.426.186.8.445 1.119.775.32.33.573.727.76 1.19.175.46.263.965.263 1.52zM12.179 4.017H14v1.821h-1.821zM14.963 4.017h1.821v1.821h-1.821z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="10" height="12">
<path fill-rule="evenodd" d="M9 12H1a1 1 0 0 1 0-2h3V6H1a1 1 0 0 1 0-2h4a1 1 0 0 1 1 1v5h3a1 1 0 0 1 0 2zM5 2H4a1 1 0 0 1 0-2h1a1 1 0 0 1 0 2z"/>
</svg>

After

Width:  |  Height:  |  Size: 221 B

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="24" height="24" viewBox="0 0 24 24"><path d="M10.59,13.41C11,13.8 11,14.44 10.59,14.83C10.2,15.22 9.56,15.22 9.17,14.83C7.22,12.88 7.22,9.71 9.17,7.76V7.76L12.71,4.22C14.66,2.27 17.83,2.27 19.78,4.22C21.73,6.17 21.73,9.34 19.78,11.29L18.29,12.78C18.3,11.96 18.17,11.14 17.89,10.36L18.36,9.88C19.54,8.71 19.54,6.81 18.36,5.64C17.19,4.46 15.29,4.46 14.12,5.64L10.59,9.17C9.41,10.34 9.41,12.24 10.59,13.41M13.41,9.17C13.8,8.78 14.44,8.78 14.83,9.17C16.78,11.12 16.78,14.29 14.83,16.24V16.24L11.29,19.78C9.34,21.73 6.17,21.73 4.22,19.78C2.27,17.83 2.27,14.66 4.22,12.71L5.71,11.22C5.7,12.04 5.83,12.86 6.11,13.65L5.64,14.12C4.46,15.29 4.46,17.19 5.64,18.36C6.81,19.54 8.71,19.54 9.88,18.36L13.41,14.83C14.59,13.66 14.59,11.76 13.41,10.59C13,10.2 13,9.56 13.41,9.17Z" /></svg>

After

Width:  |  Height:  |  Size: 1012 B

@ -0,0 +1,3 @@
<svg width="12" height="14" viewBox="0 0 12 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M6 0C3.79086 0 2 1.79083 2 4V5H1C0.447716 5 0 5.44769 0 6V13C0 13.5523 0.447716 14 1 14H11C11.5523 14 12 13.5523 12 13V6C12 5.44769 11.5523 5 11 5H10V4C10 1.79083 8.20914 0 6 0ZM8 4V5H4V4C4 2.89545 4.89543 2 6 2C7.10457 2 8 2.89545 8 4ZM2 7V12H10V7H2ZM6 8C5.44772 8 5 8.44769 5 9V10C5 10.5523 5.44772 11 6 11C6.55228 11 7 10.5523 7 10V9C7 8.44769 6.55228 8 6 8Z" fill="#000"/>
</svg>

After

Width:  |  Height:  |  Size: 529 B

@ -0,0 +1,3 @@
<svg width="18" height="16" viewBox="0 0 18 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M0 2.50064L1.07368 0L6.56842 1.97205H11.3895L16.9263 0L18 2.50064L16.6316 8.05083L17.8316 11.69L16.6316 15.4917L12.7579 14.3939L10.3579 16H7.68421L5.24211 14.3939L1.36842 15.4917L0.147368 11.69L1.38947 7.88818L0 2.50064ZM1.45258 0.650711L0.610474 2.76507L1.87363 7.50205L5.34732 6.62784L7.68416 4.71678L1.45258 0.650711ZM16.4631 0.650711L10.3368 4.71678L12.5684 6.62784L16.1263 7.50205L17.3684 2.76507L16.4631 0.650711ZM5.70521 10.1043L6.96837 9.37244L7.68416 10.7142L5.70521 10.1043ZM11.0105 9.37244L10.3368 10.7142C10.8842 10.5109 12.0168 10.1043 12.1684 10.1043C12.3199 10.1043 11.4596 9.6164 11.0105 9.37244ZM7.51574 14.3737L7.68416 13.3572L7.95784 13.0522H9.91574L10.3368 13.3572L10.4842 14.3737H7.51574Z" fill="#595959"/>
</svg>

After

Width:  |  Height:  |  Size: 880 B

@ -0,0 +1,3 @@
<svg width="15" height="3" viewBox="0 0 15 3" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M1.5 3C2.32843 3 3 2.32843 3 1.5C3 0.671573 2.32843 0 1.5 0C0.671573 0 0 0.671573 0 1.5C0 2.32843 0.671573 3 1.5 3ZM9 1.5C9 2.32843 8.32843 3 7.5 3C6.67157 3 6 2.32843 6 1.5C6 0.671573 6.67157 0 7.5 0C8.32843 0 9 0.671573 9 1.5ZM15 1.5C15 2.32843 14.3284 3 13.5 3C12.6716 3 12 2.32843 12 1.5C12 0.671573 12.6716 0 13.5 0C14.3284 0 15 0.671573 15 1.5Z" fill="#6B6B6B"/>
</svg>

After

Width:  |  Height:  |  Size: 519 B

@ -0,0 +1,3 @@
<svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M14.2886 0.146442C14.0933 -0.048806 13.7767 -0.0488222 13.5815 0.146442L7.21751 6.5104L0.853547 0.146442C0.658299 -0.048806 0.341705 -0.0488222 0.14644 0.146442C-0.0488189 0.341702 -0.0488081 0.658301 0.14644 0.853549L6.5104 7.21751L0.14644 13.5815C-0.0488189 13.7767 -0.0488081 14.0933 0.14644 14.2886C0.341689 14.4838 0.658288 14.4838 0.853547 14.2886L7.21751 7.92462L13.5815 14.2886C13.7767 14.4838 14.0933 14.4838 14.2886 14.2886C14.4838 14.0933 14.4838 13.7767 14.2886 13.5815L7.92461 7.21751L14.2886 0.853549C14.4838 0.658285 14.4838 0.341691 14.2886 0.146442Z" fill="#6B6B6B"/>
</svg>

After

Width:  |  Height:  |  Size: 697 B

@ -0,0 +1,3 @@
<svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M9.67711 0.322889C9.24659 -0.107627 8.5486 -0.107633 8.11807 0.322889L5 3.44096L1.88193 0.322889C1.45141 -0.107627 0.753411 -0.107633 0.322889 0.322889C-0.107621 0.753399 -0.107627 1.45141 0.322889 1.88193L3.44096 5L0.322889 8.11807C-0.107633 8.5486 -0.107627 9.24659 0.322889 9.67711C0.753405 10.1076 1.4514 10.1076 1.88193 9.67711L5 6.55904L8.11807 9.67711C8.54859 10.1076 9.24659 10.1076 9.67711 9.67711C10.1076 9.24659 10.1076 8.54859 9.67711 8.11807L6.55904 5L9.67711 1.88193C10.1076 1.4514 10.1076 0.753405 9.67711 0.322889Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 659 B

@ -0,0 +1,3 @@
<svg width="10" height="7" viewBox="0 0 10 7" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0.279335 2.85355C-0.0931092 3.21057 -0.0931144 3.78942 0.279335 4.14645L2.97686 6.73224C3.34931 7.08926 3.95317 7.08925 4.32562 6.73224L9.72066 1.56066C10.0931 1.20364 10.0931 0.624788 9.72066 0.267765C9.34822 -0.0892575 8.74435 -0.0892525 8.3719 0.267765L3.65124 4.79289L1.6281 2.85355C1.25565 2.49653 0.65178 2.49654 0.279335 2.85355Z" fill="#0E0E0E"/>
</svg>

After

Width:  |  Height:  |  Size: 466 B

@ -0,0 +1,3 @@
<svg width="2" height="12" viewBox="0 0 2 12" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M1 0C0.447723 0 0 0.447716 0 1V7C0 7.55229 0.447723 8 1 8C1.55228 8 2 7.55229 2 7V1C2 0.447716 1.55228 0 1 0ZM1 12C1.55228 12 2 11.5523 2 11C2 10.4477 1.55228 10 1 10C0.447723 10 0 10.4477 0 11C0 11.5523 0.447723 12 1 12Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 388 B

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M 3 4 A 1.0001 1.0001 0 0 0 2 5 L 2 7.2773438 C 1.4043659 7.6236132 1 8.2610536 1 9 L 1 23.044922 C 1 24.117922 1.8547813 24.994109 2.9257812 25.037109 C 7.7407464 25.233172 11.209143 26.128587 13.162109 26.783203 A 2 2 0 0 0 15 28 A 2 2 0 0 0 16.839844 26.783203 C 18.793103 26.128724 22.26054 25.234454 27.074219 25.039062 C 28.145219 24.995062 29 24.117922 29 23.044922 L 29 9 C 29 8.2610536 28.595634 7.6236132 28 7.2773438 L 28 5 A 1.0001 1.0001 0 0 0 27 4 C 22.425926 4 19.338409 4.5075438 17.367188 5.0332031 C 15.770049 5.4591067 15.294423 5.7861668 15 5.953125 C 14.705577 5.7861668 14.229952 5.4591067 12.632812 5.0332031 C 10.661591 4.5075438 7.5740741 4 3 4 z M 4 6.0546875 C 7.7819889 6.1315605 10.498635 6.5351831 12.117188 6.9667969 C 13.09718 7.2281282 13.652619 7.4442547 14 7.6035156 L 14 23.572266 C 12.437694 23.042425 9.1449601 22.183307 4 22.060547 L 4 6.0546875 z M 26 6.0546875 L 26 22.060547 C 20.85504 22.183307 17.562306 23.042425 16 23.572266 L 16 7.6035156 C 16.347381 7.4442547 16.90282 7.2281282 17.882812 6.9667969 C 19.501364 6.5351831 22.218011 6.1315602 26 6.0546875 z"></path></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

@ -0,0 +1,12 @@
<svg xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 30 30">
<path fill-rule="evenodd" clip-rule="evenodd" d="M2.5,21.2c1,0.8,2.4,1.1,4,1.1c2,0,3.5-0.5,4.7-1.4c1.2-0.9,2-2.3,2.5-4.2
c0.3-1.1,0.5-2.3,0.7-3.5c0.1-0.4,0.1-0.8,0.1-1.1c0-1-0.2-1.8-0.7-2.5c-0.5-0.7-1.1-1.2-2-1.6C11,7.8,10.1,7.6,9,7.6
c-3.9,0-6.3,1.9-7.2,5.6c-0.3,1.4-0.6,2.6-0.8,3.5C1,17.2,1,17.6,1,17.9C1,19.3,1.5,20.5,2.5,21.2z M8.7,18.8
c-0.5,0.5-1.2,0.7-1.9,0.7c-1.3,0-2-0.6-2-1.9c0-0.3,0-0.6,0.1-0.9c0.2-1.3,0.5-2.4,0.7-3.4c0.2-0.9,0.6-1.6,1.1-2.1
c0.5-0.5,1.2-0.7,2-0.7c1.3,0,1.9,0.6,1.9,1.9c0,0.3,0,0.6-0.1,0.9c-0.2,1-0.4,2.1-0.7,3.4C9.7,17.6,9.3,18.3,8.7,18.8z M15.1,22
c0.1,0.1,0.2,0.1,0.3,0.1h2.8c0.1,0,0.3,0,0.4-0.1c0.1-0.1,0.2-0.2,0.2-0.4l0.9-4.5h2.8c1.8,0,3.2-0.4,4.2-1.1
c1-0.8,1.7-1.9,2.1-3.5c0.1-0.4,0.1-0.7,0.1-1.1c0-1.2-0.5-2.1-1.4-2.7c-0.9-0.6-2.1-0.9-3.7-0.9h-5.5c-0.1,0-0.3,0-0.4,0.1
c-0.1,0.1-0.2,0.2-0.2,0.4l-2.8,13.3C15.1,21.8,15.1,21.9,15.1,22z M24.3,13.9c-0.4,0.3-0.9,0.5-1.5,0.5h-2.4l0.8-3.7h2.5
c0.6,0,1,0.1,1.2,0.3c0.2,0.2,0.3,0.5,0.3,0.9c0,0.2,0,0.4-0.1,0.6C25,13.1,24.7,13.6,24.3,13.9z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

@ -0,0 +1,3 @@
<svg width="18" height="18" viewBox="0 0 18 18" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M9 0C8.44771 0 8 0.447716 8 1V8L1 8C0.447715 8 0 8.44771 0 9C0 9.55228 0.447716 10 1 10H8V17C8 17.5523 8.44771 18 9 18C9.55229 18 10 17.5523 10 17V10H17C17.5523 10 18 9.55229 18 9C18 8.44771 17.5523 8 17 8L10 8V1C10 0.447715 9.55229 0 9 0Z"/>
</svg>

After

Width:  |  Height:  |  Size: 383 B

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 121.2 104.1"><defs><clipPath id="a" transform="translate(-3.7 -10)"><rect x="1.7" width="125" height="125" fill="none"/></clipPath></defs><g clip-path="url(#a)"><path d="M95.1,41.8a7.9,7.9,0,0,0-7.6,0L70.1,51.9,58.2,58.5,40.8,68.6a7.9,7.9,0,0,1-7.6,0L19.3,60.7a7.6,7.6,0,0,1-3.8-6.4V38.7a7.2,7.2,0,0,1,3.8-6.4L33,24.6a7.9,7.9,0,0,1,7.6,0l13.6,7.7A7.7,7.7,0,0,1,58,38.7V48.8L69.9,42V31.9a7.4,7.4,0,0,0-3.8-6.4L40.8,11a7.9,7.9,0,0,0-7.6,0L7.5,25.5a7,7,0,0,0-3.8,6.4V61.1a6.9,6.9,0,0,0,3.8,6.4L33.2,82a7.4,7.4,0,0,0,7.6,0l17.4-9.9,11.9-6.8,17.4-9.9a7.9,7.9,0,0,1,7.6,0l13.7,7.7a7.7,7.7,0,0,1,3.8,6.4V85.1a7.2,7.2,0,0,1-3.8,6.4L95.1,99.4a7.9,7.9,0,0,1-7.6,0L73.9,91.7a7.6,7.6,0,0,1-3.8-6.4V75.2L58.2,82V92.2A7.2,7.2,0,0,0,62,98.5l25.8,14.6a7.9,7.9,0,0,0,7.6,0l25.7-14.6a7.5,7.5,0,0,0,3.8-6.3V62.9a7.4,7.4,0,0,0-3.8-6.4Z" transform="translate(-3.7 -10)" fill="#8247e5"/></g></svg>

After

Width:  |  Height:  |  Size: 971 B

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="487.23px" height="487.23px" viewBox="0 0 487.23 487.23" style="enable-background:new 0 0 487.23 487.23;"
xml:space="preserve">
<g>
<g>
<path d="M55.323,203.641c15.664,0,29.813-9.405,35.872-23.854c25.017-59.604,83.842-101.61,152.42-101.61
c37.797,0,72.449,12.955,100.23,34.442l-21.775,3.371c-7.438,1.153-13.224,7.054-14.232,14.512
c-1.01,7.454,3.008,14.686,9.867,17.768l119.746,53.872c5.249,2.357,11.33,1.904,16.168-1.205
c4.83-3.114,7.764-8.458,7.796-14.208l0.621-131.943c0.042-7.506-4.851-14.144-12.024-16.332
c-7.185-2.188-14.947,0.589-19.104,6.837l-16.505,24.805C370.398,26.778,310.1,0,243.615,0C142.806,0,56.133,61.562,19.167,149.06
c-5.134,12.128-3.84,26.015,3.429,36.987C29.865,197.023,42.152,203.641,55.323,203.641z"/>
<path d="M464.635,301.184c-7.27-10.977-19.558-17.594-32.728-17.594c-15.664,0-29.813,9.405-35.872,23.854
c-25.018,59.604-83.843,101.61-152.42,101.61c-37.798,0-72.45-12.955-100.232-34.442l21.776-3.369
c7.437-1.153,13.223-7.055,14.233-14.514c1.009-7.453-3.008-14.686-9.867-17.768L49.779,285.089
c-5.25-2.356-11.33-1.905-16.169,1.205c-4.829,3.114-7.764,8.458-7.795,14.207l-0.622,131.943
c-0.042,7.506,4.85,14.144,12.024,16.332c7.185,2.188,14.948-0.59,19.104-6.839l16.505-24.805
c44.004,43.32,104.303,70.098,170.788,70.098c100.811,0,187.481-61.561,224.446-149.059
C473.197,326.043,471.903,312.157,464.635,301.184z"/>
</g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

@ -0,0 +1,3 @@
<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M4 1C4 0.447693 4.44769 0 5 0H9C9.55231 0 10 0.447693 10 1V3H13C13.5522 3 14 3.44769 14 4C14 4.55231 13.5522 5 13 5H12V13C12 13.5523 11.5522 14 11 14H3C2.44769 14 2 13.5523 2 13V5H1C0.447693 5 0 4.55231 0 4C0 3.44769 0.447693 3 1 3H4V1ZM8 3V2H6V3H8ZM4 5H10V12H4V5Z" fill="#000403"/>
</svg>

After

Width:  |  Height:  |  Size: 435 B

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M433.941 129.941l-83.882-83.882A48 48 0 0 0 316.118 32H48C21.49 32 0 53.49 0 80v352c0 26.51 21.49 48 48 48h352c26.51 0 48-21.49 48-48V163.882a48 48 0 0 0-14.059-33.941zM224 416c-35.346 0-64-28.654-64-64 0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64zm96-304.52V212c0 6.627-5.373 12-12 12H76c-6.627 0-12-5.373-12-12V108c0-6.627 5.373-12 12-12h228.52c3.183 0 6.235 1.264 8.485 3.515l3.48 3.48A11.996 11.996 0 0 1 320 111.48z"></path></svg>

After

Width:  |  Height:  |  Size: 528 B

@ -0,0 +1,3 @@
<svg width="17" height="15" viewBox="0 0 17 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M6.45455 6.55556L13.2727 13.5L16 10.7222L9.18182 3.77778M6.45455 6.55556L9.18182 3.77778M6.45455 6.55556L3.72727 9.33333L1 6.55556L6.45455 1H11.9091L9.18182 3.77778" stroke="black" stroke-width="2" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 336 B

@ -0,0 +1 @@
<svg height="30" width="30" xmlns="http://www.w3.org/2000/svg"><path d="m15 30c-8.284 0-15-6.716-15-15s6.716-15 15-15 15 6.716 15 15-6.716 15-15 15zm0-28c-7.18 0-13 5.82-13 13s5.82 13 13 13 13-5.82 13-13-5.82-13-13-13zm0 21a1 1 0 1 1 0-2 1 1 0 0 1 0 2zm0-5a1 1 0 0 1 -1-1v-9a1 1 0 0 1 2 0v9a1 1 0 0 1 -1 1z" fill="#adadad" fill-rule="evenodd"/></svg>

After

Width:  |  Height:  |  Size: 351 B

3
assets/img/info-line.svg Normal file

@ -0,0 +1,3 @@
<svg width="191" height="42" viewBox="0 0 191 42" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M0 41H145.858C148.51 41 151.054 39.9464 152.929 38.0711L190 1" stroke="#2A2A2A"/>
</svg>

After

Width:  |  Height:  |  Size: 196 B

3
assets/img/line.svg Normal file

@ -0,0 +1,3 @@
<svg width="742" height="86" viewBox="0 0 742 86" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1 1L65.0031 77.8037C68.8029 82.3635 74.4319 85 80.3675 85H661.633C667.568 85 673.197 82.3635 676.997 77.8037L741 1" stroke="#2A2A2A"/>
</svg>

After

Width:  |  Height:  |  Size: 250 B

1
assets/img/logo.svg Normal file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 39.9 39.9"><path d="M40,19.4A17.3,17.3,0,0,0,22.8,2.8,17.1,17.1,0,0,0,8.6,10.4,11.3,11.3,0,0,1,19.3,0,17.1,17.1,0,0,0,2.8,17.1a16.8,16.8,0,0,0,7.7,14.2A11.3,11.3,0,0,1,0,20.6a17.1,17.1,0,0,0,31.3,9A11.4,11.4,0,0,1,20.6,39.9,17.1,17.1,0,0,0,37.1,22.8,17.3,17.3,0,0,0,29.5,8.6,11.8,11.8,0,0,1,40,19.4ZM20,27.2a7.4,7.4,0,0,1-5.2-2.1,7.1,7.1,0,0,1-2-5.1A7.2,7.2,0,1,1,20,27.2Z" fill="#94febf"/></svg>

After

Width:  |  Height:  |  Size: 450 B

1
assets/img/metamask-fox.svg Executable file

@ -0,0 +1 @@
<svg viewBox="0 0 323.6 302" xmlns="http://www.w3.org/2000/svg"><g stroke-linecap="round" stroke-linejoin="round" transform="translate(1.84 .5)"><path d="m305.19 0-125.88 94.09 23.28-55.51z" fill="#e2761b" stroke="#e2761b"/><g fill="#e4761b" stroke="#e4761b"><path d="m14.6 0 124.86 95-22.14-56.42z"/><path d="m259.9 218.11-33.53 51.69 71.74 19.87 20.62-70.41z"/><path d="m1.31 219.26 20.5 70.41 71.73-19.87-33.54-51.69z"/><path d="m89.49 130.76-20 30.44 71.23 3.18-2.53-77z"/><path d="m230.3 130.76-49.3-44.31-1.65 77.93 71.1-3.18z"/><path d="m93.54 269.8 42.76-21-36.94-29z"/><path d="m183.49 248.8 42.88 21-5.94-50z"/></g><path d="m226.37 269.8-42.88-21 3.41 28.14-.38 11.84z" fill="#d7c1b3" stroke="#d7c1b3"/><path d="m93.54 269.8 39.85 19-.25-11.84 3.16-28.14z" fill="#d7c1b3" stroke="#d7c1b3"/><path d="m134 201.18-35.65-10.57 25.17-11.61z" fill="#233447" stroke="#233447"/><path d="m185.76 201.18 10.51-22.18 25.3 11.59z" fill="#233447" stroke="#233447"/><g fill="#cd6116" stroke="#cd6116"><path d="m93.54 269.8 6.07-51.69-39.61 1.15z"/><path d="m220.3 218.11 6.07 51.69 33.53-50.54z"/><path d="m250.41 161.2-71.1 3.18 6.58 36.8 10.5-22.18 25.3 11.59z"/><path d="m98.35 190.61 25.3-11.61 10.35 22.18 6.71-36.8-71.21-3.18z"/></g><path d="m69.5 161.2 29.86 58.57-1-29.16z" fill="#e4751f" stroke="#e4751f"/><path d="m221.69 190.61-1.26 29.16 30-58.57z" fill="#e4751f" stroke="#e4751f"/><path d="m140.73 164.38-6.73 36.8 8.35 43.41 1.9-57.17z" fill="#e4751f" stroke="#e4751f"/><path d="m179.31 164.38-3.41 22.92 1.52 57.29 8.47-43.41z" fill="#e4751f" stroke="#e4751f"/><path d="m185.89 201.18-8.47 43.41 6.07 4.21 36.94-29 1.26-29.16z" fill="#f6851b" stroke="#f6851b"/><path d="m98.35 190.61 1 29.16 36.94 29 6.07-4.21-8.36-43.38z" fill="#f6851b" stroke="#f6851b"/><path d="m186.52 288.78.38-11.84-3.16-2.81h-47.69l-2.91 2.81.25 11.84-39.85-19 13.92 11.46 28.21 19.76h48.45l28.34-19.74 13.91-11.46z" fill="#c0ad9e" stroke="#c0ad9e"/><path d="m183.49 248.8-6.07-4.21h-35l-6.07 4.21-3.16 28.14 2.91-2.81h47.69l3.16 2.81z" fill="#161616" stroke="#161616"/><path d="m310.5 100.21 10.76-51.95-16.07-48.26-121.7 90.91 46.81 39.85 66.16 19.49 14.68-17.19-6.33-4.59 10.12-9.29-7.84-6.11 10.12-7.77z" fill="#763d16" stroke="#763d16"/><path d="m-1.34 48.26 10.75 52-6.83 5.04 10.12 7.77-7.7 6.11 10.12 9.29-6.32 4.59 14.55 17.19 66.16-19.49 46.79-39.85-121.7-90.91z" fill="#763d16" stroke="#763d16"/><path d="m296.46 150.25-66.16-19.49 20.11 30.44-30 58.57 39.47-.51h58.83z" fill="#f6851b" stroke="#f6851b"/><path d="m89.49 130.76-66.16 19.49-22 69h58.67l39.35.51-29.85-58.56z" fill="#f6851b" stroke="#f6851b"/><path d="m179.31 164.38 4.18-73.47 19.23-52.33h-85.4l19 52.33 4.43 73.47 1.52 23.17.12 57h35l.25-57z" fill="#f6851b" stroke="#f6851b"/></g></svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

BIN
assets/img/tornado_mark.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

@ -0,0 +1,7 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 185" version="1.1">
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="walletconnect-logo-alt" fill="#3B99FC" fill-rule="nonzero">
<path d="M61.4385429,36.2562612 C110.349767,-11.6319051 189.65053,-11.6319051 238.561752,36.2562612 L244.448297,42.0196786 C246.893858,44.4140867 246.893858,48.2961898 244.448297,50.690599 L224.311602,70.406102 C223.088821,71.6033071 221.106302,71.6033071 219.883521,70.406102 L211.782937,62.4749541 C177.661245,29.0669724 122.339051,29.0669724 88.2173582,62.4749541 L79.542302,70.9685592 C78.3195204,72.1657633 76.337001,72.1657633 75.1142214,70.9685592 L54.9775265,51.2530561 C52.5319653,48.8586469 52.5319653,44.9765439 54.9775265,42.5821357 L61.4385429,36.2562612 Z M280.206339,77.0300061 L298.128036,94.5769031 C300.573585,96.9713 300.573599,100.85338 298.128067,103.247793 L217.317896,182.368927 C214.872352,184.763353 210.907314,184.76338 208.461736,182.368989 C208.461726,182.368979 208.461714,182.368967 208.461704,182.368957 L151.107561,126.214385 C150.496171,125.615783 149.504911,125.615783 148.893521,126.214385 C148.893517,126.214389 148.893514,126.214393 148.89351,126.214396 L91.5405888,182.368927 C89.095052,184.763359 85.1300133,184.763399 82.6844276,182.369014 C82.6844133,182.369 82.684398,182.368986 82.6843827,182.36897 L1.87196327,103.246785 C-0.573596939,100.852377 -0.573596939,96.9702735 1.87196327,94.5758653 L19.7936929,77.028998 C22.2392531,74.6345898 26.2042918,74.6345898 28.6498531,77.028998 L86.0048306,133.184355 C86.6162214,133.782957 87.6074796,133.782957 88.2188704,133.184355 C88.2188796,133.184346 88.2188878,133.184338 88.2188969,133.184331 L145.571,77.028998 C148.016505,74.6345347 151.981544,74.6344449 154.427161,77.028798 C154.427195,77.0288316 154.427229,77.0288653 154.427262,77.028899 L211.782164,133.184331 C212.393554,133.782932 213.384814,133.782932 213.996204,133.184331 L271.350179,77.0300061 C273.79574,74.6355969 277.760778,74.6355969 280.206339,77.0300061 Z" id="WalletConnect"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

193
assets/styles/app.scss Normal file

@ -0,0 +1,193 @@
html {
@media print {
background-color: #fff !important;
}
}
body {
@media print {
color: #000;
}
}
.wrapper {
display: flex;
flex-direction: column;
min-height: 100vh;
@media print {
background: none;
}
> .main-content {
flex: 1;
.is-centered-main-content & {
display: flex;
align-items: center;
}
}
}
@import 'components/fonts';
@import 'components/base';
@import 'components/header';
@import 'components/button';
@import 'components/tabs';
@import 'components/box';
@import 'components/footer';
@import 'components/txs';
@import 'components/checkbox';
@import 'components/radio';
@import 'components/loading';
@import 'components/fieldset';
@import 'components/video';
@import 'components/wallets';
@import 'components/steps';
@import 'components/dropdown';
@import 'components/field';
@import 'components/deposit';
@import 'components/withdraw-data';
@import 'components/modal';
@import 'components/has-eth-purchase';
@import 'components/notification';
@import 'components/icon';
@import 'components/tab-with-corner';
@import 'components/label';
@import 'components/notice';
@import 'components/flag';
@import 'components/compliance';
@import 'components/textarea';
@import 'components/info';
@import 'components/proposals';
@import 'components/slider';
@import 'components/account';
.b-tooltip {
align-items: center;
.tooltip-trigger {
display: inline-flex;
}
}
.dialog {
.modal-card {
border: 1px solid #393939;
border-radius: 6px;
&-foot {
.button {
flex: 1 1 auto;
}
}
}
}
.input {
transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
&.hide-spinner {
&::-webkit-inner-spin-button,
&::-webkit-outer-spin-button {
-webkit-appearance: none;
margin: 0;
}
-moz-appearance: textfield;
}
}
.select:not(.is-multiple):not(.is-loading)::after {
border-width: 1px;
border-radius: 1px;
margin-top: -0.4375rem;
}
.notices .toast {
@include until(375px) {
font-size: 0.85rem;
}
}
.geofence {
.footer .footer-address,
.break,
.dropdown-langs {
display: none;
}
}
.label-with-value {
margin-top: -0.25rem;
margin-bottom: 1rem;
line-height: 1.75;
span {
color: $primary;
}
a {
color: $primary;
&:hover {
text-decoration: underline;
}
}
}
.label {
font-size: 1rem;
}
.tag:not(body) {
font-weight: 700;
font-size: 0.857rem;
min-width: 70px;
height: 30px;
}
.progress {
height: 0.571rem;
}
.delete {
background-color: transparent;
&::before,
&::after {
background-color: #6b6b6b;
transition: background-color 0.15s ease-in-out;
}
&::before {
height: 1px;
width: 18px;
}
&::after {
height: 18px;
width: 1px;
}
&:hover,
&:focus {
background-color: transparent;
&::before,
&::after {
background-color: #fff;
}
}
}
%arrow {
@include arrow;
width: 0;
height: 0;
border-radius: 0;
border-style: solid;
border-width: 8px 0 0 8px;
border-color: transparent transparent transparent $white;
}

@ -0,0 +1,221 @@
.account {
max-width: 720px;
margin: 0 auto;
.title {
color: $white;
display: flex;
align-items: center;
justify-content: center;
font-size: 2.5rem;
margin-bottom: 2.857rem;
> .icon {
margin-right: 1.143rem;
}
}
&-box {
margin: 1.25rem 0;
background-color: #171717;
border-radius: 6px;
transition: box-shadow 0.5s linear;
.address {
border-radius: 6px;
background: #1f1f1f;
padding: 1rem 1.429rem;
&-item {
.label {
font-size: 0.929rem;
}
.value {
font-size: 1.286rem;
color: $primary;
word-break: break-all;
&.is-small {
font-size: 0.929rem;
}
}
+ .address-item {
margin-top: 1rem;
}
}
}
.action {
padding: 0 1.429rem;
&-item {
display: flex;
align-items: center;
position: relative;
padding: 1.429rem 0;
.icon {
margin-right: 1.429rem;
}
.desc {
margin-right: auto;
max-width: 346px;
font-size: 0.929rem;
line-height: 1.714rem;
span {
color: $primary;
}
}
.balance {
display: inline-flex;
flex-wrap: wrap;
&-item {
white-space: nowrap;
&:not(:last-child) {
margin-right: 0.5em;
}
}
}
&:not(:last-child) {
border-bottom: 1px solid #353535;
}
.switch {
margin-left: 1.429rem;
margin-right: 0;
.control-label {
display: none;
}
input[type='checkbox'] {
+ .check {
background-color: #313131;
box-shadow: none;
}
&:checked + .check {
&:before {
background-color: $primary;
}
}
}
}
@include mobile {
flex-wrap: wrap;
align-items: flex-start;
&.has-switch {
min-height: 136px;
}
.desc {
flex-grow: 1;
flex-shrink: 1;
flex-basis: 0%;
}
> .button,
> .b-tooltip {
margin-top: 1.5rem;
width: 100%;
.button {
width: 100%;
}
}
.switch {
margin-left: 0;
top: 6.378rem;
position: absolute;
}
}
@include tablet {
.button {
margin-left: 1.429rem;
}
}
}
}
}
.note-account {
.title {
padding-top: 1.857rem;
}
&.is-active {
.account-box {
box-shadow: 0 0 20px $primary;
}
}
}
&-decrypt-info {
.item {
display: flex;
align-items: center;
justify-content: space-between;
position: relative;
padding: 0.75rem 0;
.desc {
margin-right: auto;
max-width: 346px;
}
&:not(:last-child) {
border-bottom: 1px solid #353535;
}
.switch {
margin-left: 1.429rem;
margin-right: 0;
.control-label {
display: none;
}
}
@include mobile {
flex-wrap: wrap;
min-height: 136px;
align-items: flex-start;
.desc {
flex-grow: 1;
flex-shrink: 1;
flex-basis: 0%;
}
.button {
margin-top: 1.5rem;
width: 100%;
}
.switch {
margin-left: 0;
top: 6.378rem;
position: absolute;
}
}
@include tablet {
.button {
margin-left: 1.429rem;
}
}
}
}
}

@ -0,0 +1,251 @@
$control-height: 2.857em;
$control-border-width: 1px;
$control-padding-vertical: calc(0.429em - #{$control-border-width});
$control-padding-horizontal: calc(1.25em - #{$control-border-width});
$white: #eee;
$primary: #94febf;
$primary-invert: #000403;
$warning: #ff8a00;
$black: #2c4538;
$danger: #ff0658;
$danger-invert: #000403;
$dark: #171717;
$dark-invert: $primary;
$info: $primary-invert;
$info-invert: $white;
$violet: #865ff3;
$gray: #6b6b6b;
$grey-lighter: #393939;
$dark-tooltip: #313131;
$custom-colors: (
'black': (
$black,
$primary-invert
),
'violet': (
$violet,
$white
),
'gray': (
$gray,
$white
),
'dark-tooltip': (
$dark-tooltip,
$gray
)
);
@import '~bulma/sass/utilities/_all';
$body-family: 'PT Mono', monospace;
$body-background-color: $primary-invert;
$body-color: $white;
$body-size: 14px;
$body-min-width: 320px;
$navbar-background-color: transparent;
$navbar-item-color: $white;
$navbar-item-hover-color: $primary;
$navbar-item-hover-background-color: transparent;
$navbar-item-active-color: $primary;
$navbar-breakpoint: $tablet;
$label-color: $white;
$label-weight: $weight-normal;
$button-background-color: #181818;
$button-border-color: #666;
$button-color: $white;
$button-hover-border-color: $primary;
$button-focus-border-color: $primary;
$button-focus-color: $primary;
$button-focus-box-shadow-color: rgba($primary, 0.25);
$button-active-border-color: darken($primary, 10%);
$button-active-color: darken($primary, 10%);
$button-text-color: $primary;
$button-text-hover-background-color: $primary;
$button-text-hover-color: $primary-invert;
$button-disabled-background-color: #000;
$button-disabled-border-color: #393939;
$input-color: $white;
$input-background-color: transparent;
$input-border-color: #393939;
$input-hover-border-color: $white;
$input-hover-color: $white;
$input-focus-border-color: $primary;
$input-placeholder-color: #393939;
$input-focus-box-shadow-size: 0 0 0;
$input-disabled-background-color: #181818;
$input-disabled-border-color: #222222;
$input-disabled-color: #5e5e5e;
$radio-size: 1.5rem;
$link: $white;
$link-hover: $primary;
$link-invert: $primary;
$tabs-border-bottom-width: 0;
$tabs-link-color: $link;
$tabs-link-active-color: $primary;
$tabs-link-hover-color: $primary;
$box-background-color: $primary-invert;
$box-shadow: none;
$box-color: #fefefe;
$box-padding: 1.5rem;
$title-size: 1.5rem;
$title-line-height: 1;
$title-color: $primary;
$subtitle-color: $white;
$footer-background-color: transparent;
$footer-padding: 2rem;
$modal-background-background-color: rgba(#050505, 0.86);
$modal-card-title-color: $primary;
$modal-card-head-background-color: $primary-invert;
$modal-card-head-border-bottom: none;
$modal-card-foot-border-top: none;
$modal-card-body-background-color: $primary-invert;
$modal-card-foot-radius: 0;
$modal-card-head-radius: 0;
$modal-card-body-padding: 0 1.5rem;
$modal-card-head-padding: 1.5rem;
$input-arrow: #393939;
$radius-small: 4px;
$steps-default-color: $primary;
$steps-marker-default-border: 0.2em solid $primary;
$steps-maker-default-color: $primary-invert;
$steps-previous-color: $primary-invert;
$hr-background-color: #1e3629;
$hr-height: 1px;
$hr-margin: 0.5rem 0;
$dropdown-item-color: $white;
$dropdown-content-shadow: 0 0 0 1px $primary, 0 6px 12px rgba(0, 0, 0, 0.3);
$dropdown-content-background-color: $primary-invert;
$dropdown-item-hover-background-color: #0e1f17;
$dropdown-item-hover-color: $primary;
$dropdown-item-active-background-color: $primary;
$dropdown-item-active-color: $primary-invert;
$dropdown-content-padding-bottom: 0;
$dropdown-content-padding-top: 0;
$dropdown-background-color: $modal-background-background-color;
$widescreen-enabled: false;
$fullhd-enabled: false;
$navbar-dropdown-arrow: $primary;
$navbar-dropdown-background-color: $primary-invert;
$navbar-dropdown-border-top: 2px solid $primary;
$navbar-dropdown-item-hover-background-color: $dropdown-item-hover-background-color;
$navbar-dropdown-item-hover-color: $dropdown-item-hover-color;
$navbar-dropdown-item-active-background-color: $dropdown-item-active-background-color;
$navbar-dropdown-item-active-color: $dropdown-item-active-color;
$navbar-dropdown-boxed-shadow: $dropdown-content-shadow;
$button-static-color: #6b6b6b;
$button-static-background-color: $input-background-color;
$button-static-border-color: $input-border-color;
$tag-background-color: #1c1c1c;
$tag-color: #6b6b6b;
$progress-bar-background-color: #393939;
$strong-color: #6b6b6b;
$strong-weight: 400;
$notification-background-color: #1f1f1f;
$notification-radius: 6px;
$button-text-color: #6b6b6b;
$button-text-hover-background-color: transparent;
$button-text-hover-color: #6b6b6b;
$textarea-padding: 0.75rem;
$icon-dimensions-large: 3.429rem;
.column {
@include from(576px) {
&.is-half-small {
flex: none;
width: 50%;
}
&.is-full-small {
flex: none;
width: 100%;
}
}
@include mobile {
&.is-order-1-mobile {
order: 1;
}
&.is-order-2-mobile {
order: 2;
}
&.is-order-3-mobile {
order: 3;
}
}
@include tablet {
&.is-none {
flex: none;
}
}
}
@import '~bulma/sass/base/_all';
@import '~bulma/sass/helpers/_all';
@import '~bulma/sass/elements/_all';
@import '~bulma/sass/components/_all';
@import '~bulma/sass/form/_all';
@import '~bulma/sass/grid/_all';
@import '~bulma/sass/layout/_all';
@import '~buefy/src/scss/buefy';
@mixin noWrap {
white-space: nowrap;
overflow: hidden;
max-width: 100%;
position: relative;
text-overflow: ellipsis;
}
.columns {
@include from(576px) {
&.is-small {
display: flex;
}
}
}
.column {
@media screen and (min-width: 576px) and (max-width: $tablet - 1px) {
&.is-half-small-only {
flex: none;
width: 50%;
}
}
}

@ -0,0 +1,189 @@
.box {
border: 1px solid #393939;
position: relative;
z-index: 2;
&-stats {
height: 100%;
@include tablet {
max-width: 440px;
margin-left: auto;
}
.box {
border-top-left-radius: 0;
margin-bottom: 0;
}
.tab-with-corner.is-left-top {
display: inline-flex;
align-items: center;
font-weight: 700;
font-size: 1.35rem;
@include until(375px) {
font-size: 1.135rem;
}
&:after {
right: -1.8rem;
@include until(375px) {
right: -1.5rem;
}
}
}
span.selected {
border-radius: 4px;
font-size: 0.75rem;
background-color: #0d1f16;
border: 1px solid $primary;
color: $primary;
padding: calc(0.375em - 1px) 0.75em;
height: 2.25em;
display: inline-flex;
margin-left: 1rem;
> span {
padding-right: 0.5em;
}
}
.deposits {
font-size: 0.82rem;
width: 100%;
display: flex;
flex-direction: column;
.row {
display: flex;
height: 27px;
&:nth-child(odd) {
background-color: #171717;
}
}
.value {
padding-top: 0.375rem;
padding-bottom: 0.375rem;
padding-left: 0.625rem;
padding-right: 0.3125rem;
white-space: nowrap;
padding-right: 0.25rem;
text-align: right;
}
.data {
width: 100%;
padding-top: 0.375rem;
padding-bottom: 0.375rem;
padding-right: 0.625rem;
color: $primary;
@include noWrap;
}
.b-skeleton {
&-item {
height: 1.429rem;
}
+ .b-skeleton {
margin-top: 0.625rem;
}
}
}
@include until(375px) {
.b-tooltip.is-top.is-multiline.is-large:after {
width: 100%;
}
}
.box-ip {
display: flex;
justify-content: flex-end;
}
}
&-modal {
max-width: 440px;
overflow-y: auto;
&.has-delete {
.delete {
position: absolute;
right: 1.5rem;
top: 1.571rem;
}
.b-tabs.is-modal {
.tabs {
margin-top: -0.5em;
margin-right: 2.143rem;
overflow: hidden;
overflow-x: auto;
ul {
@include tablet {
flex-wrap: wrap;
flex-shrink: 1;
}
}
}
}
}
&-header {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 1.5rem;
&.is-spaced {
margin-bottom: 0.475rem;
}
.delete {
margin-left: auto;
}
}
&-title {
font-size: 1.143rem;
font-weight: 700;
}
.note {
margin-bottom: 1rem;
}
.znote {
color: $primary;
word-break: break-all;
margin-bottom: 1rem;
}
.checkbox {
margin-bottom: 1.5rem;
}
.buttons {
.b-tooltip {
margin-bottom: 0.5rem;
.button {
margin-bottom: 0;
}
}
}
.p {
font-size: 0.929rem;
margin-top: 0.25rem;
margin-bottom: 1rem;
}
}
}

@ -0,0 +1,326 @@
.button {
transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out,
box-shadow 0.15s ease-in-out;
font-weight: $weight-bold;
.trnd {
background-color: #eee;
}
svg {
& + span {
margin-left: 0.75em;
}
}
&.is-text {
text-decoration: none;
.trnd {
background-color: $button-text-color;
}
&:focus:not(:active),
&.is-focused:not(:active) {
box-shadow: none;
}
}
&.max-content {
max-width: max-content;
}
&.has-icon {
padding: 0;
width: 16px;
height: 16px;
.icon {
height: 8px;
width: 8px;
&.icon-info {
background-size: 6px 8px;
}
}
.icon-link {
height: 12px;
width: 12px;
}
}
&.is-icon {
padding: 0;
width: 24px;
height: 24px;
background-color: transparent;
border: none;
.trnd {
width: 100%;
height: 100%;
background-color: #6b6b6b;
}
svg {
height: 100%;
width: 100%;
}
&:hover {
path:not(.no-hover) {
fill: #87feb7;
transition: fill 0.15s ease-out;
}
}
&:focus:not(:active) {
box-shadow: none;
}
}
&.is-loading {
&::after {
border-radius: 100%;
}
}
&.is-black {
path {
fill: $primary;
}
}
&.is-primary {
path {
fill: $primary-invert;
}
.trnd {
background-color: $primary-invert;
}
&:hover {
background-color: #3bf0a1;
}
&[disabled] {
background-color: $primary;
}
&.is-outlined {
background-color: #0e1f17;
.trnd {
background-color: $primary;
}
&:hover,
&:focus,
&.is-hovered,
&.is-focused {
.trnd {
background-color: $primary-invert;
}
}
&[disabled] {
.trnd {
background-color: $primary;
}
}
}
}
&.is-danger {
&.is-outlined {
background-color: #1c080d;
.trnd {
background-color: $danger;
}
&:hover,
&:focus {
.trnd {
background-color: $danger-invert;
}
}
&[disabled] {
.trnd {
background-color: $danger;
}
}
}
}
&.is-dark {
path {
fill: $primary;
}
.trnd {
background-color: $primary;
}
}
&.is-primary-link {
color: $primary;
height: auto;
background-color: transparent;
border: none;
border-radius: 0;
font-size: 0.85rem;
line-height: 1;
&:hover {
span {
text-decoration: underline;
}
}
&:focus:not(:active) {
box-shadow: none;
}
&.is-underlined {
display: block;
margin: 0 auto;
span {
text-decoration: underline;
}
&:hover {
span {
text-decoration: none;
}
}
}
}
.icon {
&:first-child:not(:last-child) {
margin-left: 0;
margin-right: 0.5em;
}
&:last-child:not(:first-child) {
margin-left: 0.5em;
margin-right: 0;
}
&:first-child:last-child {
margin-left: 0;
margin-right: 0;
}
}
&:not(.is-small):not(.is-primary-text) {
span:not(.icon):not(.b-tooltip):first-child:last-child {
padding: 0 0.5rem;
}
}
&.is-nav-icon {
width: 2.857rem;
padding: 0;
cursor: default;
background-color: #242424;
border-color: #4f4f4f;
.trnd {
background-color: #595959;
}
&:focus:not(:active) {
box-shadow: none;
}
&.walletConnect {
background-color: #07141e;
border-color: #3b99fc;
.trnd {
background-color: #3b99fc;
}
}
&.metamask {
background-color: #2d2419;
border-color: #f89c35;
.trnd {
background-color: #f89c35;
}
}
&.tornado {
background-color: #0e1f17;
border-color: $primary;
.trnd {
background-color: $primary;
}
}
&.network {
background-color: darken($primary, 80);
border-color: $primary;
.trnd {
background-color: $primary;
}
}
}
&.hide-icon-desktop {
@include desktop {
span.icon {
display: none;
}
}
}
}
.buttons {
&__social {
.button {
background-color: transparent;
border-color: transparent;
color: $primary;
.icon {
width: 24px;
height: 24px;
}
}
}
&__halfwidth {
flex-wrap: nowrap;
.button,
.b-skeleton {
flex: 1 1 calc(50% - 0.5rem);
&:last-child {
margin-left: 0.5rem;
}
}
.b-skeleton {
margin-bottom: 0.5rem;
&:first-child {
margin-right: 0.5rem;
}
+ .b-skeleton {
margin-top: 0;
}
}
}
.break {
margin: 0 1rem 0.5rem 0.5rem;
width: 1px;
align-self: stretch;
background-color: $primary;
}
}

@ -0,0 +1,39 @@
.b-checkbox {
&.checkbox {
input[type=checkbox] {
+ .check {
border-radius: 2px;
border: 1px solid $primary;
position: relative;
width: 1.5rem;
height: 1.5rem;
&:before {
content: '';
display: flex;
position: absolute;
left: 50%;
margin-left: calc(-1.5rem/2);
bottom: 50%;
margin-bottom: calc(-1.5rem/2);
width: 1.5rem;
height: 1.5rem;
transition: transform .15s ease-out;
transform: scale(0);
background-color: $primary;
border-radius: 1px;
}
}
&:checked + .check {
background: none;
&:before {
transform: scale(.4);
}
}
}
.control-label {
padding-left: 0.75rem;
}
}
}

@ -0,0 +1,354 @@
.compliance {
@media print {
margin-top: -2rem;
}
.title {
color: #fff;
text-align: center;
span {
color: $primary;
}
.print {
display: none;
}
@media print {
.not-print {
display: none;
}
.print {
display: inline-block;
}
font-size: 2.5rem !important;
font-weight: 700;
color: #000;
text-align: left;
span {
color: #000;
font-weight: 400;
}
}
}
.label {
@media print {
color: #000;
}
}
.subtitle {
text-align: center;
}
.p {
font-size: 0.857rem;
margin-bottom: 2rem;
text-align: center;
@media print {
display: none;
}
}
.field {
margin-bottom: 1.5rem;
.input {
@media print {
display: none;
}
}
.print-help {
display: none;
@media print {
display: block;
word-break: break-all;
word-wrap: break-word;
font-weight: 700;
color: #000;
}
}
}
.columns {
margin-top: 1.5rem;
&-blocks {
@include touch {
margin: 1rem 0;
}
@include desktop {
.column {
&.is-5-desktop {
width: calc(50% - 40px);
}
&.is-2-desktop {
width: 80px;
}
}
}
@media print {
display: flex;
.column {
&.is-5-desktop {
flex: none;
width: 50%;
&:first-child {
padding-right: 1rem !important;
}
&:last-child {
margin-left: 1rem !important;
}
}
}
}
}
&.has-verified {
@include touch {
display: flex;
flex-direction: column-reverse;
}
}
}
.block {
height: 100%;
display: flex;
flex-direction: column;
&-withdrawal {
@include mobile {
margin-top: 1rem;
}
}
&-item {
display: flex;
justify-content: space-between;
span {
color: $primary;
@media print {
color: #000;
}
}
&--title {
font-size: 1.25rem;
line-height: 1.25;
@media print {
margin-bottom: 0.5rem;
color: #000;
span {
font-weight: 700;
}
}
}
&--status {
color: #616161;
margin-bottom: 2rem;
&.is-success {
color: $primary;
}
&.is-warning {
color: $warning;
}
.fee {
color: #616161;
}
@media print {
color: #000 !important;
font-size: 0.85rem;
.fee {
color: #000;
}
}
}
&--data {
font-size: 0.9rem;
@include mobile {
flex-direction: column;
}
.label {
font-size: inherit;
width: 106px;
flex: none;
}
.value {
text-overflow: ellipsis;
overflow: hidden;
color: $primary;
margin-left: 1rem;
flex-grow: 1;
@include mobile {
margin-left: 0;
text-align: left;
word-break: break-all;
overflow: visible;
margin-bottom: 1rem;
}
@include touch {
&[data-value] {
font: 0/0 a;
color: transparent;
&::after {
display: block;
font-size: 0.9rem;
line-height: 1.5;
font-family: 'PT Mono';
color: $primary;
content: attr(data-value);
}
}
}
&.copy {
cursor: pointer;
}
}
@media print {
flex-direction: column;
margin-bottom: 1rem;
.value {
overflow: visible;
word-break: break-all;
text-align: left;
margin-left: 0;
color: #000;
font-weight: 700;
&[data-value] {
font: 0/0 a;
color: transparent;
&::after {
display: block;
font-size: 0.9rem;
line-height: 1.5;
font-weight: 700;
font-family: 'PT Mono', monospace;
color: #000;
content: attr(data-value);
}
}
}
}
}
}
}
.arrow {
height: 100%;
width: 100%;
background-size: 46px 41px;
background-repeat: no-repeat;
background-position: center;
background-image: url('../img/icons/arrow.svg');
@include touch {
background-size: 41px 46px;
width: 41px;
height: 46px;
transform: rotate(90deg);
margin: 0 auto;
}
}
.verified {
margin: 1rem 0 1rem auto;
height: 100px;
width: 100px;
display: block;
@include touch {
margin-top: 1rem;
margin-left: auto;
margin-right: auto;
}
.stroke {
fill: none;
fill-rule: evenodd;
stroke: #94febf;
}
.fill {
fill: #94febf;
fill-rule: evenodd;
}
@media print {
.stroke {
stroke: #000;
}
.fill {
fill: #000;
}
margin-top: -2rem;
}
}
.generate {
&-container {
position: relative;
text-align: center;
margin: 2rem 0 !important;
@media print {
display: none;
}
}
@include desktop {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
}
.print {
display: none;
@media print {
display: block;
color: #000;
}
&-title {
font-size: 1.25rem;
margin-bottom: 0.5rem;
}
&-p {
font-size: 0.9rem;
}
}
}

@ -0,0 +1,33 @@
.deposit {
&-buttons.field {
.button {
width: 90px;
}
@include until($desktop) {
justify-content: space-between;
.control {
flex-basis: calc(50% - .75rem);
&:not(:last-child) {
margin-right: 0;
}
}
.button {
width: 100%;
}
}
+ .deposit-buttons.field {
margin-bottom: .25rem;
}
}
&-p {
margin-bottom: 1rem;
font-size: .85rem;
}
}

@ -0,0 +1,108 @@
.dropdown.is-mobile-modal {
.dropdown-trigger {
.control {
.input {
&::after {
border: 2px solid $primary;
border-radius: 2px;
border-right: 0;
border-top: 0;
content: " ";
display: block;
margin-top: -0.5em;
pointer-events: none;
position: absolute;
top: 50%;
transform: rotate(-45deg);
transform-origin: center;
height: .625em;
width: .625em;
right: 1.125em;
transition: border-color .15s ease-in-out;
}
&:hover {
&::after {
border-color: $white;
}
}
}
&.is-loading {
.input {
&::after {
opacity: 0;
visibility: hidden;
}
}
&::after {
height: 1.143rem;
width: 1.143rem;
right: .86rem;
top: .86rem;
border-radius: 1.143rem;
}
}
}
}
&.is-expanded .dropdown-menu{
@include touch {
max-width: 460px;
}
}
.dropdown-menu {
> .dropdown-content {
overflow: hidden;
margin: 1px;
> .dropdown-item {
font-size: 1rem;
padding: 0.675rem 1.25rem;
transition: color .15s ease-in-out, background-color .15s ease-in-out;
}
}
}
&.is-active {
.dropdown-trigger {
.control {
.input {
border-color: $primary;
&::after {
border-color: $primary;
}
}
}
}
}
}
.dropdown-langs {
margin-bottom: .5rem;
.dropdown-menu {
min-width: auto;
padding-top: 0;
padding-bottom: 4px;
}
&.is-mobile-modal {
.dropdown-menu {
max-width: 100px;
}
}
a.dropdown-item {
padding-right: 1rem;
line-height: 24px;
}
.button {
margin-bottom: 0;
}
}

@ -0,0 +1,196 @@
.field {
&:not(:last-child) {
margin-bottom: 1.25rem;
}
.control {
&.has-icons-right {
.input {
padding-right: calc(1.25em - 1px);
+ .icon.is-right {
display: none;
}
}
}
}
.label-with-buttons {
display: flex;
align-items: center;
.label {
margin-right: auto;
.b-tooltip {
.button {
margin-bottom: 0;
}
}
}
.button {
margin-bottom: 0.5em;
&.is-icon {
width: 20px;
height: 20px;
}
@include touch {
.b-tooltip {
&:before,
&:after {
content: none;
}
}
}
+ .button {
margin-left: 0.75rem;
}
&.is-primary-text {
color: $primary;
padding: 0;
height: auto;
background-color: transparent;
border: none;
border-bottom: 1px dotted $primary;
border-radius: 0;
font-size: 0.85rem;
line-height: 1;
&:focus:not(:active) {
box-shadow: none;
}
}
}
}
&.has-custom-field {
margin-top: -0.65rem;
+ .help {
margin-top: -1rem;
}
}
&-withdraw {
margin-top: -0.6rem;
}
&.has-addons {
.input {
border-right: 0;
}
.control {
&.has-text {
border: 1px solid #393939;
transition: border-color 0.15s ease-in-out;
border-left: 0;
display: inline-flex;
align-items: center;
span {
color: #6b6b6b;
font-size: 0.929rem;
}
&:not(:last-child) {
border-right: 0;
padding-right: 0.643rem;
}
&:last-child {
border-bottom-right-radius: 4px;
border-top-right-radius: 4px;
padding-right: 0.643rem;
}
}
&.has-button {
display: inline-flex;
align-items: center;
transition: border-color 0.15s ease-in-out;
border: 1px solid #393939;
border-left: 0;
padding-right: 0.357rem;
.button {
padding: 0.25rem 0.5rem;
font-size: 0.929rem;
height: 28px;
border-bottom-right-radius: 2px;
border-top-right-radius: 2px;
}
&:not(:last-child) {
border-right: 0;
padding-right: 0.643rem;
}
&:last-child {
border-bottom-right-radius: 4px;
border-top-right-radius: 4px;
&:not(:only-child) .button {
border-bottom-left-radius: 2px;
border-top-left-radius: 2px;
}
}
&:not(:first-child):not(:last-child) .button {
border-radius: 2px;
}
}
}
&:hover {
.input,
.control {
border-color: $input-hover-border-color;
}
}
&:focus,
&:focus-within {
.input,
.control {
border-color: $input-focus-border-color;
}
}
}
&.is-warning {
.has-addons {
.input,
.control {
border-color: $warning;
}
}
}
&.is-grouped {
@include mobile {
flex-wrap: wrap;
> .field.is-expanded {
&:not(:last-child) {
margin-right: 0;
margin-bottom: 1.25rem;
}
flex: none;
width: 100%;
}
}
}
& > .field {
+ .help {
margin-top: -1rem;
}
}
}

@ -0,0 +1,73 @@
fieldset[disabled] {
cursor: not-allowed;
position: relative;
filter: grayscale(70%);
color: #5e5e5e;
.tooltip {
&:after {
position: absolute;
opacity: 0;
visibility: hidden;
pointer-events: none;
content: attr(data-label);
padding: 1rem 2rem;
border-radius: $radius-large;
font-size: 0.85rem;
font-weight: $weight-normal;
box-shadow: 0px 1px 2px 1px rgba(0, 1, 0, 0.2);
z-index: 888;
display: flex-block;
text-align: center;
width: 240px;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background-color: #393939;
color: #eee;
}
&:not([data-label=""]):after {
transition-delay: inherit;
opacity: 1;
visibility: visible;
}
}
.notice {
position: relative;
border-color: #5c4d3c;
color: #5e5e5e;
}
.label {
@include unselectable;
color: #5e5e5e;
&.is-primary {
color: #558b6b;
}
}
.b-radio {
&.radio {
&:focus {
input[type=radio] {
+ .check {
box-shadow: none;
}
}
}
input[type=radio] {
+ .check {
cursor: not-allowed;
}
}
}
}
.withdraw-data-item span {
color: #4f5e57;
}
}

Some files were not shown because too many files have changed in this diff Show More