From 76c4d818093143c860ae45a7c6596351af814892 Mon Sep 17 00:00:00 2001 From: yyy9608 Date: Fri, 26 Apr 2024 11:47:34 +0800 Subject: [PATCH] move --- .gitignore | 25 + README.md | 16 + config/env.js | 104 + config/getHttpsConfig.js | 66 + config/jest/babelTransform.js | 29 + config/jest/cssTransform.js | 14 + config/jest/fileTransform.js | 40 + config/modules.js | 134 + config/paths.js | 77 + config/webpack.config.js | 772 + .../persistentCache/createEnvironmentHash.js | 9 + config/webpackDevServer.config.js | 133 + env.md | 4 + package-lock.json | 31438 ++++++++++++++++ package.json | 168 + public/favicon.ico | Bin 0 -> 3774 bytes public/index.html | 85 + public/initialization.js | 55 + public/loading/loading-1.png | Bin 0 -> 8139 bytes public/loading/loading-2.png | Bin 0 -> 9082 bytes public/loading/loading-3.png | Bin 0 -> 11154 bytes public/loading/loading-4.png | Bin 0 -> 15231 bytes public/loading/loading-5.png | Bin 0 -> 17582 bytes public/logo192.png | Bin 0 -> 5448 bytes public/logo512.png | Bin 0 -> 5448 bytes public/manifest.json | 25 + public/robots.txt | 3 + scripts/build.js | 217 + scripts/start.js | 154 + scripts/test.js | 52 + src/App.tsx | 14 + src/assets/NFT-black.png | Bin 0 -> 2212 bytes src/assets/NFT.png | Bin 0 -> 2240 bytes src/assets/bsc-fil.png | Bin 0 -> 4636 bytes src/assets/contract.png | Bin 0 -> 1082 bytes src/assets/copy.png | Bin 0 -> 266 bytes src/assets/error.png | Bin 0 -> 819 bytes src/assets/fil.png | Bin 0 -> 517 bytes src/assets/group.png | Bin 0 -> 8612 bytes src/assets/help-0.png | Bin 0 -> 6387 bytes src/assets/help-1.png | Bin 0 -> 8413 bytes src/assets/help-2.png | Bin 0 -> 8144 bytes src/assets/iconfont/iconfont.css | 47 + src/assets/iconfont/iconfont.js | 1 + src/assets/iconfont/iconfont.json | 65 + src/assets/iconfont/iconfont.ttf | Bin 0 -> 2636 bytes src/assets/iconfont/iconfont.woff | Bin 0 -> 1704 bytes src/assets/iconfont/iconfont.woff2 | Bin 0 -> 1268 bytes src/assets/loading.png | Bin 0 -> 7631 bytes src/assets/loading/loading-1.png | Bin 0 -> 1342 bytes src/assets/loading/loading-2.png | Bin 0 -> 2122 bytes src/assets/loading/loading-3.png | Bin 0 -> 3429 bytes src/assets/loading/loading-4.png | Bin 0 -> 3418 bytes src/assets/loading/loading-5.png | Bin 0 -> 4039 bytes src/assets/loading/loading-6.png | Bin 0 -> 4472 bytes src/assets/logo.png | Bin 0 -> 2660 bytes src/assets/max-logo.png | Bin 0 -> 6548 bytes src/assets/menu/conditions.png | Bin 0 -> 2004 bytes src/assets/menu/discord.png | Bin 0 -> 7979 bytes src/assets/menu/language.png | Bin 0 -> 3122 bytes src/assets/menu/linkedin.png | Bin 0 -> 1754 bytes src/assets/menu/menu-0.png | Bin 0 -> 3256 bytes src/assets/menu/menu-1.png | Bin 0 -> 3793 bytes src/assets/menu/menu-2.png | Bin 0 -> 3735 bytes src/assets/menu/menu-3.png | Bin 0 -> 4497 bytes src/assets/menu/menu-bg-0.png | Bin 0 -> 20278 bytes src/assets/menu/menu-bg-1.png | Bin 0 -> 20278 bytes src/assets/menu/menu-bg-2.png | Bin 0 -> 16821 bytes src/assets/menu/menu-bg-3.png | Bin 0 -> 4241 bytes src/assets/menu/my-pledge.png | Bin 0 -> 3648 bytes src/assets/menu/privacy-policy.png | Bin 0 -> 3789 bytes src/assets/menu/referral.png | Bin 0 -> 6127 bytes src/assets/menu/telegram.png | Bin 0 -> 2779 bytes src/assets/menu/twitter.png | Bin 0 -> 2768 bytes src/assets/modal-bg-img.png | Bin 0 -> 57509 bytes src/assets/modal.png | Bin 0 -> 4009 bytes src/assets/nft-details-box.png | Bin 0 -> 28563 bytes src/assets/notify-right.png | Bin 0 -> 20319 bytes src/assets/pledge-header.png | Bin 0 -> 119114 bytes src/assets/pledge.png | Bin 0 -> 1211 bytes src/assets/product-box.png | Bin 0 -> 231275 bytes src/assets/recommend-box.png | Bin 0 -> 61196 bytes src/assets/recommend.png | Bin 0 -> 629 bytes src/assets/referees-box.png | Bin 0 -> 38743 bytes src/assets/scroll-1.png | Bin 0 -> 6472 bytes src/assets/scroll-2.png | Bin 0 -> 6808 bytes src/assets/scroll-3.png | Bin 0 -> 5703 bytes src/assets/share-1.png | Bin 0 -> 1639 bytes src/assets/share-2.png | Bin 0 -> 2276 bytes src/assets/share-3.png | Bin 0 -> 1004 bytes src/assets/share.png | Bin 0 -> 3867 bytes src/assets/stake-bg-img-1.png | Bin 0 -> 6267 bytes src/assets/stake-bg-img-2.png | Bin 0 -> 3936 bytes src/assets/stake-box.png | Bin 0 -> 56139 bytes src/assets/stake-watermark.png | Bin 0 -> 2173 bytes src/assets/warning.png | Bin 0 -> 2357 bytes src/assets/watermark.png | Bin 0 -> 6745 bytes src/assets/withdraw-watermark.png | Bin 0 -> 2169 bytes src/components/BackBar.tsx | 20 + src/components/Button.tsx | 14 + src/components/ConnectWalletButton.tsx | 122 + src/components/Loading.tsx | 17 + src/components/Modal.tsx | 64 + src/components/ModalLoading.tsx | 45 + src/components/Unlogin.tsx | 17 + src/contract/api.ts | 226 + src/contract/index.tsx | 116 + src/contract/typechain-types/common.ts | 131 + src/contract/typechain-types/contracts/FIL.ts | 286 + src/contract/typechain-types/contracts/NFT.ts | 621 + .../typechain-types/contracts/Pledge.ts | 1184 + .../typechain-types/contracts/Pool.ts | 241 + .../typechain-types/contracts/index.ts | 7 + .../factories/contracts/FIL__factory.ts | 374 + .../factories/contracts/NFT__factory.ts | 747 + .../factories/contracts/Pledge__factory.ts | 1373 + .../factories/contracts/Pool__factory.ts | 203 + .../factories/contracts/index.ts | 7 + .../typechain-types/factories/index.ts | 4 + src/contract/typechain-types/hardhat.d.ts | 441 + src/contract/typechain-types/index.ts | 14 + src/global.d.ts | 3 + src/hooks/useConnectWallet.ts | 40 + src/hooks/useCopy.ts | 15 + src/hooks/useRouter.ts | 13 + src/index.tsx | 22 + src/language/en.json | 14 + src/language/hk.json | 131 + src/language/index.ts | 29 + src/language/zh.json | 131 + src/pages/admin/AdminNFT.tsx | 114 + src/pages/admin/AdminPledge.tsx | 250 + src/pages/admin/AdminPool.tsx | 101 + src/pages/admin/AdminSet.tsx | 117 + src/pages/admin/index.tsx | 72 + src/pages/home/index.tsx | 163 + src/pages/invitation-detail/index.tsx | 169 + src/pages/invitation/index.tsx | 308 + src/pages/my-pledge/index.tsx | 398 + src/pages/nft-detail/index.tsx | 249 + src/pages/pledge/index.tsx | 259 + src/router/layout/Navbar.tsx | 223 + src/router/layout/RenderRouter.tsx | 25 + src/router/layout/index.tsx | 51 + src/router/routes.tsx | 43 + src/store/index.ts | 71 + src/styles/admin.scss | 58 + src/styles/components.scss | 155 + src/styles/global.scss | 213 + src/styles/home.scss | 245 + src/styles/invitation.scss | 131 + src/styles/layout.scss | 235 + src/styles/pledge.scss | 321 + src/styles/theme.scss | 25 + src/types/api.d.ts | 33 + src/types/store.d.ts | 31 + src/utils/copy.ts | 21 + src/utils/index.ts | 187 + src/utils/sign/sign.ts | 22 + src/utils/sign/sort.ts | 35 + src/utils/wei.ts | 25 + tsconfig.json | 30 + 162 files changed, 44799 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 config/env.js create mode 100644 config/getHttpsConfig.js create mode 100644 config/jest/babelTransform.js create mode 100644 config/jest/cssTransform.js create mode 100644 config/jest/fileTransform.js create mode 100644 config/modules.js create mode 100644 config/paths.js create mode 100644 config/webpack.config.js create mode 100644 config/webpack/persistentCache/createEnvironmentHash.js create mode 100644 config/webpackDevServer.config.js create mode 100644 env.md create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 public/favicon.ico create mode 100644 public/index.html create mode 100644 public/initialization.js create mode 100644 public/loading/loading-1.png create mode 100644 public/loading/loading-2.png create mode 100644 public/loading/loading-3.png create mode 100644 public/loading/loading-4.png create mode 100644 public/loading/loading-5.png create mode 100644 public/logo192.png create mode 100644 public/logo512.png create mode 100644 public/manifest.json create mode 100644 public/robots.txt create mode 100644 scripts/build.js create mode 100644 scripts/start.js create mode 100644 scripts/test.js create mode 100644 src/App.tsx create mode 100644 src/assets/NFT-black.png create mode 100644 src/assets/NFT.png create mode 100644 src/assets/bsc-fil.png create mode 100644 src/assets/contract.png create mode 100644 src/assets/copy.png create mode 100644 src/assets/error.png create mode 100644 src/assets/fil.png create mode 100644 src/assets/group.png create mode 100644 src/assets/help-0.png create mode 100644 src/assets/help-1.png create mode 100644 src/assets/help-2.png create mode 100644 src/assets/iconfont/iconfont.css create mode 100644 src/assets/iconfont/iconfont.js create mode 100644 src/assets/iconfont/iconfont.json create mode 100644 src/assets/iconfont/iconfont.ttf create mode 100644 src/assets/iconfont/iconfont.woff create mode 100644 src/assets/iconfont/iconfont.woff2 create mode 100644 src/assets/loading.png create mode 100644 src/assets/loading/loading-1.png create mode 100644 src/assets/loading/loading-2.png create mode 100644 src/assets/loading/loading-3.png create mode 100644 src/assets/loading/loading-4.png create mode 100644 src/assets/loading/loading-5.png create mode 100644 src/assets/loading/loading-6.png create mode 100644 src/assets/logo.png create mode 100644 src/assets/max-logo.png create mode 100644 src/assets/menu/conditions.png create mode 100644 src/assets/menu/discord.png create mode 100644 src/assets/menu/language.png create mode 100644 src/assets/menu/linkedin.png create mode 100644 src/assets/menu/menu-0.png create mode 100644 src/assets/menu/menu-1.png create mode 100644 src/assets/menu/menu-2.png create mode 100644 src/assets/menu/menu-3.png create mode 100644 src/assets/menu/menu-bg-0.png create mode 100644 src/assets/menu/menu-bg-1.png create mode 100644 src/assets/menu/menu-bg-2.png create mode 100644 src/assets/menu/menu-bg-3.png create mode 100644 src/assets/menu/my-pledge.png create mode 100644 src/assets/menu/privacy-policy.png create mode 100644 src/assets/menu/referral.png create mode 100644 src/assets/menu/telegram.png create mode 100644 src/assets/menu/twitter.png create mode 100644 src/assets/modal-bg-img.png create mode 100644 src/assets/modal.png create mode 100644 src/assets/nft-details-box.png create mode 100644 src/assets/notify-right.png create mode 100644 src/assets/pledge-header.png create mode 100644 src/assets/pledge.png create mode 100644 src/assets/product-box.png create mode 100644 src/assets/recommend-box.png create mode 100644 src/assets/recommend.png create mode 100644 src/assets/referees-box.png create mode 100644 src/assets/scroll-1.png create mode 100644 src/assets/scroll-2.png create mode 100644 src/assets/scroll-3.png create mode 100644 src/assets/share-1.png create mode 100644 src/assets/share-2.png create mode 100644 src/assets/share-3.png create mode 100644 src/assets/share.png create mode 100644 src/assets/stake-bg-img-1.png create mode 100644 src/assets/stake-bg-img-2.png create mode 100644 src/assets/stake-box.png create mode 100644 src/assets/stake-watermark.png create mode 100644 src/assets/warning.png create mode 100644 src/assets/watermark.png create mode 100644 src/assets/withdraw-watermark.png create mode 100644 src/components/BackBar.tsx create mode 100644 src/components/Button.tsx create mode 100644 src/components/ConnectWalletButton.tsx create mode 100644 src/components/Loading.tsx create mode 100644 src/components/Modal.tsx create mode 100644 src/components/ModalLoading.tsx create mode 100644 src/components/Unlogin.tsx create mode 100644 src/contract/api.ts create mode 100644 src/contract/index.tsx create mode 100644 src/contract/typechain-types/common.ts create mode 100644 src/contract/typechain-types/contracts/FIL.ts create mode 100644 src/contract/typechain-types/contracts/NFT.ts create mode 100644 src/contract/typechain-types/contracts/Pledge.ts create mode 100644 src/contract/typechain-types/contracts/Pool.ts create mode 100644 src/contract/typechain-types/contracts/index.ts create mode 100644 src/contract/typechain-types/factories/contracts/FIL__factory.ts create mode 100644 src/contract/typechain-types/factories/contracts/NFT__factory.ts create mode 100644 src/contract/typechain-types/factories/contracts/Pledge__factory.ts create mode 100644 src/contract/typechain-types/factories/contracts/Pool__factory.ts create mode 100644 src/contract/typechain-types/factories/contracts/index.ts create mode 100644 src/contract/typechain-types/factories/index.ts create mode 100644 src/contract/typechain-types/hardhat.d.ts create mode 100644 src/contract/typechain-types/index.ts create mode 100644 src/global.d.ts create mode 100644 src/hooks/useConnectWallet.ts create mode 100644 src/hooks/useCopy.ts create mode 100644 src/hooks/useRouter.ts create mode 100644 src/index.tsx create mode 100644 src/language/en.json create mode 100644 src/language/hk.json create mode 100644 src/language/index.ts create mode 100644 src/language/zh.json create mode 100644 src/pages/admin/AdminNFT.tsx create mode 100644 src/pages/admin/AdminPledge.tsx create mode 100644 src/pages/admin/AdminPool.tsx create mode 100644 src/pages/admin/AdminSet.tsx create mode 100644 src/pages/admin/index.tsx create mode 100644 src/pages/home/index.tsx create mode 100644 src/pages/invitation-detail/index.tsx create mode 100644 src/pages/invitation/index.tsx create mode 100644 src/pages/my-pledge/index.tsx create mode 100644 src/pages/nft-detail/index.tsx create mode 100644 src/pages/pledge/index.tsx create mode 100644 src/router/layout/Navbar.tsx create mode 100644 src/router/layout/RenderRouter.tsx create mode 100644 src/router/layout/index.tsx create mode 100644 src/router/routes.tsx create mode 100644 src/store/index.ts create mode 100644 src/styles/admin.scss create mode 100644 src/styles/components.scss create mode 100644 src/styles/global.scss create mode 100644 src/styles/home.scss create mode 100644 src/styles/invitation.scss create mode 100644 src/styles/layout.scss create mode 100644 src/styles/pledge.scss create mode 100644 src/styles/theme.scss create mode 100644 src/types/api.d.ts create mode 100644 src/types/store.d.ts create mode 100644 src/utils/copy.ts create mode 100644 src/utils/index.ts create mode 100644 src/utils/sign/sign.ts create mode 100644 src/utils/sign/sort.ts create mode 100644 src/utils/wei.ts create mode 100644 tsconfig.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..27814b7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,25 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +.env + +# testing +/coverage + +# production +/build + +# misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* +yarn-debug.log* +yarn-error.log* diff --git a/README.md b/README.md new file mode 100644 index 0000000..4675903 --- /dev/null +++ b/README.md @@ -0,0 +1,16 @@ +``` + + 1.git clone --- 拉取代碼 + 2.npm install or yarn 安裝依賴 + 3.copy .env.md 複製到 .env + 4.npm run start or yarn start 運行項目 + + + yarn build or npm run build + + + yarn deploy:dev or npm run build + + + yarn deploy:prod or npm run deploy:prod +``` \ No newline at end of file diff --git a/config/env.js b/config/env.js new file mode 100644 index 0000000..ffa7e49 --- /dev/null +++ b/config/env.js @@ -0,0 +1,104 @@ +'use strict'; + +const fs = require('fs'); +const path = require('path'); +const paths = require('./paths'); + +// Make sure that including paths.js after env.js will read .env variables. +delete require.cache[require.resolve('./paths')]; + +const NODE_ENV = process.env.NODE_ENV; +if (!NODE_ENV) { + throw new Error( + 'The NODE_ENV environment variable is required but was not specified.' + ); +} + +// https://github.com/bkeepers/dotenv#what-other-env-files-can-i-use +const dotenvFiles = [ + `${paths.dotenv}.${NODE_ENV}.local`, + // Don't include `.env.local` for `test` environment + // since normally you expect tests to produce the same + // results for everyone + NODE_ENV !== 'test' && `${paths.dotenv}.local`, + `${paths.dotenv}.${NODE_ENV}`, + paths.dotenv, +].filter(Boolean); + +// Load environment variables from .env* files. Suppress warnings using silent +// if this file is missing. dotenv will never modify any environment variables +// that have already been set. Variable expansion is supported in .env files. +// https://github.com/motdotla/dotenv +// https://github.com/motdotla/dotenv-expand +dotenvFiles.forEach(dotenvFile => { + if (fs.existsSync(dotenvFile)) { + require('dotenv-expand')( + require('dotenv').config({ + path: dotenvFile, + }) + ); + } +}); + +// We support resolving modules according to `NODE_PATH`. +// This lets you use absolute paths in imports inside large monorepos: +// https://github.com/facebook/create-react-app/issues/253. +// It works similar to `NODE_PATH` in Node itself: +// https://nodejs.org/api/modules.html#modules_loading_from_the_global_folders +// Note that unlike in Node, only *relative* paths from `NODE_PATH` are honored. +// Otherwise, we risk importing Node.js core modules into an app instead of webpack shims. +// https://github.com/facebook/create-react-app/issues/1023#issuecomment-265344421 +// We also resolve them to make sure all tools using them work consistently. +const appDirectory = fs.realpathSync(process.cwd()); +process.env.NODE_PATH = (process.env.NODE_PATH || '') + .split(path.delimiter) + .filter(folder => folder && !path.isAbsolute(folder)) + .map(folder => path.resolve(appDirectory, folder)) + .join(path.delimiter); + +// Grab NODE_ENV and REACT_APP_* environment variables and prepare them to be +// injected into the application via DefinePlugin in webpack configuration. +const REACT_APP = /^REACT_APP_/i; + +function getClientEnvironment(publicUrl) { + const raw = Object.keys(process.env) + .filter(key => REACT_APP.test(key)) + .reduce( + (env, key) => { + env[key] = process.env[key]; + return env; + }, + { + // Useful for determining whether we’re running in production mode. + // Most importantly, it switches React into the correct mode. + NODE_ENV: process.env.NODE_ENV || 'development', + // Useful for resolving the correct path to static assets in `public`. + // For example, . + // This should only be used as an escape hatch. Normally you would put + // images into the `src` and `import` them in code to get their paths. + PUBLIC_URL: publicUrl, + // We support configuring the sockjs pathname during development. + // These settings let a developer run multiple simultaneous projects. + // They are used as the connection `hostname`, `pathname` and `port` + // in webpackHotDevClient. They are used as the `sockHost`, `sockPath` + // and `sockPort` options in webpack-dev-server. + WDS_SOCKET_HOST: process.env.WDS_SOCKET_HOST, + WDS_SOCKET_PATH: process.env.WDS_SOCKET_PATH, + WDS_SOCKET_PORT: process.env.WDS_SOCKET_PORT, + // Whether or not react-refresh is enabled. + // It is defined here so it is available in the webpackHotDevClient. + FAST_REFRESH: process.env.FAST_REFRESH !== 'false', + } + ); + // Stringify all values so we can feed into webpack DefinePlugin + const stringified = { + 'process.env': Object.keys(raw).reduce((env, key) => { + env[key] = JSON.stringify(raw[key]); + return env; + }, {}), + }; + + return { raw, stringified }; +} + +module.exports = getClientEnvironment; diff --git a/config/getHttpsConfig.js b/config/getHttpsConfig.js new file mode 100644 index 0000000..013d493 --- /dev/null +++ b/config/getHttpsConfig.js @@ -0,0 +1,66 @@ +'use strict'; + +const fs = require('fs'); +const path = require('path'); +const crypto = require('crypto'); +const chalk = require('react-dev-utils/chalk'); +const paths = require('./paths'); + +// Ensure the certificate and key provided are valid and if not +// throw an easy to debug error +function validateKeyAndCerts({ cert, key, keyFile, crtFile }) { + let encrypted; + try { + // publicEncrypt will throw an error with an invalid cert + encrypted = crypto.publicEncrypt(cert, Buffer.from('test')); + } catch (err) { + throw new Error( + `The certificate "${chalk.yellow(crtFile)}" is invalid.\n${err.message}` + ); + } + + try { + // privateDecrypt will throw an error with an invalid key + crypto.privateDecrypt(key, encrypted); + } catch (err) { + throw new Error( + `The certificate key "${chalk.yellow(keyFile)}" is invalid.\n${ + err.message + }` + ); + } +} + +// Read file and throw an error if it doesn't exist +function readEnvFile(file, type) { + if (!fs.existsSync(file)) { + throw new Error( + `You specified ${chalk.cyan( + type + )} in your env, but the file "${chalk.yellow(file)}" can't be found.` + ); + } + return fs.readFileSync(file); +} + +// Get the https config +// Return cert files if provided in env, otherwise just true or false +function getHttpsConfig() { + const { SSL_CRT_FILE, SSL_KEY_FILE, HTTPS } = process.env; + const isHttps = HTTPS === 'true'; + + if (isHttps && SSL_CRT_FILE && SSL_KEY_FILE) { + const crtFile = path.resolve(paths.appPath, SSL_CRT_FILE); + const keyFile = path.resolve(paths.appPath, SSL_KEY_FILE); + const config = { + cert: readEnvFile(crtFile, 'SSL_CRT_FILE'), + key: readEnvFile(keyFile, 'SSL_KEY_FILE'), + }; + + validateKeyAndCerts({ ...config, keyFile, crtFile }); + return config; + } + return isHttps; +} + +module.exports = getHttpsConfig; diff --git a/config/jest/babelTransform.js b/config/jest/babelTransform.js new file mode 100644 index 0000000..5b391e4 --- /dev/null +++ b/config/jest/babelTransform.js @@ -0,0 +1,29 @@ +'use strict'; + +const babelJest = require('babel-jest').default; + +const hasJsxRuntime = (() => { + if (process.env.DISABLE_NEW_JSX_TRANSFORM === 'true') { + return false; + } + + try { + require.resolve('react/jsx-runtime'); + return true; + } catch (e) { + return false; + } +})(); + +module.exports = babelJest.createTransformer({ + presets: [ + [ + require.resolve('babel-preset-react-app'), + { + runtime: hasJsxRuntime ? 'automatic' : 'classic', + }, + ], + ], + babelrc: false, + configFile: false, +}); diff --git a/config/jest/cssTransform.js b/config/jest/cssTransform.js new file mode 100644 index 0000000..8f65114 --- /dev/null +++ b/config/jest/cssTransform.js @@ -0,0 +1,14 @@ +'use strict'; + +// This is a custom Jest transformer turning style imports into empty objects. +// http://facebook.github.io/jest/docs/en/webpack.html + +module.exports = { + process() { + return 'module.exports = {};'; + }, + getCacheKey() { + // The output is always the same. + return 'cssTransform'; + }, +}; diff --git a/config/jest/fileTransform.js b/config/jest/fileTransform.js new file mode 100644 index 0000000..aab6761 --- /dev/null +++ b/config/jest/fileTransform.js @@ -0,0 +1,40 @@ +'use strict'; + +const path = require('path'); +const camelcase = require('camelcase'); + +// This is a custom Jest transformer turning file imports into filenames. +// http://facebook.github.io/jest/docs/en/webpack.html + +module.exports = { + process(src, filename) { + const assetFilename = JSON.stringify(path.basename(filename)); + + if (filename.match(/\.svg$/)) { + // Based on how SVGR generates a component name: + // https://github.com/smooth-code/svgr/blob/01b194cf967347d43d4cbe6b434404731b87cf27/packages/core/src/state.js#L6 + const pascalCaseFilename = camelcase(path.parse(filename).name, { + pascalCase: true, + }); + const componentName = `Svg${pascalCaseFilename}`; + return `const React = require('react'); + module.exports = { + __esModule: true, + default: ${assetFilename}, + ReactComponent: React.forwardRef(function ${componentName}(props, ref) { + return { + $$typeof: Symbol.for('react.element'), + type: 'svg', + ref: ref, + key: null, + props: Object.assign({}, props, { + children: ${assetFilename} + }) + }; + }), + };`; + } + + return `module.exports = ${assetFilename};`; + }, +}; diff --git a/config/modules.js b/config/modules.js new file mode 100644 index 0000000..d63e41d --- /dev/null +++ b/config/modules.js @@ -0,0 +1,134 @@ +'use strict'; + +const fs = require('fs'); +const path = require('path'); +const paths = require('./paths'); +const chalk = require('react-dev-utils/chalk'); +const resolve = require('resolve'); + +/** + * Get additional module paths based on the baseUrl of a compilerOptions object. + * + * @param {Object} options + */ +function getAdditionalModulePaths(options = {}) { + const baseUrl = options.baseUrl; + + if (!baseUrl) { + return ''; + } + + const baseUrlResolved = path.resolve(paths.appPath, baseUrl); + + // We don't need to do anything if `baseUrl` is set to `node_modules`. This is + // the default behavior. + if (path.relative(paths.appNodeModules, baseUrlResolved) === '') { + return null; + } + + // Allow the user set the `baseUrl` to `appSrc`. + if (path.relative(paths.appSrc, baseUrlResolved) === '') { + return [paths.appSrc]; + } + + // If the path is equal to the root directory we ignore it here. + // We don't want to allow importing from the root directly as source files are + // not transpiled outside of `src`. We do allow importing them with the + // absolute path (e.g. `src/Components/Button.js`) but we set that up with + // an alias. + if (path.relative(paths.appPath, baseUrlResolved) === '') { + return null; + } + + // Otherwise, throw an error. + throw new Error( + chalk.red.bold( + "Your project's `baseUrl` can only be set to `src` or `node_modules`." + + ' Create React App does not support other values at this time.' + ) + ); +} + +/** + * Get webpack aliases based on the baseUrl of a compilerOptions object. + * + * @param {*} options + */ +function getWebpackAliases(options = {}) { + const baseUrl = options.baseUrl; + + if (!baseUrl) { + return {}; + } + + const baseUrlResolved = path.resolve(paths.appPath, baseUrl); + + if (path.relative(paths.appPath, baseUrlResolved) === '') { + return { + src: paths.appSrc, + }; + } +} + +/** + * Get jest aliases based on the baseUrl of a compilerOptions object. + * + * @param {*} options + */ +function getJestAliases(options = {}) { + const baseUrl = options.baseUrl; + + if (!baseUrl) { + return {}; + } + + const baseUrlResolved = path.resolve(paths.appPath, baseUrl); + + if (path.relative(paths.appPath, baseUrlResolved) === '') { + return { + '^src/(.*)$': '/src/$1', + }; + } +} + +function getModules() { + // Check if TypeScript is setup + const hasTsConfig = fs.existsSync(paths.appTsConfig); + const hasJsConfig = fs.existsSync(paths.appJsConfig); + + if (hasTsConfig && hasJsConfig) { + throw new Error( + 'You have both a tsconfig.json and a jsconfig.json. If you are using TypeScript please remove your jsconfig.json file.' + ); + } + + let config; + + // If there's a tsconfig.json we assume it's a + // TypeScript project and set up the config + // based on tsconfig.json + if (hasTsConfig) { + const ts = require(resolve.sync('typescript', { + basedir: paths.appNodeModules, + })); + config = ts.readConfigFile(paths.appTsConfig, ts.sys.readFile).config; + // Otherwise we'll check if there is jsconfig.json + // for non TS projects. + } else if (hasJsConfig) { + config = require(paths.appJsConfig); + } + + config = config || {}; + const options = config.compilerOptions || {}; + + const additionalModulePaths = getAdditionalModulePaths(options); + + return { + additionalModulePaths: additionalModulePaths, + webpackAliases: getWebpackAliases(options), + jestAliases: getJestAliases(options), + hasTsConfig, + }; +} + +module.exports = getModules(); diff --git a/config/paths.js b/config/paths.js new file mode 100644 index 0000000..f0a6cd9 --- /dev/null +++ b/config/paths.js @@ -0,0 +1,77 @@ +'use strict'; + +const path = require('path'); +const fs = require('fs'); +const getPublicUrlOrPath = require('react-dev-utils/getPublicUrlOrPath'); + +// Make sure any symlinks in the project folder are resolved: +// https://github.com/facebook/create-react-app/issues/637 +const appDirectory = fs.realpathSync(process.cwd()); +const resolveApp = relativePath => path.resolve(appDirectory, relativePath); + +// We use `PUBLIC_URL` environment variable or "homepage" field to infer +// "public path" at which the app is served. +// webpack needs to know it to put the right + + + \ No newline at end of file diff --git a/public/initialization.js b/public/initialization.js new file mode 100644 index 0000000..2a67be3 --- /dev/null +++ b/public/initialization.js @@ -0,0 +1,55 @@ +(() => { + // 获取屏幕大小 + const getScreen = () => { + const width = window.innerWidth; + const height = window.innerHeight; + document.body.style = ` + --width:${width}px; + --height:${height}px; + `; + } + getScreen() + // 监听屏幕变化 + window.addEventListener('resize', getScreen); + + // 加载loading + // let publicLoading = document.getElementById('loading'); + // let publicWidth = 0; + // let publicTimerID = null; + // publicTimerID = setInterval(() => { + // if (publicWidth > 99) { + // clearInterval(publicTimerID); + // return; + // }; + // publicWidth += 1; + // publicLoading.style.width = `${publicWidth}%`; + // }, 100); + + // ios 禁用屏幕缩放 + document.documentElement.addEventListener( + "touchstart", + function (event) { + if (event.touches.length > 1) { + event.preventDefault(); + } + }, + false + ); + + var lastTouchEnd = 0; + document.documentElement.addEventListener( + "touchend", + function (event) { + var now = Date.now(); + if (now - lastTouchEnd <= 300) { + event.preventDefault(); + } + lastTouchEnd = now; + }, + false + ); + + document.addEventListener("gesturestart", function (event) { + event.preventDefault(); + }); +})() \ No newline at end of file diff --git a/public/loading/loading-1.png b/public/loading/loading-1.png new file mode 100644 index 0000000000000000000000000000000000000000..9c3057fa8f30b73cc6c909ccf95ce0c7fb0353f6 GIT binary patch literal 8139 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 literal 0 HcmV?d00001 diff --git a/public/loading/loading-4.png b/public/loading/loading-4.png new file mode 100644 index 0000000000000000000000000000000000000000..388c0d34aa36505cf93eaad741dffe2d1786dfc4 GIT binary patch literal 15231 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 Q1Qef}lMWLLjh$luFGoxyyZ`_I literal 0 HcmV?d00001 diff --git a/public/loading/loading-5.png b/public/loading/loading-5.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ea1b61d068fee186db1c5e6bc6b8a839e06ae6 GIT binary patch literal 17582 zcmd6Pi96KY8~0$U(IUfOlyyd$qU_n3#tafQs7z&Rh}46|Qg+eAm>D#**fkL?qG_>Z zNf}FJi=v1cvZrL<-!poCzxQ`t??3Q%U0qM#Gv9O0eeU}{_xkxhal|7Q+cxjm41qwl z9kRsRK_G&32t>#bwh@dp-Q)~|{|NZoS>Par%`zk40qT!CbPNXmgu&ct5QqZg5dPq? zpp2hiZJ6#u!NYSy9nbSDIQY{tBKjGYnq(It&3`r)>pCl`KbkwFAUXhfeNEt`;jicP zO4dtd=Upmi@BP@Ot^g(0UW50Yy;4~A@*gpU0Fx`PN*4sVJ5P(LicQ`md}<^=O#7(w z@#_qwIoP!MR|#7?Bh^IdLf-0>k#DBBfI3;Na%N)TLf@)`RQ1x;>h!!S$tykD57ZzE z*KYTQ%o(9P;Bc3SnHTdf`sO_~7XBQbI$#p|M>lfOHEWs&(Nsi4*)Dw0%|5a_xiOu? ztfdXH=RZ6u;tm{kNicL-^?Tk1GrvMh$*qE1VOLCldO4KbIDqEUEJ7_0X|p(#}ov#wRZoIj$PF6I|a@QN+jHf|Rqy2sF=c zL*)^5K{xlAt;f7NEqgpB8|x=O*UP&s92h(2%CtsAJ(LlnrHgZK8mjdrHja!0n*K9u zx-zn|JJdx1dl0O2%}trsd5t$1%(eN{hW!afp7T#z;hpZ){=D5RGGPp-L0$sCM#Jyl z)S_cKC+ut8P?HC`n^k=LBEVQ2ikRW{>3w&Pwyk5?j|!dygOriFUrFyKXdOE-Hmn=* zyPYATCVazIK zIvFS<&r5S}KY~CT7#Ec` zE)W!?*|6!oLs-WV6au}-AdH<;kN_iOX&OA$0&KxX!YM;PmNfK@e+~?NQ9?$s^>bhW zKHhY_!=bz0oDTDwUy<?J7tu8S%S|Y#R&a9?oOD5~ZRpKDQI1+#4e@ zk;;;2D7saR4U-u^+!tn$X|3#QUc*AR9mSYWhdNV|U7?HLn5c`_`JxNcOm)P6XLaSb zL@XxPRNb0lVC8`#RNesElvf1!aZzPBFpq(CprW26?*JRL5SfZHGmjlDs4%ydo z2)tIiOoyI*pk@i4!o_b^J^G(lO?U%RqQj45Ba_wgFCCY0yBR-x>hrGT1Sy zfM7%3VVR~DlxtuM{^oGa-ycr@ z$~vl?%n*(1`PQDj96ow@_{J3Dx~Vw9vLQ`>`#oy}dKAc3%ZX|vOt8c%4BpEnGVkm1 z6?33&RC=SbnEoeT@>Abb|KyJbi}CWy)2Nvj5M{bLGAgC$gEAcsZ~FR@;TtOZU#j4t8 zvY;nfJx>^Yhop9oy!vg8V4Hn`oSluqe}23_M1HD71)Qos74v!K{eX`g@;<%!@$Uf!gC1nAbaieaTNVYdc0Utbx4*MBFmEl(<8` zs5BEC$j2HXZG6GwJh){ks=aR)2wgag<|#qeO${oUIz=zxB*aJw6U;qFS~(;E)B33Fj8!^S5qv_fz!TTxn%yEPlBC^`3n#!VeTx$QzcNW;2I zxozRnXn&o9*XTP;OrSRZmk+nA76J@Xt$Vk!8bs=l^kx+~b9K!F6FHWF&LLx8ryAY; z;3#S+@&+V~K;JE@|0%^x<8?6CP1yXr z$BcCw9wqbZS@x>Z%r1oYi-d^&O{SHW;rm*3#0hjI(UA{byXo)~t+M`WgolcVJ#=jD zcHE>sr%QJ1+XKa!Z>|D%etfd-n5|xCbERRrm zO$B#i(a6U5k6Ks7b(q!f69<@f6+5&Q`B3V z*mJ?d%KdJs>5#;;Z_B7kae4qw!A_GMl%iI#ikaEP%nH;F7pKddT~~@|VeT8fqLl45 zmM&D(CM`m)ByRE|S;O#CTYwejscw{|HlJv}D1RTUX)rzuwOyy02vBW@a zCsBIO=zkndjAgDJZZhaZ>w*|l=1n-Ftc@=OlT_>dI3+>di;>*0vNcq_x~;p)1&_K~ zJjYO(5v=9p?t){fKv8Z=h?hSq$g5EF%cmiONtV#^-y=s?O=fmoWc*(%aa~uO07d0^ z-t9708RnI)p-u~P;o`L48N~5ek}4xmyBo%Zhm1VF+|pf~dceleCVby@A$FJikiIU+yvszwfe{v`Ro_TdW-{uacW)x{H?OX$BXq}_!(yYNyT`)Pm>PO zSz4%G9#YH5S*&vjyVyG)sH-<5Vew{x`x?gGDvTfg_zCMc7yo%v``|OZMCCjor}p8K z2NPoh15Q%O=C`7diel{TB^!Z1&{O5;fpcxeX^7|1S|3%SDPMIxQr4~JqS{~-4 zg{L(}Sy`0rV6lOxJR}wSy@IE=k8g5Q z6*z-B#b^}f3c&Eg$CI!<)7^bb-(ClBLjQZA4&w3{Ucy{CaKht~QKiiW<)O_gPf^Hr zQMxfat~IgPd(fu6*`HAx7|l6-qP5^cPHN=ue6{R*RS6tXx~w=j;dmZRmlDA-B(wHq zxX4@~j`PnTAwe6nmU`J=fl3EQ*^Nk?<~zs|Z!Pb%OKFRz?%=q5UUdQCdhD#}l4l1& z?EwWktkULwNTS<@rhNrDhRTTT3V=<=!J9);+jmQr#n%g5vcOCnRKOLP!}&Z~9}Eo8 zrSe38xI=Wh+~)jtA-98FUy3s8;q(%90@XR*haMz8HoTIu_vvo1jsl`c5v(dWxiOk@ znam1L**|d<<0DFIRf#G^j}3o~Bh2nXUfzx9q~V8~R8cskiKFThb-@IY@02Sg;&d?A zGmj?wB%$i$-*5`J4dVVGsUnS0B7(n2*VVq&-c3?@jP8>M{kM({|1_7T%e~xGDMmAX zmQa;N8X!eaK5V;ocMobh$2&c^{kcC&Po}2y>whm2(PV5GX^Yv6AHKPVjB8eN{!xLF z-5IEULY^)N57{NEb*4P%ri8ZBjwyrkFGRj2QjE@rM8b<#1^v2g_hE|KY%)jX5HCL+Lt5U+;s-NI!=1no0 zRX*f=MoG4ukE^9cn^Asjsh&O6v+|?V`jF-2y z6T0HD1Lkh2`wfaLEgo*Iy?Gv|@!DXAkD}=3!#``f{(JXsJQ~G1KG=&;t4?&K+Mrlh zKQ8NGRnCd1GiXRNCG%rD=qk->(b!zW7g;U{#`qb8eQn_JSTc14m9tB9gz$Lm+>k^W zcUX{eZ;@EBOo?VufMeQdds^L~s6oekCru?snEOsX@|Odz_f6mUsGq{_JlfX6yujxY z+B?nV+QISv_Ew_yow1r)I%~i=vkVRgZoii!L zP|7iqkCa6(D=G-eqGjFcIhYuhZ#Xj!YmLQ-yfO$0fTE@``9M6=3Q#f*N5KLY2Cny;x4V#BvM)%T zgm4-HW5at>Q8<)-hD*iNpOuu1th@^9mlTu-4x_Aue54?%DD)s7Xze9)1rKwKGPsqh zQ7~yMY37Mm3pg!RjGijWB*5dYmmNzKLNG$p33ys7W{nRCw3Nd{~ZvYp!t!z0;>pW4vIMHo>PMZ}g}NJA|K zO*Bs3CwyanLmpj_qlx2O{M2TlL4XzxUywCUA|c`=KvW>g429EP#YZfK$~y)aI~C|j zZXk21WI{oX?=I1(%o$EX;dsSetc(Dgq*xPly!*gZp4Sixu7|(o|AYb$oYiv7WF3SNLO5_{9t~nK&ySoUh7P-A*;FlmsE7k*LYhv@ zb;u5%FY%mgTbk99ER|OnPERFy{ULocl17wCMBle{7mq-LN{LOsIe}Bzh@mu_w9Ud~t z{}+geAbx&;G2cj_tVxEqTNpEqn7es`V=48COgUS=weEzrAV?q{#2v-?Ki|hG)zmo) zt;;L*ce=d#t>sHc=c|b?iK{krHN(?k^S#Lkmy{5r#G1ik^tLJ5Y}_*@_AwPzX@#J} z$t;m^Bm)kgqIt-1f|Peer2(1WR7ap|QL^4 zvtyzO=H85FIseeKb?i@W4am!BVKR>%5*^E?mLe~mDNl*D!%-T&{fCcj1j3Yxf2H^k9BgdZ5h2MJQo>mTzY5u9 z|AN0&``*6-dZ)ThK&j0PyOg&~-f;~C52ReT)H>c{*wVa9TA_R;P`p&+0sAn(Tzd!hoTzwh0~ zm+SVuf491E7^DX36GgnguYLgHW0+$YM58N#(-V8Q6Xr;{Qa9_#wVFsY3XdMJ!N@fP zP;_5_SdEk`kEX4Y3(SSwA@$yWwz84mV|u3D@av4eF6HYZ3uku6??QaNo?gXN=X1&3 z40GxI0{2m!82zwG4^GW|2Sdfb4K@Pf%BAd&@NwrCi$)q7+%#TSN-GMpyU;ayZ`Ucq zt2(EpYra;e@*s5;336WR$3;oHs7uASf-LWj#>Re{nFdbvLo&GZ&!%XXZY>&UYDqC$ zjX?^?d7NV*M+bM@x0V+V6suejAufGbJz-tjK)zR!X1c~WM>P}X)}D8<*uov^0R+>y znN1te<1Oh9$`i}0*-jmLP6&DnFlFIlAi7|fcf}LmTgH!_V+UOW;@HUvx(-Z@5(=mN z`VvmVOlLz5F)WIdt4p55_}iNYv54i zIbEq`uI}ShvZB>Cb9NA#Pb_(8@GeV3jDAgjq0%(FIC&N|6F6>#>3wf3Ig(5o=NjEj zwNTB9Gq1y9Bp-spDQ@x-nPn2kb#AheevnC2B?iuS5u3s6l0uBVVHvolLhLd!6}R!LG^!J4K0UGsyAo^;_mw*Kvz+)0xuh(D@iMu67(n;?>Icg`R5oI`v(Y6@57Gp{2 zXwv&Hj_OIkA$Ee}adwhfiZpJ;N`Joh^8DKA_p9A5rh%7IYhVP_-RhCM#PJ(I6o#A> zkPn&HPNDa#jhfE$jDAXJYy^d&a&Yi2eU9a?T5{GWGY!;T@3i2h&z?u2=x{OmKOgxt z&jJMk)3ck1j&SBQ@b@`xS8Xw~=If)k$8ePRDMo+~a5)X#yvX^YEN#Z1>X(nttQu?o z`7=BjJj%G^)3^3Eb2qEezyEXNxamsu>IlztL3d5hCS0-O4W5-L>le`mN<<bjM@Zhq~e{KF50#- zH;&@8V98wVgba+cUj!>0Mlg609AS$QIijiw#DyGeWI1@k(|U6f4G3%|xst~$l()4#rVgVqbQ|936w zswm^luol7ricY7Z-oTkx{}R5Wi^mjFB3Lw0y3*6I??EF)N*a~vT?Npgv`7vW$eaxsI73WhVo|9qF+h?abL z+knpwJrsCRxUPyu;E&z3#hkK8q!E>TqdD8jtQs13VgNx`iRMJ$SmgQKfP6qCobeTO zKsrel4ptaDIs3Z8^{I)sgE57$y0jq z)hNeh&$S`7WjT9wal)wE>r!3a0grRaj3pKCyQN+nelzoy1;$P%`$jKgdx<)RQ<@Dr z3a<^y@i-Pm{cO)ok~@)1xvWFw(Op$ziSCZj{{7%AVvLs$_8>Y-Gmi{XQT<9tU$mt3 z4N`^EJ@&cs6n%C>sc>C7INmNv-xC-3#{*3jnkcgqM0hdEl0^=on8N2aT5DrPeSuOj z)}ZcaSFu=&gjY;jJ)2X}l|fp`<8Tw8M?R zYycHCZl%6>am!V4M)ppBOd%&hE`>-9k2geeQDCe^nA;L8^X(!PC3C)_1|un*K|;_$ z#Vb}3!4^U<=RPO7Uvx_(fC9Pe_-!I}fBc2F;H91vH(Ly7OmO93gyA=q(QU?(ht3pm zFbH4I@-AaGEPTg7_5CJcEx*uPeVAbQ@^0kIe%&A>j$1P<$H>(z2AeE_x@^BN0cm#+ zYrx6F&8qLl2u@4gpadQGWn>6yzBbQ;L0+jQAMGGoJUUR_9POijveBlu%mPykldv|HY^JxG}y@UH@G_p_N;_6bw%mdAN{#% ztD1y=3@BT2lMM$1m#OF>foD8+o(ble*36?oKW@)t@(1AZ_rBoXCCc0goKEU{#l~;2 zk^bt&x^bRPVCz+I$&>@Lz|>KbBtQiKjK&ezDRrO%g@d0bn)A8d*dfZmX*}j^%pp?K z2IRp@?pA=blz7`r7X+P{Q^6<1x)BgErIE*9>FwFYLtY$9&3kosiSJvG!1lf-4d{Zv zNXee8x|tjH;;&LX{v#BMgV!nNxCWT{*zMgXd5sKzXjqLwoGH*0HrE|czL!L{#oS^S z2R`q+b7ov@Q%N zGnW>X&(z{rT9M(-N{FbjZPm9V8A`h(zwc$kdVIS0Y6%|vaqzCM7x@ygQhm*T=u@xJ zV}ML5bg}IF2{IgXy_s32dyG@9dk)0r)}q|N4o9YE4tdRylyo=^DZ+$1r)7)o0b$9| z2z6E%!IfckzUcT*pq;-mx*r)XmNoz;q7hMN0{Gg%e?Wl;*)=|E{m3j(_{C~kgxQ@^ zP0Ap-Z>6HH_nx`n1-J%05vc zr3$da-AvU^hz+~(lMC3ve=uOfI=-J*H+W`wpcb`DoQ`!e*17kI)7z>dc2!3!NC7dX8urHopxG^^TJNGmGj!*FTNWfXJozk_4X9dw7+m5pQc9Q z@)N7~kqfsYk1eaoT`|d6{(aR8UlDAtRJi2n@>0Hf=EYK_v-pxYUDOcDE1w}TX$Q!& zBaxGX$q|KH?--TXz^=7MVc8J z#}C$AP>Xo!3N^p~2n&D$?T>i$Mnk1FM*&*Eo^?r^&K|D{GT4T1MnI><|$m8 zG@($B&;68I!q&f7M#hN; z^4bQb9=zQ7^Dk;8Rdt`75 zKAy7ShHT3d8$-u?Tg#dJoPAuWq<-RumAZ4$Enc4)wQo?9+Yk3Y|VLA z*?g?U8TTU*^EJVEs^xh7JGF3))!&z^Z!Kyj!RcGicSM!uEsS=Cu7S2M(bT^7J9CC| z1qX^ywcGOZ+l+!9uNAqK!;Xv5yqFZ(eW2z*0YCw}J^){chCfsgol?&Oslap{g0ji1 zj*p7KW&YLsJz`UuF(7Kq^%tZZ-R>MeINf{4{~(yWKMbmCK+IxI?0 zWLHtnHI$+L!fd;jHLvOS&Qoi4>yR6^6km}`>&H`WAek?yceUuo2LI|Yt@cc=(fTbJ z?)j_6$P^G%r(kAZrRj4rlo^MAy7N&Uu^bN%r#*l7<(LU-$e#qjA9vYppp4t2GzXaF zs3@kD{QcNuk}Gv*@VMMk(84{nI{DR!PCJ*nEmRQViaxvLuNnhj7YFiaGJ8wv1vYb8 z;)1hcIXpoqR@cC74+$^_0pN8UK ze)g?&cig`C^2g7Bs^687;jBeFR}8?cfI#rFHR7^slVenmL+j2Ams}4)7W-b1j4NMh zgM^|;sjtax25Dblc)J}TK=dkuoKT6--{-aS=j>d#5m5BCsV-wb&134H#OTc!9{^){ z`{NI-Ivn7yHt>JxU*<(vBW@R@TI7P-{zg7}K}T!Xuzxw}9iB4H#)w)x{7rhEpzI*X z5}ScDaU4MuWxxus_>g*19N#|6friVTlea;|p1whxR)C;rO~{fgl9TqJUX1X7l5((u zEU6n+(ar$c@d}F4F}wt*+yc;ZJ@@lSOi||a5d}@NL(LfLq(p3`O-!e%4?s1bWpFQmod3LsX*`i3QnzLs=zu+XaOF%g6>+S@A>B4p|CcOzu+A-NU{-#X9)Ne&Fq z0S%e_I_!F94~nkb@qP2+<{FYJfT65DZ;5m=UYb7b`(E6|%J-o#S7Pj3h}JA=>yXr8 zH#%(PK`_0vuzWp1=G8oE%ji8EF5#8B-{YtPF0xLHrt)#U(PoUC;-e)s3;_{Z#h@8z zz)u7-pGH?b^d78UerLLOHSg&?anLOPp)~A1@zOx|848 z8xU<)nXpvv9UX|3&#=IQZgv(Hg!mOvf!d)O$9ouo)0Y4~L7r7=$}SZG3Q`O7UrG(& z01~lA8N?n|pthknV`(Qv9W1o2C`G52S@n{xw>A)uT{MH>hbGfm7OFND{27VYIe70eM`C1?pUUcTz-&=n>1tnsE znXL_AsTACKd2`a>)H+*#Q^_q*^zB;moaW{_zWObniY*kb4WRO{N2*o=b|jZthRf!D zGz!uI;X?C0eq#j}i6@`JQCyqVcpg0~Ub`936!SqxXb~+srGOBBk|3wAG90n(NrEJw z!6{PglBA>Qrez-<|mxFzQa33gw`&k1zuI8=&wQyX!K)bqFK*Du5!B;b5KXJ^1sHONMSyPx`$o#C;Z4HJzwRb1mo@@zUPz4D`8w z`mGdNE=*(QIQBS{EK4OvLEX3ocL2Vl^roS~EC*(AMo zu7M74gL;*>7d7k5Ft2T)}^(w3u)NtQ|QbXCK#Yk2&Ff%GP~J&g3+8XpSrJFY*^ zNuUJ=)D+xV+J!iyVvnctV1Jc`D;URJ1=Dc~PeGUNtwFhUv&t+UgTuq{AW5<~qJFDB zn4d+1o_etu9S_hh1Wxos7SX-d8eSGh97q}=AFL&pP*G?l(a+b20~?|_qGS$;z2I=# zxEaRpak8&zW}VW0JC{wJ{>~gUj>Qs<8wY(nl_4puOCdX&t^z+tSfHW+{z(QvzW|Pe zdGetAQHHrf!z_XpaYZigd;Z?>C4oBylVz4DW|R95PoIY1q67YGPZ#vl8M^vq6Xg zc@lsgYw@TuF}k~%x(HU)XE)*yULlDe3j#dPPz4Xnj}pdPDIyw^T*p}tcnm5^=;Z&% z)D`qL3rSE8rtz=-Pu*bR0{Fh6lB0yIlYwr2Pr3=e}K#r2*vn&R`Mi2Fe-@B2YdW??INU z(W|azmCXd7Z=6tOD$!lLAZM;UY-a3%+8I3@>p}`j6Rh6`XBzHk-+T)5^q>Mr(^-VaTSFbIn#1iWxJ;!I<}!uZlmB6VBzdC$4?+K{!Bbe6!fK~DEEjSJ* zB#(9x$%YxKJ30FQM~zFU#V(e;9fCE+nkvHx7{tuvMyn}DM@tABP6({jBp?Q)&#@vGf?JQgkJ#+tHF<_g8 zIE}a)py)B0NPkce3sR4Q1&Y&&EMD~Ff1(lGr25nW@_sS44-UTf7-%;+0@dSIrl4L2 z!3g({X|!`?z$q!a1>toT7~Bs!tgZua-B(HUOa&Fi#Ltcm-vA8fy}+ZG=>YEEsEf&;+%gsuHmixeh?Z-?1IKx#5){VF8(Y*w;0!d3aKYo7C=OnFd~}5TYe+&x z1cV4OW*9-k!;;Lu*jt2xJNwyh{%nBhZH=pm<|Izhuf+g(g#ZBlV)HkGP^&U}zdFFq zMJd7vccdyex!vZFh+rL8OB{UI=GWM8VY7;)C_v#^9>fS%j%gtc%cL*Yu}h6&k*M{t zt0QM+zj8Mlv=g-nP&;w@t2-g7`{i~rQm+9di68i;L&;!!of}yrnNNlfsCgZ`T@&;> zm^;nZ;~Q)^KtDjAwl*$s&GPBOd~P?Sf`K+*39gf@`5R-Rz_WjV`ovC#5D3Mgpo$gs zkLgM`T)vmp_?}Jue<;5pG&hc{8^xiMZef;5Yj0Ta1^96Q6E4V5EHto ze?O;-g4zF{2=3ST?hU{d3lhFukX`xq@!XMLPHS_9TM72~JIXjX=1XI?QDtdhc~EyS zR|E%eH#(reHhJlkMc?yi6BJ?tiU|DrvHnl475gQ(Zy_Xp6?zDYkE1<75fm`Pn13AP z7VySM-Ux4tZhx-^n4*3F2fzR2lWULT!9FoSDN=-I$v)yHCUv{-i5x?hde;(K zXN?iec^VPH3I2V)cBJw#ID-HcrH&gL8yf8DuCQHHKdwW+s!7)27` zXdti3L4Kxg6TS_6IrsnNpIm_VxYBGC78=suw>G@8pwM}+(kCQ7IGp3x{fjW}X24u5=1QBnjXCv0kJi2x|D4WqLE5yhMJAq( zICBJz0tlX=zNeBK#uT6E>_tJ+lxVY(76zAP8dSH>L=3;SMU_?gp^&MylC_@%s%*I~-yjU`{YH&JK)_8lvi=cnHXAj}$ zg*HL1j+r2Qh0TULhKfo~jvgNQvRBR_(%U7{Q;xIMq7C*6Vz6bM!ji`Oel zrA0&kWOK;krDGVM!UaEt;#$syU?@9RXr&Ak}F%K#A}bdPwVVUJ#|RvA~RE&&WA36PaC-@CVJQ%D2^d$0)R&XXc$Ok zNeaGF^w~!6?b*r$J;%YB%lltncmb z(Y(;v)3iP9QEBC4GK0K4fb3%ulxI_glKNgxbLp zr(m~=}Ym(zXc;S1Fxp1a;m6^+@J%2^m!e#&xO?RnSvakSIXW6jxvGdU)3g<{w^ zU=vmx^2}sDzWl+DHy>*{@BWs2{u9V>T_Qe#Lqo<+~bgTM+2WSsK zl+&{pWpUlb+{$48lw-*pa4AmwQMxQ$`V8-4^09M+f>v^O_2KQCBZNG+kNCXQe)L`E zmbRo;)mcf%8)+j%cX8(S6`e!qkDM5>&Zf>oGc8HHYFWras{8M_V|#y)%sf3n(0zrn zBkXSJ&pj#~dm80&drA7fUltK}v+mKtAb*kvnW*VIU);6fEMa#5Pj9iBH~ zIz$w{({qX$*=yBZ94-bI6oVjd9>Ujx)?8L@)peQ2CwP2t9_V;m%NhG*=0hQMJiltg z>6~S&K**B~QNpm3ck? z9nq1GxdZp;8MV{y`HOQICw~alp9+7XHhFgIU9U8dnI8?8eZ@H7TWWlm0>4Q?Qy_OX zJK!k#!s++QZiEzMx=p9xAa_V=Mz34GJhul|7II^>+|#%vrh@hsAP?_Yo;GXST<#CR zhnVI-aRR5y7`%e`@r4gTGEQ00)`k%2JNYo9OWvBPOy0(F2zJ4TkEiO=P&o&=12eov zuAL$QDxLdNTk9`$gReGrKp;NPKo9)6>1x|&pt9o3*bBgbJcL08CI)7IJ>^>bYU!p0 zFa7@M)vi7C&NJz0?2lt@O-)f_>qzVlDFJ5p8FuMYI1_$*`_mywAhT{T=zf7iGGZk5 zX6ILlxc1CC8~e@xtSEr|8Ju=GeA=e3c~KhD@R=gc^}c0aN247;otWFEO@Tr%hv(R( zUS$TKB@`Sj;LnXLm`?UBQZYDC=(tWW`j;9xBZ9yE63gG+xxN%Vxf=$ zj14C5iT>yJ1LEC4piTSOTOrpSb>%(wwEYp%`yQtSft-%lMcg*Z5{0j^5{_~A&8^JUv=;KCjAit0lga^Lnumc8`0@;9`Ka035G*K7nROSp zcXSdru-f(%9fsJ6(vO*03t&sAychtCeNYtj=Gao-1aKehwa*!ug4pkSAP^{)|NjNp zpn$_T&;0&5((3ZmyL-1;WD`4=7SA`~;Gb1GHuhgl#UW=!=@%*#FFyjR7p-P^__xkd zvTGXBc23?E(v?YcOfw1zbN)H%=MG$2nPvDkr^#3;h@BXnQdXF;Yk?;bX%Ga2cz7}p zT*3oI)&49V=HTu1cV}a7(_L;u#wXloOb_I%^COPFVU>t>OX;|ek*?o>;hY?%B&mJX z1|KD+jR61W$*qi#uQCSTXgB8F{aC$UpzCwv;@amFXW%b?yrL|4REG$aiLu~>821l* zcpogAqnc3PtB1fRm2Fk4%@yE;Wz|PIO=wz&gJsddPJ&Oa0&Dqh=o9YG6pcv>nx419 zn-@Hm)e7}*Ruok`JNqkdJ7arasAlkV(5*i^PPB7pXD$!I--*8c(YG=+@;&`sDE5fB zOVgA~ecAF$0fn+k+@$gtTpG?XiFb54yUjS>(Z=gbvCW^6wlU^EmAZ_rys(+RYH*f8 zc^^JlyjRFe`WjrVN-jNbWajX%x7zS4ftlBMHib@J7PX7g#Z7k{*Yu0S)ydt@!i%=N zcI>4&R4C@py{3lsZ`XPEORI00l3v6e%hIS^%}r_QboVK$hqdD&&f1okiSt^R&b8i~ zr4&4=Z7$wBgkj=slKGVgv_eC5?wKkt&?AIu=xPl&-zEPq`GM;;v{>K}1 z?yCTr*nHOV4Z;Jwe4#>4pbG$kw}WW6#B`N)bZ%mF-R)KcuR2bg9DVoTy6F?hMNx6? zL=&EOh9ADw25{^FFkOZVzN*YS;6yqi)eVpm>3RC{-6yXn1nm=S6=nxj08CBOi^&Z_Kc*g)oF?|MWQ9a^uSlgWW>%<1m zY%GET!)EU{d9PRbwIyr-%HXR}y!589OqyG;{fi7+U literal 0 HcmV?d00001 diff --git a/public/logo192.png b/public/logo192.png new file mode 100644 index 0000000000000000000000000000000000000000..5974c601f92fecc461e0a8efc02de80c036db07b GIT binary patch literal 5448 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 { + throw err; +}); + +// Ensure environment variables are read. +require('../config/env'); + +const path = require('path'); +const chalk = require('react-dev-utils/chalk'); +const fs = require('fs-extra'); +const bfj = require('bfj'); +const webpack = require('webpack'); +const configFactory = require('../config/webpack.config'); +const paths = require('../config/paths'); +const checkRequiredFiles = require('react-dev-utils/checkRequiredFiles'); +const formatWebpackMessages = require('react-dev-utils/formatWebpackMessages'); +const printHostingInstructions = require('react-dev-utils/printHostingInstructions'); +const FileSizeReporter = require('react-dev-utils/FileSizeReporter'); +const printBuildError = require('react-dev-utils/printBuildError'); + +const measureFileSizesBeforeBuild = + FileSizeReporter.measureFileSizesBeforeBuild; +const printFileSizesAfterBuild = FileSizeReporter.printFileSizesAfterBuild; +const useYarn = fs.existsSync(paths.yarnLockFile); + +// These sizes are pretty large. We'll warn for bundles exceeding them. +const WARN_AFTER_BUNDLE_GZIP_SIZE = 512 * 1024; +const WARN_AFTER_CHUNK_GZIP_SIZE = 1024 * 1024; + +const isInteractive = process.stdout.isTTY; + +// Warn and crash if required files are missing +if (!checkRequiredFiles([paths.appHtml, paths.appIndexJs])) { + process.exit(1); +} + +const argv = process.argv.slice(2); +const writeStatsJson = argv.indexOf('--stats') !== -1; + +// Generate configuration +const config = configFactory('production'); + +// We require that you explicitly set browsers and do not fall back to +// browserslist defaults. +const { checkBrowsers } = require('react-dev-utils/browsersHelper'); +checkBrowsers(paths.appPath, isInteractive) + .then(() => { + // First, read the current file sizes in build directory. + // This lets us display how much they changed later. + return measureFileSizesBeforeBuild(paths.appBuild); + }) + .then(previousFileSizes => { + // Remove all content but keep the directory so that + // if you're in it, you don't end up in Trash + fs.emptyDirSync(paths.appBuild); + // Merge with the public folder + copyPublicFolder(); + // Start the webpack build + return build(previousFileSizes); + }) + .then( + ({ stats, previousFileSizes, warnings }) => { + if (warnings.length) { + console.log(chalk.yellow('Compiled with warnings.\n')); + console.log(warnings.join('\n\n')); + console.log( + '\nSearch for the ' + + chalk.underline(chalk.yellow('keywords')) + + ' to learn more about each warning.' + ); + console.log( + 'To ignore, add ' + + chalk.cyan('// eslint-disable-next-line') + + ' to the line before.\n' + ); + } else { + console.log(chalk.green('Compiled successfully.\n')); + } + + console.log('File sizes after gzip:\n'); + printFileSizesAfterBuild( + stats, + previousFileSizes, + paths.appBuild, + WARN_AFTER_BUNDLE_GZIP_SIZE, + WARN_AFTER_CHUNK_GZIP_SIZE + ); + console.log(); + + const appPackage = require(paths.appPackageJson); + const publicUrl = paths.publicUrlOrPath; + const publicPath = config.output.publicPath; + const buildFolder = path.relative(process.cwd(), paths.appBuild); + printHostingInstructions( + appPackage, + publicUrl, + publicPath, + buildFolder, + useYarn + ); + }, + err => { + const tscCompileOnError = process.env.TSC_COMPILE_ON_ERROR === 'true'; + if (tscCompileOnError) { + console.log( + chalk.yellow( + 'Compiled with the following type errors (you may want to check these before deploying your app):\n' + ) + ); + printBuildError(err); + } else { + console.log(chalk.red('Failed to compile.\n')); + printBuildError(err); + process.exit(1); + } + } + ) + .catch(err => { + if (err && err.message) { + console.log(err.message); + } + process.exit(1); + }); + +// Create the production build and print the deployment instructions. +function build(previousFileSizes) { + console.log('Creating an optimized production build...'); + + const compiler = webpack(config); + return new Promise((resolve, reject) => { + compiler.run((err, stats) => { + let messages; + if (err) { + if (!err.message) { + return reject(err); + } + + let errMessage = err.message; + + // Add additional information for postcss errors + if (Object.prototype.hasOwnProperty.call(err, 'postcssNode')) { + errMessage += + '\nCompileError: Begins at CSS selector ' + + err['postcssNode'].selector; + } + + messages = formatWebpackMessages({ + errors: [errMessage], + warnings: [], + }); + } else { + messages = formatWebpackMessages( + stats.toJson({ all: false, warnings: true, errors: true }) + ); + } + if (messages.errors.length) { + // Only keep the first error. Others are often indicative + // of the same problem, but confuse the reader with noise. + if (messages.errors.length > 1) { + messages.errors.length = 1; + } + return reject(new Error(messages.errors.join('\n\n'))); + } + if ( + process.env.CI && + (typeof process.env.CI !== 'string' || + process.env.CI.toLowerCase() !== 'false') && + messages.warnings.length + ) { + // Ignore sourcemap warnings in CI builds. See #8227 for more info. + const filteredWarnings = messages.warnings.filter( + w => !/Failed to parse source map/.test(w) + ); + if (filteredWarnings.length) { + console.log( + chalk.yellow( + '\nTreating warnings as errors because process.env.CI = true.\n' + + 'Most CI servers set it automatically.\n' + ) + ); + return reject(new Error(filteredWarnings.join('\n\n'))); + } + } + + const resolveArgs = { + stats, + previousFileSizes, + warnings: messages.warnings, + }; + + if (writeStatsJson) { + return bfj + .write(paths.appBuild + '/bundle-stats.json', stats.toJson()) + .then(() => resolve(resolveArgs)) + .catch(error => reject(new Error(error))); + } + + return resolve(resolveArgs); + }); + }); +} + +function copyPublicFolder() { + fs.copySync(paths.appPublic, paths.appBuild, { + dereference: true, + filter: file => file !== paths.appHtml, + }); +} diff --git a/scripts/start.js b/scripts/start.js new file mode 100644 index 0000000..4104798 --- /dev/null +++ b/scripts/start.js @@ -0,0 +1,154 @@ +'use strict'; + +// Do this as the first thing so that any code reading it knows the right env. +process.env.BABEL_ENV = 'development'; +process.env.NODE_ENV = 'development'; + +// Makes the script crash on unhandled rejections instead of silently +// ignoring them. In the future, promise rejections that are not handled will +// terminate the Node.js process with a non-zero exit code. +process.on('unhandledRejection', err => { + throw err; +}); + +// Ensure environment variables are read. +require('../config/env'); + +const fs = require('fs'); +const chalk = require('react-dev-utils/chalk'); +const webpack = require('webpack'); +const WebpackDevServer = require('webpack-dev-server'); +const clearConsole = require('react-dev-utils/clearConsole'); +const checkRequiredFiles = require('react-dev-utils/checkRequiredFiles'); +const { + choosePort, + createCompiler, + prepareProxy, + prepareUrls, +} = require('react-dev-utils/WebpackDevServerUtils'); +const openBrowser = require('react-dev-utils/openBrowser'); +const semver = require('semver'); +const paths = require('../config/paths'); +const configFactory = require('../config/webpack.config'); +const createDevServerConfig = require('../config/webpackDevServer.config'); +const getClientEnvironment = require('../config/env'); +const react = require(require.resolve('react', { paths: [paths.appPath] })); + +const env = getClientEnvironment(paths.publicUrlOrPath.slice(0, -1)); +const useYarn = fs.existsSync(paths.yarnLockFile); +const isInteractive = process.stdout.isTTY; + +// Warn and crash if required files are missing +if (!checkRequiredFiles([paths.appHtml, paths.appIndexJs])) { + process.exit(1); +} + +// Tools like Cloud9 rely on this. +const DEFAULT_PORT = parseInt(process.env.PORT, 10) || 3000; +const HOST = process.env.HOST || '0.0.0.0'; + +if (process.env.HOST) { + console.log( + chalk.cyan( + `Attempting to bind to HOST environment variable: ${chalk.yellow( + chalk.bold(process.env.HOST) + )}` + ) + ); + console.log( + `If this was unintentional, check that you haven't mistakenly set it in your shell.` + ); + console.log( + `Learn more here: ${chalk.yellow('https://cra.link/advanced-config')}` + ); + console.log(); +} + +// We require that you explicitly set browsers and do not fall back to +// browserslist defaults. +const { checkBrowsers } = require('react-dev-utils/browsersHelper'); +checkBrowsers(paths.appPath, isInteractive) + .then(() => { + // We attempt to use the default port but if it is busy, we offer the user to + // run on a different port. `choosePort()` Promise resolves to the next free port. + return choosePort(HOST, DEFAULT_PORT); + }) + .then(port => { + if (port == null) { + // We have not found a port. + return; + } + + const config = configFactory('development'); + const protocol = process.env.HTTPS === 'true' ? 'https' : 'http'; + const appName = require(paths.appPackageJson).name; + + const useTypeScript = fs.existsSync(paths.appTsConfig); + const urls = prepareUrls( + protocol, + HOST, + port, + paths.publicUrlOrPath.slice(0, -1) + ); + // Create a webpack compiler that is configured with custom messages. + const compiler = createCompiler({ + appName, + config, + urls, + useYarn, + useTypeScript, + webpack, + }); + // Load proxy config + const proxySetting = require(paths.appPackageJson).proxy; + const proxyConfig = prepareProxy( + proxySetting, + paths.appPublic, + paths.publicUrlOrPath + ); + // Serve webpack assets generated by the compiler over a web server. + const serverConfig = { + ...createDevServerConfig(proxyConfig, urls.lanUrlForConfig), + host: HOST, + port, + }; + const devServer = new WebpackDevServer(serverConfig, compiler); + // Launch WebpackDevServer. + devServer.startCallback(() => { + if (isInteractive) { + clearConsole(); + } + + if (env.raw.FAST_REFRESH && semver.lt(react.version, '16.10.0')) { + console.log( + chalk.yellow( + `Fast Refresh requires React 16.10 or higher. You are using React ${react.version}.` + ) + ); + } + + console.log(chalk.cyan('Starting the development server...\n')); + openBrowser(urls.localUrlForBrowser); + }); + + ['SIGINT', 'SIGTERM'].forEach(function (sig) { + process.on(sig, function () { + devServer.close(); + process.exit(); + }); + }); + + if (process.env.CI !== 'true') { + // Gracefully exit when stdin ends + process.stdin.on('end', function () { + devServer.close(); + process.exit(); + }); + } + }) + .catch(err => { + if (err && err.message) { + console.log(err.message); + } + process.exit(1); + }); diff --git a/scripts/test.js b/scripts/test.js new file mode 100644 index 0000000..a38c855 --- /dev/null +++ b/scripts/test.js @@ -0,0 +1,52 @@ +'use strict'; + +// Do this as the first thing so that any code reading it knows the right env. +process.env.BABEL_ENV = 'test'; +process.env.NODE_ENV = 'test'; +process.env.PUBLIC_URL = ''; + +// Makes the script crash on unhandled rejections instead of silently +// ignoring them. In the future, promise rejections that are not handled will +// terminate the Node.js process with a non-zero exit code. +process.on('unhandledRejection', err => { + throw err; +}); + +// Ensure environment variables are read. +require('../config/env'); + +const jest = require('jest'); +const execSync = require('child_process').execSync; +let argv = process.argv.slice(2); + +function isInGitRepository() { + try { + execSync('git rev-parse --is-inside-work-tree', { stdio: 'ignore' }); + return true; + } catch (e) { + return false; + } +} + +function isInMercurialRepository() { + try { + execSync('hg --cwd . root', { stdio: 'ignore' }); + return true; + } catch (e) { + return false; + } +} + +// Watch unless on CI or explicitly running all tests +if ( + !process.env.CI && + argv.indexOf('--watchAll') === -1 && + argv.indexOf('--watchAll=false') === -1 +) { + // https://github.com/facebook/create-react-app/issues/5210 + const hasSourceControl = isInGitRepository() || isInMercurialRepository(); + argv.push(hasSourceControl ? '--watch' : '--watchAll'); +} + + +jest.run(argv); diff --git a/src/App.tsx b/src/App.tsx new file mode 100644 index 0000000..4fdd363 --- /dev/null +++ b/src/App.tsx @@ -0,0 +1,14 @@ +import '~/assets/iconfont/iconfont.css'; +import { HashRouter } from 'react-router-dom'; +import LayoutRouter from '~/router/layout' + +function App() { + + return ( + + + + ); +} + +export default App; diff --git a/src/assets/NFT-black.png b/src/assets/NFT-black.png new file mode 100644 index 0000000000000000000000000000000000000000..93017494fca65113449f001346d3611dc34cfba8 GIT binary patch literal 2212 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 O0000{~=qBKsN= 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 literal 0 HcmV?d00001 diff --git a/src/assets/contract.png b/src/assets/contract.png new file mode 100644 index 0000000000000000000000000000000000000000..79ae7b435edf26ce5b523d8b49432b996bac1773 GIT binary patch literal 1082 zcmV-A1jYM_P)Px#1am@3R0s$N2z&@+hyVZsZF|q& z`?aU}*VEgxp0%F!eg5lzd<&8+!1*{9Yw>VZy{=D^?222kubGwL>7gWh;5i(Hudy3W zOLAFNJ=C{gJM4+QW)NaF4!}?)xf<8way*H}xF0*>*sA*NZ}em?hG!6DS3HF^l02K_ zqfRru4X;b`OOg|k)C_L?FG(^l$*LqT&%zE^kBxnEe#TtfhdYxj+*&X_nYD#yoAE2o z!(B;s+EyTc;!@m;lX3XA0-+t(^O}ntxGh0?FwtCXtI5!G7bH0z$4oM9GhV5xPy5y# zjpI>RSye0l7YHuK8Qlvfl1;b@xAl#kquE^HLHuu!rMP*LIl*^h#%|IKpO!{oRD<3y zZIG&3gEa%J`w2gd8D5VY@Y^67nK7xV&3K8yjCD6HM~szGd{+X-!dY{Qa-qjc4yLhoL9__9}wE*@lKEs?Odso#rl3bBwV^={*GAGFkNj^_9+>H$< zS(Ie)7Oq8IB-ID9pnK2K@yL_hk>uT;M&8nn=cI0M|4u`%^)hMq`~4QQF_8>uo#TQD zo-fqppIKO?x!Eb2@hrhSt^J%)NwR&C`C~N)v%0UnS4%_}YqjP3cy$IDhLfC%XS7uD zSdtUgObP;|?v!tw^$qmL2yT0OUoj7Nv!O#dreORMi(rj?i5BM4e~$hxkXe3Tj1Ft?T}R zSgR$k>By*misWClV_%KsU5%=$KIo3>A}oTx0QniNWA{4g(EtDd07*qoM6N<$g2w6z Ah5!Hn literal 0 HcmV?d00001 diff --git a/src/assets/copy.png b/src/assets/copy.png new file mode 100644 index 0000000000000000000000000000000000000000..a08f58a83a8da60f305651e23a9f88cca87022cf GIT binary patch literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc3?z4jzqJQa_5nU2u0Z-f1;BatuPmSuq9s9o z!3-CRdY|hqFX38Hb1c)4<$HgypQ~!Y!InOtf>ciz#}J9jXV0A!J)pqB5ZJjR``f?l z-UI_V9fjhDKc6;KMGI(@F!gZr&wbPoo)^LN*GcgTe~DWM4f Dsi%a# literal 0 HcmV?d00001 diff --git a/src/assets/error.png b/src/assets/error.png new file mode 100644 index 0000000000000000000000000000000000000000..3896b9065f5131b37667a19ad2d62117bbbb8c49 GIT binary patch literal 819 zcmeAS@N?(olHy`uVBq!ia0vp^HXzKw3=&b&bO2J*0(?STf%N~uhi+-fZ2`K>uq4PY znBfa&{K-G8KX~5gDLoXva&iBnIZe)DwV86O?2I3s>x?)Y?D78Ut_{fA+#Rvu5|C^sm{z zL|)^~qbsggcinxX?xk5?wl!}3oQJF%3Q`YCbT}Vp7N1lcxkL8%#M6J{KDmpRO?xQf z%DHJK^PVqzQh&cp2ySvd8ZlK-GC#c1KDYeS#y4gYcJ8PT+{v@;aYTJ@?2Vm!58sk! z-Cr=Jo}b~L(Wzz3mpV$jf@IPj=ghir`N-#a?l(k~g}-Rb6L8B8S zzxjyYTcNR#RcS_;ZfD!(<%zWh**kQ8M{@BteXTI`erl07lW|#s^SY|d?(eP&ocXp% zf8r{h<)YFp;p!<Dd}v>%|I8e}!>>#4O@Dj+-M(up zwA0q|d1|lXn3OwzYVNlSj2>pbtIFT6;G6&d=bp}syF|-(8y$Ge_o<<0u8NGRzs?>% fnNr@H->>91SKBf8ZYg00rZEOjS3j3^P6*du#&7-`}k&(hn|fnHTAyD=*B?{r>U6J!@Ako?em@>Su0vr#d6qxnfuM z!aktZubwWBAr_~%PIjMmSV6!=m4#zU@rI&lZ$Ezdn{O_YAQkqGRod>#@_UDWJ*y~v zlhIfv&u%nD>QLMX$=13{3tBc`+TJxOvRg^LIJbFK!}P`-5_@?)UPu=Qo%p!@-p2Gu z(^h$rpHGjRO?h`XG5PE?qvH8C3@`2))`v!9e{_9d+1*mku6HD1>l*hG)Bm}3N~ymY zdvhI`-HaFm7HoCdJ;!BHPULm|pU)JwJ)fWgz%&t;ucLK6TV7c8Fu literal 0 HcmV?d00001 diff --git a/src/assets/group.png b/src/assets/group.png new file mode 100644 index 0000000000000000000000000000000000000000..6e6c543b8d61a9c87188e750e16c1631a4991618 GIT binary patch literal 8612 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 literal 0 HcmV?d00001 diff --git a/src/assets/help-2.png b/src/assets/help-2.png new file mode 100644 index 0000000000000000000000000000000000000000..fbe2e82932b74aa2dc520ae959b590d569afeccf GIT binary patch literal 8144 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.svgfont {display: inline-block;width: 1em;height: 1em;fill: currentColor;vertical-align: -0.1em;font-size:16px;}")}catch(t){console&&console.log(t)}}i=function(){var t,e=document.createElement("div");e.innerHTML=o._iconfont_svg_string_4449044,(e=e.getElementsByTagName("svg")[0])&&(e.setAttribute("aria-hidden","true"),e.style.position="absolute",e.style.width=0,e.style.height=0,e.style.overflow="hidden",e=e,(t=document.body).firstChild?s(e,t.firstChild):t.appendChild(e))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(i,0):(n=function(){document.removeEventListener("DOMContentLoaded",n,!1),i()},document.addEventListener("DOMContentLoaded",n,!1)):document.attachEvent&&(c=i,a=o.document,l=!1,h(),a.onreadystatechange=function(){"complete"==a.readyState&&(a.onreadystatechange=null,d())})}function d(){l||(l=!0,c())}function h(){try{a.documentElement.doScroll("left")}catch(t){return void setTimeout(h,50)}d()}}(window); \ No newline at end of file diff --git a/src/assets/iconfont/iconfont.json b/src/assets/iconfont/iconfont.json new file mode 100644 index 0000000..c458258 --- /dev/null +++ b/src/assets/iconfont/iconfont.json @@ -0,0 +1,65 @@ +{ + "id": "4449044", + "name": "SoFil", + "font_family": "iconfont", + "css_prefix_text": "icon-", + "description": "", + "glyphs": [ + { + "icon_id": "4770734", + "name": "上箭头", + "font_class": "shangjiantou", + "unicode": "e63a", + "unicode_decimal": 58938 + }, + { + "icon_id": "11981529", + "name": "copy", + "font_class": "copy1", + "unicode": "e94c", + "unicode_decimal": 59724 + }, + { + "icon_id": "831601", + "name": "arrow", + "font_class": "arrow1", + "unicode": "e625", + "unicode_decimal": 58917 + }, + { + "icon_id": "20284804", + "name": "copy", + "font_class": "copy", + "unicode": "e7ad", + "unicode_decimal": 59309 + }, + { + "icon_id": "1496051", + "name": "back_light", + "font_class": "back_light", + "unicode": "e7e0", + "unicode_decimal": 59360 + }, + { + "icon_id": "5466007", + "name": "arrow", + "font_class": "arrow", + "unicode": "e70a", + "unicode_decimal": 59146 + }, + { + "icon_id": "4862242", + "name": "关闭", + "font_class": "guanbi", + "unicode": "e61c", + "unicode_decimal": 58908 + }, + { + "icon_id": "879161", + "name": "菜单", + "font_class": "ego-menu", + "unicode": "e605", + "unicode_decimal": 58885 + } + ] +} diff --git a/src/assets/iconfont/iconfont.ttf b/src/assets/iconfont/iconfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..2e3a7d6aab3fed07c3d684b5b2c47ba219795d0d GIT binary patch literal 2636 zcmd^B-EUK67=NB~PEU7E+1Ti5tNUQxx~+s^*B<9!bL>Kd#kd4zuqcqQuI;*EztVNU zRFV<(LNv++UMR+oC>JtGya0`fiDFFj!o-+JxG{tf(uJs(!VNq1_x7B+@saok__pu+ z{+{pmeV*r>mY9eyE#@trXIwD#oEEJzxyMq;I76} z5y2&L&mu$r_pz>;fP#|-^g|hy5>s?l8BdUy$Q+fs?TH*xdB~oka?7Zin4;g7&)ZWp z#PT(Jipt*{v**9h!6r)5NxH?&9N{E?VE2Ojv2>6OqOE>&D-W0f_L~F!VeaX4vub2L z8$EnLQe{5i+353FX9GI|)~EWH9>JBYvmPJh2Ls@FHdZ^Wa#>!Iducs+sf(z)slO-G z(W&~H4F97Y<^Xpzb#RlRhB~VB2tNh|naq$yU8dP3QOI0blE@DF=UxZdW|`HZ;I8C^>2 zy7e-@s{0^I>N>x#w;`P(&y{oX6?pQ-j2-Hxd^Jai}vQ zt*W%Kp+lx0PG=3BfHa_`*$Jt2FCYEKOMQZN+W9)Yuj_Y6_+S3&Rw~LZxNX!y-qOiu8jl zi5zuwqQL#4+lZ-Ph|zO)$DzH}U`7wxRWbZ>a%G#Zz1=7MB-S-}CA5ac7uq+s<7@pI6nl_w z**l_cpsRN00gF?J_o-OxK-pNr6Wrop8T?KME5Mr_?82Fy4#u-wN825~PQA3#!5(-l zh_|SsAwmzm;$X(x`ZEVh)IeW5SO)(`2P?o=9PA=LEjw5Rf5pK%O>n(~J=DXA9mQ0< zlu8Dt7J{>hd~Q0QE7kTrsq}m%UaXO|eIiwyo6YBfu}HMW8cpR=#hRPBBWbf#nhs7E z^V#4o_)BFn`Cy@#Kb%UGA~U5@VW_W9#1Z^RBA=xlRHPKesf0C2L7Jikth1D$JmqM* zx|Z&v_dq*M^OS*Q@jmIj))UY!(j4@J&mhGpg1-UxYK=lGSJk}tG;?$W(M+7NgcAiZ zi|~{M+U1-tg_C4}gD9Yo9fqF-v?KVr6;=frqCR|T_o?Yes`t#=|5ij_iFf^jhQ<=h ztS}xYc5@wTtkb%=nRqUJcs8CZ<>y_Ad|@G`#*4-L(U>9#eJY-K;Sm1A%#>VJwwj)g S=cZ=sQtA97*;H;GasC1I1Dap} literal 0 HcmV?d00001 diff --git a/src/assets/iconfont/iconfont.woff b/src/assets/iconfont/iconfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..d625415e9bde2b6daa31ab5ee59b054f777e0593 GIT binary patch literal 1704 zcmY*ZeKgxy8vZ2_DUAq%w!Z3(<{UQi$6H1I|QR*Y2hfPen zoe(ivEg7oOX3&;Q%65Epb=%1tA2o#15~r;MNb`sICP42UK{iY_ zBMs6@Aua|0xN&o_H;r{RI|<5dAVdQI!dr=n?o3W(BmjT`5AwM|pty*^h-65Fv_^K&e_ipjK=8xg`Y!b#^qe zDv20B1C)^zBr=GErL^oqqhzhB6$a=1q*|@c;lt=8;x$4%960j~t>j5(MGs7Rh-m-X zgh7uYobT!OMN$E4$$l3(=zG1kCRVV7!|b}*&nlEI87$jh0!-=D>#<_1?!x@}7EWWH zUrXL#r#`70(s5~cUBhD2n+Cv1mJ%Dwr1b7|6Fppw+RKO)wBlbo z%EmwP3T+NF`um-fQwsgd4bh&8TxPft=FUgS7x5NR7R}p6&w-jYJQ^jqB<;<5XR{l) zna(fTYhrm#GmGLluCz^9iQLnML&q%j0_>WT%F2gPP19a53x0;>=YG2SCEn0z9HE## zo}|<7j2x%_Na{%&=)=;9DT!xw=5>0S=7*5ZOo@}~hGbS-$2>&57=q4vmT-lIIT}_J;XKlz zdFfvLd3mqig>^IF+-1Y@eJ?PM`&@;Tk5O$aCwDCTJ$%)s>u;{pm4%;O+fC<12H4G| z{^g2F(0{k*#0OUeU{gOQynT93oBHd#7E^IBX8zG(f^ZU*_t>rnN$|Bi4al+y7bTx0 z#b3MLcBscsEUB)(>zrc99WPW)+J1h%OY)<$OxO$X+E zLS58KL1^gym^Wa$Bp|SRd7Tosy(4-XRV#|DrCj7KL*#LbIfEf~&2HmGvbcoYU#TM5-6dH&LN9#RPj_)Fv_pgiT^3d-ZzC+!8 z8PGNy<4)Ij1y=|yX12^HXOz*iNBj_nJI6*-CsY#Keqd3-=f8dM%5AjA>29TKhx&Tj zm9=jaA$e9Ubplyh&013$!kuTqxx@SkBfI#hxj2hq+WsEfqBX4Tj?~3<`+PXrQG#0E zGA!RP-cMX^DXvb=o>J@NKWFTFE{{xp)>psCt5}V<2zf2{eoBdxL}V5Y9osP<@tj$m z^I*=)THaUXZ<5{gVx;kL)eo3c3a;Bi`*YEpZ?ZWWtn(;lO8pomwl9nw&|&_ExvUT0 zE+Q$V(J335A#-hga=Y|mH#m1FcIW+P-PvCRSL}^jIF`wE^7k#AB@@TBa%uP{_1?#R@~pRLMoZHp4c;@O8{>dHsD zKwWi>-}YS3-(^b literal 0 HcmV?d00001 diff --git a/src/assets/iconfont/iconfont.woff2 b/src/assets/iconfont/iconfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..7a8458669fa4c341c7b5d35647dd1ec6d1723d58 GIT binary patch literal 1268 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 literal 0 HcmV?d00001 diff --git a/src/assets/loading/loading-1.png b/src/assets/loading/loading-1.png new file mode 100644 index 0000000000000000000000000000000000000000..a1247468a6d1b2dc1268bfa36e2737fb86c5796f GIT binary patch literal 1342 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 literal 0 HcmV?d00001 diff --git a/src/assets/loading/loading-3.png b/src/assets/loading/loading-3.png new file mode 100644 index 0000000000000000000000000000000000000000..e474191e21f3e7e364760cb62d8c13b03f69cc16 GIT binary patch literal 3429 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 oh!QZ(U_y-BIvvIbrw7Qi1Kk_$}SX=AF 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 GIr_g|OaOxb literal 0 HcmV?d00001 diff --git a/src/assets/loading/loading-6.png b/src/assets/loading/loading-6.png new file mode 100644 index 0000000000000000000000000000000000000000..89c39112bd07204192cd776431e6c60c29fe2077 GIT binary patch literal 4472 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 Oa^t$8R;h-4#Qy;VD6Z-N literal 0 HcmV?d00001 diff --git a/src/assets/logo.png b/src/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..d06718c53bf406869ab11a972a2a91cb480fa1d0 GIT binary patch literal 2660 zcmYjS3pi9;8{Tu-6XT4IOyp7=NrstIh>&s(g=yTzr8sgVjk{cuFs9s+OG)TBl1sxW zA(EogpbJ7W%nmi4Z;Y~xZm0(AO||F1yWkOp`@;h0=qa50Kl0ff=&py^ndPg`vh>m(hx;%kY za0Om~_CHM#P!M-51&Cs@Avr4P8dvq=+jUvktprkV{fS(Jrrp8pPeEx#p-Z@*9XV3LbyVleHr@JYr9cC;T#(s+f2%vLuy5Vy<1{CNY_5A$MymXR2<7= zN+=uG={+rg4py6v4yk+tTAE_OQPHlnXn?YhItw@x1 zBq+*$OaNvi9d3bD@|f^@2ZTsDXQN&oO3np@kh~K>FaR0U1r7j69)!RhD1!n)QJ@6S zD@|)M8JzOja0jv@B+BXtLJKiMVXMt&eeu4Ub1O@H9!@COE3;7o=8q5O9J4;Kaar{3 zL6x_ox#lm5a#%5uaG@~5YSYTHNF)-@&vi97l_mX7wKO)=+O4Uy4a^D!{F#xF_ru*? zwan6tR7Ol>#3^69{d!6=c-+eJ8bSEa=gA4q`+@$x-u7or4fS=kl@-N>h1at$rv(T4 z)2L1qT}_Q`Yx+z7e&Nkd0&;)<>z>w@HEvy5XKUwlh1RqfOi{ zFS{b(a%ZR6y)T+sH3ipmGcTqx=rK_~lp|z2N?P6k1Ys->S(rMV8J>IN9M1OI^8BBu zYD(QDZLh7G+Ij&=8G#MK4UIpHqilGpVbcGwp#GG3!npsd(ebF-!ehi$_JJjLN`;d~ z&fzkL3a3@(pfc~Tpv?}Kj5d6bb|vomqxj6_nts;4x~&Q|#6LJO1jqU}`&nP|1}llC z*uQi4T0$wWP*wpJ)1wwL^;7!<)6FhKBJ_ zX3G0+_v46sWYs&uU#D3Jec3F6YkKMaWL8PE+a&TWzWh}}YH)|j3kFAozjL}M(lES| zr4owBXLLuT&v_S_l@sYIv2jKqo0mjB3yO2T+0h$bh_ z=rQ-VaAX;Ti@|an_j?ZYN#`Gz2}7_dt)GlGPgCz^Z85PTr4%U58No{*@za0DRk|cc zSYk#l8PrHI=}HWYk4%GKc@OT`Y^a~^Hd}t0sW0O7qMkqVls@XpU-PxUjqz#Fg2Wm9 z5{HN;>b( zH}4OHu=t{T&ZaU;uv{_`vDZ&l*^sYbM@}ab}G$}_0v16d{O_X|@&cF$z)=XPO(O3(L zSgm?4jNEqPslR?u2F9=Fih&r6F0|#KIi6)UPAW8|JHeXD;x?tyDfYn?oeRU+f_kJ; zzTzfI>*QXO=*~o$=nEjG92Z`=8kNb`XXe4A0P)5;+M5>Bi>{4lxKt&2GL_4hXC3bX@Vo8HT7W@R6`YVr^wIniZ%Qtq0=-BdaYw_YS4Md zw3r~~a0urWg;&??JuX>RLm!3;o@GecnLhHG(ke20duq4ZRH+2gR|axNo*X)G(fJD8 zD2uYYES;Eyxhrvgl$?eGkEpUnA53vTCv zKei$SlIN+aokJVLHO-yQ&6nVI1c91m!j-~gY&(5SZ5BxroPM{b18y!= zMksz#4o2|q`EvA)J7B5OBJcFV{V_6vY$Pg?VK$W5t{WU2;*v$U;f&iMp{zpM**1Nb zW!&hTQVdge6Z3D}`0eb1EnoIuk!03!`6XquCO7CylV?vMekx(0U`)>kPUDUn<(W0I zb`3SX`bChkC9JB>Ex~1I;ey(QDRYKnw#(mj5^cy>u?$hFRDFKoc7B@bGhQ;R5a!-b ze=>d~=;_DZu_w%u2Bgjcm>OT*j{WSk-B1L*a8iCau>WBYfUz kqb~N}kG)3D%<7`_lidF1N6!;h!H*O=bdYRu*UXFYANwU6UH||9 literal 0 HcmV?d00001 diff --git a/src/assets/max-logo.png b/src/assets/max-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..a8aa9b3d53120f8903b2ed8b6bcfaceeab29ce22 GIT binary patch literal 6548 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 IWKI45593fS^Z)<= literal 0 HcmV?d00001 diff --git a/src/assets/menu/conditions.png b/src/assets/menu/conditions.png new file mode 100644 index 0000000000000000000000000000000000000000..ac62f713be65b7d126b1f470ab49113dbb7e6f31 GIT binary patch literal 2004 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 literal 0 HcmV?d00001 diff --git a/src/assets/menu/menu-3.png b/src/assets/menu/menu-3.png new file mode 100644 index 0000000000000000000000000000000000000000..ebf0726c1941957b0ad510ee35ff5626fd703478 GIT binary patch literal 4497 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 LNkvXXu0mjfLYtRH literal 0 HcmV?d00001 diff --git a/src/assets/menu/menu-bg-1.png b/src/assets/menu/menu-bg-1.png new file mode 100644 index 0000000000000000000000000000000000000000..10be911554a890671ae565a04e9522455502c99f GIT binary patch literal 20278 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 LNkvXXu0mjfLYtRH literal 0 HcmV?d00001 diff --git a/src/assets/menu/menu-bg-2.png b/src/assets/menu/menu-bg-2.png new file mode 100644 index 0000000000000000000000000000000000000000..da2c5952962d26bc5578f5185aad216375cbd08a GIT binary patch literal 16821 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 literal 0 HcmV?d00001 diff --git a/src/assets/menu/menu-bg-3.png b/src/assets/menu/menu-bg-3.png new file mode 100644 index 0000000000000000000000000000000000000000..a5aa6a72ea49bedc4495674595dc83dd997f21ba GIT binary patch literal 4241 zcmds4XHXMdm!=b1Kp`D z93nPfVC!faKs5{` zA+qZKA)+9s3WFN3X-f9SA?)5pkLs+de_uHH+3I%klfzddDnF8hxc+nIYpFy3c=%1^I3OkkJDJi7 zQ;dSK(t+{TyBePLs3>n;w9{haSm%w&NuLy zelq>OxM6v4Deq3FQ_xsW{>cfYAIA1SE-B3}OYIJGBdYtAjv4F5;&YB|cGJV^H*IP0 z%TN80`mq&}i4Cv#e3qzVMg2JafN!qa{m3}qZ*P|U;qTXkQYR^`scjT13E{IVQ`=$H zqjmfi;|^MnRqC+1wlTnJ<6y~@QU9BF+*<+ww(C}=h8NSH$BVp;9t;Z>&FQ=BJ8|8? z&~d>Q97GRGAqUr4I|z3cDr4}>Zh^vgF4x*Sda;WPz*XxU8 zl;w^jORTw#id_f#GflT}vNO3%M+H0dk0lq-~Nzt=X zFE5sq5OF%19!=c<8arRKKRxwr)~aFe#z7aaP~zLx{Ni++ykNIErKk?id#8e$|4_ci zp31YhouseWQ%3EF$+*D>4$Znp-_!+sIqdjH^RAps?aQ&^{u06`Cyy`F1iGSi=+djQ z#fP}X%eFCmBI^=2W*WkGrxDpR#e<9rH@=Ow=)1gYC8Kcy+BN!I)nk592yt-Y5W~{} z$&=`+T`qf0WT){>bI1>=CcLQIlC;)9Kp2zVSL~gPtxW$+4U)wbcKg|u z;X`a~FTBIgnK>?4QmgaBedhtnw)2uvFTBQH9PZBC_uz?Z+m+WS#qNgk#D%sw)eT|w ztU0?i_0Tg{xJ9~$q=QS5Ox2-J&voxZR0ai6;+&SZC1C5Hj}t3Tvf$-dkZGWh3x=Hn zfFFtIhPtFIC3LQ*=}v=Z9`TT%fdv$6W;U5Q=LIV$A(b?a09k36iNAlYy{W*<3zj`* zUTc)Tc8yP7G3t<9+K>CHvZqw+(oLS}OU|#{u9ZP)f7mg{&0k#vYiBHVpS~h@o2e=u z9AB)vapC}i`JQ#+8D@C=6XZ}}^;-a}V&>)&^CT`@haPH17q3VZ4Nepw_EHzNx6JRO zyXH;kwZ~ZsFm0J6`u1+m)P;g6ah5794UxLV^d|PUF}>F_wiIFDu7S9YQ8E)Py88Jt z+7kUuA53cKpihhfX+k@2UAMy%FIt zd9WH-1Rstc{r?;IMfeQDO7gQ~SKxF!UUVOVDwbSV@>VK&~j0D6V!H-(N z;4qU+L?(j27Erq^4^{xn_OPF!RCF5qB1!*eNX+agIin^WA2WVn$soEWIdxK>&J3cTCa1pBXGP7;wPbG@gng^e-hvp#!h90=f$f9nr0z4P zW1ha&6eHq{q_(h@CQ3@b>l+IUdn1oU3)jB-eeo>=Bx!P1X*F`@lTtM)-Jh^&hi zcUW(lCnyTDrn|UO!7*dlP?&C@k_dR4&-3>6)W(MA50;j()03UFopI6B8JY=tTPZav z4(5r$K41Cas4fDoDb-s>K+1z( ztXHP@=L^isDxHPPV_asoW=Hr}@4!NLCN$%Qvdxz+g)rX}UF(HLI|LeI`* zOy#wJ@`j)7FQjH?Ko{G)>s^c2v;)_#ANF?$eRo=hfIR z(`lPt5S>}AlyVf;9{d&0}SE@H--e>vwC1l^U3+zdj6ftNCqPek}m z^j|MK)0zZ6eB1iE_(ifj;Q5(s9)0CE3K>_7GIW8QM;qWc!l9bSiMvh&fBfMa$~q%p z$8{q7{4&zqEGi(cp2YekYPUyHO+x<;_cWrZW- zu^TVN_)Yuc#_FC~9ay&*U{p$?x2zapP4_I(FYYc4n1n8-uUl2zyS+e5;}&9uV3Jh^ z?H1i`n&e>SF$}IIO$hwpE?H;Qm@>N`OgQKn-erVgk&3IFbWVLp_z(JvCB4-%U;`e>y%7_*~P&&FGyZqp9xO2QhYTilyOw zKS}vUKSB0>gC-O1^``_b zu)(@-+O6(2$D`;PgS)D6Z-IP{qX{v@`F(*>cnx=&xtA5s>c^85~&p=D2ih z{5UlpC?Zv%^^8kVOB4!%1U~XaLfa;^`KjwDUm?BF$t@lBrL^M2J~gVA*K@vV>a2ug z5VC`wUPyNDv>pffN?!fzDT_$Kk-~DdZL|oAu8!0J+ga2L!INENr27Nnl%j`V{zsKA zTT#;|{5vW6L_J|B&)$-Gnny-lHMy;1ah zXt$w=%ZuQ?U}bw((bb)-SyfTLH|Zctl^3>j5)0+gm_AHj!gr&$y6^Y2>j#K*%e=;W z1d*DY^FP|TSdnQ36QAqjE|8vNLJ2|b$_Upsnm#6%RjM_=LU{YeaXd{c^E&O4Z`65c z=#gVlU$cUmL{@`cD`{xd>^ob}anL>M@<%hSWi$^YTjS`ls9u@?;CjVTWJ4Zi6dX=v znCaL@msbW7tID+I<5<*=rgit{Qld2_a)zLC#teHO_ zHWtR4b1{4f24h~nYGAI-*wX*M@WRr5!yf<0e}e&7;CJqWrA6QX==c6VNzgWsg$Mrw z{|yBHgX(w9D-!sM_;<_yEq=dbFsA&A$QMfs!2)S`poI8GGlM4?M;oDmZDgpI@^5Kb z1hAa=2dpN6P2@jzerpKZ2I@(F@ZSxA+dveSmV^fQQ-3x_3SLK_0aY#NmKM94#3K)R4g99iV{(tpZRp31l>8;(-m2jsc*43ba6jp6>wf$lxYO z|3LX$<2QglKmj*E=sO58n9+ovQai}dQv!nrjNb;@$sj{v2@%|a=nRn+BoIXa+9}{T z4eF(WgH(uNd65Q&Vb| z0Gg&k)kN?E1!5>HA_89l`Wy`$p+YTW=%-0KeTE7VAo^c8pqL005NJcxpVnq+Kr;3`OW-=Z0#mf0Am ze8=0=$PC8H1K)2G&rY+_K!Cz~xvmM65h6^qsNZ4_a5`8>ri931CtWVci=w=4DH4;S z&z?Rm-q#iDX?B?CWM`{)g>MfTKRuo9F2et{z3ok6*nP*7BSS#}ce>h&(LM$jkFIwW z{-de^^T78j;QhX#9_3sGsQ;S?fvV`Xu1 zes*?tW^815XrQ~Rv#qJIF~P@m?F$C8{CQzvc4lU3e5AYULt}kSb!8DUA+Uzj$Je6_Vvd#0<{*`lhF?_hZQTGhzmhmsyXB9 zFLa;W+fr>LEkHN1u=rs$V7NoYcncrvIjBkvA>)EVx0<_|PW(4uu-%z`cwtIuqYjUM z__JH*FBjUp9#Qd-k{d%>-&XAx<~DzibWT6?nElPR0-KPYx@Vr~AkTLeb>vHowW8>y za%2Z*5C3%T@gOFEODjERiaA{4*3y!EunaPPP4vSJZG4hLN)o= zJrnhgtmt`4*=u;0N5H}dkUE~49!mOf?$fn{GMHN@LbyI%8nV=PARLT2eL-J7sIKek z5=W}QW4>W~c*aZiy$&-9r85_!cSi^gS!0x3xQvY=;Nn_mr4fF!+Y0Zs?Tk`Kp7f2% z3w3=`(%sV|W{13%Y?6Kgru)%SsPk%-llc|b`pm79=%{6+ZP3+<^F}Fc)o1&@-G(`f zUw?m03e9HIDvx&S&H6Jfueqs0U`WTe~qxFgsoxNAkUsyge@4lThZjDZ>MHQ~! zEi{jP4U;P`M;()`;FV5c5{Zo8Rjw81KCUUmh4|o-g_F|m)UH60&yoBU!ZR?1onME? zH_ber*zOiKk(E1oJykR*3vWRgTbtYTjhRx-mB}l^Po%BeN*{SM#b}H=}W-U2wYi(S=nf4K1R%3y23c|g@t&T zwh@x!oX@5tUUIY5DV|!BCZHJSV&d&Rln)?cJI~+jww&F!_tBAP(dj*?v};CkU+zvw?9Vcjj$16sm^s+4 z|M69-r1M(Sh|I+Y{x1CSEFb-KcWKfAY^Ii14)22#Y)-;om5d`#INz6fbFZwo({pWo zUwx721&Ts?!NjQ73YQRvP?=1Iau(aJ8h(d+uZxrg1e_CEDIqipes=Kwe7z$f;p9zK zN>FzI4FeaH7cI!mim%7O*I5w(p4O(#GQvs<9QSmPp*S zSL^x57X?Sq7ER9ScWNWyJl2Y*R*T9=m2kJ>VtT>TcuC^9_wqk}tZvv=z{Os@Vv#p@ z<6)L*FBrF*6D;Uo@pix4gvzP1vzhy@QzDkFaB_!Y z%oc~EQc|v+kEJv^hfh?_+~@8^C;O6M!J~yR$+WHP*AK%xIF32f3E5ck3(~^1`ZJH? zuGc`{Vn(Y6LcWD%_3LQZaoPooC!hldRj-Yx6PzA3daMT(6r^vqDApAe71<9zHGT;| zSe8A;b%l;({XUKIW*2IZ!Bo7p{6pvqdeSPX4DbeD|KMD)7z_Q7#2rdWE-@=I3Z-2r zoC~$Nx>xII{LHhVnu>D*|6_Y zAI*0$*vc|_&t`?4()RL)$iB=&x#v8V-;9%vwMKdMM`00mB(!Ci%aw6jM_?`wr`5uF zwSd*^ao5bvxwpan{qp%WqIpUs`w{#$Qq-H=+_CMFTTh^`UE3XY0Y2ou;R1O{yC8gF zv{hwy6nDJk+ohf=box^2l@$LV@T^UN#Wi@r=Tls5TRYu;_}r##p6;|2{QJDs)cGB=(U zHiqHq+{4wLDF%uQXFF zQfhl%^Xe7i$g*T%C;QnR=K-r*>Mgjj$0_r64IY>rG^(L%W!UiPp^bK{y4!qBtvoM# z4844GoKo?n4*tBr`Gm%eFSN?$D6br2Z^#>puvdb=Z8fxl`D?WIy}=FY2@arXeWc~mS% zyA2<8;nfVk2X$&nyW><^w$^j$;ui@4hIbGHOS|t-h1J>5u3pxF@rJ#q@#Q=AezcoI zXmwSkp_%Z$_r|cUk?cKhd@qas!;9I~ktRG-Rjc*}6AHXxdzl&y?z<~b`IReWHD83?0ualp;g zC^ucjH11ld6%qd4UConhx1=gmG^LK8Lng|7g`XkkW~gbD=v3|7g=D$QzF`@T%4epC zx^pbTv-|l*)L|NMc!bH>obF*wHJk6sO}xqR@87`Um`$~u50+1?UoTM?4ls3#3QGaZ zY{jjOpXr$;tBvbDGm$9d{ovjvVJMzIZ_~>h9F~#Mv9gC5VoFkooqDu3Efo|uoibRk ztl1ts%E8&j5*g`IU{fqus(6CVR{@|@76ru?J_WxIEq?4Kvc#fPXUa-WIboe_EV5fK v8P0(fV-ogwW}Fykdl?oM@$bNeV#ItqH4vL?_CbtGGE7(7NUQSFt%&~to>WOl literal 0 HcmV?d00001 diff --git a/src/assets/menu/privacy-policy.png b/src/assets/menu/privacy-policy.png new file mode 100644 index 0000000000000000000000000000000000000000..c025dd23f788f1f93eb2598288cbe29b894bacea GIT binary patch literal 3789 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 B{(%4h literal 0 HcmV?d00001 diff --git a/src/assets/menu/referral.png b/src/assets/menu/referral.png new file mode 100644 index 0000000000000000000000000000000000000000..31f6a8862bb87593fbc1f4f2ac80f6dd01c86167 GIT binary patch literal 6127 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 BnBf2b literal 0 HcmV?d00001 diff --git a/src/assets/menu/telegram.png b/src/assets/menu/telegram.png new file mode 100644 index 0000000000000000000000000000000000000000..440df8552c694612e48258c4cc485f67a25bb09e GIT binary patch literal 2779 zcmV<13MBQ3P)Px#1am@3R0s$N2z&@+hyVZzg-Jv~RCt`_oNa7d)fvZsC(c|YT2Qnwq(+JsmaZX@ zf|5EEh}25iDk4=_N|g++S%+9DUg$u40R#del?pVpMj%2;N!n7aG^vq8s~Bafl+k=L zZ6Rx*Qo3|uctQ#aG!V_mn>~5YK3qHX%e{WTc2a(yl5@^|&bfb|bDne0o1#RB$VR{h z+zB)SKLKii9|5-jKZqp#FYqs58Tbnf~^M@fHtMncY2Yj`nUspe?ee_B*$P}Vt3+nw^?I3{ zoW$$(5(!OuxtN5*VWy_0aJgK}&SpNr;q&=&&GLYVxMII5$`ca&k~QoQmY0`t zxm=t%bB5*R<*c8#SS-0_y$Ma5)6sxL;hxIXvYE`z&T{J1DW<2V35QdEN?NT}cJADX z-EPO}bjGD`XlTf%7*C-moM_X^Tk^47NP@xOYG?o1XP>1_zj5P691aJ&cI~37s*1U} zxg?P{ZOW@LZ4r?UrIZ)qYuvtktQHEN&xhOX#^dqe_xsbP-?nWVJv}{a-yXjrc;!m+ zpueT1CEw!hLz}$SgcFesz^;6)=1Mpm#_RRsa=Gw&y=l`|RaMd5-A!+Aui@|_(GgfI zmVBEkz%CJaR4EmV*0`So)%jY@mX(#2)#kXkxR^Hm=FOXNI2`QUxsweWHl$3OSmPQR z8qz+K0o7<){W&V!{rOtVhPk;p+-^6Mlap!3UKWdm9Xoc=*VmVEQwxW~EG#Udww7(% zw#CIQEG#7bAUS?+>Cp*LE+V%9O@*?W$kNgh9=y6 zJ9m!3!NFCpn@%*79Yd5m$^rcnWI!Mg;N_QJW^!^eZQAPU>ec30TU(np{rvnqhYlTL zW@ctJES+dzx?_k^Uk+@{_32DRYiequx3@Q=u@`6`@LEd}sJ%)#e>FVmjYR&wZK|Z4CIR=wz8^B^Y;4{N=dwV#^+EvBNOVVzJQL+6rhjXV0EJt3vpEKKAU{lh)Z3(J=sgT&9%z8c43^1*WmF z(XhETH#bvRS;^GY6i%lzX{PwAufF1uM;_5_j!<;RFsGFII=VmZ1G938#i+U3Y&MP_ zJ<8KhKTRMI&`qFKmy7c_^_-`~&F z)Kpx!UjJsIV|X8K2zMU%)~uYO7&TYD{;Q^@2B*`Rv|tkog?RSaXXB={^qR0qP4!ze ztu*13QX#-?Mox*O^RA#xO&vdeoc{iPhKGl#sHljG4~N4%|NQfuI;CynOBBvT$KZ}= z6}JcYm>D@GlFGY+HlBOuop)AiW?NeuM~)n!rY3p5bzoqC!NI|#rfQ;NSk-7%IHlA@ z;3KngjMCWHh|Q+IBH7c^!_d%BQf+BzX<=k!L|44G-+nvEp_t?tK8k1rB=0&uWJZpO zyzs&caUxi)R-SzFNuGP|Im1Qh`ucjt#>O(5J~#Sd@+3~1xIMrkQU+WFHk*-iEPlVA zix)2v2n1+vZ_jAu3*h?o>pbzq6I{J|RX5&dv+1tx=gBpoNh$TeXn@}4X$LVo57#1r zK!C>{dn{>8*U-?wn{U3UyVoR7ex;Oh#ReE{*S`SVUFh5kNjMy4Vq$_TSFR8ahiPeP z!EU#ku`qK{DRoa`ppkGkG)Gain{d`B0^FsPN?J|QJ(3hjSQJOG#yO-X8l*l1R|)(T z?ZT+;imGOlQSzQqn zF`RzJas6>P8_{w`L|!b?^*zPlMbiaK5bq%o@t69o^T01659Rv)`Cfx|2XL14H%OjG z8>gila-<^XYtUeIoVNw|BieV}T1U{zx+Ndc3W|u>MC3wgTVF~ph&Fk#HW3krh|HH* zq*&%fn`2!2h)9`;JRl;MN+{T+NE!0#j!K4z+$|!*BJxcU#QG+Zm+6zR#k{iHigsl2 zeze1~g<6W5L)(_{K5#y|?rAn9o8c9a9|P^&xFo(F?UMK!w6hn{Iq)FbKILV!-J?Ek hToV6rWYbX5`9DeZNto2mbvyt7002ovPDHLkV1l9gZz%u( literal 0 HcmV?d00001 diff --git a/src/assets/menu/twitter.png b/src/assets/menu/twitter.png new file mode 100644 index 0000000000000000000000000000000000000000..67c20b544310a5460d33f35e2ade57941835a551 GIT binary patch literal 2768 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 U^QGB)wbbBawcCa+wK#g=|AX3&)&Kwi literal 0 HcmV?d00001 diff --git a/src/assets/modal.png b/src/assets/modal.png new file mode 100644 index 0000000000000000000000000000000000000000..e7045acd002f44029d342c31100c35efbf925df0 GIT binary patch literal 4009 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 literal 0 HcmV?d00001 diff --git a/src/assets/pledge-header.png b/src/assets/pledge-header.png new file mode 100644 index 0000000000000000000000000000000000000000..cc39d7412c6e2ddc4af149350340d1ca422c4ccb GIT binary patch literal 119114 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%0Dh29={`<|u&= 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

ZlY_8y>}+la!LK)u#DJ#x}ww~+)zMDg9R%2GS= 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%0AQSjibDGC8|M7aq|}v28o2 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≫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 Z{sI>;`Afo5%`N}{002ovPDHLkV1j5AGClwR literal 0 HcmV?d00001 diff --git a/src/assets/product-box.png b/src/assets/product-box.png new file mode 100644 index 0000000000000000000000000000000000000000..dd7f15523b2b7bd882ae48aa69b935220d8da9f7 GIT binary patch literal 231275 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

    E>u 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ĆYT5A6B_ylW0cGdkpa-O+{{*gr6 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 literal 0 HcmV?d00001 diff --git a/src/assets/recommend-box.png b/src/assets/recommend-box.png new file mode 100644 index 0000000000000000000000000000000000000000..4778fdf6b0c74b80e958aa07d749c9e4a137b98d GIT binary patch literal 61196 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

    Y$qVq(gY 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 literal 0 HcmV?d00001 diff --git a/src/assets/recommend.png b/src/assets/recommend.png new file mode 100644 index 0000000000000000000000000000000000000000..d07a0c61f778439022706706a5a9fe10bb4e2dae GIT binary patch literal 629 zcmeAS@N?(olHy`uVBq!ia0vp^av;pX3?zBp#Z3TGlLLH0T!HleK?W{btHuGHWmppA z7tHY4@!_tw=TohCPE=+Eub*UYAkDU5dS`76=grNw_pbKFdx$+-(Ic0LT$<(R3h41!G zzOh{Ik(2Ngy`qhWTN`FI-|-N!wmDJuDKJ>OT{do?-IfV^uYLAd)zy=>(bMXA-^O=u zJfusRE%OTZ^cofD@;(%Z5wkd9|5L5!`Bwq2>!wHVl|GwrVB2q#$ESWDnsqd{`>)Zu zM>nq?&-$g*H(}Dh?-zxi1nShtaMvz5zNqf(WmOKn^`5J^g|96;xhEua_VN#Wy;Hk1 z?|6P*5v1zR5&GdjtI+Pd8-66j{s|8}6x7kW(9q=I%!T^$_YztjZdXm>-|Q5V#MHxc q#xU#MvDIle&WZAbF-M#IVcZ=p*75wv_f5cvV(@hJb6Mw<&;$UxTx;zB literal 0 HcmV?d00001 diff --git a/src/assets/referees-box.png b/src/assets/referees-box.png new file mode 100644 index 0000000000000000000000000000000000000000..33f59c12fd40cf3bb2ed1e6a62327688d30080fb GIT binary patch literal 38743 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 OfEVQu;#hpZFX8_oQ>?%M literal 0 HcmV?d00001 diff --git a/src/assets/scroll-1.png b/src/assets/scroll-1.png new file mode 100644 index 0000000000000000000000000000000000000000..2897fa41bbfb43a6baeaab7bf64aa73877b770ed GIT binary patch literal 6472 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 B5%d56 literal 0 HcmV?d00001 diff --git a/src/assets/scroll-2.png b/src/assets/scroll-2.png new file mode 100644 index 0000000000000000000000000000000000000000..d8bc7b879110dcd8fb91411fdeb9cea611eabe0d GIT binary patch literal 6808 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 kxmg+1)6Qs;BLmn@}(@OxN=Si#Om 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 D(k|EI literal 0 HcmV?d00001 diff --git a/src/assets/share-1.png b/src/assets/share-1.png new file mode 100644 index 0000000000000000000000000000000000000000..45ef84347d19eb46648e0f2f4cea60ff5ac8545c GIT binary patch literal 1639 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 literal 0 HcmV?d00001 diff --git a/src/assets/share-3.png b/src/assets/share-3.png new file mode 100644 index 0000000000000000000000000000000000000000..1cba3fe0b65230cac14ea740d37ece09f04ca9ec GIT binary patch literal 1004 zcmeAS@N?(olHy`uVBq!ia0vp^bs)^a3?#4q4c!H#rUm$fxB}__gAW`~J-PzuGQ*M} zzhH(>6aU&==gW!aoFNrp|MQsOYq5=0TC(?drkg3fyF5RHE!o>i?R;kw_tS%`zb$ny zG+dRyvxtF#>58X|V@Srmx3??%XE{h5|9J2?Gt16=OP3FE{m=jI-#P1An2biI`OKNQ zbKlSZx9Mlf<~35O9=p{nb7dUT8aG>pdSAL7XFIFm4D;s|?{@#Pa?g93&9(h`gG}?z zyVsn#Ez?_dYn$%O{_`o9n>FPoe_fx`Ecj~^I4j&`;?PmB@k-gPI+ z!S_w&3AfT6>fgiOo$Y6ssLtQ65;JlB&Q~luKHa>ky7tYfho|OCf4a1Zp>I!Q*7`rI zN-RG8>R=YDe8*4w-0eyF|H z-1*9`bZ=LKcK?GnL9xo;mp!a_9bnae{ddihYo)a_MTNQQXPZZ_Rnf0Jx%t^%%c;}1 zrdx>Zzq|QFSMvGpwI}}Q@VEJ;`oxv(U-<3Qak;r=p*uY;-`0(l`1g}x{^R2s2U6}6 zpMJOb87uN^Pg$q2@WnHGwme>LS-j6~)(_jwFMj5%$!WFa5XelJ{9|PY->3hW*}!J*y->uQaugK65|EGw#!*>3g220=?}GV*U}R zzqsO6_`g>{zf+AYrXRMs>$milY}}7UQg^IBzj*(HzqM;u`RO~>03h2g=EKNivI$p98gY-f9No0!{Y`ee&=Vq zE-YT~>$)XJb^cz)Cn7o5mP`&i)^}*%nNHr`FVC)Z?w2*pd99wjUAK<;Y}W6L9Rdr} QfSH5A)78&qol`;+0936*EC2ui literal 0 HcmV?d00001 diff --git a/src/assets/share.png b/src/assets/share.png new file mode 100644 index 0000000000000000000000000000000000000000..c5fa85787abf332ffee7b9f4557af8ea18a080d1 GIT binary patch literal 3867 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 literal 0 HcmV?d00001 diff --git a/src/assets/stake-watermark.png b/src/assets/stake-watermark.png new file mode 100644 index 0000000000000000000000000000000000000000..03315867659a59c06a1af5c8d0ceadde19399ae2 GIT binary patch literal 2173 zcmYLKc{mhWA09Jf48|_G$aYJJ>_beUERE)4XmBMX29Z6AGK8{brVwK3KUa;1Y_y3FU-|KJhujJoRU~Rr5<1a7x z=(*qL!#S;o+9wW&)(x~WzY1WV=2q=8|3c&wfv#;XjR^fY*DKCCb9!RXW&157IXJ+O zOh-h<*qBI_c(iF{+P}%su?qc}>XV0@twrkq033!$BSVb)_-fkV-ChG>W6KjMmh1HI z)7XOp#?x#aSuoIqaSh=&?i?HBwsyX%opkWCw5d@w=d_PACvazz^vK`FytIZQ&v?C( zq4K~`G}j&!s@PROMQNPkDqkfvNZ(s%MwMF&K*y*2=#mxSa}UuA|D>HW;6K6e?V4Et zJ!!R^Afag2OaZbqSJp>5Ok{XURh%D}p{R+Gc4GyTl5H4eEBu8$!$u(@o_Fqo^~5bI zo9gjQN0TxY;R+;v(^%TuCVqEL_-$MG`jWdZwaM^pY348i&!CL!yoM^^&wqOH1hwC$ zM8k$GVVn7}>5{`(sbnG70raiBhDLP8Z4wY)?mCe;W)LX5`NxR=&y&PtyVUn#Tk{GD zkT>RGH}if%bD!%Ar5ETBO<%><9-~_iJ&_2@WGfS`r>m#JPCRYW-8RCHjW>If`F8Iz zR%(kRg?~5*ZfUn4~do4!-zOs}s)`Z%2JDt2$6Mf{)Kl>_^+_ z80Ze}ULCIaPWzPTL|mlTgcJ!;8NFTt3FEOCk51tz-Vk~3h54+wrY}#ef53;|320~u zc8HwshmO_BU{$n0=_3g99@rX$!>Z=~Kw9>!Ysy7_YWpG~y*j}cB(1yLDZ7?7wDBn; zWU+Il`{lERbD0?-1M0;vvD3?|(Ao`!6 z5^m6JZ|D(Sit{F?3>SRJl=CW~H=)FxP=P*`sM6`-xM%C4$lDbc?4PImbbgp;W_kkB z*Xhv$1BzFjM9xfoE6VP|{ncE|oOUxke}-NVzTPTjnqaM1o^~j#L@9~;V->4f> zjOzJ&R(~6%9p3qOHTDmnvA&1%byb@V)&uDo?E9$%JGn?~@lyJneojD0Go6uOC$9kq z*I_Q)p4It6`>3jPj~S&xHzL$+f$+S(rcvnZ<7jhNqmD zqw68yl+E5mg~xd=a51xX1UCkCqgeJ4f8EDSwadQ5y6PQ&Z+F47@kO(-6t%A>eXyex z7vhZObyB(S(|~_Q`kMW#jC0R*rZvb%8b(ZsC+}iLTD0ete-yUQ+2U%ge)i30SQ!*t zAUP^F+{!8pbx_jNdJs`|5p;09@tfl0^EPOSqey$kKBgbzHE?XN@K(~Ew)(1V7Xhrz zQzc{iCE)l)<%@;3WalEFiT|}zt&T-HHfzz#BwqBM_SH}j?PLV&Z_W4C@M>~FkZ2F$;pf(YC1})qy(EGCNKYtZFgmEY;SHi z4P1b3YsC2YOd3ONN4`IQ6)U$xTIEPjlYBwk!S+{T0EVhN9G|kQk z1%R>c$|b&|KFV7g#T<6!3lU@AuOi}Y)#Xg--D}lRqNmiEfvkq{zg!FuguFfxg8NS6 zRFDEp)>S52;#8&RYtqhR&Dc^~3EN7YzHOEH4{xKEBwC`o14BFAQ|z}@C&*cs0h zE1l4zGY=I`&}cDHX`}oF*}I!eL&Lf|??^XO77=@K%(c>qB>q`$HO|jSE&pPrGP%jH zCMOkF+NQtZ=S&h<^;0-nTVPCt#8Dr0+$)1dYbqHyc!1NCkhfo+;1cCQli^F>CEPo(ipPzREI zWj(h$E}tz0ektMdlClQG1RSGSxhv6t5@TGUnuD64anEaxX)F1!EU{Mtu7r>U?>9E% zi&@{fc2PB4DnX$g&CWMucv%a7t?j%S*SRN_pOfVmbwtxFa?wiIkZLf^L{-tKc;;h2-b_M iZs6V>e6Uwv52SL=5Lm1;9}d4{0Mgjph<5Qt+#b7 literal 0 HcmV?d00001 diff --git a/src/assets/warning.png b/src/assets/warning.png new file mode 100644 index 0000000000000000000000000000000000000000..73c29a535d5b7034144f2a5b1cfc900d3dce69aa GIT binary patch literal 2357 zcmX9^U5RBp@I$SqXT z4Yd{7Tz1Z>mKfEpHk9Q|#shAYzm~9}sba{&chF10Ln@D}{-Gl3)DQC)@!A zNB(N9qtM*}Kvq^(gvWfBZdZu#A;JT0%ddyT#PAiVR6a2#>+2GDIxD^}%BLq+#9~Q$ zf+XjnVwNktcS{r&C~d4;sxDnBEm$halUyc?OJ`9B=_7;~w-XsPI$LLgXvJ1kB)BYjxU zQGOW;e3Q*tf8PM5F$2|ajNd5s3tDT%XY!9F2xN*;o5Pu|e=9pW| z)IR#>6Ct8Rms@`ellG*jt7NoVd5>k%3Zh>7a=$e|3?wO!558!y^Q>=fh#en04O2C^ z^fat5jS#)R)pT7Jo0~zgeD#G6I8P}pd*N(f!T8C;XP%*yS-qa9- zs(`QvzWAR}S~jRAH4VwBRE{ORf*%AbdKCP+$f-{_5D}E3t+vU7D6*UUnW0rjT4ZNg zELtE=5*9ULsY+CG-1T}$<6>P0&;| zzANHT+uZ?;3SwJZTT=1B#KflMya&BF*cd(N=dO&P<~1hj2CGx?sW!URM_HHMKp)k0 z0YF+(wQ1e@-N#s2Sy}xa#l5|zbGTrd>d{bCy_{v;9VO8B#u`n9<}M^BZ`Gpc4Q>tS zK5BLG_m7&VYptK#^&Db_<8SV_umzpTFKD+N^?wy{kJK5wMyF-b;^bi0K%Nij_gEy}(uJgxJ1C}&8is5m&k+$m_$Dai`!r|};{M_hEpKx_2yk<+nxs*5WU0q!> zx7?16FM#3mKJOY%T+XR8$r}nw{0cOS80#&bnu@jJO-&s)*e;!}HqbO2ABUERghHrR z*_X}Rcy=~X#wKzc{zPza|69DtTXb?TmZYzb;dz-W8%IrfKYtvfm#ypZ00PV+N*o(* zIDC&p4^nld0sU6JXcbk5Rl}cBKW_1c>se$bI8t~FLgqBM+;&r*s;TxLC_=a^Pj_lHiA@$)&M@(~Y8 zvyRrtmAWc}Mv|?;r&!3K`_`})U-M8E6=f`jw|BGB^6$7d58i1#kN&LnHD1`r$VfE_ zA5k^ZPKadU4L~6eXJ(7h-Pw06`)e3aGmtXwQ}B0B=Jcrr_HG*+<+N9hj(Z?1H8or9 zFVlSq`64fRT4iM|o6g*^1At(#K(B7JlkpnG2Ags)il2-J@;Uu$={z2U5fe@(Z*mHlV8ij_t`ltV^v8Smp$Nuy zUSCgH^%}~dm{>D5-7Gft!fw}@aweKpl~PvIF`>)xTv)JSQmQ(;!MRpDbJ+60l4SWe zxqt?d6tHI;qZb#!p1KvyKWwvU-B(7>Xi509^+@>nbE=aq6MBZ4LA6siEOL8ERipZS zbiX&;3+sa_tgU*O-YM5WdHc3{b`y>N3fj*M_hFG$Q|{mg%W1Mj`r3VVw6YB#ZeH^y z0>jjtqk~s;3>ZHQa?X<6+YMwedL8L zR4JV)NbCvD)zhE{Z804FOv&m*jXox;+r4m@&B&-3R(&RyFMl8TB(ZUClzwXWYKsc8oq zzJ($>nB=okGVW!r4c2L4V`%AfM#dgAuybkpMgl|6f^*~u8rQCq%|FvN5$JrMRyO~m zP&okN%c?~@N9tt{EiM$!o`ognV@mc9;kF9h{OJXgu$osQeER%*eZ+sQk>Z z6SkrX>m9g!1sYEz$L8rbTf^;G^Mgp-@W4J+(-M)&_MFLh6Fn5iSkR6$2ehZYL9K{5 zb*E}TF=mbNfu;gNM-s%lVv}<2jtQ*z>4e1a*u@K+|e)FHkg~GiJ z*60({J;y?(XC-9t!|^$0?f7&MXjFa8IS45X3( literal 0 HcmV?d00001 diff --git a/src/assets/watermark.png b/src/assets/watermark.png new file mode 100644 index 0000000000000000000000000000000000000000..dcae765768e8f43c9f17a4205772f8a2a16b6b7f GIT binary patch literal 6745 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 literal 0 HcmV?d00001 diff --git a/src/assets/withdraw-watermark.png b/src/assets/withdraw-watermark.png new file mode 100644 index 0000000000000000000000000000000000000000..a4f4c2c5e793d96c3f6de77405f64fe1ebf5b73b GIT binary patch literal 2169 zcmXX|c{~(a6dswyU~GeikR?%BhQ^+qN}{ng7>w*oAxoAhk3@zZrfEX6tIU~9qI}0=8BzSQ!RZ<^U;ifK)iZDjX07uFSzejzML11`A;b zRM?mq>~Bzofin!oU>WWI=d1uF7^D3-|HJ;#Fa{pa`O|y6=ywTH<^&(FK9(^wjPkhg z|Lu@tv3h{+-;B$u1)7^$0KlwVW?Qgn8D!RiIBha+`P|vlf*8x@;x;Y5o`91Y4;r8U z)t{#{o|a-~te@n5G*VHwdnf!V)`7g0><<7y42%qPEj_-`Y$?HcNG?NOsKL7Mso5vS z*wmw6@^;V^SCzssu>*e1F)fUrQd-G7r1q@)A^w*t05ANt=6W*waE*^t>{O!|h7^Bj z)wzgNtFZ1obIJLrCqclah5N~~$R%A>M=||+tV35l7RX$_;FR5Bv`WY648D}pGvTV8 z6Z*Uxrtp$~KaxKKZi24k`i}KS@x)2q;Dqr>{>W9`fPb3C05E;kXAg5Qb5I^Untp}@ zpYma|s<6klB3wLFOW?r^975(1X>SVU_=79l{ zW#A@gMqHEd<$g~BHiAsJwIAB}V(tR*Gu=~MyVpu>L}HK6jPMqun37m@zf94Xe#tDD zu*j{T6`9rXps*qRgHF9==3A$WFi@bnYPM|^OaNDYMCg*dz032CuHqbIdhX3%ql%vfB@I@75D&)QP3n+=S~-WeMJ3)RcFQN|FcnOy(JsEU_Z)`ulY8DE zy2-?F43VbyWmKbez{H3)eQGtZA^!wzG_7H*4YH#MwM3LgCA?_MjGt_pZrki~=0$(1HHDCI$){fv?g3X^PX59tg}i*kwXVFmWCq@7vzYKxAd zewT9ztri{-nu1%M)c6^wA1XiUSzs|mZ3_ui;MW*~>B5uipGQv_@;bJPd%zcN#%<#< z&eh+7;tmA6HZQkew-aR`mBRbuj3GM7F7h zpEz_VM3b_u9Q9hK_oIkLGe)Aw_$@qaRr*xl0=qnEx#{}fkQItM^p zv~Ot(t~5x8;t{wN2Dj*3QJA*!|CA=sjZ7SFp;%Z$&S7bgH+hRCsy-vfM z4%xQuKTt{iTUOc(Y29LZaJD?dj3R@oQck+i{~o5d*EL&Jbm;Ctd zjP=Gr!dEBK^bFC-H|Ukt_=Gc#Km#flgwe^-^Q{Qd{#12xMCCf-V^VGHv@`DkB?rme zgp}ZTw8KpiR-f4{nSjDunoj#iILih>G{bOG`)>=k)|e0E*zZvxyK3VcINuSz{vDvi zrO8OYz4Bq|y0C{fs+X|!7G)8#mu07~b1v3apFOV1FYrQBy|bWwY7}4F=BbI`W;RIr z-;}3k=e~qjK$q;Ltl;JaCS7Ew-T_BhtHo+!iNz^5syP+&wAg&VR98l%XO*e$z2;X@ zk?(5`GUJQs^kIgt23P{Kk{x?Q`OHkvsxvB=3f;Ze&fNkDg#L)fOsnoDVaTv*^M&)Q z#MOY9f3Lco1;?U1g z@PW`4@GEy?JDBxpM9~Iz-gwe0|Da}BTkqdA}g5dfw1KrRX5`;R0=hE(DF$PTQ}TCEROoE_?(3 zq17A;OV;LJq8-%%cV_E=b&;|;(uTWsjx}-GEiPu*P=#2Tz0;L=>0{ryAo2StREcC( X^sVi%ZT_@-{Dm+wG&QKu!~OLio892T literal 0 HcmV?d00001 diff --git a/src/components/BackBar.tsx b/src/components/BackBar.tsx new file mode 100644 index 0000000..7f26124 --- /dev/null +++ b/src/components/BackBar.tsx @@ -0,0 +1,20 @@ +import { useRouter } from "~/hooks/useRouter"; + +interface BackBarProps { + title: string +} + +const BackBar = ({ title }: BackBarProps) => { + + const { push } = useRouter(); + + return ( +

    +
    push(-1)}>
    +
    {title}
    +
    +
    + ) +}; + +export default BackBar; \ No newline at end of file diff --git a/src/components/Button.tsx b/src/components/Button.tsx new file mode 100644 index 0000000..93969e3 --- /dev/null +++ b/src/components/Button.tsx @@ -0,0 +1,14 @@ +import { Button as VantButton, ButtonProps as VantButtonProps } from "react-vant" +import '~/styles/components.scss' + +interface ButtonProps extends VantButtonProps { + +} + +const Button = (props: ButtonProps) => { + return ( + {props.children} + ) +} + +export default Button \ No newline at end of file diff --git a/src/components/ConnectWalletButton.tsx b/src/components/ConnectWalletButton.tsx new file mode 100644 index 0000000..1f26c6a --- /dev/null +++ b/src/components/ConnectWalletButton.tsx @@ -0,0 +1,122 @@ +import '~/styles/components.scss' +import { useEffect, useRef, useState } from "react" +import { Button, Popover, PopoverInstance, Popup, Toast } from "react-vant" +import { observer } from 'mobx-react' +import useConnectWallet from '~/hooks/useConnectWallet' +import store from '~/store' +import { splitAddress } from '~/utils' +import { useRouter } from '~/hooks/useRouter' +import useCopyLink from '~/hooks/useCopy' +import { useTranslation } from 'react-i18next' + +interface ConnectWalletButtonProps { + class?: string +} + +const ConnectWalletButton = (props: ConnectWalletButtonProps) => { + + const { walletAddress, filBalance, contract } = store.state + const { push } = useRouter(); + const [loading, setLoading] = useState(false) + const { connect } = useConnectWallet(); + const [visible, setVisible] = useState(false) + const { copyVal } = useCopyLink() + + const [contractCount,setContractCount] = useState(0) + + const {t} = useTranslation() + + const connectWallet = async () => { + setLoading(true); + await connect(); + setLoading(false); + } + + const toPath = (path: string) => { + push(path) + setVisible(false) + } + + const logout = () => { + store.setAddress('') + setVisible(false) + Toast.success(t('Log out')) + } + + const getData = async () => { + const { Pledge__factory } = contract._contract + const _record = await Pledge__factory.getPledgeRecords(walletAddress); //質押記錄 + setContractCount(_record.length) + } + + useEffect(()=>{ + walletAddress && visible && getData() + },[walletAddress,visible]) + + return ( +
    + { + walletAddress ? ( + + ) : ( + + ) + } + + setVisible(false)} overlayStyle={{ background: 'rgba(0,0,0,0.4)' }} round style={{ background: '#2D2D2D' }}> +
    +
    {t('Wallet')}
    +
    +
    {splitAddress(walletAddress, 6)}
    +
    copyVal(walletAddress)}>
    +
    +
    +
    + +
    +
    +
    Filecoin(FIL)
    +
    {t('Balance')}:{filBalance}FIL
    +
    +
    +
    +
    + +
    +
    +
    {t('SOFIL Staking Contract')}
    +
    {t('Staking Amount')}:{contractCount}
    +
    +
    +
    +
    toPath('/myPledge')}> + +
    {t('My Staking')}
    +
    +
    +
    toPath('/invitation')}> + +
    {t('My Referral')}
    +
    +
    +
    {t('Log out')}
    +
    +
    +
    + ) +} + +export default observer(ConnectWalletButton) \ No newline at end of file diff --git a/src/components/Loading.tsx b/src/components/Loading.tsx new file mode 100644 index 0000000..86a9e99 --- /dev/null +++ b/src/components/Loading.tsx @@ -0,0 +1,17 @@ +import '~/styles/components.scss' + +const Loading = () => { + return ( +
    +
    + {/* { + Array.from({ length: 5 }).map((_, index) => ( + + )) + } */} +
    +
    + ) +} + +export default Loading \ No newline at end of file diff --git a/src/components/Modal.tsx b/src/components/Modal.tsx new file mode 100644 index 0000000..cd7eae6 --- /dev/null +++ b/src/components/Modal.tsx @@ -0,0 +1,64 @@ +import { Overlay } from 'react-vant'; +import '~/styles/components.scss' + +interface ModalProps { + buttonText?: string | JSX.Element; + title?: string; + children: JSX.Element; + buttonClick?: Function; + visible: boolean; + setVisible: Function; + hiddenCloseIcon?: boolean; + showCancelButton?: boolean; + showCancelButtonText?: string; + showCancelButtonClick?: Function; + showConfirmButton?: boolean; + confirmButtonClass?: string; + modalClass?: string; + backgroundColosed?: boolean; + width?: string; +} + +const Modal = (props: ModalProps) => { + + const { title, buttonClick, visible, setVisible, children, buttonText, hiddenCloseIcon, showCancelButton, showCancelButtonText, showCancelButtonClick, showConfirmButton, backgroundColosed, width, confirmButtonClass, modalClass } = props + + return ( + backgroundColosed && setVisible(false)} + > +
    +
    +
    +
    {title}
    +
    + { + !hiddenCloseIcon && ( + setVisible(false)} /> + ) + } +
    +
    + {children} + +
    + { + !showConfirmButton && ( +
    buttonClick && buttonClick()}>{buttonText}
    + ) + } + { + showCancelButton && +
    showCancelButtonClick && showCancelButtonClick()}>{showCancelButtonText || '關閉'}
    + } +
    + +
    +
    + ) +} + +export default Modal \ No newline at end of file diff --git a/src/components/ModalLoading.tsx b/src/components/ModalLoading.tsx new file mode 100644 index 0000000..28e8b52 --- /dev/null +++ b/src/components/ModalLoading.tsx @@ -0,0 +1,45 @@ +import '~/styles/components.scss' +import { useState } from "react" +import Modal from "./Modal" +import { copy } from '~/utils/copy' +import { Toast } from 'react-vant' +import { splitAddress } from '~/utils' + +interface ModalLoadingProps { + visible: boolean, + setVisible: Function, + loading: boolean, + status: number, // -1 正在處理, 1 成功 否則失敗, + hash: string +} + +const ModalLoading = (props: ModalLoadingProps) => { + + const { visible, setVisible, loading, status, hash } = props + + return ( + setVisible(false)} showConfirmButton={true}> +
    +
    + { + loading ? ( +
    +
    +
    + ) : ( + + ) + } +
    +
    { + status === -1 ? 'Your transaction is being processed' : status === 1 ? 'Transaction Success' : 'Transaction Failed' + }
    +
    Message ID: {splitAddress(hash, 6)} copy(hash, () => { + Toast.success("Copy Success") + })}>
    +
    +
    + ) +} + +export default ModalLoading; \ No newline at end of file diff --git a/src/components/Unlogin.tsx b/src/components/Unlogin.tsx new file mode 100644 index 0000000..54340af --- /dev/null +++ b/src/components/Unlogin.tsx @@ -0,0 +1,17 @@ +import { useTranslation } from 'react-i18next'; +import '~/styles/components.scss' +import ConnectWalletButton from "./ConnectWalletButton"; + +const UnLogin = () => { + const { t } = useTranslation() + return ( +
    +
    {t('Connect your wallet to view more details')}
    +
    + +
    +
    + ) +} + +export default UnLogin; \ No newline at end of file diff --git a/src/contract/api.ts b/src/contract/api.ts new file mode 100644 index 0000000..4c73af6 --- /dev/null +++ b/src/contract/api.ts @@ -0,0 +1,226 @@ +import { AddressLike, Typed } from "ethers"; +import store from "~/store"; +import { + InvitationUserRecordType, + InvitationWithdrawRecordType, + PledgeInfoType, + PledgeWithdrawRecordType, +} from "~/types/api.d"; +import { toFixed2 } from "~/utils"; +import { fromWei, toBigInt, toWei } from "~/utils/wei"; +const { _contract } = store.state.contract; + +const { Pledge__factory } = _contract; + +const eth_pledgeRecords = async (_owner: string) => { + const _recordPs = Pledge__factory.getPledgeRecords(_owner); //質押記錄 + const _wdRecordPs = Pledge__factory.getPledgeWithdrawRecord(_owner); //質押體現記錄 + const [_records, _wdRecords] = await Promise.all([_recordPs, _wdRecordPs]); + const result = { + records: [] as PledgeInfoType[], + withdrawRecordPs: [] as PledgeWithdrawRecordType[], + totalPledge: "0", + totalWithdraw: "0", + }; + + let totalPledge = toBigInt(0); + let totalWithdraw = toBigInt(0); + + result.records = _records.map((v) => { + totalPledge += v["pledgeAmount"]; + return handlePledgeData(v); + }); + + result.withdrawRecordPs = _wdRecords.map((v) => { + totalWithdraw += v["amount"]; + return { + amount: toFixed2(fromWei(v["amount"]), 4), + createTime: Number(v["createTime"].toString(10)), + tokenId: v["tokenId"].toString(10), + pledgeDay: v["pledgeDay"].toString(10), + _type: Number(v["_type"].toString(10)), + }; + }); + + result.totalPledge = toFixed2(fromWei(totalPledge), 2); + result.totalWithdraw = toFixed2(fromWei(totalWithdraw), 2); + + return result; +}; + +// 產品列表 +const eth_pledgeProducts = async () => { + const res = await tryCatch(Pledge__factory.getProductInfo); + if (res.data) { + const list = [] as object[]; + res.data.forEach((item: any, index: number) => { + list[index] = { + day: Number(item["day"].toString(10)), + rate: Number(item["rate"].toString(10)), + }; + }); + res.data = list; + } + return res; +}; + +// 獲取質押的信息 提取額度 已質押額度 持有合約數量 +const eth_pledgeInfo = async (owner: string) => { + try { + const _pledges = Pledge__factory.getOwnerAllPledgeInfo(owner); + const _withdrawAmount = Pledge__factory.getWithdrawbleAmount(owner); + const _currentTime = Pledge__factory.getCurrentTime(); + const _destoryRecord = Pledge__factory.getPledgeDestoryRecords(owner); + const [pledges, withdrawAmount, currentTime, destoryRecord] = + await Promise.all([ + _pledges, + _withdrawAmount, + _currentTime, + _destoryRecord, + ]); + + const result = { + pledgeInfos: pledges.map((v) => handlePledgeData(v)), + pledgeToast: "0", + withdrawAmount: "0", + expiredPledgeInfos: [] as PledgeInfoType[], + unExpiredPledgeInfos: [] as PledgeInfoType[], + currentTime: 0, + destoryRecord: destoryRecord.map((v) => handlePledgeData(v)), + }; + + result.currentTime = Number(currentTime.toString(10)); + result.withdrawAmount = toFixed2(fromWei(withdrawAmount), 2); + result.expiredPledgeInfos = result.pledgeInfos.filter( + (v) => v.endTime <= result.currentTime + ); + + result.unExpiredPledgeInfos = result.pledgeInfos.filter( + (v) => v.endTime > result.currentTime + ); + // 未到期的質押額度 + let _total = toBigInt(0); + result.unExpiredPledgeInfos.forEach((item) => { + _total += toWei(item["pledgeAmount"]); + }); + + result.pledgeToast = fromWei(_total); + + return result; + } catch (error) { + console.log(error); + } +}; + +// 獲取邀請的用戶列表,合約,提取,推薦用戶,未到期合約 +const eth_invitation = async (owner: string) => { + try { + const _user = Pledge__factory.getAllInvitationMember(owner); + const _contract = Pledge__factory.getOwnerInvitationPledges(owner); + const _rate = Pledge__factory.invitationRate(); + const _currentTime = Pledge__factory.getCurrentTime(); + const _withdrawAmount = Pledge__factory.getOwnerAllInvitationWithdrawAmout(owner); + // Pledge__factory.dayTime().then((res) => { + // console.log(res); + // }); + const _withdrawRecord = Pledge__factory.getInvitationWithdrawRecord(owner); + + const [user, contract, rate, currentTime, withdrawAmount, withdrawRecord] = + await Promise.all([ + _user, + _contract, + _rate, + _currentTime, + _withdrawAmount, + _withdrawRecord, + ]); + + const result = { + recommendAmount: 0, + unExpiredContract: 0, + withdrawAmount: "0.00", + contract: contract.map((v) => handlePledgeData(v)), + user: [] as InvitationUserRecordType[], + currentTime: Number(currentTime.toString(10)), + rate: Number(rate.toString(10)), + withdrawRecord: [] as InvitationWithdrawRecordType[], + }; + + result.withdrawRecord = withdrawRecord.map((v) => ({ + createTime: Number(v["createTime"].toString(10)), + amount: toFixed2(fromWei(v["amount"]), 4), + })); + + result.user = user.map((v) => ({ + key: v["key"], + contribute: fromWei(v["contribute"]), + bindTime: Number(v["bindTime"].toString(10)), + referrer: v["referrer"], + })); + + result.recommendAmount = result.user.length; + result.unExpiredContract = result.contract.filter( + (v) => v.endTime > result.currentTime + ).length; + result.withdrawAmount = toFixed2(fromWei(withdrawAmount), 4); + + return result; + } catch (error) { + console.error(error); + } +}; + +const eth_Detail = async (tokenId: number, _type: string) => { + try { + const _id = toBigInt(tokenId); + const _pledge = Pledge__factory.getDetails(_id, _type); + const _currentTime = Pledge__factory.getCurrentTime(); + const [pledge, currentTime] = await Promise.all([_pledge, _currentTime]); + + const result = { + currentTime: Number(currentTime.toString(10)), + data: handlePledgeData(pledge), + }; + return result; + } catch (error) { + console.error(error); + } +}; + +const handlePledgeData = (item: any) => { + const _obj = {} as PledgeInfoType; + _obj.endTime = Number(item["endTime"].toString(10)); + _obj.startTime = Number(item["startTime"].toString(10)); + _obj.pledgeAmount = fromWei(item["pledgeAmount"]); + _obj.pledgeDay = Number(item["pledgeDay"].toString(10)); + _obj.rate = Number(item["rate"].toString(10)); + _obj.sender = item["sender"]; + _obj.tokenId = Number(item["tokenId"].toString(10)); + _obj.withdrawTime = Number(item["withdrawTime"].toString(10)); + _obj.isBlack = item["isBlack"]; + return _obj; +}; + +async function tryCatch(_api: Function, ...args: any) { + let result = { + code: 0, + data: null as any, + msg: "", + }; + try { + const _result = await _api(...args); + result.data = _result; + } catch (error) { + result.code = 500; + result.msg = JSON.stringify(error); + } + return result; +} + +export { + eth_pledgeProducts, + eth_pledgeInfo, + eth_invitation, + eth_pledgeRecords, + eth_Detail, +}; diff --git a/src/contract/index.tsx b/src/contract/index.tsx new file mode 100644 index 0000000..84b68a9 --- /dev/null +++ b/src/contract/index.tsx @@ -0,0 +1,116 @@ +import { FIL__factory, NFT__factory, Pledge__factory, Pool__factory } from './typechain-types'; + +import { ethers } from 'ethers'; +import store from '~/store'; +import { ContractType } from '~/types/store'; +// 0x7a89c2D92Bf53160ab58d7889966741cA8Eb5855 +export const config = { + 56: { + chainId: 56, + rpc: "https://bsc-dataseed1.defibit.io", + address: { + FIL__factory: "0x0d8ce2a99bb6e3b7db580ed848240e4a0f9ae153", + NFT__factory: "0x5fd156B6B47Bb0B363fa3D4e2E31a8394Ee7A630", + Pool__factory: "0xC31cEb39961076d8fAD3936D88489972c02b4D83", + Pledge__factory: "0x2F3d8761c8214627743F84F9890A8eEeD914ddf1", + } + }, + 97: { + chainId: 97, + rpc: "https://bsc-testnet.blockpi.network/v1/rpc/public", + address: { + FIL__factory: "0xfa01Ef257b47578063741D3E4b60e16764FA6fa8", + NFT__factory: "0x1eF6AAc9B468d7B310675409EFE5f954dFe59dDF", + Pool__factory: "0xe861046E610B6f6A0E79eEf8Dd0aF5a42dC83293", + Pledge__factory: "0xD8553004442098415734A9EFE49e13E29919BfF9", + } + }, + 31337: { + chainId: 31337, + rpc: "http://127.0.0.1:8545", + address: { + FIL__factory: "0x5FbDB2315678afecb367f032d93F642f64180aa3", + NFT__factory: "0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512", + Pool__factory: "0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9", + Pledge__factory: "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707", + } + } +} as any +// 57.333333333333333332 +const contractObj = { + FIL__factory, + NFT__factory, + Pledge__factory, + Pool__factory +} as any +// 切换/添加网络 +const switchNetWork = () => { + (window as any).ethereum.request({ + method: 'wallet_switchEthereumChain', + params: [{ chainId: '0x38' }], + }).then((r: any) => { + // console.log(r); + }).catch((switchError: any) => { + if (switchError.code === 4902) { + (window as any).ethereum.request({ + method: 'wallet_addEthereumChain', + params: [ + { + chainId: '0x38', + chainName: 'Binance Smart Chain Mainnet', + rpcUrls: ['https://bsc-dataseed1.binance.org'] /* ... */, + }, + ], + }).then(() => { + (window as any).ethereum.request({ + method: 'wallet_switchEthereumChain', + params: [{ chainId: '0x38' }], + }) + }); + } + }); +}; + + + +export const initContract = async () => { + + let chainId = Number(process.env.REACT_APP_CHAINID); + let account = [] as string[]; + + let _contract: { [key: string]: any } = { + _contract: {}, + _provider: null + }; + + + if (window.ethereum) { + account = await window.ethereum.request({ + method: 'eth_accounts' + }); + chainId = ethers.toNumber(await window.ethereum.request({ + method: 'eth_chainId' + })) + } + + if(!config[chainId]){ + chainId = Number(process.env.REACT_APP_CHAINID) + }; + + const contractAddress = config[chainId]; + let _provider = null as any; + + if (account.length <= 0) { + _provider = new ethers.JsonRpcProvider(contractAddress.rpc) + } else { + _provider = await new ethers.BrowserProvider(window.ethereum).getSigner() + } + + _contract._provider = _provider; + + Object.keys(contractAddress.address).forEach((item) => { + _contract._contract[item] = contractObj[item].connect(contractAddress.address[item], _provider); + }) + store.setContract(_contract as ContractType); + +} \ No newline at end of file diff --git a/src/contract/typechain-types/common.ts b/src/contract/typechain-types/common.ts new file mode 100644 index 0000000..56b5f21 --- /dev/null +++ b/src/contract/typechain-types/common.ts @@ -0,0 +1,131 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + FunctionFragment, + Typed, + EventFragment, + ContractTransaction, + ContractTransactionResponse, + DeferredTopicFilter, + EventLog, + TransactionRequest, + LogDescription, +} from "ethers"; + +export interface TypedDeferredTopicFilter<_TCEvent extends TypedContractEvent> + extends DeferredTopicFilter {} + +export interface TypedContractEvent< + InputTuple extends Array = any, + OutputTuple extends Array = any, + OutputObject = any +> { + (...args: Partial): TypedDeferredTopicFilter< + TypedContractEvent + >; + name: string; + fragment: EventFragment; + getFragment(...args: Partial): EventFragment; +} + +type __TypechainAOutputTuple = T extends TypedContractEvent< + infer _U, + infer W +> + ? W + : never; +type __TypechainOutputObject = T extends TypedContractEvent< + infer _U, + infer _W, + infer V +> + ? V + : never; + +export interface TypedEventLog + extends Omit { + args: __TypechainAOutputTuple & __TypechainOutputObject; +} + +export interface TypedLogDescription + extends Omit { + args: __TypechainAOutputTuple & __TypechainOutputObject; +} + +export type TypedListener = ( + ...listenerArg: [ + ...__TypechainAOutputTuple, + TypedEventLog, + ...undefined[] + ] +) => void; + +export type MinEthersFactory = { + deploy(...a: ARGS[]): Promise; +}; + +export type GetContractTypeFromFactory = F extends MinEthersFactory< + infer C, + any +> + ? C + : never; +export type GetARGsTypeFromFactory = F extends MinEthersFactory + ? Parameters + : never; + +export type StateMutability = "nonpayable" | "payable" | "view"; + +export type BaseOverrides = Omit; +export type NonPayableOverrides = Omit< + BaseOverrides, + "value" | "blockTag" | "enableCcipRead" +>; +export type PayableOverrides = Omit< + BaseOverrides, + "blockTag" | "enableCcipRead" +>; +export type ViewOverrides = Omit; +export type Overrides = S extends "nonpayable" + ? NonPayableOverrides + : S extends "payable" + ? PayableOverrides + : ViewOverrides; + +export type PostfixOverrides
    , S extends StateMutability> = + | A + | [...A, Overrides]; +export type ContractMethodArgs< + A extends Array, + S extends StateMutability +> = PostfixOverrides<{ [I in keyof A]-?: A[I] | Typed }, S>; + +export type DefaultReturnType = R extends Array ? R[0] : R; + +// export interface ContractMethod = Array, R = any, D extends R | ContractTransactionResponse = R | ContractTransactionResponse> { +export interface TypedContractMethod< + A extends Array = Array, + R = any, + S extends StateMutability = "payable" +> { + (...args: ContractMethodArgs): S extends "view" + ? Promise> + : Promise; + + name: string; + + fragment: FunctionFragment; + + getFragment(...args: ContractMethodArgs): FunctionFragment; + + populateTransaction( + ...args: ContractMethodArgs + ): Promise; + staticCall( + ...args: ContractMethodArgs + ): Promise>; + send(...args: ContractMethodArgs): Promise; + estimateGas(...args: ContractMethodArgs): Promise; + staticCallResult(...args: ContractMethodArgs): Promise; +} diff --git a/src/contract/typechain-types/contracts/FIL.ts b/src/contract/typechain-types/contracts/FIL.ts new file mode 100644 index 0000000..1458fed --- /dev/null +++ b/src/contract/typechain-types/contracts/FIL.ts @@ -0,0 +1,286 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../common"; + +export interface FILInterface extends Interface { + getFunction( + nameOrSignature: + | "allowance" + | "approve" + | "balanceOf" + | "decimals" + | "name" + | "symbol" + | "totalSupply" + | "transfer" + | "transferFrom" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "Approval" | "Transfer"): EventFragment; + + encodeFunctionData( + functionFragment: "allowance", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData(functionFragment: "decimals", values?: undefined): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transfer", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + + decodeFunctionResult(functionFragment: "allowance", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "decimals", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "transfer", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; +} + +export namespace ApprovalEvent { + export type InputTuple = [ + owner: AddressLike, + spender: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [owner: string, spender: string, value: bigint]; + export interface OutputObject { + owner: string; + spender: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferEvent { + export type InputTuple = [ + from: AddressLike, + to: AddressLike, + value: BigNumberish + ]; + export type OutputTuple = [from: string, to: string, value: bigint]; + export interface OutputObject { + from: string; + to: string; + value: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface FIL extends BaseContract { + connect(runner?: ContractRunner | null): FIL; + waitForDeployment(): Promise; + + interface: FILInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + allowance: TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + + approve: TypedContractMethod< + [spender: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + balanceOf: TypedContractMethod<[account: AddressLike], [bigint], "view">; + + decimals: TypedContractMethod<[], [bigint], "view">; + + name: TypedContractMethod<[], [string], "view">; + + symbol: TypedContractMethod<[], [string], "view">; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transfer: TypedContractMethod< + [to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + transferFrom: TypedContractMethod< + [from: AddressLike, to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "allowance" + ): TypedContractMethod< + [owner: AddressLike, spender: AddressLike], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [spender: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[account: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "decimals" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "name" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "symbol" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transfer" + ): TypedContractMethod< + [to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [from: AddressLike, to: AddressLike, value: BigNumberish], + [boolean], + "nonpayable" + >; + + getEvent( + key: "Approval" + ): TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + getEvent( + key: "Transfer" + ): TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + + filters: { + "Approval(address,address,uint256)": TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + Approval: TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + + "Transfer(address,address,uint256)": TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + Transfer: TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + }; +} diff --git a/src/contract/typechain-types/contracts/NFT.ts b/src/contract/typechain-types/contracts/NFT.ts new file mode 100644 index 0000000..93f59c2 --- /dev/null +++ b/src/contract/typechain-types/contracts/NFT.ts @@ -0,0 +1,621 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../common"; + +export interface NFTInterface extends Interface { + getFunction( + nameOrSignature: + | "addAdmin" + | "addBlacks" + | "approve" + | "balanceOf" + | "blacks" + | "delBlacks" + | "deleteAdmin" + | "deployAddress" + | "getAdmin" + | "getApproved" + | "getBlacks" + | "isApprovedForAll" + | "mint" + | "name" + | "ownerOf" + | "pledgeAddress" + | "safeTransferFrom(address,address,uint256)" + | "safeTransferFrom(address,address,uint256,bytes)" + | "setApprovalForAll" + | "setPledgeAddress" + | "supportsInterface" + | "symbol" + | "tokenByIndex" + | "tokenOfOwnerByIndex" + | "tokenURI" + | "totalSupply" + | "transferFrom" + ): FunctionFragment; + + getEvent( + nameOrSignatureOrTopic: "Approval" | "ApprovalForAll" | "Transfer" + ): EventFragment; + + encodeFunctionData( + functionFragment: "addAdmin", + values: [AddressLike[]] + ): string; + encodeFunctionData( + functionFragment: "addBlacks", + values: [BigNumberish[]] + ): string; + encodeFunctionData( + functionFragment: "approve", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "balanceOf", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "blacks", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "delBlacks", + values: [BigNumberish[]] + ): string; + encodeFunctionData( + functionFragment: "deleteAdmin", + values: [AddressLike[]] + ): string; + encodeFunctionData( + functionFragment: "deployAddress", + values?: undefined + ): string; + encodeFunctionData(functionFragment: "getAdmin", values?: undefined): string; + encodeFunctionData( + functionFragment: "getApproved", + values: [BigNumberish] + ): string; + encodeFunctionData(functionFragment: "getBlacks", values?: undefined): string; + encodeFunctionData( + functionFragment: "isApprovedForAll", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "mint", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData(functionFragment: "name", values?: undefined): string; + encodeFunctionData( + functionFragment: "ownerOf", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "pledgeAddress", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "safeTransferFrom(address,address,uint256)", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "safeTransferFrom(address,address,uint256,bytes)", + values: [AddressLike, AddressLike, BigNumberish, BytesLike] + ): string; + encodeFunctionData( + functionFragment: "setApprovalForAll", + values: [AddressLike, boolean] + ): string; + encodeFunctionData( + functionFragment: "setPledgeAddress", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "supportsInterface", + values: [BytesLike] + ): string; + encodeFunctionData(functionFragment: "symbol", values?: undefined): string; + encodeFunctionData( + functionFragment: "tokenByIndex", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "tokenOfOwnerByIndex", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "tokenURI", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "totalSupply", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transferFrom", + values: [AddressLike, AddressLike, BigNumberish] + ): string; + + decodeFunctionResult(functionFragment: "addAdmin", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "addBlacks", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "blacks", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "delBlacks", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "deleteAdmin", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "deployAddress", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "getAdmin", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "getApproved", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "getBlacks", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "isApprovedForAll", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "mint", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "ownerOf", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "pledgeAddress", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "safeTransferFrom(address,address,uint256)", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "safeTransferFrom(address,address,uint256,bytes)", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setApprovalForAll", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setPledgeAddress", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "supportsInterface", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "symbol", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "tokenByIndex", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "tokenOfOwnerByIndex", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "tokenURI", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "totalSupply", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "transferFrom", + data: BytesLike + ): Result; +} + +export namespace ApprovalEvent { + export type InputTuple = [ + owner: AddressLike, + approved: AddressLike, + tokenId: BigNumberish + ]; + export type OutputTuple = [owner: string, approved: string, tokenId: bigint]; + export interface OutputObject { + owner: string; + approved: string; + tokenId: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace ApprovalForAllEvent { + export type InputTuple = [ + owner: AddressLike, + operator: AddressLike, + approved: boolean + ]; + export type OutputTuple = [ + owner: string, + operator: string, + approved: boolean + ]; + export interface OutputObject { + owner: string; + operator: string; + approved: boolean; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export namespace TransferEvent { + export type InputTuple = [ + from: AddressLike, + to: AddressLike, + tokenId: BigNumberish + ]; + export type OutputTuple = [from: string, to: string, tokenId: bigint]; + export interface OutputObject { + from: string; + to: string; + tokenId: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface NFT extends BaseContract { + connect(runner?: ContractRunner | null): NFT; + waitForDeployment(): Promise; + + interface: NFTInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + addAdmin: TypedContractMethod<[_adds: AddressLike[]], [void], "nonpayable">; + + addBlacks: TypedContractMethod< + [_tokenIds: BigNumberish[]], + [void], + "nonpayable" + >; + + approve: TypedContractMethod< + [to: AddressLike, tokenId: BigNumberish], + [void], + "nonpayable" + >; + + balanceOf: TypedContractMethod<[owner: AddressLike], [bigint], "view">; + + blacks: TypedContractMethod<[arg0: BigNumberish], [bigint], "view">; + + delBlacks: TypedContractMethod< + [_tokenIds: BigNumberish[]], + [void], + "nonpayable" + >; + + deleteAdmin: TypedContractMethod< + [_dels: AddressLike[]], + [void], + "nonpayable" + >; + + deployAddress: TypedContractMethod<[], [string], "view">; + + getAdmin: TypedContractMethod<[], [string[]], "view">; + + getApproved: TypedContractMethod<[tokenId: BigNumberish], [string], "view">; + + getBlacks: TypedContractMethod<[], [bigint[]], "view">; + + isApprovedForAll: TypedContractMethod< + [owner: AddressLike, operator: AddressLike], + [boolean], + "view" + >; + + mint: TypedContractMethod< + [to: AddressLike, tokenId: BigNumberish], + [void], + "nonpayable" + >; + + name: TypedContractMethod<[], [string], "view">; + + ownerOf: TypedContractMethod<[tokenId: BigNumberish], [string], "view">; + + pledgeAddress: TypedContractMethod<[], [string], "view">; + + "safeTransferFrom(address,address,uint256)": TypedContractMethod< + [from: AddressLike, to: AddressLike, tokenId: BigNumberish], + [void], + "nonpayable" + >; + + "safeTransferFrom(address,address,uint256,bytes)": TypedContractMethod< + [ + from: AddressLike, + to: AddressLike, + tokenId: BigNumberish, + data: BytesLike + ], + [void], + "nonpayable" + >; + + setApprovalForAll: TypedContractMethod< + [operator: AddressLike, approved: boolean], + [void], + "nonpayable" + >; + + setPledgeAddress: TypedContractMethod< + [_pledgeAddr: AddressLike], + [void], + "nonpayable" + >; + + supportsInterface: TypedContractMethod< + [interfaceId: BytesLike], + [boolean], + "view" + >; + + symbol: TypedContractMethod<[], [string], "view">; + + tokenByIndex: TypedContractMethod<[index: BigNumberish], [bigint], "view">; + + tokenOfOwnerByIndex: TypedContractMethod< + [owner: AddressLike, index: BigNumberish], + [bigint], + "view" + >; + + tokenURI: TypedContractMethod<[tokenId: BigNumberish], [string], "view">; + + totalSupply: TypedContractMethod<[], [bigint], "view">; + + transferFrom: TypedContractMethod< + [from: AddressLike, to: AddressLike, tokenId: BigNumberish], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "addAdmin" + ): TypedContractMethod<[_adds: AddressLike[]], [void], "nonpayable">; + getFunction( + nameOrSignature: "addBlacks" + ): TypedContractMethod<[_tokenIds: BigNumberish[]], [void], "nonpayable">; + getFunction( + nameOrSignature: "approve" + ): TypedContractMethod< + [to: AddressLike, tokenId: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "balanceOf" + ): TypedContractMethod<[owner: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "blacks" + ): TypedContractMethod<[arg0: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "delBlacks" + ): TypedContractMethod<[_tokenIds: BigNumberish[]], [void], "nonpayable">; + getFunction( + nameOrSignature: "deleteAdmin" + ): TypedContractMethod<[_dels: AddressLike[]], [void], "nonpayable">; + getFunction( + nameOrSignature: "deployAddress" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "getAdmin" + ): TypedContractMethod<[], [string[]], "view">; + getFunction( + nameOrSignature: "getApproved" + ): TypedContractMethod<[tokenId: BigNumberish], [string], "view">; + getFunction( + nameOrSignature: "getBlacks" + ): TypedContractMethod<[], [bigint[]], "view">; + getFunction( + nameOrSignature: "isApprovedForAll" + ): TypedContractMethod< + [owner: AddressLike, operator: AddressLike], + [boolean], + "view" + >; + getFunction( + nameOrSignature: "mint" + ): TypedContractMethod< + [to: AddressLike, tokenId: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "name" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "ownerOf" + ): TypedContractMethod<[tokenId: BigNumberish], [string], "view">; + getFunction( + nameOrSignature: "pledgeAddress" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "safeTransferFrom(address,address,uint256)" + ): TypedContractMethod< + [from: AddressLike, to: AddressLike, tokenId: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "safeTransferFrom(address,address,uint256,bytes)" + ): TypedContractMethod< + [ + from: AddressLike, + to: AddressLike, + tokenId: BigNumberish, + data: BytesLike + ], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setApprovalForAll" + ): TypedContractMethod< + [operator: AddressLike, approved: boolean], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "setPledgeAddress" + ): TypedContractMethod<[_pledgeAddr: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "supportsInterface" + ): TypedContractMethod<[interfaceId: BytesLike], [boolean], "view">; + getFunction( + nameOrSignature: "symbol" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "tokenByIndex" + ): TypedContractMethod<[index: BigNumberish], [bigint], "view">; + getFunction( + nameOrSignature: "tokenOfOwnerByIndex" + ): TypedContractMethod< + [owner: AddressLike, index: BigNumberish], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "tokenURI" + ): TypedContractMethod<[tokenId: BigNumberish], [string], "view">; + getFunction( + nameOrSignature: "totalSupply" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "transferFrom" + ): TypedContractMethod< + [from: AddressLike, to: AddressLike, tokenId: BigNumberish], + [void], + "nonpayable" + >; + + getEvent( + key: "Approval" + ): TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + getEvent( + key: "ApprovalForAll" + ): TypedContractEvent< + ApprovalForAllEvent.InputTuple, + ApprovalForAllEvent.OutputTuple, + ApprovalForAllEvent.OutputObject + >; + getEvent( + key: "Transfer" + ): TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + + filters: { + "Approval(address,address,uint256)": TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + Approval: TypedContractEvent< + ApprovalEvent.InputTuple, + ApprovalEvent.OutputTuple, + ApprovalEvent.OutputObject + >; + + "ApprovalForAll(address,address,bool)": TypedContractEvent< + ApprovalForAllEvent.InputTuple, + ApprovalForAllEvent.OutputTuple, + ApprovalForAllEvent.OutputObject + >; + ApprovalForAll: TypedContractEvent< + ApprovalForAllEvent.InputTuple, + ApprovalForAllEvent.OutputTuple, + ApprovalForAllEvent.OutputObject + >; + + "Transfer(address,address,uint256)": TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + Transfer: TypedContractEvent< + TransferEvent.InputTuple, + TransferEvent.OutputTuple, + TransferEvent.OutputObject + >; + }; +} diff --git a/src/contract/typechain-types/contracts/Pledge.ts b/src/contract/typechain-types/contracts/Pledge.ts new file mode 100644 index 0000000..4ff9ed2 --- /dev/null +++ b/src/contract/typechain-types/contracts/Pledge.ts @@ -0,0 +1,1184 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../common"; + +export type PledgeTypeStruct = { + tokenId: BigNumberish; + startTime: BigNumberish; + endTime: BigNumberish; + withdrawTime: BigNumberish; + pledgeAmount: BigNumberish; + rate: BigNumberish; + pledgeDay: BigNumberish; + sender: AddressLike; + isBlack: boolean; +}; + +export type PledgeTypeStructOutput = [ + tokenId: bigint, + startTime: bigint, + endTime: bigint, + withdrawTime: bigint, + pledgeAmount: bigint, + rate: bigint, + pledgeDay: bigint, + sender: string, + isBlack: boolean +] & { + tokenId: bigint; + startTime: bigint; + endTime: bigint; + withdrawTime: bigint; + pledgeAmount: bigint; + rate: bigint; + pledgeDay: bigint; + sender: string; + isBlack: boolean; +}; + +export type RecommendObjTypeStruct = { + key: AddressLike; + referrer: AddressLike; + bindTime: BigNumberish; + contribute: BigNumberish; +}; + +export type RecommendObjTypeStructOutput = [ + key: string, + referrer: string, + bindTime: bigint, + contribute: bigint +] & { key: string; referrer: string; bindTime: bigint; contribute: bigint }; + +export type InvitationWithdrawRecordTypeStruct = { + amount: BigNumberish; + createTime: BigNumberish; +}; + +export type InvitationWithdrawRecordTypeStructOutput = [ + amount: bigint, + createTime: bigint +] & { amount: bigint; createTime: bigint }; + +export type PledgeWithdrawRecordTypeStruct = { + amount: BigNumberish; + createTime: BigNumberish; + tokenId: BigNumberish; + pledgeDay: BigNumberish; + _type: BigNumberish; +}; + +export type PledgeWithdrawRecordTypeStructOutput = [ + amount: bigint, + createTime: bigint, + tokenId: bigint, + pledgeDay: bigint, + _type: bigint +] & { + amount: bigint; + createTime: bigint; + tokenId: bigint; + pledgeDay: bigint; + _type: bigint; +}; + +export type ProductInfoStruct = { day: BigNumberish; rate: BigNumberish }; + +export type ProductInfoStructOutput = [day: bigint, rate: bigint] & { + day: bigint; + rate: bigint; +}; + +export interface PledgeInterface extends Interface { + getFunction( + nameOrSignature: + | "addBlackOrWhiteList" + | "addNftBalcks" + | "blackList" + | "calculateInterest" + | "dayTime" + | "delBlackOrWhiteList" + | "deleteNftBlacks" + | "destroyPledge" + | "getAllInvitationMember" + | "getBlackOrWhiteList" + | "getCurrentTime" + | "getDetails" + | "getInvitationWithdrawRecord" + | "getOwnerAllInvitationWithdrawAmout" + | "getOwnerAllPledgeInfo" + | "getOwnerAllTokens" + | "getOwnerInvitationPledges" + | "getPledgeDestoryRecords" + | "getPledgeRecords" + | "getPledgeWithdrawRecord" + | "getProductInfo" + | "getWithdrawbleAmount" + | "initialize" + | "invitationAddress" + | "invitationPledges" + | "invitationRate" + | "invitationTokens" + | "invitationWithdrawRecord" + | "nextTokenId" + | "pledge" + | "pledgeDestoryRecords" + | "pledgeRecords" + | "pledgeStatus" + | "pledgeWithdrawRecord" + | "productInfo" + | "recommendObj" + | "setInvitationRate" + | "setPledgeStatus" + | "setProductInfo" + | "whiteList" + | "withdraAllInterest" + | "withdraInvitationAllInterest" + | "withdrawInterest" + | "withdrawInvitationInterest" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; + + encodeFunctionData( + functionFragment: "addBlackOrWhiteList", + values: [AddressLike[], BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "addNftBalcks", + values: [BigNumberish[]] + ): string; + encodeFunctionData( + functionFragment: "blackList", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "calculateInterest", + values: [PledgeTypeStruct] + ): string; + encodeFunctionData(functionFragment: "dayTime", values?: undefined): string; + encodeFunctionData( + functionFragment: "delBlackOrWhiteList", + values: [AddressLike[], BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "deleteNftBlacks", + values: [BigNumberish[]] + ): string; + encodeFunctionData( + functionFragment: "destroyPledge", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "getAllInvitationMember", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "getBlackOrWhiteList", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "getCurrentTime", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getDetails", + values: [BigNumberish, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "getInvitationWithdrawRecord", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "getOwnerAllInvitationWithdrawAmout", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "getOwnerAllPledgeInfo", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "getOwnerAllTokens", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "getOwnerInvitationPledges", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "getPledgeDestoryRecords", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "getPledgeRecords", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "getPledgeWithdrawRecord", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "getProductInfo", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getWithdrawbleAmount", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "initialize", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "invitationAddress", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "invitationPledges", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "invitationRate", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "invitationTokens", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "invitationWithdrawRecord", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "nextTokenId", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "pledge", + values: [BigNumberish, BigNumberish, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "pledgeDestoryRecords", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "pledgeRecords", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "pledgeStatus", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "pledgeWithdrawRecord", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "productInfo", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "recommendObj", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setInvitationRate", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "setPledgeStatus", + values: [boolean] + ): string; + encodeFunctionData( + functionFragment: "setProductInfo", + values: [BigNumberish[], BigNumberish[]] + ): string; + encodeFunctionData( + functionFragment: "whiteList", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "withdraAllInterest", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "withdraInvitationAllInterest", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "withdrawInterest", + values: [BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "withdrawInvitationInterest", + values: [BigNumberish] + ): string; + + decodeFunctionResult( + functionFragment: "addBlackOrWhiteList", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "addNftBalcks", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "blackList", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "calculateInterest", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "dayTime", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "delBlackOrWhiteList", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "deleteNftBlacks", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "destroyPledge", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getAllInvitationMember", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getBlackOrWhiteList", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getCurrentTime", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "getDetails", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "getInvitationWithdrawRecord", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getOwnerAllInvitationWithdrawAmout", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getOwnerAllPledgeInfo", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getOwnerAllTokens", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getOwnerInvitationPledges", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getPledgeDestoryRecords", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getPledgeRecords", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getPledgeWithdrawRecord", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getProductInfo", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getWithdrawbleAmount", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "invitationAddress", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "invitationPledges", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "invitationRate", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "invitationTokens", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "invitationWithdrawRecord", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "nextTokenId", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "pledge", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "pledgeDestoryRecords", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "pledgeRecords", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "pledgeStatus", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "pledgeWithdrawRecord", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "productInfo", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "recommendObj", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setInvitationRate", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setPledgeStatus", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setProductInfo", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "whiteList", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "withdraAllInterest", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "withdraInvitationAllInterest", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "withdrawInterest", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "withdrawInvitationInterest", + data: BytesLike + ): Result; +} + +export namespace InitializedEvent { + export type InputTuple = [version: BigNumberish]; + export type OutputTuple = [version: bigint]; + export interface OutputObject { + version: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface Pledge extends BaseContract { + connect(runner?: ContractRunner | null): Pledge; + waitForDeployment(): Promise; + + interface: PledgeInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + addBlackOrWhiteList: TypedContractMethod< + [_blacks: AddressLike[], _type: BigNumberish], + [void], + "nonpayable" + >; + + addNftBalcks: TypedContractMethod< + [_tokenIds: BigNumberish[]], + [void], + "nonpayable" + >; + + blackList: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + + calculateInterest: TypedContractMethod< + [_pledge: PledgeTypeStruct], + [bigint], + "view" + >; + + dayTime: TypedContractMethod<[], [bigint], "view">; + + delBlackOrWhiteList: TypedContractMethod< + [_blacks: AddressLike[], _type: BigNumberish], + [void], + "nonpayable" + >; + + deleteNftBlacks: TypedContractMethod< + [_ids: BigNumberish[]], + [void], + "nonpayable" + >; + + destroyPledge: TypedContractMethod< + [tokenId: BigNumberish], + [void], + "nonpayable" + >; + + getAllInvitationMember: TypedContractMethod< + [addr: AddressLike], + [RecommendObjTypeStructOutput[]], + "view" + >; + + getBlackOrWhiteList: TypedContractMethod< + [_type: BigNumberish], + [string[]], + "view" + >; + + getCurrentTime: TypedContractMethod<[], [bigint], "view">; + + getDetails: TypedContractMethod< + [tokenId: BigNumberish, _type: BigNumberish], + [PledgeTypeStructOutput], + "view" + >; + + getInvitationWithdrawRecord: TypedContractMethod< + [_owner: AddressLike], + [InvitationWithdrawRecordTypeStructOutput[]], + "view" + >; + + getOwnerAllInvitationWithdrawAmout: TypedContractMethod< + [owner: AddressLike], + [bigint], + "view" + >; + + getOwnerAllPledgeInfo: TypedContractMethod< + [_ownerAddress: AddressLike], + [PledgeTypeStructOutput[]], + "view" + >; + + getOwnerAllTokens: TypedContractMethod< + [_ownerAddress: AddressLike], + [bigint[]], + "view" + >; + + getOwnerInvitationPledges: TypedContractMethod< + [addr: AddressLike], + [PledgeTypeStructOutput[]], + "view" + >; + + getPledgeDestoryRecords: TypedContractMethod< + [_owner: AddressLike], + [PledgeTypeStructOutput[]], + "view" + >; + + getPledgeRecords: TypedContractMethod< + [_owner: AddressLike], + [PledgeTypeStructOutput[]], + "view" + >; + + getPledgeWithdrawRecord: TypedContractMethod< + [_owner: AddressLike], + [PledgeWithdrawRecordTypeStructOutput[]], + "view" + >; + + getProductInfo: TypedContractMethod<[], [ProductInfoStructOutput[]], "view">; + + getWithdrawbleAmount: TypedContractMethod< + [_owner: AddressLike], + [bigint], + "view" + >; + + initialize: TypedContractMethod< + [nftAddress: AddressLike, poolAddress: AddressLike], + [void], + "nonpayable" + >; + + invitationAddress: TypedContractMethod< + [arg0: AddressLike, arg1: BigNumberish], + [string], + "view" + >; + + invitationPledges: TypedContractMethod< + [arg0: BigNumberish], + [ + [ + bigint, + bigint, + bigint, + bigint, + bigint, + bigint, + bigint, + string, + boolean + ] & { + tokenId: bigint; + startTime: bigint; + endTime: bigint; + withdrawTime: bigint; + pledgeAmount: bigint; + rate: bigint; + pledgeDay: bigint; + sender: string; + isBlack: boolean; + } + ], + "view" + >; + + invitationRate: TypedContractMethod<[], [bigint], "view">; + + invitationTokens: TypedContractMethod< + [arg0: AddressLike, arg1: BigNumberish], + [bigint], + "view" + >; + + invitationWithdrawRecord: TypedContractMethod< + [arg0: AddressLike, arg1: BigNumberish], + [[bigint, bigint] & { amount: bigint; createTime: bigint }], + "view" + >; + + nextTokenId: TypedContractMethod<[], [bigint], "view">; + + pledge: TypedContractMethod< + [amount: BigNumberish, index: BigNumberish, _referrer: AddressLike], + [void], + "nonpayable" + >; + + pledgeDestoryRecords: TypedContractMethod< + [arg0: AddressLike, arg1: BigNumberish], + [ + [ + bigint, + bigint, + bigint, + bigint, + bigint, + bigint, + bigint, + string, + boolean + ] & { + tokenId: bigint; + startTime: bigint; + endTime: bigint; + withdrawTime: bigint; + pledgeAmount: bigint; + rate: bigint; + pledgeDay: bigint; + sender: string; + isBlack: boolean; + } + ], + "view" + >; + + pledgeRecords: TypedContractMethod< + [arg0: AddressLike, arg1: BigNumberish], + [ + [ + bigint, + bigint, + bigint, + bigint, + bigint, + bigint, + bigint, + string, + boolean + ] & { + tokenId: bigint; + startTime: bigint; + endTime: bigint; + withdrawTime: bigint; + pledgeAmount: bigint; + rate: bigint; + pledgeDay: bigint; + sender: string; + isBlack: boolean; + } + ], + "view" + >; + + pledgeStatus: TypedContractMethod<[], [boolean], "view">; + + pledgeWithdrawRecord: TypedContractMethod< + [arg0: AddressLike, arg1: BigNumberish], + [ + [bigint, bigint, bigint, bigint, bigint] & { + amount: bigint; + createTime: bigint; + tokenId: bigint; + pledgeDay: bigint; + _type: bigint; + } + ], + "view" + >; + + productInfo: TypedContractMethod< + [arg0: BigNumberish], + [[bigint, bigint] & { day: bigint; rate: bigint }], + "view" + >; + + recommendObj: TypedContractMethod< + [arg0: AddressLike], + [ + [string, string, bigint, bigint] & { + key: string; + referrer: string; + bindTime: bigint; + contribute: bigint; + } + ], + "view" + >; + + setInvitationRate: TypedContractMethod< + [_rate: BigNumberish], + [void], + "nonpayable" + >; + + setPledgeStatus: TypedContractMethod< + [_status: boolean], + [void], + "nonpayable" + >; + + setProductInfo: TypedContractMethod< + [_days: BigNumberish[], _rates: BigNumberish[]], + [void], + "nonpayable" + >; + + whiteList: TypedContractMethod<[arg0: BigNumberish], [string], "view">; + + withdraAllInterest: TypedContractMethod<[], [void], "nonpayable">; + + withdraInvitationAllInterest: TypedContractMethod<[], [void], "nonpayable">; + + withdrawInterest: TypedContractMethod< + [tokenId: BigNumberish], + [void], + "nonpayable" + >; + + withdrawInvitationInterest: TypedContractMethod< + [tokenId: BigNumberish], + [void], + "nonpayable" + >; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "addBlackOrWhiteList" + ): TypedContractMethod< + [_blacks: AddressLike[], _type: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "addNftBalcks" + ): TypedContractMethod<[_tokenIds: BigNumberish[]], [void], "nonpayable">; + getFunction( + nameOrSignature: "blackList" + ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction( + nameOrSignature: "calculateInterest" + ): TypedContractMethod<[_pledge: PledgeTypeStruct], [bigint], "view">; + getFunction( + nameOrSignature: "dayTime" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "delBlackOrWhiteList" + ): TypedContractMethod< + [_blacks: AddressLike[], _type: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "deleteNftBlacks" + ): TypedContractMethod<[_ids: BigNumberish[]], [void], "nonpayable">; + getFunction( + nameOrSignature: "destroyPledge" + ): TypedContractMethod<[tokenId: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "getAllInvitationMember" + ): TypedContractMethod< + [addr: AddressLike], + [RecommendObjTypeStructOutput[]], + "view" + >; + getFunction( + nameOrSignature: "getBlackOrWhiteList" + ): TypedContractMethod<[_type: BigNumberish], [string[]], "view">; + getFunction( + nameOrSignature: "getCurrentTime" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "getDetails" + ): TypedContractMethod< + [tokenId: BigNumberish, _type: BigNumberish], + [PledgeTypeStructOutput], + "view" + >; + getFunction( + nameOrSignature: "getInvitationWithdrawRecord" + ): TypedContractMethod< + [_owner: AddressLike], + [InvitationWithdrawRecordTypeStructOutput[]], + "view" + >; + getFunction( + nameOrSignature: "getOwnerAllInvitationWithdrawAmout" + ): TypedContractMethod<[owner: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "getOwnerAllPledgeInfo" + ): TypedContractMethod< + [_ownerAddress: AddressLike], + [PledgeTypeStructOutput[]], + "view" + >; + getFunction( + nameOrSignature: "getOwnerAllTokens" + ): TypedContractMethod<[_ownerAddress: AddressLike], [bigint[]], "view">; + getFunction( + nameOrSignature: "getOwnerInvitationPledges" + ): TypedContractMethod< + [addr: AddressLike], + [PledgeTypeStructOutput[]], + "view" + >; + getFunction( + nameOrSignature: "getPledgeDestoryRecords" + ): TypedContractMethod< + [_owner: AddressLike], + [PledgeTypeStructOutput[]], + "view" + >; + getFunction( + nameOrSignature: "getPledgeRecords" + ): TypedContractMethod< + [_owner: AddressLike], + [PledgeTypeStructOutput[]], + "view" + >; + getFunction( + nameOrSignature: "getPledgeWithdrawRecord" + ): TypedContractMethod< + [_owner: AddressLike], + [PledgeWithdrawRecordTypeStructOutput[]], + "view" + >; + getFunction( + nameOrSignature: "getProductInfo" + ): TypedContractMethod<[], [ProductInfoStructOutput[]], "view">; + getFunction( + nameOrSignature: "getWithdrawbleAmount" + ): TypedContractMethod<[_owner: AddressLike], [bigint], "view">; + getFunction( + nameOrSignature: "initialize" + ): TypedContractMethod< + [nftAddress: AddressLike, poolAddress: AddressLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "invitationAddress" + ): TypedContractMethod< + [arg0: AddressLike, arg1: BigNumberish], + [string], + "view" + >; + getFunction( + nameOrSignature: "invitationPledges" + ): TypedContractMethod< + [arg0: BigNumberish], + [ + [ + bigint, + bigint, + bigint, + bigint, + bigint, + bigint, + bigint, + string, + boolean + ] & { + tokenId: bigint; + startTime: bigint; + endTime: bigint; + withdrawTime: bigint; + pledgeAmount: bigint; + rate: bigint; + pledgeDay: bigint; + sender: string; + isBlack: boolean; + } + ], + "view" + >; + getFunction( + nameOrSignature: "invitationRate" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "invitationTokens" + ): TypedContractMethod< + [arg0: AddressLike, arg1: BigNumberish], + [bigint], + "view" + >; + getFunction( + nameOrSignature: "invitationWithdrawRecord" + ): TypedContractMethod< + [arg0: AddressLike, arg1: BigNumberish], + [[bigint, bigint] & { amount: bigint; createTime: bigint }], + "view" + >; + getFunction( + nameOrSignature: "nextTokenId" + ): TypedContractMethod<[], [bigint], "view">; + getFunction( + nameOrSignature: "pledge" + ): TypedContractMethod< + [amount: BigNumberish, index: BigNumberish, _referrer: AddressLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "pledgeDestoryRecords" + ): TypedContractMethod< + [arg0: AddressLike, arg1: BigNumberish], + [ + [ + bigint, + bigint, + bigint, + bigint, + bigint, + bigint, + bigint, + string, + boolean + ] & { + tokenId: bigint; + startTime: bigint; + endTime: bigint; + withdrawTime: bigint; + pledgeAmount: bigint; + rate: bigint; + pledgeDay: bigint; + sender: string; + isBlack: boolean; + } + ], + "view" + >; + getFunction( + nameOrSignature: "pledgeRecords" + ): TypedContractMethod< + [arg0: AddressLike, arg1: BigNumberish], + [ + [ + bigint, + bigint, + bigint, + bigint, + bigint, + bigint, + bigint, + string, + boolean + ] & { + tokenId: bigint; + startTime: bigint; + endTime: bigint; + withdrawTime: bigint; + pledgeAmount: bigint; + rate: bigint; + pledgeDay: bigint; + sender: string; + isBlack: boolean; + } + ], + "view" + >; + getFunction( + nameOrSignature: "pledgeStatus" + ): TypedContractMethod<[], [boolean], "view">; + getFunction( + nameOrSignature: "pledgeWithdrawRecord" + ): TypedContractMethod< + [arg0: AddressLike, arg1: BigNumberish], + [ + [bigint, bigint, bigint, bigint, bigint] & { + amount: bigint; + createTime: bigint; + tokenId: bigint; + pledgeDay: bigint; + _type: bigint; + } + ], + "view" + >; + getFunction( + nameOrSignature: "productInfo" + ): TypedContractMethod< + [arg0: BigNumberish], + [[bigint, bigint] & { day: bigint; rate: bigint }], + "view" + >; + getFunction( + nameOrSignature: "recommendObj" + ): TypedContractMethod< + [arg0: AddressLike], + [ + [string, string, bigint, bigint] & { + key: string; + referrer: string; + bindTime: bigint; + contribute: bigint; + } + ], + "view" + >; + getFunction( + nameOrSignature: "setInvitationRate" + ): TypedContractMethod<[_rate: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "setPledgeStatus" + ): TypedContractMethod<[_status: boolean], [void], "nonpayable">; + getFunction( + nameOrSignature: "setProductInfo" + ): TypedContractMethod< + [_days: BigNumberish[], _rates: BigNumberish[]], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "whiteList" + ): TypedContractMethod<[arg0: BigNumberish], [string], "view">; + getFunction( + nameOrSignature: "withdraAllInterest" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "withdraInvitationAllInterest" + ): TypedContractMethod<[], [void], "nonpayable">; + getFunction( + nameOrSignature: "withdrawInterest" + ): TypedContractMethod<[tokenId: BigNumberish], [void], "nonpayable">; + getFunction( + nameOrSignature: "withdrawInvitationInterest" + ): TypedContractMethod<[tokenId: BigNumberish], [void], "nonpayable">; + + getEvent( + key: "Initialized" + ): TypedContractEvent< + InitializedEvent.InputTuple, + InitializedEvent.OutputTuple, + InitializedEvent.OutputObject + >; + + filters: { + "Initialized(uint64)": TypedContractEvent< + InitializedEvent.InputTuple, + InitializedEvent.OutputTuple, + InitializedEvent.OutputObject + >; + Initialized: TypedContractEvent< + InitializedEvent.InputTuple, + InitializedEvent.OutputTuple, + InitializedEvent.OutputObject + >; + }; +} diff --git a/src/contract/typechain-types/contracts/Pool.ts b/src/contract/typechain-types/contracts/Pool.ts new file mode 100644 index 0000000..61e618c --- /dev/null +++ b/src/contract/typechain-types/contracts/Pool.ts @@ -0,0 +1,241 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumberish, + BytesLike, + FunctionFragment, + Result, + Interface, + EventFragment, + AddressLike, + ContractRunner, + ContractMethod, + Listener, +} from "ethers"; +import type { + TypedContractEvent, + TypedDeferredTopicFilter, + TypedEventLog, + TypedLogDescription, + TypedListener, + TypedContractMethod, +} from "../common"; + +export interface PoolInterface extends Interface { + getFunction( + nameOrSignature: + | "_pledgeContractAddress" + | "deposit" + | "initialize" + | "poolStatus" + | "setPledgeContractAddress" + | "setPoolStatus" + | "withdraw" + | "withdrawTo" + ): FunctionFragment; + + getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; + + encodeFunctionData( + functionFragment: "_pledgeContractAddress", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "deposit", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "initialize", + values: [AddressLike, AddressLike] + ): string; + encodeFunctionData( + functionFragment: "poolStatus", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "setPledgeContractAddress", + values: [AddressLike] + ): string; + encodeFunctionData( + functionFragment: "setPoolStatus", + values: [boolean] + ): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [AddressLike, BigNumberish] + ): string; + encodeFunctionData( + functionFragment: "withdrawTo", + values: [BigNumberish] + ): string; + + decodeFunctionResult( + functionFragment: "_pledgeContractAddress", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "poolStatus", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "setPledgeContractAddress", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setPoolStatus", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "withdrawTo", data: BytesLike): Result; +} + +export namespace InitializedEvent { + export type InputTuple = [version: BigNumberish]; + export type OutputTuple = [version: bigint]; + export interface OutputObject { + version: bigint; + } + export type Event = TypedContractEvent; + export type Filter = TypedDeferredTopicFilter; + export type Log = TypedEventLog; + export type LogDescription = TypedLogDescription; +} + +export interface Pool extends BaseContract { + connect(runner?: ContractRunner | null): Pool; + waitForDeployment(): Promise; + + interface: PoolInterface; + + queryFilter( + event: TCEvent, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + queryFilter( + filter: TypedDeferredTopicFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + on( + event: TCEvent, + listener: TypedListener + ): Promise; + on( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + once( + event: TCEvent, + listener: TypedListener + ): Promise; + once( + filter: TypedDeferredTopicFilter, + listener: TypedListener + ): Promise; + + listeners( + event: TCEvent + ): Promise>>; + listeners(eventName?: string): Promise>; + removeAllListeners( + event?: TCEvent + ): Promise; + + _pledgeContractAddress: TypedContractMethod<[], [string], "view">; + + deposit: TypedContractMethod< + [from: AddressLike, amount: BigNumberish], + [void], + "nonpayable" + >; + + initialize: TypedContractMethod< + [tokenAddress: AddressLike, nftAddress: AddressLike], + [void], + "nonpayable" + >; + + poolStatus: TypedContractMethod<[], [boolean], "view">; + + setPledgeContractAddress: TypedContractMethod< + [addr: AddressLike], + [void], + "nonpayable" + >; + + setPoolStatus: TypedContractMethod<[_status: boolean], [void], "nonpayable">; + + withdraw: TypedContractMethod< + [to: AddressLike, amount: BigNumberish], + [void], + "nonpayable" + >; + + withdrawTo: TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + + getFunction( + key: string | FunctionFragment + ): T; + + getFunction( + nameOrSignature: "_pledgeContractAddress" + ): TypedContractMethod<[], [string], "view">; + getFunction( + nameOrSignature: "deposit" + ): TypedContractMethod< + [from: AddressLike, amount: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "initialize" + ): TypedContractMethod< + [tokenAddress: AddressLike, nftAddress: AddressLike], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "poolStatus" + ): TypedContractMethod<[], [boolean], "view">; + getFunction( + nameOrSignature: "setPledgeContractAddress" + ): TypedContractMethod<[addr: AddressLike], [void], "nonpayable">; + getFunction( + nameOrSignature: "setPoolStatus" + ): TypedContractMethod<[_status: boolean], [void], "nonpayable">; + getFunction( + nameOrSignature: "withdraw" + ): TypedContractMethod< + [to: AddressLike, amount: BigNumberish], + [void], + "nonpayable" + >; + getFunction( + nameOrSignature: "withdrawTo" + ): TypedContractMethod<[amount: BigNumberish], [void], "nonpayable">; + + getEvent( + key: "Initialized" + ): TypedContractEvent< + InitializedEvent.InputTuple, + InitializedEvent.OutputTuple, + InitializedEvent.OutputObject + >; + + filters: { + "Initialized(uint64)": TypedContractEvent< + InitializedEvent.InputTuple, + InitializedEvent.OutputTuple, + InitializedEvent.OutputObject + >; + Initialized: TypedContractEvent< + InitializedEvent.InputTuple, + InitializedEvent.OutputTuple, + InitializedEvent.OutputObject + >; + }; +} diff --git a/src/contract/typechain-types/contracts/index.ts b/src/contract/typechain-types/contracts/index.ts new file mode 100644 index 0000000..08c6039 --- /dev/null +++ b/src/contract/typechain-types/contracts/index.ts @@ -0,0 +1,7 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export type { FIL } from "./FIL"; +export type { NFT } from "./NFT"; +export type { Pledge } from "./Pledge"; +export type { Pool } from "./Pool"; diff --git a/src/contract/typechain-types/factories/contracts/FIL__factory.ts b/src/contract/typechain-types/factories/contracts/FIL__factory.ts new file mode 100644 index 0000000..be45252 --- /dev/null +++ b/src/contract/typechain-types/factories/contracts/FIL__factory.ts @@ -0,0 +1,374 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../common"; +import type { FIL, FILInterface } from "../../contracts/FIL"; + +const _abi = [ + { + inputs: [], + stateMutability: "nonpayable", + type: "constructor", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "allowance", + type: "uint256", + }, + { + internalType: "uint256", + name: "needed", + type: "uint256", + }, + ], + name: "ERC20InsufficientAllowance", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "uint256", + name: "balance", + type: "uint256", + }, + { + internalType: "uint256", + name: "needed", + type: "uint256", + }, + ], + name: "ERC20InsufficientBalance", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address", + }, + ], + name: "ERC20InvalidApprover", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC20InvalidReceiver", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "ERC20InvalidSender", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "ERC20InvalidSpender", + type: "error", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "spender", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "spender", + type: "address", + }, + ], + name: "allowance", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "spender", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "approve", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "decimals", + outputs: [ + { + internalType: "uint8", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +const _bytecode = + "0x60806040523480156200001157600080fd5b506040518060400160405280600b81526020016a2334b632b1b7b4b72232bb60a91b815250604051806040016040528060048152602001631111925360e21b8152508160039081620000649190620002d4565b506004620000738282620002d4565b505050620000ad336200008b620000b360201b60201c565b6200009890600a620004b5565b620000a79062989680620004cd565b620000b8565b620004fd565b601290565b6001600160a01b038216620000e85760405163ec442f0560e01b8152600060048201526024015b60405180910390fd5b620000f660008383620000fa565b5050565b6001600160a01b038316620001295780600260008282546200011d9190620004e7565b909155506200019d9050565b6001600160a01b038316600090815260208190526040902054818110156200017e5760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401620000df565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b038216620001bb57600280548290039055620001da565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200022091815260200190565b60405180910390a3505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200025857607f821691505b6020821081036200027957634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002cf576000816000526020600020601f850160051c81016020861015620002aa5750805b601f850160051c820191505b81811015620002cb57828155600101620002b6565b5050505b505050565b81516001600160401b03811115620002f057620002f06200022d565b620003088162000301845462000243565b846200027f565b602080601f831160018114620003405760008415620003275750858301515b600019600386901b1c1916600185901b178555620002cb565b600085815260208120601f198616915b82811015620003715788860151825594840194600190910190840162000350565b5085821015620003905787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003f7578160001904821115620003db57620003db620003a0565b80851615620003e957918102915b93841c9390800290620003bb565b509250929050565b6000826200041057506001620004af565b816200041f57506000620004af565b8160018114620004385760028114620004435762000463565b6001915050620004af565b60ff841115620004575762000457620003a0565b50506001821b620004af565b5060208310610133831016604e8410600b841016171562000488575081810a620004af565b620004948383620003b6565b8060001904821115620004ab57620004ab620003a0565b0290505b92915050565b6000620004c660ff841683620003ff565b9392505050565b8082028115828204841417620004af57620004af620003a0565b80820180821115620004af57620004af620003a0565b6107c7806200050d6000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c8063313ce5671161007657806395d89b411161005b57806395d89b4114610146578063a9059cbb1461014e578063dd62ed3e1461016157600080fd5b8063313ce5671461010e57806370a082311461011d57600080fd5b806306fdde03146100a8578063095ea7b3146100c657806318160ddd146100e957806323b872dd146100fb575b600080fd5b6100b061019a565b6040516100bd9190610610565b60405180910390f35b6100d96100d436600461067b565b61022c565b60405190151581526020016100bd565b6002545b6040519081526020016100bd565b6100d96101093660046106a5565b610246565b604051601281526020016100bd565b6100ed61012b3660046106e1565b6001600160a01b031660009081526020819052604090205490565b6100b061026a565b6100d961015c36600461067b565b610279565b6100ed61016f366004610703565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060600380546101a990610736565b80601f01602080910402602001604051908101604052809291908181526020018280546101d590610736565b80156102225780601f106101f757610100808354040283529160200191610222565b820191906000526020600020905b81548152906001019060200180831161020557829003601f168201915b5050505050905090565b60003361023a818585610287565b60019150505b92915050565b600033610254858285610299565b61025f858585610335565b506001949350505050565b6060600480546101a990610736565b60003361023a818585610335565b61029483838360016103c6565b505050565b6001600160a01b03838116600090815260016020908152604080832093861683529290522054600019811461032f5781811015610320576040517ffb8f41b20000000000000000000000000000000000000000000000000000000081526001600160a01b038416600482015260248101829052604481018390526064015b60405180910390fd5b61032f848484840360006103c6565b50505050565b6001600160a01b038316610378576040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260006004820152602401610317565b6001600160a01b0382166103bb576040517fec442f0500000000000000000000000000000000000000000000000000000000815260006004820152602401610317565b6102948383836104cd565b6001600160a01b038416610409576040517fe602df0500000000000000000000000000000000000000000000000000000000815260006004820152602401610317565b6001600160a01b03831661044c576040517f94280d6200000000000000000000000000000000000000000000000000000000815260006004820152602401610317565b6001600160a01b038085166000908152600160209081526040808320938716835292905220829055801561032f57826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104bf91815260200190565b60405180910390a350505050565b6001600160a01b0383166104f85780600260008282546104ed9190610770565b909155506105839050565b6001600160a01b03831660009081526020819052604090205481811015610564576040517fe450d38c0000000000000000000000000000000000000000000000000000000081526001600160a01b03851660048201526024810182905260448101839052606401610317565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b03821661059f576002805482900390556105be565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161060391815260200190565b60405180910390a3505050565b60006020808352835180602085015260005b8181101561063e57858101830151858201604001528201610622565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461067657600080fd5b919050565b6000806040838503121561068e57600080fd5b6106978361065f565b946020939093013593505050565b6000806000606084860312156106ba57600080fd5b6106c38461065f565b92506106d16020850161065f565b9150604084013590509250925092565b6000602082840312156106f357600080fd5b6106fc8261065f565b9392505050565b6000806040838503121561071657600080fd5b61071f8361065f565b915061072d6020840161065f565b90509250929050565b600181811c9082168061074a57607f821691505b60208210810361076a57634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561024057634e487b7160e01b600052601160045260246000fdfea264697066735822122011832f4806ad976896ccf4cc11b5de1c53e800d30f6eea2fd61487fc9ad24e1b64736f6c63430008180033"; + +type FILConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: FILConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class FIL__factory extends ContractFactory { + constructor(...args: FILConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(overrides || {}); + } + override deploy(overrides?: NonPayableOverrides & { from?: string }) { + return super.deploy(overrides || {}) as Promise< + FIL & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): FIL__factory { + return super.connect(runner) as FIL__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): FILInterface { + return new Interface(_abi) as FILInterface; + } + static connect(address: string, runner?: ContractRunner | null): FIL { + return new Contract(address, _abi, runner) as unknown as FIL; + } +} diff --git a/src/contract/typechain-types/factories/contracts/NFT__factory.ts b/src/contract/typechain-types/factories/contracts/NFT__factory.ts new file mode 100644 index 0000000..a448acb --- /dev/null +++ b/src/contract/typechain-types/factories/contracts/NFT__factory.ts @@ -0,0 +1,747 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../common"; +import type { NFT, NFTInterface } from "../../contracts/NFT"; + +const _abi = [ + { + inputs: [ + { + internalType: "string", + name: "name", + type: "string", + }, + { + internalType: "string", + name: "symbol", + type: "string", + }, + ], + stateMutability: "nonpayable", + type: "constructor", + }, + { + inputs: [], + name: "ERC721EnumerableForbiddenBatchMint", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "ERC721IncorrectOwner", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "ERC721InsufficientApproval", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "approver", + type: "address", + }, + ], + name: "ERC721InvalidApprover", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address", + }, + ], + name: "ERC721InvalidOperator", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "ERC721InvalidOwner", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "receiver", + type: "address", + }, + ], + name: "ERC721InvalidReceiver", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "sender", + type: "address", + }, + ], + name: "ERC721InvalidSender", + type: "error", + }, + { + inputs: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "ERC721NonexistentToken", + type: "error", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "uint256", + name: "index", + type: "uint256", + }, + ], + name: "ERC721OutOfBoundsIndex", + type: "error", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "approved", + type: "address", + }, + { + indexed: true, + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "operator", + type: "address", + }, + { + indexed: false, + internalType: "bool", + name: "approved", + type: "bool", + }, + ], + name: "ApprovalForAll", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: true, + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + inputs: [ + { + internalType: "address[]", + name: "_adds", + type: "address[]", + }, + ], + name: "addAdmin", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256[]", + name: "_tokenIds", + type: "uint256[]", + }, + ], + name: "addBlacks", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "approve", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "blacks", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256[]", + name: "_tokenIds", + type: "uint256[]", + }, + ], + name: "delBlacks", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "_dels", + type: "address[]", + }, + ], + name: "deleteAdmin", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "deployAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getAdmin", + outputs: [ + { + internalType: "address[]", + name: "", + type: "address[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "getApproved", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getBlacks", + outputs: [ + { + internalType: "uint256[]", + name: "", + type: "uint256[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "operator", + type: "address", + }, + ], + name: "isApprovedForAll", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "mint", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "name", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "ownerOf", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "pledgeAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "safeTransferFrom", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "safeTransferFrom", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address", + }, + { + internalType: "bool", + name: "approved", + type: "bool", + }, + ], + name: "setApprovalForAll", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_pledgeAddr", + type: "address", + }, + ], + name: "setPledgeAddress", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes4", + name: "interfaceId", + type: "bytes4", + }, + ], + name: "supportsInterface", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "symbol", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "index", + type: "uint256", + }, + ], + name: "tokenByIndex", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "uint256", + name: "index", + type: "uint256", + }, + ], + name: "tokenOfOwnerByIndex", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "tokenURI", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "totalSupply", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +const _bytecode = + "0x60806040523480156200001157600080fd5b5060405162002e0938038062002e098339810160408190526200003491620001f0565b81816000620000448382620002eb565b506001620000538282620002eb565b5050600b54600160a01b900460ff16159050620000b65760405162461bcd60e51b815260206004820152601960248201527f596f752063616e206f6e6c7920757365206974206f6e63652e00000000000000604482015260640160405180910390fd5b5050600a80546001810182556000919091527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80180546001600160a01b03191633908117909155600b805460ff60a01b199092166001600160a81b031990921691909117600160a01b179055620003b7565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200015057600080fd5b81516001600160401b03808211156200016d576200016d62000128565b604051601f8301601f19908116603f0116810190828211818310171562000198576200019862000128565b8160405283815260209250866020858801011115620001b657600080fd5b600091505b83821015620001da5785820183015181830184015290820190620001bb565b6000602085830101528094505050505092915050565b600080604083850312156200020457600080fd5b82516001600160401b03808211156200021c57600080fd5b6200022a868387016200013e565b935060208501519150808211156200024157600080fd5b5062000250858286016200013e565b9150509250929050565b600181811c908216806200026f57607f821691505b6020821081036200029057634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002e6576000816000526020600020601f850160051c81016020861015620002c15750805b601f850160051c820191505b81811015620002e257828155600101620002cd565b5050505b505050565b81516001600160401b0381111562000307576200030762000128565b6200031f816200031884546200025a565b8462000296565b602080601f8311600181146200035757600084156200033e5750858301515b600019600386901b1c1916600185901b178555620002e2565b600085815260208120601f198616915b82811015620003885788860151825594840194600190910190840162000367565b5085821015620003a75787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b612a4280620003c76000396000f3fe608060405234801561001057600080fd5b50600436106101b95760003560e01c80636e9960c3116100f9578063b88d4fde11610097578063cf0a5b4511610071578063cf0a5b451461039a578063d38ff7a1146103ad578063e985e9c5146103c2578063ec329a25146103fe57600080fd5b8063b88d4fde14610361578063bba295a114610374578063c87b56dd1461038757600080fd5b8063993a86bd116100d3578063993a86bd146103155780639c8bf94114610328578063a22cb4651461033b578063b3988fdf1461034e57600080fd5b80636e9960c3146102e557806370a08231146102fa57806395d89b411461030d57600080fd5b806323b872dd1161016657806340c10f191161014057806340c10f191461029957806342842e0e146102ac5780634f6ccce7146102bf5780636352211e146102d257600080fd5b806323b872dd146102605780632f745c59146102735780633d0950a81461028657600080fd5b8063095ea7b311610197578063095ea7b31461022657806318160ddd1461023b5780631d086e701461024d57600080fd5b806301ffc9a7146101be57806306fdde03146101e6578063081812fc146101fb575b600080fd5b6101d16101cc36600461245d565b610411565b60405190151581526020015b60405180910390f35b6101ee610455565b6040516101dd91906124ca565b61020e6102093660046124dd565b6104e7565b6040516001600160a01b0390911681526020016101dd565b610239610234366004612512565b610510565b005b6008545b6040519081526020016101dd565b61023961025b3660046125a7565b61051f565b61023961026e366004612644565b6107b1565b61023f610281366004612512565b610855565b6102396102943660046125a7565b6108ba565b6102396102a7366004612512565b610b98565b6102396102ba366004612644565b610c5b565b61023f6102cd3660046124dd565b610c7b565b61020e6102e03660046124dd565b610cd4565b6102ed610cdf565b6040516101dd9190612680565b61023f6103083660046126c1565b610d40565b6101ee610da1565b600b5461020e906001600160a01b031681565b6102396103363660046126c1565b610db0565b6102396103493660046126dc565b610e98565b61023961035c366004612718565b610ea3565b61023961036f36600461279e565b610f7e565b600c5461020e906001600160a01b031681565b6101ee6103953660046124dd565b610f95565b61023f6103a83660046124dd565b61100a565b6103b561102b565b6040516101dd919061285e565b6101d16103d0366004612896565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b61023961040c366004612718565b611082565b60006001600160e01b031982167f780e9d6300000000000000000000000000000000000000000000000000000000148061044f575061044f82611147565b92915050565b606060008054610464906128c9565b80601f0160208091040260200160405190810160405280929190818152602001828054610490906128c9565b80156104dd5780601f106104b2576101008083540402835291602001916104dd565b820191906000526020600020905b8154815290600101906020018083116104c057829003601f168201915b5050505050905090565b60006104f2826111e2565b506000828152600460205260409020546001600160a01b031661044f565b61051b82823361121b565b5050565b6000610585600a80548060200260200160405190810160405280929190818152602001828054801561057a57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161055c575b505050505033611228565b90506001811515146105de5760405162461bcd60e51b815260206004820152601760248201527f466f722061646d696e6973747261746f7273206f6e6c7900000000000000000060448201526064015b60405180910390fd5b600b546000906105f89084906001600160a01b0316611228565b600b549091506001600160a01b031633146106695760405162461bcd60e51b815260206004820152602b60248201527f43616e206f6e6c792062652063616c6c65642062792074686520636f6e74726160448201526a31ba103232b83637bcb2b960a91b60648201526084016105d5565b80156106dd5760405162461bcd60e51b815260206004820152602360248201527f556e61626c6520746f2064656c65746520636f6e7472616374206465706c6f7960448201527f657273000000000000000000000000000000000000000000000000000000000060648201526084016105d5565b600083511161072e5760405162461bcd60e51b815260206004820152601f60248201527f4d75737420656e746572206174206c65617374206f6e6520616464726573730060448201526064016105d5565b6000610794600a80548060200260200160405190810160405280929190818152602001828054801561078957602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161076b575b505050505085611282565b80519091506107aa90600a906020840190612382565b5050505050565b6001600160a01b0382166107db57604051633250574960e11b8152600060048201526024016105d5565b60006107e8838333611484565b9050836001600160a01b0316816001600160a01b03161461084f576040517f64283d7b0000000000000000000000000000000000000000000000000000000081526001600160a01b03808616600483015260248201849052821660448201526064016105d5565b50505050565b600061086083610d40565b82106108915760405163295f44f760e21b81526001600160a01b0384166004820152602481018390526044016105d5565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b600061091e600a80548060200260200160405190810160405280929190818152602001828054801561057a576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161055c57505050505033611228565b90506001811515146109725760405162461bcd60e51b815260206004820152601760248201527f466f722061646d696e6973747261746f7273206f6e6c7900000000000000000060448201526064016105d5565b60008251116109c35760405162461bcd60e51b815260206004820152601f60248201527f4d75737420656e746572206174206c65617374206f6e6520616464726573730060448201526064016105d5565b600b546001600160a01b03163314610a315760405162461bcd60e51b815260206004820152602b60248201527f43616e206f6e6c792062652063616c6c65642062792074686520636f6e74726160448201526a31ba103232b83637bcb2b960a91b60648201526084016105d5565b60005b8251811015610b1b576000838281518110610a5157610a51612903565b602002602001015190506000610ac1600a805480602002602001604051908101604052809291908181526020018280548015610ab657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610a98575b505050505083611228565b90508015610b115760405162461bcd60e51b815260206004820152601660248201527f4164647265737320616c7265616479206578697374730000000000000000000060448201526064016105d5565b5050600101610a34565b506000610b82600a805480602002602001604051908101604052809291908181526020018280548015610b7757602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610b59575b50505050508461156b565b805190915061084f90600a906020840190612382565b600c546001600160a01b03163314610c015760405162461bcd60e51b815260206004820152602660248201527f4f6e6c792074686520506c656467652041677265656d656e742063616e206265604482015265103ab9b2b21760d11b60648201526084016105d5565b60008111610c515760405162461bcd60e51b815260206004820152601d60248201527f4e4654204944206d7573742062652067726561746572207468616e203000000060448201526064016105d5565b61051b828261169d565b610c7683838360405180602001604052806000815250610f7e565b505050565b6000610c8660085490565b8210610caf5760405163295f44f760e21b815260006004820152602481018390526044016105d5565b60088281548110610cc257610cc2612903565b90600052602060002001549050919050565b600061044f826111e2565b6060600a8054806020026020016040519081016040528092919081815260200182805480156104dd57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610d19575050505050905090565b60006001600160a01b038216610d85576040517f89c62b64000000000000000000000000000000000000000000000000000000008152600060048201526024016105d5565b506001600160a01b031660009081526003602052604090205490565b606060018054610464906128c9565b6000610e14600a80548060200260200160405190810160405280929190818152602001828054801561057a576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161055c57505050505033611228565b9050600181151514610e685760405162461bcd60e51b815260206004820152601760248201527f466f722061646d696e6973747261746f7273206f6e6c7900000000000000000060448201526064016105d5565b50600c805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b61051b3383836116b7565b600c546001600160a01b03163314610f0c5760405162461bcd60e51b815260206004820152602660248201527f4f6e6c792074686520506c656467652041677265656d656e742063616e206265604482015265103ab9b2b21760d11b60648201526084016105d5565b6000610f68600d805480602002602001604051908101604052809291908181526020018280548015610f5d57602002820191906000526020600020905b815481526020019060010190808311610f49575b50505050508361176f565b8051909150610c7690600d9060208401906123f4565b610f898484846107b1565b61084f84848484611946565b6060610fa0826111e2565b506000610fb860408051602081019091526000815290565b90506000815111610fd85760405180602001604052806000815250611003565b80610fe284611a68565b604051602001610ff3929190612919565b6040516020818303038152906040525b9392505050565b600d818154811061101a57600080fd5b600091825260209091200154905081565b6060600d8054806020026020016040519081016040528092919081815260200182805480156104dd57602002820191906000526020600020905b815481526020019060010190808311611065575050505050905090565b600c546001600160a01b031633146110eb5760405162461bcd60e51b815260206004820152602660248201527f4f6e6c792074686520506c656467652041677265656d656e742063616e206265604482015265103ab9b2b21760d11b60648201526084016105d5565b6000610f68600d80548060200260200160405190810160405280929190818152602001828054801561113c57602002820191906000526020600020905b815481526020019060010190808311611128575b505050505083611b08565b60006001600160e01b031982167f80ac58cd0000000000000000000000000000000000000000000000000000000014806111aa57506001600160e01b031982167f5b5e139f00000000000000000000000000000000000000000000000000000000145b8061044f57507f01ffc9a7000000000000000000000000000000000000000000000000000000006001600160e01b031983161461044f565b6000818152600260205260408120546001600160a01b03168061044f57604051637e27328960e01b8152600481018490526024016105d5565b610c768383836001611c15565b60008060005b845181101561127a57836001600160a01b031685828151811061125357611253612903565b60200260200101516001600160a01b031603611272576001915061127a565b60010161122e565b509392505050565b60606000835167ffffffffffffffff8111156112a0576112a061253c565b6040519080825280602002602001820160405280156112c9578160200160208202803683370190505b50905060005b83518110156113695760005b8551811015611360578482815181106112f6576112f6612903565b60200260200101516001600160a01b031686828151811061131957611319612903565b60200260200101516001600160a01b03160361135857600183828151811061134357611343612903565b91151560209283029190910190910152611360565b6001016112db565b506001016112cf565b506000805b85518110156113ab5782818151811061138957611389612903565b60200260200101516113a3578161139f8161295e565b9250505b60010161136e565b5060008167ffffffffffffffff8111156113c7576113c761253c565b6040519080825280602002602001820160405280156113f0578160200160208202803683370190505b5090506000805b87518110156114785784818151811061141257611412612903565b60200260200101516114705787818151811061143057611430612903565b602002602001015183838151811061144a5761144a612903565b6001600160a01b03909216602092830291909101909101528161146c8161295e565b9250505b6001016113f7565b50909695505050505050565b6000806114e1600d8054806020026020016040519081016040528092919081815260200182805480156114d657602002820191906000526020600020905b8154815260200190600101908083116114c2575b505050505085611d60565b905080156115575760405162461bcd60e51b815260206004820152603260248201527f556e61626c6520746f205472616e736665722c20746865204e465420546f6b6560448201527f6e6420697320626c61636b6c69737465642e000000000000000000000000000060648201526084016105d5565b611562858585611da0565b95945050505050565b606060008251845161157d9190612977565b905060008167ffffffffffffffff81111561159a5761159a61253c565b6040519080825280602002602001820160405280156115c3578160200160208202803683370190505b5090506000805b865181101561162c578681815181106115e5576115e5612903565b60200260200101518383815181106115ff576115ff612903565b6001600160a01b0390921660209283029190910190910152816116218161295e565b9250506001016115ca565b5060005b85518110156116925785818151811061164b5761164b612903565b602002602001015183838151811061166557611665612903565b6001600160a01b0390921660209283029190910190910152816116878161295e565b925050600101611630565b509095945050505050565b61051b828260405180602001604052806000815250611e75565b6001600160a01b038216611702576040517f5b08ba180000000000000000000000000000000000000000000000000000000081526001600160a01b03831660048201526024016105d5565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b60606000835167ffffffffffffffff81111561178d5761178d61253c565b6040519080825280602002602001820160405280156117b6578160200160208202803683370190505b50905060005b83518110156118445760005b855181101561183b578482815181106117e3576117e3612903565b60200260200101518682815181106117fd576117fd612903565b60200260200101510361183357600183828151811061181e5761181e612903565b9115156020928302919091019091015261183b565b6001016117c8565b506001016117bc565b506000805b85518110156118865782818151811061186457611864612903565b602002602001015161187e578161187a8161295e565b9250505b600101611849565b5060008167ffffffffffffffff8111156118a2576118a261253c565b6040519080825280602002602001820160405280156118cb578160200160208202803683370190505b5090506000805b8751811015611478578481815181106118ed576118ed612903565b602002602001015161193e5787818151811061190b5761190b612903565b602002602001015183838151811061192557611925612903565b60209081029190910101528161193a8161295e565b9250505b6001016118d2565b6001600160a01b0383163b1561084f57604051630a85bd0160e11b81526001600160a01b0384169063150b7a029061198890339088908790879060040161298a565b6020604051808303816000875af19250505080156119c3575060408051601f3d908101601f191682019092526119c0918101906129c6565b60015b611a2c573d8080156119f1576040519150601f19603f3d011682016040523d82523d6000602084013e6119f6565b606091505b508051600003611a2457604051633250574960e11b81526001600160a01b03851660048201526024016105d5565b805181602001fd5b6001600160e01b03198116630a85bd0160e11b146107aa57604051633250574960e11b81526001600160a01b03851660048201526024016105d5565b60606000611a7583611e8c565b600101905060008167ffffffffffffffff811115611a9557611a9561253c565b6040519080825280601f01601f191660200182016040528015611abf576020820181803683370190505b5090508181016020015b600019017f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8504945084611ac957509392505050565b6060600082518451611b1a9190612977565b905060008167ffffffffffffffff811115611b3757611b3761253c565b604051908082528060200260200182016040528015611b60578160200160208202803683370190505b5090506000805b8651811015611bbc57868181518110611b8257611b82612903565b6020026020010151838381518110611b9c57611b9c612903565b602090810291909101015281611bb18161295e565b925050600101611b67565b5060005b855181101561169257858181518110611bdb57611bdb612903565b6020026020010151838381518110611bf557611bf5612903565b602090810291909101015281611c0a8161295e565b925050600101611bc0565b8080611c2957506001600160a01b03821615155b15611d23576000611c39846111e2565b90506001600160a01b03831615801590611c655750826001600160a01b0316816001600160a01b031614155b8015611c9757506001600160a01b0380821660009081526005602090815260408083209387168352929052205460ff16155b15611cd9576040517fa9fbf51f0000000000000000000000000000000000000000000000000000000081526001600160a01b03841660048201526024016105d5565b8115611d215783856001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b50506000908152600460205260409020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b60008060005b845181101561127a5783858281518110611d8257611d82612903565b602002602001015103611d98576001915061127a565b600101611d66565b600080611dae858585611f6e565b90506001600160a01b038116611e0b57611e0684600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b611e2e565b846001600160a01b0316816001600160a01b031614611e2e57611e2e8185612074565b6001600160a01b038516611e4a57611e4584612105565b611e6d565b846001600160a01b0316816001600160a01b031614611e6d57611e6d85856121b4565b949350505050565b611e7f8383612204565b610c766000848484611946565b6000807a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611ed5577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000830492506040015b6d04ee2d6d415b85acef81000000008310611f01576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310611f1f57662386f26fc10000830492506010015b6305f5e1008310611f37576305f5e100830492506008015b6127108310611f4b57612710830492506004015b60648310611f5d576064830492506002015b600a831061044f5760010192915050565b6000828152600260205260408120546001600160a01b0390811690831615611f9b57611f9b818486612282565b6001600160a01b03811615611fd957611fb8600085600080611c15565b6001600160a01b038116600090815260036020526040902080546000190190555b6001600160a01b03851615612008576001600160a01b0385166000908152600360205260409020805460010190555b600084815260026020526040808220805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0389811691821790925591518793918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4949350505050565b600061207f83610d40565b6000838152600760205260409020549091508082146120d2576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b600854600090612117906001906129e3565b6000838152600960205260408120546008805493945090928490811061213f5761213f612903565b90600052602060002001549050806008838154811061216057612160612903565b6000918252602080832090910192909255828152600990915260408082208490558582528120556008805480612198576121986129f6565b6001900381819060005260206000200160009055905550505050565b600060016121c184610d40565b6121cb91906129e3565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b6001600160a01b03821661222e57604051633250574960e11b8152600060048201526024016105d5565b600061223c83836000611484565b90506001600160a01b03811615610c76576040517f73c6ac6e000000000000000000000000000000000000000000000000000000008152600060048201526024016105d5565b61228d8383836122ff565b610c76576001600160a01b0383166122bb57604051637e27328960e01b8152600481018290526024016105d5565b6040517f177e802f0000000000000000000000000000000000000000000000000000000081526001600160a01b0383166004820152602481018290526044016105d5565b60006001600160a01b03831615801590611e6d5750826001600160a01b0316846001600160a01b0316148061235957506001600160a01b0380851660009081526005602090815260408083209387168352929052205460ff165b80611e6d5750506000908152600460205260409020546001600160a01b03908116911614919050565b8280548282559060005260206000209081019282156123e4579160200282015b828111156123e4578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039091161782556020909201916001909101906123a2565b506123f092915061242f565b5090565b8280548282559060005260206000209081019282156123e4579160200282015b828111156123e4578251825591602001919060010190612414565b5b808211156123f05760008155600101612430565b6001600160e01b03198116811461245a57600080fd5b50565b60006020828403121561246f57600080fd5b813561100381612444565b60005b8381101561249557818101518382015260200161247d565b50506000910152565b600081518084526124b681602086016020860161247a565b601f01601f19169290920160200192915050565b602081526000611003602083018461249e565b6000602082840312156124ef57600080fd5b5035919050565b80356001600160a01b038116811461250d57600080fd5b919050565b6000806040838503121561252557600080fd5b61252e836124f6565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561257b5761257b61253c565b604052919050565b600067ffffffffffffffff82111561259d5761259d61253c565b5060051b60200190565b600060208083850312156125ba57600080fd5b823567ffffffffffffffff8111156125d157600080fd5b8301601f810185136125e257600080fd5b80356125f56125f082612583565b612552565b81815260059190911b8201830190838101908783111561261457600080fd5b928401925b828410156126395761262a846124f6565b82529284019290840190612619565b979650505050505050565b60008060006060848603121561265957600080fd5b612662846124f6565b9250612670602085016124f6565b9150604084013590509250925092565b6020808252825182820181905260009190848201906040850190845b818110156114785783516001600160a01b03168352928401929184019160010161269c565b6000602082840312156126d357600080fd5b611003826124f6565b600080604083850312156126ef57600080fd5b6126f8836124f6565b91506020830135801515811461270d57600080fd5b809150509250929050565b6000602080838503121561272b57600080fd5b823567ffffffffffffffff81111561274257600080fd5b8301601f8101851361275357600080fd5b80356127616125f082612583565b81815260059190911b8201830190838101908783111561278057600080fd5b928401925b8284101561263957833582529284019290840190612785565b600080600080608085870312156127b457600080fd5b6127bd856124f6565b935060206127cc8187016124f6565b935060408601359250606086013567ffffffffffffffff808211156127f057600080fd5b818801915088601f83011261280457600080fd5b8135818111156128165761281661253c565b612828601f8201601f19168501612552565b9150808252898482850101111561283e57600080fd5b808484018584013760008482840101525080935050505092959194509250565b6020808252825182820181905260009190848201906040850190845b818110156114785783518352928401929184019160010161287a565b600080604083850312156128a957600080fd5b6128b2836124f6565b91506128c0602084016124f6565b90509250929050565b600181811c908216806128dd57607f821691505b6020821081036128fd57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b6000835161292b81846020880161247a565b83519083019061293f81836020880161247a565b01949350505050565b634e487b7160e01b600052601160045260246000fd5b60006001820161297057612970612948565b5060010190565b8082018082111561044f5761044f612948565b60006001600160a01b038087168352808616602084015250836040830152608060608301526129bc608083018461249e565b9695505050505050565b6000602082840312156129d857600080fd5b815161100381612444565b8181038181111561044f5761044f612948565b634e487b7160e01b600052603160045260246000fdfea264697066735822122019882c7d1e074f47e5b0c81020aeb5869dd3763bed5f30f082cf5619c9e36f1564736f6c63430008180033"; + +type NFTConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: NFTConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class NFT__factory extends ContractFactory { + constructor(...args: NFTConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + name: string, + symbol: string, + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(name, symbol, overrides || {}); + } + override deploy( + name: string, + symbol: string, + overrides?: NonPayableOverrides & { from?: string } + ) { + return super.deploy(name, symbol, overrides || {}) as Promise< + NFT & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): NFT__factory { + return super.connect(runner) as NFT__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): NFTInterface { + return new Interface(_abi) as NFTInterface; + } + static connect(address: string, runner?: ContractRunner | null): NFT { + return new Contract(address, _abi, runner) as unknown as NFT; + } +} diff --git a/src/contract/typechain-types/factories/contracts/Pledge__factory.ts b/src/contract/typechain-types/factories/contracts/Pledge__factory.ts new file mode 100644 index 0000000..199e4df --- /dev/null +++ b/src/contract/typechain-types/factories/contracts/Pledge__factory.ts @@ -0,0 +1,1373 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../common"; +import type { Pledge, PledgeInterface } from "../../contracts/Pledge"; + +const _abi = [ + { + inputs: [], + name: "InvalidInitialization", + type: "error", + }, + { + inputs: [], + name: "NotInitializing", + type: "error", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint64", + name: "version", + type: "uint64", + }, + ], + name: "Initialized", + type: "event", + }, + { + inputs: [ + { + internalType: "address[]", + name: "_blacks", + type: "address[]", + }, + { + internalType: "uint256", + name: "_type", + type: "uint256", + }, + ], + name: "addBlackOrWhiteList", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256[]", + name: "_tokenIds", + type: "uint256[]", + }, + ], + name: "addNftBalcks", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "blackList", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "uint256", + name: "startTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "endTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "withdrawTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "pledgeAmount", + type: "uint256", + }, + { + internalType: "uint256", + name: "rate", + type: "uint256", + }, + { + internalType: "uint256", + name: "pledgeDay", + type: "uint256", + }, + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "bool", + name: "isBlack", + type: "bool", + }, + ], + internalType: "struct PledgeType", + name: "_pledge", + type: "tuple", + }, + ], + name: "calculateInterest", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "dayTime", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "_blacks", + type: "address[]", + }, + { + internalType: "uint256", + name: "_type", + type: "uint256", + }, + ], + name: "delBlackOrWhiteList", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256[]", + name: "_ids", + type: "uint256[]", + }, + ], + name: "deleteNftBlacks", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "destroyPledge", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "addr", + type: "address", + }, + ], + name: "getAllInvitationMember", + outputs: [ + { + components: [ + { + internalType: "address", + name: "key", + type: "address", + }, + { + internalType: "address", + name: "referrer", + type: "address", + }, + { + internalType: "uint256", + name: "bindTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "contribute", + type: "uint256", + }, + ], + internalType: "struct RecommendObjType[]", + name: "result", + type: "tuple[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_type", + type: "uint256", + }, + ], + name: "getBlackOrWhiteList", + outputs: [ + { + internalType: "address[]", + name: "", + type: "address[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getCurrentTime", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "uint256", + name: "_type", + type: "uint256", + }, + ], + name: "getDetails", + outputs: [ + { + components: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "uint256", + name: "startTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "endTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "withdrawTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "pledgeAmount", + type: "uint256", + }, + { + internalType: "uint256", + name: "rate", + type: "uint256", + }, + { + internalType: "uint256", + name: "pledgeDay", + type: "uint256", + }, + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "bool", + name: "isBlack", + type: "bool", + }, + ], + internalType: "struct PledgeType", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_owner", + type: "address", + }, + ], + name: "getInvitationWithdrawRecord", + outputs: [ + { + components: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "createTime", + type: "uint256", + }, + ], + internalType: "struct InvitationWithdrawRecordType[]", + name: "", + type: "tuple[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "getOwnerAllInvitationWithdrawAmout", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_ownerAddress", + type: "address", + }, + ], + name: "getOwnerAllPledgeInfo", + outputs: [ + { + components: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "uint256", + name: "startTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "endTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "withdrawTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "pledgeAmount", + type: "uint256", + }, + { + internalType: "uint256", + name: "rate", + type: "uint256", + }, + { + internalType: "uint256", + name: "pledgeDay", + type: "uint256", + }, + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "bool", + name: "isBlack", + type: "bool", + }, + ], + internalType: "struct PledgeType[]", + name: "result", + type: "tuple[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_ownerAddress", + type: "address", + }, + ], + name: "getOwnerAllTokens", + outputs: [ + { + internalType: "uint256[]", + name: "", + type: "uint256[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "addr", + type: "address", + }, + ], + name: "getOwnerInvitationPledges", + outputs: [ + { + components: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "uint256", + name: "startTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "endTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "withdrawTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "pledgeAmount", + type: "uint256", + }, + { + internalType: "uint256", + name: "rate", + type: "uint256", + }, + { + internalType: "uint256", + name: "pledgeDay", + type: "uint256", + }, + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "bool", + name: "isBlack", + type: "bool", + }, + ], + internalType: "struct PledgeType[]", + name: "result", + type: "tuple[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_owner", + type: "address", + }, + ], + name: "getPledgeDestoryRecords", + outputs: [ + { + components: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "uint256", + name: "startTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "endTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "withdrawTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "pledgeAmount", + type: "uint256", + }, + { + internalType: "uint256", + name: "rate", + type: "uint256", + }, + { + internalType: "uint256", + name: "pledgeDay", + type: "uint256", + }, + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "bool", + name: "isBlack", + type: "bool", + }, + ], + internalType: "struct PledgeType[]", + name: "", + type: "tuple[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_owner", + type: "address", + }, + ], + name: "getPledgeRecords", + outputs: [ + { + components: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "uint256", + name: "startTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "endTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "withdrawTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "pledgeAmount", + type: "uint256", + }, + { + internalType: "uint256", + name: "rate", + type: "uint256", + }, + { + internalType: "uint256", + name: "pledgeDay", + type: "uint256", + }, + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "bool", + name: "isBlack", + type: "bool", + }, + ], + internalType: "struct PledgeType[]", + name: "", + type: "tuple[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_owner", + type: "address", + }, + ], + name: "getPledgeWithdrawRecord", + outputs: [ + { + components: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "createTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "uint256", + name: "pledgeDay", + type: "uint256", + }, + { + internalType: "uint256", + name: "_type", + type: "uint256", + }, + ], + internalType: "struct PledgeWithdrawRecordType[]", + name: "", + type: "tuple[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getProductInfo", + outputs: [ + { + components: [ + { + internalType: "uint256", + name: "day", + type: "uint256", + }, + { + internalType: "uint256", + name: "rate", + type: "uint256", + }, + ], + internalType: "struct ProductInfo[]", + name: "", + type: "tuple[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_owner", + type: "address", + }, + ], + name: "getWithdrawbleAmount", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "nftAddress", + type: "address", + }, + { + internalType: "address", + name: "poolAddress", + type: "address", + }, + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "invitationAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "invitationPledges", + outputs: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "uint256", + name: "startTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "endTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "withdrawTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "pledgeAmount", + type: "uint256", + }, + { + internalType: "uint256", + name: "rate", + type: "uint256", + }, + { + internalType: "uint256", + name: "pledgeDay", + type: "uint256", + }, + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "bool", + name: "isBlack", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "invitationRate", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "invitationTokens", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "invitationWithdrawRecord", + outputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "createTime", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "nextTokenId", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "index", + type: "uint256", + }, + { + internalType: "address", + name: "_referrer", + type: "address", + }, + ], + name: "pledge", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "pledgeDestoryRecords", + outputs: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "uint256", + name: "startTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "endTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "withdrawTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "pledgeAmount", + type: "uint256", + }, + { + internalType: "uint256", + name: "rate", + type: "uint256", + }, + { + internalType: "uint256", + name: "pledgeDay", + type: "uint256", + }, + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "bool", + name: "isBlack", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "pledgeRecords", + outputs: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "uint256", + name: "startTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "endTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "withdrawTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "pledgeAmount", + type: "uint256", + }, + { + internalType: "uint256", + name: "rate", + type: "uint256", + }, + { + internalType: "uint256", + name: "pledgeDay", + type: "uint256", + }, + { + internalType: "address", + name: "sender", + type: "address", + }, + { + internalType: "bool", + name: "isBlack", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "pledgeStatus", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "pledgeWithdrawRecord", + outputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "uint256", + name: "createTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "uint256", + name: "pledgeDay", + type: "uint256", + }, + { + internalType: "uint256", + name: "_type", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "productInfo", + outputs: [ + { + internalType: "uint256", + name: "day", + type: "uint256", + }, + { + internalType: "uint256", + name: "rate", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + name: "recommendObj", + outputs: [ + { + internalType: "address", + name: "key", + type: "address", + }, + { + internalType: "address", + name: "referrer", + type: "address", + }, + { + internalType: "uint256", + name: "bindTime", + type: "uint256", + }, + { + internalType: "uint256", + name: "contribute", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "_rate", + type: "uint256", + }, + ], + name: "setInvitationRate", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bool", + name: "_status", + type: "bool", + }, + ], + name: "setPledgeStatus", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256[]", + name: "_days", + type: "uint256[]", + }, + { + internalType: "uint256[]", + name: "_rates", + type: "uint256[]", + }, + ], + name: "setProductInfo", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + name: "whiteList", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "withdraAllInterest", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "withdraInvitationAllInterest", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "withdrawInterest", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "withdrawInvitationInterest", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +const _bytecode = + "0x608060405234801561001057600080fd5b50614e87806100206000396000f3fe608060405234801561001057600080fd5b50600436106102f45760003560e01c806392e6c01e11610191578063d6083337116100e3578063e8c8585111610097578063f30d4de511610071578063f30d4de51461078f578063fc72a385146107a2578063fe906a1b146107b757600080fd5b8063e8c8585114610756578063ebcbe33214610769578063f2f76c571461077c57600080fd5b8063e0b65e56116100c8578063e0b65e5614610703578063e205d7c814610716578063e56c64ef1461073657600080fd5b8063d6083337146106dd578063dd0ebe3e146106f057600080fd5b8063aeebe27111610145578063bb119f6e1161011f578063bb119f6e1461068f578063c68a3c8e146106b7578063d468e615146106ca57600080fd5b8063aeebe27114610656578063af85805b14610669578063b4ca65e61461067c57600080fd5b8063a2a2d77911610176578063a2a2d779146105c3578063a6e189cf146105d6578063a95e780c1461064357600080fd5b806392e6c01e1461059d5780639589f8ea146105b057600080fd5b806349ebbfa61161024a578063665aacca116101fe57806375794a3c116101d857806375794a3c1461056b57806380c0976e146105745780638d6ca85b1461057d57600080fd5b8063665aacca1461053d5780636efd33e814610550578063709ec8b41461055857600080fd5b80635888a3e41161022f5780635888a3e4146104ec57806359540f5e146104ff5780635c475d421461051257600080fd5b806349ebbfa6146104915780634c519a7f146104b157600080fd5b806329cb924d116102ac57806342e0ee3b1161028657806342e0ee3b1461045657806345599a9d1461045e578063485cc9551461047e57600080fd5b806329cb924d1461041d5780633715dac6146104235780633c02ecad1461043657600080fd5b806308669aab116102dd57806308669aab146103cb5780630a17e685146103e057806322eee1df146103fd57600080fd5b806304804035146102f9578063058afac914610315575b600080fd5b610302600e5481565b6040519081526020015b60405180910390f35b61037c6103233660046145d6565b60056020819052600091825260409091208054600182015460028301546003840154600485015495850154600686015460079096015494969395929491939290916001600160a01b03811690600160a01b900460ff1689565b60408051998a5260208a0198909852968801959095526060870193909352608086019190915260a085015260c08401526001600160a01b031660e083015215156101008201526101200161030c565b6103de6103d93660046145d6565b6107ca565b005b6010546103ed9060ff1681565b604051901515815260200161030c565b61041061040b366004614614565b610bbd565b60405161030c9190614638565b42610302565b610302610431366004614729565b610d46565b610449610444366004614614565b610dc9565b60405161030c91906147ae565b6103de610ea5565b61047161046c366004614614565b6111c5565b60405161030c9190614851565b6103de61048c36600461489b565b611243565b6104a461049f3660046145d6565b61149f565b60405161030c91906148d4565b6104c46104bf366004614915565b611513565b604080519586526020860194909452928401919091526060830152608082015260a00161030c565b6103de6104fa366004614941565b611561565b6103de61050d366004614a0d565b611b4f565b6105256105203660046145d6565b611e23565b6040516001600160a01b03909116815260200161030c565b6103de61054b366004614a4a565b611e4d565b6103de611fbb565b6105256105663660046145d6565b61226a565b610302600f5481565b61030260115481565b61059061058b366004614614565b61227a565b60405161030c9190614aae565b6103de6105ab3660046145d6565b612413565b6103de6105be366004614ae6565b612809565b6105256105d1366004614915565b612a43565b6106186105e4366004614614565b60066020526000908152604090208054600182015460028301546003909301546001600160a01b0392831693919092169184565b604080516001600160a01b03958616815294909316602085015291830152606082015260800161030c565b6103de6106513660046145d6565b612a7b565b610302610664366004614614565b612b5a565b610302610677366004614614565b612bba565b61044961068a366004614614565b612ca8565b6106a261069d3660046145d6565b612d76565b6040805192835260208301919091520161030c565b6103de6106c53660046145d6565b612da4565b6103de6106d8366004614ae6565b613117565b6103026106eb366004614915565b613333565b61037c6106fe366004614915565b613364565b610449610711366004614614565b6133db565b610729610724366004614b86565b61356a565b60405161030c9190614ba8565b610749610744366004614614565b6136e4565b60405161030c9190614c17565b6103de610764366004614a0d565b613780565b610449610777366004614614565b6139df565b6103de61078a366004614c78565b613bc4565b61037c61079d366004614915565b613cb1565b6107aa613ccd565b60405161030c9190614c93565b6106a26107c5366004614915565b613d40565b6000610830600b80548060200260200160405190810160405280929190818152602001828054801561082557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610807575b505050505033613d7c565b905080156108855760405162461bcd60e51b815260206004820152601860248201527f596f75277665206265656e20626c61636b6c69737465642e000000000000000060448201526064015b60405180910390fd5b600080546040516331a9108f60e11b8152600481018590526001600160a01b0390911690636352211e90602401602060405180830381865afa1580156108cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f39190614cdd565b90506001600160a01b038116331461094d5760405162461bcd60e51b815260206004820152601460248201527f49742773206e6f74206120636f6e74726163742e000000000000000000000000604482015260640161087c565b6000838152600360208181526040928390208351610120810185528154815260018201549281019290925260028101549382019390935290820154606082015260048201546080820152600582015460a0820152600682015460c08201526007909101546001600160a01b03811660e0830152600160a01b900460ff16158015610100830152610a455760405162461bcd60e51b815260206004820152603160248201527f556e61626c6520746f2077697468647261772c746865204e465420546f6b656e60448201527f6420697320626c61636b6c69737465642e000000000000000000000000000000606482015260840161087c565b6000610a5082610d46565b905060008111610ab35760405162461bcd60e51b815260206004820152602860248201527f5769746864726177616c20616d6f756e74206d75737420626520677265617465604482015267072207468616e20360c41b606482015260840161087c565b60408201514290811115610ac8575060408201515b60015460405163f3fef3a360e01b8152336004820152602481018490526001600160a01b039091169063f3fef3a390604401600060405180830381600087803b158015610b1457600080fd5b505af1158015610b28573d6000803e3d6000fd5b50505060009687525060036020818152604080892083019390935533885260098152828820835160a08101855294855242858301908152865194860194855260c0909601516060860190815260016080870181815283548083018555938c5293909a20955160059092029095019081559451978501979097559051600284015590519082015592516004909301929092555050565b6001600160a01b0381166000908152600860209081526040808320805482518185028101850190935280835260609493830182828015610c2657602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610c08575b50505050509050805167ffffffffffffffff811115610c4757610c476146a8565b604051908082528060200260200182016040528015610c9957816020015b604080516080810182526000808252602080830182905292820181905260608201528252600019909201910181610c655790505b50915060005b8151811015610d3f5760066000838381518110610cbe57610cbe614cfa565b6020908102919091018101516001600160a01b03908116835282820193909352604091820160002082516080810184528154851681526001820154909416918401919091526002810154918301919091526003015460608201528351849083908110610d2c57610d2c614cfa565b6020908102919091010152600101610c9f565b5050919050565b6080810151606082015160a083015160408401516000939242929091831115610d7157856040015192505b601154600090610d818486614d26565b610d8b9190614d39565b9050600060648261016d610d9f868a614d5b565b610da99190614d39565b610db39190614d5b565b610dbd9190614d39565b98975050505050505050565b6001600160a01b0381166000908152600d60209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610e9a57600084815260209081902060408051610120810182526008860290920180548352600180820154848601526002820154928401929092526003810154606084015260048101546080840152600581015460a0840152600681015460c0840152600701546001600160a01b03811660e0840152600160a01b900460ff1615156101008301529083529092019101610e01565b505050509050919050565b6000610f09600b805480602002602001604051908101604052809291908181526020018280548015610825576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161080757505050505033613d7c565b90508015610f595760405162461bcd60e51b815260206004820152601860248201527f596f75277665206265656e20626c61636b6c69737465642e0000000000000000604482015260640161087c565b6000610f6433612bba565b905060008111610fc75760405162461bcd60e51b815260206004820152602860248201527f5769746864726177616c20616d6f756e74206d75737420626520677265617465604482015267072207468616e20360c41b606482015260840161087c565b6000610fd23361227a565b905060005b81518110156110e35760004290506000838381518110610ff957610ff9614cfa565b602002602001015190506003600082815260200190815260200160002060070160149054906101000a900460ff161561109a5760405162461bcd60e51b815260206004820152603260248201527f556e61626c6520746f2077697468647261772c20746865204e465420546f6b6560448201527f6e6420697320626c61636b6c69737465642e0000000000000000000000000000606482015260840161087c565b6000818152600360205260409020600201548211156110c85760008181526003602052604090206002015491505b60009081526003602081905260409091200155600101610fd7565b5060015460405163f3fef3a360e01b8152336004820152602481018490526001600160a01b039091169063f3fef3a390604401600060405180830381600087803b15801561113057600080fd5b505af1158015611144573d6000803e3d6000fd5b5050336000908152600960209081526040808320815160a0810183529788524288840190815291880184815260608901858152600260808b01818152845460018181018755958952969097209a516005909602909a019485559251918401919091555196820196909655945160038601555160049094019390935550505050565b6001600160a01b0381166000908152600a60209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610e9a578382906000526020600020906002020160405180604001604052908160008201548152602001600182015481525050815260200190600101906111fd565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff1660008115801561128e5750825b905060008267ffffffffffffffff1660011480156112ab5750303b155b9050811580156112b9575080155b156112f0576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561132457845468ff00000000000000001916680100000000000000001785555b600080546001600160a01b03808a1673ffffffffffffffffffffffffffffffffffffffff1992831617835560018054918a1691909216178155600f818155600e8281556010805460ff191681556201518060115560408051808201825260b481526020808201948552600280548089018255818a5292519281027f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace8181019490945595517f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acf968701558351808501855261010e81528083019788528154808a018355828b52905190820280850191909155965196860196909655825180840190935261016883528201928352845495860185559584905251939092029384019290925551910155831561149657845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b6060816001146114b057600c6114b3565b600b5b80548060200260200160405190810160405280929190818152602001828054801561150757602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116114e9575b50505050509050919050565b6009602052816000526040600020818154811061152f57600080fd5b600091825260209091206005909102018054600182015460028301546003840154600490940154929550909350919085565b60006115c5600b805480602002602001604051908101604052809291908181526020018280548015610825576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161080757505050505033613d7c565b905080156116155760405162461bcd60e51b815260206004820152601860248201527f596f75277665206265656e20626c61636b6c69737465642e0000000000000000604482015260640161087c565b6000611679600c805480602002602001604051908101604052809291908181526020018280548015610825576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161080757505050505033613d7c565b9050806116d35760105460ff16156116d35760405162461bcd60e51b815260206004820152601560248201527f54686520706c6564676520697320636c6f7365642e0000000000000000000000604482015260640161087c565b60018510156117245760405162461bcd60e51b815260206004820152601360248201527f4d696e696d756d20706c65646765203146494c00000000000000000000000000604482015260640161087c565b60025484106117755760405162461bcd60e51b815260206004820152601660248201527f50726f6475637420646f6573206e6f7420657869737400000000000000000000604482015260640161087c565b6001546040517f47e7ef24000000000000000000000000000000000000000000000000000000008152336004820152602481018790526001600160a01b03909116906347e7ef2490604401600060405180830381600087803b1580156117da57600080fd5b505af11580156117ee573d6000803e3d6000fd5b5050600f80546000935091508261180483614d72565b9091555090506001600160a01b038416156118225761182284613dce565b60006002868154811061183757611837614cfa565b600091825260208083206040805180820190915260029093020180548084526001909101549183019190915260115491935042929161187591614d5b565b61187f9042614d8b565b6000546040517f40c10f19000000000000000000000000000000000000000000000000000000008152336004820152602481018790529192506001600160a01b0316906340c10f1990604401600060405180830381600087803b1580156118e557600080fd5b505af11580156118f9573d6000803e3d6000fd5b5050505060006040518061012001604052808681526020018481526020018381526020018481526020018b81526020018560200151815260200185600001518152602001336001600160a01b031681526020016000151581525090508060036000878152602001908152602001600020600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004015560a0820151816005015560c0820151816006015560e08201518160070160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506101008201518160070160146101000a81548160ff02191690831515021790555090505060046000336001600160a01b03166001600160a01b03168152602001908152602001600020819080600181540180825580915050600190039060005260206000209060080201600090919091909150600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004015560a0820151816005015560c0820151816006015560e08201518160070160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506101008201518160070160146101000a81548160ff021916908315150217905550505060006001600160a01b031660066000336001600160a01b03166001600160a01b0316815260200190815260200160002060000160009054906101000a90046001600160a01b03166001600160a01b031614611b4357611b4381613fa6565b50505050505050505050565b60008060009054906101000a90046001600160a01b03166001600160a01b0316636e9960c36040518163ffffffff1660e01b8152600401600060405180830381865afa158015611ba3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611bcb9190810190614d9e565b90506000611bd98233613d7c565b9050600181151514611c275760405162461bcd60e51b8152602060048201526017602482015276466f722061646d696e6973747261746f7273206f6e6c7960481b604482015260640161087c565b6000835111611c785760405162461bcd60e51b815260206004820152601260248201527f506172616d6574657220697320656d7074790000000000000000000000000000604482015260640161087c565b6000546040517fec329a250000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063ec329a2590611cc1908690600401614aae565b600060405180830381600087803b158015611cdb57600080fd5b505af1158015611cef573d6000803e3d6000fd5b5050505060005b8351811015611e1d576000848281518110611d1357611d13614cfa565b602090810291909101810151600081815260039092526040909120600701549091506001600160a01b0316611d8a5760405162461bcd60e51b815260206004820152601560248201527f4e465420494420646f6573206e6f742065786973740000000000000000000000604482015260640161087c565b600081815260036020526040902060070154600160a01b900460ff1615611df35760405162461bcd60e51b815260206004820152601560248201527f4e465420494420616c7265616479206578697374730000000000000000000000604482015260640161087c565b6000908152600360205260409020600701805460ff60a01b1916600160a01b179055600101611cf6565b50505050565b600c8181548110611e3357600080fd5b6000918252602090912001546001600160a01b0316905081565b60008060009054906101000a90046001600160a01b03166001600160a01b0316636e9960c36040518163ffffffff1660e01b8152600401600060405180830381865afa158015611ea1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611ec99190810190614d9e565b90506000611ed78233613d7c565b9050600181151514611f255760405162461bcd60e51b8152602060048201526017602482015276466f722061646d696e6973747261746f7273206f6e6c7960481b604482015260640161087c565b611f31600260006144d5565b60005b6003811015611fb45760026040518060400160405280878481518110611f5c57611f5c614cfa565b60200260200101518152602001868481518110611f7b57611f7b614cfa565b60209081029190910181015190915282546001818101855560009485529382902083516002909202019081559101519082015501611f34565b5050505050565b600061201f600b805480602002602001604051908101604052809291908181526020018280548015610825576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161080757505050505033613d7c565b9050801561206f5760405162461bcd60e51b815260206004820152601860248201527f596f75277665206265656e20626c61636b6c69737465642e0000000000000000604482015260640161087c565b600061207a33612b5a565b9050600081116120dd5760405162461bcd60e51b815260206004820152602860248201527f5769746864726177616c20616d6f756e74206d75737420626520677265617465604482015267072207468616e20360c41b606482015260840161087c565b3360009081526007602090815260408083208054825181850281018501909352808352919290919083018282801561213457602002820191906000526020600020905b815481526020019060010190808311612120575b5050505050905060005b81518110156121b7576000429050600083838151811061216057612160614cfa565b60200260200101519050816005600083815260200190815260200160002060020154101561219d5760008181526005602052604090206002015491505b60009081526005602052604090206003015560010161213e565b5060015460405163f3fef3a360e01b81523360048201526024810184905242916001600160a01b03169063f3fef3a390604401600060405180830381600087803b15801561220457600080fd5b505af1158015612218573d6000803e3d6000fd5b5050336000908152600a602090815260408083208151808301909252978152808201958652875460018181018a5598845291909220915160029091029091019081559251929094019190915550505050565b600b8181548110611e3357600080fd5b600080546040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0384811660048301526060939216906370a0823190602401602060405180830381865afa1580156122e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123049190614e38565b905060008167ffffffffffffffff811115612321576123216146a8565b60405190808252806020026020018201604052801561234a578160200160208202803683370190505b50905060005b8281101561240b576000546040517f2f745c590000000000000000000000000000000000000000000000000000000081526001600160a01b0387811660048301526024820184905290911690632f745c5990604401602060405180830381865afa1580156123c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123e69190614e38565b8282815181106123f8576123f8614cfa565b6020908102919091010152600101612350565b509392505050565b6000612477600b805480602002602001604051908101604052809291908181526020018280548015610825576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161080757505050505033613d7c565b905080156124c75760405162461bcd60e51b815260206004820152601860248201527f596f75277665206265656e20626c61636b6c69737465642e0000000000000000604482015260640161087c565b600080546040516331a9108f60e11b8152600481018590526001600160a01b0390911690636352211e90602401602060405180830381865afa158015612511573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125359190614cdd565b90506001600160a01b038116331461258f5760405162461bcd60e51b815260206004820152601c60248201527f596f75277265206e6f74206120636f6e7472616374206f776e65722e00000000604482015260640161087c565b60008381526003602081815260409283902083516101208101855281548152600182015492810192909252600281015493820184905291820154606082015260048201546080820152600582015460a0820152600682015460c08201526007909101546001600160a01b03811660e0830152600160a01b900460ff161515610100820152429182116126635760405162461bcd60e51b815260206004820152601a60248201527f556e6578706972656420506c656467652041677265656d656e74000000000000604482015260640161087c565b6000546040517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018790526001600160a01b03909116906323b872dd90606401600060405180830381600087803b1580156126ce57600080fd5b505af11580156126e2573d6000803e3d6000fd5b5050600154608084015160405163f3fef3a360e01b815233600482015260248101919091526001600160a01b03909116925063f3fef3a39150604401600060405180830381600087803b15801561273857600080fd5b505af115801561274c573d6000803e3d6000fd5b5050505060608101918252336000908152600d6020908152604080832080546001818101835591855293839020855160089095020193845591840151918301919091558201516002820155915160038301556080810151600483015560a0810151600583015560c0810151600683015560e081015160079092018054610100909201511515600160a01b0274ffffffffffffffffffffffffffffffffffffffffff199092166001600160a01b039390931692909217179055505050565b60008060009054906101000a90046001600160a01b03166001600160a01b0316636e9960c36040518163ffffffff1660e01b8152600401600060405180830381865afa15801561285d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526128859190810190614d9e565b905060006128938233613d7c565b90506001811515146128e15760405162461bcd60e51b8152602060048201526017602482015276466f722061646d696e6973747261746f7273206f6e6c7960481b604482015260640161087c565b60008451116129325760405162461bcd60e51b815260206004820152601a60248201527f456e746572206174206c65617374206f6e652061646472657373000000000000604482015260640161087c565b826001036129b95760006129a0600b80548060200260200160405190810160405280929190818152602001828054801561299557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612977575b5050505050866141a1565b80519091506129b690600b9060208401906144f9565b50505b82600203611e1d576000612a25600c805480602002602001604051908101604052809291908181526020018280548015612995576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311612977575050505050866141a1565b8051909150612a3b90600c9060208401906144f9565b505050505050565b60086020528160005260406000208181548110612a5f57600080fd5b6000918252602090912001546001600160a01b03169150829050565b60008060009054906101000a90046001600160a01b03166001600160a01b0316636e9960c36040518163ffffffff1660e01b8152600401600060405180830381865afa158015612acf573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612af79190810190614d9e565b90506000612b058233613d7c565b9050600181151514612b535760405162461bcd60e51b8152602060048201526017602482015276466f722061646d696e6973747261746f7273206f6e6c7960481b604482015260640161087c565b5050600e55565b60008080612b67846139df565b905060005b8151811015612bb1576000828281518110612b8957612b89614cfa565b60200260200101519050612b9c81610d46565b612ba69085614d8b565b935050600101612b6c565b50909392505050565b600080612bc68361227a565b90506000815111612bda5750600092915050565b6000805b825181101561240b576000838281518110612bfb57612bfb614cfa565b6020908102919091018101516000818152600380845260409182902082516101208101845281548152600182015495810195909552600281015492850192909252810154606084015260048101546080840152600581015460a0840152600681015460c0840152600701546001600160a01b03811660e0840152600160a01b900460ff1615156101008301529150612c9281610d46565b612c9c9085614d8b565b93505050600101612bde565b6001600160a01b0381166000908152600460209081526040808320805482518185028101850190935280835260609492939192909184018215610e9a57600084815260209081902060408051610120810182526008860290920180548352600180820154848601526002820154928401929092526003810154606084015260048101546080840152600581015460a0840152600681015460c0840152600701546001600160a01b03811660e0840152600160a01b900460ff1615156101008301529083529092019101610e01565b60028181548110612d8657600080fd5b60009182526020909120600290910201805460019091015490915082565b6000612e08600b805480602002602001604051908101604052809291908181526020018280548015610825576020028201919060005260206000209081546001600160a01b0316815260019091019060200180831161080757505050505033613d7c565b90508015612e585760405162461bcd60e51b815260206004820152601860248201527f596f75277665206265656e20626c61636b6c69737465642e0000000000000000604482015260640161087c565b33600090815260076020908152604080832080548251818502810185019093528083529192909190830182828015612eaf57602002820191906000526020600020905b815481526020019060010190808311612e9b575b505050505090506000805b8251811015612efb576000838281518110612ed757612ed7614cfa565b60200260200101519050858103612ef2576001925050612efb565b50600101612eba565b50600181151514612f4e5760405162461bcd60e51b815260206004820152601460248201527f49742773206e6f74206120636f6e74726163742e000000000000000000000000604482015260640161087c565b60008481526005602081815260408084208151610120810183528154815260018201549381019390935260028101549183019190915260038101546060830152600481015460808301529182015460a0820152600682015460c08201526007909101546001600160a01b03811660e0830152600160a01b900460ff16151561010082015290612fdc82610d46565b90506000811161303f5760405162461bcd60e51b815260206004820152602860248201527f5769746864726177616c20616d6f756e74206d75737420626520677265617465604482015267072207468616e20360c41b606482015260840161087c565b60408201514290811115613054575060408201515b60015460405163f3fef3a360e01b8152336004820152602481018490526001600160a01b039091169063f3fef3a390604401600060405180830381600087803b1580156130a057600080fd5b505af11580156130b4573d6000803e3d6000fd5b50505060009788525060056020908152604080892060030192909255338852600a8152818820825180840190935292825242828201908152835460018181018655948a529190982091516002909102909101908155955195019490945550505050565b60008060009054906101000a90046001600160a01b03166001600160a01b0316636e9960c36040518163ffffffff1660e01b8152600401600060405180830381865afa15801561316b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526131939190810190614d9e565b905060006131a18233613d7c565b90506001811515146131ef5760405162461bcd60e51b8152602060048201526017602482015276466f722061646d696e6973747261746f7273206f6e6c7960481b604482015260640161087c565b60008451116132405760405162461bcd60e51b815260206004820152601a60248201527f456e746572206174206c65617374206f6e652061646472657373000000000000604482015260640161087c565b826001036132c75760006132ae600b8054806020026020016040519081016040528092919081815260200182805480156132a357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311613285575b5050505050866142d3565b80519091506132c490600b9060208401906144f9565b50505b82600203611e1d576000612a25600c8054806020026020016040519081016040528092919081815260200182805480156132a3576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311613285575050505050866142d3565b6007602052816000526040600020818154811061334f57600080fd5b90600052602060002001600091509150505481565b600d602052816000526040600020818154811061338057600080fd5b600091825260209091206008909102018054600182015460028301546003840154600485015460058601546006870154600790970154959850939650919490939192916001600160a01b03811690600160a01b900460ff1689565b606060006133e88361227a565b9050805167ffffffffffffffff811115613404576134046146a8565b60405190808252806020026020018201604052801561348f57816020015b61347c6040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b031681526020016000151581525090565b8152602001906001900390816134225790505b50915060005b8151811015610d3f57600360008383815181106134b4576134b4614cfa565b6020908102919091018101518252818101929092526040908101600020815161012081018352815481526001820154938101939093526002810154918301919091526003810154606083015260048101546080830152600581015460a0830152600681015460c0830152600701546001600160a01b03811660e0830152600160a01b900460ff161515610100820152835184908390811061355757613557614cfa565b6020908102919091010152600101613495565b6135c46040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b031681526020016000151581525090565b8160010361365757506000828152600360208181526040928390208351610120810185528154815260018201549281019290925260028101549382019390935290820154606082015260048201546080820152600582015460a0820152600682015460c08201526007909101546001600160a01b03811660e0830152600160a01b900460ff1615156101008201526136de565b506000828152600560208181526040928390208351610120810185528154815260018201549281019290925260028101549382019390935260038301546060820152600483015460808201529082015460a0820152600682015460c08201526007909101546001600160a01b03811660e0830152600160a01b900460ff1615156101008201525b92915050565b6001600160a01b0381166000908152600960209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610e9a57838290600052602060002090600502016040518060a0016040529081600082015481526020016001820154815260200160028201548152602001600382015481526020016004820154815250508152602001906001019061371c565b60008060009054906101000a90046001600160a01b03166001600160a01b0316636e9960c36040518163ffffffff1660e01b8152600401600060405180830381865afa1580156137d4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526137fc9190810190614d9e565b9050600061380a8233613d7c565b90506001811515146138585760405162461bcd60e51b8152602060048201526017602482015276466f722061646d696e6973747261746f7273206f6e6c7960481b604482015260640161087c565b60008351116138a95760405162461bcd60e51b815260206004820152601260248201527f506172616d6574657220697320656d7074790000000000000000000000000000604482015260640161087c565b6000546040517fb3988fdf0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063b3988fdf906138f2908690600401614aae565b600060405180830381600087803b15801561390c57600080fd5b505af1158015613920573d6000803e3d6000fd5b5050505060005b8351811015611e1d57600084828151811061394457613944614cfa565b602090810291909101810151600081815260039092526040909120600701549091506001600160a01b03166139bb5760405162461bcd60e51b815260206004820152601560248201527f4e465420494420646f6573206e6f742065786973740000000000000000000000604482015260640161087c565b6000908152600360205260409020600701805460ff60a01b19169055600101613927565b6001600160a01b0381166000908152600760209081526040808320805482518185028101850190935280835260609493830182828015613a3e57602002820191906000526020600020905b815481526020019060010190808311613a2a575b50505050509050805167ffffffffffffffff811115613a5f57613a5f6146a8565b604051908082528060200260200182016040528015613aea57816020015b613ad76040518061012001604052806000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160006001600160a01b031681526020016000151581525090565b815260200190600190039081613a7d5790505b50915060005b8151811015610d3f576000828281518110613b0d57613b0d614cfa565b6020908102919091018101516000818152600580845260409182902082516101208101845281548152600182015495810195909552600281015492850192909252600382015460608501526004820154608085015281015460a0840152600681015460c0840152600701546001600160a01b03811660e0840152600160a01b900460ff1615156101008301528551909250859084908110613bb057613bb0614cfa565b602090810291909101015250600101613af0565b60008060009054906101000a90046001600160a01b03166001600160a01b0316636e9960c36040518163ffffffff1660e01b8152600401600060405180830381865afa158015613c18573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613c409190810190614d9e565b90506000613c4e8233613d7c565b9050600181151514613c9c5760405162461bcd60e51b8152602060048201526017602482015276466f722061646d696e6973747261746f7273206f6e6c7960481b604482015260640161087c565b50506010805460ff1916911515919091179055565b6004602052816000526040600020818154811061338057600080fd5b60606002805480602002602001604051908101604052809291908181526020016000905b82821015613d3757838290600052602060002090600202016040518060400160405290816000820154815260200160018201548152505081526020019060010190613cf1565b50505050905090565b600a6020528160005260406000208181548110613d5c57600080fd5b600091825260209091206002909102018054600190910154909250905082565b60008060005b845181101561240b57836001600160a01b0316858281518110613da757613da7614cfa565b60200260200101516001600160a01b031603613dc6576001915061240b565b600101613d82565b336000908152600660205260409020546001600160a01b031615613e345760405162461bcd60e51b815260206004820152601960248201527f416c72656164792068617665207265636f6d6d656e6465727300000000000000604482015260640161087c565b6001600160a01b0381163303613e8c5760405162461bcd60e51b815260206004820152601d60248201527f596f752063616e2774207265636f6d6d656e6420796f757273656c662e000000604482015260640161087c565b6001600160a01b0381811660009081526006602052604090206001015433911603613ef95760405162461bcd60e51b815260206004820152601a60248201527f43616e2774207265636f6d6d656e642065616368206f74686572000000000000604482015260640161087c565b60408051608081018252338082526001600160a01b039384166020808401828152428587019081526000606087018181528682526006855288822097518854908b1673ffffffffffffffffffffffffffffffffffffffff1991821617895593516001808a01805492909c1691861691909117909a55915160028801559051600390960195909555918452600881529383208054958601815583529290912090920180549091169091179055565b33600090815260066020526040812060010154600e5460a08401819052608084015160c085015185516001600160a01b039094169486949293929060648361016d613ff18789614d5b565b613ffb9190614d39565b6140059190614d5b565b61400f9190614d39565b33600090815260066020526040812060030180549293508392909190614036908490614d8b565b90915550506001600160a01b038716600090815260076020526040812054900361408d5760408051600080825260208083018085526001600160a01b038c1683526007909152929020905161408b929061456b565b505b6001600160a01b03871660009081526008602052604081205490036140df5760408051600080825260208083018085526001600160a01b038c168352600890915292902090516140dd92906144f9565b505b506001600160a01b03958616600090815260076020818152604080842080546001818101835591865283862001869055948452600580835293819020895181559189015194820194909455928701516002840155606087015160038401556080870151600484015560a08701519183019190915560c0860151600683015560e086015191018054610100909601511515600160a01b0274ffffffffffffffffffffffffffffffffffffffffff1990961691909616179390931790935550505050565b60606000825184516141b39190614d8b565b905060008167ffffffffffffffff8111156141d0576141d06146a8565b6040519080825280602002602001820160405280156141f9578160200160208202803683370190505b5090506000805b86518110156142625786818151811061421b5761421b614cfa565b602002602001015183838151811061423557614235614cfa565b6001600160a01b03909216602092830291909101909101528161425781614d72565b925050600101614200565b5060005b85518110156142c85785818151811061428157614281614cfa565b602002602001015183838151811061429b5761429b614cfa565b6001600160a01b0390921660209283029190910190910152816142bd81614d72565b925050600101614266565b509095945050505050565b60606000835167ffffffffffffffff8111156142f1576142f16146a8565b60405190808252806020026020018201604052801561431a578160200160208202803683370190505b50905060005b83518110156143ba5760005b85518110156143b15784828151811061434757614347614cfa565b60200260200101516001600160a01b031686828151811061436a5761436a614cfa565b60200260200101516001600160a01b0316036143a957600183828151811061439457614394614cfa565b911515602092830291909101909101526143b1565b60010161432c565b50600101614320565b506000805b85518110156143fc578281815181106143da576143da614cfa565b60200260200101516143f457816143f081614d72565b9250505b6001016143bf565b5060008167ffffffffffffffff811115614418576144186146a8565b604051908082528060200260200182016040528015614441578160200160208202803683370190505b5090506000805b87518110156144c95784818151811061446357614463614cfa565b60200260200101516144c15787818151811061448157614481614cfa565b602002602001015183838151811061449b5761449b614cfa565b6001600160a01b0390921660209283029190910190910152816144bd81614d72565b9250505b600101614448565b50909695505050505050565b50805460008255600202906000526020600020908101906144f691906145a6565b50565b82805482825590600052602060002090810192821561455b579160200282015b8281111561455b578251825473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03909116178255602090920191600190910190614519565b506145679291506145c1565b5090565b82805482825590600052602060002090810192821561455b579160200282015b8281111561455b57825182559160200191906001019061458b565b5b8082111561456757600080825560018201556002016145a7565b5b8082111561456757600081556001016145c2565b6000602082840312156145e857600080fd5b5035919050565b6001600160a01b03811681146144f657600080fd5b803561460f816145ef565b919050565b60006020828403121561462657600080fd5b8135614631816145ef565b9392505050565b602080825282518282018190526000919060409081850190868401855b8281101561469b57815180516001600160a01b03908116865287820151168786015285810151868601526060908101519085015260809093019290850190600101614655565b5091979650505050505050565b634e487b7160e01b600052604160045260246000fd5b604051610120810167ffffffffffffffff811182821017156146e2576146e26146a8565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715614711576147116146a8565b604052919050565b8035801515811461460f57600080fd5b6000610120828403121561473c57600080fd5b6147446146be565b823581526020830135602082015260408301356040820152606083013560608201526080830135608082015260a083013560a082015260c083013560c082015261479060e08401614604565b60e08201526101006147a3818501614719565b908201529392505050565b6020808252825182820181905260009190848201906040850190845b818110156144c95761483d838551805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c08301526001600160a01b0360e08201511660e083015261010080820151151581840152505050565b9284019261012092909201916001016147ca565b602080825282518282018190526000919060409081850190868401855b8281101561469b5761488b84835180518252602090810151910152565b928401929085019060010161486e565b600080604083850312156148ae57600080fd5b82356148b9816145ef565b915060208301356148c9816145ef565b809150509250929050565b6020808252825182820181905260009190848201906040850190845b818110156144c95783516001600160a01b0316835292840192918401916001016148f0565b6000806040838503121561492857600080fd5b8235614933816145ef565b946020939093013593505050565b60008060006060848603121561495657600080fd5b8335925060208401359150604084013561496f816145ef565b809150509250925092565b600067ffffffffffffffff821115614994576149946146a8565b5060051b60200190565b600082601f8301126149af57600080fd5b813560206149c46149bf8361497a565b6146e8565b8083825260208201915060208460051b8701019350868411156149e657600080fd5b602086015b84811015614a0257803583529183019183016149eb565b509695505050505050565b600060208284031215614a1f57600080fd5b813567ffffffffffffffff811115614a3657600080fd5b614a428482850161499e565b949350505050565b60008060408385031215614a5d57600080fd5b823567ffffffffffffffff80821115614a7557600080fd5b614a818683870161499e565b93506020850135915080821115614a9757600080fd5b50614aa48582860161499e565b9150509250929050565b6020808252825182820181905260009190848201906040850190845b818110156144c957835183529284019291840191600101614aca565b60008060408385031215614af957600080fd5b823567ffffffffffffffff811115614b1057600080fd5b8301601f81018513614b2157600080fd5b80356020614b316149bf8361497a565b82815260059290921b83018101918181019088841115614b5057600080fd5b938201935b83851015614b77578435614b68816145ef565b82529382019390820190614b55565b98969091013596505050505050565b60008060408385031215614b9957600080fd5b50508035926020909101359150565b61012081016136de8284805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c08301526001600160a01b0360e08201511660e083015261010080820151151581840152505050565b602080825282518282018190526000919060409081850190868401855b8281101561469b5781518051855286810151878601528581015186860152606080820151908601526080908101519085015260a09093019290850190600101614c34565b600060208284031215614c8a57600080fd5b61463182614719565b602080825282518282018190526000919060409081850190868401855b8281101561469b57614ccd84835180518252602090810151910152565b9284019290850190600101614cb0565b600060208284031215614cef57600080fd5b8151614631816145ef565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b818103818111156136de576136de614d10565b600082614d5657634e487b7160e01b600052601260045260246000fd5b500490565b80820281158282048414176136de576136de614d10565b600060018201614d8457614d84614d10565b5060010190565b808201808211156136de576136de614d10565b60006020808385031215614db157600080fd5b825167ffffffffffffffff811115614dc857600080fd5b8301601f81018513614dd957600080fd5b8051614de76149bf8261497a565b81815260059190911b82018301908381019087831115614e0657600080fd5b928401925b82841015614e2d578351614e1e816145ef565b82529284019290840190614e0b565b979650505050505050565b600060208284031215614e4a57600080fd5b505191905056fea26469706673582212207c7571ecaf108170ced6f01d7abdb2c5e715cd49607015b6abc0e96ef79dd5a564736f6c63430008180033"; + +type PledgeConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: PledgeConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class Pledge__factory extends ContractFactory { + constructor(...args: PledgeConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(overrides || {}); + } + override deploy(overrides?: NonPayableOverrides & { from?: string }) { + return super.deploy(overrides || {}) as Promise< + Pledge & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): Pledge__factory { + return super.connect(runner) as Pledge__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): PledgeInterface { + return new Interface(_abi) as PledgeInterface; + } + static connect(address: string, runner?: ContractRunner | null): Pledge { + return new Contract(address, _abi, runner) as unknown as Pledge; + } +} diff --git a/src/contract/typechain-types/factories/contracts/Pool__factory.ts b/src/contract/typechain-types/factories/contracts/Pool__factory.ts new file mode 100644 index 0000000..c0432f7 --- /dev/null +++ b/src/contract/typechain-types/factories/contracts/Pool__factory.ts @@ -0,0 +1,203 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { + Contract, + ContractFactory, + ContractTransactionResponse, + Interface, +} from "ethers"; +import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers"; +import type { NonPayableOverrides } from "../../common"; +import type { Pool, PoolInterface } from "../../contracts/Pool"; + +const _abi = [ + { + inputs: [], + name: "InvalidInitialization", + type: "error", + }, + { + inputs: [], + name: "NotInitializing", + type: "error", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint64", + name: "version", + type: "uint64", + }, + ], + name: "Initialized", + type: "event", + }, + { + inputs: [], + name: "_pledgeContractAddress", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "deposit", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "tokenAddress", + type: "address", + }, + { + internalType: "address", + name: "nftAddress", + type: "address", + }, + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "poolStatus", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "addr", + type: "address", + }, + ], + name: "setPledgeContractAddress", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bool", + name: "_status", + type: "bool", + }, + ], + name: "setPoolStatus", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "withdraw", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "withdrawTo", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +const _bytecode = + "0x608060405234801561001057600080fd5b50610ae4806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806393bc96fa1161005b57806393bc96fa146100f8578063cf3df2301461010b578063f02286921461011e578063f3fef3a31461014257600080fd5b806305217c151461008d57806310b927ca146100a257806347e7ef24146100d2578063485cc955146100e5575b600080fd5b6100a061009b3660046108bc565b610155565b005b6002546100b5906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100a06100e03660046108f5565b610268565b6100a06100f3366004610921565b61037a565b6100a061010636600461095a565b6104ec565b6100a0610119366004610973565b61063a565b60025461013290600160a01b900460ff1681565b60405190151581526020016100c9565b6100a06101503660046108f5565b61073e565b60015460408051636e9960c360e01b815290516000926001600160a01b031691636e9960c391600480830192869291908290030181865afa15801561019e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101c691908101906109b6565b905060006101d48233610851565b905060018115151461022d5760405162461bcd60e51b815260206004820152601760248201527f466f722061646d696e6973747261746f7273206f6e6c7900000000000000000060448201526064015b60405180910390fd5b505060028054911515600160a01b027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff909216919091179055565b600081116102de5760405162461bcd60e51b815260206004820152602560248201527f4465706f73697420616d6f756e74206d7573742062652067726561746572207460448201527f68616e20300000000000000000000000000000000000000000000000000000006064820152608401610224565b6000546040517f23b872dd0000000000000000000000000000000000000000000000000000000081526001600160a01b03848116600483015230602483015260448201849052909116906323b872dd906064015b6020604051808303816000875af1158015610351573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103759190610a7b565b505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff166000811580156103c55750825b905060008267ffffffffffffffff1660011480156103e25750303b155b9050811580156103f0575080155b15610427576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561045b57845468ff00000000000000001916680100000000000000001785555b600080546001600160a01b03808a1673ffffffffffffffffffffffffffffffffffffffff1992831617909255600180549289169290911691909117905583156104e357845468ff000000000000000019168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b60015460408051636e9960c360e01b815290516000926001600160a01b031691636e9960c391600480830192869291908290030181865afa158015610535573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261055d91908101906109b6565b9050600061056b8233610851565b90506001811515146105bf5760405162461bcd60e51b815260206004820152601760248201527f466f722061646d696e6973747261746f7273206f6e6c790000000000000000006044820152606401610224565b60005460405163a9059cbb60e01b8152336004820152602481018590526001600160a01b039091169063a9059cbb906044016020604051808303816000875af1158015610610573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106349190610a7b565b50505050565b60015460408051636e9960c360e01b815290516000926001600160a01b031691636e9960c391600480830192869291908290030181865afa158015610683573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106ab91908101906109b6565b905060006106b98233610851565b905060018115151461070d5760405162461bcd60e51b815260206004820152601760248201527f466f722061646d696e6973747261746f7273206f6e6c790000000000000000006044820152606401610224565b50506002805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b600254600160a01b900460ff16156107985760405162461bcd60e51b815260206004820152601e60248201527f506f6f6c20636f6e74726163742073746174757320697320636c6f73656400006044820152606401610224565b6002546001600160a01b031633146108185760405162461bcd60e51b815260206004820152602d60248201527f4d7573742062652075736564206173206120636c6175736520696e206120706c60448201527f6564676520636f6e7472616374000000000000000000000000000000000000006064820152608401610224565b60005460405163a9059cbb60e01b81526001600160a01b038481166004830152602482018490529091169063a9059cbb90604401610332565b60008060005b84518110156108a357836001600160a01b031685828151811061087c5761087c610a98565b60200260200101516001600160a01b03160361089b57600191506108a3565b600101610857565b509392505050565b80151581146108b957600080fd5b50565b6000602082840312156108ce57600080fd5b81356108d9816108ab565b9392505050565b6001600160a01b03811681146108b957600080fd5b6000806040838503121561090857600080fd5b8235610913816108e0565b946020939093013593505050565b6000806040838503121561093457600080fd5b823561093f816108e0565b9150602083013561094f816108e0565b809150509250929050565b60006020828403121561096c57600080fd5b5035919050565b60006020828403121561098557600080fd5b81356108d9816108e0565b634e487b7160e01b600052604160045260246000fd5b80516109b1816108e0565b919050565b600060208083850312156109c957600080fd5b825167ffffffffffffffff808211156109e157600080fd5b818501915085601f8301126109f557600080fd5b815181811115610a0757610a07610990565b8060051b604051601f19603f83011681018181108582111715610a2c57610a2c610990565b604052918252848201925083810185019188831115610a4a57600080fd5b938501935b82851015610a6f57610a60856109a6565b84529385019392850192610a4f565b98975050505050505050565b600060208284031215610a8d57600080fd5b81516108d9816108ab565b634e487b7160e01b600052603260045260246000fdfea2646970667358221220504c88590109157b4a48217972540f347382145a002bf03dce8de06b0ee811b564736f6c63430008180033"; + +type PoolConstructorParams = + | [signer?: Signer] + | ConstructorParameters; + +const isSuperArgs = ( + xs: PoolConstructorParams +): xs is ConstructorParameters => xs.length > 1; + +export class Pool__factory extends ContractFactory { + constructor(...args: PoolConstructorParams) { + if (isSuperArgs(args)) { + super(...args); + } else { + super(_abi, _bytecode, args[0]); + } + } + + override getDeployTransaction( + overrides?: NonPayableOverrides & { from?: string } + ): Promise { + return super.getDeployTransaction(overrides || {}); + } + override deploy(overrides?: NonPayableOverrides & { from?: string }) { + return super.deploy(overrides || {}) as Promise< + Pool & { + deploymentTransaction(): ContractTransactionResponse; + } + >; + } + override connect(runner: ContractRunner | null): Pool__factory { + return super.connect(runner) as Pool__factory; + } + + static readonly bytecode = _bytecode; + static readonly abi = _abi; + static createInterface(): PoolInterface { + return new Interface(_abi) as PoolInterface; + } + static connect(address: string, runner?: ContractRunner | null): Pool { + return new Contract(address, _abi, runner) as unknown as Pool; + } +} diff --git a/src/contract/typechain-types/factories/contracts/index.ts b/src/contract/typechain-types/factories/contracts/index.ts new file mode 100644 index 0000000..61c65b4 --- /dev/null +++ b/src/contract/typechain-types/factories/contracts/index.ts @@ -0,0 +1,7 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export { FIL__factory } from "./FIL__factory"; +export { NFT__factory } from "./NFT__factory"; +export { Pledge__factory } from "./Pledge__factory"; +export { Pool__factory } from "./Pool__factory"; diff --git a/src/contract/typechain-types/factories/index.ts b/src/contract/typechain-types/factories/index.ts new file mode 100644 index 0000000..6397da0 --- /dev/null +++ b/src/contract/typechain-types/factories/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * as contracts from "./contracts"; diff --git a/src/contract/typechain-types/hardhat.d.ts b/src/contract/typechain-types/hardhat.d.ts new file mode 100644 index 0000000..fed74bd --- /dev/null +++ b/src/contract/typechain-types/hardhat.d.ts @@ -0,0 +1,441 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { ethers } from "ethers"; +import { + DeployContractOptions, + FactoryOptions, + HardhatEthersHelpers as HardhatEthersHelpersBase, +} from "@nomicfoundation/hardhat-ethers/types"; + +import * as Contracts from "."; + +declare module "hardhat/types/runtime" { + interface HardhatEthersHelpers extends HardhatEthersHelpersBase { + getContractFactory( + name: "Initializable", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC1155Errors", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC20Errors", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC721Errors", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ERC20", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ERC20Burnable", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC20Metadata", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC20", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ERC721", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ERC721Enumerable", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC721Enumerable", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC721Metadata", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC721", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC721Receiver", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "ERC165", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "IERC165", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "Math", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "Strings", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "FIL", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "NFT", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "Pledge", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + name: "Pool", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + + getContractAt( + name: "Initializable", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC1155Errors", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC20Errors", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC721Errors", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ERC20", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ERC20Burnable", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC20Metadata", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC20", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ERC721", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ERC721Enumerable", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC721Enumerable", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC721Metadata", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC721", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC721Receiver", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "ERC165", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "IERC165", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "Math", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "Strings", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "FIL", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "NFT", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "Pledge", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + getContractAt( + name: "Pool", + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + + deployContract( + name: "Initializable", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC1155Errors", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20Errors", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC721Errors", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC20", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC20Burnable", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20Metadata", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC721", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC721Enumerable", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC721Enumerable", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC721Metadata", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC721", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC721Receiver", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC165", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC165", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Math", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Strings", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "FIL", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "NFT", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Pledge", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Pool", + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + + deployContract( + name: "Initializable", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC1155Errors", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20Errors", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC721Errors", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC20", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC20Burnable", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20Metadata", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC20", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC721", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC721Enumerable", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC721Enumerable", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC721Metadata", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC721", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC721Receiver", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "ERC165", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "IERC165", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Math", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Strings", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "FIL", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "NFT", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Pledge", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: "Pool", + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + + // default types + getContractFactory( + name: string, + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; + getContractFactory( + abi: any[], + bytecode: ethers.BytesLike, + signer?: ethers.Signer + ): Promise; + getContractAt( + nameOrAbi: string | any[], + address: string | ethers.Addressable, + signer?: ethers.Signer + ): Promise; + deployContract( + name: string, + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + deployContract( + name: string, + args: any[], + signerOrOptions?: ethers.Signer | DeployContractOptions + ): Promise; + } +} diff --git a/src/contract/typechain-types/index.ts b/src/contract/typechain-types/index.ts new file mode 100644 index 0000000..f6d242c --- /dev/null +++ b/src/contract/typechain-types/index.ts @@ -0,0 +1,14 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type * as contracts from "./contracts"; +export type { contracts }; +export * as factories from "./factories"; +export type { FIL } from "./contracts/FIL"; +export { FIL__factory } from "./factories/contracts/FIL__factory"; +export type { NFT } from "./contracts/NFT"; +export { NFT__factory } from "./factories/contracts/NFT__factory"; +export type { Pledge } from "./contracts/Pledge"; +export { Pledge__factory } from "./factories/contracts/Pledge__factory"; +export type { Pool } from "./contracts/Pool"; +export { Pool__factory } from "./factories/contracts/Pool__factory"; diff --git a/src/global.d.ts b/src/global.d.ts new file mode 100644 index 0000000..3346303 --- /dev/null +++ b/src/global.d.ts @@ -0,0 +1,3 @@ +interface Window { + ethereum?: any; +} \ No newline at end of file diff --git a/src/hooks/useConnectWallet.ts b/src/hooks/useConnectWallet.ts new file mode 100644 index 0000000..c6f912a --- /dev/null +++ b/src/hooks/useConnectWallet.ts @@ -0,0 +1,40 @@ +import $store from "../store"; + +export default function useConnectWallet() { + const connect = async () => { + try { + if (!(window as any).ethereum) { + window.location.reload(); + return; + } + let res = await (window as any).ethereum.request({ + method: "eth_requestAccounts", + }); + + if (res.length <= 0) { + $store.removeAddr(); + return; + } + + $store.setAddress(res[0]); + } catch (error) {} + }; + + const getWallet = async () => { + let res = [] as string[]; + if (!(window as any).ethereum) { + return res; + } + res = await (window as any).ethereum.request({ + method: "eth_accounts", + }); + if (res.length <= 0) { + $store.removeAddr(); + } else { + $store.setAddress(res[0]); + } + return res; + }; + + return { connect, getWallet }; +} diff --git a/src/hooks/useCopy.ts b/src/hooks/useCopy.ts new file mode 100644 index 0000000..0624528 --- /dev/null +++ b/src/hooks/useCopy.ts @@ -0,0 +1,15 @@ +import { Toast } from 'react-vant'; +import { copy } from "../utils/copy"; + +const useCopyLink = () => { + + const copyVal = (address: any) => { + copy(address, () => { + Toast.success('Copy Success'); + }) + }; + + return { copyVal } +}; + +export default useCopyLink; \ No newline at end of file diff --git a/src/hooks/useRouter.ts b/src/hooks/useRouter.ts new file mode 100644 index 0000000..6eef4ef --- /dev/null +++ b/src/hooks/useRouter.ts @@ -0,0 +1,13 @@ +import { useLocation, useNavigate } from "react-router-dom"; +import store from "~/store"; + +export const useRouter = () => { + const navigate = useNavigate(); + const location = useLocation(); + + const push = (path: any, state?: any, replace?: boolean) => { + navigate(path, { state, replace: replace || false }); + }; + + return { push, location }; +}; diff --git a/src/index.tsx b/src/index.tsx new file mode 100644 index 0000000..edb6910 --- /dev/null +++ b/src/index.tsx @@ -0,0 +1,22 @@ +import React from 'react'; +import ReactDOM from 'react-dom/client'; +import App from './App'; +import '~/styles/global.scss' +import { initContract } from './contract'; +import './language' +// import Vconsole from 'vconsole'; +// new Vconsole() + +const root = ReactDOM.createRoot( + document.getElementById('root') as HTMLElement +); + +(async () => { + await initContract() + + root.render( + // + + // + ) +})() \ No newline at end of file diff --git a/src/language/en.json b/src/language/en.json new file mode 100644 index 0000000..7f807c3 --- /dev/null +++ b/src/language/en.json @@ -0,0 +1,14 @@ +{ + "FAQ1":"Making your Filecoin holdings to work for you by generating staking rewards while contributing to the security and efficiency of Filecoin. Filecoin has evolved from a blockchain only serves data storage validation to decentralized application enablement by launching Filecoin virtual machine (FVM), which trigger a greater market potential and growth.", + "FAQ2":"NFT is an on-chain staking certificate on SOFIL platform. The one who hold the NFT can withdraw daily rewards before the end of staking period and redeem the staked amount after the staking period.You can keep the NFT in your wallet for rewards and staking amount redemption. If you need liquidity before the end of staking period, you can also sell it or collaterize it to borrow in the open market. Please be aware that if you have transferred your NFT to others, although you are the one who created the staking, you would not be able to withdraw rewards or withdraw the staked amount anymore. The right to withdraw rewards and redeem the staked amount belongs to the NFT holder. ", + "FAQ3":"All staking rewards distributed from SOFIL platform generated from mining rewards, rather than from other external platforms. Filecoin mining is operated by SOFIL strategic partners.", + + + "Earn FILs Against Your FILs":"Earn FILs \n Against Your FILs", + "pledge-desc":"Enter the referral code of your referrer (if any). SOFIL will provide additional rewards to the referrer. The referral rewards will not be deducted from your staking rewards.", + + "Accumulative Stake":"Accumulative\nStake", + "Accumulative Rewards Withdraw":"Accumulative Rewards\nWithdraw", + "unstake-desc":"By clicking ‘Confirm’ below, you would burn your NFT and redeem all the staked amount. You would not be able to withdraw rewards from this contract anymore, please make sure you have withdrawn all the rewards produced from this staking contract." + +} \ No newline at end of file diff --git a/src/language/hk.json b/src/language/hk.json new file mode 100644 index 0000000..1660702 --- /dev/null +++ b/src/language/hk.json @@ -0,0 +1,131 @@ +{ + "Connect Wallet": "連接錢包", + "Log out": "登出錢包", + "Wallet": "錢包", + "Balance": "餘額", + "SOFIL Staking Contract": "SOFIL質押合約", + "Staking Amount": "質押合約數量", + "My Staking": "我的質押", + "My Referral": "我的推薦", + "Connect your wallet to view more details":"連接你的錢包以查看更多詳細信息", + "Please add BSC node to your wallet":"請在錢包添加幣安節點", + + "Please visit in DApp Browser": "請在DApp瀏覽器中訪問", + "Please switch to BSC network": "請切換至BSC網絡", + "Basic Staking": "基本質押", + "Support & Resources": "支持與資源", + "Language": "語言", + "Join Us on Telegram": "在Telegram上加入我們", + "Follow Us on Twitter": "在Twitter上加入我們", + "Follow Us on LinkedIn": "在LinkedIn上加入我們", + "Terms of Services": "條款細則", + "Privacy Policy": "私隱條款", + "Copyright © 2024 SOFIL. All Rights Reserved.": "Copyright © 2024 SOFIL. All Rights Reserved.", + "warnings": "警告", + "SOFIL currently supports the Smart Chain (BSC).": "SOFIL 目前支持幣安智能鏈 (BSC)", + "Connect BSC": "连接BSC", + "Your wallet is running on an unsupported network": "您的錢包運行在不支持的网络上", + + "STAKE TO EARN":"質押賺幣", + "Get Started":"開始質押", + "Days":"天", + "Annualized Percentage Rate (APR)":"年收益率", + "Upcoming Soon":"即將推出", + "Flexible Staking Subscription":"活期質押産品", + "90 Days Staking Subscriptiong":"90天鎖定期質押産品", + "How It Works":"如何運作", + "Refer To Earn":"接收質押NFT", + "Up To 7% of Referees Staking Rewards":"高達質押人賺取的 7%", + "By sharing your referral code and introducing your friends to SOFIL and stake, you can earn referral rewards and withdraw everyday.":"透過分享您的推薦碼並向您的朋友介紹 SOFIL 並成功質押,您會獲得能每天提取的推薦獎勵。", + "FAQs":"常見問題", + "Learn More":"了解更多", + "Locked":"鎖定期", + "Why should I stake Filecoin?":"問題一:為什麼我要質押 FIL?", + "FAQ1":"透過質押FIL產生質押獎勵,讓你持有的 FIL 為您賺取,同時為 Filecoin 的安全性和效率做出貢獻。Filecoin已經從僅提供資料儲存驗證的區塊鏈發展到透過推出Filecoin虛擬機來實現去中心化應用,從而引發更大的市潛力和成長。", + "What can I do with the NFT after receiving it?":"問題二:質押後獲得的NFT可以用來做什麼?", + "FAQ2":"NNFT是SOFIL平台上的鏈上質押通證。 持有NFT的人可以在質押期結束前提取每日收益,並在質押期結束後贖回質押金。你可以把NFT保存在錢包中,用於每日收益提取和質押金的兌現。 如果你在質押期結束前需要流動性,也可以將其出售或在公開市場上抵押借款。請注意,如果你把NFT轉讓給他人,儘管你是質押的發起者,但你把無法再提取收益或兌現質押金金額,提取和兌現的權歸於NFT持有人。", + "Where do my reward from staking come from?":"問題三:我的質押收益從哪裡來?", + "FAQ3":"所有收益均來自Filecoin挖礦獎勵,而非其他外部平台,Filecoin挖礦由SOFIL策略夥伴營運。", + + "1. Stake":"1. 質押", + "Choose a staking plan":"選擇一個質押産品", + "2. Receive NFT":"2. 接收質押NFT ", + "NFT as a stake certificate to withdraw daily staking rewards":"持有質押NFT作為鏈上質押憑証,每天提取質押獎勵", + "3. Maturity":"3. 質押到期", + "Holding NFT can redeem all staking amount":"H持有質押NFT可兌回本金和所有未提取的質押獎勵", + "Flexible": "活期", + + "Enter a staking amount":"輸入質押數量", + "Earn FILs Against Your FILs":"賺取FIL\n 質押你的FIL", + "Available Balance":"可用結餘", + "Choose a staking period":"選擇一個質押期", + "Est.APR":"年收益率", + "Max":"最大", + "Review and Confirm":"撮要及確認", + "Staking Period":"質押期", + "Est. Rewards":"預計收益總額", + "Est. Total Receivable":"預計應收總額", + "STAKE":"質押", + "By clicking Stake,you agree to SOFIL Terms of Services and Privacy Policy":"*點擊質押表示你同意SOFIL平台的服務條款及隱私條款", + "Enter a Referral Code (if any)":"輸入推薦碼 (如有)", + "pledge-desc":"輸入推薦人的推薦代碼(如果有)。 SOFIL將為判定提供額外獎勵 推薦獎勵不會從您的收入中扣除", + "You can enter or leave it blank":"您可以輸入或留空", + "CONFIRM":"確認", + + "Staking Details":"質押總覽", + "SOFIL NFTs represent the staking contracts you hold":"你持有的 SOFIL NFT代表你持有的質押合約", + "Staking Contracts":"質押合約", + "Withdrawable Rewards":"可提取收益", + "Transactions":"交易明細", + "Staked Balance":"已質押的額度", + "WITHDRAW":"提取", + "No. of Staking Contracts":"持有的質押合約", + "Contract(NFT)":"合約NFT", + "Withdrawable":"可提取總額", + "Maturity Date":"到期日", + "Status":"狀態", + "Active":"未到期", + "Matured":"已到期", + "Closed":"已關閉", + "No records":"暫無記錄", + "Accumulative Stake":"總質押", + "Accumulative Rewards Withdraw":"總提取收益", + "Withdraw":"質押", + "Stake":"提取", + "Create Contract(NFT)":"創建合約(NFT)", + "Contract Address":"合約地址", + "Copy Success":"複製成功", + "merge and extract":"合并提取", + + "Contract (NFT) Details": "合約(NFT)明細", + "NFT Details": "NFT明細", + "Contract No. (NFT ID)": "合約號碼(NFT ID", + "NFT Standard": "NFT格式", + "Contract Details": "合約明細", + "Contract Type": "合約類別", + "Staked Amount": "質押數量", + "Est. APR": "預計年收益率", + "Created Time": "創建時間", + "Maturity Time": "到期時間", + "Rewards & Withdrawals Details": "收益及提取明細", + "Rewards Start Time": "收益開始時間", + "Rewards Distributed": "已發放收益", + "Rewards Withdrawn": "已提取收益", + "Withdrawable Amount": "可提取收益", + "UNSTAKE": "解除質押", + "unstake-desc": "點擊下面的“確認”,您將銷毀您的 合約NFT 並兌回所有已質押的幣。 您將無法再從該合約中提取收益,請確保您已提取該合約產生的所有收益。", + "Referral Rewards": "推薦獎勵", + "Introduce your friends to stake and earn": "透過推薦碼推薦用戶進行質押並賺取 FIL", + "Your Referral Code": "你的推薦碼", + "SHARE": "分享", + "Referred Users": "已推薦的用户數量", + "Active Contracts": "未到期合約", + "Referred": "推薦", + "Share your referral code to earn rewards": "立刻分享你的推薦碼,獲取推薦獎勵", + "Addresses": "錢包地址", + "Contributed": "獎勵貢獻", + "Binding Time": "綁定時間", + "Contreact(Rewards) Details": "合約(奖励)明細", + "Days Staking": "天質押", + "Rewards Details": "收益及提取明細" +} \ No newline at end of file diff --git a/src/language/index.ts b/src/language/index.ts new file mode 100644 index 0000000..f845cf4 --- /dev/null +++ b/src/language/index.ts @@ -0,0 +1,29 @@ +import en from "./en.json"; +import zh from "./zh.json"; +import hk from "./hk.json"; +import i18n from "i18next"; +import { initReactI18next } from "react-i18next"; + +export const SOFIL_LANGUAGE = "SOFIL_LANGUAGE"; + +const resources = { + en: { + translation: { ...en }, + }, + zh: { + translation: { ...zh }, + }, + hk: { + translation: { ...hk }, + }, +}; + +i18n.use(initReactI18next).init({ + resources, + lng: window.sessionStorage.getItem(SOFIL_LANGUAGE) || "hk", + interpolation: { + escapeValue: false, + }, +}); + +export default i18n; diff --git a/src/language/zh.json b/src/language/zh.json new file mode 100644 index 0000000..73d4e7f --- /dev/null +++ b/src/language/zh.json @@ -0,0 +1,131 @@ +{ + "Connect Wallet": "连接钱包", + "Log out": "登出钱包", + "Wallet": "钱包", + "Balance": "余额", + "SOFIL Staking Contract": "SOFIL质押合约", + "Staking Amount": "质押合约数量", + "My Staking": "我的质押", + "My Referral": "我的推荐", + "Connect your wallet to view more details": "连接你的钱包以查看更多详细信息", + "Please add BSC node to your wallet": "请在钱包添加币安节点", + + "Please visit in DApp Browser": "请在DApp浏览器中访问", + "Please switch to BSC network": "请切换至BSC网络", + "Basic Staking": "基本质押", + "Support & Resources": "支持与资源", + "Language": "语言", + "Join Us on Telegram": "在Telegram上加入我们", + "Follow Us on Twitter": "在Twitter上加入我们", + "Follow Us on LinkedIn": "在LinkedIn上加入我们", + "Terms of Services": "条款细则", + "Privacy Policy": "隐私条款", + "Copyright © 2024 SOFIL. All Rights Reserved.": "Copyright © 2024 SOFIL. All Rights Reserved.", + "warnings": "警告", + "SOFIL currently supports the Smart Chain (BSC).": "SOFIL 目前支持币安智能链 (BSC)", + "Connect BSC": "连接BSC", + "Your wallet is running on an unsupported network": "您的钱包运行在不支持的网络上", + + "STAKE TO EARN": "质押赚币", + "Get Started": "开始质押", + "Days": "天", + "Annualized Percentage Rate (APR)": "年收益率", + "Upcoming Soon": "即将推出", + "Flexible Staking Subscription": "活期质押产品", + "90 Days Staking Subscriptiong": "90天锁定期质押产品", + "How It Works": "如何运作", + "Refer To Earn": "接收质押NFT", + "Up To 7% of Referees Staking Rewards": "高达质押人赚取的 7%", + "By sharing your referral code and introducing your friends to SOFIL and stake, you can earn referral rewards and withdraw everyday.": "通过分享您的推荐码并向您的朋友介绍 SOFIL 并成功质押,您会获得能每天提取的推荐奖励。", + "FAQs": "常见问题", + "Learn More": "了解更多", + "Locked": "锁定期", + "Why should I stake Filecoin?": "问题一:为什么我要质押 FIL?", + "FAQ1": "通过质押 FIL 产生质押奖励,让你持有的 FIL 为您赚取,同时为 Filecoin 的安全性和效率做出贡献。Filecoin已经从仅提供数据储存验证的区块链发展到通过推出 Filecoin 虚拟机来实现去中心化应用,从而引发更大的市潜力和成长。", + "What can I do with the NFT after receiving it?": "问题二:质押后获得的NFT可以用来做什么?", + "FAQ2": "NFT是 SOFIL 平台上的链上质押通证。持有 NFT 的人可以在质押期结束前提取每日收益,并在质押期结束后赎回质押金。你可以把 NFT 保存在钱包中,用于每日收益提取和质押金的兑现。如果你在质押期结束前需要流动性,也可以将其出售或在公开市场上抵押借款。请注意,如果你把 NFT 转让给他人,尽管你是质押的发起者,但你把无法再提取收益或兑现质押金金额,提取和兑现的权归于 NFT 持有人。", + "Where do my reward from staking come from?": "问题三:我的质押收益从哪里来?", + "FAQ3": "所有收益均来自 Filecoin 挖矿奖励,而非其他外部平台,Filecoin 挖矿由 SOFIL 策略夥伴运营。", + + "1. Stake": "1. 质押", + "Choose a staking plan": "选择一个质押产品", + "2. Receive NFT": "2. 接收质押NFT ", + "NFT as a stake certificate to withdraw daily staking rewards": "持有质押NFT作为链上质押凭证,每天提取质押奖励", + "3. Maturity": "3. 质押到期", + "Holding NFT can redeem all staking amount": "持有质押NFT可兑回本金和所有未提取的质押奖励", + "Flexible": "活期", + + "Enter a staking amount": "输入质押数量", + "Earn FILs Against Your FILs": "赚取FIL\n 质押你的FIL", + "Available Balance": "可用余额", + "Choose a staking period": "选择一个质押期", + "Est.APR": "预计年收益率", + "Max": "最大", + "Review and Confirm": "撮要及确认", + "Staking Period": "质押期", + "Est. Rewards": "预计收益总额", + "Est. Total Receivable": "预计应收总额", + "STAKE": "质押", + "By clicking Stake,you agree to SOFIL Terms of Services and Privacy Policy": "*点击质押表示你同意 SOFIL 平台的服务条款及隐私条款", + "Enter a Referral Code (if any)": "输入推荐码 (如有)", + "pledge-desc": "输入推荐人的推荐代码(如果有)。 SOFIL 将为判定提供额外奖励 推荐奖励不会从您的收入中扣除", + "You can enter or leave it blank": "您可以输入或留空", + "CONFIRM": "确认", + + "Staking Details": "质押总览", + "SOFIL NFTs represent the staking contracts you hold": "你持有的 SOFIL NFT 代表你持有的质押合约", + "Staking Contracts": "质押合约", + "Withdrawable Rewards": "可提取收益", + "Transactions": "交易明细", + "Staked Balance": "已质押的额度", + "WITHDRAW": "提取", + "No. of Staking Contracts": "持有的质押合约", + "Contract(NFT)": "合约NFT", + "Withdrawable": "可提取总额", + "Maturity Date": "到期日", + "Status": "状态", + "Active": "未到期", + "Matured": "已到期", + "Closed": "已关闭", + "No records": "暂无记录", + "Accumulative Stake": "总质押", + "Accumulative Rewards Withdraw": "总提取收益", + "Withdraw": "质押", + "Stake": "提取", + "Create Contract(NFT)": "创建合约(NFT)", + "Contract Address": "合约地址", + "Copy Success": "复制成功", + "merge and extract": "合并提取", + + "Contract (NFT) Details": "合约(NFT)明细", + "NFT Details": "NFT明细", + "Contract No. (NFT ID)": "合约号码(NFT ID", + "NFT Standard": "NFT格式", + "Contract Details": "合约明细", + "Contract Type": "合约类别", + "Staked Amount": "质押数量", + "Est. APR": "预计年收益率", + "Created Time": "创建时间", + "Maturity Time": "到期时间", + "Rewards & Withdrawals Details": "收益及提取明细", + "Rewards Start Time": "收益开始时间", + "Rewards Distributed": "已发放收益", + "Rewards Withdrawn": "已提取收益", + "Withdrawable Amount": "可提取收益", + "UNSTAKE": "解除质押", + "unstake-desc": "点击下面的“确认”,您将销毁您的 合约NFT 并兑回所有已质押的币。 您将无法再从该合约中提取收益,请确保您已提取该合约产生的所有收益。", + "Referral Rewards": "推荐奖励", + "Introduce your friends to stake and earn": "通过推荐码推荐用户进行质押并赚取 FIL", + "Your Referral Code": "你的推荐码", + "SHARE": "分享", + "Referred Users": "已推荐的用户数量", + "Active Contracts": "未到期合约", + "Referred": "推荐", + "Share your referral code to earn rewards": "立刻分享你的推荐码,获取推荐奖励", + "Addresses": "钱包地址", + "Contributed": "奖励贡献", + "Binding Time": "绑定时间", + "Contreact(Rewards) Details": "合约(奖励)明细", + "Days Staking": "天质押", + "Rewards Details": "收益及提取明细" +} diff --git a/src/pages/admin/AdminNFT.tsx b/src/pages/admin/AdminNFT.tsx new file mode 100644 index 0000000..18d723b --- /dev/null +++ b/src/pages/admin/AdminNFT.tsx @@ -0,0 +1,114 @@ +import { observer } from "mobx-react" +import { useEffect, useRef, useState } from "react" +import { Input, TextAreaInstance, Toast } from "react-vant" +import Button from "~/components/Button" +import store from "~/store" +import '~/styles/admin.scss' +import { toBigInt } from "~/utils/wei" + +const AdminNFT = () => { + + const { walletAddress, contract } = store.state + const { NFT__factory, Pledge__factory } = contract._contract + const [nftBlacks, setNFTBlacks] = useState([] as number[]) + const blackRefs = useRef(null); + const [chooseIds, setChooseIds] = useState([] as number[]) + + const [blackLoading, setBlackLoading] = useState(false) + const [rmBlackLoading, setRmBlackLoading] = useState(false) + + const getBlacks = async () => { + const res = await NFT__factory.getBlacks() + const _ids = res.map(v => Number(v.toString(10))) + setNFTBlacks(_ids) + } + + const handleChooseIds = (_id: number) => { + let index = chooseIds.indexOf(_id) + if (index < 0) { + chooseIds.push(_id) + } else { + chooseIds.splice(index, 1) + } + setChooseIds([...chooseIds]) + } + + const addBlacks = async () => { + try { + const dom = blackRefs.current!.nativeElement + const value = dom?.value; + if (!value) return Toast.info('輸入NFT ID') + const _ids = value.split(',') + const _tokenIds = _ids.map(v => toBigInt(v)) + setBlackLoading(true) + const res = await Pledge__factory.addNftBalcks(_tokenIds); + const tx = await res.wait() + setBlackLoading(false) + if (tx?.status === 1) { + Toast.success("添加黑名單成功") + getBlacks() + blackRefs.current!.clear() + } + } catch (error) { + console.error(error); + alert(JSON.stringify(error)) + setBlackLoading(false) + } + } + + const delBlacks = async () => { + try { + const _tokenIds = chooseIds.map(v => toBigInt(v)); + if (_tokenIds.length <= 0) return Toast.info('请选择NFT ID') + setRmBlackLoading(true) + const res = await Pledge__factory.deleteNftBlacks(_tokenIds); + const tx = await res.wait() + setRmBlackLoading(false) + setChooseIds([]) + if (tx?.status === 1) { + Toast.success("移除黑名單成功") + getBlacks() + } + } catch (error) { + console.error(error); + alert(JSON.stringify(error)) + setRmBlackLoading(false) + } + } + + + useEffect(() => { + getBlacks() + }, []) + + return ( +
    +
    NFT ID黑名单:
    +
    + { + nftBlacks.length === 0 ? ( +
    暂无NFT ID
    + ) : nftBlacks.map(item => ( +
    handleChooseIds(item)} + >{item}
    + )) + } +
    +
    点击选中NFT ID,再次点击取消NFT ID
    +
    + +
    +
    +
    添加NFT ID黑名單:
    + +
    + +
    +
    + ) +} + +export default observer(AdminNFT) \ No newline at end of file diff --git a/src/pages/admin/AdminPledge.tsx b/src/pages/admin/AdminPledge.tsx new file mode 100644 index 0000000..684bdf3 --- /dev/null +++ b/src/pages/admin/AdminPledge.tsx @@ -0,0 +1,250 @@ +import { observer } from "mobx-react" +import { useEffect, useRef, useState } from "react" +import { Input, TextAreaInstance, Toast } from "react-vant" +import Button from "~/components/Button" +import store from "~/store" +import '~/styles/admin.scss' + +const AdminPledge = () => { + + const { walletAddress, contract } = store.state + const { Pledge__factory } = contract._contract + const [status, setStatus] = useState(false) + const [blacks, setBlacks] = useState([] as string[]) + const [whites, setWhites] = useState([] as string[]) + + const blackRefs = useRef(null) + const whiteRefs = useRef(null) + + const [chooseBlacks, setChooseBlacks] = useState([] as string[]); + const [chooseWhites, setChooseWhites] = useState([] as string[]); + + const [statusLoading, setStatusLoading] = useState([false, false]) + const [blackLoading, setBlackLoading] = useState(false) + const [removeBlackLoading, setRemoveBlackLoading] = useState(false) + const [removeWhiteLoading, setRemoveWhiteLoading] = useState(false) + const [whiteLoading, setWhiteLoading] = useState(false) + + const getStatus = async () => { + const res = await Pledge__factory.pledgeStatus() + setStatus(res) + } + + const getWhites = async () => { + const res = await Pledge__factory.getBlackOrWhiteList("0x2") + setWhites(res) + } + + const getblacks = async () => { + const res = await Pledge__factory.getBlackOrWhiteList("0x1") + setBlacks(res) + } + + const removeBlacks = async () => { + try { + if (chooseBlacks.length <= 0) return Toast.info('请选择要移除的地址') + setRemoveBlackLoading(true) + const res = await Pledge__factory.delBlackOrWhiteList(chooseBlacks, "0x1"); + const tx = await res.wait() + setRemoveBlackLoading(false) + setChooseBlacks([]) + if (tx?.status === 1) { + Toast.success("移除黑名單成功") + getblacks() + } + } catch (error) { + alert(JSON.stringify(error)) + setRemoveBlackLoading(false) + } + } + + const removeWhites = async () => { + try { + if (chooseWhites.length <= 0) return Toast.info('请选择要移除的地址') + setRemoveWhiteLoading(true) + const res = await Pledge__factory.delBlackOrWhiteList(chooseWhites, "0x2"); + const tx = await res.wait() + setRemoveWhiteLoading(false) + setChooseWhites([]) + if (tx?.status === 1) { + Toast.success("移除白名單成功") + getWhites() + } + } catch (error) { + alert(JSON.stringify(error)) + setRemoveWhiteLoading(false) + } + } + + const addBlacks = async () => { + try { + const dom = blackRefs.current!.nativeElement + const value = dom?.value; + if (!value) return Toast.info('輸入地址') + const _address = value.split(',') + setBlackLoading(true) + const res = await Pledge__factory.addBlackOrWhiteList(_address, "0x1"); + const tx = await res.wait() + setBlackLoading(false) + if (tx?.status === 1) { + Toast.success("添加黑名單成功") + getblacks() + blackRefs.current!.clear() + } + } catch (error) { + alert(JSON.stringify(error)) + setBlackLoading(false) + } + } + + const addWhites = async () => { + try { + const dom = whiteRefs.current!.nativeElement + const value = dom?.value; + if (!value) return Toast.info('輸入地址') + const _address = value.split(',') + setWhiteLoading(true) + const res = await Pledge__factory.addBlackOrWhiteList(_address, "0x2"); + const tx = await res.wait() + setWhiteLoading(false) + if (tx?.status === 1) { + Toast.success("添加白名單成功") + getWhites() + whiteRefs.current!.clear() + } + } catch (error) { + alert(JSON.stringify(error)) + setWhiteLoading(false) + } + } + + const handleStatus = async (_status: boolean) => { + const index = _status ? 1 : 0; + try { + statusLoading[index] = true + setStatusLoading([...statusLoading]) + const res = await Pledge__factory.setPledgeStatus(_status) + const tx = await res.wait() + if (tx?.status === 1) { + Toast.success('設置成功') + } + getStatus() + statusLoading[index] = false + setStatusLoading([...statusLoading]) + } catch (error) { + alert(JSON.stringify(error)) + statusLoading[index] = false + setStatusLoading([...statusLoading]) + } + } + + const addChooseBlacks = (addr: string) => { + let index = chooseBlacks.indexOf(addr) + if (index < 0) { + chooseBlacks.push(addr) + } else { + chooseBlacks.splice(index, 1) + } + setChooseBlacks([...chooseBlacks]) + } + + const addChooseWhites = (addr: string) => { + let index = chooseWhites.indexOf(addr) + if (index < 0) { + chooseWhites.push(addr) + } else { + chooseWhites.splice(index, 1) + } + setChooseWhites([...chooseWhites]) + } + + + useEffect(() => { + if (walletAddress) { + getStatus() + getblacks() + getWhites() + } + }, [walletAddress]) + + return ( +
    +
    質押狀態:{!status ? '開啓中' : '關閉中'}
    +
    + +
    + +
    +
    +
    +
    黑名單列表(點擊地址選中,可以多選):
    + { + blacks.length <= 0 ? ( +
    暫無地址
    + ) : ( +
    + { + blacks.map((item, index) => ( +
    addChooseBlacks(item)}> +
    {item}
    + { + chooseBlacks.includes(item) && ( +
    + ) + } +
    + )) + } +
    + ) + } +
    +
    + +
    +
    +
    +
    添加黑名單:
    + +
    + +
    +
    +
    白名單列表(點擊地址選中,可以多選):
    + { + whites.length <= 0 ? ( +
    暫無地址
    + ) : ( +
    + { + whites.map((item, index) => ( +
    addChooseWhites(item)}> +
    {item}
    + { + chooseWhites.includes(item) && ( +
    + ) + } +
    + )) + } +
    + ) + } +
    +
    + +
    +
    +
    + +
    添加白名單:
    + +
    + +
    +
    + ) +} + +export default observer(AdminPledge) \ No newline at end of file diff --git a/src/pages/admin/AdminPool.tsx b/src/pages/admin/AdminPool.tsx new file mode 100644 index 0000000..c034b05 --- /dev/null +++ b/src/pages/admin/AdminPool.tsx @@ -0,0 +1,101 @@ +import { observer } from "mobx-react" +import { useEffect, useRef, useState } from "react" +import { Input, Toast } from "react-vant" +import Button from "~/components/Button" +import store from "~/store" +import '~/styles/admin.scss' +import { toFixed2 } from "~/utils" +import { fromWei, toWei } from "~/utils/wei" + +const AdminPool = () => { + + const { walletAddress, contract } = store.state + const { Pool__factory,FIL__factory } = contract._contract + const [statusLoading, setStatusLoading] = useState([false, false]) + const [status, setStatus] = useState(false) + + const [poolBalance, setPoolBalance] = useState('0.00') + + const amountRef = useRef(null) + const [withdrawLoading, setWithdrawLoading] = useState(false) + + const getStatus = async () => { + const res = await Pool__factory.poolStatus() + setStatus(res) + } + + const getBalance = async () => { + try { + const res = await FIL__factory.balanceOf(Pool__factory.target) + setPoolBalance(toFixed2(fromWei(res),6)) + } catch (error) { + console.log(error); + } + } + + const handleStatus = async (_status: boolean) => { + const index = _status ? 1 : 0; + try { + statusLoading[index] = true + setStatusLoading([...statusLoading]) + const res = await Pool__factory.setPoolStatus(_status) + const tx = await res.wait() + if (tx?.status === 1) { + Toast.success('設置成功') + } + getStatus() + statusLoading[index] = false + setStatusLoading([...statusLoading]) + } catch (error) { + alert(JSON.stringify(error)) + statusLoading[index] = false + setStatusLoading([...statusLoading]) + } + } + + const withdraw = async () => { + const amount = amountRef.current!.value + if (!amount) return Toast.info('请输入提现数量') + try { + setWithdrawLoading(true) + const res = await Pool__factory.withdrawTo(toWei(amount)) + const tx = await res.wait() + if (tx?.status === 1) { + Toast.success('提现成功') + amountRef.current!.value = '' + } + getBalance() + setWithdrawLoading(false) + } catch (error) { + alert(JSON.stringify(error)) + setWithdrawLoading(false) + } + } + + useEffect(() => { + walletAddress && getStatus() + walletAddress && getBalance() + }, [walletAddress]) + + return ( +
    +
    池子余额:{Number(poolBalance).toLocaleString()}FIL
    +
    +
    池子狀態:{!status ? '開啓中' : '關閉中'}
    +
    + +
    + +
    +
    +
    +
    提现数量
    + +
    + +
    +
    + ) +} + +export default observer(AdminPool) \ No newline at end of file diff --git a/src/pages/admin/AdminSet.tsx b/src/pages/admin/AdminSet.tsx new file mode 100644 index 0000000..58a468e --- /dev/null +++ b/src/pages/admin/AdminSet.tsx @@ -0,0 +1,117 @@ +import { observer } from "mobx-react" +import { useEffect, useRef, useState } from "react" +import { Input, TextAreaInstance, Toast } from "react-vant" +import Button from "~/components/Button" +import store from "~/store" +import '~/styles/admin.scss' + +const AdminSet = () => { + + const { walletAddress, contract } = store.state + const { NFT__factory } = contract._contract + const [admins, setAdmins] = useState([] as string[]) + const adminRefs = useRef(null); + const [chooseAdmin, setChooseAdmin] = useState([] as string[]); + + const [removeAdminLoading,setRemoveAdminLoading] = useState(false) + const [addAdminLoading,setAddAdminLoading] = useState(false) + + const getAdmin = async () => { + const res = await NFT__factory.getAdmin() + setAdmins(res) + } + + const addChooseAdmin = (addr: string) => { + let index = chooseAdmin.indexOf(addr) + if (index < 0) { + chooseAdmin.push(addr) + } else { + chooseAdmin.splice(index, 1) + } + setChooseAdmin([...chooseAdmin]) + } + + const removeAdmin = async () => { + try { + if (chooseAdmin.length <= 0) return Toast.info('请选择要移除的地址') + setRemoveAdminLoading(true) + const res = await NFT__factory.deleteAdmin(chooseAdmin); + const tx = await res.wait() + setRemoveAdminLoading(false) + setChooseAdmin([]) + if (tx?.status === 1) { + Toast.success("移除管理员成功") + getAdmin() + } + } catch (error) { + console.error(error); + alert(JSON.stringify(error)) + setRemoveAdminLoading(false) + } + } + + const addAdmin = async () => { + try { + const dom = adminRefs.current!.nativeElement + const value = dom?.value; + if (!value) return Toast.info('輸入地址') + const _address = value.split(',') + setAddAdminLoading(true) + const res = await NFT__factory.addAdmin(_address) + const tx = await res.wait() + setAddAdminLoading(false) + if (tx?.status === 1) { + Toast.success("添加管理员成功") + getAdmin() + adminRefs.current!.clear() + } + } catch (error) { + console.error(error); + alert(JSON.stringify(error)) + setAddAdminLoading(false) + } + } + + useEffect(() => { + getAdmin() + }, []) + + return ( +
    +
    管理员列表(點擊地址選中,可以多選):
    + { + admins.length <= 0 ? ( +
    暫無管理员
    + ) : ( +
    + { + admins.map((item, index) => ( +
    addChooseAdmin(item)}> +
    {item}
    + { + chooseAdmin.includes(item) && ( +
    + ) + } +
    + )) + } +
    + ) + } +
    +
    + +
    +
    +
    +
    添加管理员:
    + +
    + +
    +
    + ) +} + +export default observer(AdminSet) \ No newline at end of file diff --git a/src/pages/admin/index.tsx b/src/pages/admin/index.tsx new file mode 100644 index 0000000..b6f1aef --- /dev/null +++ b/src/pages/admin/index.tsx @@ -0,0 +1,72 @@ +import '~/styles/admin.scss' +import { observer } from "mobx-react" +import { useEffect, useState } from "react" +import { Tabs } from "react-vant" +import store from "~/store" +import AdminPledge from "./AdminPledge" +import AdminPool from './AdminPool' +import AdminNFT from './AdminNFT' +import AdminSet from './AdminSet' + +const Admin = () => { + + const { walletAddress, contract } = store.state + const { NFT__factory } = contract._contract + const [isAdmin, setIsAdmin] = useState(false) + const [isDeploy, setIsDeploy] = useState(false) + + const [tabIndex, setTabIndex] = useState(0) + + const getAdmin = async () => { + try { + const res = await NFT__factory.getAdmin() + let data = res.map(v => v.toLocaleUpperCase()) + let _isAdmin = data.includes(walletAddress.toLocaleUpperCase()) + setIsAdmin(_isAdmin) + } catch (error) { + console.error(error); + } + } + + const getIsDeploy = async () => { + const _deploy = await NFT__factory.deployAddress() + const _isDeploy = _deploy.toLocaleUpperCase() === walletAddress.toLocaleUpperCase(); + setIsDeploy(_isDeploy) + } + + useEffect(() => { + walletAddress && getAdmin() + walletAddress && getIsDeploy() + }, [walletAddress]) + + if (!isAdmin) return <> + + return ( +
    + setTabIndex(index)}> + + + + { + isDeploy && ( + + ) + } + + { + tabIndex === 0 && + } + { + tabIndex === 1 && + } + { + tabIndex === 2 && + } + { + tabIndex === 3 && + } +
    + ) +} + +export default observer(Admin) \ No newline at end of file diff --git a/src/pages/home/index.tsx b/src/pages/home/index.tsx new file mode 100644 index 0000000..b20ce1b --- /dev/null +++ b/src/pages/home/index.tsx @@ -0,0 +1,163 @@ +import { useEffect, useMemo, useState } from 'react' +import { useTranslation } from 'react-i18next' +import { Collapse } from 'react-vant' +import Button from '~/components/Button' +import { eth_pledgeProducts } from '~/contract/api' +import { useRouter } from '~/hooks/useRouter' +import '~/styles/home.scss' + +const Home = () => { + + const { push } = useRouter() + const { t } = useTranslation() + + const [pledgeList, setPledgeList] = useState([ + { day: 180, rate: 14 }, + { day: 270, rate: 15 }, + { day: 360, rate: 16 }, + ]) + const [pledgeIndex, setPledgeIndex] = useState(0) + + const pledgeHelp = useMemo(() => [ + { title: '1. Stake', desc: 'Choose a staking plan' }, + { title: '2. Receive NFT', desc: 'NFT as a stake certificate to withdraw daily staking rewards' }, + { title: '3. Maturity', desc: 'Holding NFT can redeem all staking amount' }, + ], []) + + const collapseData = useMemo(() => [ + { title: 'Why should I stake Filecoin?', desc: 'FAQ1' }, + { title: 'What can I do with the NFT after receiving it?', desc: 'FAQ2' }, + { title: 'Where do my reward from staking come from?', desc: 'FAQ3' }, + ], []) + + const getData = async () => { + const res = await eth_pledgeProducts() + res.data && setPledgeList(res.data) + } + + useEffect(() => { + getData() + }, []) + return ( +
    +
    +
    +
    {t('STAKE TO EARN')}
    +
    + +
    +
    +
    +
    +
    +
    +
    + +
    +
    + { + pledgeList.map((item, index) => ( +
    setPledgeIndex(index)} + className={`mr-1 tabs-box row-center ${pledgeIndex === index && 'active-tab-box'}`} + >{item.day} {t('Days')}
    + )) + } +
    +
    push('/pledge', { index: pledgeIndex })}>
    +
    +
    +
    {t('Annualized Percentage Rate (APR)')}
    +
    {pledgeList[pledgeIndex].rate}%
    +
    +
    +
    +
    + +
    {t('Upcoming Soon')}
    +
    +
    + +
    {t('Flexible Staking Subscription')}
    +
    +
    + +
    {t('90 Days Staking Subscriptiong')}
    +
    +
    + +
    {t('How It Works')}
    +
    + { + pledgeHelp.map((item, index) => ( +
    +
    +
    {t(item.title)}
    +
    {t(item.desc)}
    +
    + + +
    + )) + } +
    + +
    {t('Refer To Earn')}
    +
    +
    + +
    +
    {t('Up To 7% of Referees Staking Rewards')}
    +
    +
    {t('By sharing your referral code and introducing your friends to SOFIL and stake, you can earn referral rewards and withdraw everyday.')}
    +
    +
    +
    +
    +
    + +
    {t('FAQs')}
    +
    + + { + collapseData.map((item, index) => ( + + {t(item.desc)} + + )) + } + +
    + +
    +
    +
    + ) +} + +interface BinancePagProps { + title?: string; + color?: string +} + +const BinancePag = (props: BinancePagProps) => { + + const { t } = useTranslation() + const { title, color } = props + + return ( +
    +
    + +
    +
    Binance-Peg Filecoin
    +
    FIL
    +
    +
    + +
    + ) +} + +export default Home \ No newline at end of file diff --git a/src/pages/invitation-detail/index.tsx b/src/pages/invitation-detail/index.tsx new file mode 100644 index 0000000..15038fa --- /dev/null +++ b/src/pages/invitation-detail/index.tsx @@ -0,0 +1,169 @@ + +import { observer } from 'mobx-react' +import { useEffect, useRef, useState } from 'react' +import { useTranslation } from 'react-i18next' +import Button from '~/components/Button' +import ModalLoading from '~/components/ModalLoading' +import { eth_Detail } from '~/contract/api' +import useCopyLink from '~/hooks/useCopy' +import { useRouter } from '~/hooks/useRouter' +import store from '~/store' +import '~/styles/pledge.scss' +import { PledgeInfoType } from '~/types/api.d' +import { calcExtractableAmount, calcReleasedIncome, calcWithdrawnAmount, getTime, splitAddress } from '~/utils' + +const InvitationDetail = () => { + + const { t } = useTranslation() + const { contract } = store.state + const { walletAddress } = store.state + const { copyVal } = useCopyLink() + const { push, location } = useRouter() + const _data = location.state.data as PledgeInfoType + const _currentTime = location.state.currentTime + const rate = location.state.rate + + const [data, setData] = useState(_data as PledgeInfoType) + const [currentTime, setCurrentTime] = useState(_currentTime) + + const [loading, setLoading] = useState(false) + const [visible, setVisible] = useState(false) + const [hash, setHash] = useState('') + const [status, setStatus] = useState(-1) + + const navbarRefs = useRef(document.querySelector('.layout .header')) + + const withdrawIncome = async () => { + try { + const { Pledge__factory } = contract._contract; + setLoading(true) + const res = await Pledge__factory.withdraInvitationAllInterest(); + setHash(res.hash) + setVisible(true) + const tx = await res.wait() + setStatus(tx?.status as number); + setLoading(false) + getData() + store.getBalance(walletAddress) + } catch (error) { + console.log(error); + setLoading(false) + } + } + + const getData = async () => { + const res = await eth_Detail(_data.tokenId, "0x2"); + if (res) { + setCurrentTime(res.currentTime) + setData(res.data) + } + } + + useEffect(() => { + walletAddress && getData() + }, [walletAddress]) + + useEffect(() => { + navbarRefs.current?.classList.add('nft-detail-navbar') + + return () => { + navbarRefs.current?.classList.remove('nft-detail-navbar') + } + }, []) + + return ( +
    +
    +
    +
    +
    push(-1)}>
    +
    {t('Contreact(Rewards) Details')}
    +
    +
    +
    +
    +
    +
    + +
    +
    {t('NFT Details')}
    +
    +
    {t('Contract No. (NFT ID)')}
    +
    # {data.tokenId}
    +
    +
    +
    {t('NFT Standard')}
    +
    ERC-721 (BSC)
    +
    +
    +
    {t('Contract Address')}
    +
    + {splitAddress(contract._contract.NFT__factory.target, 6)} + copyVal(contract._contract.NFT__factory.target)}> +
    +
    +
    + {/* */} +
    {t('Contract Details')}
    +
    +
    {t('Contract Type')}
    +
    {data.pledgeDay} {t('Days Staking')}
    +
    +
    +
    {t('Status')}
    +
    {data.endTime > currentTime ? 'Active' : 'Matured'}
    +
    +
    +
    {t('Staked Amount')}
    +
    {data.pledgeAmount} FIL
    +
    +
    +
    {t('Est. APR')}
    +
    {rate}%
    +
    +
    +
    {t('Created Time')}
    +
    {getTime(data.startTime * 1000)}
    +
    +
    +
    {t('Maturity Time')}
    +
    {getTime(data.endTime * 1000)}
    +
    +
    + {/* */} +
    {t('Rewards Details')}
    +
    +
    {t('Rewards Start Time')}
    +
    {getTime(data.startTime * 1000)}
    +
    +
    +
    {t('Rewards Distributed')}
    +
    {calcReleasedIncome(data, currentTime)} FIL
    +
    +
    +
    {t('Rewards Withdrawn')}
    +
    {calcWithdrawnAmount(data)} FIL
    +
    +
    +
    {t('Withdrawable Amount')}
    +
    {calcExtractableAmount(data, currentTime)} FIL
    +
    +
    +
    + +
    + +
    + + +
    + ) +} + +export default observer(InvitationDetail) \ No newline at end of file diff --git a/src/pages/invitation/index.tsx b/src/pages/invitation/index.tsx new file mode 100644 index 0000000..9dab866 --- /dev/null +++ b/src/pages/invitation/index.tsx @@ -0,0 +1,308 @@ +import '~/styles/invitation.scss' +import { useEffect, useRef, useState } from "react" +import { Empty, Tabs } from "react-vant" +import Button from '~/components/Button' +import store from '~/store' +import { observer } from 'mobx-react' +import Modal from '~/components/Modal' +import { calcIncome, getTime, splitAddress, toFixed2 } from '~/utils' +import useCopyLink from '~/hooks/useCopy' +import { eth_invitation } from '~/contract/api' +import { InvitationUserRecordType, InvitationWithdrawRecordType, PledgeInfoType } from '~/types/api.d' +import { useRouter } from '~/hooks/useRouter' +import ModalLoading from '~/components/ModalLoading' +import UnLogin from '~/components/Unlogin' +import { useTranslation } from 'react-i18next' + +const Invitation = () => { + + const { t } = useTranslation() + const { walletAddress, contract } = store.state + const { copyVal } = useCopyLink() + const [tabIndex, setTabIndex] = useState(0) + const [visible, setVisible] = useState(false) + + const [recommendAmount, setRecommendAmount] = useState(0) + const [unExpiredContract, setUnExpiredContract] = useState(0) + const [withdrawAmount, setWithdrawAmount] = useState('0.00') + const [userRecord, setUserRecord] = useState([] as InvitationUserRecordType[]) + const [contractRecord, setContractRecord] = useState([] as PledgeInfoType[]) + const [withdrawtRecord, setWithdrawRecord] = useState([] as InvitationWithdrawRecordType[]) + const [rate, setRate] = useState(0); + const [currentTime, setCurrentTime] = useState(0) + + const [loading, setLoading] = useState(false) + const [loadingVisible, setLoadingVisible] = useState(false) + const [hash, setHash] = useState('') + const [status, setStatus] = useState(-1) + + const navbarRefs = useRef(document.querySelector('.layout .header')) + + const getData = async () => { + const res = await eth_invitation(walletAddress) + if (res) { + setRecommendAmount(res.recommendAmount) + setUnExpiredContract(res.unExpiredContract) + setUserRecord(res.user) + setContractRecord(res.contract) + setWithdrawAmount(res.withdrawAmount) + setRate(res.rate) + setCurrentTime(res.currentTime) + setWithdrawRecord(res.withdrawRecord) + } + } + + const withdrawIncome = async () => { + try { + const { Pledge__factory } = contract._contract; + setLoading(true) + const res = await Pledge__factory.withdraInvitationAllInterest(); + setHash(res.hash) + setLoadingVisible(true) + const tx = await res.wait() + setStatus(tx?.status as number); + setLoading(false) + getData() + store.getBalance(walletAddress) + } catch (error) { + console.log(error); + setLoading(false) + } + } + + const resetData = () => { + setRecommendAmount(0) + setUnExpiredContract(0) + setWithdrawAmount('0.00') + setUserRecord([]) + setContractRecord([]) + setWithdrawRecord([]) + setRate(0) + setCurrentTime(0) + } + + useEffect(() => { + walletAddress && getData() + !walletAddress && resetData() + }, [walletAddress]) + + useEffect(() => { + navbarRefs.current?.classList.add('invitation-navbar') + + return () => { + navbarRefs.current?.classList.remove('invitation-navbar') + } + }, []) + + return ( +
    +
    +
    +
    +
    {t('Referral Rewards')}
    +
    {t('Introduce your friends to stake and earn')}
    +
    +
    +
    +
    {t('Up To 7% of Referees Staking Rewards')}
    +
    + +
    +
    +
    +
    + { + walletAddress ? ( +
    +
    + +
    +
    +
    {t('Your Referral Code')}
    +
    {splitAddress(walletAddress, 5)}
    + +
    +
    +
    {t('Withdrawable Rewards')}
    +
    {toFixed2(withdrawAmount, 2)} FIL
    + +
    +
    + +
    +
    +
    {t('Referred Users')}
    +
    {recommendAmount}
    +
    +
    +
    {t('Active Contracts')}
    +
    {unExpiredContract}
    +
    +
    +
    + +
    +
    + setTabIndex(index)} + > + + + + + + + +
    +
    + { + tabIndex === 0 && + } + { + tabIndex === 1 && ( + + ) + } + { + tabIndex === 2 && ( + + ) + } +
    +
    + ) : ( + + ) + } + + +
    +
    + +
    +
    {t('Share your referral code to earn rewards')}
    +
    +
    {splitAddress(walletAddress, 6)}
    +
    copyVal(walletAddress)} /> +
    +
    + + + +
    +
    + + + +
    + ) +} + +const UserRecord = ({ list }: { list: InvitationUserRecordType[] }) => { + const { t } = useTranslation() + return ( +
    +
    +
    {t('Addresses')}
    +
    {t('Contributed')}
    +
    {t('Binding Time')}
    +
    + { + list.length === 0 ? ( + + ) : list.map((item, index) => ( +
    +
    {splitAddress(item.key, 4)}
    +
    {toFixed2(item.contribute, 2)} FIL
    +
    {getTime(item.bindTime * 1000)}
    +
    + )) + } +
    + + ) +} + +interface ContractRecordProps { + list: PledgeInfoType[]; + rate: number; + currentTime: number; +} + +const ContractRecord = (props: ContractRecordProps) => { + + const { list, rate, currentTime } = props + const { t } = useTranslation() + const { push } = useRouter() + + return ( +
    +
    +
    {t('Contract(NFT)')}
    +
    {t('Contributed')}
    +
    {t('Maturity Date')}
    +
    + { + list.length === 0 ? ( + + ) : list.map((item, index) => ( +
    { + push('/invitationDetail', { data: item, currentTime, rate }) + }}> +
    +
    + +
    +
    # {item.tokenId}
    +
    {item.pledgeDay} {t('Days')}
    +
    +
    +
    +
    {toFixed2(calcIncome(item), 2)} FIL
    +
    +
    {getTime(item.endTime * 1000, 'day')}
    +
    +
    +
    + )) + } +
    + ) +} + +const WithdrawRecord = ({ list, address }: { list: InvitationWithdrawRecordType[], address: string }) => { + const { t } = useTranslation() + return ( +
    + { + list.length === 0 ? ( + + ) : list.map((item, index) => ( +
    +
    +
    +
    {t('Withdraw')}
    +
    {item.amount} FIL
    +
    +
    {getTime(item.createTime * 1000)}
    +
    {t('Contract Address')}:{splitAddress(address, 6)}
    +
    + )) + } +
    + ) +} + +export default observer(Invitation) \ No newline at end of file diff --git a/src/pages/my-pledge/index.tsx b/src/pages/my-pledge/index.tsx new file mode 100644 index 0000000..538d845 --- /dev/null +++ b/src/pages/my-pledge/index.tsx @@ -0,0 +1,398 @@ +import '~/styles/pledge.scss'; +import { observer } from 'mobx-react'; +import { useEffect, useRef, useState } from 'react'; +import Button from '~/components/Button'; +import store from '~/store'; +import { Empty, Tabs, Toast } from 'react-vant'; +import { useRouter } from '~/hooks/useRouter'; +import UnLogin from '~/components/Unlogin'; +import { eth_pledgeInfo, eth_pledgeRecords } from '~/contract/api'; +import { PledgeInfoType, PledgeWithdrawRecordType } from '~/types/api.d'; +import { calcIncome, getTime, splitAddress, toFixed2 } from '~/utils'; +import ModalLoading from '~/components/ModalLoading'; +import { copy } from '~/utils/copy'; +import { useTranslation } from 'react-i18next'; +import { t } from 'i18next'; + +const MyPledge = () => { + + const { walletAddress, filBalance, contract } = store.state + const {t} = useTranslation() + + const [tabIndex, setTabIndex] = useState(0) + const [pledgeToast, setPledgeToast] = useState('0') + const [withdrawAmount, setWithdrawAmount] = useState('0') + const [pledgeInfos, setPledgeInfos] = useState([] as PledgeInfoType[]); //所有質押記錄 + const [expiredPledgeInfos, setExpiredPledgeInfosPledgeInfos] = useState([] as PledgeInfoType[]); // 已到期 + const [unExpiredPledgeInfos, setUnExpiredPledgeInfosPledgeInfos] = useState([] as PledgeInfoType[]); //未到期 + const [destroyRecord, setDestroyRecord] = useState([] as PledgeInfoType[]); //未到期 + const [currentTime, setCurrentTime] = useState(0) + + const [totalPledge, setTotalPledge] = useState('0') + const [totalWithdraw, setTotalWithdraw] = useState('0') + const [pledgeRecord, setPledgeRecord] = useState([] as PledgeInfoType[]) + const [pledgeWithdrawRecord, setPledgeWithdrawRecord] = useState([] as PledgeWithdrawRecordType[]) + + const [loading, setLoading] = useState(false) + const [visible, setVisible] = useState(false) + const [hash, setHash] = useState('') + const [status, setStatus] = useState(-1) + + const navbarRefs = useRef(document.querySelector('.layout .header')) + + const resetState = () => { + setPledgeToast('0') + setWithdrawAmount('0') + setPledgeInfos([]) + setExpiredPledgeInfosPledgeInfos([]) + setUnExpiredPledgeInfosPledgeInfos([]) + setDestroyRecord([]) + setTotalPledge('0') + setTotalWithdraw('0') + setPledgeRecord([]) + setPledgeWithdrawRecord([]) + setCurrentTime(0) + } + + // 分類欄 : 質押合約 + const getData = async () => { + const res = await eth_pledgeInfo(walletAddress); + if (res) { + setPledgeInfos(res.pledgeInfos) + setWithdrawAmount(res.withdrawAmount) + setPledgeToast(res.pledgeToast) + setExpiredPledgeInfosPledgeInfos(res.expiredPledgeInfos) + setUnExpiredPledgeInfosPledgeInfos(res.unExpiredPledgeInfos) + setCurrentTime(res.currentTime) + setDestroyRecord(res.destoryRecord) + } + } + + // 分類欄 : 交易明細 + const getRecordData = async () => { + const res = await eth_pledgeRecords(walletAddress) + if (res) { + setTotalPledge(res.totalPledge) + setTotalWithdraw(res.totalWithdraw) + setPledgeRecord(res.records) + setPledgeWithdrawRecord(res.withdrawRecordPs) + } + } + + const withdrawIncome = async () => { + try { + const { Pledge__factory } = contract._contract; + setLoading(true) + const res = await Pledge__factory.withdraAllInterest(); + setHash(res.hash) + setVisible(true) + const tx = await res.wait() + setStatus(tx?.status as number); + setLoading(false) + getData() + store.getBalance(walletAddress) + } catch (error) { + console.log(error); + setLoading(false) + } + } + + useEffect(() => { + tabIndex === 0 && walletAddress && getData() + + tabIndex === 1 && walletAddress && getRecordData() + + !walletAddress && resetState() + + }, [walletAddress, tabIndex]) + + useEffect(() => { + if (!visible) { + setHash('') + setStatus(-1) + } + }, [visible]) + + useEffect(() => { + navbarRefs.current?.classList.add('pledge-contract-navbar') + + return () => { + navbarRefs.current?.classList.remove('pledge-contract-navbar') + } + }, []) + + return ( +
    +
    +
    +
    +
    +
    {t('Staking Details')}
    +
    {t('SOFIL NFTs represent the staking contracts you hold')}
    +
    + setTabIndex(index)}> + + + +
    +
    +
    +
    + { + walletAddress ? ( + <> + { + tabIndex === 0 && ( + + ) + } + { + tabIndex === 1 && ( + + ) + } + + ) : ( + + ) + } +
    + +
    + ) +} + +interface PledgeContractProps { + data: [PledgeInfoType[], PledgeInfoType[], PledgeInfoType[]], + currentTime: number, + filBalance: string, + pledgeToast: string, + withdrawAmount: string, + pledgeInfosLength: number, + withdrawIncome: Function, + loading: boolean, + hash: string, + visible: boolean, + setVisible: Function, + status: number +} + +const PledgeContract = (props: PledgeContractProps) => { + + const { data, currentTime, filBalance, pledgeToast, withdrawAmount, pledgeInfosLength, withdrawIncome, hash, setVisible, visible, status, loading } = props + const { push } = useRouter() + const [tabIndex, setTabIndex] = useState(0) + + return ( +
    +
    +
    +
    {t('Available Balance')}
    +
    {toFixed2(filBalance, 2) || '0.00'} FIL
    +
    + +
    +
    {t('Staked Balance')}
    +
    {toFixed2(pledgeToast, 2)} FIL
    +
    +
    +
    {t('Withdrawable Rewards')}
    +
    {toFixed2(withdrawAmount, 2)} FIL
    +
    + +
    +
    {t('No. of Staking Contracts')}
    +
    {pledgeInfosLength}
    +
    +
    +
    +
    + setTabIndex(index)} active={tabIndex} color='#0F0637' > + + + + +
    +
    +
    +
    {t('Contract(NFT)')}
    +
    {t('Withdrawable')}
    +
    {tabIndex === 0 ? t('Maturity Date') : t('Status')}
    +
    + { + data[tabIndex].length === 0 ? ( +
    + +
    + ) : data[tabIndex].map((item, index) => ( +
    { + push('/nftDetail', { data: item, currentTime: currentTime, index: tabIndex }) + }}> +
    +
    + +
    +
    # {item.tokenId}
    +
    {item.pledgeDay} {t('Days')}
    +
    +
    +
    +
    {toFixed2(calcIncome(item), 2)} FIL
    +
    + { + tabIndex === 0 && ( +
    {getTime(item.endTime * 1000, 'day')}
    + ) + } + { + tabIndex === 1 && ( +
    {t('Matured')}
    + ) + } + { + tabIndex === 2 && ( +
    {t('Closed')}
    + ) + } +
    +
    +
    + )) + } +
    + +
    + ) +} + +interface RecordProps { + totalPledge: string, + totalWithdraw: string + pledgeRecord: PledgeInfoType[], + pledgeWithdrawRecord: PledgeWithdrawRecordType[], + contractAddress: string +} + +const Record = (props: RecordProps) => { + + const [tabIndex, setTabIndex] = useState(0) + const { totalPledge, totalWithdraw, pledgeRecord, pledgeWithdrawRecord, contractAddress } = props; + + return ( +
    +
    +
    +
    {t('Accumulative Stake')}
    +
    {toFixed2(totalPledge, 2)} FIL
    + {/*
    + +
    */} +
    +
    +
    {t('Accumulative Rewards Withdraw')}
    +
    {toFixed2(totalWithdraw, 2)} FIL
    +
    + {/* */} +
    +
    +
    +
    +
    + setTabIndex(index)}> + + + +
    +
    + { + tabIndex === 0 ? ( +
    + { + pledgeRecord.length === 0 ? ( + + ) : pledgeRecord.map((item, index) => ( +
    +
    +
    {t('Create Contract(NFT)')}
    +
    {item.pledgeAmount} FIL
    +
    +
    +
    # {item.tokenId}
    +
    {item.pledgeDay} {t('Days')}
    +
    +
    {getTime(item.startTime * 1000)}
    +
    {t('Contract Address')}: copy(contractAddress, () => { + Toast.success('Copy Success') + })}>{splitAddress(contractAddress, 8)}
    +
    +
    + )) + } +
    + ) : ( +
    + { + pledgeWithdrawRecord.length === 0 ? ( + + ) : pledgeWithdrawRecord.map((item, index) => ( +
    +
    +
    {t('Withdraw')}
    +
    {item.amount} FIL
    +
    +
    + { + item._type === 1 ? ( +
    +
    # {item.tokenId}
    +
    {item.pledgeDay} {t('Days')}
    +
    + ) : ( +
    {t('merge and extract')}
    + ) + } +
    +
    {getTime(item.createTime * 1000)}
    +
    {t('Contract Address')}: copy(contractAddress, () => { + Toast.success(t('Copy Success')) + })}>{splitAddress(contractAddress, 8)}
    +
    +
    + )) + } +
    + ) + } +
    +
    +
    + ) +} + + +export default observer(MyPledge) \ No newline at end of file diff --git a/src/pages/nft-detail/index.tsx b/src/pages/nft-detail/index.tsx new file mode 100644 index 0000000..70a6977 --- /dev/null +++ b/src/pages/nft-detail/index.tsx @@ -0,0 +1,249 @@ + +import { t } from 'i18next' +import { observer } from 'mobx-react' +import { useEffect, useRef, useState } from 'react' +import Button from '~/components/Button' +import Modal from '~/components/Modal' +import ModalLoading from '~/components/ModalLoading' +import { eth_Detail } from '~/contract/api' +import useCopyLink from '~/hooks/useCopy' +import { useRouter } from '~/hooks/useRouter' +import store from '~/store' +import '~/styles/pledge.scss' +import { PledgeInfoType } from '~/types/api.d' +import { calcExtractableAmount, calcReleasedIncome, calcWithdrawnAmount, getTime, splitAddress } from '~/utils' +import { toBigInt } from '~/utils/wei' + +const NFTDetail = () => { + + const { contract, walletAddress } = store.state + const { copyVal } = useCopyLink() + const { push, location } = useRouter() + const _data = location.state.data as PledgeInfoType + const _currentTime = location.state.currentTime; + const index = location.state.index; + + const [data, setData] = useState(_data as PledgeInfoType) + const [currentTime, setCurrentTime] = useState(_currentTime) + + const [loading, setLoading] = useState(false) + const [visible, setVisible] = useState(false) + const [hash, setHash] = useState('') + const [status, setStatus] = useState(-1) + + const [loadingEx, setLoadingEx] = useState(false) + const [visibleEx, setVisibleEx] = useState(false) + const [hashEx, setHashEx] = useState('') + const [statusEx, setStatusEx] = useState(-1) + + const [pledgeVisible, setPledgeVisible] = useState(false) + + const navbarRefs = useRef(document.querySelector('.layout .header')) + + const withdrawIncome = async () => { + try { + const { Pledge__factory } = contract._contract + const tokenId = toBigInt(data.tokenId) + setLoading(true) + const res = await Pledge__factory.withdrawInterest(tokenId) + setHash(res.hash) + setVisible(true) + const tx = await res.wait() + setStatus(tx?.status as number); + setLoading(false) + store.getBalance(walletAddress) + getData() + } catch (error) { + console.log(error); + setLoading(false) + } + } + + const exchangePrincipal = async () => { + try { + setLoadingEx(true) + const { Pledge__factory, NFT__factory } = contract._contract; + const isApprove = await NFT__factory.isApprovedForAll(walletAddress, Pledge__factory.target) + if (!isApprove) { + const approve = await NFT__factory.setApprovalForAll(Pledge__factory.target, true) + await approve.wait() + } + setLoadingEx(false) + setPledgeVisible(true) + } catch (error) { + setLoadingEx(false) + } + } + + const confirmExchangePrincipal = async () => { + setPledgeVisible(false) + try { + const { Pledge__factory, NFT__factory } = contract._contract; + // 檢測有沒有授權NFT + setLoadingEx(true) + const tokenId = toBigInt(`${data.tokenId}`) + const res = await Pledge__factory.destroyPledge(tokenId); + setHashEx(res.hash) + setVisibleEx(true) + const tx = await res.wait() + setStatusEx(tx?.status as number); + setLoadingEx(false) + store.getBalance(walletAddress); + getData() + } catch (error) { + console.log(error); + setLoadingEx(false) + } + } + + const getData = async () => { + const res = await eth_Detail(_data.tokenId, "0x1"); + if (res) { + setCurrentTime(res.currentTime) + setData(res.data) + } + } + + useEffect(() => { + walletAddress && getData() + }, [walletAddress]) + + useEffect(() => { + navbarRefs.current?.classList.add('nft-detail-navbar') + + return () => { + navbarRefs.current?.classList.remove('nft-detail-navbar') + } + }, []) + + return ( +
    +
    +
    +
    +
    push(-1)}>
    +
    {t('Contract (NFT) Details')}
    +
    +
    +
    +
    +
    +
    +
    + { + data.isBlack ? ( + + ) : ( + + ) + } +
    +
    {t('NFT Details')}
    +
    +
    {t('Contract No. (NFT ID)')}
    +
    # {data.tokenId}
    +
    +
    +
    {t('NFT Standard')}
    +
    ERC-721 (BSC)
    +
    +
    +
    {t('Contract Address')}
    +
    + {splitAddress(contract._contract.NFT__factory.target, 6)} + copyVal(contract._contract.NFT__factory.target)}> +
    +
    +
    +
    + {/* */} +
    +
    {t('Contract Details')}
    +
    +
    {t('Contract Type')}
    +
    {data.pledgeDay} {t('Days Staking')}
    +
    +
    +
    {t('Status')}
    +
    {data.endTime > currentTime ? t('Active') : t('Matured')}
    +
    +
    +
    {t('Staked Amount')}
    +
    {data.pledgeAmount} FIL
    +
    +
    +
    {t('Est. APR')}
    +
    {data.rate}%
    +
    +
    +
    {t('Created Time')}
    +
    {getTime(data.startTime * 1000)}
    +
    +
    +
    {t('Maturity Time')}
    +
    {getTime(data.endTime * 1000)}
    +
    +
    +
    + {/* */} +
    +
    {t('Rewards & Withdrawals Details')}
    +
    +
    {t('Rewards Start Time')}
    +
    {getTime(data.startTime * 1000)}
    +
    +
    +
    {t('Rewards Distributed')}
    +
    {calcReleasedIncome(data, currentTime)} FIL
    +
    +
    +
    {t('Rewards Withdrawn')}
    +
    {calcWithdrawnAmount(data)} FIL
    +
    +
    +
    {t('Withdrawable Amount')}
    +
    {calcExtractableAmount(data, currentTime)} FIL
    +
    +
    +
    +
    + { + index !== 2 && ( +
    + + { + currentTime > data.endTime && ( + + ) + } +
    + ) + } + + + +
    +
    + +
    +
    {t('UNSTAKE')}
    +
    {t('unstake-desc')}
    +
    +
    +
    + ) +} + +export default observer(NFTDetail) \ No newline at end of file diff --git a/src/pages/pledge/index.tsx b/src/pages/pledge/index.tsx new file mode 100644 index 0000000..d44ea1f --- /dev/null +++ b/src/pages/pledge/index.tsx @@ -0,0 +1,259 @@ +import { ethers } from 'ethers'; +import { observer } from 'mobx-react'; +import { useEffect, useRef, useState } from 'react'; +import { useTranslation } from 'react-i18next'; +import { Dialog, Toast } from 'react-vant'; +import Button from '~/components/Button'; +import Loading from '~/components/Loading'; +import Modal from '~/components/Modal'; +import ModalLoading from '~/components/ModalLoading'; +import { eth_pledgeProducts } from '~/contract/api'; +import { useRouter } from '~/hooks/useRouter'; +import store from '~/store'; +import '~/styles/pledge.scss' +import { toFixed2 } from '~/utils'; +import { fromWei, toBigInt, toWei, wei } from '~/utils/wei'; +// +const Pledge = () => { + + const { t } = useTranslation() + const { location } = useRouter() + + const { filBalance, walletAddress, contract: { _contract: { Pledge__factory, FIL__factory, Pool__factory } } } = store.state + const [pledgeList, setPledgeList] = useState([ + { day: 180, rate: 14 }, + { day: 270, rate: 15 }, + { day: 360, rate: 16 }, + ]) + + const [amount, setAmount] = useState('') + const [profit, setProfit] = useState('0.00') + const [tabIndex, setTabIndex] = useState(location.state ? location.state.index : 0) + const [visible, setVisible] = useState(false) + const [loading, setLoading] = useState(false) + const [visibleLoading, setVisibleLoading] = useState(false) + const [hash, setHash] = useState('') + const [status, setStatus] = useState(-1) + const invitationAddressRefs = useRef(null) + + const navbarRefs = useRef(document.querySelector('.layout .header')) + + const handleInput = (e: React.ChangeEvent) => { + let value = e.target.value.replace(/[^\d]/g, '') + setAmount(value) + } + + const getData = async () => { + const res = await eth_pledgeProducts() + res.data && setPledgeList(res.data) + } + + const pledge = async () => { + if (!amount) return Toast.info(t('Enter a staking amount')) + try { + setLoading(true) + + //查詢是否授權 + const allowance = await FIL__factory.allowance(walletAddress, Pool__factory.target) + + // 授權金額小於質押數量時授權 + if (allowance < toWei(amount)) { + // 授權 + const approve = await FIL__factory.approve(Pool__factory.target, wei.MaxUint256) + await approve.wait() + } + + const res = await Pledge__factory.recommendObj(walletAddress) + + if (res["key"] === wei.AddressZero) { + setLoading(false) + setVisible(true) + return + } + + + + confirmPledge() + } catch (error) { + console.log(error); + + setLoading(false) + } + } + + const confirmPledge = async () => { + try { + setLoading(true) + let inviterAddr = invitationAddressRefs.current?.value ? invitationAddressRefs.current?.value.trim() : wei.AddressZero + + if (!ethers.isAddress(inviterAddr)) { + inviterAddr = wei.AddressZero + } + + // 質押 + const res = await Pledge__factory.pledge(toWei(amount), toBigInt(tabIndex), inviterAddr) + setHash(res.hash) + setVisibleLoading(true) + const tx = await res.wait() + + setStatus(tx?.status as number); + setLoading(false) + setAmount("") + // 更新餘額 + store.getBalance(walletAddress) + + } catch (error) { + console.log(error); + + setLoading(false) + } + } + + useEffect(() => { + getData() + navbarRefs.current?.classList.add('pledge-navbar') + + return () => { + navbarRefs.current?.classList.remove('pledge-navbar') + } + }, []) + + useEffect(() => { + // 計算收益 + const calcIncome = () => { + if (amount === '') { + setProfit('0.00') + return + } + const pledgeAmount = toWei(amount) + const pledgeDay = toBigInt(pledgeList[tabIndex].day) + const rate = toBigInt(pledgeList[tabIndex].rate) + const year = toBigInt(365) + const total = pledgeAmount * rate / year * pledgeDay + const _profit = ethers.formatUnits(total, 20) + setProfit(_profit) + } + calcIncome() + }, [amount, tabIndex]) + + useEffect(() => { + if (!visibleLoading) { + setHash('') + setStatus(-1) + } + }, [visibleLoading]) + + return ( +
    +
    +
    +
    +
    {t('Earn FILs Against Your FILs')}
    +
    +
    +
    +
    +
    {t('Available Balance')}
    +
    + +
    {filBalance || '0.00'}
    +
    +
    {t('Choose a staking period')}
    +
    + { + pledgeList.map((item, index) => ( +
    { + setTabIndex(index) + }} + > +
    +
    {item.day} {t('Days')}
    +
    {item.rate} %
    +
    {t('Est.APR')}
    +
    +
    + )) + } +
    +
    {t('Enter a staking amount')}
    +
    +
    + + +
    +
    +
    FIL
    + +
    +
    +
    {t('Review and Confirm')}
    +
    +
    {t('Staking Amount')}:
    +
    {amount || '0.00'} FIL
    +
    +
    +
    {t('Staking Period')}:
    +
    {pledgeList[tabIndex].day} {t('Days')}
    +
    +
    +
    {t('Est. Rewards')}:
    +
    {toFixed2(profit, 4)} FIL
    +
    +
    +
    {t('Est. Total Receivable')}:
    +
    {toFixed2(profit, 4)} FIL
    +
    +
    + +
    +
    {t('By clicking Stake,you agree to SOFIL Terms of Services and Privacy Policy')}
    +
    + { + setVisible(false); + confirmPledge() + }} + setVisible={() => { + setVisible(false) + }} + backgroundColosed + > +
    +
    + +
    +
    {t('Enter a Referral Code (if any)')}
    +
    +
    {t('pledge-desc')}
    +
    +
    +
    + +
    +
    +
    +
    + + + +
    + ) +} + +export default observer(Pledge); \ No newline at end of file diff --git a/src/router/layout/Navbar.tsx b/src/router/layout/Navbar.tsx new file mode 100644 index 0000000..2502d3d --- /dev/null +++ b/src/router/layout/Navbar.tsx @@ -0,0 +1,223 @@ +import { observer } from 'mobx-react' +import { useEffect, useMemo, useState } from 'react' +import { useTranslation } from 'react-i18next' +import { Popup, Toast } from 'react-vant' +import ConnectWalletButton from '~/components/ConnectWalletButton' +import Modal from '~/components/Modal' +import { config } from '~/contract' +import { useRouter } from '~/hooks/useRouter' +import { SOFIL_LANGUAGE } from '~/language' +import store from '~/store' +import '~/styles/layout.scss' +import { toBigInt } from '~/utils/wei' + +interface NavbarProps { + pathname: string +} + +const Navbar = (props: NavbarProps) => { + + const { filBalance } = store.state + const { push } = useRouter() + const [chainId, setChainId] = useState(Number(process.env.REACT_APP_CHAINID)) + const { t, i18n } = useTranslation() + + const [visible, setVisible] = useState(false) + const [errorVisible, setErrorVisible] = useState(false) + const [langVisible, setLangVisible] = useState(false) + + const menu = useMemo(() => [ + { id: 1, title: "Basic Staking", uri: require('~/assets/menu/menu-bg-0.png'), path: '/pledge' }, + { id: 2, title: "My Staking", uri: require('~/assets/menu/menu-bg-1.png'), path: '/myPledge' }, + { id: 3, title: "My Referral", uri: require('~/assets/menu/menu-bg-2.png'), path: '/invitation' }, + { id: 4, title: "Support & Resources", uri: require('~/assets/menu/menu-bg-3.png'), path: '' }, + ], []) + + const urls = useMemo(() => [ + { img: require("~/assets/menu/telegram.png"), title: 'Join Us on Telegram', uri: 'https://t.me/sofil_announcements ' }, + { img: require("~/assets/menu/twitter.png"), title: 'Follow Us on Twitter', uri: 'https://twitter.com/official_sofil' }, + { img: require("~/assets/menu/linkedin.png"), title: 'Follow Us on LinkedIn', uri: 'https://www.linkedin.com/company/sofilofficial/ ' }, + ], []) + + const langs = useMemo(() => [ + { title: 'English', key: 'en' }, + { title: '简体中文', key: 'zh' }, + { title: '繁体中文', key: 'hk' }, + ], []) + + const gitbooks = useMemo(() => ({ + 'en': 'https://sofil.gitbook.io/main', + 'zh': 'https://sofil.gitbook.io/main/v/cn', + 'hk': 'https://sofil.gitbook.io/main/v/tc' + } as { [key: string]: string }), []) + + const [currentLang, setCurrentLang] = useState(2) + + const setLang = (index: number) => { + const key = langs[index].key + setCurrentLang(index) + setLangVisible(false) + i18n.changeLanguage(key) + window.sessionStorage.setItem(SOFIL_LANGUAGE, key) + } + + const switchNetWork = () => { + // 请在DApp浏览器中访问 + if (!window.ethereum) return Toast.fail(t('Please visit in DApp Browser')) + const _chainId = toBigInt(`${process.env.REACT_APP_CHAINID}`).toString(16) + setErrorVisible(false) + window.ethereum.request({ + method: 'wallet_switchEthereumChain', + params: [{ chainId: `0x${_chainId}` }], + }).then((res: any) => { + + }).catch((error: any) => { + // 请切换至BSC网络 + Toast.fail(t('Please switch to BSC network')) + console.error(error); + }) + } + + useEffect(() => { + window.ethereum && window.ethereum.request({ + method: 'eth_chainId' + }).then((chainId: string) => { + const _chainId = Number(toBigInt(chainId).toString(10)) + setChainId(_chainId) + }) + + window.ethereum && window.ethereum.on("chainChanged", (chainId: string) => { + window.location.reload() + }); + }, []) + + useEffect(() => { + let index = langs.findIndex(v => v.key === window.sessionStorage.getItem(SOFIL_LANGUAGE)) + if (index > -1) { + setCurrentLang(index) + } + }) + + useEffect(()=>{ + if(currentLang == 0){ + document.body.style.fontFamily = "Play"; + }else{ + document.body.style.fontFamily = "initial"; + } + },[currentLang]) + + return ( +
    +
    +
    +
    + push('/')} /> + {/*
    FIL Price: {filBalance || '0.00'} FIL
    */} +
    +
    +
    + { + config[chainId] ? ( + + ) : ( +
    setErrorVisible(true)}> + +
    + ) + } +
    setVisible(true)}> + +
    +
    +
    + +
    +
    +
    + { + push('/') + setVisible(false) + }} /> +
    setVisible(false)}>
    +
    +
    + { + menu.map((item, index) => ( +
    { + if (item.path) { + push(item.path) + setVisible(false) + } else { + const key = langs[currentLang].key; + window.open(gitbooks[key]) + } + }}> +
    +
    +
    + +
    +
    +
    {t(item.title)}
    +
    +
    + )) + } +
    + +
    +
    setLangVisible(!langVisible)}> +
    {t('Language')}
    +
    +
    {langs[currentLang].title}
    +
    +
    +
    +
    + { + langs.map((item, index) => ( +
    setLang(index)}> +
    {item.title}
    + {currentLang === index &&
    } +
    + )) + } +
    + +
    + +
    + { + urls.map((item, index) => ( +
    { + window.open(item.uri) + }}> +
    + +
    {t(item.title)}
    +
    +
    +
    + )) + } +
    +
    {t('Terms of Services')}
    +
    {t('Privacy Policy')}
    +
    +
    {t('Copyright © 2024 SOFIL. All Rights Reserved.')}
    +
    +
    +
    + + +
    +
    {t('SOFIL currently supports the Smart Chain (BSC).')}
    +
    {t('Your wallet is running on an unsupported network')}
    +
    +
    + +
    + ) +} + +export default observer(Navbar) \ No newline at end of file diff --git a/src/router/layout/RenderRouter.tsx b/src/router/layout/RenderRouter.tsx new file mode 100644 index 0000000..195b804 --- /dev/null +++ b/src/router/layout/RenderRouter.tsx @@ -0,0 +1,25 @@ +import { Suspense } from "react"; +import { Route, Routes } from "react-router-dom"; +import { Loading } from "react-vant"; +import routes from "../routes"; + +const RenderRouter = () => { + return ( + +
    + +
    加载中...
    +
    +
    }> + + {routes.map(item => { + return ( + + ) + })} + + + ) +} + +export default RenderRouter; diff --git a/src/router/layout/index.tsx b/src/router/layout/index.tsx new file mode 100644 index 0000000..af80c6d --- /dev/null +++ b/src/router/layout/index.tsx @@ -0,0 +1,51 @@ +import '~/styles/layout.scss' +import { useRouter } from '~/hooks/useRouter'; +import RenderRouter from './RenderRouter'; +import Navbar from './Navbar'; +import { observer } from 'mobx-react'; +import { useEffect } from 'react'; +import store from '~/store'; +import { initContract } from '~/contract'; + +const LayoutRouter = () => { + + const { location } = useRouter() + const { walletAddress } = store.state + + useEffect(() => { + const init = async () => { + initContract() + if (walletAddress) { + store.getBalance(walletAddress) + } else { + store.setBanlance("0.00") + } + } + init() + }, [walletAddress]) + + useEffect(() => { + window.ethereum && window.ethereum.on('accountsChanged', (res: string[]) => { + if (res.length <= 0) { + store.removeAddr() + } else { + store.setAddress(res[0]) + } + }); + + + }, []) + + return ( +
    + +
    + +
    +
    + ); +} + +export default observer(LayoutRouter) \ No newline at end of file diff --git a/src/router/routes.tsx b/src/router/routes.tsx new file mode 100644 index 0000000..43ab771 --- /dev/null +++ b/src/router/routes.tsx @@ -0,0 +1,43 @@ +import { lazy } from "react"; +import { RouteObject } from "react-router-dom"; + +const Home = lazy(() => import("~/pages/home")); +const Pledge = lazy(() => import("~/pages/pledge")); +const MyPledge = lazy(() => import("~/pages/my-pledge")); +const NFTDetail = lazy(() => import("~/pages/nft-detail")); +const Invitation = lazy(() => import("~/pages/invitation")); +const InvitationDetail = lazy(() => import("~/pages/invitation-detail")); +const Admin = lazy(() => import("~/pages/admin")); + +const routes = [ + { + path: "/", + element: + }, + { + path: "/pledge", + element: + }, + { + path: "/myPledge", + element: + }, + { + path: "/nftDetail", + element: + }, + { + path: "/invitation", + element: + }, + { + path: "/invitationDetail", + element: + }, + { + path: "/admin", + element: + } +] as RouteObject[]; + +export default routes; diff --git a/src/store/index.ts b/src/store/index.ts new file mode 100644 index 0000000..95548c4 --- /dev/null +++ b/src/store/index.ts @@ -0,0 +1,71 @@ +import { makeAutoObservable } from "mobx"; +import { StoreLocalStorageKey } from "~/types/store.d"; +import { ContractType } from "~/types/store"; +import { toFixed2 } from "~/utils"; +import { fromWei } from "~/utils/wei"; + +interface Store { + state: object; +} + +class AppStore implements Store { + state = { + walletAddress: "", + contract: {} as ContractType, + filBalance: "0.00", + }; + + constructor() { + makeAutoObservable(this); + this.initState(); + } + + /** + * @description 初始化数据 + */ + initState() { + let addr = + window.sessionStorage.getItem(StoreLocalStorageKey.ADDRESS) || ""; + this.state.walletAddress = addr; + } + + /** + * @description 设置地址 + */ + setAddress(addr: string): void { + this.state.walletAddress = addr; + window.sessionStorage.setItem(StoreLocalStorageKey.ADDRESS, addr); + } + + /** + * @description 移除地址 + */ + removeAddr(): void { + this.state.walletAddress = ""; + window.sessionStorage.removeItem(StoreLocalStorageKey.ADDRESS); + } + + setContract(_contract: ContractType): void { + this.state.contract = _contract; + } + + setBanlance(value: string): void { + this.state.filBalance = value; + } + + async getBalance(address: string) { + + try { + const { FIL__factory } = this.state.contract._contract; + const res = await FIL__factory.balanceOf(address); + const balance = toFixed2(fromWei(res), 2); + this.setBanlance(balance); + } catch (error) { + console.error(error); + } + } +} + +const store = new AppStore(); + +export default store; diff --git a/src/styles/admin.scss b/src/styles/admin.scss new file mode 100644 index 0000000..ec56ed8 --- /dev/null +++ b/src/styles/admin.scss @@ -0,0 +1,58 @@ +.admin{ + .rv-tabs__nav { + background: none; + } +} + +.admin-pledge{ + .input{ + margin-top: 10px; + border-radius: 10px; + padding:10px; + border: 1px solid $white; + caret-color:$white; + } + + .black-box{ + border: 1px solid #fff; + padding: 10px; + border-radius: 10px; + } + + .rv-textarea__control { + color: $white; + } + +} + +.admin-nft{ + .id-box{ + width: 30%; + height: 35px; + background-color: $red; + border-radius: 5px; + margin-right: 3%; + } + .active{ + border: 4px solid #4EE1F9; + } + .input{ + margin-top: 10px; + border-radius: 10px; + padding:10px; + border: 1px solid $white; + caret-color:$white; + } + .rv-textarea__control { + color: $white; + } +} + +.admin-pool{ + .input{ + border: 2px solid #057ec1; + border-radius: 5px; + width: 100%; + background: none; + } +} \ No newline at end of file diff --git a/src/styles/components.scss b/src/styles/components.scss new file mode 100644 index 0000000..f286bcd --- /dev/null +++ b/src/styles/components.scss @@ -0,0 +1,155 @@ +.modal-content { + width: 370px; + border-radius: 20px; + background: linear-gradient(291deg, #0e2d6f 2%, #352b72 43%, #01123c 83%); + box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.1608); + padding: 20px; + color: $white; + .modal-button { + position: relative; + width: 130px; + height: 44px; + overflow: hidden; + border-radius: 22px; + background: linear-gradient(180deg, #70effc 0%, #297ed3 100%, #70effc 100%); + color: $white; + + &:active { + opacity: 0.8; + } + } +} + +.max-button { + width: 200px; + height: 60px; + border-radius: 30px; + background: $white; + border: none; + color: $white; + font-size: 20px; + color: $black; + font-weight: bold; + box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.1608); +} + +.min-button { + width: 100px; + height: 35px; + border-radius: 30px; + font-size: 18px; + background-color: $white; + color: $black; + font-weight: bold; + box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.1608); + white-space: nowrap; +} + +.connect-button { + .button { + width: 140px; + height: 30px; + border-radius: 23px; + background: #ffffff; + box-sizing: border-box; + border: 1px solid #4ee1f9; + color: $black; + font-weight: bold; + box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.1608); + } + + .rv-popover__content { + width: 126px; + } +} + +.unlogin { + .button { + width: 200px !important; + height: 50px !important; + border-radius: 30px !important; + background: #021a56; + box-shadow: 0px 6px 6px 0px rgba(0, 0, 0, 0.1608); + border: none; + color: $white; + font-size: 20px; + } +} + +.loading { + .dynamics-box { + width: 73px; + height: 84px; + .dynamics-img { + width: 100%; + height: 100%; + object-fit: cover; + animation: fadeLoop 5s linear infinite; + } + } + + .img { + width: 73px; + height: 84px; + object-fit: cover; + transform: rotate(0deg); + } + + @keyframes fadeLoop { + 0% { + background-image: url("../assets/loading/loading-1.png"); + background-size: 100% 100%; + object-fit: cover; + } + + 1% { + background-image: url("../assets/loading/loading-1.png"); + background-size: 100% 100%; + object-fit: cover; + } + + 20% { + background-image: url("../assets/loading/loading-2.png"); + background-size: 100% 100%; + object-fit: cover; + } + + 40% { + background-image: url("../assets/loading/loading-3.png"); + background-size: 100% 100%; + object-fit: cover; + } + + 60% { + background-image: url("../assets/loading/loading-4.png"); + background-size: 100% 100%; + object-fit: cover; + } + + 80% { + background-image: url("../assets/loading/loading-5.png"); + background-size: 100% 100%; + object-fit: cover; + } + + 100% { + background-image: url("../assets/loading/loading-6.png"); + background-size: 100% 100%; + object-fit: cover; + } + } +} + +.my-loading { + $image-count: 5; // 图片数量 + $animation-duration: 10s; // 动画持续时间 + + .box { + width: 100px; + height: 120px; + position: relative; + animation: fadeLoop 5s linear infinite; + background-size: 100% 100%; + object-fit: cover; + } +} diff --git a/src/styles/global.scss b/src/styles/global.scss new file mode 100644 index 0000000..8016755 --- /dev/null +++ b/src/styles/global.scss @@ -0,0 +1,213 @@ +$colors:( + primary : $primary, + background : $background, + primary-text : $primary-text, + sub-text : $sub-text, + green : $green, + blue : $blue, + red : $red, + white : $white, + black : $black, + page:$page +); + +$iterations: 5; + +* { + padding: 0; + margin: 0; + box-sizing: border-box; +} + +body { + font-size: 16px; + color: #021A56; + user-select: none; + background-color: $white; + font-family: Play; + width: 430px; + overflow-x: hidden; +} + +@each $key,$color in $colors{ + .#{""+$key}{ color:$color }; + .#{""+$key}-bg{background-color: $color }; +}; + +@for $i from 1 through $iterations{ + // 外边距 + .mt-#{$i}px{margin-top: #{$i}px;} + .ml-#{$i}px{margin-left: #{$i}px;} + .mt-#{$i}{margin-top: 10px * $i;} + .mb-#{$i}{margin-bottom: 10px * $i;} + .ml-#{$i}{margin-left: 10px * $i;} + .mr-#{$i}{margin-right: 10px * $i;} + .m-#{$i}{margin: 10px * $i;} + .mtb-#{$i}{margin: 10px*$i 0px;} + .mlr-#{$i}{margin: 0px 10px*$i;} + + // 内边距 + .pt-#{$i}px{padding-top: #{$i}px;} + .pl-#{$i}px{padding-left: #{$i}px;} + .pt-#{$i}{padding-top: 10px * $i;} + .pb-#{$i}{padding-bottom: 10px * $i;} + .pl-#{$i}{padding-left: 10px * $i;} + .pr-#{$i}{padding-right: 10px * $i;} + .p-#{$i}{padding: 10px * $i;} + .ptb-#{$i}{padding: 10px*$i 0px;} + .plr-#{$i}{padding: 0px 10px*$i;} +} + +@for $i from 0 through 30{ + .fz-#{ $i + 8 }{font-size: 8px + $i} +} + +@for $i from 1 through 10{ + .flex-#{$i}{flex:$i}; +} + +.divider{ + width: 100%; + height: 0px; + border: 1px solid #D2D4D9; +} + +.fz-wb-100{ + font-weight: 100; +} + +.fz-wb-550 { + font-weight: 550; +} + +.fz-wb-1000 { + font-weight: 1000; +} + +.tac{ + text-align: center; +} + +.tar{ + text-align: end; +} + +.taj { + text-align: justify; +} + +.align-items { + align-items: center; +} + +.flex-wrap { + flex-wrap: wrap; +} + +.tad{ + text-align: end; +} + +.row { + display: flex; +} + +.row-items { + display: flex; + align-items: center +} + +.row-center { + display: flex; + justify-content: center; + align-items: center; +} + +.row-between { + display: flex; + justify-content: space-between; + align-items: center; +} + +.row-justify-around { + display: flex; + justify-content: space-around +} + +.row-justify-evenly { + display: flex; + justify-content: space-evenly +} + +.row-justify-end { + display: flex; + justify-content: flex-end +} + +.row-justify-start { + display: flex; + justify-content: flex-start +} + +.row-center { + display: flex; + justify-content: center; + align-items: center +} + +.column { + display: flex; + ; + flex-direction: column +} + +; + +.column-items-center { + display: flex; + align-items: center; + flex-direction: column +} + +.column-justify-center { + display: flex; + justify-content: center; + flex-direction: column +} + +.column-justify-between { + display: flex; + justify-content: space-between; + flex-direction: column +} + +.column-justify-around { + display: flex; + justify-content: space-around; + flex-direction: column +} + +.column-justify-evenly { + display: flex; + justify-content: space-evenly; + flex-direction: column +} + +.column-justify-end { + display: flex; + justify-content: flex-end; + flex-direction: column +} + +.column-justify-start { + display: flex; + justify-content: flex-start; + flex-direction: column +} + +.column-center { + display: flex; + justify-content: center; + align-items: center; + flex-direction: column +} \ No newline at end of file diff --git a/src/styles/home.scss b/src/styles/home.scss new file mode 100644 index 0000000..d8b2b36 --- /dev/null +++ b/src/styles/home.scss @@ -0,0 +1,245 @@ +.home { + .liner-box { + position: relative; + width: 100%; + height: 190px; + background-color: #2d8ad7; + border-radius: 0px 0px 20% 20% / 40% 40%; + + .start-button { + width: 140px; + height: 35px; + border-radius: 23px; + background: #f3f3f3; + box-sizing: border-box; + border: 1px solid #4ee1f9; + box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.1608); + border: none; + font-weight: bold; + } + + .logo { + background-image: url("../assets/max-logo.png"); + width: 300px; + height: 328px; + background-size: 100% 100%; + position: absolute; + left: 230px; + top: 0; + } + + .radius { + width: 100%; + background: linear-gradient(180deg, #473c80 -6%, #021a56 100%); + height: 180px; + color: $white; + border-radius: 0px 0px 20% 20% / 40% 40%; + position: absolute; + top: 0; + left: 0; + } + } + + .product-box { + width: 100%; + height: 192px; + border-radius: 23px; + box-shadow: 0px 6px 6px 0px rgba(0, 0, 0, 0.1608); + background-image: url('../assets/product-box.png'); + background-size: 100% 100%; + object-fit: cover; + position: relative; + z-index: 1; + color: $white; + .box { + width: 391px; + height: 172px; + border-radius: 23px; + background: rgba(255, 255, 255, 0.102); + box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.1608); + padding: 15px; + } + } + + .BinancePag { + .img { + @include img-size(42px, 42px); + } + + .Locked { + width: 100px; + height: 30px; + -webkit-clip-path: polygon(15% 0, 85% 0, 100% 50%, 100% 50%, 85% 100%, 15% 100%, 0 46%, 0 50%); + clip-path: polygon(15% 0, 85% 0, 100% 50%, 100% 50%, 85% 100%, 15% 100%, 0 46%, 0 50%); + background: #4ee1f9; + box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.1608); + border: none; + font-weight: bold; + } + } + + .tabs-box { + width: 82px; + height: 29px; + box-sizing: border-box; + border: 1px solid #ffffff; + border-radius: 23px; + font-size: 14px; + font-weight: bold; + } + + .active-tab-box { + width: 82px; + height: 29px; + border-radius: 23px; + opacity: 1; + background: #f3f3f3; + box-sizing: border-box; + color: $black; + border: 1px solid #4ee1f9; + } + + .divider { + width: 100%; + height: 6px; + background: #1c1c1c; + } + + .help { + width: 430px; + display: flex; + align-items: center; + overflow: hidden; + overflow-x: scroll; + &::-webkit-scrollbar { + display: none; + } + } + + .Upcoming { + .box { + width: 100%; + height: 106px; + border-radius: 23px; + background: #ffffff; + box-shadow: 0px 6px 6px 0px rgba(0, 0, 0, 0.1608); + padding: 15px 25px; + } + } + + @for $i from 1 through 3 { + .help-bg-img-#{$i} { + background-image: url('../assets/scroll-#{$i}.png'); + } + } + + .help-box { + min-width: 260px; + height: 130px; + border-radius: 17px; + background-size: 100% 100%; + opacity: 1; + box-shadow: 0px 6px 6px 0px rgba(0, 0, 0, 0.1608); + padding: 20px 14px; + color: $white; + object-fit: cover; + align-items: start; + + .help-img-0 { + width: 46px; + height: 72px; + object-fit: cover; + margin-top: 10px; + } + + .help-img-1 { + width: 64px; + height: 87px; + object-fit: cover; + margin-top: 10px; + } + + .help-img-2 { + width: 68px; + height: 69px; + object-fit: cover; + margin-top: 10px; + } + } + + .refer { + width: 100%; + height: 178px; + border-radius: 23px; + opacity: 1; + background: #ffffff; + box-shadow: 0px 6px 6px 0px rgba(0, 0, 0, 0.1608); + position: relative; + .img { + position: absolute; + width: 94px; + height: 92px; + object-fit: cover; + left: 0; + bottom: -35px; + } + + .box { + width: 391px; + height: 159px; + border-radius: 23px; + background-size: 100% 100%; + background-image: url('../assets/referees-box.png'); + box-sizing: border-box; + border: 1px solid #ffffff; + box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.1608); + color: $white; + } + } + + .understand-button { + width: 150px; + height: 35px; + border-radius: 23px; + background: #021a56; + box-shadow: 0px 6px 6px 0px rgba(0, 0, 0, 0.1608); + color: $white; + } + + .rv-cell { + background: $white; + border-radius: 10px; + box-shadow: 0px 6px 6px 0px rgba(0, 0, 0, 0.1608); + } + + .rv-collapse-item { + border-radius: 20px; + } + + .rv-collapse-item__title--expanded { + border-radius: 10px 10px 0px 0px; + } + + .rv-collapse-item--border { + &::after { + border: none; + } + } + + .rv-collapse-item__title--expanded { + &::after { + border: none; + } + } + + .rv-collapse-item__wrapper { + box-shadow: 0px 6px 6px 0px rgba(0, 0, 0, 0.1608); + } + + .rv-collapse-item__content { + background: $white; + color: $black; + border-radius: 0px 0px 10px 10px; + box-shadow: 0px 6px 6px 0px rgba(0, 0, 0, 0.1608); + } +} diff --git a/src/styles/invitation.scss b/src/styles/invitation.scss new file mode 100644 index 0000000..96e9827 --- /dev/null +++ b/src/styles/invitation.scss @@ -0,0 +1,131 @@ +.invitation { + position: relative; + .watermark-1 { + position: absolute; + background-image: url("../assets/stake-bg-img-2.png"); + width: 232px; + height: 268px; + right: -60px; + background-size: 100% 100%; + position: -1; + top: calc($height - 338px); + } + .liner-box { + width: 100%; + height: 180px; + background: #0e52a5; + border-radius: 0px 0px 20% 20% / 40% 40%; + position: relative; + + .box { + width: 100%; + height: 170px; + border-radius: 0px 0px 20% 20% / 40% 40%; + background-image: url("../assets/recommend-box.png"); + background-size: 100% 100%; + object-fit: cover; + color: $white; + position: absolute; + left: 0; + top: 0; + } + + .learn-box { + width: 370px; + height: 100px; + border-radius: 23px; + background: linear-gradient(275deg, #0e2d6f 1%, #352b72 50%, #01123c 98%); + box-shadow: 0px 6px 6px 0px rgba(0, 0, 0, 0.1608); + position: absolute; + left: 30px; + bottom: -50px; + .notify-img { + position: absolute; + width: 80px; + height: 80px; + object-fit: cover; + background-image: url("../assets/notify-right.png"); + background-size: 100% 100%; + right: -30px; + top: -25px; + } + } + } + + .block { + &::before { + content: " "; + } + display: block; + height: 50px; + } + + .rv-tabs__nav { + background: none; + } + + .button { + width: 130px; + height: 40px; + border-radius: 23px; + background: #021a56; + box-shadow: 0px 6px 6px 0px rgba(0, 0, 0, 0.1608); + color: $white; + font-weight: bold; + } + + .nft-img { + width: 40px; + height: 40px; + object-fit: cover; + } + + .share-img { + width: 60px; + height: 60px; + object-fit: cover; + } + + .copy-img { + width: 20px; + height: 20px; + object-fit: cover; + } + + .menu { + img { + width: 42px; + height: 42px; + object-fit: cover; + } + } + + .modal-button { + width: 140px; + height: 30px; + color: $black; + border-radius: 23px; + background: $white; + box-shadow: 0px 6px 6px 0px rgba(0, 0, 0, 0.1608); + } + + .record-box { + width: 100%; + border-radius: 20px; + padding: 20px; + background: rgba(44, 127, 211, 0.0784); + box-shadow: 0px 6px 6px 0px rgba(0, 0, 0, 0.1608); + margin-top: 20px; + + .watermark { + background-image: url("../assets/stake-watermark.png"); + background-size: 100% 100%; + width: 34px; + height: 34px; + object-fit: cover; + position: absolute; + right: 15px; + bottom: 20px; + } + } +} diff --git a/src/styles/layout.scss b/src/styles/layout.scss new file mode 100644 index 0000000..0c29184 --- /dev/null +++ b/src/styles/layout.scss @@ -0,0 +1,235 @@ +.layout { + .pledge-navbar { + background: linear-gradient(304deg, #021a56 -1%, #3b5783 21%, #021a56 95%) !important; + } + + .pledge-contract-navbar { + background: linear-gradient(283deg, #297ed3 -1%, #6d9ce3 102%, #408edd 93%) !important; + } + + .nft-detail-navbar { + background: linear-gradient(108deg, #1b80bf 0%, #3f69aa 67%, #1578b6 95%) !important; + } + + .invitation-navbar { + background: linear-gradient(113deg, #137ec1 0%, #416bab 66%, #1b74ab 95%) !important; + } + + .header { + padding: 0px 10px 0px 20px; + height: 60px; + width: 100%; + display: flex; + align-items: center; + justify-content: space-between; + background: linear-gradient(100deg, #433978 -6%, #44397d 100%); + + .icon-ego-menu { + font-size: 30px; + } + + .logo { + width: 42px; + height: 50px; + object-fit: cover; + } + + .error { + width: 50px; + height: 35px; + border-radius: 20px; + border: 2px solid #fd0000; + display: flex; + justify-content: center; + align-items: center; + + &:active { + opacity: 0.8; + } + + img { + width: 20px; + height: 20px; + object-fit: cover; + } + } + } + + .header-bg-color { + color: $white; + background-size: 100% 100%; + background-repeat: no-repeat; + } + + .pages { + height: 100%; + width: 100%; + } +} + +.rv-popup::-webkit-scrollbar { + display: none; +} + +.connect-button { + .button { + width: 126px; + height: 32px; + background: none; + border: 1px solid $white; + color: $white; + } + + .rv-popover__content { + width: 126px; + } +} + +.popup { + display: flex; + flex-direction: column; + justify-content: space-between; + height: 100%; + color: $white; + + .header { + height: 60px; + width: 100%; + display: flex; + align-items: center; + justify-content: space-between; + } + + @for $i from 0 through 3 { + .img-box-#{$i} { + width: 50%; + height: 181px; + background-image: url("../assets/menu/menu-bg-#{$i}.png"); + background-size: 100% 100%; + display: flex; + flex-direction: column; + justify-content: space-between; + padding: 20px 30px 35px 30px; + } + } + + .menu-hover { + &:active { + opacity: 0.85; + } + } + + .menu-img-0 { + @include img-size(32px, 44px); + } + + .menu-img-1 { + @include img-size(40px, 40px); + } + + .menu-img-2 { + @include img-size(45px, 44px); + } + + .menu-img-3 { + @include img-size(26px, 40px); + } + + .active-language-box { + height: 200px !important; + transition: all 0.25s linear; + } + + .language-box { + width: 100%; + background-color: #313131; + border-radius: 23px; + height: 50px; + overflow: hidden; + transition: all 0.15s linear; + + .box { + height: 50px; + } + .box-1 { + height: 40px; + } + } + + .community-box { + width: 100%; + height: 50px; + border-radius: 23px; + opacity: 1; + background: #313131; + box-shadow: 0px 6px 6px 0px rgba(0, 0, 0, 0.1608); + &:active { + opacity: 0.8; + } + + .img { + @include img-size(26px, 26px); + } + } + + .text-divider { + border-bottom: 1px solid $white; + &:active{ + opacity: 0.8; + } + } + + .divider { + width: 100%; + height: 1px; + background-color: $white; + } + + .icon { + width: 36px; + height: 36px; + object-fit: cover; + } + + .logo { + width: 42px; + height: 50px; + object-fit: cover; + } + + .icon-guanbi { + font-size: 24px; + } +} + +.rv-popup { + .header-fil { + width: 40px; + height: 40px; + object-fit: cover; + } + + .header-divider { + width: 100%; + height: 1px; + background-color: $white; + } + + .header-pledge-img { + width: 50px; + height: 50px; + object-fit: cover; + } + + .header-recommend-img { + width: 30px; + height: 30px; + object-fit: cover; + margin-left: 15px; + margin-right: 10px; + } + + .header-logout { + color: #4ee1f9; + } +} diff --git a/src/styles/pledge.scss b/src/styles/pledge.scss new file mode 100644 index 0000000..361b649 --- /dev/null +++ b/src/styles/pledge.scss @@ -0,0 +1,321 @@ +.pledge { + position: relative; + + .modal-bg-img { + background-image: url("../assets/modal-bg-img.png"); + background-size: 100% 100%; + border: none; + width: 376px; + } + + .watermark { + width: 231px; + height: 267px; + object-fit: cover; + background-image: url("../assets/watermark.png"); + background-size: 100% 100%; + position: absolute; + bottom: 0; + left: -50px; + z-index: -1; + } + + .liner-box { + position: relative; + width: 100%; + height: 128px; + opacity: 1; + background: #4ee1f9; + border-radius: 0px 0px 20% 20% / 40% 40%; + + .bg-img { + position: absolute; + background-image: url("../assets/pledge-header.png"); + background-size: 100% 100%; + width: 119px; + height: 185px; + object-fit: cover; + top: 0; + right: -15px; + } + + .box { + width: 100%; + background: linear-gradient(246deg, #021a56 -1%, #3b5783 21%, #021a56 93%); + height: 120px; + color: $white; + border-radius: 0px 0px 20% 20% / 40% 40%; + } + } + + .fil { + @include img-size(42px, 42px); + } + + .stake-button { + width: 193px; + height: 46px; + border-radius: 23px; + background: #021a56; + box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.1608); + color: $white; + font-weight: bold; + } + + .pledge-box { + width: 118px; + height: 118px; + border-radius: 20px; + background: #ffffff; + box-sizing: border-box; + border: 1px solid #021a56; + box-shadow: 0px 6px 6px 0px rgba(0, 0, 0, 0.1608); + color: #021a56; + } + + .active { + background-color: #021a56; + color: $white; + } + + .input-box { + width: 100%; + height: 60px; + border-radius: 10px; + background-color: #021a56; + + .fil { + width: 35px; + height: 35px; + object-fit: cover; + } + input { + width: 100%; + border: none; + background: none; + color: $white; + } + .button { + width: 70px; + height: 30px; + border-radius: 20px; + border: none; + font-weight: bold; + } + } + + .modal-img { + width: 101px; + height: 78px; + object-fit: cover; + } + + .modal-input { + width: 100%; + height: 40px; + border: 1px solid #057ec1; + border-radius: 10px; + width: 306px; + height: 54px; + border-radius: 16px; + opacity: 1; + background: $white; + box-sizing: border-box; + box-shadow: 0px 6px 6px 0px rgba(0, 0, 0, 0.1608); + input { + background: none; + border: none; + color: $black; + } + } + + .modal-close { + position: absolute; + top: 0; + right: 0px; + } + + .pledge-confirm { + width: 160px; + height: 40px; + border-radius: 23px; + opacity: 1; + background: $white; + color: $black; + font-weight: bold; + box-shadow: 0px 6px 6px 0px rgba(0, 0, 0, 0.1608); + } +} + +.my-pledge { + position: relative; + .watermark-1 { + position: absolute; + right: -10px; + background-image: url("../assets/stake-bg-img-1.png"); + width: 153px; + height: 191px; + background-size: 100% 100%; + top: 220px; + position: -1; + } + .watermark-2 { + position: absolute; + background-image: url("../assets/stake-bg-img-2.png"); + width: 232px; + height: 268px; + left: -40px; + background-size: 100% 100%; + position: -1; + top: calc($height - 328px); + } + .button-stake { + width: 130px; + height: 40px; + border-radius: 23px; + background: #021a56; + box-shadow: 0px 6px 6px 0px rgba(0, 0, 0, 0.1608); + color: $white; + font-weight: bold; + } + + .liner-box { + width: 100%; + background: #051d59; + height: 200px; + border-radius: 0px 0px 20% 20% / 40% 40%; + + .box { + width: 100%; + background-image: url("../assets/stake-box.png"); + background-size: 100% 100%; + height: 190px; + border-radius: 0px 0px 20% 20% / 40% 40%; + color: $white; + } + } + + .divider { + width: 100%; + height: 0px; + opacity: 1; + border: 1px solid #707070; + } + + .nft-img { + width: 40px; + height: 40px; + object-fit: cover; + } + + .rv-tabs__nav { + background: none; + } + + .record { + .box { + width: 100%; + padding: 15px; + border-radius: 20px; + background: rgba(44, 127, 211, 0.0784); + box-shadow: 0px 6px 6px 0px rgba(0, 0, 0, 0.1608); + position: relative; + + .watermark { + background-image: url("../assets/stake-watermark.png"); + background-size: 100% 100%; + width: 34px; + height: 34px; + object-fit: cover; + position: absolute; + right: 15px; + bottom: 20px; + } + + .contract-bottom { + border-bottom: 1px solid $black; + &:active { + opacity: 0.5; + } + } + + .withdraw-watermark { + background-image: url("../assets/withdraw-watermark.png"); + background-size: 100% 100%; + width: 34px; + height: 34px; + object-fit: cover; + position: absolute; + right: 15px; + bottom: 20px; + } + } + } +} + +.nft-detail { + .liner-box { + width: 100%; + background: #051d59; + height: 140px; + border-radius: 0px 0px 20% 20% / 40% 40%; + + .box { + width: 100%; + height: 130px; + background-size: 100% 100%; + background-image: url("../assets/nft-details-box.png"); + border-radius: 0px 0px 20% 20% / 40% 40%; + color: $white; + } + } + + .modal-bg-img { + background-image: url("../assets/modal-bg-img.png"); + background-size: 100% 100%; + border: none; + width: 376px; + } + + .stake-button { + width: 175px; + height: 50px; + border-radius: 25px; + background: #021a56; + box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.1608); + color: $white; + font-size: 18px; + font-weight: bold; + } + + .box { + background: rgba(44, 127, 211, 0.0784); + border-radius: 20px; + box-shadow: 0px 6px 6px 0px rgba(0, 0, 0, 0.1608); + } + + .img { + width: 111px; + height: 111px; + object-fit: cover; + border: 1px solid #051d59; + box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.1608); + } + + .warning-img { + width: 82px; + height: 82px; + object-fit: cover; + } + + .unstake-button { + width: 160px; + height: 40px; + color: $black; + font-weight: bold; + border-radius: 23px; + opacity: 1; + background: #ffffff; + box-shadow: 0px 6px 6px 0px rgba(0, 0, 0, 0.1608); + } +} diff --git a/src/styles/theme.scss b/src/styles/theme.scss new file mode 100644 index 0000000..8014c21 --- /dev/null +++ b/src/styles/theme.scss @@ -0,0 +1,25 @@ +$primary:#021A56;; +$background:#fff; +$primary-text:#000; +$sub-text:#BABABA; +$green:#0ECB81; +$blue:#409EFF; +$red:#F6465D; +$white:#fff; +$black:#021A56; +$page:rgb(248,247,255); +$like:#F96900; + +$width:var(--width); +$height:var(--height); + +$button-background: linear-gradient(0deg, #5B40A2 0%, #B595FF 100%); +$button-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.3); +$fil-bg: linear-gradient(95deg, #F96900 0%, #FFAA6B 115%, #FF800B 115%); +$usdt-bg: linear-gradient(104deg, #320D6D 3%, #8A4CED 106%); + +@mixin img-size($width,$height){ + width: $white; + height: $height; + object-fit: cover; +} \ No newline at end of file diff --git a/src/types/api.d.ts b/src/types/api.d.ts new file mode 100644 index 0000000..96a0e6a --- /dev/null +++ b/src/types/api.d.ts @@ -0,0 +1,33 @@ +interface PledgeInfoType { + pledgeAmount: string; + pledgeDay: number; + endTime: number; + rate: number; + sender: string; + startTime: number; + tokenId: number; + withdrawTime: number; + isBlack:boolean +} + +interface InvitationUserRecordType { + bindTime: number; + key: string; + contribute: string; + referrer: string; +} + +interface InvitationWithdrawRecordType{ + createTime:number; + amount:string +} + +interface PledgeWithdrawRecordType { + amount:string; + createTime:number; + tokenId:string; + pledgeDay:string; + _type:number; +} + +export { PledgeInfoType, InvitationUserRecordType,PledgeWithdrawRecordType, InvitationWithdrawRecordType}; diff --git a/src/types/store.d.ts b/src/types/store.d.ts new file mode 100644 index 0000000..3829056 --- /dev/null +++ b/src/types/store.d.ts @@ -0,0 +1,31 @@ +import { JsonRpcProvider, Web3Provider } from "@ethersproject/providers"; +import { Contract, Provider } from "ethers-multicall"; +import { FIL, NFT, Pledge, Pool } from "~/contract/typechain-types"; + +enum StoreLocalStorageKey { + TOKEN = "MARKET_NFT_TOKEN", + ADDRESS = "MARKET_NFT_ADDRESS", +} + +interface Contract_Factory { + FIL__factory: FIL; + NFT__factory: NFT; + Pledge__factory: Pledge; + Pool__factory: Pool; +} + + +interface ETH_Contract_Factory { + FIL__factory: Contract; + NFT__factory: Contract; + Pledge__factory: Contract; + Pool__factory: Contract; +} + + +interface ContractType { + _contract: Contract_Factory; + _provider: Web3Provider | JsonRpcProvider; +} + +export { StoreLocalStorageKey, ContractType }; diff --git a/src/utils/copy.ts b/src/utils/copy.ts new file mode 100644 index 0000000..e230d05 --- /dev/null +++ b/src/utils/copy.ts @@ -0,0 +1,21 @@ +export function copy(value: string, cb?: Function) { + // 动态创建 textarea 标签 + const textarea: any = document.createElement('textarea') + // 将该 textarea 设为 readonly 防止 iOS 下自动唤起键盘,同时将 textarea 移出可视区域 + textarea.readOnly = 'readonly' + textarea.style.position = 'absolute' + textarea.style.left = '-9999px' + // 将要 copy 的值赋给 textarea 标签的 value 属性 + // 网上有些例子是赋值给innerText,这样也会赋值成功,但是识别不了\r\n的换行符,赋值给value属性就可以 + textarea.value = value + // 将 textarea 插入到 body 中 + document.body.appendChild(textarea) + // 选中值并复制 + textarea.select() + textarea.setSelectionRange(0, textarea.value.length) + document.execCommand('Copy') + document.body.removeChild(textarea) + if (cb && Object.prototype.toString.call(cb) === '[object Function]') { + cb() + } +} \ No newline at end of file diff --git a/src/utils/index.ts b/src/utils/index.ts new file mode 100644 index 0000000..2d2360e --- /dev/null +++ b/src/utils/index.ts @@ -0,0 +1,187 @@ +import { BigNumberish, ethers } from "ethers"; +import { Toast } from "react-vant"; +import { PledgeInfoType } from "~/types/api"; +import { toBigInt, toWei } from "./wei"; +import { t } from "i18next"; + +// 切割字符中 ''...'' +const splitAddress = (address: any, index?: number) => { + try { + let idx = index ? index : 5; + return ( + address.substring(0, idx) + + "..." + + address.substring(address.length - idx, address.length) + ); + } catch (error) { + return ""; + } +}; + +export const getChainId = async () => { + const chainId = toBigInt( + await window.ethereum.request({ + method: "eth_chainId", + }) + ).toString(10); + return chainId ? Number(chainId) : 0; +}; + +const switchNetWork = () => { + return new Promise(async (resolve) => { + if (!window.ethereum) { + resolve(false); + return; + } + let chainId = await getChainId(); + + if (chainId === 97 || chainId === 56) { + //测试 + resolve(true); + return; + } + (window as any).ethereum + .request({ + method: "wallet_switchEthereumChain", + params: [{ chainId: "0x38" }], + }) + .then((r: any) => { + resolve(true); + // console.log(r); + }) + .catch((switchError: any) => { + if (switchError.code === 4902) { + resolve(false); + Toast.info(t("Please add BSC node to your wallet")); + } + }); + }); +}; + +const toThousands = (value: number | string) => { + if (!value) return 0; + return Number(value).toLocaleString(); +}; + +/** + * @param value + * @returns + */ +const getTime = (value: number, type?: string) => { + let date = new Date(value); + let yy: number | string = date.getFullYear(); + let mm: number | string = date.getMonth() + 1; + let dd: number | string = date.getDate(); + let xs: number | string = date.getHours(); + let ff: number | string = date.getMinutes(); + let ss: number | string = date.getSeconds(); + mm = mm >= 10 ? mm : "0" + mm; + dd = dd >= 10 ? dd : "0" + dd; + xs = xs >= 10 ? xs : "0" + xs; + ff = ff >= 10 ? ff : "0" + ff; + ss = ss >= 10 ? ss : "0" + ss; + if (type === "day") return `${yy}-${mm}-${dd}`; + return `${yy}-${mm}-${dd} ${xs}:${ff}`; +}; + +const toFixed2 = (val: string, double: number) => { + try { + if (val.indexOf(".") > -1) { + return val.substring( + 0, + val.indexOf(".") + (double === 0 ? double : double + 1) + ); + } + return val; + } catch (error) { + return "0"; + } +}; + +// 計算縂發放的收益 +const calcIncome = (data: PledgeInfoType) => { + try { + const rate = toBigInt(data.rate); + const day = toBigInt(data.pledgeDay); + const income = + ((toWei(data.pledgeAmount) * rate) / ethers.toBigInt(365)) * day; + return toFixed2(ethers.formatUnits(income, 20), 4) || "0.00"; + } catch (error) { + return "0.00"; + } +}; + +// 計算已發放收益 +const calcReleasedIncome = (data: PledgeInfoType, currentTime: number) => { + try { + const day = Number(process.env.REACT_APP_DAY_TIME); + const startTime = data.startTime; + let curTime = currentTime; + if (data.endTime <= curTime) { + curTime = data.endTime; + } + const timeDifference = curTime - startTime; + const daysDifference = Math.floor(timeDifference / day); + if (daysDifference <= 0) return "0"; + const rate = toBigInt(data.rate); + const pledgeAmount = toWei(data.pledgeAmount); + const year = toBigInt(365); + const income = ((pledgeAmount * rate) / year) * toBigInt(daysDifference); + return toFixed2(ethers.formatUnits(income, 20), 4); + } catch (error) { + return "0.00"; + } +}; + +// 計算已提取收益 +const calcWithdrawnAmount = (data: PledgeInfoType) => { + try { + const day = Number(process.env.REACT_APP_DAY_TIME); + const startTime = data.startTime; + const withdrawTime = data.withdrawTime; + const timeDifference = withdrawTime - startTime; + const daysDifference = Math.floor(timeDifference / day); + if (daysDifference <= 0) return "0"; + const rate = toBigInt(data.rate); + const pledgeAmount = toWei(data.pledgeAmount); + const year = toBigInt(365); + const income = ((pledgeAmount * rate) / year) * toBigInt(daysDifference); + return toFixed2(ethers.formatUnits(income, 20), 4); + } catch (error) { + return "0.00"; + } +}; + +// 計算可提取收益 +const calcExtractableAmount = (data: PledgeInfoType, currentTime: number) => { + try { + const day = Number(process.env.REACT_APP_DAY_TIME); + const withdrawTime = data.withdrawTime; + let curTime = currentTime; + if (data.endTime <= curTime) { + curTime = data.endTime; + } + const timeDifference = curTime - withdrawTime; + const daysDifference = Math.floor(timeDifference / day); + if (daysDifference <= 0) return "0"; + const rate = toBigInt(data.rate); + const pledgeAmount = toWei(data.pledgeAmount); + const year = toBigInt(365); + const income = ((pledgeAmount * rate) / year) * toBigInt(daysDifference); + return toFixed2(ethers.formatUnits(income, 20), 4); + } catch (error) { + return "0.00"; + } +}; + +export { + splitAddress, + switchNetWork, + toThousands, + getTime, + toFixed2, + calcReleasedIncome, + calcIncome, + calcExtractableAmount, + calcWithdrawnAmount, +}; diff --git a/src/utils/sign/sign.ts b/src/utils/sign/sign.ts new file mode 100644 index 0000000..8d7fc3d --- /dev/null +++ b/src/utils/sign/sign.ts @@ -0,0 +1,22 @@ +const md5 = require('js-md5') +var signkey = process.env.REACT_APP_SIGN_KEY + +var signGenerator = (data: any) => { + + var keys = []; + for (var key in data) { + keys.push(key); + } + keys.sort(); + + var ptxt = ""; + for (var i = 0; i < keys.length; i++) { + ptxt += keys[i] + data[keys[i]]; + } + ptxt = signkey + ptxt + signkey; + + var signval = md5(ptxt).toLowerCase() + return signval; +} + +export default signGenerator; \ No newline at end of file diff --git a/src/utils/sign/sort.ts b/src/utils/sign/sort.ts new file mode 100644 index 0000000..9dbfee3 --- /dev/null +++ b/src/utils/sign/sort.ts @@ -0,0 +1,35 @@ +/* eslint-disable no-loop-func */ +var sortParam = (data: any) => { + var keys: any = []; + for (var key in data) { + keys.push(key); + } + + var ptxt = ""; + for (var i = 0; i < keys.length; i++) { + if (data[keys[i]] instanceof Array) { + if (i === 0) { + data[keys[i]].forEach((v: string, index: number) => { + if (index === 1) { + ptxt += keys[i] + "=" + v; + } else { + ptxt += "&" + keys[i] + "=" + v; + } + }); + } else { + data[keys[i]].forEach((v: any) => { + ptxt += "&" + keys[i] + "=" + v; + }); + } + } else { + if (i === 0) { + ptxt += keys[i] + "=" + data[keys[i]]; + } else { + ptxt += "&" + keys[i] + "=" + data[keys[i]]; + } + } + } + // console.log(ptxt); + return ptxt; +}; +export default sortParam; diff --git a/src/utils/wei.ts b/src/utils/wei.ts new file mode 100644 index 0000000..bfd019b --- /dev/null +++ b/src/utils/wei.ts @@ -0,0 +1,25 @@ +import { BigNumberish, ethers } from "ethers"; + +export const wei = { + Zero: ethers.toBigInt(0), + MaxUint256: ethers.toBigInt("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"), + MinInt256: ethers.toBigInt("-0x8000000000000000000000000000000000000000000000000000000000000000"), + MaxInt256: ethers.toBigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"), + AddressZero: "0x0000000000000000000000000000000000000000", +} as any; + +export const toWei = (value: string) => { + return ethers.parseEther(value); +}; + +export const fromWei = (value: BigNumberish) => { + return ethers.formatEther(value); +}; + +export const toBigInt = (value: BigNumberish | Uint8Array) => { + return ethers.toBigInt(value) +}; + +export const toString = (value: BigNumberish, int?: number) => { + return ethers.formatUnits(value, int || 18); +}; diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..2e447eb --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,30 @@ +{ + "compilerOptions": { + "baseUrl": "./src", + "target": "es5", + "lib": [ + "dom", + "dom.iterable", + "esnext" + ], + "paths": { + "~/*":["*"] + }, + "allowJs": true, + "skipLibCheck": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "noFallthroughCasesInSwitch": true, + "module": "esnext", + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx" + }, + "include": [ + "src" + ] +}