diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml
index fc5063fb..73c7fa6c 100644
--- a/.github/workflows/main.yaml
+++ b/.github/workflows/main.yaml
@@ -1,8 +1,10 @@
-name: OUSD Governance
+name: Origin DeFi Governance
on:
pull_request:
- types: [opened, reopened]
+ types: [opened, reopened, synchronize]
push:
+ branches:
+ - 'master'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -12,37 +14,18 @@ env:
jobs:
lint:
- name: DApp Linter
+ name: Contracts Linter
runs-on: ubuntu-latest
-
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- - name: Cache Compiler Installations
- uses: actions/cache@v2
- with:
- path: |
- ~/.solcx
- ~/.vvm
- key: compiler-cache
-
- - name: Setup Node.js
- uses: actions/setup-node@v2
- with:
- node-version: "16"
- cache: "yarn"
- cache-dependency-path: |
- client/yarn.lock
-
- - name: Install NPM dependencies
- run: yarn
- working-directory: client
+ - name: Install Foundry
+ uses: foundry-rs/foundry-toolchain@v1
- - name: Client linting
- run: yarn run prettier:check
- working-directory: client
+ - name: Run Linter
+ run: forge fmt --check
brownie-tests:
name: Brownie tests
diff --git a/Procfile b/Procfile
deleted file mode 100644
index 5043f2c4..00000000
--- a/Procfile
+++ /dev/null
@@ -1,2 +0,0 @@
-web: yarn run start:web
-worker: yarn run start:listener
\ No newline at end of file
diff --git a/README.md b/README.md
index f9597f09..8ca04492 100644
--- a/README.md
+++ b/README.md
@@ -83,69 +83,6 @@ In another terminal:
brownie console --network hardhat-fork
```
-## Running the DApp and listener
-
-First, install the dependencies:
-
-```bash
-cd client
-yarn install
-```
-
-Copy `client/sample.env` to `client/.env`.
-
-Setup postgresql locally and create a database and update the `DATABASE_URL` in your `client/.env`
-
-_A typical postgres example looks like `postgres://user:secret@localhost:5432/ousdgovernance`._
-
-Push the database and generate a client:
-
-```bash
-npx prisma db push
-```
-
-(these are already defaults in `client/sample.env`)
-Set the `NETWORK_ID` env var to 31337.
-Set the `WEB3_PROVIDER` variable in your environment.
-_The hardhat RPC default is `http://127.0.0.1:8545`._
-
-Then, run the development server:
-
-```bash
-npm run dev
-# or
-yarn dev
-```
-
-This will start both the NextJS app and a listener script monitoring your local blockchain for changes.
-
-# Deploying the dApp
-
-This section details the playbook for deploying the dApp.
-
-## Environments
-
-Commits to the following branches will automatically deploying to the associated Heroku environments:
-
-1. `stable` -> [Production](https://governance.ousd.com/claim)
-2. `staging` -> [Staging](https://ousd-governance-goerli.herokuapp.com/)
-
-The production environment references the mainnet contracts in this repo. The staging environment references contracts deployed to Goerli.
-
-Note: You shouldn't commit to `stable` directly. Only merge from `master` (where new features are merged via approved pull request).
-
-## Production Deployment Process
-
-1. Take a database backup before you start: `heroku pg:backups:capture --app=ousd-governance-production`. Note: You must be authorised with Heroku to run this command. Contact Franck to be added if you're not already.
-
-1. Take a note of the last commit hash that's confirmed as working in production. You can find this in the `stable` branch's [commit history](https://github.com/OriginProtocol/ousd-governance/commits/stable).
-
-1. Merge from `master` to `stable` to initiate a deployment. You can check progress in the [Heroku Dashboard](https://dashboard.heroku.com/apps/ousd-governance-production) where you'll find error logs should your deployment fail.
-
-1. Once deployed, check the [production environment](https://governance.ousd.com/) in your browser to make sure that things are working as expected. If yes, you're done!
-
-1. If the release causes issues in production, don't be afraid to roll back while you diagnose the issue. Especially if users are impacted. You can do this by reverting your commit: `git revert [commit hash]` and pushing the resulting revert commit to `stable`. Or, if you want to keep a cleaner commit history, reset the `stable` branch to the last commit hash of the previous release: `git reset [commit hash] --hard` and push this to `stable` using `git push stable --force`. Note: You should only force push if you're 100% certain of the change.
-
## Deploying contracts
Setup environment variables:
@@ -241,29 +178,7 @@ If required, follow this process post deployment:
Here are some places you may come unstuck when setting up locally. If you find any yourself, please document them here to help your fellow engineers:
-## 1. How do we populate the database with proposal data post-transaction submission?
-
-**Problem:**
-
-You're adding proposals and the transactions are going through on-chain, but confirmed proposals aren't showing in the UI. You might experience [listener.ts](/client/listener.ts) outputting lots of `info: Got confirmed block` messages, but nothing to confirm the script is picking up `ProposalCreated` events.
-
-**Explanation:**
-
-Proposals aren't pushed to the database from the front-end submision handler. Instead, [listener.ts](/client/listener.ts) monitors your local node, detects when the `ProposalCreated` event is fired, then adds the proposal to the database. However, these events can't be picked up when the starting block number is off in your database.
-
-**Solution:**
-
-Because we [start from the last seen block saved in the database](/client/listener.ts#L121), you may experience issues if this number is out of sync. To quickly solve:
-
-1. Comment out the database lookup function
-2. Add `ethereumEvents.start(0)` beneath to ensure a start from the beginning
-3. Run `yarn run dev`
-4. Revert what you changed
-5. Run `yarn run dev` again
-
-You should now see proposals added to the database when you submit transactions.
-
-## 2. M1 macs (ARM architecture)
+## 1. M1 macs (ARM architecture)
**Problem:**
diff --git a/client/.eslintrc.json b/client/.eslintrc.json
deleted file mode 100644
index bffb357a..00000000
--- a/client/.eslintrc.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "extends": "next/core-web-vitals"
-}
diff --git a/client/.gitignore b/client/.gitignore
deleted file mode 100644
index 824a9cc2..00000000
--- a/client/.gitignore
+++ /dev/null
@@ -1,43 +0,0 @@
-# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
-
-# dependencies
-/node_modules
-/.pnp
-.pnp.js
-
-# testing
-/coverage
-
-# next.js
-/.next/
-/out/
-
-# production
-/build
-
-# misc
-.DS_Store
-*.pem
-
-# debug
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
-
-# local env files
-.env.local
-.env.development.local
-.env.test.local
-.env.production.local
-
-# vercel
-.vercel
-
-# typescript
-*.tsbuildinfo
-
-# Sentry
-.sentryclirc
-
-# Sentry
-next.config.original.js
diff --git a/client/.prettierignore b/client/.prettierignore
deleted file mode 100644
index 65b715e2..00000000
--- a/client/.prettierignore
+++ /dev/null
@@ -1,6 +0,0 @@
-**/.git
-**/.svn
-**/.hg
-**/node_modules
-**.idea
-.next
diff --git a/client/components/ActiveLink.tsx b/client/components/ActiveLink.tsx
deleted file mode 100644
index 33f7c674..00000000
--- a/client/components/ActiveLink.tsx
+++ /dev/null
@@ -1,34 +0,0 @@
-import { useRouter } from "next/router";
-import PropTypes from "prop-types";
-import Link from "next/link";
-import React, { Children } from "react";
-
-const ActiveLink = ({
- children,
- activeClassName,
- inactiveClassName,
- ...props
-}) => {
- const { asPath } = useRouter();
- const child = Children.only(children);
- const childClassName = child.props.className || "";
-
- const className =
- asPath === props.href || asPath === props.as
- ? `${childClassName} ${activeClassName}`.trim()
- : `${childClassName} ${inactiveClassName}`.trim();
-
- return (
-
- {React.cloneElement(child, {
- className: className || null,
- })}
-
- );
-};
-
-ActiveLink.propTypes = {
- activeClassName: PropTypes.string.isRequired,
-};
-
-export default ActiveLink;
diff --git a/client/components/Address.tsx b/client/components/Address.tsx
deleted file mode 100644
index 4c249ce8..00000000
--- a/client/components/Address.tsx
+++ /dev/null
@@ -1,54 +0,0 @@
-import { useEffect, useState } from "react";
-import { useStore } from "utils/store";
-import { truncateEthAddress } from "utils";
-import Icon from "@mdi/react";
-import { mdiOpenInNew } from "@mdi/js";
-
-export const Address = ({
- address,
- noTruncate = false,
-}: {
- address: string;
- noTruncate?: Boolean;
-}) => {
- const { rpcProvider } = useStore();
- const [addressDisplay, setAddressDisplay] = useState(
- noTruncate ? address : truncateEthAddress(address)
- );
-
- useEffect(() => {
- const loadEns = async () => {
- try {
- const ens = await rpcProvider.lookupAddress(address);
- if (ens) {
- setAddressDisplay(ens);
- }
- } catch (error) {}
- };
- if (rpcProvider) {
- loadEns();
- }
- }, [rpcProvider, address]);
-
- let explorerPrefix;
- if (rpcProvider?._network?.chainId === 1) {
- explorerPrefix = "https://etherscan.io/";
- } else if (rpcProvider?._network?.chainId === 5) {
- explorerPrefix = "https://goerli.etherscan.io/";
- }
-
- if (explorerPrefix) {
- return (
-
- {addressDisplay}
-
- );
- } else {
- return <>{addressDisplay}>;
- }
-};
diff --git a/client/components/AdminUtils.js b/client/components/AdminUtils.js
deleted file mode 100644
index 690ec0f4..00000000
--- a/client/components/AdminUtils.js
+++ /dev/null
@@ -1,78 +0,0 @@
-import { useMemo } from "react";
-import { useStore } from "utils/store";
-import { ZERO_ADDRESS } from "constants/index";
-
-const AdminUtils = () => {
- const { contracts } = useStore();
-
- const show = useMemo(() => {
- if (process.browser) {
- if (localStorage.getItem("admin") === "true") {
- return true;
- }
- }
- return false;
- }, [process.browser]);
-
- const setClaimsOpenTs = (claimOpensTs) => {
- useStore.setState({
- claim: {
- ...useStore.getState().claim,
- claimOpensTs,
- },
- });
- };
-
- const skipEducation = () => {
- useStore.setState({
- claim: {
- ...useStore.getState().claim,
- currentStep: 2,
- },
- });
- };
-
- const resetDelegation = async () => {
- await contracts.OgvStaking.delegate(ZERO_ADDRESS);
- };
-
- const buttonClass = "px-2 py-1 my-1 border border-black rounded-md";
- return (
- show && (
-
- {
- setClaimsOpenTs(1);
- }}
- >
- Open claims
-
- {
- setClaimsOpenTs(Date.now() / 1000 + 5);
- }}
- >
- Open claims in 5s
-
- {
- setClaimsOpenTs(process.env.CLAIM_OPENS);
- }}
- >
- Reset Open Claims
-
-
- Skip Education
-
-
- Reset OGV staking delegation
-
-
- )
- );
-};
-
-export default AdminUtils;
diff --git a/client/components/BarChart.tsx b/client/components/BarChart.tsx
deleted file mode 100644
index dab9c1cd..00000000
--- a/client/components/BarChart.tsx
+++ /dev/null
@@ -1,52 +0,0 @@
-import { FunctionComponent } from "react";
-import {
- Chart as ChartJS,
- CategoryScale,
- LinearScale,
- BarElement,
- Tooltip,
- ChartData,
- ChartOptions,
-} from "chart.js";
-import { Bar } from "react-chartjs-2";
-
-ChartJS.register(CategoryScale, LinearScale, BarElement, Tooltip);
-
-interface BarChartProps {
- data: ChartData<"bar">;
-}
-
-const options: ChartOptions<"bar"> = {
- plugins: {
- tooltip: {
- enabled: false,
- },
- },
- scales: {
- x: {
- grid: {
- display: false,
- },
- ticks: {
- color: "#A3AAB5",
- font: {
- family: "Lato, sans-serif",
- },
- },
- },
- y: {
- ticks: {
- color: "#A3AAB5",
- font: {
- family: "Lato, sans-serif",
- },
- },
- },
- },
-};
-
-const BarChart: FunctionComponent = ({ data }) => (
-
-);
-
-export default BarChart;
diff --git a/client/components/Button.tsx b/client/components/Button.tsx
deleted file mode 100644
index 2b0c60fa..00000000
--- a/client/components/Button.tsx
+++ /dev/null
@@ -1,51 +0,0 @@
-import { FunctionComponent, ReactNode } from "react";
-import classNames from "classnames";
-
-interface ButtonProps {
- children: ReactNode;
- onClick?: () => void;
- large?: Boolean;
- small?: Boolean;
- disabled?: Boolean;
- fullWidth?: Boolean;
- alt?: Boolean;
- white?: Boolean;
- black?: Boolean;
- red?: Boolean;
-}
-
-const Button: FunctionComponent = ({
- children,
- onClick,
- large,
- small,
- disabled,
- fullWidth,
- alt,
- white,
- black,
- red,
-}) => {
- const className = classNames("btn rounded-full normal-case space-x-2", {
- "btn-lg h-[3.25rem] min-h-[3.25rem]": large,
- "btn-sm": small,
- "w-full": fullWidth,
- "btn-primary": !alt,
- "btn-primary btn-outline disabled:border-gray-100 disabled:text-gray-300":
- alt,
- "bg-white hover:bg-gray-100 active:bg-gray-100 focus:bg-gray-100 text-accent":
- white,
- "bg-black text-white border-black hover:bg-gray-900 hover:border-gray-900":
- black,
- "bg-[#dd0a0a] border-[#dd0a0a] hover:bg-[#f52424] hover:border-[#f52424]":
- red,
- });
-
- return (
-
- {children}
-
- );
-};
-
-export default Button;
diff --git a/client/components/Card.tsx b/client/components/Card.tsx
deleted file mode 100644
index ebee32ca..00000000
--- a/client/components/Card.tsx
+++ /dev/null
@@ -1,45 +0,0 @@
-import { FunctionComponent, ReactNode } from "react";
-import classNames from "classnames";
-
-interface CardProps {
- children: ReactNode;
- dark?: Boolean;
- tightPadding?: Boolean;
- noPadding?: Boolean;
- alt?: Boolean;
- noShadow?: Boolean;
- red?: Boolean;
- margin?: Boolean;
- className?: string;
-}
-
-const Card: FunctionComponent = ({
- children,
- dark,
- tightPadding,
- noPadding,
- alt,
- noShadow,
- red,
- margin,
- className,
-}) => {
- const classes = classNames(
- "overflow-x-auto w-full rounded-lg border border-accent-content h-full",
- {
- "bg-secondary-focus text-white border-accent-content": dark && !alt,
- "bg-accent-content text-white": !dark && !alt,
- "p-4 md:p-5": tightPadding && !noPadding,
- "p-6 md:p-10": !tightPadding && !noPadding,
- "shadow-lg": !noShadow,
- "px-4 py-5 md:px-5 md:py-6": tightPadding && !noPadding && noShadow,
- "text-error": red,
- "mt-6 h-full": margin,
- },
- className
- );
-
- return {children}
;
-};
-
-export default Card;
diff --git a/client/components/CardDescription.tsx b/client/components/CardDescription.tsx
deleted file mode 100644
index 0401d011..00000000
--- a/client/components/CardDescription.tsx
+++ /dev/null
@@ -1,22 +0,0 @@
-import { FunctionComponent, ReactNode } from "react";
-import classNames from "classnames";
-
-interface CardDescription {
- children: ReactNode;
- alt?: Boolean;
- large?: Boolean;
-}
-
-const CardDescription: FunctionComponent = ({
- children,
- alt,
- large,
-}) => {
- const classes = classNames("text-xs text-neutral", {
- "text-base": large,
- });
-
- return {children}
;
-};
-
-export default CardDescription;
diff --git a/client/components/CardGroup.tsx b/client/components/CardGroup.tsx
deleted file mode 100644
index 4bc7481a..00000000
--- a/client/components/CardGroup.tsx
+++ /dev/null
@@ -1,33 +0,0 @@
-import { FunctionComponent, ReactNode } from "react";
-import classNames from "classnames";
-
-interface CardGroupProps {
- children: ReactNode;
- horizontal?: Boolean;
- twoCol?: Boolean;
- fourCol?: Boolean;
- dontStackOnMobile?: Boolean;
-}
-
-const CardGroup: FunctionComponent = ({
- children,
- horizontal,
- twoCol,
- fourCol,
- dontStackOnMobile,
-}) => {
- const classes = classNames("w-full relative", {
- "grid gap-2": horizontal,
- "space-y-5": !horizontal,
- "sm:grid-cols-2": twoCol,
- "sm:grid-cols-4": fourCol,
- "sm:grid-cols-3": !twoCol && !fourCol,
- "grid-cols-2": twoCol && dontStackOnMobile,
- "grid-cols-4": fourCol && dontStackOnMobile,
- "grid-cols-3": !twoCol && !fourCol && dontStackOnMobile,
- });
-
- return {children}
;
-};
-
-export default CardGroup;
diff --git a/client/components/CardLabel.tsx b/client/components/CardLabel.tsx
deleted file mode 100644
index e9492a76..00000000
--- a/client/components/CardLabel.tsx
+++ /dev/null
@@ -1,11 +0,0 @@
-import { FunctionComponent, ReactNode } from "react";
-
-interface CardLabelProps {
- children: ReactNode;
-}
-
-const CardLabel: FunctionComponent = ({ children }) => (
- {children}
-);
-
-export default CardLabel;
diff --git a/client/components/CardStat.tsx b/client/components/CardStat.tsx
deleted file mode 100644
index 469a88e4..00000000
--- a/client/components/CardStat.tsx
+++ /dev/null
@@ -1,29 +0,0 @@
-import { FunctionComponent, ReactNode } from "react";
-import classnames from "classnames";
-
-interface CardStatProps {
- children: ReactNode;
- large?: Boolean;
- small?: Boolean;
-}
-
-const CardStat: FunctionComponent = ({
- children,
- large,
- small,
-}) => (
-
- {children}
-
-);
-
-export default CardStat;
diff --git a/client/components/CheckIcon.tsx b/client/components/CheckIcon.tsx
deleted file mode 100644
index 6707c4b2..00000000
--- a/client/components/CheckIcon.tsx
+++ /dev/null
@@ -1,8 +0,0 @@
-import { FunctionComponent } from "react";
-import Image from "next/image";
-
-const CheckIcon: FunctionComponent = () => (
-
-);
-
-export default CheckIcon;
diff --git a/client/components/CheckIconWhite.tsx b/client/components/CheckIconWhite.tsx
deleted file mode 100644
index 4c80272e..00000000
--- a/client/components/CheckIconWhite.tsx
+++ /dev/null
@@ -1,8 +0,0 @@
-import { FunctionComponent } from "react";
-import Image from "next/image";
-
-const CheckIconWhite: FunctionComponent = () => (
-
-);
-
-export default CheckIconWhite;
diff --git a/client/components/CrossIcon.tsx b/client/components/CrossIcon.tsx
deleted file mode 100644
index 7d00fcf5..00000000
--- a/client/components/CrossIcon.tsx
+++ /dev/null
@@ -1,8 +0,0 @@
-import { FunctionComponent } from "react";
-import Image from "next/image";
-
-const CrossIcon: FunctionComponent = () => (
-
-);
-
-export default CrossIcon;
diff --git a/client/components/CrossIconWhite.tsx b/client/components/CrossIconWhite.tsx
deleted file mode 100644
index edbccf33..00000000
--- a/client/components/CrossIconWhite.tsx
+++ /dev/null
@@ -1,8 +0,0 @@
-import { FunctionComponent } from "react";
-import Image from "next/image";
-
-const CrossIconWhite: FunctionComponent = () => (
-
-);
-
-export default CrossIconWhite;
diff --git a/client/components/DisabledButtonTooltip.tsx b/client/components/DisabledButtonTooltip.tsx
deleted file mode 100644
index 97a159ca..00000000
--- a/client/components/DisabledButtonTooltip.tsx
+++ /dev/null
@@ -1,37 +0,0 @@
-import { FunctionComponent, ReactNode } from "react";
-import ReactTooltip from "react-tooltip";
-
-interface DisabledButtonToolTipProps {
- text: string;
- children: ReactNode;
- show: Boolean;
-}
-
-const DisabledButtonToolTip: FunctionComponent = ({
- text,
- children,
- show,
-}) => {
- if (!show) return <>{children}>;
-
- return (
- <>
-
- {text}
-
-
- {children}
-
- >
- );
-};
-
-export default DisabledButtonToolTip;
diff --git a/client/components/Disconnected.tsx b/client/components/Disconnected.tsx
deleted file mode 100644
index 85e2c98a..00000000
--- a/client/components/Disconnected.tsx
+++ /dev/null
@@ -1,31 +0,0 @@
-import Card from "components/Card";
-import Wrapper from "components/Wrapper";
-
-export function Disconnected({}) {
- return (
-
-
-
-
-
-
-
No wallet
-
- Click the connect button in the top right to connect a wallet
-
-
-
-
- );
-}
diff --git a/client/components/EtherscanIcon.tsx b/client/components/EtherscanIcon.tsx
deleted file mode 100644
index 4b4aa432..00000000
--- a/client/components/EtherscanIcon.tsx
+++ /dev/null
@@ -1,8 +0,0 @@
-import { FunctionComponent } from "react";
-import Image from "next/image";
-
-const EtherscanIcon: FunctionComponent = () => (
-
-);
-
-export default EtherscanIcon;
diff --git a/client/components/ExternalLinkIcon.tsx b/client/components/ExternalLinkIcon.tsx
deleted file mode 100644
index 8757d702..00000000
--- a/client/components/ExternalLinkIcon.tsx
+++ /dev/null
@@ -1,19 +0,0 @@
-import { FunctionComponent } from "react";
-import Image from "next/image";
-
-interface ExternalLinkIconProps {
- isGreen?: boolean;
-}
-
-const ExternalLinkIcon: FunctionComponent = ({
- isGreen,
-}) => (
-
-);
-
-export default ExternalLinkIcon;
diff --git a/client/components/Footer.tsx b/client/components/Footer.tsx
deleted file mode 100644
index d154e798..00000000
--- a/client/components/Footer.tsx
+++ /dev/null
@@ -1,85 +0,0 @@
-import { FunctionComponent } from "react";
-import Wrapper from "components/Wrapper";
-
-const Footer: FunctionComponent = () => (
-
-);
-
-export default Footer;
diff --git a/client/components/GeoFenceCheck.tsx b/client/components/GeoFenceCheck.tsx
deleted file mode 100644
index 5c315e9d..00000000
--- a/client/components/GeoFenceCheck.tsx
+++ /dev/null
@@ -1,95 +0,0 @@
-import { useState } from "react";
-import useLocalStorage from "utils/useLocalStorage";
-import classnames from "classnames";
-
-const GeoFenceCheck = () => {
- const { data: hasConfirmedGeoLocation, onSetItem } = useLocalStorage(
- "@originprotocol/governance-geo-check",
- false
- );
-
- const [isChecked, setIsChecked] = useState(false);
-
- const onAckGeoFence = () => {
- onSetItem(true);
- };
-
- return (
-
-
-
-
-
- Origin DeFi Governance is not available to restricted jurisdictions.
- Before proceeding, please carefully read the following:
-
-
-
-
- You confirm that you are not a resident of, citizen of, located
- in, incorporated in, or have a registered office in the United
- States or any country or region currently currently subject to
- sanctions by the United States.
-
-
- You affirm that you are not a subject of economic or trade
- sanctions administered or enforced by any governmental authority
- or otherwise designated on any list of prohibited or restricted
- parties, including the list maintained by the Office of Foreign
- Assets Control of the U.S. Department of the Treasury.
-
-
- You agree not to use any VPN or other privacy or anonymization
- tools or techniques to attempt to circumvent these eligibility
- restrictions.
-
-
- You are lawfully permitted to access this site. You understand
- and accept the risks associated with using Origin DeFi
- Governance.
-
-
-
-
-
-
- {
- setIsChecked(e.target.checked);
- }}
- />
-
-
-
- I have read and agree to the above terms{" "}
-
-
-
-
-
-
-
- );
-};
-
-export default GeoFenceCheck;
diff --git a/client/components/Header.tsx b/client/components/Header.tsx
deleted file mode 100644
index c92e4d15..00000000
--- a/client/components/Header.tsx
+++ /dev/null
@@ -1,162 +0,0 @@
-import { FunctionComponent, useState } from "react";
-import classNames from "classnames";
-import { Web3Button } from "components/Web3Button";
-import Wrapper from "components/Wrapper";
-import Link from "components/Link";
-import Image from "next/image";
-import { navItems } from "../constants";
-import useStakingAPY from "utils/useStakingAPY";
-
-interface HeaderProps {
- hideNav?: boolean;
-}
-
-const Header: FunctionComponent = ({ hideNav }) => {
- const [menuIsOpen, setMenuIsOpen] = useState(false);
-
- const { stakingAPY, loading: apyLoading } = useStakingAPY(100, 48);
-
- const overlayClassNames = classNames(
- "bg-black z-20 h-screen w-screen fixed top-0 transition duration-200 lg:hidden",
- {
- "opacity-0 -left-full": !menuIsOpen,
- "opacity-50 left-0": menuIsOpen,
- }
- );
-
- const mobileMenuClassNames = classNames(
- "flex flex-col pt-8 bg-secondary z-30 fixed top-0 h-screen w-72 transition transition-right duration-200 lg:hidden",
- {
- "-right-full": !menuIsOpen,
- "right-0": menuIsOpen,
- }
- );
-
- return (
- <>
-
-
-
-
-
-
-
-
-
- {!hideNav && (
-
- {navItems.map(({ href, label, external }) => (
-
-
- {label}
- {href === "/stake" && (
-
-
-
- {apyLoading ? "--.--" : stakingAPY.toFixed(2)}%
- vAPY
-
-
- )}
-
-
- ))}
-
- )}
-
- {!hideNav && (
-
- setMenuIsOpen(true)}
- >
-
-
-
-
- )}
-
-
-
- {!hideNav && (
- <>
- setMenuIsOpen(false)}
- />
-
-
setMenuIsOpen(false)}
- >
-
-
-
- {navItems.map(({ href, label, external }) => (
-
- setMenuIsOpen(false) : () => null
- }
- type={external ? "external" : "internal"}
- newWindow={external}
- >
- {label}
- {href === "/stake" && (
-
-
-
- {apyLoading ? "--.--" : stakingAPY.toFixed(2)}% vAPY
-
-
- )}
-
-
- ))}
-
-
- >
- )}
- >
- );
-};
-
-export default Header;
diff --git a/client/components/LeaderboardTable.tsx b/client/components/LeaderboardTable.tsx
deleted file mode 100644
index 50a90fd7..00000000
--- a/client/components/LeaderboardTable.tsx
+++ /dev/null
@@ -1,52 +0,0 @@
-import { ethers } from "ethers";
-import TokenAmount from "components/TokenAmount";
-import { useStore } from "utils/store";
-import { Address } from "components/Address";
-
-export const LeaderboardTable = ({ voters }: { voters: Array }) => {
- const { totalBalances } = useStore();
- const { totalSupplyVeOgv } = totalBalances;
-
- if (voters.length < 1) {
- return
No voters yet.
;
- }
-
- return (
-
-
-
- Rank
- Address
- Votes
- Vote Weight
- Proposals Voted
-
-
-
- {voters.map((voter, index) => (
-
-
- {index + 1}
-
-
-
-
-
-
-
-
- {((voter.votes / totalSupplyVeOgv) * 100).toFixed(2)}%
-
-
- {voter.proposalsVoted}
-
-
- ))}
-
-
- );
-};
diff --git a/client/components/Link.tsx b/client/components/Link.tsx
deleted file mode 100644
index 5478a809..00000000
--- a/client/components/Link.tsx
+++ /dev/null
@@ -1,69 +0,0 @@
-import NextLink from "next/link";
-import { useRouter } from "next/router";
-import classNames from "classnames";
-import { ReactNode, FunctionComponent } from "react";
-import { UrlObject } from "url";
-declare type Url = string | UrlObject;
-
-interface LinkProps {
- children: ReactNode;
- href: Url;
- type?: "internal" | "external";
- className?: string;
- currentClassName?: string;
- onClick?: () => void;
- newWindow?: boolean;
-}
-
-const Link: FunctionComponent
= ({
- children,
- href,
- type,
- className,
- currentClassName = "",
- newWindow,
- onClick,
-}) => {
- const router = useRouter();
- const { asPath } = router;
- const pathTrimmed = asPath.replace("/", "");
- const hrefTrimmed = href.toString().replace("/", "");
- const isCurrent =
- asPath === "/"
- ? asPath === href
- : hrefTrimmed && pathTrimmed.includes(hrefTrimmed);
-
- const classes = classNames(className, {
- [currentClassName]: isCurrent,
- });
-
- if (type === "external") {
- return (
-
- {children}
-
- );
- }
-
- return (
-
-
- {children}
-
-
- );
-};
-
-export default Link;
diff --git a/client/components/Loading.tsx b/client/components/Loading.tsx
deleted file mode 100644
index 5fde91b3..00000000
--- a/client/components/Loading.tsx
+++ /dev/null
@@ -1,32 +0,0 @@
-import classNames from "classnames";
-
-const Loading = ({ small = false, large = false }) => {
- const className = classNames("", {
- "inline mr-2 w-8 h-8 text-gray-200 animate-spin fill-accent": !small,
- "w-4 h-4 text-gray-200 animate-spin fill-accent": small,
- "w-16 h-16": large,
- });
-
- return (
-
- );
-};
-
-export { Loading };
diff --git a/client/components/Modal.tsx b/client/components/Modal.tsx
deleted file mode 100644
index 136e655a..00000000
--- a/client/components/Modal.tsx
+++ /dev/null
@@ -1,42 +0,0 @@
-import { FunctionComponent, ReactNode, Dispatch, SetStateAction } from "react";
-import classNames from "classnames";
-import CrossIcon from "components/CrossIcon";
-
-interface ModalProps {
- show: Boolean;
- handleClose?: Dispatch>;
- children: ReactNode;
- showCloseIcon?: Boolean;
-}
-
-const Modal: FunctionComponent = ({
- show,
- handleClose,
- children,
- showCloseIcon,
-}) => {
- const className = classNames("modal", {
- "modal-open": show,
- });
-
- return (
-
-
e.stopPropagation()}
- className="modal-box overflow-hidden bg-secondary text-white"
- >
- {showCloseIcon && handleClose && (
-
-
-
- )}
- {children}
-
-
- );
-};
-
-export default Modal;
diff --git a/client/components/OgvTotalStats.tsx b/client/components/OgvTotalStats.tsx
deleted file mode 100644
index 8c3c96ae..00000000
--- a/client/components/OgvTotalStats.tsx
+++ /dev/null
@@ -1,66 +0,0 @@
-import { FunctionComponent } from "react";
-import CardGroup from "components/CardGroup";
-import Card from "components/Card";
-import CardLabel from "components/CardLabel";
-import CardStat from "components/CardStat";
-import CardDescription from "components/CardDescription";
-import TokenIcon from "components/TokenIcon";
-import TokenAmount from "components/TokenAmount";
-import { useStore } from "utils/store";
-
-interface OgvTotalStatsProps {
- alt?: Boolean;
-}
-
-const OgvTotalStats: FunctionComponent = ({ alt }) => {
- const { totalBalances } = useStore();
- const { totalSupplyOfOgv, totalLockedUpOgv, totalPercentageOfLockedUpOgv } =
- totalBalances;
-
- return (
-
-
-
-
-
Total supply
-
-
-
-
-
-
-
OGV
-
-
-
-
-
-
-
Staked
-
-
-
-
-
-
-
OGV
-
-
-
-
-
-
-
% staked
-
-
- {totalPercentageOfLockedUpOgv.toFixed(2)}%
-
-
OGV
-
-
-
-
- );
-};
-
-export default OgvTotalStats;
diff --git a/client/components/PageTitle.tsx b/client/components/PageTitle.tsx
deleted file mode 100644
index e3a8c9a4..00000000
--- a/client/components/PageTitle.tsx
+++ /dev/null
@@ -1,17 +0,0 @@
-import { FunctionComponent, ReactNode } from "react";
-
-interface PageTitleProps {
- children: ReactNode;
- noBottomMargin?: Boolean;
-}
-
-export const PageTitle: FunctionComponent = ({
- children,
- noBottomMargin,
-}) => (
-
-
- {children}
-
-
-);
diff --git a/client/components/PlayIcon.tsx b/client/components/PlayIcon.tsx
deleted file mode 100644
index c96eae37..00000000
--- a/client/components/PlayIcon.tsx
+++ /dev/null
@@ -1,8 +0,0 @@
-import { FunctionComponent } from "react";
-import Image from "next/image";
-
-const PlayIcon: FunctionComponent = () => (
-
-);
-
-export default PlayIcon;
diff --git a/client/components/RangeInput.tsx b/client/components/RangeInput.tsx
deleted file mode 100644
index 912419f6..00000000
--- a/client/components/RangeInput.tsx
+++ /dev/null
@@ -1,84 +0,0 @@
-import { FunctionComponent, ChangeEventHandler } from "react";
-import TokenAmount from "components/TokenAmount";
-
-interface RangeInputProps {
- label: string;
- counterUnit: string;
- min: string;
- max: string;
- value: number | string;
- markers?: object[];
- onChange: ChangeEventHandler;
- onMarkerClick?: (marker: string) => void;
- hideLabel?: Boolean;
- hideLabelFormatting?: Boolean;
-}
-
-// @ts-ignore
-const RangeInput: FunctionComponent = ({
- label,
- counterUnit,
- min,
- max,
- value,
- markers,
- onChange,
- onMarkerClick,
- hideLabel,
- hideLabelFormatting,
-}) => (
- <>
- {!hideLabel && (
-
-
-
- {label}
- {hideLabelFormatting ? value : }
- {counterUnit}
-
-
-
- )}
-
-
- {markers && markers.length > 0 && (
- <>
-
- {markers.map((marker, index) => (
-
- |
- {marker.value ? (
- onMarkerClick(marker.value) : null
- }
- className="mt-1 hover:underline"
- >
- {marker.label}
-
- ) : (
- {marker.label}
- )}
-
- ))}
-
- >
- )}
-
- >
-);
-
-export default RangeInput;
diff --git a/client/components/SectionTitle.tsx b/client/components/SectionTitle.tsx
deleted file mode 100644
index 0c47f186..00000000
--- a/client/components/SectionTitle.tsx
+++ /dev/null
@@ -1,7 +0,0 @@
-export const SectionTitle = ({ children, noMarginBottom = false }) => (
-
-
- {children}
-
-
-);
diff --git a/client/components/Seo.tsx b/client/components/Seo.tsx
deleted file mode 100644
index 0236129d..00000000
--- a/client/components/Seo.tsx
+++ /dev/null
@@ -1,12 +0,0 @@
-import { FunctionComponent } from "react";
-import { NextSeo } from "next-seo";
-
-interface SeoProps {
- title?: string;
-}
-
-const Seo: FunctionComponent = ({ title }) => (
-
-);
-
-export default Seo;
diff --git a/client/components/SlideControls.tsx b/client/components/SlideControls.tsx
deleted file mode 100644
index 0a3ba1b1..00000000
--- a/client/components/SlideControls.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import { FunctionComponent } from "react";
-import Image from "next/image";
-
-interface SlideNavProps {
- currentSlide: number;
- slides: Array;
- handlePrevSlide?: () => void;
- handleNextSlide?: () => void;
-}
-
-const SlideNav: FunctionComponent = ({
- currentSlide,
- slides,
- handlePrevSlide,
- handleNextSlide,
-}) => (
-
- {slides[currentSlide - 1] !== undefined && (
-
-
- {" "}
- {slides[currentSlide - 1]}
-
-
- )}
- {slides[currentSlide + 1] !== undefined && (
-
-
- {slides[currentSlide + 1]}{" "}
-
-
-
- )}
-
-);
-
-export default SlideNav;
diff --git a/client/components/SlideTracker.tsx b/client/components/SlideTracker.tsx
deleted file mode 100644
index 9bbb760f..00000000
--- a/client/components/SlideTracker.tsx
+++ /dev/null
@@ -1,30 +0,0 @@
-import { FunctionComponent } from "react";
-
-interface SlideTrackerProps {
- currentSlide: number;
- slides: Array;
- onDotClick?: (dot: number) => void;
-}
-
-const SlideTracker: FunctionComponent = ({
- currentSlide,
- slides,
- onDotClick,
-}) => (
-
- {slides.map((slide, index) => (
-
- onDotClick(index) : () => null}
- />
-
- ))}
-
-);
-
-export default SlideTracker;
diff --git a/client/components/StepControls.tsx b/client/components/StepControls.tsx
deleted file mode 100644
index 31ff398b..00000000
--- a/client/components/StepControls.tsx
+++ /dev/null
@@ -1,35 +0,0 @@
-import { FunctionComponent } from "react";
-import Button from "components/Button";
-
-interface StepControlsProps {
- currentStep: number;
- stepControlsLabels: Array;
- handleNextStep: () => void;
- handlePrevStep: () => void;
-}
-
-const StepControls: FunctionComponent = ({
- currentStep,
- stepControlsLabels,
- handlePrevStep,
- handleNextStep,
-}) => (
-
- {stepControlsLabels[currentStep - 1] !== undefined && (
-
-
- ← {stepControlsLabels[currentStep - 1]}
-
-
- )}
- {stepControlsLabels[currentStep + 1] !== undefined && (
-
-
- {stepControlsLabels[currentStep + 1]} →
-
-
- )}
-
-);
-
-export default StepControls;
diff --git a/client/components/StepTracker.tsx b/client/components/StepTracker.tsx
deleted file mode 100644
index 5402c9d2..00000000
--- a/client/components/StepTracker.tsx
+++ /dev/null
@@ -1,79 +0,0 @@
-import { FunctionComponent } from "react";
-
-interface StepTrackerProps {
- currentStep: number;
- steps: Array;
-}
-
-const StepTracker: FunctionComponent = ({
- currentStep,
- steps,
-}) => (
-
-
- Step {currentStep + 1}:{" "}
- {steps[currentStep]}
-
-
-
- {currentStep >= 1 && (
-
- )}
- {currentStep >= 2 && (
-
- )}
-
-
- = 0
- ? "h-5 w-5 rounded-full bg-accent block border border-black -ml-1"
- : "h-5 w-5 rounded-full bg-black block border border-black -ml-1"
- }
- />
-
- Check Eligibility
-
-
-
- = 1
- ? "h-5 w-5 rounded-full bg-accent block mx-auto border border-black"
- : "h-5 w-5 rounded-full bg-black block mx-auto border border-black"
- }
- />
-
- Learn about Origin
-
-
-
- = 2
- ? "h-5 w-5 rounded-full bg-accent block ml-auto border border-black -mr-1"
- : "h-5 w-5 rounded-full bg-black block ml-auto border border-black -mr-1"
- }
- />
-
- Claim Airdrop
-
-
-
-
-
-);
-
-export default StepTracker;
diff --git a/client/components/TimeToDate.tsx b/client/components/TimeToDate.tsx
deleted file mode 100644
index e6190e7d..00000000
--- a/client/components/TimeToDate.tsx
+++ /dev/null
@@ -1,39 +0,0 @@
-import { FunctionComponent, ReactNode } from "react";
-import dayjs from "dayjs";
-import relativeTime from "dayjs/plugin/relativeTime";
-import { useStore } from "utils/store";
-import { SECONDS_IN_A_MONTH } from "../constants/index";
-
-dayjs.extend(relativeTime);
-
-interface TimeToDateProps {
- epoch: number;
-}
-
-const TimeToDate: FunctionComponent = ({ epoch }) => {
- const { blockTimestamp } = useStore();
-
- const monthsRemaining = Math.floor(
- (epoch - blockTimestamp) / SECONDS_IN_A_MONTH
- );
-
- return (
-
- {monthsRemaining > 1 ? (
- <>{monthsRemaining} months>
- ) : (
- <>
- {monthsRemaining === 1 ? (
- <>{monthsRemaining} month>
- ) : (
- <>
- {epoch < blockTimestamp ? `-` : dayjs.unix(epoch).fromNow(true)}
- >
- )}
- >
- )}
-
- );
-};
-
-export default TimeToDate;
diff --git a/client/components/TokenAmount.tsx b/client/components/TokenAmount.tsx
deleted file mode 100644
index 7de5b82b..00000000
--- a/client/components/TokenAmount.tsx
+++ /dev/null
@@ -1,61 +0,0 @@
-import { FunctionComponent } from "react";
-import { BigNumber } from "ethers";
-import numeral from "numeraljs";
-import { useAccount } from "wagmi";
-
-interface TokenAmount {
- amount: BigNumber | string | number;
- format?: string;
- isWalletBalance?: Boolean;
-}
-
-const TokenAmount: FunctionComponent = ({
- amount,
- format,
- isWalletBalance,
-}) => {
- const { isConnected } = useAccount();
-
- const formatMap = {
- abbreviatedCurrency: "0.00 a",
- currency: "0,0.00",
- currency_no_decimals: "0,0",
- default: "0.00 a",
- };
-
- const usedFormat = formatMap[format] || formatMap["default"];
-
- if (isWalletBalance && !isConnected) {
- return --.-- ;
- }
-
- if (typeof amount == "string" || typeof amount == "number") {
- if (typeof amount == "number" && Number.isInteger(amount))
- return (
-
- {numeral(+amount).format("0 a").trim()}
-
- );
-
- if (typeof amount == "string")
- return (
-
- {numeral(+amount).format("0.00 a").trim()}
-
- );
-
- return (
-
- {numeral(+amount).format(usedFormat).trim()}
-
- );
- }
-
- return (
-
- {numeral(+amount / 1e18).format(usedFormat)}
-
- );
-};
-
-export default TokenAmount;
diff --git a/client/components/TokenIcon.tsx b/client/components/TokenIcon.tsx
deleted file mode 100644
index a88d2256..00000000
--- a/client/components/TokenIcon.tsx
+++ /dev/null
@@ -1,27 +0,0 @@
-import { FunctionComponent } from "react";
-import Image from "next/image";
-
-interface TokenIconProps {
- src: string;
- alt?: string;
- large?: Boolean;
- small?: Boolean;
-}
-
-const TokenIcon: FunctionComponent = ({
- src,
- alt,
- large,
- small,
-}) => (
-
-
-
-);
-
-export default TokenIcon;
diff --git a/client/components/TransactionListener.tsx b/client/components/TransactionListener.tsx
deleted file mode 100644
index d5b3bb27..00000000
--- a/client/components/TransactionListener.tsx
+++ /dev/null
@@ -1,66 +0,0 @@
-import { useEffect, useState } from "react";
-import { usePrevious } from "utils/index";
-import { useStore } from "utils/store";
-import { ToastContainer, toast } from "react-toastify";
-import "react-toastify/dist/ReactToastify.css";
-import { isMobile } from "react-device-detect";
-import { useRouter } from "next/router";
-
-export const TransactionListener = () => {
- const { provider, pendingTransactions } = useStore();
- const router = useRouter();
- const prevPendingTransactions = usePrevious(pendingTransactions);
- const [isOnClaimPage, setIsOnClaimPage] = useState(false);
-
- useEffect(() => {
- const newIsOnClaimPage = router.pathname === "/claim";
- // navigating away from the claim page
- if (!newIsOnClaimPage && isOnClaimPage) {
- // dismiss all toasts that may have been seen on the claim page
- toast.dismiss();
- }
- setIsOnClaimPage(newIsOnClaimPage);
- }, [router.pathname]);
-
- useEffect(() => {
- if (!prevPendingTransactions) return;
- const newTransactions = pendingTransactions.filter(
- (x) => !prevPendingTransactions.includes(x)
- );
-
- if (newTransactions.length > 0) {
- newTransactions.forEach((transaction) => {
- provider.once(transaction.hash, (minedTransaction) => {
- if (
- transaction.onComplete &&
- typeof transaction.onComplete === "function"
- ) {
- transaction.onComplete(minedTransaction);
- } else {
- toast.success(
- transaction.onComplete || "Transaction is completed",
- {
- hideProgressBar: true,
- }
- );
- }
- });
- toast.info("Transaction is being mined", { hideProgressBar: true });
- });
- }
- }, [pendingTransactions]);
-
- return (
-
- );
-};
diff --git a/client/components/Video.tsx b/client/components/Video.tsx
deleted file mode 100644
index 2ca642f7..00000000
--- a/client/components/Video.tsx
+++ /dev/null
@@ -1,25 +0,0 @@
-import { FunctionComponent } from "react";
-
-interface VideoProps {
- id: string;
-}
-
-const Video: FunctionComponent = ({ id }) => (
-
- VIDEO
-
-);
-
-export default Video;
diff --git a/client/components/VoteStats.tsx b/client/components/VoteStats.tsx
deleted file mode 100644
index 09547c40..00000000
--- a/client/components/VoteStats.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-import { FunctionComponent } from "react";
-import CardGroup from "./CardGroup";
-import Card from "./Card";
-import CardLabel from "./CardLabel";
-import CardStat from "./CardStat";
-import TokenAmount from "./TokenAmount";
-import TokenIcon from "./TokenIcon";
-import { BigNumber } from "ethers";
-import Icon from "@mdi/react";
-import { mdiFileDocumentOutline, mdiAccountOutline } from "@mdi/js";
-
-interface VoteStatsProps {
- proposalCount: number | undefined;
- holderCount: number;
- totalSupply: BigNumber;
-}
-
-const VoteStats: FunctionComponent = ({
- proposalCount,
- holderCount,
- totalSupply,
-}) => {
- return (
-
-
-
-
Proposals
-
-
- {proposalCount}
-
-
-
-
-
-
Vote Supply
-
-
-
-
-
-
-
-
-
-
-
Voting Addresses
-
-
- {holderCount}
-
-
-
-
- );
-};
-
-export { VoteStats };
diff --git a/client/components/Web3Button.tsx b/client/components/Web3Button.tsx
deleted file mode 100644
index 8b8b5851..00000000
--- a/client/components/Web3Button.tsx
+++ /dev/null
@@ -1,111 +0,0 @@
-import Link from "next/link";
-import { ConnectButton as RainbowKitConnect } from "@rainbow-me/rainbowkit";
-import useShowDelegationModalOption from "utils/useShowDelegationModalOption";
-import classnames from "classnames";
-
-const ConnectButton = ({ inPage = false, needToShowDelegation = false }) => {
- const connectText = inPage ? "Connect wallet" : "Connect";
- return (
-
- {({
- account,
- chain,
- openAccountModal,
- openChainModal,
- openConnectModal,
- authenticationStatus,
- mounted,
- }) => {
- // Note: If your app doesn't use authentication, you
- // can remove all 'authenticationStatus' checks
- const ready = mounted && authenticationStatus !== "loading";
-
- const connected =
- ready &&
- account &&
- chain &&
- (!authenticationStatus || authenticationStatus === "authenticated");
-
- return (
-
- {(() => {
- if (!connected) {
- return (
-
{
- openConnectModal();
- }}
- type="button"
- >
- {connectText}
-
- );
- }
-
- if (chain.unsupported) {
- return (
-
- Wrong Network
-
- );
- }
-
- return (
-
-
-
- {account.displayName}
-
- {needToShowDelegation && (
-
-
- Vote register
-
-
- )}
-
- );
- })()}
-
- );
- }}
-
- );
-};
-
-interface Web3ButtonProps {
- inPage?: boolean;
-}
-
-export const Web3Button = ({ inPage }: Web3ButtonProps) => {
- const { needToShowDelegation } = useShowDelegationModalOption();
- return (
-
- );
-};
diff --git a/client/components/Wrapper.tsx b/client/components/Wrapper.tsx
deleted file mode 100644
index 8c096be1..00000000
--- a/client/components/Wrapper.tsx
+++ /dev/null
@@ -1,18 +0,0 @@
-import { FunctionComponent, ReactNode } from "react";
-import classNames from "classnames";
-
-interface WrapperProps {
- children: ReactNode;
- narrow?: Boolean;
-}
-
-const Wrapper: FunctionComponent = ({ children, narrow }) => {
- const classes = classNames("w-full mx-auto px-4", {
- "max-w-3xl": narrow,
- "max-w-3xl md:px-6 lg:max-w-6xl": !narrow,
- });
-
- return {children}
;
-};
-
-export default Wrapper;
diff --git a/client/components/claim/Claim.tsx b/client/components/claim/Claim.tsx
deleted file mode 100644
index cbe44335..00000000
--- a/client/components/claim/Claim.tsx
+++ /dev/null
@@ -1,59 +0,0 @@
-import { FunctionComponent } from "react";
-import { SectionTitle } from "components/SectionTitle";
-import Wrapper from "components/Wrapper";
-import Card from "components/Card";
-import CardGroup from "components/CardGroup";
-import { Web3Button } from "components/Web3Button";
-import OgvTotalStats from "components/OgvTotalStats";
-import ClaimOgv from "components/claim/claim/ClaimOgv";
-import ClaimVeOgv from "components/claim/claim/ClaimVeOgv";
-import useClaim from "utils/useClaim";
-import useHistoricalLockupToasts from "utils/useHistoricalLockupToasts";
-import { useAccount } from "wagmi";
-
-interface ClaimProps {
- handlePrevStep: () => void;
-}
-
-const Claim: FunctionComponent = () => {
- const { isConnected } = useAccount();
- const { hasClaim } = useClaim();
-
- useHistoricalLockupToasts();
-
- if (!isConnected) {
- return (
-
-
- Please connect your wallet to claim
-
-
-
- );
- }
-
- if (!hasClaim) {
- return (
-
-
-
- Unfortunately, you're not eligible to claim.
-
-
- Try connecting another wallet.
-
-
-
- );
- }
-
- return (
-
-
-
-
-
- );
-};
-
-export default Claim;
diff --git a/client/components/claim/Education.tsx b/client/components/claim/Education.tsx
deleted file mode 100644
index da0529ff..00000000
--- a/client/components/claim/Education.tsx
+++ /dev/null
@@ -1,71 +0,0 @@
-import { FunctionComponent, useState } from "react";
-import classNames from "classnames";
-import Card from "components/Card";
-import Ogn from "@/components/claim/education/Ogn";
-import Ousd from "@/components/claim/education/Ousd";
-import Ogv from "@/components/claim/education/Ogv";
-import Sticky from "react-sticky-el";
-
-interface EducationProps {
- handleNextStep: () => void;
-}
-
-const Education: FunctionComponent = ({ handleNextStep }) => {
- const [currentEducationStep, setCurrentEducationStep] = useState(0);
-
- const handleNextEducationStep = () => {
- window && window.scrollTo(0, 0);
- setCurrentEducationStep(currentEducationStep + 1);
- };
-
- const educationSteps = ["OUSD", "OGV", "OGN"];
-
- return (
-
-
-
-
-
-
- {educationSteps.map((step, index) => {
- const isCurrent = index === currentEducationStep;
-
- const markerClasses = classNames(
- "text-sm md:text-base rounded h-6 w-6 flex flex-shrink-0 items-center justify-center",
- {
- "bg-primary text-white": isCurrent,
- "bg-gray-300 text-gray-400": !isCurrent,
- }
- );
- const textClasses = classNames("text-sm md:text-base", {
- "text-gray-500": !isCurrent,
- "text-black": isCurrent,
- });
- return (
-
- {index + 1}
- {step}
-
- );
- })}
-
-
-
-
-
-
- {currentEducationStep === 0 && (
-
- )}
- {currentEducationStep === 1 && (
-
- )}
- {currentEducationStep === 2 && }
-
-
- );
-};
-export default Education;
diff --git a/client/components/claim/Eligibility.tsx b/client/components/claim/Eligibility.tsx
deleted file mode 100644
index c4828318..00000000
--- a/client/components/claim/Eligibility.tsx
+++ /dev/null
@@ -1,310 +0,0 @@
-import { FunctionComponent, useCallback } from "react";
-import Card from "components/Card";
-import { Web3Button } from "components/Web3Button";
-import Button from "components/Button";
-import { useStore } from "utils/store";
-import useClaim from "utils/useClaim";
-import EligibilityItem from "components/claim/EligibilityItem";
-import Icon from "@mdi/react";
-import { mdiWallet, mdiCheckCircle, mdiAlertCircle } from "@mdi/js";
-import { Loading } from "components/Loading";
-import Link from "components/Link";
-import { filter } from "lodash";
-import useStakingAPY from "utils/useStakingAPY";
-import { useAccount } from "wagmi";
-
-interface EligibilityProps {
- handleNextStep: () => void;
-}
-
-const Eligibility: FunctionComponent = ({
- handleNextStep,
-}) => {
- const { address, isConnected } = useAccount();
- const { provider } = useStore();
- const claim = useClaim();
- const { loaded, hasClaim } = claim;
-
- const hasOptionalClaim = claim.optional && claim.optional.isValid;
- const hasMandatoryClaim = claim.mandatory && claim.mandatory.isValid;
-
- const optionalSplits = filter(claim?.optional?.split, (split) =>
- split.gte(0)
- ).length;
- const mandatorySplits = filter(claim?.mandatory?.split, (split) =>
- split.gte(0)
- ).length;
-
- // Standard APY figure, assumes 100 OGV locked for max duration
- const { stakingAPY, loading: apyLoading } = useStakingAPY(100, 48);
-
- const claimValid =
- (hasClaim && claim.optional && claim.optional.isValid) ||
- (claim.mandatory && claim.mandatory.isValid);
-
- const resetWeb3State = useStore((state) => state.reset);
-
- const handleDisconnect = useCallback(
- async function () {
- if (provider?.disconnect && typeof provider.disconnect === "function") {
- await provider.disconnect();
- }
- resetWeb3State();
- },
- [provider, resetWeb3State]
- );
-
- if (isConnected && !loaded) {
- return (
-
-
-
-
-
- );
- }
-
- return (
- <>
-
-
- {!isConnected ? (
-
-
-
- Connect your wallet to get started
-
-
- We will automatically determine eligibility based on your wallet
- address.
-
-
-
-
-
- ) : (
- <>
- {hasClaim ? (
-
- {claimValid ? (
-
-
-
-
- You are eligible!
-
-
-
- Your address:
-
- {address}
-
-
-
- Continue
-
-
-
-
-
- ) : (
-
-
-
- This address has an invalid claim proof
-
-
-
- Your address:
-
- {address}
-
-
-
- Try another address
-
-
-
-
- OGV stakers earn a{" "}
- {apyLoading ? "--.--" : stakingAPY.toFixed(2)}%
- variable APY
-
-
- Buy OGV
-
-
-
-
- )}
-
- ) : (
-
-
-
- Unfortunately, this address is not eligible
-
-
-
- Your address:
-
- {address}
-
-
-
- Try another address
-
-
-
-
- OGV stakers earn a{" "}
- {apyLoading ? "--.--" : stakingAPY.toFixed(2)}% variable
- APY
-
-
- Buy OGV
-
-
-
-
- )}
- >
- )}
- {hasClaim && claimValid && (
-
- {hasOptionalClaim && (
-
-
-
-
-
- Eligibility Criteria
-
-
- Tokens
-
-
-
-
-
-
-
-
-
- {optionalSplits > 1 && (
-
- )}
-
-
-
- )}
- {hasMandatoryClaim && (
-
-
-
-
-
- Eligibility Criteria
-
-
- Tokens
-
-
-
-
-
-
- {mandatorySplits > 1 && (
-
- )}
-
-
-
- )}
-
- )}
-
-
- >
- );
-};
-
-export default Eligibility;
diff --git a/client/components/claim/EligibilityItem.tsx b/client/components/claim/EligibilityItem.tsx
deleted file mode 100644
index ad9e6e85..00000000
--- a/client/components/claim/EligibilityItem.tsx
+++ /dev/null
@@ -1,72 +0,0 @@
-import { FunctionComponent } from "react";
-import { utils, BigNumber } from "ethers";
-import TokenIcon from "components/TokenIcon";
-import CheckIcon from "components/CheckIcon";
-import ReactTooltip from "react-tooltip";
-import { formatCurrency } from "utils/math";
-
-interface EligibilityItemProps {
- id: string;
- itemTitle: string;
- tokens?: BigNumber;
- showOgvToken: Boolean;
- isTotal?: Boolean;
-}
-
-const EligibilityItem: FunctionComponent = ({
- id,
- itemTitle,
- tokens,
- showOgvToken,
- isTotal,
-}) => {
- tokens = tokens || BigNumber.from(0);
- const isEligible = tokens.gt(0);
-
- if (!isEligible) {
- return <>>;
- }
-
- return (
- <>
-
-
-
- {!isTotal && }
- {itemTitle}
-
-
-
-
-
-
-
- {utils.formatUnits(tokens, 18)}
- {showOgvToken ? "OGV" : "pre-locked OGV"}
-
-
-
-
-
- {formatCurrency(utils.formatUnits(tokens, 18))}
-
- {showOgvToken ? "OGV" : "pre-locked OGV"}
-
-
-
-
-
- >
- );
-};
-
-export default EligibilityItem;
diff --git a/client/components/claim/claim/ApyTooltip.tsx b/client/components/claim/claim/ApyTooltip.tsx
deleted file mode 100644
index af696842..00000000
--- a/client/components/claim/claim/ApyTooltip.tsx
+++ /dev/null
@@ -1,41 +0,0 @@
-import { FunctionComponent } from "react";
-import ReactTooltip from "react-tooltip";
-import Icon from "@mdi/react";
-import { mdiInformationOutline as InfoIcon } from "@mdi/js";
-
-interface ApyToolTipProps {}
-
-const ApyToolTip: FunctionComponent = () => {
- return (
- <>
-
-
- The variable APY indicates the percentage of additional OGV that you
- would receive over time based on the current number of stakers and
- inflation schedule. This yield will change as more users stake and
- OUSD grows.
-
-
-
- >
- );
-};
-
-export default ApyToolTip;
diff --git a/client/components/claim/claim/ClaimOgv.tsx b/client/components/claim/claim/ClaimOgv.tsx
deleted file mode 100644
index b89a4b06..00000000
--- a/client/components/claim/claim/ClaimOgv.tsx
+++ /dev/null
@@ -1,329 +0,0 @@
-import { FunctionComponent, useState } from "react";
-import Card from "components/Card";
-import CardGroup from "components/CardGroup";
-import TokenIcon from "components/TokenIcon";
-import TokenAmount from "components/TokenAmount";
-import CardStat from "components/CardStat";
-import CardDescription from "components/CardDescription";
-import Button from "components/Button";
-import RangeInput from "@/components/RangeInput";
-import useClaim from "utils/useClaim";
-import numeral from "numeraljs";
-import { decimal18Bn } from "utils";
-import PostClaimModal from "./PostClaimModal";
-import Icon from "@mdi/react";
-import { mdiArrowRight } from "@mdi/js";
-import { SECONDS_IN_A_MONTH } from "../../../constants/index";
-import ApyToolTip from "components/claim/claim/ApyTooltip";
-import moment from "moment";
-import { useStore } from "utils/store";
-import useStakingAPY from "utils/useStakingAPY";
-
-interface ClaimOgvProps {}
-
-const ClaimOgv: FunctionComponent = () => {
- const claim = useClaim();
- const { totalLockedUpOgv, totalPercentageOfLockedUpOgv } =
- useStore().totalBalances;
-
- const [hideModal, sethideModal] = useState(true);
-
- const maxLockupDurationInMonths = 12 * 4;
- const [lockupDuration, setLockupDuration] = useState(
- maxLockupDurationInMonths
- );
- const [error, setError] = useState(null);
-
- const isValidLockup = lockupDuration > 0;
- const claimableOgv = claim?.optional?.isValid
- ? numeral(claim.optional.amount.div(decimal18Bn).toString()).value()
- : 0;
-
- const { stakingAPY: ogvLockupRewardApy, loading: ogvLockupRewardLoading } =
- useStakingAPY(claimableOgv, lockupDuration);
-
- const {
- stakingAPY: maxOgvLockupRewardApy,
- loading: maxOgvLockupRewardLoading,
- } = useStakingAPY(claimableOgv, 48);
-
- if (!claim.loaded || !claim.optional.hasClaim) {
- return <>>;
- }
-
- // as specified here: https://github.com/OriginProtocol/ousd-governance/blob/master/contracts/OgvStaking.sol#L21
- const votingDecayFactor = 1.8;
-
- const veOgvFromOgvLockup =
- claimableOgv * votingDecayFactor ** (lockupDuration / 12);
-
- let claimButtonText = "";
- if (isValidLockup && claim.optional.state === "ready") {
- claimButtonText = "Claim & Stake OGV";
- } else if (claim.optional.state === "ready") {
- claimButtonText = "Claim OGV";
- } else if (claim.optional.state === "waiting-for-user") {
- claimButtonText = "Please confirm transaction";
- } else if (claim.optional.state === "waiting-for-network") {
- claimButtonText = "Waiting to be mined";
- } else if (claim.optional.state === "claimed") {
- claimButtonText = "Claimed";
- }
-
- const showModal =
- !hideModal &&
- (claim.optional.state === "waiting-for-user" ||
- claim.optional.state === "waiting-for-network" ||
- claim.optional.state === "claimed");
-
- const now = new Date();
-
- return (
- <>
-
-
-
-
Total claimable OGV
-
-
-
-
-
-
-
-
- Stake your OGV to get maximum rewards and voting power
-
-
- Staked OGV is converted to non-transferable veOGV, which
- allows you to claim additional OGV staking rewards, OUSD fees,
- and participate in governance.
-
-
-
-
-
-
Stake duration
-
-
-
- {lockupDuration}
- Months
-
-
-
-
-
-
-
-
-
-
- {isValidLockup
- ? ogvLockupRewardLoading
- ? "--.--"
- : ogvLockupRewardApy.toFixed(2)
- : 0}
-
- %
-
-
-
-
-
-
- {
- setLockupDuration(e.target.value);
- }}
- hideLabel
- markers={[
- {
- label: "0",
- value: 0,
- },
- {
- label: "",
- value: 0,
- },
- {
- label: "1 yr",
- value: 12,
- },
- {
- label: "",
- value: 0,
- },
- {
- label: "2 yrs",
- value: 24,
- },
- {
- label: "",
- value: 0,
- },
- {
- label: "3 yrs",
- value: 36,
- },
- {
- label: "",
- value: 0,
- },
- {
- label: "4 yrs",
- value: 48,
- },
- ]}
- onMarkerClick={(markerValue) => {
- if (markerValue) {
- setLockupDuration(markerValue);
- }
- }}
- />
-
-
-
-
-
-
Your claim summary
- {!isValidLockup ? (
-
-
You are claiming
-
-
-
-
- ) : (
-
-
-
You are staking
-
-
-
-
-
-
-
- OGV
-
-
- Unlocks{" "}
- {moment(
- now.getTime() +
- lockupDuration * SECONDS_IN_A_MONTH * 1000
- ).format("MMM D, YYYY")}
-
-
-
-
-
-
-
-
-
-
-
- )}
-
- {!isValidLockup && (
-
- If you don't stake your OGV, you'll miss out on the{" "}
- {maxOgvLockupRewardLoading
- ? "--.--"
- : maxOgvLockupRewardApy.toFixed(2)}
- % variable APY and maximized voting power.{" "}
- OGV (
- {totalPercentageOfLockedUpOgv.toFixed(2)}% of the total supply)
- has already been staked by other users.
-
- )}
- {error && (
-
- {error}
-
- )}
-
- {
- sethideModal(false);
- setError(null);
-
- const duration = lockupDuration * SECONDS_IN_A_MONTH; // Months to seconds
-
- try {
- const receipt = await claim.optional.claim(duration);
-
- if (receipt.status === 0) {
- setError("Error claiming tokens!");
- }
- } catch (e) {
- setError("Error claiming tokens!", e);
- throw e;
- }
- }}
- disabled={claim.optional.state !== "ready"}
- large
- fullWidth
- red={!isValidLockup}
- >
- {claimButtonText}
-
-
-
-
-
- >
- );
-};
-
-export default ClaimOgv;
diff --git a/client/components/claim/claim/ClaimVeOgv.tsx b/client/components/claim/claim/ClaimVeOgv.tsx
deleted file mode 100644
index 1dfe20e0..00000000
--- a/client/components/claim/claim/ClaimVeOgv.tsx
+++ /dev/null
@@ -1,287 +0,0 @@
-import { FunctionComponent, useState } from "react";
-import moment from "moment";
-import Card from "components/Card";
-import CardGroup from "components/CardGroup";
-import TokenIcon from "components/TokenIcon";
-import TokenAmount from "components/TokenAmount";
-import CardStat from "components/CardStat";
-import CardDescription from "components/CardDescription";
-import Button from "components/Button";
-import useClaim from "utils/useClaim";
-import { decimal18Bn } from "utils";
-import numeral from "numeraljs";
-import { getRewardsApy } from "utils/apy";
-import Icon from "@mdi/react";
-import { mdiArrowRight } from "@mdi/js";
-import PostClaimModal from "./PostClaimModal";
-import ApyToolTip from "components/claim/claim/ApyTooltip";
-import { SECONDS_IN_A_MONTH } from "constants/index";
-
-interface ClaimVeOgvProps {}
-
-const ClaimVeOgv: FunctionComponent = () => {
- const claim = useClaim();
- const [error, setError] = useState(null);
- const [hideModal, sethideModal] = useState(true);
-
- if (!claim.loaded || !claim.mandatory.hasClaim) {
- return <>>;
- }
- const totalSupplyVeOgv = claim.staking.totalSupplyVeOgvAdjusted || 0;
- const claimableVeOgv = claim.mandatory.isValid
- ? numeral(claim.mandatory.amount.div(decimal18Bn).toString()).value()
- : 0;
-
- // as specified here: https://github.com/OriginProtocol/ousd-governance/blob/master/contracts/OgvStaking.sol#L21
- const votingDecayFactor = 1.8;
-
- const now = new Date();
- const veOgvFromVeOgvClaim =
- (claimableVeOgv / 4) * votingDecayFactor ** (12 / 12) +
- (claimableVeOgv / 4) * votingDecayFactor ** (24 / 12) +
- (claimableVeOgv / 4) * votingDecayFactor ** (36 / 12) +
- (claimableVeOgv / 4) * votingDecayFactor ** (48 / 12);
-
- const veOgvLockupRewardApy = getRewardsApy(
- veOgvFromVeOgvClaim,
- claimableVeOgv,
- totalSupplyVeOgv
- );
-
- const fourYearsFromNow = new Date(
- now.getTime() + 48 * SECONDS_IN_A_MONTH * 1000
- );
- const threeYearsFromNow = new Date(
- now.getTime() + 36 * SECONDS_IN_A_MONTH * 1000
- );
- const twoYearsFromNow = new Date(
- now.getTime() + 24 * SECONDS_IN_A_MONTH * 1000
- );
- const oneYearFromNow = new Date(
- now.getTime() + 12 * SECONDS_IN_A_MONTH * 1000
- );
-
- let claimButtonText = "";
- if (claim.mandatory.state === "ready") {
- claimButtonText = "Claim & Stake OGV";
- } else if (claim.mandatory.state === "waiting-for-user") {
- claimButtonText = "Please confirm transaction";
- } else if (claim.mandatory.state === "waiting-for-network") {
- claimButtonText = "Waiting to be mined";
- } else if (claim.mandatory.state === "claimed") {
- claimButtonText = "Claimed";
- }
-
- const showModal =
- !hideModal &&
- (claim.mandatory.state === "waiting-for-user" ||
- claim.mandatory.state === "waiting-for-network" ||
- claim.mandatory.state === "claimed");
-
- return (
- <>
-
-
-
-
Total claimable staked OGV
-
-
-
-
-
-
-
- Your OGV will be staked automatically for rewards and voting
- power
-
-
- Staked OGV is converted to non-transferrable veOGV, which allows
- you to claim additional OGV staking rewards, OUSD fees, and
- participate in governance.
-
-
-
-
-
Staking periods
-
-
-
-
-
-
-
-
-
-
- {veOgvLockupRewardApy.toFixed(2)}
-
- %
-
-
-
-
-
-
-
Your claim summary
-
-
-
You are staking
-
-
-
-
-
-
-
-
- OGV
-
-
- Unlocks {moment(oneYearFromNow).format("MMM D, YYYY")}
-
-
-
-
-
-
-
-
- OGV
-
-
- Unlocks{" "}
- {moment(twoYearsFromNow).format("MMM D, YYYY")}
-
-
-
-
-
-
-
-
- OGV
-
-
- Unlocks{" "}
- {moment(threeYearsFromNow).format("MMM D, YYYY")}
-
-
-
-
-
-
-
-
- OGV
-
-
- Unlocks{" "}
- {moment(fourYearsFromNow).format("MMM D, YYYY")}
-
-
-
-
-
-
-
-
-
-
-
-
-
- {error && (
-
- {error}
-
- )}
-
- {
- sethideModal(false);
- setError(null);
- try {
- const receipt = await claim.mandatory.claim();
-
- if (receipt.status === 0) {
- setError("Can not claim tokens");
- }
- } catch (e) {
- setError("Error claiming tokens!", e);
- throw e;
- }
-
- sethideModal(false);
- }}
- disabled={claim.mandatory.state !== "ready"}
- large
- fullWidth
- >
- {claimButtonText}
-
-
-
-
-
-
- >
- );
-};
-
-export default ClaimVeOgv;
diff --git a/client/components/claim/claim/PostClaimModal.tsx b/client/components/claim/claim/PostClaimModal.tsx
deleted file mode 100644
index c8d27493..00000000
--- a/client/components/claim/claim/PostClaimModal.tsx
+++ /dev/null
@@ -1,163 +0,0 @@
-import { FunctionComponent, Dispatch, SetStateAction } from "react";
-import Modal from "components/Modal";
-import { Loading } from "components/Loading";
-import Link from "components/Link";
-import CardGroup from "components/CardGroup";
-import Card from "components/Card";
-import TokenIcon from "components/TokenIcon";
-import CardStat from "components/CardStat";
-import TokenAmount from "components/TokenAmount";
-import CardDescription from "components/CardDescription";
-import Icon from "@mdi/react";
-import { mdiWallet, mdiLaunch, mdiArrowDown } from "@mdi/js";
-import Image from "next/image";
-
-interface PostClaimModalProps {
- show: Boolean;
- claim: Object;
- handleClose: Dispatch>;
- didLock?: Boolean;
- veOgv?: Number;
-}
-
-const PostClaimModalProps: FunctionComponent = ({
- show,
- claim,
- handleClose,
- didLock,
- veOgv,
-}) => {
- const { state, amount, receipt } = claim;
-
- return (
-
-
- {"waiting-for-user" === state && (
-
-
-
-
Confirm in wallet
-
- Approve the transaction to claim {didLock && "and stake "}your
- tokens
-
-
-
- Please check your wallet and approve the transaction
-
-
- )}
- {"waiting-for-network" === state && (
-
-
-
-
Processing transaction
-
- {didLock ? (
- <>
- Locking OGV and claiming{" "}
- veOGV...
- >
- ) : (
- <>
- Claiming OGV...
- >
- )}
-
-
-
-
View explorer
-
-
-
- )}
- {"claimed" === state && (
-
-
-
Success!
-
-
-
-
- {didLock ? "You have locked" : "You have claimed"}
-
-
-
-
-
- {didLock && (
-
-
You have claimed
-
-
-
-
- )}
-
-
-
View explorer
-
-
-
-
Next step...
-
-
-
-
-
-
- ...earn ETH when you stake OGN on Origin
- Story.
-
-
-
-
-
-
Earn ETH rewards
-
-
-
-
-
- )}
-
-
- );
-};
-
-export default PostClaimModalProps;
diff --git a/client/components/claim/education/Ogn.tsx b/client/components/claim/education/Ogn.tsx
deleted file mode 100644
index 4e523cc4..00000000
--- a/client/components/claim/education/Ogn.tsx
+++ /dev/null
@@ -1,90 +0,0 @@
-import { FunctionComponent, Dispatch, SetStateAction } from "react";
-import TokenIcon from "components/TokenIcon";
-import Video from "components/Video";
-import Card from "components/Card";
-import CardGroup from "components/CardGroup";
-import Quiz from "components/claim/education/Quiz";
-
-interface OgnProps {
- handleNextStep: () => void;
-}
-
-const questions = [
- {
- question:
- "Which of the following is NOT a product offering of Origin Story?",
- answers: [
- "NFT minting",
- "Branded, collection-specific marketplace on a creator's own domain",
- "Token-gated access to exclusive experiences",
- "NFT borrowing and lending",
- ],
- correctAnswer: "NFT borrowing and lending",
- },
- {
- question:
- "Which of the following is the value accrual token for Origin Story?",
- answers: ["OUSD", "OGV", "OGN", "DOGE"],
- correctAnswer: "OGN",
- },
- {
- question: "Which of the following will OGN stakers be entitled to?",
- answers: [
- "Fees generated by Origin Story primary sales (NFT mints)",
- "Fees generated by Origin Story secondary royalties",
- "Fees generated by Origin Story secondary marketplace fees",
- "100% of the fees generated by Origin Story",
- ],
- correctAnswer: "100% of the fees generated by Origin Story",
- },
-];
-
-const Ogn: FunctionComponent = ({ handleNextStep }) => (
-
-
-
-
-
-
Origin Token (OGN)
-
-
-
-
- OGN is your key to earning ETH rewards from the Origin Story
- platform, which has powered record-breaking NFT drops from 3LAU,
- Paris Hilton, BT, Trevor Jones, Don Diablo, and more.
-
-
- Our mission is to bring NFTs to everyone with the simplest and most
- trusted way for creators to launch and grow their NFT communities
- and collections.
-
-
- Origin Story lowers the barriers of entry for creators to mint their
- first NFTs and create more value for their collectors.
-
-
- With OGN, Origin Story's dedicated value accrual token, you get
- a piece of the action.
-
-
- That means you can buy OGN tokens and stake them to earn part of the
- commissions that Origin Story makes on NFT primary and secondary
- sales.
-
-
- With Origin Story rapidly expanding its platform to include trusted
- official marketplaces, token-gated access to exclusive experiences,
- and more, OGN token holders will also benefit as the Origin Story
- platform grows.
-
-
-
-
-
-
-
-
-);
-
-export default Ogn;
diff --git a/client/components/claim/education/Ogv.tsx b/client/components/claim/education/Ogv.tsx
deleted file mode 100644
index d121e37d..00000000
--- a/client/components/claim/education/Ogv.tsx
+++ /dev/null
@@ -1,89 +0,0 @@
-import { FunctionComponent, Dispatch, SetStateAction } from "react";
-import TokenIcon from "components/TokenIcon";
-import Video from "components/Video";
-import Card from "components/Card";
-import CardGroup from "components/CardGroup";
-import Quiz from "components/claim/education/Quiz";
-
-interface OgvProps {
- onComplete?: Dispatch>;
-}
-
-const questions = [
- {
- question: "Which of the following is the governance token for OUSD?",
- answers: ["OGN", "OGV", "GOV", "ODG"],
- correctAnswer: "OGV",
- },
- {
- question: "Which is the best reason to stake OGV and convert it to veOGV?",
- answers: [
- "To keep it from being burned",
- "veOGV is freely transferable",
- "To hedge against Bitcoin",
- "veOGV holders earn fees from OUSD's yield and staking rewards",
- ],
- correctAnswer:
- "veOGV holders earn fees from OUSD's yield and staking rewards",
- },
- {
- question: "How can you earn more as OUSD adoption increases?",
- answers: [
- "Wait to claim OGV after OUSD succeeds",
- "Stake OGV now to get rewards, OUSD fees and voting power",
- ],
- correctAnswer: "Stake OGV now to get rewards, OUSD fees and voting power",
- },
-];
-
-const Ogv: FunctionComponent = ({ onComplete }) => (
-
-
-
-
-
-
- Origin Dollar Governance (OGV)
-
-
-
-
-
Congratulations, you're ready to claim your OGV airdrop.
-
- OGV lets you own a piece of the future growth of OUSD. You can claim
- OGV and stake it for anywhere from 1 month to 4 years to maximize
- your earnings and voting power.
-
-
- When OGV is staked, it's converted into veOGV (or
- “vote-escrowed OGV”) and becomes non-transferable while earning fees
- as OUSD adoption grows.
-
-
- As a veOGV holder, your vote impacts the future of OUSD. You decide
- whether to support new collateral types, adjust staking rewards, and
- more.
-
-
- On day one, veOGV holders can claim 10% of the yield generated by
- the protocol. As OUSD adoption accelerates, the benefits accrue to
- the holders of veOGV.
-
-
- To sum it up, we're thinking long-term and rewarding those who
- are here for the long-run.
-
-
-
-
-
-
-
-
-);
-
-export default Ogv;
diff --git a/client/components/claim/education/Ousd.tsx b/client/components/claim/education/Ousd.tsx
deleted file mode 100644
index 6697ab92..00000000
--- a/client/components/claim/education/Ousd.tsx
+++ /dev/null
@@ -1,101 +0,0 @@
-import { FunctionComponent, Dispatch, SetStateAction } from "react";
-import TokenIcon from "components/TokenIcon";
-import Video from "components/Video";
-import Quiz from "components/claim/education/Quiz";
-import CardGroup from "components/CardGroup";
-import Card from "components/Card";
-
-interface OusdProps {
- onComplete?: () => void;
-}
-
-const questions = [
- {
- question: "Which best describes OUSD?",
- answers: [
- "An algorithmic stablecoin",
- "A governance token",
- "A fully backed stablecoin that generates yield",
- "A staking token",
- ],
- correctAnswer: "A fully backed stablecoin that generates yield",
- },
- {
- question: "How do you earn yield with OUSD?",
- answers: [
- "You get OGV for locking it up",
- "The balance grows automatically in your wallet",
- "You stake it in the Origin Vault",
- "The price goes up over time",
- ],
- correctAnswer: "The balance grows automatically in your wallet",
- },
- {
- question: "Who manages OUSD's funds?",
- answers: [
- "Origin Protocol's team of Internet pioneers",
- "Every token holder chooses a strategy",
- "An elite group of ex-Wall Street traders",
- "A transparent set of automated smart contracts",
- ],
- correctAnswer: "A transparent set of automated smart contracts",
- },
-];
-
-const Ousd: FunctionComponent = ({ onComplete }) => (
-
-
-
-
-
-
- Origin Dollar (OUSD)
-
-
-
-
-
- Origin Dollar (OUSD) is a stablecoin that gives you access to some
- of the best yields in DeFi with none of the hassles.
-
-
- Stablecoins offer the benefits of cryptocurrencies without the price
- volatility.
-
-
- What separates OUSD from ordinary stablecoins is that it grows in
- your wallet every day. Not only does OUSD passively earn interest
- while you hold it, you can use it to make purchases and transfers
- anywhere around the world.
-
-
- OUSD's price is pegged to the dollar and it's backed 1:1
- by the most trusted collateral in crypto, which means it can be
- redeemed anytime.
-
-
Simply put: imagine your wallet filled with OUSD bills.
-
-
- If you kept that OUSD in your wallet, then your wallet would fill
- with more OUSD every day.
-
-
- And if you wanted to take OUSD from your wallet to make a purchase
- or send it to a friend, you can do that too.
-
-
-
It brings you the best of both worlds.
-
-
-
-
-
-
-
-);
-
-export default Ousd;
diff --git a/client/components/claim/education/Quiz.tsx b/client/components/claim/education/Quiz.tsx
deleted file mode 100644
index cf0722c5..00000000
--- a/client/components/claim/education/Quiz.tsx
+++ /dev/null
@@ -1,226 +0,0 @@
-import { FunctionComponent, useState, Dispatch, SetStateAction } from "react";
-import classNames from "classnames";
-import Button from "components/Button";
-import CheckIconWhite from "components/CheckIconWhite";
-import CrossIconWhite from "components/CrossIconWhite";
-import { shuffle } from "lodash";
-
-interface QuizQuestion {
- question: string;
- answers: Array;
- correctAnswer: string;
- canAdvance?: Boolean;
-}
-
-interface QuizProps {
- questions: Array;
- onComplete?: () => void | Dispatch>;
- onCompleteMessage?: string;
- lastQuiz?: Boolean;
- handleNextStep?: () => void;
-}
-
-const Quiz: FunctionComponent = ({
- questions,
- onComplete,
- onCompleteMessage,
- lastQuiz,
- handleNextStep,
-}) => {
- const [currentQuestion, setCurrentQuestion] = useState(0);
- const [currentAnswers, setCurrentAnswers] = useState(
- shuffle(questions[currentQuestion].answers)
- );
- const [currentAnswer, setCurrentAnswer] = useState("");
- const [status, setStatus] = useState({
- type: "",
- message: "",
- note: "",
- });
- const [canProgress, setCanProgress] = useState(false);
-
- const quizComplete = currentQuestion === questions.length - 1;
-
- const handleSubmitAnswer = () => {
- if (currentAnswer === questions[currentQuestion].correctAnswer) {
- setStatus({
- type: "success",
- message: "That's right!",
- note: "",
- });
- setCanProgress(true);
-
- if (onComplete && quizComplete && lastQuiz) {
- onComplete(true);
- }
- } else {
- setStatus({
- type: "error",
- message: "Sorry, that's incorrect",
- note: "",
- });
- setCanProgress(false);
-
- if (onComplete && quizComplete && lastQuiz) {
- onComplete(false);
- }
- }
- };
-
- const handleResetQuestion = () => {
- setStatus({
- type: "",
- message: "",
- note: "",
- });
- setCurrentAnswer("");
- setCanProgress(false);
-
- if (currentQuestion < questions.length) {
- setCurrentQuestion(currentQuestion);
- setCurrentAnswers(shuffle(questions[currentQuestion].answers));
- }
-
- return;
- };
-
- const handleNextQuestion = () => {
- setStatus({
- type: "",
- message: "",
- note: "",
- });
- setCurrentAnswer("");
- setCanProgress(false);
-
- if (currentQuestion < questions.length) {
- setCurrentQuestion(currentQuestion + 1);
- setCurrentAnswers(shuffle(questions[currentQuestion + 1].answers));
- }
-
- return;
- };
-
- const letterMap = ["A", "B", "C", "D"];
-
- return (
-
-
- Question {currentQuestion + 1} of {questions.length}
-
-
- {questions.map((q, index) => {
- const { question, correctAnswer } = q;
-
- if (index !== currentQuestion) return null;
-
- return (
-
-
{question}
-
- {currentAnswers.map((answer, index) => {
- const isCurrent = currentAnswer === answer;
- const isCorrect = currentAnswer === correctAnswer;
-
- const discClasses = classNames(
- "flex-shrink-0 bg-gray-500 text-white font-bold h-8 w-8 p-2 flex items-center justify-center rounded-full",
- {
- "bg-green-500":
- isCurrent && isCorrect && status?.type === "success",
- "bg-orange-500":
- isCurrent && !isCorrect && status?.type === "error",
- "bg-gray-500": !isCurrent,
- }
- );
-
- const answerClasses = classNames(
- "text-left border rounded p-3 flex items-center space-x-3 w-full",
- {
- "bg-green-200 border-green-400":
- isCorrect && status?.type === "success",
- "bg-orange-200 border-orange-400":
- !isCorrect && status?.type === "error",
- "border-gray-400 bg-gray-300":
- isCurrent && status?.type === "",
- "border-gray-300 hover:bg-gray-100 disabled:bg-white":
- !isCurrent,
- }
- );
-
- return (
-
- setCurrentAnswer(answer)}
- disabled={status.type !== ""}
- >
-
- {isCurrent && status.type !== "" ? (
- <>
- {isCorrect ? (
-
- ) : (
-
- )}
- >
- ) : (
-
- {letterMap[index]}
-
- )}
-
- {answer}
-
-
- );
- })}
-
-
- );
- })}
- {status?.type && (
-
- {status.message &&
{status.message}
}
- {status.note && (
-
{status.note}
- )}
- {canProgress && quizComplete && (
-
- {onCompleteMessage
- ? onCompleteMessage
- : "It's time to claim the airdrop"}
-
- )}
-
- )}
- {!canProgress && currentAnswer && status?.type === "" && (
-
- Submit Answer
-
- )}
- {!canProgress && status?.type === "error" && (
-
- Try Again
-
- )}
- {canProgress && !quizComplete && (
-
- Next Question
-
- )}
- {onComplete && quizComplete && canProgress && !lastQuiz && (
-
- Continue
-
- )}
- {quizComplete && canProgress && lastQuiz && handleNextStep && (
-
- Claim Airdrop
-
- )}
-
-
- );
-};
-
-export default Quiz;
diff --git a/client/components/holding/Page.tsx b/client/components/holding/Page.tsx
deleted file mode 100644
index 11654abb..00000000
--- a/client/components/holding/Page.tsx
+++ /dev/null
@@ -1,126 +0,0 @@
-import { FunctionComponent, ReactNode, useEffect, useState } from "react";
-import Countdown, { CountdownRendererFn } from "react-countdown";
-import { PageTitle } from "../PageTitle";
-import { SectionTitle } from "../SectionTitle";
-import CardGroup from "../CardGroup";
-import Card from "../Card";
-import CardDescription from "../CardDescription";
-import CardStat from "../CardStat";
-import ExternalLinkIcon from "../ExternalLinkIcon";
-import { useStore } from "utils/store";
-
-const renderer: CountdownRendererFn = ({ days, hours, minutes, seconds }) => (
-
-
- {days}
- Days
-
-
- {hours}
- Hours
-
-
- {minutes}
- Minutes
-
-
- {seconds}
- Seconds
-
-
-);
-
-const HoldingPage = () => {
- const { claim } = useStore();
- const [date, setDate] = useState(null);
-
- // Super weird workaround so that NextJs doesn't report client/server render miss match
- useEffect(() => {
- setTimeout(() => {
- let date = new Date(0);
- date.setUTCSeconds(parseInt(claim.claimOpensTs || "0"));
- setDate(date);
- }, 1);
- }, []);
-
- return (
- <>
- OGV token launch countdown
-
- {date && }
-
-
-
- Key dates
-
- All times midnight UTC
-
-
-
-
-
-
-
-
-
June 1
-
- Prelaunch liquidity mining campaign begins
-
-
-
-
June 28
-
- Final list of exchanges supporting OGV to be published
-
-
-
-
July 5-12
-
OGN snapshot window
-
-
-
July 12
-
OGV airdrop
-
-
-
October 10
-
- 90-day deadline to claim airdrop
-
-
-
-
-
-
-
- Learn more about the OGV token launch
-
-
-
-
- >
- );
-};
-
-export default HoldingPage;
diff --git a/client/components/layout.tsx b/client/components/layout.tsx
deleted file mode 100644
index 13816001..00000000
--- a/client/components/layout.tsx
+++ /dev/null
@@ -1,25 +0,0 @@
-import { FunctionComponent, ReactNode } from "react";
-import Header from "components/Header";
-import Footer from "components/Footer";
-import AdminUtils from "components/AdminUtils";
-
-interface LayoutProps {
- children: ReactNode;
- hideNav?: boolean;
-}
-
-const Layout: FunctionComponent = ({ children, hideNav }) => (
-
-);
-
-export default Layout;
diff --git a/client/components/proposal/AddActionContractForm.tsx b/client/components/proposal/AddActionContractForm.tsx
deleted file mode 100644
index 99f3bcc7..00000000
--- a/client/components/proposal/AddActionContractForm.tsx
+++ /dev/null
@@ -1,185 +0,0 @@
-import { useState, useEffect } from "react";
-import { isRequired, useForm } from "utils/useForm";
-import { truncateEthAddress } from "utils/index";
-import { Loading } from "../Loading";
-import { useStore } from "utils/store";
-
-export const AddActionContractForm = ({
- onChange,
- onSubmit,
- onModalClose,
- fetchingProxy,
- isProxy,
- hasImplementationAbi,
- implementationAddress,
-}: {
- onChange: Function;
- onSubmit: Function;
- onModalClose: Function;
- fetchingProxy: boolean;
- isProxy: boolean;
- hasImplementationAbi: boolean;
- implementationAddress: string;
-}) => {
- const { contracts } = useStore();
- const [isCustomContract, setIsCustomContract] = useState(false);
- const initialState = {
- address: "",
- abi: "",
- };
-
- const validations = [
- ({ address }: { address: string }) =>
- isRequired(address) || { address: "Contract address is required" },
- ({ abi }: { abi: string }) =>
- isRequired(abi) || { abi: "Contract ABI is required" },
- ];
- const {
- values,
- isValid,
- errors,
- touched,
- changeHandler,
- submitHandler,
- reset,
- } = useForm(initialState, validations, onSubmit);
-
- useEffect(() => {
- if (values.address.length === 42) {
- const contract = Object.values(contracts).find(
- (c) => c.address === values.address
- );
-
- if (contract) {
- changeHandler({
- target: {
- name: "abi",
- value: contract.interface.fragments,
- },
- });
- onChange(contract);
- }
- }
- }, [values.address]);
-
- useEffect(reset, [isCustomContract]);
- return (
-
- );
-};
diff --git a/client/components/proposal/AddActionFunctionForm.tsx b/client/components/proposal/AddActionFunctionForm.tsx
deleted file mode 100644
index 63801d5c..00000000
--- a/client/components/proposal/AddActionFunctionForm.tsx
+++ /dev/null
@@ -1,238 +0,0 @@
-import { useState, useEffect } from "react";
-import {
- isUint,
- isAddress,
- isAddressArray,
- isRequired,
- useForm,
-} from "utils/useForm";
-import { useStore } from "utils/store";
-import { truncateEthAddress } from "utils/index";
-
-export const AddActionFunctionForm = ({
- abi,
- address,
- onSubmit,
- onModalClose,
- onPrevious,
- onContractChange,
- hasImplementationAbi,
-}: {
- abi: Array;
- address: string;
- onSubmit: Function;
- onModalClose: Function;
- onPrevious: Function;
- onContractChange: Function;
- hasImplementationAbi: boolean;
-}) => {
- const { contracts } = useStore();
- const [signature, setSignature] = useState(null);
-
- const initialState = {
- signature: "",
- address,
- abi,
- };
-
- const contractFunctions = abi
- .filter(
- ({ type, stateMutability }: { type: string; stateMutability: string }) =>
- type === "function" && stateMutability.includes("payable")
- )
- .map(({ name, inputs }) => ({
- name,
- inputs,
- signature: `${name}(${inputs
- .map(({ type }: { type: string }) => type)
- .join(",")})`,
- }));
-
- const inputsForFunction = contractFunctions.find(
- (c) => c.signature === signature
- )?.inputs;
-
- const validations = [
- ({ address }: { address: string }) =>
- isRequired(address) || { address: "Contract address is required" },
- ({ abi }: { abi: string }) =>
- isRequired(abi) || { abi: "Contract ABI is required" },
- ({ signature }: { signature: string }) =>
- isRequired(signature) || {
- address: "Contract function is required",
- },
- ];
-
- if (inputsForFunction) {
- for (let i = 0; i < inputsForFunction.length; i++) {
- const { name, type } = inputsForFunction[i];
- validations.push(({ [name]: value }: { [name: string]: string }) => {
- if (type === "address") {
- return (
- isAddress(value) || {
- [name]: `${name} is not a valid address`,
- }
- );
- } else if (type.startsWith("uint")) {
- return (
- isUint(value) || {
- [name]: `${name} is not a valid number`,
- }
- );
- } else if (type == "address[]") {
- return (
- isAddressArray(value) || {
- [name]: `${name} is not a valid address array`,
- }
- );
- } else {
- return (
- isRequired(value) || {
- [name]: `${name} is required`,
- }
- );
- }
- });
- }
- for (let i = 0; i < inputsForFunction.length; i++) {
- const { name, type } = inputsForFunction[i];
- initialState[name] = "";
- }
- }
-
- const {
- values,
- isValid,
- errors,
- touched,
- changeHandler,
- submitHandler,
- reset,
- } = useForm(initialState, validations, onSubmit);
-
- useEffect(() => {
- if (values.address.length === 42) {
- const contract = Object.values(contracts).find(
- (c) => c.address === values.address
- );
-
- if (contract) {
- onContractChange(contract);
- }
- }
- }, []);
-
- return (
-
- {hasImplementationAbi && (
-
-
- Implementation contract
-
-
-
- Select contract
-
- {Object.entries(contracts)
- .filter(([name, contract]) => typeof contract === "object")
- .map(([name, contract]) => {
- return (
-
- {name} {truncateEthAddress(contract.address)}
-
- );
- })}
-
- {touched.address && errors.address && touched.signature && (
-
- Please select a contract
-
- )}
-
- )}
-
-
- Function
-
-
{
- changeHandler(e);
- setSignature(e.target.value);
- }}
- defaultValue=""
- >
-
- Choose function
-
- {contractFunctions &&
- contractFunctions.map(({ name, inputs, signature }) => (
-
- {name}(
- {inputs.map(({ name, type }) => `${type} ${name}`).join(", ")})
-
- ))}
-
- {inputsForFunction && inputsForFunction.length > 0 && (
-
-
- Inputs
-
-
- {inputsForFunction.map(({ name, type }) => (
-
-
-
- {name}
-
-
- {touched[name] && errors[name] && (
-
- {errors[name]}
-
- )}
-
-
- ))}
-
-
- )}
-
-
- {
- reset();
- onPrevious();
- }}
- >
- Back
-
-
- Done
-
- {
- e.preventDefault();
- onModalClose();
- }}
- className="btn"
- >
- Close
-
-
-
- );
-};
diff --git a/client/components/proposal/EnsureDelegationModal.tsx b/client/components/proposal/EnsureDelegationModal.tsx
deleted file mode 100644
index d0c90c4a..00000000
--- a/client/components/proposal/EnsureDelegationModal.tsx
+++ /dev/null
@@ -1,93 +0,0 @@
-import { useStore } from "utils/store";
-import { useState } from "react";
-import useAccountBalances from "utils/useAccountBalances";
-import Modal from "components/Modal";
-
-export const EnsureDelegationModal = () => {
- const { contracts, ensureDelegationModalOpened, address, rpcProvider } =
- useStore();
- /*
- * 0 - initial prompt to initiate contract delegation call
- * 1 - confirmation stage
- */
- const [stage, setStage] = useState(0);
- const [registerStatus, setRegisterStatus] = useState("ready");
- const { reloadOgvDelegation } = useAccountBalances();
-
- let registerButtonText = "";
- if (registerStatus === "ready") {
- registerButtonText = "Register";
- } else if (registerStatus === "waiting-for-user") {
- registerButtonText = "Confirm transaction";
- } else if (registerStatus === "waiting-for-network") {
- registerButtonText = "Waiting to be mined";
- }
-
- const onClose = () => {
- setStage(0);
- useStore.setState({ ensureDelegationModalOpened: false });
- };
-
- const handleRegistration = async () => {
- setRegisterStatus("waiting-for-user");
- // self delegate
- const transaction = await contracts.OgvStaking.delegate(address);
- setRegisterStatus("waiting-for-network");
- // wait for self delegation to be mined before continuing
- await rpcProvider.waitForTransaction(transaction.hash);
- setStage(1);
- setRegisterStatus("ready");
- /*
- * There is this weird race condition where immediately querying blockchain after the
- * update is made does not guarantee that returned state is up to date. For that reason
- * we don't query the delegatee address again and rather set it in the client.
- */
- useStore.setState({ ogvDelegateeAddress: address });
- };
-
- return (
-
- Register to Vote
- {stage === 0 && (
- <>
-
- Before you continue you need to register your account for voting &
- proposal creation.
-
-
- This action needs to be performed only once.
-
-
-
- Close
-
-
- {registerButtonText}
-
-
- >
- )}
-
- {stage === 1 && (
- <>
- Done!
-
-
- Close
-
-
- >
- )}
-
- );
-};
diff --git a/client/components/proposal/ProposalActionAddModal.tsx b/client/components/proposal/ProposalActionAddModal.tsx
deleted file mode 100644
index 32ab5f63..00000000
--- a/client/components/proposal/ProposalActionAddModal.tsx
+++ /dev/null
@@ -1,140 +0,0 @@
-import { ethers } from "ethers";
-import { useState } from "react";
-import { AddActionContractForm } from "components/proposal/AddActionContractForm";
-import { AddActionFunctionForm } from "components/proposal/AddActionFunctionForm";
-import { encodeCalldata } from "utils/index";
-import { useStore } from "utils/store";
-import { mainnetNetworkUrl } from "constants/index";
-
-export const ProposalActionAddModal = ({
- modalOpen,
- onModalClose,
- onActionAdd,
-}: {
- modalOpen: boolean;
- onModalClose: Function;
- onActionAdd: Function;
-}) => {
- const { contracts } = useStore();
- const [step, setStep] = useState(0);
- const [address, setAddress] = useState("");
- const [abi, setAbi] = useState("");
-
- const [fetchingProxy, setFetchingProxy] = useState(false);
- const [isProxy, setIsProxy] = useState(false);
- const [implementationAddress, setImplementationAddress] =
- useState("");
- const [hasImplementationAbi, setHasImplementationAbi] =
- useState(false);
-
- const reset = () => {
- setStep(0);
- setAddress("");
- setAbi("");
- setIsProxy(false);
- setHasImplementationAbi(false);
- setImplementationAddress("");
- };
-
- return (
-
-
-
- Contract
-
- Function and Inputs
-
-
- {step === 0 && (
-
{
- const { interface, address } = contract;
- const abi = interface.fragments;
- // Check contract selected abi for implementation method
- const implementationFunction = interface.fragments.find(
- ({ type, name }: { type: string; name: string }) =>
- type === "function" && name === "implementation"
- );
- // If present, call it and get the implementation address
- if (implementationFunction) {
- setFetchingProxy(true);
- const implementationAddress = await contract.implementation();
- setFetchingProxy(false);
-
- if (implementationAddress) {
- setIsProxy(true);
- setImplementationAddress(implementationAddress);
-
- // Check that the implementation address exists in our contracts list
- const implementationContract = Object.values(contracts).find(
- ({ address }) => address === implementationAddress
- );
-
- // If present, populate state
- if (implementationContract) {
- setHasImplementationAbi(true);
- setAddress(implementationContract.address);
- setAbi(implementationContract.interface.fragments);
- } else {
- setHasImplementationAbi(false);
- setAddress(address);
- setAbi(abi);
- }
- }
- } else {
- setIsProxy(false);
- setHasImplementationAbi(false);
- setAddress(address);
- setAbi(abi);
- }
- }}
- fetchingProxy={fetchingProxy}
- isProxy={isProxy}
- implementationAddress={implementationAddress}
- hasImplementationAbi={hasImplementationAbi}
- onSubmit={() => {
- setStep(1);
- }}
- onModalClose={() => {
- reset();
- onModalClose();
- }}
- />
- )}
- {step === 1 && (
- {
- setAddress(contract.address);
- setAbi(contract.interface.fragments);
- }}
- onSubmit={(data) => {
- // TODO check ordering
- const { signature, address, abi, ...inputs } = data;
- onActionAdd({
- target: address,
- signature: data.signature,
- calldata: encodeCalldata(signature, Object.values(inputs)),
- });
- reset();
- onModalClose();
- }}
- onModalClose={() => {
- reset();
- onModalClose();
- }}
- onPrevious={() => {
- setStep(0);
- reset();
- }}
- />
- )}
-
-
- );
-};
diff --git a/client/components/proposal/ProposalActionsTable.tsx b/client/components/proposal/ProposalActionsTable.tsx
deleted file mode 100644
index d61c67b2..00000000
--- a/client/components/proposal/ProposalActionsTable.tsx
+++ /dev/null
@@ -1,191 +0,0 @@
-import { useState } from "react";
-import { useStore } from "utils/store";
-import { useNetworkInfo } from "utils/index";
-import {
- decodeCalldata,
- functionNameFromSignature,
- argumentsFromSignature,
- typesFromSignature,
- addressContractName,
- etherscanLink,
-} from "utils/index";
-
-export const ProposalActionsTable = ({
- proposalActions,
- ephemeral,
- onActionDelete,
-}: {
- proposalActions: any;
- ephemeral?: boolean;
- onActionDelete?: Function;
-}) => {
- const MAX_UINT256 =
- "115792089237316195423570985008687907853269984665640564039457584007913129639935";
-
- const { contracts } = useStore();
- const { envNetwork } = useNetworkInfo();
- const [modalOpen, setModalOpen] = useState(false);
- const [actionDeleteIndex, setActionDeleteIndex] = useState(null);
-
- let explorerPrefix: string | undefined;
-
- if (envNetwork === 1) {
- explorerPrefix = "https://etherscan.io/";
- } else if (envNetwork === 5) {
- explorerPrefix = "https://goerli.etherscan.io/";
- }
-
- return (
- <>
- {ephemeral && onActionDelete && (
- {
- onActionDelete(actionDeleteIndex);
- setModalOpen(false);
- }}
- onClose={() => setModalOpen(false)}
- />
- )}
-
-
-
-
- Contract
- Function
- Argument Types
- Arguments
- {ephemeral && Actions }
-
-
-
- {proposalActions.targets.map((target, index) => (
-
-
- {explorerPrefix ? (
-
- {addressContractName(contracts, target)}
-
- ) : (
- <>{addressContractName(contracts, target)}>
- )}
-
-
- {functionNameFromSignature(proposalActions.signatures[index])}
-
-
- {argumentsFromSignature(
- proposalActions.signatures[index]
- ).map((argument, index) => (
- {argument}
- ))}
-
-
- {decodeCalldata(
- proposalActions.signatures[index],
- proposalActions.calldatas[index]
- ).map((decodedData, i) => {
- const type = typesFromSignature(
- proposalActions.signatures[index]
- )[i];
-
- const data = decodedData.toString();
-
- if (data === "Bad data") {
- return (
-
- {data}
-
- );
- }
-
- if (type === "address") {
- return (
- {etherscanLink(contracts, data)}
- );
- } else if (type === "address[]") {
- return data
- .split(",")
- .map((address) => (
-
- {etherscanLink(contracts, address)}
-
- ));
- } else {
- return (
-
- {data === MAX_UINT256 ? "uint256(-1)" : data}
-
- );
- }
- })}
-
- {ephemeral && (
-
- {
- setModalOpen(true);
- setActionDeleteIndex(index);
- }}
- >
-
-
-
-
-
- )}
-
- ))}
-
-
-
- >
- );
-};
-
-export const ConfirmDeleteModal = ({
- modalOpen,
- onConfirm,
- onClose,
-}: {
- modalOpen: boolean;
- onConfirm: Function;
- onClose: Function;
-}) => {
- return (
-
-
-
Are you sure you want to remove this action?
-
- onConfirm()}>
- Yes
-
- onClose()}>
- Cancel
-
-
-
-
- );
-};
diff --git a/client/components/proposal/ProposalActionsTableEmpty.tsx b/client/components/proposal/ProposalActionsTableEmpty.tsx
deleted file mode 100644
index ce9f8e7f..00000000
--- a/client/components/proposal/ProposalActionsTableEmpty.tsx
+++ /dev/null
@@ -1,34 +0,0 @@
-import { ProposalAddActionButton } from "components/proposal/ProposalAddActionButton";
-
-export const ProposalActionsTableEmpty = ({
- onClickAdd,
-}: {
- onClickAdd: Function;
-}) => {
- return (
-
-
-
-
-
No Actions
-
- Get started by adding a new contract call.
-
-
-
- );
-};
diff --git a/client/components/proposal/ProposalAddActionButton.tsx b/client/components/proposal/ProposalAddActionButton.tsx
deleted file mode 100644
index 1539ac08..00000000
--- a/client/components/proposal/ProposalAddActionButton.tsx
+++ /dev/null
@@ -1,23 +0,0 @@
-export const ProposalAddActionButton = ({
- className = "btn btn-primary btn-sm",
- onClick,
-}) => {
- return (
-
-
-
-
- New Action
-
- );
-};
diff --git a/client/components/proposal/ProposalDetail.tsx b/client/components/proposal/ProposalDetail.tsx
deleted file mode 100644
index df555738..00000000
--- a/client/components/proposal/ProposalDetail.tsx
+++ /dev/null
@@ -1,250 +0,0 @@
-import { ethers, BigNumber } from "ethers";
-import { useState, useEffect } from "react";
-import { Loading } from "components/Loading";
-import { ProposalActionsTable } from "components/proposal/ProposalActionsTable";
-import { ProposalVoteStats } from "components/proposal/ProposalVoteStats";
-import { ProposalParameters } from "components/proposal/ProposalParameters";
-import { SectionTitle } from "components/SectionTitle";
-import CardGroup from "components/CardGroup";
-import Card from "components/Card";
-import { useStore } from "utils/store";
-import { toast } from "react-toastify";
-import useShowDelegationModalOption from "utils/useShowDelegationModalOption";
-import { EnsureDelegationModal } from "components/proposal/EnsureDelegationModal";
-import { getCleanProposalContent } from "utils/index";
-import { Address } from "components/Address";
-import { SupportTable } from "./SupportTable";
-import { StateTag } from "./StateTag";
-import { ProposalHistory } from "./ProposalHistory";
-import moment from "moment";
-import RegisterToVote from "components/proposal/RegisterToVote";
-import { useAccount, useSigner } from "wagmi";
-
-export const ProposalDetail = ({
- id,
- proposalId,
- createdAt,
- description,
- voters,
- transactions,
-}: {
- id: string;
- proposalId: string;
- createdAt: string;
- description: string;
- voters: Array;
- transactions: Array;
-}) => {
- const { address } = useAccount();
- const { data: signer } = useSigner();
- const { contracts, pendingTransactions, rpcProvider } = useStore();
- const [proposalActions, setProposalActions] = useState(null);
- const { showModalIfApplicable } = useShowDelegationModalOption();
- const [proposal, setProposal] = useState(null);
- const [proposalState, setProposalState] = useState(null);
- const [quorum, setQuorum] = useState(0);
- const [reloadProposal, setReloadProposal] = useState(false);
- const [votePower, setVotePower] = useState(ethers.BigNumber.from(0));
- const [hasVoted, setHasVoted] = useState(false);
- const [forVoters, setForVoters] = useState([]);
- const [againstVoters, setAgainstVoters] = useState([]);
- const [blockNumber, setBlockNumber] = useState(0);
- const { Governance } = contracts;
- const { cleanTitle, cleanDescription } = getCleanProposalContent(description);
-
- useEffect(() => {
- const getBlockNumber = async () => {
- const blockNumber = await rpcProvider.getBlockNumber();
- setBlockNumber(parseInt(blockNumber));
- };
- if (rpcProvider) {
- getBlockNumber();
- }
- }, [rpcProvider]);
-
- useEffect(() => {
- const loadVoters = async () => {
- const receipts = await Promise.all(
- voters.map((voter) => Governance.getReceipt(proposalId, voter.address))
- );
-
- const enrichedVoters = voters.map((voter, index) => {
- return {
- ...voter,
- votes: receipts[index].votes,
- support: receipts[index].support,
- };
- });
-
- setForVoters(enrichedVoters.filter((voter) => voter.support === 1));
- setAgainstVoters(enrichedVoters.filter((voter) => voter.support === 0));
- };
-
- if (voters && Governance) {
- loadVoters();
- }
- }, [proposalId, Governance, voters]);
-
- const totalForVotes = forVoters.reduce(
- (total: BigNumber, voter) => total.add(voter.votes),
- BigNumber.from(0)
- );
- const totalAgainstVotes = againstVoters.reduce(
- (total: BigNumber, voter) => total.add(voter.votes),
- BigNumber.from(0)
- );
- const totalVotes = totalForVotes.add(totalAgainstVotes);
-
- useEffect(() => {
- const loadProposal = async () => {
- setProposalActions(await Governance.getActions(proposalId));
- setProposal(await Governance.proposals(proposalId));
- setProposalState(await Governance.state(proposalId));
- };
- if (proposalId && Governance) {
- loadProposal();
- }
- }, [proposalId, Governance, reloadProposal]);
-
- useEffect(() => {
- const loadVotePower = async () => {
- setVotePower(await Governance.getVotes(address, proposal.startBlock));
- };
- if (address && proposal && Governance) {
- loadVotePower();
- }
- }, [address, proposal, Governance]);
-
- useEffect(() => {
- const loadHasVoted = async () => {
- setHasVoted(await Governance.hasVoted(proposalId, address));
- };
- if (address && proposal && Governance) {
- loadHasVoted();
- }
- }, [address, proposal, Governance, proposalId, reloadProposal]);
-
- useEffect(() => {
- const loadQuorum = async () => {
- setQuorum(await Governance.quorum(proposal.startBlock));
- };
- if (proposal && Governance && blockNumber > parseInt(proposal.startBlock)) {
- loadQuorum();
- }
- }, [proposal, Governance, proposalId, reloadProposal, blockNumber]);
-
- if (proposal === null || proposalActions === null) return ;
-
- const handleVote = async (support: Number) => {
- // showing delegation modal quits flow
- if (showModalIfApplicable()) {
- return;
- }
-
- const transaction = await Governance.connect(signer).castVote(
- proposalId,
- support
- );
-
- useStore.setState({
- pendingTransactions: [
- ...pendingTransactions,
- {
- ...transaction,
- onComplete: () => {
- toast.success("Vote has been submitted", {
- hideProgressBar: true,
- });
- setReloadProposal(!reloadProposal);
- },
- },
- ],
- });
- };
-
- const lastTx = transactions[transactions.length - 1];
-
- return (
- <>
-
-
-
-
-
-
- {id.toString().padStart(3, "0")}
- {lastTx &&
- ` • ${lastTx?.event} ${moment(lastTx?.createdAt).format(
- "MMM D, YYYY"
- )}`}{" "}
- • Proposed by
-
-
-
-
-
-
-
-
-
-
- For
-
-
-
-
- Against
-
-
-
-
-
-
-
- {cleanDescription && (
-
- )}
-
-
-
-
-
-
-
-
- >
- );
-};
diff --git a/client/components/proposal/ProposalHistory.tsx b/client/components/proposal/ProposalHistory.tsx
deleted file mode 100644
index 5a70af53..00000000
--- a/client/components/proposal/ProposalHistory.tsx
+++ /dev/null
@@ -1,80 +0,0 @@
-import { FunctionComponent } from "react";
-import Card from "components/Card";
-import { SectionTitle } from "components/SectionTitle";
-import { mdiCheck, mdiOpenInNew } from "@mdi/js";
-import moment from "moment";
-import classNames from "classnames";
-import { useStore } from "utils/store";
-import Link from "components/Link";
-import Icon from "@mdi/react";
-
-interface ProposalHistoryProps {
- transactions: Array;
-}
-
-const ProposalHistory: FunctionComponent = ({
- transactions,
-}) => {
- const { rpcProvider } = useStore();
-
- let explorerPrefix;
- if (rpcProvider?._network?.chainId === 1) {
- explorerPrefix = "https://etherscan.io/";
- } else if (rpcProvider?._network?.chainId === 5) {
- explorerPrefix = "https://goerli.etherscan.io/";
- }
-
- return (
-
- Proposal History
-
- {transactions.map((transaction) => {
- const isGrey =
- transaction.event !== "Succeeded" &&
- transaction.event !== "Queued" &&
- transaction.event !== "Executed";
-
- const iconClasses = classNames(
- "h-7 w-7 rounded-full text-white flex items-center justify-center",
- {
- "bg-gray-500": isGrey,
- "bg-success": !isGrey,
- }
- );
-
- return (
-
-
-
-
-
-
-
{transaction.event}
- {explorerPrefix && transaction.hash && (
-
-
-
- )}
-
-
- {moment(transaction.createdAt).format(
- "MMM D, YYYY, HH:mm:ss"
- )}
-
-
-
- );
- })}
-
-
- );
-};
-
-export { ProposalHistory };
diff --git a/client/components/proposal/ProposalParameters.tsx b/client/components/proposal/ProposalParameters.tsx
deleted file mode 100644
index 0d847e0e..00000000
--- a/client/components/proposal/ProposalParameters.tsx
+++ /dev/null
@@ -1,30 +0,0 @@
-import TokenAmount from "components/TokenAmount";
-import { useFutureBlockTime } from "utils/useFutureBlockTime";
-import { toDaysMinutesSeconds } from "utils/index";
-
-export const ProposalParameters = ({ proposal, state, quorum }) => {
- const endBlockTimestamp = useFutureBlockTime(proposal.endBlock);
-
- return (
-
-
-
- {state === 1 && endBlockTimestamp !== 0 && (
-
-
Time Left
-
- {toDaysMinutesSeconds(endBlockTimestamp)}
-
-
- )}
-
-
Quorum
-
-
-
-
-
-
-
- );
-};
diff --git a/client/components/proposal/ProposalTable.tsx b/client/components/proposal/ProposalTable.tsx
deleted file mode 100644
index 58608b65..00000000
--- a/client/components/proposal/ProposalTable.tsx
+++ /dev/null
@@ -1,101 +0,0 @@
-import { useRouter } from "next/router";
-import { FunctionComponent } from "react";
-import { Loading } from "components/Loading";
-import { StateTag } from "components/proposal/StateTag";
-import { getCleanProposalContent } from "utils/index";
-import moment from "moment";
-import { SectionTitle } from "components/SectionTitle";
-import RegisterToVote from "components/proposal/RegisterToVote";
-
-interface ProposalTableProps {
- proposalData: Array;
- title?: string;
-}
-
-const ProposalTable: FunctionComponent = ({
- proposalData,
- title,
-}) => {
- const router = useRouter();
-
- if (!proposalData || proposalData?.loading) return ;
-
- if (proposalData.proposals.length === 0) {
- return (
- <>
-
- {title && {title} }
-
-
-
-
-
- No proposals have been created
-
-
- >
- );
- }
-
- return (
- <>
-
- {title && {title} }
-
-
-
- {proposalData.proposals?.map((proposal, index) => {
- const { cleanTitle } = getCleanProposalContent(
- proposal.description
- );
- const id = proposal.displayId?.toString().padStart(3, "0");
- const lastTx =
- proposal.transactions?.[proposal.transactions?.length - 1];
-
- return (
- router.push(`/proposals/${proposal["0"]}`)}
- >
-
-
-
-
- {id} •{" "}
- {lastTx &&
- `${lastTx?.event} ${moment(lastTx?.createdAt).format(
- "MMM D, YYYY"
- )}`}
-
-
-
-
-
-
-
- );
- })}
-
-
-
- >
- );
-};
-
-export { ProposalTable };
diff --git a/client/components/proposal/ProposalVoteStats.tsx b/client/components/proposal/ProposalVoteStats.tsx
deleted file mode 100644
index 799b3728..00000000
--- a/client/components/proposal/ProposalVoteStats.tsx
+++ /dev/null
@@ -1,106 +0,0 @@
-import CardGroup from "components/CardGroup";
-import Card from "components/Card";
-import CardLabel from "components/CardLabel";
-import CardStat from "components/CardStat";
-import TokenAmount from "components/TokenAmount";
-import TokenIcon from "components/TokenIcon";
-import DisabledButtonTooltip from "components/DisabledButtonTooltip";
-import { BigNumber } from "ethers";
-export const ProposalVoteStats = ({
- proposal,
- votePower,
- onVote,
- hasVoted,
- votingActive,
-}) => {
- let tooltipText = "";
- if (BigNumber.isBigNumber(votePower) && !votePower.gt(0)) {
- tooltipText = "You don't have enough votes";
- } else if (hasVoted) {
- tooltipText = "You've already voted";
- }
-
- const showTooltip = !votePower.gt(0) || hasVoted;
-
- return (
-
-
-
-
Your Votes
-
-
-
-
-
-
-
-
-
-
-
For Votes
-
-
-
-
-
-
-
- {votingActive && (
-
- onVote(1)}
- >
- Vote For
-
-
- )}
-
-
-
-
Against Votes
-
-
-
-
-
-
-
- {votingActive && (
-
- onVote(0)}
- >
- Vote Against
-
-
- )}
-
-
-
-
Abstain Votes
-
-
-
-
-
-
-
- {votingActive && (
-
- onVote(2)}
- >
- Abstain
-
-
- )}
-
-
- );
-};
diff --git a/client/components/proposal/Reallocation.tsx b/client/components/proposal/Reallocation.tsx
deleted file mode 100644
index 95909d5a..00000000
--- a/client/components/proposal/Reallocation.tsx
+++ /dev/null
@@ -1,359 +0,0 @@
-import { ethers, BigNumber } from "ethers";
-import { useEffect, useMemo, useState, FunctionComponent } from "react";
-import { useStore } from "utils/store";
-import { truncateBalance, inputToBigNumber } from "utils/index";
-import { toast } from "react-toastify";
-import useShowDelegationModalOption from "utils/useShowDelegationModalOption";
-import { EnsureDelegationModal } from "components/proposal/EnsureDelegationModal";
-import { useRouter } from "next/router";
-import { SubmitProposalButton } from "components/proposal/SubmitProposalButton";
-
-interface ReallocationProps {
- proposalDetails: string;
-}
-
-const Reallocation: FunctionComponent = ({
- proposalDetails,
-}) => {
- const router = useRouter();
- const { contracts, pendingTransactions } = useStore();
- const { showModalIfApplicable } = useShowDelegationModalOption();
- const [fromStrategy, setFromStrategy] = useState("");
- const [toStrategy, setToStrategy] = useState("");
- const [daiAmount, setDaiAmount] = useState(BigNumber.from(0));
- const [usdcAmount, setUsdcAmount] = useState(BigNumber.from(0));
- const [usdtAmount, setUsdtAmount] = useState(BigNumber.from(0));
- const [maxLoss, setMaxLoss] = useState(ethers.utils.parseUnits("100", 18));
- const amounts = [daiAmount, usdcAmount, usdtAmount];
-
- const assets = useMemo(
- () => [
- {
- symbol: "DAI",
- decimals: 18,
- address: "0x6B175474E89094C44Da98b954EedeAC495271d0F",
- },
- {
- symbol: "USDC",
- decimals: 6,
- address: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
- },
- {
- symbol: "USDT",
- decimals: 6,
- address: "0xdAC17F958D2ee523a2206206994597C13D831ec7",
- },
- ],
- []
- );
-
- const {
- ProxiedAaveStrategy,
- ProxiedCompoundStrategy,
- ProxiedConvexStrategy,
- proxiedContracts,
- strategies,
- } = useMemo(() => {
- if (!contracts.loaded) {
- return {};
- }
-
- const ProxiedAaveStrategy = new ethers.Contract(
- contracts.AaveStrategyProxy.address,
- contracts.AaveStrategy.interface.fragments,
- contracts.AaveStrategy.provider
- );
- const ProxiedCompoundStrategy = new ethers.Contract(
- contracts.CompoundStrategyProxy.address,
- contracts.CompoundStrategy.interface.fragments,
- contracts.CompoundStrategy.provider
- );
- const ProxiedConvexStrategy = new ethers.Contract(
- contracts.ConvexStrategyProxy.address,
- contracts.ConvexStrategy.interface.fragments,
- contracts.ConvexStrategy.provider
- );
-
- const proxiedContracts = [
- ProxiedAaveStrategy,
- ProxiedCompoundStrategy,
- ProxiedConvexStrategy,
- ];
-
- return {
- ProxiedAaveStrategy,
- ProxiedCompoundStrategy,
- ProxiedConvexStrategy,
- proxiedContracts,
- strategies: [
- { name: "Aave", address: contracts.AaveStrategyProxy.address },
- { name: "Compound", address: contracts.CompoundStrategyProxy.address },
- { name: "Convex", address: contracts.ConvexStrategyProxy.address },
- ],
- };
- }, [contracts]);
-
- const { proposalActions, proposal, handleSubmit } = useMemo(() => {
- let proposalActions = [];
-
- if (toStrategy !== "" && fromStrategy !== "") {
- proposalActions = proposalActions.concat([
- {
- target: contracts.VaultValueChecker.address.toLowerCase(),
- value: BigNumber.from("0"),
- signature: "takeSnapshot()",
- calldata: "0x",
- },
- ]);
-
- proposalActions = proposalActions.concat(
- assets
- .map((asset, i) => {
- if (toStrategy === "" || fromStrategy === "") {
- return;
- }
- const amount = amounts[i];
- if (amount.gt(0)) {
- const fromContract = proxiedContracts.find(
- (c) => c.address === fromStrategy
- );
- if (fromContract === undefined) return;
- return {
- target: fromStrategy.toLowerCase(),
- value: BigNumber.from("0"),
- signature: "withdraw(address,address,uint256)",
- calldata: fromContract.interface.encodeFunctionData(
- fromContract.interface.functions[
- "withdraw(address,address,uint256)"
- ],
- [toStrategy, asset.address, amount]
- ),
- };
- }
- })
- .filter((a) => a !== undefined)
- );
-
- proposalActions = proposalActions.concat([
- {
- target: contracts.VaultValueChecker.address.toLowerCase(),
- value: BigNumber.from("0"),
- signature: "checkLoss(int256)",
- calldata: contracts.VaultValueChecker.interface.encodeFunctionData(
- contracts.VaultValueChecker.interface.functions[
- "checkLoss(int256)"
- ],
- [maxLoss]
- ),
- },
- ]);
- }
-
- const proposal = {
- targets: proposalActions.map((p) => p.target),
- values: proposalActions.map((p) => p.value),
- signatures: proposalActions.map((p) => p.signature),
- calldatas: proposalActions.map((p) => p.calldata),
- };
-
- const handleSubmit = async () => {
- // showing delegation modal quits flow
- if (showModalIfApplicable()) {
- return;
- }
-
- const transaction = await contracts.Governance[
- "propose(address[],uint256[],string[],bytes[],string)"
- ](
- proposal.targets,
- proposal.values,
- proposal.signatures,
- proposal.calldatas,
- proposalDetails.replace(/\n/g, " \n")
- );
-
- useStore.setState({
- pendingTransactions: [
- ...pendingTransactions,
- {
- ...transaction,
- onComplete: () => {
- toast.success("Proposal has been submitted", {
- hideProgressBar: true,
- });
- router.push(`/proposals`);
- reset();
- },
- },
- ],
- });
- };
-
- return {
- proposalActions,
- proposal,
- handleSubmit,
- };
- }, [contracts, toStrategy, fromStrategy, amounts, maxLoss]);
-
- const reset = () => {
- setFromStrategy("");
- setToStrategy("");
- setDaiAmount(BigNumber.from(0));
- setUsdcAmount(BigNumber.from(0));
- setUsdtAmount(BigNumber.from(0));
- };
-
- return (
- <>
-
-
-
-
-
- Aave
- Compound
- Convex
-
-
-
- {assets.map((asset, i) => (
-
- ))}
-
-
-
-
-
-
-
-
- From
-
- setFromStrategy(e.target.value)}
- >
-
- Strategy to reallocate from
-
- {strategies &&
- strategies.map((strategy) => (
-
- {strategy.name}
-
- ))}
-
-
-
-
- To
-
- setToStrategy(e.target.value)}
- >
-
- Strategy to reallocate to
-
- {strategies &&
- strategies.map((strategy) => (
-
- {strategy.name}
-
- ))}
-
-
-
-
- Max Loss
-
- {
- setMaxLoss(inputToBigNumber(e.target.value, 18));
- }}
- />
-
-
-
- {assets.map((asset) => (
-
-
- {asset.symbol}
-
- {
- if (asset.symbol === "DAI") {
- setDaiAmount(inputToBigNumber(e.target.value, 18));
- } else if (asset.symbol === "USDC") {
- setUsdcAmount(inputToBigNumber(e.target.value, 6));
- } else if (asset.symbol === "USDT") {
- setUsdtAmount(inputToBigNumber(e.target.value, 6));
- }
- }}
- />
-
- ))}
-
-
-
-
-
-
-
- >
- );
-};
-
-const StrategyBalanceRow = ({
- asset,
- proxiedContracts,
-}: {
- asset: Object;
- proxiedContracts: Array;
-}) => {
- const [balances, setBalances] = useState([]);
-
- useEffect(() => {
- const loadBalances = async () => {
- setBalances(
- await Promise.all(
- proxiedContracts.map((contract) =>
- contract.checkBalance(asset.address)
- )
- )
- );
- };
- loadBalances();
- }, [asset, proxiedContracts]);
-
- const { symbol, decimals } = asset;
-
- return (
-
- {symbol}
- {balances.map((balance, i) => (
-
- {truncateBalance(ethers.utils.formatUnits(balance, decimals))}
-
- ))}
-
- );
-};
-
-export { Reallocation };
diff --git a/client/components/proposal/RegisterToVote.tsx b/client/components/proposal/RegisterToVote.tsx
deleted file mode 100644
index 8177ef1d..00000000
--- a/client/components/proposal/RegisterToVote.tsx
+++ /dev/null
@@ -1,141 +0,0 @@
-import { FunctionComponent, useState } from "react";
-import Button from "components/Button";
-import { useStore } from "utils/store";
-import useShowDelegationModalOption from "utils/useShowDelegationModalOption";
-import { toast } from "react-toastify";
-import Card from "components/Card";
-import Link from "components/Link";
-import classNames from "classnames";
-
-interface RegisterToVoteProps {
- withCard?: Boolean;
- singleView?: Boolean;
- whiteRegisterCta?: Boolean;
- // show error message when user has no veOgv yet and hasn't delegated
- showNoVeOgvMessage?: Boolean;
-}
-
-const RegisterToVote: FunctionComponent = ({
- withCard,
- singleView,
- showNoVeOgvMessage,
- whiteRegisterCta,
-}) => {
- const { contracts, address, balances, pendingTransactions } = useStore();
- const { veOgv } = balances;
- const [registerStatus, setRegisterStatus] = useState("ready");
- const { needToShowDelegation } = useShowDelegationModalOption();
-
- let registerButtonText = "";
- if (registerStatus === "ready") {
- registerButtonText = "Register to Vote";
- } else if (registerStatus === "waiting-for-user") {
- registerButtonText = "Confirm transaction";
- } else if (registerStatus === "waiting-for-network") {
- registerButtonText = "Waiting to be mined";
- }
-
- const handleRegistration = async () => {
- setRegisterStatus("waiting-for-user");
- try {
- const transaction = await contracts.OgvStaking.delegate(address);
- setRegisterStatus("waiting-for-network");
-
- useStore.setState({
- pendingTransactions: [
- ...pendingTransactions,
- {
- ...transaction,
- onComplete: () => {
- toast.success("You've registered to vote", {
- hideProgressBar: true,
- }),
- setRegisterStatus("ready");
- useStore.setState({ ogvDelegateeAddress: address });
- },
- },
- ],
- });
- } catch (e) {
- setRegisterStatus("ready");
- }
- };
-
- const hasTokensButUnregistered = veOgv.gt(0) && needToShowDelegation;
- const hasNoTokensAndUnregistered = veOgv.eq(0) && needToShowDelegation;
-
- const classes = classNames(
- "bg-accent text-white -my-10 -mx-6 p-10 md:-mx-10",
- {
- "bg-accent text-white": !whiteRegisterCta,
- "bg-white text-black": whiteRegisterCta,
- }
- );
-
- const RegisterCta = () => (
-
-
-
Governance Information
-
- {singleView && (
- <>
- Sorry, you weren't registered in time to vote on this
- proposal.
- >
- )}{" "}
- Please register to participate in governance for future proposals. You
- won't be able to vote on a proposal with your veOGV until you do.
-
-
- {registerButtonText}
-
-
-
- );
-
- const VeOgvMessage = () => (
-
-
-
Stake OGV
-
- First stake some OGV and gain veOGV to be eligible for voting
-
-
- Stake
-
-
-
- );
-
- if (showNoVeOgvMessage && hasNoTokensAndUnregistered) {
- return (
-
-
-
- );
- }
-
- if (!hasTokensButUnregistered) {
- return null;
- }
-
- if (withCard) {
- return (
-
-
-
- );
- }
-
- return ;
-};
-
-export default RegisterToVote;
diff --git a/client/components/proposal/StateTag.tsx b/client/components/proposal/StateTag.tsx
deleted file mode 100644
index cfcb34f7..00000000
--- a/client/components/proposal/StateTag.tsx
+++ /dev/null
@@ -1,37 +0,0 @@
-import classnames from "classnames";
-import { ReactNode } from "react";
-
-type StateBadgeProps = {
- className: string;
- children: ReactNode;
-};
-
-const StateBadge = ({ className, children }: StateBadgeProps) => (
-
- {children}
-
-);
-
-export const StateTag = ({ state }: { state: number }) => {
- return (
- <>
- {state == 0 && Pending }
- {state == 1 && Active }
- {state == 2 && Cancelled }
- {state == 3 && Defeated }
- {state == 4 && (
- Succeeded
- )}
- {state == 5 && Queued }
- {state == 6 && Expired }
- {state == 7 && (
- Executed
- )}
- >
- );
-};
diff --git a/client/components/proposal/SubmitProposalButton.tsx b/client/components/proposal/SubmitProposalButton.tsx
deleted file mode 100644
index dd27b1a3..00000000
--- a/client/components/proposal/SubmitProposalButton.tsx
+++ /dev/null
@@ -1,38 +0,0 @@
-import { ethers } from "ethers";
-import useGovernance from "utils/useGovernance";
-import { truncateBalance } from "utils/index";
-import Card from "components/Card";
-
-export const SubmitProposalButton = ({ className, disabled, onClick }) => {
- const { proposalThreshold, votePower } = useGovernance();
-
- const votingPowerBelowThreshold = votePower.lt(proposalThreshold);
-
- return (
-
- {votingPowerBelowThreshold && (
-
-
-
- Minimum required vote power for a proposal is{" "}
- {ethers.utils.formatUnits(proposalThreshold)} votes.
-
- You have {truncateBalance(
- ethers.utils.formatUnits(votePower)
- )}{" "}
- votes.
-
-
-
- )}
-
-
- Submit Proposal
-
-
- );
-};
diff --git a/client/components/proposal/SupportTable.tsx b/client/components/proposal/SupportTable.tsx
deleted file mode 100644
index 6a4bb235..00000000
--- a/client/components/proposal/SupportTable.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-import { FunctionComponent } from "react";
-import { Address } from "components/Address";
-import TokenAmount from "components/TokenAmount";
-import { ethers, BigNumberish, BigNumber } from "ethers";
-
-interface SupportTableProps {
- voters: Array;
-}
-
-const SupportTable: FunctionComponent = ({ voters }) => {
- return (
-
-
-
- Address
- Votes
-
-
-
- {voters.map((voter) => {
- let votesBn;
- try {
- votesBn = BigNumber.from(voter.votes);
- } catch (e) {
- return (
-
-
-
-
-
- -
-
-
- );
- }
-
- return (
-
-
-
-
-
-
-
-
- );
- })}
-
- {voters.length < 1 && (
-
-
- -
-
- -
-
- )}
-
-
- );
-};
-
-export { SupportTable };
diff --git a/client/components/vote-escrow/AccountBalances.tsx b/client/components/vote-escrow/AccountBalances.tsx
deleted file mode 100644
index 61f41a46..00000000
--- a/client/components/vote-escrow/AccountBalances.tsx
+++ /dev/null
@@ -1,81 +0,0 @@
-import { FunctionComponent } from "react";
-import CardGroup from "components/CardGroup";
-import Card from "components/Card";
-import CardLabel from "components/CardLabel";
-import CardStat from "components/CardStat";
-import CardDescription from "components/CardDescription";
-import TokenIcon from "components/TokenIcon";
-import TokenAmount from "components/TokenAmount";
-import { useStore } from "utils/store";
-import { ethers } from "ethers";
-
-interface AccountBalancesProps {}
-
-const AccountBalances: FunctionComponent = () => {
- const { balances, lockups } = useStore();
- const { ogv, veOgv, accruedRewards } = balances;
-
- const totalOgvLockedUp =
- lockups &&
- lockups.length > 0 &&
- lockups.reduce((total: ethers.BigNumber, lockup) => {
- return total.add(lockup.amount);
- }, ethers.BigNumber.from("0"));
-
- return (
- <>
-
-
-
-
Balance
-
-
-
-
-
-
-
OGV
-
-
-
-
-
Staked
-
-
-
-
-
-
-
OGV
-
-
-
-
-
Vote Balance
-
-
-
-
-
-
-
veOGV
-
-
-
-
-
Accrued Rewards
-
-
-
-
-
-
-
OGV
-
-
-
- >
- );
-};
-
-export default AccountBalances;
diff --git a/client/components/vote-escrow/LockupForm.tsx b/client/components/vote-escrow/LockupForm.tsx
deleted file mode 100644
index 77bedc93..00000000
--- a/client/components/vote-escrow/LockupForm.tsx
+++ /dev/null
@@ -1,601 +0,0 @@
-import { FunctionComponent } from "react";
-import { ethers } from "ethers";
-import { useState, useEffect } from "react";
-import { useRouter } from "next/router";
-import { useStore } from "utils/store";
-import Card from "components/Card";
-import { toast } from "react-toastify";
-import useAccountBalances from "utils/useAccountBalances";
-import RangeInput from "components/RangeInput";
-import useLockups from "utils/useLockups";
-import useTotalBalances from "utils/useTotalBalances";
-import LockupTable from "components/vote-escrow/LockupTable";
-import { SECONDS_IN_A_MONTH } from "../../constants/index";
-import TokenIcon from "components/TokenIcon";
-import TokenAmount from "components/TokenAmount";
-import CardStat from "components/CardStat";
-import CardDescription from "components/CardDescription";
-import CardGroup from "components/CardGroup";
-import moment from "moment";
-import { mdiInformationOutline as InfoIcon } from "@mdi/js";
-import Icon from "@mdi/react";
-import ApyToolTip from "components/claim/claim/ApyTooltip";
-import numeral from "numeraljs";
-import { decimal18Bn } from "utils";
-import useStakingAPY from "utils/useStakingAPY";
-import classnames from "classnames";
-import { useSigner } from "wagmi";
-
-interface LockupFormProps {
- existingLockup?: Object;
-}
-
-const lockupAmountInputMarkers = [
- {
- label: "0%",
- value: 0,
- },
- {
- label: "",
- value: 0,
- },
- {
- label: "20%",
- value: 20,
- },
- {
- label: "",
- value: 0,
- },
- {
- label: "40%",
- value: 40,
- },
- {
- label: "",
- value: 0,
- },
- {
- label: "60%",
- value: 60,
- },
- {
- label: "",
- value: 0,
- },
- {
- label: "80%",
- value: 80,
- },
- {
- label: "",
- value: 0,
- },
- {
- label: "100%",
- value: 100,
- },
-];
-const lockupDurationInputMarkers = [
- {
- label: "0",
- value: 0,
- },
- {
- label: "",
- value: 0,
- },
- {
- label: "1 yr",
- value: 12,
- },
- {
- label: "",
- value: 0,
- },
- {
- label: "2 yrs",
- value: 24,
- },
- {
- label: "",
- value: 0,
- },
- {
- label: "3 yrs",
- value: 36,
- },
- {
- label: "",
- value: 0,
- },
- {
- label: "4 yrs",
- value: 48,
- },
-];
-
-const maxLockupDurationInMonths = 12 * 4;
-
-const LockupForm: FunctionComponent = ({ existingLockup }) => {
- const {
- contracts,
- rpcProvider,
- pendingTransactions,
- balances,
- allowances,
- blockTimestamp,
- } = useStore();
- const router = useRouter();
- const { data: signer } = useSigner();
-
- const [lockupAmount, setLockupAmount] = useState(
- existingLockup
- ? Math.floor(
- numeral(existingLockup?.amount.div(decimal18Bn).toString())
- ).toString()
- : "0"
- );
- const [lockupDuration, setLockupDuration] = useState(
- !existingLockup
- ? "0"
- : Math.floor((existingLockup.end - blockTimestamp) / SECONDS_IN_A_MONTH)
- ); // In months
-
- const {
- stakingAPY: ogvLockupRewardApy,
- loading: apyLoading,
- veOgvReceived: veOgvFromOgvLockup,
- } = useStakingAPY(lockupAmount, lockupDuration);
-
- const validLockup = lockupAmount !== "0" && lockupDuration !== "0";
-
- const [approvalStatus, setApprovalStatus] = useState("ready");
- const [lockupStatus, setLockupStatus] = useState("ready");
-
- let approvalButtonText = "";
- if (approvalStatus === "ready") {
- approvalButtonText = "Approve transfer";
- } else if (approvalStatus === "waiting-for-user") {
- approvalButtonText = "Confirm transaction";
- } else if (approvalStatus === "waiting-for-network") {
- approvalButtonText = "Waiting to be mined";
- }
-
- let buttonText = "";
- if (lockupStatus === "ready") {
- buttonText = existingLockup ? "Extend" : "Stake";
- } else if (lockupStatus === "waiting-for-user") {
- buttonText = "Confirm transaction";
- } else if (lockupStatus === "waiting-for-network") {
- buttonText = "Waiting to be mined";
- }
-
- const [lockupAmountError, setLockupAmountError] = useState("");
- const [lockupDurationError, setLockupDurationError] = useState("");
- const [transactionError, setTransactionError] = useState("");
-
- const { reloadTotalBalances } = useTotalBalances();
- const { reloadAccountAllowances, reloadAccountBalances } =
- useAccountBalances();
- const { reloadLockups } = useLockups();
-
- const formattedOgvBalance = Number(
- ethers.utils.formatUnits(balances.ogv.toString())
- )
- .toFixed()
- .toString();
-
- const actionDisabledNewLockup =
- lockupAmount === "0" ||
- lockupDuration === "0" ||
- ethers.utils.parseUnits(lockupAmount).gt(allowances.ogv) ||
- lockupStatus === "waiting-for-user" ||
- lockupStatus === "waiting-for-network" ||
- approvalStatus === "waiting-for-user" ||
- approvalStatus === "waiting-for-network";
-
- const actionDisabledExistingLockup =
- lockupDuration < 1 ||
- lockupDuration <=
- Math.floor((existingLockup?.end - blockTimestamp) / SECONDS_IN_A_MONTH) ||
- lockupStatus === "waiting-for-user" ||
- lockupStatus === "waiting-for-network" ||
- approvalStatus === "waiting-for-user" ||
- approvalStatus === "waiting-for-network";
-
- const validateForm = async () => {
- if (lockupDuration > maxLockupDurationInMonths) {
- setLockupDurationError(
- `Can not lockup for more than ${maxLockupDurationInMonths} months`
- );
- return false;
- }
-
- return true;
- };
-
- const handleApproval = async () => {
- setTransactionError("");
- setApprovalStatus("waiting-for-user");
-
- let transaction;
- try {
- transaction = await contracts.OriginDollarGovernance.connect(
- signer
- ).approve(contracts.OgvStaking.address, ethers.constants.MaxUint256, {
- gasLimit: 144300,
- });
- } catch (e) {
- setTransactionError("Error approving!");
- setApprovalStatus("ready");
- throw e;
- }
-
- setApprovalStatus("waiting-for-network");
-
- let receipt;
- try {
- receipt = await rpcProvider.waitForTransaction(transaction.hash);
- } catch (e) {
- setTransactionError("Error approving!");
- setApprovalStatus("ready");
- throw e;
- }
-
- if (receipt.status === 0) {
- setTransactionError("Error approving!");
- setApprovalStatus("ready");
- }
-
- useStore.setState({
- pendingTransactions: [
- ...pendingTransactions,
- {
- ...transaction,
- onComplete: () => {
- toast.success("Approval has been made", { hideProgressBar: true }),
- reloadAccountAllowances();
- setApprovalStatus("ready");
- },
- },
- ],
- });
- };
-
- const handleLockup = async () => {
- const valid = await validateForm();
-
- if (valid) {
- const duration = lockupDuration * SECONDS_IN_A_MONTH; // Months to seconds
- setTransactionError("");
- setLockupStatus("waiting-for-user");
-
- let transaction;
-
- // If lockup amount === 100% of the user's OGV balance then use the actual balance BigNumber
- let amountToStake = ethers.utils.parseUnits(lockupAmount);
-
- if (lockupAmount === formattedOgvBalance) {
- amountToStake = balances.ogv; // Prevents rounding
- }
-
- try {
- // Note: ~300k gas is used only when auto-delegation happens.
- // When the user has delegation set already, it'll be ~200k.
- const maxGasNeeded = 350000 * 1.2; // Adds a buffer
-
- const gasEstimate = await contracts.OgvStaking.connect(
- signer
- ).estimateGas["stake(uint256,uint256)"](amountToStake, duration);
-
- transaction = await contracts.OgvStaking.connect(signer)[
- "stake(uint256,uint256)"
- ](amountToStake, duration, {
- gasLimit: Math.max(Math.ceil(gasEstimate * 1.25), maxGasNeeded),
- });
- } catch (e) {
- setTransactionError("Error locking up!");
- setLockupStatus("ready");
- throw e;
- }
-
- setLockupStatus("waiting-for-network");
-
- let receipt;
- try {
- receipt = await rpcProvider.waitForTransaction(transaction.hash);
- } catch (e) {
- setTransactionError("Error locking up!");
- setLockupStatus("ready");
- throw e;
- }
-
- if (receipt.status === 0) {
- setTransactionError("Error locking up!");
- setLockupStatus("ready");
- }
-
- useStore.setState({
- pendingTransactions: [
- ...pendingTransactions,
- {
- ...transaction,
- onComplete: () => {
- toast.success("Lockup confirmed", {
- hideProgressBar: true,
- });
- reloadTotalBalances();
- reloadAccountBalances();
- reloadLockups();
- router.push(`/stake`);
- setLockupStatus("ready");
- },
- },
- ],
- });
- }
- };
-
- const handleExtend = async () => {
- const valid = await validateForm();
-
- if (valid) {
- const duration = lockupDuration * SECONDS_IN_A_MONTH; // Months to seconds
- setTransactionError("");
- setLockupStatus("waiting-for-user");
-
- let transaction;
- try {
- // Note: ~300k gas is used only when auto-delegation happens.
- // When the user has delegation set already, it'll be ~200k.
- const maxGasNeeded = 300000 * 1.2; // Adds a buffer
-
- const gasEstimate = await contracts.OgvStaking.connect(
- signer
- ).estimateGas["extend(uint256,uint256)"](
- existingLockup.lockupId,
- duration
- );
-
- transaction = await contracts.OgvStaking.connect(signer)[
- "extend(uint256,uint256)"
- ](existingLockup.lockupId, duration, {
- gasLimit: Math.max(Math.ceil(gasEstimate * 1.25), maxGasNeeded),
- });
- } catch (e) {
- setTransactionError("Error extending lockup!");
- setLockupStatus("ready");
- throw e;
- }
-
- setLockupStatus("waiting-for-network");
-
- let receipt;
- try {
- receipt = await rpcProvider.waitForTransaction(transaction.hash);
- } catch (e) {
- setTransactionError("Error extending lockup!");
- setLockupStatus("ready");
- throw e;
- }
-
- if (receipt.status === 0) {
- setTransactionError("Error extending lockup!");
- }
-
- useStore.setState({
- pendingTransactions: [
- ...pendingTransactions,
- {
- ...transaction,
- onComplete: () => {
- toast.success("Stake extended", {
- hideProgressBar: true,
- });
- reloadTotalBalances();
- reloadAccountBalances();
- reloadLockups();
- router.push(`/stake`);
- setLockupStatus("ready");
- },
- },
- ],
- });
- }
- };
-
- return (
-
-
- {!existingLockup ? (
-
{
- setLockupAmount(
- e.target.value === formattedOgvBalance
- ? ethers.utils.formatUnits(balances.ogv.toString())
- : e.target.value
- );
- }}
- markers={lockupAmountInputMarkers}
- onMarkerClick={(markerValue) => {
- if (markerValue) {
- setLockupAmount(
- ((formattedOgvBalance / 100) * markerValue).toString()
- );
- }
- }}
- />
- ) : (
-
- )}
- = 0 ? lockupDuration : 0}
- onChange={(e) => {
- setLockupDuration(e.target.value);
- }}
- markers={lockupDurationInputMarkers}
- onMarkerClick={(markerValue) => {
- if (markerValue) {
- setLockupDuration(markerValue);
- }
- }}
- hideLabelFormatting
- />
-
-
-
-
-
-
-
- {validLockup
- ? apyLoading
- ? "--.--"
- : ogvLockupRewardApy.toFixed(2)
- : (0.0).toFixed(2)}
-
- %
-
-
-
-
-
-
-
Your stake summary
-
-
-
Amount locked
-
-
-
-
-
-
-
- OGV
-
-
- Unlocks{" "}
- {moment(
- parseInt(blockTimestamp) * 1000 +
- lockupDuration * SECONDS_IN_A_MONTH * 1000
- ).format("MMM D, YYYY")}
-
-
-
-
-
-
-
- {transactionError && (
-
-
- {transactionError}
-
-
- )}
- {balances?.accruedRewards.gt(0) && (
-
-
-
-
-
- OGV rewards will be collected
-
-
- You have accrued{" "}
- { } OGV in
- staking rewards. This OGV will be transferred to your wallet
- immediately when you {existingLockup ? "extend" : "create"}{" "}
- your stake.
-
-
-
-
- )}
-
-
- {approvalButtonText}
-
-
- {buttonText}
-
-
-
-
- );
-};
-
-export default LockupForm;
diff --git a/client/components/vote-escrow/LockupTable.tsx b/client/components/vote-escrow/LockupTable.tsx
deleted file mode 100644
index 3e6a14ab..00000000
--- a/client/components/vote-escrow/LockupTable.tsx
+++ /dev/null
@@ -1,51 +0,0 @@
-import { FunctionComponent } from "react";
-import moment from "moment";
-import Card from "components/Card";
-import TokenAmount from "components/TokenAmount";
-import { Loading } from "components/Loading";
-import TimeToDate from "components/TimeToDate";
-
-interface LockupTableProps {
- lockup: Object;
-}
-
-const LockupTable: FunctionComponent = ({ lockup }) => {
- if (!lockup) {
- return (
-
-
-
- );
- }
-
- return (
-
-
-
- OGV
- Time remaining
- Lockup ends
- veOGV
-
-
-
-
-
-
-
-
-
-
-
- {moment.unix(lockup.end).format("MMM D, YYYY")}
-
-
-
-
-
-
-
- );
-};
-
-export default LockupTable;
diff --git a/client/components/vote-escrow/LockupsTable.tsx b/client/components/vote-escrow/LockupsTable.tsx
deleted file mode 100644
index 38d84ede..00000000
--- a/client/components/vote-escrow/LockupsTable.tsx
+++ /dev/null
@@ -1,194 +0,0 @@
-import { FunctionComponent, useState } from "react";
-import moment from "moment";
-import Card from "components/Card";
-import TokenAmount from "components/TokenAmount";
-import { Loading } from "components/Loading";
-import TimeToDate from "components/TimeToDate";
-import Link from "components/Link";
-import { useStore } from "utils/store";
-import useAccountBalances from "utils/useAccountBalances";
-import useTotalBalances from "utils/useTotalBalances";
-import useLockups from "utils/useLockups";
-import { toast } from "react-toastify";
-import Modal from "components/Modal";
-import { truncateEthAddress } from "utils";
-import EtherscanIcon from "components/EtherscanIcon";
-import ExternalLinkIcon from "../ExternalLinkIcon";
-import classnames from "classnames";
-import { useSigner } from "wagmi";
-
-const LockupsTable: FunctionComponent = () => {
- const { data: signer } = useSigner();
-
- const { lockups, pendingTransactions, contracts, blockTimestamp, chainId } =
- useStore();
-
- const { reloadTotalBalances } = useTotalBalances();
- const { reloadAccountBalances } = useAccountBalances();
- const { reloadLockups } = useLockups();
-
- const [showTxModal, setShowTxModal] = useState(false);
- const [modalLockup, setModalLockup] = useState(lockups[0]);
-
- if (!lockups) {
- return (
-
-
-
- );
- }
-
- const handleUnlock = async (lockupId) => {
- const gasLimit = await contracts.OgvStaking.connect(signer).estimateGas[
- "unstake(uint256)"
- ](lockupId);
-
- const transaction = await contracts.OgvStaking.connect(signer)[
- "unstake(uint256)"
- ](lockupId, { gasLimit });
-
- useStore.setState({
- pendingTransactions: [
- ...pendingTransactions,
- {
- ...transaction,
- onComplete: () => {
- toast.success("Lockup unstaked", {
- hideProgressBar: true,
- });
- reloadTotalBalances();
- reloadAccountBalances();
- reloadLockups();
- },
- },
- ],
- });
- };
-
- return (
- <>
-
-
-
- OGV
- Time remaining
- Lockup ends
- veOGV
-
-
-
- {lockups.length > 0 &&
- lockups.map((lockup) => {
- return (
- <>
-
-
-
-
-
-
-
-
- {moment.unix(lockup.end).format("MMM D, YYYY")}
-
-
-
-
-
-
- Extend
-
-
-
- handleUnlock(lockup.lockupId)}
- >
- Unstake
-
-
-
- {
- setModalLockup(lockup);
- setShowTxModal(true);
- }}
- >
-
-
-
-
- >
- );
- })}
-
-
- setShowTxModal(false)}
- showCloseIcon
- >
- Transaction history
-
-
-
- Transaction time
- Event
- Transaction hash
-
-
-
- {modalLockup.transactions &&
- modalLockup.transactions.length > 0 &&
- modalLockup.transactions.map((transaction) => {
- return (
-
-
- {moment(transaction.createdAt).format(
- "MMM D, YYYY, HH:mm:ss"
- )}
-
-
- {transaction.event}
-
-
-
-
- {truncateEthAddress(transaction.hash)}
-
-
-
-
-
- );
- })}
-
-
-
- >
- );
-};
-
-export default LockupsTable;
diff --git a/client/components/vote-escrow/YourLockups.tsx b/client/components/vote-escrow/YourLockups.tsx
deleted file mode 100644
index 568039f2..00000000
--- a/client/components/vote-escrow/YourLockups.tsx
+++ /dev/null
@@ -1,235 +0,0 @@
-import { FunctionComponent, useState } from "react";
-import dynamic from "next/dynamic";
-import { toast } from "react-toastify";
-import Image from "next/image";
-import { useAccount, useSigner } from "wagmi";
-import Card from "components/Card";
-import Link from "components/Link";
-import { SectionTitle } from "components/SectionTitle";
-import { useStore } from "utils/store";
-import { Loading } from "components/Loading";
-import useAccountBalances from "utils/useAccountBalances";
-import { Web3Button } from "components/Web3Button";
-import useStakingAPY from "utils/useStakingAPY";
-import DisabledButtonToolTip from "../DisabledButtonTooltip";
-
-interface YourLockupsProps {}
-
-const LockupsTable = dynamic(() => import("./LockupsTable"), {
- ssr: false,
-});
-
-const YourLockups: FunctionComponent = () => {
- const { isConnected } = useAccount();
- const {
- lockups,
- pendingTransactions,
- contracts,
- balances,
- totalBalances,
- rpcProvider,
- } = useStore();
- const { data: signer } = useSigner();
- const { ogv, accruedRewards } = balances;
- const { totalPercentageOfLockedUpOgv } = totalBalances;
- const { reloadAccountBalances } = useAccountBalances();
- const [collectRewardsStatus, setCollectRewardsStatus] = useState("ready");
-
- let collectRewardsButtonText = "";
- if (collectRewardsStatus === "ready") {
- collectRewardsButtonText = "Collect rewards";
- } else if (collectRewardsStatus === "waiting-for-user") {
- collectRewardsButtonText = "Confirm transaction";
- } else if (collectRewardsStatus === "waiting-for-network") {
- collectRewardsButtonText = "Waiting to be mined";
- }
-
- // Standard APY figure, assumes 100 OGV locked for max duration
- const { stakingAPY, loading: apyLoading } = useStakingAPY(100, 48);
-
- if (!lockups) {
- return (
-
-
-
- );
- }
-
- const handleCollectRewards = async () => {
- setCollectRewardsStatus("waiting-for-user");
-
- let transaction;
- try {
- transaction = await contracts.OgvStaking.connect(signer)[
- "collectRewards()"
- ]({
- gasLimit: 140000,
- });
- } catch (e) {
- setCollectRewardsStatus("ready");
- throw e;
- }
-
- setCollectRewardsStatus("waiting-for-network");
-
- let receipt;
- try {
- receipt = await rpcProvider.waitForTransaction(transaction.hash);
- } catch (e) {
- setCollectRewardsStatus("ready");
- throw e;
- }
-
- if (receipt.status === 0) {
- setCollectRewardsStatus("ready");
- }
-
- useStore.setState({
- pendingTransactions: [
- ...pendingTransactions,
- {
- ...transaction,
- onComplete: () => {
- if (receipt.status === 0) {
- toast.error("Error collecting rewards", {
- hideProgressBar: true,
- });
- } else {
- toast.success("Rewards collected", {
- hideProgressBar: true,
- });
- }
- setCollectRewardsStatus("ready");
- reloadAccountBalances();
- },
- },
- ],
- });
- };
-
- return (
-
-
-
-
-
-
- {totalPercentageOfLockedUpOgv.toFixed(2)}%
- {" "}
- of all OGV is currently staked
-
-
- OGV stakers earn{" "}
-
- {apyLoading ? "--.--" : stakingAPY.toFixed(2)}%
- {" "}
- variable APY
-
-
-
-
- {lockups.length > 0 && (
- <>
- Your stakes
-
- >
- )}
- {!(ogv.eq(0) && lockups.length === 0) && (
-
-
-
-
- {lockups.length > 0
- ? "Create a new stake"
- : "Stake your OGV now"}
-
-
-
-
-
-
- {collectRewardsButtonText}
-
-
-
-
- )}
- {ogv.eq(0) && lockups.length === 0 && (
-
-
- OGV is available on many top exchanges
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {isConnected ? (
-
- Buy OGV
-
- ) : (
-
- )}
-
- )}
-
- );
-};
-
-export default YourLockups;
diff --git a/client/constants/index.ts b/client/constants/index.ts
deleted file mode 100644
index 019a41f6..00000000
--- a/client/constants/index.ts
+++ /dev/null
@@ -1,68 +0,0 @@
-import LocalGovernanceContracts from "../networks/governance.localhost.json";
-import GoerliGovernanceContracts from "../networks/governance.goerli.json";
-import MainnetGovernanceContracts from "../networks/governance.mainnet.json";
-import { governanceEnabled } from "utils";
-
-export const mainnetNetworkUrl = process.env.WEB3_PROVIDER;
-export const goerliNetworkUrl = process.env.WEB3_PROVIDER;
-
-export const websocketProvider = process.env.WEB3_PROVIDER?.replace(
- "http",
- "ws"
-);
-
-export const ZERO_ADDRESS = "0x0000000000000000000000000000000000000000";
-
-export const RPC_URLS = {
- 1: mainnetNetworkUrl,
- 5: goerliNetworkUrl,
- 31337: "http://localhost:8545",
-};
-
-export const CHAIN_CONTRACTS = {
- 1: MainnetGovernanceContracts,
- 5: GoerliGovernanceContracts,
- 31337:
- process.env.FORK === "true"
- ? MainnetGovernanceContracts
- : LocalGovernanceContracts,
-};
-
-let navItems = [
- {
- href: "/stake",
- label: "Stake",
- },
- {
- href: "https://app.uniswap.org/#/swap?outputCurrency=0x9c354503C38481a7A7a51629142963F98eCC12D0&chain=mainnet",
- label: "Buy OGV",
- external: true,
- },
- {
- href: "https://app.oeth.com",
- label: "Get OETH",
- external: true,
- },
- {
- href: "https://app.ousd.com",
- label: "Get OUSD",
- external: true,
- },
-];
-
-if (governanceEnabled()) {
- navItems = [
- {
- href: "/proposals",
- label: "Proposals",
- },
- ...navItems,
- ];
-}
-
-export { navItems };
-
-// daysPerAverageYear * hoursPerDay * minutesPerHour * secondsPerMinute / monthsPerYear = secondsPerMonth
-export const SECONDS_IN_A_MONTH = 2629800; // 365.25 * (24 * 60 * 60) / 12
-
-export const ETHERSCAN_API_KEY = process.env.ETHERSCAN_API_KEY || "";
diff --git a/client/lib/gtm.ts b/client/lib/gtm.ts
deleted file mode 100644
index 4ab77e10..00000000
--- a/client/lib/gtm.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-export const GTM_ID = process.env.GOOGLE_TAG_MANAGER_ID;
-
-type WindowWithDataLayer = Window & {
- dataLayer: Record[];
-};
-
-declare const window: WindowWithDataLayer;
-
-export const pageview = () => {
- window?.dataLayer?.push({
- event: "pageview",
- pageUrl: window.location.href,
- pageTitle: document.title,
- });
-};
diff --git a/client/lib/prisma.ts b/client/lib/prisma.ts
deleted file mode 100644
index 7a70fdc3..00000000
--- a/client/lib/prisma.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import { PrismaClient, Prisma } from "prisma/prisma-client";
-
-let prisma: PrismaClient;
-
-if (process.env.NODE_ENV === "production") {
- prisma = new PrismaClient();
-} else {
- if (!global.prisma) {
- global.prisma = new PrismaClient();
- }
- prisma = global.prisma;
-}
-
-export default prisma;
-
-export { Prisma };
diff --git a/client/listener.ts b/client/listener.ts
deleted file mode 100644
index efada59c..00000000
--- a/client/listener.ts
+++ /dev/null
@@ -1,442 +0,0 @@
-import winston from "winston";
-import {BigNumber} from "ethers";
-import Web3 from "web3";
-import schedule from "node-schedule";
-import { ethers } from "ethers";
-import EthereumEvents from "ethereum-events";
-import prisma, { Prisma } from "lib/prisma";
-import { CHAIN_CONTRACTS, RPC_URLS } from "constants/index";
-
-const logger = winston.createLogger({
- format: winston.format.simple(),
- transports: [new winston.transports.Console()],
-});
-
-const networkId = process.env.NETWORK_ID;
-const GovernanceContracts = CHAIN_CONTRACTS[networkId];
-
-if (!networkId) {
- logger.error("No network id specified");
- process.exit(1);
-} else {
- logger.info(`Listening on network ${networkId}`);
-}
-
-const WEB3_PROVIDER = RPC_URLS[networkId];
-const rpc_provider = new ethers.providers.JsonRpcProvider(WEB3_PROVIDER);
-
-export const governanceTokenContract = new ethers.Contract(
- GovernanceContracts.OgvStaking.address,
- ["function balanceOf(address owner) view returns (uint256)"],
- rpc_provider
-);
-
-export const governanceContract = new ethers.Contract(
- GovernanceContracts.Governance.address,
- GovernanceContracts.Governance.abi,
- rpc_provider
-);
-
-const contracts = [
- {
- name: "Governance",
- address: GovernanceContracts.Governance.address,
- abi: GovernanceContracts.Governance.abi,
- events: ["ProposalCreated", "ProposalCancelled", "ProposalQueued", "ProposalExecuted", "VoteCast"],
- },
- {
- name: "OgvStaking",
- address: GovernanceContracts.OgvStaking.address,
- abi: GovernanceContracts.OgvStaking.abi,
- events: ["Stake", "Unstake"],
- },
-];
-
-const options = {
- pollInterval: 10000, // period between polls in milliseconds (default: 13000)
- // Confirmed as soon as we've got it. No real problem with reorgs.
- // Don't use an integer here because it is falsy
- confirmations: "0",
- chunkSize: 1000, // n° of blocks to fetch at a time (default: 10000)
- concurrency: 10, // maximum n° of concurrent web3 requests (default: 10)
- backoff: 1000, // retry backoff in milliseconds (default: 1000)
- ignoreUnknownEvents: true,
-};
-
-const web3 = new Web3(WEB3_PROVIDER);
-
-const ethereumEvents = new EthereumEvents(web3, contracts, options);
-
-const handleProposalCreated = async (event) => {
- try {
- await prisma.proposal.create({
- data: {
- proposalId: event.values.proposalId,
- description: event.values.description,
- transactions: {
- create: [{
- hash: event.transactionHash,
- event: "Created",
- createdAt: new Date(event.timestamp * 1000),
- }],
- },
- },
- });
- logger.info("Inserted new proposal");
- } catch (e) {
- logger.error(e);
- }
-};
-
-const proposalEventLabels = {
- 'ProposalCancelled': "Cancelled",
- 'ProposalQueued': "Queued",
- 'ProposalExecuted': "Executed",
-};
-
-const handleGenericProposalEvent = async (event) => {
- try {
- await prisma.proposal.update({
- where: {
- proposalId: event.values.proposalId,
- },
- data: {
- transactions: {
- create: [{
- hash: event.transactionHash,
- event: proposalEventLabels[event.name],
- createdAt: new Date(event.timestamp * 1000),
- }],
- },
- },
- });
- logger.info(`Added ${event.name} transaction to proposal ${event.values.proposalId}`);
- } catch(e) {
- logger.error(e);
- };
-};
-
-const handleStake = async (event) => {
- // Check if lockup exists
- let existingLockup;
-
- try {
- existingLockup = await prisma.lockup.findUnique({
- where: {
- lockupId_user: {
- user: event.values.user,
- lockupId: parseInt(event.values.lockupId),
- }
- },
- include: {
- transactions: true,
- },
- });
- } catch(e) {
- logger.error(e);
- }
-
- // If it does (extend action), update it (new end, new points and additional tx hash)
- if(existingLockup) {
- try {
- await prisma.lockup.update({
- where: {
- lockupId_user: {
- user: event.values.user,
- lockupId: parseInt(event.values.lockupId),
- }
- },
- data: {
- end: new Date(event.values.end * 1000),
- points: event.values.points,
- transactions: {
- create: [{
- hash: event.transactionHash,
- event: "Extend",
- createdAt: new Date(event.timestamp * 1000),
- }],
- },
- active: true,
- },
- });
- logger.info(`Updated lockup ${parseInt(event.values.lockupId)} for ${event.values.user}`);
- } catch (e) {
- logger.error(e);
- }
- } else {
- // If it doesn't, create it (stake action)
- try {
- await prisma.lockup.create({
- data: {
- user: event.values.user,
- lockupId: parseInt(event.values.lockupId),
- amount: event.values.amount,
- end: new Date(event.values.end * 1000),
- points: event.values.points,
- transactions: {
- create: [{
- hash: event.transactionHash,
- event: event.name,
- createdAt: new Date(event.timestamp * 1000),
- }],
- },
- active: true,
- },
- });
- logger.info(`Inserted lockup ${parseInt(event.values.lockupId)} for ${event.values.user}`);
- } catch (e) {
- logger.error(e);
- }
- }
-}
-
-const handleUnstake = async (event) => {
- // Check if lockup exists
- let existingLockup;
-
- try {
- existingLockup = await prisma.lockup.findUnique({
- where: {
- lockupId_user: {
- user: event.values.user,
- lockupId: parseInt(event.values.lockupId),
- }
- },
- });
- } catch(e) {
- logger.error(e);
- }
-
- if(existingLockup) {
- // Flag lockup as inactive
- try {
- await prisma.lockup.update({
- where: {
- lockupId_user: {
- user: event.values.user,
- lockupId: parseInt(event.values.lockupId),
- }
- },
- data: {
- active: false,
- }
- });
- logger.info(`Lockup ${parseInt(event.values.lockupId)} for ${event.values.user} deactivated`);
- } catch (e) {
- logger.error(e);
- }
- }
-}
-
-const handleVoteCast = async (event) => {
- // Check if voter exists
- let existingVoter;
-
- try {
- existingVoter = await prisma.voter.findUnique({
- where: {
- address: event.values.voter,
- },
- });
- } catch(e) {
- logger.error(e);
- }
-
- if(existingVoter) {
- // Update record
- try {
- await prisma.voter.update({
- where: {
- address: event.values.voter,
- },
- data: {
- votes: (
- await governanceTokenContract.balanceOf(event.values.voter)
- ).toString(),
- proposalsVoted: {
- connect: {
- proposalId: event.values.proposalId,
- },
- },
- }
- });
- logger.info(`Voter ${event.values.voter} updated`);
- } catch (e) {
- logger.error(e);
- }
- } else {
- // Add new voter
- try {
- await prisma.voter.create({
- data: {
- address: event.values.voter,
- votes: (
- await governanceTokenContract.balanceOf(event.values.voter)
- ).toString(),
- firstSeenBlock: event.blockNumber,
- proposalsVoted: {
- connect: {
- proposalId: event.values.proposalId,
- },
- },
- },
- });
- logger.info(`Inserted new voter: ${event.values.voter}`);
- } catch (e) {
- logger.error(e);
- }
- }
-}
-
-const handleEvents = async (blockNumber, events, done) => {
- for (const event of events) {
- switch(event.name) {
- case 'ProposalCreated':
- await handleProposalCreated(event);
- break;
- case 'ProposalCancelled':
- case 'ProposalQueued':
- case 'ProposalExecuted':
- await handleGenericProposalEvent(event);
- break;
- case 'Stake':
- await handleStake(event);
- break;
- case 'Unstake':
- await handleUnstake(event);
- break;
- case 'VoteCast':
- await handleVoteCast(event);
- break;
- default:
- break;
- }
- }
-};
-
-const statusLabels = {
- 1: "Active",
- 3: "Defeated",
- 4: "Succeeded",
-};
-
-const handleProposalStatusUpdates = async (blockNumber) => {
- const block = await rpc_provider.getBlock(blockNumber);
-
- let proposals;
- try {
- proposals = await prisma.proposal.findMany();
-
- if(proposals && proposals.length > 0) {
- proposals.forEach(async (proposal) => {
- const proposalStatus = await governanceContract.state(proposal.proposalId);
-
- const proposalInDatabase = await prisma.proposal.findUnique({
- where: {
- proposalId: proposal.proposalId,
- },
- });
-
- if((proposalInDatabase?.status !== proposalStatus) && [1,3,4].includes(proposalStatus)) {
- try {
- await prisma.proposal.update({
- where: {
- proposalId: proposal.proposalId,
- },
- data: {
- status: proposalStatus,
- transactions: {
- create: [{
- event: statusLabels[proposalStatus],
- createdAt: new Date(block.timestamp * 1000),
- }],
- },
- },
- });
- logger.info(`Added ${statusLabels[proposalStatus]} timestamp to proposal ${proposal.proposalId}`);
- } catch(e) {
- logger.error(e);
- };
- }
- });
- } else {
- logger.info('No proposals to update.');
- }
- } catch(e) {
- logger.error(e);
- }
-};
-
-ethereumEvents.on("block.confirmed", async (blockNumber, events, done) => {
- logger.info(`Got confirmed block ${blockNumber}`);
- await handleEvents(blockNumber, events, done);
- await handleProposalStatusUpdates(blockNumber);
- const existingLastBlock = await prisma.listener.findFirst();
- if (existingLastBlock) {
- await prisma.listener.update({
- where: { lastSeenBlock: existingLastBlock.lastSeenBlock },
- data: {
- lastSeenBlock: blockNumber,
- },
- });
- } else {
- await prisma.listener.create({
- data: {
- lastSeenBlock: blockNumber,
- },
- });
- }
-
- done();
-});
-
-ethereumEvents.on("error", (err) => {
- logger.error(err);
-});
-
-// TODO start this at contract deployment or last checked
-prisma.listener.findFirst().then(async (listener) => {
- let listenBlock:number = 0;
- if (listener) {
- if (process.env.NODE_ENV === 'development') {
- const blockNumber:number = await rpc_provider.getBlockNumber();
- /* in dev check the chain's blockNumber. If differs too much from stored listener
- * amount skip to the current block. The reason is that probably hardhat forked mode
- * was set to a different blockNumber and it might take too long for the listener to
- * catch up
- */
- listenBlock = Math.abs(listener.lastSeenBlock - blockNumber) > 200 ? blockNumber : listener.lastSeenBlock;
- } else {
- // in production continue where left off last time
- listenBlock = listener.lastSeenBlock
- }
- }
- ethereumEvents.start(listenBlock);
-});
-
-logger.info("Listening for Ethereum events");
-
-// Job to update votes in the voters table
-const rule = new schedule.RecurrenceRule();
-rule.hour = 0;
-
-schedule.scheduleJob(rule, async function () {
- logger.info("Updating vote power");
- const voter = await prisma.voter.findMany();
- for (const v of voter) {
- const votes = await governanceTokenContract.balanceOf(v.address);
- if (votes.toString() != v.votes.toString()) {
- await prisma.voter.update({
- data: {
- votes: votes.toString(),
- },
- where: { id: v.id },
- });
- }
- }
- logger.info("Vote power updated");
-});
-
-process.on("SIGINT", function () {
- schedule.gracefulShutdown().then(() => process.exit(0));
-});
diff --git a/client/networks/governance.goerli.json b/client/networks/governance.goerli.json
deleted file mode 100644
index c6da5901..00000000
--- a/client/networks/governance.goerli.json
+++ /dev/null
@@ -1,4729 +0,0 @@
-{
- "OriginDollarGovernance": {
- "address": "0xd4CFEf425B36deaCf70eDB60E7B75cC43fc347e0",
- "abi": [
- {
- "inputs": [],
- "stateMutability": "nonpayable",
- "type": "constructor",
- "name": "constructor"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "previousAdmin",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "newAdmin",
- "type": "address"
- }
- ],
- "name": "AdminChanged",
- "type": "event"
- },
- {
- "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": "beacon",
- "type": "address"
- }
- ],
- "name": "BeaconUpgraded",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint8",
- "name": "version",
- "type": "uint8"
- }
- ],
- "name": "Initialized",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousOwner",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newOwner",
- "type": "address"
- }
- ],
- "name": "OwnershipTransferred",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "previousAdminRole",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "newAdminRole",
- "type": "bytes32"
- }
- ],
- "name": "RoleAdminChanged",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "sender",
- "type": "address"
- }
- ],
- "name": "RoleGranted",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "sender",
- "type": "address"
- }
- ],
- "name": "RoleRevoked",
- "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"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "implementation",
- "type": "address"
- }
- ],
- "name": "Upgraded",
- "type": "event"
- },
- {
- "inputs": [],
- "name": "DEFAULT_ADMIN_ROLE",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "MINTER_ROLE",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "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": "amount",
- "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": [
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "burn",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "burnFrom",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "decimals",
- "outputs": [
- {
- "internalType": "uint8",
- "name": "",
- "type": "uint8"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "spender",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "subtractedValue",
- "type": "uint256"
- }
- ],
- "name": "decreaseAllowance",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- }
- ],
- "name": "getRoleAdmin",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_account",
- "type": "address"
- }
- ],
- "name": "grantAdminRole",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_account",
- "type": "address"
- }
- ],
- "name": "grantMinterRole",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "grantRole",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "hasRole",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "spender",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "addedValue",
- "type": "uint256"
- }
- ],
- "name": "increaseAllowance",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "initialize",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "to",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "mint",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "name",
- "outputs": [
- {
- "internalType": "string",
- "name": "",
- "type": "string"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "owner",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "proxiableUUID",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "renounceOwnership",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "renounceRole",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "revokeRole",
- "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": [],
- "name": "totalSupply",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "to",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "amount",
- "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": "amount",
- "type": "uint256"
- }
- ],
- "name": "transferFrom",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "newOwner",
- "type": "address"
- }
- ],
- "name": "transferOwnership",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "newImplementation",
- "type": "address"
- }
- ],
- "name": "upgradeTo",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "newImplementation",
- "type": "address"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- }
- ],
- "name": "upgradeToAndCall",
- "outputs": [],
- "stateMutability": "payable",
- "type": "function"
- }
- ]
- },
- "RewardsSource": {
- "address": "0x0B0c5DA6Eed3E00B07c937d236c3a9343504F0Ed",
- "abi": [
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "ogv_",
- "type": "address"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "constructor",
- "name": "constructor"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "GovernorshipTransferred",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [],
- "name": "InflationChanged",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "PendingGovernorshipTransfer",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "previousTarget",
- "type": "address"
- }
- ],
- "name": "RewardsTargetChange",
- "type": "event"
- },
- {
- "inputs": [],
- "name": "claimGovernance",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "collectRewards",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "governor",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "name": "inflationSlopes",
- "outputs": [
- {
- "internalType": "uint64",
- "name": "start",
- "type": "uint64"
- },
- {
- "internalType": "uint64",
- "name": "end",
- "type": "uint64"
- },
- {
- "internalType": "uint128",
- "name": "ratePerDay",
- "type": "uint128"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "isGovernor",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "lastRewardTime",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "ogv",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "previewRewards",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "rewardsTarget",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "components": [
- {
- "internalType": "uint64",
- "name": "start",
- "type": "uint64"
- },
- {
- "internalType": "uint64",
- "name": "end",
- "type": "uint64"
- },
- {
- "internalType": "uint128",
- "name": "ratePerDay",
- "type": "uint128"
- }
- ],
- "internalType": "struct RewardsSource.Slope[]",
- "name": "slopes",
- "type": "tuple[]"
- }
- ],
- "name": "setInflation",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "rewardsTarget_",
- "type": "address"
- }
- ],
- "name": "setRewardsTarget",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_newGovernor",
- "type": "address"
- }
- ],
- "name": "transferGovernance",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- }
- ]
- },
- "OgvStaking": {
- "address": "0x37EED9c648f7cc0DD6FD68d2e140c3340718728D",
- "abi": [
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "ogv_",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "epoch_",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "minStakeDuration_",
- "type": "uint256"
- },
- {
- "internalType": "address",
- "name": "rewardsSource_",
- "type": "address"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "constructor",
- "name": "constructor"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "x",
- "type": "uint256"
- }
- ],
- "name": "PRBMathUD60x18__Exp2InputTooBig",
- "type": "error"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "x",
- "type": "uint256"
- }
- ],
- "name": "PRBMathUD60x18__LogInputTooSmall",
- "type": "error"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "prod1",
- "type": "uint256"
- }
- ],
- "name": "PRBMath__MulDivFixedPointOverflow",
- "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": "delegator",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "fromDelegate",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "toDelegate",
- "type": "address"
- }
- ],
- "name": "DelegateChanged",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "delegate",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "previousBalance",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "newBalance",
- "type": "uint256"
- }
- ],
- "name": "DelegateVotesChanged",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "user",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "Reward",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "user",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "lockupId",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "end",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "points",
- "type": "uint256"
- }
- ],
- "name": "Stake",
- "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"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "user",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "lockupId",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "end",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "points",
- "type": "uint256"
- }
- ],
- "name": "Unstake",
- "type": "event"
- },
- {
- "inputs": [],
- "name": "DOMAIN_SEPARATOR",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "accRewardPerShare",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "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": "amount",
- "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": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "internalType": "uint32",
- "name": "pos",
- "type": "uint32"
- }
- ],
- "name": "checkpoints",
- "outputs": [
- {
- "components": [
- {
- "internalType": "uint32",
- "name": "fromBlock",
- "type": "uint32"
- },
- {
- "internalType": "uint224",
- "name": "votes",
- "type": "uint224"
- }
- ],
- "internalType": "struct ERC20Votes.Checkpoint",
- "name": "",
- "type": "tuple"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "collectRewards",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "decimals",
- "outputs": [
- {
- "internalType": "uint8",
- "name": "",
- "type": "uint8"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "spender",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "subtractedValue",
- "type": "uint256"
- }
- ],
- "name": "decreaseAllowance",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "delegatee",
- "type": "address"
- }
- ],
- "name": "delegate",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "delegatee",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "nonce",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "expiry",
- "type": "uint256"
- },
- {
- "internalType": "uint8",
- "name": "v",
- "type": "uint8"
- },
- {
- "internalType": "bytes32",
- "name": "r",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "s",
- "type": "bytes32"
- }
- ],
- "name": "delegateBySig",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "delegates",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "epoch",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "lockupId",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "duration",
- "type": "uint256"
- }
- ],
- "name": "extend",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "blockNumber",
- "type": "uint256"
- }
- ],
- "name": "getPastTotalSupply",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "blockNumber",
- "type": "uint256"
- }
- ],
- "name": "getPastVotes",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "getVotes",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "spender",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "addedValue",
- "type": "uint256"
- }
- ],
- "name": "increaseAllowance",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "name": "lockups",
- "outputs": [
- {
- "internalType": "uint128",
- "name": "amount",
- "type": "uint128"
- },
- {
- "internalType": "uint128",
- "name": "end",
- "type": "uint128"
- },
- {
- "internalType": "uint256",
- "name": "points",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "minStakeDuration",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "name",
- "outputs": [
- {
- "internalType": "string",
- "name": "",
- "type": "string"
- }
- ],
- "stateMutability": "pure",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "owner",
- "type": "address"
- }
- ],
- "name": "nonces",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "numCheckpoints",
- "outputs": [
- {
- "internalType": "uint32",
- "name": "",
- "type": "uint32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "ogv",
- "outputs": [
- {
- "internalType": "contract ERC20",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "owner",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "spender",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "value",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "deadline",
- "type": "uint256"
- },
- {
- "internalType": "uint8",
- "name": "v",
- "type": "uint8"
- },
- {
- "internalType": "bytes32",
- "name": "r",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "s",
- "type": "bytes32"
- }
- ],
- "name": "permit",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "duration",
- "type": "uint256"
- }
- ],
- "name": "previewPoints",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "user",
- "type": "address"
- }
- ],
- "name": "previewRewards",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "name": "rewardDebtPerShare",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "rewardsSource",
- "outputs": [
- {
- "internalType": "contract RewardsSource",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "duration",
- "type": "uint256"
- },
- {
- "internalType": "address",
- "name": "to",
- "type": "address"
- }
- ],
- "name": "stake",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "duration",
- "type": "uint256"
- }
- ],
- "name": "stake",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "symbol",
- "outputs": [
- {
- "internalType": "string",
- "name": "",
- "type": "string"
- }
- ],
- "stateMutability": "pure",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "totalSupply",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "name": "transfer",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "name": "transferFrom",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "lockupId",
- "type": "uint256"
- }
- ],
- "name": "unstake",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- }
- ]
- },
- "TimelockController": {
- "address": "0xCCC8c403CEf745D20e09fBeb91c8FE79A237a0c7",
- "abi": [
- {
- "inputs": [
- {
- "internalType": "address[]",
- "name": "proposers",
- "type": "address[]"
- },
- {
- "internalType": "address[]",
- "name": "executors",
- "type": "address[]"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "constructor",
- "name": "constructor"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "id",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "uint256",
- "name": "index",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "value",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- }
- ],
- "name": "CallExecuted",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "id",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "uint256",
- "name": "index",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "value",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- },
- {
- "indexed": false,
- "internalType": "bytes32",
- "name": "predecessor",
- "type": "bytes32"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "delay",
- "type": "uint256"
- }
- ],
- "name": "CallScheduled",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "id",
- "type": "bytes32"
- }
- ],
- "name": "Cancelled",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "oldDuration",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "newDuration",
- "type": "uint256"
- }
- ],
- "name": "MinDelayChange",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "previousAdminRole",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "newAdminRole",
- "type": "bytes32"
- }
- ],
- "name": "RoleAdminChanged",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "sender",
- "type": "address"
- }
- ],
- "name": "RoleGranted",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "sender",
- "type": "address"
- }
- ],
- "name": "RoleRevoked",
- "type": "event"
- },
- {
- "inputs": [],
- "name": "CANCELLER_ROLE",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "DEFAULT_ADMIN_ROLE",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "EXECUTOR_ROLE",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "PROPOSER_ROLE",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "TIMELOCK_ADMIN_ROLE",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "id",
- "type": "bytes32"
- }
- ],
- "name": "cancel",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "value",
- "type": "uint256"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- },
- {
- "internalType": "bytes32",
- "name": "predecessor",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "salt",
- "type": "bytes32"
- }
- ],
- "name": "execute",
- "outputs": [],
- "stateMutability": "payable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address[]",
- "name": "targets",
- "type": "address[]"
- },
- {
- "internalType": "uint256[]",
- "name": "values",
- "type": "uint256[]"
- },
- {
- "internalType": "bytes[]",
- "name": "payloads",
- "type": "bytes[]"
- },
- {
- "internalType": "bytes32",
- "name": "predecessor",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "salt",
- "type": "bytes32"
- }
- ],
- "name": "executeBatch",
- "outputs": [],
- "stateMutability": "payable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "getMinDelay",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "duration",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- }
- ],
- "name": "getRoleAdmin",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "id",
- "type": "bytes32"
- }
- ],
- "name": "getTimestamp",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "timestamp",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "grantRole",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "hasRole",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "value",
- "type": "uint256"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- },
- {
- "internalType": "bytes32",
- "name": "predecessor",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "salt",
- "type": "bytes32"
- }
- ],
- "name": "hashOperation",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "hash",
- "type": "bytes32"
- }
- ],
- "stateMutability": "pure",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address[]",
- "name": "targets",
- "type": "address[]"
- },
- {
- "internalType": "uint256[]",
- "name": "values",
- "type": "uint256[]"
- },
- {
- "internalType": "bytes[]",
- "name": "payloads",
- "type": "bytes[]"
- },
- {
- "internalType": "bytes32",
- "name": "predecessor",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "salt",
- "type": "bytes32"
- }
- ],
- "name": "hashOperationBatch",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "hash",
- "type": "bytes32"
- }
- ],
- "stateMutability": "pure",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "id",
- "type": "bytes32"
- }
- ],
- "name": "isOperation",
- "outputs": [
- {
- "internalType": "bool",
- "name": "pending",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "id",
- "type": "bytes32"
- }
- ],
- "name": "isOperationDone",
- "outputs": [
- {
- "internalType": "bool",
- "name": "done",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "id",
- "type": "bytes32"
- }
- ],
- "name": "isOperationPending",
- "outputs": [
- {
- "internalType": "bool",
- "name": "pending",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "id",
- "type": "bytes32"
- }
- ],
- "name": "isOperationReady",
- "outputs": [
- {
- "internalType": "bool",
- "name": "ready",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "uint256[]",
- "name": "",
- "type": "uint256[]"
- },
- {
- "internalType": "uint256[]",
- "name": "",
- "type": "uint256[]"
- },
- {
- "internalType": "bytes",
- "name": "",
- "type": "bytes"
- }
- ],
- "name": "onERC1155BatchReceived",
- "outputs": [
- {
- "internalType": "bytes4",
- "name": "",
- "type": "bytes4"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- },
- {
- "internalType": "bytes",
- "name": "",
- "type": "bytes"
- }
- ],
- "name": "onERC1155Received",
- "outputs": [
- {
- "internalType": "bytes4",
- "name": "",
- "type": "bytes4"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- },
- {
- "internalType": "bytes",
- "name": "",
- "type": "bytes"
- }
- ],
- "name": "onERC721Received",
- "outputs": [
- {
- "internalType": "bytes4",
- "name": "",
- "type": "bytes4"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "renounceRole",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "revokeRole",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "value",
- "type": "uint256"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- },
- {
- "internalType": "bytes32",
- "name": "predecessor",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "salt",
- "type": "bytes32"
- },
- {
- "internalType": "uint256",
- "name": "delay",
- "type": "uint256"
- }
- ],
- "name": "schedule",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address[]",
- "name": "targets",
- "type": "address[]"
- },
- {
- "internalType": "uint256[]",
- "name": "values",
- "type": "uint256[]"
- },
- {
- "internalType": "bytes[]",
- "name": "payloads",
- "type": "bytes[]"
- },
- {
- "internalType": "bytes32",
- "name": "predecessor",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "salt",
- "type": "bytes32"
- },
- {
- "internalType": "uint256",
- "name": "delay",
- "type": "uint256"
- }
- ],
- "name": "scheduleBatch",
- "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": [
- {
- "internalType": "uint256",
- "name": "newDelay",
- "type": "uint256"
- }
- ],
- "name": "updateDelay",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "stateMutability": "payable",
- "type": "receive"
- }
- ]
- },
- "Governance": {
- "address": "0x2Ac47Fc760bDC4816605D39692A532328435e8d6",
- "abi": [
- {
- "inputs": [
- {
- "internalType": "contract ERC20Votes",
- "name": "_token",
- "type": "address"
- },
- {
- "internalType": "contract TimelockController",
- "name": "_timelock",
- "type": "address"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "constructor",
- "name": "constructor"
- },
- {
- "inputs": [],
- "name": "Empty",
- "type": "error"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint64",
- "name": "oldVoteExtension",
- "type": "uint64"
- },
- {
- "indexed": false,
- "internalType": "uint64",
- "name": "newVoteExtension",
- "type": "uint64"
- }
- ],
- "name": "LateQuorumVoteExtensionSet",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "ProposalCanceled",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "proposer",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address[]",
- "name": "targets",
- "type": "address[]"
- },
- {
- "indexed": false,
- "internalType": "uint256[]",
- "name": "values",
- "type": "uint256[]"
- },
- {
- "indexed": false,
- "internalType": "string[]",
- "name": "signatures",
- "type": "string[]"
- },
- {
- "indexed": false,
- "internalType": "bytes[]",
- "name": "calldatas",
- "type": "bytes[]"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "startBlock",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "endBlock",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "string",
- "name": "description",
- "type": "string"
- }
- ],
- "name": "ProposalCreated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "ProposalExecuted",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint64",
- "name": "extendedDeadline",
- "type": "uint64"
- }
- ],
- "name": "ProposalExtended",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "eta",
- "type": "uint256"
- }
- ],
- "name": "ProposalQueued",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "oldProposalThreshold",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "newProposalThreshold",
- "type": "uint256"
- }
- ],
- "name": "ProposalThresholdSet",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "oldQuorumNumerator",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "newQuorumNumerator",
- "type": "uint256"
- }
- ],
- "name": "QuorumNumeratorUpdated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "oldTimelock",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "newTimelock",
- "type": "address"
- }
- ],
- "name": "TimelockChange",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "voter",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint8",
- "name": "support",
- "type": "uint8"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "weight",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "string",
- "name": "reason",
- "type": "string"
- }
- ],
- "name": "VoteCast",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "voter",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint8",
- "name": "support",
- "type": "uint8"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "weight",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "string",
- "name": "reason",
- "type": "string"
- },
- {
- "indexed": false,
- "internalType": "bytes",
- "name": "params",
- "type": "bytes"
- }
- ],
- "name": "VoteCastWithParams",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "oldVotingDelay",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "newVotingDelay",
- "type": "uint256"
- }
- ],
- "name": "VotingDelaySet",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "oldVotingPeriod",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "newVotingPeriod",
- "type": "uint256"
- }
- ],
- "name": "VotingPeriodSet",
- "type": "event"
- },
- {
- "inputs": [],
- "name": "BALLOT_TYPEHASH",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "COUNTING_MODE",
- "outputs": [
- {
- "internalType": "string",
- "name": "",
- "type": "string"
- }
- ],
- "stateMutability": "pure",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "EXTENDED_BALLOT_TYPEHASH",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "cancel",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "internalType": "uint8",
- "name": "support",
- "type": "uint8"
- }
- ],
- "name": "castVote",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "internalType": "uint8",
- "name": "support",
- "type": "uint8"
- },
- {
- "internalType": "uint8",
- "name": "v",
- "type": "uint8"
- },
- {
- "internalType": "bytes32",
- "name": "r",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "s",
- "type": "bytes32"
- }
- ],
- "name": "castVoteBySig",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "internalType": "uint8",
- "name": "support",
- "type": "uint8"
- },
- {
- "internalType": "string",
- "name": "reason",
- "type": "string"
- }
- ],
- "name": "castVoteWithReason",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "internalType": "uint8",
- "name": "support",
- "type": "uint8"
- },
- {
- "internalType": "string",
- "name": "reason",
- "type": "string"
- },
- {
- "internalType": "bytes",
- "name": "params",
- "type": "bytes"
- }
- ],
- "name": "castVoteWithReasonAndParams",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "internalType": "uint8",
- "name": "support",
- "type": "uint8"
- },
- {
- "internalType": "string",
- "name": "reason",
- "type": "string"
- },
- {
- "internalType": "bytes",
- "name": "params",
- "type": "bytes"
- },
- {
- "internalType": "uint8",
- "name": "v",
- "type": "uint8"
- },
- {
- "internalType": "bytes32",
- "name": "r",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "s",
- "type": "bytes32"
- }
- ],
- "name": "castVoteWithReasonAndParamsBySig",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address[]",
- "name": "targets",
- "type": "address[]"
- },
- {
- "internalType": "uint256[]",
- "name": "values",
- "type": "uint256[]"
- },
- {
- "internalType": "bytes[]",
- "name": "calldatas",
- "type": "bytes[]"
- },
- {
- "internalType": "bytes32",
- "name": "descriptionHash",
- "type": "bytes32"
- }
- ],
- "name": "execute",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "payable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "execute",
- "outputs": [],
- "stateMutability": "payable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "getActions",
- "outputs": [
- {
- "internalType": "address[]",
- "name": "targets",
- "type": "address[]"
- },
- {
- "internalType": "uint256[]",
- "name": "values",
- "type": "uint256[]"
- },
- {
- "internalType": "string[]",
- "name": "signatures",
- "type": "string[]"
- },
- {
- "internalType": "bytes[]",
- "name": "calldatas",
- "type": "bytes[]"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "internalType": "address",
- "name": "voter",
- "type": "address"
- }
- ],
- "name": "getReceipt",
- "outputs": [
- {
- "components": [
- {
- "internalType": "bool",
- "name": "hasVoted",
- "type": "bool"
- },
- {
- "internalType": "uint8",
- "name": "support",
- "type": "uint8"
- },
- {
- "internalType": "uint256",
- "name": "votes",
- "type": "uint256"
- }
- ],
- "internalType": "struct IGovernorCompatibilityBravo.Receipt",
- "name": "",
- "type": "tuple"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "blockNumber",
- "type": "uint256"
- }
- ],
- "name": "getVotes",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "blockNumber",
- "type": "uint256"
- },
- {
- "internalType": "bytes",
- "name": "params",
- "type": "bytes"
- }
- ],
- "name": "getVotesWithParams",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "hasVoted",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address[]",
- "name": "targets",
- "type": "address[]"
- },
- {
- "internalType": "uint256[]",
- "name": "values",
- "type": "uint256[]"
- },
- {
- "internalType": "bytes[]",
- "name": "calldatas",
- "type": "bytes[]"
- },
- {
- "internalType": "bytes32",
- "name": "descriptionHash",
- "type": "bytes32"
- }
- ],
- "name": "hashProposal",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "pure",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "lateQuorumVoteExtension",
- "outputs": [
- {
- "internalType": "uint64",
- "name": "",
- "type": "uint64"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "name",
- "outputs": [
- {
- "internalType": "string",
- "name": "",
- "type": "string"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "uint256[]",
- "name": "",
- "type": "uint256[]"
- },
- {
- "internalType": "uint256[]",
- "name": "",
- "type": "uint256[]"
- },
- {
- "internalType": "bytes",
- "name": "",
- "type": "bytes"
- }
- ],
- "name": "onERC1155BatchReceived",
- "outputs": [
- {
- "internalType": "bytes4",
- "name": "",
- "type": "bytes4"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- },
- {
- "internalType": "bytes",
- "name": "",
- "type": "bytes"
- }
- ],
- "name": "onERC1155Received",
- "outputs": [
- {
- "internalType": "bytes4",
- "name": "",
- "type": "bytes4"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- },
- {
- "internalType": "bytes",
- "name": "",
- "type": "bytes"
- }
- ],
- "name": "onERC721Received",
- "outputs": [
- {
- "internalType": "bytes4",
- "name": "",
- "type": "bytes4"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "proposalDeadline",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "proposalEta",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "proposalSnapshot",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "proposalThreshold",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "proposals",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "id",
- "type": "uint256"
- },
- {
- "internalType": "address",
- "name": "proposer",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "eta",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "startBlock",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "endBlock",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "forVotes",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "againstVotes",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "abstainVotes",
- "type": "uint256"
- },
- {
- "internalType": "bool",
- "name": "canceled",
- "type": "bool"
- },
- {
- "internalType": "bool",
- "name": "executed",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address[]",
- "name": "targets",
- "type": "address[]"
- },
- {
- "internalType": "uint256[]",
- "name": "values",
- "type": "uint256[]"
- },
- {
- "internalType": "bytes[]",
- "name": "calldatas",
- "type": "bytes[]"
- },
- {
- "internalType": "string",
- "name": "description",
- "type": "string"
- }
- ],
- "name": "propose",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address[]",
- "name": "targets",
- "type": "address[]"
- },
- {
- "internalType": "uint256[]",
- "name": "values",
- "type": "uint256[]"
- },
- {
- "internalType": "string[]",
- "name": "signatures",
- "type": "string[]"
- },
- {
- "internalType": "bytes[]",
- "name": "calldatas",
- "type": "bytes[]"
- },
- {
- "internalType": "string",
- "name": "description",
- "type": "string"
- }
- ],
- "name": "propose",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address[]",
- "name": "targets",
- "type": "address[]"
- },
- {
- "internalType": "uint256[]",
- "name": "values",
- "type": "uint256[]"
- },
- {
- "internalType": "bytes[]",
- "name": "calldatas",
- "type": "bytes[]"
- },
- {
- "internalType": "bytes32",
- "name": "descriptionHash",
- "type": "bytes32"
- }
- ],
- "name": "queue",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "queue",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "blockNumber",
- "type": "uint256"
- }
- ],
- "name": "quorum",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "quorumDenominator",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "quorumNumerator",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "quorumVotes",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "value",
- "type": "uint256"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- }
- ],
- "name": "relay",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint64",
- "name": "newVoteExtension",
- "type": "uint64"
- }
- ],
- "name": "setLateQuorumVoteExtension",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "newProposalThreshold",
- "type": "uint256"
- }
- ],
- "name": "setProposalThreshold",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "newVotingDelay",
- "type": "uint256"
- }
- ],
- "name": "setVotingDelay",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "newVotingPeriod",
- "type": "uint256"
- }
- ],
- "name": "setVotingPeriod",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "state",
- "outputs": [
- {
- "internalType": "enum IGovernor.ProposalState",
- "name": "",
- "type": "uint8"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes4",
- "name": "interfaceId",
- "type": "bytes4"
- }
- ],
- "name": "supportsInterface",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "timelock",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "token",
- "outputs": [
- {
- "internalType": "contract IVotes",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "newQuorumNumerator",
- "type": "uint256"
- }
- ],
- "name": "updateQuorumNumerator",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "contract TimelockController",
- "name": "newTimelock",
- "type": "address"
- }
- ],
- "name": "updateTimelock",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "version",
- "outputs": [
- {
- "internalType": "string",
- "name": "",
- "type": "string"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "votingDelay",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "votingPeriod",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "stateMutability": "payable",
- "type": "receive"
- }
- ]
- },
- "MandatoryDistributor": {
- "address": "0xb745c207a2518743023045EA6Bec311E0D94D6a0",
- "abi": [
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_token",
- "type": "address"
- },
- {
- "internalType": "bytes32",
- "name": "_merkleRoot",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "_stakingContract",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "_endBlock",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "constructor",
- "name": "constructor"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "uint256",
- "name": "index",
- "type": "uint256"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "Claimed",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "OGVBurned",
- "type": "event"
- },
- {
- "inputs": [],
- "name": "burnRemainingOGV",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_index",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- },
- {
- "internalType": "bytes32[]",
- "name": "_merkleProof",
- "type": "bytes32[]"
- }
- ],
- "name": "claim",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "endBlock",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_index",
- "type": "uint256"
- }
- ],
- "name": "isClaimed",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_index",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- },
- {
- "internalType": "address",
- "name": "_account",
- "type": "address"
- },
- {
- "internalType": "bytes32[]",
- "name": "_merkleProof",
- "type": "bytes32[]"
- }
- ],
- "name": "isProofValid",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "merkleRoot",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "stakingContract",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "token",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- }
- ]
- },
- "OptionalDistributor": {
- "address": "0x40F729253Bc6418e2648dA6636Ef0cFE0C527d6b",
- "abi": [
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_token",
- "type": "address"
- },
- {
- "internalType": "bytes32",
- "name": "_merkleRoot",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "_stakingContract",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "_endBlock",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "constructor",
- "name": "constructor"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "uint256",
- "name": "index",
- "type": "uint256"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "Claimed",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "OGVBurned",
- "type": "event"
- },
- {
- "inputs": [],
- "name": "burnRemainingOGV",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_index",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- },
- {
- "internalType": "bytes32[]",
- "name": "_merkleProof",
- "type": "bytes32[]"
- },
- {
- "internalType": "uint256",
- "name": "_stakeDuration",
- "type": "uint256"
- }
- ],
- "name": "claim",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "endBlock",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_index",
- "type": "uint256"
- }
- ],
- "name": "isClaimed",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_index",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- },
- {
- "internalType": "address",
- "name": "_account",
- "type": "address"
- },
- {
- "internalType": "bytes32[]",
- "name": "_merkleProof",
- "type": "bytes32[]"
- }
- ],
- "name": "isProofValid",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "merkleRoot",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "stakingContract",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "token",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- }
- ]
- }
-}
\ No newline at end of file
diff --git a/client/networks/governance.localhost.json b/client/networks/governance.localhost.json
deleted file mode 100644
index 84146033..00000000
--- a/client/networks/governance.localhost.json
+++ /dev/null
@@ -1,4748 +0,0 @@
-{
- "OriginDollarGovernance": {
- "address": "0x32FAFF5fc315fE0BF8B53f6A3C003d8c8eA08d72",
- "abi": [
- {
- "inputs": [],
- "stateMutability": "nonpayable",
- "type": "constructor",
- "name": "constructor"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "previousAdmin",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "newAdmin",
- "type": "address"
- }
- ],
- "name": "AdminChanged",
- "type": "event"
- },
- {
- "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": "beacon",
- "type": "address"
- }
- ],
- "name": "BeaconUpgraded",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint8",
- "name": "version",
- "type": "uint8"
- }
- ],
- "name": "Initialized",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousOwner",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newOwner",
- "type": "address"
- }
- ],
- "name": "OwnershipTransferred",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "previousAdminRole",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "newAdminRole",
- "type": "bytes32"
- }
- ],
- "name": "RoleAdminChanged",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "sender",
- "type": "address"
- }
- ],
- "name": "RoleGranted",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "sender",
- "type": "address"
- }
- ],
- "name": "RoleRevoked",
- "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"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "implementation",
- "type": "address"
- }
- ],
- "name": "Upgraded",
- "type": "event"
- },
- {
- "inputs": [],
- "name": "DEFAULT_ADMIN_ROLE",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "MINTER_ROLE",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "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": "amount",
- "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": [
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "burn",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "burnFrom",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "decimals",
- "outputs": [
- {
- "internalType": "uint8",
- "name": "",
- "type": "uint8"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "spender",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "subtractedValue",
- "type": "uint256"
- }
- ],
- "name": "decreaseAllowance",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- }
- ],
- "name": "getRoleAdmin",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_account",
- "type": "address"
- }
- ],
- "name": "grantAdminRole",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_account",
- "type": "address"
- }
- ],
- "name": "grantMinterRole",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "grantRole",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "hasRole",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "spender",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "addedValue",
- "type": "uint256"
- }
- ],
- "name": "increaseAllowance",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "initialize",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "to",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "mint",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "name",
- "outputs": [
- {
- "internalType": "string",
- "name": "",
- "type": "string"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "owner",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "proxiableUUID",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "renounceOwnership",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "renounceRole",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "revokeRole",
- "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": [],
- "name": "totalSupply",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "to",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "amount",
- "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": "amount",
- "type": "uint256"
- }
- ],
- "name": "transferFrom",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "newOwner",
- "type": "address"
- }
- ],
- "name": "transferOwnership",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "newImplementation",
- "type": "address"
- }
- ],
- "name": "upgradeTo",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "newImplementation",
- "type": "address"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- }
- ],
- "name": "upgradeToAndCall",
- "outputs": [],
- "stateMutability": "payable",
- "type": "function"
- }
- ]
- },
- "RewardsSource": {
- "address": "0xea9C9315361c780704B4581E885c474B6979E0cE",
- "abi": [
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "ogv_",
- "type": "address"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "constructor",
- "name": "constructor"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "GovernorshipTransferred",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [],
- "name": "InflationChanged",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "PendingGovernorshipTransfer",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "previousTarget",
- "type": "address"
- }
- ],
- "name": "RewardsTargetChange",
- "type": "event"
- },
- {
- "inputs": [],
- "name": "claimGovernance",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "collectRewards",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "governor",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "name": "inflationSlopes",
- "outputs": [
- {
- "internalType": "uint64",
- "name": "start",
- "type": "uint64"
- },
- {
- "internalType": "uint64",
- "name": "end",
- "type": "uint64"
- },
- {
- "internalType": "uint128",
- "name": "ratePerDay",
- "type": "uint128"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "isGovernor",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "lastRewardTime",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "ogv",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "previewRewards",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "rewardsTarget",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "components": [
- {
- "internalType": "uint64",
- "name": "start",
- "type": "uint64"
- },
- {
- "internalType": "uint64",
- "name": "end",
- "type": "uint64"
- },
- {
- "internalType": "uint128",
- "name": "ratePerDay",
- "type": "uint128"
- }
- ],
- "internalType": "struct RewardsSource.Slope[]",
- "name": "slopes",
- "type": "tuple[]"
- }
- ],
- "name": "setInflation",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "rewardsTarget_",
- "type": "address"
- }
- ],
- "name": "setRewardsTarget",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_newGovernor",
- "type": "address"
- }
- ],
- "name": "transferGovernance",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- }
- ]
- },
- "OgvStaking": {
- "address": "0x4e0cEEA1F36f176b30c810A44683CF833C9cc90E",
- "abi": [
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "ogv_",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "epoch_",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "minStakeDuration_",
- "type": "uint256"
- },
- {
- "internalType": "address",
- "name": "rewardsSource_",
- "type": "address"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "constructor",
- "name": "constructor"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "x",
- "type": "uint256"
- }
- ],
- "name": "PRBMathUD60x18__Exp2InputTooBig",
- "type": "error"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "x",
- "type": "uint256"
- }
- ],
- "name": "PRBMathUD60x18__LogInputTooSmall",
- "type": "error"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "prod1",
- "type": "uint256"
- }
- ],
- "name": "PRBMath__MulDivFixedPointOverflow",
- "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": "delegator",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "fromDelegate",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "toDelegate",
- "type": "address"
- }
- ],
- "name": "DelegateChanged",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "delegate",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "previousBalance",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "newBalance",
- "type": "uint256"
- }
- ],
- "name": "DelegateVotesChanged",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "user",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "Reward",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "user",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "lockupId",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "end",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "points",
- "type": "uint256"
- }
- ],
- "name": "Stake",
- "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"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "user",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "lockupId",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "end",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "points",
- "type": "uint256"
- }
- ],
- "name": "Unstake",
- "type": "event"
- },
- {
- "inputs": [],
- "name": "DOMAIN_SEPARATOR",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "accRewardPerShare",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "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": "amount",
- "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": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "internalType": "uint32",
- "name": "pos",
- "type": "uint32"
- }
- ],
- "name": "checkpoints",
- "outputs": [
- {
- "components": [
- {
- "internalType": "uint32",
- "name": "fromBlock",
- "type": "uint32"
- },
- {
- "internalType": "uint224",
- "name": "votes",
- "type": "uint224"
- }
- ],
- "internalType": "struct ERC20Votes.Checkpoint",
- "name": "",
- "type": "tuple"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "collectRewards",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "decimals",
- "outputs": [
- {
- "internalType": "uint8",
- "name": "",
- "type": "uint8"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "spender",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "subtractedValue",
- "type": "uint256"
- }
- ],
- "name": "decreaseAllowance",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "delegatee",
- "type": "address"
- }
- ],
- "name": "delegate",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "delegatee",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "nonce",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "expiry",
- "type": "uint256"
- },
- {
- "internalType": "uint8",
- "name": "v",
- "type": "uint8"
- },
- {
- "internalType": "bytes32",
- "name": "r",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "s",
- "type": "bytes32"
- }
- ],
- "name": "delegateBySig",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "delegates",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "epoch",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "lockupId",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "duration",
- "type": "uint256"
- }
- ],
- "name": "extend",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "blockNumber",
- "type": "uint256"
- }
- ],
- "name": "getPastTotalSupply",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "blockNumber",
- "type": "uint256"
- }
- ],
- "name": "getPastVotes",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "getVotes",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "name": "hasDelegationSet",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "spender",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "addedValue",
- "type": "uint256"
- }
- ],
- "name": "increaseAllowance",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "name": "lockups",
- "outputs": [
- {
- "internalType": "uint128",
- "name": "amount",
- "type": "uint128"
- },
- {
- "internalType": "uint128",
- "name": "end",
- "type": "uint128"
- },
- {
- "internalType": "uint256",
- "name": "points",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "minStakeDuration",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "name",
- "outputs": [
- {
- "internalType": "string",
- "name": "",
- "type": "string"
- }
- ],
- "stateMutability": "pure",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "owner",
- "type": "address"
- }
- ],
- "name": "nonces",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "numCheckpoints",
- "outputs": [
- {
- "internalType": "uint32",
- "name": "",
- "type": "uint32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "ogv",
- "outputs": [
- {
- "internalType": "contract ERC20",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "owner",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "spender",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "value",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "deadline",
- "type": "uint256"
- },
- {
- "internalType": "uint8",
- "name": "v",
- "type": "uint8"
- },
- {
- "internalType": "bytes32",
- "name": "r",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "s",
- "type": "bytes32"
- }
- ],
- "name": "permit",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "duration",
- "type": "uint256"
- }
- ],
- "name": "previewPoints",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "user",
- "type": "address"
- }
- ],
- "name": "previewRewards",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "name": "rewardDebtPerShare",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "rewardsSource",
- "outputs": [
- {
- "internalType": "contract RewardsSource",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "duration",
- "type": "uint256"
- },
- {
- "internalType": "address",
- "name": "to",
- "type": "address"
- }
- ],
- "name": "stake",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "duration",
- "type": "uint256"
- }
- ],
- "name": "stake",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "symbol",
- "outputs": [
- {
- "internalType": "string",
- "name": "",
- "type": "string"
- }
- ],
- "stateMutability": "pure",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "totalSupply",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "name": "transfer",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "name": "transferFrom",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "lockupId",
- "type": "uint256"
- }
- ],
- "name": "unstake",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- }
- ]
- },
- "TimelockController": {
- "address": "0x0dc28B42543642F5Cdd8b08e8e86236De1AB00f0",
- "abi": [
- {
- "inputs": [
- {
- "internalType": "address[]",
- "name": "proposers",
- "type": "address[]"
- },
- {
- "internalType": "address[]",
- "name": "executors",
- "type": "address[]"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "constructor",
- "name": "constructor"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "id",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "uint256",
- "name": "index",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "value",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- }
- ],
- "name": "CallExecuted",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "id",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "uint256",
- "name": "index",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "value",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- },
- {
- "indexed": false,
- "internalType": "bytes32",
- "name": "predecessor",
- "type": "bytes32"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "delay",
- "type": "uint256"
- }
- ],
- "name": "CallScheduled",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "id",
- "type": "bytes32"
- }
- ],
- "name": "Cancelled",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "oldDuration",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "newDuration",
- "type": "uint256"
- }
- ],
- "name": "MinDelayChange",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "previousAdminRole",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "newAdminRole",
- "type": "bytes32"
- }
- ],
- "name": "RoleAdminChanged",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "sender",
- "type": "address"
- }
- ],
- "name": "RoleGranted",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "sender",
- "type": "address"
- }
- ],
- "name": "RoleRevoked",
- "type": "event"
- },
- {
- "inputs": [],
- "name": "CANCELLER_ROLE",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "DEFAULT_ADMIN_ROLE",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "EXECUTOR_ROLE",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "PROPOSER_ROLE",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "TIMELOCK_ADMIN_ROLE",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "id",
- "type": "bytes32"
- }
- ],
- "name": "cancel",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "value",
- "type": "uint256"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- },
- {
- "internalType": "bytes32",
- "name": "predecessor",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "salt",
- "type": "bytes32"
- }
- ],
- "name": "execute",
- "outputs": [],
- "stateMutability": "payable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address[]",
- "name": "targets",
- "type": "address[]"
- },
- {
- "internalType": "uint256[]",
- "name": "values",
- "type": "uint256[]"
- },
- {
- "internalType": "bytes[]",
- "name": "payloads",
- "type": "bytes[]"
- },
- {
- "internalType": "bytes32",
- "name": "predecessor",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "salt",
- "type": "bytes32"
- }
- ],
- "name": "executeBatch",
- "outputs": [],
- "stateMutability": "payable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "getMinDelay",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "duration",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- }
- ],
- "name": "getRoleAdmin",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "id",
- "type": "bytes32"
- }
- ],
- "name": "getTimestamp",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "timestamp",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "grantRole",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "hasRole",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "value",
- "type": "uint256"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- },
- {
- "internalType": "bytes32",
- "name": "predecessor",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "salt",
- "type": "bytes32"
- }
- ],
- "name": "hashOperation",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "hash",
- "type": "bytes32"
- }
- ],
- "stateMutability": "pure",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address[]",
- "name": "targets",
- "type": "address[]"
- },
- {
- "internalType": "uint256[]",
- "name": "values",
- "type": "uint256[]"
- },
- {
- "internalType": "bytes[]",
- "name": "payloads",
- "type": "bytes[]"
- },
- {
- "internalType": "bytes32",
- "name": "predecessor",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "salt",
- "type": "bytes32"
- }
- ],
- "name": "hashOperationBatch",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "hash",
- "type": "bytes32"
- }
- ],
- "stateMutability": "pure",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "id",
- "type": "bytes32"
- }
- ],
- "name": "isOperation",
- "outputs": [
- {
- "internalType": "bool",
- "name": "pending",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "id",
- "type": "bytes32"
- }
- ],
- "name": "isOperationDone",
- "outputs": [
- {
- "internalType": "bool",
- "name": "done",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "id",
- "type": "bytes32"
- }
- ],
- "name": "isOperationPending",
- "outputs": [
- {
- "internalType": "bool",
- "name": "pending",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "id",
- "type": "bytes32"
- }
- ],
- "name": "isOperationReady",
- "outputs": [
- {
- "internalType": "bool",
- "name": "ready",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "uint256[]",
- "name": "",
- "type": "uint256[]"
- },
- {
- "internalType": "uint256[]",
- "name": "",
- "type": "uint256[]"
- },
- {
- "internalType": "bytes",
- "name": "",
- "type": "bytes"
- }
- ],
- "name": "onERC1155BatchReceived",
- "outputs": [
- {
- "internalType": "bytes4",
- "name": "",
- "type": "bytes4"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- },
- {
- "internalType": "bytes",
- "name": "",
- "type": "bytes"
- }
- ],
- "name": "onERC1155Received",
- "outputs": [
- {
- "internalType": "bytes4",
- "name": "",
- "type": "bytes4"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- },
- {
- "internalType": "bytes",
- "name": "",
- "type": "bytes"
- }
- ],
- "name": "onERC721Received",
- "outputs": [
- {
- "internalType": "bytes4",
- "name": "",
- "type": "bytes4"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "renounceRole",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "revokeRole",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "value",
- "type": "uint256"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- },
- {
- "internalType": "bytes32",
- "name": "predecessor",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "salt",
- "type": "bytes32"
- },
- {
- "internalType": "uint256",
- "name": "delay",
- "type": "uint256"
- }
- ],
- "name": "schedule",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address[]",
- "name": "targets",
- "type": "address[]"
- },
- {
- "internalType": "uint256[]",
- "name": "values",
- "type": "uint256[]"
- },
- {
- "internalType": "bytes[]",
- "name": "payloads",
- "type": "bytes[]"
- },
- {
- "internalType": "bytes32",
- "name": "predecessor",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "salt",
- "type": "bytes32"
- },
- {
- "internalType": "uint256",
- "name": "delay",
- "type": "uint256"
- }
- ],
- "name": "scheduleBatch",
- "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": [
- {
- "internalType": "uint256",
- "name": "newDelay",
- "type": "uint256"
- }
- ],
- "name": "updateDelay",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "stateMutability": "payable",
- "type": "receive"
- }
- ]
- },
- "Governance": {
- "address": "0x3C4559E7C315c5413C6889976bbCcC2bd5AB92F3",
- "abi": [
- {
- "inputs": [
- {
- "internalType": "contract ERC20Votes",
- "name": "_token",
- "type": "address"
- },
- {
- "internalType": "contract TimelockController",
- "name": "_timelock",
- "type": "address"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "constructor",
- "name": "constructor"
- },
- {
- "inputs": [],
- "name": "Empty",
- "type": "error"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint64",
- "name": "oldVoteExtension",
- "type": "uint64"
- },
- {
- "indexed": false,
- "internalType": "uint64",
- "name": "newVoteExtension",
- "type": "uint64"
- }
- ],
- "name": "LateQuorumVoteExtensionSet",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "ProposalCanceled",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "proposer",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address[]",
- "name": "targets",
- "type": "address[]"
- },
- {
- "indexed": false,
- "internalType": "uint256[]",
- "name": "values",
- "type": "uint256[]"
- },
- {
- "indexed": false,
- "internalType": "string[]",
- "name": "signatures",
- "type": "string[]"
- },
- {
- "indexed": false,
- "internalType": "bytes[]",
- "name": "calldatas",
- "type": "bytes[]"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "startBlock",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "endBlock",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "string",
- "name": "description",
- "type": "string"
- }
- ],
- "name": "ProposalCreated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "ProposalExecuted",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint64",
- "name": "extendedDeadline",
- "type": "uint64"
- }
- ],
- "name": "ProposalExtended",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "eta",
- "type": "uint256"
- }
- ],
- "name": "ProposalQueued",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "oldProposalThreshold",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "newProposalThreshold",
- "type": "uint256"
- }
- ],
- "name": "ProposalThresholdSet",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "oldQuorumNumerator",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "newQuorumNumerator",
- "type": "uint256"
- }
- ],
- "name": "QuorumNumeratorUpdated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "oldTimelock",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "newTimelock",
- "type": "address"
- }
- ],
- "name": "TimelockChange",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "voter",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint8",
- "name": "support",
- "type": "uint8"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "weight",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "string",
- "name": "reason",
- "type": "string"
- }
- ],
- "name": "VoteCast",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "voter",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint8",
- "name": "support",
- "type": "uint8"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "weight",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "string",
- "name": "reason",
- "type": "string"
- },
- {
- "indexed": false,
- "internalType": "bytes",
- "name": "params",
- "type": "bytes"
- }
- ],
- "name": "VoteCastWithParams",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "oldVotingDelay",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "newVotingDelay",
- "type": "uint256"
- }
- ],
- "name": "VotingDelaySet",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "oldVotingPeriod",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "newVotingPeriod",
- "type": "uint256"
- }
- ],
- "name": "VotingPeriodSet",
- "type": "event"
- },
- {
- "inputs": [],
- "name": "BALLOT_TYPEHASH",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "COUNTING_MODE",
- "outputs": [
- {
- "internalType": "string",
- "name": "",
- "type": "string"
- }
- ],
- "stateMutability": "pure",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "EXTENDED_BALLOT_TYPEHASH",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "cancel",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "internalType": "uint8",
- "name": "support",
- "type": "uint8"
- }
- ],
- "name": "castVote",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "internalType": "uint8",
- "name": "support",
- "type": "uint8"
- },
- {
- "internalType": "uint8",
- "name": "v",
- "type": "uint8"
- },
- {
- "internalType": "bytes32",
- "name": "r",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "s",
- "type": "bytes32"
- }
- ],
- "name": "castVoteBySig",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "internalType": "uint8",
- "name": "support",
- "type": "uint8"
- },
- {
- "internalType": "string",
- "name": "reason",
- "type": "string"
- }
- ],
- "name": "castVoteWithReason",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "internalType": "uint8",
- "name": "support",
- "type": "uint8"
- },
- {
- "internalType": "string",
- "name": "reason",
- "type": "string"
- },
- {
- "internalType": "bytes",
- "name": "params",
- "type": "bytes"
- }
- ],
- "name": "castVoteWithReasonAndParams",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "internalType": "uint8",
- "name": "support",
- "type": "uint8"
- },
- {
- "internalType": "string",
- "name": "reason",
- "type": "string"
- },
- {
- "internalType": "bytes",
- "name": "params",
- "type": "bytes"
- },
- {
- "internalType": "uint8",
- "name": "v",
- "type": "uint8"
- },
- {
- "internalType": "bytes32",
- "name": "r",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "s",
- "type": "bytes32"
- }
- ],
- "name": "castVoteWithReasonAndParamsBySig",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address[]",
- "name": "targets",
- "type": "address[]"
- },
- {
- "internalType": "uint256[]",
- "name": "values",
- "type": "uint256[]"
- },
- {
- "internalType": "bytes[]",
- "name": "calldatas",
- "type": "bytes[]"
- },
- {
- "internalType": "bytes32",
- "name": "descriptionHash",
- "type": "bytes32"
- }
- ],
- "name": "execute",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "payable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "execute",
- "outputs": [],
- "stateMutability": "payable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "getActions",
- "outputs": [
- {
- "internalType": "address[]",
- "name": "targets",
- "type": "address[]"
- },
- {
- "internalType": "uint256[]",
- "name": "values",
- "type": "uint256[]"
- },
- {
- "internalType": "string[]",
- "name": "signatures",
- "type": "string[]"
- },
- {
- "internalType": "bytes[]",
- "name": "calldatas",
- "type": "bytes[]"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "internalType": "address",
- "name": "voter",
- "type": "address"
- }
- ],
- "name": "getReceipt",
- "outputs": [
- {
- "components": [
- {
- "internalType": "bool",
- "name": "hasVoted",
- "type": "bool"
- },
- {
- "internalType": "uint8",
- "name": "support",
- "type": "uint8"
- },
- {
- "internalType": "uint256",
- "name": "votes",
- "type": "uint256"
- }
- ],
- "internalType": "struct IGovernorCompatibilityBravo.Receipt",
- "name": "",
- "type": "tuple"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "blockNumber",
- "type": "uint256"
- }
- ],
- "name": "getVotes",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "blockNumber",
- "type": "uint256"
- },
- {
- "internalType": "bytes",
- "name": "params",
- "type": "bytes"
- }
- ],
- "name": "getVotesWithParams",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "hasVoted",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address[]",
- "name": "targets",
- "type": "address[]"
- },
- {
- "internalType": "uint256[]",
- "name": "values",
- "type": "uint256[]"
- },
- {
- "internalType": "bytes[]",
- "name": "calldatas",
- "type": "bytes[]"
- },
- {
- "internalType": "bytes32",
- "name": "descriptionHash",
- "type": "bytes32"
- }
- ],
- "name": "hashProposal",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "pure",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "lateQuorumVoteExtension",
- "outputs": [
- {
- "internalType": "uint64",
- "name": "",
- "type": "uint64"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "name",
- "outputs": [
- {
- "internalType": "string",
- "name": "",
- "type": "string"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "uint256[]",
- "name": "",
- "type": "uint256[]"
- },
- {
- "internalType": "uint256[]",
- "name": "",
- "type": "uint256[]"
- },
- {
- "internalType": "bytes",
- "name": "",
- "type": "bytes"
- }
- ],
- "name": "onERC1155BatchReceived",
- "outputs": [
- {
- "internalType": "bytes4",
- "name": "",
- "type": "bytes4"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- },
- {
- "internalType": "bytes",
- "name": "",
- "type": "bytes"
- }
- ],
- "name": "onERC1155Received",
- "outputs": [
- {
- "internalType": "bytes4",
- "name": "",
- "type": "bytes4"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- },
- {
- "internalType": "bytes",
- "name": "",
- "type": "bytes"
- }
- ],
- "name": "onERC721Received",
- "outputs": [
- {
- "internalType": "bytes4",
- "name": "",
- "type": "bytes4"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "proposalDeadline",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "proposalEta",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "proposalSnapshot",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "proposalThreshold",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "proposals",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "id",
- "type": "uint256"
- },
- {
- "internalType": "address",
- "name": "proposer",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "eta",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "startBlock",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "endBlock",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "forVotes",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "againstVotes",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "abstainVotes",
- "type": "uint256"
- },
- {
- "internalType": "bool",
- "name": "canceled",
- "type": "bool"
- },
- {
- "internalType": "bool",
- "name": "executed",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address[]",
- "name": "targets",
- "type": "address[]"
- },
- {
- "internalType": "uint256[]",
- "name": "values",
- "type": "uint256[]"
- },
- {
- "internalType": "bytes[]",
- "name": "calldatas",
- "type": "bytes[]"
- },
- {
- "internalType": "string",
- "name": "description",
- "type": "string"
- }
- ],
- "name": "propose",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address[]",
- "name": "targets",
- "type": "address[]"
- },
- {
- "internalType": "uint256[]",
- "name": "values",
- "type": "uint256[]"
- },
- {
- "internalType": "string[]",
- "name": "signatures",
- "type": "string[]"
- },
- {
- "internalType": "bytes[]",
- "name": "calldatas",
- "type": "bytes[]"
- },
- {
- "internalType": "string",
- "name": "description",
- "type": "string"
- }
- ],
- "name": "propose",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address[]",
- "name": "targets",
- "type": "address[]"
- },
- {
- "internalType": "uint256[]",
- "name": "values",
- "type": "uint256[]"
- },
- {
- "internalType": "bytes[]",
- "name": "calldatas",
- "type": "bytes[]"
- },
- {
- "internalType": "bytes32",
- "name": "descriptionHash",
- "type": "bytes32"
- }
- ],
- "name": "queue",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "queue",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "blockNumber",
- "type": "uint256"
- }
- ],
- "name": "quorum",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "quorumDenominator",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "quorumNumerator",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "quorumVotes",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "value",
- "type": "uint256"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- }
- ],
- "name": "relay",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint64",
- "name": "newVoteExtension",
- "type": "uint64"
- }
- ],
- "name": "setLateQuorumVoteExtension",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "newProposalThreshold",
- "type": "uint256"
- }
- ],
- "name": "setProposalThreshold",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "newVotingDelay",
- "type": "uint256"
- }
- ],
- "name": "setVotingDelay",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "newVotingPeriod",
- "type": "uint256"
- }
- ],
- "name": "setVotingPeriod",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "state",
- "outputs": [
- {
- "internalType": "enum IGovernor.ProposalState",
- "name": "",
- "type": "uint8"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes4",
- "name": "interfaceId",
- "type": "bytes4"
- }
- ],
- "name": "supportsInterface",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "timelock",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "token",
- "outputs": [
- {
- "internalType": "contract IVotes",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "newQuorumNumerator",
- "type": "uint256"
- }
- ],
- "name": "updateQuorumNumerator",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "contract TimelockController",
- "name": "newTimelock",
- "type": "address"
- }
- ],
- "name": "updateTimelock",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "version",
- "outputs": [
- {
- "internalType": "string",
- "name": "",
- "type": "string"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "votingDelay",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "votingPeriod",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "stateMutability": "payable",
- "type": "receive"
- }
- ]
- },
- "MandatoryDistributor": {
- "address": "0xcB8e6A82Ab3E585A184F510733AB7FE54d49479d",
- "abi": [
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_token",
- "type": "address"
- },
- {
- "internalType": "bytes32",
- "name": "_merkleRoot",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "_stakingContract",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "_endBlock",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "constructor",
- "name": "constructor"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "uint256",
- "name": "index",
- "type": "uint256"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "Claimed",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "OGVBurned",
- "type": "event"
- },
- {
- "inputs": [],
- "name": "burnRemainingOGV",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_index",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- },
- {
- "internalType": "bytes32[]",
- "name": "_merkleProof",
- "type": "bytes32[]"
- }
- ],
- "name": "claim",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "endBlock",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_index",
- "type": "uint256"
- }
- ],
- "name": "isClaimed",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_index",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- },
- {
- "internalType": "address",
- "name": "_account",
- "type": "address"
- },
- {
- "internalType": "bytes32[]",
- "name": "_merkleProof",
- "type": "bytes32[]"
- }
- ],
- "name": "isProofValid",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "merkleRoot",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "stakingContract",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "token",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- }
- ]
- },
- "OptionalDistributor": {
- "address": "0x5B3551f5BfD0817475396bffbC00dF01661c741A",
- "abi": [
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_token",
- "type": "address"
- },
- {
- "internalType": "bytes32",
- "name": "_merkleRoot",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "_stakingContract",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "_endBlock",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "constructor",
- "name": "constructor"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "uint256",
- "name": "index",
- "type": "uint256"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "Claimed",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "OGVBurned",
- "type": "event"
- },
- {
- "inputs": [],
- "name": "burnRemainingOGV",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_index",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- },
- {
- "internalType": "bytes32[]",
- "name": "_merkleProof",
- "type": "bytes32[]"
- },
- {
- "internalType": "uint256",
- "name": "_stakeDuration",
- "type": "uint256"
- }
- ],
- "name": "claim",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "endBlock",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_index",
- "type": "uint256"
- }
- ],
- "name": "isClaimed",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_index",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- },
- {
- "internalType": "address",
- "name": "_account",
- "type": "address"
- },
- {
- "internalType": "bytes32[]",
- "name": "_merkleProof",
- "type": "bytes32[]"
- }
- ],
- "name": "isProofValid",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "merkleRoot",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "stakingContract",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "token",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- }
- ]
- }
-}
\ No newline at end of file
diff --git a/client/networks/governance.mainnet.json b/client/networks/governance.mainnet.json
deleted file mode 100644
index cc78fbed..00000000
--- a/client/networks/governance.mainnet.json
+++ /dev/null
@@ -1,4729 +0,0 @@
-{
- "OriginDollarGovernance": {
- "address": "0x9c354503c38481a7a7a51629142963f98ecc12d0",
- "abi": [
- {
- "inputs": [],
- "stateMutability": "nonpayable",
- "type": "constructor",
- "name": "constructor"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "previousAdmin",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "newAdmin",
- "type": "address"
- }
- ],
- "name": "AdminChanged",
- "type": "event"
- },
- {
- "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": "beacon",
- "type": "address"
- }
- ],
- "name": "BeaconUpgraded",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint8",
- "name": "version",
- "type": "uint8"
- }
- ],
- "name": "Initialized",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousOwner",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newOwner",
- "type": "address"
- }
- ],
- "name": "OwnershipTransferred",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "previousAdminRole",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "newAdminRole",
- "type": "bytes32"
- }
- ],
- "name": "RoleAdminChanged",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "sender",
- "type": "address"
- }
- ],
- "name": "RoleGranted",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "sender",
- "type": "address"
- }
- ],
- "name": "RoleRevoked",
- "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"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "implementation",
- "type": "address"
- }
- ],
- "name": "Upgraded",
- "type": "event"
- },
- {
- "inputs": [],
- "name": "DEFAULT_ADMIN_ROLE",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "MINTER_ROLE",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "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": "amount",
- "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": [
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "burn",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "burnFrom",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "decimals",
- "outputs": [
- {
- "internalType": "uint8",
- "name": "",
- "type": "uint8"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "spender",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "subtractedValue",
- "type": "uint256"
- }
- ],
- "name": "decreaseAllowance",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- }
- ],
- "name": "getRoleAdmin",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_account",
- "type": "address"
- }
- ],
- "name": "grantAdminRole",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_account",
- "type": "address"
- }
- ],
- "name": "grantMinterRole",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "grantRole",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "hasRole",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "spender",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "addedValue",
- "type": "uint256"
- }
- ],
- "name": "increaseAllowance",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "initialize",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "to",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "mint",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "name",
- "outputs": [
- {
- "internalType": "string",
- "name": "",
- "type": "string"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "owner",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "proxiableUUID",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "renounceOwnership",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "renounceRole",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "revokeRole",
- "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": [],
- "name": "totalSupply",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "to",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "amount",
- "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": "amount",
- "type": "uint256"
- }
- ],
- "name": "transferFrom",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "newOwner",
- "type": "address"
- }
- ],
- "name": "transferOwnership",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "newImplementation",
- "type": "address"
- }
- ],
- "name": "upgradeTo",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "newImplementation",
- "type": "address"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- }
- ],
- "name": "upgradeToAndCall",
- "outputs": [],
- "stateMutability": "payable",
- "type": "function"
- }
- ]
- },
- "RewardsSource": {
- "address": "0x7d82e86cf1496f9485a8ea04012afeb3c7489397",
- "abi": [
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "ogv_",
- "type": "address"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "constructor",
- "name": "constructor"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "GovernorshipTransferred",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [],
- "name": "InflationChanged",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "PendingGovernorshipTransfer",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "previousTarget",
- "type": "address"
- }
- ],
- "name": "RewardsTargetChange",
- "type": "event"
- },
- {
- "inputs": [],
- "name": "claimGovernance",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "collectRewards",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "governor",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "name": "inflationSlopes",
- "outputs": [
- {
- "internalType": "uint64",
- "name": "start",
- "type": "uint64"
- },
- {
- "internalType": "uint64",
- "name": "end",
- "type": "uint64"
- },
- {
- "internalType": "uint128",
- "name": "ratePerDay",
- "type": "uint128"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "isGovernor",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "lastRewardTime",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "ogv",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "previewRewards",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "rewardsTarget",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "components": [
- {
- "internalType": "uint64",
- "name": "start",
- "type": "uint64"
- },
- {
- "internalType": "uint64",
- "name": "end",
- "type": "uint64"
- },
- {
- "internalType": "uint128",
- "name": "ratePerDay",
- "type": "uint128"
- }
- ],
- "internalType": "struct RewardsSource.Slope[]",
- "name": "slopes",
- "type": "tuple[]"
- }
- ],
- "name": "setInflation",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "rewardsTarget_",
- "type": "address"
- }
- ],
- "name": "setRewardsTarget",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_newGovernor",
- "type": "address"
- }
- ],
- "name": "transferGovernance",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- }
- ]
- },
- "OgvStaking": {
- "address": "0x0c4576ca1c365868e162554af8e385dc3e7c66d9",
- "abi": [
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "ogv_",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "epoch_",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "minStakeDuration_",
- "type": "uint256"
- },
- {
- "internalType": "address",
- "name": "rewardsSource_",
- "type": "address"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "constructor",
- "name": "constructor"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "x",
- "type": "uint256"
- }
- ],
- "name": "PRBMathUD60x18__Exp2InputTooBig",
- "type": "error"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "x",
- "type": "uint256"
- }
- ],
- "name": "PRBMathUD60x18__LogInputTooSmall",
- "type": "error"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "prod1",
- "type": "uint256"
- }
- ],
- "name": "PRBMath__MulDivFixedPointOverflow",
- "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": "delegator",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "fromDelegate",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "toDelegate",
- "type": "address"
- }
- ],
- "name": "DelegateChanged",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "delegate",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "previousBalance",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "newBalance",
- "type": "uint256"
- }
- ],
- "name": "DelegateVotesChanged",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "user",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "Reward",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "user",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "lockupId",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "end",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "points",
- "type": "uint256"
- }
- ],
- "name": "Stake",
- "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"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "user",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "lockupId",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "end",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "points",
- "type": "uint256"
- }
- ],
- "name": "Unstake",
- "type": "event"
- },
- {
- "inputs": [],
- "name": "DOMAIN_SEPARATOR",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "accRewardPerShare",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "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": "amount",
- "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": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "internalType": "uint32",
- "name": "pos",
- "type": "uint32"
- }
- ],
- "name": "checkpoints",
- "outputs": [
- {
- "components": [
- {
- "internalType": "uint32",
- "name": "fromBlock",
- "type": "uint32"
- },
- {
- "internalType": "uint224",
- "name": "votes",
- "type": "uint224"
- }
- ],
- "internalType": "struct ERC20Votes.Checkpoint",
- "name": "",
- "type": "tuple"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "collectRewards",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "decimals",
- "outputs": [
- {
- "internalType": "uint8",
- "name": "",
- "type": "uint8"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "spender",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "subtractedValue",
- "type": "uint256"
- }
- ],
- "name": "decreaseAllowance",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "delegatee",
- "type": "address"
- }
- ],
- "name": "delegate",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "delegatee",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "nonce",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "expiry",
- "type": "uint256"
- },
- {
- "internalType": "uint8",
- "name": "v",
- "type": "uint8"
- },
- {
- "internalType": "bytes32",
- "name": "r",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "s",
- "type": "bytes32"
- }
- ],
- "name": "delegateBySig",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "delegates",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "epoch",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "lockupId",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "duration",
- "type": "uint256"
- }
- ],
- "name": "extend",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "blockNumber",
- "type": "uint256"
- }
- ],
- "name": "getPastTotalSupply",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "blockNumber",
- "type": "uint256"
- }
- ],
- "name": "getPastVotes",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "getVotes",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "spender",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "addedValue",
- "type": "uint256"
- }
- ],
- "name": "increaseAllowance",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "name": "lockups",
- "outputs": [
- {
- "internalType": "uint128",
- "name": "amount",
- "type": "uint128"
- },
- {
- "internalType": "uint128",
- "name": "end",
- "type": "uint128"
- },
- {
- "internalType": "uint256",
- "name": "points",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "minStakeDuration",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "name",
- "outputs": [
- {
- "internalType": "string",
- "name": "",
- "type": "string"
- }
- ],
- "stateMutability": "pure",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "owner",
- "type": "address"
- }
- ],
- "name": "nonces",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "numCheckpoints",
- "outputs": [
- {
- "internalType": "uint32",
- "name": "",
- "type": "uint32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "ogv",
- "outputs": [
- {
- "internalType": "contract ERC20",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "owner",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "spender",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "value",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "deadline",
- "type": "uint256"
- },
- {
- "internalType": "uint8",
- "name": "v",
- "type": "uint8"
- },
- {
- "internalType": "bytes32",
- "name": "r",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "s",
- "type": "bytes32"
- }
- ],
- "name": "permit",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "duration",
- "type": "uint256"
- }
- ],
- "name": "previewPoints",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "user",
- "type": "address"
- }
- ],
- "name": "previewRewards",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "name": "rewardDebtPerShare",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "rewardsSource",
- "outputs": [
- {
- "internalType": "contract RewardsSource",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "duration",
- "type": "uint256"
- },
- {
- "internalType": "address",
- "name": "to",
- "type": "address"
- }
- ],
- "name": "stake",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "duration",
- "type": "uint256"
- }
- ],
- "name": "stake",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "symbol",
- "outputs": [
- {
- "internalType": "string",
- "name": "",
- "type": "string"
- }
- ],
- "stateMutability": "pure",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "totalSupply",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "name": "transfer",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "name": "transferFrom",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "lockupId",
- "type": "uint256"
- }
- ],
- "name": "unstake",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- }
- ]
- },
- "Governance": {
- "address": "0x3cdD07c16614059e66344a7b579DAB4f9516C0b6",
- "abi": [
- {
- "inputs": [
- {
- "internalType": "contract ERC20Votes",
- "name": "_token",
- "type": "address"
- },
- {
- "internalType": "contract TimelockController",
- "name": "_timelock",
- "type": "address"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "constructor",
- "name": "constructor"
- },
- {
- "inputs": [],
- "name": "Empty",
- "type": "error"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint64",
- "name": "oldVoteExtension",
- "type": "uint64"
- },
- {
- "indexed": false,
- "internalType": "uint64",
- "name": "newVoteExtension",
- "type": "uint64"
- }
- ],
- "name": "LateQuorumVoteExtensionSet",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "ProposalCanceled",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "proposer",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address[]",
- "name": "targets",
- "type": "address[]"
- },
- {
- "indexed": false,
- "internalType": "uint256[]",
- "name": "values",
- "type": "uint256[]"
- },
- {
- "indexed": false,
- "internalType": "string[]",
- "name": "signatures",
- "type": "string[]"
- },
- {
- "indexed": false,
- "internalType": "bytes[]",
- "name": "calldatas",
- "type": "bytes[]"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "startBlock",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "endBlock",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "string",
- "name": "description",
- "type": "string"
- }
- ],
- "name": "ProposalCreated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "ProposalExecuted",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint64",
- "name": "extendedDeadline",
- "type": "uint64"
- }
- ],
- "name": "ProposalExtended",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "eta",
- "type": "uint256"
- }
- ],
- "name": "ProposalQueued",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "oldProposalThreshold",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "newProposalThreshold",
- "type": "uint256"
- }
- ],
- "name": "ProposalThresholdSet",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "oldQuorumNumerator",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "newQuorumNumerator",
- "type": "uint256"
- }
- ],
- "name": "QuorumNumeratorUpdated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "oldTimelock",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "newTimelock",
- "type": "address"
- }
- ],
- "name": "TimelockChange",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "voter",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint8",
- "name": "support",
- "type": "uint8"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "weight",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "string",
- "name": "reason",
- "type": "string"
- }
- ],
- "name": "VoteCast",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "voter",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint8",
- "name": "support",
- "type": "uint8"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "weight",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "string",
- "name": "reason",
- "type": "string"
- },
- {
- "indexed": false,
- "internalType": "bytes",
- "name": "params",
- "type": "bytes"
- }
- ],
- "name": "VoteCastWithParams",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "oldVotingDelay",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "newVotingDelay",
- "type": "uint256"
- }
- ],
- "name": "VotingDelaySet",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "oldVotingPeriod",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "newVotingPeriod",
- "type": "uint256"
- }
- ],
- "name": "VotingPeriodSet",
- "type": "event"
- },
- {
- "inputs": [],
- "name": "BALLOT_TYPEHASH",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "COUNTING_MODE",
- "outputs": [
- {
- "internalType": "string",
- "name": "",
- "type": "string"
- }
- ],
- "stateMutability": "pure",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "EXTENDED_BALLOT_TYPEHASH",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "cancel",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "internalType": "uint8",
- "name": "support",
- "type": "uint8"
- }
- ],
- "name": "castVote",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "internalType": "uint8",
- "name": "support",
- "type": "uint8"
- },
- {
- "internalType": "uint8",
- "name": "v",
- "type": "uint8"
- },
- {
- "internalType": "bytes32",
- "name": "r",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "s",
- "type": "bytes32"
- }
- ],
- "name": "castVoteBySig",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "internalType": "uint8",
- "name": "support",
- "type": "uint8"
- },
- {
- "internalType": "string",
- "name": "reason",
- "type": "string"
- }
- ],
- "name": "castVoteWithReason",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "internalType": "uint8",
- "name": "support",
- "type": "uint8"
- },
- {
- "internalType": "string",
- "name": "reason",
- "type": "string"
- },
- {
- "internalType": "bytes",
- "name": "params",
- "type": "bytes"
- }
- ],
- "name": "castVoteWithReasonAndParams",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "internalType": "uint8",
- "name": "support",
- "type": "uint8"
- },
- {
- "internalType": "string",
- "name": "reason",
- "type": "string"
- },
- {
- "internalType": "bytes",
- "name": "params",
- "type": "bytes"
- },
- {
- "internalType": "uint8",
- "name": "v",
- "type": "uint8"
- },
- {
- "internalType": "bytes32",
- "name": "r",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "s",
- "type": "bytes32"
- }
- ],
- "name": "castVoteWithReasonAndParamsBySig",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address[]",
- "name": "targets",
- "type": "address[]"
- },
- {
- "internalType": "uint256[]",
- "name": "values",
- "type": "uint256[]"
- },
- {
- "internalType": "bytes[]",
- "name": "calldatas",
- "type": "bytes[]"
- },
- {
- "internalType": "bytes32",
- "name": "descriptionHash",
- "type": "bytes32"
- }
- ],
- "name": "execute",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "payable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "execute",
- "outputs": [],
- "stateMutability": "payable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "getActions",
- "outputs": [
- {
- "internalType": "address[]",
- "name": "targets",
- "type": "address[]"
- },
- {
- "internalType": "uint256[]",
- "name": "values",
- "type": "uint256[]"
- },
- {
- "internalType": "string[]",
- "name": "signatures",
- "type": "string[]"
- },
- {
- "internalType": "bytes[]",
- "name": "calldatas",
- "type": "bytes[]"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "internalType": "address",
- "name": "voter",
- "type": "address"
- }
- ],
- "name": "getReceipt",
- "outputs": [
- {
- "components": [
- {
- "internalType": "bool",
- "name": "hasVoted",
- "type": "bool"
- },
- {
- "internalType": "uint8",
- "name": "support",
- "type": "uint8"
- },
- {
- "internalType": "uint256",
- "name": "votes",
- "type": "uint256"
- }
- ],
- "internalType": "struct IGovernorCompatibilityBravo.Receipt",
- "name": "",
- "type": "tuple"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "blockNumber",
- "type": "uint256"
- }
- ],
- "name": "getVotes",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "blockNumber",
- "type": "uint256"
- },
- {
- "internalType": "bytes",
- "name": "params",
- "type": "bytes"
- }
- ],
- "name": "getVotesWithParams",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "hasVoted",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address[]",
- "name": "targets",
- "type": "address[]"
- },
- {
- "internalType": "uint256[]",
- "name": "values",
- "type": "uint256[]"
- },
- {
- "internalType": "bytes[]",
- "name": "calldatas",
- "type": "bytes[]"
- },
- {
- "internalType": "bytes32",
- "name": "descriptionHash",
- "type": "bytes32"
- }
- ],
- "name": "hashProposal",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "pure",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "lateQuorumVoteExtension",
- "outputs": [
- {
- "internalType": "uint64",
- "name": "",
- "type": "uint64"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "name",
- "outputs": [
- {
- "internalType": "string",
- "name": "",
- "type": "string"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "uint256[]",
- "name": "",
- "type": "uint256[]"
- },
- {
- "internalType": "uint256[]",
- "name": "",
- "type": "uint256[]"
- },
- {
- "internalType": "bytes",
- "name": "",
- "type": "bytes"
- }
- ],
- "name": "onERC1155BatchReceived",
- "outputs": [
- {
- "internalType": "bytes4",
- "name": "",
- "type": "bytes4"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- },
- {
- "internalType": "bytes",
- "name": "",
- "type": "bytes"
- }
- ],
- "name": "onERC1155Received",
- "outputs": [
- {
- "internalType": "bytes4",
- "name": "",
- "type": "bytes4"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- },
- {
- "internalType": "bytes",
- "name": "",
- "type": "bytes"
- }
- ],
- "name": "onERC721Received",
- "outputs": [
- {
- "internalType": "bytes4",
- "name": "",
- "type": "bytes4"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "proposalDeadline",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "proposalEta",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "proposalSnapshot",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "proposalThreshold",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "proposals",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "id",
- "type": "uint256"
- },
- {
- "internalType": "address",
- "name": "proposer",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "eta",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "startBlock",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "endBlock",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "forVotes",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "againstVotes",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "abstainVotes",
- "type": "uint256"
- },
- {
- "internalType": "bool",
- "name": "canceled",
- "type": "bool"
- },
- {
- "internalType": "bool",
- "name": "executed",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address[]",
- "name": "targets",
- "type": "address[]"
- },
- {
- "internalType": "uint256[]",
- "name": "values",
- "type": "uint256[]"
- },
- {
- "internalType": "bytes[]",
- "name": "calldatas",
- "type": "bytes[]"
- },
- {
- "internalType": "string",
- "name": "description",
- "type": "string"
- }
- ],
- "name": "propose",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address[]",
- "name": "targets",
- "type": "address[]"
- },
- {
- "internalType": "uint256[]",
- "name": "values",
- "type": "uint256[]"
- },
- {
- "internalType": "string[]",
- "name": "signatures",
- "type": "string[]"
- },
- {
- "internalType": "bytes[]",
- "name": "calldatas",
- "type": "bytes[]"
- },
- {
- "internalType": "string",
- "name": "description",
- "type": "string"
- }
- ],
- "name": "propose",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address[]",
- "name": "targets",
- "type": "address[]"
- },
- {
- "internalType": "uint256[]",
- "name": "values",
- "type": "uint256[]"
- },
- {
- "internalType": "bytes[]",
- "name": "calldatas",
- "type": "bytes[]"
- },
- {
- "internalType": "bytes32",
- "name": "descriptionHash",
- "type": "bytes32"
- }
- ],
- "name": "queue",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "queue",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "blockNumber",
- "type": "uint256"
- }
- ],
- "name": "quorum",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "quorumDenominator",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "quorumNumerator",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "quorumVotes",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "value",
- "type": "uint256"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- }
- ],
- "name": "relay",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint64",
- "name": "newVoteExtension",
- "type": "uint64"
- }
- ],
- "name": "setLateQuorumVoteExtension",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "newProposalThreshold",
- "type": "uint256"
- }
- ],
- "name": "setProposalThreshold",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "newVotingDelay",
- "type": "uint256"
- }
- ],
- "name": "setVotingDelay",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "newVotingPeriod",
- "type": "uint256"
- }
- ],
- "name": "setVotingPeriod",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "state",
- "outputs": [
- {
- "internalType": "enum IGovernor.ProposalState",
- "name": "",
- "type": "uint8"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes4",
- "name": "interfaceId",
- "type": "bytes4"
- }
- ],
- "name": "supportsInterface",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "timelock",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "token",
- "outputs": [
- {
- "internalType": "contract IVotes",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "newQuorumNumerator",
- "type": "uint256"
- }
- ],
- "name": "updateQuorumNumerator",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "contract TimelockController",
- "name": "newTimelock",
- "type": "address"
- }
- ],
- "name": "updateTimelock",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "version",
- "outputs": [
- {
- "internalType": "string",
- "name": "",
- "type": "string"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "votingDelay",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "votingPeriod",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "stateMutability": "payable",
- "type": "receive"
- }
- ]
- },
- "TimelockController": {
- "address": "0x35918cDE7233F2dD33fA41ae3Cb6aE0e42E0e69F",
- "abi": [
- {
- "inputs": [
- {
- "internalType": "address[]",
- "name": "proposers",
- "type": "address[]"
- },
- {
- "internalType": "address[]",
- "name": "executors",
- "type": "address[]"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "constructor",
- "name": "constructor"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "id",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "uint256",
- "name": "index",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "value",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- }
- ],
- "name": "CallExecuted",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "id",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "uint256",
- "name": "index",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "value",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- },
- {
- "indexed": false,
- "internalType": "bytes32",
- "name": "predecessor",
- "type": "bytes32"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "delay",
- "type": "uint256"
- }
- ],
- "name": "CallScheduled",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "id",
- "type": "bytes32"
- }
- ],
- "name": "Cancelled",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "oldDuration",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "newDuration",
- "type": "uint256"
- }
- ],
- "name": "MinDelayChange",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "previousAdminRole",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "newAdminRole",
- "type": "bytes32"
- }
- ],
- "name": "RoleAdminChanged",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "sender",
- "type": "address"
- }
- ],
- "name": "RoleGranted",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "sender",
- "type": "address"
- }
- ],
- "name": "RoleRevoked",
- "type": "event"
- },
- {
- "inputs": [],
- "name": "CANCELLER_ROLE",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "DEFAULT_ADMIN_ROLE",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "EXECUTOR_ROLE",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "PROPOSER_ROLE",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "TIMELOCK_ADMIN_ROLE",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "id",
- "type": "bytes32"
- }
- ],
- "name": "cancel",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "value",
- "type": "uint256"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- },
- {
- "internalType": "bytes32",
- "name": "predecessor",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "salt",
- "type": "bytes32"
- }
- ],
- "name": "execute",
- "outputs": [],
- "stateMutability": "payable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address[]",
- "name": "targets",
- "type": "address[]"
- },
- {
- "internalType": "uint256[]",
- "name": "values",
- "type": "uint256[]"
- },
- {
- "internalType": "bytes[]",
- "name": "payloads",
- "type": "bytes[]"
- },
- {
- "internalType": "bytes32",
- "name": "predecessor",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "salt",
- "type": "bytes32"
- }
- ],
- "name": "executeBatch",
- "outputs": [],
- "stateMutability": "payable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "getMinDelay",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "duration",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- }
- ],
- "name": "getRoleAdmin",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "id",
- "type": "bytes32"
- }
- ],
- "name": "getTimestamp",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "timestamp",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "grantRole",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "hasRole",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "value",
- "type": "uint256"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- },
- {
- "internalType": "bytes32",
- "name": "predecessor",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "salt",
- "type": "bytes32"
- }
- ],
- "name": "hashOperation",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "hash",
- "type": "bytes32"
- }
- ],
- "stateMutability": "pure",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address[]",
- "name": "targets",
- "type": "address[]"
- },
- {
- "internalType": "uint256[]",
- "name": "values",
- "type": "uint256[]"
- },
- {
- "internalType": "bytes[]",
- "name": "payloads",
- "type": "bytes[]"
- },
- {
- "internalType": "bytes32",
- "name": "predecessor",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "salt",
- "type": "bytes32"
- }
- ],
- "name": "hashOperationBatch",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "hash",
- "type": "bytes32"
- }
- ],
- "stateMutability": "pure",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "id",
- "type": "bytes32"
- }
- ],
- "name": "isOperation",
- "outputs": [
- {
- "internalType": "bool",
- "name": "pending",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "id",
- "type": "bytes32"
- }
- ],
- "name": "isOperationDone",
- "outputs": [
- {
- "internalType": "bool",
- "name": "done",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "id",
- "type": "bytes32"
- }
- ],
- "name": "isOperationPending",
- "outputs": [
- {
- "internalType": "bool",
- "name": "pending",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "id",
- "type": "bytes32"
- }
- ],
- "name": "isOperationReady",
- "outputs": [
- {
- "internalType": "bool",
- "name": "ready",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "uint256[]",
- "name": "",
- "type": "uint256[]"
- },
- {
- "internalType": "uint256[]",
- "name": "",
- "type": "uint256[]"
- },
- {
- "internalType": "bytes",
- "name": "",
- "type": "bytes"
- }
- ],
- "name": "onERC1155BatchReceived",
- "outputs": [
- {
- "internalType": "bytes4",
- "name": "",
- "type": "bytes4"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- },
- {
- "internalType": "bytes",
- "name": "",
- "type": "bytes"
- }
- ],
- "name": "onERC1155Received",
- "outputs": [
- {
- "internalType": "bytes4",
- "name": "",
- "type": "bytes4"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- },
- {
- "internalType": "bytes",
- "name": "",
- "type": "bytes"
- }
- ],
- "name": "onERC721Received",
- "outputs": [
- {
- "internalType": "bytes4",
- "name": "",
- "type": "bytes4"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "renounceRole",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "revokeRole",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "value",
- "type": "uint256"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- },
- {
- "internalType": "bytes32",
- "name": "predecessor",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "salt",
- "type": "bytes32"
- },
- {
- "internalType": "uint256",
- "name": "delay",
- "type": "uint256"
- }
- ],
- "name": "schedule",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address[]",
- "name": "targets",
- "type": "address[]"
- },
- {
- "internalType": "uint256[]",
- "name": "values",
- "type": "uint256[]"
- },
- {
- "internalType": "bytes[]",
- "name": "payloads",
- "type": "bytes[]"
- },
- {
- "internalType": "bytes32",
- "name": "predecessor",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "salt",
- "type": "bytes32"
- },
- {
- "internalType": "uint256",
- "name": "delay",
- "type": "uint256"
- }
- ],
- "name": "scheduleBatch",
- "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": [
- {
- "internalType": "uint256",
- "name": "newDelay",
- "type": "uint256"
- }
- ],
- "name": "updateDelay",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "stateMutability": "payable",
- "type": "receive"
- }
- ]
- },
- "MandatoryDistributor": {
- "address": "0xD667091c2d1DCc8620f4eaEA254CdFB0a176718D",
- "abi": [
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_token",
- "type": "address"
- },
- {
- "internalType": "bytes32",
- "name": "_merkleRoot",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "_stakingContract",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "_endBlock",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "constructor",
- "name": "constructor"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "uint256",
- "name": "index",
- "type": "uint256"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "Claimed",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "OGVBurned",
- "type": "event"
- },
- {
- "inputs": [],
- "name": "burnRemainingOGV",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_index",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- },
- {
- "internalType": "bytes32[]",
- "name": "_merkleProof",
- "type": "bytes32[]"
- }
- ],
- "name": "claim",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "endBlock",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_index",
- "type": "uint256"
- }
- ],
- "name": "isClaimed",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_index",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- },
- {
- "internalType": "address",
- "name": "_account",
- "type": "address"
- },
- {
- "internalType": "bytes32[]",
- "name": "_merkleProof",
- "type": "bytes32[]"
- }
- ],
- "name": "isProofValid",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "merkleRoot",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "stakingContract",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "token",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- }
- ]
- },
- "OptionalDistributor": {
- "address": "0x7aE2334f12a449895AD21d4c255D9DE194fe986f",
- "abi": [
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_token",
- "type": "address"
- },
- {
- "internalType": "bytes32",
- "name": "_merkleRoot",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "_stakingContract",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "_endBlock",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "constructor",
- "name": "constructor"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "uint256",
- "name": "index",
- "type": "uint256"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "Claimed",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "OGVBurned",
- "type": "event"
- },
- {
- "inputs": [],
- "name": "burnRemainingOGV",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_index",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- },
- {
- "internalType": "bytes32[]",
- "name": "_merkleProof",
- "type": "bytes32[]"
- },
- {
- "internalType": "uint256",
- "name": "_stakeDuration",
- "type": "uint256"
- }
- ],
- "name": "claim",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "endBlock",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_index",
- "type": "uint256"
- }
- ],
- "name": "isClaimed",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_index",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- },
- {
- "internalType": "address",
- "name": "_account",
- "type": "address"
- },
- {
- "internalType": "bytes32[]",
- "name": "_merkleProof",
- "type": "bytes32[]"
- }
- ],
- "name": "isProofValid",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "merkleRoot",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "stakingContract",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "token",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- }
- ]
- }
-}
\ No newline at end of file
diff --git a/client/networks/governance.rinkeby.json b/client/networks/governance.rinkeby.json
deleted file mode 100644
index 6b5cfcf2..00000000
--- a/client/networks/governance.rinkeby.json
+++ /dev/null
@@ -1,4729 +0,0 @@
-{
- "OriginDollarGovernance": {
- "address": "0xaC878b3B27186e9e240CAE3aB539fbe5D6531e6C",
- "abi": [
- {
- "inputs": [],
- "stateMutability": "nonpayable",
- "type": "constructor",
- "name": "constructor"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "previousAdmin",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "newAdmin",
- "type": "address"
- }
- ],
- "name": "AdminChanged",
- "type": "event"
- },
- {
- "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": "beacon",
- "type": "address"
- }
- ],
- "name": "BeaconUpgraded",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint8",
- "name": "version",
- "type": "uint8"
- }
- ],
- "name": "Initialized",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousOwner",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newOwner",
- "type": "address"
- }
- ],
- "name": "OwnershipTransferred",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "previousAdminRole",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "newAdminRole",
- "type": "bytes32"
- }
- ],
- "name": "RoleAdminChanged",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "sender",
- "type": "address"
- }
- ],
- "name": "RoleGranted",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "sender",
- "type": "address"
- }
- ],
- "name": "RoleRevoked",
- "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"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "implementation",
- "type": "address"
- }
- ],
- "name": "Upgraded",
- "type": "event"
- },
- {
- "inputs": [],
- "name": "DEFAULT_ADMIN_ROLE",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "MINTER_ROLE",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "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": "amount",
- "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": [
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "burn",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "burnFrom",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "decimals",
- "outputs": [
- {
- "internalType": "uint8",
- "name": "",
- "type": "uint8"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "spender",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "subtractedValue",
- "type": "uint256"
- }
- ],
- "name": "decreaseAllowance",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- }
- ],
- "name": "getRoleAdmin",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_account",
- "type": "address"
- }
- ],
- "name": "grantAdminRole",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_account",
- "type": "address"
- }
- ],
- "name": "grantMinterRole",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "grantRole",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "hasRole",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "spender",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "addedValue",
- "type": "uint256"
- }
- ],
- "name": "increaseAllowance",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "initialize",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "to",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "mint",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "name",
- "outputs": [
- {
- "internalType": "string",
- "name": "",
- "type": "string"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "owner",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "proxiableUUID",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "renounceOwnership",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "renounceRole",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "revokeRole",
- "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": [],
- "name": "totalSupply",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "to",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "amount",
- "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": "amount",
- "type": "uint256"
- }
- ],
- "name": "transferFrom",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "newOwner",
- "type": "address"
- }
- ],
- "name": "transferOwnership",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "newImplementation",
- "type": "address"
- }
- ],
- "name": "upgradeTo",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "newImplementation",
- "type": "address"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- }
- ],
- "name": "upgradeToAndCall",
- "outputs": [],
- "stateMutability": "payable",
- "type": "function"
- }
- ]
- },
- "RewardsSource": {
- "address": "0x81eAEd11F78F086444D8e58B1d692F29129d7aaE",
- "abi": [
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "ogv_",
- "type": "address"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "constructor",
- "name": "constructor"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "GovernorshipTransferred",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [],
- "name": "InflationChanged",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "PendingGovernorshipTransfer",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "previousTarget",
- "type": "address"
- }
- ],
- "name": "RewardsTargetChange",
- "type": "event"
- },
- {
- "inputs": [],
- "name": "claimGovernance",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "collectRewards",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "governor",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "name": "inflationSlopes",
- "outputs": [
- {
- "internalType": "uint64",
- "name": "start",
- "type": "uint64"
- },
- {
- "internalType": "uint64",
- "name": "end",
- "type": "uint64"
- },
- {
- "internalType": "uint128",
- "name": "ratePerDay",
- "type": "uint128"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "isGovernor",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "lastRewardTime",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "ogv",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "previewRewards",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "rewardsTarget",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "components": [
- {
- "internalType": "uint64",
- "name": "start",
- "type": "uint64"
- },
- {
- "internalType": "uint64",
- "name": "end",
- "type": "uint64"
- },
- {
- "internalType": "uint128",
- "name": "ratePerDay",
- "type": "uint128"
- }
- ],
- "internalType": "struct RewardsSource.Slope[]",
- "name": "slopes",
- "type": "tuple[]"
- }
- ],
- "name": "setInflation",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "rewardsTarget_",
- "type": "address"
- }
- ],
- "name": "setRewardsTarget",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_newGovernor",
- "type": "address"
- }
- ],
- "name": "transferGovernance",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- }
- ]
- },
- "OgvStaking": {
- "address": "0x24E8d544eB56b3Ef062e8e2E9DF892D124f332c4",
- "abi": [
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "ogv_",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "epoch_",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "minStakeDuration_",
- "type": "uint256"
- },
- {
- "internalType": "address",
- "name": "rewardsSource_",
- "type": "address"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "constructor",
- "name": "constructor"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "x",
- "type": "uint256"
- }
- ],
- "name": "PRBMathUD60x18__Exp2InputTooBig",
- "type": "error"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "x",
- "type": "uint256"
- }
- ],
- "name": "PRBMathUD60x18__LogInputTooSmall",
- "type": "error"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "prod1",
- "type": "uint256"
- }
- ],
- "name": "PRBMath__MulDivFixedPointOverflow",
- "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": "delegator",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "fromDelegate",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "toDelegate",
- "type": "address"
- }
- ],
- "name": "DelegateChanged",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "delegate",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "previousBalance",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "newBalance",
- "type": "uint256"
- }
- ],
- "name": "DelegateVotesChanged",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "user",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "Reward",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "user",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "lockupId",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "end",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "points",
- "type": "uint256"
- }
- ],
- "name": "Stake",
- "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"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "user",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "lockupId",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "end",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "points",
- "type": "uint256"
- }
- ],
- "name": "Unstake",
- "type": "event"
- },
- {
- "inputs": [],
- "name": "DOMAIN_SEPARATOR",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "accRewardPerShare",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "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": "amount",
- "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": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "internalType": "uint32",
- "name": "pos",
- "type": "uint32"
- }
- ],
- "name": "checkpoints",
- "outputs": [
- {
- "components": [
- {
- "internalType": "uint32",
- "name": "fromBlock",
- "type": "uint32"
- },
- {
- "internalType": "uint224",
- "name": "votes",
- "type": "uint224"
- }
- ],
- "internalType": "struct ERC20Votes.Checkpoint",
- "name": "",
- "type": "tuple"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "collectRewards",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "decimals",
- "outputs": [
- {
- "internalType": "uint8",
- "name": "",
- "type": "uint8"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "spender",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "subtractedValue",
- "type": "uint256"
- }
- ],
- "name": "decreaseAllowance",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "delegatee",
- "type": "address"
- }
- ],
- "name": "delegate",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "delegatee",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "nonce",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "expiry",
- "type": "uint256"
- },
- {
- "internalType": "uint8",
- "name": "v",
- "type": "uint8"
- },
- {
- "internalType": "bytes32",
- "name": "r",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "s",
- "type": "bytes32"
- }
- ],
- "name": "delegateBySig",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "delegates",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "epoch",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "lockupId",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "duration",
- "type": "uint256"
- }
- ],
- "name": "extend",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "blockNumber",
- "type": "uint256"
- }
- ],
- "name": "getPastTotalSupply",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "blockNumber",
- "type": "uint256"
- }
- ],
- "name": "getPastVotes",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "getVotes",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "spender",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "addedValue",
- "type": "uint256"
- }
- ],
- "name": "increaseAllowance",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "name": "lockups",
- "outputs": [
- {
- "internalType": "uint128",
- "name": "amount",
- "type": "uint128"
- },
- {
- "internalType": "uint128",
- "name": "end",
- "type": "uint128"
- },
- {
- "internalType": "uint256",
- "name": "points",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "minStakeDuration",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "name",
- "outputs": [
- {
- "internalType": "string",
- "name": "",
- "type": "string"
- }
- ],
- "stateMutability": "pure",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "owner",
- "type": "address"
- }
- ],
- "name": "nonces",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "numCheckpoints",
- "outputs": [
- {
- "internalType": "uint32",
- "name": "",
- "type": "uint32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "ogv",
- "outputs": [
- {
- "internalType": "contract ERC20",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "owner",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "spender",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "value",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "deadline",
- "type": "uint256"
- },
- {
- "internalType": "uint8",
- "name": "v",
- "type": "uint8"
- },
- {
- "internalType": "bytes32",
- "name": "r",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "s",
- "type": "bytes32"
- }
- ],
- "name": "permit",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "duration",
- "type": "uint256"
- }
- ],
- "name": "previewPoints",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "user",
- "type": "address"
- }
- ],
- "name": "previewRewards",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "name": "rewardDebtPerShare",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "rewardsSource",
- "outputs": [
- {
- "internalType": "contract RewardsSource",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "duration",
- "type": "uint256"
- },
- {
- "internalType": "address",
- "name": "to",
- "type": "address"
- }
- ],
- "name": "stake",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "duration",
- "type": "uint256"
- }
- ],
- "name": "stake",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "symbol",
- "outputs": [
- {
- "internalType": "string",
- "name": "",
- "type": "string"
- }
- ],
- "stateMutability": "pure",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "totalSupply",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "name": "transfer",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "name": "transferFrom",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "lockupId",
- "type": "uint256"
- }
- ],
- "name": "unstake",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- }
- ]
- },
- "TimelockController": {
- "address": "0x098d82C35F8197634a3C3381e24601fE510148B2",
- "abi": [
- {
- "inputs": [
- {
- "internalType": "address[]",
- "name": "proposers",
- "type": "address[]"
- },
- {
- "internalType": "address[]",
- "name": "executors",
- "type": "address[]"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "constructor",
- "name": "constructor"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "id",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "uint256",
- "name": "index",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "value",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- }
- ],
- "name": "CallExecuted",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "id",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "uint256",
- "name": "index",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "value",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- },
- {
- "indexed": false,
- "internalType": "bytes32",
- "name": "predecessor",
- "type": "bytes32"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "delay",
- "type": "uint256"
- }
- ],
- "name": "CallScheduled",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "id",
- "type": "bytes32"
- }
- ],
- "name": "Cancelled",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "oldDuration",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "newDuration",
- "type": "uint256"
- }
- ],
- "name": "MinDelayChange",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "previousAdminRole",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "newAdminRole",
- "type": "bytes32"
- }
- ],
- "name": "RoleAdminChanged",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "sender",
- "type": "address"
- }
- ],
- "name": "RoleGranted",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "sender",
- "type": "address"
- }
- ],
- "name": "RoleRevoked",
- "type": "event"
- },
- {
- "inputs": [],
- "name": "CANCELLER_ROLE",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "DEFAULT_ADMIN_ROLE",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "EXECUTOR_ROLE",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "PROPOSER_ROLE",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "TIMELOCK_ADMIN_ROLE",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "id",
- "type": "bytes32"
- }
- ],
- "name": "cancel",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "value",
- "type": "uint256"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- },
- {
- "internalType": "bytes32",
- "name": "predecessor",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "salt",
- "type": "bytes32"
- }
- ],
- "name": "execute",
- "outputs": [],
- "stateMutability": "payable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address[]",
- "name": "targets",
- "type": "address[]"
- },
- {
- "internalType": "uint256[]",
- "name": "values",
- "type": "uint256[]"
- },
- {
- "internalType": "bytes[]",
- "name": "payloads",
- "type": "bytes[]"
- },
- {
- "internalType": "bytes32",
- "name": "predecessor",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "salt",
- "type": "bytes32"
- }
- ],
- "name": "executeBatch",
- "outputs": [],
- "stateMutability": "payable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "getMinDelay",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "duration",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- }
- ],
- "name": "getRoleAdmin",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "id",
- "type": "bytes32"
- }
- ],
- "name": "getTimestamp",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "timestamp",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "grantRole",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "hasRole",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "value",
- "type": "uint256"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- },
- {
- "internalType": "bytes32",
- "name": "predecessor",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "salt",
- "type": "bytes32"
- }
- ],
- "name": "hashOperation",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "hash",
- "type": "bytes32"
- }
- ],
- "stateMutability": "pure",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address[]",
- "name": "targets",
- "type": "address[]"
- },
- {
- "internalType": "uint256[]",
- "name": "values",
- "type": "uint256[]"
- },
- {
- "internalType": "bytes[]",
- "name": "payloads",
- "type": "bytes[]"
- },
- {
- "internalType": "bytes32",
- "name": "predecessor",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "salt",
- "type": "bytes32"
- }
- ],
- "name": "hashOperationBatch",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "hash",
- "type": "bytes32"
- }
- ],
- "stateMutability": "pure",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "id",
- "type": "bytes32"
- }
- ],
- "name": "isOperation",
- "outputs": [
- {
- "internalType": "bool",
- "name": "pending",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "id",
- "type": "bytes32"
- }
- ],
- "name": "isOperationDone",
- "outputs": [
- {
- "internalType": "bool",
- "name": "done",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "id",
- "type": "bytes32"
- }
- ],
- "name": "isOperationPending",
- "outputs": [
- {
- "internalType": "bool",
- "name": "pending",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "id",
- "type": "bytes32"
- }
- ],
- "name": "isOperationReady",
- "outputs": [
- {
- "internalType": "bool",
- "name": "ready",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "uint256[]",
- "name": "",
- "type": "uint256[]"
- },
- {
- "internalType": "uint256[]",
- "name": "",
- "type": "uint256[]"
- },
- {
- "internalType": "bytes",
- "name": "",
- "type": "bytes"
- }
- ],
- "name": "onERC1155BatchReceived",
- "outputs": [
- {
- "internalType": "bytes4",
- "name": "",
- "type": "bytes4"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- },
- {
- "internalType": "bytes",
- "name": "",
- "type": "bytes"
- }
- ],
- "name": "onERC1155Received",
- "outputs": [
- {
- "internalType": "bytes4",
- "name": "",
- "type": "bytes4"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- },
- {
- "internalType": "bytes",
- "name": "",
- "type": "bytes"
- }
- ],
- "name": "onERC721Received",
- "outputs": [
- {
- "internalType": "bytes4",
- "name": "",
- "type": "bytes4"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "renounceRole",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "role",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "revokeRole",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "value",
- "type": "uint256"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- },
- {
- "internalType": "bytes32",
- "name": "predecessor",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "salt",
- "type": "bytes32"
- },
- {
- "internalType": "uint256",
- "name": "delay",
- "type": "uint256"
- }
- ],
- "name": "schedule",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address[]",
- "name": "targets",
- "type": "address[]"
- },
- {
- "internalType": "uint256[]",
- "name": "values",
- "type": "uint256[]"
- },
- {
- "internalType": "bytes[]",
- "name": "payloads",
- "type": "bytes[]"
- },
- {
- "internalType": "bytes32",
- "name": "predecessor",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "salt",
- "type": "bytes32"
- },
- {
- "internalType": "uint256",
- "name": "delay",
- "type": "uint256"
- }
- ],
- "name": "scheduleBatch",
- "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": [
- {
- "internalType": "uint256",
- "name": "newDelay",
- "type": "uint256"
- }
- ],
- "name": "updateDelay",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "stateMutability": "payable",
- "type": "receive"
- }
- ]
- },
- "Governance": {
- "address": "0x6F3785e7BE158cea8E4da86B17b8761868c4e474",
- "abi": [
- {
- "inputs": [
- {
- "internalType": "contract ERC20Votes",
- "name": "_token",
- "type": "address"
- },
- {
- "internalType": "contract TimelockController",
- "name": "_timelock",
- "type": "address"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "constructor",
- "name": "constructor"
- },
- {
- "inputs": [],
- "name": "Empty",
- "type": "error"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint64",
- "name": "oldVoteExtension",
- "type": "uint64"
- },
- {
- "indexed": false,
- "internalType": "uint64",
- "name": "newVoteExtension",
- "type": "uint64"
- }
- ],
- "name": "LateQuorumVoteExtensionSet",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "ProposalCanceled",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "proposer",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address[]",
- "name": "targets",
- "type": "address[]"
- },
- {
- "indexed": false,
- "internalType": "uint256[]",
- "name": "values",
- "type": "uint256[]"
- },
- {
- "indexed": false,
- "internalType": "string[]",
- "name": "signatures",
- "type": "string[]"
- },
- {
- "indexed": false,
- "internalType": "bytes[]",
- "name": "calldatas",
- "type": "bytes[]"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "startBlock",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "endBlock",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "string",
- "name": "description",
- "type": "string"
- }
- ],
- "name": "ProposalCreated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "ProposalExecuted",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint64",
- "name": "extendedDeadline",
- "type": "uint64"
- }
- ],
- "name": "ProposalExtended",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "eta",
- "type": "uint256"
- }
- ],
- "name": "ProposalQueued",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "oldProposalThreshold",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "newProposalThreshold",
- "type": "uint256"
- }
- ],
- "name": "ProposalThresholdSet",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "oldQuorumNumerator",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "newQuorumNumerator",
- "type": "uint256"
- }
- ],
- "name": "QuorumNumeratorUpdated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "oldTimelock",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "newTimelock",
- "type": "address"
- }
- ],
- "name": "TimelockChange",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "voter",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint8",
- "name": "support",
- "type": "uint8"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "weight",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "string",
- "name": "reason",
- "type": "string"
- }
- ],
- "name": "VoteCast",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "voter",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint8",
- "name": "support",
- "type": "uint8"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "weight",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "string",
- "name": "reason",
- "type": "string"
- },
- {
- "indexed": false,
- "internalType": "bytes",
- "name": "params",
- "type": "bytes"
- }
- ],
- "name": "VoteCastWithParams",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "oldVotingDelay",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "newVotingDelay",
- "type": "uint256"
- }
- ],
- "name": "VotingDelaySet",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "oldVotingPeriod",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "newVotingPeriod",
- "type": "uint256"
- }
- ],
- "name": "VotingPeriodSet",
- "type": "event"
- },
- {
- "inputs": [],
- "name": "BALLOT_TYPEHASH",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "COUNTING_MODE",
- "outputs": [
- {
- "internalType": "string",
- "name": "",
- "type": "string"
- }
- ],
- "stateMutability": "pure",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "EXTENDED_BALLOT_TYPEHASH",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "cancel",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "internalType": "uint8",
- "name": "support",
- "type": "uint8"
- }
- ],
- "name": "castVote",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "internalType": "uint8",
- "name": "support",
- "type": "uint8"
- },
- {
- "internalType": "uint8",
- "name": "v",
- "type": "uint8"
- },
- {
- "internalType": "bytes32",
- "name": "r",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "s",
- "type": "bytes32"
- }
- ],
- "name": "castVoteBySig",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "internalType": "uint8",
- "name": "support",
- "type": "uint8"
- },
- {
- "internalType": "string",
- "name": "reason",
- "type": "string"
- }
- ],
- "name": "castVoteWithReason",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "internalType": "uint8",
- "name": "support",
- "type": "uint8"
- },
- {
- "internalType": "string",
- "name": "reason",
- "type": "string"
- },
- {
- "internalType": "bytes",
- "name": "params",
- "type": "bytes"
- }
- ],
- "name": "castVoteWithReasonAndParams",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "internalType": "uint8",
- "name": "support",
- "type": "uint8"
- },
- {
- "internalType": "string",
- "name": "reason",
- "type": "string"
- },
- {
- "internalType": "bytes",
- "name": "params",
- "type": "bytes"
- },
- {
- "internalType": "uint8",
- "name": "v",
- "type": "uint8"
- },
- {
- "internalType": "bytes32",
- "name": "r",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "s",
- "type": "bytes32"
- }
- ],
- "name": "castVoteWithReasonAndParamsBySig",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address[]",
- "name": "targets",
- "type": "address[]"
- },
- {
- "internalType": "uint256[]",
- "name": "values",
- "type": "uint256[]"
- },
- {
- "internalType": "bytes[]",
- "name": "calldatas",
- "type": "bytes[]"
- },
- {
- "internalType": "bytes32",
- "name": "descriptionHash",
- "type": "bytes32"
- }
- ],
- "name": "execute",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "payable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "execute",
- "outputs": [],
- "stateMutability": "payable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "getActions",
- "outputs": [
- {
- "internalType": "address[]",
- "name": "targets",
- "type": "address[]"
- },
- {
- "internalType": "uint256[]",
- "name": "values",
- "type": "uint256[]"
- },
- {
- "internalType": "string[]",
- "name": "signatures",
- "type": "string[]"
- },
- {
- "internalType": "bytes[]",
- "name": "calldatas",
- "type": "bytes[]"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "internalType": "address",
- "name": "voter",
- "type": "address"
- }
- ],
- "name": "getReceipt",
- "outputs": [
- {
- "components": [
- {
- "internalType": "bool",
- "name": "hasVoted",
- "type": "bool"
- },
- {
- "internalType": "uint8",
- "name": "support",
- "type": "uint8"
- },
- {
- "internalType": "uint256",
- "name": "votes",
- "type": "uint256"
- }
- ],
- "internalType": "struct IGovernorCompatibilityBravo.Receipt",
- "name": "",
- "type": "tuple"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "blockNumber",
- "type": "uint256"
- }
- ],
- "name": "getVotes",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "blockNumber",
- "type": "uint256"
- },
- {
- "internalType": "bytes",
- "name": "params",
- "type": "bytes"
- }
- ],
- "name": "getVotesWithParams",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- },
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "hasVoted",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address[]",
- "name": "targets",
- "type": "address[]"
- },
- {
- "internalType": "uint256[]",
- "name": "values",
- "type": "uint256[]"
- },
- {
- "internalType": "bytes[]",
- "name": "calldatas",
- "type": "bytes[]"
- },
- {
- "internalType": "bytes32",
- "name": "descriptionHash",
- "type": "bytes32"
- }
- ],
- "name": "hashProposal",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "pure",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "lateQuorumVoteExtension",
- "outputs": [
- {
- "internalType": "uint64",
- "name": "",
- "type": "uint64"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "name",
- "outputs": [
- {
- "internalType": "string",
- "name": "",
- "type": "string"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "uint256[]",
- "name": "",
- "type": "uint256[]"
- },
- {
- "internalType": "uint256[]",
- "name": "",
- "type": "uint256[]"
- },
- {
- "internalType": "bytes",
- "name": "",
- "type": "bytes"
- }
- ],
- "name": "onERC1155BatchReceived",
- "outputs": [
- {
- "internalType": "bytes4",
- "name": "",
- "type": "bytes4"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- },
- {
- "internalType": "bytes",
- "name": "",
- "type": "bytes"
- }
- ],
- "name": "onERC1155Received",
- "outputs": [
- {
- "internalType": "bytes4",
- "name": "",
- "type": "bytes4"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- },
- {
- "internalType": "bytes",
- "name": "",
- "type": "bytes"
- }
- ],
- "name": "onERC721Received",
- "outputs": [
- {
- "internalType": "bytes4",
- "name": "",
- "type": "bytes4"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "proposalDeadline",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "proposalEta",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "proposalSnapshot",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "proposalThreshold",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "proposals",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "id",
- "type": "uint256"
- },
- {
- "internalType": "address",
- "name": "proposer",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "eta",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "startBlock",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "endBlock",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "forVotes",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "againstVotes",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "abstainVotes",
- "type": "uint256"
- },
- {
- "internalType": "bool",
- "name": "canceled",
- "type": "bool"
- },
- {
- "internalType": "bool",
- "name": "executed",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address[]",
- "name": "targets",
- "type": "address[]"
- },
- {
- "internalType": "uint256[]",
- "name": "values",
- "type": "uint256[]"
- },
- {
- "internalType": "bytes[]",
- "name": "calldatas",
- "type": "bytes[]"
- },
- {
- "internalType": "string",
- "name": "description",
- "type": "string"
- }
- ],
- "name": "propose",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address[]",
- "name": "targets",
- "type": "address[]"
- },
- {
- "internalType": "uint256[]",
- "name": "values",
- "type": "uint256[]"
- },
- {
- "internalType": "string[]",
- "name": "signatures",
- "type": "string[]"
- },
- {
- "internalType": "bytes[]",
- "name": "calldatas",
- "type": "bytes[]"
- },
- {
- "internalType": "string",
- "name": "description",
- "type": "string"
- }
- ],
- "name": "propose",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address[]",
- "name": "targets",
- "type": "address[]"
- },
- {
- "internalType": "uint256[]",
- "name": "values",
- "type": "uint256[]"
- },
- {
- "internalType": "bytes[]",
- "name": "calldatas",
- "type": "bytes[]"
- },
- {
- "internalType": "bytes32",
- "name": "descriptionHash",
- "type": "bytes32"
- }
- ],
- "name": "queue",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "queue",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "blockNumber",
- "type": "uint256"
- }
- ],
- "name": "quorum",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "quorumDenominator",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "quorumNumerator",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "quorumVotes",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "value",
- "type": "uint256"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- }
- ],
- "name": "relay",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint64",
- "name": "newVoteExtension",
- "type": "uint64"
- }
- ],
- "name": "setLateQuorumVoteExtension",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "newProposalThreshold",
- "type": "uint256"
- }
- ],
- "name": "setProposalThreshold",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "newVotingDelay",
- "type": "uint256"
- }
- ],
- "name": "setVotingDelay",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "newVotingPeriod",
- "type": "uint256"
- }
- ],
- "name": "setVotingPeriod",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "state",
- "outputs": [
- {
- "internalType": "enum IGovernor.ProposalState",
- "name": "",
- "type": "uint8"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes4",
- "name": "interfaceId",
- "type": "bytes4"
- }
- ],
- "name": "supportsInterface",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "timelock",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "token",
- "outputs": [
- {
- "internalType": "contract IVotes",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "newQuorumNumerator",
- "type": "uint256"
- }
- ],
- "name": "updateQuorumNumerator",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "contract TimelockController",
- "name": "newTimelock",
- "type": "address"
- }
- ],
- "name": "updateTimelock",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "version",
- "outputs": [
- {
- "internalType": "string",
- "name": "",
- "type": "string"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "votingDelay",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "votingPeriod",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "stateMutability": "payable",
- "type": "receive"
- }
- ]
- },
- "MandatoryDistributor": {
- "address": "0xB6315cb33a3Fd67d88db41a05ffa1e217c54f69A",
- "abi": [
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_token",
- "type": "address"
- },
- {
- "internalType": "bytes32",
- "name": "_merkleRoot",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "_stakingContract",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "_endBlock",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "constructor",
- "name": "constructor"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "uint256",
- "name": "index",
- "type": "uint256"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "Claimed",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "OGVBurned",
- "type": "event"
- },
- {
- "inputs": [],
- "name": "burnRemainingOGV",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_index",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- },
- {
- "internalType": "bytes32[]",
- "name": "_merkleProof",
- "type": "bytes32[]"
- }
- ],
- "name": "claim",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "endBlock",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_index",
- "type": "uint256"
- }
- ],
- "name": "isClaimed",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_index",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- },
- {
- "internalType": "address",
- "name": "_account",
- "type": "address"
- },
- {
- "internalType": "bytes32[]",
- "name": "_merkleProof",
- "type": "bytes32[]"
- }
- ],
- "name": "isProofValid",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "merkleRoot",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "stakingContract",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "token",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- }
- ]
- },
- "OptionalDistributor": {
- "address": "0xD4B4488C91a16F0f8E21cc8855b0e838113C4364",
- "abi": [
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_token",
- "type": "address"
- },
- {
- "internalType": "bytes32",
- "name": "_merkleRoot",
- "type": "bytes32"
- },
- {
- "internalType": "address",
- "name": "_stakingContract",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "_endBlock",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "constructor",
- "name": "constructor"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "uint256",
- "name": "index",
- "type": "uint256"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "Claimed",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "OGVBurned",
- "type": "event"
- },
- {
- "inputs": [],
- "name": "burnRemainingOGV",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_index",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- },
- {
- "internalType": "bytes32[]",
- "name": "_merkleProof",
- "type": "bytes32[]"
- },
- {
- "internalType": "uint256",
- "name": "_stakeDuration",
- "type": "uint256"
- }
- ],
- "name": "claim",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "endBlock",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_index",
- "type": "uint256"
- }
- ],
- "name": "isClaimed",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_index",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- },
- {
- "internalType": "address",
- "name": "_account",
- "type": "address"
- },
- {
- "internalType": "bytes32[]",
- "name": "_merkleProof",
- "type": "bytes32[]"
- }
- ],
- "name": "isProofValid",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "merkleRoot",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "stakingContract",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "token",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- }
- ]
- }
-}
\ No newline at end of file
diff --git a/client/networks/network.mainnet.json b/client/networks/network.mainnet.json
deleted file mode 100644
index f9d9d704..00000000
--- a/client/networks/network.mainnet.json
+++ /dev/null
@@ -1,15356 +0,0 @@
-{
- "name": "mainnet",
- "chainId": "1",
- "contracts": {
- "AaveStrategy": {
- "address": "0x4F424C6f066ae74784f3595A3A84923ad36d5471",
- "abi": [
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "_pToken",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- }
- ],
- "name": "Deposit",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "GovernorshipTransferred",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "_oldHarvesterAddress",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "_newHarvesterAddress",
- "type": "address"
- }
- ],
- "name": "HarvesterAddressesUpdated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "_pToken",
- "type": "address"
- }
- ],
- "name": "PTokenAdded",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "_pToken",
- "type": "address"
- }
- ],
- "name": "PTokenRemoved",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "PendingGovernorshipTransfer",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address[]",
- "name": "_oldAddresses",
- "type": "address[]"
- },
- {
- "indexed": false,
- "internalType": "address[]",
- "name": "_newAddresses",
- "type": "address[]"
- }
- ],
- "name": "RewardTokenAddressesUpdated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "recipient",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "rewardToken",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "RewardTokenCollected",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "_pToken",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- }
- ],
- "name": "Withdrawal",
- "type": "event"
- },
- {
- "inputs": [],
- "name": "_deprecated_rewardLiquidationThreshold",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "_deprecated_rewardTokenAddress",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "name": "assetToPToken",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- }
- ],
- "name": "checkBalance",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "balance",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "claimGovernance",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "collectRewardTokens",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- }
- ],
- "name": "deposit",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "depositAll",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "getRewardTokenAddresses",
- "outputs": [
- {
- "internalType": "address[]",
- "name": "",
- "type": "address[]"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "governor",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "harvesterAddress",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "incentivesController",
- "outputs": [
- {
- "internalType": "contract IAaveIncentivesController",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_platformAddress",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_vaultAddress",
- "type": "address"
- },
- {
- "internalType": "address[]",
- "name": "_rewardTokenAddresses",
- "type": "address[]"
- },
- {
- "internalType": "address[]",
- "name": "_assets",
- "type": "address[]"
- },
- {
- "internalType": "address[]",
- "name": "_pTokens",
- "type": "address[]"
- },
- {
- "internalType": "address",
- "name": "_incentivesAddress",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_stkAaveAddress",
- "type": "address"
- }
- ],
- "name": "initialize",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_platformAddress",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_vaultAddress",
- "type": "address"
- },
- {
- "internalType": "address[]",
- "name": "_rewardTokenAddresses",
- "type": "address[]"
- },
- {
- "internalType": "address[]",
- "name": "_assets",
- "type": "address[]"
- },
- {
- "internalType": "address[]",
- "name": "_pTokens",
- "type": "address[]"
- }
- ],
- "name": "initialize",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "isGovernor",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "platformAddress",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_assetIndex",
- "type": "uint256"
- }
- ],
- "name": "removePToken",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "name": "rewardTokenAddresses",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "safeApproveAllTokens",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_harvesterAddress",
- "type": "address"
- }
- ],
- "name": "setHarvesterAddress",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_pToken",
- "type": "address"
- }
- ],
- "name": "setPTokenAddress",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address[]",
- "name": "_rewardTokenAddresses",
- "type": "address[]"
- }
- ],
- "name": "setRewardTokenAddresses",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "stkAave",
- "outputs": [
- {
- "internalType": "contract IAaveStakedToken",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- }
- ],
- "name": "supportsAsset",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_newGovernor",
- "type": "address"
- }
- ],
- "name": "transferGovernance",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- }
- ],
- "name": "transferToken",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "vaultAddress",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_recipient",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- }
- ],
- "name": "withdraw",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "withdrawAll",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- }
- ]
- },
- "AaveStrategyProxy": {
- "address": "0x5e3646A1Db86993f73E6b74A57D8640B69F7e259",
- "abi": [
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "GovernorshipTransferred",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "PendingGovernorshipTransfer",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "implementation",
- "type": "address"
- }
- ],
- "name": "Upgraded",
- "type": "event"
- },
- {
- "stateMutability": "payable",
- "type": "fallback"
- },
- {
- "inputs": [],
- "name": "admin",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "claimGovernance",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "governor",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "implementation",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_logic",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_initGovernor",
- "type": "address"
- },
- {
- "internalType": "bytes",
- "name": "_data",
- "type": "bytes"
- }
- ],
- "name": "initialize",
- "outputs": [],
- "stateMutability": "payable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "isGovernor",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_newGovernor",
- "type": "address"
- }
- ],
- "name": "transferGovernance",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "newImplementation",
- "type": "address"
- }
- ],
- "name": "upgradeTo",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "newImplementation",
- "type": "address"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- }
- ],
- "name": "upgradeToAndCall",
- "outputs": [],
- "stateMutability": "payable",
- "type": "function"
- }
- ]
- },
- "Buyback": {
- "address": "0x77314EB392b2be47C014cde0706908b3307Ad6a9",
- "abi": [
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_uniswapAddr",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_vaultAddr",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_ousd",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_ogn",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_usdt",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_weth9",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_ognEthOracle",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_ethUsdOracle",
- "type": "address"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "constructor"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- }
- ],
- "name": "BuybackFailed",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "GovernorshipTransferred",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "PendingGovernorshipTransfer",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "_address",
- "type": "address"
- }
- ],
- "name": "UniswapUpdated",
- "type": "event"
- },
- {
- "inputs": [],
- "name": "claimGovernance",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "ousdAmount",
- "type": "uint256"
- }
- ],
- "name": "expectedOgnPerOUSD",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "governor",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "isGovernor",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_address",
- "type": "address"
- }
- ],
- "name": "setUniswapAddr",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "swap",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_newGovernor",
- "type": "address"
- }
- ],
- "name": "transferGovernance",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "token",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "transferToken",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "uniswapAddr",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "vaultAddr",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- }
- ]
- },
- "ChainlinkOracle": {
- "address": "0x017aD99900b9581Cd40C815990890EE9F0858246",
- "abi": [
- {
- "constant": true,
- "inputs": [],
- "name": "governor",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [
- {
- "internalType": "string",
- "name": "symbol",
- "type": "string"
- }
- ],
- "name": "tokEthPrice",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [
- {
- "internalType": "string",
- "name": "symbol",
- "type": "string"
- }
- ],
- "name": "tokUsdPrice",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [],
- "name": "claimGovernance",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "ethUsdPrice",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "isGovernor",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_newGovernor",
- "type": "address"
- }
- ],
- "name": "transferGovernance",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "feed",
- "type": "address"
- },
- {
- "internalType": "string",
- "name": "symbol",
- "type": "string"
- },
- {
- "internalType": "bool",
- "name": "directToUsd",
- "type": "bool"
- }
- ],
- "name": "registerFeed",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [
- {
- "internalType": "string",
- "name": "symbol",
- "type": "string"
- }
- ],
- "name": "price",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "ethFeed_",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "constructor"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "_feed",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "string",
- "name": "_symbol",
- "type": "string"
- },
- {
- "indexed": false,
- "internalType": "bool",
- "name": "_directToUsd",
- "type": "bool"
- }
- ],
- "name": "FeedRegistered",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "PendingGovernorshipTransfer",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "GovernorshipTransferred",
- "type": "event"
- }
- ]
- },
- "CompensationClaims": {
- "address": "0x9C94df9d594BA1eb94430C006c269C314B1A8281",
- "abi": [
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_coin",
- "type": "address"
- }
- ],
- "name": "collect",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "governor",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_recipient",
- "type": "address"
- }
- ],
- "name": "claim",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "decimals",
- "outputs": [
- {
- "internalType": "uint8",
- "name": "",
- "type": "uint8"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address[]",
- "name": "_addresses",
- "type": "address[]"
- },
- {
- "internalType": "uint256[]",
- "name": "_amounts",
- "type": "uint256[]"
- }
- ],
- "name": "setClaims",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "totalClaims",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [],
- "name": "unlockAdjuster",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [],
- "name": "claimGovernance",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [
- {
- "internalType": "address",
- "name": "_account",
- "type": "address"
- }
- ],
- "name": "balanceOf",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_seconds",
- "type": "uint256"
- }
- ],
- "name": "start",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "isAdjusterLocked",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "adjuster",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "isGovernor",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_newGovernor",
- "type": "address"
- }
- ],
- "name": "transferGovernance",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [],
- "name": "lockAdjuster",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "end",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "token",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_token",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_adjuster",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "constructor"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "recipient",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "Claim",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "recipient",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "ClaimSet",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "end",
- "type": "uint256"
- }
- ],
- "name": "Start",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [],
- "name": "Lock",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [],
- "name": "Unlock",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "coin",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "Collect",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "PendingGovernorshipTransfer",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "GovernorshipTransferred",
- "type": "event"
- }
- ]
- },
- "CompoundStrategy": {
- "address": "0xC697Eab7B9F5c5cE2d35B9B69917F96001712Ad5",
- "abi": [
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "_pToken",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- }
- ],
- "name": "Deposit",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "GovernorshipTransferred",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "_oldHarvesterAddress",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "_newHarvesterAddress",
- "type": "address"
- }
- ],
- "name": "HarvesterAddressesUpdated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "_pToken",
- "type": "address"
- }
- ],
- "name": "PTokenAdded",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "_pToken",
- "type": "address"
- }
- ],
- "name": "PTokenRemoved",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "PendingGovernorshipTransfer",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address[]",
- "name": "_oldAddresses",
- "type": "address[]"
- },
- {
- "indexed": false,
- "internalType": "address[]",
- "name": "_newAddresses",
- "type": "address[]"
- }
- ],
- "name": "RewardTokenAddressesUpdated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "recipient",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "rewardToken",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "RewardTokenCollected",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "asset",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "SkippedWithdrawal",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "_pToken",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- }
- ],
- "name": "Withdrawal",
- "type": "event"
- },
- {
- "inputs": [],
- "name": "_deprecated_rewardLiquidationThreshold",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "_deprecated_rewardTokenAddress",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "name": "assetToPToken",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- }
- ],
- "name": "checkBalance",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "balance",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "claimGovernance",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "collectRewardTokens",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- }
- ],
- "name": "deposit",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "depositAll",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "getRewardTokenAddresses",
- "outputs": [
- {
- "internalType": "address[]",
- "name": "",
- "type": "address[]"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "governor",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "harvesterAddress",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_platformAddress",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_vaultAddress",
- "type": "address"
- },
- {
- "internalType": "address[]",
- "name": "_rewardTokenAddresses",
- "type": "address[]"
- },
- {
- "internalType": "address[]",
- "name": "_assets",
- "type": "address[]"
- },
- {
- "internalType": "address[]",
- "name": "_pTokens",
- "type": "address[]"
- }
- ],
- "name": "initialize",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "isGovernor",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "platformAddress",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_assetIndex",
- "type": "uint256"
- }
- ],
- "name": "removePToken",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "name": "rewardTokenAddresses",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "safeApproveAllTokens",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_harvesterAddress",
- "type": "address"
- }
- ],
- "name": "setHarvesterAddress",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_pToken",
- "type": "address"
- }
- ],
- "name": "setPTokenAddress",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address[]",
- "name": "_rewardTokenAddresses",
- "type": "address[]"
- }
- ],
- "name": "setRewardTokenAddresses",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- }
- ],
- "name": "supportsAsset",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_newGovernor",
- "type": "address"
- }
- ],
- "name": "transferGovernance",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- }
- ],
- "name": "transferToken",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "vaultAddress",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_recipient",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- }
- ],
- "name": "withdraw",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "withdrawAll",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- }
- ]
- },
- "CompoundStrategyProxy": {
- "address": "0x9c459eeb3FA179a40329b81C1635525e9A0Ef094",
- "abi": [
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "GovernorshipTransferred",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "PendingGovernorshipTransfer",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "implementation",
- "type": "address"
- }
- ],
- "name": "Upgraded",
- "type": "event"
- },
- {
- "stateMutability": "payable",
- "type": "fallback"
- },
- {
- "inputs": [],
- "name": "admin",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "claimGovernance",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "governor",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "implementation",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_logic",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_initGovernor",
- "type": "address"
- },
- {
- "internalType": "bytes",
- "name": "_data",
- "type": "bytes"
- }
- ],
- "name": "initialize",
- "outputs": [],
- "stateMutability": "payable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "isGovernor",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_newGovernor",
- "type": "address"
- }
- ],
- "name": "transferGovernance",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "newImplementation",
- "type": "address"
- }
- ],
- "name": "upgradeTo",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "newImplementation",
- "type": "address"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- }
- ],
- "name": "upgradeToAndCall",
- "outputs": [],
- "stateMutability": "payable",
- "type": "function"
- }
- ]
- },
- "ConvexStrategy": {
- "address": "0xEe83F8eBB435373f6c231173995cC990697af1B8",
- "abi": [
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "_pToken",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- }
- ],
- "name": "Deposit",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "GovernorshipTransferred",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "_oldHarvesterAddress",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "_newHarvesterAddress",
- "type": "address"
- }
- ],
- "name": "HarvesterAddressesUpdated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "_pToken",
- "type": "address"
- }
- ],
- "name": "PTokenAdded",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "_pToken",
- "type": "address"
- }
- ],
- "name": "PTokenRemoved",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "PendingGovernorshipTransfer",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address[]",
- "name": "_oldAddresses",
- "type": "address[]"
- },
- {
- "indexed": false,
- "internalType": "address[]",
- "name": "_newAddresses",
- "type": "address[]"
- }
- ],
- "name": "RewardTokenAddressesUpdated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "recipient",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "rewardToken",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "RewardTokenCollected",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "_pToken",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- }
- ],
- "name": "Withdrawal",
- "type": "event"
- },
- {
- "inputs": [],
- "name": "_deprecated_cvxRewardTokenAddress",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "_deprecated_rewardLiquidationThreshold",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "_deprecated_rewardTokenAddress",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "name": "assetToPToken",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- }
- ],
- "name": "checkBalance",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "balance",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "claimGovernance",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "collectRewardTokens",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- }
- ],
- "name": "deposit",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "depositAll",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "getRewardTokenAddresses",
- "outputs": [
- {
- "internalType": "address[]",
- "name": "",
- "type": "address[]"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "governor",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "harvesterAddress",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_platformAddress",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_vaultAddress",
- "type": "address"
- },
- {
- "internalType": "address[]",
- "name": "_rewardTokenAddresses",
- "type": "address[]"
- },
- {
- "internalType": "address[]",
- "name": "_assets",
- "type": "address[]"
- },
- {
- "internalType": "address[]",
- "name": "_pTokens",
- "type": "address[]"
- }
- ],
- "name": "initialize",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_platformAddress",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_vaultAddress",
- "type": "address"
- },
- {
- "internalType": "address[]",
- "name": "_rewardTokenAddresses",
- "type": "address[]"
- },
- {
- "internalType": "address[]",
- "name": "_assets",
- "type": "address[]"
- },
- {
- "internalType": "address[]",
- "name": "_pTokens",
- "type": "address[]"
- },
- {
- "internalType": "address",
- "name": "_cvxDepositorAddress",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_cvxRewardStakerAddress",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "_cvxDepositorPTokenId",
- "type": "uint256"
- }
- ],
- "name": "initialize",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "isGovernor",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "platformAddress",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_assetIndex",
- "type": "uint256"
- }
- ],
- "name": "removePToken",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "name": "rewardTokenAddresses",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "safeApproveAllTokens",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_harvesterAddress",
- "type": "address"
- }
- ],
- "name": "setHarvesterAddress",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_pToken",
- "type": "address"
- }
- ],
- "name": "setPTokenAddress",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address[]",
- "name": "_rewardTokenAddresses",
- "type": "address[]"
- }
- ],
- "name": "setRewardTokenAddresses",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- }
- ],
- "name": "supportsAsset",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_newGovernor",
- "type": "address"
- }
- ],
- "name": "transferGovernance",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- }
- ],
- "name": "transferToken",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "vaultAddress",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_recipient",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- }
- ],
- "name": "withdraw",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "withdrawAll",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- }
- ]
- },
- "ConvexStrategyProxy": {
- "address": "0xEA2Ef2e2E5A749D4A66b41Db9aD85a38Aa264cb3",
- "abi": [
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "GovernorshipTransferred",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "PendingGovernorshipTransfer",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "implementation",
- "type": "address"
- }
- ],
- "name": "Upgraded",
- "type": "event"
- },
- {
- "stateMutability": "payable",
- "type": "fallback"
- },
- {
- "inputs": [],
- "name": "admin",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "claimGovernance",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "governor",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "implementation",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_logic",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_initGovernor",
- "type": "address"
- },
- {
- "internalType": "bytes",
- "name": "_data",
- "type": "bytes"
- }
- ],
- "name": "initialize",
- "outputs": [],
- "stateMutability": "payable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "isGovernor",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_newGovernor",
- "type": "address"
- }
- ],
- "name": "transferGovernance",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "newImplementation",
- "type": "address"
- }
- ],
- "name": "upgradeTo",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "newImplementation",
- "type": "address"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- }
- ],
- "name": "upgradeToAndCall",
- "outputs": [],
- "stateMutability": "payable",
- "type": "function"
- }
- ]
- },
- "CurveUSDCStrategy": {
- "address": "0xF92B0DE25660C18BEDaa55795986781d7899b0f9",
- "abi": [
- {
- "constant": false,
- "inputs": [],
- "name": "collectRewardToken",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "governor",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_pToken",
- "type": "address"
- }
- ],
- "name": "setPTokenAddress",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "name": "assetToPToken",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- }
- ],
- "name": "transferToken",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "rewardTokenAddress",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [],
- "name": "liquidate",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_platformAddress",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_vaultAddress",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_rewardTokenAddress",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_pToken",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_crvGaugeAddress",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_crvMinterAddress",
- "type": "address"
- }
- ],
- "name": "initialize",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "vaultAddress",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- }
- ],
- "name": "deposit",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "amountDeposited",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "rewardLiquidationThreshold",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [],
- "name": "claimGovernance",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- }
- ],
- "name": "checkBalance",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "balance",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_platformAddress",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_vaultAddress",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_rewardTokenAddress",
- "type": "address"
- },
- {
- "internalType": "address[]",
- "name": "_assets",
- "type": "address[]"
- },
- {
- "internalType": "address[]",
- "name": "_pTokens",
- "type": "address[]"
- }
- ],
- "name": "initialize",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_rewardTokenAddress",
- "type": "address"
- }
- ],
- "name": "setRewardTokenAddress",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- }
- ],
- "name": "supportsAsset",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [],
- "name": "safeApproveAllTokens",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "isGovernor",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_threshold",
- "type": "uint256"
- }
- ],
- "name": "setRewardLiquidationThreshold",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_newGovernor",
- "type": "address"
- }
- ],
- "name": "transferGovernance",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_recipient",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- }
- ],
- "name": "withdraw",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "amountWithdrawn",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "platformAddress",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "recipient",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "RewardTokenCollected",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "_pToken",
- "type": "address"
- }
- ],
- "name": "PTokenAdded",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "_pToken",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- }
- ],
- "name": "Deposit",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "_pToken",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- }
- ],
- "name": "Withdrawal",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "PendingGovernorshipTransfer",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "GovernorshipTransferred",
- "type": "event"
- }
- ]
- },
- "CurveUSDCStrategyProxy": {
- "address": "0x67023c56548BA15aD3542E65493311F19aDFdd6d",
- "abi": [
- {
- "constant": true,
- "inputs": [],
- "name": "governor",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "newImplementation",
- "type": "address"
- }
- ],
- "name": "upgradeTo",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "newImplementation",
- "type": "address"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- }
- ],
- "name": "upgradeToAndCall",
- "outputs": [],
- "payable": true,
- "stateMutability": "payable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "implementation",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [],
- "name": "claimGovernance",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "isGovernor",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_logic",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_initGovernor",
- "type": "address"
- },
- {
- "internalType": "bytes",
- "name": "_data",
- "type": "bytes"
- }
- ],
- "name": "initialize",
- "outputs": [],
- "payable": true,
- "stateMutability": "payable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_newGovernor",
- "type": "address"
- }
- ],
- "name": "transferGovernance",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "admin",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "payable": true,
- "stateMutability": "payable",
- "type": "fallback"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "implementation",
- "type": "address"
- }
- ],
- "name": "Upgraded",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "PendingGovernorshipTransfer",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "GovernorshipTransferred",
- "type": "event"
- }
- ]
- },
- "CurveUSDTStrategy": {
- "address": "0x641E3b5b081Fb2fb8B43D5a163649312a28e23Da",
- "abi": [
- {
- "constant": false,
- "inputs": [],
- "name": "collectRewardToken",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "governor",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_pToken",
- "type": "address"
- }
- ],
- "name": "setPTokenAddress",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "name": "assetToPToken",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- }
- ],
- "name": "transferToken",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "rewardTokenAddress",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [],
- "name": "liquidate",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_platformAddress",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_vaultAddress",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_rewardTokenAddress",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_pToken",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_crvGaugeAddress",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_crvMinterAddress",
- "type": "address"
- }
- ],
- "name": "initialize",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "vaultAddress",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- }
- ],
- "name": "deposit",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "amountDeposited",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "rewardLiquidationThreshold",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [],
- "name": "claimGovernance",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- }
- ],
- "name": "checkBalance",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "balance",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_platformAddress",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_vaultAddress",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_rewardTokenAddress",
- "type": "address"
- },
- {
- "internalType": "address[]",
- "name": "_assets",
- "type": "address[]"
- },
- {
- "internalType": "address[]",
- "name": "_pTokens",
- "type": "address[]"
- }
- ],
- "name": "initialize",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_rewardTokenAddress",
- "type": "address"
- }
- ],
- "name": "setRewardTokenAddress",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- }
- ],
- "name": "supportsAsset",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [],
- "name": "safeApproveAllTokens",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "isGovernor",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_threshold",
- "type": "uint256"
- }
- ],
- "name": "setRewardLiquidationThreshold",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_newGovernor",
- "type": "address"
- }
- ],
- "name": "transferGovernance",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_recipient",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- }
- ],
- "name": "withdraw",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "amountWithdrawn",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "platformAddress",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "recipient",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "RewardTokenCollected",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "_pToken",
- "type": "address"
- }
- ],
- "name": "PTokenAdded",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "_pToken",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- }
- ],
- "name": "Deposit",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "_pToken",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- }
- ],
- "name": "Withdrawal",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "PendingGovernorshipTransfer",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "GovernorshipTransferred",
- "type": "event"
- }
- ]
- },
- "CurveUSDTStrategyProxy": {
- "address": "0xe40e09cD6725E542001FcB900d9dfeA447B529C0",
- "abi": [
- {
- "constant": true,
- "inputs": [],
- "name": "governor",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "newImplementation",
- "type": "address"
- }
- ],
- "name": "upgradeTo",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "newImplementation",
- "type": "address"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- }
- ],
- "name": "upgradeToAndCall",
- "outputs": [],
- "payable": true,
- "stateMutability": "payable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "implementation",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [],
- "name": "claimGovernance",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "isGovernor",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_logic",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_initGovernor",
- "type": "address"
- },
- {
- "internalType": "bytes",
- "name": "_data",
- "type": "bytes"
- }
- ],
- "name": "initialize",
- "outputs": [],
- "payable": true,
- "stateMutability": "payable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_newGovernor",
- "type": "address"
- }
- ],
- "name": "transferGovernance",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "admin",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "payable": true,
- "stateMutability": "payable",
- "type": "fallback"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "implementation",
- "type": "address"
- }
- ],
- "name": "Upgraded",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "PendingGovernorshipTransfer",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "GovernorshipTransferred",
- "type": "event"
- }
- ]
- },
- "Dripper": {
- "address": "0xc7068A35F9F5b77471BcFfBdf82D9531D52AFCdc",
- "abi": [
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_vault",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_token",
- "type": "address"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "constructor"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "GovernorshipTransferred",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "PendingGovernorshipTransfer",
- "type": "event"
- },
- {
- "inputs": [],
- "name": "availableFunds",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "claimGovernance",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "collect",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "collectAndRebase",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "drip",
- "outputs": [
- {
- "internalType": "uint64",
- "name": "lastCollect",
- "type": "uint64"
- },
- {
- "internalType": "uint192",
- "name": "perBlock",
- "type": "uint192"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "dripDuration",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "governor",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "isGovernor",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_durationSeconds",
- "type": "uint256"
- }
- ],
- "name": "setDripDuration",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_newGovernor",
- "type": "address"
- }
- ],
- "name": "transferGovernance",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- }
- ],
- "name": "transferToken",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- }
- ]
- },
- "DripperProxy": {
- "address": "0x80C898ae5e56f888365E235CeB8CEa3EB726CB58",
- "abi": [
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "GovernorshipTransferred",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "PendingGovernorshipTransfer",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "implementation",
- "type": "address"
- }
- ],
- "name": "Upgraded",
- "type": "event"
- },
- {
- "stateMutability": "payable",
- "type": "fallback"
- },
- {
- "inputs": [],
- "name": "admin",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "claimGovernance",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "governor",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "implementation",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_logic",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_initGovernor",
- "type": "address"
- },
- {
- "internalType": "bytes",
- "name": "_data",
- "type": "bytes"
- }
- ],
- "name": "initialize",
- "outputs": [],
- "stateMutability": "payable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "isGovernor",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_newGovernor",
- "type": "address"
- }
- ],
- "name": "transferGovernance",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "newImplementation",
- "type": "address"
- }
- ],
- "name": "upgradeTo",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "newImplementation",
- "type": "address"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- }
- ],
- "name": "upgradeToAndCall",
- "outputs": [],
- "stateMutability": "payable",
- "type": "function"
- }
- ]
- },
- "Flipper": {
- "address": "0xcecaD69d7D4Ed6D52eFcFA028aF8732F27e08F70",
- "abi": [
- {
- "constant": true,
- "inputs": [],
- "name": "governor",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "buyOusdWithUsdt",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "buyOusdWithDai",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [],
- "name": "claimGovernance",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [],
- "name": "withdrawAll",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "sellOusdForDai",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "buyOusdWithUsdc",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "sellOusdForUsdc",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "isGovernor",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "sellOusdForUsdt",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_newGovernor",
- "type": "address"
- }
- ],
- "name": "transferGovernance",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "token",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "withdraw",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [],
- "name": "rebaseOptIn",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "constructor"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "PendingGovernorshipTransfer",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "GovernorshipTransferred",
- "type": "event"
- }
- ]
- },
- "Governor": {
- "address": "0x72426BA137DEC62657306b12B1E869d43FeC6eC7",
- "abi": [
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "admin_",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "delay_",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "constructor"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "txHash",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "string",
- "name": "signature",
- "type": "string"
- },
- {
- "indexed": false,
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "eta",
- "type": "uint256"
- }
- ],
- "name": "CancelTransaction",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "txHash",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "string",
- "name": "signature",
- "type": "string"
- },
- {
- "indexed": false,
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "eta",
- "type": "uint256"
- }
- ],
- "name": "ExecuteTransaction",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "newAdmin",
- "type": "address"
- }
- ],
- "name": "NewAdmin",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "uint256",
- "name": "newDelay",
- "type": "uint256"
- }
- ],
- "name": "NewDelay",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "newPendingAdmin",
- "type": "address"
- }
- ],
- "name": "NewPendingAdmin",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "id",
- "type": "uint256"
- }
- ],
- "name": "ProposalCancelled",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "id",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "proposer",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address[]",
- "name": "targets",
- "type": "address[]"
- },
- {
- "indexed": false,
- "internalType": "string[]",
- "name": "signatures",
- "type": "string[]"
- },
- {
- "indexed": false,
- "internalType": "bytes[]",
- "name": "calldatas",
- "type": "bytes[]"
- },
- {
- "indexed": false,
- "internalType": "string",
- "name": "description",
- "type": "string"
- }
- ],
- "name": "ProposalCreated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "id",
- "type": "uint256"
- }
- ],
- "name": "ProposalExecuted",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "id",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "eta",
- "type": "uint256"
- }
- ],
- "name": "ProposalQueued",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "txHash",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "string",
- "name": "signature",
- "type": "string"
- },
- {
- "indexed": false,
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "eta",
- "type": "uint256"
- }
- ],
- "name": "QueueTransaction",
- "type": "event"
- },
- {
- "inputs": [],
- "name": "GRACE_PERIOD",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "MAXIMUM_DELAY",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "MAX_OPERATIONS",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "MINIMUM_DELAY",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "acceptAdmin",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "admin",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "cancel",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "delay",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "execute",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "getActions",
- "outputs": [
- {
- "internalType": "address[]",
- "name": "targets",
- "type": "address[]"
- },
- {
- "internalType": "string[]",
- "name": "signatures",
- "type": "string[]"
- },
- {
- "internalType": "bytes[]",
- "name": "calldatas",
- "type": "bytes[]"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "target",
- "type": "address"
- }
- ],
- "name": "pauseCapital",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "pendingAdmin",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "proposalCount",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "name": "proposals",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "id",
- "type": "uint256"
- },
- {
- "internalType": "address",
- "name": "proposer",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "eta",
- "type": "uint256"
- },
- {
- "internalType": "bool",
- "name": "executed",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address[]",
- "name": "targets",
- "type": "address[]"
- },
- {
- "internalType": "string[]",
- "name": "signatures",
- "type": "string[]"
- },
- {
- "internalType": "bytes[]",
- "name": "calldatas",
- "type": "bytes[]"
- },
- {
- "internalType": "string",
- "name": "description",
- "type": "string"
- }
- ],
- "name": "propose",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "queue",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "name": "queuedTransactions",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "delay_",
- "type": "uint256"
- }
- ],
- "name": "setDelay",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "pendingAdmin_",
- "type": "address"
- }
- ],
- "name": "setPendingAdmin",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "proposalId",
- "type": "uint256"
- }
- ],
- "name": "state",
- "outputs": [
- {
- "internalType": "enum Governor.ProposalState",
- "name": "",
- "type": "uint8"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "target",
- "type": "address"
- }
- ],
- "name": "unpauseCapital",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- }
- ]
- },
- "Harvester": {
- "address": "0x5E72EB0ab74B5B4d2766a7956D210746Ceab96E1",
- "abi": [
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_vaultAddress",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_usdtAddress",
- "type": "address"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "constructor"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "GovernorshipTransferred",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "PendingGovernorshipTransfer",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "_tokenAddress",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint16",
- "name": "_allowedSlippageBps",
- "type": "uint16"
- },
- {
- "indexed": false,
- "internalType": "uint16",
- "name": "_harvestRewardBps",
- "type": "uint16"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "_uniswapV2CompatibleAddr",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "_liquidationLimit",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "bool",
- "name": "_doSwapRewardToken",
- "type": "bool"
- }
- ],
- "name": "RewardTokenConfigUpdated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "_address",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "bool",
- "name": "_isSupported",
- "type": "bool"
- }
- ],
- "name": "SupportedStrategyUpdate",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "_address",
- "type": "address"
- }
- ],
- "name": "UniswapUpdated",
- "type": "event"
- },
- {
- "inputs": [],
- "name": "claimGovernance",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "governor",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_strategyAddr",
- "type": "address"
- }
- ],
- "name": "harvest",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "harvest",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "harvestAndSwap",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_strategyAddr",
- "type": "address"
- }
- ],
- "name": "harvestAndSwap",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_strategyAddr",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_rewardTo",
- "type": "address"
- }
- ],
- "name": "harvestAndSwap",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "isGovernor",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "rewardProceedsAddress",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "name": "rewardTokenConfigs",
- "outputs": [
- {
- "internalType": "uint16",
- "name": "allowedSlippageBps",
- "type": "uint16"
- },
- {
- "internalType": "uint16",
- "name": "harvestRewardBps",
- "type": "uint16"
- },
- {
- "internalType": "address",
- "name": "uniswapV2CompatibleAddr",
- "type": "address"
- },
- {
- "internalType": "bool",
- "name": "doSwapRewardToken",
- "type": "bool"
- },
- {
- "internalType": "uint256",
- "name": "liquidationLimit",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_tokenAddress",
- "type": "address"
- },
- {
- "internalType": "uint16",
- "name": "_allowedSlippageBps",
- "type": "uint16"
- },
- {
- "internalType": "uint16",
- "name": "_harvestRewardBps",
- "type": "uint16"
- },
- {
- "internalType": "address",
- "name": "_uniswapV2CompatibleAddr",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "_liquidationLimit",
- "type": "uint256"
- },
- {
- "internalType": "bool",
- "name": "_doSwapRewardToken",
- "type": "bool"
- }
- ],
- "name": "setRewardTokenConfig",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_rewardProceedsAddress",
- "type": "address"
- }
- ],
- "name": "setRewardsProceedsAddress",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_strategyAddress",
- "type": "address"
- },
- {
- "internalType": "bool",
- "name": "_isSupported",
- "type": "bool"
- }
- ],
- "name": "setSupportedStrategy",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "name": "supportedStrategies",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "swap",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_swapToken",
- "type": "address"
- }
- ],
- "name": "swapRewardToken",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_newGovernor",
- "type": "address"
- }
- ],
- "name": "transferGovernance",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- }
- ],
- "name": "transferToken",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "usdtAddress",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "vaultAddress",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- }
- ]
- },
- "HarvesterProxy": {
- "address": "0x21Fb5812D70B3396880D30e90D9e5C1202266c89",
- "abi": [
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "GovernorshipTransferred",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "PendingGovernorshipTransfer",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "implementation",
- "type": "address"
- }
- ],
- "name": "Upgraded",
- "type": "event"
- },
- {
- "stateMutability": "payable",
- "type": "fallback"
- },
- {
- "inputs": [],
- "name": "admin",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "claimGovernance",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "governor",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "implementation",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_logic",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_initGovernor",
- "type": "address"
- },
- {
- "internalType": "bytes",
- "name": "_data",
- "type": "bytes"
- }
- ],
- "name": "initialize",
- "outputs": [],
- "stateMutability": "payable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "isGovernor",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_newGovernor",
- "type": "address"
- }
- ],
- "name": "transferGovernance",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "newImplementation",
- "type": "address"
- }
- ],
- "name": "upgradeTo",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "newImplementation",
- "type": "address"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- }
- ],
- "name": "upgradeToAndCall",
- "outputs": [],
- "stateMutability": "payable",
- "type": "function"
- }
- ]
- },
- "MinuteTimelock": {
- "address": "0x52BEBd3d7f37EC4284853Fd5861Ae71253A7F428",
- "abi": [
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "value",
- "type": "uint256"
- },
- {
- "internalType": "string",
- "name": "signature",
- "type": "string"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- },
- {
- "internalType": "uint256",
- "name": "eta",
- "type": "uint256"
- }
- ],
- "name": "executeTransaction",
- "outputs": [
- {
- "internalType": "bytes",
- "name": "",
- "type": "bytes"
- }
- ],
- "payable": true,
- "stateMutability": "payable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [],
- "name": "acceptAdmin",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "pendingAdmin",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "value",
- "type": "uint256"
- },
- {
- "internalType": "string",
- "name": "signature",
- "type": "string"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- },
- {
- "internalType": "uint256",
- "name": "eta",
- "type": "uint256"
- }
- ],
- "name": "queueTransaction",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "pendingAdmin_",
- "type": "address"
- }
- ],
- "name": "setPendingAdmin",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "value",
- "type": "uint256"
- },
- {
- "internalType": "string",
- "name": "signature",
- "type": "string"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- },
- {
- "internalType": "uint256",
- "name": "eta",
- "type": "uint256"
- }
- ],
- "name": "cancelTransaction",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "delay",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "MAXIMUM_DELAY",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "MINIMUM_DELAY",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "GRACE_PERIOD",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_admin",
- "type": "address"
- }
- ],
- "name": "initialize",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "uint256",
- "name": "delay_",
- "type": "uint256"
- }
- ],
- "name": "setDelay",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "name": "queuedTransactions",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "admin",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "delay_",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "constructor"
- },
- {
- "payable": true,
- "stateMutability": "payable",
- "type": "fallback"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "newAdmin",
- "type": "address"
- }
- ],
- "name": "NewAdmin",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "newPendingAdmin",
- "type": "address"
- }
- ],
- "name": "NewPendingAdmin",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "uint256",
- "name": "newDelay",
- "type": "uint256"
- }
- ],
- "name": "NewDelay",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "txHash",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "value",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "string",
- "name": "signature",
- "type": "string"
- },
- {
- "indexed": false,
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "eta",
- "type": "uint256"
- }
- ],
- "name": "CancelTransaction",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "txHash",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "value",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "string",
- "name": "signature",
- "type": "string"
- },
- {
- "indexed": false,
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "eta",
- "type": "uint256"
- }
- ],
- "name": "ExecuteTransaction",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "txHash",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "value",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "string",
- "name": "signature",
- "type": "string"
- },
- {
- "indexed": false,
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "eta",
- "type": "uint256"
- }
- ],
- "name": "QueueTransaction",
- "type": "event"
- }
- ]
- },
- "MixOracle": {
- "address": "0x843530DC8005e13dEA30CEa2394FF60635f38cc4",
- "abi": [
- {
- "constant": true,
- "inputs": [],
- "name": "governor",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [
- {
- "internalType": "string",
- "name": "symbol",
- "type": "string"
- }
- ],
- "name": "priceMin",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "price",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "maxDrift",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [
- {
- "internalType": "string",
- "name": "symbol",
- "type": "string"
- }
- ],
- "name": "getTokenUSDOraclesLength",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_minDrift",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "_maxDrift",
- "type": "uint256"
- }
- ],
- "name": "setMinMaxDrift",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "minDrift",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [],
- "name": "claimGovernance",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [
- {
- "internalType": "string",
- "name": "symbol",
- "type": "string"
- }
- ],
- "name": "getTokenETHOraclesLength",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [
- {
- "internalType": "string",
- "name": "symbol",
- "type": "string"
- }
- ],
- "name": "priceMax",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "price",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "string",
- "name": "symbol",
- "type": "string"
- },
- {
- "internalType": "address[]",
- "name": "ethOracles",
- "type": "address[]"
- },
- {
- "internalType": "address[]",
- "name": "usdOracles",
- "type": "address[]"
- }
- ],
- "name": "registerTokenOracles",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [
- {
- "internalType": "string",
- "name": "symbol",
- "type": "string"
- },
- {
- "internalType": "uint256",
- "name": "idx",
- "type": "uint256"
- }
- ],
- "name": "getTokenETHOracle",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "isGovernor",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_newGovernor",
- "type": "address"
- }
- ],
- "name": "transferGovernance",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "oracle",
- "type": "address"
- }
- ],
- "name": "unregisterEthUsdOracle",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "oracle",
- "type": "address"
- }
- ],
- "name": "registerEthUsdOracle",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [
- {
- "internalType": "string",
- "name": "symbol",
- "type": "string"
- },
- {
- "internalType": "uint256",
- "name": "idx",
- "type": "uint256"
- }
- ],
- "name": "getTokenUSDOracle",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "name": "ethUsdOracles",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_maxDrift",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "_minDrift",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "constructor"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "_minDrift",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "_maxDrift",
- "type": "uint256"
- }
- ],
- "name": "DriftsUpdated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "_oracle",
- "type": "address"
- }
- ],
- "name": "EthUsdOracleRegistered",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "_oracle",
- "type": "address"
- }
- ],
- "name": "EthUsdOracleDeregistered",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "string",
- "name": "symbol",
- "type": "string"
- },
- {
- "indexed": false,
- "internalType": "address[]",
- "name": "ethOracles",
- "type": "address[]"
- },
- {
- "indexed": false,
- "internalType": "address[]",
- "name": "usdOracles",
- "type": "address[]"
- }
- ],
- "name": "TokenOracleRegistered",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "PendingGovernorshipTransfer",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "GovernorshipTransferred",
- "type": "event"
- }
- ]
- },
- "OGNStakingProxy": {
- "address": "0x501804B374EF06fa9C427476147ac09F1551B9A0",
- "abi": [
- {
- "constant": true,
- "inputs": [],
- "name": "governor",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "newImplementation",
- "type": "address"
- }
- ],
- "name": "upgradeTo",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "newImplementation",
- "type": "address"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- }
- ],
- "name": "upgradeToAndCall",
- "outputs": [],
- "payable": true,
- "stateMutability": "payable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "implementation",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [],
- "name": "claimGovernance",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "isGovernor",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_logic",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_initGovernor",
- "type": "address"
- },
- {
- "internalType": "bytes",
- "name": "_data",
- "type": "bytes"
- }
- ],
- "name": "initialize",
- "outputs": [],
- "payable": true,
- "stateMutability": "payable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_newGovernor",
- "type": "address"
- }
- ],
- "name": "transferGovernance",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "admin",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "payable": true,
- "stateMutability": "payable",
- "type": "fallback"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "implementation",
- "type": "address"
- }
- ],
- "name": "Upgraded",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "PendingGovernorshipTransfer",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "GovernorshipTransferred",
- "type": "event"
- }
- ]
- },
- "OUSD": {
- "address": "0x33db8d52d65F75E4cdDA1b02463760c9561A2aa1",
- "abi": [
- {
- "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": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "GovernorshipTransferred",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "PendingGovernorshipTransfer",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "totalSupply",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "rebasingCredits",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "rebasingCreditsPerToken",
- "type": "uint256"
- }
- ],
- "name": "TotalSupplyUpdatedHighres",
- "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": [],
- "name": "_totalSupply",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "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": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "burn",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_newTotalSupply",
- "type": "uint256"
- }
- ],
- "name": "changeSupply",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "claimGovernance",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_account",
- "type": "address"
- }
- ],
- "name": "creditsBalanceOf",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_account",
- "type": "address"
- }
- ],
- "name": "creditsBalanceOfHighres",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- },
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "decimals",
- "outputs": [
- {
- "internalType": "uint8",
- "name": "",
- "type": "uint8"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_spender",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "_subtractedValue",
- "type": "uint256"
- }
- ],
- "name": "decreaseAllowance",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "governor",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_spender",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "_addedValue",
- "type": "uint256"
- }
- ],
- "name": "increaseAllowance",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "string",
- "name": "_nameArg",
- "type": "string"
- },
- {
- "internalType": "string",
- "name": "_symbolArg",
- "type": "string"
- },
- {
- "internalType": "address",
- "name": "_vaultAddress",
- "type": "address"
- }
- ],
- "name": "initialize",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "isGovernor",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "name": "isUpgraded",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_account",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- }
- ],
- "name": "mint",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "name",
- "outputs": [
- {
- "internalType": "string",
- "name": "",
- "type": "string"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "name": "nonRebasingCreditsPerToken",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "nonRebasingSupply",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "rebaseOptIn",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "rebaseOptOut",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "name": "rebaseState",
- "outputs": [
- {
- "internalType": "enum OUSD.RebaseOptions",
- "name": "",
- "type": "uint8"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "rebasingCredits",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "rebasingCreditsHighres",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "rebasingCreditsPerToken",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "rebasingCreditsPerTokenHighres",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "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"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_newGovernor",
- "type": "address"
- }
- ],
- "name": "transferGovernance",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "vaultAddress",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- }
- ]
- },
- "OUSDProxy": {
- "address": "0x2A8e1E676Ec238d8A992307B495b45B3fEAa5e86",
- "abi": [
- {
- "constant": true,
- "inputs": [],
- "name": "governor",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "newImplementation",
- "type": "address"
- }
- ],
- "name": "upgradeTo",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "newImplementation",
- "type": "address"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- }
- ],
- "name": "upgradeToAndCall",
- "outputs": [],
- "payable": true,
- "stateMutability": "payable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "implementation",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [],
- "name": "claimGovernance",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "isGovernor",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_logic",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_initGovernor",
- "type": "address"
- },
- {
- "internalType": "bytes",
- "name": "_data",
- "type": "bytes"
- }
- ],
- "name": "initialize",
- "outputs": [],
- "payable": true,
- "stateMutability": "payable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_newGovernor",
- "type": "address"
- }
- ],
- "name": "transferGovernance",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "admin",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "payable": true,
- "stateMutability": "payable",
- "type": "fallback"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "implementation",
- "type": "address"
- }
- ],
- "name": "Upgraded",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "PendingGovernorshipTransfer",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "GovernorshipTransferred",
- "type": "event"
- }
- ]
- },
- "OUSDReset": {
- "address": "0x78b107E4c3192E225e6Bc2bc10e28de9866d39De",
- "abi": [
- {
- "constant": true,
- "inputs": [],
- "name": "name",
- "outputs": [
- {
- "internalType": "string",
- "name": "",
- "type": "string"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "string",
- "name": "_nameArg",
- "type": "string"
- },
- {
- "internalType": "string",
- "name": "_symbolArg",
- "type": "string"
- },
- {
- "internalType": "address",
- "name": "_vaultAddress",
- "type": "address"
- }
- ],
- "name": "initialize",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "rebasingCredits",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_spender",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "_value",
- "type": "uint256"
- }
- ],
- "name": "approve",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "governor",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "totalSupply",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_from",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_to",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "_value",
- "type": "uint256"
- }
- ],
- "name": "transferFrom",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "decimals",
- "outputs": [
- {
- "internalType": "uint8",
- "name": "",
- "type": "uint8"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "_decimals",
- "outputs": [
- {
- "internalType": "uint8",
- "name": "",
- "type": "uint8"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_spender",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "_addedValue",
- "type": "uint256"
- }
- ],
- "name": "increaseAllowance",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_newTotalSupply",
- "type": "uint256"
- }
- ],
- "name": "changeSupply",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "_totalSupply",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_account",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- }
- ],
- "name": "mint",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "vaultAddress",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "name": "rebaseState",
- "outputs": [
- {
- "internalType": "enum OUSD.RebaseOptions",
- "name": "",
- "type": "uint8"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [],
- "name": "claimGovernance",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "name": "nonRebasingCreditsPerToken",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "rebasingCreditsPerToken",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [
- {
- "internalType": "address",
- "name": "_account",
- "type": "address"
- }
- ],
- "name": "balanceOf",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_vaultAddress",
- "type": "address"
- }
- ],
- "name": "setVaultAddress",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "symbol",
- "outputs": [
- {
- "internalType": "string",
- "name": "",
- "type": "string"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "burn",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_spender",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "_subtractedValue",
- "type": "uint256"
- }
- ],
- "name": "decreaseAllowance",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_to",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "_value",
- "type": "uint256"
- }
- ],
- "name": "transfer",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "_symbol",
- "outputs": [
- {
- "internalType": "string",
- "name": "",
- "type": "string"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [],
- "name": "rebaseOptOut",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "isGovernor",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "_name",
- "outputs": [
- {
- "internalType": "string",
- "name": "",
- "type": "string"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_newGovernor",
- "type": "address"
- }
- ],
- "name": "transferGovernance",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [],
- "name": "reset",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [
- {
- "internalType": "address",
- "name": "_owner",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_spender",
- "type": "address"
- }
- ],
- "name": "allowance",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "nonRebasingSupply",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [],
- "name": "rebaseOptIn",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [
- {
- "internalType": "address",
- "name": "_account",
- "type": "address"
- }
- ],
- "name": "creditsBalanceOf",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "totalSupply",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "rebasingCredits",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "rebasingCreditsPerToken",
- "type": "uint256"
- }
- ],
- "name": "TotalSupplyUpdated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "PendingGovernorshipTransfer",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "GovernorshipTransferred",
- "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"
- },
- {
- "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"
- }
- ]
- },
- "OUSDResolutionUpgrade": {
- "address": "0xB248c975DaeAc47c4960EcBD10a79E486eBD1cA8",
- "abi": [
- {
- "inputs": [],
- "name": "_totalSupply",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_account",
- "type": "address"
- }
- ],
- "name": "creditsBalanceOfHighres",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- },
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "name": "isUpgraded",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "name": "nonRebasingCreditsPerToken",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "nonRebasingSupply",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "name": "rebaseState",
- "outputs": [
- {
- "internalType": "enum OUSDResolutionUpgrade.RebaseOptions",
- "name": "",
- "type": "uint8"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "rebasingCredits",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "rebasingCreditsHighres",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "rebasingCreditsPerToken",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "rebasingCreditsPerTokenHighres",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address[]",
- "name": "accounts",
- "type": "address[]"
- }
- ],
- "name": "upgradeAccounts",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "upgradeGlobals",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "vaultAddress",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- }
- ]
- },
- "OpenUniswapOracle": {
- "address": "0xc15169Bad17e676b3BaDb699DEe327423cE6178e",
- "abi": [
- {
- "constant": true,
- "inputs": [],
- "name": "governor",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "string",
- "name": "symbol",
- "type": "string"
- }
- ],
- "name": "tokEthPrice",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [
- {
- "internalType": "string",
- "name": "symbol",
- "type": "string"
- }
- ],
- "name": "debugPrice",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [
- {
- "internalType": "string",
- "name": "symbol",
- "type": "string"
- }
- ],
- "name": "tokUsdPrice",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [],
- "name": "claimGovernance",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "ethPriceOracle_",
- "type": "address"
- }
- ],
- "name": "registerEthPriceOracle",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [
- {
- "internalType": "string",
- "name": "symbol",
- "type": "string"
- }
- ],
- "name": "getSwapConfig",
- "outputs": [
- {
- "components": [
- {
- "internalType": "bool",
- "name": "ethOnFirst",
- "type": "bool"
- },
- {
- "internalType": "address",
- "name": "swap",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "blockTimestampLast",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "latestBlockTimestampLast",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "priceCumulativeLast",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "latestPriceCumulativeLast",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "baseUnit",
- "type": "uint256"
- }
- ],
- "internalType": "struct OpenUniswapOracle.SwapConfig",
- "name": "",
- "type": "tuple"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "bytes32[]",
- "name": "symbolHashes",
- "type": "bytes32[]"
- }
- ],
- "name": "updatePriceWindows",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "ethUsdPrice",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "ethPriceOracle",
- "outputs": [
- {
- "internalType": "contract IPriceOracle",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "PERIOD",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "isGovernor",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [
- {
- "internalType": "string",
- "name": "symbol",
- "type": "string"
- }
- ],
- "name": "openPrice",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_newGovernor",
- "type": "address"
- }
- ],
- "name": "transferGovernance",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "pair_",
- "type": "address"
- }
- ],
- "name": "registerPair",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [
- {
- "internalType": "string",
- "name": "symbol",
- "type": "string"
- }
- ],
- "name": "price",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "ethPriceOracle_",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "ethToken_",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "constructor"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "PendingGovernorshipTransfer",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "GovernorshipTransferred",
- "type": "event"
- }
- ]
- },
- "OracleRouter": {
- "address": "0x7533365d1b0D95380bc4e94D0bdEF5173E43f954",
- "abi": [
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "asset",
- "type": "address"
- }
- ],
- "name": "price",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- }
- ]
- },
- "RebaseHooks": {
- "address": "0x3dcd70E6A3fB474cFd7567A021864066Fdef6C5c",
- "abi": [
- {
- "constant": true,
- "inputs": [],
- "name": "governor",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "bool",
- "name": "sync",
- "type": "bool"
- }
- ],
- "name": "postRebase",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [],
- "name": "claimGovernance",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "name": "uniswapPairs",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address[]",
- "name": "_uniswapPairs",
- "type": "address[]"
- }
- ],
- "name": "setUniswapPairs",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "isGovernor",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_newGovernor",
- "type": "address"
- }
- ],
- "name": "transferGovernance",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "PendingGovernorshipTransfer",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "GovernorshipTransferred",
- "type": "event"
- }
- ]
- },
- "SingleAssetStaking": {
- "address": "0x84cb50CA45279397CD03Fb94232D52078790F8e6",
- "abi": [
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "GovernorshipTransferred",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint8",
- "name": "stakeType",
- "type": "uint8"
- },
- {
- "indexed": false,
- "internalType": "bytes32",
- "name": "rootHash",
- "type": "bytes32"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "proofDepth",
- "type": "uint256"
- }
- ],
- "name": "NewAirDropRootHash",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "user",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256[]",
- "name": "durations",
- "type": "uint256[]"
- }
- ],
- "name": "NewDurations",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "user",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256[]",
- "name": "rates",
- "type": "uint256[]"
- }
- ],
- "name": "NewRates",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "user",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "bool",
- "name": "yes",
- "type": "bool"
- }
- ],
- "name": "Paused",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "PendingGovernorshipTransfer",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "user",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "duration",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "rate",
- "type": "uint256"
- }
- ],
- "name": "Staked",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "fromUser",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "toUser",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "numStakes",
- "type": "uint256"
- }
- ],
- "name": "StakesTransfered",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "user",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "stakedAmount",
- "type": "uint256"
- }
- ],
- "name": "Withdrawn",
- "type": "event"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "index",
- "type": "uint256"
- },
- {
- "internalType": "uint8",
- "name": "stakeType",
- "type": "uint8"
- },
- {
- "internalType": "uint256",
- "name": "duration",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "rate",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- },
- {
- "internalType": "bytes32[]",
- "name": "merkleProof",
- "type": "bytes32[]"
- }
- ],
- "name": "airDroppedStake",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- },
- {
- "internalType": "uint8",
- "name": "stakeType",
- "type": "uint8"
- }
- ],
- "name": "airDroppedStakeClaimed",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "claimGovernance",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint8",
- "name": "",
- "type": "uint8"
- }
- ],
- "name": "dropRoots",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "hash",
- "type": "bytes32"
- },
- {
- "internalType": "uint256",
- "name": "depth",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_duration",
- "type": "uint256"
- }
- ],
- "name": "durationRewardRate",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "name": "durations",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "exit",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "getAllDurations",
- "outputs": [
- {
- "internalType": "uint256[]",
- "name": "",
- "type": "uint256[]"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "getAllRates",
- "outputs": [
- {
- "internalType": "uint256[]",
- "name": "",
- "type": "uint256[]"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "getAllStakes",
- "outputs": [
- {
- "components": [
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "end",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "duration",
- "type": "uint256"
- },
- {
- "internalType": "uint240",
- "name": "rate",
- "type": "uint240"
- },
- {
- "internalType": "bool",
- "name": "paid",
- "type": "bool"
- },
- {
- "internalType": "uint8",
- "name": "stakeType",
- "type": "uint8"
- }
- ],
- "internalType": "struct SingleAssetStaking.Stake[]",
- "name": "",
- "type": "tuple[]"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "governor",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_stakingToken",
- "type": "address"
- },
- {
- "internalType": "uint256[]",
- "name": "_durations",
- "type": "uint256[]"
- },
- {
- "internalType": "uint256[]",
- "name": "_rates",
- "type": "uint256[]"
- }
- ],
- "name": "initialize",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "isGovernor",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "paused",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "name": "rates",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint8",
- "name": "_stakeType",
- "type": "uint8"
- },
- {
- "internalType": "bytes32",
- "name": "_rootHash",
- "type": "bytes32"
- },
- {
- "internalType": "uint256",
- "name": "_proofDepth",
- "type": "uint256"
- }
- ],
- "name": "setAirDropRoot",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256[]",
- "name": "_durations",
- "type": "uint256[]"
- },
- {
- "internalType": "uint256[]",
- "name": "_rates",
- "type": "uint256[]"
- }
- ],
- "name": "setDurationRates",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "bool",
- "name": "_paused",
- "type": "bool"
- }
- ],
- "name": "setPaused",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_agent",
- "type": "address"
- }
- ],
- "name": "setTransferAgent",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "duration",
- "type": "uint256"
- }
- ],
- "name": "stake",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "staker",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "duration",
- "type": "uint256"
- }
- ],
- "name": "stakeWithSender",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "stakingToken",
- "outputs": [
- {
- "internalType": "contract IERC20",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "totalCurrentHoldings",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "total",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "totalExpectedRewards",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "totalOutstanding",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "account",
- "type": "address"
- }
- ],
- "name": "totalStaked",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "total",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "transferAgent",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_newGovernor",
- "type": "address"
- }
- ],
- "name": "transferGovernance",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_frmAccount",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_dstAccount",
- "type": "address"
- },
- {
- "internalType": "bytes32",
- "name": "r",
- "type": "bytes32"
- },
- {
- "internalType": "bytes32",
- "name": "s",
- "type": "bytes32"
- },
- {
- "internalType": "uint8",
- "name": "v",
- "type": "uint8"
- }
- ],
- "name": "transferStakes",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "name": "userStakes",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "end",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "duration",
- "type": "uint256"
- },
- {
- "internalType": "uint240",
- "name": "rate",
- "type": "uint240"
- },
- {
- "internalType": "bool",
- "name": "paid",
- "type": "bool"
- },
- {
- "internalType": "uint8",
- "name": "stakeType",
- "type": "uint8"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- }
- ]
- },
- "ThreePoolStrategy": {
- "address": "0x874c74E6ec318AD0a7e6f23301678a4751d00482",
- "abi": [
- {
- "constant": false,
- "inputs": [],
- "name": "collectRewardToken",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "governor",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_pToken",
- "type": "address"
- }
- ],
- "name": "setPTokenAddress",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "name": "assetToPToken",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- }
- ],
- "name": "transferToken",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "rewardTokenAddress",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "vaultAddress",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- }
- ],
- "name": "deposit",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "rewardLiquidationThreshold",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [],
- "name": "claimGovernance",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- }
- ],
- "name": "checkBalance",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "balance",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_platformAddress",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_vaultAddress",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_rewardTokenAddress",
- "type": "address"
- },
- {
- "internalType": "address[]",
- "name": "_assets",
- "type": "address[]"
- },
- {
- "internalType": "address[]",
- "name": "_pTokens",
- "type": "address[]"
- }
- ],
- "name": "initialize",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [],
- "name": "withdrawAll",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_assetIndex",
- "type": "uint256"
- }
- ],
- "name": "removePToken",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_rewardTokenAddress",
- "type": "address"
- }
- ],
- "name": "setRewardTokenAddress",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- }
- ],
- "name": "supportsAsset",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [],
- "name": "safeApproveAllTokens",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "isGovernor",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_threshold",
- "type": "uint256"
- }
- ],
- "name": "setRewardLiquidationThreshold",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_newGovernor",
- "type": "address"
- }
- ],
- "name": "transferGovernance",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_recipient",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- }
- ],
- "name": "withdraw",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "platformAddress",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [],
- "name": "depositAll",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_platformAddress",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_vaultAddress",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_rewardTokenAddress",
- "type": "address"
- },
- {
- "internalType": "address[]",
- "name": "_assets",
- "type": "address[]"
- },
- {
- "internalType": "address[]",
- "name": "_pTokens",
- "type": "address[]"
- },
- {
- "internalType": "address",
- "name": "_crvGaugeAddress",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_crvMinterAddress",
- "type": "address"
- }
- ],
- "name": "initialize",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "recipient",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "amount",
- "type": "uint256"
- }
- ],
- "name": "RewardTokenCollected",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "_pToken",
- "type": "address"
- }
- ],
- "name": "PTokenAdded",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "_pToken",
- "type": "address"
- }
- ],
- "name": "PTokenRemoved",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "_pToken",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- }
- ],
- "name": "Deposit",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "_pToken",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- }
- ],
- "name": "Withdrawal",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "PendingGovernorshipTransfer",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "GovernorshipTransferred",
- "type": "event"
- }
- ]
- },
- "ThreePoolStrategyProxy": {
- "address": "0x3c5fe0a3922777343CBD67D3732FCdc9f2Fa6f2F",
- "abi": [
- {
- "constant": true,
- "inputs": [],
- "name": "governor",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "newImplementation",
- "type": "address"
- }
- ],
- "name": "upgradeTo",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "newImplementation",
- "type": "address"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- }
- ],
- "name": "upgradeToAndCall",
- "outputs": [],
- "payable": true,
- "stateMutability": "payable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "implementation",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [],
- "name": "claimGovernance",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "isGovernor",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_logic",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_initGovernor",
- "type": "address"
- },
- {
- "internalType": "bytes",
- "name": "_data",
- "type": "bytes"
- }
- ],
- "name": "initialize",
- "outputs": [],
- "payable": true,
- "stateMutability": "payable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_newGovernor",
- "type": "address"
- }
- ],
- "name": "transferGovernance",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "admin",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "payable": true,
- "stateMutability": "payable",
- "type": "fallback"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "implementation",
- "type": "address"
- }
- ],
- "name": "Upgraded",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "PendingGovernorshipTransfer",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "GovernorshipTransferred",
- "type": "event"
- }
- ]
- },
- "Timelock": {
- "address": "0x2693C0eCcb5734EBd3910E9c23a8039401a73c87",
- "abi": [
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "value",
- "type": "uint256"
- },
- {
- "internalType": "string",
- "name": "signature",
- "type": "string"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- },
- {
- "internalType": "uint256",
- "name": "eta",
- "type": "uint256"
- }
- ],
- "name": "executeTransaction",
- "outputs": [
- {
- "internalType": "bytes",
- "name": "",
- "type": "bytes"
- }
- ],
- "payable": true,
- "stateMutability": "payable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [],
- "name": "acceptAdmin",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "pendingAdmin",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "target",
- "type": "address"
- }
- ],
- "name": "pauseDeposits",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "value",
- "type": "uint256"
- },
- {
- "internalType": "string",
- "name": "signature",
- "type": "string"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- },
- {
- "internalType": "uint256",
- "name": "eta",
- "type": "uint256"
- }
- ],
- "name": "queueTransaction",
- "outputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "pendingAdmin_",
- "type": "address"
- }
- ],
- "name": "setPendingAdmin",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "value",
- "type": "uint256"
- },
- {
- "internalType": "string",
- "name": "signature",
- "type": "string"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- },
- {
- "internalType": "uint256",
- "name": "eta",
- "type": "uint256"
- }
- ],
- "name": "cancelTransaction",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "delay",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "MAXIMUM_DELAY",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "MINIMUM_DELAY",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "GRACE_PERIOD",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "target",
- "type": "address"
- }
- ],
- "name": "unpauseDeposits",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "uint256",
- "name": "delay_",
- "type": "uint256"
- }
- ],
- "name": "setDelay",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [
- {
- "internalType": "bytes32",
- "name": "",
- "type": "bytes32"
- }
- ],
- "name": "queuedTransactions",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "admin",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "admin_",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "delay_",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "constructor"
- },
- {
- "payable": true,
- "stateMutability": "payable",
- "type": "fallback"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "newAdmin",
- "type": "address"
- }
- ],
- "name": "NewAdmin",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "newPendingAdmin",
- "type": "address"
- }
- ],
- "name": "NewPendingAdmin",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "uint256",
- "name": "newDelay",
- "type": "uint256"
- }
- ],
- "name": "NewDelay",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "txHash",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "value",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "string",
- "name": "signature",
- "type": "string"
- },
- {
- "indexed": false,
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "eta",
- "type": "uint256"
- }
- ],
- "name": "CancelTransaction",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "txHash",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "value",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "string",
- "name": "signature",
- "type": "string"
- },
- {
- "indexed": false,
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "eta",
- "type": "uint256"
- }
- ],
- "name": "ExecuteTransaction",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "bytes32",
- "name": "txHash",
- "type": "bytes32"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "target",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "value",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "string",
- "name": "signature",
- "type": "string"
- },
- {
- "indexed": false,
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "eta",
- "type": "uint256"
- }
- ],
- "name": "QueueTransaction",
- "type": "event"
- }
- ]
- },
- "Vault": {
- "address": "0x6bd6CC9605Ae43B424cB06363255b061A84DfFD3",
- "abi": [
- {
- "constant": false,
- "inputs": [],
- "name": "unpauseRebase",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "redeemFeeBps",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "governor",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_strategyAddr",
- "type": "address"
- }
- ],
- "name": "harvest",
- "outputs": [
- {
- "internalType": "uint256[]",
- "name": "",
- "type": "uint256[]"
- }
- ],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- }
- ],
- "name": "transferToken",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "uniswapAddr",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_addr",
- "type": "address"
- }
- ],
- "name": "removeStrategy",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "vaultBuffer",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [
- {
- "internalType": "string",
- "name": "symbol",
- "type": "string"
- }
- ],
- "name": "priceUSDRedeem",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_priceProvider",
- "type": "address"
- }
- ],
- "name": "setPriceProvider",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_addr",
- "type": "address"
- }
- ],
- "name": "approveStrategy",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [],
- "name": "pauseCapital",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [],
- "name": "harvest",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_priceProvider",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_ousd",
- "type": "address"
- }
- ],
- "name": "initialize",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- }
- ],
- "name": "supportAsset",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "rebaseThreshold",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "rebasePaused",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "strategistAddr",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [],
- "name": "claimGovernance",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_maxSupplyDiff",
- "type": "uint256"
- }
- ],
- "name": "setMaxSupplyDiff",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [
- {
- "internalType": "string",
- "name": "symbol",
- "type": "string"
- }
- ],
- "name": "priceUSDMint",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_address",
- "type": "address"
- }
- ],
- "name": "setStrategistAddr",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_strategyFromAddress",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_strategyToAddress",
- "type": "address"
- },
- {
- "internalType": "address[]",
- "name": "_assets",
- "type": "address[]"
- },
- {
- "internalType": "uint256[]",
- "name": "_amounts",
- "type": "uint256[]"
- }
- ],
- "name": "reallocate",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "maxSupplyDiff",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_vaultBuffer",
- "type": "uint256"
- }
- ],
- "name": "setVaultBuffer",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [],
- "name": "unpauseCapital",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "autoAllocateThreshold",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "name": "assetDefaultStrategies",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_address",
- "type": "address"
- }
- ],
- "name": "setUniswapAddr",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_threshold",
- "type": "uint256"
- }
- ],
- "name": "setAutoAllocateThreshold",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "priceProvider",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_threshold",
- "type": "uint256"
- }
- ],
- "name": "setRebaseThreshold",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_strategy",
- "type": "address"
- }
- ],
- "name": "setAssetDefaultStrategy",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [],
- "name": "pauseRebase",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "isGovernor",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_newGovernor",
- "type": "address"
- }
- ],
- "name": "transferGovernance",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "capitalPaused",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_redeemFeeBps",
- "type": "uint256"
- }
- ],
- "name": "setRedeemFeeBps",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "newImpl",
- "type": "address"
- }
- ],
- "name": "setAdminImpl",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- }
- ],
- "name": "AssetSupported",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "_strategy",
- "type": "address"
- }
- ],
- "name": "AssetDefaultStrategyUpdated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "_addr",
- "type": "address"
- }
- ],
- "name": "StrategyApproved",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "_addr",
- "type": "address"
- }
- ],
- "name": "StrategyRemoved",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "_addr",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "_value",
- "type": "uint256"
- }
- ],
- "name": "Mint",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "_addr",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "_value",
- "type": "uint256"
- }
- ],
- "name": "Redeem",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [],
- "name": "CapitalPaused",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [],
- "name": "CapitalUnpaused",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [],
- "name": "RebasePaused",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [],
- "name": "RebaseUnpaused",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "_vaultBuffer",
- "type": "uint256"
- }
- ],
- "name": "VaultBufferUpdated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "_redeemFeeBps",
- "type": "uint256"
- }
- ],
- "name": "RedeemFeeUpdated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "_priceProvider",
- "type": "address"
- }
- ],
- "name": "PriceProviderUpdated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "_threshold",
- "type": "uint256"
- }
- ],
- "name": "AllocateThresholdUpdated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "_threshold",
- "type": "uint256"
- }
- ],
- "name": "RebaseThresholdUpdated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "_address",
- "type": "address"
- }
- ],
- "name": "UniswapUpdated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "_address",
- "type": "address"
- }
- ],
- "name": "StrategistUpdated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "maxSupplyDiff",
- "type": "uint256"
- }
- ],
- "name": "MaxSupplyDiffChanged",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "PendingGovernorshipTransfer",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "GovernorshipTransferred",
- "type": "event"
- }
- ]
- },
- "VaultAdmin": {
- "address": "0x854867b04987d26c0199197033f7Ce1f3bC01Ac9",
- "abi": [
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "_threshold",
- "type": "uint256"
- }
- ],
- "name": "AllocateThresholdUpdated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "_strategy",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- }
- ],
- "name": "AssetAllocated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "_strategy",
- "type": "address"
- }
- ],
- "name": "AssetDefaultStrategyUpdated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- }
- ],
- "name": "AssetSupported",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [],
- "name": "CapitalPaused",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [],
- "name": "CapitalUnpaused",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "GovernorshipTransferred",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "maxSupplyDiff",
- "type": "uint256"
- }
- ],
- "name": "MaxSupplyDiffChanged",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "_addr",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "_value",
- "type": "uint256"
- }
- ],
- "name": "Mint",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "PendingGovernorshipTransfer",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "_priceProvider",
- "type": "address"
- }
- ],
- "name": "PriceProviderUpdated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [],
- "name": "RebasePaused",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "_threshold",
- "type": "uint256"
- }
- ],
- "name": "RebaseThresholdUpdated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [],
- "name": "RebaseUnpaused",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "_addr",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "_value",
- "type": "uint256"
- }
- ],
- "name": "Redeem",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "_redeemFeeBps",
- "type": "uint256"
- }
- ],
- "name": "RedeemFeeUpdated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "_address",
- "type": "address"
- }
- ],
- "name": "StrategistUpdated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "_addr",
- "type": "address"
- }
- ],
- "name": "StrategyApproved",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "_addr",
- "type": "address"
- }
- ],
- "name": "StrategyRemoved",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "_address",
- "type": "address"
- }
- ],
- "name": "TrusteeAddressChanged",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "_basis",
- "type": "uint256"
- }
- ],
- "name": "TrusteeFeeBpsChanged",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "_vaultBuffer",
- "type": "uint256"
- }
- ],
- "name": "VaultBufferUpdated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "_to",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "_yield",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "_fee",
- "type": "uint256"
- }
- ],
- "name": "YieldDistribution",
- "type": "event"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_addr",
- "type": "address"
- }
- ],
- "name": "approveStrategy",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "name": "assetDefaultStrategies",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "autoAllocateThreshold",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "capitalPaused",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "claimGovernance",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "governor",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "isGovernor",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "maxSupplyDiff",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "pauseCapital",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "pauseRebase",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "priceProvider",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "asset",
- "type": "address"
- }
- ],
- "name": "priceUSDMint",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "asset",
- "type": "address"
- }
- ],
- "name": "priceUSDRedeem",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_strategyFromAddress",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_strategyToAddress",
- "type": "address"
- },
- {
- "internalType": "address[]",
- "name": "_assets",
- "type": "address[]"
- },
- {
- "internalType": "uint256[]",
- "name": "_amounts",
- "type": "uint256[]"
- }
- ],
- "name": "reallocate",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "rebasePaused",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "rebaseThreshold",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "redeemFeeBps",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_addr",
- "type": "address"
- }
- ],
- "name": "removeStrategy",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "newImpl",
- "type": "address"
- }
- ],
- "name": "setAdminImpl",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_strategy",
- "type": "address"
- }
- ],
- "name": "setAssetDefaultStrategy",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_threshold",
- "type": "uint256"
- }
- ],
- "name": "setAutoAllocateThreshold",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_maxSupplyDiff",
- "type": "uint256"
- }
- ],
- "name": "setMaxSupplyDiff",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_priceProvider",
- "type": "address"
- }
- ],
- "name": "setPriceProvider",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_threshold",
- "type": "uint256"
- }
- ],
- "name": "setRebaseThreshold",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_redeemFeeBps",
- "type": "uint256"
- }
- ],
- "name": "setRedeemFeeBps",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_address",
- "type": "address"
- }
- ],
- "name": "setStrategistAddr",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_address",
- "type": "address"
- }
- ],
- "name": "setTrusteeAddress",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_basis",
- "type": "uint256"
- }
- ],
- "name": "setTrusteeFeeBps",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_vaultBuffer",
- "type": "uint256"
- }
- ],
- "name": "setVaultBuffer",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "strategistAddr",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- }
- ],
- "name": "supportAsset",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_newGovernor",
- "type": "address"
- }
- ],
- "name": "transferGovernance",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- }
- ],
- "name": "transferToken",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "trusteeAddress",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "trusteeFeeBps",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "unpauseCapital",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "unpauseRebase",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "vaultBuffer",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "withdrawAllFromStrategies",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_strategyAddr",
- "type": "address"
- }
- ],
- "name": "withdrawAllFromStrategy",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- }
- ]
- },
- "VaultCore": {
- "address": "0x04E22d448E251d49bf4EE8EC343d0ae1AB5A8Fa2",
- "abi": [
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "_threshold",
- "type": "uint256"
- }
- ],
- "name": "AllocateThresholdUpdated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "_strategy",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- }
- ],
- "name": "AssetAllocated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "address",
- "name": "_strategy",
- "type": "address"
- }
- ],
- "name": "AssetDefaultStrategyUpdated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- }
- ],
- "name": "AssetSupported",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [],
- "name": "CapitalPaused",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [],
- "name": "CapitalUnpaused",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "GovernorshipTransferred",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "maxSupplyDiff",
- "type": "uint256"
- }
- ],
- "name": "MaxSupplyDiffChanged",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "_addr",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "_value",
- "type": "uint256"
- }
- ],
- "name": "Mint",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "PendingGovernorshipTransfer",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "_priceProvider",
- "type": "address"
- }
- ],
- "name": "PriceProviderUpdated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [],
- "name": "RebasePaused",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "_threshold",
- "type": "uint256"
- }
- ],
- "name": "RebaseThresholdUpdated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [],
- "name": "RebaseUnpaused",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "_addr",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "_value",
- "type": "uint256"
- }
- ],
- "name": "Redeem",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "_redeemFeeBps",
- "type": "uint256"
- }
- ],
- "name": "RedeemFeeUpdated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "_address",
- "type": "address"
- }
- ],
- "name": "StrategistUpdated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "_addr",
- "type": "address"
- }
- ],
- "name": "StrategyApproved",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "_addr",
- "type": "address"
- }
- ],
- "name": "StrategyRemoved",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "_address",
- "type": "address"
- }
- ],
- "name": "TrusteeAddressChanged",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "_basis",
- "type": "uint256"
- }
- ],
- "name": "TrusteeFeeBpsChanged",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "_vaultBuffer",
- "type": "uint256"
- }
- ],
- "name": "VaultBufferUpdated",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": false,
- "internalType": "address",
- "name": "_to",
- "type": "address"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "_yield",
- "type": "uint256"
- },
- {
- "indexed": false,
- "internalType": "uint256",
- "name": "_fee",
- "type": "uint256"
- }
- ],
- "name": "YieldDistribution",
- "type": "event"
- },
- {
- "stateMutability": "payable",
- "type": "fallback"
- },
- {
- "inputs": [],
- "name": "allocate",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "name": "assetDefaultStrategies",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "autoAllocateThreshold",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- }
- ],
- "name": "calculateRedeemOutputs",
- "outputs": [
- {
- "internalType": "uint256[]",
- "name": "",
- "type": "uint256[]"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "capitalPaused",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- }
- ],
- "name": "checkBalance",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "claimGovernance",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "getAllAssets",
- "outputs": [
- {
- "internalType": "address[]",
- "name": "",
- "type": "address[]"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "getAllStrategies",
- "outputs": [
- {
- "internalType": "address[]",
- "name": "",
- "type": "address[]"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "getAssetCount",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "getStrategyCount",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "governor",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "isGovernor",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- }
- ],
- "name": "isSupportedAsset",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "maxSupplyDiff",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_asset",
- "type": "address"
- },
- {
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "_minimumOusdAmount",
- "type": "uint256"
- }
- ],
- "name": "mint",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "priceProvider",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "rebase",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "rebasePaused",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "rebaseThreshold",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_amount",
- "type": "uint256"
- },
- {
- "internalType": "uint256",
- "name": "_minimumUnitAmount",
- "type": "uint256"
- }
- ],
- "name": "redeem",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "uint256",
- "name": "_minimumUnitAmount",
- "type": "uint256"
- }
- ],
- "name": "redeemAll",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "redeemFeeBps",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "newImpl",
- "type": "address"
- }
- ],
- "name": "setAdminImpl",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "strategistAddr",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "totalValue",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "value",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_newGovernor",
- "type": "address"
- }
- ],
- "name": "transferGovernance",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "trusteeAddress",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "trusteeFeeBps",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "vaultBuffer",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- }
- ]
- },
- "VaultProxy": {
- "address": "0xE75D77B1865Ae93c7eaa3040B038D7aA7BC02F70",
- "abi": [
- {
- "constant": true,
- "inputs": [],
- "name": "governor",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "newImplementation",
- "type": "address"
- }
- ],
- "name": "upgradeTo",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "newImplementation",
- "type": "address"
- },
- {
- "internalType": "bytes",
- "name": "data",
- "type": "bytes"
- }
- ],
- "name": "upgradeToAndCall",
- "outputs": [],
- "payable": true,
- "stateMutability": "payable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "implementation",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [],
- "name": "claimGovernance",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "isGovernor",
- "outputs": [
- {
- "internalType": "bool",
- "name": "",
- "type": "bool"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_logic",
- "type": "address"
- },
- {
- "internalType": "address",
- "name": "_initGovernor",
- "type": "address"
- },
- {
- "internalType": "bytes",
- "name": "_data",
- "type": "bytes"
- }
- ],
- "name": "initialize",
- "outputs": [],
- "payable": true,
- "stateMutability": "payable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- {
- "internalType": "address",
- "name": "_newGovernor",
- "type": "address"
- }
- ],
- "name": "transferGovernance",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "admin",
- "outputs": [
- {
- "internalType": "address",
- "name": "",
- "type": "address"
- }
- ],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "payable": true,
- "stateMutability": "payable",
- "type": "fallback"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "implementation",
- "type": "address"
- }
- ],
- "name": "Upgraded",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "PendingGovernorshipTransfer",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- {
- "indexed": true,
- "internalType": "address",
- "name": "previousGovernor",
- "type": "address"
- },
- {
- "indexed": true,
- "internalType": "address",
- "name": "newGovernor",
- "type": "address"
- }
- ],
- "name": "GovernorshipTransferred",
- "type": "event"
- }
- ]
- },
- "VaultValueChecker": {
- "address": "0x5B98B3255522E95f842967723Ee4Cc7dCEaa9150",
- "abi": [
- {
- "inputs": [
- {
- "internalType": "address",
- "name": "_vault",
- "type": "address"
- }
- ],
- "stateMutability": "nonpayable",
- "type": "constructor"
- },
- {
- "inputs": [
- {
- "internalType": "int256",
- "name": "maxLoss",
- "type": "int256"
- }
- ],
- "name": "checkLoss",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "snapshotValue",
- "outputs": [
- {
- "internalType": "uint256",
- "name": "",
- "type": "uint256"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "takeSnapshot",
- "outputs": [],
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "inputs": [],
- "name": "vault",
- "outputs": [
- {
- "internalType": "contract VaultCore",
- "name": "",
- "type": "address"
- }
- ],
- "stateMutability": "view",
- "type": "function"
- }
- ]
- },
- "OriginToken": {
- "address": "0x8207c1ffc5b6804f6024322ccf34f29c3541ae26",
- "abi": [
- {
- "constant": true,
- "inputs": [],
- "name": "whitelistActive",
- "outputs": [{ "name": "", "type": "bool" }],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "mintingFinished",
- "outputs": [{ "name": "", "type": "bool" }],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "name",
- "outputs": [{ "name": "", "type": "string" }],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- { "name": "_spender", "type": "address" },
- { "name": "_value", "type": "uint256" }
- ],
- "name": "approve",
- "outputs": [{ "name": "", "type": "bool" }],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "totalSupply",
- "outputs": [{ "name": "", "type": "uint256" }],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- { "name": "_from", "type": "address" },
- { "name": "_to", "type": "address" },
- { "name": "_value", "type": "uint256" }
- ],
- "name": "transferFrom",
- "outputs": [{ "name": "", "type": "bool" }],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [{ "name": "_transactor", "type": "address" }],
- "name": "addAllowedTransactor",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "decimals",
- "outputs": [{ "name": "", "type": "uint8" }],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [],
- "name": "unpause",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- { "name": "_to", "type": "address" },
- { "name": "_amount", "type": "uint256" }
- ],
- "name": "mint",
- "outputs": [{ "name": "", "type": "bool" }],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [{ "name": "_value", "type": "uint256" }],
- "name": "burn",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [{ "name": "_transactor", "type": "address" }],
- "name": "removeAllowedTransactor",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "paused",
- "outputs": [{ "name": "", "type": "bool" }],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- { "name": "_spender", "type": "address" },
- { "name": "_subtractedValue", "type": "uint256" }
- ],
- "name": "decreaseApproval",
- "outputs": [{ "name": "success", "type": "bool" }],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [{ "name": "_owner", "type": "address" }],
- "name": "balanceOf",
- "outputs": [{ "name": "", "type": "uint256" }],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [],
- "name": "renounceOwnership",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [],
- "name": "finishMinting",
- "outputs": [{ "name": "", "type": "bool" }],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- { "name": "_spender", "type": "address" },
- { "name": "_value", "type": "uint256" },
- { "name": "_selector", "type": "bytes4" },
- { "name": "_callParams", "type": "bytes" }
- ],
- "name": "approveAndCallWithSender",
- "outputs": [{ "name": "", "type": "bool" }],
- "payable": true,
- "stateMutability": "payable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [],
- "name": "pause",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "owner",
- "outputs": [{ "name": "", "type": "address" }],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [{ "name": "_spender", "type": "address" }],
- "name": "addCallSpenderWhitelist",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "symbol",
- "outputs": [{ "name": "", "type": "string" }],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- { "name": "_who", "type": "address" },
- { "name": "_value", "type": "uint256" }
- ],
- "name": "burn",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- { "name": "_to", "type": "address" },
- { "name": "_value", "type": "uint256" }
- ],
- "name": "transfer",
- "outputs": [{ "name": "", "type": "bool" }],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [],
- "name": "whitelistExpiration",
- "outputs": [{ "name": "", "type": "uint256" }],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [{ "name": "", "type": "address" }],
- "name": "allowedTransactors",
- "outputs": [{ "name": "", "type": "bool" }],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [{ "name": "_expiration", "type": "uint256" }],
- "name": "setWhitelistExpiration",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [
- { "name": "_spender", "type": "address" },
- { "name": "_addedValue", "type": "uint256" }
- ],
- "name": "increaseApproval",
- "outputs": [{ "name": "success", "type": "bool" }],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [
- { "name": "_owner", "type": "address" },
- { "name": "_spender", "type": "address" }
- ],
- "name": "allowance",
- "outputs": [{ "name": "", "type": "uint256" }],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [{ "name": "_newOwner", "type": "address" }],
- "name": "transferOwnership",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": false,
- "inputs": [{ "name": "_spender", "type": "address" }],
- "name": "removeCallSpenderWhitelist",
- "outputs": [],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "function"
- },
- {
- "constant": true,
- "inputs": [{ "name": "", "type": "address" }],
- "name": "callSpenderWhitelist",
- "outputs": [{ "name": "", "type": "bool" }],
- "payable": false,
- "stateMutability": "view",
- "type": "function"
- },
- {
- "inputs": [{ "name": "_initialSupply", "type": "uint256" }],
- "payable": false,
- "stateMutability": "nonpayable",
- "type": "constructor"
- },
- {
- "anonymous": false,
- "inputs": [
- { "indexed": false, "name": "enabler", "type": "address" },
- { "indexed": false, "name": "spender", "type": "address" }
- ],
- "name": "AddCallSpenderWhitelist",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- { "indexed": false, "name": "disabler", "type": "address" },
- { "indexed": false, "name": "spender", "type": "address" }
- ],
- "name": "RemoveCallSpenderWhitelist",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- { "indexed": false, "name": "expiration", "type": "uint256" }
- ],
- "name": "SetWhitelistExpiration",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [{ "indexed": false, "name": "sender", "type": "address" }],
- "name": "AllowedTransactorAdded",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [{ "indexed": false, "name": "sender", "type": "address" }],
- "name": "AllowedTransactorRemoved",
- "type": "event"
- },
- { "anonymous": false, "inputs": [], "name": "Pause", "type": "event" },
- {
- "anonymous": false,
- "inputs": [],
- "name": "Unpause",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- { "indexed": true, "name": "to", "type": "address" },
- { "indexed": false, "name": "amount", "type": "uint256" }
- ],
- "name": "Mint",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [],
- "name": "MintFinished",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- { "indexed": true, "name": "previousOwner", "type": "address" }
- ],
- "name": "OwnershipRenounced",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- { "indexed": true, "name": "previousOwner", "type": "address" },
- { "indexed": true, "name": "newOwner", "type": "address" }
- ],
- "name": "OwnershipTransferred",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- { "indexed": true, "name": "burner", "type": "address" },
- { "indexed": false, "name": "value", "type": "uint256" }
- ],
- "name": "Burn",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- { "indexed": true, "name": "owner", "type": "address" },
- { "indexed": true, "name": "spender", "type": "address" },
- { "indexed": false, "name": "value", "type": "uint256" }
- ],
- "name": "Approval",
- "type": "event"
- },
- {
- "anonymous": false,
- "inputs": [
- { "indexed": true, "name": "from", "type": "address" },
- { "indexed": true, "name": "to", "type": "address" },
- { "indexed": false, "name": "value", "type": "uint256" }
- ],
- "name": "Transfer",
- "type": "event"
- }
- ]
- }
- }
-}
diff --git a/client/next-env.d.ts b/client/next-env.d.ts
deleted file mode 100644
index 4f11a03d..00000000
--- a/client/next-env.d.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-///
-///
-
-// NOTE: This file should not be edited
-// see https://nextjs.org/docs/basic-features/typescript for more information.
diff --git a/client/next.config.js b/client/next.config.js
deleted file mode 100644
index 2443d9b1..00000000
--- a/client/next.config.js
+++ /dev/null
@@ -1,71 +0,0 @@
-// This file sets a custom webpack configuration to use your Next.js app
-// with Sentry.
-// https://nextjs.org/docs/api-reference/next.config.js/introduction
-// https://docs.sentry.io/platforms/javascript/guides/nextjs/manual-setup/
-const { withSentryConfig } = require("@sentry/nextjs");
-
-const path = require("path");
-require("dotenv").config();
-
-/** @type {import('next').NextConfig} */
-const nextConfig = {
- reactStrictMode: true,
- typescript: {
- // !! WARN !!
- // Dangerously allow production builds to successfully complete even if
- // your project has type errors.
- // !! WARN !!
- ignoreBuildErrors: true,
- },
- sentry: {
- hideSourceMaps: true,
- },
- webpack: (config, { buildId, dev, isServer, defaultLoaders, webpack }) => {
- /* Add any environmental variables here and they will be available in the JS code under
- * `process.env.[variable]`.
- *
- * Note: these get "baked in" to the code at build time when building for Goerli / Mainnet
- */
- const envVars = {
- production: {
- NETWORK_ID: 1,
- },
- development: {
- NETWORK_ID: 31337,
- CLAIM_OPENS: 1657584000,
- CLAIM_CLOSES: 1665360000,
- },
- staging: {
- NETWORK_ID: 5,
- },
- };
-
- /**
- * Returns environment variables as an object
- */
- const env = Object.keys(process.env)
- .concat(Object.keys(envVars[process.env.NODE_ENV]))
- .reduce((acc, curr) => {
- acc[`process.env.${curr}`] = JSON.stringify(process.env[curr]);
- return acc;
- }, {});
-
- config.plugins.push(new webpack.DefinePlugin(env));
-
- if (isServer) {
- return {
- ...config,
- entry() {
- return config.entry().then((entry) => ({
- ...entry,
- listener: path.resolve(process.cwd(), "./listener.ts"),
- }));
- },
- };
- }
- // Important: return the modified config
- return config;
- },
-};
-
-module.exports = withSentryConfig(nextConfig, { silent: true });
diff --git a/client/package.json b/client/package.json
deleted file mode 100644
index abb0b491..00000000
--- a/client/package.json
+++ /dev/null
@@ -1,77 +0,0 @@
-{
- "name": "ousd-governance-client",
- "private": true,
- "license": "MIT",
- "homepage": "https://github.com/originprotocol/ousd-governance",
- "bugs": {
- "url": "https://github.com/originprotocol/ousd-governance/issues",
- "email": "security@originprotocol.com"
- },
- "scripts": {
- "dev:web": "next dev",
- "dev:listener": "wait-on .next/server/listener.js && nodemon .next/server/listener.js",
- "dev": "rm -f .next/server/listener.js && npm-run-all -p dev:listener dev:web",
- "build": "next build && npx prisma migrate deploy",
- "start:listener": "node .next/server/listener.js",
- "start:web": "next start",
- "lint": "next lint",
- "prettier:check": "prettier --check '{components,constants,lib,pages,utils}/**/*.{js,jsx,ts,tsx}'",
- "prettier:fix": "prettier --write '{components,constants,lib,pages,utils}/**/*.{js,jsx,ts,tsx}'"
- },
- "dependencies": {
- "@mdi/js": "^6.9.96",
- "@mdi/react": "^1.6.0",
- "@prisma/client": "^3.10.0",
- "@rainbow-me/rainbowkit": "^0.12.16",
- "@sentry/nextjs": "7.36.0",
- "@tailwindcss/typography": "^0.5.2",
- "@types/lodash": "^4.14.182",
- "@types/node": "17.0.18",
- "@types/react": "17.0.39",
- "@types/react-sticky": "^6.0.4",
- "@types/react-sticky-el": "^1.0.3",
- "autoprefixer": "^10.4.2",
- "chart.js": "^3.7.1",
- "classnames": "^2.3.1",
- "daisyui": "^2.0.9",
- "dayjs": "^1.11.4",
- "dotenv": "^16.0.0",
- "eslint": "8.9.0",
- "eslint-config-next": "12.1.0",
- "ethereum-events": "https://github.com/AleG94/ethereum-events#develop",
- "ethers": "^5.5.4",
- "keccak256": "^1.0.6",
- "lodash": "^4.17.21",
- "merkletreejs": "^0.2.31",
- "moment": "^2.29.3",
- "next": "12.1.0",
- "next-seo": "^5.4.0",
- "node-schedule": "^2.1.0",
- "nodemon": "^2.0.15",
- "npm-run-all": "^4.1.5",
- "numeraljs": "^1.5.6",
- "postcss": "^8.4.6",
- "prettier": "^2.6.0",
- "prisma": "^3.10.0",
- "react": "17.0.2",
- "react-chartjs-2": "^4.1.0",
- "react-countdown": "^2.3.2",
- "react-device-detect": "^2.2.2",
- "react-dom": "17.0.2",
- "react-markdown": "^8.0.0",
- "react-query": "^3.39.3",
- "react-sticky-el": "^2.0.9",
- "react-toastify": "^8.2.0",
- "react-tooltip": "^4.2.21",
- "sanitize-html": "^2.7.1",
- "swr": "^1.3.0",
- "tailwindcss": "^3.0.23",
- "typescript": "4.5.5",
- "wagmi": "^0.12.18",
- "wait-on": "^6.0.1",
- "walletlink": "^2.4.7",
- "web3": "^1.7.1",
- "winston": "^3.6.0",
- "zustand": "^3.7.0"
- }
-}
diff --git a/client/pages/404.tsx b/client/pages/404.tsx
deleted file mode 100644
index ce456e41..00000000
--- a/client/pages/404.tsx
+++ /dev/null
@@ -1,28 +0,0 @@
-import type { NextPage } from "next";
-import { PageTitle } from "components/PageTitle";
-import { SectionTitle } from "components/SectionTitle";
-import Card from "components/Card";
-import Wrapper from "components/Wrapper";
-import Link from "components/Link";
-import Seo from "components/Seo";
-
-const NotFoundPage: NextPage = () => (
-
-
- 404
-
- Page Not Found
-
-
Use the links above to get to where you need to be.
-
- Or go to the home page
-
-
-
-
-);
-
-export default NotFoundPage;
diff --git a/client/pages/_app.tsx b/client/pages/_app.tsx
deleted file mode 100644
index 19b0fac9..00000000
--- a/client/pages/_app.tsx
+++ /dev/null
@@ -1,134 +0,0 @@
-import { useEffect } from "react";
-import { claimOpenTimestampPassed } from "utils";
-import dynamic from "next/dynamic";
-import Script from "next/script";
-import useAccountBalances from "utils/useAccountBalances";
-import useTotalBalances from "utils/useTotalBalances";
-import useContracts from "utils/useContracts";
-import useLockups from "utils/useLockups";
-import useBlock from "utils/useBlock";
-import { useRouter } from "next/router";
-import { TransactionListener } from "components/TransactionListener";
-import {
- getDefaultWallets,
- RainbowKitProvider,
- connectorsForWallets,
- darkTheme,
-} from "@rainbow-me/rainbowkit";
-import { QueryClient, QueryClientProvider } from "react-query";
-import {
- ledgerWallet,
- phantomWallet,
- safeWallet,
- trustWallet,
- zerionWallet,
- mewWallet,
- okxWallet,
-} from "@rainbow-me/rainbowkit/wallets";
-import { WagmiConfig, createClient, configureChains } from "wagmi";
-import { mainnet, localhost } from "wagmi/chains";
-import { publicProvider } from "wagmi/providers/public";
-import Layout from "../components/layout";
-import "@rainbow-me/rainbowkit/styles.css";
-import "../styles/globals.css";
-import { GTM_ID, pageview } from "../lib/gtm";
-
-const queryClient = new QueryClient();
-
-const { chains, provider } = configureChains(
- [mainnet, localhost],
- [publicProvider()]
-);
-
-const projectId = process.env.NEXT_PUBLIC_WALLETCONNECT_V2_PROJECT_ID;
-
-// Rainbow kit init
-const { wallets } = getDefaultWallets({
- appName: "Origin Governance",
- projectId,
- chains,
-});
-
-const connectors = connectorsForWallets([
- ...wallets,
- {
- groupName: "Other",
- wallets: [
- mewWallet({ projectId, chains }),
- okxWallet({ projectId, chains }),
- ledgerWallet({ projectId, chains }),
- phantomWallet({ chains }),
- safeWallet({ chains }),
- trustWallet({ projectId, chains }),
- zerionWallet({ projectId, chains }),
- ],
- },
-]);
-
-const client = createClient({
- autoConnect: true,
- provider,
- connectors,
-});
-
-const kitTheme = darkTheme({
- accentColor: "#396ff6",
- accentColorForeground: "white",
- borderRadius: "large",
- fontStack: "system",
- overlayBlur: "small",
-});
-
-const GeoFenceCheck = dynamic(() => import("components/GeoFenceCheck"), {
- ssr: false,
-});
-
-const Root = ({ Component, pageProps }) => {
- const router = useRouter();
-
- useEffect(() => {
- router.events.on("routeChangeComplete", pageview);
- return () => {
- router.events.off("routeChangeComplete", pageview);
- };
- }, [router.events]);
-
- useContracts();
- useTotalBalances();
- useAccountBalances();
- useLockups();
- useBlock();
-
- return (
-
-
-
-
-
-
- );
-};
-
-const App = ({ Component, pageProps }) => (
-
-
-
-
-
-
-
-);
-
-export default App;
diff --git a/client/pages/_document.tsx b/client/pages/_document.tsx
deleted file mode 100644
index 8574114e..00000000
--- a/client/pages/_document.tsx
+++ /dev/null
@@ -1,35 +0,0 @@
-import Document, { Html, Head, Main, NextScript } from "next/document";
-import { GTM_ID } from "../lib/gtm";
-
-class OUSDGovernanceDocument extends Document {
- render(): JSX.Element {
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
- }
-}
-
-export default OUSDGovernanceDocument;
diff --git a/client/pages/_error.js b/client/pages/_error.js
deleted file mode 100644
index 55c34869..00000000
--- a/client/pages/_error.js
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * NOTE: This requires `@sentry/nextjs` version 7.3.0 or higher.
- *
- * NOTE: If using this with `next` version 12.2.0 or lower, uncomment the
- * penultimate line in `CustomErrorComponent`.
- *
- * This page is loaded by Nextjs:
- * - on the server, when data-fetching methods throw or reject
- * - on the client, when `getInitialProps` throws or rejects
- * - on the client, when a React lifecycle method throws or rejects, and it's
- * caught by the built-in Nextjs error boundary
- *
- * See:
- * - https://nextjs.org/docs/basic-features/data-fetching/overview
- * - https://nextjs.org/docs/api-reference/data-fetching/get-initial-props
- * - https://reactjs.org/docs/error-boundaries.html
- */
-
-import * as Sentry from "@sentry/nextjs";
-import NextErrorComponent from "next/error";
-
-const CustomErrorComponent = (props) => {
- // If you're using a Nextjs version prior to 12.2.1, uncomment this to
- // compensate for https://github.com/vercel/next.js/issues/8592
- // Sentry.captureUnderscoreErrorException(props);
-
- return ;
-};
-
-CustomErrorComponent.getInitialProps = async (contextData) => {
- // In case this is running in a serverless function, await this in order to give Sentry
- // time to send the error before the lambda exits
- await Sentry.captureUnderscoreErrorException(contextData);
-
- // This will contain the status code of the response
- return NextErrorComponent.getInitialProps(contextData);
-};
-
-export default CustomErrorComponent;
diff --git a/client/pages/_middleware.ts b/client/pages/_middleware.ts
deleted file mode 100644
index 199303ca..00000000
--- a/client/pages/_middleware.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-import { NextResponse, NextRequest } from "next/server";
-import { governanceEnabled } from "utils";
-
-export function middleware(req: NextRequest) {
- const { pathname } = req.nextUrl;
- const homeRegEx = /^\/$/;
-
- // until we unlock proposals just redirect all homepage traffic to claim
- if (homeRegEx.test(pathname) && !governanceEnabled()) {
- // Redirect everything to /claim
- const claimUrl = req.nextUrl.clone();
- claimUrl.pathname = "/claim";
-
- return NextResponse.redirect(claimUrl);
- }
-
- return NextResponse.next();
-}
diff --git a/client/pages/api/claim.ts b/client/pages/api/claim.ts
deleted file mode 100644
index bc706ac4..00000000
--- a/client/pages/api/claim.ts
+++ /dev/null
@@ -1,54 +0,0 @@
-import type { NextApiRequest, NextApiResponse } from "next";
-import path from "path";
-import fs from "fs";
-
-type Data = {
- index?: number;
- amount?: number;
- proof?: string[];
- hasClaim?: boolean;
- error?: string | undefined;
-};
-
-const isDevMode = process.env.NODE_ENV === "development";
-const { claims: optionalClaims } = JSON.parse(
- fs.readFileSync(
- path.join(
- process.cwd(),
- `../scripts/${process.env.NETWORK_ID}_data/optional_lockup_claims.json`
- ),
- "utf8"
- )
-);
-const { claims: mandatoryClaims } = JSON.parse(
- fs.readFileSync(
- path.join(
- process.cwd(),
- `../scripts/${process.env.NETWORK_ID}_data/mandatory_lockup_claims.json`
- ),
- "utf8"
- )
-);
-
-const handler = (req: NextApiRequest, res: NextApiResponse) => {
- const account: string = (req.query.account as string) || "";
- if (!account)
- return res.status(500).json({ error: "Missing account parameter" });
-
- const getClaimDataFromClaims = (claimsSource) => {
- const hasClaim = !!claimsSource[account];
- const index = claimsSource[account]?.index || 0;
- const amount = claimsSource[account]?.amount || 0;
- const proof = claimsSource[account]?.proof || [];
- const split = claimsSource[account]?.split || {};
-
- return { index, amount, proof, hasClaim, split };
- };
-
- return res.status(200).json({
- optional: getClaimDataFromClaims(optionalClaims),
- mandatory: getClaimDataFromClaims(mandatoryClaims),
- });
-};
-
-export default handler;
diff --git a/client/pages/api/lockups.ts b/client/pages/api/lockups.ts
deleted file mode 100644
index 3bbea0b0..00000000
--- a/client/pages/api/lockups.ts
+++ /dev/null
@@ -1,28 +0,0 @@
-import type { NextApiRequest, NextApiResponse } from "next";
-import prisma from "lib/prisma";
-
-type Data = {};
-
-const handler = async (req: NextApiRequest, res: NextApiResponse) => {
- const account: string = (req.query.account as string) || "";
- if (!account)
- return res.status(500).json({ error: "Missing account parameter" });
-
- const lockups = await prisma.lockup.findMany({
- where: {
- user: {
- equals: account,
- },
- active: {
- equals: true,
- },
- },
- include: {
- transactions: true,
- },
- });
-
- return res.status(200).json({ lockups });
-};
-
-export default handler;
diff --git a/client/pages/api/proposals.ts b/client/pages/api/proposals.ts
deleted file mode 100644
index 919d626a..00000000
--- a/client/pages/api/proposals.ts
+++ /dev/null
@@ -1,37 +0,0 @@
-import { NextApiRequest, NextApiResponse } from "next";
-import prisma from "lib/prisma";
-
-interface Proposal {
- id: number;
- proposalId: string;
- createdAt: string;
- description: string;
- transactions: any;
-}
-
-interface Data {
- count: number;
- proposals?: Proposal[];
-}
-
-const handler = async (req: NextApiRequest, res: NextApiResponse) => {
- const rawProposals = await prisma.proposal.findMany({
- orderBy: { id: "desc" },
- include: { transactions: true },
- });
-
- if (req.query.onlyCount)
- return res.status(200).json({ count: rawProposals.length });
-
- const proposals = rawProposals.map((p) => ({
- id: p.id,
- proposalId: p.proposalId,
- createdAt: p.createdAt.toString(),
- description: p.description,
- transactions: JSON.parse(JSON.stringify(p.transactions)), // transactions.createdAt [object Date] cannot be serialized as JSON without JSON.parse/stringify
- }));
-
- return res.status(200).json({ count: proposals.length, proposals });
-};
-
-export default handler;
diff --git a/client/pages/burn.tsx b/client/pages/burn.tsx
deleted file mode 100644
index c198b863..00000000
--- a/client/pages/burn.tsx
+++ /dev/null
@@ -1,225 +0,0 @@
-import type { NextPage } from "next";
-import { useEffect, useState } from "react";
-import { PageTitle } from "components/PageTitle";
-import CardGroup from "components/CardGroup";
-import Card from "components/Card";
-import CardDescription from "components/CardDescription";
-import CardStat from "components/CardStat";
-import Wrapper from "components/Wrapper";
-import Seo from "components/Seo";
-import Countdown, { CountdownRendererFn } from "react-countdown";
-import { useStore } from "utils/store";
-import { SectionTitle } from "components/SectionTitle";
-import Link from "components/Link";
-import { BigNumber, BigNumberish } from "ethers";
-import TokenAmount from "components/TokenAmount";
-import { decimal18Bn } from "utils";
-
-const renderer: CountdownRendererFn = ({ days, hours, minutes, seconds }) => (
-
-
- {days}
- Days
-
-
- {hours}
- Hours
-
-
- {minutes}
- Minutes
-
-
- {seconds}
- Seconds
-
-
-);
-
-const Burn: NextPage = () => {
- const { claim, totalBalances } = useStore();
- const { mandatoryDistributorOgv, optionalDistributorOgv } = totalBalances;
- const [date, setDate] = useState(null);
-
- useEffect(() => {
- setTimeout(() => {
- let date = new Date(0);
- date.setUTCSeconds(parseInt(claim.claimClosesTs || "0"));
- setDate(date);
- }, 1);
- }, [claim.claimClosesTs]);
-
- const getPercentage = (total: BigNumber, value: BigNumber) =>
- ((parseInt(total.toString()) / parseInt(value.toString())) * 100).toFixed(
- 2
- );
-
- const initialSupplyOfOgv = BigNumber.from(4000000000).mul(decimal18Bn);
- const amountToBeBurned =
- mandatoryDistributorOgv.gt(0) && optionalDistributorOgv.gt(0)
- ? mandatoryDistributorOgv.add(optionalDistributorOgv)
- : BigNumber.from(0);
- const percentageToBeBurned = amountToBeBurned.gt(0)
- ? getPercentage(amountToBeBurned, initialSupplyOfOgv)
- : 0;
-
- const totalAirdroppedOusd = BigNumber.from(450000000).mul(decimal18Bn);
- const totalAirdroppedOgn = BigNumber.from(1000000000).mul(decimal18Bn);
- const totalAirdropped = totalAirdroppedOusd.add(totalAirdroppedOgn);
- const percentageAirdroppedOusd = getPercentage(
- totalAirdroppedOusd,
- totalAirdropped
- );
- const percentageAirdroppedOgn = getPercentage(
- totalAirdroppedOgn,
- totalAirdropped
- );
-
- const mandatoryDistributorInitialOgv =
- BigNumber.from(398752449).mul(decimal18Bn);
- const optionalDistributorInitialOgv =
- BigNumber.from(747905084).mul(decimal18Bn);
- const totalInitialOgv = mandatoryDistributorInitialOgv.add(
- optionalDistributorInitialOgv
- );
-
- const totalClaimedOusd = mandatoryDistributorInitialOgv.sub(
- mandatoryDistributorOgv
- );
- const totalClaimedOgn = optionalDistributorInitialOgv.sub(
- optionalDistributorOgv
- );
- const totalClaimed = totalClaimedOusd.add(totalClaimedOgn);
- const percentageClaimedOusd = getPercentage(
- totalClaimedOusd,
- mandatoryDistributorInitialOgv
- );
- const percentageClaimedOgn = getPercentage(
- totalClaimedOgn,
- optionalDistributorInitialOgv
- );
- const percentageClaimed = getPercentage(totalClaimed, totalInitialOgv);
-
- return (
-
-
- OGV Burn Countdown
-
- {date && }
-
-
-
-
-
-
- {percentageToBeBurned}%
- {" "}
- of the initial supply will be burned
-
-
- This is{" "}
-
-
- {" "}
- OGV
-
-
-
-
- What is the OGV Burn?
-
- On October 10th, 2022 at 0:00UTC all unclaimed tokens from the OGV
- airdrop will be burned forever.
-
-
-
-
- Buy OGV
-
-
-
-
- Stake OGV
-
-
-
-
-
-
- Airdrop Allocation Stats
-
-
-
- Airdrop total
-
-
- {" "}
- OGV
-
-
-
-
- OUSD Holders ({percentageAirdroppedOusd}%)
-
-
- {" "}
- OGV
-
-
-
-
- OGN Holders ({percentageAirdroppedOgn}%)
-
-
- {" "}
- OGV
-
-
-
-
-
- Claim Stats
-
-
-
- Total claims ({percentageClaimed}%)
-
-
- {" "}
- OGV
-
-
-
-
- OUSD Holders ({percentageClaimedOusd}%)
-
-
- {" "}
- OGV
-
-
-
-
- OGN Holders ({percentageClaimedOgn}%)
-
-
- {" "}
- OGV
-
-
-
-
-
-
-
- );
-};
-
-export default Burn;
diff --git a/client/pages/claim.tsx b/client/pages/claim.tsx
deleted file mode 100644
index 39f26cfb..00000000
--- a/client/pages/claim.tsx
+++ /dev/null
@@ -1,81 +0,0 @@
-import type { NextPage } from "next";
-import Wrapper from "components/Wrapper";
-import Seo from "components/Seo";
-import { PageTitle } from "components/PageTitle";
-import Card from "components/Card";
-import Button from "components/Button";
-import useClaim from "utils/useClaim";
-import { getRewardsApy } from "utils/apy";
-import Link from "components/Link";
-import useStakingAPY from "utils/useStakingAPY";
-
-interface ClaimPageProps {}
-
-const ClaimPage: NextPage = () => {
- // Standard APY figure, assumes 100 OGV locked for max duration
- const { stakingAPY, loading: apyLoading } = useStakingAPY(100, 48);
-
- return (
-
-
- OGV Claim
-
-
-
- The claim period has now expired
-
-
- {`All unclaimed OGV was burned after 90 days. You can still buy OGV and stake it for up to four years. Current OGV stakers are earning a vAPY of ${
- apyLoading ? "--.--" : stakingAPY.toFixed(2)
- }%.`}
-
-
-
- {"Create a new stake"}
-
-
-
-
-
-
- Read about the airdrop
-
-
-
-
- See the OGV burn
-
-
-
-
-
- );
-};
-
-export default ClaimPage;
diff --git a/client/pages/index.tsx b/client/pages/index.tsx
deleted file mode 100644
index 1b1bba70..00000000
--- a/client/pages/index.tsx
+++ /dev/null
@@ -1,182 +0,0 @@
-import { useState, useEffect } from "react";
-import { BigNumber } from "ethers";
-import type { NextPage } from "next";
-import { loadProposals, useNetworkInfo } from "utils/index";
-import { ProposalTable } from "components/proposal/ProposalTable";
-import { Loading } from "components/Loading";
-import { VoteStats } from "components/VoteStats";
-import { PageTitle } from "components/PageTitle";
-import { SectionTitle } from "components/SectionTitle";
-import { LeaderboardTable } from "components/LeaderboardTable";
-import Card from "components/Card";
-import CardGroup from "components/CardGroup";
-import Wrapper from "components/Wrapper";
-import prisma from "lib/prisma";
-import { useStore } from "utils/store";
-import Seo from "components/Seo";
-import Link from "components/Link";
-
-export type ProposalDataType = {
- proposals: Array>;
- states: Array;
-};
-
-export async function getServerSideProps({ res }: { res: any }) {
- res.setHeader(
- "Cache-Control",
- "public, s-maxage=60, stale-while-revalidate=59"
- );
-
- const holderCount = await prisma.voter.count();
-
- // Limit 5
- const voters = (
- await prisma.voter.findMany({
- include: { proposalsVoted: true },
- orderBy: [{ votes: "desc" }],
- take: 5,
- })
- ).map((v) => ({
- address: v.address,
- votes: v.votes.toHexadecimal(),
- proposalsVoted: v?.proposalsVoted?.length,
- }));
-
- const proposalCount = await prisma.proposal.count();
- const proposals = (
- await prisma.proposal.findMany({
- orderBy: [{ id: "desc" }],
- include: { transactions: true },
- take: 5,
- })
- ).map((p) => ({
- id: p.id,
- proposalId: p.proposalId,
- createdAt: p.createdAt.toString(),
- description: p.description,
- transactions: JSON.parse(JSON.stringify(p.transactions)),
- }));
-
- return {
- props: {
- voters,
- proposals,
- proposalCount,
- holderCount,
- },
- };
-}
-
-interface HomeProps {
- voters: Array<{ address: string; votes: string }>;
- proposals: Array<{
- id: number;
- proposalId: string;
- updatedAt: string;
- createdAt: string;
- }>;
- proposalCount: number;
- holderCount: number;
-}
-
-const Home: NextPage = ({
- voters,
- proposals,
- proposalCount,
- holderCount,
-}) => {
- const { contracts, totalBalances } = useStore();
- const { totalSupplyVeOgv } = totalBalances;
-
- const networkInfo = useNetworkInfo();
- const [proposalData, setProposalData] = useState({
- proposals: [],
- states: [],
- });
- const [loading, setLoading] = useState(true);
-
- useEffect(() => {
- const load = async () => {
- const data = await loadProposals(
- contracts.Governance,
- proposals.map((p) => p.proposalId)
- );
- // Augment with human readable ID from the database
- const dataWithDisplayId = {
- ...data,
- proposals: data.proposals.map((d) => ({
- ...d,
- displayId: proposals.find(
- (p) => p.proposalId.toString() === d.id.toString()
- )?.id,
- description: proposals.find(
- (p) => p.proposalId.toString() === d.id.toString()
- )?.description,
- transactions: proposals.find(
- (p) => p.proposalId.toString() === d.id.toString()
- )?.transactions,
- })),
- };
- setProposalData(dataWithDisplayId);
- setLoading(false);
- };
-
- if (contracts.Governance) {
- load();
- }
- }, [proposals, setProposalData, contracts.Governance, networkInfo.correct]);
-
- return (
-
-
- Governance Overview
-
-
-
- {loading ? (
-
- ) : (
-
-
- {proposalCount > 0 && (
-
-
- View All Proposals
-
-
- )}
-
- )}
-
-
- Top Voting Addresses
-
-
- {voters && voters.length > 0 && (
-
-
- View Leaderboard
-
-
- )}
-
-
-
-
- );
-};
-
-export default Home;
diff --git a/client/pages/leaderboard.tsx b/client/pages/leaderboard.tsx
deleted file mode 100644
index bcc2b2e9..00000000
--- a/client/pages/leaderboard.tsx
+++ /dev/null
@@ -1,40 +0,0 @@
-import type { NextPage } from "next";
-import { PageTitle } from "components/PageTitle";
-import { LeaderboardTable } from "components/LeaderboardTable";
-import Card from "components/Card";
-import prisma from "lib/prisma";
-import Wrapper from "components/Wrapper";
-import Seo from "components/Seo";
-
-export async function getServerSideProps({ res }: { res: any }) {
- const voters = (
- await prisma.voter.findMany({
- include: { proposalsVoted: true },
- orderBy: [{ votes: "desc" }],
- })
- ).map((v) => ({
- address: v.address,
- votes: v.votes.toHexadecimal(),
- proposalsVoted: v?.proposalsVoted?.length,
- }));
-
- return {
- props: {
- voters,
- },
- };
-}
-
-const Leaderboard: NextPage = ({ voters }) => {
- return (
-
-
- Leaderboard
-
-
-
-
- );
-};
-
-export default Leaderboard;
diff --git a/client/pages/merkle-test.tsx b/client/pages/merkle-test.tsx
deleted file mode 100644
index 0f771be0..00000000
--- a/client/pages/merkle-test.tsx
+++ /dev/null
@@ -1,49 +0,0 @@
-import type { NextPage } from "next";
-import { PageTitle } from "components/PageTitle";
-import Card from "components/Card";
-import useClaim from "../utils/useClaim";
-import { useStore } from "utils/store";
-import Wrapper from "components/Wrapper";
-import { utils } from "ethers";
-
-const MerkleTest: NextPage = () => {
- const { optional } = useClaim();
- const { address } = useStore();
- if (!optional) {
- return <>>;
- }
-
- const { index, amount, proof, hasClaim, split } = optional;
-
- return (
-
- Merkle Test
-
- {hasClaim ? (
-
-
Account is eligible to claim
-
Claim params:
-
- Index: {index}
- Account: {address}
- Amount: {utils.formatUnits(amount, 18)}
- Proof: {JSON.stringify(proof)}
-
-
Eligibility criteria split:
-
- {Object.keys(split).map((token) => (
-
- {token}: {utils.formatUnits(split[token], 18)}
-
- ))}
-
-
- ) : (
- Account isn't eligible to claim
- )}
-
-
- );
-};
-
-export default MerkleTest;
diff --git a/client/pages/proposals/[id].tsx b/client/pages/proposals/[id].tsx
deleted file mode 100644
index 3a127b98..00000000
--- a/client/pages/proposals/[id].tsx
+++ /dev/null
@@ -1,75 +0,0 @@
-import type { NextPage } from "next";
-import { ProposalDetail } from "components/proposal/ProposalDetail";
-import prisma from "lib/prisma";
-import Wrapper from "components/Wrapper";
-import Seo from "components/Seo";
-import { getCleanProposalContent } from "utils";
-import moment from "moment";
-import Link from "components/Link";
-import Icon from "@mdi/react";
-import { mdiChevronLeft as LeftArrowIcon } from "@mdi/js";
-
-export async function getServerSideProps({
- res,
- query,
-}: {
- res: any;
- query: any;
-}) {
- res.setHeader("Cache-Control", "s-maxage=1, stale-while-revalidate");
-
- const proposal = await prisma.proposal.findUnique({
- where: { proposalId: query.id },
- include: { voters: true, transactions: true },
- });
-
- const { id, proposalId, createdAt, description, voters, transactions } =
- proposal;
-
- return {
- props: {
- id,
- proposalId,
- createdAt: moment(createdAt).format("MMM D, YYYY"),
- description,
- voters: JSON.parse(JSON.stringify(voters)),
- transactions: JSON.parse(JSON.stringify(transactions)).sort((a, b) =>
- a?.createdAt < b?.createdAt ? -1 : 1
- ),
- },
- };
-}
-
-const ProposalPage: NextPage = ({
- id,
- proposalId,
- createdAt,
- description,
- voters,
- transactions,
-}) => {
- const { cleanTitle } = getCleanProposalContent(description);
-
- return (
-
-
-
-
- Proposals
-
-
-
- );
-};
-
-export default ProposalPage;
diff --git a/client/pages/proposals/index.tsx b/client/pages/proposals/index.tsx
deleted file mode 100644
index e8d001ea..00000000
--- a/client/pages/proposals/index.tsx
+++ /dev/null
@@ -1,100 +0,0 @@
-import { useState, useEffect } from "react";
-import type { NextPage } from "next";
-import { loadProposals, useNetworkInfo } from "utils/index";
-import { useStore } from "utils/store";
-import type { ProposalDataType } from "pages/index";
-import { Loading } from "components/Loading";
-import { ProposalTable } from "components/proposal/ProposalTable";
-import { PageTitle } from "components/PageTitle";
-import Wrapper from "components/Wrapper";
-import prisma from "lib/prisma";
-import Seo from "components/Seo";
-
-export async function getServerSideProps({ res }: { res: any }) {
- res.setHeader(
- "Cache-Control",
- "public, s-maxage=60, stale-while-revalidate=59"
- );
-
- const proposals = (
- await prisma.proposal.findMany({
- orderBy: { id: "desc" },
- include: { transactions: true },
- })
- ).map((p) => ({
- id: p.id,
- proposalId: p.proposalId,
- createdAt: p.createdAt.toString(),
- description: p.description,
- transactions: JSON.parse(JSON.stringify(p.transactions)), // transactions.createdAt [object Date] cannot be serialized as JSON without JSON.parse/stringify
- }));
-
- return {
- props: {
- proposals,
- },
- };
-}
-
-const Proposal: NextPage = ({ proposals }) => {
- const { contracts } = useStore();
- const networkInfo = useNetworkInfo();
- const [proposalData, setProposalData] = useState({
- proposals: [],
- states: [],
- });
- const [loading, setLoading] = useState(true);
-
- useEffect(() => {
- const load = async () => {
- const data = await loadProposals(
- contracts.Governance,
- proposals.map((p) => p.proposalId)
- );
-
- // Augment with human readable ID from the database
- const dataWithDisplayId = {
- ...data,
- proposals: data.proposals.map((d) => {
- const proposalById = proposals.find(
- (p) => p.proposalId.toString() === d.id.toString()
- );
-
- return {
- ...d,
- displayId: proposalById?.id,
- description: proposalById?.description,
- transactions: proposalById?.transactions,
- };
- }),
- };
-
- setProposalData(dataWithDisplayId);
- setLoading(false);
- };
-
- if (contracts.loaded) {
- load();
- }
- }, [
- proposals,
- setProposalData,
- contracts.loaded,
- contracts.Governance,
- networkInfo.correct,
- ]);
-
- return (
-
-
- Origin DeFi Governance
- {loading ? (
-
- ) : (
-
- )}
-
- );
-};
-
-export default Proposal;
diff --git a/client/pages/proposals/new.tsx b/client/pages/proposals/new.tsx
deleted file mode 100644
index d6ef88d6..00000000
--- a/client/pages/proposals/new.tsx
+++ /dev/null
@@ -1,216 +0,0 @@
-import { ethers } from "ethers";
-import { useState, useEffect } from "react";
-import type { NextPage } from "next";
-import { toast } from "react-toastify";
-import Card from "components/Card";
-import CardGroup from "components/CardGroup";
-import { ProposalAddActionButton } from "components/proposal/ProposalAddActionButton";
-import { ProposalActionAddModal } from "components/proposal/ProposalActionAddModal";
-import { ProposalActionsTableEmpty } from "components/proposal/ProposalActionsTableEmpty";
-import { ProposalActionsTable } from "components/proposal/ProposalActionsTable";
-import { SectionTitle } from "components/SectionTitle";
-import { PageTitle } from "components/PageTitle";
-import { Disconnected } from "components/Disconnected";
-import { Reallocation } from "components/proposal/Reallocation";
-import { SubmitProposalButton } from "components/proposal/SubmitProposalButton";
-import { useStickyState } from "utils/useStickyState";
-import useGovernance from "utils/useGovernance";
-import useShowDelegationModalOption from "utils/useShowDelegationModalOption";
-import { useStore } from "utils/store";
-import Wrapper from "components/Wrapper";
-import Seo from "components/Seo";
-import { EnsureDelegationModal } from "components/proposal/EnsureDelegationModal";
-import { useRouter } from "next/router";
-import { useAccount } from "wagmi";
-
-const ProposalNew: NextPage = () => {
- const router = useRouter();
- const { isConnected } = useAccount();
- const { contracts, pendingTransactions } = useStore();
- const { showModalIfApplicable } = useShowDelegationModalOption();
- const [newProposalActions, setNewProposalActions] = useStickyState(
- [],
- "proposalActions"
- );
- const [proposalDetails, setProposalDetails] = useStickyState(
- "",
- "proposalDetails"
- );
-
- const [isReallocation, setIsReallocation] = useStickyState(
- false,
- "isReallocation"
- );
-
- const [submitDisabled, setSubmitDisabled] = useState(false);
- const { proposalThreshold } = useGovernance();
-
- const [modalOpen, setModalOpen] = useState(false);
-
- // Handle addition of a proposal action
- const handleAddAction = (action: string) => {
- setNewProposalActions([...newProposalActions, action]);
- };
-
- // Handle deletion of a proposal action
- const handleDeleteAction = (actionIndex: number) => {
- setNewProposalActions(
- newProposalActions.filter((_, index: number) => index !== actionIndex)
- );
- };
-
- // Reset the state of the form
- const reset = () => {
- setNewProposalActions([]);
- setProposalDetails("");
- setIsReallocation(false);
- setSubmitDisabled(false);
- };
-
- const proposalActions = {
- targets: newProposalActions.map((a) => a.target),
- values: newProposalActions.map((a) => 0x0),
- signatures: newProposalActions.map((a) => a.signature),
- calldatas: newProposalActions.map((a) => a.calldata),
- };
-
- // Handle submit of the proposal (i.e. transaction)
- const handleSubmit = async () => {
- let transaction;
-
- try {
- // showing delegation modal quits flow
- if (showModalIfApplicable()) {
- return;
- }
- setSubmitDisabled(true);
- transaction = await contracts.Governance[
- "propose(address[],uint256[],string[],bytes[],string)"
- ](
- proposalActions.targets,
- proposalActions.values,
- proposalActions.signatures,
- proposalActions.calldatas,
- proposalDetails
- );
- } catch (error) {
- console.error(error);
- setSubmitDisabled(false);
- return;
- }
-
- useStore.setState({
- pendingTransactions: [
- ...pendingTransactions,
- {
- ...transaction,
- onComplete: () => {
- toast.success("Proposal has been submitted", {
- hideProgressBar: true,
- });
- router.push(`/proposals`);
- reset();
- },
- },
- ],
- });
- };
-
- if (!isConnected) {
- return (
-
-
-
- );
- }
-
- return (
-
-
- New Proposal
-
-
- Proposal Details
-
- Title and description
-
- setProposalDetails(e.target.value)}
- value={proposalDetails}
- />
-
-
- Add the proposal title on the first line and the proposal
- description underneath.
-
-
-
-
- Governance Actions
- {/*{" "}*/}
- {isReallocation ? (
-
- ) : (
- <>
- {newProposalActions.length === 0 ? (
- setModalOpen(true)}
- onActionAdd={handleAddAction}
- />
- ) : (
- <>
- setModalOpen(true)}
- size="small"
- />
-
-
-
-
- >
- )}
- >
- )}
- setModalOpen(false)}
- onActionAdd={handleAddAction}
- />
-
-
-
-
- );
-};
-
-export default ProposalNew;
diff --git a/client/pages/register-vote.tsx b/client/pages/register-vote.tsx
deleted file mode 100644
index 58ba562b..00000000
--- a/client/pages/register-vote.tsx
+++ /dev/null
@@ -1,16 +0,0 @@
-import { PageTitle } from "components/PageTitle";
-import { SectionTitle } from "components/SectionTitle";
-import Wrapper from "components/Wrapper";
-import Seo from "components/Seo";
-import RegisterToVote from "components/proposal/RegisterToVote";
-
-export default function VoteEscrow() {
- return (
-
-
- Origin DeFi Governance
- Register Vote
-
-
- );
-}
diff --git a/client/pages/stake/[id].tsx b/client/pages/stake/[id].tsx
deleted file mode 100644
index 0b656393..00000000
--- a/client/pages/stake/[id].tsx
+++ /dev/null
@@ -1,66 +0,0 @@
-import type { NextPage } from "next";
-import { Disconnected } from "components/Disconnected";
-import { useStore } from "utils/store";
-import Wrapper from "components/Wrapper";
-import Link from "components/Link";
-import { PageTitle } from "components/PageTitle";
-import LockupForm from "components/vote-escrow/LockupForm";
-import { find } from "lodash";
-import Seo from "components/Seo";
-import CardGroup from "components/CardGroup";
-import AccountBalances from "components/vote-escrow/AccountBalances";
-import { useAccount } from "wagmi";
-
-export async function getServerSideProps({
- res,
- query,
-}: {
- res: any;
- query: any;
-}) {
- res.setHeader("Cache-Control", "s-maxage=1, stale-while-revalidate");
-
- return {
- props: { lockupId: query.id },
- };
-}
-
-interface LockupSingleProps {
- lockupId: string;
-}
-
-const LockupSingle: NextPage = ({ lockupId }) => {
- const { lockups } = useStore();
- const { address, isConnected } = useAccount();
- const lockup = find(lockups, { lockupId: parseInt(lockupId) });
-
- if (!isConnected) {
- return (
-
-
-
- );
- }
-
- if (!lockup) {
- }
-
- return (
-
-
- Extend Stake
-
-
- {!lockup && No stake found.
}
- {lockup && lockup?.user !== address && (
- This lockup isn't yours.
- )}
- {lockup && lockup?.user === address && (
-
- )}
-
-
- );
-};
-
-export default LockupSingle;
diff --git a/client/pages/stake/index.tsx b/client/pages/stake/index.tsx
deleted file mode 100644
index b27999b1..00000000
--- a/client/pages/stake/index.tsx
+++ /dev/null
@@ -1,34 +0,0 @@
-import dynamic from "next/dynamic";
-import { PageTitle } from "components/PageTitle";
-import { SectionTitle } from "components/SectionTitle";
-import CardGroup from "components/CardGroup";
-import Wrapper from "components/Wrapper";
-import Seo from "components/Seo";
-
-const AccountBalances = dynamic(
- () => import("components/vote-escrow/AccountBalances"),
- {
- ssr: false,
- }
-);
-
-const YourLockups = dynamic(
- () => import("components/vote-escrow/YourLockups"),
- {
- ssr: false,
- }
-);
-
-export default function VoteEscrow() {
- return (
-
-
- Origin DeFi Governance
- OGV Staking
-
-
-
-
-
- );
-}
diff --git a/client/pages/stake/new.tsx b/client/pages/stake/new.tsx
deleted file mode 100644
index cbcd0ac6..00000000
--- a/client/pages/stake/new.tsx
+++ /dev/null
@@ -1,42 +0,0 @@
-import type { NextPage } from "next";
-import { useState, useEffect } from "react";
-import { Disconnected } from "components/Disconnected";
-import Wrapper from "components/Wrapper";
-import { PageTitle } from "components/PageTitle";
-import LockupForm from "components/vote-escrow/LockupForm";
-import Seo from "components/Seo";
-import CardGroup from "components/CardGroup";
-import AccountBalances from "components/vote-escrow/AccountBalances";
-import { SectionTitle } from "@/components/SectionTitle";
-import { useAccount } from "wagmi";
-
-const LockupNew: NextPage = () => {
- const { isConnected } = useAccount();
- const [isMounted, setIsMounted] = useState(false);
-
- useEffect(() => {
- setIsMounted(true);
- }, []);
-
- if (!isMounted || !isConnected) {
- return (
-
-
-
- );
- }
-
- return (
-
-
- Origin DeFi Governance
- OGV Staking
-
-
-
-
-
- );
-};
-
-export default LockupNew;
diff --git a/client/postcss.config.js b/client/postcss.config.js
deleted file mode 100644
index 33ad091d..00000000
--- a/client/postcss.config.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- plugins: {
- tailwindcss: {},
- autoprefixer: {},
- },
-}
diff --git a/client/prisma/migrations/20220327222834_init/migration.sql b/client/prisma/migrations/20220327222834_init/migration.sql
deleted file mode 100644
index d0a12793..00000000
--- a/client/prisma/migrations/20220327222834_init/migration.sql
+++ /dev/null
@@ -1,26 +0,0 @@
--- CreateTable
-CREATE TABLE "voters" (
- "id" SERIAL NOT NULL,
- "address" TEXT NOT NULL,
- "votes" DECIMAL(78,0) NOT NULL,
- "first_seen_block" INTEGER NOT NULL,
- "updated_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
- "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
-
- CONSTRAINT "voters_pkey" PRIMARY KEY ("id")
-);
-
--- CreateTable
-CREATE TABLE "proposals" (
- "id" SERIAL NOT NULL,
- "proposal_id" TEXT NOT NULL,
- "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
-
- CONSTRAINT "proposals_pkey" PRIMARY KEY ("id")
-);
-
--- CreateIndex
-CREATE UNIQUE INDEX "voters_address_key" ON "voters"("address");
-
--- CreateIndex
-CREATE UNIQUE INDEX "proposals_proposal_id_key" ON "proposals"("proposal_id");
diff --git a/client/prisma/migrations/20220329031359_add_proposal_description/migration.sql b/client/prisma/migrations/20220329031359_add_proposal_description/migration.sql
deleted file mode 100644
index 3dd8e37b..00000000
--- a/client/prisma/migrations/20220329031359_add_proposal_description/migration.sql
+++ /dev/null
@@ -1,2 +0,0 @@
--- AlterTable
-ALTER TABLE "proposals" ADD COLUMN "description" TEXT NOT NULL DEFAULT E'';
diff --git a/client/prisma/migrations/20220330210003_add_listener_block/migration.sql b/client/prisma/migrations/20220330210003_add_listener_block/migration.sql
deleted file mode 100644
index 8b652bbd..00000000
--- a/client/prisma/migrations/20220330210003_add_listener_block/migration.sql
+++ /dev/null
@@ -1,7 +0,0 @@
--- CreateTable
-CREATE TABLE "listener" (
- "last_seen_block" INTEGER NOT NULL
-);
-
--- CreateIndex
-CREATE UNIQUE INDEX "listener_last_seen_block_key" ON "listener"("last_seen_block");
diff --git a/client/prisma/migrations/20220701105530_add_lockups/migration.sql b/client/prisma/migrations/20220701105530_add_lockups/migration.sql
deleted file mode 100644
index d21ff077..00000000
--- a/client/prisma/migrations/20220701105530_add_lockups/migration.sql
+++ /dev/null
@@ -1,12 +0,0 @@
--- CreateTable
-CREATE TABLE "lockups" (
- "lockupId" INTEGER NOT NULL,
- "user" TEXT NOT NULL,
- "amount" DECIMAL(78,0) NOT NULL,
- "end" TEXT NOT NULL,
- "points" DECIMAL(78,0) NOT NULL,
- "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP
-);
-
--- CreateIndex
-CREATE UNIQUE INDEX "lockups_lockupId_key" ON "lockups"("lockupId");
diff --git a/client/prisma/migrations/20220706054634_add_lockups_address_index/migration.sql b/client/prisma/migrations/20220706054634_add_lockups_address_index/migration.sql
deleted file mode 100644
index 69d1887d..00000000
--- a/client/prisma/migrations/20220706054634_add_lockups_address_index/migration.sql
+++ /dev/null
@@ -1,2 +0,0 @@
--- CreateIndex
-CREATE INDEX "lockups_user_idx" ON "lockups"("user");
diff --git a/client/prisma/migrations/20220708174222_revise_lockup_structure/migration.sql b/client/prisma/migrations/20220708174222_revise_lockup_structure/migration.sql
deleted file mode 100644
index 92dd75d0..00000000
--- a/client/prisma/migrations/20220708174222_revise_lockup_structure/migration.sql
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- Warnings:
-
- - You are about to drop the column `amount` on the `lockups` table. All the data in the column will be lost.
- - You are about to drop the column `end` on the `lockups` table. All the data in the column will be lost.
- - You are about to drop the column `points` on the `lockups` table. All the data in the column will be lost.
- - A unique constraint covering the columns `[last_seen_block]` on the table `listener` will be added. If there are existing duplicate values, this will fail.
- - A unique constraint covering the columns `[lockupId]` on the table `lockups` will be added. If there are existing duplicate values, this will fail.
- - A unique constraint covering the columns `[proposal_id]` on the table `proposals` will be added. If there are existing duplicate values, this will fail.
- - A unique constraint covering the columns `[address]` on the table `voters` will be added. If there are existing duplicate values, this will fail.
-
-*/
--- DropIndex
-DROP INDEX "listener_last_seen_block_key";
-
--- DropIndex
-DROP INDEX "lockups_lockupId_key";
-
--- DropIndex
-DROP INDEX "proposals_proposal_id_key";
-
--- DropIndex
-DROP INDEX "voters_address_key";
-
--- AlterTable
-ALTER TABLE "lockups" DROP COLUMN "amount",
-DROP COLUMN "end",
-DROP COLUMN "points";
-
--- CreateIndex
-CREATE UNIQUE INDEX "listener_last_seen_block_key" ON "listener"("last_seen_block");
-
--- CreateIndex
-CREATE UNIQUE INDEX "lockups_lockupId_key" ON "lockups"("lockupId");
-
--- CreateIndex
-CREATE UNIQUE INDEX "proposals_proposal_id_key" ON "proposals"("proposal_id");
-
--- CreateIndex
-CREATE UNIQUE INDEX "voters_address_key" ON "voters"("address");
diff --git a/client/prisma/migrations/20220709224025_remove_lockup_id_constraint/migration.sql b/client/prisma/migrations/20220709224025_remove_lockup_id_constraint/migration.sql
deleted file mode 100644
index 85a750ec..00000000
--- a/client/prisma/migrations/20220709224025_remove_lockup_id_constraint/migration.sql
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- Warnings:
-
- - A unique constraint covering the columns `[last_seen_block]` on the table `listener` will be added. If there are existing duplicate values, this will fail.
- - A unique constraint covering the columns `[proposal_id]` on the table `proposals` will be added. If there are existing duplicate values, this will fail.
- - A unique constraint covering the columns `[address]` on the table `voters` will be added. If there are existing duplicate values, this will fail.
-
-*/
--- DropIndex
-DROP INDEX "listener_last_seen_block_key";
-
--- DropIndex
-DROP INDEX "lockups_lockupId_key";
-
--- DropIndex
-DROP INDEX "proposals_proposal_id_key";
-
--- DropIndex
-DROP INDEX "voters_address_key";
-
--- AlterTable
-ALTER TABLE "lockups" ADD COLUMN "id" SERIAL NOT NULL,
-ADD CONSTRAINT "lockups_pkey" PRIMARY KEY ("id");
-
--- CreateIndex
-CREATE UNIQUE INDEX "listener_last_seen_block_key" ON "listener"("last_seen_block");
-
--- CreateIndex
-CREATE UNIQUE INDEX "proposals_proposal_id_key" ON "proposals"("proposal_id");
-
--- CreateIndex
-CREATE UNIQUE INDEX "voters_address_key" ON "voters"("address");
diff --git a/client/prisma/migrations/20220709225440_add_compound_unique_constraint/migration.sql b/client/prisma/migrations/20220709225440_add_compound_unique_constraint/migration.sql
deleted file mode 100644
index 9c72a79d..00000000
--- a/client/prisma/migrations/20220709225440_add_compound_unique_constraint/migration.sql
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- Warnings:
-
- - A unique constraint covering the columns `[last_seen_block]` on the table `listener` will be added. If there are existing duplicate values, this will fail.
- - A unique constraint covering the columns `[lockupId,user]` on the table `lockups` will be added. If there are existing duplicate values, this will fail.
- - A unique constraint covering the columns `[proposal_id]` on the table `proposals` will be added. If there are existing duplicate values, this will fail.
- - A unique constraint covering the columns `[address]` on the table `voters` will be added. If there are existing duplicate values, this will fail.
-
-*/
--- DropIndex
-DROP INDEX "listener_last_seen_block_key";
-
--- DropIndex
-DROP INDEX "proposals_proposal_id_key";
-
--- DropIndex
-DROP INDEX "voters_address_key";
-
--- CreateIndex
-CREATE UNIQUE INDEX "listener_last_seen_block_key" ON "listener"("last_seen_block");
-
--- CreateIndex
-CREATE UNIQUE INDEX "lockups_lockupId_user_key" ON "lockups"("lockupId", "user");
-
--- CreateIndex
-CREATE UNIQUE INDEX "proposals_proposal_id_key" ON "proposals"("proposal_id");
-
--- CreateIndex
-CREATE UNIQUE INDEX "voters_address_key" ON "voters"("address");
diff --git a/client/prisma/migrations/20220714120544_added_lockup_fields/migration.sql b/client/prisma/migrations/20220714120544_added_lockup_fields/migration.sql
deleted file mode 100644
index c28db045..00000000
--- a/client/prisma/migrations/20220714120544_added_lockup_fields/migration.sql
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- Warnings:
-
- - A unique constraint covering the columns `[last_seen_block]` on the table `listener` will be added. If there are existing duplicate values, this will fail.
- - A unique constraint covering the columns `[lockupId,user]` on the table `lockups` will be added. If there are existing duplicate values, this will fail.
- - A unique constraint covering the columns `[proposal_id]` on the table `proposals` will be added. If there are existing duplicate values, this will fail.
- - A unique constraint covering the columns `[address]` on the table `voters` will be added. If there are existing duplicate values, this will fail.
- - Added the required column `amount` to the `lockups` table without a default value. This is not possible if the table is not empty.
- - Added the required column `end` to the `lockups` table without a default value. This is not possible if the table is not empty.
- - Added the required column `points` to the `lockups` table without a default value. This is not possible if the table is not empty.
-
-*/
--- DropIndex
-DROP INDEX "listener_last_seen_block_key";
-
--- DropIndex
-DROP INDEX "lockups_lockupId_user_key";
-
--- DropIndex
-DROP INDEX "proposals_proposal_id_key";
-
--- DropIndex
-DROP INDEX "voters_address_key";
-
--- AlterTable
-ALTER TABLE "lockups" ADD COLUMN "amount" DECIMAL(78,0) NOT NULL,
-ADD COLUMN "end" TIMESTAMP(3) NOT NULL,
-ADD COLUMN "points" DECIMAL(78,0) NOT NULL;
-
--- CreateIndex
-CREATE UNIQUE INDEX "listener_last_seen_block_key" ON "listener"("last_seen_block");
-
--- CreateIndex
-CREATE UNIQUE INDEX "lockups_lockupId_user_key" ON "lockups"("lockupId", "user");
-
--- CreateIndex
-CREATE UNIQUE INDEX "proposals_proposal_id_key" ON "proposals"("proposal_id");
-
--- CreateIndex
-CREATE UNIQUE INDEX "voters_address_key" ON "voters"("address");
diff --git a/client/prisma/migrations/20220803131959_add_lockup_transactions/migration.sql b/client/prisma/migrations/20220803131959_add_lockup_transactions/migration.sql
deleted file mode 100644
index 7bb08075..00000000
--- a/client/prisma/migrations/20220803131959_add_lockup_transactions/migration.sql
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- Warnings:
-
- - You are about to drop the column `lockupId` on the `lockups` table. All the data in the column will be lost.
- - A unique constraint covering the columns `[last_seen_block]` on the table `listener` will be added. If there are existing duplicate values, this will fail.
- - A unique constraint covering the columns `[lockup_id,user]` on the table `lockups` will be added. If there are existing duplicate values, this will fail.
- - A unique constraint covering the columns `[proposal_id]` on the table `proposals` will be added. If there are existing duplicate values, this will fail.
- - A unique constraint covering the columns `[address]` on the table `voters` will be added. If there are existing duplicate values, this will fail.
-
-*/
--- DropIndex
-DROP INDEX "listener_last_seen_block_key";
-
--- DropIndex
-DROP INDEX "lockups_lockupId_user_key";
-
--- DropIndex
-DROP INDEX "proposals_proposal_id_key";
-
--- DropIndex
-DROP INDEX "voters_address_key";
-
--- AlterTable
-ALTER TABLE "lockups" DROP COLUMN "lockupId",
-ADD COLUMN "active" BOOLEAN NOT NULL DEFAULT true,
-ADD COLUMN "lockup_id" INTEGER NOT NULL DEFAULT 0;
-
--- CreateTable
-CREATE TABLE "transactions" (
- "id" SERIAL NOT NULL,
- "hash" TEXT NOT NULL,
- "event" TEXT NOT NULL,
- "created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
- "lockupId" INTEGER NOT NULL,
-
- CONSTRAINT "transactions_pkey" PRIMARY KEY ("id")
-);
-
--- CreateIndex
-CREATE UNIQUE INDEX "transactions_hash_lockupId_key" ON "transactions"("hash", "lockupId");
-
--- CreateIndex
-CREATE UNIQUE INDEX "listener_last_seen_block_key" ON "listener"("last_seen_block");
-
--- CreateIndex
-CREATE UNIQUE INDEX "lockups_lockup_id_user_key" ON "lockups"("lockup_id", "user");
-
--- CreateIndex
-CREATE UNIQUE INDEX "proposals_proposal_id_key" ON "proposals"("proposal_id");
-
--- CreateIndex
-CREATE UNIQUE INDEX "voters_address_key" ON "voters"("address");
-
--- AddForeignKey
-ALTER TABLE "transactions" ADD CONSTRAINT "transactions_lockupId_fkey" FOREIGN KEY ("lockupId") REFERENCES "lockups"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
diff --git a/client/prisma/migrations/20220811163601_proposal_to_voter_relationship/migration.sql b/client/prisma/migrations/20220811163601_proposal_to_voter_relationship/migration.sql
deleted file mode 100644
index 36d614da..00000000
--- a/client/prisma/migrations/20220811163601_proposal_to_voter_relationship/migration.sql
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- Warnings:
-
- - A unique constraint covering the columns `[last_seen_block]` on the table `listener` will be added. If there are existing duplicate values, this will fail.
- - A unique constraint covering the columns `[lockup_id,user]` on the table `lockups` will be added. If there are existing duplicate values, this will fail.
- - A unique constraint covering the columns `[proposal_id]` on the table `proposals` will be added. If there are existing duplicate values, this will fail.
- - A unique constraint covering the columns `[hash,lockupId]` on the table `transactions` will be added. If there are existing duplicate values, this will fail.
- - A unique constraint covering the columns `[address]` on the table `voters` will be added. If there are existing duplicate values, this will fail.
-
-*/
--- DropIndex
-DROP INDEX "listener_last_seen_block_key";
-
--- DropIndex
-DROP INDEX "lockups_lockup_id_user_key";
-
--- DropIndex
-DROP INDEX "proposals_proposal_id_key";
-
--- DropIndex
-DROP INDEX "transactions_hash_lockupId_key";
-
--- DropIndex
-DROP INDEX "voters_address_key";
-
--- CreateTable
-CREATE TABLE "_proposal_to_voter" (
- "A" INTEGER NOT NULL,
- "B" INTEGER NOT NULL
-);
-
--- CreateIndex
-CREATE UNIQUE INDEX "_proposal_to_voter_AB_unique" ON "_proposal_to_voter"("A", "B");
-
--- CreateIndex
-CREATE INDEX "_proposal_to_voter_B_index" ON "_proposal_to_voter"("B");
-
--- CreateIndex
-CREATE UNIQUE INDEX "listener_last_seen_block_key" ON "listener"("last_seen_block");
-
--- CreateIndex
-CREATE UNIQUE INDEX "lockups_lockup_id_user_key" ON "lockups"("lockup_id", "user");
-
--- CreateIndex
-CREATE UNIQUE INDEX "proposals_proposal_id_key" ON "proposals"("proposal_id");
-
--- CreateIndex
-CREATE UNIQUE INDEX "transactions_hash_lockupId_key" ON "transactions"("hash", "lockupId");
-
--- CreateIndex
-CREATE UNIQUE INDEX "voters_address_key" ON "voters"("address");
-
--- AddForeignKey
-ALTER TABLE "_proposal_to_voter" ADD FOREIGN KEY ("A") REFERENCES "proposals"("id") ON DELETE CASCADE ON UPDATE CASCADE;
-
--- AddForeignKey
-ALTER TABLE "_proposal_to_voter" ADD FOREIGN KEY ("B") REFERENCES "voters"("id") ON DELETE CASCADE ON UPDATE CASCADE;
diff --git a/client/prisma/migrations/20220819130605_add_proposal_history_tracking/migration.sql b/client/prisma/migrations/20220819130605_add_proposal_history_tracking/migration.sql
deleted file mode 100644
index 7ef76490..00000000
--- a/client/prisma/migrations/20220819130605_add_proposal_history_tracking/migration.sql
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- Warnings:
-
- - A unique constraint covering the columns `[A,B]` on the table `_proposal_to_voter` will be added. If there are existing duplicate values, this will fail.
- - A unique constraint covering the columns `[last_seen_block]` on the table `listener` will be added. If there are existing duplicate values, this will fail.
- - A unique constraint covering the columns `[lockup_id,user]` on the table `lockups` will be added. If there are existing duplicate values, this will fail.
- - A unique constraint covering the columns `[proposal_id]` on the table `proposals` will be added. If there are existing duplicate values, this will fail.
- - A unique constraint covering the columns `[address]` on the table `voters` will be added. If there are existing duplicate values, this will fail.
-
-*/
--- DropForeignKey
-ALTER TABLE "transactions" DROP CONSTRAINT "transactions_lockupId_fkey";
-
--- DropIndex
-DROP INDEX "_proposal_to_voter_AB_unique";
-
--- DropIndex
-DROP INDEX "_proposal_to_voter_B_index";
-
--- DropIndex
-DROP INDEX "listener_last_seen_block_key";
-
--- DropIndex
-DROP INDEX "lockups_lockup_id_user_key";
-
--- DropIndex
-DROP INDEX "proposals_proposal_id_key";
-
--- DropIndex
-DROP INDEX "transactions_hash_lockupId_key";
-
--- DropIndex
-DROP INDEX "voters_address_key";
-
--- AlterTable
-ALTER TABLE "proposals" ADD COLUMN "status" INTEGER NOT NULL DEFAULT 0;
-
--- AlterTable
-ALTER TABLE "transactions" ADD COLUMN "proposalId" INTEGER,
-ALTER COLUMN "hash" DROP NOT NULL,
-ALTER COLUMN "lockupId" DROP NOT NULL;
-
--- CreateIndex
-CREATE UNIQUE INDEX "_proposal_to_voter_AB_unique" ON "_proposal_to_voter"("A", "B");
-
--- CreateIndex
-CREATE INDEX "_proposal_to_voter_B_index" ON "_proposal_to_voter"("B");
-
--- CreateIndex
-CREATE UNIQUE INDEX "listener_last_seen_block_key" ON "listener"("last_seen_block");
-
--- CreateIndex
-CREATE UNIQUE INDEX "lockups_lockup_id_user_key" ON "lockups"("lockup_id", "user");
-
--- CreateIndex
-CREATE UNIQUE INDEX "proposals_proposal_id_key" ON "proposals"("proposal_id");
-
--- CreateIndex
-CREATE UNIQUE INDEX "voters_address_key" ON "voters"("address");
-
--- AddForeignKey
-ALTER TABLE "transactions" ADD CONSTRAINT "transactions_proposalId_fkey" FOREIGN KEY ("proposalId") REFERENCES "proposals"("id") ON DELETE SET NULL ON UPDATE CASCADE;
-
--- AddForeignKey
-ALTER TABLE "transactions" ADD CONSTRAINT "transactions_lockupId_fkey" FOREIGN KEY ("lockupId") REFERENCES "lockups"("id") ON DELETE SET NULL ON UPDATE CASCADE;
diff --git a/client/prisma/migrations/migration_lock.toml b/client/prisma/migrations/migration_lock.toml
deleted file mode 100644
index fbffa92c..00000000
--- a/client/prisma/migrations/migration_lock.toml
+++ /dev/null
@@ -1,3 +0,0 @@
-# Please do not edit this file manually
-# It should be added in your version-control system (i.e. Git)
-provider = "postgresql"
\ No newline at end of file
diff --git a/client/prisma/schema.prisma b/client/prisma/schema.prisma
deleted file mode 100644
index 0ddcc55f..00000000
--- a/client/prisma/schema.prisma
+++ /dev/null
@@ -1,71 +0,0 @@
-datasource db {
- url = env("DATABASE_URL")
- provider = "postgresql"
-}
-
-generator client {
- provider = "prisma-client-js"
- previewFeatures = ["extendedIndexes"]
-}
-
-model Voter {
- id Int @id @default(autoincrement())
- address String @unique
- // This is storing a uint256
- votes Decimal @db.Decimal(78, 0)
- firstSeenBlock Int @map("first_seen_block")
- updatedAt DateTime @default(now()) @map("updated_at")
- createdAt DateTime @default(now()) @map("created_at")
- proposalsVoted Proposal[] @relation("proposal_to_voter")
-
- @@map("voters")
-}
-
-model Proposal {
- id Int @id @default(autoincrement())
- // This is storing a uint256
- proposalId String @unique @map("proposal_id")
- description String @default("")
- createdAt DateTime @default(now()) @map("created_at")
- voters Voter[] @relation("proposal_to_voter")
- transactions Transaction[]
- status Int @default(0)
-
- @@map("proposals")
-}
-
-model Listener {
- lastSeenBlock Int @unique @map("last_seen_block")
-
- @@map("listener")
-}
-
-model Lockup {
- id Int @id @default(autoincrement())
- lockupId Int @default(0) @map("lockup_id")
- user String
- amount Decimal @db.Decimal(78, 0)
- end DateTime
- points Decimal @db.Decimal(78, 0)
- createdAt DateTime @default(now()) @map("created_at")
- transactions Transaction[]
- active Boolean @default(true)
-
- @@unique([lockupId, user])
- @@index([user], type: BTree)
- @@map("lockups")
-}
-
-model Transaction {
- id Int @id @default(autoincrement())
- hash String?
- event String
- createdAt DateTime @default(now()) @map("created_at")
-
- Proposal Proposal? @relation(fields: [proposalId], references: [id])
- proposalId Int?
- Lockup Lockup? @relation(fields: [lockupId], references: [id])
- lockupId Int?
-
- @@map("transactions")
-}
diff --git a/client/public/check-white.svg b/client/public/check-white.svg
deleted file mode 100644
index 1374b8b1..00000000
--- a/client/public/check-white.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
\ No newline at end of file
diff --git a/client/public/check.svg b/client/public/check.svg
deleted file mode 100644
index 885e21c0..00000000
--- a/client/public/check.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
\ No newline at end of file
diff --git a/client/public/chevron-left.svg b/client/public/chevron-left.svg
deleted file mode 100644
index 5edb4611..00000000
--- a/client/public/chevron-left.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
diff --git a/client/public/chevron-right.svg b/client/public/chevron-right.svg
deleted file mode 100644
index 8b4e9a00..00000000
--- a/client/public/chevron-right.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
diff --git a/client/public/close-icon.svg b/client/public/close-icon.svg
deleted file mode 100644
index 6fd433db..00000000
--- a/client/public/close-icon.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/client/public/cross-white.svg b/client/public/cross-white.svg
deleted file mode 100644
index 527b185d..00000000
--- a/client/public/cross-white.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
\ No newline at end of file
diff --git a/client/public/cross.svg b/client/public/cross.svg
deleted file mode 100644
index 3ca7663e..00000000
--- a/client/public/cross.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
\ No newline at end of file
diff --git a/client/public/etherscan-icon.svg b/client/public/etherscan-icon.svg
deleted file mode 100644
index 013e324b..00000000
--- a/client/public/etherscan-icon.svg
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/client/public/external-link-green.svg b/client/public/external-link-green.svg
deleted file mode 100644
index efd73d77..00000000
--- a/client/public/external-link-green.svg
+++ /dev/null
@@ -1,59 +0,0 @@
-
-
-
-
-
- image/svg+xml
-
-
-
-
-
-
-
-
-
-
diff --git a/client/public/external-link.svg b/client/public/external-link.svg
deleted file mode 100644
index fac63760..00000000
--- a/client/public/external-link.svg
+++ /dev/null
@@ -1,59 +0,0 @@
-
-
-
-
-
- image/svg+xml
-
-
-
-
-
-
-
-
-
-
diff --git a/client/public/favicon.ico b/client/public/favicon.ico
deleted file mode 100644
index 88b41f7a..00000000
Binary files a/client/public/favicon.ico and /dev/null differ
diff --git a/client/public/fonts/Inter/Inter-Black.ttf b/client/public/fonts/Inter/Inter-Black.ttf
deleted file mode 100644
index 5aecf7dc..00000000
Binary files a/client/public/fonts/Inter/Inter-Black.ttf and /dev/null differ
diff --git a/client/public/fonts/Inter/Inter-Bold.ttf b/client/public/fonts/Inter/Inter-Bold.ttf
deleted file mode 100644
index 8e82c70d..00000000
Binary files a/client/public/fonts/Inter/Inter-Bold.ttf and /dev/null differ
diff --git a/client/public/fonts/Inter/Inter-ExtraBold.ttf b/client/public/fonts/Inter/Inter-ExtraBold.ttf
deleted file mode 100644
index cb4b8217..00000000
Binary files a/client/public/fonts/Inter/Inter-ExtraBold.ttf and /dev/null differ
diff --git a/client/public/fonts/Inter/Inter-ExtraLight.ttf b/client/public/fonts/Inter/Inter-ExtraLight.ttf
deleted file mode 100644
index 64aee30a..00000000
Binary files a/client/public/fonts/Inter/Inter-ExtraLight.ttf and /dev/null differ
diff --git a/client/public/fonts/Inter/Inter-Light.ttf b/client/public/fonts/Inter/Inter-Light.ttf
deleted file mode 100644
index 9e265d89..00000000
Binary files a/client/public/fonts/Inter/Inter-Light.ttf and /dev/null differ
diff --git a/client/public/fonts/Inter/Inter-Medium.ttf b/client/public/fonts/Inter/Inter-Medium.ttf
deleted file mode 100644
index b53fb1c4..00000000
Binary files a/client/public/fonts/Inter/Inter-Medium.ttf and /dev/null differ
diff --git a/client/public/fonts/Inter/Inter-Regular.ttf b/client/public/fonts/Inter/Inter-Regular.ttf
deleted file mode 100644
index 8d4eebf2..00000000
Binary files a/client/public/fonts/Inter/Inter-Regular.ttf and /dev/null differ
diff --git a/client/public/fonts/Inter/Inter-SemiBold.ttf b/client/public/fonts/Inter/Inter-SemiBold.ttf
deleted file mode 100644
index c6aeeb16..00000000
Binary files a/client/public/fonts/Inter/Inter-SemiBold.ttf and /dev/null differ
diff --git a/client/public/fonts/Inter/Inter-Thin.ttf b/client/public/fonts/Inter/Inter-Thin.ttf
deleted file mode 100644
index 7aed55d5..00000000
Binary files a/client/public/fonts/Inter/Inter-Thin.ttf and /dev/null differ
diff --git a/client/public/fonts/Sailec/Sailec-Black.otf b/client/public/fonts/Sailec/Sailec-Black.otf
deleted file mode 100644
index 056342fd..00000000
Binary files a/client/public/fonts/Sailec/Sailec-Black.otf and /dev/null differ
diff --git a/client/public/fonts/Sailec/Sailec-BlackItalic.otf b/client/public/fonts/Sailec/Sailec-BlackItalic.otf
deleted file mode 100644
index eb297609..00000000
Binary files a/client/public/fonts/Sailec/Sailec-BlackItalic.otf and /dev/null differ
diff --git a/client/public/fonts/Sailec/Sailec-Bold.otf b/client/public/fonts/Sailec/Sailec-Bold.otf
deleted file mode 100644
index c6c988f1..00000000
Binary files a/client/public/fonts/Sailec/Sailec-Bold.otf and /dev/null differ
diff --git a/client/public/fonts/Sailec/Sailec-BoldItalic.otf b/client/public/fonts/Sailec/Sailec-BoldItalic.otf
deleted file mode 100644
index 4cf0842e..00000000
Binary files a/client/public/fonts/Sailec/Sailec-BoldItalic.otf and /dev/null differ
diff --git a/client/public/fonts/Sailec/Sailec-Hairline.otf b/client/public/fonts/Sailec/Sailec-Hairline.otf
deleted file mode 100644
index 5f3414e3..00000000
Binary files a/client/public/fonts/Sailec/Sailec-Hairline.otf and /dev/null differ
diff --git a/client/public/fonts/Sailec/Sailec-HairlineItalic.otf b/client/public/fonts/Sailec/Sailec-HairlineItalic.otf
deleted file mode 100644
index 25687a1c..00000000
Binary files a/client/public/fonts/Sailec/Sailec-HairlineItalic.otf and /dev/null differ
diff --git a/client/public/fonts/Sailec/Sailec-Light.otf b/client/public/fonts/Sailec/Sailec-Light.otf
deleted file mode 100644
index 7cc318f1..00000000
Binary files a/client/public/fonts/Sailec/Sailec-Light.otf and /dev/null differ
diff --git a/client/public/fonts/Sailec/Sailec-LightItalic.otf b/client/public/fonts/Sailec/Sailec-LightItalic.otf
deleted file mode 100644
index 848f1a56..00000000
Binary files a/client/public/fonts/Sailec/Sailec-LightItalic.otf and /dev/null differ
diff --git a/client/public/fonts/Sailec/Sailec-Medium.otf b/client/public/fonts/Sailec/Sailec-Medium.otf
deleted file mode 100644
index 7118cc0a..00000000
Binary files a/client/public/fonts/Sailec/Sailec-Medium.otf and /dev/null differ
diff --git a/client/public/fonts/Sailec/Sailec-MediumItalic.otf b/client/public/fonts/Sailec/Sailec-MediumItalic.otf
deleted file mode 100644
index 7c1c66f3..00000000
Binary files a/client/public/fonts/Sailec/Sailec-MediumItalic.otf and /dev/null differ
diff --git a/client/public/fonts/Sailec/Sailec-Regular.otf b/client/public/fonts/Sailec/Sailec-Regular.otf
deleted file mode 100644
index 93439fe4..00000000
Binary files a/client/public/fonts/Sailec/Sailec-Regular.otf and /dev/null differ
diff --git a/client/public/fonts/Sailec/Sailec-RegularItalic.otf b/client/public/fonts/Sailec/Sailec-RegularItalic.otf
deleted file mode 100644
index d7f15edd..00000000
Binary files a/client/public/fonts/Sailec/Sailec-RegularItalic.otf and /dev/null differ
diff --git a/client/public/fonts/Sailec/Sailec-Thin.otf b/client/public/fonts/Sailec/Sailec-Thin.otf
deleted file mode 100644
index 1e50103d..00000000
Binary files a/client/public/fonts/Sailec/Sailec-Thin.otf and /dev/null differ
diff --git a/client/public/fonts/Sailec/Sailec-ThinItalic.otf b/client/public/fonts/Sailec/Sailec-ThinItalic.otf
deleted file mode 100644
index 86fc6702..00000000
Binary files a/client/public/fonts/Sailec/Sailec-ThinItalic.otf and /dev/null differ
diff --git a/client/public/gateio.svg b/client/public/gateio.svg
deleted file mode 100644
index 519eb2ac..00000000
--- a/client/public/gateio.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/client/public/huobi.svg b/client/public/huobi.svg
deleted file mode 100644
index 07e952a5..00000000
--- a/client/public/huobi.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/client/public/logo.svg b/client/public/logo.svg
deleted file mode 100644
index 95ab3b21..00000000
--- a/client/public/logo.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/client/public/menu-icon.svg b/client/public/menu-icon.svg
deleted file mode 100644
index 4644e510..00000000
--- a/client/public/menu-icon.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/client/public/myetherwallet-icon.svg b/client/public/myetherwallet-icon.svg
deleted file mode 100644
index 7bdac67c..00000000
--- a/client/public/myetherwallet-icon.svg
+++ /dev/null
@@ -1,42 +0,0 @@
-
-
- SVG/c_large_mewconnect
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/client/public/ogn-coin.svg b/client/public/ogn-coin.svg
deleted file mode 100644
index 5b7e9dd2..00000000
--- a/client/public/ogn-coin.svg
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/client/public/ogv.svg b/client/public/ogv.svg
deleted file mode 100644
index a64e7604..00000000
--- a/client/public/ogv.svg
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/client/public/origin_story_logo_white.svg b/client/public/origin_story_logo_white.svg
deleted file mode 100644
index e09e89d0..00000000
--- a/client/public/origin_story_logo_white.svg
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/client/public/os-logo.png b/client/public/os-logo.png
deleted file mode 100644
index b74ebf14..00000000
Binary files a/client/public/os-logo.png and /dev/null differ
diff --git a/client/public/os-logo@2x.png b/client/public/os-logo@2x.png
deleted file mode 100644
index 955b7dc2..00000000
Binary files a/client/public/os-logo@2x.png and /dev/null differ
diff --git a/client/public/os-logo@3x.png b/client/public/os-logo@3x.png
deleted file mode 100644
index b1a690f3..00000000
Binary files a/client/public/os-logo@3x.png and /dev/null differ
diff --git a/client/public/ousd-coin.svg b/client/public/ousd-coin.svg
deleted file mode 100644
index f0975557..00000000
--- a/client/public/ousd-coin.svg
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/client/public/play.svg b/client/public/play.svg
deleted file mode 100644
index e31ce056..00000000
--- a/client/public/play.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
\ No newline at end of file
diff --git a/client/public/uniswap.png b/client/public/uniswap.png
deleted file mode 100644
index aaec43df..00000000
Binary files a/client/public/uniswap.png and /dev/null differ
diff --git a/client/public/veogv.svg b/client/public/veogv.svg
deleted file mode 100644
index 31e45800..00000000
--- a/client/public/veogv.svg
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/client/public/vercel.svg b/client/public/vercel.svg
deleted file mode 100644
index fbf0e25a..00000000
--- a/client/public/vercel.svg
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/client/sample.env b/client/sample.env
deleted file mode 100644
index 73df5dca..00000000
--- a/client/sample.env
+++ /dev/null
@@ -1,8 +0,0 @@
-DATABASE_URL=postgres://ousd_g:ousd_g@127.0.0.1:5432/ousd_governance
-WEB3_PROVIDER=http://127.0.0.1:8545
-NETWORK_ID=31337
-CLAIM_OPENS=1657580400
-CLAIM_CLOSES=1665356400
-ENABLE_GOVERNANCE=false
-ETHERSCAN_API_KEY=
-NEXT_PUBLIC_WALLETCONNECT_V2_PROJECT_ID=
diff --git a/client/sentry.client.config.js b/client/sentry.client.config.js
deleted file mode 100644
index 51cdd47b..00000000
--- a/client/sentry.client.config.js
+++ /dev/null
@@ -1,20 +0,0 @@
-// This file configures the initialization of Sentry on the browser.
-// The config you add here will be used whenever a page is visited.
-// https://docs.sentry.io/platforms/javascript/guides/nextjs/
-
-import * as Sentry from '@sentry/nextjs';
-
-const SENTRY_DSN = process.env.SENTRY_DSN || process.env.NEXT_PUBLIC_SENTRY_DSN;
-const APP_ENV = process.env.APP_ENV || "dev"
-
-Sentry.init({
- enabled: ["staging", "production"].includes(APP_ENV),
- environment: APP_ENV,
- dsn: SENTRY_DSN,
- // Adjust this value in production, or use tracesSampler for greater control
- tracesSampleRate: 1.0,
- // ...
- // Note: if you want to override the automatic release value, do not set a
- // `release` value here - use the environment variable `SENTRY_RELEASE`, so
- // that it will also get attached to your source maps
-});
diff --git a/client/sentry.edge.config.js b/client/sentry.edge.config.js
deleted file mode 100644
index fd32958b..00000000
--- a/client/sentry.edge.config.js
+++ /dev/null
@@ -1,20 +0,0 @@
-// This file configures the initialization of Sentry on the server.
-// The config you add here will be used whenever middleware or an Edge route handles a request.
-// https://docs.sentry.io/platforms/javascript/guides/nextjs/
-
-import * as Sentry from '@sentry/nextjs';
-
-const SENTRY_DSN = process.env.SENTRY_DSN || process.env.NEXT_PUBLIC_SENTRY_DSN;
-const APP_ENV = process.env.APP_ENV || "dev"
-
-Sentry.init({
- enabled: ["staging", "production"].includes(APP_ENV),
- environment: APP_ENV,
- dsn: SENTRY_DSN,
- // Adjust this value in production, or use tracesSampler for greater control
- tracesSampleRate: 1.0,
- // ...
- // Note: if you want to override the automatic release value, do not set a
- // `release` value here - use the environment variable `SENTRY_RELEASE`, so
- // that it will also get attached to your source maps
-});
diff --git a/client/sentry.properties b/client/sentry.properties
deleted file mode 100644
index c4ea8e13..00000000
--- a/client/sentry.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-defaults.url=https://sentry.io/
-defaults.org=origin-protocol
-defaults.project=ousd-governance
-cli.executable=node_modules/@sentry/cli/bin/sentry-cli
diff --git a/client/sentry.server.config.js b/client/sentry.server.config.js
deleted file mode 100644
index 12ad28e8..00000000
--- a/client/sentry.server.config.js
+++ /dev/null
@@ -1,20 +0,0 @@
-// This file configures the initialization of Sentry on the server.
-// The config you add here will be used whenever the server handles a request.
-// https://docs.sentry.io/platforms/javascript/guides/nextjs/
-
-import * as Sentry from '@sentry/nextjs';
-
-const SENTRY_DSN = process.env.SENTRY_DSN || process.env.NEXT_PUBLIC_SENTRY_DSN;
-const APP_ENV = process.env.APP_ENV || "dev"
-
-Sentry.init({
- enabled: ["staging", "production"].includes(APP_ENV),
- environment: APP_ENV,
- dsn: SENTRY_DSN,
- // Adjust this value in production, or use tracesSampler for greater control
- tracesSampleRate: 1.0,
- // ...
- // Note: if you want to override the automatic release value, do not set a
- // `release` value here - use the environment variable `SENTRY_RELEASE`, so
- // that it will also get attached to your source maps
-});
diff --git a/client/styles/globals.css b/client/styles/globals.css
deleted file mode 100644
index 0812920b..00000000
--- a/client/styles/globals.css
+++ /dev/null
@@ -1,334 +0,0 @@
-@font-face {
- font-family: "Inter";
- src: url("/fonts/Inter/Inter-Regular.ttf") format("truetype");
- font-weight: 400;
- font-style: normal;
- font-display: swap;
-}
-
-@font-face {
- font-family: "Sailec";
- src: url("/fonts/Sailec/Sailec-Regular.otf") format("truetype");
- font-weight: 400;
- font-style: normal;
- font-display: swap;
-}
-
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
-
-body {
- --toastify-font-family: Inter, sans-serif;
- --toastify-color-dark: #1e1f25;
- --toastify-color-success: #4bbc8a;
- --toastify-icon-color-success: var(--toastify-color-success);
- --toastify-color-warning: #fef3c8;
- --toastify-icon-color-warning: var(--toastify-color-warning);
- --toastify-color-error: #d85e44;
- --toastify-icon-color-error: var(--toastify-color-error);
- --toastify-color-info: #e1f3fe;
- --toastify-icon-color-info: var(--toastify-color-info);
-}
-
-::-webkit-scrollbar {
- width: 8px;
- height: 8px;
-}
-
-::-webkit-scrollbar-corner {
- background: #141519;
-}
-
-::-webkit-scrollbar-track {
- background: #141519;
- border-radius: 20px;
-}
-
-::-webkit-scrollbar-thumb {
- background-color: #1e1f25;
- border-radius: 20px;
- border: 1px #141519;
-}
-
-a {
- color: hsl(var(--p));
-}
-
-[data-theme="origin-theme"] .table {
- @apply text-sm;
-}
-
-[data-theme="origin-theme"]
- .table
- :where(thead, tfoot)
- :where(th, td):first-child {
- border-radius: 0;
-}
-
-[data-theme="origin-theme"] .table :where(thead, tfoot) :where(th, td) {
- @apply text-sm font-normal text-gray-400;
- background-color: transparent;
- text-transform: none;
-}
-
-[data-theme="origin-theme"] .table tr {
- @apply border-b;
-}
-
-[data-theme="origin-theme"] .table th:first-child {
- position: relative;
- z-index: 1;
-}
-
-[data-theme="origin-theme"] .table tbody > tr:last-of-type {
- border-bottom: 0;
-}
-
-[data-theme="origin-theme"] .table tr.hover:hover td,
-[data-theme="origin-theme"] .table tr.hover:hover th,
-[data-theme="origin-theme"] .table tr.hover:nth-child(even):hover td,
-[data-theme="origin-theme"] .table tr.hover:nth-child(even):hover th {
- @apply bg-gray-200;
-}
-
-[data-theme="origin-theme"] .badge {
- @apply border;
- @apply p-1;
-}
-
-[data-theme="origin-theme"] .badge.badge-info {
- border-color: hsl(var(--inc, var(--nc)) / calc(var(--tw-text-opacity) / 2));
-}
-
-[data-theme="origin-theme"] .badge.badge-warning {
- border-color: hsl(var(--wac, var(--nc)) / calc(var(--tw-text-opacity) / 2));
-}
-
-[data-theme="origin-theme"] .badge.badge-error {
- border-color: hsl(var(--erc, var(--nc)) / calc(var(--tw-text-opacity) / 2));
-}
-
-[data-theme="origin-theme"] .badge.badge-success {
- border-color: hsl(var(--suc, var(--nc)) / calc(var(--tw-text-opacity) / 2));
-}
-
-.opaque-tooltip {
- opacity: 1 !important;
- border-radius: 0.5rem !important;
-}
-
-.gradient-link {
- font-weight: bold;
- display: inline-block;
- background: linear-gradient(90deg, #8c66fc -28.99%, #0274f1 144.97%);
- background-clip: text;
- -webkit-background-clip: text;
- -moz-background-clip: text;
- -moz-text-fill-color: transparent;
- -webkit-text-fill-color: transparent;
- position: relative;
-}
-
-.gradient-link-alt {
- font-weight: bold;
- display: inline-block;
- background: linear-gradient(91.16deg, #fedba8 -3.29%, #cf75d5 106.42%);
- background-clip: text;
- -webkit-background-clip: text;
- -moz-background-clip: text;
- -moz-text-fill-color: transparent;
- -webkit-text-fill-color: transparent;
- position: relative;
-}
-
-.gradient-link-alt:after,
-.gradient-link:after {
- background: none;
- content: attr(data-text);
- left: 0;
- top: 0;
- z-index: -1;
- position: absolute;
-}
-
-.modal {
- background-color: rgba(0, 0, 0, 0.7);
-}
-
-.range-alt {
- --range: calc(var(--max) - var(--min));
- --ratio: calc((var(--value) - var(--min)) / var(--range));
- --sx: calc(0.5 * 2em + var(--ratio) * (100% - 2em));
- --range-shdw: none;
-}
-
-.range-alt::-webkit-slider-runnable-track {
- background: linear-gradient(90deg, #8c66fc -28.99%, #0274f1 144.97%) 0 /
- var(--sx) 100% no-repeat,
- #141519;
-}
-
-.range-alt:hover::-webkit-slider-runnable-track {
- background: linear-gradient(90deg, #8c66fc -28.99%, #0274f1 144.97%) 0 /
- var(--sx) 100% no-repeat,
- #141519;
-}
-
-.range-alt:active::-webkit-slider-runnable-track {
- background: linear-gradient(90deg, #8c66fc -28.99%, #0274f1 144.97%) 0 /
- var(--sx) 100% no-repeat,
- #141519;
-}
-
-.range-alt::-webkit-slider-thumb {
- -webkit-appearance: none;
- height: 28px;
- width: 28px;
- border-radius: 100%;
- background: linear-gradient(90deg, #8c66fc -28.99%, #0274f1 144.97%);
- cursor: pointer;
- border: none;
-}
-
-.geofence-modal {
- background-color: #1e1f25;
- color: #fafbfb;
- border-radius: 8px;
- max-width: 469px;
- width: 100%;
- margin: 0 auto;
- max-height: calc(100vh - 56px);
- overflow-y: auto;
-}
-
-.geofence-modal .header {
- display: flex;
- align-items: center;
- height: 72px;
- border-bottom: 1px solid #101113;
- padding: 0 24px;
-}
-
-.geofence-modal .footer {
- display: flex;
- align-items: center;
- justify-content: center;
- padding: 0 24px;
- margin-bottom: 24px;
-}
-
-.geofence-modal .footer .footer-action {
- display: flex;
- align-items: center;
- justify-content: center;
- cursor: pointer;
- padding: 8px 16px;
- border-radius: 56px;
- background-image: linear-gradient(90deg, #8c66fc -28.99%, #0274f1 144.97%);
- border: none;
- color: #fafbfb;
- width: 100%;
-}
-
-.geofence-modal .footer .footer-action[disabled] {
- opacity: 0.5;
- cursor: not-allowed;
-}
-
-.geofence-modal .footer .footer-action + .footer-action {
- margin-left: 12px;
-}
-
-.geofence-modal .title {
- color: #fafbfb;
- font-family: Inter;
- font-size: 16px;
- font-weight: 700;
- line-height: 28px;
- letter-spacing: 0em;
- text-align: left;
- margin-top: 22px;
-}
-
-.geofence-modal .body {
- padding: 24px 24px 0 24px;
- text-align: left;
-}
-
-.geofence-modal .info {
- font-family: Inter;
- font-size: 14px;
- font-weight: 500;
- line-height: 23px;
- letter-spacing: 0em;
- text-align: left;
- margin-bottom: 24px;
-}
-
-.geofence-modal .info.sub {
- font-family: Inter;
- font-size: 12px;
- font-weight: 400;
- line-height: 20px;
- letter-spacing: 0em;
- text-align: left;
-}
-
-.geofence-modal .accept-criteria {
- padding: 0;
- border-radius: 4px;
- background-color: #51546633;
- font-family: Inter;
- font-size: 12px;
- font-weight: 400;
- line-height: 20px;
- letter-spacing: 0em;
- text-align: left;
-}
-
-.geofence-modal .accept-criteria .accept-criteria-list {
- padding: 24px 24px 24px 36px;
- margin: 0;
- list-style: disc;
-}
-
-.geofence-modal .accept-criteria .accept-criteria-list .item + .item {
- margin-top: 18px;
-}
-
-.geofence-modal .ack {
- display: inline-flex;
- align-items: center;
- margin: 24px 0;
-}
-
-.geofence-modal .ack .ack-label {
- display: inline-flex;
- align-items: center;
- font-family: Inter;
- font-size: 12px;
- font-weight: 400;
- line-height: 20px;
- letter-spacing: 0em;
- text-align: left;
- margin: 0;
-}
-
-.geofence-modal .ack .ack-label-text {
- margin-left: 16px;
-}
-
-.geofence-modal .ack .ack-container {
- width: 24px;
- height: 24px;
- border-radius: 4px;
- overflow: hidden;
- border: 1px solid #000000;
- background-color: #fafbfb;
-}
-
-.geofence-modal .ack .ack-checkbox {
- width: 100%;
- height: 100%;
-}
diff --git a/client/tailwind.config.js b/client/tailwind.config.js
deleted file mode 100644
index f4d8d4c0..00000000
--- a/client/tailwind.config.js
+++ /dev/null
@@ -1,64 +0,0 @@
-const originTheme = {
- fontFamily: "Inter, sans-serif",
- primary: "#0274F1",
- "primary-content": "#141519",
- "primary-focus": "#141519",
- secondary: "#101113",
- "secondary-content": "#1E1F25",
- "secondary-focus": "#1E1F25",
- accent: "#101113",
- "accent-content": "#1E1F25",
- white: "#FAFBFB",
- warning: "#f0c102",
- neutral: "#828699",
- "neutral-content": "#333333",
- "neutral-focus": "#ffffff",
- "base-100": "#fafbfc",
- "base-200": "#f2f3f5",
- "base-300": "#cdd7e0",
- success: "#66FE90",
- error: "#FF4E4E",
- "--border-color": "#FF4E4E",
- "--btn-text-case": "capitalize",
- "--rounded-btn": "0.6125rem",
- "--rounded-badge": "0.25rem",
-};
-
-module.exports = {
- content: [
- "./pages/**/*.{js,ts,jsx,tsx}",
- "./components/**/*.{js,ts,jsx,tsx}",
- ],
- theme: {
- extend: {
- transitionProperty: {
- all: "all",
- right: "right",
- },
- fontFamily: {
- primary: ["Inter", "sans-serif"],
- header: ["Sailec", "sans-serif"],
- },
- colors: {
- "gradient-from": "#8C66FC",
- "gradient-to": "#0274F1",
- },
- },
- },
- plugins: [require("daisyui"), require("@tailwindcss/typography")],
- daisyui: {
- styled: true,
- themes: [
- {
- "origin-theme": {
- ...require("daisyui/src/colors/themes")["[data-theme=light]"],
- ...originTheme,
- },
- },
- ],
- base: true,
- utils: true,
- logs: true,
- rtl: false,
- },
-};
diff --git a/client/tsconfig.json b/client/tsconfig.json
deleted file mode 100644
index 29c152d1..00000000
--- a/client/tsconfig.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "compilerOptions": {
- "target": "es5",
- "lib": ["dom", "dom.iterable", "esnext"],
- "allowJs": true,
- "skipLibCheck": true,
- "strict": true,
- "forceConsistentCasingInFileNames": true,
- "noEmit": true,
- "esModuleInterop": true,
- "module": "esnext",
- "moduleResolution": "node",
- "resolveJsonModule": true,
- "isolatedModules": true,
- "jsx": "preserve",
- "incremental": true,
- "baseUrl": ".",
- "paths": {
- "@/components/*": ["./components/*"],
- "@/constants/*": ["./constants/*"],
- "@/abi/*": ["./abi/*"]
- }
- },
- "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
- "exclude": ["node_modules"]
-}
diff --git a/client/utils/apy.tsx b/client/utils/apy.tsx
deleted file mode 100644
index dd932c42..00000000
--- a/client/utils/apy.tsx
+++ /dev/null
@@ -1,56 +0,0 @@
-import { BigNumber } from "ethers";
-import numeral from "numeraljs";
-
-export function getDailyRewardsEmissions(time = Date.now() / 1000) {
- // format: start_timestamp, end_timestamp, daily emissions
- const data = [
- [
- //[31337, 4].includes(parseInt(process.env.NETWORK_ID)) ? 0 : 1657584000,
- 0, 1660176000, 3333333,
- ],
- [1660176000, 1665360000, 2666667],
- [1665360000, 1675728000, 1866667],
- [1675728000, 1696464000, 1120000],
- [1696464000, 1727568000, 560000],
- [1727568000, 1779408000, 224000],
- [1779408000, 1862352000, 67200],
- ];
-
- const reward = data.find(
- ([startTime, endTime, dailyRewards]) => time > startTime && time < endTime
- );
-
- // 0 when rewards period has already finished
- return reward ? reward[2] : 0;
-}
-
-export function getRewardsApy(
- veOgvReceived: numeral,
- ogvToStake: numeral,
- totalSupplyVeOgv: numeral
-) {
- if (totalSupplyVeOgv === 0 || ogvToStake === 0 || veOgvReceived === 0) {
- return 0;
- }
-
- const ogvPercentageOfRewards =
- veOgvReceived / (totalSupplyVeOgv + veOgvReceived);
- const dailyEmissions = getDailyRewardsEmissions();
- if (dailyEmissions === 0) {
- console.warn(
- "Reason for APY 0% -> no reward emissions for current timestamp."
- );
- }
- const ogvRewardsDaily = dailyEmissions * ogvPercentageOfRewards;
- const ogvRewardsYearly = ogvRewardsDaily * 365.25;
- // No need to use actual prices since originating tokens and reward tokens have the same price
- const ogvLockupRewardApr = ogvRewardsYearly / ogvToStake;
-
- /* APR to APY formula:
- * APY = Math.pow((1 + Periodic Rate), Number of periods) – 1
- *
- * picking 1 (1 year) as a number of periods. Since the rewards are not really going to be
- * compounding in this case
- */
- return ((1 + ogvLockupRewardApr / 1) ** 1 - 1) * 100;
-}
diff --git a/client/utils/index.tsx b/client/utils/index.tsx
deleted file mode 100644
index e173fd69..00000000
--- a/client/utils/index.tsx
+++ /dev/null
@@ -1,206 +0,0 @@
-import { useEffect, useRef } from "react";
-import { ethers, BigNumber } from "ethers";
-import { useStore } from "utils/store";
-import sanitizeHtml from "sanitize-html";
-import { useNetwork } from "wagmi";
-
-// Captures 0x + 4 characters, then the last 4 characters.
-const truncateRegex = /^(0x[a-zA-Z0-9]{4})[a-zA-Z0-9]+([a-zA-Z0-9]{4})$/;
-export const decimal18Bn = BigNumber.from("1000000000000000000");
-
-/**
- * Truncates an ethereum address to the format 0x0000…0000
- * @param address Full address to truncate
- * @returns Truncated address
- */
-export const truncateEthAddress = (address: string) => {
- const match = address.match(truncateRegex);
- if (!match) return address;
- return `${match[1]}…${match[2]}`;
-};
-
-export const truncateBalance = (str) => {
- if (str.includes(".")) {
- const parts = str.split(".");
- return parts[0] + "." + parts[1].slice(0, 4);
- }
- return str;
-};
-
-export const loadProposals = async (governanceContract, ids: Array) => {
- const proposalGets = [];
- const proposalStateGets = [];
- for (let id of ids) {
- proposalGets.push(governanceContract.proposals(id));
- proposalStateGets.push(governanceContract.state(id));
- }
- return {
- proposals: await Promise.all(proposalGets),
- states: await Promise.all(proposalStateGets),
- };
-};
-
-export const decodeCalldata = (signature: string, calldata: string) => {
- const types = typesFromSignature(signature);
-
- try {
- return ethers.utils.defaultAbiCoder.decode(types, calldata);
- } catch (e) {
- return ["Bad data", calldata];
- }
-};
-
-export const encodeCalldata = (
- signature: string,
- values: any[] = []
-): string => {
- const types = typesFromSignature(signature);
- return ethers.utils.defaultAbiCoder.encode(types, values);
-};
-
-export const functionNameFromSignature = (signature: string): string => {
- return signature.substring(0, signature.indexOf("("));
-};
-
-export const argumentsFromSignature = (signature: string): string[] => {
- return signature
- .substring(signature.indexOf("(") + 1, signature.indexOf(")"))
- .split(",");
-};
-
-export const typesFromSignature = (signature: string): string[] => {
- try {
- const typesString = signature.split("(")[1].split(")")[0];
- } catch (e) {
- return [];
- }
- if (typesString.length === 0) return [];
- return typesString.split(",");
-};
-
-export const addressContractName = (contracts, address: string): string => {
- return (
- Object.values(contracts).find((c) => c.address === address)?.name ||
- truncateEthAddress(address)
- );
-};
-
-export const etherscanLink = (contracts, address: string) => {
- return (
-
- {addressContractName(contracts, address)}
-
- );
-};
-
-export function usePrevious(value) {
- const ref = useRef();
- useEffect(() => {
- ref.current = value;
- });
- return ref.current;
-}
-
-export function useNetworkInfo() {
- const { chain } = useNetwork();
- const chainId = chain?.id;
- const envNetwork = Number(process.env.NETWORK_ID);
- return {
- walletNetwork: chainId,
- envNetwork: envNetwork,
- correct: envNetwork === chainId,
- };
-}
-
-export function inputToBigNumber(
- bigNumber: string,
- decimals: number = 0
-): BigNumber {
- const remainingAmount = bigNumber.replace(/[^\d.]/g, "");
- return ethers.utils.parseUnits(
- remainingAmount === "" ? "0" : remainingAmount,
- decimals
- );
-}
-const fetcher = (url: string) => fetch(url).then((res) => res.json());
-
-export { fetcher };
-
-export function claimOpensTimestamp() {
- return parseInt(useStore.getState().claim.claimOpensTs || "0");
-}
-
-export function claimClosesTimestamp() {
- return parseInt(useStore.getState().claim.claimClosesTs || "0");
-}
-
-const now = () => Math.floor(new Date().getTime() / 1000);
-
-export function governanceEnabled() {
- return process.env.ENABLE_GOVERNANCE === "true";
-}
-
-export function claimOpenTimestampPassed() {
- if (!claimOpensTimestamp()) return true;
- return now() > claimOpensTimestamp();
-}
-
-export function claimIsOpen() {
- if (!claimOpensTimestamp() || !claimClosesTimestamp()) return false;
- return now() > claimOpensTimestamp() && now() < claimClosesTimestamp();
-}
-
-export function sleep(ms) {
- return new Promise((resolve) => setTimeout(resolve, ms));
-}
-
-/**
- * Break up proposal content for display
- *
- * Important: The output of the function must be
- * properly escaped and safe to use as raw HTML
- * that is rendered by UI components. Never return
- * unsanitized HTML here.
- */
-const getCleanProposalContent = (proposalDescription: string) => {
- const split = proposalDescription?.split(/\n/g);
- const title = split && split[0];
- const description =
- split &&
- split
- .slice(1)
- .filter((d) => d)
- .join(" ");
-
- const cleanTitle = sanitizeHtml(title);
- const cleanDescription = sanitizeHtml(description, {
- allowedTags: ["br"],
- });
-
- return { cleanTitle, cleanDescription };
-};
-
-export { getCleanProposalContent };
-
-const makeHumanReadable = (num: Number, singular: string) => {
- return num > 0
- ? num + (num === 1 ? ` ${singular}, ` : ` ${singular}s, `)
- : "";
-};
-
-export const toDaysMinutesSeconds = (totalSeconds: Number) => {
- const minutes = Math.floor((totalSeconds % 3600) / 60);
- const hours = Math.floor((totalSeconds % (3600 * 24)) / 3600);
- const days = Math.floor(totalSeconds / (3600 * 24));
-
- const minutesStr = makeHumanReadable(minutes, "min");
- const hoursStr = makeHumanReadable(hours, "hr");
- const daysStr = makeHumanReadable(days, "day");
-
- return `${daysStr}${hoursStr}${minutesStr}`.replace(/,\s*$/, "");
-};
diff --git a/client/utils/math.js b/client/utils/math.js
deleted file mode 100644
index 0be9197f..00000000
--- a/client/utils/math.js
+++ /dev/null
@@ -1,66 +0,0 @@
-import { utils } from "ethers";
-
-export function formatBnCurrency(value, tokenDecimals = 18) {
- return formatCurrency(utils.formatUnits(value, tokenDecimals));
-}
-
-export function formatCurrency(value, decimals, truncate = true) {
- // avoid false formatting of e - notated numbers
- if (value < Math.pow(10, decimals * -1)) {
- value = 0;
- }
-
- return formatCurrencyMinMaxDecimals(value, {
- minDecimals: typeof decimals === "number" ? decimals : 2,
- maxDecimals: typeof decimals === "number" ? decimals : 5,
- truncate,
- });
-}
-
-export function formatCurrencyMinMaxDecimals(
- value,
- { minDecimals, maxDecimals, truncate, floorInsteadOfRound = false }
-) {
- if (value === "") {
- return "0.00";
- } else if (Number.isNaN(parseFloat(value))) {
- return "0.00";
- }
-
- let valueToUse = value;
- if (truncate) {
- valueToUse = truncateDecimals(value, maxDecimals);
- } else if (floorInsteadOfRound) {
- valueToUse =
- Math.floor(parseFloat(value) * Math.pow(10, maxDecimals)) /
- Math.pow(10, maxDecimals);
- }
- const options = {
- minimumFractionDigits: minDecimals,
- maximumFractionDigits: maxDecimals,
- };
-
- return parseFloat(valueToUse).toLocaleString("en", options);
-}
-
-/**
- * Takes a number and truncates decimals values and
- * returns it as a string
- *
- * @param {String|Number} value Value to truncate
- * @param {Number} decimals Number of decimals to truncate to
- *
- * @returns {String} Truncated decimal value
- */
-export function truncateDecimals(value, decimals = 6) {
- if (!value) return value;
- const [whole, fraction] = value.toString().split(".");
-
- if (!fraction || fraction.length <= decimals) {
- // No change
- return value.toString();
- }
-
- // truncate decimals & return
- return `${whole}.${fraction.slice(0, decimals)}`;
-}
diff --git a/client/utils/store.tsx b/client/utils/store.tsx
deleted file mode 100644
index 2524bdcc..00000000
--- a/client/utils/store.tsx
+++ /dev/null
@@ -1,72 +0,0 @@
-import create from "zustand";
-import { ethers } from "ethers";
-
-type Web3DataType = {
- provider?: any;
- address?: string;
- chainId?: number;
- contracts: Object;
- balances: Object;
- existingLockup: Object;
- lockups: Array;
- allowances: Object;
- pendingTransactions: Array;
- totalBalances: Object;
-};
-
-type StoreType = Web3DataType & {
- reset: () => void;
-};
-
-const defaultState: Web3DataType = {
- provider: null,
- rpcProvider: null,
- address: undefined,
- chainId: null,
- contracts: {
- loaded: false,
- },
- ensureDelegationModalOpened: false,
- balances: {
- ogv: ethers.BigNumber.from("0"),
- veOgv: ethers.BigNumber.from("0"),
- accruedRewards: ethers.BigNumber.from("0"),
- },
- ogvDelegateeAddress: "0x0000000000000000000000000000000000000000",
- existingLockup: {
- amount: ethers.BigNumber.from(0),
- end: ethers.BigNumber.from(0),
- existingEndWeeks: 0,
- existingEndDate: "",
- },
- claim: {
- claimOpensTs: process.env.CLAIM_OPENS,
- claimClosesTs: process.env.CLAIM_CLOSES,
- currentStep: 0,
- },
- lockups: [],
- recentLockups: [],
- allowances: {
- ogv: ethers.BigNumber.from("0"),
- },
- pendingTransactions: [],
- totalBalances: {
- totalSupplyOfOgv: ethers.BigNumber.from("0"),
- totalLockedUpOgv: ethers.BigNumber.from("0"),
- totalPercentageOfLockedUpOgv: 0,
- totalSupplyVeOgv: ethers.BigNumber.from("0"),
- optionalDistributorOgv: ethers.BigNumber.from("0"),
- mandatoryDistributorOgv: ethers.BigNumber.from("0"),
- },
- totalOgvLockedUp: ethers.BigNumber.from("0"),
- blockTimestamp: Math.ceil(Date.now() / 1000),
- // Is increased by 1 when relevant information is getting refreshed
- refreshStatus: {
- ogvStakingDelegation: 0,
- },
-};
-
-export const useStore = create((set) => ({
- ...defaultState,
- reset: () => set(defaultState),
-}));
diff --git a/client/utils/useAccountBalances.js b/client/utils/useAccountBalances.js
deleted file mode 100644
index 5a6ea5da..00000000
--- a/client/utils/useAccountBalances.js
+++ /dev/null
@@ -1,114 +0,0 @@
-import { useEffect, useState } from "react";
-import { useStore } from "utils/store";
-import { useNetworkInfo } from "utils/index";
-import { useAccount } from "wagmi";
-
-const useAccountBalances = () => {
- const [reloadAccountAllowances, setReloadAccountAllowances] = useState(0);
- const [reloadAccountBalances, setReloadAccountBalances] = useState(0);
- const [reloadStakingDelegation, setReloadStakingDelegation] = useState(0);
-
- const networkInfo = useNetworkInfo();
- const { address, isConnected } = useAccount();
-
- const { contracts, refreshStatus } = useStore();
-
- useEffect(() => {
- const fetchOgvStakingDelegateeAddress = async () => {
- return await contracts.OgvStaking.delegates(address);
- };
-
- if (address && networkInfo.correct && contracts.loaded) {
- fetchOgvStakingDelegateeAddress().then((ogvDelegateeAddress) => {
- useStore.setState({ ogvDelegateeAddress });
- });
- }
- }, [address, contracts, reloadStakingDelegation, networkInfo.correct]);
-
- // Load users governance token balance and vote power
- useEffect(() => {
- const loadOgvBalance = async () => {
- return await contracts.OriginDollarGovernance.balanceOf(address);
- };
-
- const loadVeOgvBalance = async () => {
- return await contracts.OgvStaking.balanceOf(address);
- };
-
- const loadAccruedRewards = async () => {
- return await contracts.OgvStaking.previewRewards(address);
- };
-
- if (isConnected && address && networkInfo.correct && contracts.loaded) {
- Promise.all([
- loadOgvBalance(),
- loadVeOgvBalance(),
- loadAccruedRewards(),
- ]).then(([ogv, veOgv, accruedRewards]) => {
- useStore.setState({
- balances: {
- ogv,
- veOgv,
- accruedRewards,
- },
- });
- });
- }
- }, [
- address,
- isConnected,
- contracts,
- reloadAccountBalances,
- networkInfo.correct,
- ]);
-
- useEffect(() => {
- const loadAllowance = async () => {
- return await contracts.OriginDollarGovernance.allowance(
- address,
- contracts.OgvStaking.address
- );
- };
-
- if (isConnected && address && networkInfo.correct && contracts.loaded) {
- Promise.all([loadAllowance()]).then(([ogv_approval]) => {
- useStore.setState({
- allowances: {
- ogv: ogv_approval,
- },
- });
- });
- }
- }, [
- address,
- isConnected,
- contracts,
- reloadAccountAllowances,
- networkInfo.correct,
- ]);
-
- return {
- reloadAccountAllowances: () => {
- setReloadAccountAllowances(reloadAccountAllowances + 1);
- },
- reloadAccountBalances: () => {
- setReloadAccountBalances(reloadAccountBalances + 1);
- },
- reloadOgvDelegation: () => {
- setReloadStakingDelegation(reloadStakingDelegation + 1);
- useStore.setState({
- refreshStatus: {
- ...refreshStatus,
- ogvStakingDelegation: reloadStakingDelegation + 1,
- },
- });
- },
- reloadAll: () => {
- setReloadAccountAllowances(reloadAccountAllowances + 1);
- setReloadAccountBalances(reloadAccountBalances + 1);
- setReloadStakingDelegation(reloadStakingDelegation + 1);
- },
- };
-};
-
-export default useAccountBalances;
diff --git a/client/utils/useBlock.tsx b/client/utils/useBlock.tsx
deleted file mode 100644
index 8410187f..00000000
--- a/client/utils/useBlock.tsx
+++ /dev/null
@@ -1,47 +0,0 @@
-import { useEffect, useState } from "react";
-import { useStore } from "utils/store";
-import { useNetworkInfo } from "utils/index";
-import { useAccount } from "wagmi";
-import { ethers } from "ethers";
-import { RPC_URLS } from "@/constants/index";
-
-const useBlock = () => {
- const networkInfo = useNetworkInfo();
- const { isConnected } = useAccount();
- const [refetchBlock, setRefetchBlock] = useState(0);
-
- useEffect(() => {
- const getBlockTimestamp = async () => {
- const provider = new ethers.providers.JsonRpcProvider(
- RPC_URLS[networkInfo.envNetwork]
- );
- const currentBlock = await provider?.getBlockNumber();
- const block = await provider?.getBlock(currentBlock);
- return block?.timestamp;
- };
-
- let intervalId: ReturnType;
-
- const pullTimestamp = () => {
- Promise.all([getBlockTimestamp()]).then(([blockTimestamp]) => {
- useStore.setState({
- blockTimestamp,
- });
- });
- };
-
- if (isConnected && networkInfo.correct) {
- intervalId = setInterval(pullTimestamp, 4000);
- }
-
- return () => clearInterval(intervalId);
- }, [isConnected, networkInfo.correct, networkInfo.envNetwork, refetchBlock]);
-
- return {
- refetchBlock: () => {
- setRefetchBlock(refetchBlock + 1);
- },
- };
-};
-
-export default useBlock;
diff --git a/client/utils/useClaim.tsx b/client/utils/useClaim.tsx
deleted file mode 100644
index b5c1e95d..00000000
--- a/client/utils/useClaim.tsx
+++ /dev/null
@@ -1,276 +0,0 @@
-import { useState, useEffect } from "react";
-import { BigNumber } from "ethers";
-import { useStore } from "utils/store";
-import { decimal18Bn, sleep } from "utils";
-import numeral from "numeraljs";
-import useTotalBalances from "utils/useTotalBalances";
-import { useAccount, useSigner } from "wagmi";
-
-const useClaim = () => {
- const { address } = useAccount();
- const { data: signer } = useSigner();
- const emptyClaimState = {
- optional: { hasClaim: false },
- mandatory: { hasClaim: false },
- };
- const [claim, setClaim] = useState(emptyClaimState);
- const [loaded, setLoaded] = useState(false);
- const [distributorData, setDistributorData] = useState({});
- const [totalSupplyVeOgv, setTotalSupplyVeOgv] = useState(null);
- const [totalSupplyVeOgvAdjusted, setTotalSupplyVeOgvAdjusted] =
- useState(null);
- const { contracts, rpcProvider } = useStore();
- const hasClaim = claim.optional.hasClaim || claim.mandatory.hasClaim;
- /*
- * ready -> ready to start claiming
- * waiting-for-user -> waiting for user to confirm the transaction
- * waiting-for-network -> waiting for nodes to mine the transaction
- * claimed -> already claimed
- */
- const [mandatoryClaimState, setMandatoryClaimState] = useState("ready");
- const [optionalClaimState, setOptionalClaimState] = useState("ready");
-
- const [mandatoryTxReceipt, setMandatoryTxReceipt] = useState("");
- const [optionalTxReceipt, setOptionalTxReceipt] = useState("");
-
- const maybeConvertToBn = (amount) => {
- if (typeof amount !== "object" || !amount || amount.hex === undefined)
- return null;
-
- return BigNumber.from(amount.hex);
- };
-
- const { reloadTotalBalances } = useTotalBalances();
-
- useEffect(() => {
- const getClaim = async () => {
- setLoaded(false);
- const api = `/api/claim?account=${address}`;
- const res = await fetch(api);
-
- const claim = await res.json();
-
- if (!claim.optional.hasClaim && !claim.mandatory.hasClaim) {
- // nothing else to fetch related to claims.
- setLoaded(true);
- } else {
- const transformClaim = (claim) => {
- claim.amount = maybeConvertToBn(claim.amount);
- Object.keys(claim.split).map((key) => {
- claim.split[key] = maybeConvertToBn(claim.split[key]);
- });
-
- return claim;
- };
-
- claim.optional = transformClaim(claim.optional);
- claim.mandatory = transformClaim(claim.mandatory);
- }
-
- setClaim(claim);
- };
-
- getClaim();
-
- return () => setClaim(emptyClaimState);
- }, [address]);
-
- useEffect(() => {
- const loadTotalSupplyVeOGV = async () => {
- if (!contracts.loaded) {
- return;
- }
- try {
- const totalSupplyBn = await contracts.OgvStaking.totalSupply();
- setTotalSupplyVeOgv(totalSupplyBn);
- // TODO: verify this that we need to set some minimal total supply. Otherwise the first couple
- // of claimers will see insane reward amounts
- const minTotalSupply = numeral(100000000); // 100m of OGV
- const totalSupply = numeral(totalSupplyBn.div(decimal18Bn).toString());
- setTotalSupplyVeOgvAdjusted(Math.max(totalSupply, minTotalSupply));
- } catch (error) {
- console.error(`Can not fetch veOgv total supply:`, error);
- }
- };
- loadTotalSupplyVeOGV();
- }, [contracts]);
-
- useEffect(() => {
- if (
- !contracts.loaded ||
- !(claim.optional.hasClaim || claim.mandatory.hasClaim)
- ) {
- return;
- }
-
- const readDistributor = async (distContract, claim, claimStateSetter) => {
- const isClaimed = await distContract.isClaimed(claim.index);
- if (isClaimed) {
- claimStateSetter("claimed");
- }
- return {
- isClaimed,
- isValid: await distContract.isProofValid(
- claim.index,
- claim.amount,
- address,
- claim.proof
- ),
- };
- };
-
- setDistributorData({});
- setLoaded(false);
-
- const setupDistributors = async () => {
- try {
- const distData = {};
-
- if (claim.optional.hasClaim) {
- let distributor = await readDistributor(
- contracts.OptionalDistributor,
- claim.optional,
- setOptionalClaimState
- );
-
- distData.optional = {
- ...distributor,
- claim: async (duration) => {
- setOptionalClaimState("waiting-for-user");
- let claimResult;
- try {
- claimResult = await (
- await contracts.OptionalDistributor.connect(signer)
- )["claim(uint256,uint256,bytes32[],uint256)"](
- claim.optional.index,
- claim.optional.amount,
- claim.optional.proof,
- duration,
- // 278048 * 1.5
- { gasLimit: 417072 }
- );
- setOptionalTxReceipt(claimResult.hash);
- } catch (e) {
- setOptionalClaimState("ready");
- throw e;
- }
-
- setOptionalClaimState("waiting-for-network");
- let receipt;
- try {
- receipt = await rpcProvider.waitForTransaction(
- claimResult.hash
- );
- // sleep for 5 seconds on development so it is more noticeable
- if (process.env.NODE_ENV === "development") {
- await sleep(5000);
- }
- } catch (e) {
- setOptionalClaimState("ready");
- setOptionalTxReceipt("");
- throw e;
- }
-
- if (receipt.status === 1) {
- setOptionalClaimState("claimed");
- reloadTotalBalances();
- } else {
- setOptionalClaimState("ready");
- }
-
- return receipt;
- },
- };
- }
-
- if (claim.mandatory.hasClaim) {
- let distributor = await readDistributor(
- contracts.MandatoryDistributor,
- claim.mandatory,
- setMandatoryClaimState
- );
-
- distData.mandatory = {
- ...distributor,
- claim: async () => {
- setMandatoryClaimState("waiting-for-user");
- let claimResult;
- try {
- claimResult = await (
- await contracts.MandatoryDistributor.connect(signer)
- )["claim(uint256,uint256,bytes32[])"](
- claim.mandatory.index,
- claim.mandatory.amount,
- claim.mandatory.proof,
- // 498316 * 1.5
- { gasLimit: 747474 }
- );
- setMandatoryTxReceipt(claimResult.hash);
- } catch (e) {
- setMandatoryClaimState("ready");
- throw e;
- }
-
- setMandatoryClaimState("waiting-for-network");
- let receipt;
- try {
- receipt = await rpcProvider.waitForTransaction(
- claimResult.hash
- );
- // sleep for 5 seconds on development so it is more noticeable
- if (process.env.NODE_ENV === "development") {
- await sleep(5000);
- }
- } catch (e) {
- setMandatoryClaimState("ready");
- setMandatoryTxReceipt("");
- throw e;
- }
-
- if (receipt.status === 1) {
- setMandatoryClaimState("claimed");
- reloadTotalBalances();
- } else {
- setMandatoryClaimState("ready");
- }
-
- return receipt;
- },
- };
- }
-
- setLoaded(true);
- setDistributorData(distData);
- } catch (error) {
- console.error("Error fetching contract distribution state:", error);
- }
- };
-
- setupDistributors();
- }, [address, contracts, claim]);
-
- return {
- optional: {
- state: optionalClaimState,
- ...claim.optional,
- ...distributorData.optional,
- receipt: optionalTxReceipt,
- },
- mandatory: {
- state: mandatoryClaimState,
- ...claim.mandatory,
- ...distributorData.mandatory,
- receipt: mandatoryTxReceipt,
- },
- staking: {
- // total supply adjusted for APY, with min amount - type: numeral
- totalSupplyVeOgvAdjusted: totalSupplyVeOgvAdjusted,
- // actual totalSupply - type: BigNumber
- totalSupplyVeOgv: totalSupplyVeOgv,
- },
- hasClaim,
- loaded,
- };
-};
-
-export default useClaim;
diff --git a/client/utils/useConnectSigner.js b/client/utils/useConnectSigner.js
deleted file mode 100644
index 7604244d..00000000
--- a/client/utils/useConnectSigner.js
+++ /dev/null
@@ -1,5 +0,0 @@
-const useConnectSigner = async (_contract, signer) => {
- return _contract.connect(signer);
-};
-
-export default useConnectSigner;
diff --git a/client/utils/useContracts.tsx b/client/utils/useContracts.tsx
deleted file mode 100644
index 3dc8963b..00000000
--- a/client/utils/useContracts.tsx
+++ /dev/null
@@ -1,74 +0,0 @@
-import { useEffect } from "react";
-import { ethers } from "ethers";
-import OUSDContracts from "networks/network.mainnet.json";
-import { CHAIN_CONTRACTS, RPC_URLS } from "constants/index";
-import { useStore } from "utils/store";
-import { useNetworkInfo } from "utils/index";
-import { useAccount, useNetwork, useSigner } from "wagmi";
-
-const useContracts = () => {
- const { isConnected } = useAccount();
- const { data: signer } = useSigner();
- const { chain } = useNetwork();
- const chainId = chain?.id;
- const networkInfo = useNetworkInfo();
-
- useEffect(() => {
- const provider = new ethers.providers.JsonRpcProvider(
- RPC_URLS[networkInfo.envNetwork]
- );
-
- const loadContracts = async () => {
- useStore.setState({
- provider,
- contracts: {
- loaded: false,
- },
- });
-
- const governanceContractDefinitions =
- CHAIN_CONTRACTS[networkInfo.envNetwork];
-
- const governanceContracts = Object.entries(
- governanceContractDefinitions
- ).map(([name, definition]) => {
- const contract = new ethers.Contract(
- definition.address,
- definition.abi,
- signer || provider
- );
- return {
- [name]: contract,
- };
- });
-
- const ousdContracts = Object.entries(OUSDContracts.contracts).map(
- ([name, definition]) => {
- const contract = new ethers.Contract(
- definition.address,
- definition.abi,
- provider
- );
- return {
- [name]: contract,
- };
- }
- );
-
- const contracts = Object.assign(
- ...ousdContracts.concat(governanceContracts)
- );
-
- contracts.loaded = true;
-
- useStore.setState({
- rpcProvider: provider,
- contracts,
- });
- };
-
- loadContracts();
- }, [isConnected, chainId, networkInfo.envNetwork]);
-};
-
-export default useContracts;
diff --git a/client/utils/useForm.tsx b/client/utils/useForm.tsx
deleted file mode 100644
index 3cc42610..00000000
--- a/client/utils/useForm.tsx
+++ /dev/null
@@ -1,86 +0,0 @@
-import { useState } from "react";
-
-export function isRequired(value) {
- return value != null && value.length > 0;
-}
-
-export function isAddress(value) {
- return /^0x[a-fA-F0-9]{40}$/.test(value);
-}
-
-export function isUint(value) {
- return /^[0-9]+$/.test(value);
-}
-
-export function isArray(value) {
- return Array.isArray(value);
-}
-
-export function isAddressArray(value) {
- return isArray(value) && value.every(isAddress);
-}
-
-export function isStringArray(value) {
- return isArray(value) && value.every((item) => typeof item === "string");
-}
-
-export function isUintArray(value) {
- return isArray(value) && value.every(isUint);
-}
-
-function validate(validations, values) {
- const errors = validations
- .map((validation) => validation(values))
- .filter((validation) => typeof validation === "object");
-
- return {
- isValid: errors.length === 0,
- errors: errors.reduce((errors, error) => ({ ...errors, ...error }), {}),
- };
-}
-
-export function useForm(
- initialState: object,
- validations: Array,
- onSubmit: Function
-) {
- const { isValid: initialIsValid, errors: initialErrors } = validate(
- validations,
- initialState
- );
- const [values, setValues] = useState(initialState);
- const [errors, setErrors] = useState(initialErrors);
- const [isValid, setValid] = useState(initialIsValid);
- const [touched, setTouched] = useState({});
-
- const changeHandler = (event: any) => {
- const newValues = { ...values, [event.target.name]: event.target.value };
- const { isValid, errors } = validate(validations, newValues);
- setValues(newValues);
- setValid(isValid);
- setErrors(errors);
- setTouched({ ...touched, [event.target.name]: true });
- };
-
- const submitHandler = (event: any) => {
- event.preventDefault();
- onSubmit(values);
- };
-
- const reset = () => {
- setValues(initialState);
- setErrors(initialErrors);
- setValid(initialIsValid);
- setTouched({});
- };
-
- return {
- values,
- changeHandler,
- isValid,
- errors,
- touched,
- submitHandler,
- reset,
- };
-}
diff --git a/client/utils/useFutureBlockTime.tsx b/client/utils/useFutureBlockTime.tsx
deleted file mode 100644
index 3b71ad9e..00000000
--- a/client/utils/useFutureBlockTime.tsx
+++ /dev/null
@@ -1,34 +0,0 @@
-import { useEffect, useState } from "react";
-import { ETHERSCAN_API_KEY } from "../constants";
-import { useNetworkInfo } from "utils/index";
-
-const useFutureBlockTime = (blockNumber: Number) => {
- const { envNetwork } = useNetworkInfo();
- const [futureBlockTime, setFutureBlockTime] = useState(0);
-
- useEffect(() => {
- const fetchFutureBlock = async () => {
- let api = `https://api.etherscan.io/api?module=block&action=getblockcountdown&blockno=${blockNumber}&apikey=${ETHERSCAN_API_KEY}`;
- if (5 === envNetwork) {
- api = `https://api-goerli.etherscan.io/api?module=block&action=getblockcountdown&blockno=${blockNumber}&apikey=${ETHERSCAN_API_KEY}`;
- }
- try {
- const res = await fetch(api);
- const futureBlock = await res.json();
- if (futureBlock?.status !== "0") {
- setFutureBlockTime(futureBlock?.result?.EstimateTimeInSec);
- }
- } catch (e) {
- console.log(e);
- }
- };
-
- if (ETHERSCAN_API_KEY && blockNumber) {
- fetchFutureBlock();
- }
- }, [envNetwork, blockNumber]);
-
- return futureBlockTime;
-};
-
-export { useFutureBlockTime };
diff --git a/client/utils/useGovernance.tsx b/client/utils/useGovernance.tsx
deleted file mode 100644
index 9465db4a..00000000
--- a/client/utils/useGovernance.tsx
+++ /dev/null
@@ -1,40 +0,0 @@
-import { useEffect, useState } from "react";
-import { ethers } from "ethers";
-import { useStore } from "utils/store";
-import { useAccount } from "wagmi";
-
-const useGovernance = () => {
- const [proposalThreshold, setProposalThreshold] = useState(
- ethers.BigNumber.from(0)
- );
- const [votePower, setVotePower] = useState(ethers.BigNumber.from(0));
- const { address, isConnected } = useAccount();
- const { contracts } = useStore();
-
- useEffect(() => {
- const loadProposalThreshold = async () => {
- setProposalThreshold(await contracts.Governance.proposalThreshold());
- };
- if (contracts.loaded) {
- loadProposalThreshold();
- }
- }, [contracts]);
-
- // Load users vote power
- useEffect(() => {
- const loadVotePower = async () => {
- const votePower = await contracts.OgvStaking.balanceOf(address);
- setVotePower(votePower);
- };
- if (isConnected && address && contracts.loaded) {
- loadVotePower();
- }
- }, [address, isConnected, contracts]);
-
- return {
- proposalThreshold,
- votePower,
- };
-};
-
-export default useGovernance;
diff --git a/client/utils/useHistoricalLockupToasts.js b/client/utils/useHistoricalLockupToasts.js
deleted file mode 100644
index 61d5ddca..00000000
--- a/client/utils/useHistoricalLockupToasts.js
+++ /dev/null
@@ -1,174 +0,0 @@
-import { useEffect } from "react";
-import { random, maxBy, includes } from "lodash";
-import { useStore } from "utils/store";
-import { toast } from "react-toastify";
-import { truncateEthAddress } from "utils";
-import { SECONDS_IN_A_MONTH } from "../constants/index";
-import TokenAmount from "components/TokenAmount";
-import Link from "components/Link";
-import ExternalLinkIcon from "components/ExternalLinkIcon";
-
-const _LockupContent = ({ shortAddress, ogvLockedUp, months, txHash }) => {
- return (
-
-
- {`${shortAddress} recently staked `}
-
- {` OGV for ${months} months`}
-
-
-
-
View on Etherscan
-
-
- );
-};
-
-const useHistoricalLockupToasts = () => {
- const { rpcProvider, contracts, recentLockups } = useStore();
- // 13.13 seconds is average block time (on 7.7.2022) ~
- const blocksToLookBack = 1300; // roughly 2 days
-
- const displayToast = async (event) => {
- const address = event.args[0];
- const ogvLockedUp = event.args[2];
- const lockUpEnd = parseInt(event.args[3]);
-
- const blockTime =
- (await rpcProvider?.getBlock(event.blockNumber))?.timestamp ||
- Date.now() / 1000;
-
- const durationInMonths = Math.round(
- (lockUpEnd - blockTime) / SECONDS_IN_A_MONTH
- );
-
- const shortAddress = truncateEthAddress(address);
-
- toast.success(
- <_LockupContent
- shortAddress={shortAddress}
- ogvLockedUp={ogvLockedUp}
- months={durationInMonths}
- txHash={event.transactionHash}
- />,
- {
- hideProgressBar: true,
- position: "bottom-right",
- }
- );
- };
-
- useEffect(() => {
- const newStakeListener = (...params) => {
- const event = params[params.length - 1];
- // fetch actual state, and not a version that was added to function
- const recentLockups = useStore.getState().recentLockups;
-
- const addEvent = (event, showIt) => {
- useStore.setState({
- recentLockups: [
- ...recentLockups,
- {
- shown: !showIt,
- rawEvent: event,
- },
- ],
- });
- };
-
- /* TODO: decide whether to add event to array of events and show at a predictable pace
- * OR show events immediately in real-time
- */
-
- // OPTION 1: uncomment this for show new event at predictable pace
- //addEvent(event, true);
-
- // OPTION 2: show event immediately
- // sometimes listener will fetch events that have already happened
- if (
- !includes(
- recentLockups.map((e) => e.rawEvent.transactionHash),
- event.transactionHash
- )
- ) {
- addEvent(event, false);
- displayToast(event);
- }
- };
-
- const getPastStakes = async () => {
- // contracts not loaded or lockups already initialized
- if (!contracts.loaded || recentLockups.length > 0) {
- return;
- }
-
- const { OgvStaking } = contracts;
- const stakesFilter = OgvStaking.filters.Stake();
- const events = await OgvStaking.queryFilter(
- stakesFilter,
- blocksToLookBack
- );
-
- useStore.setState({
- recentLockups: events.map((event) => {
- return {
- shown: false,
- rawEvent: event,
- };
- }),
- });
-
- // subscribe for events only after past events have already been fetched
- OgvStaking.on(stakesFilter, newStakeListener);
- };
-
- getPastStakes();
-
- return () => {
- if (!contracts.loaded) {
- return;
- }
-
- const { OgvStaking } = contracts;
- const stakesFilter = OgvStaking.filters.Stake();
- // unsubscribe
- OgvStaking.off(stakesFilter, newStakeListener);
- };
- }, [contracts, recentLockups]);
-
- useEffect(() => {
- const alertLoop = setInterval(async () => {
- // latest non shown event
- const latestEvent = maxBy(
- recentLockups.filter((event) => !event.shown),
- (event) => event.rawEvent.blockNumber
- );
-
- if (!latestEvent) {
- return;
- }
-
- latestEvent.shown = true;
- const otherEvents = recentLockups.filter(
- (event) =>
- event.rawEvent.transactionHash !==
- latestEvent.rawEvent.transactionHash
- );
-
- useStore.setState({
- recentLockups: [...otherEvents, latestEvent],
- });
-
- displayToast(latestEvent.rawEvent);
- }, random(5000, 12000, true));
-
- return () => clearInterval(alertLoop);
- }, [recentLockups]);
-};
-
-export default useHistoricalLockupToasts;
diff --git a/client/utils/useLocalStorage.tsx b/client/utils/useLocalStorage.tsx
deleted file mode 100644
index 819f67cb..00000000
--- a/client/utils/useLocalStorage.tsx
+++ /dev/null
@@ -1,131 +0,0 @@
-import { useCallback, useEffect, useState } from "react";
-
-const LOCAL_STORAGE_CHANGE_EVENT_NAME = "onLocalStorageChange";
-
-const isTypeOfLocalStorageChanged = (evt) => {
- return !!evt && evt.type === LOCAL_STORAGE_CHANGE_EVENT_NAME;
-};
-
-const isBrowser = () => {
- return (
- typeof window !== "undefined" && typeof window.document !== "undefined"
- );
-};
-
-const writeStorage = (key, value) => {
- if (!isBrowser()) {
- return;
- }
-
- try {
- window.localStorage.setItem(
- key,
- typeof value === "object" ? JSON.stringify(value) : `${value}`
- );
- window.dispatchEvent(
- new CustomEvent(LOCAL_STORAGE_CHANGE_EVENT_NAME, {
- detail: { key, value },
- })
- );
- } catch (err) {
- if (
- err instanceof TypeError &&
- err.message.includes("circular structure")
- ) {
- throw new TypeError(
- "The object that was given to the writeStorage function has circular references.\n" +
- "For more information, check here: " +
- "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Cyclic_object_value"
- );
- }
- throw err;
- }
-};
-
-const deleteFromStorage = (key) => {
- if (!isBrowser()) {
- return;
- }
- window.localStorage.removeItem(key);
- window.dispatchEvent(
- new CustomEvent(LOCAL_STORAGE_CHANGE_EVENT_NAME, {
- detail: { key, value: null },
- })
- );
-};
-
-const tryParse = (value) => {
- try {
- return JSON.parse(value);
- } catch {
- return value;
- }
-};
-
-const useLocalStorage = (key, defaultValue) => {
- const [localState, updateLocalState] = useState(
- window.localStorage.getItem(key) === null
- ? defaultValue
- : tryParse(window.localStorage.getItem(key))
- );
-
- const onLocalStorageChange = useCallback(
- (event) => {
- if (isTypeOfLocalStorageChanged(event)) {
- if (event.detail.key === key) {
- updateLocalState(event.detail.value);
- }
- } else {
- if (event.key === key) {
- updateLocalState(
- event.newValue === null ? null : tryParse(event.newValue)
- );
- }
- }
- },
- [updateLocalState, key]
- );
-
- useEffect(() => {
- if (!isBrowser()) {
- return;
- }
-
- const listener = (e) => {
- onLocalStorageChange(e);
- };
-
- window.addEventListener(LOCAL_STORAGE_CHANGE_EVENT_NAME, listener);
-
- // The storage event only works in the context of other documents (eg. other browser tabs)
- window.addEventListener("storage", listener);
-
- // Write default value to the local storage if there currently isn't any value there.
- if (window.localStorage.getItem(key) === null && defaultValue !== null) {
- writeStorage(key, defaultValue);
- }
-
- return () => {
- window.removeEventListener(LOCAL_STORAGE_CHANGE_EVENT_NAME, listener);
- window.removeEventListener("storage", listener);
- };
- }, [key, defaultValue, onLocalStorageChange]);
-
- const writeState = useCallback(
- (value) =>
- value instanceof Function
- ? writeStorage(key, value(localState))
- : writeStorage(key, value),
- [key]
- );
-
- const deleteState = useCallback(() => deleteFromStorage(key), [key]);
-
- return {
- data: localState ?? defaultValue,
- onSetItem: writeState,
- onRemoveItem: deleteState,
- };
-};
-
-export default useLocalStorage;
diff --git a/client/utils/useLockups.tsx b/client/utils/useLockups.tsx
deleted file mode 100644
index a136ac76..00000000
--- a/client/utils/useLockups.tsx
+++ /dev/null
@@ -1,64 +0,0 @@
-import { useEffect, useState } from "react";
-import { useStore } from "utils/store";
-import { fetcher, useNetworkInfo } from "utils/index";
-import useSWR, { mutate } from "swr";
-import { sortBy } from "lodash";
-import { useAccount } from "wagmi";
-
-const useLockups = () => {
- const [reloadLockups, setReloadLockups] = useState(0);
- const networkInfo = useNetworkInfo();
- const { address } = useAccount();
- const { contracts } = useStore();
-
- const { data } = useSWR(`/api/lockups?account=${address}`, fetcher);
- // @TODO: Might need to fetch data another way as it doesn't reload instantly using set reloadLockups
-
- useEffect(() => {
- const loadLockups = async () => {
- return Promise.all(
- data?.lockups.map((lockup) => {
- const lockupCall = contracts.OgvStaking.lockups(
- address,
- lockup.lockupId
- );
-
- return Promise.all([lockupCall]).then((lockupOnChain) => {
- const enrichedLockup = {
- ...lockup,
- amount: lockupOnChain[0].amount,
- end: lockupOnChain[0].end,
- points: lockupOnChain[0].points,
- };
-
- return enrichedLockup;
- });
- })
- ).then((enrichedLockups) => {
- const sortedLockups = sortBy(enrichedLockups, (lockup) => lockup.end);
-
- useStore.setState({
- lockups: sortedLockups,
- });
- });
- };
-
- if (
- networkInfo.correct &&
- address &&
- contracts.loaded &&
- data?.lockups.length > 0
- ) {
- loadLockups();
- }
- }, [networkInfo.correct, address, data, contracts]);
-
- return {
- reloadLockups: async () => {
- setReloadLockups(reloadLockups + 1);
- await mutate(`/api/lockups?account=${address}`);
- },
- };
-};
-
-export default useLockups;
diff --git a/client/utils/useShowDelegationModalOption.tsx b/client/utils/useShowDelegationModalOption.tsx
deleted file mode 100644
index 0cbbb498..00000000
--- a/client/utils/useShowDelegationModalOption.tsx
+++ /dev/null
@@ -1,33 +0,0 @@
-/* OgvStaking contract requires for each of the accounts to perform delegation to their
- * own address in order for propose and cast vote function to work properly on the contract.
- *
- */
-import { useState, useEffect, useCallback } from "react";
-import { useStore } from "utils/store";
-import { ZERO_ADDRESS } from "constants/index";
-
-const useShowDelegationModalOption = () => {
- const { ogvDelegateeAddress, refreshStatus, balances } = useStore();
- const { veOgv } = balances;
- const [needToShowDelegation, setNeedToShowDelegation] = useState(true);
-
- useEffect(() => {
- setNeedToShowDelegation(ogvDelegateeAddress === ZERO_ADDRESS);
- }, [refreshStatus.ogvStakingDelegation, ogvDelegateeAddress]);
-
- // returns bool -> true if delegation modal needs to be shown
- const showModalIfApplicable = useCallback(() => {
- if (needToShowDelegation) {
- useStore.setState({ ensureDelegationModalOpened: true });
- }
-
- return needToShowDelegation;
- }, [needToShowDelegation]);
-
- return {
- showModalIfApplicable,
- needToShowDelegation,
- };
-};
-
-export default useShowDelegationModalOption;
diff --git a/client/utils/useStakingAPY.tsx b/client/utils/useStakingAPY.tsx
deleted file mode 100644
index 32f1fb32..00000000
--- a/client/utils/useStakingAPY.tsx
+++ /dev/null
@@ -1,58 +0,0 @@
-import { useEffect, useMemo, useState } from "react";
-import { SECONDS_IN_A_MONTH } from "constants/index";
-import { useStore } from "utils/store";
-import { getRewardsApy } from "./apy";
-import { ethers } from "ethers";
-
-const useStakingAPY = (amountStaked, duration) => {
- const { contracts, totalBalances } = useStore();
-
- const [loading, setLoading] = useState(true);
- const [veOgvReceived, setVeOGVReceived] = useState(0);
-
- const { totalSupplyVeOgvAdjusted } = totalBalances;
-
- useEffect(() => {
- if (!contracts.loaded) return;
-
- let done = false;
-
- async function go() {
- try {
- const [val] = await contracts.OgvStaking.previewPoints(
- ethers.utils.parseEther(amountStaked.toString()),
- duration * SECONDS_IN_A_MONTH
- );
-
- if (!done) {
- setVeOGVReceived(parseFloat(ethers.utils.formatEther(val)));
- setLoading(false);
- }
- } catch (err) {
- console.error("Failed to fetch APY", err);
- }
- }
-
- go();
-
- return () => {
- done = true;
- };
- }, [amountStaked, duration, contracts.loaded]);
-
- const stakingAPY = useMemo(() => {
- if (!veOgvReceived || !totalSupplyVeOgvAdjusted || !amountStaked) {
- return 0;
- }
-
- return getRewardsApy(veOgvReceived, amountStaked, totalSupplyVeOgvAdjusted);
- }, [veOgvReceived, amountStaked, totalSupplyVeOgvAdjusted]);
-
- return {
- loading,
- veOgvReceived,
- stakingAPY,
- };
-};
-
-export default useStakingAPY;
diff --git a/client/utils/useStickyState.tsx b/client/utils/useStickyState.tsx
deleted file mode 100644
index 4449a9fd..00000000
--- a/client/utils/useStickyState.tsx
+++ /dev/null
@@ -1,18 +0,0 @@
-import React from "react";
-
-export const useStickyState = (defaultValue, key) => {
- const [value, setValue] = React.useState(defaultValue);
-
- React.useEffect(() => {
- const stickyValue = window.localStorage.getItem(key);
- if (stickyValue) {
- setValue(JSON.parse(stickyValue));
- }
- }, []);
-
- React.useEffect(() => {
- window.localStorage.setItem(key, JSON.stringify(value));
- }, [key, value]);
-
- return [value, setValue];
-};
diff --git a/client/utils/useTotalBalances.tsx b/client/utils/useTotalBalances.tsx
deleted file mode 100644
index 84f9c4e7..00000000
--- a/client/utils/useTotalBalances.tsx
+++ /dev/null
@@ -1,81 +0,0 @@
-import { useEffect, useState } from "react";
-import { useStore } from "utils/store";
-import numeral from "numeraljs";
-import { decimal18Bn } from "utils";
-
-const useTotalBalances = () => {
- const { contracts } = useStore();
-
- const [reloadTotalBalances, setReloadTotalBalances] = useState(0);
-
- useEffect(() => {
- const loadTotalSupplyOfOgv = async () =>
- await contracts.OriginDollarGovernance.totalSupply();
-
- const loadTotalLockedUpOgv = async () =>
- await contracts.OriginDollarGovernance.balanceOf(
- contracts.OgvStaking.address
- );
-
- const loadTotalSupplyVeOgv = async () =>
- await contracts.OgvStaking.totalSupply();
-
- const loadOptionalDistributorOgvBalance = async () =>
- await contracts.OriginDollarGovernance.balanceOf(
- contracts.OptionalDistributor.address
- );
-
- const loadMandatoryDistributorOgvBalance = async () =>
- await contracts.OriginDollarGovernance.balanceOf(
- contracts.MandatoryDistributor.address
- );
-
- if (contracts.loaded) {
- Promise.all([
- loadTotalSupplyOfOgv(),
- loadTotalLockedUpOgv(),
- loadTotalSupplyVeOgv(),
- loadOptionalDistributorOgvBalance(),
- loadMandatoryDistributorOgvBalance(),
- ]).then(
- ([
- totalSupplyOfOgv,
- totalLockedUpOgv,
- totalSupplyVeOgv,
- optionalDistributorOgv,
- mandatoryDistributorOgv,
- ]) => {
- const totalPercentageOfLockedUpOgv =
- totalLockedUpOgv.gt(0) && totalSupplyOfOgv.gt(0)
- ? (totalLockedUpOgv / totalSupplyOfOgv) * 100
- : 0;
-
- const minTotalSupply = numeral(100000000);
- const totalSupply = numeral(
- totalSupplyVeOgv.div(decimal18Bn).toString()
- );
-
- useStore.setState({
- totalBalances: {
- totalSupplyOfOgv,
- totalLockedUpOgv,
- totalPercentageOfLockedUpOgv,
- totalSupplyVeOgv,
- totalSupplyVeOgvAdjusted: Math.max(totalSupply, minTotalSupply),
- optionalDistributorOgv,
- mandatoryDistributorOgv,
- },
- });
- }
- );
- }
- }, [contracts, reloadTotalBalances]);
-
- return {
- reloadTotalBalances: () => {
- setReloadTotalBalances(reloadTotalBalances + 1);
- },
- };
-};
-
-export default useTotalBalances;
diff --git a/client/yarn.lock b/client/yarn.lock
deleted file mode 100644
index cd3ab730..00000000
--- a/client/yarn.lock
+++ /dev/null
@@ -1,8420 +0,0 @@
-# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
-# yarn lockfile v1
-
-
-"@aashutoshrathi/word-wrap@^1.2.3":
- version "1.2.6"
- resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf"
- integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==
-
-"@alloc/quick-lru@^5.2.0":
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/@alloc/quick-lru/-/quick-lru-5.2.0.tgz#7bf68b20c0a350f936915fcae06f58e32007ce30"
- integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==
-
-"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.22.9":
- version "7.22.9"
- resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.22.9.tgz#71cdb00a1ce3a329ce4cbec3a44f9fef35669730"
- integrity sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==
-
-"@babel/helper-compilation-targets@^7.22.6":
- version "7.22.9"
- resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.9.tgz#f9d0a7aaaa7cd32a3f31c9316a69f5a9bcacb892"
- integrity sha512-7qYrNM6HjpnPHJbopxmb8hSPoZ0gsX8IvUS32JGVoy+pU9e5N0nLr1VjJoR6kA4d9dmGLxNYOjeB8sUDal2WMw==
- dependencies:
- "@babel/compat-data" "^7.22.9"
- "@babel/helper-validator-option" "^7.22.5"
- browserslist "^4.21.9"
- lru-cache "^5.1.1"
- semver "^6.3.1"
-
-"@babel/helper-define-polyfill-provider@^0.4.2":
- version "0.4.2"
- resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.2.tgz#82c825cadeeeee7aad237618ebbe8fa1710015d7"
- integrity sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==
- dependencies:
- "@babel/helper-compilation-targets" "^7.22.6"
- "@babel/helper-plugin-utils" "^7.22.5"
- debug "^4.1.1"
- lodash.debounce "^4.0.8"
- resolve "^1.14.2"
-
-"@babel/helper-module-imports@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz#1a8f4c9f4027d23f520bd76b364d44434a72660c"
- integrity sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==
- dependencies:
- "@babel/types" "^7.22.5"
-
-"@babel/helper-plugin-utils@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295"
- integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==
-
-"@babel/helper-string-parser@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f"
- integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==
-
-"@babel/helper-validator-identifier@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz#9544ef6a33999343c8740fa51350f30eeaaaf193"
- integrity sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==
-
-"@babel/helper-validator-option@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz#de52000a15a177413c8234fa3a8af4ee8102d0ac"
- integrity sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==
-
-"@babel/plugin-transform-runtime@^7.5.5":
- version "7.22.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.9.tgz#a87b11e170cbbfb018e6a2bf91f5c6e533b9e027"
- integrity sha512-9KjBH61AGJetCPYp/IEyLEp47SyybZb0nDRpBvmtEkm+rUIwxdlKpyNHI1TmsGkeuLclJdleQHRZ8XLBnnh8CQ==
- dependencies:
- "@babel/helper-module-imports" "^7.22.5"
- "@babel/helper-plugin-utils" "^7.22.5"
- babel-plugin-polyfill-corejs2 "^0.4.4"
- babel-plugin-polyfill-corejs3 "^0.8.2"
- babel-plugin-polyfill-regenerator "^0.5.1"
- semver "^6.3.1"
-
-"@babel/runtime@^7.12.5", "@babel/runtime@^7.17.2", "@babel/runtime@^7.20.7", "@babel/runtime@^7.22.6", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.2", "@babel/runtime@^7.7.2":
- version "7.22.6"
- resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.6.tgz#57d64b9ae3cff1d67eb067ae117dac087f5bd438"
- integrity sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ==
- dependencies:
- regenerator-runtime "^0.13.11"
-
-"@babel/types@^7.22.5":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.22.5.tgz#cd93eeaab025880a3a47ec881f4b096a5b786fbe"
- integrity sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==
- dependencies:
- "@babel/helper-string-parser" "^7.22.5"
- "@babel/helper-validator-identifier" "^7.22.5"
- to-fast-properties "^2.0.0"
-
-"@coinbase/wallet-sdk@^3.6.6":
- version "3.7.1"
- resolved "https://registry.yarnpkg.com/@coinbase/wallet-sdk/-/wallet-sdk-3.7.1.tgz#44b3b7a925ff5cc974e4cbf7a44199ffdcf03541"
- integrity sha512-LjyoDCB+7p0waQXfK+fUgcAs3Ezk6S6e+LYaoFjpJ6c9VTop3NyZF40Pi7df4z7QJohCwzuIDjz0Rhtig6Y7Pg==
- dependencies:
- "@metamask/safe-event-emitter" "2.0.0"
- "@solana/web3.js" "^1.70.1"
- bind-decorator "^1.0.11"
- bn.js "^5.1.1"
- buffer "^6.0.3"
- clsx "^1.1.0"
- eth-block-tracker "6.1.0"
- eth-json-rpc-filters "5.1.0"
- eth-rpc-errors "4.0.2"
- json-rpc-engine "6.1.0"
- keccak "^3.0.1"
- preact "^10.5.9"
- qs "^6.10.3"
- rxjs "^6.6.3"
- sha.js "^2.4.11"
- stream-browserify "^3.0.0"
- util "^0.12.4"
-
-"@colors/colors@1.5.0":
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9"
- integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==
-
-"@dabh/diagnostics@^2.0.2":
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/@dabh/diagnostics/-/diagnostics-2.0.3.tgz#7f7e97ee9a725dffc7808d93668cc984e1dc477a"
- integrity sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==
- dependencies:
- colorspace "1.1.x"
- enabled "2.0.x"
- kuler "^2.0.0"
-
-"@emotion/hash@^0.8.0":
- version "0.8.0"
- resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.8.0.tgz#bbbff68978fefdbe68ccb533bc8cbe1d1afb5413"
- integrity sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==
-
-"@eslint/eslintrc@^1.1.0":
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.4.1.tgz#af58772019a2d271b7e2d4c23ff4ddcba3ccfb3e"
- integrity sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==
- dependencies:
- ajv "^6.12.4"
- debug "^4.3.2"
- espree "^9.4.0"
- globals "^13.19.0"
- ignore "^5.2.0"
- import-fresh "^3.2.1"
- js-yaml "^4.1.0"
- minimatch "^3.1.2"
- strip-json-comments "^3.1.1"
-
-"@ethereumjs/common@2.5.0":
- version "2.5.0"
- resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-2.5.0.tgz#ec61551b31bef7a69d1dc634d8932468866a4268"
- integrity sha512-DEHjW6e38o+JmB/NO3GZBpW4lpaiBpkFgXF6jLcJ6gETBYpEyaA5nTimsWBUJR3Vmtm/didUEbNjajskugZORg==
- dependencies:
- crc-32 "^1.2.0"
- ethereumjs-util "^7.1.1"
-
-"@ethereumjs/common@^2.5.0":
- version "2.6.5"
- resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-2.6.5.tgz#0a75a22a046272579d91919cb12d84f2756e8d30"
- integrity sha512-lRyVQOeCDaIVtgfbowla32pzeDv2Obr8oR8Put5RdUBNRGr1VGPGQNGP6elWIpgK3YdpzqTOh4GyUGOureVeeA==
- dependencies:
- crc-32 "^1.2.0"
- ethereumjs-util "^7.1.5"
-
-"@ethereumjs/tx@3.3.2":
- version "3.3.2"
- resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-3.3.2.tgz#348d4624bf248aaab6c44fec2ae67265efe3db00"
- integrity sha512-6AaJhwg4ucmwTvw/1qLaZUX5miWrwZ4nLOUsKyb/HtzS3BMw/CasKhdi1ims9mBKeK9sOJCH4qGKOBGyJCeeog==
- dependencies:
- "@ethereumjs/common" "^2.5.0"
- ethereumjs-util "^7.1.2"
-
-"@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.6.3", "@ethersproject/abi@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449"
- integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==
- dependencies:
- "@ethersproject/address" "^5.7.0"
- "@ethersproject/bignumber" "^5.7.0"
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/constants" "^5.7.0"
- "@ethersproject/hash" "^5.7.0"
- "@ethersproject/keccak256" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/properties" "^5.7.0"
- "@ethersproject/strings" "^5.7.0"
-
-"@ethersproject/abstract-provider@5.7.0", "@ethersproject/abstract-provider@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz#b0a8550f88b6bf9d51f90e4795d48294630cb9ef"
- integrity sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==
- dependencies:
- "@ethersproject/bignumber" "^5.7.0"
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/networks" "^5.7.0"
- "@ethersproject/properties" "^5.7.0"
- "@ethersproject/transactions" "^5.7.0"
- "@ethersproject/web" "^5.7.0"
-
-"@ethersproject/abstract-signer@5.7.0", "@ethersproject/abstract-signer@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz#13f4f32117868452191a4649723cb086d2b596b2"
- integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==
- dependencies:
- "@ethersproject/abstract-provider" "^5.7.0"
- "@ethersproject/bignumber" "^5.7.0"
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/properties" "^5.7.0"
-
-"@ethersproject/address@5.7.0", "@ethersproject/address@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.7.0.tgz#19b56c4d74a3b0a46bfdbb6cfcc0a153fc697f37"
- integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==
- dependencies:
- "@ethersproject/bignumber" "^5.7.0"
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/keccak256" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/rlp" "^5.7.0"
-
-"@ethersproject/base64@5.7.0", "@ethersproject/base64@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.7.0.tgz#ac4ee92aa36c1628173e221d0d01f53692059e1c"
- integrity sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==
- dependencies:
- "@ethersproject/bytes" "^5.7.0"
-
-"@ethersproject/basex@5.7.0", "@ethersproject/basex@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.7.0.tgz#97034dc7e8938a8ca943ab20f8a5e492ece4020b"
- integrity sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==
- dependencies:
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/properties" "^5.7.0"
-
-"@ethersproject/bignumber@5.7.0", "@ethersproject/bignumber@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.7.0.tgz#e2f03837f268ba655ffba03a57853e18a18dc9c2"
- integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==
- dependencies:
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- bn.js "^5.2.1"
-
-"@ethersproject/bytes@5.7.0", "@ethersproject/bytes@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.7.0.tgz#a00f6ea8d7e7534d6d87f47188af1148d71f155d"
- integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==
- dependencies:
- "@ethersproject/logger" "^5.7.0"
-
-"@ethersproject/constants@5.7.0", "@ethersproject/constants@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.7.0.tgz#df80a9705a7e08984161f09014ea012d1c75295e"
- integrity sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==
- dependencies:
- "@ethersproject/bignumber" "^5.7.0"
-
-"@ethersproject/contracts@5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.7.0.tgz#c305e775abd07e48aa590e1a877ed5c316f8bd1e"
- integrity sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==
- dependencies:
- "@ethersproject/abi" "^5.7.0"
- "@ethersproject/abstract-provider" "^5.7.0"
- "@ethersproject/abstract-signer" "^5.7.0"
- "@ethersproject/address" "^5.7.0"
- "@ethersproject/bignumber" "^5.7.0"
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/constants" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/properties" "^5.7.0"
- "@ethersproject/transactions" "^5.7.0"
-
-"@ethersproject/hash@5.7.0", "@ethersproject/hash@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.7.0.tgz#eb7aca84a588508369562e16e514b539ba5240a7"
- integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==
- dependencies:
- "@ethersproject/abstract-signer" "^5.7.0"
- "@ethersproject/address" "^5.7.0"
- "@ethersproject/base64" "^5.7.0"
- "@ethersproject/bignumber" "^5.7.0"
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/keccak256" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/properties" "^5.7.0"
- "@ethersproject/strings" "^5.7.0"
-
-"@ethersproject/hdnode@5.7.0", "@ethersproject/hdnode@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.7.0.tgz#e627ddc6b466bc77aebf1a6b9e47405ca5aef9cf"
- integrity sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==
- dependencies:
- "@ethersproject/abstract-signer" "^5.7.0"
- "@ethersproject/basex" "^5.7.0"
- "@ethersproject/bignumber" "^5.7.0"
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/pbkdf2" "^5.7.0"
- "@ethersproject/properties" "^5.7.0"
- "@ethersproject/sha2" "^5.7.0"
- "@ethersproject/signing-key" "^5.7.0"
- "@ethersproject/strings" "^5.7.0"
- "@ethersproject/transactions" "^5.7.0"
- "@ethersproject/wordlists" "^5.7.0"
-
-"@ethersproject/json-wallets@5.7.0", "@ethersproject/json-wallets@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz#5e3355287b548c32b368d91014919ebebddd5360"
- integrity sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==
- dependencies:
- "@ethersproject/abstract-signer" "^5.7.0"
- "@ethersproject/address" "^5.7.0"
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/hdnode" "^5.7.0"
- "@ethersproject/keccak256" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/pbkdf2" "^5.7.0"
- "@ethersproject/properties" "^5.7.0"
- "@ethersproject/random" "^5.7.0"
- "@ethersproject/strings" "^5.7.0"
- "@ethersproject/transactions" "^5.7.0"
- aes-js "3.0.0"
- scrypt-js "3.0.1"
-
-"@ethersproject/keccak256@5.7.0", "@ethersproject/keccak256@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.7.0.tgz#3186350c6e1cd6aba7940384ec7d6d9db01f335a"
- integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==
- dependencies:
- "@ethersproject/bytes" "^5.7.0"
- js-sha3 "0.8.0"
-
-"@ethersproject/logger@5.7.0", "@ethersproject/logger@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.7.0.tgz#6ce9ae168e74fecf287be17062b590852c311892"
- integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==
-
-"@ethersproject/networks@5.7.1", "@ethersproject/networks@^5.7.0":
- version "5.7.1"
- resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.1.tgz#118e1a981d757d45ccea6bb58d9fd3d9db14ead6"
- integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==
- dependencies:
- "@ethersproject/logger" "^5.7.0"
-
-"@ethersproject/pbkdf2@5.7.0", "@ethersproject/pbkdf2@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz#d2267d0a1f6e123f3771007338c47cccd83d3102"
- integrity sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==
- dependencies:
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/sha2" "^5.7.0"
-
-"@ethersproject/properties@5.7.0", "@ethersproject/properties@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.7.0.tgz#a6e12cb0439b878aaf470f1902a176033067ed30"
- integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==
- dependencies:
- "@ethersproject/logger" "^5.7.0"
-
-"@ethersproject/providers@5.7.2":
- version "5.7.2"
- resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.7.2.tgz#f8b1a4f275d7ce58cf0a2eec222269a08beb18cb"
- integrity sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==
- dependencies:
- "@ethersproject/abstract-provider" "^5.7.0"
- "@ethersproject/abstract-signer" "^5.7.0"
- "@ethersproject/address" "^5.7.0"
- "@ethersproject/base64" "^5.7.0"
- "@ethersproject/basex" "^5.7.0"
- "@ethersproject/bignumber" "^5.7.0"
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/constants" "^5.7.0"
- "@ethersproject/hash" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/networks" "^5.7.0"
- "@ethersproject/properties" "^5.7.0"
- "@ethersproject/random" "^5.7.0"
- "@ethersproject/rlp" "^5.7.0"
- "@ethersproject/sha2" "^5.7.0"
- "@ethersproject/strings" "^5.7.0"
- "@ethersproject/transactions" "^5.7.0"
- "@ethersproject/web" "^5.7.0"
- bech32 "1.1.4"
- ws "7.4.6"
-
-"@ethersproject/random@5.7.0", "@ethersproject/random@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.7.0.tgz#af19dcbc2484aae078bb03656ec05df66253280c"
- integrity sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==
- dependencies:
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
-
-"@ethersproject/rlp@5.7.0", "@ethersproject/rlp@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.7.0.tgz#de39e4d5918b9d74d46de93af80b7685a9c21304"
- integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==
- dependencies:
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
-
-"@ethersproject/sha2@5.7.0", "@ethersproject/sha2@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.7.0.tgz#9a5f7a7824ef784f7f7680984e593a800480c9fb"
- integrity sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==
- dependencies:
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- hash.js "1.1.7"
-
-"@ethersproject/signing-key@5.7.0", "@ethersproject/signing-key@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.7.0.tgz#06b2df39411b00bc57c7c09b01d1e41cf1b16ab3"
- integrity sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==
- dependencies:
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/properties" "^5.7.0"
- bn.js "^5.2.1"
- elliptic "6.5.4"
- hash.js "1.1.7"
-
-"@ethersproject/solidity@5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.7.0.tgz#5e9c911d8a2acce2a5ebb48a5e2e0af20b631cb8"
- integrity sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==
- dependencies:
- "@ethersproject/bignumber" "^5.7.0"
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/keccak256" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/sha2" "^5.7.0"
- "@ethersproject/strings" "^5.7.0"
-
-"@ethersproject/strings@5.7.0", "@ethersproject/strings@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.7.0.tgz#54c9d2a7c57ae8f1205c88a9d3a56471e14d5ed2"
- integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==
- dependencies:
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/constants" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
-
-"@ethersproject/transactions@5.7.0", "@ethersproject/transactions@^5.6.2", "@ethersproject/transactions@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.7.0.tgz#91318fc24063e057885a6af13fdb703e1f993d3b"
- integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==
- dependencies:
- "@ethersproject/address" "^5.7.0"
- "@ethersproject/bignumber" "^5.7.0"
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/constants" "^5.7.0"
- "@ethersproject/keccak256" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/properties" "^5.7.0"
- "@ethersproject/rlp" "^5.7.0"
- "@ethersproject/signing-key" "^5.7.0"
-
-"@ethersproject/units@5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.7.0.tgz#637b563d7e14f42deeee39245275d477aae1d8b1"
- integrity sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==
- dependencies:
- "@ethersproject/bignumber" "^5.7.0"
- "@ethersproject/constants" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
-
-"@ethersproject/wallet@5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.7.0.tgz#4e5d0790d96fe21d61d38fb40324e6c7ef350b2d"
- integrity sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==
- dependencies:
- "@ethersproject/abstract-provider" "^5.7.0"
- "@ethersproject/abstract-signer" "^5.7.0"
- "@ethersproject/address" "^5.7.0"
- "@ethersproject/bignumber" "^5.7.0"
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/hash" "^5.7.0"
- "@ethersproject/hdnode" "^5.7.0"
- "@ethersproject/json-wallets" "^5.7.0"
- "@ethersproject/keccak256" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/properties" "^5.7.0"
- "@ethersproject/random" "^5.7.0"
- "@ethersproject/signing-key" "^5.7.0"
- "@ethersproject/transactions" "^5.7.0"
- "@ethersproject/wordlists" "^5.7.0"
-
-"@ethersproject/web@5.7.1", "@ethersproject/web@^5.7.0":
- version "5.7.1"
- resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.7.1.tgz#de1f285b373149bee5928f4eb7bcb87ee5fbb4ae"
- integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==
- dependencies:
- "@ethersproject/base64" "^5.7.0"
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/properties" "^5.7.0"
- "@ethersproject/strings" "^5.7.0"
-
-"@ethersproject/wordlists@5.7.0", "@ethersproject/wordlists@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.7.0.tgz#8fb2c07185d68c3e09eb3bfd6e779ba2774627f5"
- integrity sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==
- dependencies:
- "@ethersproject/bytes" "^5.7.0"
- "@ethersproject/hash" "^5.7.0"
- "@ethersproject/logger" "^5.7.0"
- "@ethersproject/properties" "^5.7.0"
- "@ethersproject/strings" "^5.7.0"
-
-"@hapi/hoek@^9.0.0":
- version "9.3.0"
- resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb"
- integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==
-
-"@hapi/topo@^5.0.0":
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/@hapi/topo/-/topo-5.1.0.tgz#dc448e332c6c6e37a4dc02fd84ba8d44b9afb012"
- integrity sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==
- dependencies:
- "@hapi/hoek" "^9.0.0"
-
-"@humanwhocodes/config-array@^0.9.2":
- version "0.9.5"
- resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.5.tgz#2cbaf9a89460da24b5ca6531b8bbfc23e1df50c7"
- integrity sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==
- dependencies:
- "@humanwhocodes/object-schema" "^1.2.1"
- debug "^4.1.1"
- minimatch "^3.0.4"
-
-"@humanwhocodes/object-schema@^1.2.1":
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45"
- integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==
-
-"@jridgewell/gen-mapping@^0.3.2":
- version "0.3.3"
- resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098"
- integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==
- dependencies:
- "@jridgewell/set-array" "^1.0.1"
- "@jridgewell/sourcemap-codec" "^1.4.10"
- "@jridgewell/trace-mapping" "^0.3.9"
-
-"@jridgewell/resolve-uri@3.1.0":
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78"
- integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==
-
-"@jridgewell/set-array@^1.0.1":
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72"
- integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==
-
-"@jridgewell/sourcemap-codec@1.4.14":
- version "1.4.14"
- resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24"
- integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==
-
-"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.13":
- version "1.4.15"
- resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
- integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
-
-"@jridgewell/trace-mapping@^0.3.9":
- version "0.3.18"
- resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz#25783b2086daf6ff1dcb53c9249ae480e4dd4cd6"
- integrity sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==
- dependencies:
- "@jridgewell/resolve-uri" "3.1.0"
- "@jridgewell/sourcemap-codec" "1.4.14"
-
-"@ledgerhq/connect-kit-loader@^1.0.1":
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/@ledgerhq/connect-kit-loader/-/connect-kit-loader-1.1.1.tgz#7f495de1565e393d2d3a9d54c5831ed045e403a2"
- integrity sha512-Jq/CMEw+o5+u6YEcVtkE5UiEDhTjyqro1vo0hDDScf1WdDkxBHahYn/1bL9QEhA4nG5JyfygcL1+CKT+2BilWw==
-
-"@lit-labs/ssr-dom-shim@^1.0.0", "@lit-labs/ssr-dom-shim@^1.1.0":
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.1.1.tgz#64df34e2f12e68e78ac57e571d25ec07fa460ca9"
- integrity sha512-kXOeFbfCm4fFf2A3WwVEeQj55tMZa8c8/f9AKHMobQMkzNUfUj+antR3fRPaZJawsa1aZiP/Da3ndpZrwEe4rQ==
-
-"@lit/reactive-element@^1.3.0", "@lit/reactive-element@^1.6.0":
- version "1.6.3"
- resolved "https://registry.yarnpkg.com/@lit/reactive-element/-/reactive-element-1.6.3.tgz#25b4eece2592132845d303e091bad9b04cdcfe03"
- integrity sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==
- dependencies:
- "@lit-labs/ssr-dom-shim" "^1.0.0"
-
-"@mdi/js@^6.9.96":
- version "6.9.96"
- resolved "https://registry.yarnpkg.com/@mdi/js/-/js-6.9.96.tgz#90e8fadef05a975df384f0505b2100a795881873"
- integrity sha512-rK0/vLFaiItYS2W7uVmaKPKnhNQE4XVkylpk5njtVwENnp8elwY5uRL6qvdj2esuvUHG7DwygE4Qu3eKxxuJiQ==
-
-"@mdi/react@^1.6.0":
- version "1.6.1"
- resolved "https://registry.yarnpkg.com/@mdi/react/-/react-1.6.1.tgz#624313593ae8065d2a09878ca81beb3e4b676b03"
- integrity sha512-4qZeDcluDFGFTWkHs86VOlHkm6gnKaMql13/gpIcUQ8kzxHgpj31NuCkD8abECVfbULJ3shc7Yt4HJ6Wu6SN4w==
- dependencies:
- prop-types "^15.7.2"
-
-"@metamask/safe-event-emitter@2.0.0", "@metamask/safe-event-emitter@^2.0.0":
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/@metamask/safe-event-emitter/-/safe-event-emitter-2.0.0.tgz#af577b477c683fad17c619a78208cede06f9605c"
- integrity sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q==
-
-"@metamask/utils@^3.0.1":
- version "3.6.0"
- resolved "https://registry.yarnpkg.com/@metamask/utils/-/utils-3.6.0.tgz#b218b969a05ca7a8093b5d1670f6625061de707d"
- integrity sha512-9cIRrfkWvHblSiNDVXsjivqa9Ak0RYo/1H6tqTqTbAx+oBK2Sva0lWDHxGchOqA7bySGUJKAWSNJvH6gdHZ0gQ==
- dependencies:
- "@types/debug" "^4.1.7"
- debug "^4.3.4"
- semver "^7.3.8"
- superstruct "^1.0.3"
-
-"@motionone/animation@^10.15.1":
- version "10.15.1"
- resolved "https://registry.yarnpkg.com/@motionone/animation/-/animation-10.15.1.tgz#4a85596c31cbc5100ae8eb8b34c459fb0ccf6807"
- integrity sha512-mZcJxLjHor+bhcPuIFErMDNyrdb2vJur8lSfMCsuCB4UyV8ILZLvK+t+pg56erv8ud9xQGK/1OGPt10agPrCyQ==
- dependencies:
- "@motionone/easing" "^10.15.1"
- "@motionone/types" "^10.15.1"
- "@motionone/utils" "^10.15.1"
- tslib "^2.3.1"
-
-"@motionone/dom@^10.16.2":
- version "10.16.2"
- resolved "https://registry.yarnpkg.com/@motionone/dom/-/dom-10.16.2.tgz#0c44df8ee3d1cfc50ee11d27050b27824355a61a"
- integrity sha512-bnuHdNbge1FutZXv+k7xub9oPWcF0hsu8y1HTH/qg6av58YI0VufZ3ngfC7p2xhMJMnoh0LXFma2EGTgPeCkeg==
- dependencies:
- "@motionone/animation" "^10.15.1"
- "@motionone/generators" "^10.15.1"
- "@motionone/types" "^10.15.1"
- "@motionone/utils" "^10.15.1"
- hey-listen "^1.0.8"
- tslib "^2.3.1"
-
-"@motionone/easing@^10.15.1":
- version "10.15.1"
- resolved "https://registry.yarnpkg.com/@motionone/easing/-/easing-10.15.1.tgz#95cf3adaef34da6deebb83940d8143ede3deb693"
- integrity sha512-6hIHBSV+ZVehf9dcKZLT7p5PEKHGhDwky2k8RKkmOvUoYP3S+dXsKupyZpqx5apjd9f+php4vXk4LuS+ADsrWw==
- dependencies:
- "@motionone/utils" "^10.15.1"
- tslib "^2.3.1"
-
-"@motionone/generators@^10.15.1":
- version "10.15.1"
- resolved "https://registry.yarnpkg.com/@motionone/generators/-/generators-10.15.1.tgz#dc6abb11139d1bafe758a41c134d4c753a9b871c"
- integrity sha512-67HLsvHJbw6cIbLA/o+gsm7h+6D4Sn7AUrB/GPxvujse1cGZ38F5H7DzoH7PhX+sjvtDnt2IhFYF2Zp1QTMKWQ==
- dependencies:
- "@motionone/types" "^10.15.1"
- "@motionone/utils" "^10.15.1"
- tslib "^2.3.1"
-
-"@motionone/svelte@^10.16.2":
- version "10.16.2"
- resolved "https://registry.yarnpkg.com/@motionone/svelte/-/svelte-10.16.2.tgz#0b37c3b12927814d31d24941d1ca0ff49981b444"
- integrity sha512-38xsroKrfK+aHYhuQlE6eFcGy0EwrB43Q7RGjF73j/kRUTcLNu/LAaKiLLsN5lyqVzCgTBVt4TMT/ShWbTbc5Q==
- dependencies:
- "@motionone/dom" "^10.16.2"
- tslib "^2.3.1"
-
-"@motionone/types@^10.15.1":
- version "10.15.1"
- resolved "https://registry.yarnpkg.com/@motionone/types/-/types-10.15.1.tgz#89441b54285012795cbba8612cbaa0fa420db3eb"
- integrity sha512-iIUd/EgUsRZGrvW0jqdst8st7zKTzS9EsKkP+6c6n4MPZoQHwiHuVtTQLD6Kp0bsBLhNzKIBlHXponn/SDT4hA==
-
-"@motionone/utils@^10.15.1":
- version "10.15.1"
- resolved "https://registry.yarnpkg.com/@motionone/utils/-/utils-10.15.1.tgz#6b5f51bde75be88b5411e084310299050368a438"
- integrity sha512-p0YncgU+iklvYr/Dq4NobTRdAPv9PveRDUXabPEeOjBLSO/1FNB2phNTZxOxpi1/GZwYpAoECEa0Wam+nsmhSw==
- dependencies:
- "@motionone/types" "^10.15.1"
- hey-listen "^1.0.8"
- tslib "^2.3.1"
-
-"@motionone/vue@^10.16.2":
- version "10.16.2"
- resolved "https://registry.yarnpkg.com/@motionone/vue/-/vue-10.16.2.tgz#faf13afc27620a2df870c71c58a04ee8de8dea65"
- integrity sha512-7/dEK/nWQXOkJ70bqb2KyNfSWbNvWqKKq1C8juj+0Mg/AorgD8O5wE3naddK0G+aXuNMqRuc4jlsYHHWHtIzVw==
- dependencies:
- "@motionone/dom" "^10.16.2"
- tslib "^2.3.1"
-
-"@next/env@12.1.0":
- version "12.1.0"
- resolved "https://registry.yarnpkg.com/@next/env/-/env-12.1.0.tgz#73713399399b34aa5a01771fb73272b55b22c314"
- integrity sha512-nrIgY6t17FQ9xxwH3jj0a6EOiQ/WDHUos35Hghtr+SWN/ntHIQ7UpuvSi0vaLzZVHQWaDupKI+liO5vANcDeTQ==
-
-"@next/eslint-plugin-next@12.1.0":
- version "12.1.0"
- resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-12.1.0.tgz#32586a11378b3ffa5a93ac40a3c44ad99d70e95a"
- integrity sha512-WFiyvSM2G5cQmh32t/SiQuJ+I2O+FHVlK/RFw5b1565O2kEM/36EXncjt88Pa+X5oSc+1SS+tWxowWJd1lqI+g==
- dependencies:
- glob "7.1.7"
-
-"@next/swc-android-arm64@12.1.0":
- version "12.1.0"
- resolved "https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-12.1.0.tgz#865ba3a9afc204ff2bdeea49dd64d58705007a39"
- integrity sha512-/280MLdZe0W03stA69iL+v6I+J1ascrQ6FrXBlXGCsGzrfMaGr7fskMa0T5AhQIVQD4nA/46QQWxG//DYuFBcA==
-
-"@next/swc-darwin-arm64@12.1.0":
- version "12.1.0"
- resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.1.0.tgz#08e8b411b8accd095009ed12efbc2f1d4d547135"
- integrity sha512-R8vcXE2/iONJ1Unf5Ptqjk6LRW3bggH+8drNkkzH4FLEQkHtELhvcmJwkXcuipyQCsIakldAXhRbZmm3YN1vXg==
-
-"@next/swc-darwin-x64@12.1.0":
- version "12.1.0"
- resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-12.1.0.tgz#fcd684497a76e8feaca88db3c394480ff0b007cd"
- integrity sha512-ieAz0/J0PhmbZBB8+EA/JGdhRHBogF8BWaeqR7hwveb6SYEIJaDNQy0I+ZN8gF8hLj63bEDxJAs/cEhdnTq+ug==
-
-"@next/swc-linux-arm-gnueabihf@12.1.0":
- version "12.1.0"
- resolved "https://registry.yarnpkg.com/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-12.1.0.tgz#9ec6380a27938a5799aaa6035c205b3c478468a7"
- integrity sha512-njUd9hpl6o6A5d08dC0cKAgXKCzm5fFtgGe6i0eko8IAdtAPbtHxtpre3VeSxdZvuGFh+hb0REySQP9T1ttkog==
-
-"@next/swc-linux-arm64-gnu@12.1.0":
- version "12.1.0"
- resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-12.1.0.tgz#7f4196dff1049cea479607c75b81033ae2dbd093"
- integrity sha512-OqangJLkRxVxMhDtcb7Qn1xjzFA3s50EIxY7mljbSCLybU+sByPaWAHY4px97ieOlr2y4S0xdPKkQ3BCAwyo6Q==
-
-"@next/swc-linux-arm64-musl@12.1.0":
- version "12.1.0"
- resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-12.1.0.tgz#b445f767569cdc2dddee785ca495e1a88c025566"
- integrity sha512-hB8cLSt4GdmOpcwRe2UzI5UWn6HHO/vLkr5OTuNvCJ5xGDwpPXelVkYW/0+C3g5axbDW2Tym4S+MQCkkH9QfWA==
-
-"@next/swc-linux-x64-gnu@12.1.0":
- version "12.1.0"
- resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-12.1.0.tgz#67610e9be4fbc987de7535f1bcb17e45fe12f90e"
- integrity sha512-OKO4R/digvrVuweSw/uBM4nSdyzsBV5EwkUeeG4KVpkIZEe64ZwRpnFB65bC6hGwxIBnTv5NMSnJ+0K/WmG78A==
-
-"@next/swc-linux-x64-musl@12.1.0":
- version "12.1.0"
- resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-12.1.0.tgz#ea19a23db08a9f2e34ac30401f774cf7d1669d31"
- integrity sha512-JohhgAHZvOD3rQY7tlp7NlmvtvYHBYgY0x5ZCecUT6eCCcl9lv6iV3nfu82ErkxNk1H893fqH0FUpznZ/H3pSw==
-
-"@next/swc-win32-arm64-msvc@12.1.0":
- version "12.1.0"
- resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-12.1.0.tgz#eadf054fc412085659b98e145435bbba200b5283"
- integrity sha512-T/3gIE6QEfKIJ4dmJk75v9hhNiYZhQYAoYm4iVo1TgcsuaKLFa+zMPh4056AHiG6n9tn2UQ1CFE8EoybEsqsSw==
-
-"@next/swc-win32-ia32-msvc@12.1.0":
- version "12.1.0"
- resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-12.1.0.tgz#68faeae10c89f698bf9d28759172b74c9c21bda1"
- integrity sha512-iwnKgHJdqhIW19H9PRPM9j55V6RdcOo6rX+5imx832BCWzkDbyomWnlzBfr6ByUYfhohb8QuH4hSGEikpPqI0Q==
-
-"@next/swc-win32-x64-msvc@12.1.0":
- version "12.1.0"
- resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-12.1.0.tgz#d27e7e76c87a460a4da99c5bfdb1618dcd6cd064"
- integrity sha512-aBvcbMwuanDH4EMrL2TthNJy+4nP59Bimn8egqv6GHMVj0a44cU6Au4PjOhLNqEh9l+IpRGBqMTzec94UdC5xg==
-
-"@noble/curves@^1.0.0":
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.1.0.tgz#f13fc667c89184bc04cccb9b11e8e7bae27d8c3d"
- integrity sha512-091oBExgENk/kGj3AZmtBDMpxQPDtxQABR2B9lb1JbVTs6ytdzZNwvhxQ4MWasRNEzlbEH8jCWFCwhF/Obj5AA==
- dependencies:
- "@noble/hashes" "1.3.1"
-
-"@noble/hashes@1.3.1", "@noble/hashes@^1.3.0":
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.1.tgz#8831ef002114670c603c458ab8b11328406953a9"
- integrity sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA==
-
-"@nodelib/fs.scandir@2.1.5":
- version "2.1.5"
- resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
- integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
- dependencies:
- "@nodelib/fs.stat" "2.0.5"
- run-parallel "^1.1.9"
-
-"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
- integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
-
-"@nodelib/fs.walk@^1.2.3":
- version "1.2.8"
- resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
- integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
- dependencies:
- "@nodelib/fs.scandir" "2.1.5"
- fastq "^1.6.0"
-
-"@prisma/client@^3.10.0":
- version "3.15.2"
- resolved "https://registry.yarnpkg.com/@prisma/client/-/client-3.15.2.tgz#2181398147afc79bfe0d83c03a88dc45b49bd365"
- integrity sha512-ErqtwhX12ubPhU4d++30uFY/rPcyvjk+mdifaZO5SeM21zS3t4jQrscy8+6IyB0GIYshl5ldTq6JSBo1d63i8w==
- dependencies:
- "@prisma/engines-version" "3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e"
-
-"@prisma/engines-version@3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e":
- version "3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e"
- resolved "https://registry.yarnpkg.com/@prisma/engines-version/-/engines-version-3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e.tgz#bf5e2373ca68ce7556b967cb4965a7095e93fe53"
- integrity sha512-e3k2Vd606efd1ZYy2NQKkT4C/pn31nehyLhVug6To/q8JT8FpiMrDy7zmm3KLF0L98NOQQcutaVtAPhzKhzn9w==
-
-"@prisma/engines@3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e":
- version "3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e"
- resolved "https://registry.yarnpkg.com/@prisma/engines/-/engines-3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e.tgz#f691893df506b93e3cb1ccc15ec6e5ac64e8e570"
- integrity sha512-NHlojO1DFTsSi3FtEleL9QWXeSF/UjhCW0fgpi7bumnNZ4wj/eQ+BJJ5n2pgoOliTOGv9nX2qXvmHap7rJMNmg==
-
-"@rainbow-me/rainbowkit@^0.12.16":
- version "0.12.18"
- resolved "https://registry.yarnpkg.com/@rainbow-me/rainbowkit/-/rainbowkit-0.12.18.tgz#a42f1682e629586fdebdc5606b0617f7f7e52054"
- integrity sha512-Ehpr8gBCS8v4vdXLi8ZBlQ1yA6GHJOhoP66hLrdgI5iSlr6aUGTEicEfb2RaKNltHJFW/5A4BKst0AK4PkAkuw==
- dependencies:
- "@vanilla-extract/css" "1.9.1"
- "@vanilla-extract/dynamic" "2.0.2"
- "@vanilla-extract/sprinkles" "1.5.0"
- clsx "1.1.1"
- qrcode "1.5.0"
- react-remove-scroll "2.5.4"
-
-"@rollup/plugin-commonjs@24.0.0":
- version "24.0.0"
- resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-24.0.0.tgz#fb7cf4a6029f07ec42b25daa535c75b05a43f75c"
- integrity sha512-0w0wyykzdyRRPHOb0cQt14mIBLujfAv6GgP6g8nvg/iBxEm112t3YPPq+Buqe2+imvElTka+bjNlJ/gB56TD8g==
- dependencies:
- "@rollup/pluginutils" "^5.0.1"
- commondir "^1.0.1"
- estree-walker "^2.0.2"
- glob "^8.0.3"
- is-reference "1.2.1"
- magic-string "^0.27.0"
-
-"@rollup/pluginutils@^5.0.1":
- version "5.0.2"
- resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.0.2.tgz#012b8f53c71e4f6f9cb317e311df1404f56e7a33"
- integrity sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==
- dependencies:
- "@types/estree" "^1.0.0"
- estree-walker "^2.0.2"
- picomatch "^2.3.1"
-
-"@rushstack/eslint-patch@^1.0.8":
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.3.2.tgz#31b9c510d8cada9683549e1dbb4284cca5001faf"
- integrity sha512-V+MvGwaHH03hYhY+k6Ef/xKd6RYlc4q8WBx+2ANmipHJcKuktNcI/NgEsJgdSUF6Lw32njT6OnrRsKYCdgHjYw==
-
-"@safe-global/safe-apps-provider@^0.15.2":
- version "0.15.2"
- resolved "https://registry.yarnpkg.com/@safe-global/safe-apps-provider/-/safe-apps-provider-0.15.2.tgz#fa5c30140134e72bb969da76b80a16c545323e3a"
- integrity sha512-BaoGAuY7h6jLBL7P+M6b7hd+1QfTv8uMyNF3udhiNUwA0XwfzH2ePQB13IEV3Mn7wdcIMEEUDS5kHbtAsj60qQ==
- dependencies:
- "@safe-global/safe-apps-sdk" "7.9.0"
- events "^3.3.0"
-
-"@safe-global/safe-apps-sdk@7.9.0":
- version "7.9.0"
- resolved "https://registry.yarnpkg.com/@safe-global/safe-apps-sdk/-/safe-apps-sdk-7.9.0.tgz#0c79a7760470bfdaf4cce9aa5bceef56898c7037"
- integrity sha512-S2EI+JL8ocSgE3uGNaDZCzKmwfhtxXZFDUP76vN0FeaY35itFMyi8F0Vhxu0XnZm3yLzJE3tp5px6GhuQFLU6w==
- dependencies:
- "@safe-global/safe-gateway-typescript-sdk" "^3.5.3"
- ethers "^5.7.2"
-
-"@safe-global/safe-apps-sdk@^7.9.0":
- version "7.11.0"
- resolved "https://registry.yarnpkg.com/@safe-global/safe-apps-sdk/-/safe-apps-sdk-7.11.0.tgz#2cbc164fb70141cdf4d3331ff222cd98a2529316"
- integrity sha512-RDamzPM1Lhhiiz0O+Dn6FkFqIh47jmZX+HCV/BBnBBOSKfBJE//IGD3+02zMgojXHTikQAburdPes9qmH1SA1A==
- dependencies:
- "@safe-global/safe-gateway-typescript-sdk" "^3.5.3"
- ethers "^5.7.2"
-
-"@safe-global/safe-gateway-typescript-sdk@^3.5.3":
- version "3.8.0"
- resolved "https://registry.yarnpkg.com/@safe-global/safe-gateway-typescript-sdk/-/safe-gateway-typescript-sdk-3.8.0.tgz#6a71eeab0ecd447a585531ef87cf987da30b78a0"
- integrity sha512-CiGWIHgIaOdICpDxp05Jw3OPslWTu8AnL0PhrCT1xZgIO86NlMMLzkGbeycJ4FHpTjA999O791Oxp4bZPIjgHA==
- dependencies:
- cross-fetch "^3.1.5"
-
-"@sentry/browser@7.36.0":
- version "7.36.0"
- resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-7.36.0.tgz#097f00e1e48b5fb2705e94f32d915aec44104b57"
- integrity sha512-Mu0OpisCZFICBGxVXdHWjUDgSvuQKjnO9acNcXR1+68IU08iX+cU6f2kq6VzI4mW/pNieI20FDFbx9KA0YZ4+A==
- dependencies:
- "@sentry/core" "7.36.0"
- "@sentry/replay" "7.36.0"
- "@sentry/types" "7.36.0"
- "@sentry/utils" "7.36.0"
- tslib "^1.9.3"
-
-"@sentry/cli@^1.74.6":
- version "1.75.2"
- resolved "https://registry.yarnpkg.com/@sentry/cli/-/cli-1.75.2.tgz#2c38647b38300e52c9839612d42b7c23f8d6455b"
- integrity sha512-CG0CKH4VCKWzEaegouWfCLQt9SFN+AieFESCatJ7zSuJmzF05ywpMusjxqRul6lMwfUhRKjGKOzcRJ1jLsfTBw==
- dependencies:
- https-proxy-agent "^5.0.0"
- mkdirp "^0.5.5"
- node-fetch "^2.6.7"
- progress "^2.0.3"
- proxy-from-env "^1.1.0"
- which "^2.0.2"
-
-"@sentry/core@7.36.0":
- version "7.36.0"
- resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.36.0.tgz#37c82a1ad3f74dbe2c2fcd55f45068e127012fcc"
- integrity sha512-lq1MlcMhvm7QIwUOknFeufkg4M6QREY3s61y6pm1o+o3vSqB7Hz0D19xlyEpP62qMn8OyuttVKOVK1UfGc2EyQ==
- dependencies:
- "@sentry/types" "7.36.0"
- "@sentry/utils" "7.36.0"
- tslib "^1.9.3"
-
-"@sentry/integrations@7.36.0":
- version "7.36.0"
- resolved "https://registry.yarnpkg.com/@sentry/integrations/-/integrations-7.36.0.tgz#fd3827a5627256e57aa8f5a62c834ae1db5fe370"
- integrity sha512-wrRoUqdeGi64NNimGVk8U8DBiXamxTYPBux0/faFDyau8EJyQFcv8zOyB78Za4W2Ss3ZXNaE/WtFF8UxalHzBQ==
- dependencies:
- "@sentry/types" "7.36.0"
- "@sentry/utils" "7.36.0"
- localforage "^1.8.1"
- tslib "^1.9.3"
-
-"@sentry/nextjs@7.36.0":
- version "7.36.0"
- resolved "https://registry.yarnpkg.com/@sentry/nextjs/-/nextjs-7.36.0.tgz#a46c4a7a250c2ddfa1b77f4b31fc8b06969e7c1a"
- integrity sha512-7IUwBjCjo3rWuvEG16D1wKb0D+aMyCU920VGCAQVZaqTZAgrgAKfpTa1Sk0fmDxYglW1EBI9QM+WEnOa9RleLw==
- dependencies:
- "@rollup/plugin-commonjs" "24.0.0"
- "@sentry/core" "7.36.0"
- "@sentry/integrations" "7.36.0"
- "@sentry/node" "7.36.0"
- "@sentry/react" "7.36.0"
- "@sentry/tracing" "7.36.0"
- "@sentry/types" "7.36.0"
- "@sentry/utils" "7.36.0"
- "@sentry/webpack-plugin" "1.20.0"
- chalk "3.0.0"
- rollup "2.78.0"
- tslib "^1.9.3"
-
-"@sentry/node@7.36.0":
- version "7.36.0"
- resolved "https://registry.yarnpkg.com/@sentry/node/-/node-7.36.0.tgz#7c42a6a2f4d979563c1c595ccd5a0c6d5b5abc19"
- integrity sha512-nAHAY+Rbn5OlTpNX/i6wYrmw3hT/BtwPZ/vNU52cKgw7CpeE1UrCeFjnPn18rQPB7lIh7x0vNvoaPrfemRzpSQ==
- dependencies:
- "@sentry/core" "7.36.0"
- "@sentry/types" "7.36.0"
- "@sentry/utils" "7.36.0"
- cookie "^0.4.1"
- https-proxy-agent "^5.0.0"
- lru_map "^0.3.3"
- tslib "^1.9.3"
-
-"@sentry/react@7.36.0":
- version "7.36.0"
- resolved "https://registry.yarnpkg.com/@sentry/react/-/react-7.36.0.tgz#8916d7a3d4f988161dd88ecc17a884e006fd5d01"
- integrity sha512-ttrRqbgeqvkV3DwkDRZC/V8OEnBKGpQf4dKpG8oMlfdVbMTINzrxYUgkhi9xAkxkH9O+vj3Md8L3Rdqw/SDwKQ==
- dependencies:
- "@sentry/browser" "7.36.0"
- "@sentry/types" "7.36.0"
- "@sentry/utils" "7.36.0"
- hoist-non-react-statics "^3.3.2"
- tslib "^1.9.3"
-
-"@sentry/replay@7.36.0":
- version "7.36.0"
- resolved "https://registry.yarnpkg.com/@sentry/replay/-/replay-7.36.0.tgz#87b24d44e8136e8c3fccd1d80097097c0c67affa"
- integrity sha512-wNbME74/2GtkqdDXz7NaStyfPWVLjYmN9TFWvu6E9sNl9pkDDvii/Qc8F6ps1wa7bozkKcWRHgNvYiGCxUBHcg==
- dependencies:
- "@sentry/core" "7.36.0"
- "@sentry/types" "7.36.0"
- "@sentry/utils" "7.36.0"
-
-"@sentry/tracing@7.36.0":
- version "7.36.0"
- resolved "https://registry.yarnpkg.com/@sentry/tracing/-/tracing-7.36.0.tgz#aa38319ed07f3b642134cf47da81f43df7835629"
- integrity sha512-5R5mfWMDncOcTMmmyYMjgus1vZJzIFw4LHaSbrX7e1IRNT/6vFyNeVxATa2ePXb9mI3XHo5f2p7YrnreAtaSXw==
- dependencies:
- "@sentry/core" "7.36.0"
- "@sentry/types" "7.36.0"
- "@sentry/utils" "7.36.0"
- tslib "^1.9.3"
-
-"@sentry/types@7.36.0":
- version "7.36.0"
- resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.36.0.tgz#205baaf7332ff55d1fb35413cbde16dea4168520"
- integrity sha512-uvfwUn3okAWSZ948D/xqBrkc3Sn6TeHUgi3+p/dTTNGAXXskzavgfgQ4rSW7f3YD4LL+boZojpoIARVLodMGuA==
-
-"@sentry/utils@7.36.0":
- version "7.36.0"
- resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.36.0.tgz#b81cf63c7b5daad3f0f152c4ad319203f968ba1b"
- integrity sha512-mgDi5X5Bm0sydCzXpnyKD/sD98yc2qnKXyRdNX4HRRwruhC/P53LT0hGhZXsyqsB/l8OAMl0zWXJLg0xONQsEw==
- dependencies:
- "@sentry/types" "7.36.0"
- tslib "^1.9.3"
-
-"@sentry/webpack-plugin@1.20.0":
- version "1.20.0"
- resolved "https://registry.yarnpkg.com/@sentry/webpack-plugin/-/webpack-plugin-1.20.0.tgz#e7add76122708fb6b4ee7951294b521019720e58"
- integrity sha512-Ssj1mJVFsfU6vMCOM2d+h+KQR7QHSfeIP16t4l20Uq/neqWXZUQ2yvQfe4S3BjdbJXz/X4Rw8Hfy1Sd0ocunYw==
- dependencies:
- "@sentry/cli" "^1.74.6"
- webpack-sources "^2.0.0 || ^3.0.0"
-
-"@sideway/address@^4.1.3":
- version "4.1.4"
- resolved "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.4.tgz#03dccebc6ea47fdc226f7d3d1ad512955d4783f0"
- integrity sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==
- dependencies:
- "@hapi/hoek" "^9.0.0"
-
-"@sideway/formula@^3.0.1":
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/@sideway/formula/-/formula-3.0.1.tgz#80fcbcbaf7ce031e0ef2dd29b1bfc7c3f583611f"
- integrity sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==
-
-"@sideway/pinpoint@^2.0.0":
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz#cff8ffadc372ad29fd3f78277aeb29e632cc70df"
- integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==
-
-"@sindresorhus/is@^4.0.0", "@sindresorhus/is@^4.6.0":
- version "4.6.0"
- resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f"
- integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==
-
-"@solana/buffer-layout@^4.0.0":
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz#b996235eaec15b1e0b5092a8ed6028df77fa6c15"
- integrity sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA==
- dependencies:
- buffer "~6.0.3"
-
-"@solana/web3.js@^1.70.1":
- version "1.78.2"
- resolved "https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.78.2.tgz#ae976ce2f793077aa104ab455f9f75be86a3e2a4"
- integrity sha512-oF+TmBZCt3eAEl4Meu3GO2p6G8wdyoKgXgTKzQpIUIhpMGA/dVQzyMFpKjCgoTU1Kx+/UF3gXUdsZOxQukGbvQ==
- dependencies:
- "@babel/runtime" "^7.22.6"
- "@noble/curves" "^1.0.0"
- "@noble/hashes" "^1.3.0"
- "@solana/buffer-layout" "^4.0.0"
- agentkeepalive "^4.2.1"
- bigint-buffer "^1.1.5"
- bn.js "^5.2.1"
- borsh "^0.7.0"
- bs58 "^4.0.1"
- buffer "6.0.3"
- fast-stable-stringify "^1.0.0"
- jayson "^4.1.0"
- node-fetch "^2.6.12"
- rpc-websockets "^7.5.1"
- superstruct "^0.14.2"
-
-"@stablelib/aead@^1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@stablelib/aead/-/aead-1.0.1.tgz#c4b1106df9c23d1b867eb9b276d8f42d5fc4c0c3"
- integrity sha512-q39ik6sxGHewqtO0nP4BuSe3db5G1fEJE8ukvngS2gLkBXyy6E7pLubhbYgnkDFv6V8cWaxcE4Xn0t6LWcJkyg==
-
-"@stablelib/binary@^1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@stablelib/binary/-/binary-1.0.1.tgz#c5900b94368baf00f811da5bdb1610963dfddf7f"
- integrity sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==
- dependencies:
- "@stablelib/int" "^1.0.1"
-
-"@stablelib/bytes@^1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@stablelib/bytes/-/bytes-1.0.1.tgz#0f4aa7b03df3080b878c7dea927d01f42d6a20d8"
- integrity sha512-Kre4Y4kdwuqL8BR2E9hV/R5sOrUj6NanZaZis0V6lX5yzqC3hBuVSDXUIBqQv/sCpmuWRiHLwqiT1pqqjuBXoQ==
-
-"@stablelib/chacha20poly1305@1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@stablelib/chacha20poly1305/-/chacha20poly1305-1.0.1.tgz#de6b18e283a9cb9b7530d8767f99cde1fec4c2ee"
- integrity sha512-MmViqnqHd1ymwjOQfghRKw2R/jMIGT3wySN7cthjXCBdO+qErNPUBnRzqNpnvIwg7JBCg3LdeCZZO4de/yEhVA==
- dependencies:
- "@stablelib/aead" "^1.0.1"
- "@stablelib/binary" "^1.0.1"
- "@stablelib/chacha" "^1.0.1"
- "@stablelib/constant-time" "^1.0.1"
- "@stablelib/poly1305" "^1.0.1"
- "@stablelib/wipe" "^1.0.1"
-
-"@stablelib/chacha@^1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@stablelib/chacha/-/chacha-1.0.1.tgz#deccfac95083e30600c3f92803a3a1a4fa761371"
- integrity sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg==
- dependencies:
- "@stablelib/binary" "^1.0.1"
- "@stablelib/wipe" "^1.0.1"
-
-"@stablelib/constant-time@^1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@stablelib/constant-time/-/constant-time-1.0.1.tgz#bde361465e1cf7b9753061b77e376b0ca4c77e35"
- integrity sha512-tNOs3uD0vSJcK6z1fvef4Y+buN7DXhzHDPqRLSXUel1UfqMB1PWNsnnAezrKfEwTLpN0cGH2p9NNjs6IqeD0eg==
-
-"@stablelib/ed25519@^1.0.2":
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/@stablelib/ed25519/-/ed25519-1.0.3.tgz#f8fdeb6f77114897c887bb6a3138d659d3f35996"
- integrity sha512-puIMWaX9QlRsbhxfDc5i+mNPMY+0TmQEskunY1rZEBPi1acBCVQAhnsk/1Hk50DGPtVsZtAWQg4NHGlVaO9Hqg==
- dependencies:
- "@stablelib/random" "^1.0.2"
- "@stablelib/sha512" "^1.0.1"
- "@stablelib/wipe" "^1.0.1"
-
-"@stablelib/hash@^1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@stablelib/hash/-/hash-1.0.1.tgz#3c944403ff2239fad8ebb9015e33e98444058bc5"
- integrity sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg==
-
-"@stablelib/hkdf@1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@stablelib/hkdf/-/hkdf-1.0.1.tgz#b4efd47fd56fb43c6a13e8775a54b354f028d98d"
- integrity sha512-SBEHYE16ZXlHuaW5RcGk533YlBj4grMeg5TooN80W3NpcHRtLZLLXvKyX0qcRFxf+BGDobJLnwkvgEwHIDBR6g==
- dependencies:
- "@stablelib/hash" "^1.0.1"
- "@stablelib/hmac" "^1.0.1"
- "@stablelib/wipe" "^1.0.1"
-
-"@stablelib/hmac@^1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@stablelib/hmac/-/hmac-1.0.1.tgz#3d4c1b8cf194cb05d28155f0eed8a299620a07ec"
- integrity sha512-V2APD9NSnhVpV/QMYgCVMIYKiYG6LSqw1S65wxVoirhU/51ACio6D4yDVSwMzuTJXWZoVHbDdINioBwKy5kVmA==
- dependencies:
- "@stablelib/constant-time" "^1.0.1"
- "@stablelib/hash" "^1.0.1"
- "@stablelib/wipe" "^1.0.1"
-
-"@stablelib/int@^1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@stablelib/int/-/int-1.0.1.tgz#75928cc25d59d73d75ae361f02128588c15fd008"
- integrity sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w==
-
-"@stablelib/keyagreement@^1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@stablelib/keyagreement/-/keyagreement-1.0.1.tgz#4612efb0a30989deb437cd352cee637ca41fc50f"
- integrity sha512-VKL6xBwgJnI6l1jKrBAfn265cspaWBPAPEc62VBQrWHLqVgNRE09gQ/AnOEyKUWrrqfD+xSQ3u42gJjLDdMDQg==
- dependencies:
- "@stablelib/bytes" "^1.0.1"
-
-"@stablelib/poly1305@^1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@stablelib/poly1305/-/poly1305-1.0.1.tgz#93bfb836c9384685d33d70080718deae4ddef1dc"
- integrity sha512-1HlG3oTSuQDOhSnLwJRKeTRSAdFNVB/1djy2ZbS35rBSJ/PFqx9cf9qatinWghC2UbfOYD8AcrtbUQl8WoxabA==
- dependencies:
- "@stablelib/constant-time" "^1.0.1"
- "@stablelib/wipe" "^1.0.1"
-
-"@stablelib/random@^1.0.1", "@stablelib/random@^1.0.2":
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/@stablelib/random/-/random-1.0.2.tgz#2dece393636489bf7e19c51229dd7900eddf742c"
- integrity sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==
- dependencies:
- "@stablelib/binary" "^1.0.1"
- "@stablelib/wipe" "^1.0.1"
-
-"@stablelib/sha256@1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@stablelib/sha256/-/sha256-1.0.1.tgz#77b6675b67f9b0ea081d2e31bda4866297a3ae4f"
- integrity sha512-GIIH3e6KH+91FqGV42Kcj71Uefd/QEe7Dy42sBTeqppXV95ggCcxLTk39bEr+lZfJmp+ghsR07J++ORkRELsBQ==
- dependencies:
- "@stablelib/binary" "^1.0.1"
- "@stablelib/hash" "^1.0.1"
- "@stablelib/wipe" "^1.0.1"
-
-"@stablelib/sha512@^1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@stablelib/sha512/-/sha512-1.0.1.tgz#6da700c901c2c0ceacbd3ae122a38ac57c72145f"
- integrity sha512-13gl/iawHV9zvDKciLo1fQ8Bgn2Pvf7OV6amaRVKiq3pjQ3UmEpXxWiAfV8tYjUpeZroBxtyrwtdooQT/i3hzw==
- dependencies:
- "@stablelib/binary" "^1.0.1"
- "@stablelib/hash" "^1.0.1"
- "@stablelib/wipe" "^1.0.1"
-
-"@stablelib/wipe@^1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@stablelib/wipe/-/wipe-1.0.1.tgz#d21401f1d59ade56a62e139462a97f104ed19a36"
- integrity sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==
-
-"@stablelib/x25519@^1.0.3":
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/@stablelib/x25519/-/x25519-1.0.3.tgz#13c8174f774ea9f3e5e42213cbf9fc68a3c7b7fd"
- integrity sha512-KnTbKmUhPhHavzobclVJQG5kuivH+qDLpe84iRqX3CLrKp881cF160JvXJ+hjn1aMyCwYOKeIZefIH/P5cJoRw==
- dependencies:
- "@stablelib/keyagreement" "^1.0.1"
- "@stablelib/random" "^1.0.2"
- "@stablelib/wipe" "^1.0.1"
-
-"@szmarczak/http-timer@^4.0.5":
- version "4.0.6"
- resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.6.tgz#b4a914bb62e7c272d4e5989fe4440f812ab1d807"
- integrity sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==
- dependencies:
- defer-to-connect "^2.0.0"
-
-"@szmarczak/http-timer@^5.0.1":
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-5.0.1.tgz#c7c1bf1141cdd4751b0399c8fc7b8b664cd5be3a"
- integrity sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==
- dependencies:
- defer-to-connect "^2.0.1"
-
-"@tailwindcss/typography@^0.5.2":
- version "0.5.9"
- resolved "https://registry.yarnpkg.com/@tailwindcss/typography/-/typography-0.5.9.tgz#027e4b0674929daaf7c921c900beee80dbad93e8"
- integrity sha512-t8Sg3DyynFysV9f4JDOVISGsjazNb48AeIYQwcL+Bsq5uf4RYL75C1giZ43KISjeDGBaTN3Kxh7Xj/vRSMJUUg==
- dependencies:
- lodash.castarray "^4.4.0"
- lodash.isplainobject "^4.0.6"
- lodash.merge "^4.6.2"
- postcss-selector-parser "6.0.10"
-
-"@tanstack/query-core@4.32.1":
- version "4.32.1"
- resolved "https://registry.yarnpkg.com/@tanstack/query-core/-/query-core-4.32.1.tgz#6e364c33433b61f4dcef003725d4208e42b23860"
- integrity sha512-VEAGHboOFWN/bvf/7cCoeLQfld0AA8n0V/kfc77W+FvxnnSwJufEh6gfjqpX5bRE/DEYfYDYdNtuL3KM+lIs8Q==
-
-"@tanstack/query-persist-client-core@4.32.1":
- version "4.32.1"
- resolved "https://registry.yarnpkg.com/@tanstack/query-persist-client-core/-/query-persist-client-core-4.32.1.tgz#b202c8ae1cb30a0fbaa72c418ca4b9df416029f6"
- integrity sha512-KgnkNigmOMi2aikxdhCRe0MaAh1Dq94/nNjmcSxfflj9L3v4F9tEQAig/F7m2+jethP1AiIYBax5nN4aqm7NFg==
- dependencies:
- "@tanstack/query-core" "4.32.1"
-
-"@tanstack/query-sync-storage-persister@^4.27.1":
- version "4.32.1"
- resolved "https://registry.yarnpkg.com/@tanstack/query-sync-storage-persister/-/query-sync-storage-persister-4.32.1.tgz#75162052823910d80398318c3a84d718416c0e92"
- integrity sha512-kqE+L0uSzVMuPpY8iKtnyZexsZ5IxsJbgiI4s+m+FB8Dzn+5go3snpZIYMQu36S+sWy0N90P2xNR57EOaFMlsg==
- dependencies:
- "@tanstack/query-persist-client-core" "4.32.1"
-
-"@tanstack/react-query-persist-client@^4.28.0":
- version "4.32.1"
- resolved "https://registry.yarnpkg.com/@tanstack/react-query-persist-client/-/react-query-persist-client-4.32.1.tgz#d6a3e9399a494a1aca9270d953c14d9239e19291"
- integrity sha512-HtfhSOyMSjdASpPXWBWv9JquUk5b8HjOwbFVmtA8xIDFQm9qS35PikXO2YbBXhuz/LEknRhct/M3PMI/XkRQSg==
- dependencies:
- "@tanstack/query-persist-client-core" "4.32.1"
-
-"@tanstack/react-query@^4.28.0":
- version "4.32.1"
- resolved "https://registry.yarnpkg.com/@tanstack/react-query/-/react-query-4.32.1.tgz#8ba6ab4e0ee4513a0fe06f4452f1b400eb4f91fb"
- integrity sha512-lPTfOq6bR6DorPaS018gTMd3zs8r06tlERiVY6BRP9SnDkkl4ckqeANava/jPLWrSZP+EA15loQUTmvZs6k2GA==
- dependencies:
- "@tanstack/query-core" "4.32.1"
- use-sync-external-store "^1.2.0"
-
-"@types/bn.js@^4.11.3":
- version "4.11.6"
- resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.6.tgz#c306c70d9358aaea33cd4eda092a742b9505967c"
- integrity sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==
- dependencies:
- "@types/node" "*"
-
-"@types/bn.js@^5.1.0", "@types/bn.js@^5.1.1":
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.1.tgz#b51e1b55920a4ca26e9285ff79936bbdec910682"
- integrity sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g==
- dependencies:
- "@types/node" "*"
-
-"@types/cacheable-request@^6.0.1", "@types/cacheable-request@^6.0.2":
- version "6.0.3"
- resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.3.tgz#a430b3260466ca7b5ca5bfd735693b36e7a9d183"
- integrity sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==
- dependencies:
- "@types/http-cache-semantics" "*"
- "@types/keyv" "^3.1.4"
- "@types/node" "*"
- "@types/responselike" "^1.0.0"
-
-"@types/connect@^3.4.33":
- version "3.4.35"
- resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1"
- integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==
- dependencies:
- "@types/node" "*"
-
-"@types/debug@^4.0.0", "@types/debug@^4.1.7":
- version "4.1.8"
- resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.8.tgz#cef723a5d0a90990313faec2d1e22aee5eecb317"
- integrity sha512-/vPO1EPOs306Cvhwv7KfVfYvOJqA/S/AXjaHQiJboCZzcNDb+TIJFN9/2C9DZ//ijSKWioNyUxD792QmDJ+HKQ==
- dependencies:
- "@types/ms" "*"
-
-"@types/estree@*", "@types/estree@^1.0.0":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.1.tgz#aa22750962f3bf0e79d753d3cc067f010c95f194"
- integrity sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==
-
-"@types/hast@^2.0.0":
- version "2.3.5"
- resolved "https://registry.yarnpkg.com/@types/hast/-/hast-2.3.5.tgz#08caac88b44d0fdd04dc17a19142355f43bd8a7a"
- integrity sha512-SvQi0L/lNpThgPoleH53cdjB3y9zpLlVjRbqB3rH8hx1jiRSBGAhyjV3H+URFjNVRqt2EdYNrbZE5IsGlNfpRg==
- dependencies:
- "@types/unist" "^2"
-
-"@types/http-cache-semantics@*":
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz#0ea7b61496902b95890dc4c3a116b60cb8dae812"
- integrity sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==
-
-"@types/json5@^0.0.29":
- version "0.0.29"
- resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
- integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==
-
-"@types/keyv@^3.1.4":
- version "3.1.4"
- resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.4.tgz#3ccdb1c6751b0c7e52300bcdacd5bcbf8faa75b6"
- integrity sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==
- dependencies:
- "@types/node" "*"
-
-"@types/lodash@^4.14.182":
- version "4.14.196"
- resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.196.tgz#a7c3d6fc52d8d71328b764e28e080b4169ec7a95"
- integrity sha512-22y3o88f4a94mKljsZcanlNWPzO0uBsBdzLAngf2tp533LzZcQzb6+eZPJ+vCTt+bqF2XnvT9gejTLsAcJAJyQ==
-
-"@types/mdast@^3.0.0":
- version "3.0.12"
- resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.12.tgz#beeb511b977c875a5b0cc92eab6fcac2f0895514"
- integrity sha512-DT+iNIRNX884cx0/Q1ja7NyUPpZuv0KPyL5rGNxm1WC1OtHstl7n4Jb7nk+xacNShQMbczJjt8uFzznpp6kYBg==
- dependencies:
- "@types/unist" "^2"
-
-"@types/ms@*":
- version "0.7.31"
- resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197"
- integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==
-
-"@types/node@*":
- version "20.4.6"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-20.4.6.tgz#b66b66c9bb5d49b199f03399e341c9d6036e9e88"
- integrity sha512-q0RkvNgMweWWIvSMDiXhflGUKMdIxBo2M2tYM/0kEGDueQByFzK4KZAgu5YHGFNxziTlppNpTIBcqHQAxlfHdA==
-
-"@types/node@17.0.18":
- version "17.0.18"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.18.tgz#3b4fed5cfb58010e3a2be4b6e74615e4847f1074"
- integrity sha512-eKj4f/BsN/qcculZiRSujogjvp5O/k4lOW5m35NopjZM/QwLOR075a8pJW5hD+Rtdm2DaCVPENS6KtSQnUD6BA==
-
-"@types/node@^12.12.54", "@types/node@^12.12.6":
- version "12.20.55"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240"
- integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==
-
-"@types/pbkdf2@^3.0.0":
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/@types/pbkdf2/-/pbkdf2-3.1.0.tgz#039a0e9b67da0cdc4ee5dab865caa6b267bb66b1"
- integrity sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==
- dependencies:
- "@types/node" "*"
-
-"@types/prop-types@*", "@types/prop-types@^15.0.0":
- version "15.7.5"
- resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf"
- integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==
-
-"@types/react-sticky-el@^1.0.3":
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/@types/react-sticky-el/-/react-sticky-el-1.0.3.tgz#88fcd56cd0b501e06fe0b8cbcdccb9af375f4e56"
- integrity sha512-GE4Ry9EmS0RTn2T85uYbcsqvffPbJGhFNkcWWMcEs6ftjrK5Fn6TT6RtgmXpab5ly3c0VLUT7ibh/fD6nwdx4Q==
- dependencies:
- "@types/react" "*"
-
-"@types/react-sticky@^6.0.4":
- version "6.0.4"
- resolved "https://registry.yarnpkg.com/@types/react-sticky/-/react-sticky-6.0.4.tgz#cab221a099227d5eabdfcdf0b8cd2fb479058115"
- integrity sha512-n5yneeM7PrUu4nqk7oV0c0p9LqHXO2D+17DhQ/Z7UiWhaoSvKJXBkSzAdNRRxZO/njttKd0Ch9hLnaFPqZlAdg==
- dependencies:
- "@types/react" "*"
-
-"@types/react@*":
- version "18.2.18"
- resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.18.tgz#c8b233919eef1bdc294f6f34b37f9727ad677516"
- integrity sha512-da4NTSeBv/P34xoZPhtcLkmZuJ+oYaCxHmyHzwaDQo9RQPBeXV+06gEk2FpqEcsX9XrnNLvRpVh6bdavDSjtiQ==
- dependencies:
- "@types/prop-types" "*"
- "@types/scheduler" "*"
- csstype "^3.0.2"
-
-"@types/react@17.0.39":
- version "17.0.39"
- resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.39.tgz#d0f4cde092502a6db00a1cded6e6bf2abb7633ce"
- integrity sha512-UVavlfAxDd/AgAacMa60Azl7ygyQNRwC/DsHZmKgNvPmRR5p70AJ5Q9EAmL2NWOJmeV+vVUI4IAP7GZrN8h8Ug==
- dependencies:
- "@types/prop-types" "*"
- "@types/scheduler" "*"
- csstype "^3.0.2"
-
-"@types/responselike@^1.0.0":
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29"
- integrity sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==
- dependencies:
- "@types/node" "*"
-
-"@types/scheduler@*":
- version "0.16.3"
- resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.3.tgz#cef09e3ec9af1d63d2a6cc5b383a737e24e6dcf5"
- integrity sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==
-
-"@types/secp256k1@^4.0.1":
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.3.tgz#1b8e55d8e00f08ee7220b4d59a6abe89c37a901c"
- integrity sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==
- dependencies:
- "@types/node" "*"
-
-"@types/triple-beam@^1.3.2":
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/@types/triple-beam/-/triple-beam-1.3.2.tgz#38ecb64f01aa0d02b7c8f4222d7c38af6316fef8"
- integrity sha512-txGIh+0eDFzKGC25zORnswy+br1Ha7hj5cMVwKIU7+s0U2AxxJru/jZSMU6OC9MJWP6+pc/hc6ZjyZShpsyY2g==
-
-"@types/trusted-types@^2.0.2":
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.3.tgz#a136f83b0758698df454e328759dbd3d44555311"
- integrity sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==
-
-"@types/unist@^2", "@types/unist@^2.0.0":
- version "2.0.7"
- resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.7.tgz#5b06ad6894b236a1d2bd6b2f07850ca5c59cf4d6"
- integrity sha512-cputDpIbFgLUaGQn6Vqg3/YsJwxUwHLO13v3i5ouxT4lat0khip9AEWxtERujXV9wxIB1EyF97BSJFt6vpdI8g==
-
-"@types/ws@^7.4.4":
- version "7.4.7"
- resolved "https://registry.yarnpkg.com/@types/ws/-/ws-7.4.7.tgz#f7c390a36f7a0679aa69de2d501319f4f8d9b702"
- integrity sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==
- dependencies:
- "@types/node" "*"
-
-"@typescript-eslint/parser@^5.0.0":
- version "5.62.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.62.0.tgz#1b63d082d849a2fcae8a569248fbe2ee1b8a56c7"
- integrity sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==
- dependencies:
- "@typescript-eslint/scope-manager" "5.62.0"
- "@typescript-eslint/types" "5.62.0"
- "@typescript-eslint/typescript-estree" "5.62.0"
- debug "^4.3.4"
-
-"@typescript-eslint/scope-manager@5.62.0":
- version "5.62.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz#d9457ccc6a0b8d6b37d0eb252a23022478c5460c"
- integrity sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==
- dependencies:
- "@typescript-eslint/types" "5.62.0"
- "@typescript-eslint/visitor-keys" "5.62.0"
-
-"@typescript-eslint/types@5.62.0":
- version "5.62.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f"
- integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==
-
-"@typescript-eslint/typescript-estree@5.62.0":
- version "5.62.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz#7d17794b77fabcac615d6a48fb143330d962eb9b"
- integrity sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==
- dependencies:
- "@typescript-eslint/types" "5.62.0"
- "@typescript-eslint/visitor-keys" "5.62.0"
- debug "^4.3.4"
- globby "^11.1.0"
- is-glob "^4.0.3"
- semver "^7.3.7"
- tsutils "^3.21.0"
-
-"@typescript-eslint/visitor-keys@5.62.0":
- version "5.62.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz#2174011917ce582875954ffe2f6912d5931e353e"
- integrity sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==
- dependencies:
- "@typescript-eslint/types" "5.62.0"
- eslint-visitor-keys "^3.3.0"
-
-"@vanilla-extract/css@1.9.1":
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/@vanilla-extract/css/-/css-1.9.1.tgz#337b79faa5f8f98915a90c3fe3c30b54be746c09"
- integrity sha512-pu2SFiff5jRhPwvGoj8cM5l/qIyLvigOmy22ss5DGjwV5pJYezRjDLxWumi2luIwioMWvh9EozCjyfH8nq+7fQ==
- dependencies:
- "@emotion/hash" "^0.8.0"
- "@vanilla-extract/private" "^1.0.3"
- ahocorasick "1.0.2"
- chalk "^4.1.1"
- css-what "^5.0.1"
- cssesc "^3.0.0"
- csstype "^3.0.7"
- deep-object-diff "^1.1.0"
- deepmerge "^4.2.2"
- media-query-parser "^2.0.2"
- outdent "^0.8.0"
-
-"@vanilla-extract/dynamic@2.0.2":
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/@vanilla-extract/dynamic/-/dynamic-2.0.2.tgz#13a3e461964c8029a52e6b6b631009ca6a8b27f5"
- integrity sha512-U4nKaEQ8Kuz+exXEr51DUpyaOuzo24/S/k1YbDPQR06cYcNjQqvwFRnwWtZ+9ImocqM1wTKtzrdUgSTtLGIwAg==
- dependencies:
- "@vanilla-extract/private" "^1.0.3"
-
-"@vanilla-extract/private@^1.0.3":
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/@vanilla-extract/private/-/private-1.0.3.tgz#7ec72bc2ff6fe51f9d650f962e8d1989b073690f"
- integrity sha512-17kVyLq3ePTKOkveHxXuIJZtGYs+cSoev7BlP+Lf4916qfDhk/HBjvlYDe8egrea7LNPHKwSZJK/bzZC+Q6AwQ==
-
-"@vanilla-extract/sprinkles@1.5.0":
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/@vanilla-extract/sprinkles/-/sprinkles-1.5.0.tgz#c921183ae518bb484299c2dc81f2acefd91c3dbe"
- integrity sha512-W58f2Rzz5lLmk0jbhgStVlZl5wEiPB1Ur3fRvUaBM+MrifZ3qskmFq/CiH//fEYeG5Dh9vF1qRviMMH46cX9Nw==
-
-"@wagmi/chains@0.2.22":
- version "0.2.22"
- resolved "https://registry.yarnpkg.com/@wagmi/chains/-/chains-0.2.22.tgz#25e511e134a00742e4fbf5108613dadf876c5bd9"
- integrity sha512-TdiOzJT6TO1JrztRNjTA5Quz+UmQlbvWFG8N41u9tta0boHA1JCAzGGvU6KuIcOmJfRJkKOUIt67wlbopCpVHg==
-
-"@wagmi/connectors@0.3.24":
- version "0.3.24"
- resolved "https://registry.yarnpkg.com/@wagmi/connectors/-/connectors-0.3.24.tgz#2c1d69fc0ae6b85b75a4d57547fc7e2d4bc117e8"
- integrity sha512-1pI0G9HRblc651dCz9LXuEu/zWQk23XwOUYqJEINb/c2TTLtw5TnTRIcefxxK6RnxeJvcKfnmK0rdZp/4ujFAA==
- dependencies:
- "@coinbase/wallet-sdk" "^3.6.6"
- "@ledgerhq/connect-kit-loader" "^1.0.1"
- "@safe-global/safe-apps-provider" "^0.15.2"
- "@safe-global/safe-apps-sdk" "^7.9.0"
- "@walletconnect/ethereum-provider" "2.9.0"
- "@walletconnect/legacy-provider" "^2.0.0"
- "@walletconnect/modal" "^2.5.9"
- abitype "^0.3.0"
- eventemitter3 "^4.0.7"
-
-"@wagmi/core@0.10.17":
- version "0.10.17"
- resolved "https://registry.yarnpkg.com/@wagmi/core/-/core-0.10.17.tgz#d2a641c3c608cad813e9eed290769d577512d935"
- integrity sha512-qud45y3IlHp7gYWzoFeyysmhyokRie59Xa5tcx5F1E/v4moD5BY0kzD26mZW/ZQ3WZuVK/lZwiiPRqpqWH52Gw==
- dependencies:
- "@wagmi/chains" "0.2.22"
- "@wagmi/connectors" "0.3.24"
- abitype "^0.3.0"
- eventemitter3 "^4.0.7"
- zustand "^4.3.1"
-
-"@walletconnect/core@2.9.0":
- version "2.9.0"
- resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-2.9.0.tgz#7837a5d015a22b48d35b987bcde2aa9ccdf300d8"
- integrity sha512-MZYJghS9YCvGe32UOgDj0mCasaOoGHQaYXWeQblXE/xb8HuaM6kAWhjIQN9P+MNp5QP134BHP5olQostcCotXQ==
- dependencies:
- "@walletconnect/heartbeat" "1.2.1"
- "@walletconnect/jsonrpc-provider" "1.0.13"
- "@walletconnect/jsonrpc-types" "1.0.3"
- "@walletconnect/jsonrpc-utils" "1.0.8"
- "@walletconnect/jsonrpc-ws-connection" "1.0.12"
- "@walletconnect/keyvaluestorage" "^1.0.2"
- "@walletconnect/logger" "^2.0.1"
- "@walletconnect/relay-api" "^1.0.9"
- "@walletconnect/relay-auth" "^1.0.4"
- "@walletconnect/safe-json" "^1.0.2"
- "@walletconnect/time" "^1.0.2"
- "@walletconnect/types" "2.9.0"
- "@walletconnect/utils" "2.9.0"
- events "^3.3.0"
- lodash.isequal "4.5.0"
- uint8arrays "^3.1.0"
-
-"@walletconnect/crypto@^1.0.3":
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/@walletconnect/crypto/-/crypto-1.0.3.tgz#7b8dd4d7e2884fe3543c7c07aea425eef5ef9dd4"
- integrity sha512-+2jdORD7XQs76I2Odgr3wwrtyuLUXD/kprNVsjWRhhhdO9Mt6WqVzOPu0/t7OHSmgal8k7SoBQzUc5hu/8zL/g==
- dependencies:
- "@walletconnect/encoding" "^1.0.2"
- "@walletconnect/environment" "^1.0.1"
- "@walletconnect/randombytes" "^1.0.3"
- aes-js "^3.1.2"
- hash.js "^1.1.7"
- tslib "1.14.1"
-
-"@walletconnect/encoding@^1.0.2":
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/@walletconnect/encoding/-/encoding-1.0.2.tgz#cb3942ad038d6a6bf01158f66773062dd25724da"
- integrity sha512-CrwSBrjqJ7rpGQcTL3kU+Ief+Bcuu9PH6JLOb+wM6NITX1GTxR/MfNwnQfhLKK6xpRAyj2/nM04OOH6wS8Imag==
- dependencies:
- is-typedarray "1.0.0"
- tslib "1.14.1"
- typedarray-to-buffer "3.1.5"
-
-"@walletconnect/environment@^1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@walletconnect/environment/-/environment-1.0.1.tgz#1d7f82f0009ab821a2ba5ad5e5a7b8ae3b214cd7"
- integrity sha512-T426LLZtHj8e8rYnKfzsw1aG6+M0BT1ZxayMdv/p8yM0MU+eJDISqNY3/bccxRr4LrF9csq02Rhqt08Ibl0VRg==
- dependencies:
- tslib "1.14.1"
-
-"@walletconnect/ethereum-provider@2.9.0":
- version "2.9.0"
- resolved "https://registry.yarnpkg.com/@walletconnect/ethereum-provider/-/ethereum-provider-2.9.0.tgz#aa6e9e441678c824af8f744c50dafd604f19d69e"
- integrity sha512-rSXkC0SXMigJRdIi/M2RMuEuATY1AwtlTWQBnqyxoht7xbO2bQNPCXn0XL4s/GRNrSUtoKSY4aPMHXV4W4yLBA==
- dependencies:
- "@walletconnect/jsonrpc-http-connection" "^1.0.7"
- "@walletconnect/jsonrpc-provider" "^1.0.13"
- "@walletconnect/jsonrpc-types" "^1.0.3"
- "@walletconnect/jsonrpc-utils" "^1.0.8"
- "@walletconnect/sign-client" "2.9.0"
- "@walletconnect/types" "2.9.0"
- "@walletconnect/universal-provider" "2.9.0"
- "@walletconnect/utils" "2.9.0"
- events "^3.3.0"
-
-"@walletconnect/events@^1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@walletconnect/events/-/events-1.0.1.tgz#2b5f9c7202019e229d7ccae1369a9e86bda7816c"
- integrity sha512-NPTqaoi0oPBVNuLv7qPaJazmGHs5JGyO8eEAk5VGKmJzDR7AHzD4k6ilox5kxk1iwiOnFopBOOMLs86Oa76HpQ==
- dependencies:
- keyvaluestorage-interface "^1.0.0"
- tslib "1.14.1"
-
-"@walletconnect/heartbeat@1.2.1":
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/@walletconnect/heartbeat/-/heartbeat-1.2.1.tgz#afaa3a53232ae182d7c9cff41c1084472d8f32e9"
- integrity sha512-yVzws616xsDLJxuG/28FqtZ5rzrTA4gUjdEMTbWB5Y8V1XHRmqq4efAxCw5ie7WjbXFSUyBHaWlMR+2/CpQC5Q==
- dependencies:
- "@walletconnect/events" "^1.0.1"
- "@walletconnect/time" "^1.0.2"
- tslib "1.14.1"
-
-"@walletconnect/jsonrpc-http-connection@^1.0.4", "@walletconnect/jsonrpc-http-connection@^1.0.7":
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-http-connection/-/jsonrpc-http-connection-1.0.7.tgz#a6973569b8854c22da707a759d241e4f5c2d5a98"
- integrity sha512-qlfh8fCfu8LOM9JRR9KE0s0wxP6ZG9/Jom8M0qsoIQeKF3Ni0FyV4V1qy/cc7nfI46SLQLSl4tgWSfLiE1swyQ==
- dependencies:
- "@walletconnect/jsonrpc-utils" "^1.0.6"
- "@walletconnect/safe-json" "^1.0.1"
- cross-fetch "^3.1.4"
- tslib "1.14.1"
-
-"@walletconnect/jsonrpc-provider@1.0.13", "@walletconnect/jsonrpc-provider@^1.0.13", "@walletconnect/jsonrpc-provider@^1.0.6":
- version "1.0.13"
- resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.13.tgz#9a74da648d015e1fffc745f0c7d629457f53648b"
- integrity sha512-K73EpThqHnSR26gOyNEL+acEex3P7VWZe6KE12ZwKzAt2H4e5gldZHbjsu2QR9cLeJ8AXuO7kEMOIcRv1QEc7g==
- dependencies:
- "@walletconnect/jsonrpc-utils" "^1.0.8"
- "@walletconnect/safe-json" "^1.0.2"
- tslib "1.14.1"
-
-"@walletconnect/jsonrpc-types@1.0.3", "@walletconnect/jsonrpc-types@^1.0.2", "@walletconnect/jsonrpc-types@^1.0.3":
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.3.tgz#65e3b77046f1a7fa8347ae02bc1b841abe6f290c"
- integrity sha512-iIQ8hboBl3o5ufmJ8cuduGad0CQm3ZlsHtujv9Eu16xq89q+BG7Nh5VLxxUgmtpnrePgFkTwXirCTkwJH1v+Yw==
- dependencies:
- keyvaluestorage-interface "^1.0.0"
- tslib "1.14.1"
-
-"@walletconnect/jsonrpc-utils@1.0.8", "@walletconnect/jsonrpc-utils@^1.0.4", "@walletconnect/jsonrpc-utils@^1.0.6", "@walletconnect/jsonrpc-utils@^1.0.7", "@walletconnect/jsonrpc-utils@^1.0.8":
- version "1.0.8"
- resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-utils/-/jsonrpc-utils-1.0.8.tgz#82d0cc6a5d6ff0ecc277cb35f71402c91ad48d72"
- integrity sha512-vdeb03bD8VzJUL6ZtzRYsFMq1eZQcM3EAzT0a3st59dyLfJ0wq+tKMpmGH7HlB7waD858UWgfIcudbPFsbzVdw==
- dependencies:
- "@walletconnect/environment" "^1.0.1"
- "@walletconnect/jsonrpc-types" "^1.0.3"
- tslib "1.14.1"
-
-"@walletconnect/jsonrpc-ws-connection@1.0.12":
- version "1.0.12"
- resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-ws-connection/-/jsonrpc-ws-connection-1.0.12.tgz#2192314884fabdda6d0a9d22e157e5b352025ed8"
- integrity sha512-HAcadga3Qjt1Cqy+qXEW6zjaCs8uJGdGQrqltzl3OjiK4epGZRdvSzTe63P+t/3z+D2wG+ffEPn0GVcDozmN1w==
- dependencies:
- "@walletconnect/jsonrpc-utils" "^1.0.6"
- "@walletconnect/safe-json" "^1.0.2"
- events "^3.3.0"
- tslib "1.14.1"
- ws "^7.5.1"
-
-"@walletconnect/keyvaluestorage@^1.0.2":
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/@walletconnect/keyvaluestorage/-/keyvaluestorage-1.0.2.tgz#92f5ca0f54c1a88a093778842ce0c874d86369c8"
- integrity sha512-U/nNG+VLWoPFdwwKx0oliT4ziKQCEoQ27L5Hhw8YOFGA2Po9A9pULUYNWhDgHkrb0gYDNt//X7wABcEWWBd3FQ==
- dependencies:
- safe-json-utils "^1.1.1"
- tslib "1.14.1"
-
-"@walletconnect/legacy-client@^2.0.0":
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/@walletconnect/legacy-client/-/legacy-client-2.0.0.tgz#9f2c09694789fd4b6c5d68d6423b44bac55aed30"
- integrity sha512-v5L7rYk9loVnfvUf0mF+76bUPFaU5/Vh7mzL6/950CD/yoGdzYZ3Kj+L7mkC6HPMEGeQsBP1+sqBuiVGZ/aODA==
- dependencies:
- "@walletconnect/crypto" "^1.0.3"
- "@walletconnect/encoding" "^1.0.2"
- "@walletconnect/jsonrpc-utils" "^1.0.4"
- "@walletconnect/legacy-types" "^2.0.0"
- "@walletconnect/legacy-utils" "^2.0.0"
- "@walletconnect/safe-json" "^1.0.1"
- "@walletconnect/window-getters" "^1.0.1"
- "@walletconnect/window-metadata" "^1.0.1"
- detect-browser "^5.3.0"
- query-string "^6.13.5"
-
-"@walletconnect/legacy-modal@^2.0.0":
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/@walletconnect/legacy-modal/-/legacy-modal-2.0.0.tgz#d0fab01a1337a8f5d88cdb1430cbef2d46072bbf"
- integrity sha512-jckNd8lMhm4X7dX9TDdxM3bXKJnaqkRs6K2Mo5j6GmbIF9Eyx40jZ5+q457RVxvM6ciZEDT5s1wBHWdWoOo+9Q==
- dependencies:
- "@walletconnect/legacy-types" "^2.0.0"
- "@walletconnect/legacy-utils" "^2.0.0"
- copy-to-clipboard "^3.3.3"
- preact "^10.12.0"
- qrcode "^1.5.1"
-
-"@walletconnect/legacy-provider@^2.0.0":
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/@walletconnect/legacy-provider/-/legacy-provider-2.0.0.tgz#08e2db1e4c234743b2f30422bc8100bc42e8fc44"
- integrity sha512-A8xPebMI1A+50HbWwTpFCbwP7G+1NGKdTKyg8BUUg3h3Y9JucpC1W6w/x0v1Xw7qFEqQnz74LoIN/A3ytH9xrQ==
- dependencies:
- "@walletconnect/jsonrpc-http-connection" "^1.0.4"
- "@walletconnect/jsonrpc-provider" "^1.0.6"
- "@walletconnect/legacy-client" "^2.0.0"
- "@walletconnect/legacy-modal" "^2.0.0"
- "@walletconnect/legacy-types" "^2.0.0"
- "@walletconnect/legacy-utils" "^2.0.0"
-
-"@walletconnect/legacy-types@^2.0.0":
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/@walletconnect/legacy-types/-/legacy-types-2.0.0.tgz#224278ae2874c6a2ca805c2d1d062a511dcf7227"
- integrity sha512-sOVrA7HUdbI1OwKyPOQU0/DdvTSVFlsXWpAk2K2WvP2erTkBWPMTJq6cv2BmKdoJ3p6gLApT7sd+jHi3OF71uw==
- dependencies:
- "@walletconnect/jsonrpc-types" "^1.0.2"
-
-"@walletconnect/legacy-utils@^2.0.0":
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/@walletconnect/legacy-utils/-/legacy-utils-2.0.0.tgz#e3a637c00783f9cd2ae139b640f82223ab78ed9d"
- integrity sha512-CPWxSVVXw0kgNCxvU126g4GiV3mzXmC8IPJ15twE46aJ1FX+RHEIfAzFMFz2F2+fEhBxL63A7dwNQKDXorRPcQ==
- dependencies:
- "@walletconnect/encoding" "^1.0.2"
- "@walletconnect/jsonrpc-utils" "^1.0.4"
- "@walletconnect/legacy-types" "^2.0.0"
- "@walletconnect/safe-json" "^1.0.1"
- "@walletconnect/window-getters" "^1.0.1"
- "@walletconnect/window-metadata" "^1.0.1"
- detect-browser "^5.3.0"
- query-string "^6.13.5"
-
-"@walletconnect/logger@^2.0.1":
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/@walletconnect/logger/-/logger-2.0.1.tgz#7f489b96e9a1ff6bf3e58f0fbd6d69718bf844a8"
- integrity sha512-SsTKdsgWm+oDTBeNE/zHxxr5eJfZmE9/5yp/Ku+zJtcTAjELb3DXueWkDXmE9h8uHIbJzIb5wj5lPdzyrjT6hQ==
- dependencies:
- pino "7.11.0"
- tslib "1.14.1"
-
-"@walletconnect/modal-core@2.6.1":
- version "2.6.1"
- resolved "https://registry.yarnpkg.com/@walletconnect/modal-core/-/modal-core-2.6.1.tgz#bc76055d0b644a2d4b98024324825c108a700905"
- integrity sha512-f2hYlJ5pwzGvjyaZ6BoGR5uiMgXzWXt6w6ktt1N8lmY6PiYp8whZgqx2hTxVWwVlsGnaIfh6UHp1hGnANx0eTQ==
- dependencies:
- valtio "1.11.0"
-
-"@walletconnect/modal-ui@2.6.1":
- version "2.6.1"
- resolved "https://registry.yarnpkg.com/@walletconnect/modal-ui/-/modal-ui-2.6.1.tgz#200c54c8dfe3c71321abb2724e18bb357dfd6371"
- integrity sha512-RFUOwDAMijSK8B7W3+KoLKaa1l+KEUG0LCrtHqaB0H0cLnhEGdLR+kdTdygw+W8+yYZbkM5tXBm7MlFbcuyitA==
- dependencies:
- "@walletconnect/modal-core" "2.6.1"
- lit "2.7.6"
- motion "10.16.2"
- qrcode "1.5.3"
-
-"@walletconnect/modal@^2.5.9":
- version "2.6.1"
- resolved "https://registry.yarnpkg.com/@walletconnect/modal/-/modal-2.6.1.tgz#066fdbfcff83b58c8a9da66ab4af0eb93e3626de"
- integrity sha512-G84tSzdPKAFk1zimgV7JzIUFT5olZUVtI3GcOk77OeLYjlMfnDT23RVRHm5EyCrjkptnvpD0wQScXePOFd2Xcw==
- dependencies:
- "@walletconnect/modal-core" "2.6.1"
- "@walletconnect/modal-ui" "2.6.1"
-
-"@walletconnect/randombytes@^1.0.3":
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/@walletconnect/randombytes/-/randombytes-1.0.3.tgz#e795e4918367fd1e6a2215e075e64ab93e23985b"
- integrity sha512-35lpzxcHFbTN3ABefC9W+uBpNZl1GC4Wpx0ed30gibfO/y9oLdy1NznbV96HARQKSBV9J9M/rrtIvf6a23jfYw==
- dependencies:
- "@walletconnect/encoding" "^1.0.2"
- "@walletconnect/environment" "^1.0.1"
- randombytes "^2.1.0"
- tslib "1.14.1"
-
-"@walletconnect/relay-api@^1.0.9":
- version "1.0.9"
- resolved "https://registry.yarnpkg.com/@walletconnect/relay-api/-/relay-api-1.0.9.tgz#f8c2c3993dddaa9f33ed42197fc9bfebd790ecaf"
- integrity sha512-Q3+rylJOqRkO1D9Su0DPE3mmznbAalYapJ9qmzDgK28mYF9alcP3UwG/og5V7l7CFOqzCLi7B8BvcBUrpDj0Rg==
- dependencies:
- "@walletconnect/jsonrpc-types" "^1.0.2"
- tslib "1.14.1"
-
-"@walletconnect/relay-auth@^1.0.4":
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/@walletconnect/relay-auth/-/relay-auth-1.0.4.tgz#0b5c55c9aa3b0ef61f526ce679f3ff8a5c4c2c7c"
- integrity sha512-kKJcS6+WxYq5kshpPaxGHdwf5y98ZwbfuS4EE/NkQzqrDFm5Cj+dP8LofzWvjrrLkZq7Afy7WrQMXdLy8Sx7HQ==
- dependencies:
- "@stablelib/ed25519" "^1.0.2"
- "@stablelib/random" "^1.0.1"
- "@walletconnect/safe-json" "^1.0.1"
- "@walletconnect/time" "^1.0.2"
- tslib "1.14.1"
- uint8arrays "^3.0.0"
-
-"@walletconnect/safe-json@^1.0.1", "@walletconnect/safe-json@^1.0.2":
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/@walletconnect/safe-json/-/safe-json-1.0.2.tgz#7237e5ca48046e4476154e503c6d3c914126fa77"
- integrity sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA==
- dependencies:
- tslib "1.14.1"
-
-"@walletconnect/sign-client@2.9.0":
- version "2.9.0"
- resolved "https://registry.yarnpkg.com/@walletconnect/sign-client/-/sign-client-2.9.0.tgz#fd3b0acb68bc8d56350f01ed70f8c6326e6e89fa"
- integrity sha512-mEKc4LlLMebCe45qzqh+MX4ilQK4kOEBzLY6YJpG8EhyT45eX4JMNA7qQoYa9MRMaaVb/7USJcc4e3ZrjZvQmA==
- dependencies:
- "@walletconnect/core" "2.9.0"
- "@walletconnect/events" "^1.0.1"
- "@walletconnect/heartbeat" "1.2.1"
- "@walletconnect/jsonrpc-utils" "1.0.8"
- "@walletconnect/logger" "^2.0.1"
- "@walletconnect/time" "^1.0.2"
- "@walletconnect/types" "2.9.0"
- "@walletconnect/utils" "2.9.0"
- events "^3.3.0"
-
-"@walletconnect/time@^1.0.2":
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/@walletconnect/time/-/time-1.0.2.tgz#6c5888b835750ecb4299d28eecc5e72c6d336523"
- integrity sha512-uzdd9woDcJ1AaBZRhqy5rNC9laqWGErfc4dxA9a87mPdKOgWMD85mcFo9dIYIts/Jwocfwn07EC6EzclKubk/g==
- dependencies:
- tslib "1.14.1"
-
-"@walletconnect/types@2.9.0":
- version "2.9.0"
- resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-2.9.0.tgz#6e5dfdc7212c1ec4ab49a1ec409c743e16093f72"
- integrity sha512-ORopsMfSRvUYqtjKKd6scfg8o4/aGebipLxx92AuuUgMTERSU6cGmIrK6rdLu7W6FBJkmngPLEGc9mRqAb9Lug==
- dependencies:
- "@walletconnect/events" "^1.0.1"
- "@walletconnect/heartbeat" "1.2.1"
- "@walletconnect/jsonrpc-types" "1.0.3"
- "@walletconnect/keyvaluestorage" "^1.0.2"
- "@walletconnect/logger" "^2.0.1"
- events "^3.3.0"
-
-"@walletconnect/universal-provider@2.9.0":
- version "2.9.0"
- resolved "https://registry.yarnpkg.com/@walletconnect/universal-provider/-/universal-provider-2.9.0.tgz#a6b4a1f099262536e17b5c25bf7b3c89db9945a8"
- integrity sha512-k3nkSBkF69sJJVoe17IVoPtnhp/sgaa2t+x7BvA/BKeMxE0DGdtRJdEXotTc8DBmI7o2tkq6l8+HyFBGjQ/CjQ==
- dependencies:
- "@walletconnect/jsonrpc-http-connection" "^1.0.7"
- "@walletconnect/jsonrpc-provider" "1.0.13"
- "@walletconnect/jsonrpc-types" "^1.0.2"
- "@walletconnect/jsonrpc-utils" "^1.0.7"
- "@walletconnect/logger" "^2.0.1"
- "@walletconnect/sign-client" "2.9.0"
- "@walletconnect/types" "2.9.0"
- "@walletconnect/utils" "2.9.0"
- events "^3.3.0"
-
-"@walletconnect/utils@2.9.0":
- version "2.9.0"
- resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-2.9.0.tgz#c73925edb9fefe79021bcf028e957028f986b728"
- integrity sha512-7Tu3m6dZL84KofrNBcblsgpSqU2vdo9ImLD7zWimLXERVGNQ8smXG+gmhQYblebIBhsPzjy9N38YMC3nPlfQNw==
- dependencies:
- "@stablelib/chacha20poly1305" "1.0.1"
- "@stablelib/hkdf" "1.0.1"
- "@stablelib/random" "^1.0.2"
- "@stablelib/sha256" "1.0.1"
- "@stablelib/x25519" "^1.0.3"
- "@walletconnect/relay-api" "^1.0.9"
- "@walletconnect/safe-json" "^1.0.2"
- "@walletconnect/time" "^1.0.2"
- "@walletconnect/types" "2.9.0"
- "@walletconnect/window-getters" "^1.0.1"
- "@walletconnect/window-metadata" "^1.0.1"
- detect-browser "5.3.0"
- query-string "7.1.3"
- uint8arrays "^3.1.0"
-
-"@walletconnect/window-getters@^1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@walletconnect/window-getters/-/window-getters-1.0.1.tgz#f36d1c72558a7f6b87ecc4451fc8bd44f63cbbdc"
- integrity sha512-vHp+HqzGxORPAN8gY03qnbTMnhqIwjeRJNOMOAzePRg4xVEEE2WvYsI9G2NMjOknA8hnuYbU3/hwLcKbjhc8+Q==
- dependencies:
- tslib "1.14.1"
-
-"@walletconnect/window-metadata@^1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@walletconnect/window-metadata/-/window-metadata-1.0.1.tgz#2124f75447b7e989e4e4e1581d55d25bc75f7be5"
- integrity sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA==
- dependencies:
- "@walletconnect/window-getters" "^1.0.1"
- tslib "1.14.1"
-
-JSONStream@^1.3.5:
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0"
- integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==
- dependencies:
- jsonparse "^1.2.0"
- through ">=2.2.7 <3"
-
-abbrev@1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
- integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
-
-abitype@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/abitype/-/abitype-0.3.0.tgz#75150e337d88cc0b2423ed0d3fc36935f139d04c"
- integrity sha512-0YokyAV4hKMcy97Pl+6QgZBlBdZJN2llslOs7kiFY+cu7kMlVXDBpxMExfv0krzBCQt2t7hNovpQ3y/zvEm18A==
-
-abortcontroller-polyfill@^1.7.3:
- version "1.7.5"
- resolved "https://registry.yarnpkg.com/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz#6738495f4e901fbb57b6c0611d0c75f76c485bed"
- integrity sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ==
-
-accepts@~1.3.8:
- version "1.3.8"
- resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e"
- integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==
- dependencies:
- mime-types "~2.1.34"
- negotiator "0.6.3"
-
-acorn-jsx@^5.3.2:
- version "5.3.2"
- resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
- integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
-
-acorn@^8.9.0:
- version "8.10.0"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5"
- integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==
-
-aes-js@3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d"
- integrity sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==
-
-aes-js@^3.1.2:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.1.2.tgz#db9aabde85d5caabbfc0d4f2a4446960f627146a"
- integrity sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ==
-
-agent-base@6:
- version "6.0.2"
- resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77"
- integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==
- dependencies:
- debug "4"
-
-agentkeepalive@^4.2.1:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.3.0.tgz#bb999ff07412653c1803b3ced35e50729830a255"
- integrity sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==
- dependencies:
- debug "^4.1.0"
- depd "^2.0.0"
- humanize-ms "^1.2.1"
-
-ahocorasick@1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/ahocorasick/-/ahocorasick-1.0.2.tgz#9eee93aef9d02bfb476d9b648d9b7a40ef2fd500"
- integrity sha512-hCOfMzbFx5IDutmWLAt6MZwOUjIfSM9G9FyVxytmE4Rs/5YDPWQrD/+IR1w+FweD9H2oOZEnv36TmkjhNURBVA==
-
-ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4:
- version "6.12.6"
- resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
- integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
- dependencies:
- fast-deep-equal "^3.1.1"
- fast-json-stable-stringify "^2.0.0"
- json-schema-traverse "^0.4.1"
- uri-js "^4.2.2"
-
-ansi-regex@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
- integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
-
-ansi-styles@^3.2.1:
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
- integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
- dependencies:
- color-convert "^1.9.0"
-
-ansi-styles@^4.0.0, ansi-styles@^4.1.0:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
- integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
- dependencies:
- color-convert "^2.0.1"
-
-any-promise@^1.0.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f"
- integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==
-
-anymatch@~3.1.2:
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e"
- integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==
- dependencies:
- normalize-path "^3.0.0"
- picomatch "^2.0.4"
-
-arg@^5.0.2:
- version "5.0.2"
- resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c"
- integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==
-
-argparse@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
- integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
-
-aria-query@^5.1.3:
- version "5.3.0"
- resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.3.0.tgz#650c569e41ad90b51b3d7df5e5eed1c7549c103e"
- integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==
- dependencies:
- dequal "^2.0.3"
-
-array-buffer-byte-length@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead"
- integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==
- dependencies:
- call-bind "^1.0.2"
- is-array-buffer "^3.0.1"
-
-array-flatten@1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
- integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==
-
-array-includes@^3.1.6:
- version "3.1.6"
- resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.6.tgz#9e9e720e194f198266ba9e18c29e6a9b0e4b225f"
- integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.4"
- es-abstract "^1.20.4"
- get-intrinsic "^1.1.3"
- is-string "^1.0.7"
-
-array-union@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"
- integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
-
-array.prototype.findlastindex@^1.2.2:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.2.tgz#bc229aef98f6bd0533a2bc61ff95209875526c9b"
- integrity sha512-tb5thFFlUcp7NdNF6/MpDk/1r/4awWG1FIz3YqDf+/zJSTezBb+/5WViH41obXULHVpDzoiCLpJ/ZO9YbJMsdw==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.4"
- es-abstract "^1.20.4"
- es-shim-unscopables "^1.0.0"
- get-intrinsic "^1.1.3"
-
-array.prototype.flat@^1.3.1:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz#ffc6576a7ca3efc2f46a143b9d1dda9b4b3cf5e2"
- integrity sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.4"
- es-abstract "^1.20.4"
- es-shim-unscopables "^1.0.0"
-
-array.prototype.flatmap@^1.3.1:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz#1aae7903c2100433cb8261cd4ed310aab5c4a183"
- integrity sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.4"
- es-abstract "^1.20.4"
- es-shim-unscopables "^1.0.0"
-
-array.prototype.tosorted@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz#ccf44738aa2b5ac56578ffda97c03fd3e23dd532"
- integrity sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.4"
- es-abstract "^1.20.4"
- es-shim-unscopables "^1.0.0"
- get-intrinsic "^1.1.3"
-
-arraybuffer.prototype.slice@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz#9b5ea3868a6eebc30273da577eb888381c0044bb"
- integrity sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw==
- dependencies:
- array-buffer-byte-length "^1.0.0"
- call-bind "^1.0.2"
- define-properties "^1.2.0"
- get-intrinsic "^1.2.1"
- is-array-buffer "^3.0.2"
- is-shared-array-buffer "^1.0.2"
-
-asn1@~0.2.3:
- version "0.2.6"
- resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d"
- integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==
- dependencies:
- safer-buffer "~2.1.0"
-
-assert-plus@1.0.0, assert-plus@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
- integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==
-
-ast-types-flow@^0.0.7:
- version "0.0.7"
- resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad"
- integrity sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==
-
-async-limiter@~1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd"
- integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==
-
-async-mutex@^0.2.6:
- version "0.2.6"
- resolved "https://registry.yarnpkg.com/async-mutex/-/async-mutex-0.2.6.tgz#0d7a3deb978bc2b984d5908a2038e1ae2e54ff40"
- integrity sha512-Hs4R+4SPgamu6rSGW8C7cV9gaWUKEHykfzCCvIRuaVv636Ju10ZdeUbvb4TBEW0INuq2DHZqXbK4Nd3yG4RaRw==
- dependencies:
- tslib "^2.0.0"
-
-async@^3.2.3:
- version "3.2.4"
- resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c"
- integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==
-
-asynckit@^0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
- integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
-
-atomic-sleep@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b"
- integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==
-
-autoprefixer@^10.4.2:
- version "10.4.14"
- resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.14.tgz#e28d49902f8e759dd25b153264e862df2705f79d"
- integrity sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==
- dependencies:
- browserslist "^4.21.5"
- caniuse-lite "^1.0.30001464"
- fraction.js "^4.2.0"
- normalize-range "^0.1.2"
- picocolors "^1.0.0"
- postcss-value-parser "^4.2.0"
-
-available-typed-arrays@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7"
- integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==
-
-aws-sign2@~0.7.0:
- version "0.7.0"
- resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
- integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==
-
-aws4@^1.8.0:
- version "1.12.0"
- resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.12.0.tgz#ce1c9d143389679e253b314241ea9aa5cec980d3"
- integrity sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==
-
-axe-core@^4.6.2:
- version "4.7.2"
- resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.7.2.tgz#040a7342b20765cb18bb50b628394c21bccc17a0"
- integrity sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==
-
-axios@^0.25.0:
- version "0.25.0"
- resolved "https://registry.yarnpkg.com/axios/-/axios-0.25.0.tgz#349cfbb31331a9b4453190791760a8d35b093e0a"
- integrity sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==
- dependencies:
- follow-redirects "^1.14.7"
-
-axobject-query@^3.1.1:
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-3.2.1.tgz#39c378a6e3b06ca679f29138151e45b2b32da62a"
- integrity sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==
- dependencies:
- dequal "^2.0.3"
-
-babel-plugin-polyfill-corejs2@^0.4.4:
- version "0.4.5"
- resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.5.tgz#8097b4cb4af5b64a1d11332b6fb72ef5e64a054c"
- integrity sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==
- dependencies:
- "@babel/compat-data" "^7.22.6"
- "@babel/helper-define-polyfill-provider" "^0.4.2"
- semver "^6.3.1"
-
-babel-plugin-polyfill-corejs3@^0.8.2:
- version "0.8.3"
- resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.3.tgz#b4f719d0ad9bb8e0c23e3e630c0c8ec6dd7a1c52"
- integrity sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA==
- dependencies:
- "@babel/helper-define-polyfill-provider" "^0.4.2"
- core-js-compat "^3.31.0"
-
-babel-plugin-polyfill-regenerator@^0.5.1:
- version "0.5.2"
- resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.2.tgz#80d0f3e1098c080c8b5a65f41e9427af692dc326"
- integrity sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==
- dependencies:
- "@babel/helper-define-polyfill-provider" "^0.4.2"
-
-bail@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/bail/-/bail-2.0.2.tgz#d26f5cd8fe5d6f832a31517b9f7c356040ba6d5d"
- integrity sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==
-
-balanced-match@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
- integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
-
-base-x@^3.0.2, base-x@^3.0.8:
- version "3.0.9"
- resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.9.tgz#6349aaabb58526332de9f60995e548a53fe21320"
- integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==
- dependencies:
- safe-buffer "^5.0.1"
-
-base64-js@^1.3.1:
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
- integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
-
-bcrypt-pbkdf@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"
- integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==
- dependencies:
- tweetnacl "^0.14.3"
-
-bech32@1.1.4:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9"
- integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==
-
-big-integer@^1.6.16:
- version "1.6.51"
- resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.51.tgz#0df92a5d9880560d3ff2d5fd20245c889d130686"
- integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==
-
-bigint-buffer@^1.1.5:
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/bigint-buffer/-/bigint-buffer-1.1.5.tgz#d038f31c8e4534c1f8d0015209bf34b4fa6dd442"
- integrity sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA==
- dependencies:
- bindings "^1.3.0"
-
-bignumber.js@^9.0.0, bignumber.js@^9.0.1:
- version "9.1.1"
- resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.1.tgz#c4df7dc496bd849d4c9464344c1aa74228b4dac6"
- integrity sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig==
-
-binary-extensions@^2.0.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
- integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
-
-bind-decorator@^1.0.11:
- version "1.0.11"
- resolved "https://registry.yarnpkg.com/bind-decorator/-/bind-decorator-1.0.11.tgz#e41bc06a1f65dd9cec476c91c5daf3978488252f"
- integrity sha512-yzkH0uog6Vv/vQ9+rhSKxecnqGUZHYncg7qS7voz3Q76+TAi1SGiOKk2mlOvusQnFz9Dc4BC/NMkeXu11YgjJg==
-
-bindings@^1.3.0:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df"
- integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==
- dependencies:
- file-uri-to-path "1.0.0"
-
-blakejs@^1.1.0:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.2.1.tgz#5057e4206eadb4a97f7c0b6e197a505042fc3814"
- integrity sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==
-
-bluebird@^3.5.0:
- version "3.7.2"
- resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
- integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
-
-bn.js@4.11.6:
- version "4.11.6"
- resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215"
- integrity sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==
-
-bn.js@^4.11.0, bn.js@^4.11.6, bn.js@^4.11.8, bn.js@^4.11.9:
- version "4.12.0"
- resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88"
- integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==
-
-bn.js@^5.1.1, bn.js@^5.1.2, bn.js@^5.2.0, bn.js@^5.2.1:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70"
- integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==
-
-body-parser@1.20.1:
- version "1.20.1"
- resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668"
- integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==
- dependencies:
- bytes "3.1.2"
- content-type "~1.0.4"
- debug "2.6.9"
- depd "2.0.0"
- destroy "1.2.0"
- http-errors "2.0.0"
- iconv-lite "0.4.24"
- on-finished "2.4.1"
- qs "6.11.0"
- raw-body "2.5.1"
- type-is "~1.6.18"
- unpipe "1.0.0"
-
-body-parser@^1.16.0:
- version "1.20.2"
- resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.2.tgz#6feb0e21c4724d06de7ff38da36dad4f57a747fd"
- integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==
- dependencies:
- bytes "3.1.2"
- content-type "~1.0.5"
- debug "2.6.9"
- depd "2.0.0"
- destroy "1.2.0"
- http-errors "2.0.0"
- iconv-lite "0.4.24"
- on-finished "2.4.1"
- qs "6.11.0"
- raw-body "2.5.2"
- type-is "~1.6.18"
- unpipe "1.0.0"
-
-borsh@^0.7.0:
- version "0.7.0"
- resolved "https://registry.yarnpkg.com/borsh/-/borsh-0.7.0.tgz#6e9560d719d86d90dc589bca60ffc8a6c51fec2a"
- integrity sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA==
- dependencies:
- bn.js "^5.2.0"
- bs58 "^4.0.0"
- text-encoding-utf-8 "^1.0.2"
-
-brace-expansion@^1.1.7:
- version "1.1.11"
- resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
- integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
- dependencies:
- balanced-match "^1.0.0"
- concat-map "0.0.1"
-
-brace-expansion@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae"
- integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==
- dependencies:
- balanced-match "^1.0.0"
-
-braces@^3.0.2, braces@~3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
- integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
- dependencies:
- fill-range "^7.0.1"
-
-broadcast-channel@^3.4.1:
- version "3.7.0"
- resolved "https://registry.yarnpkg.com/broadcast-channel/-/broadcast-channel-3.7.0.tgz#2dfa5c7b4289547ac3f6705f9c00af8723889937"
- integrity sha512-cIAKJXAxGJceNZGTZSBzMxzyOn72cVgPnKx4dc6LRjQgbaJUQqhy5rzL3zbMxkMWsGKkv2hSFkPRMEXfoMZ2Mg==
- dependencies:
- "@babel/runtime" "^7.7.2"
- detect-node "^2.1.0"
- js-sha3 "0.8.0"
- microseconds "0.2.0"
- nano-time "1.0.0"
- oblivious-set "1.0.0"
- rimraf "3.0.2"
- unload "2.2.0"
-
-brorand@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
- integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==
-
-browserify-aes@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48"
- integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==
- dependencies:
- buffer-xor "^1.0.3"
- cipher-base "^1.0.0"
- create-hash "^1.1.0"
- evp_bytestokey "^1.0.3"
- inherits "^2.0.1"
- safe-buffer "^5.0.1"
-
-browserslist@^4.21.5, browserslist@^4.21.9:
- version "4.21.10"
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.10.tgz#dbbac576628c13d3b2231332cb2ec5a46e015bb0"
- integrity sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==
- dependencies:
- caniuse-lite "^1.0.30001517"
- electron-to-chromium "^1.4.477"
- node-releases "^2.0.13"
- update-browserslist-db "^1.0.11"
-
-bs58@^4.0.0, bs58@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a"
- integrity sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==
- dependencies:
- base-x "^3.0.2"
-
-bs58check@^2.1.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc"
- integrity sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==
- dependencies:
- bs58 "^4.0.0"
- create-hash "^1.1.0"
- safe-buffer "^5.1.2"
-
-btoa@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/btoa/-/btoa-1.2.1.tgz#01a9909f8b2c93f6bf680ba26131eb30f7fa3d73"
- integrity sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g==
-
-buffer-reverse@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/buffer-reverse/-/buffer-reverse-1.0.1.tgz#49283c8efa6f901bc01fa3304d06027971ae2f60"
- integrity sha512-M87YIUBsZ6N924W57vDwT/aOu8hw7ZgdByz6ijksLjmHJELBASmYTTlNHRgjE+pTsT9oJXGaDSgqqwfdHotDUg==
-
-buffer-to-arraybuffer@^0.0.5:
- version "0.0.5"
- resolved "https://registry.yarnpkg.com/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz#6064a40fa76eb43c723aba9ef8f6e1216d10511a"
- integrity sha512-3dthu5CYiVB1DEJp61FtApNnNndTckcqe4pFcLdvHtrpG+kcyekCJKg4MRiDcFW7A6AODnXB9U4dwQiCW5kzJQ==
-
-buffer-xor@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
- integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==
-
-buffer@6.0.3, buffer@^6.0.3, buffer@~6.0.3:
- version "6.0.3"
- resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6"
- integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==
- dependencies:
- base64-js "^1.3.1"
- ieee754 "^1.2.1"
-
-buffer@^5.0.5, buffer@^5.5.0, buffer@^5.6.0:
- version "5.7.1"
- resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0"
- integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==
- dependencies:
- base64-js "^1.3.1"
- ieee754 "^1.1.13"
-
-bufferutil@^4.0.1:
- version "4.0.7"
- resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.7.tgz#60c0d19ba2c992dd8273d3f73772ffc894c153ad"
- integrity sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw==
- dependencies:
- node-gyp-build "^4.3.0"
-
-bytes@3.1.2:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5"
- integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==
-
-cacheable-lookup@^5.0.3:
- version "5.0.4"
- resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005"
- integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==
-
-cacheable-lookup@^6.0.4:
- version "6.1.0"
- resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-6.1.0.tgz#0330a543471c61faa4e9035db583aad753b36385"
- integrity sha512-KJ/Dmo1lDDhmW2XDPMo+9oiy/CeqosPguPCrgcVzKyZrL6pM1gU2GmPY/xo6OQPTUaA/c0kwHuywB4E6nmT9ww==
-
-cacheable-request@^7.0.2:
- version "7.0.4"
- resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.4.tgz#7a33ebf08613178b403635be7b899d3e69bbe817"
- integrity sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==
- dependencies:
- clone-response "^1.0.2"
- get-stream "^5.1.0"
- http-cache-semantics "^4.0.0"
- keyv "^4.0.0"
- lowercase-keys "^2.0.0"
- normalize-url "^6.0.1"
- responselike "^2.0.0"
-
-call-bind@^1.0.0, call-bind@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c"
- integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==
- dependencies:
- function-bind "^1.1.1"
- get-intrinsic "^1.0.2"
-
-callsites@^3.0.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
- integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
-
-camelcase-css@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5"
- integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==
-
-camelcase@^5.0.0:
- version "5.3.1"
- resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
- integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
-
-caniuse-lite@^1.0.30001283, caniuse-lite@^1.0.30001464, caniuse-lite@^1.0.30001517:
- version "1.0.30001518"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001518.tgz#b3ca93904cb4699c01218246c4d77a71dbe97150"
- integrity sha512-rup09/e3I0BKjncL+FesTayKtPrdwKhUufQFd3riFw1hHg8JmIFoInYfB102cFcY/pPgGmdyl/iy+jgiDi2vdA==
-
-caseless@~0.12.0:
- version "0.12.0"
- resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
- integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==
-
-chalk@3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4"
- integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==
- dependencies:
- ansi-styles "^4.1.0"
- supports-color "^7.1.0"
-
-chalk@^2.4.1:
- version "2.4.2"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
- integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
- dependencies:
- ansi-styles "^3.2.1"
- escape-string-regexp "^1.0.5"
- supports-color "^5.3.0"
-
-chalk@^4.0.0, chalk@^4.1.1:
- version "4.1.2"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
- integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
- dependencies:
- ansi-styles "^4.1.0"
- supports-color "^7.1.0"
-
-character-entities@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-2.0.2.tgz#2d09c2e72cd9523076ccb21157dff66ad43fcc22"
- integrity sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==
-
-chart.js@^3.7.1:
- version "3.9.1"
- resolved "https://registry.yarnpkg.com/chart.js/-/chart.js-3.9.1.tgz#3abf2c775169c4c71217a107163ac708515924b8"
- integrity sha512-Ro2JbLmvg83gXF5F4sniaQ+lTbSv18E+TIf2cOeiH1Iqd2PGFOtem+DUufMZsCJwFE7ywPOpfXFBwRTGq7dh6w==
-
-chokidar@^3.5.2, chokidar@^3.5.3:
- version "3.5.3"
- resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd"
- integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
- dependencies:
- anymatch "~3.1.2"
- braces "~3.0.2"
- glob-parent "~5.1.2"
- is-binary-path "~2.1.0"
- is-glob "~4.0.1"
- normalize-path "~3.0.0"
- readdirp "~3.6.0"
- optionalDependencies:
- fsevents "~2.3.2"
-
-chownr@^1.1.4:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b"
- integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==
-
-cids@^0.7.1:
- version "0.7.5"
- resolved "https://registry.yarnpkg.com/cids/-/cids-0.7.5.tgz#60a08138a99bfb69b6be4ceb63bfef7a396b28b2"
- integrity sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA==
- dependencies:
- buffer "^5.5.0"
- class-is "^1.1.0"
- multibase "~0.6.0"
- multicodec "^1.0.0"
- multihashes "~0.4.15"
-
-cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de"
- integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==
- dependencies:
- inherits "^2.0.1"
- safe-buffer "^5.0.1"
-
-class-is@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/class-is/-/class-is-1.1.0.tgz#9d3c0fba0440d211d843cec3dedfa48055005825"
- integrity sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw==
-
-classnames@^2.3.1:
- version "2.3.2"
- resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.2.tgz#351d813bf0137fcc6a76a16b88208d2560a0d924"
- integrity sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==
-
-cliui@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1"
- integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==
- dependencies:
- string-width "^4.2.0"
- strip-ansi "^6.0.0"
- wrap-ansi "^6.2.0"
-
-clone-response@^1.0.2:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.3.tgz#af2032aa47816399cf5f0a1d0db902f517abb8c3"
- integrity sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==
- dependencies:
- mimic-response "^1.0.0"
-
-clone@^2.1.1:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f"
- integrity sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==
-
-clsx@1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.1.1.tgz#98b3134f9abbdf23b2663491ace13c5c03a73188"
- integrity sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==
-
-clsx@^1.1.0, clsx@^1.1.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12"
- integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==
-
-color-convert@^1.9.0, color-convert@^1.9.3:
- version "1.9.3"
- resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
- integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
- dependencies:
- color-name "1.1.3"
-
-color-convert@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
- integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
- dependencies:
- color-name "~1.1.4"
-
-color-name@1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
- integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
-
-color-name@^1.0.0, color-name@~1.1.4:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
- integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
-
-color-string@^1.6.0, color-string@^1.9.0:
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.9.1.tgz#4467f9146f036f855b764dfb5bf8582bf342c7a4"
- integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==
- dependencies:
- color-name "^1.0.0"
- simple-swizzle "^0.2.2"
-
-color@^3.1.3:
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/color/-/color-3.2.1.tgz#3544dc198caf4490c3ecc9a790b54fe9ff45e164"
- integrity sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==
- dependencies:
- color-convert "^1.9.3"
- color-string "^1.6.0"
-
-color@^4.2:
- version "4.2.3"
- resolved "https://registry.yarnpkg.com/color/-/color-4.2.3.tgz#d781ecb5e57224ee43ea9627560107c0e0c6463a"
- integrity sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==
- dependencies:
- color-convert "^2.0.1"
- color-string "^1.9.0"
-
-colorspace@1.1.x:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/colorspace/-/colorspace-1.1.4.tgz#8d442d1186152f60453bf8070cd66eb364e59243"
- integrity sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==
- dependencies:
- color "^3.1.3"
- text-hex "1.0.x"
-
-combined-stream@^1.0.6, combined-stream@~1.0.6:
- version "1.0.8"
- resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
- integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
- dependencies:
- delayed-stream "~1.0.0"
-
-comma-separated-tokens@^2.0.0:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz#4e89c9458acb61bc8fef19f4529973b2392839ee"
- integrity sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==
-
-commander@^2.20.3:
- version "2.20.3"
- resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
- integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
-
-commander@^4.0.0:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068"
- integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==
-
-commondir@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
- integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==
-
-concat-map@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
- integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
-
-content-disposition@0.5.4:
- version "0.5.4"
- resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe"
- integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==
- dependencies:
- safe-buffer "5.2.1"
-
-content-hash@^2.5.2:
- version "2.5.2"
- resolved "https://registry.yarnpkg.com/content-hash/-/content-hash-2.5.2.tgz#bbc2655e7c21f14fd3bfc7b7d4bfe6e454c9e211"
- integrity sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw==
- dependencies:
- cids "^0.7.1"
- multicodec "^0.5.5"
- multihashes "^0.4.15"
-
-content-type@~1.0.4, content-type@~1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918"
- integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==
-
-cookie-signature@1.0.6:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
- integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==
-
-cookie@0.5.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b"
- integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==
-
-cookie@^0.4.1:
- version "0.4.2"
- resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432"
- integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==
-
-copy-to-clipboard@^3.3.3:
- version "3.3.3"
- resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz#55ac43a1db8ae639a4bd99511c148cdd1b83a1b0"
- integrity sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==
- dependencies:
- toggle-selection "^1.0.6"
-
-core-js-compat@^3.31.0:
- version "3.32.0"
- resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.32.0.tgz#f41574b6893ab15ddb0ac1693681bd56c8550a90"
- integrity sha512-7a9a3D1k4UCVKnLhrgALyFcP7YCsLOQIxPd0dKjf/6GuPcgyiGP70ewWdCGrSK7evyhymi0qO4EqCmSJofDeYw==
- dependencies:
- browserslist "^4.21.9"
-
-core-util-is@1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
- integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==
-
-cors@^2.8.1:
- version "2.8.5"
- resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29"
- integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==
- dependencies:
- object-assign "^4"
- vary "^1"
-
-crc-32@^1.2.0:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.2.tgz#3cad35a934b8bf71f25ca524b6da51fb7eace2ff"
- integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==
-
-create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196"
- integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==
- dependencies:
- cipher-base "^1.0.1"
- inherits "^2.0.1"
- md5.js "^1.3.4"
- ripemd160 "^2.0.1"
- sha.js "^2.4.0"
-
-create-hmac@^1.1.4, create-hmac@^1.1.7:
- version "1.1.7"
- resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff"
- integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==
- dependencies:
- cipher-base "^1.0.3"
- create-hash "^1.1.0"
- inherits "^2.0.1"
- ripemd160 "^2.0.0"
- safe-buffer "^5.0.1"
- sha.js "^2.4.8"
-
-cron-parser@^4.2.0:
- version "4.8.1"
- resolved "https://registry.yarnpkg.com/cron-parser/-/cron-parser-4.8.1.tgz#47062ea63d21d78c10ddedb08ea4c5b6fc2750fb"
- integrity sha512-jbokKWGcyU4gl6jAfX97E1gDpY12DJ1cLJZmoDzaAln/shZ+S3KBFBuA2Q6WeUN4gJf/8klnV1EfvhA2lK5IRQ==
- dependencies:
- luxon "^3.2.1"
-
-cross-fetch@^3.1.4, cross-fetch@^3.1.5:
- version "3.1.8"
- resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.8.tgz#0327eba65fd68a7d119f8fb2bf9334a1a7956f82"
- integrity sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==
- dependencies:
- node-fetch "^2.6.12"
-
-cross-spawn@^6.0.5:
- version "6.0.5"
- resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
- integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==
- dependencies:
- nice-try "^1.0.4"
- path-key "^2.0.1"
- semver "^5.5.0"
- shebang-command "^1.2.0"
- which "^1.2.9"
-
-cross-spawn@^7.0.2:
- version "7.0.3"
- resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
- integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
- dependencies:
- path-key "^3.1.0"
- shebang-command "^2.0.0"
- which "^2.0.1"
-
-crypto-js@^3.1.9-1:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-3.3.0.tgz#846dd1cce2f68aacfa156c8578f926a609b7976b"
- integrity sha512-DIT51nX0dCfKltpRiXV+/TVZq+Qq2NgF4644+K7Ttnla7zEzqc+kjJyiB96BHNyUTBxyjzRcZYpUdZa+QAqi6Q==
-
-css-selector-tokenizer@^0.8.0:
- version "0.8.0"
- resolved "https://registry.yarnpkg.com/css-selector-tokenizer/-/css-selector-tokenizer-0.8.0.tgz#88267ef6238e64f2215ea2764b3e2cf498b845dd"
- integrity sha512-Jd6Ig3/pe62/qe5SBPTN8h8LeUg/pT4lLgtavPf7updwwHpvFzxvOQBHYj2LZDMjUnBzgvIUSjRcf6oT5HzHFg==
- dependencies:
- cssesc "^3.0.0"
- fastparse "^1.1.2"
-
-css-what@^5.0.1:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.1.0.tgz#3f7b707aadf633baf62c2ceb8579b545bb40f7fe"
- integrity sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==
-
-cssesc@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
- integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
-
-csstype@^3.0.2, csstype@^3.0.7:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b"
- integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==
-
-d@1, d@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a"
- integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==
- dependencies:
- es5-ext "^0.10.50"
- type "^1.0.1"
-
-daisyui@^2.0.9:
- version "2.52.0"
- resolved "https://registry.yarnpkg.com/daisyui/-/daisyui-2.52.0.tgz#1e22abd655bf4a5cb466e1a1f264bb597e9ec254"
- integrity sha512-LQTA5/IVXAJHBMFoeaEMfd7/akAFPPcdQPR3O9fzzcFiczneJFM73CFPnScmW2sOgn/D83cvkP854ep2T9OfTg==
- dependencies:
- color "^4.2"
- css-selector-tokenizer "^0.8.0"
- postcss-js "^4.0.0"
- tailwindcss "^3"
-
-damerau-levenshtein@^1.0.8:
- version "1.0.8"
- resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7"
- integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==
-
-dashdash@^1.12.0:
- version "1.14.1"
- resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
- integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==
- dependencies:
- assert-plus "^1.0.0"
-
-dayjs@^1.11.4:
- version "1.11.9"
- resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.9.tgz#9ca491933fadd0a60a2c19f6c237c03517d71d1a"
- integrity sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA==
-
-debug@2.6.9, debug@^2.2.0:
- version "2.6.9"
- resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
- integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
- dependencies:
- ms "2.0.0"
-
-debug@4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4:
- version "4.3.4"
- resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
- integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
- dependencies:
- ms "2.1.2"
-
-debug@^3.2.7:
- version "3.2.7"
- resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a"
- integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==
- dependencies:
- ms "^2.1.1"
-
-decamelize@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
- integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==
-
-decode-named-character-reference@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz#daabac9690874c394c81e4162a0304b35d824f0e"
- integrity sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==
- dependencies:
- character-entities "^2.0.0"
-
-decode-uri-component@^0.2.0, decode-uri-component@^0.2.2:
- version "0.2.2"
- resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9"
- integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==
-
-decompress-response@^3.3.0:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3"
- integrity sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==
- dependencies:
- mimic-response "^1.0.0"
-
-decompress-response@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc"
- integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==
- dependencies:
- mimic-response "^3.1.0"
-
-deep-is@^0.1.3:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
- integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
-
-deep-object-diff@^1.1.0:
- version "1.1.9"
- resolved "https://registry.yarnpkg.com/deep-object-diff/-/deep-object-diff-1.1.9.tgz#6df7ef035ad6a0caa44479c536ed7b02570f4595"
- integrity sha512-Rn+RuwkmkDwCi2/oXOFS9Gsr5lJZu/yTGpK7wAaAIE75CC+LCGEZHpY6VQJa/RoJcrmaA/docWJZvYohlNkWPA==
-
-deepmerge@^4.2.2:
- version "4.3.1"
- resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a"
- integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==
-
-defer-to-connect@^2.0.0, defer-to-connect@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587"
- integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==
-
-define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5"
- integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==
- dependencies:
- has-property-descriptors "^1.0.0"
- object-keys "^1.1.1"
-
-delay@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/delay/-/delay-5.0.0.tgz#137045ef1b96e5071060dd5be60bf9334436bd1d"
- integrity sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==
-
-delayed-stream@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
- integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
-
-depd@2.0.0, depd@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"
- integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
-
-dequal@^2.0.0, dequal@^2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be"
- integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==
-
-destroy@1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015"
- integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==
-
-detect-browser@5.3.0, detect-browser@^5.3.0:
- version "5.3.0"
- resolved "https://registry.yarnpkg.com/detect-browser/-/detect-browser-5.3.0.tgz#9705ef2bddf46072d0f7265a1fe300e36fe7ceca"
- integrity sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w==
-
-detect-node-es@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/detect-node-es/-/detect-node-es-1.1.0.tgz#163acdf643330caa0b4cd7c21e7ee7755d6fa493"
- integrity sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==
-
-detect-node@^2.0.4, detect-node@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1"
- integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==
-
-didyoumean@^1.2.2:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037"
- integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==
-
-diff@^5.0.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/diff/-/diff-5.1.0.tgz#bc52d298c5ea8df9194800224445ed43ffc87e40"
- integrity sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==
-
-dijkstrajs@^1.0.1:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/dijkstrajs/-/dijkstrajs-1.0.3.tgz#4c8dbdea1f0f6478bff94d9c49c784d623e4fc23"
- integrity sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==
-
-dir-glob@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
- integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==
- dependencies:
- path-type "^4.0.0"
-
-dlv@^1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79"
- integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==
-
-doctrine@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d"
- integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==
- dependencies:
- esutils "^2.0.2"
-
-doctrine@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
- integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
- dependencies:
- esutils "^2.0.2"
-
-dom-serializer@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53"
- integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==
- dependencies:
- domelementtype "^2.3.0"
- domhandler "^5.0.2"
- entities "^4.2.0"
-
-dom-walk@^0.1.0:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84"
- integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==
-
-domelementtype@^2.3.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d"
- integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==
-
-domhandler@^5.0.2, domhandler@^5.0.3:
- version "5.0.3"
- resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31"
- integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==
- dependencies:
- domelementtype "^2.3.0"
-
-domutils@^3.0.1:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.1.0.tgz#c47f551278d3dc4b0b1ab8cbb42d751a6f0d824e"
- integrity sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==
- dependencies:
- dom-serializer "^2.0.0"
- domelementtype "^2.3.0"
- domhandler "^5.0.3"
-
-dotenv@^16.0.0:
- version "16.3.1"
- resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.3.1.tgz#369034de7d7e5b120972693352a3bf112172cc3e"
- integrity sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==
-
-duplexify@^4.1.2:
- version "4.1.2"
- resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-4.1.2.tgz#18b4f8d28289132fa0b9573c898d9f903f81c7b0"
- integrity sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==
- dependencies:
- end-of-stream "^1.4.1"
- inherits "^2.0.3"
- readable-stream "^3.1.1"
- stream-shift "^1.0.0"
-
-ecc-jsbn@~0.1.1:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9"
- integrity sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==
- dependencies:
- jsbn "~0.1.0"
- safer-buffer "^2.1.0"
-
-ee-first@1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
- integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==
-
-electron-to-chromium@^1.4.477:
- version "1.4.481"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.481.tgz#0a6558c4acc171f7ab8a7e1a1c4cd2c6aa14523c"
- integrity sha512-25DitMKGaWUPjv3kCt2H3UqgMhmdN+ufG+PoSjnQtheR64Dvo75RbojLPzUmnwrEuLEzR5YrbTzOUq9DtnTUUw==
-
-elliptic@6.5.4, elliptic@^6.4.0, elliptic@^6.5.2, elliptic@^6.5.4:
- version "6.5.4"
- resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb"
- integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==
- dependencies:
- bn.js "^4.11.9"
- brorand "^1.1.0"
- hash.js "^1.0.0"
- hmac-drbg "^1.0.1"
- inherits "^2.0.4"
- minimalistic-assert "^1.0.1"
- minimalistic-crypto-utils "^1.0.1"
-
-emoji-regex@^8.0.0:
- version "8.0.0"
- resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
- integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
-
-emoji-regex@^9.2.2:
- version "9.2.2"
- resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72"
- integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==
-
-enabled@2.0.x:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/enabled/-/enabled-2.0.0.tgz#f9dd92ec2d6f4bbc0d5d1e64e21d61cd4665e7c2"
- integrity sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==
-
-encode-utf8@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/encode-utf8/-/encode-utf8-1.0.3.tgz#f30fdd31da07fb596f281beb2f6b027851994cda"
- integrity sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==
-
-encodeurl@~1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
- integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==
-
-end-of-stream@^1.1.0, end-of-stream@^1.4.1:
- version "1.4.4"
- resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
- integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
- dependencies:
- once "^1.4.0"
-
-entities@^4.2.0, entities@^4.4.0:
- version "4.5.0"
- resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48"
- integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==
-
-error-ex@^1.3.1:
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
- integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
- dependencies:
- is-arrayish "^0.2.1"
-
-es-abstract@^1.19.0, es-abstract@^1.20.4, es-abstract@^1.21.2:
- version "1.22.1"
- resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.1.tgz#8b4e5fc5cefd7f1660f0f8e1a52900dfbc9d9ccc"
- integrity sha512-ioRRcXMO6OFyRpyzV3kE1IIBd4WG5/kltnzdxSCqoP8CMGs/Li+M1uF5o7lOkZVFjDs+NLesthnF66Pg/0q0Lw==
- dependencies:
- array-buffer-byte-length "^1.0.0"
- arraybuffer.prototype.slice "^1.0.1"
- available-typed-arrays "^1.0.5"
- call-bind "^1.0.2"
- es-set-tostringtag "^2.0.1"
- es-to-primitive "^1.2.1"
- function.prototype.name "^1.1.5"
- get-intrinsic "^1.2.1"
- get-symbol-description "^1.0.0"
- globalthis "^1.0.3"
- gopd "^1.0.1"
- has "^1.0.3"
- has-property-descriptors "^1.0.0"
- has-proto "^1.0.1"
- has-symbols "^1.0.3"
- internal-slot "^1.0.5"
- is-array-buffer "^3.0.2"
- is-callable "^1.2.7"
- is-negative-zero "^2.0.2"
- is-regex "^1.1.4"
- is-shared-array-buffer "^1.0.2"
- is-string "^1.0.7"
- is-typed-array "^1.1.10"
- is-weakref "^1.0.2"
- object-inspect "^1.12.3"
- object-keys "^1.1.1"
- object.assign "^4.1.4"
- regexp.prototype.flags "^1.5.0"
- safe-array-concat "^1.0.0"
- safe-regex-test "^1.0.0"
- string.prototype.trim "^1.2.7"
- string.prototype.trimend "^1.0.6"
- string.prototype.trimstart "^1.0.6"
- typed-array-buffer "^1.0.0"
- typed-array-byte-length "^1.0.0"
- typed-array-byte-offset "^1.0.0"
- typed-array-length "^1.0.4"
- unbox-primitive "^1.0.2"
- which-typed-array "^1.1.10"
-
-es-set-tostringtag@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8"
- integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==
- dependencies:
- get-intrinsic "^1.1.3"
- has "^1.0.3"
- has-tostringtag "^1.0.0"
-
-es-shim-unscopables@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241"
- integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==
- dependencies:
- has "^1.0.3"
-
-es-to-primitive@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a"
- integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==
- dependencies:
- is-callable "^1.1.4"
- is-date-object "^1.0.1"
- is-symbol "^1.0.2"
-
-es5-ext@^0.10.35, es5-ext@^0.10.50:
- version "0.10.62"
- resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.62.tgz#5e6adc19a6da524bf3d1e02bbc8960e5eb49a9a5"
- integrity sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==
- dependencies:
- es6-iterator "^2.0.3"
- es6-symbol "^3.1.3"
- next-tick "^1.1.0"
-
-es6-iterator@^2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7"
- integrity sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==
- dependencies:
- d "1"
- es5-ext "^0.10.35"
- es6-symbol "^3.1.1"
-
-es6-promise@^4.0.3, es6-promise@^4.2.8:
- version "4.2.8"
- resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a"
- integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==
-
-es6-promisify@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203"
- integrity sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==
- dependencies:
- es6-promise "^4.0.3"
-
-es6-symbol@^3.1.1, es6-symbol@^3.1.3:
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18"
- integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==
- dependencies:
- d "^1.0.1"
- ext "^1.1.2"
-
-escalade@^3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
- integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
-
-escape-html@~1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
- integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==
-
-escape-string-regexp@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
- integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==
-
-escape-string-regexp@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
- integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
-
-eslint-config-next@12.1.0:
- version "12.1.0"
- resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-12.1.0.tgz#8ace680dc5207e6ab6c915f3989adec122f582e7"
- integrity sha512-tBhuUgoDITcdcM7xFvensi9I5WTI4dnvH4ETGRg1U8ZKpXrZsWQFdOKIDzR3RLP5HR3xXrLviaMM4c3zVoE/pA==
- dependencies:
- "@next/eslint-plugin-next" "12.1.0"
- "@rushstack/eslint-patch" "^1.0.8"
- "@typescript-eslint/parser" "^5.0.0"
- eslint-import-resolver-node "^0.3.4"
- eslint-import-resolver-typescript "^2.4.0"
- eslint-plugin-import "^2.25.2"
- eslint-plugin-jsx-a11y "^6.5.1"
- eslint-plugin-react "^7.27.0"
- eslint-plugin-react-hooks "^4.3.0"
-
-eslint-import-resolver-node@^0.3.4, eslint-import-resolver-node@^0.3.7:
- version "0.3.7"
- resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz#83b375187d412324a1963d84fa664377a23eb4d7"
- integrity sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==
- dependencies:
- debug "^3.2.7"
- is-core-module "^2.11.0"
- resolve "^1.22.1"
-
-eslint-import-resolver-typescript@^2.4.0:
- version "2.7.1"
- resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.7.1.tgz#a90a4a1c80da8d632df25994c4c5fdcdd02b8751"
- integrity sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ==
- dependencies:
- debug "^4.3.4"
- glob "^7.2.0"
- is-glob "^4.0.3"
- resolve "^1.22.0"
- tsconfig-paths "^3.14.1"
-
-eslint-module-utils@^2.8.0:
- version "2.8.0"
- resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz#e439fee65fc33f6bba630ff621efc38ec0375c49"
- integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==
- dependencies:
- debug "^3.2.7"
-
-eslint-plugin-import@^2.25.2:
- version "2.28.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.28.0.tgz#8d66d6925117b06c4018d491ae84469eb3cb1005"
- integrity sha512-B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q==
- dependencies:
- array-includes "^3.1.6"
- array.prototype.findlastindex "^1.2.2"
- array.prototype.flat "^1.3.1"
- array.prototype.flatmap "^1.3.1"
- debug "^3.2.7"
- doctrine "^2.1.0"
- eslint-import-resolver-node "^0.3.7"
- eslint-module-utils "^2.8.0"
- has "^1.0.3"
- is-core-module "^2.12.1"
- is-glob "^4.0.3"
- minimatch "^3.1.2"
- object.fromentries "^2.0.6"
- object.groupby "^1.0.0"
- object.values "^1.1.6"
- resolve "^1.22.3"
- semver "^6.3.1"
- tsconfig-paths "^3.14.2"
-
-eslint-plugin-jsx-a11y@^6.5.1:
- version "6.7.1"
- resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.7.1.tgz#fca5e02d115f48c9a597a6894d5bcec2f7a76976"
- integrity sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==
- dependencies:
- "@babel/runtime" "^7.20.7"
- aria-query "^5.1.3"
- array-includes "^3.1.6"
- array.prototype.flatmap "^1.3.1"
- ast-types-flow "^0.0.7"
- axe-core "^4.6.2"
- axobject-query "^3.1.1"
- damerau-levenshtein "^1.0.8"
- emoji-regex "^9.2.2"
- has "^1.0.3"
- jsx-ast-utils "^3.3.3"
- language-tags "=1.0.5"
- minimatch "^3.1.2"
- object.entries "^1.1.6"
- object.fromentries "^2.0.6"
- semver "^6.3.0"
-
-eslint-plugin-react-hooks@^4.3.0:
- version "4.6.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3"
- integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==
-
-eslint-plugin-react@^7.27.0:
- version "7.33.1"
- resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.33.1.tgz#bc27cccf860ae45413a4a4150bf0977345c1ceab"
- integrity sha512-L093k0WAMvr6VhNwReB8VgOq5s2LesZmrpPdKz/kZElQDzqS7G7+DnKoqT+w4JwuiGeAhAvHO0fvy0Eyk4ejDA==
- dependencies:
- array-includes "^3.1.6"
- array.prototype.flatmap "^1.3.1"
- array.prototype.tosorted "^1.1.1"
- doctrine "^2.1.0"
- estraverse "^5.3.0"
- jsx-ast-utils "^2.4.1 || ^3.0.0"
- minimatch "^3.1.2"
- object.entries "^1.1.6"
- object.fromentries "^2.0.6"
- object.hasown "^1.1.2"
- object.values "^1.1.6"
- prop-types "^15.8.1"
- resolve "^2.0.0-next.4"
- semver "^6.3.1"
- string.prototype.matchall "^4.0.8"
-
-eslint-scope@^7.1.1:
- version "7.2.2"
- resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f"
- integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==
- dependencies:
- esrecurse "^4.3.0"
- estraverse "^5.2.0"
-
-eslint-utils@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672"
- integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==
- dependencies:
- eslint-visitor-keys "^2.0.0"
-
-eslint-visitor-keys@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303"
- integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==
-
-eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1:
- version "3.4.2"
- resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz#8c2095440eca8c933bedcadf16fefa44dbe9ba5f"
- integrity sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==
-
-eslint@8.9.0:
- version "8.9.0"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.9.0.tgz#a2a8227a99599adc4342fd9b854cb8d8d6412fdb"
- integrity sha512-PB09IGwv4F4b0/atrbcMFboF/giawbBLVC7fyDamk5Wtey4Jh2K+rYaBhCAbUyEI4QzB1ly09Uglc9iCtFaG2Q==
- dependencies:
- "@eslint/eslintrc" "^1.1.0"
- "@humanwhocodes/config-array" "^0.9.2"
- ajv "^6.10.0"
- chalk "^4.0.0"
- cross-spawn "^7.0.2"
- debug "^4.3.2"
- doctrine "^3.0.0"
- escape-string-regexp "^4.0.0"
- eslint-scope "^7.1.1"
- eslint-utils "^3.0.0"
- eslint-visitor-keys "^3.3.0"
- espree "^9.3.1"
- esquery "^1.4.0"
- esutils "^2.0.2"
- fast-deep-equal "^3.1.3"
- file-entry-cache "^6.0.1"
- functional-red-black-tree "^1.0.1"
- glob-parent "^6.0.1"
- globals "^13.6.0"
- ignore "^5.2.0"
- import-fresh "^3.0.0"
- imurmurhash "^0.1.4"
- is-glob "^4.0.0"
- js-yaml "^4.1.0"
- json-stable-stringify-without-jsonify "^1.0.1"
- levn "^0.4.1"
- lodash.merge "^4.6.2"
- minimatch "^3.0.4"
- natural-compare "^1.4.0"
- optionator "^0.9.1"
- regexpp "^3.2.0"
- strip-ansi "^6.0.1"
- strip-json-comments "^3.1.0"
- text-table "^0.2.0"
- v8-compile-cache "^2.0.3"
-
-espree@^9.3.1, espree@^9.4.0:
- version "9.6.1"
- resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f"
- integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==
- dependencies:
- acorn "^8.9.0"
- acorn-jsx "^5.3.2"
- eslint-visitor-keys "^3.4.1"
-
-esquery@^1.4.0:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b"
- integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==
- dependencies:
- estraverse "^5.1.0"
-
-esrecurse@^4.3.0:
- version "4.3.0"
- resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
- integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
- dependencies:
- estraverse "^5.2.0"
-
-estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0:
- version "5.3.0"
- resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
- integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
-
-estree-walker@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac"
- integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
-
-esutils@^2.0.2:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
- integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
-
-etag@~1.8.1:
- version "1.8.1"
- resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
- integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==
-
-eth-block-tracker@4.4.3:
- version "4.4.3"
- resolved "https://registry.yarnpkg.com/eth-block-tracker/-/eth-block-tracker-4.4.3.tgz#766a0a0eb4a52c867a28328e9ae21353812cf626"
- integrity sha512-A8tG4Z4iNg4mw5tP1Vung9N9IjgMNqpiMoJ/FouSFwNCGHv2X0mmOYwtQOJzki6XN7r7Tyo01S29p7b224I4jw==
- dependencies:
- "@babel/plugin-transform-runtime" "^7.5.5"
- "@babel/runtime" "^7.5.5"
- eth-query "^2.1.0"
- json-rpc-random-id "^1.0.1"
- pify "^3.0.0"
- safe-event-emitter "^1.0.1"
-
-eth-block-tracker@6.1.0:
- version "6.1.0"
- resolved "https://registry.yarnpkg.com/eth-block-tracker/-/eth-block-tracker-6.1.0.tgz#0481f97bbb88a100b9d45806fe7e37af741cbefc"
- integrity sha512-K9SY8+/xMBi4M5HHTDdxnpEqEEGjbNpzHFqvxyjMZej8InV/B+CkFRKM6W+uvrFJ7m8Zd1E0qUkseU3vdIDFYQ==
- dependencies:
- "@metamask/safe-event-emitter" "^2.0.0"
- "@metamask/utils" "^3.0.1"
- json-rpc-random-id "^1.0.1"
- pify "^3.0.0"
-
-eth-ens-namehash@2.0.8:
- version "2.0.8"
- resolved "https://registry.yarnpkg.com/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz#229ac46eca86d52e0c991e7cb2aef83ff0f68bcf"
- integrity sha512-VWEI1+KJfz4Km//dadyvBBoBeSQ0MHTXPvr8UIXiLW6IanxvAV+DmlZAijZwAyggqGUfwQBeHf7tc9wzc1piSw==
- dependencies:
- idna-uts46-hx "^2.3.1"
- js-sha3 "^0.5.7"
-
-eth-json-rpc-filters@4.2.2:
- version "4.2.2"
- resolved "https://registry.yarnpkg.com/eth-json-rpc-filters/-/eth-json-rpc-filters-4.2.2.tgz#eb35e1dfe9357ace8a8908e7daee80b2cd60a10d"
- integrity sha512-DGtqpLU7bBg63wPMWg1sCpkKCf57dJ+hj/k3zF26anXMzkmtSBDExL8IhUu7LUd34f0Zsce3PYNO2vV2GaTzaw==
- dependencies:
- "@metamask/safe-event-emitter" "^2.0.0"
- async-mutex "^0.2.6"
- eth-json-rpc-middleware "^6.0.0"
- eth-query "^2.1.2"
- json-rpc-engine "^6.1.0"
- pify "^5.0.0"
-
-eth-json-rpc-filters@5.1.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/eth-json-rpc-filters/-/eth-json-rpc-filters-5.1.0.tgz#f0c2aeaec2a45e2dc6ca1b9843d8e85447821427"
- integrity sha512-fos+9xmoa1A2Ytsc9eYof17r81BjdJOUcGcgZn4K/tKdCCTb+a8ytEtwlu1op5qsXFDlgGmstTELFrDEc89qEQ==
- dependencies:
- "@metamask/safe-event-emitter" "^2.0.0"
- async-mutex "^0.2.6"
- eth-query "^2.1.2"
- json-rpc-engine "^6.1.0"
- pify "^5.0.0"
-
-eth-json-rpc-middleware@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/eth-json-rpc-middleware/-/eth-json-rpc-middleware-6.0.0.tgz#4fe16928b34231a2537856f08a5ebbc3d0c31175"
- integrity sha512-qqBfLU2Uq1Ou15Wox1s+NX05S9OcAEL4JZ04VZox2NS0U+RtCMjSxzXhLFWekdShUPZ+P8ax3zCO2xcPrp6XJQ==
- dependencies:
- btoa "^1.2.1"
- clone "^2.1.1"
- eth-query "^2.1.2"
- eth-rpc-errors "^3.0.0"
- eth-sig-util "^1.4.2"
- ethereumjs-util "^5.1.2"
- json-rpc-engine "^5.3.0"
- json-stable-stringify "^1.0.1"
- node-fetch "^2.6.1"
- pify "^3.0.0"
- safe-event-emitter "^1.0.1"
-
-eth-lib@0.2.8:
- version "0.2.8"
- resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.2.8.tgz#b194058bef4b220ad12ea497431d6cb6aa0623c8"
- integrity sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw==
- dependencies:
- bn.js "^4.11.6"
- elliptic "^6.4.0"
- xhr-request-promise "^0.1.2"
-
-eth-lib@^0.1.26:
- version "0.1.29"
- resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.1.29.tgz#0c11f5060d42da9f931eab6199084734f4dbd1d9"
- integrity sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ==
- dependencies:
- bn.js "^4.11.6"
- elliptic "^6.4.0"
- nano-json-stream-parser "^0.1.2"
- servify "^0.1.12"
- ws "^3.0.0"
- xhr-request-promise "^0.1.2"
-
-eth-log-parser@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/eth-log-parser/-/eth-log-parser-0.1.0.tgz#079a8c1e78fd22f8d0be74701173fa04809384ef"
- integrity sha512-1dERG6dthHRj8m/Xzva/tp4coir3trEtoJy8zbc4BXQAbCJ0rGTJS0qDwEopVgPzV54Caj0/lFNsCDfKubQ+ww==
- dependencies:
- web3-eth-abi "^1.2.9"
-
-eth-query@^2.1.0, eth-query@^2.1.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/eth-query/-/eth-query-2.1.2.tgz#d6741d9000106b51510c72db92d6365456a6da5e"
- integrity sha512-srES0ZcvwkR/wd5OQBRA1bIJMww1skfGS0s8wlwK3/oNP4+wnds60krvu5R1QbpRQjMmpG5OMIWro5s7gvDPsA==
- dependencies:
- json-rpc-random-id "^1.0.0"
- xtend "^4.0.1"
-
-eth-rpc-errors@4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/eth-rpc-errors/-/eth-rpc-errors-4.0.2.tgz#11bc164e25237a679061ac05b7da7537b673d3b7"
- integrity sha512-n+Re6Gu8XGyfFy1it0AwbD1x0MUzspQs0D5UiPs1fFPCr6WAwZM+vbIhXheBFrpgosqN9bs5PqlB4Q61U/QytQ==
- dependencies:
- fast-safe-stringify "^2.0.6"
-
-eth-rpc-errors@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/eth-rpc-errors/-/eth-rpc-errors-3.0.0.tgz#d7b22653c70dbf9defd4ef490fd08fe70608ca10"
- integrity sha512-iPPNHPrLwUlR9xCSYm7HHQjWBasor3+KZfRvwEWxMz3ca0yqnlBeJrnyphkGIXZ4J7AMAaOLmwy4AWhnxOiLxg==
- dependencies:
- fast-safe-stringify "^2.0.6"
-
-eth-rpc-errors@^4.0.2:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/eth-rpc-errors/-/eth-rpc-errors-4.0.3.tgz#6ddb6190a4bf360afda82790bb7d9d5e724f423a"
- integrity sha512-Z3ymjopaoft7JDoxZcEb3pwdGh7yiYMhOwm2doUt6ASXlMavpNlK6Cre0+IMl2VSGyEU9rkiperQhp5iRxn5Pg==
- dependencies:
- fast-safe-stringify "^2.0.6"
-
-eth-sig-util@^1.4.2:
- version "1.4.2"
- resolved "https://registry.yarnpkg.com/eth-sig-util/-/eth-sig-util-1.4.2.tgz#8d958202c7edbaae839707fba6f09ff327606210"
- integrity sha512-iNZ576iTOGcfllftB73cPB5AN+XUQAT/T8xzsILsghXC1o8gJUqe3RHlcDqagu+biFpYQ61KQrZZJza8eRSYqw==
- dependencies:
- ethereumjs-abi "git+https://github.com/ethereumjs/ethereumjs-abi.git"
- ethereumjs-util "^5.1.1"
-
-ethereum-bloom-filters@^1.0.6:
- version "1.0.10"
- resolved "https://registry.yarnpkg.com/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz#3ca07f4aed698e75bd134584850260246a5fed8a"
- integrity sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA==
- dependencies:
- js-sha3 "^0.8.0"
-
-ethereum-cryptography@^0.1.3:
- version "0.1.3"
- resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz#8d6143cfc3d74bf79bbd8edecdf29e4ae20dd191"
- integrity sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==
- dependencies:
- "@types/pbkdf2" "^3.0.0"
- "@types/secp256k1" "^4.0.1"
- blakejs "^1.1.0"
- browserify-aes "^1.2.0"
- bs58check "^2.1.2"
- create-hash "^1.2.0"
- create-hmac "^1.1.7"
- hash.js "^1.1.7"
- keccak "^3.0.0"
- pbkdf2 "^3.0.17"
- randombytes "^2.1.0"
- safe-buffer "^5.1.2"
- scrypt-js "^3.0.0"
- secp256k1 "^4.0.1"
- setimmediate "^1.0.5"
-
-"ethereum-events@https://github.com/AleG94/ethereum-events#develop":
- version "0.1.3"
- resolved "https://github.com/AleG94/ethereum-events#8c92ade1d8f489a577399d5d3cd0093ef6c58aa5"
- dependencies:
- eth-log-parser "^0.1.0"
- p-limit "^3.0.1"
- safe-memory-cache "^2.0.0"
-
-"ethereumjs-abi@git+https://github.com/ethereumjs/ethereumjs-abi.git":
- version "0.6.8"
- resolved "git+https://github.com/ethereumjs/ethereumjs-abi.git#ee3994657fa7a427238e6ba92a84d0b529bbcde0"
- dependencies:
- bn.js "^4.11.8"
- ethereumjs-util "^6.0.0"
-
-ethereumjs-util@^5.1.1, ethereumjs-util@^5.1.2:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz#a833f0e5fca7e5b361384dc76301a721f537bf65"
- integrity sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ==
- dependencies:
- bn.js "^4.11.0"
- create-hash "^1.1.2"
- elliptic "^6.5.2"
- ethereum-cryptography "^0.1.3"
- ethjs-util "^0.1.3"
- rlp "^2.0.0"
- safe-buffer "^5.1.1"
-
-ethereumjs-util@^6.0.0:
- version "6.2.1"
- resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz#fcb4e4dd5ceacb9d2305426ab1a5cd93e3163b69"
- integrity sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==
- dependencies:
- "@types/bn.js" "^4.11.3"
- bn.js "^4.11.0"
- create-hash "^1.1.2"
- elliptic "^6.5.2"
- ethereum-cryptography "^0.1.3"
- ethjs-util "0.1.6"
- rlp "^2.2.3"
-
-ethereumjs-util@^7.1.0, ethereumjs-util@^7.1.1, ethereumjs-util@^7.1.2, ethereumjs-util@^7.1.5:
- version "7.1.5"
- resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz#9ecf04861e4fbbeed7465ece5f23317ad1129181"
- integrity sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==
- dependencies:
- "@types/bn.js" "^5.1.0"
- bn.js "^5.1.2"
- create-hash "^1.1.2"
- ethereum-cryptography "^0.1.3"
- rlp "^2.2.4"
-
-ethers@^5.5.4, ethers@^5.7.2:
- version "5.7.2"
- resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.2.tgz#3a7deeabbb8c030d4126b24f84e525466145872e"
- integrity sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==
- dependencies:
- "@ethersproject/abi" "5.7.0"
- "@ethersproject/abstract-provider" "5.7.0"
- "@ethersproject/abstract-signer" "5.7.0"
- "@ethersproject/address" "5.7.0"
- "@ethersproject/base64" "5.7.0"
- "@ethersproject/basex" "5.7.0"
- "@ethersproject/bignumber" "5.7.0"
- "@ethersproject/bytes" "5.7.0"
- "@ethersproject/constants" "5.7.0"
- "@ethersproject/contracts" "5.7.0"
- "@ethersproject/hash" "5.7.0"
- "@ethersproject/hdnode" "5.7.0"
- "@ethersproject/json-wallets" "5.7.0"
- "@ethersproject/keccak256" "5.7.0"
- "@ethersproject/logger" "5.7.0"
- "@ethersproject/networks" "5.7.1"
- "@ethersproject/pbkdf2" "5.7.0"
- "@ethersproject/properties" "5.7.0"
- "@ethersproject/providers" "5.7.2"
- "@ethersproject/random" "5.7.0"
- "@ethersproject/rlp" "5.7.0"
- "@ethersproject/sha2" "5.7.0"
- "@ethersproject/signing-key" "5.7.0"
- "@ethersproject/solidity" "5.7.0"
- "@ethersproject/strings" "5.7.0"
- "@ethersproject/transactions" "5.7.0"
- "@ethersproject/units" "5.7.0"
- "@ethersproject/wallet" "5.7.0"
- "@ethersproject/web" "5.7.1"
- "@ethersproject/wordlists" "5.7.0"
-
-ethjs-unit@0.1.6:
- version "0.1.6"
- resolved "https://registry.yarnpkg.com/ethjs-unit/-/ethjs-unit-0.1.6.tgz#c665921e476e87bce2a9d588a6fe0405b2c41699"
- integrity sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==
- dependencies:
- bn.js "4.11.6"
- number-to-bn "1.7.0"
-
-ethjs-util@0.1.6, ethjs-util@^0.1.3:
- version "0.1.6"
- resolved "https://registry.yarnpkg.com/ethjs-util/-/ethjs-util-0.1.6.tgz#f308b62f185f9fe6237132fb2a9818866a5cd536"
- integrity sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==
- dependencies:
- is-hex-prefixed "1.0.0"
- strip-hex-prefix "1.0.0"
-
-eventemitter3@4.0.4:
- version "4.0.4"
- resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.4.tgz#b5463ace635a083d018bdc7c917b4c5f10a85384"
- integrity sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==
-
-eventemitter3@^4.0.7:
- version "4.0.7"
- resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f"
- integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==
-
-events@^3.0.0, events@^3.3.0:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400"
- integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==
-
-evp_bytestokey@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02"
- integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==
- dependencies:
- md5.js "^1.3.4"
- safe-buffer "^5.1.1"
-
-express@^4.14.0:
- version "4.18.2"
- resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59"
- integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==
- dependencies:
- accepts "~1.3.8"
- array-flatten "1.1.1"
- body-parser "1.20.1"
- content-disposition "0.5.4"
- content-type "~1.0.4"
- cookie "0.5.0"
- cookie-signature "1.0.6"
- debug "2.6.9"
- depd "2.0.0"
- encodeurl "~1.0.2"
- escape-html "~1.0.3"
- etag "~1.8.1"
- finalhandler "1.2.0"
- fresh "0.5.2"
- http-errors "2.0.0"
- merge-descriptors "1.0.1"
- methods "~1.1.2"
- on-finished "2.4.1"
- parseurl "~1.3.3"
- path-to-regexp "0.1.7"
- proxy-addr "~2.0.7"
- qs "6.11.0"
- range-parser "~1.2.1"
- safe-buffer "5.2.1"
- send "0.18.0"
- serve-static "1.15.0"
- setprototypeof "1.2.0"
- statuses "2.0.1"
- type-is "~1.6.18"
- utils-merge "1.0.1"
- vary "~1.1.2"
-
-ext@^1.1.2:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/ext/-/ext-1.7.0.tgz#0ea4383c0103d60e70be99e9a7f11027a33c4f5f"
- integrity sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==
- dependencies:
- type "^2.7.2"
-
-extend@^3.0.0, extend@~3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
- integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
-
-extsprintf@1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
- integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==
-
-extsprintf@^1.2.0:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07"
- integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==
-
-eyes@^0.1.8:
- version "0.1.8"
- resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0"
- integrity sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==
-
-fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
- integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
-
-fast-glob@^3.2.12, fast-glob@^3.2.9:
- version "3.3.1"
- resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.1.tgz#784b4e897340f3dbbef17413b3f11acf03c874c4"
- integrity sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==
- dependencies:
- "@nodelib/fs.stat" "^2.0.2"
- "@nodelib/fs.walk" "^1.2.3"
- glob-parent "^5.1.2"
- merge2 "^1.3.0"
- micromatch "^4.0.4"
-
-fast-json-stable-stringify@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
- integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
-
-fast-levenshtein@^2.0.6:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
- integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==
-
-fast-redact@^3.0.0:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.3.0.tgz#7c83ce3a7be4898241a46560d51de10f653f7634"
- integrity sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==
-
-fast-safe-stringify@^2.0.6:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884"
- integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==
-
-fast-stable-stringify@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/fast-stable-stringify/-/fast-stable-stringify-1.0.0.tgz#5c5543462b22aeeefd36d05b34e51c78cb86d313"
- integrity sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag==
-
-fastparse@^1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9"
- integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==
-
-fastq@^1.6.0:
- version "1.15.0"
- resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a"
- integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==
- dependencies:
- reusify "^1.0.4"
-
-fecha@^4.2.0:
- version "4.2.3"
- resolved "https://registry.yarnpkg.com/fecha/-/fecha-4.2.3.tgz#4d9ccdbc61e8629b259fdca67e65891448d569fd"
- integrity sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==
-
-file-entry-cache@^6.0.1:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027"
- integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==
- dependencies:
- flat-cache "^3.0.4"
-
-file-uri-to-path@1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd"
- integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==
-
-fill-range@^7.0.1:
- version "7.0.1"
- resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
- integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
- dependencies:
- to-regex-range "^5.0.1"
-
-filter-obj@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b"
- integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==
-
-finalhandler@1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32"
- integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==
- dependencies:
- debug "2.6.9"
- encodeurl "~1.0.2"
- escape-html "~1.0.3"
- on-finished "2.4.1"
- parseurl "~1.3.3"
- statuses "2.0.1"
- unpipe "~1.0.0"
-
-find-up@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
- integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
- dependencies:
- locate-path "^5.0.0"
- path-exists "^4.0.0"
-
-flat-cache@^3.0.4:
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11"
- integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==
- dependencies:
- flatted "^3.1.0"
- rimraf "^3.0.2"
-
-flatted@^3.1.0:
- version "3.2.7"
- resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787"
- integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==
-
-fn.name@1.x.x:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/fn.name/-/fn.name-1.1.0.tgz#26cad8017967aea8731bc42961d04a3d5988accc"
- integrity sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==
-
-follow-redirects@^1.14.7:
- version "1.15.2"
- resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13"
- integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==
-
-for-each@^0.3.3:
- version "0.3.3"
- resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e"
- integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==
- dependencies:
- is-callable "^1.1.3"
-
-forever-agent@~0.6.1:
- version "0.6.1"
- resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
- integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==
-
-form-data-encoder@1.7.1:
- version "1.7.1"
- resolved "https://registry.yarnpkg.com/form-data-encoder/-/form-data-encoder-1.7.1.tgz#ac80660e4f87ee0d3d3c3638b7da8278ddb8ec96"
- integrity sha512-EFRDrsMm/kyqbTQocNvRXMLjc7Es2Vk+IQFx/YW7hkUH1eBl4J1fqiP34l74Yt0pFLCNpc06fkbVk00008mzjg==
-
-form-data@~2.3.2:
- version "2.3.3"
- resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
- integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==
- dependencies:
- asynckit "^0.4.0"
- combined-stream "^1.0.6"
- mime-types "^2.1.12"
-
-forwarded@0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811"
- integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==
-
-fraction.js@^4.2.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950"
- integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==
-
-fresh@0.5.2:
- version "0.5.2"
- resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
- integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==
-
-fs-extra@^4.0.2:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94"
- integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==
- dependencies:
- graceful-fs "^4.1.2"
- jsonfile "^4.0.0"
- universalify "^0.1.0"
-
-fs-minipass@^1.2.7:
- version "1.2.7"
- resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7"
- integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==
- dependencies:
- minipass "^2.6.0"
-
-fs.realpath@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
- integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
-
-fsevents@~2.3.2:
- version "2.3.2"
- resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
- integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
-
-function-bind@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
- integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
-
-function.prototype.name@^1.1.5:
- version "1.1.5"
- resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621"
- integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.3"
- es-abstract "^1.19.0"
- functions-have-names "^1.2.2"
-
-functional-red-black-tree@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
- integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==
-
-functions-have-names@^1.2.2, functions-have-names@^1.2.3:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834"
- integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==
-
-get-caller-file@^2.0.1:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
- integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
-
-get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.1.tgz#d295644fed4505fc9cde952c37ee12b477a83d82"
- integrity sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==
- dependencies:
- function-bind "^1.1.1"
- has "^1.0.3"
- has-proto "^1.0.1"
- has-symbols "^1.0.3"
-
-get-nonce@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/get-nonce/-/get-nonce-1.0.1.tgz#fdf3f0278073820d2ce9426c18f07481b1e0cdf3"
- integrity sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==
-
-get-stream@^5.1.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3"
- integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==
- dependencies:
- pump "^3.0.0"
-
-get-stream@^6.0.1:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7"
- integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
-
-get-symbol-description@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6"
- integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==
- dependencies:
- call-bind "^1.0.2"
- get-intrinsic "^1.1.1"
-
-getpass@^0.1.1:
- version "0.1.7"
- resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
- integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==
- dependencies:
- assert-plus "^1.0.0"
-
-glob-parent@^5.1.2, glob-parent@~5.1.2:
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
- integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
- dependencies:
- is-glob "^4.0.1"
-
-glob-parent@^6.0.1, glob-parent@^6.0.2:
- version "6.0.2"
- resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3"
- integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
- dependencies:
- is-glob "^4.0.3"
-
-glob@7.1.6:
- version "7.1.6"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
- integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
- dependencies:
- fs.realpath "^1.0.0"
- inflight "^1.0.4"
- inherits "2"
- minimatch "^3.0.4"
- once "^1.3.0"
- path-is-absolute "^1.0.0"
-
-glob@7.1.7:
- version "7.1.7"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90"
- integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==
- dependencies:
- fs.realpath "^1.0.0"
- inflight "^1.0.4"
- inherits "2"
- minimatch "^3.0.4"
- once "^1.3.0"
- path-is-absolute "^1.0.0"
-
-glob@^7.1.3, glob@^7.2.0:
- version "7.2.3"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
- integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
- dependencies:
- fs.realpath "^1.0.0"
- inflight "^1.0.4"
- inherits "2"
- minimatch "^3.1.1"
- once "^1.3.0"
- path-is-absolute "^1.0.0"
-
-glob@^8.0.3:
- version "8.1.0"
- resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e"
- integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==
- dependencies:
- fs.realpath "^1.0.0"
- inflight "^1.0.4"
- inherits "2"
- minimatch "^5.0.1"
- once "^1.3.0"
-
-global@~4.4.0:
- version "4.4.0"
- resolved "https://registry.yarnpkg.com/global/-/global-4.4.0.tgz#3e7b105179006a323ed71aafca3e9c57a5cc6406"
- integrity sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==
- dependencies:
- min-document "^2.19.0"
- process "^0.11.10"
-
-globals@^13.19.0, globals@^13.6.0:
- version "13.20.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82"
- integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==
- dependencies:
- type-fest "^0.20.2"
-
-globalthis@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf"
- integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==
- dependencies:
- define-properties "^1.1.3"
-
-globby@^11.1.0:
- version "11.1.0"
- resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b"
- integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==
- dependencies:
- array-union "^2.1.0"
- dir-glob "^3.0.1"
- fast-glob "^3.2.9"
- ignore "^5.2.0"
- merge2 "^1.4.1"
- slash "^3.0.0"
-
-gopd@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c"
- integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==
- dependencies:
- get-intrinsic "^1.1.3"
-
-got@12.1.0:
- version "12.1.0"
- resolved "https://registry.yarnpkg.com/got/-/got-12.1.0.tgz#099f3815305c682be4fd6b0ee0726d8e4c6b0af4"
- integrity sha512-hBv2ty9QN2RdbJJMK3hesmSkFTjVIHyIDDbssCKnSmq62edGgImJWD10Eb1k77TiV1bxloxqcFAVK8+9pkhOig==
- dependencies:
- "@sindresorhus/is" "^4.6.0"
- "@szmarczak/http-timer" "^5.0.1"
- "@types/cacheable-request" "^6.0.2"
- "@types/responselike" "^1.0.0"
- cacheable-lookup "^6.0.4"
- cacheable-request "^7.0.2"
- decompress-response "^6.0.0"
- form-data-encoder "1.7.1"
- get-stream "^6.0.1"
- http2-wrapper "^2.1.10"
- lowercase-keys "^3.0.0"
- p-cancelable "^3.0.0"
- responselike "^2.0.0"
-
-got@^11.8.5:
- version "11.8.6"
- resolved "https://registry.yarnpkg.com/got/-/got-11.8.6.tgz#276e827ead8772eddbcfc97170590b841823233a"
- integrity sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==
- dependencies:
- "@sindresorhus/is" "^4.0.0"
- "@szmarczak/http-timer" "^4.0.5"
- "@types/cacheable-request" "^6.0.1"
- "@types/responselike" "^1.0.0"
- cacheable-lookup "^5.0.3"
- cacheable-request "^7.0.2"
- decompress-response "^6.0.0"
- http2-wrapper "^1.0.0-beta.5.2"
- lowercase-keys "^2.0.0"
- p-cancelable "^2.0.0"
- responselike "^2.0.0"
-
-graceful-fs@^4.1.2, graceful-fs@^4.1.6:
- version "4.2.11"
- resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3"
- integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==
-
-har-schema@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
- integrity sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==
-
-har-validator@~5.1.3:
- version "5.1.5"
- resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd"
- integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==
- dependencies:
- ajv "^6.12.3"
- har-schema "^2.0.0"
-
-has-bigints@^1.0.1, has-bigints@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa"
- integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==
-
-has-flag@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
- integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==
-
-has-flag@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
- integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
-
-has-property-descriptors@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861"
- integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==
- dependencies:
- get-intrinsic "^1.1.1"
-
-has-proto@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0"
- integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==
-
-has-symbols@^1.0.2, has-symbols@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8"
- integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
-
-has-tostringtag@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25"
- integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==
- dependencies:
- has-symbols "^1.0.2"
-
-has@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
- integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
- dependencies:
- function-bind "^1.1.1"
-
-hash-base@^3.0.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33"
- integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==
- dependencies:
- inherits "^2.0.4"
- readable-stream "^3.6.0"
- safe-buffer "^5.2.0"
-
-hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7:
- version "1.1.7"
- resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42"
- integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==
- dependencies:
- inherits "^2.0.3"
- minimalistic-assert "^1.0.1"
-
-hast-util-whitespace@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz#0ec64e257e6fc216c7d14c8a1b74d27d650b4557"
- integrity sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==
-
-hey-listen@^1.0.8:
- version "1.0.8"
- resolved "https://registry.yarnpkg.com/hey-listen/-/hey-listen-1.0.8.tgz#8e59561ff724908de1aa924ed6ecc84a56a9aa68"
- integrity sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==
-
-hmac-drbg@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
- integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==
- dependencies:
- hash.js "^1.0.3"
- minimalistic-assert "^1.0.0"
- minimalistic-crypto-utils "^1.0.1"
-
-hoist-non-react-statics@^3.3.2:
- version "3.3.2"
- resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45"
- integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==
- dependencies:
- react-is "^16.7.0"
-
-hosted-git-info@^2.1.4:
- version "2.8.9"
- resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9"
- integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==
-
-htmlparser2@^8.0.0:
- version "8.0.2"
- resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-8.0.2.tgz#f002151705b383e62433b5cf466f5b716edaec21"
- integrity sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==
- dependencies:
- domelementtype "^2.3.0"
- domhandler "^5.0.3"
- domutils "^3.0.1"
- entities "^4.4.0"
-
-http-cache-semantics@^4.0.0:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a"
- integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==
-
-http-errors@2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3"
- integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==
- dependencies:
- depd "2.0.0"
- inherits "2.0.4"
- setprototypeof "1.2.0"
- statuses "2.0.1"
- toidentifier "1.0.1"
-
-http-https@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/http-https/-/http-https-1.0.0.tgz#2f908dd5f1db4068c058cd6e6d4ce392c913389b"
- integrity sha512-o0PWwVCSp3O0wS6FvNr6xfBCHgt0m1tvPLFOCc2iFDKTRAXhB7m8klDf7ErowFH8POa6dVdGatKU5I1YYwzUyg==
-
-http-signature@~1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
- integrity sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==
- dependencies:
- assert-plus "^1.0.0"
- jsprim "^1.2.2"
- sshpk "^1.7.0"
-
-http2-wrapper@^1.0.0-beta.5.2:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d"
- integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==
- dependencies:
- quick-lru "^5.1.1"
- resolve-alpn "^1.0.0"
-
-http2-wrapper@^2.1.10:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-2.2.0.tgz#b80ad199d216b7d3680195077bd7b9060fa9d7f3"
- integrity sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==
- dependencies:
- quick-lru "^5.1.1"
- resolve-alpn "^1.2.0"
-
-https-proxy-agent@^5.0.0:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6"
- integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==
- dependencies:
- agent-base "6"
- debug "4"
-
-humanize-ms@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed"
- integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==
- dependencies:
- ms "^2.0.0"
-
-iconv-lite@0.4.24:
- version "0.4.24"
- resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
- integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
- dependencies:
- safer-buffer ">= 2.1.2 < 3"
-
-idna-uts46-hx@^2.3.1:
- version "2.3.1"
- resolved "https://registry.yarnpkg.com/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz#a1dc5c4df37eee522bf66d969cc980e00e8711f9"
- integrity sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA==
- dependencies:
- punycode "2.1.0"
-
-ieee754@^1.1.13, ieee754@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
- integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
-
-ignore-by-default@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09"
- integrity sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==
-
-ignore@^5.2.0:
- version "5.2.4"
- resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324"
- integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==
-
-immediate@~3.0.5:
- version "3.0.6"
- resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b"
- integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==
-
-import-fresh@^3.0.0, import-fresh@^3.2.1:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
- integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
- dependencies:
- parent-module "^1.0.0"
- resolve-from "^4.0.0"
-
-imurmurhash@^0.1.4:
- version "0.1.4"
- resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
- integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==
-
-inflight@^1.0.4:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
- integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==
- dependencies:
- once "^1.3.0"
- wrappy "1"
-
-inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.4:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
- integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
-
-inline-style-parser@0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.1.1.tgz#ec8a3b429274e9c0a1f1c4ffa9453a7fef72cea1"
- integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==
-
-internal-slot@^1.0.3, internal-slot@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986"
- integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==
- dependencies:
- get-intrinsic "^1.2.0"
- has "^1.0.3"
- side-channel "^1.0.4"
-
-invariant@^2.2.4:
- version "2.2.4"
- resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
- integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==
- dependencies:
- loose-envify "^1.0.0"
-
-ipaddr.js@1.9.1:
- version "1.9.1"
- resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"
- integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
-
-is-arguments@^1.0.4:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b"
- integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==
- dependencies:
- call-bind "^1.0.2"
- has-tostringtag "^1.0.0"
-
-is-array-buffer@^3.0.1, is-array-buffer@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe"
- integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==
- dependencies:
- call-bind "^1.0.2"
- get-intrinsic "^1.2.0"
- is-typed-array "^1.1.10"
-
-is-arrayish@^0.2.1:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
- integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==
-
-is-arrayish@^0.3.1:
- version "0.3.2"
- resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03"
- integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==
-
-is-bigint@^1.0.1:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3"
- integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==
- dependencies:
- has-bigints "^1.0.1"
-
-is-binary-path@~2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
- integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
- dependencies:
- binary-extensions "^2.0.0"
-
-is-boolean-object@^1.1.0:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719"
- integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==
- dependencies:
- call-bind "^1.0.2"
- has-tostringtag "^1.0.0"
-
-is-buffer@^2.0.0:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191"
- integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==
-
-is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7:
- version "1.2.7"
- resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055"
- integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==
-
-is-core-module@^2.11.0, is-core-module@^2.12.0, is-core-module@^2.12.1, is-core-module@^2.9.0:
- version "2.12.1"
- resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.12.1.tgz#0c0b6885b6f80011c71541ce15c8d66cf5a4f9fd"
- integrity sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==
- dependencies:
- has "^1.0.3"
-
-is-date-object@^1.0.1:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f"
- integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==
- dependencies:
- has-tostringtag "^1.0.0"
-
-is-extglob@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
- integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
-
-is-fullwidth-code-point@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
- integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
-
-is-function@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.2.tgz#4f097f30abf6efadac9833b17ca5dc03f8144e08"
- integrity sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==
-
-is-generator-function@^1.0.7:
- version "1.0.10"
- resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72"
- integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==
- dependencies:
- has-tostringtag "^1.0.0"
-
-is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
- integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
- dependencies:
- is-extglob "^2.1.1"
-
-is-hex-prefixed@1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz#7d8d37e6ad77e5d127148913c573e082d777f554"
- integrity sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==
-
-is-negative-zero@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150"
- integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==
-
-is-number-object@^1.0.4:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc"
- integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==
- dependencies:
- has-tostringtag "^1.0.0"
-
-is-number@^7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
- integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
-
-is-plain-obj@^4.0.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz#d65025edec3657ce032fd7db63c97883eaed71f0"
- integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==
-
-is-plain-object@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344"
- integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==
-
-is-reference@1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7"
- integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==
- dependencies:
- "@types/estree" "*"
-
-is-regex@^1.1.4:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958"
- integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==
- dependencies:
- call-bind "^1.0.2"
- has-tostringtag "^1.0.0"
-
-is-shared-array-buffer@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79"
- integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==
- dependencies:
- call-bind "^1.0.2"
-
-is-stream@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077"
- integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==
-
-is-string@^1.0.5, is-string@^1.0.7:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd"
- integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==
- dependencies:
- has-tostringtag "^1.0.0"
-
-is-symbol@^1.0.2, is-symbol@^1.0.3:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c"
- integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==
- dependencies:
- has-symbols "^1.0.2"
-
-is-typed-array@^1.1.10, is-typed-array@^1.1.3, is-typed-array@^1.1.9:
- version "1.1.12"
- resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.12.tgz#d0bab5686ef4a76f7a73097b95470ab199c57d4a"
- integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==
- dependencies:
- which-typed-array "^1.1.11"
-
-is-typedarray@1.0.0, is-typedarray@^1.0.0, is-typedarray@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
- integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==
-
-is-weakref@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2"
- integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==
- dependencies:
- call-bind "^1.0.2"
-
-isarray@^2.0.5:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723"
- integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==
-
-isexe@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
- integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
-
-isomorphic-ws@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc"
- integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==
-
-isstream@~0.1.2:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
- integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==
-
-jayson@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/jayson/-/jayson-4.1.0.tgz#60dc946a85197317f2b1439d672a8b0a99cea2f9"
- integrity sha512-R6JlbyLN53Mjku329XoRT2zJAE6ZgOQ8f91ucYdMCD4nkGCF9kZSrcGXpHIU4jeKj58zUZke2p+cdQchU7Ly7A==
- dependencies:
- "@types/connect" "^3.4.33"
- "@types/node" "^12.12.54"
- "@types/ws" "^7.4.4"
- JSONStream "^1.3.5"
- commander "^2.20.3"
- delay "^5.0.0"
- es6-promisify "^5.0.0"
- eyes "^0.1.8"
- isomorphic-ws "^4.0.1"
- json-stringify-safe "^5.0.1"
- uuid "^8.3.2"
- ws "^7.4.5"
-
-jiti@^1.18.2:
- version "1.19.1"
- resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.19.1.tgz#fa99e4b76a23053e0e7cde098efe1704a14c16f1"
- integrity sha512-oVhqoRDaBXf7sjkll95LHVS6Myyyb1zaunVwk4Z0+WPSW4gjS0pl01zYKHScTuyEhQsFxV5L4DR5r+YqSyqyyg==
-
-joi@^17.6.0:
- version "17.9.2"
- resolved "https://registry.yarnpkg.com/joi/-/joi-17.9.2.tgz#8b2e4724188369f55451aebd1d0b1d9482470690"
- integrity sha512-Itk/r+V4Dx0V3c7RLFdRh12IOjySm2/WGPMubBT92cQvRfYZhPM2W0hZlctjj72iES8jsRCwp7S/cRmWBnJ4nw==
- dependencies:
- "@hapi/hoek" "^9.0.0"
- "@hapi/topo" "^5.0.0"
- "@sideway/address" "^4.1.3"
- "@sideway/formula" "^3.0.1"
- "@sideway/pinpoint" "^2.0.0"
-
-js-sha256@0.9.0:
- version "0.9.0"
- resolved "https://registry.yarnpkg.com/js-sha256/-/js-sha256-0.9.0.tgz#0b89ac166583e91ef9123644bd3c5334ce9d0966"
- integrity sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==
-
-js-sha3@0.8.0, js-sha3@^0.8.0:
- version "0.8.0"
- resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840"
- integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==
-
-js-sha3@^0.5.7:
- version "0.5.7"
- resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.5.7.tgz#0d4ffd8002d5333aabaf4a23eed2f6374c9f28e7"
- integrity sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==
-
-"js-tokens@^3.0.0 || ^4.0.0":
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
- integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
-
-js-yaml@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602"
- integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==
- dependencies:
- argparse "^2.0.1"
-
-jsbn@~0.1.0:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
- integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==
-
-json-buffer@3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13"
- integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==
-
-json-parse-better-errors@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
- integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
-
-json-rpc-engine@6.1.0, json-rpc-engine@^6.1.0:
- version "6.1.0"
- resolved "https://registry.yarnpkg.com/json-rpc-engine/-/json-rpc-engine-6.1.0.tgz#bf5ff7d029e1c1bf20cb6c0e9f348dcd8be5a393"
- integrity sha512-NEdLrtrq1jUZyfjkr9OCz9EzCNhnRyWtt1PAnvnhwy6e8XETS0Dtc+ZNCO2gvuAoKsIn2+vCSowXTYE4CkgnAQ==
- dependencies:
- "@metamask/safe-event-emitter" "^2.0.0"
- eth-rpc-errors "^4.0.2"
-
-json-rpc-engine@^5.3.0:
- version "5.4.0"
- resolved "https://registry.yarnpkg.com/json-rpc-engine/-/json-rpc-engine-5.4.0.tgz#75758609d849e1dba1e09021ae473f3ab63161e5"
- integrity sha512-rAffKbPoNDjuRnXkecTjnsE3xLLrb00rEkdgalINhaYVYIxDwWtvYBr9UFbhTvPB1B2qUOLoFd/cV6f4Q7mh7g==
- dependencies:
- eth-rpc-errors "^3.0.0"
- safe-event-emitter "^1.0.1"
-
-json-rpc-random-id@^1.0.0, json-rpc-random-id@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/json-rpc-random-id/-/json-rpc-random-id-1.0.1.tgz#ba49d96aded1444dbb8da3d203748acbbcdec8c8"
- integrity sha512-RJ9YYNCkhVDBuP4zN5BBtYAzEl03yq/jIIsyif0JY9qyJuQQZNeDK7anAPKKlyEtLSj2s8h6hNh2F8zO5q7ScA==
-
-json-schema-traverse@^0.4.1:
- version "0.4.1"
- resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
- integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
-
-json-schema@0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5"
- integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==
-
-json-stable-stringify-without-jsonify@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
- integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
-
-json-stable-stringify@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.2.tgz#e06f23128e0bbe342dc996ed5a19e28b57b580e0"
- integrity sha512-eunSSaEnxV12z+Z73y/j5N37/In40GK4GmsSy+tEHJMxknvqnA7/djeYtAgW0GsWHUfg+847WJjKaEylk2y09g==
- dependencies:
- jsonify "^0.0.1"
-
-json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
- integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==
-
-json5@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593"
- integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==
- dependencies:
- minimist "^1.2.0"
-
-jsonfile@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
- integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==
- optionalDependencies:
- graceful-fs "^4.1.6"
-
-jsonify@^0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.1.tgz#2aa3111dae3d34a0f151c63f3a45d995d9420978"
- integrity sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==
-
-jsonparse@^1.2.0:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280"
- integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==
-
-jsprim@^1.2.2:
- version "1.4.2"
- resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb"
- integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==
- dependencies:
- assert-plus "1.0.0"
- extsprintf "1.3.0"
- json-schema "0.4.0"
- verror "1.10.0"
-
-"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.3:
- version "3.3.5"
- resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz#4766bd05a8e2a11af222becd19e15575e52a853a"
- integrity sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==
- dependencies:
- array-includes "^3.1.6"
- array.prototype.flat "^1.3.1"
- object.assign "^4.1.4"
- object.values "^1.1.6"
-
-keccak256@^1.0.6:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/keccak256/-/keccak256-1.0.6.tgz#dd32fb771558fed51ce4e45a035ae7515573da58"
- integrity sha512-8GLiM01PkdJVGUhR1e6M/AvWnSqYS0HaERI+K/QtStGDGlSTx2B1zTqZk4Zlqu5TxHJNTxWAdP9Y+WI50OApUw==
- dependencies:
- bn.js "^5.2.0"
- buffer "^6.0.3"
- keccak "^3.0.2"
-
-keccak@^3.0.0, keccak@^3.0.1, keccak@^3.0.2:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.3.tgz#4bc35ad917be1ef54ff246f904c2bbbf9ac61276"
- integrity sha512-JZrLIAJWuZxKbCilMpNz5Vj7Vtb4scDG3dMXLOsbzBmQGyjwE61BbW7bJkfKKCShXiQZt3T6sBgALRtmd+nZaQ==
- dependencies:
- node-addon-api "^2.0.0"
- node-gyp-build "^4.2.0"
- readable-stream "^3.6.0"
-
-keyv@^4.0.0:
- version "4.5.3"
- resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.3.tgz#00873d2b046df737963157bd04f294ca818c9c25"
- integrity sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==
- dependencies:
- json-buffer "3.0.1"
-
-keyvaluestorage-interface@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/keyvaluestorage-interface/-/keyvaluestorage-interface-1.0.0.tgz#13ebdf71f5284ad54be94bd1ad9ed79adad515ff"
- integrity sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g==
-
-kleur@^4.0.3:
- version "4.1.5"
- resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780"
- integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==
-
-kuler@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/kuler/-/kuler-2.0.0.tgz#e2c570a3800388fb44407e851531c1d670b061b3"
- integrity sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==
-
-language-subtag-registry@~0.3.2:
- version "0.3.22"
- resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz#2e1500861b2e457eba7e7ae86877cbd08fa1fd1d"
- integrity sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==
-
-language-tags@=1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a"
- integrity sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==
- dependencies:
- language-subtag-registry "~0.3.2"
-
-levn@^0.4.1:
- version "0.4.1"
- resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
- integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
- dependencies:
- prelude-ls "^1.2.1"
- type-check "~0.4.0"
-
-lie@3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/lie/-/lie-3.1.1.tgz#9a436b2cc7746ca59de7a41fa469b3efb76bd87e"
- integrity sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==
- dependencies:
- immediate "~3.0.5"
-
-lilconfig@^2.0.5, lilconfig@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52"
- integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==
-
-lines-and-columns@^1.1.6:
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632"
- integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==
-
-lit-element@^3.3.0:
- version "3.3.3"
- resolved "https://registry.yarnpkg.com/lit-element/-/lit-element-3.3.3.tgz#10bc19702b96ef5416cf7a70177255bfb17b3209"
- integrity sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==
- dependencies:
- "@lit-labs/ssr-dom-shim" "^1.1.0"
- "@lit/reactive-element" "^1.3.0"
- lit-html "^2.8.0"
-
-lit-html@^2.7.0, lit-html@^2.8.0:
- version "2.8.0"
- resolved "https://registry.yarnpkg.com/lit-html/-/lit-html-2.8.0.tgz#96456a4bb4ee717b9a7d2f94562a16509d39bffa"
- integrity sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==
- dependencies:
- "@types/trusted-types" "^2.0.2"
-
-lit@2.7.6:
- version "2.7.6"
- resolved "https://registry.yarnpkg.com/lit/-/lit-2.7.6.tgz#810007b876ed43e0c70124de91831921598b1665"
- integrity sha512-1amFHA7t4VaaDe+vdQejSVBklwtH9svGoG6/dZi9JhxtJBBlqY5D1RV7iLUYY0trCqQc4NfhYYZilZiVHt7Hxg==
- dependencies:
- "@lit/reactive-element" "^1.6.0"
- lit-element "^3.3.0"
- lit-html "^2.7.0"
-
-load-json-file@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b"
- integrity sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==
- dependencies:
- graceful-fs "^4.1.2"
- parse-json "^4.0.0"
- pify "^3.0.0"
- strip-bom "^3.0.0"
-
-localforage@^1.8.1:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/localforage/-/localforage-1.10.0.tgz#5c465dc5f62b2807c3a84c0c6a1b1b3212781dd4"
- integrity sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==
- dependencies:
- lie "3.1.1"
-
-locate-path@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
- integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==
- dependencies:
- p-locate "^4.1.0"
-
-lodash.castarray@^4.4.0:
- version "4.4.0"
- resolved "https://registry.yarnpkg.com/lodash.castarray/-/lodash.castarray-4.4.0.tgz#c02513515e309daddd4c24c60cfddcf5976d9115"
- integrity sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==
-
-lodash.debounce@^4.0.8:
- version "4.0.8"
- resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
- integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==
-
-lodash.isequal@4.5.0:
- version "4.5.0"
- resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0"
- integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==
-
-lodash.isplainobject@^4.0.6:
- version "4.0.6"
- resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb"
- integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==
-
-lodash.merge@^4.6.2:
- version "4.6.2"
- resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
- integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
-
-lodash@^4.17.21:
- version "4.17.21"
- resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
- integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
-
-logform@^2.3.2, logform@^2.4.0:
- version "2.5.1"
- resolved "https://registry.yarnpkg.com/logform/-/logform-2.5.1.tgz#44c77c34becd71b3a42a3970c77929e52c6ed48b"
- integrity sha512-9FyqAm9o9NKKfiAKfZoYo9bGXXuwMkxQiQttkT4YjjVtQVIQtK6LmVtlxmCaFswo6N4AfEkHqZTV0taDtPotNg==
- dependencies:
- "@colors/colors" "1.5.0"
- "@types/triple-beam" "^1.3.2"
- fecha "^4.2.0"
- ms "^2.1.1"
- safe-stable-stringify "^2.3.1"
- triple-beam "^1.3.0"
-
-long-timeout@0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/long-timeout/-/long-timeout-0.1.1.tgz#9721d788b47e0bcb5a24c2e2bee1a0da55dab514"
- integrity sha512-BFRuQUqc7x2NWxfJBCyUrN8iYUYznzL9JROmRz1gZ6KlOIgmoD+njPVbb+VNn2nGMKggMsK79iUNErillsrx7w==
-
-loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
- integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
- dependencies:
- js-tokens "^3.0.0 || ^4.0.0"
-
-lowercase-keys@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479"
- integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==
-
-lowercase-keys@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-3.0.0.tgz#c5e7d442e37ead247ae9db117a9d0a467c89d4f2"
- integrity sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==
-
-lru-cache@^5.1.1:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
- integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
- dependencies:
- yallist "^3.0.2"
-
-lru-cache@^6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
- integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
- dependencies:
- yallist "^4.0.0"
-
-lru_map@^0.3.3:
- version "0.3.3"
- resolved "https://registry.yarnpkg.com/lru_map/-/lru_map-0.3.3.tgz#b5c8351b9464cbd750335a79650a0ec0e56118dd"
- integrity sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==
-
-luxon@^3.2.1:
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/luxon/-/luxon-3.3.0.tgz#d73ab5b5d2b49a461c47cedbc7e73309b4805b48"
- integrity sha512-An0UCfG/rSiqtAIiBPO0Y9/zAnHUZxAMiCpTd5h2smgsj7GGmcenvrvww2cqNA8/4A5ZrD1gJpHN2mIHZQF+Mg==
-
-magic-string@^0.27.0:
- version "0.27.0"
- resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.27.0.tgz#e4a3413b4bab6d98d2becffd48b4a257effdbbf3"
- integrity sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==
- dependencies:
- "@jridgewell/sourcemap-codec" "^1.4.13"
-
-match-sorter@^6.0.2:
- version "6.3.1"
- resolved "https://registry.yarnpkg.com/match-sorter/-/match-sorter-6.3.1.tgz#98cc37fda756093424ddf3cbc62bfe9c75b92bda"
- integrity sha512-mxybbo3pPNuA+ZuCUhm5bwNkXrJTbsk5VWbR5wiwz/GC6LIiegBGn2w3O08UG/jdbYLinw51fSQ5xNU1U3MgBw==
- dependencies:
- "@babel/runtime" "^7.12.5"
- remove-accents "0.4.2"
-
-md5.js@^1.3.4:
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f"
- integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==
- dependencies:
- hash-base "^3.0.0"
- inherits "^2.0.1"
- safe-buffer "^5.1.2"
-
-mdast-util-definitions@^5.0.0:
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz#9910abb60ac5d7115d6819b57ae0bcef07a3f7a7"
- integrity sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==
- dependencies:
- "@types/mdast" "^3.0.0"
- "@types/unist" "^2.0.0"
- unist-util-visit "^4.0.0"
-
-mdast-util-from-markdown@^1.0.0:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.1.tgz#9421a5a247f10d31d2faed2a30df5ec89ceafcf0"
- integrity sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==
- dependencies:
- "@types/mdast" "^3.0.0"
- "@types/unist" "^2.0.0"
- decode-named-character-reference "^1.0.0"
- mdast-util-to-string "^3.1.0"
- micromark "^3.0.0"
- micromark-util-decode-numeric-character-reference "^1.0.0"
- micromark-util-decode-string "^1.0.0"
- micromark-util-normalize-identifier "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.0"
- unist-util-stringify-position "^3.0.0"
- uvu "^0.5.0"
-
-mdast-util-to-hast@^12.1.0:
- version "12.3.0"
- resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz#045d2825fb04374e59970f5b3f279b5700f6fb49"
- integrity sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==
- dependencies:
- "@types/hast" "^2.0.0"
- "@types/mdast" "^3.0.0"
- mdast-util-definitions "^5.0.0"
- micromark-util-sanitize-uri "^1.1.0"
- trim-lines "^3.0.0"
- unist-util-generated "^2.0.0"
- unist-util-position "^4.0.0"
- unist-util-visit "^4.0.0"
-
-mdast-util-to-string@^3.1.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-3.2.0.tgz#66f7bb6324756741c5f47a53557f0cbf16b6f789"
- integrity sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==
- dependencies:
- "@types/mdast" "^3.0.0"
-
-media-query-parser@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/media-query-parser/-/media-query-parser-2.0.2.tgz#ff79e56cee92615a304a1c2fa4f2bd056c0a1d29"
- integrity sha512-1N4qp+jE0pL5Xv4uEcwVUhIkwdUO3S/9gML90nqKA7v7FcOS5vUtatfzok9S9U1EJU8dHWlcv95WLnKmmxZI9w==
- dependencies:
- "@babel/runtime" "^7.12.5"
-
-media-typer@0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
- integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==
-
-memorystream@^0.3.1:
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2"
- integrity sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==
-
-merge-descriptors@1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
- integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==
-
-merge2@^1.3.0, merge2@^1.4.1:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
- integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
-
-merkletreejs@^0.2.31:
- version "0.2.32"
- resolved "https://registry.yarnpkg.com/merkletreejs/-/merkletreejs-0.2.32.tgz#cf1c0760e2904e4a1cc269108d6009459fd06223"
- integrity sha512-TostQBiwYRIwSE5++jGmacu3ODcKAgqb0Y/pnIohXS7sWxh1gCkSptbmF1a43faehRDpcHf7J/kv0Ml2D/zblQ==
- dependencies:
- bignumber.js "^9.0.1"
- buffer-reverse "^1.0.1"
- crypto-js "^3.1.9-1"
- treeify "^1.1.0"
- web3-utils "^1.3.4"
-
-methods@~1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
- integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==
-
-micromark-core-commonmark@^1.0.1:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/micromark-core-commonmark/-/micromark-core-commonmark-1.1.0.tgz#1386628df59946b2d39fb2edfd10f3e8e0a75bb8"
- integrity sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==
- dependencies:
- decode-named-character-reference "^1.0.0"
- micromark-factory-destination "^1.0.0"
- micromark-factory-label "^1.0.0"
- micromark-factory-space "^1.0.0"
- micromark-factory-title "^1.0.0"
- micromark-factory-whitespace "^1.0.0"
- micromark-util-character "^1.0.0"
- micromark-util-chunked "^1.0.0"
- micromark-util-classify-character "^1.0.0"
- micromark-util-html-tag-name "^1.0.0"
- micromark-util-normalize-identifier "^1.0.0"
- micromark-util-resolve-all "^1.0.0"
- micromark-util-subtokenize "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.1"
- uvu "^0.5.0"
-
-micromark-factory-destination@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/micromark-factory-destination/-/micromark-factory-destination-1.1.0.tgz#eb815957d83e6d44479b3df640f010edad667b9f"
- integrity sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==
- dependencies:
- micromark-util-character "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.0"
-
-micromark-factory-label@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/micromark-factory-label/-/micromark-factory-label-1.1.0.tgz#cc95d5478269085cfa2a7282b3de26eb2e2dec68"
- integrity sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==
- dependencies:
- micromark-util-character "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.0"
- uvu "^0.5.0"
-
-micromark-factory-space@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz#c8f40b0640a0150751d3345ed885a080b0d15faf"
- integrity sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==
- dependencies:
- micromark-util-character "^1.0.0"
- micromark-util-types "^1.0.0"
-
-micromark-factory-title@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/micromark-factory-title/-/micromark-factory-title-1.1.0.tgz#dd0fe951d7a0ac71bdc5ee13e5d1465ad7f50ea1"
- integrity sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==
- dependencies:
- micromark-factory-space "^1.0.0"
- micromark-util-character "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.0"
-
-micromark-factory-whitespace@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/micromark-factory-whitespace/-/micromark-factory-whitespace-1.1.0.tgz#798fb7489f4c8abafa7ca77eed6b5745853c9705"
- integrity sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==
- dependencies:
- micromark-factory-space "^1.0.0"
- micromark-util-character "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.0"
-
-micromark-util-character@^1.0.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-1.2.0.tgz#4fedaa3646db249bc58caeb000eb3549a8ca5dcc"
- integrity sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==
- dependencies:
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.0"
-
-micromark-util-chunked@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/micromark-util-chunked/-/micromark-util-chunked-1.1.0.tgz#37a24d33333c8c69a74ba12a14651fd9ea8a368b"
- integrity sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==
- dependencies:
- micromark-util-symbol "^1.0.0"
-
-micromark-util-classify-character@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/micromark-util-classify-character/-/micromark-util-classify-character-1.1.0.tgz#6a7f8c8838e8a120c8e3c4f2ae97a2bff9190e9d"
- integrity sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==
- dependencies:
- micromark-util-character "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.0"
-
-micromark-util-combine-extensions@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.1.0.tgz#192e2b3d6567660a85f735e54d8ea6e3952dbe84"
- integrity sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==
- dependencies:
- micromark-util-chunked "^1.0.0"
- micromark-util-types "^1.0.0"
-
-micromark-util-decode-numeric-character-reference@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.1.0.tgz#b1e6e17009b1f20bc652a521309c5f22c85eb1c6"
- integrity sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==
- dependencies:
- micromark-util-symbol "^1.0.0"
-
-micromark-util-decode-string@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/micromark-util-decode-string/-/micromark-util-decode-string-1.1.0.tgz#dc12b078cba7a3ff690d0203f95b5d5537f2809c"
- integrity sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==
- dependencies:
- decode-named-character-reference "^1.0.0"
- micromark-util-character "^1.0.0"
- micromark-util-decode-numeric-character-reference "^1.0.0"
- micromark-util-symbol "^1.0.0"
-
-micromark-util-encode@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-1.1.0.tgz#92e4f565fd4ccb19e0dcae1afab9a173bbeb19a5"
- integrity sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==
-
-micromark-util-html-tag-name@^1.0.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.2.0.tgz#48fd7a25826f29d2f71479d3b4e83e94829b3588"
- integrity sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==
-
-micromark-util-normalize-identifier@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.1.0.tgz#7a73f824eb9f10d442b4d7f120fecb9b38ebf8b7"
- integrity sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==
- dependencies:
- micromark-util-symbol "^1.0.0"
-
-micromark-util-resolve-all@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/micromark-util-resolve-all/-/micromark-util-resolve-all-1.1.0.tgz#4652a591ee8c8fa06714c9b54cd6c8e693671188"
- integrity sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==
- dependencies:
- micromark-util-types "^1.0.0"
-
-micromark-util-sanitize-uri@^1.0.0, micromark-util-sanitize-uri@^1.1.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.2.0.tgz#613f738e4400c6eedbc53590c67b197e30d7f90d"
- integrity sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==
- dependencies:
- micromark-util-character "^1.0.0"
- micromark-util-encode "^1.0.0"
- micromark-util-symbol "^1.0.0"
-
-micromark-util-subtokenize@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/micromark-util-subtokenize/-/micromark-util-subtokenize-1.1.0.tgz#941c74f93a93eaf687b9054aeb94642b0e92edb1"
- integrity sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==
- dependencies:
- micromark-util-chunked "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.0"
- uvu "^0.5.0"
-
-micromark-util-symbol@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz#813cd17837bdb912d069a12ebe3a44b6f7063142"
- integrity sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==
-
-micromark-util-types@^1.0.0, micromark-util-types@^1.0.1:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-1.1.0.tgz#e6676a8cae0bb86a2171c498167971886cb7e283"
- integrity sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==
-
-micromark@^3.0.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/micromark/-/micromark-3.2.0.tgz#1af9fef3f995ea1ea4ac9c7e2f19c48fd5c006e9"
- integrity sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==
- dependencies:
- "@types/debug" "^4.0.0"
- debug "^4.0.0"
- decode-named-character-reference "^1.0.0"
- micromark-core-commonmark "^1.0.1"
- micromark-factory-space "^1.0.0"
- micromark-util-character "^1.0.0"
- micromark-util-chunked "^1.0.0"
- micromark-util-combine-extensions "^1.0.0"
- micromark-util-decode-numeric-character-reference "^1.0.0"
- micromark-util-encode "^1.0.0"
- micromark-util-normalize-identifier "^1.0.0"
- micromark-util-resolve-all "^1.0.0"
- micromark-util-sanitize-uri "^1.0.0"
- micromark-util-subtokenize "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.1"
- uvu "^0.5.0"
-
-micromatch@^4.0.4, micromatch@^4.0.5:
- version "4.0.5"
- resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"
- integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
- dependencies:
- braces "^3.0.2"
- picomatch "^2.3.1"
-
-microseconds@0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/microseconds/-/microseconds-0.2.0.tgz#233b25f50c62a65d861f978a4a4f8ec18797dc39"
- integrity sha512-n7DHHMjR1avBbSpsTBj6fmMGh2AGrifVV4e+WYc3Q9lO+xnSZ3NyhcBND3vzzatt05LFhoKFRxrIyklmLlUtyA==
-
-mime-db@1.52.0:
- version "1.52.0"
- resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
- integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
-
-mime-types@^2.1.12, mime-types@^2.1.16, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34:
- version "2.1.35"
- resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
- integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
- dependencies:
- mime-db "1.52.0"
-
-mime@1.6.0:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
- integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
-
-mimic-response@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b"
- integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==
-
-mimic-response@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9"
- integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==
-
-min-document@^2.19.0:
- version "2.19.0"
- resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685"
- integrity sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==
- dependencies:
- dom-walk "^0.1.0"
-
-minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
- integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==
-
-minimalistic-crypto-utils@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
- integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==
-
-minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
- integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
- dependencies:
- brace-expansion "^1.1.7"
-
-minimatch@^5.0.1:
- version "5.1.6"
- resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96"
- integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==
- dependencies:
- brace-expansion "^2.0.1"
-
-minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6:
- version "1.2.8"
- resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c"
- integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==
-
-minipass@^2.6.0, minipass@^2.9.0:
- version "2.9.0"
- resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6"
- integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==
- dependencies:
- safe-buffer "^5.1.2"
- yallist "^3.0.0"
-
-minizlib@^1.3.3:
- version "1.3.3"
- resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d"
- integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==
- dependencies:
- minipass "^2.9.0"
-
-mkdirp-promise@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz#e9b8f68e552c68a9c1713b84883f7a1dd039b8a1"
- integrity sha512-Hepn5kb1lJPtVW84RFT40YG1OddBNTOVUZR2bzQUHc+Z03en8/3uX0+060JDhcEzyO08HmipsN9DcnFMxhIL9w==
- dependencies:
- mkdirp "*"
-
-mkdirp@*:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-3.0.1.tgz#e44e4c5607fb279c168241713cc6e0fea9adcb50"
- integrity sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==
-
-mkdirp@^0.5.5:
- version "0.5.6"
- resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6"
- integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==
- dependencies:
- minimist "^1.2.6"
-
-mock-fs@^4.1.0:
- version "4.14.0"
- resolved "https://registry.yarnpkg.com/mock-fs/-/mock-fs-4.14.0.tgz#ce5124d2c601421255985e6e94da80a7357b1b18"
- integrity sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw==
-
-moment@^2.29.3:
- version "2.29.4"
- resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108"
- integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==
-
-motion@10.16.2:
- version "10.16.2"
- resolved "https://registry.yarnpkg.com/motion/-/motion-10.16.2.tgz#7dc173c6ad62210a7e9916caeeaf22c51e598d21"
- integrity sha512-p+PurYqfUdcJZvtnmAqu5fJgV2kR0uLFQuBKtLeFVTrYEVllI99tiOTSefVNYuip9ELTEkepIIDftNdze76NAQ==
- dependencies:
- "@motionone/animation" "^10.15.1"
- "@motionone/dom" "^10.16.2"
- "@motionone/svelte" "^10.16.2"
- "@motionone/types" "^10.15.1"
- "@motionone/utils" "^10.15.1"
- "@motionone/vue" "^10.16.2"
-
-mri@^1.1.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b"
- integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==
-
-ms@2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
- integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==
-
-ms@2.1.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
- integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
-
-ms@2.1.3, ms@^2.0.0, ms@^2.1.1:
- version "2.1.3"
- resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
- integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
-
-multibase@^0.7.0:
- version "0.7.0"
- resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.7.0.tgz#1adfc1c50abe05eefeb5091ac0c2728d6b84581b"
- integrity sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg==
- dependencies:
- base-x "^3.0.8"
- buffer "^5.5.0"
-
-multibase@~0.6.0:
- version "0.6.1"
- resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.6.1.tgz#b76df6298536cc17b9f6a6db53ec88f85f8cc12b"
- integrity sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw==
- dependencies:
- base-x "^3.0.8"
- buffer "^5.5.0"
-
-multicodec@^0.5.5:
- version "0.5.7"
- resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-0.5.7.tgz#1fb3f9dd866a10a55d226e194abba2dcc1ee9ffd"
- integrity sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA==
- dependencies:
- varint "^5.0.0"
-
-multicodec@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-1.0.4.tgz#46ac064657c40380c28367c90304d8ed175a714f"
- integrity sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg==
- dependencies:
- buffer "^5.6.0"
- varint "^5.0.0"
-
-multiformats@^9.4.2:
- version "9.9.0"
- resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.9.0.tgz#c68354e7d21037a8f1f8833c8ccd68618e8f1d37"
- integrity sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==
-
-multihashes@^0.4.15, multihashes@~0.4.15:
- version "0.4.21"
- resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-0.4.21.tgz#dc02d525579f334a7909ade8a122dabb58ccfcb5"
- integrity sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw==
- dependencies:
- buffer "^5.5.0"
- multibase "^0.7.0"
- varint "^5.0.0"
-
-mz@^2.7.0:
- version "2.7.0"
- resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32"
- integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==
- dependencies:
- any-promise "^1.0.0"
- object-assign "^4.0.1"
- thenify-all "^1.0.0"
-
-nano-json-stream-parser@^0.1.2:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz#0cc8f6d0e2b622b479c40d499c46d64b755c6f5f"
- integrity sha512-9MqxMH/BSJC7dnLsEMPyfN5Dvoo49IsPFYMcHw3Bcfc2kN0lpHRBSzlMSVx4HGyJ7s9B31CyBTVehWJoQ8Ctew==
-
-nano-time@1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/nano-time/-/nano-time-1.0.0.tgz#b0554f69ad89e22d0907f7a12b0993a5d96137ef"
- integrity sha512-flnngywOoQ0lLQOTRNexn2gGSNuM9bKj9RZAWSzhQ+UJYaAFG9bac4DW9VHjUAzrOaIcajHybCTHe/bkvozQqA==
- dependencies:
- big-integer "^1.6.16"
-
-nanoid@^3.1.30, nanoid@^3.3.6:
- version "3.3.6"
- resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c"
- integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==
-
-natural-compare@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
- integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
-
-negotiator@0.6.3:
- version "0.6.3"
- resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd"
- integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==
-
-next-seo@^5.4.0:
- version "5.15.0"
- resolved "https://registry.yarnpkg.com/next-seo/-/next-seo-5.15.0.tgz#b1a90508599774982909ea44803323c6fb7b50f4"
- integrity sha512-LGbcY91yDKGMb7YI+28n3g+RuChUkt6pXNpa8FkfKkEmNiJkeRDEXTnnjVtwT9FmMhG6NH8qwHTelGrlYm9rgg==
-
-next-tick@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb"
- integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==
-
-next@12.1.0:
- version "12.1.0"
- resolved "https://registry.yarnpkg.com/next/-/next-12.1.0.tgz#c33d753b644be92fc58e06e5a214f143da61dd5d"
- integrity sha512-s885kWvnIlxsUFHq9UGyIyLiuD0G3BUC/xrH0CEnH5lHEWkwQcHOORgbDF0hbrW9vr/7am4ETfX4A7M6DjrE7Q==
- dependencies:
- "@next/env" "12.1.0"
- caniuse-lite "^1.0.30001283"
- postcss "8.4.5"
- styled-jsx "5.0.0"
- use-subscription "1.5.1"
- optionalDependencies:
- "@next/swc-android-arm64" "12.1.0"
- "@next/swc-darwin-arm64" "12.1.0"
- "@next/swc-darwin-x64" "12.1.0"
- "@next/swc-linux-arm-gnueabihf" "12.1.0"
- "@next/swc-linux-arm64-gnu" "12.1.0"
- "@next/swc-linux-arm64-musl" "12.1.0"
- "@next/swc-linux-x64-gnu" "12.1.0"
- "@next/swc-linux-x64-musl" "12.1.0"
- "@next/swc-win32-arm64-msvc" "12.1.0"
- "@next/swc-win32-ia32-msvc" "12.1.0"
- "@next/swc-win32-x64-msvc" "12.1.0"
-
-nice-try@^1.0.4:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
- integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==
-
-node-addon-api@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32"
- integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==
-
-node-fetch@^2.6.1, node-fetch@^2.6.12, node-fetch@^2.6.7:
- version "2.6.12"
- resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.12.tgz#02eb8e22074018e3d5a83016649d04df0e348fba"
- integrity sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==
- dependencies:
- whatwg-url "^5.0.0"
-
-node-gyp-build@^4.2.0, node-gyp-build@^4.3.0:
- version "4.6.0"
- resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.6.0.tgz#0c52e4cbf54bbd28b709820ef7b6a3c2d6209055"
- integrity sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==
-
-node-releases@^2.0.13:
- version "2.0.13"
- resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.13.tgz#d5ed1627c23e3461e819b02e57b75e4899b1c81d"
- integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==
-
-node-schedule@^2.1.0:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/node-schedule/-/node-schedule-2.1.1.tgz#6958b2c5af8834954f69bb0a7a97c62b97185de3"
- integrity sha512-OXdegQq03OmXEjt2hZP33W2YPs/E5BcFQks46+G2gAxs4gHOIVD1u7EqlYLYSKsaIpyKCK9Gbk0ta1/gjRSMRQ==
- dependencies:
- cron-parser "^4.2.0"
- long-timeout "0.1.1"
- sorted-array-functions "^1.3.0"
-
-nodemon@^2.0.15:
- version "2.0.22"
- resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-2.0.22.tgz#182c45c3a78da486f673d6c1702e00728daf5258"
- integrity sha512-B8YqaKMmyuCO7BowF1Z1/mkPqLk6cs/l63Ojtd6otKjMx47Dq1utxfRxcavH1I7VSaL8n5BUaoutadnsX3AAVQ==
- dependencies:
- chokidar "^3.5.2"
- debug "^3.2.7"
- ignore-by-default "^1.0.1"
- minimatch "^3.1.2"
- pstree.remy "^1.1.8"
- semver "^5.7.1"
- simple-update-notifier "^1.0.7"
- supports-color "^5.5.0"
- touch "^3.1.0"
- undefsafe "^2.0.5"
-
-nopt@~1.0.10:
- version "1.0.10"
- resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee"
- integrity sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==
- dependencies:
- abbrev "1"
-
-normalize-package-data@^2.3.2:
- version "2.5.0"
- resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
- integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==
- dependencies:
- hosted-git-info "^2.1.4"
- resolve "^1.10.0"
- semver "2 || 3 || 4 || 5"
- validate-npm-package-license "^3.0.1"
-
-normalize-path@^3.0.0, normalize-path@~3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
- integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
-
-normalize-range@^0.1.2:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
- integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==
-
-normalize-url@^6.0.1:
- version "6.1.0"
- resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a"
- integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==
-
-npm-run-all@^4.1.5:
- version "4.1.5"
- resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.1.5.tgz#04476202a15ee0e2e214080861bff12a51d98fba"
- integrity sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==
- dependencies:
- ansi-styles "^3.2.1"
- chalk "^2.4.1"
- cross-spawn "^6.0.5"
- memorystream "^0.3.1"
- minimatch "^3.0.4"
- pidtree "^0.3.0"
- read-pkg "^3.0.0"
- shell-quote "^1.6.1"
- string.prototype.padend "^3.0.0"
-
-number-to-bn@1.7.0:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/number-to-bn/-/number-to-bn-1.7.0.tgz#bb3623592f7e5f9e0030b1977bd41a0c53fe1ea0"
- integrity sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==
- dependencies:
- bn.js "4.11.6"
- strip-hex-prefix "1.0.0"
-
-numeraljs@^1.5.6:
- version "1.5.6"
- resolved "https://registry.yarnpkg.com/numeraljs/-/numeraljs-1.5.6.tgz#91ac1901578a42657b877583a28b5ea040a83271"
- integrity sha512-lfrMgCYxR8lev7FFvFXv1A3nhL84UOW4BYdpSTWYu/9Ji/Ib0RJN4LCnRzs0iVU91eutzRzwcPdoWh5QKkn/pg==
-
-oauth-sign@~0.9.0:
- version "0.9.0"
- resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
- integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==
-
-object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
- integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
-
-object-hash@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9"
- integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==
-
-object-inspect@^1.12.3, object-inspect@^1.9.0:
- version "1.12.3"
- resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9"
- integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==
-
-object-keys@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
- integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
-
-object.assign@^4.1.4:
- version "4.1.4"
- resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f"
- integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.4"
- has-symbols "^1.0.3"
- object-keys "^1.1.1"
-
-object.entries@^1.1.6:
- version "1.1.6"
- resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.6.tgz#9737d0e5b8291edd340a3e3264bb8a3b00d5fa23"
- integrity sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.4"
- es-abstract "^1.20.4"
-
-object.fromentries@^2.0.6:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.6.tgz#cdb04da08c539cffa912dcd368b886e0904bfa73"
- integrity sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.4"
- es-abstract "^1.20.4"
-
-object.groupby@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/object.groupby/-/object.groupby-1.0.0.tgz#cb29259cf90f37e7bac6437686c1ea8c916d12a9"
- integrity sha512-70MWG6NfRH9GnbZOikuhPPYzpUpof9iW2J9E4dW7FXTqPNb6rllE6u39SKwwiNh8lCwX3DDb5OgcKGiEBrTTyw==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.2.0"
- es-abstract "^1.21.2"
- get-intrinsic "^1.2.1"
-
-object.hasown@^1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.2.tgz#f919e21fad4eb38a57bc6345b3afd496515c3f92"
- integrity sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==
- dependencies:
- define-properties "^1.1.4"
- es-abstract "^1.20.4"
-
-object.values@^1.1.6:
- version "1.1.6"
- resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.6.tgz#4abbaa71eba47d63589d402856f908243eea9b1d"
- integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.4"
- es-abstract "^1.20.4"
-
-oblivious-set@1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/oblivious-set/-/oblivious-set-1.0.0.tgz#c8316f2c2fb6ff7b11b6158db3234c49f733c566"
- integrity sha512-z+pI07qxo4c2CulUHCDf9lcqDlMSo72N/4rLUpRXf6fu+q8vjt8y0xS+Tlf8NTJDdTXHbdeO1n3MlbctwEoXZw==
-
-oboe@2.1.5:
- version "2.1.5"
- resolved "https://registry.yarnpkg.com/oboe/-/oboe-2.1.5.tgz#5554284c543a2266d7a38f17e073821fbde393cd"
- integrity sha512-zRFWiF+FoicxEs3jNI/WYUrVEgA7DeET/InK0XQuudGHRg8iIob3cNPrJTKaz4004uaA9Pbe+Dwa8iluhjLZWA==
- dependencies:
- http-https "^1.0.0"
-
-on-exit-leak-free@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/on-exit-leak-free/-/on-exit-leak-free-0.2.0.tgz#b39c9e3bf7690d890f4861558b0d7b90a442d209"
- integrity sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg==
-
-on-finished@2.4.1:
- version "2.4.1"
- resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f"
- integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==
- dependencies:
- ee-first "1.1.1"
-
-once@^1.3.0, once@^1.3.1, once@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
- integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
- dependencies:
- wrappy "1"
-
-one-time@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/one-time/-/one-time-1.0.0.tgz#e06bc174aed214ed58edede573b433bbf827cb45"
- integrity sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==
- dependencies:
- fn.name "1.x.x"
-
-optionator@^0.9.1:
- version "0.9.3"
- resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64"
- integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==
- dependencies:
- "@aashutoshrathi/word-wrap" "^1.2.3"
- deep-is "^0.1.3"
- fast-levenshtein "^2.0.6"
- levn "^0.4.1"
- prelude-ls "^1.2.1"
- type-check "^0.4.0"
-
-outdent@^0.8.0:
- version "0.8.0"
- resolved "https://registry.yarnpkg.com/outdent/-/outdent-0.8.0.tgz#2ebc3e77bf49912543f1008100ff8e7f44428eb0"
- integrity sha512-KiOAIsdpUTcAXuykya5fnVVT+/5uS0Q1mrkRHcF89tpieSmY33O/tmc54CqwA+bfhbtEfZUNLHaPUiB9X3jt1A==
-
-p-cancelable@^2.0.0:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf"
- integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==
-
-p-cancelable@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-3.0.0.tgz#63826694b54d61ca1c20ebcb6d3ecf5e14cd8050"
- integrity sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==
-
-p-limit@^2.2.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
- integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
- dependencies:
- p-try "^2.0.0"
-
-p-limit@^3.0.1:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
- integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
- dependencies:
- yocto-queue "^0.1.0"
-
-p-locate@^4.1.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07"
- integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==
- dependencies:
- p-limit "^2.2.0"
-
-p-try@^2.0.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
- integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
-
-parent-module@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
- integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
- dependencies:
- callsites "^3.0.0"
-
-parse-headers@^2.0.0:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.5.tgz#069793f9356a54008571eb7f9761153e6c770da9"
- integrity sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA==
-
-parse-json@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0"
- integrity sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==
- dependencies:
- error-ex "^1.3.1"
- json-parse-better-errors "^1.0.1"
-
-parse-srcset@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/parse-srcset/-/parse-srcset-1.0.2.tgz#f2bd221f6cc970a938d88556abc589caaaa2bde1"
- integrity sha512-/2qh0lav6CmI15FzA3i/2Bzk2zCgQhGMkvhOhKNcBVQ1ldgpbfiNTVslmooUmWJcADi1f1kIeynbDRVzNlfR6Q==
-
-parseurl@~1.3.3:
- version "1.3.3"
- resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
- integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
-
-path-exists@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
- integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
-
-path-is-absolute@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
- integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
-
-path-key@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
- integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==
-
-path-key@^3.1.0:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
- integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
-
-path-parse@^1.0.7:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
- integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
-
-path-to-regexp@0.1.7:
- version "0.1.7"
- resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
- integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==
-
-path-type@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f"
- integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==
- dependencies:
- pify "^3.0.0"
-
-path-type@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
- integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
-
-pbkdf2@^3.0.17:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075"
- integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==
- dependencies:
- create-hash "^1.1.2"
- create-hmac "^1.1.4"
- ripemd160 "^2.0.1"
- safe-buffer "^5.0.1"
- sha.js "^2.4.8"
-
-performance-now@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
- integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==
-
-picocolors@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
- integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
-
-picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1:
- version "2.3.1"
- resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
- integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
-
-pidtree@^0.3.0:
- version "0.3.1"
- resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.3.1.tgz#ef09ac2cc0533df1f3250ccf2c4d366b0d12114a"
- integrity sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==
-
-pify@^2.3.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
- integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==
-
-pify@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
- integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==
-
-pify@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/pify/-/pify-5.0.0.tgz#1f5eca3f5e87ebec28cc6d54a0e4aaf00acc127f"
- integrity sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==
-
-pino-abstract-transport@v0.5.0:
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/pino-abstract-transport/-/pino-abstract-transport-0.5.0.tgz#4b54348d8f73713bfd14e3dc44228739aa13d9c0"
- integrity sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ==
- dependencies:
- duplexify "^4.1.2"
- split2 "^4.0.0"
-
-pino-std-serializers@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-4.0.0.tgz#1791ccd2539c091ae49ce9993205e2cd5dbba1e2"
- integrity sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q==
-
-pino@7.11.0:
- version "7.11.0"
- resolved "https://registry.yarnpkg.com/pino/-/pino-7.11.0.tgz#0f0ea5c4683dc91388081d44bff10c83125066f6"
- integrity sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg==
- dependencies:
- atomic-sleep "^1.0.0"
- fast-redact "^3.0.0"
- on-exit-leak-free "^0.2.0"
- pino-abstract-transport v0.5.0
- pino-std-serializers "^4.0.0"
- process-warning "^1.0.0"
- quick-format-unescaped "^4.0.3"
- real-require "^0.1.0"
- safe-stable-stringify "^2.1.0"
- sonic-boom "^2.2.1"
- thread-stream "^0.15.1"
-
-pirates@^4.0.1:
- version "4.0.6"
- resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9"
- integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==
-
-pngjs@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-5.0.0.tgz#e79dd2b215767fd9c04561c01236df960bce7fbb"
- integrity sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==
-
-postcss-import@^15.1.0:
- version "15.1.0"
- resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-15.1.0.tgz#41c64ed8cc0e23735a9698b3249ffdbf704adc70"
- integrity sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==
- dependencies:
- postcss-value-parser "^4.0.0"
- read-cache "^1.0.0"
- resolve "^1.1.7"
-
-postcss-js@^4.0.0, postcss-js@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.1.tgz#61598186f3703bab052f1c4f7d805f3991bee9d2"
- integrity sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==
- dependencies:
- camelcase-css "^2.0.1"
-
-postcss-load-config@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-4.0.1.tgz#152383f481c2758274404e4962743191d73875bd"
- integrity sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==
- dependencies:
- lilconfig "^2.0.5"
- yaml "^2.1.1"
-
-postcss-nested@^6.0.1:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-6.0.1.tgz#f83dc9846ca16d2f4fa864f16e9d9f7d0961662c"
- integrity sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==
- dependencies:
- postcss-selector-parser "^6.0.11"
-
-postcss-selector-parser@6.0.10:
- version "6.0.10"
- resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz#79b61e2c0d1bfc2602d549e11d0876256f8df88d"
- integrity sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==
- dependencies:
- cssesc "^3.0.0"
- util-deprecate "^1.0.2"
-
-postcss-selector-parser@^6.0.11:
- version "6.0.13"
- resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz#d05d8d76b1e8e173257ef9d60b706a8e5e99bf1b"
- integrity sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==
- dependencies:
- cssesc "^3.0.0"
- util-deprecate "^1.0.2"
-
-postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514"
- integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
-
-postcss@8.4.5:
- version "8.4.5"
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.5.tgz#bae665764dfd4c6fcc24dc0fdf7e7aa00cc77f95"
- integrity sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==
- dependencies:
- nanoid "^3.1.30"
- picocolors "^1.0.0"
- source-map-js "^1.0.1"
-
-postcss@^8.3.11, postcss@^8.4.23, postcss@^8.4.6:
- version "8.4.27"
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.27.tgz#234d7e4b72e34ba5a92c29636734349e0d9c3057"
- integrity sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==
- dependencies:
- nanoid "^3.3.6"
- picocolors "^1.0.0"
- source-map-js "^1.0.2"
-
-preact@^10.12.0, preact@^10.5.9:
- version "10.16.0"
- resolved "https://registry.yarnpkg.com/preact/-/preact-10.16.0.tgz#68a06d70b191b8a313ea722d61e09c6b2a79a37e"
- integrity sha512-XTSj3dJ4roKIC93pald6rWuB2qQJO9gO2iLLyTe87MrjQN+HklueLsmskbywEWqCHlclgz3/M4YLL2iBr9UmMA==
-
-prelude-ls@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
- integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
-
-prettier@^2.6.0:
- version "2.8.8"
- resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da"
- integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==
-
-prisma@^3.10.0:
- version "3.15.2"
- resolved "https://registry.yarnpkg.com/prisma/-/prisma-3.15.2.tgz#4ebe32fb284da3ac60c49fbc16c75e56ecf32067"
- integrity sha512-nMNSMZvtwrvoEQ/mui8L/aiCLZRCj5t6L3yujKpcDhIPk7garp8tL4nMx2+oYsN0FWBacevJhazfXAbV1kfBzA==
- dependencies:
- "@prisma/engines" "3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e"
-
-process-warning@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/process-warning/-/process-warning-1.0.0.tgz#980a0b25dc38cd6034181be4b7726d89066b4616"
- integrity sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==
-
-process@^0.11.10:
- version "0.11.10"
- resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
- integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==
-
-progress@^2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
- integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
-
-prop-types@^15.0.0, prop-types@^15.7.2, prop-types@^15.8.1:
- version "15.8.1"
- resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5"
- integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==
- dependencies:
- loose-envify "^1.4.0"
- object-assign "^4.1.1"
- react-is "^16.13.1"
-
-property-information@^6.0.0:
- version "6.2.0"
- resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.2.0.tgz#b74f522c31c097b5149e3c3cb8d7f3defd986a1d"
- integrity sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg==
-
-proxy-addr@~2.0.7:
- version "2.0.7"
- resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025"
- integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==
- dependencies:
- forwarded "0.2.0"
- ipaddr.js "1.9.1"
-
-proxy-compare@2.5.1:
- version "2.5.1"
- resolved "https://registry.yarnpkg.com/proxy-compare/-/proxy-compare-2.5.1.tgz#17818e33d1653fbac8c2ec31406bce8a2966f600"
- integrity sha512-oyfc0Tx87Cpwva5ZXezSp5V9vht1c7dZBhvuV/y3ctkgMVUmiAGDVeeB0dKhGSyT0v1ZTEQYpe/RXlBVBNuCLA==
-
-proxy-from-env@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
- integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
-
-psl@^1.1.28:
- version "1.9.0"
- resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7"
- integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==
-
-pstree.remy@^1.1.8:
- version "1.1.8"
- resolved "https://registry.yarnpkg.com/pstree.remy/-/pstree.remy-1.1.8.tgz#c242224f4a67c21f686839bbdb4ac282b8373d3a"
- integrity sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==
-
-pump@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
- integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
- dependencies:
- end-of-stream "^1.1.0"
- once "^1.3.1"
-
-punycode@2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.0.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d"
- integrity sha512-Yxz2kRwT90aPiWEMHVYnEf4+rhwF1tBmmZ4KepCP+Wkium9JxtWnUm1nqGwpiAHr/tnTSeHqr3wb++jgSkXjhA==
-
-punycode@^2.1.0, punycode@^2.1.1:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f"
- integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==
-
-qrcode@1.5.0:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.5.0.tgz#95abb8a91fdafd86f8190f2836abbfc500c72d1b"
- integrity sha512-9MgRpgVc+/+47dFvQeD6U2s0Z92EsKzcHogtum4QB+UNd025WOJSHvn/hjk9xmzj7Stj95CyUAs31mrjxliEsQ==
- dependencies:
- dijkstrajs "^1.0.1"
- encode-utf8 "^1.0.3"
- pngjs "^5.0.0"
- yargs "^15.3.1"
-
-qrcode@1.5.3, qrcode@^1.5.1:
- version "1.5.3"
- resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.5.3.tgz#03afa80912c0dccf12bc93f615a535aad1066170"
- integrity sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==
- dependencies:
- dijkstrajs "^1.0.1"
- encode-utf8 "^1.0.3"
- pngjs "^5.0.0"
- yargs "^15.3.1"
-
-qs@6.11.0:
- version "6.11.0"
- resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a"
- integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==
- dependencies:
- side-channel "^1.0.4"
-
-qs@^6.10.3:
- version "6.11.2"
- resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.2.tgz#64bea51f12c1f5da1bc01496f48ffcff7c69d7d9"
- integrity sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==
- dependencies:
- side-channel "^1.0.4"
-
-qs@~6.5.2:
- version "6.5.3"
- resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad"
- integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==
-
-query-string@7.1.3:
- version "7.1.3"
- resolved "https://registry.yarnpkg.com/query-string/-/query-string-7.1.3.tgz#a1cf90e994abb113a325804a972d98276fe02328"
- integrity sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==
- dependencies:
- decode-uri-component "^0.2.2"
- filter-obj "^1.1.0"
- split-on-first "^1.0.0"
- strict-uri-encode "^2.0.0"
-
-query-string@^5.0.1:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb"
- integrity sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==
- dependencies:
- decode-uri-component "^0.2.0"
- object-assign "^4.1.0"
- strict-uri-encode "^1.0.0"
-
-query-string@^6.13.5:
- version "6.14.1"
- resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.14.1.tgz#7ac2dca46da7f309449ba0f86b1fd28255b0c86a"
- integrity sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==
- dependencies:
- decode-uri-component "^0.2.0"
- filter-obj "^1.1.0"
- split-on-first "^1.0.0"
- strict-uri-encode "^2.0.0"
-
-queue-microtask@^1.2.2:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
- integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
-
-quick-format-unescaped@^4.0.3:
- version "4.0.4"
- resolved "https://registry.yarnpkg.com/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz#93ef6dd8d3453cbc7970dd614fad4c5954d6b5a7"
- integrity sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==
-
-quick-lru@^5.1.1:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932"
- integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==
-
-randombytes@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
- integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==
- dependencies:
- safe-buffer "^5.1.0"
-
-range-parser@~1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
- integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
-
-raw-body@2.5.1:
- version "2.5.1"
- resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857"
- integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==
- dependencies:
- bytes "3.1.2"
- http-errors "2.0.0"
- iconv-lite "0.4.24"
- unpipe "1.0.0"
-
-raw-body@2.5.2:
- version "2.5.2"
- resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a"
- integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==
- dependencies:
- bytes "3.1.2"
- http-errors "2.0.0"
- iconv-lite "0.4.24"
- unpipe "1.0.0"
-
-react-chartjs-2@^4.1.0:
- version "4.3.1"
- resolved "https://registry.yarnpkg.com/react-chartjs-2/-/react-chartjs-2-4.3.1.tgz#9941e7397fb963f28bb557addb401e9ff96c6681"
- integrity sha512-5i3mjP6tU7QSn0jvb8I4hudTzHJqS8l00ORJnVwI2sYu0ihpj83Lv2YzfxunfxTZkscKvZu2F2w9LkwNBhj6xA==
-
-react-countdown@^2.3.2:
- version "2.3.5"
- resolved "https://registry.yarnpkg.com/react-countdown/-/react-countdown-2.3.5.tgz#70c035b5cbc7e8fdb4ad91fe5f44afd7a7933a68"
- integrity sha512-K26ENYEesMfPxhRRtm1r+Pf70SErrvW3g4CArLi/x6MPFjgfDFYePT4UghEj8p2nI0cqVV7/JjDgjyr//U60Og==
- dependencies:
- prop-types "^15.7.2"
-
-react-device-detect@^2.2.2:
- version "2.2.3"
- resolved "https://registry.yarnpkg.com/react-device-detect/-/react-device-detect-2.2.3.tgz#97a7ae767cdd004e7c3578260f48cf70c036e7ca"
- integrity sha512-buYY3qrCnQVlIFHrC5UcUoAj7iANs/+srdkwsnNjI7anr3Tt7UY6MqNxtMLlr0tMBied0O49UZVK8XKs3ZIiPw==
- dependencies:
- ua-parser-js "^1.0.33"
-
-react-dom@17.0.2:
- version "17.0.2"
- resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23"
- integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==
- dependencies:
- loose-envify "^1.1.0"
- object-assign "^4.1.1"
- scheduler "^0.20.2"
-
-react-is@^16.13.1, react-is@^16.7.0:
- version "16.13.1"
- resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
- integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
-
-react-is@^18.0.0:
- version "18.2.0"
- resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b"
- integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==
-
-react-markdown@^8.0.0:
- version "8.0.7"
- resolved "https://registry.yarnpkg.com/react-markdown/-/react-markdown-8.0.7.tgz#c8dbd1b9ba5f1c5e7e5f2a44de465a3caafdf89b"
- integrity sha512-bvWbzG4MtOU62XqBx3Xx+zB2raaFFsq4mYiAzfjXJMEz2sixgeAfraA3tvzULF02ZdOMUOKTBFFaZJDDrq+BJQ==
- dependencies:
- "@types/hast" "^2.0.0"
- "@types/prop-types" "^15.0.0"
- "@types/unist" "^2.0.0"
- comma-separated-tokens "^2.0.0"
- hast-util-whitespace "^2.0.0"
- prop-types "^15.0.0"
- property-information "^6.0.0"
- react-is "^18.0.0"
- remark-parse "^10.0.0"
- remark-rehype "^10.0.0"
- space-separated-tokens "^2.0.0"
- style-to-object "^0.4.0"
- unified "^10.0.0"
- unist-util-visit "^4.0.0"
- vfile "^5.0.0"
-
-react-query@^3.39.3:
- version "3.39.3"
- resolved "https://registry.yarnpkg.com/react-query/-/react-query-3.39.3.tgz#4cea7127c6c26bdea2de5fb63e51044330b03f35"
- integrity sha512-nLfLz7GiohKTJDuT4us4X3h/8unOh+00MLb2yJoGTPjxKs2bc1iDhkNx2bd5MKklXnOD3NrVZ+J2UXujA5In4g==
- dependencies:
- "@babel/runtime" "^7.5.5"
- broadcast-channel "^3.4.1"
- match-sorter "^6.0.2"
-
-react-remove-scroll-bar@^2.3.3:
- version "2.3.4"
- resolved "https://registry.yarnpkg.com/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.4.tgz#53e272d7a5cb8242990c7f144c44d8bd8ab5afd9"
- integrity sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==
- dependencies:
- react-style-singleton "^2.2.1"
- tslib "^2.0.0"
-
-react-remove-scroll@2.5.4:
- version "2.5.4"
- resolved "https://registry.yarnpkg.com/react-remove-scroll/-/react-remove-scroll-2.5.4.tgz#afe6491acabde26f628f844b67647645488d2ea0"
- integrity sha512-xGVKJJr0SJGQVirVFAUZ2k1QLyO6m+2fy0l8Qawbp5Jgrv3DeLalrfMNBFSlmz5kriGGzsVBtGVnf4pTKIhhWA==
- dependencies:
- react-remove-scroll-bar "^2.3.3"
- react-style-singleton "^2.2.1"
- tslib "^2.1.0"
- use-callback-ref "^1.3.0"
- use-sidecar "^1.1.2"
-
-react-sticky-el@^2.0.9:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/react-sticky-el/-/react-sticky-el-2.1.0.tgz#d58da1a333a9cabc264c11912338d986bbe31715"
- integrity sha512-oo+a2GedF4QMfCfm20e9gD+RuuQp/ngvwGMUXAXpST+h4WnmKhuv7x6MQ4X/e3AHiLYgE0zDyJo1Pzo8m51KpA==
-
-react-style-singleton@^2.2.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/react-style-singleton/-/react-style-singleton-2.2.1.tgz#f99e420492b2d8f34d38308ff660b60d0b1205b4"
- integrity sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==
- dependencies:
- get-nonce "^1.0.0"
- invariant "^2.2.4"
- tslib "^2.0.0"
-
-react-toastify@^8.2.0:
- version "8.2.0"
- resolved "https://registry.yarnpkg.com/react-toastify/-/react-toastify-8.2.0.tgz#ef7d56bdfdc6272ca6b228368ab564721c3a3244"
- integrity sha512-Pg2Ju7NngAamarFvLwqrFomJ57u/Ay6i6zfLurt/qPynWkAkOthu6vxfqYpJCyNhHRhR4hu7+bySSeWWJu6PAg==
- dependencies:
- clsx "^1.1.1"
-
-react-tooltip@^4.2.21:
- version "4.5.1"
- resolved "https://registry.yarnpkg.com/react-tooltip/-/react-tooltip-4.5.1.tgz#77eccccdf16adec804132e558ec20ca5783b866a"
- integrity sha512-Zo+CSFUGXar1uV+bgXFFDe7VeS2iByeIp5rTgTcc2HqtuOS5D76QapejNNfx320MCY91TlhTQat36KGFTqgcvw==
- dependencies:
- prop-types "^15.8.1"
- uuid "^7.0.3"
-
-react@17.0.2:
- version "17.0.2"
- resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037"
- integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==
- dependencies:
- loose-envify "^1.1.0"
- object-assign "^4.1.1"
-
-read-cache@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774"
- integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==
- dependencies:
- pify "^2.3.0"
-
-read-pkg@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389"
- integrity sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==
- dependencies:
- load-json-file "^4.0.0"
- normalize-package-data "^2.3.2"
- path-type "^3.0.0"
-
-readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0:
- version "3.6.2"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967"
- integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==
- dependencies:
- inherits "^2.0.3"
- string_decoder "^1.1.1"
- util-deprecate "^1.0.1"
-
-readdirp@~3.6.0:
- version "3.6.0"
- resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
- integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
- dependencies:
- picomatch "^2.2.1"
-
-real-require@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/real-require/-/real-require-0.1.0.tgz#736ac214caa20632847b7ca8c1056a0767df9381"
- integrity sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg==
-
-regenerator-runtime@^0.13.11:
- version "0.13.11"
- resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9"
- integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==
-
-regexp.prototype.flags@^1.4.3, regexp.prototype.flags@^1.5.0:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz#fe7ce25e7e4cca8db37b6634c8a2c7009199b9cb"
- integrity sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.2.0"
- functions-have-names "^1.2.3"
-
-regexpp@^3.2.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2"
- integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==
-
-remark-parse@^10.0.0:
- version "10.0.2"
- resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-10.0.2.tgz#ca241fde8751c2158933f031a4e3efbaeb8bc262"
- integrity sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==
- dependencies:
- "@types/mdast" "^3.0.0"
- mdast-util-from-markdown "^1.0.0"
- unified "^10.0.0"
-
-remark-rehype@^10.0.0:
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/remark-rehype/-/remark-rehype-10.1.0.tgz#32dc99d2034c27ecaf2e0150d22a6dcccd9a6279"
- integrity sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==
- dependencies:
- "@types/hast" "^2.0.0"
- "@types/mdast" "^3.0.0"
- mdast-util-to-hast "^12.1.0"
- unified "^10.0.0"
-
-remove-accents@0.4.2:
- version "0.4.2"
- resolved "https://registry.yarnpkg.com/remove-accents/-/remove-accents-0.4.2.tgz#0a43d3aaae1e80db919e07ae254b285d9e1c7bb5"
- integrity sha512-7pXIJqJOq5tFgG1A2Zxti3Ht8jJF337m4sowbuHsW30ZnkQFnDzy9qBNhgzX8ZLW4+UBcXiiR7SwR6pokHsxiA==
-
-request@^2.79.0:
- version "2.88.2"
- resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
- integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==
- dependencies:
- aws-sign2 "~0.7.0"
- aws4 "^1.8.0"
- caseless "~0.12.0"
- combined-stream "~1.0.6"
- extend "~3.0.2"
- forever-agent "~0.6.1"
- form-data "~2.3.2"
- har-validator "~5.1.3"
- http-signature "~1.2.0"
- is-typedarray "~1.0.0"
- isstream "~0.1.2"
- json-stringify-safe "~5.0.1"
- mime-types "~2.1.19"
- oauth-sign "~0.9.0"
- performance-now "^2.1.0"
- qs "~6.5.2"
- safe-buffer "^5.1.2"
- tough-cookie "~2.5.0"
- tunnel-agent "^0.6.0"
- uuid "^3.3.2"
-
-require-directory@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
- integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==
-
-require-main-filename@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
- integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==
-
-resolve-alpn@^1.0.0, resolve-alpn@^1.2.0:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9"
- integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==
-
-resolve-from@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
- integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
-
-resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.22.0, resolve@^1.22.1, resolve@^1.22.2:
- version "1.22.2"
- resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.2.tgz#0ed0943d4e301867955766c9f3e1ae6d01c6845f"
- integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==
- dependencies:
- is-core-module "^2.11.0"
- path-parse "^1.0.7"
- supports-preserve-symlinks-flag "^1.0.0"
-
-resolve@^1.22.3:
- version "1.22.3"
- resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.3.tgz#4b4055349ffb962600972da1fdc33c46a4eb3283"
- integrity sha512-P8ur/gp/AmbEzjr729bZnLjXK5Z+4P0zhIJgBgzqRih7hL7BOukHGtSTA3ACMY467GRFz3duQsi0bDZdR7DKdw==
- dependencies:
- is-core-module "^2.12.0"
- path-parse "^1.0.7"
- supports-preserve-symlinks-flag "^1.0.0"
-
-resolve@^2.0.0-next.4:
- version "2.0.0-next.4"
- resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.4.tgz#3d37a113d6429f496ec4752d2a2e58efb1fd4660"
- integrity sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==
- dependencies:
- is-core-module "^2.9.0"
- path-parse "^1.0.7"
- supports-preserve-symlinks-flag "^1.0.0"
-
-responselike@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.1.tgz#9a0bc8fdc252f3fb1cca68b016591059ba1422bc"
- integrity sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==
- dependencies:
- lowercase-keys "^2.0.0"
-
-reusify@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
- integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
-
-rimraf@3.0.2, rimraf@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
- integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
- dependencies:
- glob "^7.1.3"
-
-ripemd160@^2.0.0, ripemd160@^2.0.1:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c"
- integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==
- dependencies:
- hash-base "^3.0.0"
- inherits "^2.0.1"
-
-rlp@^2.0.0, rlp@^2.2.3, rlp@^2.2.4:
- version "2.2.7"
- resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.7.tgz#33f31c4afac81124ac4b283e2bd4d9720b30beaf"
- integrity sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==
- dependencies:
- bn.js "^5.2.0"
-
-rollup@2.78.0:
- version "2.78.0"
- resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.78.0.tgz#00995deae70c0f712ea79ad904d5f6b033209d9e"
- integrity sha512-4+YfbQC9QEVvKTanHhIAFVUFSRsezvQF8vFOJwtGfb9Bb+r014S+qryr9PSmw8x6sMnPkmFBGAvIFVQxvJxjtg==
- optionalDependencies:
- fsevents "~2.3.2"
-
-rpc-websockets@^7.5.1:
- version "7.5.1"
- resolved "https://registry.yarnpkg.com/rpc-websockets/-/rpc-websockets-7.5.1.tgz#e0a05d525a97e7efc31a0617f093a13a2e10c401"
- integrity sha512-kGFkeTsmd37pHPMaHIgN1LVKXMi0JD782v4Ds9ZKtLlwdTKjn+CxM9A9/gLT2LaOuEcEFGL98h1QWQtlOIdW0w==
- dependencies:
- "@babel/runtime" "^7.17.2"
- eventemitter3 "^4.0.7"
- uuid "^8.3.2"
- ws "^8.5.0"
- optionalDependencies:
- bufferutil "^4.0.1"
- utf-8-validate "^5.0.2"
-
-run-parallel@^1.1.9:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
- integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
- dependencies:
- queue-microtask "^1.2.2"
-
-rxjs@^6.6.3:
- version "6.6.7"
- resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9"
- integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==
- dependencies:
- tslib "^1.9.0"
-
-rxjs@^7.5.4:
- version "7.8.1"
- resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.1.tgz#6f6f3d99ea8044291efd92e7c7fcf562c4057543"
- integrity sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==
- dependencies:
- tslib "^2.1.0"
-
-sade@^1.7.3:
- version "1.8.1"
- resolved "https://registry.yarnpkg.com/sade/-/sade-1.8.1.tgz#0a78e81d658d394887be57d2a409bf703a3b2701"
- integrity sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==
- dependencies:
- mri "^1.1.0"
-
-safe-array-concat@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.0.0.tgz#2064223cba3c08d2ee05148eedbc563cd6d84060"
- integrity sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ==
- dependencies:
- call-bind "^1.0.2"
- get-intrinsic "^1.2.0"
- has-symbols "^1.0.3"
- isarray "^2.0.5"
-
-safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
- integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
-
-safe-buffer@~5.1.0:
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
- integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
-
-safe-event-emitter@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/safe-event-emitter/-/safe-event-emitter-1.0.1.tgz#5b692ef22329ed8f69fdce607e50ca734f6f20af"
- integrity sha512-e1wFe99A91XYYxoQbcq2ZJUWurxEyP8vfz7A7vuUe1s95q8r5ebraVaA1BukYJcpM6V16ugWoD9vngi8Ccu5fg==
- dependencies:
- events "^3.0.0"
-
-safe-json-utils@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/safe-json-utils/-/safe-json-utils-1.1.1.tgz#0e883874467d95ab914c3f511096b89bfb3e63b1"
- integrity sha512-SAJWGKDs50tAbiDXLf89PDwt9XYkWyANFWVzn4dTXl5QyI8t2o/bW5/OJl3lvc2WVU4MEpTo9Yz5NVFNsp+OJQ==
-
-safe-memory-cache@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/safe-memory-cache/-/safe-memory-cache-2.0.0.tgz#66eb00e515a0838972b6d85b38e2fc28afe63379"
- integrity sha512-49YT3x2WpAQ5gYhYpHaZdOLJwqgePkbRpPZXHHzLtRObVJXkgyoAg74jvJA6r3KCeQYw8x09o9b5bQK3LPC1BA==
-
-safe-regex-test@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295"
- integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==
- dependencies:
- call-bind "^1.0.2"
- get-intrinsic "^1.1.3"
- is-regex "^1.1.4"
-
-safe-stable-stringify@^2.1.0, safe-stable-stringify@^2.3.1:
- version "2.4.3"
- resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz#138c84b6f6edb3db5f8ef3ef7115b8f55ccbf886"
- integrity sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==
-
-"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
- integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
-
-sanitize-html@^2.7.1:
- version "2.11.0"
- resolved "https://registry.yarnpkg.com/sanitize-html/-/sanitize-html-2.11.0.tgz#9a6434ee8fcaeddc740d8ae7cd5dd71d3981f8f6"
- integrity sha512-BG68EDHRaGKqlsNjJ2xUB7gpInPA8gVx/mvjO743hZaeMCZ2DwzW7xvsqZ+KNU4QKwj86HJ3uu2liISf2qBBUA==
- dependencies:
- deepmerge "^4.2.2"
- escape-string-regexp "^4.0.0"
- htmlparser2 "^8.0.0"
- is-plain-object "^5.0.0"
- parse-srcset "^1.0.2"
- postcss "^8.3.11"
-
-scheduler@^0.20.2:
- version "0.20.2"
- resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91"
- integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==
- dependencies:
- loose-envify "^1.1.0"
- object-assign "^4.1.1"
-
-scrypt-js@3.0.1, scrypt-js@^3.0.0, scrypt-js@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312"
- integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==
-
-secp256k1@^4.0.1:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.3.tgz#c4559ecd1b8d3c1827ed2d1b94190d69ce267303"
- integrity sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==
- dependencies:
- elliptic "^6.5.4"
- node-addon-api "^2.0.0"
- node-gyp-build "^4.2.0"
-
-"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.7.1:
- version "5.7.2"
- resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8"
- integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==
-
-semver@^6.3.0, semver@^6.3.1:
- version "6.3.1"
- resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
- integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
-
-semver@^7.3.7, semver@^7.3.8:
- version "7.5.4"
- resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e"
- integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==
- dependencies:
- lru-cache "^6.0.0"
-
-semver@~7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e"
- integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==
-
-send@0.18.0:
- version "0.18.0"
- resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be"
- integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==
- dependencies:
- debug "2.6.9"
- depd "2.0.0"
- destroy "1.2.0"
- encodeurl "~1.0.2"
- escape-html "~1.0.3"
- etag "~1.8.1"
- fresh "0.5.2"
- http-errors "2.0.0"
- mime "1.6.0"
- ms "2.1.3"
- on-finished "2.4.1"
- range-parser "~1.2.1"
- statuses "2.0.1"
-
-serve-static@1.15.0:
- version "1.15.0"
- resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540"
- integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==
- dependencies:
- encodeurl "~1.0.2"
- escape-html "~1.0.3"
- parseurl "~1.3.3"
- send "0.18.0"
-
-servify@^0.1.12:
- version "0.1.12"
- resolved "https://registry.yarnpkg.com/servify/-/servify-0.1.12.tgz#142ab7bee1f1d033b66d0707086085b17c06db95"
- integrity sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw==
- dependencies:
- body-parser "^1.16.0"
- cors "^2.8.1"
- express "^4.14.0"
- request "^2.79.0"
- xhr "^2.3.3"
-
-set-blocking@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
- integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==
-
-setimmediate@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
- integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==
-
-setprototypeof@1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424"
- integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==
-
-sha.js@^2.4.0, sha.js@^2.4.11, sha.js@^2.4.8:
- version "2.4.11"
- resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7"
- integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==
- dependencies:
- inherits "^2.0.1"
- safe-buffer "^5.0.1"
-
-shebang-command@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
- integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==
- dependencies:
- shebang-regex "^1.0.0"
-
-shebang-command@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
- integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
- dependencies:
- shebang-regex "^3.0.0"
-
-shebang-regex@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
- integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==
-
-shebang-regex@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
- integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
-
-shell-quote@^1.6.1:
- version "1.8.1"
- resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680"
- integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==
-
-side-channel@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf"
- integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==
- dependencies:
- call-bind "^1.0.0"
- get-intrinsic "^1.0.2"
- object-inspect "^1.9.0"
-
-simple-concat@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f"
- integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==
-
-simple-get@^2.7.0:
- version "2.8.2"
- resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-2.8.2.tgz#5708fb0919d440657326cd5fe7d2599d07705019"
- integrity sha512-Ijd/rV5o+mSBBs4F/x9oDPtTx9Zb6X9brmnXvMW4J7IR15ngi9q5xxqWBKU744jTZiaXtxaPL7uHG6vtN8kUkw==
- dependencies:
- decompress-response "^3.3.0"
- once "^1.3.1"
- simple-concat "^1.0.0"
-
-simple-swizzle@^0.2.2:
- version "0.2.2"
- resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a"
- integrity sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==
- dependencies:
- is-arrayish "^0.3.1"
-
-simple-update-notifier@^1.0.7:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz#67694c121de354af592b347cdba798463ed49c82"
- integrity sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==
- dependencies:
- semver "~7.0.0"
-
-slash@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
- integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
-
-sonic-boom@^2.2.1:
- version "2.8.0"
- resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-2.8.0.tgz#c1def62a77425090e6ad7516aad8eb402e047611"
- integrity sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg==
- dependencies:
- atomic-sleep "^1.0.0"
-
-sorted-array-functions@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/sorted-array-functions/-/sorted-array-functions-1.3.0.tgz#8605695563294dffb2c9796d602bd8459f7a0dd5"
- integrity sha512-2sqgzeFlid6N4Z2fUQ1cvFmTOLRi/sEDzSQ0OKYchqgoPmQBVyM3959qYx3fpS6Esef80KjmpgPeEr028dP3OA==
-
-source-map-js@^1.0.1, source-map-js@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
- integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
-
-space-separated-tokens@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz#1ecd9d2350a3844572c3f4a312bceb018348859f"
- integrity sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==
-
-spdx-correct@^3.0.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c"
- integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==
- dependencies:
- spdx-expression-parse "^3.0.0"
- spdx-license-ids "^3.0.0"
-
-spdx-exceptions@^2.1.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d"
- integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==
-
-spdx-expression-parse@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679"
- integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==
- dependencies:
- spdx-exceptions "^2.1.0"
- spdx-license-ids "^3.0.0"
-
-spdx-license-ids@^3.0.0:
- version "3.0.13"
- resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz#7189a474c46f8d47c7b0da4b987bb45e908bd2d5"
- integrity sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==
-
-split-on-first@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f"
- integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==
-
-split2@^4.0.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/split2/-/split2-4.2.0.tgz#c9c5920904d148bab0b9f67145f245a86aadbfa4"
- integrity sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==
-
-sshpk@^1.7.0:
- version "1.17.0"
- resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5"
- integrity sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==
- dependencies:
- asn1 "~0.2.3"
- assert-plus "^1.0.0"
- bcrypt-pbkdf "^1.0.0"
- dashdash "^1.12.0"
- ecc-jsbn "~0.1.1"
- getpass "^0.1.1"
- jsbn "~0.1.0"
- safer-buffer "^2.0.2"
- tweetnacl "~0.14.0"
-
-stack-trace@0.0.x:
- version "0.0.10"
- resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0"
- integrity sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==
-
-statuses@2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63"
- integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
-
-stream-browserify@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f"
- integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==
- dependencies:
- inherits "~2.0.4"
- readable-stream "^3.5.0"
-
-stream-shift@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d"
- integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==
-
-strict-uri-encode@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713"
- integrity sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==
-
-strict-uri-encode@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546"
- integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==
-
-string-width@^4.1.0, string-width@^4.2.0:
- version "4.2.3"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
- integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
- dependencies:
- emoji-regex "^8.0.0"
- is-fullwidth-code-point "^3.0.0"
- strip-ansi "^6.0.1"
-
-string.prototype.matchall@^4.0.8:
- version "4.0.8"
- resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz#3bf85722021816dcd1bf38bb714915887ca79fd3"
- integrity sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.4"
- es-abstract "^1.20.4"
- get-intrinsic "^1.1.3"
- has-symbols "^1.0.3"
- internal-slot "^1.0.3"
- regexp.prototype.flags "^1.4.3"
- side-channel "^1.0.4"
-
-string.prototype.padend@^3.0.0:
- version "3.1.4"
- resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.1.4.tgz#2c43bb3a89eb54b6750de5942c123d6c98dd65b6"
- integrity sha512-67otBXoksdjsnXXRUq+KMVTdlVRZ2af422Y0aTyTjVaoQkGr3mxl2Bc5emi7dOQ3OGVVQQskmLEWwFXwommpNw==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.4"
- es-abstract "^1.20.4"
-
-string.prototype.trim@^1.2.7:
- version "1.2.7"
- resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz#a68352740859f6893f14ce3ef1bb3037f7a90533"
- integrity sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.4"
- es-abstract "^1.20.4"
-
-string.prototype.trimend@^1.0.6:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533"
- integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.4"
- es-abstract "^1.20.4"
-
-string.prototype.trimstart@^1.0.6:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4"
- integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==
- dependencies:
- call-bind "^1.0.2"
- define-properties "^1.1.4"
- es-abstract "^1.20.4"
-
-string_decoder@^1.1.1:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
- integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
- dependencies:
- safe-buffer "~5.2.0"
-
-strip-ansi@^6.0.0, strip-ansi@^6.0.1:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
- integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
- dependencies:
- ansi-regex "^5.0.1"
-
-strip-bom@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
- integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==
-
-strip-hex-prefix@1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz#0c5f155fef1151373377de9dbb588da05500e36f"
- integrity sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==
- dependencies:
- is-hex-prefixed "1.0.0"
-
-strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
- integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
-
-style-to-object@^0.4.0:
- version "0.4.2"
- resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.4.2.tgz#a8247057111dea8bd3b8a1a66d2d0c9cf9218a54"
- integrity sha512-1JGpfPB3lo42ZX8cuPrheZbfQ6kqPPnPHlKMyeRYtfKD+0jG+QsXgXN57O/dvJlzlB2elI6dGmrPnl5VPQFPaA==
- dependencies:
- inline-style-parser "0.1.1"
-
-styled-jsx@5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.0.0.tgz#816b4b92e07b1786c6b7111821750e0ba4d26e77"
- integrity sha512-qUqsWoBquEdERe10EW8vLp3jT25s/ssG1/qX5gZ4wu15OZpmSMFI2v+fWlRhLfykA5rFtlJ1ME8A8pm/peV4WA==
-
-sucrase@^3.32.0:
- version "3.34.0"
- resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.34.0.tgz#1e0e2d8fcf07f8b9c3569067d92fbd8690fb576f"
- integrity sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==
- dependencies:
- "@jridgewell/gen-mapping" "^0.3.2"
- commander "^4.0.0"
- glob "7.1.6"
- lines-and-columns "^1.1.6"
- mz "^2.7.0"
- pirates "^4.0.1"
- ts-interface-checker "^0.1.9"
-
-superstruct@^0.14.2:
- version "0.14.2"
- resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-0.14.2.tgz#0dbcdf3d83676588828f1cf5ed35cda02f59025b"
- integrity sha512-nPewA6m9mR3d6k7WkZ8N8zpTWfenFH3q9pA2PkuiZxINr9DKB2+40wEQf0ixn8VaGuJ78AB6iWOtStI+/4FKZQ==
-
-superstruct@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-1.0.3.tgz#de626a5b49c6641ff4d37da3c7598e7a87697046"
- integrity sha512-8iTn3oSS8nRGn+C2pgXSKPI3jmpm6FExNazNpjvqS6ZUJQCej3PUXEKM8NjHBOs54ExM+LPW/FBRhymrdcCiSg==
-
-supports-color@^5.3.0, supports-color@^5.5.0:
- version "5.5.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
- integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
- dependencies:
- has-flag "^3.0.0"
-
-supports-color@^7.1.0:
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
- integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
- dependencies:
- has-flag "^4.0.0"
-
-supports-preserve-symlinks-flag@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
- integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
-
-swarm-js@^0.1.40:
- version "0.1.42"
- resolved "https://registry.yarnpkg.com/swarm-js/-/swarm-js-0.1.42.tgz#497995c62df6696f6e22372f457120e43e727979"
- integrity sha512-BV7c/dVlA3R6ya1lMlSSNPLYrntt0LUq4YMgy3iwpCIc6rZnS5W2wUoctarZ5pXlpKtxDDf9hNziEkcfrxdhqQ==
- dependencies:
- bluebird "^3.5.0"
- buffer "^5.0.5"
- eth-lib "^0.1.26"
- fs-extra "^4.0.2"
- got "^11.8.5"
- mime-types "^2.1.16"
- mkdirp-promise "^5.0.1"
- mock-fs "^4.1.0"
- setimmediate "^1.0.5"
- tar "^4.0.2"
- xhr-request "^1.0.1"
-
-swr@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/swr/-/swr-1.3.0.tgz#c6531866a35b4db37b38b72c45a63171faf9f4e8"
- integrity sha512-dkghQrOl2ORX9HYrMDtPa7LTVHJjCTeZoB1dqTbnnEDlSvN8JEKpYIYurDfvbQFUUS8Cg8PceFVZNkW0KNNYPw==
-
-tailwindcss@^3, tailwindcss@^3.0.23:
- version "3.3.3"
- resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.3.3.tgz#90da807393a2859189e48e9e7000e6880a736daf"
- integrity sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==
- dependencies:
- "@alloc/quick-lru" "^5.2.0"
- arg "^5.0.2"
- chokidar "^3.5.3"
- didyoumean "^1.2.2"
- dlv "^1.1.3"
- fast-glob "^3.2.12"
- glob-parent "^6.0.2"
- is-glob "^4.0.3"
- jiti "^1.18.2"
- lilconfig "^2.1.0"
- micromatch "^4.0.5"
- normalize-path "^3.0.0"
- object-hash "^3.0.0"
- picocolors "^1.0.0"
- postcss "^8.4.23"
- postcss-import "^15.1.0"
- postcss-js "^4.0.1"
- postcss-load-config "^4.0.1"
- postcss-nested "^6.0.1"
- postcss-selector-parser "^6.0.11"
- resolve "^1.22.2"
- sucrase "^3.32.0"
-
-tar@^4.0.2:
- version "4.4.19"
- resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.19.tgz#2e4d7263df26f2b914dee10c825ab132123742f3"
- integrity sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==
- dependencies:
- chownr "^1.1.4"
- fs-minipass "^1.2.7"
- minipass "^2.9.0"
- minizlib "^1.3.3"
- mkdirp "^0.5.5"
- safe-buffer "^5.2.1"
- yallist "^3.1.1"
-
-text-encoding-utf-8@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/text-encoding-utf-8/-/text-encoding-utf-8-1.0.2.tgz#585b62197b0ae437e3c7b5d0af27ac1021e10d13"
- integrity sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg==
-
-text-hex@1.0.x:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/text-hex/-/text-hex-1.0.0.tgz#69dc9c1b17446ee79a92bf5b884bb4b9127506f5"
- integrity sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==
-
-text-table@^0.2.0:
- version "0.2.0"
- resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
- integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==
-
-thenify-all@^1.0.0:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726"
- integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==
- dependencies:
- thenify ">= 3.1.0 < 4"
-
-"thenify@>= 3.1.0 < 4":
- version "3.3.1"
- resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f"
- integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==
- dependencies:
- any-promise "^1.0.0"
-
-thread-stream@^0.15.1:
- version "0.15.2"
- resolved "https://registry.yarnpkg.com/thread-stream/-/thread-stream-0.15.2.tgz#fb95ad87d2f1e28f07116eb23d85aba3bc0425f4"
- integrity sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA==
- dependencies:
- real-require "^0.1.0"
-
-"through@>=2.2.7 <3":
- version "2.3.8"
- resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
- integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==
-
-timed-out@^4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f"
- integrity sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==
-
-to-fast-properties@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
- integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==
-
-to-regex-range@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
- integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
- dependencies:
- is-number "^7.0.0"
-
-toggle-selection@^1.0.6:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32"
- integrity sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==
-
-toidentifier@1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35"
- integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==
-
-touch@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/touch/-/touch-3.1.0.tgz#fe365f5f75ec9ed4e56825e0bb76d24ab74af83b"
- integrity sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==
- dependencies:
- nopt "~1.0.10"
-
-tough-cookie@~2.5.0:
- version "2.5.0"
- resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
- integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==
- dependencies:
- psl "^1.1.28"
- punycode "^2.1.1"
-
-tr46@~0.0.3:
- version "0.0.3"
- resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
- integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==
-
-treeify@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/treeify/-/treeify-1.1.0.tgz#4e31c6a463accd0943879f30667c4fdaff411bb8"
- integrity sha512-1m4RA7xVAJrSGrrXGs0L3YTwyvBs2S8PbRHaLZAkFw7JR8oIFwYtysxlBZhYIa7xSyiYJKZ3iGrrk55cGA3i9A==
-
-trim-lines@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/trim-lines/-/trim-lines-3.0.1.tgz#d802e332a07df861c48802c04321017b1bd87338"
- integrity sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==
-
-triple-beam@^1.3.0:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/triple-beam/-/triple-beam-1.4.1.tgz#6fde70271dc6e5d73ca0c3b24e2d92afb7441984"
- integrity sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==
-
-trough@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/trough/-/trough-2.1.0.tgz#0f7b511a4fde65a46f18477ab38849b22c554876"
- integrity sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==
-
-ts-interface-checker@^0.1.9:
- version "0.1.13"
- resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699"
- integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==
-
-tsconfig-paths@^3.14.1, tsconfig-paths@^3.14.2:
- version "3.14.2"
- resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz#6e32f1f79412decd261f92d633a9dc1cfa99f088"
- integrity sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==
- dependencies:
- "@types/json5" "^0.0.29"
- json5 "^1.0.2"
- minimist "^1.2.6"
- strip-bom "^3.0.0"
-
-tslib@1.14.1, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3:
- version "1.14.1"
- resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
- integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
-
-tslib@^2.0.0, tslib@^2.1.0, tslib@^2.3.1:
- version "2.6.1"
- resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.1.tgz#fd8c9a0ff42590b25703c0acb3de3d3f4ede0410"
- integrity sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==
-
-tsutils@^3.21.0:
- version "3.21.0"
- resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623"
- integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==
- dependencies:
- tslib "^1.8.1"
-
-tunnel-agent@^0.6.0:
- version "0.6.0"
- resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
- integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==
- dependencies:
- safe-buffer "^5.0.1"
-
-tweetnacl@^0.14.3, tweetnacl@~0.14.0:
- version "0.14.5"
- resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
- integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==
-
-type-check@^0.4.0, type-check@~0.4.0:
- version "0.4.0"
- resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
- integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
- dependencies:
- prelude-ls "^1.2.1"
-
-type-fest@^0.20.2:
- version "0.20.2"
- resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4"
- integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
-
-type-is@~1.6.18:
- version "1.6.18"
- resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
- integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
- dependencies:
- media-typer "0.3.0"
- mime-types "~2.1.24"
-
-type@^1.0.1:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0"
- integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==
-
-type@^2.7.2:
- version "2.7.2"
- resolved "https://registry.yarnpkg.com/type/-/type-2.7.2.tgz#2376a15a3a28b1efa0f5350dcf72d24df6ef98d0"
- integrity sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==
-
-typed-array-buffer@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz#18de3e7ed7974b0a729d3feecb94338d1472cd60"
- integrity sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==
- dependencies:
- call-bind "^1.0.2"
- get-intrinsic "^1.2.1"
- is-typed-array "^1.1.10"
-
-typed-array-byte-length@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz#d787a24a995711611fb2b87a4052799517b230d0"
- integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==
- dependencies:
- call-bind "^1.0.2"
- for-each "^0.3.3"
- has-proto "^1.0.1"
- is-typed-array "^1.1.10"
-
-typed-array-byte-offset@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz#cbbe89b51fdef9cd6aaf07ad4707340abbc4ea0b"
- integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==
- dependencies:
- available-typed-arrays "^1.0.5"
- call-bind "^1.0.2"
- for-each "^0.3.3"
- has-proto "^1.0.1"
- is-typed-array "^1.1.10"
-
-typed-array-length@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb"
- integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==
- dependencies:
- call-bind "^1.0.2"
- for-each "^0.3.3"
- is-typed-array "^1.1.9"
-
-typedarray-to-buffer@3.1.5, typedarray-to-buffer@^3.1.5:
- version "3.1.5"
- resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080"
- integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==
- dependencies:
- is-typedarray "^1.0.0"
-
-typescript@4.5.5:
- version "4.5.5"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.5.tgz#d8c953832d28924a9e3d37c73d729c846c5896f3"
- integrity sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==
-
-ua-parser-js@^1.0.33:
- version "1.0.35"
- resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.35.tgz#c4ef44343bc3db0a3cbefdf21822f1b1fc1ab011"
- integrity sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==
-
-uint8arrays@^3.0.0, uint8arrays@^3.1.0:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-3.1.1.tgz#2d8762acce159ccd9936057572dade9459f65ae0"
- integrity sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==
- dependencies:
- multiformats "^9.4.2"
-
-ultron@~1.1.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c"
- integrity sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==
-
-unbox-primitive@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e"
- integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==
- dependencies:
- call-bind "^1.0.2"
- has-bigints "^1.0.2"
- has-symbols "^1.0.3"
- which-boxed-primitive "^1.0.2"
-
-undefsafe@^2.0.5:
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.5.tgz#38733b9327bdcd226db889fb723a6efd162e6e2c"
- integrity sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==
-
-unified@^10.0.0:
- version "10.1.2"
- resolved "https://registry.yarnpkg.com/unified/-/unified-10.1.2.tgz#b1d64e55dafe1f0b98bb6c719881103ecf6c86df"
- integrity sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==
- dependencies:
- "@types/unist" "^2.0.0"
- bail "^2.0.0"
- extend "^3.0.0"
- is-buffer "^2.0.0"
- is-plain-obj "^4.0.0"
- trough "^2.0.0"
- vfile "^5.0.0"
-
-unist-util-generated@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-2.0.1.tgz#e37c50af35d3ed185ac6ceacb6ca0afb28a85cae"
- integrity sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==
-
-unist-util-is@^5.0.0:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-5.2.1.tgz#b74960e145c18dcb6226bc57933597f5486deae9"
- integrity sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==
- dependencies:
- "@types/unist" "^2.0.0"
-
-unist-util-position@^4.0.0:
- version "4.0.4"
- resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-4.0.4.tgz#93f6d8c7d6b373d9b825844645877c127455f037"
- integrity sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==
- dependencies:
- "@types/unist" "^2.0.0"
-
-unist-util-stringify-position@^3.0.0:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz#03ad3348210c2d930772d64b489580c13a7db39d"
- integrity sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==
- dependencies:
- "@types/unist" "^2.0.0"
-
-unist-util-visit-parents@^5.1.1:
- version "5.1.3"
- resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz#b4520811b0ca34285633785045df7a8d6776cfeb"
- integrity sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==
- dependencies:
- "@types/unist" "^2.0.0"
- unist-util-is "^5.0.0"
-
-unist-util-visit@^4.0.0:
- version "4.1.2"
- resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-4.1.2.tgz#125a42d1eb876283715a3cb5cceaa531828c72e2"
- integrity sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==
- dependencies:
- "@types/unist" "^2.0.0"
- unist-util-is "^5.0.0"
- unist-util-visit-parents "^5.1.1"
-
-universalify@^0.1.0:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
- integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
-
-unload@2.2.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/unload/-/unload-2.2.0.tgz#ccc88fdcad345faa06a92039ec0f80b488880ef7"
- integrity sha512-B60uB5TNBLtN6/LsgAf3udH9saB5p7gqJwcFfbOEZ8BcBHnGwCf6G/TGiEqkRAxX7zAFIUtzdrXQSdL3Q/wqNA==
- dependencies:
- "@babel/runtime" "^7.6.2"
- detect-node "^2.0.4"
-
-unpipe@1.0.0, unpipe@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
- integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==
-
-update-browserslist-db@^1.0.11:
- version "1.0.11"
- resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz#9a2a641ad2907ae7b3616506f4b977851db5b940"
- integrity sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==
- dependencies:
- escalade "^3.1.1"
- picocolors "^1.0.0"
-
-uri-js@^4.2.2:
- version "4.4.1"
- resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
- integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
- dependencies:
- punycode "^2.1.0"
-
-url-set-query@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/url-set-query/-/url-set-query-1.0.0.tgz#016e8cfd7c20ee05cafe7795e892bd0702faa339"
- integrity sha512-3AChu4NiXquPfeckE5R5cGdiHCMWJx1dwCWOmWIL4KHAziJNOFIYJlpGFeKDvwLPHovZRCxK3cYlwzqI9Vp+Gg==
-
-use-callback-ref@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/use-callback-ref/-/use-callback-ref-1.3.0.tgz#772199899b9c9a50526fedc4993fc7fa1f7e32d5"
- integrity sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==
- dependencies:
- tslib "^2.0.0"
-
-use-sidecar@^1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/use-sidecar/-/use-sidecar-1.1.2.tgz#2f43126ba2d7d7e117aa5855e5d8f0276dfe73c2"
- integrity sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==
- dependencies:
- detect-node-es "^1.1.0"
- tslib "^2.0.0"
-
-use-subscription@1.5.1:
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/use-subscription/-/use-subscription-1.5.1.tgz#73501107f02fad84c6dd57965beb0b75c68c42d1"
- integrity sha512-Xv2a1P/yReAjAbhylMfFplFKj9GssgTwN7RlcTxBujFQcloStWNDQdc4g4NRWH9xS4i/FDk04vQBptAXoF3VcA==
- dependencies:
- object-assign "^4.1.1"
-
-use-sync-external-store@1.2.0, use-sync-external-store@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a"
- integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==
-
-utf-8-validate@^5.0.2:
- version "5.0.10"
- resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.10.tgz#d7d10ea39318171ca982718b6b96a8d2442571a2"
- integrity sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==
- dependencies:
- node-gyp-build "^4.3.0"
-
-utf8@3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/utf8/-/utf8-3.0.0.tgz#f052eed1364d696e769ef058b183df88c87f69d1"
- integrity sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==
-
-util-deprecate@^1.0.1, util-deprecate@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
- integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
-
-util@^0.12.4, util@^0.12.5:
- version "0.12.5"
- resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc"
- integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==
- dependencies:
- inherits "^2.0.3"
- is-arguments "^1.0.4"
- is-generator-function "^1.0.7"
- is-typed-array "^1.1.3"
- which-typed-array "^1.1.2"
-
-utils-merge@1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
- integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==
-
-uuid@^3.3.2:
- version "3.4.0"
- resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
- integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
-
-uuid@^7.0.3:
- version "7.0.3"
- resolved "https://registry.yarnpkg.com/uuid/-/uuid-7.0.3.tgz#c5c9f2c8cf25dc0a372c4df1441c41f5bd0c680b"
- integrity sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==
-
-uuid@^8.3.2:
- version "8.3.2"
- resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
- integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
-
-uuid@^9.0.0:
- version "9.0.0"
- resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.0.tgz#592f550650024a38ceb0c562f2f6aa435761efb5"
- integrity sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==
-
-uvu@^0.5.0:
- version "0.5.6"
- resolved "https://registry.yarnpkg.com/uvu/-/uvu-0.5.6.tgz#2754ca20bcb0bb59b64e9985e84d2e81058502df"
- integrity sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==
- dependencies:
- dequal "^2.0.0"
- diff "^5.0.0"
- kleur "^4.0.3"
- sade "^1.7.3"
-
-v8-compile-cache@^2.0.3:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee"
- integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==
-
-validate-npm-package-license@^3.0.1:
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"
- integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==
- dependencies:
- spdx-correct "^3.0.0"
- spdx-expression-parse "^3.0.0"
-
-valtio@1.11.0:
- version "1.11.0"
- resolved "https://registry.yarnpkg.com/valtio/-/valtio-1.11.0.tgz#c029dcd17a0f99d2fbec933721fe64cfd32a31ed"
- integrity sha512-65Yd0yU5qs86b5lN1eu/nzcTgQ9/6YnD6iO+DDaDbQLn1Zv2w12Gwk43WkPlUBxk5wL/6cD5YMFf7kj6HZ1Kpg==
- dependencies:
- proxy-compare "2.5.1"
- use-sync-external-store "1.2.0"
-
-varint@^5.0.0:
- version "5.0.2"
- resolved "https://registry.yarnpkg.com/varint/-/varint-5.0.2.tgz#5b47f8a947eb668b848e034dcfa87d0ff8a7f7a4"
- integrity sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow==
-
-vary@^1, vary@~1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
- integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==
-
-verror@1.10.0:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
- integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==
- dependencies:
- assert-plus "^1.0.0"
- core-util-is "1.0.2"
- extsprintf "^1.2.0"
-
-vfile-message@^3.0.0:
- version "3.1.4"
- resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-3.1.4.tgz#15a50816ae7d7c2d1fa87090a7f9f96612b59dea"
- integrity sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==
- dependencies:
- "@types/unist" "^2.0.0"
- unist-util-stringify-position "^3.0.0"
-
-vfile@^5.0.0:
- version "5.3.7"
- resolved "https://registry.yarnpkg.com/vfile/-/vfile-5.3.7.tgz#de0677e6683e3380fafc46544cfe603118826ab7"
- integrity sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==
- dependencies:
- "@types/unist" "^2.0.0"
- is-buffer "^2.0.0"
- unist-util-stringify-position "^3.0.0"
- vfile-message "^3.0.0"
-
-wagmi@^0.12.18:
- version "0.12.19"
- resolved "https://registry.yarnpkg.com/wagmi/-/wagmi-0.12.19.tgz#5f5038330907f70c033ea51ef8a9136289567256"
- integrity sha512-S/el9BDb/HNeQWh1v8TvntMPX/CgKLDAoJqDb8i7jifLfWPqFL7gor3vnI1Vs6ZlB8uh7m+K1Qyg+mKhbITuDQ==
- dependencies:
- "@tanstack/query-sync-storage-persister" "^4.27.1"
- "@tanstack/react-query" "^4.28.0"
- "@tanstack/react-query-persist-client" "^4.28.0"
- "@wagmi/core" "0.10.17"
- abitype "^0.3.0"
- use-sync-external-store "^1.2.0"
-
-wait-on@^6.0.1:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/wait-on/-/wait-on-6.0.1.tgz#16bbc4d1e4ebdd41c5b4e63a2e16dbd1f4e5601e"
- integrity sha512-zht+KASY3usTY5u2LgaNqn/Cd8MukxLGjdcZxT2ns5QzDmTFc4XoWBgC+C/na+sMRZTuVygQoMYwdcVjHnYIVw==
- dependencies:
- axios "^0.25.0"
- joi "^17.6.0"
- lodash "^4.17.21"
- minimist "^1.2.5"
- rxjs "^7.5.4"
-
-walletlink@^2.4.7:
- version "2.5.0"
- resolved "https://registry.yarnpkg.com/walletlink/-/walletlink-2.5.0.tgz#b8db10f4d9f124084feb16d1e2b2d08ba8c20d21"
- integrity sha512-PBJmK5tZmonwKPABBI2/optaZ11O4kKmkmnU5eLKhk4XRlal5qJ1igZ4U5j3w6w8wxxdhCWpLMHzGWt3n/p7mw==
- dependencies:
- "@metamask/safe-event-emitter" "2.0.0"
- bind-decorator "^1.0.11"
- bn.js "^5.1.1"
- clsx "^1.1.0"
- eth-block-tracker "4.4.3"
- eth-json-rpc-filters "4.2.2"
- eth-rpc-errors "4.0.2"
- js-sha256 "0.9.0"
- json-rpc-engine "6.1.0"
- keccak "^3.0.1"
- preact "^10.5.9"
- rxjs "^6.6.3"
- stream-browserify "^3.0.0"
-
-web3-bzz@1.10.0:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.10.0.tgz#ac74bc71cdf294c7080a79091079192f05c5baed"
- integrity sha512-o9IR59io3pDUsXTsps5pO5hW1D5zBmg46iNc2t4j2DkaYHNdDLwk2IP9ukoM2wg47QILfPEJYzhTfkS/CcX0KA==
- dependencies:
- "@types/node" "^12.12.6"
- got "12.1.0"
- swarm-js "^0.1.40"
-
-web3-core-helpers@1.10.0:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.10.0.tgz#1016534c51a5df77ed4f94d1fcce31de4af37fad"
- integrity sha512-pIxAzFDS5vnbXvfvLSpaA1tfRykAe9adw43YCKsEYQwH0gCLL0kMLkaCX3q+Q8EVmAh+e1jWL/nl9U0de1+++g==
- dependencies:
- web3-eth-iban "1.10.0"
- web3-utils "1.10.0"
-
-web3-core-method@1.10.0:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.10.0.tgz#82668197fa086e8cc8066742e35a9d72535e3412"
- integrity sha512-4R700jTLAMKDMhQ+nsVfIXvH6IGJlJzGisIfMKWAIswH31h5AZz7uDUW2YctI+HrYd+5uOAlS4OJeeT9bIpvkA==
- dependencies:
- "@ethersproject/transactions" "^5.6.2"
- web3-core-helpers "1.10.0"
- web3-core-promievent "1.10.0"
- web3-core-subscriptions "1.10.0"
- web3-utils "1.10.0"
-
-web3-core-promievent@1.10.0:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.10.0.tgz#cbb5b3a76b888df45ed3a8d4d8d4f54ccb66a37b"
- integrity sha512-68N7k5LWL5R38xRaKFrTFT2pm2jBNFaM4GioS00YjAKXRQ3KjmhijOMG3TICz6Aa5+6GDWYelDNx21YAeZ4YTg==
- dependencies:
- eventemitter3 "4.0.4"
-
-web3-core-requestmanager@1.10.0:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.10.0.tgz#4b34f6e05837e67c70ff6f6993652afc0d54c340"
- integrity sha512-3z/JKE++Os62APml4dvBM+GAuId4h3L9ckUrj7ebEtS2AR0ixyQPbrBodgL91Sv7j7cQ3Y+hllaluqjguxvSaQ==
- dependencies:
- util "^0.12.5"
- web3-core-helpers "1.10.0"
- web3-providers-http "1.10.0"
- web3-providers-ipc "1.10.0"
- web3-providers-ws "1.10.0"
-
-web3-core-subscriptions@1.10.0:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.10.0.tgz#b534592ee1611788fc0cb0b95963b9b9b6eacb7c"
- integrity sha512-HGm1PbDqsxejI075gxBc5OSkwymilRWZufIy9zEpnWKNmfbuv5FfHgW1/chtJP6aP3Uq2vHkvTDl3smQBb8l+g==
- dependencies:
- eventemitter3 "4.0.4"
- web3-core-helpers "1.10.0"
-
-web3-core@1.10.0:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.10.0.tgz#9aa07c5deb478cf356c5d3b5b35afafa5fa8e633"
- integrity sha512-fWySwqy2hn3TL89w5TM8wXF1Z2Q6frQTKHWmP0ppRQorEK8NcHJRfeMiv/mQlSKoTS1F6n/nv2uyZsixFycjYQ==
- dependencies:
- "@types/bn.js" "^5.1.1"
- "@types/node" "^12.12.6"
- bignumber.js "^9.0.0"
- web3-core-helpers "1.10.0"
- web3-core-method "1.10.0"
- web3-core-requestmanager "1.10.0"
- web3-utils "1.10.0"
-
-web3-eth-abi@1.10.0, web3-eth-abi@^1.2.9:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.10.0.tgz#53a7a2c95a571e205e27fd9e664df4919483cce1"
- integrity sha512-cwS+qRBWpJ43aI9L3JS88QYPfFcSJJ3XapxOQ4j40v6mk7ATpA8CVK1vGTzpihNlOfMVRBkR95oAj7oL6aiDOg==
- dependencies:
- "@ethersproject/abi" "^5.6.3"
- web3-utils "1.10.0"
-
-web3-eth-accounts@1.10.0:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.10.0.tgz#2942beca0a4291455f32cf09de10457a19a48117"
- integrity sha512-wiq39Uc3mOI8rw24wE2n15hboLE0E9BsQLdlmsL4Zua9diDS6B5abXG0XhFcoNsXIGMWXVZz4TOq3u4EdpXF/Q==
- dependencies:
- "@ethereumjs/common" "2.5.0"
- "@ethereumjs/tx" "3.3.2"
- eth-lib "0.2.8"
- ethereumjs-util "^7.1.5"
- scrypt-js "^3.0.1"
- uuid "^9.0.0"
- web3-core "1.10.0"
- web3-core-helpers "1.10.0"
- web3-core-method "1.10.0"
- web3-utils "1.10.0"
-
-web3-eth-contract@1.10.0:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.10.0.tgz#8e68c7654576773ec3c91903f08e49d0242c503a"
- integrity sha512-MIC5FOzP/+2evDksQQ/dpcXhSqa/2hFNytdl/x61IeWxhh6vlFeSjq0YVTAyIzdjwnL7nEmZpjfI6y6/Ufhy7w==
- dependencies:
- "@types/bn.js" "^5.1.1"
- web3-core "1.10.0"
- web3-core-helpers "1.10.0"
- web3-core-method "1.10.0"
- web3-core-promievent "1.10.0"
- web3-core-subscriptions "1.10.0"
- web3-eth-abi "1.10.0"
- web3-utils "1.10.0"
-
-web3-eth-ens@1.10.0:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.10.0.tgz#96a676524e0b580c87913f557a13ed810cf91cd9"
- integrity sha512-3hpGgzX3qjgxNAmqdrC2YUQMTfnZbs4GeLEmy8aCWziVwogbuqQZ+Gzdfrym45eOZodk+lmXyLuAdqkNlvkc1g==
- dependencies:
- content-hash "^2.5.2"
- eth-ens-namehash "2.0.8"
- web3-core "1.10.0"
- web3-core-helpers "1.10.0"
- web3-core-promievent "1.10.0"
- web3-eth-abi "1.10.0"
- web3-eth-contract "1.10.0"
- web3-utils "1.10.0"
-
-web3-eth-iban@1.10.0:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.10.0.tgz#5a46646401965b0f09a4f58e7248c8a8cd22538a"
- integrity sha512-0l+SP3IGhInw7Q20LY3IVafYEuufo4Dn75jAHT7c2aDJsIolvf2Lc6ugHkBajlwUneGfbRQs/ccYPQ9JeMUbrg==
- dependencies:
- bn.js "^5.2.1"
- web3-utils "1.10.0"
-
-web3-eth-personal@1.10.0:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.10.0.tgz#94d525f7a29050a0c2a12032df150ac5ea633071"
- integrity sha512-anseKn98w/d703eWq52uNuZi7GhQeVjTC5/svrBWEKob0WZ5kPdo+EZoFN0sp5a5ubbrk/E0xSl1/M5yORMtpg==
- dependencies:
- "@types/node" "^12.12.6"
- web3-core "1.10.0"
- web3-core-helpers "1.10.0"
- web3-core-method "1.10.0"
- web3-net "1.10.0"
- web3-utils "1.10.0"
-
-web3-eth@1.10.0:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.10.0.tgz#38b905e2759697c9624ab080cfcf4e6c60b3a6cf"
- integrity sha512-Z5vT6slNMLPKuwRyKGbqeGYC87OAy8bOblaqRTgg94CXcn/mmqU7iPIlG4506YdcdK3x6cfEDG7B6w+jRxypKA==
- dependencies:
- web3-core "1.10.0"
- web3-core-helpers "1.10.0"
- web3-core-method "1.10.0"
- web3-core-subscriptions "1.10.0"
- web3-eth-abi "1.10.0"
- web3-eth-accounts "1.10.0"
- web3-eth-contract "1.10.0"
- web3-eth-ens "1.10.0"
- web3-eth-iban "1.10.0"
- web3-eth-personal "1.10.0"
- web3-net "1.10.0"
- web3-utils "1.10.0"
-
-web3-net@1.10.0:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.10.0.tgz#be53e7f5dafd55e7c9013d49c505448b92c9c97b"
- integrity sha512-NLH/N3IshYWASpxk4/18Ge6n60GEvWBVeM8inx2dmZJVmRI6SJIlUxbL8jySgiTn3MMZlhbdvrGo8fpUW7a1GA==
- dependencies:
- web3-core "1.10.0"
- web3-core-method "1.10.0"
- web3-utils "1.10.0"
-
-web3-providers-http@1.10.0:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.10.0.tgz#864fa48675e7918c9a4374e5f664b32c09d0151b"
- integrity sha512-eNr965YB8a9mLiNrkjAWNAPXgmQWfpBfkkn7tpEFlghfww0u3I0tktMZiaToJVcL2+Xq+81cxbkpeWJ5XQDwOA==
- dependencies:
- abortcontroller-polyfill "^1.7.3"
- cross-fetch "^3.1.4"
- es6-promise "^4.2.8"
- web3-core-helpers "1.10.0"
-
-web3-providers-ipc@1.10.0:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.10.0.tgz#9747c7a6aee96a51488e32fa7c636c3460b39889"
- integrity sha512-OfXG1aWN8L1OUqppshzq8YISkWrYHaATW9H8eh0p89TlWMc1KZOL9vttBuaBEi96D/n0eYDn2trzt22bqHWfXA==
- dependencies:
- oboe "2.1.5"
- web3-core-helpers "1.10.0"
-
-web3-providers-ws@1.10.0:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.10.0.tgz#cb0b87b94c4df965cdf486af3a8cd26daf3975e5"
- integrity sha512-sK0fNcglW36yD5xjnjtSGBnEtf59cbw4vZzJ+CmOWIKGIR96mP5l684g0WD0Eo+f4NQc2anWWXG74lRc9OVMCQ==
- dependencies:
- eventemitter3 "4.0.4"
- web3-core-helpers "1.10.0"
- websocket "^1.0.32"
-
-web3-shh@1.10.0:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.10.0.tgz#c2979b87e0f67a7fef2ce9ee853bd7bfbe9b79a8"
- integrity sha512-uNUUuNsO2AjX41GJARV9zJibs11eq6HtOe6Wr0FtRUcj8SN6nHeYIzwstAvJ4fXA53gRqFMTxdntHEt9aXVjpg==
- dependencies:
- web3-core "1.10.0"
- web3-core-method "1.10.0"
- web3-core-subscriptions "1.10.0"
- web3-net "1.10.0"
-
-web3-utils@1.10.0, web3-utils@^1.3.4:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.10.0.tgz#ca4c1b431a765c14ac7f773e92e0fd9377ccf578"
- integrity sha512-kSaCM0uMcZTNUSmn5vMEhlo02RObGNRRCkdX0V9UTAU0+lrvn0HSaudyCo6CQzuXUsnuY2ERJGCGPfeWmv19Rg==
- dependencies:
- bn.js "^5.2.1"
- ethereum-bloom-filters "^1.0.6"
- ethereumjs-util "^7.1.0"
- ethjs-unit "0.1.6"
- number-to-bn "1.7.0"
- randombytes "^2.1.0"
- utf8 "3.0.0"
-
-web3@^1.7.1:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/web3/-/web3-1.10.0.tgz#2fde0009f59aa756c93e07ea2a7f3ab971091274"
- integrity sha512-YfKY9wSkGcM8seO+daR89oVTcbu18NsVfvOngzqMYGUU0pPSQmE57qQDvQzUeoIOHAnXEBNzrhjQJmm8ER0rng==
- dependencies:
- web3-bzz "1.10.0"
- web3-core "1.10.0"
- web3-eth "1.10.0"
- web3-eth-personal "1.10.0"
- web3-net "1.10.0"
- web3-shh "1.10.0"
- web3-utils "1.10.0"
-
-webidl-conversions@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
- integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==
-
-"webpack-sources@^2.0.0 || ^3.0.0":
- version "3.2.3"
- resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde"
- integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==
-
-websocket@^1.0.32:
- version "1.0.34"
- resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.34.tgz#2bdc2602c08bf2c82253b730655c0ef7dcab3111"
- integrity sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==
- dependencies:
- bufferutil "^4.0.1"
- debug "^2.2.0"
- es5-ext "^0.10.50"
- typedarray-to-buffer "^3.1.5"
- utf-8-validate "^5.0.2"
- yaeti "^0.0.6"
-
-whatwg-url@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
- integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==
- dependencies:
- tr46 "~0.0.3"
- webidl-conversions "^3.0.0"
-
-which-boxed-primitive@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6"
- integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==
- dependencies:
- is-bigint "^1.0.1"
- is-boolean-object "^1.1.0"
- is-number-object "^1.0.4"
- is-string "^1.0.5"
- is-symbol "^1.0.3"
-
-which-module@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409"
- integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==
-
-which-typed-array@^1.1.10, which-typed-array@^1.1.11, which-typed-array@^1.1.2:
- version "1.1.11"
- resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.11.tgz#99d691f23c72aab6768680805a271b69761ed61a"
- integrity sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==
- dependencies:
- available-typed-arrays "^1.0.5"
- call-bind "^1.0.2"
- for-each "^0.3.3"
- gopd "^1.0.1"
- has-tostringtag "^1.0.0"
-
-which@^1.2.9:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
- integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
- dependencies:
- isexe "^2.0.0"
-
-which@^2.0.1, which@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
- integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
- dependencies:
- isexe "^2.0.0"
-
-winston-transport@^4.5.0:
- version "4.5.0"
- resolved "https://registry.yarnpkg.com/winston-transport/-/winston-transport-4.5.0.tgz#6e7b0dd04d393171ed5e4e4905db265f7ab384fa"
- integrity sha512-YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q==
- dependencies:
- logform "^2.3.2"
- readable-stream "^3.6.0"
- triple-beam "^1.3.0"
-
-winston@^3.6.0:
- version "3.10.0"
- resolved "https://registry.yarnpkg.com/winston/-/winston-3.10.0.tgz#d033cb7bd3ced026fed13bf9d92c55b903116803"
- integrity sha512-nT6SIDaE9B7ZRO0u3UvdrimG0HkB7dSTAgInQnNR2SOPJ4bvq5q79+pXLftKmP52lJGW15+H5MCK0nM9D3KB/g==
- dependencies:
- "@colors/colors" "1.5.0"
- "@dabh/diagnostics" "^2.0.2"
- async "^3.2.3"
- is-stream "^2.0.0"
- logform "^2.4.0"
- one-time "^1.0.0"
- readable-stream "^3.4.0"
- safe-stable-stringify "^2.3.1"
- stack-trace "0.0.x"
- triple-beam "^1.3.0"
- winston-transport "^4.5.0"
-
-wrap-ansi@^6.2.0:
- version "6.2.0"
- resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53"
- integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==
- dependencies:
- ansi-styles "^4.0.0"
- string-width "^4.1.0"
- strip-ansi "^6.0.0"
-
-wrappy@1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
- integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
-
-ws@7.4.6:
- version "7.4.6"
- resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c"
- integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==
-
-ws@^3.0.0:
- version "3.3.3"
- resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2"
- integrity sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==
- dependencies:
- async-limiter "~1.0.0"
- safe-buffer "~5.1.0"
- ultron "~1.1.0"
-
-ws@^7.4.5, ws@^7.5.1:
- version "7.5.9"
- resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591"
- integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==
-
-ws@^8.5.0:
- version "8.13.0"
- resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0"
- integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==
-
-xhr-request-promise@^0.1.2:
- version "0.1.3"
- resolved "https://registry.yarnpkg.com/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz#2d5f4b16d8c6c893be97f1a62b0ed4cf3ca5f96c"
- integrity sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg==
- dependencies:
- xhr-request "^1.1.0"
-
-xhr-request@^1.0.1, xhr-request@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/xhr-request/-/xhr-request-1.1.0.tgz#f4a7c1868b9f198723444d82dcae317643f2e2ed"
- integrity sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA==
- dependencies:
- buffer-to-arraybuffer "^0.0.5"
- object-assign "^4.1.1"
- query-string "^5.0.1"
- simple-get "^2.7.0"
- timed-out "^4.0.1"
- url-set-query "^1.0.0"
- xhr "^2.0.4"
-
-xhr@^2.0.4, xhr@^2.3.3:
- version "2.6.0"
- resolved "https://registry.yarnpkg.com/xhr/-/xhr-2.6.0.tgz#b69d4395e792b4173d6b7df077f0fc5e4e2b249d"
- integrity sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA==
- dependencies:
- global "~4.4.0"
- is-function "^1.0.1"
- parse-headers "^2.0.0"
- xtend "^4.0.0"
-
-xtend@^4.0.0, xtend@^4.0.1:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
- integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
-
-y18n@^4.0.0:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf"
- integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==
-
-yaeti@^0.0.6:
- version "0.0.6"
- resolved "https://registry.yarnpkg.com/yaeti/-/yaeti-0.0.6.tgz#f26f484d72684cf42bedfb76970aa1608fbf9577"
- integrity sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==
-
-yallist@^3.0.0, yallist@^3.0.2, yallist@^3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
- integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
-
-yallist@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
- integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
-
-yaml@^2.1.1:
- version "2.3.1"
- resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.1.tgz#02fe0975d23cd441242aa7204e09fc28ac2ac33b"
- integrity sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==
-
-yargs-parser@^18.1.2:
- version "18.1.3"
- resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0"
- integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==
- dependencies:
- camelcase "^5.0.0"
- decamelize "^1.2.0"
-
-yargs@^15.3.1:
- version "15.4.1"
- resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8"
- integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==
- dependencies:
- cliui "^6.0.0"
- decamelize "^1.2.0"
- find-up "^4.1.0"
- get-caller-file "^2.0.1"
- require-directory "^2.1.1"
- require-main-filename "^2.0.0"
- set-blocking "^2.0.0"
- string-width "^4.2.0"
- which-module "^2.0.0"
- y18n "^4.0.0"
- yargs-parser "^18.1.2"
-
-yocto-queue@^0.1.0:
- version "0.1.0"
- resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
- integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
-
-zustand@^3.7.0:
- version "3.7.2"
- resolved "https://registry.yarnpkg.com/zustand/-/zustand-3.7.2.tgz#7b44c4f4a5bfd7a8296a3957b13e1c346f42514d"
- integrity sha512-PIJDIZKtokhof+9+60cpockVOq05sJzHCriyvaLBmEJixseQ1a5Kdov6fWZfWOu5SK9c+FhH1jU0tntLxRJYMA==
-
-zustand@^4.3.1:
- version "4.4.0"
- resolved "https://registry.yarnpkg.com/zustand/-/zustand-4.4.0.tgz#13b3e8ca959dd53d536034440aec382ff91b65c3"
- integrity sha512-2dq6wq4dSxbiPTamGar0NlIG/av0wpyWZJGeQYtUOLegIUvhM2Bf86ekPlmgpUtS5uR7HyetSiktYrGsdsyZgQ==
- dependencies:
- use-sync-external-store "1.2.0"
diff --git a/contracts/AbstractLockupDistributor.sol b/contracts/AbstractLockupDistributor.sol
index 17fd3ffc..b8cc2db4 100644
--- a/contracts/AbstractLockupDistributor.sol
+++ b/contracts/AbstractLockupDistributor.sol
@@ -1,7 +1,8 @@
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;
-import "OpenZeppelin/openzeppelin-contracts-upgradeable@4.6.0/contracts/token/ERC20/extensions/ERC20BurnableUpgradeable.sol";
+import
+ "OpenZeppelin/openzeppelin-contracts-upgradeable@4.6.0/contracts/token/ERC20/extensions/ERC20BurnableUpgradeable.sol";
import "OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/utils/cryptography/MerkleProof.sol";
import "OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC20/IERC20.sol";
@@ -19,12 +20,7 @@ abstract contract AbstractLockupDistributor {
// This is a packed array of booleans.
mapping(uint256 => uint256) private claimedBitMap;
- constructor(
- address _token,
- bytes32 _merkleRoot,
- address _stakingContract,
- uint256 _endBlock
- ) {
+ constructor(address _token, bytes32 _merkleRoot, address _stakingContract, uint256 _endBlock) {
token = _token;
merkleRoot = _merkleRoot;
stakingContract = _stakingContract;
@@ -50,17 +46,14 @@ abstract contract AbstractLockupDistributor {
function setClaimed(uint256 _index) internal {
uint256 claimedWordIndex = _index / 256;
uint256 claimedBitIndex = _index % 256;
- claimedBitMap[claimedWordIndex] =
- claimedBitMap[claimedWordIndex] |
- (1 << claimedBitIndex);
+ claimedBitMap[claimedWordIndex] = claimedBitMap[claimedWordIndex] | (1 << claimedBitIndex);
}
- function isProofValid(
- uint256 _index,
- uint256 _amount,
- address _account,
- bytes32[] calldata _merkleProof
- ) external view returns (bool) {
+ function isProofValid(uint256 _index, uint256 _amount, address _account, bytes32[] calldata _merkleProof)
+ external
+ view
+ returns (bool)
+ {
// Verify the Merkle proof.
bytes32 node = keccak256(abi.encodePacked(_index, _account, _amount));
return MerkleProof.verify(_merkleProof, merkleRoot, node);
@@ -70,11 +63,10 @@ abstract contract AbstractLockupDistributor {
* @dev burn all the remaining OGV balance
*/
function burnRemainingOGV() external {
- require(block.number >= endBlock, "Can not yet burn the remaining OGV");
- uint256 burnAmount = IERC20(token).balanceOf(address(this));
-
- ERC20BurnableUpgradeable(token).burn(burnAmount);
- emit OGVBurned(burnAmount);
+ require(block.number >= endBlock, "Can not yet burn the remaining OGV");
+ uint256 burnAmount = IERC20(token).balanceOf(address(this));
+ ERC20BurnableUpgradeable(token).burn(burnAmount);
+ emit OGVBurned(burnAmount);
}
}
diff --git a/contracts/Governable.sol b/contracts/Governable.sol
index 6b0a032b..fd09cb25 100644
--- a/contracts/Governable.sol
+++ b/contracts/Governable.sol
@@ -11,30 +11,22 @@ pragma solidity ^0.8.0;
abstract contract Governable {
// Storage position of the owner and pendingOwner of the contract
// keccak256("OUSD.governor");
- bytes32 private constant governorPosition =
- 0x7bea13895fa79d2831e0a9e28edede30099005a50d652d8957cf8a607ee6ca4a;
+ bytes32 private constant governorPosition = 0x7bea13895fa79d2831e0a9e28edede30099005a50d652d8957cf8a607ee6ca4a;
// keccak256("OUSD.pending.governor");
bytes32 private constant pendingGovernorPosition =
0x44c4d30b2eaad5130ad70c3ba6972730566f3e6359ab83e800d905c61b1c51db;
// keccak256("OUSD.reentry.status");
- bytes32 private constant reentryStatusPosition =
- 0x53bf423e48ed90e97d02ab0ebab13b2a235a6bfbe9c321847d5c175333ac4535;
+ bytes32 private constant reentryStatusPosition = 0x53bf423e48ed90e97d02ab0ebab13b2a235a6bfbe9c321847d5c175333ac4535;
// See OpenZeppelin ReentrancyGuard implementation
uint256 constant _NOT_ENTERED = 1;
uint256 constant _ENTERED = 2;
- event PendingGovernorshipTransfer(
- address indexed previousGovernor,
- address indexed newGovernor
- );
+ event PendingGovernorshipTransfer(address indexed previousGovernor, address indexed newGovernor);
- event GovernorshipTransferred(
- address indexed previousGovernor,
- address indexed newGovernor
- );
+ event GovernorshipTransferred(address indexed previousGovernor, address indexed newGovernor);
/**
* @dev Initializes the contract setting the deployer as the initial Governor.
@@ -64,11 +56,7 @@ abstract contract Governable {
/**
* @dev Returns the address of the pending Governor.
*/
- function _pendingGovernor()
- internal
- view
- returns (address pendingGovernor)
- {
+ function _pendingGovernor() internal view returns (address pendingGovernor) {
bytes32 position = pendingGovernorPosition;
assembly {
pendingGovernor := sload(position)
@@ -150,10 +138,7 @@ abstract contract Governable {
* Can only be called by the new Governor.
*/
function claimGovernance() external {
- require(
- msg.sender == _pendingGovernor(),
- "Only the pending Governor can complete the claim"
- );
+ require(msg.sender == _pendingGovernor(), "Only the pending Governor can complete the claim");
_changeGovernor(msg.sender);
}
diff --git a/contracts/Governance.sol b/contracts/Governance.sol
index bb77f2a7..b291542f 100644
--- a/contracts/Governance.sol
+++ b/contracts/Governance.sol
@@ -17,11 +17,7 @@ contract Governance is
{
constructor(ERC20Votes _token, TimelockController _timelock)
Governor("OUSD Governance")
- GovernorSettings(
- 1, /* 1 block */
- 17280, /* ~3 days (86400 / 15) * 3 */
- 10000000 * 1e18 /* 10 mio veOgv */
- )
+ GovernorSettings(1, /* 1 block */ 17280, /* ~3 days (86400 / 15) * 3 */ 10000000 * 1e18 /* 10 mio veOgv */ )
GovernorVotes(_token)
GovernorVotesQuorumFraction(20) // Default quorum denominator is 100, so 20/100 or 20%
GovernorTimelockControl(_timelock)
@@ -44,20 +40,11 @@ contract Governance is
uint256[] memory values,
bytes[] memory calldatas,
string memory description
- )
- public
- override(Governor, GovernorCompatibilityBravo, IGovernor)
- returns (uint256)
- {
+ ) public override(Governor, GovernorCompatibilityBravo, IGovernor) returns (uint256) {
return super.propose(targets, values, calldatas, description);
}
- function proposalThreshold()
- public
- view
- override(Governor, GovernorSettings)
- returns (uint256)
- {
+ function proposalThreshold() public view override(Governor, GovernorSettings) returns (uint256) {
return super.proposalThreshold();
}
@@ -80,12 +67,7 @@ contract Governance is
return super._cancel(targets, values, calldatas, descriptionHash);
}
- function _executor()
- internal
- view
- override(Governor, GovernorTimelockControl)
- returns (address)
- {
+ function _executor() internal view override(Governor, GovernorTimelockControl) returns (address) {
return super._executor();
}
@@ -108,13 +90,7 @@ contract Governance is
return super.proposalDeadline(proposalId);
}
- function _castVote(
- uint256 proposalId,
- address account,
- uint8 support,
- string memory reason,
- bytes memory params
- )
+ function _castVote(uint256 proposalId, address account, uint8 support, string memory reason, bytes memory params)
internal
virtual
override(Governor, GovernorPreventLateQuorum)
diff --git a/contracts/GovernanceToken.sol b/contracts/GovernanceToken.sol
index 7ae84b8f..8f240e55 100644
--- a/contracts/GovernanceToken.sol
+++ b/contracts/GovernanceToken.sol
@@ -25,7 +25,7 @@ contract OriginDollarGovernance is
__Ownable_init();
__UUPSUpgradeable_init();
- _mint(msg.sender, 1000000000 * 10**decimals());
+ _mint(msg.sender, 1000000000 * 10 ** decimals());
}
function mint(address to, uint256 amount) public onlyRole(MINTER_ROLE) {
@@ -49,11 +49,7 @@ contract OriginDollarGovernance is
_grantRole(DEFAULT_ADMIN_ROLE, _account);
}
- function _authorizeUpgrade(address newImplementation)
- internal
- override
- onlyOwner
- {}
+ function _authorizeUpgrade(address newImplementation) internal override onlyOwner {}
function name() public view virtual override returns (string memory) {
return "Origin DeFi Governance";
diff --git a/contracts/GovernorCompatibilityBravo.sol b/contracts/GovernorCompatibilityBravo.sol
index fd6d4eca..404beb12 100644
--- a/contracts/GovernorCompatibilityBravo.sol
+++ b/contracts/GovernorCompatibilityBravo.sol
@@ -18,11 +18,7 @@ import "./IGovernorCompatibilityBravo.sol";
*
* _Available since v4.3._
*/
-abstract contract GovernorCompatibilityBravo is
- IGovernorTimelock,
- IGovernorCompatibilityBravo,
- Governor
-{
+abstract contract GovernorCompatibilityBravo is IGovernorTimelock, IGovernorCompatibilityBravo, Governor {
using Counters for Counters.Counter;
using Timers for Timers.BlockNumber;
@@ -48,13 +44,7 @@ abstract contract GovernorCompatibilityBravo is
mapping(uint256 => ProposalDetails) private _proposalDetails;
// solhint-disable-next-line func-name-mixedcase
- function COUNTING_MODE()
- public
- pure
- virtual
- override
- returns (string memory)
- {
+ function COUNTING_MODE() public pure virtual override returns (string memory) {
return "support=bravo&quorum=bravo";
}
@@ -68,14 +58,7 @@ abstract contract GovernorCompatibilityBravo is
bytes[] memory calldatas,
string memory description
) public virtual override(IGovernor, Governor) returns (uint256) {
- _storeProposal(
- _msgSender(),
- targets,
- values,
- new string[](calldatas.length),
- calldatas,
- description
- );
+ _storeProposal(_msgSender(), targets, values, new string[](calldatas.length), calldatas, description);
return super.propose(targets, values, calldatas, description);
}
@@ -89,21 +72,8 @@ abstract contract GovernorCompatibilityBravo is
bytes[] memory calldatas,
string memory description
) public virtual override returns (uint256) {
- _storeProposal(
- _msgSender(),
- targets,
- values,
- signatures,
- calldatas,
- description
- );
- return
- propose(
- targets,
- values,
- _encodeCalldata(signatures, calldatas),
- description
- );
+ _storeProposal(_msgSender(), targets, values, signatures, calldatas, description);
+ return propose(targets, values, _encodeCalldata(signatures, calldatas), description);
}
/**
@@ -136,9 +106,7 @@ abstract contract GovernorCompatibilityBravo is
ProposalDetails storage details = _proposalDetails[proposalId];
require(
- _msgSender() == details.proposer ||
- getVotes(details.proposer, block.number - 1) <
- proposalThreshold(),
+ _msgSender() == details.proposer || getVotes(details.proposer, block.number - 1) < proposalThreshold(),
"GovernorBravo: proposer above threshold"
);
@@ -153,19 +121,17 @@ abstract contract GovernorCompatibilityBravo is
/**
* @dev Encodes calldatas with optional function signature.
*/
- function _encodeCalldata(
- string[] memory signatures,
- bytes[] memory calldatas
- ) private pure returns (bytes[] memory) {
+ function _encodeCalldata(string[] memory signatures, bytes[] memory calldatas)
+ private
+ pure
+ returns (bytes[] memory)
+ {
bytes[] memory fullcalldatas = new bytes[](calldatas.length);
for (uint256 i = 0; i < signatures.length; ++i) {
fullcalldatas[i] = bytes(signatures[i]).length == 0
? calldatas[i]
- : abi.encodePacked(
- bytes4(keccak256(bytes(signatures[i]))),
- calldatas[i]
- );
+ : abi.encodePacked(bytes4(keccak256(bytes(signatures[i]))), calldatas[i]);
}
return fullcalldatas;
@@ -183,12 +149,7 @@ abstract contract GovernorCompatibilityBravo is
string memory description
) private {
bytes32 descriptionHash = keccak256(bytes(description));
- uint256 proposalId = hashProposal(
- targets,
- values,
- _encodeCalldata(signatures, calldatas),
- descriptionHash
- );
+ uint256 proposalId = hashProposal(targets, values, _encodeCalldata(signatures, calldatas), descriptionHash);
ProposalDetails storage details = _proposalDetails[proposalId];
if (details.descriptionHash == bytes32(0)) {
@@ -255,24 +216,13 @@ abstract contract GovernorCompatibilityBravo is
)
{
ProposalDetails storage details = _proposalDetails[proposalId];
- return (
- details.targets,
- details.values,
- details.signatures,
- details.calldatas
- );
+ return (details.targets, details.values, details.signatures, details.calldatas);
}
/**
* @dev See {IGovernorCompatibilityBravo-getReceipt}.
*/
- function getReceipt(uint256 proposalId, address voter)
- public
- view
- virtual
- override
- returns (Receipt memory)
- {
+ function getReceipt(uint256 proposalId, address voter) public view virtual override returns (Receipt memory) {
return _proposalDetails[proposalId].receipts[voter];
}
@@ -287,26 +237,14 @@ abstract contract GovernorCompatibilityBravo is
/**
* @dev See {IGovernor-hasVoted}.
*/
- function hasVoted(uint256 proposalId, address account)
- public
- view
- virtual
- override
- returns (bool)
- {
+ function hasVoted(uint256 proposalId, address account) public view virtual override returns (bool) {
return _proposalDetails[proposalId].receipts[account].hasVoted;
}
/**
* @dev See {Governor-_quorumReached}. In this module, only forVotes count toward the quorum.
*/
- function _quorumReached(uint256 proposalId)
- internal
- view
- virtual
- override
- returns (bool)
- {
+ function _quorumReached(uint256 proposalId) internal view virtual override returns (bool) {
ProposalDetails storage details = _proposalDetails[proposalId];
return quorum(proposalSnapshot(proposalId)) <= details.forVotes;
}
@@ -314,13 +252,7 @@ abstract contract GovernorCompatibilityBravo is
/**
* @dev See {Governor-_voteSucceeded}. In this module, the forVotes must be scritly over the againstVotes.
*/
- function _voteSucceeded(uint256 proposalId)
- internal
- view
- virtual
- override
- returns (bool)
- {
+ function _voteSucceeded(uint256 proposalId) internal view virtual override returns (bool) {
ProposalDetails storage details = _proposalDetails[proposalId];
return details.forVotes > details.againstVotes;
}
@@ -338,10 +270,7 @@ abstract contract GovernorCompatibilityBravo is
ProposalDetails storage details = _proposalDetails[proposalId];
Receipt storage receipt = details.receipts[account];
- require(
- !receipt.hasVoted,
- "GovernorCompatibilityBravo: vote already cast"
- );
+ require(!receipt.hasVoted, "GovernorCompatibilityBravo: vote already cast");
receipt.hasVoted = true;
receipt.support = support;
receipt.votes = weight;
diff --git a/contracts/IGovernorCompatibilityBravo.sol b/contracts/IGovernorCompatibilityBravo.sol
index 9d627c15..5c96e75d 100644
--- a/contracts/IGovernorCompatibilityBravo.sol
+++ b/contracts/IGovernorCompatibilityBravo.sol
@@ -109,9 +109,5 @@ abstract contract IGovernorCompatibilityBravo is IGovernor {
/**
* @dev Part of the Governor Bravo's interface: _"Gets the receipt for a voter on a given proposal"_.
*/
- function getReceipt(uint256 proposalId, address voter)
- public
- view
- virtual
- returns (Receipt memory);
+ function getReceipt(uint256 proposalId, address voter) public view virtual returns (Receipt memory);
}
diff --git a/contracts/IMerkleDistributor.sol b/contracts/IMerkleDistributor.sol
index edcb615d..01ddeb21 100644
--- a/contracts/IMerkleDistributor.sol
+++ b/contracts/IMerkleDistributor.sol
@@ -16,12 +16,7 @@ interface IMerkleDistributor {
function isClaimed(uint256 index) external view returns (bool);
// Claim the given amount of the token to the given address. Reverts if the inputs are invalid.
- function claim(
- uint256 index,
- address account,
- uint256 amount,
- bytes32[] calldata merkleProof
- ) external;
+ function claim(uint256 index, address account, uint256 amount, bytes32[] calldata merkleProof) external;
// This event is triggered whenever a call to #claim succeeds.
event Claimed(uint256 index, address account, uint256 amount);
diff --git a/contracts/MandatoryLockupDistributor.sol b/contracts/MandatoryLockupDistributor.sol
index 87cc489e..25ada014 100644
--- a/contracts/MandatoryLockupDistributor.sol
+++ b/contracts/MandatoryLockupDistributor.sol
@@ -5,21 +5,13 @@ pragma solidity ^0.8.4;
import "./AbstractLockupDistributor.sol";
interface IOGVStaking {
- function stake(
- uint256 amount,
- uint256 end,
- address to
- ) external;
+ function stake(uint256 amount, uint256 end, address to) external;
}
contract MandatoryLockupDistributor is AbstractLockupDistributor {
-
- constructor(
- address _token,
- bytes32 _merkleRoot,
- address _stakingContract,
- uint256 _endBlock
- ) AbstractLockupDistributor(_token, _merkleRoot, _stakingContract, _endBlock) {}
+ constructor(address _token, bytes32 _merkleRoot, address _stakingContract, uint256 _endBlock)
+ AbstractLockupDistributor(_token, _merkleRoot, _stakingContract, _endBlock)
+ {}
/**
* @dev Execute a claim using a merkle proof with optional lockup in the staking contract.
@@ -27,20 +19,13 @@ contract MandatoryLockupDistributor is AbstractLockupDistributor {
* @param _amount Amount eligible to claim
* @param _merkleProof The proof
*/
- function claim(
- uint256 _index,
- uint256 _amount,
- bytes32[] calldata _merkleProof
- ) external {
+ function claim(uint256 _index, uint256 _amount, bytes32[] calldata _merkleProof) external {
require(!isClaimed(_index), "MerkleDistributor: Drop already claimed.");
require(block.number < endBlock, "Can no longer claim. Claim period expired");
// Verify the merkle proof.
bytes32 node = keccak256(abi.encodePacked(_index, msg.sender, _amount));
- require(
- MerkleProof.verify(_merkleProof, merkleRoot, node),
- "MerkleDistributor: Invalid proof."
- );
+ require(MerkleProof.verify(_merkleProof, merkleRoot, node), "MerkleDistributor: Invalid proof.");
// Mark it claimed and send the token.
setClaimed(_index);
diff --git a/contracts/OgvStaking.sol b/contracts/OgvStaking.sol
index d69283d3..4f06b815 100644
--- a/contracts/OgvStaking.sol
+++ b/contracts/OgvStaking.sol
@@ -1,7 +1,9 @@
// SPDX-License-Identifier: MIT
pragma solidity 0.8.10;
+
import {ERC20Votes} from "OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC20/extensions/ERC20Votes.sol";
-import {ERC20Permit} from "OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC20/extensions/draft-ERC20Permit.sol";
+import {ERC20Permit} from
+ "OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC20/extensions/draft-ERC20Permit.sol";
import {ERC20} from "OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC20/ERC20.sol";
import {PRBMathUD60x18} from "paulrberg/prb-math@2.5.0/contracts/PRBMathUD60x18.sol";
import {RewardsSource} from "./RewardsSource.sol";
@@ -20,11 +22,13 @@ contract OgvStaking is ERC20Votes {
// 2. Staking and Lockup Storage
uint256 constant YEAR_BASE = 18e17;
+
struct Lockup {
uint128 amount;
uint128 end;
uint256 points;
}
+
mapping(address => Lockup[]) public lockups;
// 3. Reward Storage
@@ -35,36 +39,22 @@ contract OgvStaking is ERC20Votes {
// Used to track any calls to `delegate()` method. When this isn't
// set to true, voting powers are delegated to the receiver of the stake
- // when `stake()` or `extend()` method are called.
- // For existing stakers with delegation set, This will remain `false`
+ // when `stake()` or `extend()` method are called.
+ // For existing stakers with delegation set, This will remain `false`
// unless the user calls `delegate()` method.
mapping(address => bool) public hasDelegationSet;
// Events
- event Stake(
- address indexed user,
- uint256 lockupId,
- uint256 amount,
- uint256 end,
- uint256 points
- );
- event Unstake(
- address indexed user,
- uint256 lockupId,
- uint256 amount,
- uint256 end,
- uint256 points
- );
+ event Stake(address indexed user, uint256 lockupId, uint256 amount, uint256 end, uint256 points);
+ event Unstake(address indexed user, uint256 lockupId, uint256 amount, uint256 end, uint256 points);
event Reward(address indexed user, uint256 amount);
// 1. Core Functions
- constructor(
- address ogv_,
- uint256 epoch_,
- uint256 minStakeDuration_,
- address rewardsSource_
- ) ERC20("", "") ERC20Permit("veOGV") {
+ constructor(address ogv_, uint256 epoch_, uint256 minStakeDuration_, address rewardsSource_)
+ ERC20("", "")
+ ERC20Permit("veOGV")
+ {
ogv = ERC20(ogv_);
epoch = epoch_;
minStakeDuration = minStakeDuration_;
@@ -83,11 +73,7 @@ contract OgvStaking is ERC20Votes {
revert("Staking: Transfers disabled");
}
- function transferFrom(
- address,
- address,
- uint256
- ) public override returns (bool) {
+ function transferFrom(address, address, uint256) public override returns (bool) {
revert("Staking: Transfers disabled");
}
@@ -106,11 +92,7 @@ contract OgvStaking is ERC20Votes {
/// @param amount OGV to lockup in the stake
/// @param duration in seconds for the stake
/// @param to address to receive ownership of the stake
- function stake(
- uint256 amount,
- uint256 duration,
- address to
- ) external {
+ function stake(uint256 amount, uint256 duration, address to) external {
_stake(amount, duration, to);
}
@@ -133,21 +115,14 @@ contract OgvStaking is ERC20Votes {
/// @param amount OGV to lockup in the stake
/// @param duration in seconds for the stake
/// @param to address to receive ownership of the stake
- function _stake(
- uint256 amount,
- uint256 duration,
- address to
- ) internal {
+ function _stake(uint256 amount, uint256 duration, address to) internal {
require(to != address(0), "Staking: To the zero address");
require(amount <= type(uint128).max, "Staking: Too much");
require(amount > 0, "Staking: Not enough");
// duration checked inside previewPoints
(uint256 points, uint256 end) = previewPoints(amount, duration);
- require(
- points + totalSupply() <= type(uint192).max,
- "Staking: Max points exceeded"
- );
+ require(points + totalSupply() <= type(uint192).max, "Staking: Max points exceeded");
_collectRewards(to);
lockups[to].push(
Lockup({
@@ -203,10 +178,7 @@ contract OgvStaking is ERC20Votes {
uint256 oldAmount = lockup.amount;
uint256 oldEnd = lockup.end;
uint256 oldPoints = lockup.points;
- (uint256 newPoints, uint256 newEnd) = previewPoints(
- oldAmount,
- duration
- );
+ (uint256 newPoints, uint256 newEnd) = previewPoints(oldAmount, duration);
require(newEnd > oldEnd, "Staking: New lockup must be longer");
lockup.end = uint128(newEnd);
lockup.points = newPoints;
@@ -227,11 +199,7 @@ contract OgvStaking is ERC20Votes {
/// @param duration number of seconds to stake for
/// @return points staking points that would be returned
/// @return end staking period end date
- function previewPoints(uint256 amount, uint256 duration)
- public
- view
- returns (uint256, uint256)
- {
+ function previewPoints(uint256 amount, uint256 duration) public view returns (uint256, uint256) {
require(duration >= minStakeDuration, "Staking: Too short");
require(duration <= 1461 days, "Staking: Too long");
uint256 start = block.timestamp > epoch ? block.timestamp : epoch;
@@ -260,8 +228,7 @@ contract OgvStaking is ERC20Votes {
}
uint256 _accRewardPerShare = accRewardPerShare;
_accRewardPerShare += (rewardsSource.previewRewards() * 1e12) / supply;
- uint256 netRewardsPerShare = _accRewardPerShare -
- rewardDebtPerShare[user];
+ uint256 netRewardsPerShare = _accRewardPerShare - rewardDebtPerShare[user];
return (balanceOf(user) * netRewardsPerShare) / 1e12;
}
@@ -281,14 +248,14 @@ contract OgvStaking is ERC20Votes {
uint256 supply = totalSupply();
if (supply > 0) {
uint256 preBalance = ogv.balanceOf(address(this));
- try rewardsSource.collectRewards() {} catch {
+ try rewardsSource.collectRewards() {}
+ catch {
// Governance staking should continue, even if rewards fail
}
uint256 collected = ogv.balanceOf(address(this)) - preBalance;
accRewardPerShare += (collected * 1e12) / supply;
}
- uint256 netRewardsPerShare = accRewardPerShare -
- rewardDebtPerShare[user];
+ uint256 netRewardsPerShare = accRewardPerShare - rewardDebtPerShare[user];
uint256 netRewards = (balanceOf(user) * netRewardsPerShare) / 1e12;
rewardDebtPerShare[user] = accRewardPerShare;
if (netRewards == 0) {
diff --git a/contracts/OptionalLockupDistributor.sol b/contracts/OptionalLockupDistributor.sol
index 0dd57409..e02a6f39 100644
--- a/contracts/OptionalLockupDistributor.sol
+++ b/contracts/OptionalLockupDistributor.sol
@@ -5,21 +5,13 @@ pragma solidity ^0.8.4;
import "./AbstractLockupDistributor.sol";
interface IOGVStaking {
- function stake(
- uint256 amount,
- uint256 end,
- address _account
- ) external;
+ function stake(uint256 amount, uint256 end, address _account) external;
}
contract OptionalLockupDistributor is AbstractLockupDistributor {
-
- constructor(
- address _token,
- bytes32 _merkleRoot,
- address _stakingContract,
- uint256 _endBlock
- ) AbstractLockupDistributor(_token, _merkleRoot, _stakingContract, _endBlock) {}
+ constructor(address _token, bytes32 _merkleRoot, address _stakingContract, uint256 _endBlock)
+ AbstractLockupDistributor(_token, _merkleRoot, _stakingContract, _endBlock)
+ {}
/**
* @dev Execute a claim using a merkle proof with optional stake in the staking contract.
@@ -28,37 +20,22 @@ contract OptionalLockupDistributor is AbstractLockupDistributor {
* @param _merkleProof The proof
* @param _stakeDuration Duration of the stake to create
*/
- function claim(
- uint256 _index,
- uint256 _amount,
- bytes32[] calldata _merkleProof,
- uint256 _stakeDuration
- ) external {
+ function claim(uint256 _index, uint256 _amount, bytes32[] calldata _merkleProof, uint256 _stakeDuration) external {
require(!isClaimed(_index), "MerkleDistributor: Drop already claimed.");
require(block.number < endBlock, "Can no longer claim. Claim period expired");
// Verify the merkle proof.
bytes32 node = keccak256(abi.encodePacked(_index, msg.sender, _amount));
- require(
- MerkleProof.verify(_merkleProof, merkleRoot, node),
- "MerkleDistributor: Invalid proof."
- );
+ require(MerkleProof.verify(_merkleProof, merkleRoot, node), "MerkleDistributor: Invalid proof.");
// Mark it claimed and send the token.
setClaimed(_index);
if (_stakeDuration > 0) {
IERC20(token).approve(stakingContract, _amount);
// stakingContract.stake(_amount, _stakeDuration, msg.sender),
- IOGVStaking(stakingContract).stake(
- _amount,
- _stakeDuration,
- msg.sender
- );
+ IOGVStaking(stakingContract).stake(_amount, _stakeDuration, msg.sender);
} else {
- require(
- IERC20(token).transfer(msg.sender, _amount),
- "MerkleDistributor: Transfer failed."
- );
+ require(IERC20(token).transfer(msg.sender, _amount), "MerkleDistributor: Transfer failed.");
}
emit Claimed(_index, msg.sender, _amount);
diff --git a/contracts/RewardsSource.sol b/contracts/RewardsSource.sol
index 32d417be..cedfeed3 100644
--- a/contracts/RewardsSource.sol
+++ b/contracts/RewardsSource.sol
@@ -1,5 +1,6 @@
// SPDX-License-Identifier: MIT
pragma solidity 0.8.10;
+
import {Governable} from "./Governable.sol";
interface Mintable {
@@ -21,6 +22,7 @@ contract RewardsSource is Governable {
uint64 end; // Internal use only. By duplicating the start of the next slope, we can save a slot read
uint128 ratePerDay;
}
+
Slope[] public inflationSlopes;
uint256 constant MAX_KNEES = 48;
@@ -71,7 +73,7 @@ contract RewardsSource is Governable {
///
/// @return rewards OGV that would be collected
function previewRewards() external view returns (uint256) {
- (uint256 rewards, ) = _calculateInflation();
+ (uint256 rewards,) = _calculateInflation();
// When previewing rewards, check contract's own OGV balance,
// and if present, send that along as part of the rewards
@@ -149,14 +151,8 @@ contract RewardsSource is Governable {
}
slopes[length - 1].end = type(uint64).max;
for (uint256 i = 0; i < length; i++) {
- require(
- slopes[i].ratePerDay <= MAX_INFLATION_PER_DAY,
- "Rewards: RatePerDay too high"
- );
- require(
- slopes[i].start > minSlopeStart,
- "Rewards: Start times must increase"
- );
+ require(slopes[i].ratePerDay <= MAX_INFLATION_PER_DAY, "Rewards: RatePerDay too high");
+ require(slopes[i].start > minSlopeStart, "Rewards: Start times must increase");
if (i < length - 1) {
slopes[i].end = slopes[i + 1].start;
minSlopeStart = slopes[i].start;
diff --git a/contracts/tests/MockOGV.sol b/contracts/tests/MockOGV.sol
index eb55731e..074c9f5a 100644
--- a/contracts/tests/MockOGV.sol
+++ b/contracts/tests/MockOGV.sol
@@ -1,7 +1,7 @@
// SPDX-License-Identifier: MIT
pragma solidity 0.8.10;
-import { ERC20 } from "OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC20/ERC20.sol";
+import {ERC20} from "OpenZeppelin/openzeppelin-contracts@4.6.0/contracts/token/ERC20/ERC20.sol";
contract MockOGV is ERC20 {
constructor() ERC20("OGV", "OGV") {}
diff --git a/contracts/upgrades/ERC1967Proxy.sol b/contracts/upgrades/ERC1967Proxy.sol
index c48d6bea..62c10745 100644
--- a/contracts/upgrades/ERC1967Proxy.sol
+++ b/contracts/upgrades/ERC1967Proxy.sol
@@ -20,23 +20,14 @@ contract ERC1967Proxy is Proxy, ERC1967Upgrade {
* function call, and allows initializating the storage of the proxy like a Solidity constructor.
*/
constructor(address _logic, bytes memory _data) payable {
- assert(
- _IMPLEMENTATION_SLOT ==
- bytes32(uint256(keccak256("eip1967.proxy.implementation")) - 1)
- );
+ assert(_IMPLEMENTATION_SLOT == bytes32(uint256(keccak256("eip1967.proxy.implementation")) - 1));
_upgradeToAndCall(_logic, _data, false);
}
/**
* @dev Returns the current implementation address.
*/
- function _implementation()
- internal
- view
- virtual
- override
- returns (address impl)
- {
+ function _implementation() internal view virtual override returns (address impl) {
return ERC1967Upgrade._getImplementation();
}
}
diff --git a/contracts/upgrades/InitializeGovernedUpgradeabilityProxy.sol b/contracts/upgrades/InitializeGovernedUpgradeabilityProxy.sol
index 5fe39db3..b45e1624 100644
--- a/contracts/upgrades/InitializeGovernedUpgradeabilityProxy.sol
+++ b/contracts/upgrades/InitializeGovernedUpgradeabilityProxy.sol
@@ -31,20 +31,13 @@ contract InitializeGovernedUpgradeabilityProxy is Governable {
* This parameter is optional, if no data is given the initialization call
* to proxied contract will be skipped.
*/
- function initialize(
- address _logic,
- address _initGovernor,
- bytes memory _data
- ) public payable onlyGovernor {
+ function initialize(address _logic, address _initGovernor, bytes memory _data) public payable onlyGovernor {
require(_implementation() == address(0));
- assert(
- IMPLEMENTATION_SLOT ==
- bytes32(uint256(keccak256("eip1967.proxy.implementation")) - 1)
- );
+ assert(IMPLEMENTATION_SLOT == bytes32(uint256(keccak256("eip1967.proxy.implementation")) - 1));
_changeGovernor(_initGovernor);
_setImplementation(_logic);
if (_data.length > 0) {
- (bool success, ) = _logic.delegatecall(_data);
+ (bool success,) = _logic.delegatecall(_data);
require(success);
}
}
@@ -81,13 +74,9 @@ contract InitializeGovernedUpgradeabilityProxy is Governable {
* It should include the signature and the parameters of the function to be called, as described in
* https://solidity.readthedocs.io/en/v0.4.24/abi-spec.html#function-selector-and-argument-encoding.
*/
- function upgradeToAndCall(address newImplementation, bytes calldata data)
- external
- payable
- onlyGovernor
- {
+ function upgradeToAndCall(address newImplementation, bytes calldata data) external payable onlyGovernor {
_upgradeTo(newImplementation);
- (bool success, ) = newImplementation.delegatecall(data);
+ (bool success,) = newImplementation.delegatecall(data);
require(success);
}
@@ -121,12 +110,8 @@ contract InitializeGovernedUpgradeabilityProxy is Governable {
switch result
// delegatecall returns 0 on error.
- case 0 {
- revert(0, returndatasize())
- }
- default {
- return(0, returndatasize())
- }
+ case 0 { revert(0, returndatasize()) }
+ default { return(0, returndatasize()) }
}
}
@@ -151,8 +136,7 @@ contract InitializeGovernedUpgradeabilityProxy is Governable {
* This is the keccak-256 hash of "eip1967.proxy.implementation" subtracted by 1, and is
* validated in the constructor.
*/
- bytes32 internal constant IMPLEMENTATION_SLOT =
- 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;
+ bytes32 internal constant IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;
/**
* @dev Returns the current implementation.
@@ -179,10 +163,7 @@ contract InitializeGovernedUpgradeabilityProxy is Governable {
* @param newImplementation Address of the new implementation.
*/
function _setImplementation(address newImplementation) internal {
- require(
- Address.isContract(newImplementation),
- "Cannot set a proxy implementation to a non-contract address"
- );
+ require(Address.isContract(newImplementation), "Cannot set a proxy implementation to a non-contract address");
bytes32 slot = IMPLEMENTATION_SLOT;
diff --git a/foundry.toml b/foundry.toml
index 9d38510f..b89cc459 100644
--- a/foundry.toml
+++ b/foundry.toml
@@ -1,4 +1,4 @@
-[default]
+[profile.default]
src = 'contracts'
test = 'tests'
remappings = [
diff --git a/package.json b/package.json
index 9190c29d..5a6a80e4 100644
--- a/package.json
+++ b/package.json
@@ -6,10 +6,7 @@
"node": "./node.sh fork",
"deploy:contracts:dev": "brownie run deploy main client/networks/governance.localhost.json",
"generate-merkle-tree": "CHAIN_ID=1 ts-node generate-merkle-tree.ts",
- "generate-merkle-tree:dev": "CHAIN_ID=31337 ts-node generate-merkle-tree.ts",
- "build": "cd client && yarn install && yarn run build",
- "start:web": "cd client && yarn run start:web",
- "start:listener": "cd client && yarn run start:listener"
+ "generate-merkle-tree:dev": "CHAIN_ID=31337 ts-node generate-merkle-tree.ts"
},
"dependencies": {
"ethers": "^5.6.8",
diff --git a/script/OgvStaking.s.sol b/script/OgvStaking.s.sol
index d19beb74..06e6f155 100644
--- a/script/OgvStaking.s.sol
+++ b/script/OgvStaking.s.sol
@@ -7,23 +7,18 @@ import {PRBMathUD60x18} from "paulrberg/prb-math@2.5.0/contracts/PRBMathUD60x18.
import "forge-std/console.sol";
contract OgvStakingScript is Script {
-
uint256 private constant epoch = 1657584000;
uint256 private constant SECONDS_IN_A_MONTH = 2629800; // 365.25 * (24 * 60 * 60) / 12
uint256 constant YEAR_BASE = 18e17;
-
+
function run() public {
vm.warp(1644405478);
(uint256 points, uint256 end) = (previewPoints(800000000e18, 6 * SECONDS_IN_A_MONTH));
console.log(points);
}
- function previewPoints(uint256 amount, uint256 duration)
- public
- view
- returns (uint256, uint256)
- {
+ function previewPoints(uint256 amount, uint256 duration) public view returns (uint256, uint256) {
// Basically always block.timestamp
uint256 start = block.timestamp > epoch ? block.timestamp : epoch;
uint256 end = start + duration;
diff --git a/tests/staking/DelegationTest.t.sol b/tests/staking/DelegationTest.t.sol
index 6c76992e..a1f7a405 100644
--- a/tests/staking/DelegationTest.t.sol
+++ b/tests/staking/DelegationTest.t.sol
@@ -9,7 +9,6 @@ import "contracts/tests/MockOGV.sol";
//
// Sanity test of OpenZeppelin's voting and delegation.
//
-
contract DelegationTest is Test {
using stdStorage for StdStorage;
@@ -60,12 +59,12 @@ contract DelegationTest is Test {
function testAutoDelegateOnStake() external {
vm.roll(1);
-
+
// Can vote immediately after staking
assertEq(staking.getVotes(oak), 1 * POINTS, "can vote after staking");
assertEq(staking.getPastVotes(oak, block.number - 1), 0, "should not have voting power before staking");
assertEq(staking.delegates(oak), oak, "self-delegated after staking");
-
+
vm.roll(2);
// Can opt out of voting after staking
@@ -78,7 +77,7 @@ contract DelegationTest is Test {
function testAutoDelegateOnStakeToOthers() external {
vm.roll(1);
-
+
// Alice should have voting power after taz stakes for her
assertEq(staking.getVotes(alice), POINTS, "can vote after staking");
assertEq(staking.getVotes(taz), 0, "should not have voting power");
@@ -86,7 +85,7 @@ contract DelegationTest is Test {
assertEq(staking.getPastVotes(taz, block.number - 1), 0, "should not have voting power");
assertEq(staking.delegates(alice), alice, "delegated to receiver after staking");
assertEq(staking.delegates(taz), address(0), "should not have a delegatee set");
-
+
vm.roll(2);
// Alice can opt out of voting after staking
@@ -99,7 +98,7 @@ contract DelegationTest is Test {
function testDelegateOnExtendAfterRenounce() external {
vm.roll(1);
-
+
// Can vote immediately after staking
assertEq(staking.getVotes(oak), 1 * POINTS, "can vote after staking");
assertEq(staking.getPastVotes(oak, block.number - 1), 0, "should not have voting power before staking");
@@ -123,7 +122,7 @@ contract DelegationTest is Test {
function testDelegateOnExtendAfterTransfer() external {
vm.roll(1);
-
+
// Can vote immediately after staking
assertEq(staking.getVotes(oak), 1 * POINTS, "can vote after staking");
assertEq(staking.delegates(oak), oak, "self-delegated after staking");
@@ -146,13 +145,10 @@ contract DelegationTest is Test {
// For test purposes, undo auto-staking on user
vm.prank(oak);
staking.delegate(address(0));
- stdstore.target(address(staking))
- .sig(staking.hasDelegationSet.selector)
- .with_key(oak)
- .checked_write(false);
+ stdstore.target(address(staking)).sig(staking.hasDelegationSet.selector).with_key(oak).checked_write(false);
vm.roll(1);
-
+
// Cannot vote because test undid auto-staking
assertEq(staking.getVotes(oak), 0, "can not vote");
assertEq(staking.delegates(oak), address(0), "no delegation");
@@ -193,7 +189,7 @@ contract DelegationTest is Test {
assertEq(staking.getVotes(oak), 1 * POINTS, "can vote after staking");
assertEq(staking.getPastVotes(oak, block.number - 1), 0, "should not have voting power before staking");
assertEq(staking.delegates(oak), oak, "self-delegated after staking");
-
+
// Can opt out of voting
vm.roll(2);
vm.prank(oak);
@@ -210,7 +206,7 @@ contract DelegationTest is Test {
assertEq(staking.getVotes(oak), 1 * POINTS, "can vote after staking");
assertEq(staking.getPastVotes(oak, block.number - 1), 0, "should not have voting power before staking");
assertEq(staking.delegates(oak), oak, "self-delegated after staking");
-
+
// Delegate to someone else
vm.roll(2);
vm.prank(oak);
@@ -248,6 +244,4 @@ contract DelegationTest is Test {
// Alice should still have renounced voting
assertEq(staking.getVotes(alice), 0, "can't vot after renouncing");
}
-
-
}
diff --git a/tests/staking/OgvStaking.t.sol b/tests/staking/OgvStaking.t.sol
index cfb66d0d..be3701af 100644
--- a/tests/staking/OgvStaking.t.sol
+++ b/tests/staking/OgvStaking.t.sol
@@ -26,12 +26,12 @@ contract OgvStakingTest is Test {
source = new RewardsSource(address(ogv));
RewardsSourceProxy rewardsProxy = new RewardsSourceProxy();
- rewardsProxy.initialize(address(source), team, '');
+ rewardsProxy.initialize(address(source), team, "");
source = RewardsSource(address(rewardsProxy));
staking = new OgvStaking(address(ogv), EPOCH, MIN_STAKE_DURATION, address(source));
OgvStakingProxy stakingProxy = new OgvStakingProxy();
- stakingProxy.initialize(address(staking), team, '');
+ stakingProxy.initialize(address(staking), team, "");
staking = OgvStaking(address(stakingProxy));
source.setRewardsTarget(address(staking));
@@ -51,10 +51,7 @@ contract OgvStakingTest is Test {
function testStakeUnstake() public {
vm.startPrank(alice);
- (uint256 previewPoints, uint256 previewEnd) = staking.previewPoints(
- 10 ether,
- 10 days
- );
+ (uint256 previewPoints, uint256 previewEnd) = staking.previewPoints(10 ether, 10 days);
uint256 beforeOgv = ogv.balanceOf(alice);
uint256 beforeOgvStaking = ogv.balanceOf(address(staking));
@@ -64,19 +61,12 @@ contract OgvStakingTest is Test {
assertEq(ogv.balanceOf(alice), beforeOgv - 10 ether);
assertEq(ogv.balanceOf(address(staking)), beforeOgvStaking + 10 ether);
assertEq(staking.balanceOf(alice), previewPoints);
- (
- uint128 lockupAmount,
- uint128 lockupEnd,
- uint256 lockupPoints
- ) = staking.lockups(alice, 0);
+ (uint128 lockupAmount, uint128 lockupEnd, uint256 lockupPoints) = staking.lockups(alice, 0);
assertEq(lockupAmount, 10 ether);
assertEq(lockupEnd, EPOCH + 10 days);
assertEq(lockupEnd, previewEnd);
assertEq(lockupPoints, previewPoints);
- assertEq(
- staking.accRewardPerShare(),
- staking.rewardDebtPerShare(alice)
- );
+ assertEq(staking.accRewardPerShare(), staking.rewardDebtPerShare(alice));
vm.warp(31 days);
staking.unstake(0);
@@ -87,10 +77,7 @@ contract OgvStakingTest is Test {
assertEq(lockupAmount, 0);
assertEq(lockupEnd, 0);
assertEq(lockupPoints, 0);
- assertEq(
- staking.accRewardPerShare(),
- staking.rewardDebtPerShare(alice)
- );
+ assertEq(staking.accRewardPerShare(), staking.rewardDebtPerShare(alice));
}
function testMatchedDurations() public {
@@ -154,10 +141,8 @@ contract OgvStakingTest is Test {
// and should have the same points.
assertEq(staking.balanceOf(alice), staking.balanceOf(bob));
- (uint128 aliceAmount, uint128 aliceEnd, uint256 alicePoints) = staking
- .lockups(alice, 0);
- (uint128 bobAmount, uint128 bobEnd, uint256 bobPoints) = staking
- .lockups(bob, 0);
+ (uint128 aliceAmount, uint128 aliceEnd, uint256 alicePoints) = staking.lockups(alice, 0);
+ (uint128 bobAmount, uint128 bobEnd, uint256 bobPoints) = staking.lockups(bob, 0);
assertEq(aliceAmount, bobAmount, "same amount");
assertEq(aliceEnd, bobEnd, "same end");
assertEq(alicePoints, bobPoints, "same points");
@@ -179,10 +164,8 @@ contract OgvStakingTest is Test {
// and should have the same points.
assertEq(staking.balanceOf(alice), staking.balanceOf(bob));
- (uint128 aliceAmount, uint128 aliceEnd, uint256 alicePoints) = staking
- .lockups(alice, 0);
- (uint128 bobAmount, uint128 bobEnd, uint256 bobPoints) = staking
- .lockups(bob, 0);
+ (uint128 aliceAmount, uint128 aliceEnd, uint256 alicePoints) = staking.lockups(alice, 0);
+ (uint128 bobAmount, uint128 bobEnd, uint256 bobPoints) = staking.lockups(bob, 0);
assertEq(aliceAmount, bobAmount, "same amount");
assertEq(aliceEnd, bobEnd, "same end");
assertEq(alicePoints, bobPoints, "same points");
@@ -247,19 +230,9 @@ contract OgvStakingTest is Test {
uint256 afterOgv = ogv.balanceOf(alice);
uint256 collectedRewards = afterOgv - beforeOgv;
- assertApproxEqAbs(
- collectedRewards,
- 8 ether,
- 1e8,
- "actual amount should be correct"
- );
+ assertApproxEqAbs(collectedRewards, 8 ether, 1e8, "actual amount should be correct");
assertEq(collectedRewards, preview, "preview should match actual");
- assertApproxEqAbs(
- preview,
- 8 ether,
- 1e8,
- "preview amount should be correct"
- );
+ assertApproxEqAbs(preview, 8 ether, 1e8, "preview amount should be correct");
}
function testCollectedRewardsJumpInOut() public {
@@ -288,10 +261,7 @@ contract OgvStakingTest is Test {
staking.collectRewards(); // Alice collects
vm.prank(bob);
staking.collectRewards(); // Bob collects
- assertEq(
- ogv.balanceOf(alice) - aliceBefore,
- ogv.balanceOf(bob) - bobBefore
- );
+ assertEq(ogv.balanceOf(alice) - aliceBefore, ogv.balanceOf(bob) - bobBefore);
}
function testMultipleUnstake() public {
@@ -424,13 +394,9 @@ contract OgvStakingTest is Test {
staking.unstake(1);
}
- function testFuzzCanAlwaysWithdraw(
- uint96 amountA,
- uint96 amountB,
- uint64 durationA,
- uint64 durationB,
- uint64 start
- ) public {
+ function testFuzzCanAlwaysWithdraw(uint96 amountA, uint96 amountB, uint64 durationA, uint64 durationB, uint64 start)
+ public
+ {
uint256 HUNDRED_YEARS = 100 * 366 days;
uint256 LAST_START = HUNDRED_YEARS - 1461 days;
vm.warp(start % LAST_START);
@@ -484,7 +450,7 @@ contract OgvStakingTest is Test {
vm.prank(bob);
staking.stake(1e18, 10 days, bob);
uint256 y = (356 days + start + 10 days) / 365 days;
- uint256 maxPoints = 2**y * 1e18;
+ uint256 maxPoints = 2 ** y * 1e18;
assertLt(staking.balanceOf(bob), maxPoints);
}
}
diff --git a/tests/staking/RewardsSource.t.sol b/tests/staking/RewardsSource.t.sol
index ba51cec3..c5454fe3 100644
--- a/tests/staking/RewardsSource.t.sol
+++ b/tests/staking/RewardsSource.t.sol
@@ -23,7 +23,7 @@ contract RewardsSourceTest is Test {
// Setup Rewards Proxy
RewardsSourceProxy rewardsProxy = new RewardsSourceProxy();
- rewardsProxy.initialize(address(rewards), team, '');
+ rewardsProxy.initialize(address(rewards), team, "");
rewards = RewardsSource(address(rewardsProxy));
// Configure Rewards
rewards.setRewardsTarget(address(staking));
@@ -226,7 +226,7 @@ contract RewardsSourceTest is Test {
ogv.mint(address(rewards), 13 ether);
vm.warp(EPOCH - 1000);
assertEq(ogv.balanceOf(address(rewards)), 13 ether, "BB: Rewards should only hold current buyback funds");
-
+
// Verify preview
assertEq(rewards.previewRewards(), 13 ether, "BB: Preview wrong");
// Verify collect
@@ -262,7 +262,6 @@ contract RewardsSourceTest is Test {
assertEq(ogv.balanceOf(staking), (13 ether + 11 ether + 15 ether + 20 ether), "Inf: Staking balance wrong");
}
-
function testFuzzExtraRewards(uint16 duration, uint64 extraRewards) external {
vm.prank(team);
RewardsSource.Slope[] memory slopes = new RewardsSource.Slope[](1);
@@ -274,13 +273,13 @@ contract RewardsSourceTest is Test {
uint256 startSnapshot = vm.snapshot();
// First, run without extra rewards, and record ending balance
- vm.warp(EPOCH+duration);
+ vm.warp(EPOCH + duration);
rewards.collectRewards();
uint256 inflationOnly = ogv.balanceOf(address(staking));
// Then, run the same period with rewards, and check math
vm.revertTo(startSnapshot);
- vm.warp(EPOCH+duration);
-
+ vm.warp(EPOCH + duration);
+
// Preview math
assertEq(rewards.previewRewards(), inflationOnly);
ogv.mint(address(rewards), extraRewards);