diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..ad4bfd8a --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,40 @@ +name: Build and Deploy to GH page + +on: + push: + branches: + - master + pull_request: + +jobs: + BuildAndDeploy: + runs-on: ubuntu-latest + permissions: + contents: write + concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - uses: actions/setup-node@v4 + with: + node-version: 20 + cache: 'npm' + + - name: Install Dependencies + run: npm ci + + - name: Build distribution + run: npm run build + + - name: Deploy To GH Pages + if: github.ref == 'refs/heads/master' + + uses: peaceiris/actions-gh-pages@373f7f263a76c20808c831209c920827a82a2847 # v3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: dist/ + force_orphan: true diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index b3843cdd..00000000 --- a/.travis.yml +++ /dev/null @@ -1,14 +0,0 @@ -language: node_js -node_js: - - "10" -script: -- | - npm i - npm run build -deploy: - provider: pages - skip_cleanup: true - local_dir: dist - github_token: $GH_TOKEN # Set in travis-ci.org dashboard - on: - branch: master diff --git a/README.md b/README.md index f23ce6f0..bf9879b4 100644 --- a/README.md +++ b/README.md @@ -5,29 +5,30 @@ Token-registry is a platform where you can submit the token. Token-registry will ## Requirements 1. Make sure the contract address is correct (main/test) 2. Token image is required -3. Folder name must be the same as the contract address -4. Clear and simple description +3. Folder name must be the same as the contract address in lowercase +4. Clear and simple description 5. Comply with directory & contents rules ## Getting Ready for Submission ### Fork Token-registry Forking a repository allows you to create your token details and send a pull request for the maintainers to review and merge into *Token-registry*. ### Generate Token Information -1. Create a directory in [main](tokens/main) or [test](tokens/test) and named the directory with **Contract address**. +1. Create a directory in [main](tokens/main) /[test](tokens/test)/both and named the directory with **Contract address**. > Contract address start with **0x + 40 characters and must be lower case**, E.g., `0x0000000000000000000000000000456e65726779`. ``` ├── main -│ └── 0x0000000000000000000000000000456e65726779 +│ └── 0x0000000000000000000000000000456e65726779 //Contract address │ ├── token.png -│ └── info.json +│ ├── info.json +│ └── additional.json ``` 2. Import your token image into the directory and named it `token`.**(Image must be `png` format, `transparent background`and `256 x 256` pixel size)** -3. Generate a info.json file includes token details. +3. Generate a **info.json** file includes token details. ``` @@ -38,6 +39,41 @@ Forking a repository allows you to create your token details and send a pull req "desc": "Represents the underlying cost of using VeChainThor" } ``` - + +4. Generate an **additional.json** file includes following details. + +``` +{ + "website":"https://www.example.com/", + "links":{ + "twitter":"https://twitter.com/example", + "telegram":"https://t.me/example", + "facebook":"https://www.facebook.com", + "medium":"https://medium.com/@example", + "github":"https://github.com/example", + "slack":"https://example.slack.com/" + }, + "whitePaper":"https://www.example.com/whitepaper/" + "crossChainProvider": { + name: "provider", + url: "https://bridge-testnet.provider.com/bridge" + } +} + +``` +> Only Twitter / Telegram / Facebook / Medium / Github / Slack are supported + +> Cross Chain Provider name must be lower case and url must redirect to the token bridge page + ### Making a Pull Request / Submit Your token After [Create a pull request](https://help.github.com/en/articles/creating-a-pull-request), your pull request will be reviewed by maintainers. Once the review is completed, your token will be merged into the base branch. + +## Get Approved token list + +1. Get tokens information + +`https://vechain.github.io/token-registry/{main|test}.json` + +2. Get token icon + +`https://vechain.github.io/token-registry/assets/{item.icon}` diff --git a/abis.js b/abis.js new file mode 100644 index 00000000..8a069b48 --- /dev/null +++ b/abis.js @@ -0,0 +1,178 @@ +const totalSupply = { + constant: true, + inputs: [], + name: "totalSupply", + outputs: [ + { + name: "", + type: "uint256", + }, + ], + payable: false, + stateMutability: "view", + type: "function", +}; + +const balanceOf = { + constant: true, + inputs: [ + { + name: "_owner", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + name: "balance", + type: "uint256", + }, + ], + payable: false, + stateMutability: "view", + type: "function", +}; + +const allowance = { + constant: true, + inputs: [ + { + name: "_owner", + type: "address", + }, + { + name: "_spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + name: "remaining", + type: "uint256", + }, + ], + payable: false, + stateMutability: "view", + type: "function", +}; + +const decimals = { + constant: true, + inputs: [], + name: "decimals", + outputs: [ + { + name: "", + type: "uint8", + }, + ], + payable: false, + stateMutability: "view", + type: "function", +}; + +const name = { + constant: true, + inputs: [], + name: "name", + outputs: [ + { + name: "", + type: "string", + }, + ], + payable: false, + stateMutability: "view", + type: "function", +}; + +const symbol = { + constant: true, + inputs: [], + name: "symbol", + outputs: [ + { + name: "", + type: "string", + }, + ], + payable: false, + stateMutability: "view", + type: "function", +}; + +const transfer = { + constant: false, + inputs: [ + { + name: "_to", + type: "address", + }, + { + name: "_value", + type: "uint256", + }, + ], + name: "transfer", + outputs: [], + payable: false, + stateMutability: "nonpayable", + type: "function", +}; + +const transferFrom = { + constant: false, + inputs: [ + { + name: "_from", + type: "address", + }, + { + name: "_to", + type: "address", + }, + { + name: "_value", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [], + payable: false, + stateMutability: "nonpayable", + type: "function", +}; + +const approve = { + constant: false, + inputs: [ + { + name: "_spender", + type: "address", + }, + { + name: "_value", + type: "uint256", + }, + ], + name: "approve", + outputs: [], + payable: false, + stateMutability: "nonpayable", + type: "function", +}; + +const abis = { + totalSupply, + balanceOf, + allowance, + decimals, + name, + symbol, + transfer, + transferFrom, + approve, +}; + +module.exports = abis; diff --git a/const.js b/const.js index b6eb92a3..607ae283 100644 --- a/const.js +++ b/const.js @@ -1,8 +1,37 @@ +const z = require("zod"); + const NET_FOLDERS = { - main: 'main', - test: 'test' -} + main: "main", + test: "test", +}; +const NODES = { + main: "https://sync-mainnet.vechain.org", + test: "https://sync-testnet.vechain.org", +}; + +const additionalSchema = z.object({ + website: z.string().url().optional(), + whitePaper: z.string().url().optional(), + links: z + .object({ + twitter: z.string().url().optional(), + telegram: z.string().url().optional(), + facebook: z.string().url().optional(), + medium: z.string().url().optional(), + github: z.string().url().optional(), + slack: z.string().url().optional(), + }) + .optional(), + crossChainProvider: z + .object({ + name: z.string(), + url: z.string().url(), + }) + .optional(), +}); module.exports = { - NETS: NET_FOLDERS -} + NETS: NET_FOLDERS, + NODES, + additionalSchema, +}; diff --git a/contract.js b/contract.js new file mode 100644 index 00000000..c2ae9fc7 --- /dev/null +++ b/contract.js @@ -0,0 +1,86 @@ +const abis = require("./abis"); +const { abi, address } = require("thor-devkit"); +const axios = require("axios"); + +const totalSupplyAbi = new abi.Function(abis.totalSupply); +const balanceOfAbi = new abi.Function(abis.balanceOf); +const allowanceAbi = new abi.Function(abis.allowance); +const decimalsAbi = new abi.Function(abis.decimals); +const nameAbi = new abi.Function(abis.name); +const symbolAbi = new abi.Function(abis.symbol); + +const verifyCalls = [ + balanceOfAbi.encode("0xf077b491b355E64048cE21E3A6Fc4751eEeA77fa"), + allowanceAbi.encode( + "0xf077b491b355E64048cE21E3A6Fc4751eEeA77fa", + "0x435933c8064b4Ae76bE665428e0307eF2cCFBD68", + ), +]; +const verifyContract = async (address, url) => { + try { + const clauses = verifyCalls.map((data) => ({ + to: address, + data, + value: "0x0", + })); + + const resp = await axios.post(`${url}/accounts/*`, { + clauses, + }); + + if (resp.data.some((r) => r.reverted)) { + throw new Error("Some contract calls reverted"); + } + + if (resp.data.length !== verifyCalls.length) { + throw new Error("Invalid contract response"); + } + } catch (error) { + console.log(error); + throw new Error("unable to verify contract methods"); + } +}; + +const contractDetailsClauses = [ + totalSupplyAbi.encode(), + decimalsAbi.encode(), + nameAbi.encode(), + symbolAbi.encode(), +]; + +const getContractDetails = async (address, url) => { + const clauses = contractDetailsClauses.map((data) => ({ + to: address, + data, + value: "0x0", + })); + + const resp = await axios.post(`${url}/accounts/*`, { + clauses, + }); + + if (resp.data.some((r) => r.reverted)) { + throw new Error("Some contract calls reverted"); + } + + if (resp.data.length !== contractDetailsClauses.length) { + throw new Error("Invalid contract response"); + } + + const totalSupply = totalSupplyAbi.decode(resp.data[0].data); + const decimals = decimalsAbi.decode(resp.data[1].data); + const name = nameAbi.decode(resp.data[2].data); + const symbol = symbolAbi.decode(resp.data[3].data); + + return { + totalSupply: totalSupply["0"], + decimals: parseInt(decimals["0"]), + name: name["0"], + symbol: symbol["0"], + }; +}; + +module.exports = { + verifyContract, + getContractDetails, +}; diff --git a/error.js b/error.js new file mode 100644 index 00000000..2cbc97df --- /dev/null +++ b/error.js @@ -0,0 +1,22 @@ +/** + * Build the string message + * @param {{ tokenPath: string; error: import('zod').ZodError }} param0 + */ +const buildMessage = ({ tokenPath, error }) => { + const base = `Error validating ${tokenPath}:\n` + return base + error.issues.map(issue => `Issue (${issue.message}) at: ${issue.path.join('->')}`).join('\n') +} + + +class InvalidAdditionalSchemaError extends Error { + constructor({ + tokenPath, + error + }) { + super(buildMessage({tokenPath, error})) + } +} + +module.exports = { + InvalidAdditionalSchemaError +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 1bb06b02..3beb92b9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,113 +1,1234 @@ { "name": "token-registry", "version": "1.0.0", - "lockfileVersion": 1, + "lockfileVersion": 2, "requires": true, + "packages": { + "": { + "name": "token-registry", + "version": "1.0.0", + "license": "LGPL-3.0", + "dependencies": { + "axios": "^1.6.8", + "bignumber.js": "^9.0.0", + "file-system": "2.2.2", + "hash-file": "3.0.0", + "sharp": "^0.32.6", + "thor-devkit": "^2.2.0", + "zod": "^3.24.4" + } + }, + "node_modules/@adraffy/ens-normalize": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz", + "integrity": "sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==", + "license": "MIT" + }, + "node_modules/@noble/curves": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz", + "integrity": "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "1.3.2" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@noble/hashes": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz", + "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==", + "license": "MIT", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@types/node": { + "version": "22.7.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.5.tgz", + "integrity": "sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==", + "license": "MIT", + "dependencies": { + "undici-types": "~6.19.2" + } + }, + "node_modules/aes-js": { + "version": "4.0.0-beta.5", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-4.0.0-beta.5.tgz", + "integrity": "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==", + "license": "MIT" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/axios": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", + "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/b4a": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.6.tgz", + "integrity": "sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==" + }, + "node_modules/bare-events": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.7.0.tgz", + "integrity": "sha512-b3N5eTW1g7vXkw+0CXh/HazGTcO5KYuu/RCNaJbDMPI6LHDi+7qe8EmxKUVe1sUbY2KZOVZFyj62x0OEz9qyAA==" + }, + "node_modules/bare-fs": { + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.4.4.tgz", + "integrity": "sha512-Q8yxM1eLhJfuM7KXVP3zjhBvtMJCYRByoTT+wHXjpdMELv0xICFJX+1w4c7csa+WZEOsq4ItJ4RGwvzid6m/dw==", + "optional": true, + "dependencies": { + "bare-events": "^2.5.4", + "bare-path": "^3.0.0", + "bare-stream": "^2.6.4", + "bare-url": "^2.2.2", + "fast-fifo": "^1.3.2" + }, + "engines": { + "bare": ">=1.16.0" + }, + "peerDependencies": { + "bare-buffer": "*" + }, + "peerDependenciesMeta": { + "bare-buffer": { + "optional": true + } + } + }, + "node_modules/bare-os": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.6.2.tgz", + "integrity": "sha512-T+V1+1srU2qYNBmJCXZkUY5vQ0B4FSlL3QDROnKQYOqeiQR8UbjNHlPa+TIbM4cuidiN9GaTaOZgSEgsvPbh5A==", + "optional": true, + "engines": { + "bare": ">=1.14.0" + } + }, + "node_modules/bare-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz", + "integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==", + "optional": true, + "dependencies": { + "bare-os": "^3.0.1" + } + }, + "node_modules/bare-stream": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.7.0.tgz", + "integrity": "sha512-oyXQNicV1y8nc2aKffH+BUHFRXmx6VrPzlnaEvMhram0nPBrKcEdcyBg5r08D0i8VxngHFAiVyn1QKXpSG0B8A==", + "optional": true, + "dependencies": { + "streamx": "^2.21.0" + }, + "peerDependencies": { + "bare-buffer": "*", + "bare-events": "*" + }, + "peerDependenciesMeta": { + "bare-buffer": { + "optional": true + }, + "bare-events": { + "optional": true + } + } + }, + "node_modules/bare-url": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.2.2.tgz", + "integrity": "sha512-g+ueNGKkrjMazDG3elZO1pNs3HY5+mMmOet1jtKyhOaCnkLzitxf26z7hoAEkDNgdNmnc1KIlt/dw6Po6xZMpA==", + "optional": true, + "dependencies": { + "bare-path": "^3.0.0" + } + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/bignumber.js": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz", + "integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==", + "engines": { + "node": "*" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/blakejs": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", + "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" + }, + "node_modules/bn.js": { + "version": "4.12.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz", + "integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==" + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", + "license": "MIT" + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + }, + "node_modules/color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/detect-libc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/elliptic": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.6.1.tgz", + "integrity": "sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==", + "license": "MIT", + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/ethers": { + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-6.16.0.tgz", + "integrity": "sha512-U1wulmetNymijEhpSEQ7Ct/P/Jw9/e7R1j5XIbPRydgV2DjLVMsULDlNksq3RQnFgKoLlZf88ijYtWEXcPa07A==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/ethers-io/" + }, + { + "type": "individual", + "url": "https://www.buymeacoffee.com/ricmoo" + } + ], + "license": "MIT", + "dependencies": { + "@adraffy/ens-normalize": "1.10.1", + "@noble/curves": "1.2.0", + "@noble/hashes": "1.3.2", + "@types/node": "22.7.5", + "aes-js": "4.0.0-beta.5", + "tslib": "2.7.0", + "ws": "8.17.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/events-universal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/events-universal/-/events-universal-1.0.1.tgz", + "integrity": "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==", + "dependencies": { + "bare-events": "^2.7.0" + } + }, + "node_modules/expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "node_modules/file-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/file-match/-/file-match-1.0.2.tgz", + "integrity": "sha1-ycrSZdLIrfOoFHWw30dYWQafrvc=", + "dependencies": { + "utils-extend": "^1.0.6" + } + }, + "node_modules/file-system": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/file-system/-/file-system-2.2.2.tgz", + "integrity": "sha1-fWWDPjojR9zZVqgTxncVPtPt2Yc=", + "dependencies": { + "file-match": "^1.0.1", + "utils-extend": "^1.0.4" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "node_modules/github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" + }, + "node_modules/hash-file": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hash-file/-/hash-file-3.0.0.tgz", + "integrity": "sha1-2iRBZSFpxgOqtGsMzPU8Dbd2lvM=", + "dependencies": { + "hasha": "^2.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/hasha": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz", + "integrity": "sha1-eNfL/B5tZjA/55g3NlmEUXsvbuE=", + "dependencies": { + "is-stream": "^1.0.1", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "license": "MIT", + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==", + "license": "MIT" + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "license": "ISC" + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==", + "license": "MIT" + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" + }, + "node_modules/napi-build-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", + "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" + }, + "node_modules/node-abi": { + "version": "3.56.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.56.0.tgz", + "integrity": "sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-addon-api": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==" + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/prebuild-install": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz", + "integrity": "sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==", + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^1.0.1", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/prebuild-install/node_modules/tar-fs": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.4.tgz", + "integrity": "sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ==", + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/prebuild-install/node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/rlp": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.6.tgz", + "integrity": "sha512-HAfAmL6SDYNWPUOJNrM500x4Thn4PZsEy5pijPh40U9WfNk0z15hUYzO9xVIMAdIHdFtD8CBDHd75Td1g36Mjg==", + "dependencies": { + "bn.js": "^4.11.1" + }, + "bin": { + "rlp": "bin/rlp" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/sharp": { + "version": "0.32.6", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz", + "integrity": "sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==", + "hasInstallScript": true, + "dependencies": { + "color": "^4.2.3", + "detect-libc": "^2.0.2", + "node-addon-api": "^6.1.0", + "prebuild-install": "^7.1.1", + "semver": "^7.5.4", + "simple-get": "^4.0.1", + "tar-fs": "^3.0.4", + "tunnel-agent": "^0.6.0" + }, + "engines": { + "node": ">=14.15.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/streamx": { + "version": "2.23.0", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.23.0.tgz", + "integrity": "sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==", + "dependencies": { + "events-universal": "^1.0.0", + "fast-fifo": "^1.3.2", + "text-decoder": "^1.1.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tar-fs": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.1.1.tgz", + "integrity": "sha512-LZA0oaPOc2fVo82Txf3gw+AkEd38szODlptMYejQUhndHMLQ9M059uXR+AfS7DNo0NpINvSqDsvyaCrBVkptWg==", + "dependencies": { + "pump": "^3.0.0", + "tar-stream": "^3.1.5" + }, + "optionalDependencies": { + "bare-fs": "^4.0.1", + "bare-path": "^3.0.0" + } + }, + "node_modules/tar-stream": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", + "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", + "dependencies": { + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" + } + }, + "node_modules/text-decoder": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz", + "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==", + "dependencies": { + "b4a": "^1.6.4" + } + }, + "node_modules/thor-devkit": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/thor-devkit/-/thor-devkit-2.2.0.tgz", + "integrity": "sha512-Z9zNSDys84LLscxM27AFMtH3ZclfzsQxg8Jyg7u87N4HoZ6p4YSB2Zs50h+b6h/noIWQXDewll2V31mcM4dd7g==", + "license": "MIT", + "dependencies": { + "bignumber.js": "^7.2.1", + "blakejs": "^1.1.2", + "elliptic": "^6.6.1", + "ethers": "^6.13.0", + "fast-json-stable-stringify": "^2.1.0", + "js-sha3": "0.5.7", + "rlp": "^2.0.0" + } + }, + "node_modules/thor-devkit/node_modules/bignumber.js": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-7.2.1.tgz", + "integrity": "sha512-S4XzBk5sMB+Rcb/LNcpzXr57VRTxgAvaAEDAl1AwRx27j00hT84O6OkteE7u8UB3NuaaygCRrEpqox4uDOrbdQ==", + "engines": { + "node": "*" + } + }, + "node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==", + "license": "0BSD" + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/undici-types": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "license": "MIT" + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/utils-extend": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/utils-extend/-/utils-extend-1.0.8.tgz", + "integrity": "sha1-zP17ZFQPjpDuIe7Fd2nQZRyril8=" + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/ws": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/zod": { + "version": "3.24.4", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.24.4.tgz", + "integrity": "sha512-OdqJE9UDRPwWsrHjLN2F8bPxvwJBK22EHLWtanu0LSYr5YqzsaaW3RMgmjwr8Rypg5k+meEJdSPXJZXE/yqOMg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + } + }, "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + "@adraffy/ens-normalize": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz", + "integrity": "sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==" }, - "aproba": { + "@noble/curves": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.2.0.tgz", + "integrity": "sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==", + "requires": { + "@noble/hashes": "1.3.2" + } + }, + "@noble/hashes": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz", + "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==" }, - "are-we-there-yet": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", - "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "@types/node": { + "version": "22.7.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.5.tgz", + "integrity": "sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==", "requires": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" + "undici-types": "~6.19.2" } }, - "bl": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.2.tgz", - "integrity": "sha512-e8tQYnZodmebYDWGH7KMRvtzKXaJHx3BbilrgZCfvyLUYdKpK1t5PSPmpkny/SgiTSCnjfLW7v5rlONXVFkQEA==", + "aes-js": { + "version": "4.0.0-beta.5", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-4.0.0-beta.5.tgz", + "integrity": "sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "axios": { + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", + "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", "requires": { - "readable-stream": "^2.3.5", - "safe-buffer": "^5.1.1" + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" } }, - "buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "b4a": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.6.tgz", + "integrity": "sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==" + }, + "bare-events": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.7.0.tgz", + "integrity": "sha512-b3N5eTW1g7vXkw+0CXh/HazGTcO5KYuu/RCNaJbDMPI6LHDi+7qe8EmxKUVe1sUbY2KZOVZFyj62x0OEz9qyAA==" + }, + "bare-fs": { + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.4.4.tgz", + "integrity": "sha512-Q8yxM1eLhJfuM7KXVP3zjhBvtMJCYRByoTT+wHXjpdMELv0xICFJX+1w4c7csa+WZEOsq4ItJ4RGwvzid6m/dw==", + "optional": true, "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" + "bare-events": "^2.5.4", + "bare-path": "^3.0.0", + "bare-stream": "^2.6.4", + "bare-url": "^2.2.2", + "fast-fifo": "^1.3.2" } }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" + "bare-os": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.6.2.tgz", + "integrity": "sha512-T+V1+1srU2qYNBmJCXZkUY5vQ0B4FSlL3QDROnKQYOqeiQR8UbjNHlPa+TIbM4cuidiN9GaTaOZgSEgsvPbh5A==", + "optional": true }, - "buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" + "bare-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz", + "integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==", + "optional": true, + "requires": { + "bare-os": "^3.0.1" + } }, - "chownr": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.1.tgz", - "integrity": "sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==" + "bare-stream": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.7.0.tgz", + "integrity": "sha512-oyXQNicV1y8nc2aKffH+BUHFRXmx6VrPzlnaEvMhram0nPBrKcEdcyBg5r08D0i8VxngHFAiVyn1QKXpSG0B8A==", + "optional": true, + "requires": { + "streamx": "^2.21.0" + } + }, + "bare-url": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.2.2.tgz", + "integrity": "sha512-g+ueNGKkrjMazDG3elZO1pNs3HY5+mMmOet1jtKyhOaCnkLzitxf26z7hoAEkDNgdNmnc1KIlt/dw6Po6xZMpA==", + "optional": true, + "requires": { + "bare-path": "^3.0.0" + } + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "bignumber.js": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.0.tgz", + "integrity": "sha512-t/OYhhJ2SD+YGBQcjY8GzzDHEk9f3nerxjtfa6tlMXfe7frs/WozhvCNoGvpM0P3bNf3Gq5ZRMlGr5f3r4/N8A==" + }, + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } }, - "code-point-at": { + "blakejs": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", + "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" + }, + "bn.js": { + "version": "4.12.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.3.tgz", + "integrity": "sha512-fGTi3gxV/23FTYdAoUtLYp6qySe2KE3teyZitipKNRuVYcBkoP/bB3guXN/XVKUe9mxCHXnc9C4ocyz8OmgN0g==" + }, + "brorand": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==" + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" }, "color": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz", - "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", "requires": { - "color-convert": "^1.9.1", - "color-string": "^1.5.2" + "color-convert": "^2.0.1", + "color-string": "^1.9.0" } }, "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "requires": { - "color-name": "1.1.3" + "color-name": "~1.1.4" } }, "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "color-string": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz", - "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==", + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", "requires": { "color-name": "^1.0.0", "simple-swizzle": "^0.2.2" } }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } }, "decompress-response": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", - "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", "requires": { - "mimic-response": "^1.0.0" + "mimic-response": "^3.1.0" } }, "deep-extend": { @@ -115,29 +1236,75 @@ "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" }, - "delegates": { + "delayed-stream": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" }, "detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==" + }, + "elliptic": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.6.1.tgz", + "integrity": "sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==", + "requires": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } }, "end-of-stream": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", - "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "requires": { "once": "^1.4.0" } }, + "ethers": { + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-6.16.0.tgz", + "integrity": "sha512-U1wulmetNymijEhpSEQ7Ct/P/Jw9/e7R1j5XIbPRydgV2DjLVMsULDlNksq3RQnFgKoLlZf88ijYtWEXcPa07A==", + "requires": { + "@adraffy/ens-normalize": "1.10.1", + "@noble/curves": "1.2.0", + "@noble/hashes": "1.3.2", + "@types/node": "22.7.5", + "aes-js": "4.0.0-beta.5", + "tslib": "2.7.0", + "ws": "8.17.1" + } + }, + "events-universal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/events-universal/-/events-universal-1.0.1.tgz", + "integrity": "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==", + "requires": { + "bare-events": "^2.7.0" + } + }, "expand-template": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==" }, + "fast-fifo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz", + "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==" + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, "file-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/file-match/-/file-match-1.0.2.tgz", @@ -155,48 +1322,30 @@ "utils-extend": "^1.0.4" } }, - "fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "fs-copy-file-sync": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/fs-copy-file-sync/-/fs-copy-file-sync-1.1.1.tgz", - "integrity": "sha512-2QY5eeqVv4m2PfyMiEuy9adxNP+ajf+8AR05cEi+OAzPcOj90hvFImeZhTmKLBgSd9EvG33jsD7ZRxsx9dThkQ==" + "follow-redirects": { + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==" }, - "fs-minipass": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.6.tgz", - "integrity": "sha512-crhvyXcMejjv3Z5d2Fa9sf5xLYVCF5O1c71QxbVnbLsmYMBEvDAftewesN/HhY03YRoA7zOMxjNGrF5svGaaeQ==", + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "requires": { - "minipass": "^2.2.1" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" } }, - "gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "requires": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" }, "github-from-package": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=" - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" }, "hash-file": { "version": "3.0.0", @@ -206,6 +1355,15 @@ "hasha": "^2.2.0" } }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, "hasha": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz", @@ -215,145 +1373,118 @@ "pinkie-promise": "^2.0.0" } }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" }, "is-arrayish": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": { - "number-is-nan": "^1.0.0" - } - }, "is-stream": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "mimic-response": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz", - "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==" + "js-sha3": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", + "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==" }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" - }, - "minipass": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.3.5.tgz", - "integrity": "sha512-Gi1W4k059gyRbyVUZQ4mEqLm0YIUiGYfvxhF6SIlk3ui1WVxMTGfGdQ2SInh3PDrRTVvPKgULkpJtT4RH10+VA==", + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" + "yallist": "^4.0.0" } }, - "minizlib": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.2.1.tgz", - "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==", - "requires": { - "minipass": "^2.2.1" - } + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" - } + "mime-db": "1.52.0" } }, - "nan": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", - "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==" + "mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==" }, - "napi-build-utils": { + "minimalistic-assert": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.1.tgz", - "integrity": "sha512-boQj1WFgQH3v4clhu3mTNfP+vOBxorDlE8EKiMjUlLG3C4qAESnn9AxIOkFgTR2c9LtzNjPrjS60cT27ZKBhaA==" + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" }, - "node-abi": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.8.0.tgz", - "integrity": "sha512-1/aa2clS0pue0HjckL62CsbhWWU35HARvBDXcJtYKbYR7LnIutmpxmXbuDMV9kEviD2lP/wACOgWmmwljghHyQ==", - "requires": { - "semver": "^5.4.1" - }, - "dependencies": { - "semver": { - "version": "5.7.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", - "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==" - } - } + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==" + }, + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" + }, + "mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" }, - "noop-logger": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz", - "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=" + "napi-build-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", + "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" }, - "npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "node-abi": { + "version": "3.56.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.56.0.tgz", + "integrity": "sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==", "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" + "semver": "^7.3.5" } }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + "node-addon-api": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==" }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "requires": { "wrappy": "1" } }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" - }, "pinkie": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", @@ -368,49 +1499,58 @@ } }, "prebuild-install": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.3.0.tgz", - "integrity": "sha512-aaLVANlj4HgZweKttFNUVNRxDukytuIuxeK2boIMHjagNJCiVKWFsKF4tCE3ql3GbrD2tExPQ7/pwtEJcHNZeg==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz", + "integrity": "sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==", "requires": { - "detect-libc": "^1.0.3", + "detect-libc": "^2.0.0", "expand-template": "^2.0.3", "github-from-package": "0.0.0", - "minimist": "^1.2.0", - "mkdirp": "^0.5.1", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", "napi-build-utils": "^1.0.1", - "node-abi": "^2.7.0", - "noop-logger": "^0.1.1", - "npmlog": "^4.0.1", - "os-homedir": "^1.0.1", - "pump": "^2.0.1", + "node-abi": "^3.3.0", + "pump": "^3.0.0", "rc": "^1.2.7", - "simple-get": "^2.7.0", - "tar-fs": "^1.13.0", - "tunnel-agent": "^0.6.0", - "which-pm-runs": "^1.0.0" + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" }, "dependencies": { - "simple-get": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.8.1.tgz", - "integrity": "sha512-lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw==", + "tar-fs": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.4.tgz", + "integrity": "sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ==", + "requires": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", "requires": { - "decompress-response": "^3.3.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" } } } }, - "process-nextick-args": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", - "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" }, "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "requires": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -428,67 +1568,62 @@ } }, "readable-stream": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "rlp": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.6.tgz", + "integrity": "sha512-HAfAmL6SDYNWPUOJNrM500x4Thn4PZsEy5pijPh40U9WfNk0z15hUYzO9xVIMAdIHdFtD8CBDHd75Td1g36Mjg==", + "requires": { + "bn.js": "^4.11.1" } }, "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" }, "semver": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.1.1.tgz", - "integrity": "sha512-rWYq2e5iYW+fFe/oPPtYJxYgjBm8sC4rmoGdUOgBB7VnwKt6HrL793l2voH1UlsyYZpJ4g0wfjnTEO1s1NP2eQ==" - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "requires": { + "lru-cache": "^6.0.0" + } }, "sharp": { - "version": "0.22.1", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.22.1.tgz", - "integrity": "sha512-lXzSk/FL5b/MpWrT1pQZneKe25stVjEbl6uhhJcTULm7PhmJgKKRbTDM/vtjyUuC/RLqL2PRyC4rpKwbv3soEw==", - "requires": { - "color": "^3.1.1", - "detect-libc": "^1.0.3", - "fs-copy-file-sync": "^1.1.1", - "nan": "^2.13.2", - "npmlog": "^4.1.2", - "prebuild-install": "^5.3.0", - "semver": "^6.0.0", - "simple-get": "^3.0.3", - "tar": "^4.4.8", + "version": "0.32.6", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.32.6.tgz", + "integrity": "sha512-KyLTWwgcR9Oe4d9HwCwNM2l7+J0dUQwn/yf7S0EnTtb0eVS4RxO0eUSvxPtzT4F3SY+C4K6fqdv/DO27sJ/v/w==", + "requires": { + "color": "^4.2.3", + "detect-libc": "^2.0.2", + "node-addon-api": "^6.1.0", + "prebuild-install": "^7.1.1", + "semver": "^7.5.4", + "simple-get": "^4.0.1", + "tar-fs": "^3.0.4", "tunnel-agent": "^0.6.0" } }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" - }, "simple-concat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz", - "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==" }, "simple-get": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.0.3.tgz", - "integrity": "sha512-Wvre/Jq5vgoz31Z9stYWPLn0PqRqmBDpFSdypAnHu5AvRVCYPRYGnvryNLiXu8GOBNDH82J2FRHUGMjjHUpXFw==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", "requires": { - "decompress-response": "^3.3.0", + "decompress-response": "^6.0.0", "once": "^1.3.1", "simple-concat": "^1.0.0" } @@ -496,142 +1631,132 @@ "simple-swizzle": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", "requires": { "is-arrayish": "^0.3.1" } }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "streamx": { + "version": "2.23.0", + "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.23.0.tgz", + "integrity": "sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==", "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "events-universal": "^1.0.0", + "fast-fifo": "^1.3.2", + "text-decoder": "^1.1.0" } }, "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "^2.0.0" + "safe-buffer": "~5.2.0" } }, "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==" }, - "tar": { - "version": "4.4.10", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.10.tgz", - "integrity": "sha512-g2SVs5QIxvo6OLp0GudTqEf05maawKUxXru104iaayWA09551tFCTI8f1Asb4lPfkBr91k07iL4c11XO3/b0tA==", + "tar-fs": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.1.1.tgz", + "integrity": "sha512-LZA0oaPOc2fVo82Txf3gw+AkEd38szODlptMYejQUhndHMLQ9M059uXR+AfS7DNo0NpINvSqDsvyaCrBVkptWg==", "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.3.5", - "minizlib": "^1.2.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.3" + "bare-fs": "^4.0.1", + "bare-path": "^3.0.0", + "pump": "^3.0.0", + "tar-stream": "^3.1.5" } }, - "tar-fs": { - "version": "1.16.3", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.3.tgz", - "integrity": "sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw==", + "tar-stream": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz", + "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==", "requires": { - "chownr": "^1.0.1", - "mkdirp": "^0.5.1", - "pump": "^1.0.0", - "tar-stream": "^1.1.2" - }, - "dependencies": { - "pump": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.3.tgz", - "integrity": "sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } + "b4a": "^1.6.4", + "fast-fifo": "^1.2.0", + "streamx": "^2.15.0" } }, - "tar-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", - "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "text-decoder": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz", + "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==", "requires": { - "bl": "^1.0.0", - "buffer-alloc": "^1.2.0", - "end-of-stream": "^1.0.0", - "fs-constants": "^1.0.0", - "readable-stream": "^2.3.0", - "to-buffer": "^1.1.1", - "xtend": "^4.0.0" + "b4a": "^1.6.4" + } + }, + "thor-devkit": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/thor-devkit/-/thor-devkit-2.2.0.tgz", + "integrity": "sha512-Z9zNSDys84LLscxM27AFMtH3ZclfzsQxg8Jyg7u87N4HoZ6p4YSB2Zs50h+b6h/noIWQXDewll2V31mcM4dd7g==", + "requires": { + "bignumber.js": "^7.2.1", + "blakejs": "^1.1.2", + "elliptic": "^6.6.1", + "ethers": "^6.13.0", + "fast-json-stable-stringify": "^2.1.0", + "js-sha3": "0.5.7", + "rlp": "^2.0.0" + }, + "dependencies": { + "bignumber.js": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-7.2.1.tgz", + "integrity": "sha512-S4XzBk5sMB+Rcb/LNcpzXr57VRTxgAvaAEDAl1AwRx27j00hT84O6OkteE7u8UB3NuaaygCRrEpqox4uDOrbdQ==" + } } }, - "to-buffer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" + "tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==" }, "tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", "requires": { "safe-buffer": "^5.0.1" } }, + "undici-types": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==" + }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "utils-extend": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/utils-extend/-/utils-extend-1.0.8.tgz", "integrity": "sha1-zP17ZFQPjpDuIe7Fd2nQZRyril8=" }, - "which-pm-runs": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz", - "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=" - }, - "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "requires": { - "string-width": "^1.0.2 || 2" - } - }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, - "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" + "ws": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", + "requires": {} }, "yallist": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz", - "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "zod": { + "version": "3.24.4", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.24.4.tgz", + "integrity": "sha512-OdqJE9UDRPwWsrHjLN2F8bPxvwJBK22EHLWtanu0LSYr5YqzsaaW3RMgmjwr8Rypg5k+meEJdSPXJZXE/yqOMg==" } } } diff --git a/package.json b/package.json index 1eb812dd..fce1f795 100644 --- a/package.json +++ b/package.json @@ -28,8 +28,12 @@ }, "homepage": "https://github.com/AsbertMa/token-registry#readme", "dependencies": { + "axios": "^1.6.8", + "bignumber.js": "^9.0.0", "file-system": "2.2.2", "hash-file": "3.0.0", - "sharp": "0.22.1" + "sharp": "^0.32.6", + "thor-devkit": "^2.2.0", + "zod": "^3.24.4" } } diff --git a/script.js b/script.js index ee019fec..dddb7378 100644 --- a/script.js +++ b/script.js @@ -1,123 +1,171 @@ -const file = require('file-system') -const fs = require('fs') -const path = require('path') -const hashName = require('hash-file') -const { exec } = require('child_process') -const { getTokens, redFont, greenFont, yellowFont } = require('./utils') - -const NET_FOLDERS = require('./const').NETS - -const DIST = path.join(__dirname, './dist') -const ASSETS = path.join(DIST, 'assets') +const axios = require("axios"); +const file = require("file-system"); +const fs = require("fs"); +const path = require("path"); +const hashName = require("hash-file"); +const { exec } = require("child_process"); +const BN = require("bignumber.js"); +const { abi } = require("thor-devkit"); +const { getTokens, redFont, greenFont, yellowFont } = require("./utils"); +const { z, ZodError } = require("zod"); +const { NETS: NET_FOLDERS, NODES, additionalSchema } = require("./const"); +const abis = require("./abis"); +const { verifyContract, getContractDetails } = require("./contract"); +const { InvalidAdditionalSchemaError } = require("./error"); + +const DIST = path.join(__dirname, "./dist"); +const ASSETS = path.join(DIST, "assets"); const clear = () => { - console.time(greenFont('clean')) + console.time(greenFont("clean")); - let hasDist = true + let hasDist = true; try { - fs.statSync(DIST) + fs.statSync(DIST); } catch (error) { - hasDist = false + hasDist = false; } if (hasDist) { - file.rmdirSync(DIST) + file.rmdirSync(DIST); } - console.timeEnd(greenFont('clean')) -} + console.timeEnd(greenFont("clean")); +}; async function packToken(net) { - console.time(greenFont(`build-${net}-tokens`)) + console.time(greenFont(`build-${net}-tokens`)); - const folder = path.join(__dirname, `./tokens/${NET_FOLDERS[net]}`) - const infos = await getTokensInfo(folder) - let result = [] + const folder = path.join(__dirname, `./tokens/${NET_FOLDERS[net]}`); + const infos = await getTokensInfo(folder); + let result = []; const listJson = infos .sort((a, b) => { if (a.createTime < b.createTime) { - return -1 + return -1; } else { - return 1 + return 1; } }) - .map(item => { + .map((item) => { return { ...item, - imgName: rename(item.img) + '.png' - } - }) - - file.mkdirSync(ASSETS) - - listJson.forEach(item => { - file.copyFileSync(item.img, path.join(ASSETS, `${item.imgName}`)) + imgName: rename(item.img) + ".png", + }; + }); + + file.mkdirSync(ASSETS); + + for (let i = 0; i < listJson.length; i++) { + const item = listJson[i]; + + const { name, symbol, decimals, totalSupply } = await getContractDetails( + item.address, + NODES[net] + ); + + if (name !== item.name) + throw new Error( + `name does not match contract name (info=${item.name}, contract=${name})` + ); + if (symbol !== item.symbol) + throw new Error( + `symbol does not match contract symbol (info=${item.symbol}, contract=${symbol})` + ); + if (decimals !== item.decimals) + throw new Error( + `decimals does not match contract decimals (info=${item.decimals}, contract=${decimals})` + ); + + await verifyContract(item.address, NODES[net]); + + file.copyFileSync(item.img, path.join(ASSETS, `${item.imgName}`)); result.push({ - name: item.name, - symbol: item.symbol, - decimals: item.decimals, + name, + symbol, + decimals, address: item.address, desc: item.desc, - icon: item.imgName - }) - }) + icon: item.imgName, + totalSupply: item.symbol === "VTHO" ? "Infinite" : totalSupply, + ...item.extra, + }); + } console.table(listJson, [ - 'name', - 'symbol', - 'decimals', - 'address', - 'createTime' - ]) + "name", + "symbol", + "decimals", + "address", + "createTime", + ]); file.writeFileSync( path.join(__dirname, `./dist/${net}.json`), JSON.stringify(result, null, 2) - ) - console.timeEnd(greenFont(`build-${net}-tokens`)) + ); + console.timeEnd(greenFont(`build-${net}-tokens`)); } function rename(img) { - return hashName.sync(img) + return hashName.sync(img); } async function getTokensInfo(folder) { - const tokens = getTokens(folder) - const result = [] + const tokens = getTokens(folder); + const result = []; for (let i = 0; i < tokens.length; i++) { - const item = tokens[i] - result.push(await tokenInfo(path.join(folder, item), item.toLowerCase())) + const item = tokens[i]; + result.push(await tokenInfo(path.join(folder, item), item.toLowerCase())); } - return result + return result; } + async function tokenInfo(tokenPath, address) { - const file = path.join(tokenPath, 'info.json') - const img = path.join(tokenPath, 'token.png') - const info = require(file) - info.img = img - info.createTime = await getCreateTimeFromGit(tokenPath) - info.address = address - return info + const files = file.readdirSync(tokenPath); + const infoFile = path.join(tokenPath, "info.json"); + const img = path.join(tokenPath, "token.png"); + const info = require(infoFile); + let extraInfo = null; + if (files.includes("additional.json")) { + const additionalPath = path.join(tokenPath, "additional.json") + try { + extraInfo = additionalSchema.parse( + require(additionalPath) + ); + } catch(error) { + if (error instanceof ZodError) { + throw new InvalidAdditionalSchemaError({ tokenPath: additionalPath, error }) + } + throw error + } + } + info.img = img; + info.createTime = await getCreateTimeFromGit(tokenPath); + info.address = address; + info.extra = extraInfo; + + return info; } async function getCreateTimeFromGit(dirPath) { const command = - 'git log --diff-filter=A --follow --format=%aD -1 -- [path] | head -1' + "git log --diff-filter=A --follow --format=%aD -- [path] | tail -1"; return new Promise((resolve, reject) => { - exec(command.replace('[path]', dirPath), (err, stdout, stderr) => { - if (err) return reject(err) - if (stderr) return reject(stderr) + exec(command.replace("[path]", dirPath), (err, stdout, stderr) => { + if (err) return reject(err); + if (stderr) return reject(stderr); if (!stdout) return reject( - new Error('Can not find create time from git for dir: ' + dirPath) - ) - return resolve(new Date(stdout)) - }) - }) + new Error("Can not find create time from git for dir: " + dirPath) + ); + return resolve(new Date(stdout)); + }); + }); } module.exports = { clean: clear, - build: packToken -} + build: packToken, +}; diff --git a/tokens/main/0x0000000000000000000000000000456e65726779/additional.json b/tokens/main/0x0000000000000000000000000000456e65726779/additional.json new file mode 100644 index 00000000..4ad60f7d --- /dev/null +++ b/tokens/main/0x0000000000000000000000000000456e65726779/additional.json @@ -0,0 +1,10 @@ +{ + "website":"https://www.vechain.org/", + "links":{ + "twitter":"https://x.com/vechainofficial", + "medium":"https://medium.com/@vechainofficial", + "github":"https://github.com/vechain", + "telegram":"https://t.me/vechainandfriends" + }, + "whitePaper":"https://www.vechain.org/whitepaper/" +} \ No newline at end of file diff --git a/tokens/main/0x0000000000000000000000000000456e65726779/info.json b/tokens/main/0x0000000000000000000000000000456e65726779/info.json index 86a98b56..001be828 100644 --- a/tokens/main/0x0000000000000000000000000000456e65726779/info.json +++ b/tokens/main/0x0000000000000000000000000000456e65726779/info.json @@ -2,5 +2,5 @@ "name": "VeThor", "symbol": "VTHO", "decimals": 18, - "desc": "Represents the underlying cost of using VeChainThor" + "desc": "VTHO is the energy or “gas” token of the VeChainThor blockchain, used to pay for transactions, smart contracts and other types of network activity. It enables predictable and stable transaction costs, a key feature of VeChain’s dual-token system.\n\nVTHO is generated through the staking of VET and is distributed as rewards to validators and delegators who help secure the network. The VeChainThor blockchain employs a dynamic gas fee mechanism, where 100% of the VTHO used in transactions as the base fee is burned, balancing supply and demand to maintain sustainable network economics." } diff --git a/tokens/main/0x0000000000000000000000000000456e65726779/token.png b/tokens/main/0x0000000000000000000000000000456e65726779/token.png index 224624ba..1356a30a 100644 Binary files a/tokens/main/0x0000000000000000000000000000456e65726779/token.png and b/tokens/main/0x0000000000000000000000000000456e65726779/token.png differ diff --git a/tokens/main/0x02de9e580b51907a471d78ccfb2e8abe4c6b7515/additional.json b/tokens/main/0x02de9e580b51907a471d78ccfb2e8abe4c6b7515/additional.json new file mode 100644 index 00000000..3a8d6f81 --- /dev/null +++ b/tokens/main/0x02de9e580b51907a471d78ccfb2e8abe4c6b7515/additional.json @@ -0,0 +1,6 @@ +{ + "website":"https://www.myvechain.com/", + "links":{ + "twitter":"https://twitter.com/myvechain" + } +} diff --git a/tokens/main/0x02de9e580b51907a471d78ccfb2e8abe4c6b7515/info.json b/tokens/main/0x02de9e580b51907a471d78ccfb2e8abe4c6b7515/info.json new file mode 100644 index 00000000..7a06151e --- /dev/null +++ b/tokens/main/0x02de9e580b51907a471d78ccfb2e8abe4c6b7515/info.json @@ -0,0 +1,6 @@ +{ + "name": "MyVeChain", + "symbol": "MVC", + "decimals":18, + "desc": "Utility token for the myvechain.com community website" +} diff --git a/tokens/main/0x02de9e580b51907a471d78ccfb2e8abe4c6b7515/token.png b/tokens/main/0x02de9e580b51907a471d78ccfb2e8abe4c6b7515/token.png new file mode 100644 index 00000000..3d586ca5 Binary files /dev/null and b/tokens/main/0x02de9e580b51907a471d78ccfb2e8abe4c6b7515/token.png differ diff --git a/tokens/main/0x094042f9719cd6736fa3bd45b605b1b2a23abdec/additional.json b/tokens/main/0x094042f9719cd6736fa3bd45b605b1b2a23abdec/additional.json new file mode 100644 index 00000000..6c9a9d8f --- /dev/null +++ b/tokens/main/0x094042f9719cd6736fa3bd45b605b1b2a23abdec/additional.json @@ -0,0 +1,6 @@ +{ + "website":"https://www.odee.com/ ", + "links":{ + "twitter":"https://twitter.com/VyvoSmartChain" + } +} \ No newline at end of file diff --git a/tokens/main/0x094042f9719cd6736fa3bd45b605b1b2a23abdec/info.json b/tokens/main/0x094042f9719cd6736fa3bd45b605b1b2a23abdec/info.json new file mode 100644 index 00000000..4724eca6 --- /dev/null +++ b/tokens/main/0x094042f9719cd6736fa3bd45b605b1b2a23abdec/info.json @@ -0,0 +1,6 @@ +{ + "name": "Vyvo US Dollar", + "symbol": "USDV", + "decimals": 6, + "desc": "A fiat-backed stablecoin redeemable 1-to-1 for U.S Dollar held in trust accounts." +} \ No newline at end of file diff --git a/tokens/main/0x094042f9719cd6736fa3bd45b605b1b2a23abdec/token.png b/tokens/main/0x094042f9719cd6736fa3bd45b605b1b2a23abdec/token.png new file mode 100644 index 00000000..85f95267 Binary files /dev/null and b/tokens/main/0x094042f9719cd6736fa3bd45b605b1b2a23abdec/token.png differ diff --git a/tokens/main/0x0bd802635eb9ceb3fcbe60470d2857b86841aab6/additional.json b/tokens/main/0x0bd802635eb9ceb3fcbe60470d2857b86841aab6/additional.json new file mode 100644 index 00000000..9f4ed08b --- /dev/null +++ b/tokens/main/0x0bd802635eb9ceb3fcbe60470d2857b86841aab6/additional.json @@ -0,0 +1,9 @@ +{ + "website":"https://vexchange.io/", + "links":{ + "twitter":"https://twitter.com/VexchangeIO", + "telegram":"https://t.me/vexchange", + "medium":"https://medium.com/@vexchange", + "github":"https://github.com/vexchange/" + } +} \ No newline at end of file diff --git a/tokens/main/0x0bd802635eb9ceb3fcbe60470d2857b86841aab6/info.json b/tokens/main/0x0bd802635eb9ceb3fcbe60470d2857b86841aab6/info.json new file mode 100644 index 00000000..1aada765 --- /dev/null +++ b/tokens/main/0x0bd802635eb9ceb3fcbe60470d2857b86841aab6/info.json @@ -0,0 +1,6 @@ +{ + "name": "Vexchange", + "symbol": "VEX", + "decimals": 18, + "desc": "Governance Token for the Vexchange Ecosystem" +} diff --git a/tokens/main/0x0bd802635eb9ceb3fcbe60470d2857b86841aab6/token.png b/tokens/main/0x0bd802635eb9ceb3fcbe60470d2857b86841aab6/token.png new file mode 100644 index 00000000..45f26cc5 Binary files /dev/null and b/tokens/main/0x0bd802635eb9ceb3fcbe60470d2857b86841aab6/token.png differ diff --git a/tokens/main/0x0bf03b87b2bdd0b3907657115832ec6da5193305/additional.json b/tokens/main/0x0bf03b87b2bdd0b3907657115832ec6da5193305/additional.json new file mode 100644 index 00000000..73fab68f --- /dev/null +++ b/tokens/main/0x0bf03b87b2bdd0b3907657115832ec6da5193305/additional.json @@ -0,0 +1,6 @@ +{ + "links":{ + "twitter":"https://x.com/vaiyansworld", + "website":"www.vaiyansworld.com" + } + } \ No newline at end of file diff --git a/tokens/main/0x0bf03b87b2bdd0b3907657115832ec6da5193305/info.json b/tokens/main/0x0bf03b87b2bdd0b3907657115832ec6da5193305/info.json new file mode 100644 index 00000000..9b183282 --- /dev/null +++ b/tokens/main/0x0bf03b87b2bdd0b3907657115832ec6da5193305/info.json @@ -0,0 +1,6 @@ +{ + "name": "VENI", + "symbol": "VENI", + "decimals": 18, + "desc": "VeChains most powerfull Meme Coin, Leveling up the warrios within the ecosystem." + } \ No newline at end of file diff --git a/tokens/main/0x0bf03b87b2bdd0b3907657115832ec6da5193305/token.png b/tokens/main/0x0bf03b87b2bdd0b3907657115832ec6da5193305/token.png new file mode 100644 index 00000000..e9d7b3f4 Binary files /dev/null and b/tokens/main/0x0bf03b87b2bdd0b3907657115832ec6da5193305/token.png differ diff --git a/tokens/main/0x0ce6661b4ba86a0ea7ca2bd86a0de87b0b860f14/info.json b/tokens/main/0x0ce6661b4ba86a0ea7ca2bd86a0de87b0b860f14/info.json index 23319a68..ca94f353 100644 --- a/tokens/main/0x0ce6661b4ba86a0ea7ca2bd86a0de87b0b860f14/info.json +++ b/tokens/main/0x0ce6661b4ba86a0ea7ca2bd86a0de87b0b860f14/info.json @@ -1,5 +1,5 @@ { - "name": "OceanEx", + "name": "OceanEx Token", "symbol": "OCE", "decimals": 18, "desc": "OceanEx Token (OCE) is OceanEx's platform token" diff --git a/tokens/main/0x107a0b0faeb58c1fdef97f37f50e319833ad1b94/additional.json b/tokens/main/0x107a0b0faeb58c1fdef97f37f50e319833ad1b94/additional.json new file mode 100644 index 00000000..1d74bc73 --- /dev/null +++ b/tokens/main/0x107a0b0faeb58c1fdef97f37f50e319833ad1b94/additional.json @@ -0,0 +1,7 @@ +{ + "website": "https://www.DragonsofSingapura.com/", + "links": { + "twitter": "https://twitter.com/Dragonsingapura", + "github": "https://github.com/Murtagh300" + } +} \ No newline at end of file diff --git a/tokens/main/0x107a0b0faeb58c1fdef97f37f50e319833ad1b94/info.json b/tokens/main/0x107a0b0faeb58c1fdef97f37f50e319833ad1b94/info.json new file mode 100644 index 00000000..128944eb --- /dev/null +++ b/tokens/main/0x107a0b0faeb58c1fdef97f37f50e319833ad1b94/info.json @@ -0,0 +1,6 @@ +{ + "name": "Dragon Coin", + "symbol": "DRAGON", + "decimals": 18, + "desc": "The main currency used For Staking and evolving your Dragon egg. Dragons of Singapura. Will also be used for future nft drops within Singapura" +} diff --git a/tokens/main/0x107a0b0faeb58c1fdef97f37f50e319833ad1b94/token.png b/tokens/main/0x107a0b0faeb58c1fdef97f37f50e319833ad1b94/token.png new file mode 100644 index 00000000..8c7ad182 Binary files /dev/null and b/tokens/main/0x107a0b0faeb58c1fdef97f37f50e319833ad1b94/token.png differ diff --git a/tokens/main/0x170f4ba8e7acf6510f55db26047c83d13498af8a/additional.json b/tokens/main/0x170f4ba8e7acf6510f55db26047c83d13498af8a/additional.json new file mode 100644 index 00000000..d89463d7 --- /dev/null +++ b/tokens/main/0x170f4ba8e7acf6510f55db26047c83d13498af8a/additional.json @@ -0,0 +1,10 @@ +{ + "website":"https://www.worldofv.art/", + "links":{ + "twitter":"https://twitter.com/WorldOfV2", + "telegram":"https://t.me/worldofvofficial", + "medium":"https://medium.com/@WorldofV" + }, + "whitePaper":"https://medium.com/@WorldofV/world-of-v-tokenomics-the-beginning-of-our-journey-together-d428907c22af" + } + \ No newline at end of file diff --git a/tokens/main/0x170f4ba8e7acf6510f55db26047c83d13498af8a/info.json b/tokens/main/0x170f4ba8e7acf6510f55db26047c83d13498af8a/info.json new file mode 100644 index 00000000..7178a967 --- /dev/null +++ b/tokens/main/0x170f4ba8e7acf6510f55db26047c83d13498af8a/info.json @@ -0,0 +1,6 @@ +{ + "name": "WorldOfV", + "symbol": "WoV", + "decimals": 18, + "desc": "WoV is the ecosystem utility and governance token of WorldOfV." +} \ No newline at end of file diff --git a/tokens/main/0x170f4ba8e7acf6510f55db26047c83d13498af8a/token.png b/tokens/main/0x170f4ba8e7acf6510f55db26047c83d13498af8a/token.png new file mode 100644 index 00000000..41b58adb Binary files /dev/null and b/tokens/main/0x170f4ba8e7acf6510f55db26047c83d13498af8a/token.png differ diff --git a/tokens/main/0x1b44a9718e12031530604137f854160759677192/additional.json b/tokens/main/0x1b44a9718e12031530604137f854160759677192/additional.json new file mode 100644 index 00000000..7a45d8b8 --- /dev/null +++ b/tokens/main/0x1b44a9718e12031530604137f854160759677192/additional.json @@ -0,0 +1,7 @@ +{ + "website":"https://www.madiniafricainvest.com/", + "links":{ + "github":"https://github.com/Bluegate-BS" + }, + "whitePaper":"https://www.madiniafricainvest.com/whitepaper/MadiniWhitepaper112020.pdf" +} diff --git a/tokens/main/0x1b44a9718e12031530604137f854160759677192/info.json b/tokens/main/0x1b44a9718e12031530604137f854160759677192/info.json new file mode 100644 index 00000000..ca629a81 --- /dev/null +++ b/tokens/main/0x1b44a9718e12031530604137f854160759677192/info.json @@ -0,0 +1,6 @@ + { + "name": "Madini", + "symbol": "MDN", + "decimals":18, + "desc": "MDN is the Madini VeChain Vip180 token that is used to carry value or 'smart money' from Madini smart contracts. In other words, transactions on decentralized applications occurring on Madini VeChain's blockchain will use MDN. It is available for investing by the general public. MDN token is the Madini utility token in our Ecosystem since it is linked to the Madini Minerals Marketplace, to the Madini VeChain Wallet - Android APP - and other Madini VeChain dApps." + } diff --git a/tokens/main/0x1b44a9718e12031530604137f854160759677192/token.png b/tokens/main/0x1b44a9718e12031530604137f854160759677192/token.png new file mode 100644 index 00000000..a8ac56fd Binary files /dev/null and b/tokens/main/0x1b44a9718e12031530604137f854160759677192/token.png differ diff --git a/tokens/main/0x1b8ec6c2a45cca481da6f243df0d7a5744afc1f8/info.json b/tokens/main/0x1b8ec6c2a45cca481da6f243df0d7a5744afc1f8/info.json index 9baf7d0c..f4a1b25b 100644 --- a/tokens/main/0x1b8ec6c2a45cca481da6f243df0d7a5744afc1f8/info.json +++ b/tokens/main/0x1b8ec6c2a45cca481da6f243df0d7a5744afc1f8/info.json @@ -1,5 +1,5 @@ { - "name": "Decent.bet", + "name": "Decent.bet Token", "symbol": "DBET", "decimals": 18, "desc": "DECENT.bet is an open-source p2p gaming platform built on the VeChain blockchain" diff --git a/tokens/main/0x1d828b239749c023aa561d442744d0e83f3fab66/additional.json b/tokens/main/0x1d828b239749c023aa561d442744d0e83f3fab66/additional.json new file mode 100644 index 00000000..eee391fe --- /dev/null +++ b/tokens/main/0x1d828b239749c023aa561d442744d0e83f3fab66/additional.json @@ -0,0 +1,12 @@ +{ + "website":"https://bridge.wanchain.org/AssetBridge", + "links":{ + "twitter":"https://x.com/wanchain_org", + "telegram":"https://t.me/WanchainCHAT" + }, + + "crossChainProvider": { + "name": "wanchain", + "url": "https://bridge.wanchain.org/AssetBridge" + } +} diff --git a/tokens/main/0x1d828b239749c023aa561d442744d0e83f3fab66/info.json b/tokens/main/0x1d828b239749c023aa561d442744d0e83f3fab66/info.json new file mode 100644 index 00000000..56966958 --- /dev/null +++ b/tokens/main/0x1d828b239749c023aa561d442744d0e83f3fab66/info.json @@ -0,0 +1,7 @@ +{ + "name": "SOL@vechain", + "symbol": "SOL", + "decimals": 9, + "desc": "Bridged SOL from Wanchain at https://bridge.wanchain.org/AssetBridge." + } + \ No newline at end of file diff --git a/tokens/main/0x1d828b239749c023aa561d442744d0e83f3fab66/token.png b/tokens/main/0x1d828b239749c023aa561d442744d0e83f3fab66/token.png new file mode 100644 index 00000000..dc98c9c9 Binary files /dev/null and b/tokens/main/0x1d828b239749c023aa561d442744d0e83f3fab66/token.png differ diff --git a/tokens/main/0x2076382cfee16ffc8155b59ef1836ad36b8a1df4/additional.json b/tokens/main/0x2076382cfee16ffc8155b59ef1836ad36b8a1df4/additional.json new file mode 100644 index 00000000..eee391fe --- /dev/null +++ b/tokens/main/0x2076382cfee16ffc8155b59ef1836ad36b8a1df4/additional.json @@ -0,0 +1,12 @@ +{ + "website":"https://bridge.wanchain.org/AssetBridge", + "links":{ + "twitter":"https://x.com/wanchain_org", + "telegram":"https://t.me/WanchainCHAT" + }, + + "crossChainProvider": { + "name": "wanchain", + "url": "https://bridge.wanchain.org/AssetBridge" + } +} diff --git a/tokens/main/0x2076382cfee16ffc8155b59ef1836ad36b8a1df4/info.json b/tokens/main/0x2076382cfee16ffc8155b59ef1836ad36b8a1df4/info.json new file mode 100644 index 00000000..e5349266 --- /dev/null +++ b/tokens/main/0x2076382cfee16ffc8155b59ef1836ad36b8a1df4/info.json @@ -0,0 +1,6 @@ +{ + "name": "ETH@vechain", + "symbol": "ETH", + "decimals": 18, + "desc": "Bridged ETH from Wanchain at https://bridge.wanchain.org/AssetBridge." +} diff --git a/tokens/main/0x2076382cfee16ffc8155b59ef1836ad36b8a1df4/token.png b/tokens/main/0x2076382cfee16ffc8155b59ef1836ad36b8a1df4/token.png new file mode 100644 index 00000000..564f59d0 Binary files /dev/null and b/tokens/main/0x2076382cfee16ffc8155b59ef1836ad36b8a1df4/token.png differ diff --git a/tokens/main/0x2180239b5e7642222ca848cf8385405eb2677604/additional.json b/tokens/main/0x2180239b5e7642222ca848cf8385405eb2677604/additional.json new file mode 100644 index 00000000..d46cf32b --- /dev/null +++ b/tokens/main/0x2180239b5e7642222ca848cf8385405eb2677604/additional.json @@ -0,0 +1,7 @@ +{ + "website":"https://sproutlyrwa.com/", + "links":{ + "twitter":"https://x.com/sproutlyrwa", + "telegram":"https://t.me/sproutlyrwa" + } +} \ No newline at end of file diff --git a/tokens/main/0x2180239b5e7642222ca848cf8385405eb2677604/info.json b/tokens/main/0x2180239b5e7642222ca848cf8385405eb2677604/info.json new file mode 100644 index 00000000..342d776c --- /dev/null +++ b/tokens/main/0x2180239b5e7642222ca848cf8385405eb2677604/info.json @@ -0,0 +1,6 @@ +{ + "name": "COMPOST Token", + "symbol": "COMPOST", + "decimals": 18, + "desc": " $COMPOST is the Sproutly rewards token designed to boost gamification and reward community engagement. It allows users to enhance the growth of their NFTrees and unlock special features within the ecosystem. By applying $COMPOST, players can accelerate their trees' development and earn unique rewards, fostering active participation and long-term commitment." +} diff --git a/tokens/main/0x2180239b5e7642222ca848cf8385405eb2677604/token.png b/tokens/main/0x2180239b5e7642222ca848cf8385405eb2677604/token.png new file mode 100644 index 00000000..3435f37e Binary files /dev/null and b/tokens/main/0x2180239b5e7642222ca848cf8385405eb2677604/token.png differ diff --git a/tokens/main/0x23368c20c16f64ecbb30164a08666867be22f216/info.json b/tokens/main/0x23368c20c16f64ecbb30164a08666867be22f216/info.json new file mode 100644 index 00000000..48a42aad --- /dev/null +++ b/tokens/main/0x23368c20c16f64ecbb30164a08666867be22f216/info.json @@ -0,0 +1,6 @@ +{ + "name": "VeSea Token", + "symbol": "VSEA", + "decimals":18, + "desc": "The fuel powering VeSea's NFT Utility Ecosystem, designed to be destroyed by VeSea-deployed smartcontracts providing usage to various VIP-181 tokens" +} diff --git a/tokens/main/0x23368c20c16f64ecbb30164a08666867be22f216/token.png b/tokens/main/0x23368c20c16f64ecbb30164a08666867be22f216/token.png new file mode 100644 index 00000000..c9fb5606 Binary files /dev/null and b/tokens/main/0x23368c20c16f64ecbb30164a08666867be22f216/token.png differ diff --git a/tokens/main/0x27404060ea6939ff9e3598a3d0409ff11c9c6247/additional.json b/tokens/main/0x27404060ea6939ff9e3598a3d0409ff11c9c6247/additional.json new file mode 100644 index 00000000..406e1996 --- /dev/null +++ b/tokens/main/0x27404060ea6939ff9e3598a3d0409ff11c9c6247/additional.json @@ -0,0 +1,6 @@ +{ + "links":{ + "twitter":"https://twitter.com/RatverseIo", + "discord":"https://discord.gg/YEKYsXBMyW" + } +} \ No newline at end of file diff --git a/tokens/main/0x27404060ea6939ff9e3598a3d0409ff11c9c6247/info.json b/tokens/main/0x27404060ea6939ff9e3598a3d0409ff11c9c6247/info.json new file mode 100644 index 00000000..8f3089ba --- /dev/null +++ b/tokens/main/0x27404060ea6939ff9e3598a3d0409ff11c9c6247/info.json @@ -0,0 +1,6 @@ +{ + "name": "Ratverse Coin", + "symbol": "RATV", + "decimals":18, + "desc": "Ratverse Coin, $RATV is crafted with a total supply of 100,000,000 tokens, making sure there’s enough cheese to go around. Our token distribution is as carefully planned as a rat's heist for the finest cheese." +} \ No newline at end of file diff --git a/tokens/main/0x27404060ea6939ff9e3598a3d0409ff11c9c6247/token.png b/tokens/main/0x27404060ea6939ff9e3598a3d0409ff11c9c6247/token.png new file mode 100644 index 00000000..ede6e361 Binary files /dev/null and b/tokens/main/0x27404060ea6939ff9e3598a3d0409ff11c9c6247/token.png differ diff --git a/tokens/main/0x28c61940bdcf5a67158d00657e8c3989e112eb38/additional.json b/tokens/main/0x28c61940bdcf5a67158d00657e8c3989e112eb38/additional.json new file mode 100644 index 00000000..5f19ac52 --- /dev/null +++ b/tokens/main/0x28c61940bdcf5a67158d00657e8c3989e112eb38/additional.json @@ -0,0 +1,9 @@ +{ + "website":"https://www.madvikinggames.com/", + "links":{ + "twitter":"https://twitter.com/MadVikingGames", + "telegram":"https://t.me/MadVikingGames", + "medium":"https://medium.com/@MadVikingGames" + }, + "whitePaper":"https://www.madvikinggames.com/Litepaper" +} \ No newline at end of file diff --git a/tokens/main/0x28c61940bdcf5a67158d00657e8c3989e112eb38/info.json b/tokens/main/0x28c61940bdcf5a67158d00657e8c3989e112eb38/info.json new file mode 100644 index 00000000..06f81579 --- /dev/null +++ b/tokens/main/0x28c61940bdcf5a67158d00657e8c3989e112eb38/info.json @@ -0,0 +1,6 @@ +{ + "name": "GEMS", + "symbol": "GEMS", + "decimals":18, + "desc": "The governance token of the Mad Viking Games platform and marketplace" +} \ No newline at end of file diff --git a/tokens/main/0x28c61940bdcf5a67158d00657e8c3989e112eb38/token.png b/tokens/main/0x28c61940bdcf5a67158d00657e8c3989e112eb38/token.png new file mode 100644 index 00000000..c41d39b6 Binary files /dev/null and b/tokens/main/0x28c61940bdcf5a67158d00657e8c3989e112eb38/token.png differ diff --git a/tokens/main/0x29c630cce4ddb23900f5fe66ab55e488c15b9f5e/additional.json b/tokens/main/0x29c630cce4ddb23900f5fe66ab55e488c15b9f5e/additional.json new file mode 100644 index 00000000..239cf953 --- /dev/null +++ b/tokens/main/0x29c630cce4ddb23900f5fe66ab55e488c15b9f5e/additional.json @@ -0,0 +1,7 @@ +{ + "website": "https://www.glodollar.org", + "links": { + "twitter": "https://x.com/glodollar", + "github": "https://github.com/Glo-Foundation" + } +} \ No newline at end of file diff --git a/tokens/main/0x29c630cce4ddb23900f5fe66ab55e488c15b9f5e/info.json b/tokens/main/0x29c630cce4ddb23900f5fe66ab55e488c15b9f5e/info.json new file mode 100644 index 00000000..b8815775 --- /dev/null +++ b/tokens/main/0x29c630cce4ddb23900f5fe66ab55e488c15b9f5e/info.json @@ -0,0 +1,6 @@ +{ + "name": "Glo Dollar", + "symbol": "USDGLO", + "decimals":18, + "desc": "Glo Dollar is the stablecoin that funds public goods and charities. Unlike other stablecoins, we donate all our profits. This unlocks up to $7b in funding to make crypto and the world a better place." +} \ No newline at end of file diff --git a/tokens/main/0x29c630cce4ddb23900f5fe66ab55e488c15b9f5e/token.png b/tokens/main/0x29c630cce4ddb23900f5fe66ab55e488c15b9f5e/token.png new file mode 100644 index 00000000..386c6735 Binary files /dev/null and b/tokens/main/0x29c630cce4ddb23900f5fe66ab55e488c15b9f5e/token.png differ diff --git a/tokens/main/0x2c28d59e1424f878cb655d74c297fcb685c22be6/additional.json b/tokens/main/0x2c28d59e1424f878cb655d74c297fcb685c22be6/additional.json new file mode 100644 index 00000000..8797a66e --- /dev/null +++ b/tokens/main/0x2c28d59e1424f878cb655d74c297fcb685c22be6/additional.json @@ -0,0 +1,6 @@ +{ + "links":{ + "twitter":"https://twitter.com/cojcoin", + "website":"https://coj.ai/" + } + } \ No newline at end of file diff --git a/tokens/main/0x2c28d59e1424f878cb655d74c297fcb685c22be6/info.json b/tokens/main/0x2c28d59e1424f878cb655d74c297fcb685c22be6/info.json new file mode 100644 index 00000000..1eb67844 --- /dev/null +++ b/tokens/main/0x2c28d59e1424f878cb655d74c297fcb685c22be6/info.json @@ -0,0 +1,6 @@ +{ + "name": "Cup of Joe", + "symbol": "COJ", + "decimals": 18, + "desc": "AI Generated Memecoin | Coffee Connoisseur Contributing to an Eco-Friendly Coffee ☕️Environment Worldwide 🌎 +Send / Receive a Cup of Joe ☕️ Worldwide 🌎" +} \ No newline at end of file diff --git a/tokens/main/0x2c28d59e1424f878cb655d74c297fcb685c22be6/token.png b/tokens/main/0x2c28d59e1424f878cb655d74c297fcb685c22be6/token.png new file mode 100644 index 00000000..e356c70d Binary files /dev/null and b/tokens/main/0x2c28d59e1424f878cb655d74c297fcb685c22be6/token.png differ diff --git a/tokens/main/0x2f10726b240d7efb08671f4d5f0a442db6f29416/info.json b/tokens/main/0x2f10726b240d7efb08671f4d5f0a442db6f29416/info.json new file mode 100644 index 00000000..6a98ff2d --- /dev/null +++ b/tokens/main/0x2f10726b240d7efb08671f4d5f0a442db6f29416/info.json @@ -0,0 +1,6 @@ +{ + "name": "Paper Token", + "symbol": "PPR", + "decimals":18, + "desc": "Utility token for the NFT Paper Project to interact with burning smart contracts" +} diff --git a/tokens/main/0x2f10726b240d7efb08671f4d5f0a442db6f29416/token.png b/tokens/main/0x2f10726b240d7efb08671f4d5f0a442db6f29416/token.png new file mode 100644 index 00000000..af3b5a78 Binary files /dev/null and b/tokens/main/0x2f10726b240d7efb08671f4d5f0a442db6f29416/token.png differ diff --git a/tokens/main/0x2f2220139e46bcc98273ecca2ded7bf56373b6cf/additional.json b/tokens/main/0x2f2220139e46bcc98273ecca2ded7bf56373b6cf/additional.json new file mode 100644 index 00000000..f714f96a --- /dev/null +++ b/tokens/main/0x2f2220139e46bcc98273ecca2ded7bf56373b6cf/additional.json @@ -0,0 +1,6 @@ +{ + "website": "https://www.twitter.com/yothatscooldeux", + "links": { + "twitter": "https://twitter.com/yothatscooldeux" + } +} diff --git a/tokens/main/0x2f2220139e46bcc98273ecca2ded7bf56373b6cf/info.json b/tokens/main/0x2f2220139e46bcc98273ecca2ded7bf56373b6cf/info.json new file mode 100644 index 00000000..53254d14 --- /dev/null +++ b/tokens/main/0x2f2220139e46bcc98273ecca2ded7bf56373b6cf/info.json @@ -0,0 +1,6 @@ +{ + "name": "cool", + "symbol": "cool", + "decimals":8, + "desc": "Community Fun Coin - Stay Cool With Cool Coin" +} diff --git a/tokens/main/0x2f2220139e46bcc98273ecca2ded7bf56373b6cf/token.png b/tokens/main/0x2f2220139e46bcc98273ecca2ded7bf56373b6cf/token.png new file mode 100644 index 00000000..1f75efff Binary files /dev/null and b/tokens/main/0x2f2220139e46bcc98273ecca2ded7bf56373b6cf/token.png differ diff --git a/tokens/main/0x34109fc2a649965eecd953d31802c67dcc183d57/additional.json b/tokens/main/0x34109fc2a649965eecd953d31802c67dcc183d57/additional.json new file mode 100644 index 00000000..3c67c097 --- /dev/null +++ b/tokens/main/0x34109fc2a649965eecd953d31802c67dcc183d57/additional.json @@ -0,0 +1,7 @@ +{ + "website":"https://www.nonerdsinc.com/", + "links":{ + "twitter":"https://twitter.com/NoNerdsInc" + }, + "whitePaper":"https://nonerdsinc.com/roadmap" +} diff --git a/tokens/main/0x34109fc2a649965eecd953d31802c67dcc183d57/info.json b/tokens/main/0x34109fc2a649965eecd953d31802c67dcc183d57/info.json new file mode 100644 index 00000000..cb137c1e --- /dev/null +++ b/tokens/main/0x34109fc2a649965eecd953d31802c67dcc183d57/info.json @@ -0,0 +1,6 @@ +{ + "name": "UNION", + "symbol": "UNION", + "decimals":18, + "desc": "Utility token for NoNerdsInc" +} diff --git a/tokens/main/0x34109fc2a649965eecd953d31802c67dcc183d57/token.png b/tokens/main/0x34109fc2a649965eecd953d31802c67dcc183d57/token.png new file mode 100644 index 00000000..c8c3d172 Binary files /dev/null and b/tokens/main/0x34109fc2a649965eecd953d31802c67dcc183d57/token.png differ diff --git a/tokens/main/0x3b7c0e866b5c18e8196edbb95b15e626fb3ba32d/additional.json b/tokens/main/0x3b7c0e866b5c18e8196edbb95b15e626fb3ba32d/additional.json new file mode 100644 index 00000000..b5ccf980 --- /dev/null +++ b/tokens/main/0x3b7c0e866b5c18e8196edbb95b15e626fb3ba32d/additional.json @@ -0,0 +1,6 @@ +{ + "website": "https://vet.domains", + "links": { + "twitter": "https://x.com/vetDomains" + } +} \ No newline at end of file diff --git a/tokens/main/0x3b7c0e866b5c18e8196edbb95b15e626fb3ba32d/info.json b/tokens/main/0x3b7c0e866b5c18e8196edbb95b15e626fb3ba32d/info.json new file mode 100644 index 00000000..7cbe4441 --- /dev/null +++ b/tokens/main/0x3b7c0e866b5c18e8196edbb95b15e626fb3ba32d/info.json @@ -0,0 +1,6 @@ +{ + "name": "vet.domains", + "symbol": "VNS", + "decimals": 18, + "desc": "vet.domains governance and utility token" +} \ No newline at end of file diff --git a/tokens/main/0x3b7c0e866b5c18e8196edbb95b15e626fb3ba32d/token.png b/tokens/main/0x3b7c0e866b5c18e8196edbb95b15e626fb3ba32d/token.png new file mode 100644 index 00000000..b49a48e7 Binary files /dev/null and b/tokens/main/0x3b7c0e866b5c18e8196edbb95b15e626fb3ba32d/token.png differ diff --git a/tokens/main/0x3cb62f48dbdc4f7627f37f027811565d292a1001/additional.json b/tokens/main/0x3cb62f48dbdc4f7627f37f027811565d292a1001/additional.json new file mode 100644 index 00000000..f433e768 --- /dev/null +++ b/tokens/main/0x3cb62f48dbdc4f7627f37f027811565d292a1001/additional.json @@ -0,0 +1,6 @@ +{ + "website":"https://www.rain.vet/", + "links":{ + "twitter":"https://twitter.com/RainDotVet" + } +} diff --git a/tokens/main/0x3cb62f48dbdc4f7627f37f027811565d292a1001/info.json b/tokens/main/0x3cb62f48dbdc4f7627f37f027811565d292a1001/info.json new file mode 100644 index 00000000..e7fd7bf9 --- /dev/null +++ b/tokens/main/0x3cb62f48dbdc4f7627f37f027811565d292a1001/info.json @@ -0,0 +1,6 @@ + { + "name": "Rainbow", + "symbol": "Rain", + "decimals":18, + "desc": "Rain is a rain.vet token." + } \ No newline at end of file diff --git a/tokens/main/0x3cb62f48dbdc4f7627f37f027811565d292a1001/token.png b/tokens/main/0x3cb62f48dbdc4f7627f37f027811565d292a1001/token.png new file mode 100644 index 00000000..98c39677 Binary files /dev/null and b/tokens/main/0x3cb62f48dbdc4f7627f37f027811565d292a1001/token.png differ diff --git a/tokens/main/0x420dfe6b7bc605ce61e9839c8c0e745870a6cde0/additional.json b/tokens/main/0x420dfe6b7bc605ce61e9839c8c0e745870a6cde0/additional.json new file mode 100644 index 00000000..237f904c --- /dev/null +++ b/tokens/main/0x420dfe6b7bc605ce61e9839c8c0e745870a6cde0/additional.json @@ -0,0 +1,7 @@ +{ + "website": "https://veDelegate.vet/", + "links": { + "twitter": "https://x.com/vedelegate", + "medium": "https://medium.com/@vedelegate" + } +} \ No newline at end of file diff --git a/tokens/main/0x420dfe6b7bc605ce61e9839c8c0e745870a6cde0/info.json b/tokens/main/0x420dfe6b7bc605ce61e9839c8c0e745870a6cde0/info.json new file mode 100644 index 00000000..5580929c --- /dev/null +++ b/tokens/main/0x420dfe6b7bc605ce61e9839c8c0e745870a6cde0/info.json @@ -0,0 +1,6 @@ +{ + "name": "veB3TR", + "symbol": "veB3TR", + "decimals": 18, + "desc": "Earns enhanced weekly rewards and can be redeemed for 1 B3TR on veDelegate.vet." +} diff --git a/tokens/main/0x420dfe6b7bc605ce61e9839c8c0e745870a6cde0/token.png b/tokens/main/0x420dfe6b7bc605ce61e9839c8c0e745870a6cde0/token.png new file mode 100644 index 00000000..5d232809 Binary files /dev/null and b/tokens/main/0x420dfe6b7bc605ce61e9839c8c0e745870a6cde0/token.png differ diff --git a/tokens/main/0x45429a2255e7248e57fce99e7239aed3f84b7a53/additional.json b/tokens/main/0x45429a2255e7248e57fce99e7239aed3f84b7a53/additional.json new file mode 100644 index 00000000..9b55f1a1 --- /dev/null +++ b/tokens/main/0x45429a2255e7248e57fce99e7239aed3f84b7a53/additional.json @@ -0,0 +1,5 @@ +{ + "links":{ + "github":"https://github.com/VeChainDEXCode/vvet" + } +} \ No newline at end of file diff --git a/tokens/main/0x45429a2255e7248e57fce99e7239aed3f84b7a53/info.json b/tokens/main/0x45429a2255e7248e57fce99e7239aed3f84b7a53/info.json new file mode 100644 index 00000000..b5121fd6 --- /dev/null +++ b/tokens/main/0x45429a2255e7248e57fce99e7239aed3f84b7a53/info.json @@ -0,0 +1,6 @@ +{ + "name": "Veiled VET", + "symbol": "VVET", + "decimals": 18, + "desc": "Wrapper VET VIP-180 token (VIP-180) that 1:1 pegs VET. Audit report provided by PeckShield." +} \ No newline at end of file diff --git a/tokens/main/0x45429a2255e7248e57fce99e7239aed3f84b7a53/token.png b/tokens/main/0x45429a2255e7248e57fce99e7239aed3f84b7a53/token.png new file mode 100644 index 00000000..a2a79fac Binary files /dev/null and b/tokens/main/0x45429a2255e7248e57fce99e7239aed3f84b7a53/token.png differ diff --git a/tokens/main/0x46209d5e5a49c1d403f4ee3a0a88c3a27e29e58d/info.json b/tokens/main/0x46209d5e5a49c1d403f4ee3a0a88c3a27e29e58d/info.json index 665b338d..0170d1c5 100644 --- a/tokens/main/0x46209d5e5a49c1d403f4ee3a0a88c3a27e29e58d/info.json +++ b/tokens/main/0x46209d5e5a49c1d403f4ee3a0a88c3a27e29e58d/info.json @@ -1,5 +1,5 @@ { - "name": "Jur", + "name": "JUR", "symbol": "JUR", "decimals": 18, "desc": "JUR Token is the token of justice. Access a decentralized legal ecosystem for professionals and enterprises." diff --git a/tokens/main/0x47921404147046177b8038720ac2d0b2776ee5bf/additional.json b/tokens/main/0x47921404147046177b8038720ac2d0b2776ee5bf/additional.json new file mode 100644 index 00000000..16af19d3 --- /dev/null +++ b/tokens/main/0x47921404147046177b8038720ac2d0b2776ee5bf/additional.json @@ -0,0 +1,8 @@ +{ + "website": "https://www.exoworlds.io", + "links": { + "twitter": "https://twitter.com/ExoWorldsNFT", + "medium": "https://medium.com/@ExoWorlds" + }, + "whitePaper": "https://exoworlds.gitbook.io/exoworlds-whitepaper/" +} diff --git a/tokens/main/0x47921404147046177b8038720ac2d0b2776ee5bf/info.json b/tokens/main/0x47921404147046177b8038720ac2d0b2776ee5bf/info.json new file mode 100644 index 00000000..85ab3098 --- /dev/null +++ b/tokens/main/0x47921404147046177b8038720ac2d0b2776ee5bf/info.json @@ -0,0 +1,6 @@ +{ + "name": "EXO Token", + "symbol": "EXO", + "decimals": 18, + "desc": "ExoDust, commonly referred to as $EXO, is a transdimensional concentrate mined from beyond the event horizon of supermassive black holes. It is compressed into $EXO Tokens and can be harnessed to provide clean and infinitely renewable energy that will have utility in the game. The $EXO token will be essential for all participants of the ExoWorlds ecosystem. It brings four core utilities: Special Access to Game Features, Asset Purchasing, Voting, and Staking." +} diff --git a/tokens/main/0x47921404147046177b8038720ac2d0b2776ee5bf/token.png b/tokens/main/0x47921404147046177b8038720ac2d0b2776ee5bf/token.png new file mode 100644 index 00000000..66d494e0 Binary files /dev/null and b/tokens/main/0x47921404147046177b8038720ac2d0b2776ee5bf/token.png differ diff --git a/tokens/main/0x4a4bd03b67d6aae921b4bb54835079e91d81a3a9/info.json b/tokens/main/0x4a4bd03b67d6aae921b4bb54835079e91d81a3a9/info.json new file mode 100644 index 00000000..588ecc88 --- /dev/null +++ b/tokens/main/0x4a4bd03b67d6aae921b4bb54835079e91d81a3a9/info.json @@ -0,0 +1,6 @@ + { + "name": "PEPE", + "symbol": "PEPE", + "decimals":18, + "desc": "Represents the VeChain PEPE meme token" + } diff --git a/tokens/main/0x4a4bd03b67d6aae921b4bb54835079e91d81a3a9/token.png b/tokens/main/0x4a4bd03b67d6aae921b4bb54835079e91d81a3a9/token.png new file mode 100644 index 00000000..35b44c27 Binary files /dev/null and b/tokens/main/0x4a4bd03b67d6aae921b4bb54835079e91d81a3a9/token.png differ diff --git a/tokens/main/0x4b85757bcf693f742003f2d5529cdc1672392f16/additional.json b/tokens/main/0x4b85757bcf693f742003f2d5529cdc1672392f16/additional.json new file mode 100644 index 00000000..0ded3a9e --- /dev/null +++ b/tokens/main/0x4b85757bcf693f742003f2d5529cdc1672392f16/additional.json @@ -0,0 +1,6 @@ +{ + "links":{ + "twitter":"https://twitter.com/vechainslayers" + }, + "whitePaper":"https://docs.slayersguild.io" + } \ No newline at end of file diff --git a/tokens/main/0x4b85757bcf693f742003f2d5529cdc1672392f16/info.json b/tokens/main/0x4b85757bcf693f742003f2d5529cdc1672392f16/info.json new file mode 100644 index 00000000..daa645d6 --- /dev/null +++ b/tokens/main/0x4b85757bcf693f742003f2d5529cdc1672392f16/info.json @@ -0,0 +1,6 @@ +{ + "name": "Slayers Guild", + "symbol": "SL4Y", + "decimals":18, + "desc": "Project token for Slayers Guild" + } \ No newline at end of file diff --git a/tokens/main/0x4b85757bcf693f742003f2d5529cdc1672392f16/token.png b/tokens/main/0x4b85757bcf693f742003f2d5529cdc1672392f16/token.png new file mode 100644 index 00000000..3595882b Binary files /dev/null and b/tokens/main/0x4b85757bcf693f742003f2d5529cdc1672392f16/token.png differ diff --git a/tokens/main/0x4e17357053da4b473e2daa2c65c2c949545724b8/info.json b/tokens/main/0x4e17357053da4b473e2daa2c65c2c949545724b8/info.json new file mode 100644 index 00000000..0d0c7f21 --- /dev/null +++ b/tokens/main/0x4e17357053da4b473e2daa2c65c2c949545724b8/info.json @@ -0,0 +1,6 @@ +{ + "name": "VeUSD", + "symbol": "VEUSD", + "decimals":6, + "desc": "US Dollar-pegged stablecoin fully backed 1-to-1 and redeemable for USD held in a trust account managed by Prime Trust and powered by Stably" +} \ No newline at end of file diff --git a/tokens/main/0x4e17357053da4b473e2daa2c65c2c949545724b8/token.png b/tokens/main/0x4e17357053da4b473e2daa2c65c2c949545724b8/token.png new file mode 100644 index 00000000..aea4ad12 Binary files /dev/null and b/tokens/main/0x4e17357053da4b473e2daa2c65c2c949545724b8/token.png differ diff --git a/tokens/main/0x5db3c8a942333f6468176a870db36eef120a34dc/info.json b/tokens/main/0x5db3c8a942333f6468176a870db36eef120a34dc/info.json index a0f9962d..a21836e1 100644 --- a/tokens/main/0x5db3c8a942333f6468176a870db36eef120a34dc/info.json +++ b/tokens/main/0x5db3c8a942333f6468176a870db36eef120a34dc/info.json @@ -1,5 +1,5 @@ { - "name": "Safe Haven", + "name": "Safe Haven Token", "symbol": "SHA", "decimals": 18, "desc": "Asset Management & Inheritance Solutions" diff --git a/tokens/main/0x5db3c8a942333f6468176a870db36eef120a34dc/token.png b/tokens/main/0x5db3c8a942333f6468176a870db36eef120a34dc/token.png index 293e0695..f31179c6 100644 Binary files a/tokens/main/0x5db3c8a942333f6468176a870db36eef120a34dc/token.png and b/tokens/main/0x5db3c8a942333f6468176a870db36eef120a34dc/token.png differ diff --git a/tokens/main/0x5ef79995fe8a89e0812330e4378eb2660cede699/additional.json b/tokens/main/0x5ef79995fe8a89e0812330e4378eb2660cede699/additional.json new file mode 100644 index 00000000..73bb833a --- /dev/null +++ b/tokens/main/0x5ef79995fe8a89e0812330e4378eb2660cede699/additional.json @@ -0,0 +1,10 @@ +{ + "website":"https://vebetter.com/", + "links":{ + "twitter":"https://x.com/vechainofficial", + "medium":"https://medium.com/@vechainofficial", + "github":"https://github.com/vechain", + "telegram":"https://t.me/vechainandfriends" + }, + "whitePaper":"https://files.vebetter.com/vebetterdaocontainer/VeBetter_Whitepaper_v2-OCR.pdf" +} \ No newline at end of file diff --git a/tokens/main/0x5ef79995fe8a89e0812330e4378eb2660cede699/info.json b/tokens/main/0x5ef79995fe8a89e0812330e4378eb2660cede699/info.json new file mode 100644 index 00000000..f10f7643 --- /dev/null +++ b/tokens/main/0x5ef79995fe8a89e0812330e4378eb2660cede699/info.json @@ -0,0 +1,6 @@ +{ + "name": "B3TR", + "symbol": "B3TR", + "decimals": 18, + "desc": "B3TR is the incentive and value token of the VeBetterDAO ecosystem. It serves as the foundation for VeBetterDAO’s sustainability-focused incentive model, rewarding active participation, innovation, and contributions that drive positive environmental, social and economic impact.\n\nB3TR supports DAO treasury management, acts as the value carrier for VeBetter applications, and backs VOT3 tokens 1:1, which are required for VeBetterDAO governance and decision-making.\n\nThe total supply of 1 billion B3TR is fixed, with a weekly issuance schedule distributed over 12 years, ensuring a sustainable and transparent reward structure that aligns long-term ecosystem growth with real-world impact." +} \ No newline at end of file diff --git a/tokens/main/0x5ef79995fe8a89e0812330e4378eb2660cede699/token.png b/tokens/main/0x5ef79995fe8a89e0812330e4378eb2660cede699/token.png new file mode 100644 index 00000000..a3c284c9 Binary files /dev/null and b/tokens/main/0x5ef79995fe8a89e0812330e4378eb2660cede699/token.png differ diff --git a/tokens/main/0x64a8dea68772d478240dd6d3080a8e7f288a720f/info.json b/tokens/main/0x64a8dea68772d478240dd6d3080a8e7f288a720f/info.json new file mode 100644 index 00000000..b78988d3 --- /dev/null +++ b/tokens/main/0x64a8dea68772d478240dd6d3080a8e7f288a720f/info.json @@ -0,0 +1,6 @@ +{ + "name": "MILK", + "symbol": "MILK", + "decimals":18, + "desc": "Utility token of the GOATZ NFT project" +} diff --git a/tokens/main/0x64a8dea68772d478240dd6d3080a8e7f288a720f/token.png b/tokens/main/0x64a8dea68772d478240dd6d3080a8e7f288a720f/token.png new file mode 100644 index 00000000..e2ca291c Binary files /dev/null and b/tokens/main/0x64a8dea68772d478240dd6d3080a8e7f288a720f/token.png differ diff --git a/tokens/main/0x65c542ad413dd406d7ae5e47f61fbda027ce7983/additional.json b/tokens/main/0x65c542ad413dd406d7ae5e47f61fbda027ce7983/additional.json new file mode 100644 index 00000000..93afa482 --- /dev/null +++ b/tokens/main/0x65c542ad413dd406d7ae5e47f61fbda027ce7983/additional.json @@ -0,0 +1,8 @@ +{ + "website": "https://www.vyvo.org/", + "links": { + "twitter": "https://twitter.com/VyvoSmartChain", + "medium": "https://medium.com/@VyvoSmartChain" + }, + "whitePaper": "https://www.vyvo.org/VyvoSmartChainWhitepaper.pdf" +} \ No newline at end of file diff --git a/tokens/main/0x65c542ad413dd406d7ae5e47f61fbda027ce7983/info.json b/tokens/main/0x65c542ad413dd406d7ae5e47f61fbda027ce7983/info.json new file mode 100644 index 00000000..e633cb01 --- /dev/null +++ b/tokens/main/0x65c542ad413dd406d7ae5e47f61fbda027ce7983/info.json @@ -0,0 +1,6 @@ +{ + "name": "VSC", + "symbol": "VSC", + "decimals": 18, + "desc": "VSC is a blockchain built to solve the issue of health data collection, validation, distribution, and ownership. We serve the IoT. Wearable technology, health data, and big data industry." +} \ No newline at end of file diff --git a/tokens/main/0x65c542ad413dd406d7ae5e47f61fbda027ce7983/token.png b/tokens/main/0x65c542ad413dd406d7ae5e47f61fbda027ce7983/token.png new file mode 100644 index 00000000..4c1cd856 Binary files /dev/null and b/tokens/main/0x65c542ad413dd406d7ae5e47f61fbda027ce7983/token.png differ diff --git a/tokens/main/0x67fd63f6068962937ec81ab3ae3bf9871e524fc9/additional.json b/tokens/main/0x67fd63f6068962937ec81ab3ae3bf9871e524fc9/additional.json new file mode 100644 index 00000000..8b6c71ce --- /dev/null +++ b/tokens/main/0x67fd63f6068962937ec81ab3ae3bf9871e524fc9/additional.json @@ -0,0 +1,10 @@ +{ + "website":"https://www.vimworld.com/", + "links":{ + "twitter":"https://twitter.com/VIMworldGlobal", + "telegram":"https://t.me/VIMworld", + "facebook":"https://www.facebook.com/VIMworldOfficial/", + "medium":"https://vimworld.medium.com/" + }, + "whitePaper":"https://www.vimworld.com/ppp/english.pdf" +} diff --git a/tokens/main/0x67fd63f6068962937ec81ab3ae3bf9871e524fc9/info.json b/tokens/main/0x67fd63f6068962937ec81ab3ae3bf9871e524fc9/info.json new file mode 100644 index 00000000..7cbb4ebc --- /dev/null +++ b/tokens/main/0x67fd63f6068962937ec81ab3ae3bf9871e524fc9/info.json @@ -0,0 +1,6 @@ +{ + "name": "VEED", + "symbol": "VEED", + "decimals":18, + "desc": "VEED is the ecosystem utility and governance token of VIMworld, a Smart NFT project built on VeChainThor focused on VIM collectibles. The VEED token is used for a variety of utilities within the VIMworld Ecosystem, including VIM feeding, trading, adoption, farming, rewards, governance, and more." +} diff --git a/tokens/main/0x67fd63f6068962937ec81ab3ae3bf9871e524fc9/token.png b/tokens/main/0x67fd63f6068962937ec81ab3ae3bf9871e524fc9/token.png new file mode 100644 index 00000000..02789673 Binary files /dev/null and b/tokens/main/0x67fd63f6068962937ec81ab3ae3bf9871e524fc9/token.png differ diff --git a/tokens/main/0x6924252d44bb2f7592285d3014b1eb291c044f03/additional.json b/tokens/main/0x6924252d44bb2f7592285d3014b1eb291c044f03/additional.json new file mode 100644 index 00000000..591c934e --- /dev/null +++ b/tokens/main/0x6924252d44bb2f7592285d3014b1eb291c044f03/additional.json @@ -0,0 +1,7 @@ +{ + "website":"https://github.com/vienerdog/whitepaper", + "links":{ + "github":"https://github.com/vienerdog" + }, + "whitePaper":"https://github.com/vienerdog/whitepaper" +} diff --git a/tokens/main/0x6924252d44bb2f7592285d3014b1eb291c044f03/info.json b/tokens/main/0x6924252d44bb2f7592285d3014b1eb291c044f03/info.json new file mode 100644 index 00000000..f99ed165 --- /dev/null +++ b/tokens/main/0x6924252d44bb2f7592285d3014b1eb291c044f03/info.json @@ -0,0 +1,6 @@ + { + "name": "VienerDog", + "symbol": "VDOG", + "decimals":9, + "desc": "Official dog of vechain" + } \ No newline at end of file diff --git a/tokens/main/0x6924252d44bb2f7592285d3014b1eb291c044f03/token.png b/tokens/main/0x6924252d44bb2f7592285d3014b1eb291c044f03/token.png new file mode 100644 index 00000000..d3349529 Binary files /dev/null and b/tokens/main/0x6924252d44bb2f7592285d3014b1eb291c044f03/token.png differ diff --git a/tokens/main/0x6a4aa92f8c45242be02c54b433c63b5f525ec658/additional.json b/tokens/main/0x6a4aa92f8c45242be02c54b433c63b5f525ec658/additional.json new file mode 100644 index 00000000..0488383c --- /dev/null +++ b/tokens/main/0x6a4aa92f8c45242be02c54b433c63b5f525ec658/additional.json @@ -0,0 +1,7 @@ +{ + "website":"https://github.com/BigVEnergy", + "links":{ + "github":"https://github.com/BigVEnergy/" + }, + "whitePaper":"https://github.com/BigVEnergy/Whitepaper" +} diff --git a/tokens/main/0x6a4aa92f8c45242be02c54b433c63b5f525ec658/info.json b/tokens/main/0x6a4aa92f8c45242be02c54b433c63b5f525ec658/info.json new file mode 100644 index 00000000..17197365 --- /dev/null +++ b/tokens/main/0x6a4aa92f8c45242be02c54b433c63b5f525ec658/info.json @@ -0,0 +1,6 @@ +{ + "name": "BigVEnergy", + "symbol": "BIGV", + "decimals":18, + "desc": "Spreading Big V Energy to VeFam" +} \ No newline at end of file diff --git a/tokens/main/0x6a4aa92f8c45242be02c54b433c63b5f525ec658/token.png b/tokens/main/0x6a4aa92f8c45242be02c54b433c63b5f525ec658/token.png new file mode 100644 index 00000000..744d93e0 Binary files /dev/null and b/tokens/main/0x6a4aa92f8c45242be02c54b433c63b5f525ec658/token.png differ diff --git a/tokens/main/0x6bd26f0264d8dfae7366c976180bad3d04c23937/info.json b/tokens/main/0x6bd26f0264d8dfae7366c976180bad3d04c23937/info.json new file mode 100644 index 00000000..73bf8ffe --- /dev/null +++ b/tokens/main/0x6bd26f0264d8dfae7366c976180bad3d04c23937/info.json @@ -0,0 +1,6 @@ +{ + "name": "NUTS", + "symbol": "NUTS", + "decimals": 18, + "desc": "The official utility token of Psychobeasts." +} \ No newline at end of file diff --git a/tokens/main/0x6bd26f0264d8dfae7366c976180bad3d04c23937/token.png b/tokens/main/0x6bd26f0264d8dfae7366c976180bad3d04c23937/token.png new file mode 100644 index 00000000..d24de697 Binary files /dev/null and b/tokens/main/0x6bd26f0264d8dfae7366c976180bad3d04c23937/token.png differ diff --git a/tokens/main/0x6e0b217380b45fd9992bafa91c08a92455ec647a/additional.json b/tokens/main/0x6e0b217380b45fd9992bafa91c08a92455ec647a/additional.json new file mode 100644 index 00000000..71d5b0a2 --- /dev/null +++ b/tokens/main/0x6e0b217380b45fd9992bafa91c08a92455ec647a/additional.json @@ -0,0 +1,8 @@ +{ + "links":{ + "twitter":"https://twitter.com/BangzBoard", + "Instagram":"https://www.instagram.com/bangzboard", + "github":"https://github.com/JohanT-BadsM", + "discord":"https://discord.gg/ZCW83FBeyu" + } +} \ No newline at end of file diff --git a/tokens/main/0x6e0b217380b45fd9992bafa91c08a92455ec647a/info.json b/tokens/main/0x6e0b217380b45fd9992bafa91c08a92455ec647a/info.json new file mode 100644 index 00000000..d346fd56 --- /dev/null +++ b/tokens/main/0x6e0b217380b45fd9992bafa91c08a92455ec647a/info.json @@ -0,0 +1,6 @@ +{ + "name": "BANGZ", + "symbol": "BANGZ", + "decimals":18, + "desc": "Bangz token for Bangzboard stacking, rewards and BangzMarket" +} diff --git a/tokens/main/0x6e0b217380b45fd9992bafa91c08a92455ec647a/token.png b/tokens/main/0x6e0b217380b45fd9992bafa91c08a92455ec647a/token.png new file mode 100644 index 00000000..e615293a Binary files /dev/null and b/tokens/main/0x6e0b217380b45fd9992bafa91c08a92455ec647a/token.png differ diff --git a/tokens/main/0x70a647c84ac1f492efd302e1af6d1ab8d20223a0/additional.json b/tokens/main/0x70a647c84ac1f492efd302e1af6d1ab8d20223a0/additional.json new file mode 100644 index 00000000..f433e768 --- /dev/null +++ b/tokens/main/0x70a647c84ac1f492efd302e1af6d1ab8d20223a0/additional.json @@ -0,0 +1,6 @@ +{ + "website":"https://www.rain.vet/", + "links":{ + "twitter":"https://twitter.com/RainDotVet" + } +} diff --git a/tokens/main/0x70a647c84ac1f492efd302e1af6d1ab8d20223a0/info.json b/tokens/main/0x70a647c84ac1f492efd302e1af6d1ab8d20223a0/info.json new file mode 100644 index 00000000..95fe5375 --- /dev/null +++ b/tokens/main/0x70a647c84ac1f492efd302e1af6d1ab8d20223a0/info.json @@ -0,0 +1,6 @@ + { + "name": "Vemecoin", + "symbol": "VEME", + "decimals":0, + "desc": "Vemecoin is a rain.vet token." + } \ No newline at end of file diff --git a/tokens/main/0x70a647c84ac1f492efd302e1af6d1ab8d20223a0/token.png b/tokens/main/0x70a647c84ac1f492efd302e1af6d1ab8d20223a0/token.png new file mode 100644 index 00000000..47b01a0f Binary files /dev/null and b/tokens/main/0x70a647c84ac1f492efd302e1af6d1ab8d20223a0/token.png differ diff --git a/tokens/main/0x752e4e77d8d3a111f931edcd35cee944adc36cc5/additional.json b/tokens/main/0x752e4e77d8d3a111f931edcd35cee944adc36cc5/additional.json new file mode 100644 index 00000000..eee391fe --- /dev/null +++ b/tokens/main/0x752e4e77d8d3a111f931edcd35cee944adc36cc5/additional.json @@ -0,0 +1,12 @@ +{ + "website":"https://bridge.wanchain.org/AssetBridge", + "links":{ + "twitter":"https://x.com/wanchain_org", + "telegram":"https://t.me/WanchainCHAT" + }, + + "crossChainProvider": { + "name": "wanchain", + "url": "https://bridge.wanchain.org/AssetBridge" + } +} diff --git a/tokens/main/0x752e4e77d8d3a111f931edcd35cee944adc36cc5/info.json b/tokens/main/0x752e4e77d8d3a111f931edcd35cee944adc36cc5/info.json new file mode 100644 index 00000000..10f94fd5 --- /dev/null +++ b/tokens/main/0x752e4e77d8d3a111f931edcd35cee944adc36cc5/info.json @@ -0,0 +1,7 @@ +{ + "name": "BTC@vechain", + "symbol": "BTC", + "decimals": 8, + "desc": "Bridged BTC from Wanchain at https://bridge.wanchain.org/AssetBridge." + } + \ No newline at end of file diff --git a/tokens/main/0x752e4e77d8d3a111f931edcd35cee944adc36cc5/token.png b/tokens/main/0x752e4e77d8d3a111f931edcd35cee944adc36cc5/token.png new file mode 100644 index 00000000..19f83ec3 Binary files /dev/null and b/tokens/main/0x752e4e77d8d3a111f931edcd35cee944adc36cc5/token.png differ diff --git a/tokens/main/0x76ca782b59c74d088c7d2cce2f211bc00836c602/info.json b/tokens/main/0x76ca782b59c74d088c7d2cce2f211bc00836c602/info.json new file mode 100644 index 00000000..0bf91638 --- /dev/null +++ b/tokens/main/0x76ca782b59c74d088c7d2cce2f211bc00836c602/info.json @@ -0,0 +1,6 @@ +{ + "name": "VOT3", + "symbol": "VOT3", + "decimals": 18, + "desc": "Tokens representing voting power in the VeBetterDAO" +} \ No newline at end of file diff --git a/tokens/main/0x76ca782b59c74d088c7d2cce2f211bc00836c602/token.png b/tokens/main/0x76ca782b59c74d088c7d2cce2f211bc00836c602/token.png new file mode 100644 index 00000000..411e693d Binary files /dev/null and b/tokens/main/0x76ca782b59c74d088c7d2cce2f211bc00836c602/token.png differ diff --git a/tokens/main/0x7ae288b7224ad8740b2d4fc2b2c8a2392caea3c6/additional.json b/tokens/main/0x7ae288b7224ad8740b2d4fc2b2c8a2392caea3c6/additional.json new file mode 100644 index 00000000..249b6452 --- /dev/null +++ b/tokens/main/0x7ae288b7224ad8740b2d4fc2b2c8a2392caea3c6/additional.json @@ -0,0 +1,7 @@ +{ + "website": "https://www.blackvemarket.com/", + "links": { + "twitter": "https://twitter.com/BlackVeMarket", + "github": "https://github.com/Murtagh300" + } +} \ No newline at end of file diff --git a/tokens/main/0x7ae288b7224ad8740b2d4fc2b2c8a2392caea3c6/info.json b/tokens/main/0x7ae288b7224ad8740b2d4fc2b2c8a2392caea3c6/info.json new file mode 100644 index 00000000..cf0076c6 --- /dev/null +++ b/tokens/main/0x7ae288b7224ad8740b2d4fc2b2c8a2392caea3c6/info.json @@ -0,0 +1,6 @@ +{ + "name": "Black Ve Coin", + "symbol": "BVC", + "decimals":18, + "desc": "The fuel powering BlackVeMarket NFT Utility Ecosystem" +} \ No newline at end of file diff --git a/tokens/main/0x7ae288b7224ad8740b2d4fc2b2c8a2392caea3c6/token.png b/tokens/main/0x7ae288b7224ad8740b2d4fc2b2c8a2392caea3c6/token.png new file mode 100644 index 00000000..6fe460fc Binary files /dev/null and b/tokens/main/0x7ae288b7224ad8740b2d4fc2b2c8a2392caea3c6/token.png differ diff --git a/tokens/main/0x84b0caf6436aace4e21d10f126963fdd53ac31ea/additional.json b/tokens/main/0x84b0caf6436aace4e21d10f126963fdd53ac31ea/additional.json new file mode 100644 index 00000000..53a99bcd --- /dev/null +++ b/tokens/main/0x84b0caf6436aace4e21d10f126963fdd53ac31ea/additional.json @@ -0,0 +1,8 @@ +{ + "website":"https://thesagaz.com/", + "links":{ + "twitter":"https://twitter.com/VeSagaz", + "instagram":"https://www.instagram.com/thesagazofficial/" + } + } + \ No newline at end of file diff --git a/tokens/main/0x84b0caf6436aace4e21d10f126963fdd53ac31ea/info.json b/tokens/main/0x84b0caf6436aace4e21d10f126963fdd53ac31ea/info.json new file mode 100644 index 00000000..85992ccb --- /dev/null +++ b/tokens/main/0x84b0caf6436aace4e21d10f126963fdd53ac31ea/info.json @@ -0,0 +1,7 @@ +{ + "name": "Sassafras", + "symbol": "SASS", + "decimals": 18, + "desc": "Sagaz Utlity Token for our dApp Activities and token gameifaction" + } + \ No newline at end of file diff --git a/tokens/main/0x84b0caf6436aace4e21d10f126963fdd53ac31ea/token.png b/tokens/main/0x84b0caf6436aace4e21d10f126963fdd53ac31ea/token.png new file mode 100644 index 00000000..2405f2e1 Binary files /dev/null and b/tokens/main/0x84b0caf6436aace4e21d10f126963fdd53ac31ea/token.png differ diff --git a/tokens/main/0x867bca2f3f187bb7bfb900ebcd3155746537a9a9/additional.json b/tokens/main/0x867bca2f3f187bb7bfb900ebcd3155746537a9a9/additional.json new file mode 100644 index 00000000..4f3e153b --- /dev/null +++ b/tokens/main/0x867bca2f3f187bb7bfb900ebcd3155746537a9a9/additional.json @@ -0,0 +1,6 @@ +{ + "links":{ + "twitter":"https://twitter.com/TUAHonVeChain", + "telegram":"https://t.me/+q5jsJ10dSHI1ZGU0" + } + } \ No newline at end of file diff --git a/tokens/main/0x867bca2f3f187bb7bfb900ebcd3155746537a9a9/info.json b/tokens/main/0x867bca2f3f187bb7bfb900ebcd3155746537a9a9/info.json new file mode 100644 index 00000000..523d1511 --- /dev/null +++ b/tokens/main/0x867bca2f3f187bb7bfb900ebcd3155746537a9a9/info.json @@ -0,0 +1,6 @@ +{ + "name": "Hawk Tuah", + "symbol": "TUAH", + "decimals": 18, + "desc": "Hawk TUAH is a Meme Token Launched During the Hawk Tuah Meme Hype, LP Tokens are Burned. Just a token to have Fun with and onboard new users to the VeChain Blockchain." + } diff --git a/tokens/main/0x867bca2f3f187bb7bfb900ebcd3155746537a9a9/token.png b/tokens/main/0x867bca2f3f187bb7bfb900ebcd3155746537a9a9/token.png new file mode 100644 index 00000000..c95143a4 Binary files /dev/null and b/tokens/main/0x867bca2f3f187bb7bfb900ebcd3155746537a9a9/token.png differ diff --git a/tokens/main/0x88b08f4eb5c87e320780a253cd1baa387d04bfcc/additional.json b/tokens/main/0x88b08f4eb5c87e320780a253cd1baa387d04bfcc/additional.json new file mode 100644 index 00000000..eee391fe --- /dev/null +++ b/tokens/main/0x88b08f4eb5c87e320780a253cd1baa387d04bfcc/additional.json @@ -0,0 +1,12 @@ +{ + "website":"https://bridge.wanchain.org/AssetBridge", + "links":{ + "twitter":"https://x.com/wanchain_org", + "telegram":"https://t.me/WanchainCHAT" + }, + + "crossChainProvider": { + "name": "wanchain", + "url": "https://bridge.wanchain.org/AssetBridge" + } +} diff --git a/tokens/main/0x88b08f4eb5c87e320780a253cd1baa387d04bfcc/info.json b/tokens/main/0x88b08f4eb5c87e320780a253cd1baa387d04bfcc/info.json new file mode 100644 index 00000000..fa63c06e --- /dev/null +++ b/tokens/main/0x88b08f4eb5c87e320780a253cd1baa387d04bfcc/info.json @@ -0,0 +1,7 @@ +{ + "name": "USDT@vechain", + "symbol": "USDT", + "decimals": 6, + "desc": "Bridged USDT from Wanchain at https://bridge.wanchain.org/AssetBridge." + } + \ No newline at end of file diff --git a/tokens/main/0x88b08f4eb5c87e320780a253cd1baa387d04bfcc/token.png b/tokens/main/0x88b08f4eb5c87e320780a253cd1baa387d04bfcc/token.png new file mode 100644 index 00000000..bcb71225 Binary files /dev/null and b/tokens/main/0x88b08f4eb5c87e320780a253cd1baa387d04bfcc/token.png differ diff --git a/tokens/main/0x8b8ada6679963e39cb8edd9198decc367790187d/additional.json b/tokens/main/0x8b8ada6679963e39cb8edd9198decc367790187d/additional.json new file mode 100644 index 00000000..ca4432a4 --- /dev/null +++ b/tokens/main/0x8b8ada6679963e39cb8edd9198decc367790187d/additional.json @@ -0,0 +1,6 @@ +{ + "website":"https://www.amphicollective.com/", + "links":{ + "twitter":"https://twitter.com/amphicollective" + } +} \ No newline at end of file diff --git a/tokens/main/0x8b8ada6679963e39cb8edd9198decc367790187d/info.json b/tokens/main/0x8b8ada6679963e39cb8edd9198decc367790187d/info.json new file mode 100644 index 00000000..2ae15b92 --- /dev/null +++ b/tokens/main/0x8b8ada6679963e39cb8edd9198decc367790187d/info.json @@ -0,0 +1,6 @@ +{ + "name": "Amphi", + "symbol": "APHI", + "decimals":8, + "desc": "Amphi Collective Token" +} diff --git a/tokens/main/0x8b8ada6679963e39cb8edd9198decc367790187d/token.png b/tokens/main/0x8b8ada6679963e39cb8edd9198decc367790187d/token.png new file mode 100644 index 00000000..9642f1b3 Binary files /dev/null and b/tokens/main/0x8b8ada6679963e39cb8edd9198decc367790187d/token.png differ diff --git a/tokens/main/0x8ce14e9906c64f8e17fa27eb51d3db1df3da2c16/additional.json b/tokens/main/0x8ce14e9906c64f8e17fa27eb51d3db1df3da2c16/additional.json new file mode 100644 index 00000000..16bec442 --- /dev/null +++ b/tokens/main/0x8ce14e9906c64f8e17fa27eb51d3db1df3da2c16/additional.json @@ -0,0 +1,4 @@ +{ + "website":"https://www.llmu.tech/", + "whitePaper":"https://www.llmu.tech/Whitepaper" +} \ No newline at end of file diff --git a/tokens/main/0x8ce14e9906c64f8e17fa27eb51d3db1df3da2c16/info.json b/tokens/main/0x8ce14e9906c64f8e17fa27eb51d3db1df3da2c16/info.json new file mode 100644 index 00000000..4b09c941 --- /dev/null +++ b/tokens/main/0x8ce14e9906c64f8e17fa27eb51d3db1df3da2c16/info.json @@ -0,0 +1,6 @@ + { + "name": "LLAMACOIN", + "symbol": "LLAMACOIN", + "decimals":18, + "desc": "Llamacoin is the native cryptocurrency of the Llama Miners United ecosystem, facilitating transactions, staking, and governance within the community-driven Bitcoin mining network." + } diff --git a/tokens/main/0x8ce14e9906c64f8e17fa27eb51d3db1df3da2c16/token.png b/tokens/main/0x8ce14e9906c64f8e17fa27eb51d3db1df3da2c16/token.png new file mode 100644 index 00000000..14497ebf Binary files /dev/null and b/tokens/main/0x8ce14e9906c64f8e17fa27eb51d3db1df3da2c16/token.png differ diff --git a/tokens/main/0x8e57aadf0992afcc41f7843656c6c7129f738f7b/additional.json b/tokens/main/0x8e57aadf0992afcc41f7843656c6c7129f738f7b/additional.json new file mode 100644 index 00000000..b9ef88a3 --- /dev/null +++ b/tokens/main/0x8e57aadf0992afcc41f7843656c6c7129f738f7b/additional.json @@ -0,0 +1,10 @@ +{ + "website":"https://dohrnii.io/", + "links":{ + "twitter":"https://twitter.com/Dohrnii_io", + "telegram":"https://t.me/Dohrnii_Community", + "facebook":"https://www.facebook.com/dohrnii.io/", + "github":"https://github.com/Dohrnii-Foundation" + }, + "whitePaper":"https://dohrnii.io/static/media/Whitepaper.47f95e633c6954913949.pdf" +} diff --git a/tokens/main/0x8e57aadf0992afcc41f7843656c6c7129f738f7b/info.json b/tokens/main/0x8e57aadf0992afcc41f7843656c6c7129f738f7b/info.json new file mode 100644 index 00000000..9111d095 --- /dev/null +++ b/tokens/main/0x8e57aadf0992afcc41f7843656c6c7129f738f7b/info.json @@ -0,0 +1,6 @@ +{ + "name": "Dohrnii", + "symbol": "DHN", + "decimals": 18, + "desc": "Token for the Dohrnii Academy and Invest Ecosystem" +} diff --git a/tokens/main/0x8e57aadf0992afcc41f7843656c6c7129f738f7b/token.png b/tokens/main/0x8e57aadf0992afcc41f7843656c6c7129f738f7b/token.png new file mode 100644 index 00000000..d1c44b3b Binary files /dev/null and b/tokens/main/0x8e57aadf0992afcc41f7843656c6c7129f738f7b/token.png differ diff --git a/tokens/main/0x8fcddbb322b18d8bdaec9243e9f4c6eb8901e566/additional.json b/tokens/main/0x8fcddbb322b18d8bdaec9243e9f4c6eb8901e566/additional.json new file mode 100644 index 00000000..820bf5b8 --- /dev/null +++ b/tokens/main/0x8fcddbb322b18d8bdaec9243e9f4c6eb8901e566/additional.json @@ -0,0 +1,6 @@ +{ + "website":"https://3dables.smuzzies.com/", + "links":{ + "twitter":"https://twitter.com/Smuzzies_NFT" + } +} diff --git a/tokens/main/0x8fcddbb322b18d8bdaec9243e9f4c6eb8901e566/info.json b/tokens/main/0x8fcddbb322b18d8bdaec9243e9f4c6eb8901e566/info.json new file mode 100644 index 00000000..afdc8b6c --- /dev/null +++ b/tokens/main/0x8fcddbb322b18d8bdaec9243e9f4c6eb8901e566/info.json @@ -0,0 +1,6 @@ +{ + "name": "ThreeDAbleToken", + "symbol": "3DT", + "decimals": 18, + "desc": "Utility token for 3DAbles platform" +} diff --git a/tokens/main/0x8fcddbb322b18d8bdaec9243e9f4c6eb8901e566/token.png b/tokens/main/0x8fcddbb322b18d8bdaec9243e9f4c6eb8901e566/token.png new file mode 100644 index 00000000..3efa0992 Binary files /dev/null and b/tokens/main/0x8fcddbb322b18d8bdaec9243e9f4c6eb8901e566/token.png differ diff --git a/tokens/main/0x98beccbe48d6bef5bae95f83cb0b965a97073819/additional.json b/tokens/main/0x98beccbe48d6bef5bae95f83cb0b965a97073819/additional.json new file mode 100644 index 00000000..b067e6c0 --- /dev/null +++ b/tokens/main/0x98beccbe48d6bef5bae95f83cb0b965a97073819/additional.json @@ -0,0 +1,7 @@ +{ + "website":"https://minomob.com/" , +"links":{ +"twitter":"https://x.com/minomobNFT" + + } + } \ No newline at end of file diff --git a/tokens/main/0x98beccbe48d6bef5bae95f83cb0b965a97073819/info.json b/tokens/main/0x98beccbe48d6bef5bae95f83cb0b965a97073819/info.json new file mode 100644 index 00000000..2ed2fc45 --- /dev/null +++ b/tokens/main/0x98beccbe48d6bef5bae95f83cb0b965a97073819/info.json @@ -0,0 +1,6 @@ +{ + "name": "MOB Token", + "symbol": "MOB", + "decimals": 18, + "desc": "MOB is a utility and governance token powering the Mino Mob ecosystem." + } \ No newline at end of file diff --git a/tokens/main/0x98beccbe48d6bef5bae95f83cb0b965a97073819/token.png b/tokens/main/0x98beccbe48d6bef5bae95f83cb0b965a97073819/token.png new file mode 100644 index 00000000..19a03ba6 Binary files /dev/null and b/tokens/main/0x98beccbe48d6bef5bae95f83cb0b965a97073819/token.png differ diff --git a/tokens/main/0x99763494a7b545f983ee9fe02a3b5441c7ef1396/additional.json b/tokens/main/0x99763494a7b545f983ee9fe02a3b5441c7ef1396/additional.json new file mode 100644 index 00000000..900d935d --- /dev/null +++ b/tokens/main/0x99763494a7b545f983ee9fe02a3b5441c7ef1396/additional.json @@ -0,0 +1,9 @@ +{ + "website":"https://madvikinggames.com/", + "links":{ + "twitter":"https://twitter.com/MadVikingGames", + "telegram":"https://t.me/MadVikingGames", + "medium":"https://medium.com/@MadVikingGames" + }, + "whitePaper":"https://www.madvikinggames.com/Litepaper/" +} \ No newline at end of file diff --git a/tokens/main/0x99763494a7b545f983ee9fe02a3b5441c7ef1396/info.json b/tokens/main/0x99763494a7b545f983ee9fe02a3b5441c7ef1396/info.json new file mode 100644 index 00000000..22767951 --- /dev/null +++ b/tokens/main/0x99763494a7b545f983ee9fe02a3b5441c7ef1396/info.json @@ -0,0 +1,6 @@ +{ + "name": "Mad Viking Games", + "symbol": "MVG", + "decimals":18, + "desc": "MVG is the ecosystem utility token of the MVG platform, games and marketplace" +} \ No newline at end of file diff --git a/tokens/main/0x99763494a7b545f983ee9fe02a3b5441c7ef1396/token.png b/tokens/main/0x99763494a7b545f983ee9fe02a3b5441c7ef1396/token.png new file mode 100644 index 00000000..ca8a045c Binary files /dev/null and b/tokens/main/0x99763494a7b545f983ee9fe02a3b5441c7ef1396/token.png differ diff --git a/tokens/main/0x99ae6b435d37995befb749670c1fb7c377fbb6d1/additional.json b/tokens/main/0x99ae6b435d37995befb749670c1fb7c377fbb6d1/additional.json new file mode 100644 index 00000000..37c1f9aa --- /dev/null +++ b/tokens/main/0x99ae6b435d37995befb749670c1fb7c377fbb6d1/additional.json @@ -0,0 +1,9 @@ +{ + "website":"https://lion.baby/", + "links":{ + "twitter":"https://twitter.com/lionbabycrypto", + "telegram":"https://t.me/lionbabycrypto", + "github":"https://github.com/lionbabycrypto" + }, + "whitePaper":"https://lion.baby/" + } diff --git a/tokens/main/0x99ae6b435d37995befb749670c1fb7c377fbb6d1/info.json b/tokens/main/0x99ae6b435d37995befb749670c1fb7c377fbb6d1/info.json new file mode 100644 index 00000000..b1826cd7 --- /dev/null +++ b/tokens/main/0x99ae6b435d37995befb749670c1fb7c377fbb6d1/info.json @@ -0,0 +1,6 @@ +{ + "name": "LION", + "symbol": "LION", + "decimals": 18, + "desc": "$LION is a meme token that symbolises strength, courage, and justice in the world of crypto currency" + } diff --git a/tokens/main/0x99ae6b435d37995befb749670c1fb7c377fbb6d1/token.png b/tokens/main/0x99ae6b435d37995befb749670c1fb7c377fbb6d1/token.png new file mode 100644 index 00000000..f0fa8a3d Binary files /dev/null and b/tokens/main/0x99ae6b435d37995befb749670c1fb7c377fbb6d1/token.png differ diff --git a/tokens/main/0x9af004570f2a301d99f2ce4554e564951ee48e3c/additional.json b/tokens/main/0x9af004570f2a301d99f2ce4554e564951ee48e3c/additional.json new file mode 100644 index 00000000..fb3f7967 --- /dev/null +++ b/tokens/main/0x9af004570f2a301d99f2ce4554e564951ee48e3c/additional.json @@ -0,0 +1,6 @@ +{ + "links":{ + "twitter": "https://twitter.com/TheSHTCoin", + "telegram": "https://t.me/shtstinks" + } +} diff --git a/tokens/main/0x9af004570f2a301d99f2ce4554e564951ee48e3c/info.json b/tokens/main/0x9af004570f2a301d99f2ce4554e564951ee48e3c/info.json new file mode 100644 index 00000000..ef1f1be7 --- /dev/null +++ b/tokens/main/0x9af004570f2a301d99f2ce4554e564951ee48e3c/info.json @@ -0,0 +1,6 @@ +{ + "name": "Sh*tCoin", + "symbol": "SHT", + "decimals": 18, + "desc": "meh" +} diff --git a/tokens/main/0x9af004570f2a301d99f2ce4554e564951ee48e3c/token.png b/tokens/main/0x9af004570f2a301d99f2ce4554e564951ee48e3c/token.png new file mode 100644 index 00000000..c571132b Binary files /dev/null and b/tokens/main/0x9af004570f2a301d99f2ce4554e564951ee48e3c/token.png differ diff --git a/tokens/main/0x9fbf641fd303bfb294fa9d5393962806644825b4/additional.json b/tokens/main/0x9fbf641fd303bfb294fa9d5393962806644825b4/additional.json new file mode 100644 index 00000000..16af19d3 --- /dev/null +++ b/tokens/main/0x9fbf641fd303bfb294fa9d5393962806644825b4/additional.json @@ -0,0 +1,8 @@ +{ + "website": "https://www.exoworlds.io", + "links": { + "twitter": "https://twitter.com/ExoWorldsNFT", + "medium": "https://medium.com/@ExoWorlds" + }, + "whitePaper": "https://exoworlds.gitbook.io/exoworlds-whitepaper/" +} diff --git a/tokens/main/0x9fbf641fd303bfb294fa9d5393962806644825b4/info.json b/tokens/main/0x9fbf641fd303bfb294fa9d5393962806644825b4/info.json new file mode 100644 index 00000000..07c588e2 --- /dev/null +++ b/tokens/main/0x9fbf641fd303bfb294fa9d5393962806644825b4/info.json @@ -0,0 +1,6 @@ +{ + "name": "GCRED Token", + "symbol": "GCRED", + "decimals":18, + "desc": "The Galactic Credit is the main currency of the ExoWorlds metaverse. Whether buying, upgrading, forging or enchanting, users will need GCRED if they want to unlock the full potential of ExoWorlds." +} diff --git a/tokens/main/0x9fbf641fd303bfb294fa9d5393962806644825b4/token.png b/tokens/main/0x9fbf641fd303bfb294fa9d5393962806644825b4/token.png new file mode 100644 index 00000000..3e9a6f5b Binary files /dev/null and b/tokens/main/0x9fbf641fd303bfb294fa9d5393962806644825b4/token.png differ diff --git a/tokens/main/0xa4f95b1f1c9f4cf984b0a003c4303e8ea86302f6/additional.json b/tokens/main/0xa4f95b1f1c9f4cf984b0a003c4303e8ea86302f6/additional.json new file mode 100644 index 00000000..6495acd3 --- /dev/null +++ b/tokens/main/0xa4f95b1f1c9f4cf984b0a003c4303e8ea86302f6/additional.json @@ -0,0 +1,7 @@ +{ + "website":"https://vfox-alliance.com/", + "links":{ + "twitter":"https://twitter.com/VFoxAllianceNFT" + }, + "whitePaper":"https://medium.com/@vfox.alphice/tokenomics-vfa-f3ab4c4f0cf7" +} diff --git a/tokens/main/0xa4f95b1f1c9f4cf984b0a003c4303e8ea86302f6/info.json b/tokens/main/0xa4f95b1f1c9f4cf984b0a003c4303e8ea86302f6/info.json new file mode 100644 index 00000000..cae7a563 --- /dev/null +++ b/tokens/main/0xa4f95b1f1c9f4cf984b0a003c4303e8ea86302f6/info.json @@ -0,0 +1,6 @@ +{ + "name": "VFoxToken", + "symbol": "VFA", + "decimals": 18, + "desc": "Utility token of the VFox Alliance ecosystem" +} diff --git a/tokens/main/0xa4f95b1f1c9f4cf984b0a003c4303e8ea86302f6/token.png b/tokens/main/0xa4f95b1f1c9f4cf984b0a003c4303e8ea86302f6/token.png new file mode 100644 index 00000000..05fcfd01 Binary files /dev/null and b/tokens/main/0xa4f95b1f1c9f4cf984b0a003c4303e8ea86302f6/token.png differ diff --git a/tokens/main/0xa94a33f776073423e163088a5078feac31373990/info.json b/tokens/main/0xa94a33f776073423e163088a5078feac31373990/info.json index 4b511d3d..114015c0 100644 --- a/tokens/main/0xa94a33f776073423e163088a5078feac31373990/info.json +++ b/tokens/main/0xa94a33f776073423e163088a5078feac31373990/info.json @@ -1,5 +1,5 @@ { - "name": "TicTalk", + "name": "TicTalk Token", "symbol": "TIC", "decimals": 18, "desc": "TicTalk Foundation is an innovative platform for blockchain incubation with lean incubation as its kernel." diff --git a/tokens/main/0xaac40a6e1adcf2acf172019e118b4278dd935760/additional.json b/tokens/main/0xaac40a6e1adcf2acf172019e118b4278dd935760/additional.json new file mode 100644 index 00000000..c4620992 --- /dev/null +++ b/tokens/main/0xaac40a6e1adcf2acf172019e118b4278dd935760/additional.json @@ -0,0 +1,6 @@ +{ + "website": "https://pauseyourcarbon.com/", + "links": { + "twitter": "https://x.com/the_Carboneers/" + } +} diff --git a/tokens/main/0xaac40a6e1adcf2acf172019e118b4278dd935760/info.json b/tokens/main/0xaac40a6e1adcf2acf172019e118b4278dd935760/info.json new file mode 100644 index 00000000..69ef8c7b --- /dev/null +++ b/tokens/main/0xaac40a6e1adcf2acf172019e118b4278dd935760/info.json @@ -0,0 +1,6 @@ +{ + "name": "CarbonYears", + "symbol": "CY", + "decimals": 18, + "desc": "Represents 1 ton of CO2 offset for 1 year. Non-tradable and non-transferable. Each token is linked to an offset certificate and can only be minted by the Pause Your Carbon smart contract." +} diff --git a/tokens/main/0xaac40a6e1adcf2acf172019e118b4278dd935760/token.png b/tokens/main/0xaac40a6e1adcf2acf172019e118b4278dd935760/token.png new file mode 100644 index 00000000..4298b39e Binary files /dev/null and b/tokens/main/0xaac40a6e1adcf2acf172019e118b4278dd935760/token.png differ diff --git a/tokens/main/0xab644843eeab886a5ed3ea22066c6ee5190cfb81/additional.json b/tokens/main/0xab644843eeab886a5ed3ea22066c6ee5190cfb81/additional.json new file mode 100644 index 00000000..f433e768 --- /dev/null +++ b/tokens/main/0xab644843eeab886a5ed3ea22066c6ee5190cfb81/additional.json @@ -0,0 +1,6 @@ +{ + "website":"https://www.rain.vet/", + "links":{ + "twitter":"https://twitter.com/RainDotVet" + } +} diff --git a/tokens/main/0xab644843eeab886a5ed3ea22066c6ee5190cfb81/info.json b/tokens/main/0xab644843eeab886a5ed3ea22066c6ee5190cfb81/info.json new file mode 100644 index 00000000..972512a9 --- /dev/null +++ b/tokens/main/0xab644843eeab886a5ed3ea22066c6ee5190cfb81/info.json @@ -0,0 +1,6 @@ + { + "name": "Uno", + "symbol": "UNO", + "decimals":18, + "desc": "Uno is a rain.vet token." + } \ No newline at end of file diff --git a/tokens/main/0xab644843eeab886a5ed3ea22066c6ee5190cfb81/token.png b/tokens/main/0xab644843eeab886a5ed3ea22066c6ee5190cfb81/token.png new file mode 100644 index 00000000..ad038339 Binary files /dev/null and b/tokens/main/0xab644843eeab886a5ed3ea22066c6ee5190cfb81/token.png differ diff --git a/tokens/main/0xb0821559723db89e0bd14fee81e13a3aae007e65/additional.json b/tokens/main/0xb0821559723db89e0bd14fee81e13a3aae007e65/additional.json new file mode 100644 index 00000000..f15ae6ec --- /dev/null +++ b/tokens/main/0xb0821559723db89e0bd14fee81e13a3aae007e65/additional.json @@ -0,0 +1,8 @@ +{ + "website":"https://vpunks.com/", + "links":{ + "twitter":"https://twitter.com/vpunksofficial", + "telegram":"https://t.me/vpunks", + "github":"https://github.com/vefam-labs/vpunks" + } +} diff --git a/tokens/main/0xb0821559723db89e0bd14fee81e13a3aae007e65/info.json b/tokens/main/0xb0821559723db89e0bd14fee81e13a3aae007e65/info.json new file mode 100644 index 00000000..f87e97e1 --- /dev/null +++ b/tokens/main/0xb0821559723db89e0bd14fee81e13a3aae007e65/info.json @@ -0,0 +1,6 @@ +{ + "name": "VPunks Token", + "symbol": "VPU", + "decimals":18, + "desc": "VPU is the ecosystem utility and governance token of VPunks NFT & VPunks marketplace" +} diff --git a/tokens/main/0xb0821559723db89e0bd14fee81e13a3aae007e65/token.png b/tokens/main/0xb0821559723db89e0bd14fee81e13a3aae007e65/token.png new file mode 100644 index 00000000..112d6335 Binary files /dev/null and b/tokens/main/0xb0821559723db89e0bd14fee81e13a3aae007e65/token.png differ diff --git a/tokens/main/0xb0d5b68a96fab5f3047f6de6f9377a460db7e528/additional.json b/tokens/main/0xb0d5b68a96fab5f3047f6de6f9377a460db7e528/additional.json new file mode 100644 index 00000000..408f8430 --- /dev/null +++ b/tokens/main/0xb0d5b68a96fab5f3047f6de6f9377a460db7e528/additional.json @@ -0,0 +1,6 @@ +{ + "website":"https://stonerpunksofficialnft.com/", + "links":{ + "twitter":"https://twitter.com/StonerPunksNFT" + } +} diff --git a/tokens/main/0xb0d5b68a96fab5f3047f6de6f9377a460db7e528/info.json b/tokens/main/0xb0d5b68a96fab5f3047f6de6f9377a460db7e528/info.json new file mode 100644 index 00000000..fdd9ed52 --- /dev/null +++ b/tokens/main/0xb0d5b68a96fab5f3047f6de6f9377a460db7e528/info.json @@ -0,0 +1,6 @@ +{ + "name": "PLUG", + "symbol": "PLG", + "decimals":18, + "desc": "Utility token for StonerPunksNFT community" +} diff --git a/tokens/main/0xb0d5b68a96fab5f3047f6de6f9377a460db7e528/token.png b/tokens/main/0xb0d5b68a96fab5f3047f6de6f9377a460db7e528/token.png new file mode 100644 index 00000000..35956795 Binary files /dev/null and b/tokens/main/0xb0d5b68a96fab5f3047f6de6f9377a460db7e528/token.png differ diff --git a/tokens/main/0xb27a1fb87935b85cdaa2e16468247278c74c5ec7/additional.json b/tokens/main/0xb27a1fb87935b85cdaa2e16468247278c74c5ec7/additional.json new file mode 100644 index 00000000..8df493de --- /dev/null +++ b/tokens/main/0xb27a1fb87935b85cdaa2e16468247278c74c5ec7/additional.json @@ -0,0 +1,6 @@ +{ + "links":{ + "twitter":"https://x.com/SquadVeChain", + "website":"https://SquadVeChain.fun/" + } + } diff --git a/tokens/main/0xb27a1fb87935b85cdaa2e16468247278c74c5ec7/info.json b/tokens/main/0xb27a1fb87935b85cdaa2e16468247278c74c5ec7/info.json new file mode 100644 index 00000000..ce273b35 --- /dev/null +++ b/tokens/main/0xb27a1fb87935b85cdaa2e16468247278c74c5ec7/info.json @@ -0,0 +1,6 @@ +{ + "name": "Squirtle Squad", + "symbol": "SQUAD", + "decimals": 18, + "desc": "VeChains finest Meme Coin, Powering Turtle Labs a DeFi Platform." + } diff --git a/tokens/main/0xb27a1fb87935b85cdaa2e16468247278c74c5ec7/token.png b/tokens/main/0xb27a1fb87935b85cdaa2e16468247278c74c5ec7/token.png new file mode 100644 index 00000000..bb242638 Binary files /dev/null and b/tokens/main/0xb27a1fb87935b85cdaa2e16468247278c74c5ec7/token.png differ diff --git a/tokens/main/0xb9c146507b77500a5cedfcf468da57ba46143e06/additional.json b/tokens/main/0xb9c146507b77500a5cedfcf468da57ba46143e06/additional.json new file mode 100644 index 00000000..5319242d --- /dev/null +++ b/tokens/main/0xb9c146507b77500a5cedfcf468da57ba46143e06/additional.json @@ -0,0 +1,7 @@ +{ + "website": "https://www.VeThugs.com/", + "links": { + "twitter": "https://twitter.com/VeThugs", + "github": "https://github.com/Murtagh300" + } +} diff --git a/tokens/main/0xb9c146507b77500a5cedfcf468da57ba46143e06/info.json b/tokens/main/0xb9c146507b77500a5cedfcf468da57ba46143e06/info.json new file mode 100644 index 00000000..039822f8 --- /dev/null +++ b/tokens/main/0xb9c146507b77500a5cedfcf468da57ba46143e06/info.json @@ -0,0 +1,6 @@ +{ + "name": "VeStacks", + "symbol": "VST", + "decimals": 18, + "desc": "The main currency used in Thugs Paradise. VeThugs P2E Game. Will later be integrated in BlackVMarket & Used for Future related BlackVeMarket Mints" +} diff --git a/tokens/main/0xb9c146507b77500a5cedfcf468da57ba46143e06/token.png b/tokens/main/0xb9c146507b77500a5cedfcf468da57ba46143e06/token.png new file mode 100644 index 00000000..e4df2f12 Binary files /dev/null and b/tokens/main/0xb9c146507b77500a5cedfcf468da57ba46143e06/token.png differ diff --git a/tokens/main/0xc0c789a13a69859d3ae7bdb3fe4fa1625d20fd65/additional.json b/tokens/main/0xc0c789a13a69859d3ae7bdb3fe4fa1625d20fd65/additional.json new file mode 100644 index 00000000..c9840c7e --- /dev/null +++ b/tokens/main/0xc0c789a13a69859d3ae7bdb3fe4fa1625d20fd65/additional.json @@ -0,0 +1,12 @@ +{ + "website":"https://bridge.wanchain.org/AssetBridge", + "links":{ + "twitter":"https://x.com/wanchain_org", + "telegram":"https://t.me/WanchainCHAT" + }, + + "crossChainProvider": { + "name": "wanchain", + "url": "https://bridge.wanchain.org/AssetBridge" + } +} \ No newline at end of file diff --git a/tokens/main/0xc0c789a13a69859d3ae7bdb3fe4fa1625d20fd65/info.json b/tokens/main/0xc0c789a13a69859d3ae7bdb3fe4fa1625d20fd65/info.json new file mode 100644 index 00000000..a1f78421 --- /dev/null +++ b/tokens/main/0xc0c789a13a69859d3ae7bdb3fe4fa1625d20fd65/info.json @@ -0,0 +1,7 @@ +{ + "name": "USDC@vechain", + "symbol": "USDC", + "decimals": 6, + "desc": "Bridged USDC from Wanchain at https://bridge.wanchain.org/AssetBridge." + } + \ No newline at end of file diff --git a/tokens/main/0xc0c789a13a69859d3ae7bdb3fe4fa1625d20fd65/token.png b/tokens/main/0xc0c789a13a69859d3ae7bdb3fe4fa1625d20fd65/token.png new file mode 100644 index 00000000..e99a3b4e Binary files /dev/null and b/tokens/main/0xc0c789a13a69859d3ae7bdb3fe4fa1625d20fd65/token.png differ diff --git a/tokens/main/0xc3fd50a056dc4025875fa164ced1524c93053f29/additional.json b/tokens/main/0xc3fd50a056dc4025875fa164ced1524c93053f29/additional.json new file mode 100644 index 00000000..d7074566 --- /dev/null +++ b/tokens/main/0xc3fd50a056dc4025875fa164ced1524c93053f29/additional.json @@ -0,0 +1,6 @@ +{ + "website":"https://mvanft.io/", + "links":{ + "twitter":"https://twitter.com/madvapesnft" + } +} diff --git a/tokens/main/0xc3fd50a056dc4025875fa164ced1524c93053f29/info.json b/tokens/main/0xc3fd50a056dc4025875fa164ced1524c93053f29/info.json new file mode 100644 index 00000000..0c691ae1 --- /dev/null +++ b/tokens/main/0xc3fd50a056dc4025875fa164ced1524c93053f29/info.json @@ -0,0 +1,6 @@ +{ + "name": "MVA Token", + "symbol": "MVA", + "decimals": 18, + "desc": "MVA is a utility and governance token for the MadⓥApes Ecosystem" +} diff --git a/tokens/main/0xc3fd50a056dc4025875fa164ced1524c93053f29/token.png b/tokens/main/0xc3fd50a056dc4025875fa164ced1524c93053f29/token.png new file mode 100644 index 00000000..e57f69bb Binary files /dev/null and b/tokens/main/0xc3fd50a056dc4025875fa164ced1524c93053f29/token.png differ diff --git a/tokens/main/0xc952e8decdb9bbde9b4d7574c1eb82ea99f034fc/info.json b/tokens/main/0xc952e8decdb9bbde9b4d7574c1eb82ea99f034fc/info.json new file mode 100644 index 00000000..93db922b --- /dev/null +++ b/tokens/main/0xc952e8decdb9bbde9b4d7574c1eb82ea99f034fc/info.json @@ -0,0 +1,6 @@ +{ + "name": "Dream", + "symbol": "DREAM", + "decimals": 18, + "desc": "DREAM token, Your Gateway into Dreamchicks!" +} diff --git a/tokens/main/0xc952e8decdb9bbde9b4d7574c1eb82ea99f034fc/token.png b/tokens/main/0xc952e8decdb9bbde9b4d7574c1eb82ea99f034fc/token.png new file mode 100644 index 00000000..d16ff74f Binary files /dev/null and b/tokens/main/0xc952e8decdb9bbde9b4d7574c1eb82ea99f034fc/token.png differ diff --git a/tokens/main/0xd5704b934a088dcacafc2d5d2784c29bd4cc4568/info.json b/tokens/main/0xd5704b934a088dcacafc2d5d2784c29bd4cc4568/info.json new file mode 100644 index 00000000..18fbc6e4 --- /dev/null +++ b/tokens/main/0xd5704b934a088dcacafc2d5d2784c29bd4cc4568/info.json @@ -0,0 +1,6 @@ +{ + "name": "Chuwi", + "symbol": "CHUWI", + "decimals": 18, + "desc": "A secondary token for the Golden Empire Eco System, Fueling The gamification of the OG NFT Collection!" +} \ No newline at end of file diff --git a/tokens/main/0xd5704b934a088dcacafc2d5d2784c29bd4cc4568/token.png b/tokens/main/0xd5704b934a088dcacafc2d5d2784c29bd4cc4568/token.png new file mode 100644 index 00000000..b175fd45 Binary files /dev/null and b/tokens/main/0xd5704b934a088dcacafc2d5d2784c29bd4cc4568/token.png differ diff --git a/tokens/main/0xd5bd1b64cc9dafbfd58abd1d24a51f745ba64712/additional.json b/tokens/main/0xd5bd1b64cc9dafbfd58abd1d24a51f745ba64712/additional.json new file mode 100644 index 00000000..d857ac6c --- /dev/null +++ b/tokens/main/0xd5bd1b64cc9dafbfd58abd1d24a51f745ba64712/additional.json @@ -0,0 +1,5 @@ +{ + "links":{ + "twitter":"https://twitter.com/sunshinelu24" + } +} \ No newline at end of file diff --git a/tokens/main/0xd5bd1b64cc9dafbfd58abd1d24a51f745ba64712/info.json b/tokens/main/0xd5bd1b64cc9dafbfd58abd1d24a51f745ba64712/info.json new file mode 100644 index 00000000..af020f4a --- /dev/null +++ b/tokens/main/0xd5bd1b64cc9dafbfd58abd1d24a51f745ba64712/info.json @@ -0,0 +1,6 @@ +{ + "name": "FreeCoffeeWithSunny", + "symbol": "FCWS", + "decimals": 0, + "desc": "1 token for a cup of coffee from Sunny" +} diff --git a/tokens/main/0xd5bd1b64cc9dafbfd58abd1d24a51f745ba64712/token.png b/tokens/main/0xd5bd1b64cc9dafbfd58abd1d24a51f745ba64712/token.png new file mode 100644 index 00000000..ed43da77 Binary files /dev/null and b/tokens/main/0xd5bd1b64cc9dafbfd58abd1d24a51f745ba64712/token.png differ diff --git a/tokens/main/0xdb01e0b2b8d8d8eea3eaf290bdb2ae05c317f2f1/additional.json b/tokens/main/0xdb01e0b2b8d8d8eea3eaf290bdb2ae05c317f2f1/additional.json new file mode 100644 index 00000000..eee391fe --- /dev/null +++ b/tokens/main/0xdb01e0b2b8d8d8eea3eaf290bdb2ae05c317f2f1/additional.json @@ -0,0 +1,12 @@ +{ + "website":"https://bridge.wanchain.org/AssetBridge", + "links":{ + "twitter":"https://x.com/wanchain_org", + "telegram":"https://t.me/WanchainCHAT" + }, + + "crossChainProvider": { + "name": "wanchain", + "url": "https://bridge.wanchain.org/AssetBridge" + } +} diff --git a/tokens/main/0xdb01e0b2b8d8d8eea3eaf290bdb2ae05c317f2f1/info.json b/tokens/main/0xdb01e0b2b8d8d8eea3eaf290bdb2ae05c317f2f1/info.json new file mode 100644 index 00000000..90dfd32f --- /dev/null +++ b/tokens/main/0xdb01e0b2b8d8d8eea3eaf290bdb2ae05c317f2f1/info.json @@ -0,0 +1,7 @@ +{ + "name": "WAN@vechain", + "symbol": "WAN", + "decimals": 18, + "desc": "Bridged WAN from Wanchain at https://bridge.wanchain.org/AssetBridge." + } + \ No newline at end of file diff --git a/tokens/main/0xdb01e0b2b8d8d8eea3eaf290bdb2ae05c317f2f1/token.png b/tokens/main/0xdb01e0b2b8d8d8eea3eaf290bdb2ae05c317f2f1/token.png new file mode 100644 index 00000000..6c526fe5 Binary files /dev/null and b/tokens/main/0xdb01e0b2b8d8d8eea3eaf290bdb2ae05c317f2f1/token.png differ diff --git a/tokens/main/0xe5bb68318120828fd1159bf73d0e3a823043efc8/additional.json b/tokens/main/0xe5bb68318120828fd1159bf73d0e3a823043efc8/additional.json new file mode 100644 index 00000000..155cab50 --- /dev/null +++ b/tokens/main/0xe5bb68318120828fd1159bf73d0e3a823043efc8/additional.json @@ -0,0 +1,9 @@ +{ + "website": "https://www.legacynetwork.io", + "links": { + "twitter": "https://twitter.com/LegacyNetworkio", + "telegram": "https://t.me/LegacyNetworkAnnouncements", + "github": "https://github.com/LegacyNetworkAG" + }, + "whitePaper": "https://www.legacynetwork.io/pdf/WP-Eng.pdf" +} \ No newline at end of file diff --git a/tokens/main/0xe5bb68318120828fd1159bf73d0e3a823043efc8/info.json b/tokens/main/0xe5bb68318120828fd1159bf73d0e3a823043efc8/info.json new file mode 100644 index 00000000..e4ce9829 --- /dev/null +++ b/tokens/main/0xe5bb68318120828fd1159bf73d0e3a823043efc8/info.json @@ -0,0 +1,6 @@ +{ + "name": "LEGACY TOKEN", + "symbol": "LGCT", + "decimals": 18, + "desc": "The Legacy Network token (LGCT) is a multichain utility and payment token which allows its holders to get the best out of the Legacy Network ecosystem. LGCT is available on VeChain, Ethereum, Binance smart chain and Polygon." +} \ No newline at end of file diff --git a/tokens/main/0xe5bb68318120828fd1159bf73d0e3a823043efc8/token.png b/tokens/main/0xe5bb68318120828fd1159bf73d0e3a823043efc8/token.png new file mode 100644 index 00000000..81c60d70 Binary files /dev/null and b/tokens/main/0xe5bb68318120828fd1159bf73d0e3a823043efc8/token.png differ diff --git a/tokens/main/0xe6826a142b6c4b6070015a633e6cccca36586185/additional.json b/tokens/main/0xe6826a142b6c4b6070015a633e6cccca36586185/additional.json new file mode 100644 index 00000000..eee391fe --- /dev/null +++ b/tokens/main/0xe6826a142b6c4b6070015a633e6cccca36586185/additional.json @@ -0,0 +1,12 @@ +{ + "website":"https://bridge.wanchain.org/AssetBridge", + "links":{ + "twitter":"https://x.com/wanchain_org", + "telegram":"https://t.me/WanchainCHAT" + }, + + "crossChainProvider": { + "name": "wanchain", + "url": "https://bridge.wanchain.org/AssetBridge" + } +} diff --git a/tokens/main/0xe6826a142b6c4b6070015a633e6cccca36586185/info.json b/tokens/main/0xe6826a142b6c4b6070015a633e6cccca36586185/info.json new file mode 100644 index 00000000..4568d9df --- /dev/null +++ b/tokens/main/0xe6826a142b6c4b6070015a633e6cccca36586185/info.json @@ -0,0 +1,7 @@ +{ + "name": "XRP@vechain", + "symbol": "XRP", + "decimals": 6, + "desc": "Bridged XRP from Wanchain at https://bridge.wanchain.org/AssetBridge." + } + \ No newline at end of file diff --git a/tokens/main/0xe6826a142b6c4b6070015a633e6cccca36586185/token.png b/tokens/main/0xe6826a142b6c4b6070015a633e6cccca36586185/token.png new file mode 100644 index 00000000..1f40af58 Binary files /dev/null and b/tokens/main/0xe6826a142b6c4b6070015a633e6cccca36586185/token.png differ diff --git a/tokens/main/0xf01069227b814f425bad4ba70ca30580f2297ae8/additional.json b/tokens/main/0xf01069227b814f425bad4ba70ca30580f2297ae8/additional.json new file mode 100644 index 00000000..7d3bf13c --- /dev/null +++ b/tokens/main/0xf01069227b814f425bad4ba70ca30580f2297ae8/additional.json @@ -0,0 +1,5 @@ +{ + "links": { + "twitter": "https://twitter.com/GangGorillaz/" + } +} diff --git a/tokens/main/0xf01069227b814f425bad4ba70ca30580f2297ae8/info.json b/tokens/main/0xf01069227b814f425bad4ba70ca30580f2297ae8/info.json new file mode 100644 index 00000000..0388ef02 --- /dev/null +++ b/tokens/main/0xf01069227b814f425bad4ba70ca30580f2297ae8/info.json @@ -0,0 +1,6 @@ +{ + "name": "BananaCoin", + "symbol": "BANANA", + "decimals": 18, + "desc": "MemeCoin, GG Gangster Gorillas no roadmap, no utility Lots of potential." +} diff --git a/tokens/main/0xf01069227b814f425bad4ba70ca30580f2297ae8/token.png b/tokens/main/0xf01069227b814f425bad4ba70ca30580f2297ae8/token.png new file mode 100644 index 00000000..6f939fbb Binary files /dev/null and b/tokens/main/0xf01069227b814f425bad4ba70ca30580f2297ae8/token.png differ diff --git a/tokens/main/0xf9b02b47694fd635a413f16dc7b38af06cc16fe5/additional.json b/tokens/main/0xf9b02b47694fd635a413f16dc7b38af06cc16fe5/additional.json new file mode 100644 index 00000000..77ab906d --- /dev/null +++ b/tokens/main/0xf9b02b47694fd635a413f16dc7b38af06cc16fe5/additional.json @@ -0,0 +1,6 @@ +{ + "website":"https://www.betterswap.io/", + "links":{ + "twitter":"https://x.com/BetterSwap_io" + } +} diff --git a/tokens/main/0xf9b02b47694fd635a413f16dc7b38af06cc16fe5/info.json b/tokens/main/0xf9b02b47694fd635a413f16dc7b38af06cc16fe5/info.json new file mode 100644 index 00000000..3d101f56 --- /dev/null +++ b/tokens/main/0xf9b02b47694fd635a413f16dc7b38af06cc16fe5/info.json @@ -0,0 +1,6 @@ + { + "name": "Better VET", + "symbol": "BVET", + "decimals":18, + "desc": "Wrapper VET VIP-180 token (VIP-180) that 1:1 pegs VET" + } diff --git a/tokens/main/0xf9b02b47694fd635a413f16dc7b38af06cc16fe5/token.png b/tokens/main/0xf9b02b47694fd635a413f16dc7b38af06cc16fe5/token.png new file mode 100644 index 00000000..c9763f9b Binary files /dev/null and b/tokens/main/0xf9b02b47694fd635a413f16dc7b38af06cc16fe5/token.png differ diff --git a/tokens/main/0xf9fc8681bec2c9f35d0dd2461d035e62d643659b/info.json b/tokens/main/0xf9fc8681bec2c9f35d0dd2461d035e62d643659b/info.json index 7f851d78..4c0f36cc 100644 --- a/tokens/main/0xf9fc8681bec2c9f35d0dd2461d035e62d643659b/info.json +++ b/tokens/main/0xf9fc8681bec2c9f35d0dd2461d035e62d643659b/info.json @@ -3,4 +3,4 @@ "symbol": "AQD", "decimals": 18, "desc": "As an Incentive mechanism for the Socialized Operation of e-commerce." -} \ No newline at end of file +} diff --git a/tokens/main/0xff3bc357600885aaa97506ea6e24fb21aba88fbd/additional.json b/tokens/main/0xff3bc357600885aaa97506ea6e24fb21aba88fbd/additional.json new file mode 100644 index 00000000..7a695e8b --- /dev/null +++ b/tokens/main/0xff3bc357600885aaa97506ea6e24fb21aba88fbd/additional.json @@ -0,0 +1,7 @@ +{ + "website": "https://theinkaempirenft.com/", + "links": { + "twitter": "https://twitter.com/INKAEmpireNFT" + } +} + diff --git a/tokens/main/0xff3bc357600885aaa97506ea6e24fb21aba88fbd/info.json b/tokens/main/0xff3bc357600885aaa97506ea6e24fb21aba88fbd/info.json new file mode 100644 index 00000000..94942df7 --- /dev/null +++ b/tokens/main/0xff3bc357600885aaa97506ea6e24fb21aba88fbd/info.json @@ -0,0 +1,6 @@ +{ + "name": "GOLD Coin", + "symbol": "GOLD", + "decimals": 18, + "desc": "The Utility Token of the Llama Digital Studios Ecosystem, the Gold Rush has started!" +} diff --git a/tokens/main/0xff3bc357600885aaa97506ea6e24fb21aba88fbd/token.png b/tokens/main/0xff3bc357600885aaa97506ea6e24fb21aba88fbd/token.png new file mode 100644 index 00000000..fb1e6737 Binary files /dev/null and b/tokens/main/0xff3bc357600885aaa97506ea6e24fb21aba88fbd/token.png differ diff --git a/tokens/test/0x0000000000000000000000000000456e65726779/additional.json b/tokens/test/0x0000000000000000000000000000456e65726779/additional.json new file mode 100644 index 00000000..80b6ef6a --- /dev/null +++ b/tokens/test/0x0000000000000000000000000000456e65726779/additional.json @@ -0,0 +1,9 @@ +{ + "website":"https://www.vechain.org/", + "links":{ + "twitter":"https://twitter.com/vechaindev", + "medium":"https://medium.com/@vechainofficial", + "github":"https://github.com/vechain" + }, + "whitePaper":"https://www.vechain.org/whitepaper/" +} \ No newline at end of file diff --git a/tokens/test/0x0000000000000000000000000000456e65726779/info.json b/tokens/test/0x0000000000000000000000000000456e65726779/info.json index 86a98b56..001be828 100644 --- a/tokens/test/0x0000000000000000000000000000456e65726779/info.json +++ b/tokens/test/0x0000000000000000000000000000456e65726779/info.json @@ -2,5 +2,5 @@ "name": "VeThor", "symbol": "VTHO", "decimals": 18, - "desc": "Represents the underlying cost of using VeChainThor" + "desc": "VTHO is the energy or “gas” token of the VeChainThor blockchain, used to pay for transactions, smart contracts and other types of network activity. It enables predictable and stable transaction costs, a key feature of VeChain’s dual-token system.\n\nVTHO is generated through the staking of VET and is distributed as rewards to validators and delegators who help secure the network. The VeChainThor blockchain employs a dynamic gas fee mechanism, where 100% of the VTHO used in transactions as the base fee is burned, balancing supply and demand to maintain sustainable network economics." } diff --git a/tokens/test/0x0000000000000000000000000000456e65726779/token.png b/tokens/test/0x0000000000000000000000000000456e65726779/token.png index 224624ba..1356a30a 100644 Binary files a/tokens/test/0x0000000000000000000000000000456e65726779/token.png and b/tokens/test/0x0000000000000000000000000000456e65726779/token.png differ diff --git a/tokens/test/0x0263685c1a5c909cecb332a4e6cba868e584d3b7/additional.json b/tokens/test/0x0263685c1a5c909cecb332a4e6cba868e584d3b7/additional.json new file mode 100644 index 00000000..b603ecdc --- /dev/null +++ b/tokens/test/0x0263685c1a5c909cecb332a4e6cba868e584d3b7/additional.json @@ -0,0 +1,6 @@ +{ + "crossChainProvider": { + "name": "wanchain", + "url": "https://bridge-testnet.wanchain.org/AssetBridge" + } +} diff --git a/tokens/test/0x0263685c1a5c909cecb332a4e6cba868e584d3b7/info.json b/tokens/test/0x0263685c1a5c909cecb332a4e6cba868e584d3b7/info.json new file mode 100644 index 00000000..68a50d90 --- /dev/null +++ b/tokens/test/0x0263685c1a5c909cecb332a4e6cba868e584d3b7/info.json @@ -0,0 +1,6 @@ +{ + "name": "XRP@vechain", + "symbol": "XRP", + "decimals": 6, + "desc": "Bridged XRP from Wanchain at https://bridge-testnet.wanchain.org/AssetBridge." +} \ No newline at end of file diff --git a/tokens/test/0x0263685c1a5c909cecb332a4e6cba868e584d3b7/token.png b/tokens/test/0x0263685c1a5c909cecb332a4e6cba868e584d3b7/token.png new file mode 100644 index 00000000..1f40af58 Binary files /dev/null and b/tokens/test/0x0263685c1a5c909cecb332a4e6cba868e584d3b7/token.png differ diff --git a/tokens/test/0x033bbc923a9378600c6b52fa9aada608c4cc7ece/info.json b/tokens/test/0x033bbc923a9378600c6b52fa9aada608c4cc7ece/info.json new file mode 100644 index 00000000..0d0c7f21 --- /dev/null +++ b/tokens/test/0x033bbc923a9378600c6b52fa9aada608c4cc7ece/info.json @@ -0,0 +1,6 @@ +{ + "name": "VeUSD", + "symbol": "VEUSD", + "decimals":6, + "desc": "US Dollar-pegged stablecoin fully backed 1-to-1 and redeemable for USD held in a trust account managed by Prime Trust and powered by Stably" +} \ No newline at end of file diff --git a/tokens/test/0x033bbc923a9378600c6b52fa9aada608c4cc7ece/token.png b/tokens/test/0x033bbc923a9378600c6b52fa9aada608c4cc7ece/token.png new file mode 100644 index 00000000..aea4ad12 Binary files /dev/null and b/tokens/test/0x033bbc923a9378600c6b52fa9aada608c4cc7ece/token.png differ diff --git a/tokens/test/0x1b299f501bce347893f5a3a10e625c9a3345365e/additional.json b/tokens/test/0x1b299f501bce347893f5a3a10e625c9a3345365e/additional.json new file mode 100644 index 00000000..53a99bcd --- /dev/null +++ b/tokens/test/0x1b299f501bce347893f5a3a10e625c9a3345365e/additional.json @@ -0,0 +1,8 @@ +{ + "website":"https://thesagaz.com/", + "links":{ + "twitter":"https://twitter.com/VeSagaz", + "instagram":"https://www.instagram.com/thesagazofficial/" + } + } + \ No newline at end of file diff --git a/tokens/test/0x1b299f501bce347893f5a3a10e625c9a3345365e/info.json b/tokens/test/0x1b299f501bce347893f5a3a10e625c9a3345365e/info.json new file mode 100644 index 00000000..85992ccb --- /dev/null +++ b/tokens/test/0x1b299f501bce347893f5a3a10e625c9a3345365e/info.json @@ -0,0 +1,7 @@ +{ + "name": "Sassafras", + "symbol": "SASS", + "decimals": 18, + "desc": "Sagaz Utlity Token for our dApp Activities and token gameifaction" + } + \ No newline at end of file diff --git a/tokens/test/0x1b299f501bce347893f5a3a10e625c9a3345365e/token.png b/tokens/test/0x1b299f501bce347893f5a3a10e625c9a3345365e/token.png new file mode 100644 index 00000000..2405f2e1 Binary files /dev/null and b/tokens/test/0x1b299f501bce347893f5a3a10e625c9a3345365e/token.png differ diff --git a/tokens/test/0x2099f5c6e20e1be2ead225ea77a6393f08dc652a/additional.json b/tokens/test/0x2099f5c6e20e1be2ead225ea77a6393f08dc652a/additional.json new file mode 100644 index 00000000..b603ecdc --- /dev/null +++ b/tokens/test/0x2099f5c6e20e1be2ead225ea77a6393f08dc652a/additional.json @@ -0,0 +1,6 @@ +{ + "crossChainProvider": { + "name": "wanchain", + "url": "https://bridge-testnet.wanchain.org/AssetBridge" + } +} diff --git a/tokens/test/0x2099f5c6e20e1be2ead225ea77a6393f08dc652a/info.json b/tokens/test/0x2099f5c6e20e1be2ead225ea77a6393f08dc652a/info.json new file mode 100644 index 00000000..47849012 --- /dev/null +++ b/tokens/test/0x2099f5c6e20e1be2ead225ea77a6393f08dc652a/info.json @@ -0,0 +1,7 @@ +{ + "name": "BTC@vechain", + "symbol": "BTC", + "decimals": 8, + "desc": "Bridged BTC from Wanchain at https://bridge-testnet.wanchain.org/AssetBridge." + } + \ No newline at end of file diff --git a/tokens/test/0x2099f5c6e20e1be2ead225ea77a6393f08dc652a/token.png b/tokens/test/0x2099f5c6e20e1be2ead225ea77a6393f08dc652a/token.png new file mode 100644 index 00000000..19f83ec3 Binary files /dev/null and b/tokens/test/0x2099f5c6e20e1be2ead225ea77a6393f08dc652a/token.png differ diff --git a/tokens/test/0x2a794e01af15ef232a0f5db583e347f3597bbf2e/info.json b/tokens/test/0x2a794e01af15ef232a0f5db583e347f3597bbf2e/info.json new file mode 100644 index 00000000..18fbc6e4 --- /dev/null +++ b/tokens/test/0x2a794e01af15ef232a0f5db583e347f3597bbf2e/info.json @@ -0,0 +1,6 @@ +{ + "name": "Chuwi", + "symbol": "CHUWI", + "decimals": 18, + "desc": "A secondary token for the Golden Empire Eco System, Fueling The gamification of the OG NFT Collection!" +} \ No newline at end of file diff --git a/tokens/test/0x2a794e01af15ef232a0f5db583e347f3597bbf2e/token.png b/tokens/test/0x2a794e01af15ef232a0f5db583e347f3597bbf2e/token.png new file mode 100644 index 00000000..b175fd45 Binary files /dev/null and b/tokens/test/0x2a794e01af15ef232a0f5db583e347f3597bbf2e/token.png differ diff --git a/tokens/test/0x307bd9ebe9b8f1baa59731f18aecc999e8b33dea/additional.json b/tokens/test/0x307bd9ebe9b8f1baa59731f18aecc999e8b33dea/additional.json new file mode 100644 index 00000000..d7074566 --- /dev/null +++ b/tokens/test/0x307bd9ebe9b8f1baa59731f18aecc999e8b33dea/additional.json @@ -0,0 +1,6 @@ +{ + "website":"https://mvanft.io/", + "links":{ + "twitter":"https://twitter.com/madvapesnft" + } +} diff --git a/tokens/test/0x307bd9ebe9b8f1baa59731f18aecc999e8b33dea/info.json b/tokens/test/0x307bd9ebe9b8f1baa59731f18aecc999e8b33dea/info.json new file mode 100644 index 00000000..0c691ae1 --- /dev/null +++ b/tokens/test/0x307bd9ebe9b8f1baa59731f18aecc999e8b33dea/info.json @@ -0,0 +1,6 @@ +{ + "name": "MVA Token", + "symbol": "MVA", + "decimals": 18, + "desc": "MVA is a utility and governance token for the MadⓥApes Ecosystem" +} diff --git a/tokens/test/0x307bd9ebe9b8f1baa59731f18aecc999e8b33dea/token.png b/tokens/test/0x307bd9ebe9b8f1baa59731f18aecc999e8b33dea/token.png new file mode 100644 index 00000000..e57f69bb Binary files /dev/null and b/tokens/test/0x307bd9ebe9b8f1baa59731f18aecc999e8b33dea/token.png differ diff --git a/tokens/test/0x3ba9ef09ca4e664644a6e32d704c5cd8882998d0/additional.json b/tokens/test/0x3ba9ef09ca4e664644a6e32d704c5cd8882998d0/additional.json new file mode 100644 index 00000000..b603ecdc --- /dev/null +++ b/tokens/test/0x3ba9ef09ca4e664644a6e32d704c5cd8882998d0/additional.json @@ -0,0 +1,6 @@ +{ + "crossChainProvider": { + "name": "wanchain", + "url": "https://bridge-testnet.wanchain.org/AssetBridge" + } +} diff --git a/tokens/test/0x3ba9ef09ca4e664644a6e32d704c5cd8882998d0/info.json b/tokens/test/0x3ba9ef09ca4e664644a6e32d704c5cd8882998d0/info.json new file mode 100644 index 00000000..072dc560 --- /dev/null +++ b/tokens/test/0x3ba9ef09ca4e664644a6e32d704c5cd8882998d0/info.json @@ -0,0 +1,7 @@ +{ + "name": "WAN@vechain", + "symbol": "WAN", + "decimals": 18, + "desc": "Bridged WAN from Wanchain at https://bridge-testnet.wanchain.org/AssetBridge." + } + \ No newline at end of file diff --git a/tokens/test/0x3ba9ef09ca4e664644a6e32d704c5cd8882998d0/token.png b/tokens/test/0x3ba9ef09ca4e664644a6e32d704c5cd8882998d0/token.png new file mode 100644 index 00000000..6c526fe5 Binary files /dev/null and b/tokens/test/0x3ba9ef09ca4e664644a6e32d704c5cd8882998d0/token.png differ diff --git a/tokens/test/0x441ce74a5d456e3b262fc3d9f3b2c359f7d77016/additional.json b/tokens/test/0x441ce74a5d456e3b262fc3d9f3b2c359f7d77016/additional.json new file mode 100644 index 00000000..249b6452 --- /dev/null +++ b/tokens/test/0x441ce74a5d456e3b262fc3d9f3b2c359f7d77016/additional.json @@ -0,0 +1,7 @@ +{ + "website": "https://www.blackvemarket.com/", + "links": { + "twitter": "https://twitter.com/BlackVeMarket", + "github": "https://github.com/Murtagh300" + } +} \ No newline at end of file diff --git a/tokens/test/0x441ce74a5d456e3b262fc3d9f3b2c359f7d77016/info.json b/tokens/test/0x441ce74a5d456e3b262fc3d9f3b2c359f7d77016/info.json new file mode 100644 index 00000000..cf0076c6 --- /dev/null +++ b/tokens/test/0x441ce74a5d456e3b262fc3d9f3b2c359f7d77016/info.json @@ -0,0 +1,6 @@ +{ + "name": "Black Ve Coin", + "symbol": "BVC", + "decimals":18, + "desc": "The fuel powering BlackVeMarket NFT Utility Ecosystem" +} \ No newline at end of file diff --git a/tokens/test/0x441ce74a5d456e3b262fc3d9f3b2c359f7d77016/token.png b/tokens/test/0x441ce74a5d456e3b262fc3d9f3b2c359f7d77016/token.png new file mode 100644 index 00000000..6fe460fc Binary files /dev/null and b/tokens/test/0x441ce74a5d456e3b262fc3d9f3b2c359f7d77016/token.png differ diff --git a/tokens/test/0x4c76f2c483e0ec292c06d0a0d1440717ed0787c0/additional.json b/tokens/test/0x4c76f2c483e0ec292c06d0a0d1440717ed0787c0/additional.json new file mode 100644 index 00000000..7a45d8b8 --- /dev/null +++ b/tokens/test/0x4c76f2c483e0ec292c06d0a0d1440717ed0787c0/additional.json @@ -0,0 +1,7 @@ +{ + "website":"https://www.madiniafricainvest.com/", + "links":{ + "github":"https://github.com/Bluegate-BS" + }, + "whitePaper":"https://www.madiniafricainvest.com/whitepaper/MadiniWhitepaper112020.pdf" +} diff --git a/tokens/test/0x4c76f2c483e0ec292c06d0a0d1440717ed0787c0/info.json b/tokens/test/0x4c76f2c483e0ec292c06d0a0d1440717ed0787c0/info.json new file mode 100644 index 00000000..ca629a81 --- /dev/null +++ b/tokens/test/0x4c76f2c483e0ec292c06d0a0d1440717ed0787c0/info.json @@ -0,0 +1,6 @@ + { + "name": "Madini", + "symbol": "MDN", + "decimals":18, + "desc": "MDN is the Madini VeChain Vip180 token that is used to carry value or 'smart money' from Madini smart contracts. In other words, transactions on decentralized applications occurring on Madini VeChain's blockchain will use MDN. It is available for investing by the general public. MDN token is the Madini utility token in our Ecosystem since it is linked to the Madini Minerals Marketplace, to the Madini VeChain Wallet - Android APP - and other Madini VeChain dApps." + } diff --git a/tokens/test/0x4c76f2c483e0ec292c06d0a0d1440717ed0787c0/token.png b/tokens/test/0x4c76f2c483e0ec292c06d0a0d1440717ed0787c0/token.png new file mode 100644 index 00000000..a8ac56fd Binary files /dev/null and b/tokens/test/0x4c76f2c483e0ec292c06d0a0d1440717ed0787c0/token.png differ diff --git a/tokens/test/0x510fcddc9424b1bbb328a574f45bfddb130e1f03/info.json b/tokens/test/0x510fcddc9424b1bbb328a574f45bfddb130e1f03/info.json index 9baf7d0c..f4a1b25b 100644 --- a/tokens/test/0x510fcddc9424b1bbb328a574f45bfddb130e1f03/info.json +++ b/tokens/test/0x510fcddc9424b1bbb328a574f45bfddb130e1f03/info.json @@ -1,5 +1,5 @@ { - "name": "Decent.bet", + "name": "Decent.bet Token", "symbol": "DBET", "decimals": 18, "desc": "DECENT.bet is an open-source p2p gaming platform built on the VeChain blockchain" diff --git a/tokens/test/0x6e32a40481dc95c7495b48ee81e3d388a0f0eb77/additional.json b/tokens/test/0x6e32a40481dc95c7495b48ee81e3d388a0f0eb77/additional.json new file mode 100644 index 00000000..900d935d --- /dev/null +++ b/tokens/test/0x6e32a40481dc95c7495b48ee81e3d388a0f0eb77/additional.json @@ -0,0 +1,9 @@ +{ + "website":"https://madvikinggames.com/", + "links":{ + "twitter":"https://twitter.com/MadVikingGames", + "telegram":"https://t.me/MadVikingGames", + "medium":"https://medium.com/@MadVikingGames" + }, + "whitePaper":"https://www.madvikinggames.com/Litepaper/" +} \ No newline at end of file diff --git a/tokens/test/0x6e32a40481dc95c7495b48ee81e3d388a0f0eb77/info.json b/tokens/test/0x6e32a40481dc95c7495b48ee81e3d388a0f0eb77/info.json new file mode 100644 index 00000000..22767951 --- /dev/null +++ b/tokens/test/0x6e32a40481dc95c7495b48ee81e3d388a0f0eb77/info.json @@ -0,0 +1,6 @@ +{ + "name": "Mad Viking Games", + "symbol": "MVG", + "decimals":18, + "desc": "MVG is the ecosystem utility token of the MVG platform, games and marketplace" +} \ No newline at end of file diff --git a/tokens/test/0x6e32a40481dc95c7495b48ee81e3d388a0f0eb77/token.png b/tokens/test/0x6e32a40481dc95c7495b48ee81e3d388a0f0eb77/token.png new file mode 100644 index 00000000..ca8a045c Binary files /dev/null and b/tokens/test/0x6e32a40481dc95c7495b48ee81e3d388a0f0eb77/token.png differ diff --git a/tokens/test/0x6e8b4a88d37897fc11f6ba12c805695f1c41f40e/additional.json b/tokens/test/0x6e8b4a88d37897fc11f6ba12c805695f1c41f40e/additional.json new file mode 100644 index 00000000..f2849363 --- /dev/null +++ b/tokens/test/0x6e8b4a88d37897fc11f6ba12c805695f1c41f40e/additional.json @@ -0,0 +1,3 @@ +{ + "website": "https://docs.vebetterdao.org/developer-guides/test-environmnet" +} diff --git a/tokens/test/0x6e8b4a88d37897fc11f6ba12c805695f1c41f40e/info.json b/tokens/test/0x6e8b4a88d37897fc11f6ba12c805695f1c41f40e/info.json new file mode 100644 index 00000000..dde0f74c --- /dev/null +++ b/tokens/test/0x6e8b4a88d37897fc11f6ba12c805695f1c41f40e/info.json @@ -0,0 +1,6 @@ +{ + "name": "VOT3", + "symbol": "VOT3", + "decimals": 18, + "desc": "The testnet VOT3 token used for testing purposes by developers" +} diff --git a/tokens/test/0x6e8b4a88d37897fc11f6ba12c805695f1c41f40e/token.png b/tokens/test/0x6e8b4a88d37897fc11f6ba12c805695f1c41f40e/token.png new file mode 100644 index 00000000..411e693d Binary files /dev/null and b/tokens/test/0x6e8b4a88d37897fc11f6ba12c805695f1c41f40e/token.png differ diff --git a/tokens/test/0x737a9a0022f515983b0a6415b9525c3e5a443e2f/additional.json b/tokens/test/0x737a9a0022f515983b0a6415b9525c3e5a443e2f/additional.json new file mode 100644 index 00000000..5319242d --- /dev/null +++ b/tokens/test/0x737a9a0022f515983b0a6415b9525c3e5a443e2f/additional.json @@ -0,0 +1,7 @@ +{ + "website": "https://www.VeThugs.com/", + "links": { + "twitter": "https://twitter.com/VeThugs", + "github": "https://github.com/Murtagh300" + } +} diff --git a/tokens/test/0x737a9a0022f515983b0a6415b9525c3e5a443e2f/info.json b/tokens/test/0x737a9a0022f515983b0a6415b9525c3e5a443e2f/info.json new file mode 100644 index 00000000..039822f8 --- /dev/null +++ b/tokens/test/0x737a9a0022f515983b0a6415b9525c3e5a443e2f/info.json @@ -0,0 +1,6 @@ +{ + "name": "VeStacks", + "symbol": "VST", + "decimals": 18, + "desc": "The main currency used in Thugs Paradise. VeThugs P2E Game. Will later be integrated in BlackVMarket & Used for Future related BlackVeMarket Mints" +} diff --git a/tokens/test/0x737a9a0022f515983b0a6415b9525c3e5a443e2f/token.png b/tokens/test/0x737a9a0022f515983b0a6415b9525c3e5a443e2f/token.png new file mode 100644 index 00000000..e4df2f12 Binary files /dev/null and b/tokens/test/0x737a9a0022f515983b0a6415b9525c3e5a443e2f/token.png differ diff --git a/tokens/test/0x776b68c9f217385b0a4657296f6bf6c4b2600557/info.json b/tokens/test/0x776b68c9f217385b0a4657296f6bf6c4b2600557/info.json new file mode 100644 index 00000000..c6382821 --- /dev/null +++ b/tokens/test/0x776b68c9f217385b0a4657296f6bf6c4b2600557/info.json @@ -0,0 +1,6 @@ +{ + "name": "VeSea", + "symbol": "VSEA", + "decimals":18, + "desc": "The fuel powering VeSea's NFT Utility Ecosystem, designed to be destroyed by VeSea-deployed smartcontracts providing usage to various VIP-181 tokens" +} diff --git a/tokens/test/0x776b68c9f217385b0a4657296f6bf6c4b2600557/token.png b/tokens/test/0x776b68c9f217385b0a4657296f6bf6c4b2600557/token.png new file mode 100644 index 00000000..c9fb5606 Binary files /dev/null and b/tokens/test/0x776b68c9f217385b0a4657296f6bf6c4b2600557/token.png differ diff --git a/tokens/test/0x7b12cdd6dc20bac5a7c85924e4d29f84a3bc376f/additional.json b/tokens/test/0x7b12cdd6dc20bac5a7c85924e4d29f84a3bc376f/additional.json new file mode 100644 index 00000000..5f19ac52 --- /dev/null +++ b/tokens/test/0x7b12cdd6dc20bac5a7c85924e4d29f84a3bc376f/additional.json @@ -0,0 +1,9 @@ +{ + "website":"https://www.madvikinggames.com/", + "links":{ + "twitter":"https://twitter.com/MadVikingGames", + "telegram":"https://t.me/MadVikingGames", + "medium":"https://medium.com/@MadVikingGames" + }, + "whitePaper":"https://www.madvikinggames.com/Litepaper" +} \ No newline at end of file diff --git a/tokens/test/0x7b12cdd6dc20bac5a7c85924e4d29f84a3bc376f/info.json b/tokens/test/0x7b12cdd6dc20bac5a7c85924e4d29f84a3bc376f/info.json new file mode 100644 index 00000000..06f81579 --- /dev/null +++ b/tokens/test/0x7b12cdd6dc20bac5a7c85924e4d29f84a3bc376f/info.json @@ -0,0 +1,6 @@ +{ + "name": "GEMS", + "symbol": "GEMS", + "decimals":18, + "desc": "The governance token of the Mad Viking Games platform and marketplace" +} \ No newline at end of file diff --git a/tokens/test/0x7b12cdd6dc20bac5a7c85924e4d29f84a3bc376f/token.png b/tokens/test/0x7b12cdd6dc20bac5a7c85924e4d29f84a3bc376f/token.png new file mode 100644 index 00000000..c41d39b6 Binary files /dev/null and b/tokens/test/0x7b12cdd6dc20bac5a7c85924e4d29f84a3bc376f/token.png differ diff --git a/tokens/test/0x810def6605aef9436059a60eda1382367966e9de/additional.json b/tokens/test/0x810def6605aef9436059a60eda1382367966e9de/additional.json new file mode 100644 index 00000000..16af19d3 --- /dev/null +++ b/tokens/test/0x810def6605aef9436059a60eda1382367966e9de/additional.json @@ -0,0 +1,8 @@ +{ + "website": "https://www.exoworlds.io", + "links": { + "twitter": "https://twitter.com/ExoWorldsNFT", + "medium": "https://medium.com/@ExoWorlds" + }, + "whitePaper": "https://exoworlds.gitbook.io/exoworlds-whitepaper/" +} diff --git a/tokens/test/0x810def6605aef9436059a60eda1382367966e9de/info.json b/tokens/test/0x810def6605aef9436059a60eda1382367966e9de/info.json new file mode 100644 index 00000000..07c588e2 --- /dev/null +++ b/tokens/test/0x810def6605aef9436059a60eda1382367966e9de/info.json @@ -0,0 +1,6 @@ +{ + "name": "GCRED Token", + "symbol": "GCRED", + "decimals":18, + "desc": "The Galactic Credit is the main currency of the ExoWorlds metaverse. Whether buying, upgrading, forging or enchanting, users will need GCRED if they want to unlock the full potential of ExoWorlds." +} diff --git a/tokens/test/0x810def6605aef9436059a60eda1382367966e9de/token.png b/tokens/test/0x810def6605aef9436059a60eda1382367966e9de/token.png new file mode 100644 index 00000000..3e9a6f5b Binary files /dev/null and b/tokens/test/0x810def6605aef9436059a60eda1382367966e9de/token.png differ diff --git a/tokens/test/0x82479149a14713733aa60c9bc90f3ecf1315f704/additional.json b/tokens/test/0x82479149a14713733aa60c9bc90f3ecf1315f704/additional.json new file mode 100644 index 00000000..b603ecdc --- /dev/null +++ b/tokens/test/0x82479149a14713733aa60c9bc90f3ecf1315f704/additional.json @@ -0,0 +1,6 @@ +{ + "crossChainProvider": { + "name": "wanchain", + "url": "https://bridge-testnet.wanchain.org/AssetBridge" + } +} diff --git a/tokens/test/0x82479149a14713733aa60c9bc90f3ecf1315f704/info.json b/tokens/test/0x82479149a14713733aa60c9bc90f3ecf1315f704/info.json new file mode 100644 index 00000000..5ad0190b --- /dev/null +++ b/tokens/test/0x82479149a14713733aa60c9bc90f3ecf1315f704/info.json @@ -0,0 +1,7 @@ +{ + "name": "SOL@vechain", + "symbol": "SOL", + "decimals": 9, + "desc": "Bridged SOL from Wanchain at https://bridge-testnet.wanchain.org/AssetBridge." + } + \ No newline at end of file diff --git a/tokens/test/0x82479149a14713733aa60c9bc90f3ecf1315f704/token.png b/tokens/test/0x82479149a14713733aa60c9bc90f3ecf1315f704/token.png new file mode 100644 index 00000000..dc98c9c9 Binary files /dev/null and b/tokens/test/0x82479149a14713733aa60c9bc90f3ecf1315f704/token.png differ diff --git a/tokens/test/0x86fb5343bbecffc86185c023a2a6ccc76fc0afd8/additional.json b/tokens/test/0x86fb5343bbecffc86185c023a2a6ccc76fc0afd8/additional.json new file mode 100644 index 00000000..9b55f1a1 --- /dev/null +++ b/tokens/test/0x86fb5343bbecffc86185c023a2a6ccc76fc0afd8/additional.json @@ -0,0 +1,5 @@ +{ + "links":{ + "github":"https://github.com/VeChainDEXCode/vvet" + } +} \ No newline at end of file diff --git a/tokens/test/0x86fb5343bbecffc86185c023a2a6ccc76fc0afd8/info.json b/tokens/test/0x86fb5343bbecffc86185c023a2a6ccc76fc0afd8/info.json new file mode 100644 index 00000000..b5121fd6 --- /dev/null +++ b/tokens/test/0x86fb5343bbecffc86185c023a2a6ccc76fc0afd8/info.json @@ -0,0 +1,6 @@ +{ + "name": "Veiled VET", + "symbol": "VVET", + "decimals": 18, + "desc": "Wrapper VET VIP-180 token (VIP-180) that 1:1 pegs VET. Audit report provided by PeckShield." +} \ No newline at end of file diff --git a/tokens/test/0x86fb5343bbecffc86185c023a2a6ccc76fc0afd8/token.png b/tokens/test/0x86fb5343bbecffc86185c023a2a6ccc76fc0afd8/token.png new file mode 100644 index 00000000..a2a79fac Binary files /dev/null and b/tokens/test/0x86fb5343bbecffc86185c023a2a6ccc76fc0afd8/token.png differ diff --git a/tokens/test/0x89fd13624f64aaf03d1ff25ff5ce617cde65ee69/additional.json b/tokens/test/0x89fd13624f64aaf03d1ff25ff5ce617cde65ee69/additional.json new file mode 100644 index 00000000..239cf953 --- /dev/null +++ b/tokens/test/0x89fd13624f64aaf03d1ff25ff5ce617cde65ee69/additional.json @@ -0,0 +1,7 @@ +{ + "website": "https://www.glodollar.org", + "links": { + "twitter": "https://x.com/glodollar", + "github": "https://github.com/Glo-Foundation" + } +} \ No newline at end of file diff --git a/tokens/test/0x89fd13624f64aaf03d1ff25ff5ce617cde65ee69/info.json b/tokens/test/0x89fd13624f64aaf03d1ff25ff5ce617cde65ee69/info.json new file mode 100644 index 00000000..b8815775 --- /dev/null +++ b/tokens/test/0x89fd13624f64aaf03d1ff25ff5ce617cde65ee69/info.json @@ -0,0 +1,6 @@ +{ + "name": "Glo Dollar", + "symbol": "USDGLO", + "decimals":18, + "desc": "Glo Dollar is the stablecoin that funds public goods and charities. Unlike other stablecoins, we donate all our profits. This unlocks up to $7b in funding to make crypto and the world a better place." +} \ No newline at end of file diff --git a/tokens/test/0x89fd13624f64aaf03d1ff25ff5ce617cde65ee69/token.png b/tokens/test/0x89fd13624f64aaf03d1ff25ff5ce617cde65ee69/token.png new file mode 100644 index 00000000..386c6735 Binary files /dev/null and b/tokens/test/0x89fd13624f64aaf03d1ff25ff5ce617cde65ee69/token.png differ diff --git a/tokens/test/0x8c1d95e96b69941b1b81145d2f2a100e7d259880/additional.json b/tokens/test/0x8c1d95e96b69941b1b81145d2f2a100e7d259880/additional.json new file mode 100644 index 00000000..f15ae6ec --- /dev/null +++ b/tokens/test/0x8c1d95e96b69941b1b81145d2f2a100e7d259880/additional.json @@ -0,0 +1,8 @@ +{ + "website":"https://vpunks.com/", + "links":{ + "twitter":"https://twitter.com/vpunksofficial", + "telegram":"https://t.me/vpunks", + "github":"https://github.com/vefam-labs/vpunks" + } +} diff --git a/tokens/test/0x8c1d95e96b69941b1b81145d2f2a100e7d259880/info.json b/tokens/test/0x8c1d95e96b69941b1b81145d2f2a100e7d259880/info.json new file mode 100644 index 00000000..f87e97e1 --- /dev/null +++ b/tokens/test/0x8c1d95e96b69941b1b81145d2f2a100e7d259880/info.json @@ -0,0 +1,6 @@ +{ + "name": "VPunks Token", + "symbol": "VPU", + "decimals":18, + "desc": "VPU is the ecosystem utility and governance token of VPunks NFT & VPunks marketplace" +} diff --git a/tokens/test/0x8c1d95e96b69941b1b81145d2f2a100e7d259880/token.png b/tokens/test/0x8c1d95e96b69941b1b81145d2f2a100e7d259880/token.png new file mode 100644 index 00000000..112d6335 Binary files /dev/null and b/tokens/test/0x8c1d95e96b69941b1b81145d2f2a100e7d259880/token.png differ diff --git a/tokens/test/0x922a46bb49fe98ff73482a3ea8a6dd0a2c7c443a/additional.json b/tokens/test/0x922a46bb49fe98ff73482a3ea8a6dd0a2c7c443a/additional.json new file mode 100644 index 00000000..8797a66e --- /dev/null +++ b/tokens/test/0x922a46bb49fe98ff73482a3ea8a6dd0a2c7c443a/additional.json @@ -0,0 +1,6 @@ +{ + "links":{ + "twitter":"https://twitter.com/cojcoin", + "website":"https://coj.ai/" + } + } \ No newline at end of file diff --git a/tokens/test/0x922a46bb49fe98ff73482a3ea8a6dd0a2c7c443a/info.json b/tokens/test/0x922a46bb49fe98ff73482a3ea8a6dd0a2c7c443a/info.json new file mode 100644 index 00000000..1eb67844 --- /dev/null +++ b/tokens/test/0x922a46bb49fe98ff73482a3ea8a6dd0a2c7c443a/info.json @@ -0,0 +1,6 @@ +{ + "name": "Cup of Joe", + "symbol": "COJ", + "decimals": 18, + "desc": "AI Generated Memecoin | Coffee Connoisseur Contributing to an Eco-Friendly Coffee ☕️Environment Worldwide 🌎 +Send / Receive a Cup of Joe ☕️ Worldwide 🌎" +} \ No newline at end of file diff --git a/tokens/test/0x922a46bb49fe98ff73482a3ea8a6dd0a2c7c443a/token.png b/tokens/test/0x922a46bb49fe98ff73482a3ea8a6dd0a2c7c443a/token.png new file mode 100644 index 00000000..e356c70d Binary files /dev/null and b/tokens/test/0x922a46bb49fe98ff73482a3ea8a6dd0a2c7c443a/token.png differ diff --git a/tokens/test/0x947112fe4e2a71a3e37cdf41733d5a570df3ddaa/info.json b/tokens/test/0x947112fe4e2a71a3e37cdf41733d5a570df3ddaa/info.json new file mode 100644 index 00000000..6a98ff2d --- /dev/null +++ b/tokens/test/0x947112fe4e2a71a3e37cdf41733d5a570df3ddaa/info.json @@ -0,0 +1,6 @@ +{ + "name": "Paper Token", + "symbol": "PPR", + "decimals":18, + "desc": "Utility token for the NFT Paper Project to interact with burning smart contracts" +} diff --git a/tokens/test/0x947112fe4e2a71a3e37cdf41733d5a570df3ddaa/token.png b/tokens/test/0x947112fe4e2a71a3e37cdf41733d5a570df3ddaa/token.png new file mode 100644 index 00000000..af3b5a78 Binary files /dev/null and b/tokens/test/0x947112fe4e2a71a3e37cdf41733d5a570df3ddaa/token.png differ diff --git a/tokens/test/0x94a0f4e2a03d213317779fbabf1df4820143789b/additional.json b/tokens/test/0x94a0f4e2a03d213317779fbabf1df4820143789b/additional.json new file mode 100644 index 00000000..b603ecdc --- /dev/null +++ b/tokens/test/0x94a0f4e2a03d213317779fbabf1df4820143789b/additional.json @@ -0,0 +1,6 @@ +{ + "crossChainProvider": { + "name": "wanchain", + "url": "https://bridge-testnet.wanchain.org/AssetBridge" + } +} diff --git a/tokens/test/0x94a0f4e2a03d213317779fbabf1df4820143789b/info.json b/tokens/test/0x94a0f4e2a03d213317779fbabf1df4820143789b/info.json new file mode 100644 index 00000000..39c76fc9 --- /dev/null +++ b/tokens/test/0x94a0f4e2a03d213317779fbabf1df4820143789b/info.json @@ -0,0 +1,7 @@ +{ + "name": "USDT@vechain", + "symbol": "USDT", + "decimals": 6, + "desc": "Bridged USDT from Wanchain at https://bridge-testnet.wanchain.org/AssetBridge." + } + \ No newline at end of file diff --git a/tokens/test/0x94a0f4e2a03d213317779fbabf1df4820143789b/token.png b/tokens/test/0x94a0f4e2a03d213317779fbabf1df4820143789b/token.png new file mode 100644 index 00000000..bcb71225 Binary files /dev/null and b/tokens/test/0x94a0f4e2a03d213317779fbabf1df4820143789b/token.png differ diff --git a/tokens/test/0x95761346d18244bb91664181bf91193376197088/additional.json b/tokens/test/0x95761346d18244bb91664181bf91193376197088/additional.json new file mode 100644 index 00000000..f2849363 --- /dev/null +++ b/tokens/test/0x95761346d18244bb91664181bf91193376197088/additional.json @@ -0,0 +1,3 @@ +{ + "website": "https://docs.vebetterdao.org/developer-guides/test-environmnet" +} diff --git a/tokens/test/0x95761346d18244bb91664181bf91193376197088/info.json b/tokens/test/0x95761346d18244bb91664181bf91193376197088/info.json new file mode 100644 index 00000000..3385ddb3 --- /dev/null +++ b/tokens/test/0x95761346d18244bb91664181bf91193376197088/info.json @@ -0,0 +1,6 @@ +{ + "name": "B3TR", + "symbol": "B3TR", + "decimals": 18, + "desc": "The testnet B3TR token used for testing purposes by developers" +} diff --git a/tokens/test/0x95761346d18244bb91664181bf91193376197088/token.png b/tokens/test/0x95761346d18244bb91664181bf91193376197088/token.png new file mode 100644 index 00000000..779086f4 Binary files /dev/null and b/tokens/test/0x95761346d18244bb91664181bf91193376197088/token.png differ diff --git a/tokens/test/0x9652aead889e8df7b5717ed984f147c132f85a69/info.json b/tokens/test/0x9652aead889e8df7b5717ed984f147c132f85a69/info.json index 23319a68..ca94f353 100644 --- a/tokens/test/0x9652aead889e8df7b5717ed984f147c132f85a69/info.json +++ b/tokens/test/0x9652aead889e8df7b5717ed984f147c132f85a69/info.json @@ -1,5 +1,5 @@ { - "name": "OceanEx", + "name": "OceanEx Token", "symbol": "OCE", "decimals": 18, "desc": "OceanEx Token (OCE) is OceanEx's platform token" diff --git a/tokens/test/0x98ceed8ee645c2d964cc0dd4342c832d52aeeb13/additional.json b/tokens/test/0x98ceed8ee645c2d964cc0dd4342c832d52aeeb13/additional.json new file mode 100644 index 00000000..1d74bc73 --- /dev/null +++ b/tokens/test/0x98ceed8ee645c2d964cc0dd4342c832d52aeeb13/additional.json @@ -0,0 +1,7 @@ +{ + "website": "https://www.DragonsofSingapura.com/", + "links": { + "twitter": "https://twitter.com/Dragonsingapura", + "github": "https://github.com/Murtagh300" + } +} \ No newline at end of file diff --git a/tokens/test/0x98ceed8ee645c2d964cc0dd4342c832d52aeeb13/info.json b/tokens/test/0x98ceed8ee645c2d964cc0dd4342c832d52aeeb13/info.json new file mode 100644 index 00000000..128944eb --- /dev/null +++ b/tokens/test/0x98ceed8ee645c2d964cc0dd4342c832d52aeeb13/info.json @@ -0,0 +1,6 @@ +{ + "name": "Dragon Coin", + "symbol": "DRAGON", + "decimals": 18, + "desc": "The main currency used For Staking and evolving your Dragon egg. Dragons of Singapura. Will also be used for future nft drops within Singapura" +} diff --git a/tokens/test/0x98ceed8ee645c2d964cc0dd4342c832d52aeeb13/token.png b/tokens/test/0x98ceed8ee645c2d964cc0dd4342c832d52aeeb13/token.png new file mode 100644 index 00000000..d408d3bf Binary files /dev/null and b/tokens/test/0x98ceed8ee645c2d964cc0dd4342c832d52aeeb13/token.png differ diff --git a/tokens/test/0x99b000916e25fd0279c345a8f4b37b3d45340209/info.json b/tokens/test/0x99b000916e25fd0279c345a8f4b37b3d45340209/info.json new file mode 100644 index 00000000..93db922b --- /dev/null +++ b/tokens/test/0x99b000916e25fd0279c345a8f4b37b3d45340209/info.json @@ -0,0 +1,6 @@ +{ + "name": "Dream", + "symbol": "DREAM", + "decimals": 18, + "desc": "DREAM token, Your Gateway into Dreamchicks!" +} diff --git a/tokens/test/0x99b000916e25fd0279c345a8f4b37b3d45340209/token.png b/tokens/test/0x99b000916e25fd0279c345a8f4b37b3d45340209/token.png new file mode 100644 index 00000000..d16ff74f Binary files /dev/null and b/tokens/test/0x99b000916e25fd0279c345a8f4b37b3d45340209/token.png differ diff --git a/tokens/test/0x9c6e62b3334294d70c8e410941f52d482557955b/token.png b/tokens/test/0x9c6e62b3334294d70c8e410941f52d482557955b/token.png deleted file mode 100644 index 293e0695..00000000 Binary files a/tokens/test/0x9c6e62b3334294d70c8e410941f52d482557955b/token.png and /dev/null differ diff --git a/tokens/test/0xa163c3c0227dd70e602dfc58ac137d68a86a5d8f/additional.json b/tokens/test/0xa163c3c0227dd70e602dfc58ac137d68a86a5d8f/additional.json new file mode 100644 index 00000000..406e1996 --- /dev/null +++ b/tokens/test/0xa163c3c0227dd70e602dfc58ac137d68a86a5d8f/additional.json @@ -0,0 +1,6 @@ +{ + "links":{ + "twitter":"https://twitter.com/RatverseIo", + "discord":"https://discord.gg/YEKYsXBMyW" + } +} \ No newline at end of file diff --git a/tokens/test/0xa163c3c0227dd70e602dfc58ac137d68a86a5d8f/info.json b/tokens/test/0xa163c3c0227dd70e602dfc58ac137d68a86a5d8f/info.json new file mode 100644 index 00000000..8f3089ba --- /dev/null +++ b/tokens/test/0xa163c3c0227dd70e602dfc58ac137d68a86a5d8f/info.json @@ -0,0 +1,6 @@ +{ + "name": "Ratverse Coin", + "symbol": "RATV", + "decimals":18, + "desc": "Ratverse Coin, $RATV is crafted with a total supply of 100,000,000 tokens, making sure there’s enough cheese to go around. Our token distribution is as carefully planned as a rat's heist for the finest cheese." +} \ No newline at end of file diff --git a/tokens/test/0xa163c3c0227dd70e602dfc58ac137d68a86a5d8f/token.png b/tokens/test/0xa163c3c0227dd70e602dfc58ac137d68a86a5d8f/token.png new file mode 100644 index 00000000..ede6e361 Binary files /dev/null and b/tokens/test/0xa163c3c0227dd70e602dfc58ac137d68a86a5d8f/token.png differ diff --git a/tokens/test/0x9c6e62b3334294d70c8e410941f52d482557955b/info.json b/tokens/test/0xa1bcfa20a82eca70a5af5420b11bc53a279024ec/info.json similarity index 80% rename from tokens/test/0x9c6e62b3334294d70c8e410941f52d482557955b/info.json rename to tokens/test/0xa1bcfa20a82eca70a5af5420b11bc53a279024ec/info.json index b443358d..b5bbb0a5 100644 --- a/tokens/test/0x9c6e62b3334294d70c8e410941f52d482557955b/info.json +++ b/tokens/test/0xa1bcfa20a82eca70a5af5420b11bc53a279024ec/info.json @@ -1,5 +1,5 @@ { - "name": "Safe Haven", + "name": "SHAToken", "symbol": "SHA", "decimals": 18, "desc": "Asset Management & Inheritance Solutions" diff --git a/tokens/test/0xa1bcfa20a82eca70a5af5420b11bc53a279024ec/token.png b/tokens/test/0xa1bcfa20a82eca70a5af5420b11bc53a279024ec/token.png new file mode 100644 index 00000000..f31179c6 Binary files /dev/null and b/tokens/test/0xa1bcfa20a82eca70a5af5420b11bc53a279024ec/token.png differ diff --git a/tokens/test/0xa258e1a871f10cccf6330bfa06366d929ea26b46/additional.json b/tokens/test/0xa258e1a871f10cccf6330bfa06366d929ea26b46/additional.json new file mode 100644 index 00000000..820bf5b8 --- /dev/null +++ b/tokens/test/0xa258e1a871f10cccf6330bfa06366d929ea26b46/additional.json @@ -0,0 +1,6 @@ +{ + "website":"https://3dables.smuzzies.com/", + "links":{ + "twitter":"https://twitter.com/Smuzzies_NFT" + } +} diff --git a/tokens/test/0xa258e1a871f10cccf6330bfa06366d929ea26b46/info.json b/tokens/test/0xa258e1a871f10cccf6330bfa06366d929ea26b46/info.json new file mode 100644 index 00000000..afdc8b6c --- /dev/null +++ b/tokens/test/0xa258e1a871f10cccf6330bfa06366d929ea26b46/info.json @@ -0,0 +1,6 @@ +{ + "name": "ThreeDAbleToken", + "symbol": "3DT", + "decimals": 18, + "desc": "Utility token for 3DAbles platform" +} diff --git a/tokens/test/0xa258e1a871f10cccf6330bfa06366d929ea26b46/token.png b/tokens/test/0xa258e1a871f10cccf6330bfa06366d929ea26b46/token.png new file mode 100644 index 00000000..3efa0992 Binary files /dev/null and b/tokens/test/0xa258e1a871f10cccf6330bfa06366d929ea26b46/token.png differ diff --git a/tokens/test/0xa39a4b2e23220305083e2e7c94c8950ef1e641c6/additional.json b/tokens/test/0xa39a4b2e23220305083e2e7c94c8950ef1e641c6/additional.json new file mode 100644 index 00000000..8b6c71ce --- /dev/null +++ b/tokens/test/0xa39a4b2e23220305083e2e7c94c8950ef1e641c6/additional.json @@ -0,0 +1,10 @@ +{ + "website":"https://www.vimworld.com/", + "links":{ + "twitter":"https://twitter.com/VIMworldGlobal", + "telegram":"https://t.me/VIMworld", + "facebook":"https://www.facebook.com/VIMworldOfficial/", + "medium":"https://vimworld.medium.com/" + }, + "whitePaper":"https://www.vimworld.com/ppp/english.pdf" +} diff --git a/tokens/test/0xa39a4b2e23220305083e2e7c94c8950ef1e641c6/info.json b/tokens/test/0xa39a4b2e23220305083e2e7c94c8950ef1e641c6/info.json new file mode 100644 index 00000000..7cbb4ebc --- /dev/null +++ b/tokens/test/0xa39a4b2e23220305083e2e7c94c8950ef1e641c6/info.json @@ -0,0 +1,6 @@ +{ + "name": "VEED", + "symbol": "VEED", + "decimals":18, + "desc": "VEED is the ecosystem utility and governance token of VIMworld, a Smart NFT project built on VeChainThor focused on VIM collectibles. The VEED token is used for a variety of utilities within the VIMworld Ecosystem, including VIM feeding, trading, adoption, farming, rewards, governance, and more." +} diff --git a/tokens/test/0xa39a4b2e23220305083e2e7c94c8950ef1e641c6/token.png b/tokens/test/0xa39a4b2e23220305083e2e7c94c8950ef1e641c6/token.png new file mode 100644 index 00000000..02789673 Binary files /dev/null and b/tokens/test/0xa39a4b2e23220305083e2e7c94c8950ef1e641c6/token.png differ diff --git a/tokens/test/0xad35f6241b8860aaaf3e12729425c624f4c5cb64/additional.json b/tokens/test/0xad35f6241b8860aaaf3e12729425c624f4c5cb64/additional.json new file mode 100644 index 00000000..b603ecdc --- /dev/null +++ b/tokens/test/0xad35f6241b8860aaaf3e12729425c624f4c5cb64/additional.json @@ -0,0 +1,6 @@ +{ + "crossChainProvider": { + "name": "wanchain", + "url": "https://bridge-testnet.wanchain.org/AssetBridge" + } +} diff --git a/tokens/test/0xad35f6241b8860aaaf3e12729425c624f4c5cb64/info.json b/tokens/test/0xad35f6241b8860aaaf3e12729425c624f4c5cb64/info.json new file mode 100644 index 00000000..3cc64376 --- /dev/null +++ b/tokens/test/0xad35f6241b8860aaaf3e12729425c624f4c5cb64/info.json @@ -0,0 +1,6 @@ +{ + "name": "ETH@vechain", + "symbol": "ETH", + "decimals": 18, + "desc": "Bridged ETH from Wanchain at https://bridge-testnet.wanchain.org/AssetBridge." +} diff --git a/tokens/test/0xad35f6241b8860aaaf3e12729425c624f4c5cb64/token.png b/tokens/test/0xad35f6241b8860aaaf3e12729425c624f4c5cb64/token.png new file mode 100644 index 00000000..564f59d0 Binary files /dev/null and b/tokens/test/0xad35f6241b8860aaaf3e12729425c624f4c5cb64/token.png differ diff --git a/tokens/test/0xaf9555d393212f82a74d892139a4f5d349a8f3f6/additional.json b/tokens/test/0xaf9555d393212f82a74d892139a4f5d349a8f3f6/additional.json new file mode 100644 index 00000000..b603ecdc --- /dev/null +++ b/tokens/test/0xaf9555d393212f82a74d892139a4f5d349a8f3f6/additional.json @@ -0,0 +1,6 @@ +{ + "crossChainProvider": { + "name": "wanchain", + "url": "https://bridge-testnet.wanchain.org/AssetBridge" + } +} diff --git a/tokens/test/0xaf9555d393212f82a74d892139a4f5d349a8f3f6/info.json b/tokens/test/0xaf9555d393212f82a74d892139a4f5d349a8f3f6/info.json new file mode 100644 index 00000000..4d69d019 --- /dev/null +++ b/tokens/test/0xaf9555d393212f82a74d892139a4f5d349a8f3f6/info.json @@ -0,0 +1,7 @@ +{ + "name": "USDC@vechain", + "symbol": "USDC", + "decimals": 6, + "desc": "Bridged USDC from Wanchain at https://bridge-testnet.wanchain.org/AssetBridge." + } + \ No newline at end of file diff --git a/tokens/test/0xaf9555d393212f82a74d892139a4f5d349a8f3f6/token.png b/tokens/test/0xaf9555d393212f82a74d892139a4f5d349a8f3f6/token.png new file mode 100644 index 00000000..e99a3b4e Binary files /dev/null and b/tokens/test/0xaf9555d393212f82a74d892139a4f5d349a8f3f6/token.png differ diff --git a/tokens/test/0xbfbb567e5d734cffe510ab23d08f6c46f990c909/info.json b/tokens/test/0xbfbb567e5d734cffe510ab23d08f6c46f990c909/info.json new file mode 100644 index 00000000..b78988d3 --- /dev/null +++ b/tokens/test/0xbfbb567e5d734cffe510ab23d08f6c46f990c909/info.json @@ -0,0 +1,6 @@ +{ + "name": "MILK", + "symbol": "MILK", + "decimals":18, + "desc": "Utility token of the GOATZ NFT project" +} diff --git a/tokens/test/0xbfbb567e5d734cffe510ab23d08f6c46f990c909/token.png b/tokens/test/0xbfbb567e5d734cffe510ab23d08f6c46f990c909/token.png new file mode 100644 index 00000000..e2ca291c Binary files /dev/null and b/tokens/test/0xbfbb567e5d734cffe510ab23d08f6c46f990c909/token.png differ diff --git a/tokens/test/0xc907bebfaacf1ecd37f443af3a5ef487adf3b21a/additional.json b/tokens/test/0xc907bebfaacf1ecd37f443af3a5ef487adf3b21a/additional.json new file mode 100644 index 00000000..4f3e153b --- /dev/null +++ b/tokens/test/0xc907bebfaacf1ecd37f443af3a5ef487adf3b21a/additional.json @@ -0,0 +1,6 @@ +{ + "links":{ + "twitter":"https://twitter.com/TUAHonVeChain", + "telegram":"https://t.me/+q5jsJ10dSHI1ZGU0" + } + } \ No newline at end of file diff --git a/tokens/test/0xc907bebfaacf1ecd37f443af3a5ef487adf3b21a/info.json b/tokens/test/0xc907bebfaacf1ecd37f443af3a5ef487adf3b21a/info.json new file mode 100644 index 00000000..523d1511 --- /dev/null +++ b/tokens/test/0xc907bebfaacf1ecd37f443af3a5ef487adf3b21a/info.json @@ -0,0 +1,6 @@ +{ + "name": "Hawk Tuah", + "symbol": "TUAH", + "decimals": 18, + "desc": "Hawk TUAH is a Meme Token Launched During the Hawk Tuah Meme Hype, LP Tokens are Burned. Just a token to have Fun with and onboard new users to the VeChain Blockchain." + } diff --git a/tokens/test/0xc907bebfaacf1ecd37f443af3a5ef487adf3b21a/token.png b/tokens/test/0xc907bebfaacf1ecd37f443af3a5ef487adf3b21a/token.png new file mode 100644 index 00000000..c95143a4 Binary files /dev/null and b/tokens/test/0xc907bebfaacf1ecd37f443af3a5ef487adf3b21a/token.png differ diff --git a/tokens/test/0xca92f3d24c3f04c3ab7711f5a8981b48900d1baf/additional.json b/tokens/test/0xca92f3d24c3f04c3ab7711f5a8981b48900d1baf/additional.json new file mode 100644 index 00000000..7d3bf13c --- /dev/null +++ b/tokens/test/0xca92f3d24c3f04c3ab7711f5a8981b48900d1baf/additional.json @@ -0,0 +1,5 @@ +{ + "links": { + "twitter": "https://twitter.com/GangGorillaz/" + } +} diff --git a/tokens/test/0xca92f3d24c3f04c3ab7711f5a8981b48900d1baf/info.json b/tokens/test/0xca92f3d24c3f04c3ab7711f5a8981b48900d1baf/info.json new file mode 100644 index 00000000..0388ef02 --- /dev/null +++ b/tokens/test/0xca92f3d24c3f04c3ab7711f5a8981b48900d1baf/info.json @@ -0,0 +1,6 @@ +{ + "name": "BananaCoin", + "symbol": "BANANA", + "decimals": 18, + "desc": "MemeCoin, GG Gangster Gorillas no roadmap, no utility Lots of potential." +} diff --git a/tokens/test/0xca92f3d24c3f04c3ab7711f5a8981b48900d1baf/token.png b/tokens/test/0xca92f3d24c3f04c3ab7711f5a8981b48900d1baf/token.png new file mode 100644 index 00000000..6f939fbb Binary files /dev/null and b/tokens/test/0xca92f3d24c3f04c3ab7711f5a8981b48900d1baf/token.png differ diff --git a/tokens/test/0xcb384a3a82bfe0619963d65a05f3801ddc23f3cc/additional.json b/tokens/test/0xcb384a3a82bfe0619963d65a05f3801ddc23f3cc/additional.json new file mode 100644 index 00000000..3d88ea6f --- /dev/null +++ b/tokens/test/0xcb384a3a82bfe0619963d65a05f3801ddc23f3cc/additional.json @@ -0,0 +1,6 @@ +{ + "links":{ + "twitter":"https://twitter.com/SquadVeChain", + "website":"https://SquadVeChain.Art/" + } + } diff --git a/tokens/test/0xcb384a3a82bfe0619963d65a05f3801ddc23f3cc/info.json b/tokens/test/0xcb384a3a82bfe0619963d65a05f3801ddc23f3cc/info.json new file mode 100644 index 00000000..42899dd7 --- /dev/null +++ b/tokens/test/0xcb384a3a82bfe0619963d65a05f3801ddc23f3cc/info.json @@ -0,0 +1,6 @@ +{ + "name": "Squirtle Squad", + "symbol": "SQUAD", + "decimals": 18, + "desc": "VeChains finest Meme Coin, Powering Turtle Labs a DeFi Platform." + } \ No newline at end of file diff --git a/tokens/test/0xcb384a3a82bfe0619963d65a05f3801ddc23f3cc/token.png b/tokens/test/0xcb384a3a82bfe0619963d65a05f3801ddc23f3cc/token.png new file mode 100644 index 00000000..bb242638 Binary files /dev/null and b/tokens/test/0xcb384a3a82bfe0619963d65a05f3801ddc23f3cc/token.png differ diff --git a/tokens/test/0xcd06d669e2ee5d2da9906f121818a7331e23fba2/additional.json b/tokens/test/0xcd06d669e2ee5d2da9906f121818a7331e23fba2/additional.json new file mode 100644 index 00000000..155cab50 --- /dev/null +++ b/tokens/test/0xcd06d669e2ee5d2da9906f121818a7331e23fba2/additional.json @@ -0,0 +1,9 @@ +{ + "website": "https://www.legacynetwork.io", + "links": { + "twitter": "https://twitter.com/LegacyNetworkio", + "telegram": "https://t.me/LegacyNetworkAnnouncements", + "github": "https://github.com/LegacyNetworkAG" + }, + "whitePaper": "https://www.legacynetwork.io/pdf/WP-Eng.pdf" +} \ No newline at end of file diff --git a/tokens/test/0xcd06d669e2ee5d2da9906f121818a7331e23fba2/info.json b/tokens/test/0xcd06d669e2ee5d2da9906f121818a7331e23fba2/info.json new file mode 100644 index 00000000..e4ce9829 --- /dev/null +++ b/tokens/test/0xcd06d669e2ee5d2da9906f121818a7331e23fba2/info.json @@ -0,0 +1,6 @@ +{ + "name": "LEGACY TOKEN", + "symbol": "LGCT", + "decimals": 18, + "desc": "The Legacy Network token (LGCT) is a multichain utility and payment token which allows its holders to get the best out of the Legacy Network ecosystem. LGCT is available on VeChain, Ethereum, Binance smart chain and Polygon." +} \ No newline at end of file diff --git a/tokens/test/0xcd06d669e2ee5d2da9906f121818a7331e23fba2/token.png b/tokens/test/0xcd06d669e2ee5d2da9906f121818a7331e23fba2/token.png new file mode 100644 index 00000000..81c60d70 Binary files /dev/null and b/tokens/test/0xcd06d669e2ee5d2da9906f121818a7331e23fba2/token.png differ diff --git a/tokens/test/0xd105d3d218d36490590b474689b95dbe3bded6b7/additional.json b/tokens/test/0xd105d3d218d36490590b474689b95dbe3bded6b7/additional.json new file mode 100644 index 00000000..71d5b0a2 --- /dev/null +++ b/tokens/test/0xd105d3d218d36490590b474689b95dbe3bded6b7/additional.json @@ -0,0 +1,8 @@ +{ + "links":{ + "twitter":"https://twitter.com/BangzBoard", + "Instagram":"https://www.instagram.com/bangzboard", + "github":"https://github.com/JohanT-BadsM", + "discord":"https://discord.gg/ZCW83FBeyu" + } +} \ No newline at end of file diff --git a/tokens/test/0xd105d3d218d36490590b474689b95dbe3bded6b7/info.json b/tokens/test/0xd105d3d218d36490590b474689b95dbe3bded6b7/info.json new file mode 100644 index 00000000..d346fd56 --- /dev/null +++ b/tokens/test/0xd105d3d218d36490590b474689b95dbe3bded6b7/info.json @@ -0,0 +1,6 @@ +{ + "name": "BANGZ", + "symbol": "BANGZ", + "decimals":18, + "desc": "Bangz token for Bangzboard stacking, rewards and BangzMarket" +} diff --git a/tokens/test/0xd105d3d218d36490590b474689b95dbe3bded6b7/token.png b/tokens/test/0xd105d3d218d36490590b474689b95dbe3bded6b7/token.png new file mode 100644 index 00000000..e615293a Binary files /dev/null and b/tokens/test/0xd105d3d218d36490590b474689b95dbe3bded6b7/token.png differ diff --git a/tokens/test/0xd625f35dfcb0ecdb83dc6d71e33c8d53b825fc48/additional.json b/tokens/test/0xd625f35dfcb0ecdb83dc6d71e33c8d53b825fc48/additional.json new file mode 100644 index 00000000..54ad7167 --- /dev/null +++ b/tokens/test/0xd625f35dfcb0ecdb83dc6d71e33c8d53b825fc48/additional.json @@ -0,0 +1,7 @@ +{ + "website":"https://vfox-alliance.com/", + "links":{ + "twitter":"https://twitter.com/VFoxAllianceNFT" + }, + "whitePaper":"https://medium.com/@vfox.alphice/tokenomics-vfa-f3ab4c4f0cf7" +} diff --git a/tokens/test/0xd625f35dfcb0ecdb83dc6d71e33c8d53b825fc48/info.json b/tokens/test/0xd625f35dfcb0ecdb83dc6d71e33c8d53b825fc48/info.json new file mode 100644 index 00000000..cae7a563 --- /dev/null +++ b/tokens/test/0xd625f35dfcb0ecdb83dc6d71e33c8d53b825fc48/info.json @@ -0,0 +1,6 @@ +{ + "name": "VFoxToken", + "symbol": "VFA", + "decimals": 18, + "desc": "Utility token of the VFox Alliance ecosystem" +} diff --git a/tokens/test/0xd625f35dfcb0ecdb83dc6d71e33c8d53b825fc48/token.png b/tokens/test/0xd625f35dfcb0ecdb83dc6d71e33c8d53b825fc48/token.png new file mode 100644 index 00000000..05fcfd01 Binary files /dev/null and b/tokens/test/0xd625f35dfcb0ecdb83dc6d71e33c8d53b825fc48/token.png differ diff --git a/tokens/test/0xea283edcfdb17a8a7537f8a6a84c4bd1c21d608d/additional.json b/tokens/test/0xea283edcfdb17a8a7537f8a6a84c4bd1c21d608d/additional.json new file mode 100644 index 00000000..3c67c097 --- /dev/null +++ b/tokens/test/0xea283edcfdb17a8a7537f8a6a84c4bd1c21d608d/additional.json @@ -0,0 +1,7 @@ +{ + "website":"https://www.nonerdsinc.com/", + "links":{ + "twitter":"https://twitter.com/NoNerdsInc" + }, + "whitePaper":"https://nonerdsinc.com/roadmap" +} diff --git a/tokens/test/0xea283edcfdb17a8a7537f8a6a84c4bd1c21d608d/info.json b/tokens/test/0xea283edcfdb17a8a7537f8a6a84c4bd1c21d608d/info.json new file mode 100644 index 00000000..cb137c1e --- /dev/null +++ b/tokens/test/0xea283edcfdb17a8a7537f8a6a84c4bd1c21d608d/info.json @@ -0,0 +1,6 @@ +{ + "name": "UNION", + "symbol": "UNION", + "decimals":18, + "desc": "Utility token for NoNerdsInc" +} diff --git a/tokens/test/0xea283edcfdb17a8a7537f8a6a84c4bd1c21d608d/token.png b/tokens/test/0xea283edcfdb17a8a7537f8a6a84c4bd1c21d608d/token.png new file mode 100644 index 00000000..c8c3d172 Binary files /dev/null and b/tokens/test/0xea283edcfdb17a8a7537f8a6a84c4bd1c21d608d/token.png differ diff --git a/tokens/test/0xf276fbde42c9eb4f9c4e1828cb7cd2383fd7ba27/additional.json b/tokens/test/0xf276fbde42c9eb4f9c4e1828cb7cd2383fd7ba27/additional.json new file mode 100644 index 00000000..9306f504 --- /dev/null +++ b/tokens/test/0xf276fbde42c9eb4f9c4e1828cb7cd2383fd7ba27/additional.json @@ -0,0 +1,7 @@ +{ + "website": "https://infinityviracles.com/", + "links": { + "twitter": "https://twitter.com/ViraclesNFT", + "discord": "https://discord.gg/K6BFkSDN" + } +} \ No newline at end of file diff --git a/tokens/test/0xf276fbde42c9eb4f9c4e1828cb7cd2383fd7ba27/info.json b/tokens/test/0xf276fbde42c9eb4f9c4e1828cb7cd2383fd7ba27/info.json new file mode 100644 index 00000000..0513757f --- /dev/null +++ b/tokens/test/0xf276fbde42c9eb4f9c4e1828cb7cd2383fd7ba27/info.json @@ -0,0 +1,6 @@ +{ + "name": "TestViracoins", + "symbol": "TVIRC", + "decimals": 18, + "desc": "TestViracoins will be the test currency in Viracles city." +} diff --git a/tokens/test/0xf276fbde42c9eb4f9c4e1828cb7cd2383fd7ba27/token.png b/tokens/test/0xf276fbde42c9eb4f9c4e1828cb7cd2383fd7ba27/token.png new file mode 100644 index 00000000..e4e141a6 Binary files /dev/null and b/tokens/test/0xf276fbde42c9eb4f9c4e1828cb7cd2383fd7ba27/token.png differ diff --git a/tokens/test/0xf57c1684f112f755dc2cd533509c834c61b55a91/info.json b/tokens/test/0xf57c1684f112f755dc2cd533509c834c61b55a91/info.json new file mode 100644 index 00000000..73bf8ffe --- /dev/null +++ b/tokens/test/0xf57c1684f112f755dc2cd533509c834c61b55a91/info.json @@ -0,0 +1,6 @@ +{ + "name": "NUTS", + "symbol": "NUTS", + "decimals": 18, + "desc": "The official utility token of Psychobeasts." +} \ No newline at end of file diff --git a/tokens/test/0xf57c1684f112f755dc2cd533509c834c61b55a91/token.png b/tokens/test/0xf57c1684f112f755dc2cd533509c834c61b55a91/token.png new file mode 100644 index 00000000..d24de697 Binary files /dev/null and b/tokens/test/0xf57c1684f112f755dc2cd533509c834c61b55a91/token.png differ diff --git a/validates.js b/validates.js index 49e14e3b..85567698 100644 --- a/validates.js +++ b/validates.js @@ -1,8 +1,9 @@ const path = require('path') +const axios = require('axios') const file = require('file-system') const sharp = require('sharp') const { getTokens } = require('./utils') -const NET_FOLDERS = require('./const').NETS +const { NETS: NET_FOLDERS, NODES } = require('./const') function checkFolderName(folderName) { if (!/^0x[a-f0-9]{40}$/.test(folderName)) { @@ -15,7 +16,7 @@ function checkInfo(info) { throw new Error('name should be string') } if (!checkSymbol(info.symbol)) { - throw new Error('symbol should be string and upper case') + throw new Error('symbol should be string') } if (!checkDecimals(info.decimals)) { throw new Error('decimals should be integer') @@ -25,6 +26,14 @@ function checkInfo(info) { } } +async function checkAddressHasCode(net, address) { + + const resp = await axios.get(`${NODES[net]}/accounts/${address}`) + if (!resp.data.hasCode) { + throw new Error('invalid contract address') + } +} + function checkName(name) { return !(name === null || name === undefined || name.length === 0) } @@ -52,19 +61,19 @@ async function checkImg(path) { } } -async function validate(net, folder) { +async function validate(net, address) { const tokenFolder = path.join( __dirname, - `./tokens/${NET_FOLDERS[net]}/${folder}` + `./tokens/${NET_FOLDERS[net]}/${address}` ) const info = require(path.join(tokenFolder, 'info.json')) try { - checkFolderName(folder) + checkFolderName(address) const files = file.readdirSync(tokenFolder) if (!files.includes('info.json') || !files.includes('token.png')) { throw new Error('missing info.json or token.png') } - + await checkAddressHasCode(net, address) checkInfo(info) await checkImg(path.join(tokenFolder, 'token.png')) @@ -76,7 +85,7 @@ async function validate(net, folder) { } module.exports = { - lint: async function(net) { + lint: async function (net) { const tokens = getTokens( path.join(__dirname, `./tokens/${NET_FOLDERS[net]}`) )