Merge pull request #16 from exstake/feature/show-apr
feature: show pools apr
This commit is contained in:
12
Dockerfile
Normal file
12
Dockerfile
Normal file
@@ -0,0 +1,12 @@
|
||||
FROM ruby:2.7.4
|
||||
|
||||
RUN apt update && apt install -y graphviz nodejs npm
|
||||
RUN npm i -g yarn
|
||||
|
||||
WORKDIR /usr/src/app
|
||||
USER 1000:1000
|
||||
COPY Gemfile Gemfile.lock /usr/src/app/
|
||||
RUN bundle install
|
||||
|
||||
COPY . /usr/src/app
|
||||
CMD bundle exec rails s -b 0.0.0.0
|
||||
222
app/javascript/src/abi/erc20.json
Normal file
222
app/javascript/src/abi/erc20.json
Normal file
@@ -0,0 +1,222 @@
|
||||
[
|
||||
{
|
||||
"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": true,
|
||||
"inputs": [],
|
||||
"name": "decimals",
|
||||
"outputs": [
|
||||
{
|
||||
"name": "",
|
||||
"type": "uint8"
|
||||
}
|
||||
],
|
||||
"payable": false,
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"constant": true,
|
||||
"inputs": [
|
||||
{
|
||||
"name": "_owner",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "balanceOf",
|
||||
"outputs": [
|
||||
{
|
||||
"name": "balance",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"payable": false,
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"constant": true,
|
||||
"inputs": [],
|
||||
"name": "symbol",
|
||||
"outputs": [
|
||||
{
|
||||
"name": "",
|
||||
"type": "string"
|
||||
}
|
||||
],
|
||||
"payable": false,
|
||||
"stateMutability": "view",
|
||||
"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": "_owner",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"name": "_spender",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "allowance",
|
||||
"outputs": [
|
||||
{
|
||||
"name": "",
|
||||
"type": "uint256"
|
||||
}
|
||||
],
|
||||
"payable": false,
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"payable": true,
|
||||
"stateMutability": "payable",
|
||||
"type": "fallback"
|
||||
},
|
||||
{
|
||||
"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"
|
||||
}
|
||||
]
|
||||
1
app/javascript/src/abi/pancake-router-v2.json
Normal file
1
app/javascript/src/abi/pancake-router-v2.json
Normal file
File diff suppressed because one or more lines are too long
98
app/javascript/src/components/Poo.tsx
Normal file
98
app/javascript/src/components/Poo.tsx
Normal file
@@ -0,0 +1,98 @@
|
||||
import React from "react";
|
||||
import BigNumber from "bignumber.js";
|
||||
|
||||
import type { PoolConfig } from "../types";
|
||||
import { useBsc } from "../contexts/BscProvider";
|
||||
import { getPriceInBusd } from "../utils/getPrice";
|
||||
import { getApr } from "../utils/apr";
|
||||
import { getTotalStaked } from "../utils/getTotalStaked";
|
||||
|
||||
type PoolProps = {
|
||||
pool: PoolConfig;
|
||||
};
|
||||
|
||||
export const Pool = ({ pool }: PoolProps) => {
|
||||
const {
|
||||
provider,
|
||||
pancake: { router },
|
||||
} = useBsc();
|
||||
|
||||
const [apr, setApr] = React.useState<{
|
||||
value: string | null;
|
||||
loading: boolean;
|
||||
}>({
|
||||
value: null,
|
||||
loading: true,
|
||||
});
|
||||
|
||||
React.useEffect(() => {
|
||||
(async () => {
|
||||
const stakingPrice = await getPriceInBusd(router, pool.stakingToken);
|
||||
const earningPrice = await getPriceInBusd(router, pool.earningToken);
|
||||
|
||||
const totalStaked = await getTotalStaked(provider, pool);
|
||||
|
||||
console.log(
|
||||
`Total Staked for ${pool.stakingToken.symbol} - ${
|
||||
pool.earningToken.symbol
|
||||
}: ${JSON.stringify(totalStaked)}`
|
||||
);
|
||||
|
||||
const aprValue = getApr(
|
||||
stakingPrice,
|
||||
earningPrice,
|
||||
totalStaked,
|
||||
parseFloat(pool.tokenPerBlock) / 1e-18
|
||||
);
|
||||
|
||||
if (aprValue) {
|
||||
setApr({
|
||||
loading: false,
|
||||
value: aprValue.toFixed(2),
|
||||
});
|
||||
}
|
||||
})();
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<div
|
||||
key={pool.sousId}
|
||||
id={pool.sousId.toString()}
|
||||
className="flex items-center w-full h-auto bg-white px-16 p-4 rounded-xl shadow flex-col relative z-0 overflow-hidden hover:shadow-lg transition-all duration-300 cursor-pointer"
|
||||
>
|
||||
<div
|
||||
className="box-border h-full w-full absolute left-0 top-0 rounded-xl opacity-20 filter blur-2xl bg-cover"
|
||||
style={{
|
||||
backgroundImage: `url('https://pancakeswap.finance/images/tokens/${pool.earningToken.address["56"]}.svg')`,
|
||||
backgroundPositionX: "50%",
|
||||
backgroundPositionY: "50%",
|
||||
backgroundSize: "125%",
|
||||
zIndex: -1,
|
||||
}}
|
||||
/>
|
||||
<img
|
||||
className="shadow-xl rounded-full w-24"
|
||||
src={`https://pancakeswap.finance/images/tokens/${pool.earningToken.address["56"]}.svg`}
|
||||
alt={`${pool.earningToken.symbol} icon`}
|
||||
/>
|
||||
<div className="mt-4 p-2">
|
||||
<p>
|
||||
<span className="font-medium">Investir:</span>{" "}
|
||||
{pool.stakingToken.symbol}
|
||||
</p>
|
||||
<p>
|
||||
<span className="font-medium">Receber:</span>{" "}
|
||||
{pool.earningToken.symbol}
|
||||
</p>
|
||||
<div className="flex items-center">
|
||||
<span className="font-medium mr-1">Rendimento:</span>
|
||||
{apr.loading ? (
|
||||
<div className="w-10 h-5 inline-block animate-pulse bg-gray-300 rounded" />
|
||||
) : (
|
||||
`${apr.value}%`
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
@@ -1,6 +1,7 @@
|
||||
import React from "react";
|
||||
|
||||
import { pools } from "../constants/Pools";
|
||||
import { Pool } from "./Poo";
|
||||
|
||||
export const PoolListing = () => {
|
||||
return (
|
||||
@@ -8,43 +9,7 @@ export const PoolListing = () => {
|
||||
{pools
|
||||
.filter((pool) => !pool.isFinished)
|
||||
.sort((a, b) => (a.sortOrder ?? 0) - (b.sortOrder ?? 0))
|
||||
.map((pool) => (
|
||||
<div
|
||||
key={pool.sousId}
|
||||
id={pool.sousId.toString()}
|
||||
className="flex items-center w-full h-auto bg-white px-16 p-4 rounded-xl shadow flex-col relative z-0 overflow-hidden hover:shadow-lg transition-all duration-300 cursor-pointer"
|
||||
>
|
||||
<div
|
||||
className="box-border h-full w-full absolute left-0 top-0 rounded-xl opacity-20 filter blur-2xl bg-cover"
|
||||
style={{
|
||||
backgroundImage: `url('https://pancakeswap.finance/images/tokens/${pool.earningToken.address["56"]}.svg')`,
|
||||
backgroundPositionX: "50%",
|
||||
backgroundPositionY: "50%",
|
||||
backgroundSize: "125%",
|
||||
zIndex: -1,
|
||||
}}
|
||||
/>
|
||||
<img
|
||||
className="shadow-xl rounded-full w-24"
|
||||
src={`https://pancakeswap.finance/images/tokens/${pool.earningToken.address["56"]}.svg`}
|
||||
alt={`${pool.earningToken.symbol} icon`}
|
||||
/>
|
||||
<div className="mt-4 p-2">
|
||||
<p>
|
||||
<span className="font-medium">Investir:</span>{" "}
|
||||
{pool.stakingToken.symbol}
|
||||
</p>
|
||||
<p>
|
||||
<span className="font-medium">Receber:</span>{" "}
|
||||
{pool.earningToken.symbol}
|
||||
</p>
|
||||
<div className="flex items-center">
|
||||
<span className="font-medium mr-1">Rendimento:</span>
|
||||
<div className="w-10 h-5 inline-block animate-pulse bg-gray-300 rounded" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
.map((pool) => <Pool key={pool.sousId} pool={pool} />)}
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
6
app/javascript/src/constants/index.ts
Normal file
6
app/javascript/src/constants/index.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
import BigNumber from "bignumber.js";
|
||||
|
||||
export const BSC_BLOCK_TIME = 3;
|
||||
export const BLOCKS_PER_YEAR = new BigNumber(
|
||||
(60 / BSC_BLOCK_TIME) * 60 * 24 * 365
|
||||
);
|
||||
49
app/javascript/src/contexts/BscProvider.tsx
Normal file
49
app/javascript/src/contexts/BscProvider.tsx
Normal file
@@ -0,0 +1,49 @@
|
||||
import React, { useContext } from "react";
|
||||
import { ethers } from "ethers";
|
||||
|
||||
import pancakeRouterV2 from "../abi/pancake-router-v2.json";
|
||||
|
||||
const provider = new ethers.providers.JsonRpcProvider(
|
||||
"https://bsc-dataseed1.defibit.io/\n"
|
||||
);
|
||||
|
||||
const router = new ethers.Contract(
|
||||
"0x10ED43C718714eb63d5aA57B78B54704E256024E",
|
||||
new ethers.utils.Interface(pancakeRouterV2),
|
||||
provider
|
||||
);
|
||||
|
||||
export type BscContext = {
|
||||
provider: typeof provider;
|
||||
pancake: {
|
||||
router: InstanceType<typeof ethers.Contract>;
|
||||
};
|
||||
};
|
||||
|
||||
const Context = React.createContext<BscContext>({
|
||||
provider,
|
||||
pancake: {
|
||||
router,
|
||||
},
|
||||
});
|
||||
|
||||
export const useBsc = () => {
|
||||
const context = useContext(Context);
|
||||
|
||||
if (!context) {
|
||||
throw new Error("You must wrap the component with <BscProvider />");
|
||||
}
|
||||
|
||||
return context;
|
||||
};
|
||||
|
||||
export const BscProvider = ({ children }: React.PropsWithChildren<any>) => {
|
||||
const value: BscContext = {
|
||||
provider,
|
||||
pancake: {
|
||||
router,
|
||||
},
|
||||
};
|
||||
|
||||
return <Context.Provider value={value}>{children}</Context.Provider>;
|
||||
};
|
||||
22
app/javascript/src/utils/apr.ts
Normal file
22
app/javascript/src/utils/apr.ts
Normal file
@@ -0,0 +1,22 @@
|
||||
import BigNumber from "bignumber.js";
|
||||
|
||||
import { BLOCKS_PER_YEAR } from "../constants";
|
||||
|
||||
export const getApr = (
|
||||
stakingTokenPrice: number,
|
||||
rewardTokenPrice: number,
|
||||
totalStaked: number,
|
||||
tokenPerBlock: number
|
||||
) => {
|
||||
const totalRewardPricePerYear = new BigNumber(rewardTokenPrice)
|
||||
.times(tokenPerBlock)
|
||||
.times(BLOCKS_PER_YEAR);
|
||||
|
||||
const totalStakingTokenInPool = new BigNumber(stakingTokenPrice).times(
|
||||
totalStaked
|
||||
);
|
||||
|
||||
const apr = totalRewardPricePerYear.div(totalStakingTokenInPool).times(100);
|
||||
|
||||
return apr.isNaN() || !apr.isFinite() ? null : apr.toNumber();
|
||||
};
|
||||
21
app/javascript/src/utils/getPrice.ts
Normal file
21
app/javascript/src/utils/getPrice.ts
Normal file
@@ -0,0 +1,21 @@
|
||||
import { ethers } from "ethers";
|
||||
|
||||
import { tokens } from "../constants/pancake/Tokens";
|
||||
import type { Token } from "../constants/pancake/Tokens";
|
||||
import type { BscContext } from "../contexts/BscProvider";
|
||||
|
||||
// 1 Wei = 1*10^18 Ether
|
||||
const ONE_BUSD_IN_WEI = ethers.utils.parseUnits("1", 18);
|
||||
|
||||
export const getPriceInBusd = async (router: any, token: Token) => {
|
||||
try {
|
||||
const result = await router.getAmountsOut(ONE_BUSD_IN_WEI, [
|
||||
token.address["56"],
|
||||
tokens.busd.address["56"],
|
||||
]);
|
||||
|
||||
return result[1].toString() / 1e18;
|
||||
} catch {
|
||||
return 0;
|
||||
}
|
||||
};
|
||||
30
app/javascript/src/utils/getTotalStaked.ts
Normal file
30
app/javascript/src/utils/getTotalStaked.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
import { ethers } from "ethers";
|
||||
import BigNumber from "bignumber.js";
|
||||
|
||||
import erc20 from "../abi/erc20.json";
|
||||
import { Token } from "../constants/pancake/Tokens";
|
||||
import type { PoolConfig } from "../types";
|
||||
|
||||
export const getTotalStaked = async (
|
||||
provider: ethers.providers.Provider,
|
||||
pool: PoolConfig
|
||||
) => {
|
||||
if (pool.stakingToken.symbol === "BNB") {
|
||||
// TODO: BNB
|
||||
return 0;
|
||||
}
|
||||
|
||||
const contract = new ethers.Contract(
|
||||
pool.stakingToken.address["56"],
|
||||
erc20,
|
||||
provider
|
||||
);
|
||||
|
||||
try {
|
||||
const result = await contract.balanceOf(pool.contractAddress["56"]);
|
||||
|
||||
return new BigNumber(result.toJSON().hex).toNumber();
|
||||
} catch {
|
||||
return 0;
|
||||
}
|
||||
};
|
||||
23
docker-compose.yaml
Normal file
23
docker-compose.yaml
Normal file
@@ -0,0 +1,23 @@
|
||||
version: "3"
|
||||
services:
|
||||
web:
|
||||
ports:
|
||||
- "3000:3000"
|
||||
environment:
|
||||
- DATABASE_URL=postgres://postgres:postgres@db:5432/postgres
|
||||
image: xstake
|
||||
depends_on:
|
||||
- db
|
||||
volumes:
|
||||
- ./:/usr/src/app/
|
||||
db:
|
||||
image: postgres
|
||||
environment:
|
||||
- POSTGRES_USER=postgres
|
||||
- POSTGRES_PASSWORD=postgres
|
||||
ports:
|
||||
- "5432:5432"
|
||||
volumes:
|
||||
- "data:/var/lib/postgresql/data"
|
||||
volumes:
|
||||
data:
|
||||
210
erd.svg
210
erd.svg
@@ -1,178 +1,178 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.48.0 (0)
|
||||
<!-- Generated by graphviz version 2.40.1 (20161225.0304)
|
||||
-->
|
||||
<!-- Title: XStake Pages: 1 -->
|
||||
<svg width="426pt" height="606pt"
|
||||
viewBox="0.00 0.00 425.60 605.60" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<svg width="423pt" height="606pt"
|
||||
viewBox="0.00 0.00 422.60 605.60" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(28.8 576.8)">
|
||||
<title>XStake</title>
|
||||
<polygon fill="white" stroke="transparent" points="-28.8,28.8 -28.8,-576.8 396.8,-576.8 396.8,28.8 -28.8,28.8"/>
|
||||
<text text-anchor="middle" x="184" y="-533.6" font-family="Arial Bold" font-size="13.00">XStake domain model</text>
|
||||
<polygon fill="#ffffff" stroke="transparent" points="-28.8,28.8 -28.8,-576.8 393.8,-576.8 393.8,28.8 -28.8,28.8"/>
|
||||
<text text-anchor="middle" x="182.5" y="-533.6" font-family="Arial Bold" font-size="13.00" fill="#000000">XStake domain model</text>
|
||||
<!-- m_AdminUser -->
|
||||
<g id="node1" class="node">
|
||||
<title>m_AdminUser</title>
|
||||
<path fill="none" stroke="black" d="M12,-0.5C12,-0.5 150,-0.5 150,-0.5 156,-0.5 162,-6.5 162,-12.5 162,-12.5 162,-83.5 162,-83.5 162,-89.5 156,-95.5 150,-95.5 150,-95.5 12,-95.5 12,-95.5 6,-95.5 0,-89.5 0,-83.5 0,-83.5 0,-12.5 0,-12.5 0,-6.5 6,-0.5 12,-0.5"/>
|
||||
<text text-anchor="start" x="49" y="-82.7" font-family="Arial Bold" font-size="11.00">AdminUser</text>
|
||||
<polyline fill="none" stroke="black" points="0,-75.5 162,-75.5 "/>
|
||||
<text text-anchor="start" x="7" y="-62" font-family="Arial" font-size="10.00">email </text>
|
||||
<text text-anchor="start" x="34" y="-62" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗ U</text>
|
||||
<text text-anchor="start" x="7" y="-49" font-family="Arial" font-size="10.00">encrypted_password </text>
|
||||
<text text-anchor="start" x="101" y="-49" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗</text>
|
||||
<text text-anchor="start" x="7" y="-36" font-family="Arial" font-size="10.00">remember_created_at </text>
|
||||
<text text-anchor="start" x="105" y="-36" font-family="Arial Italic" font-size="10.00" fill="#999999">datetime</text>
|
||||
<text text-anchor="start" x="7" y="-23" font-family="Arial" font-size="10.00">reset_password_sent_at </text>
|
||||
<text text-anchor="start" x="117" y="-23" font-family="Arial Italic" font-size="10.00" fill="#999999">datetime</text>
|
||||
<text text-anchor="start" x="7" y="-10" font-family="Arial" font-size="10.00">reset_password_token </text>
|
||||
<text text-anchor="start" x="109" y="-10" font-family="Arial Italic" font-size="10.00" fill="#999999">string</text>
|
||||
<path fill="none" stroke="#000000" d="M12,-.5C12,-.5 149,-.5 149,-.5 155,-.5 161,-6.5 161,-12.5 161,-12.5 161,-83.5 161,-83.5 161,-89.5 155,-95.5 149,-95.5 149,-95.5 12,-95.5 12,-95.5 6,-95.5 0,-89.5 0,-83.5 0,-83.5 0,-12.5 0,-12.5 0,-6.5 6,-.5 12,-.5"/>
|
||||
<text text-anchor="start" x="48.5" y="-82.7" font-family="Arial Bold" font-size="11.00" fill="#000000">AdminUser</text>
|
||||
<polyline fill="none" stroke="#000000" points="0,-75.5 161,-75.5 "/>
|
||||
<text text-anchor="start" x="7.5" y="-62" font-family="Arial" font-size="10.00" fill="#000000">email </text>
|
||||
<text text-anchor="start" x="34.5" y="-62" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗ U</text>
|
||||
<text text-anchor="start" x="7.5" y="-49" font-family="Arial" font-size="10.00" fill="#000000">encrypted_password </text>
|
||||
<text text-anchor="start" x="100.5" y="-49" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗</text>
|
||||
<text text-anchor="start" x="7.5" y="-36" font-family="Arial" font-size="10.00" fill="#000000">remember_created_at </text>
|
||||
<text text-anchor="start" x="105.5" y="-36" font-family="Arial Italic" font-size="10.00" fill="#999999">datetime</text>
|
||||
<text text-anchor="start" x="7.5" y="-23" font-family="Arial" font-size="10.00" fill="#000000">reset_password_sent_at </text>
|
||||
<text text-anchor="start" x="116.5" y="-23" font-family="Arial Italic" font-size="10.00" fill="#999999">datetime</text>
|
||||
<text text-anchor="start" x="7.5" y="-10" font-family="Arial" font-size="10.00" fill="#000000">reset_password_token </text>
|
||||
<text text-anchor="start" x="108.5" y="-10" font-family="Arial Italic" font-size="10.00" fill="#999999">string</text>
|
||||
</g>
|
||||
<!-- m_Balance -->
|
||||
<g id="node2" class="node">
|
||||
<title>m_Balance</title>
|
||||
<path fill="none" stroke="black" d="M223,-441.5C223,-441.5 343,-441.5 343,-441.5 349,-441.5 355,-447.5 355,-453.5 355,-453.5 355,-498.5 355,-498.5 355,-504.5 349,-510.5 343,-510.5 343,-510.5 223,-510.5 223,-510.5 217,-510.5 211,-504.5 211,-498.5 211,-498.5 211,-453.5 211,-453.5 211,-447.5 217,-441.5 223,-441.5"/>
|
||||
<text text-anchor="start" x="259.5" y="-497.7" font-family="Arial Bold" font-size="11.00">Balance</text>
|
||||
<polyline fill="none" stroke="black" points="211,-490.5 355,-490.5 "/>
|
||||
<text text-anchor="start" x="218" y="-477" font-family="Arial" font-size="10.00">amount </text>
|
||||
<text text-anchor="start" x="254" y="-477" font-family="Arial Italic" font-size="10.00" fill="#999999">decimal (20,10) ∗</text>
|
||||
<text text-anchor="start" x="218" y="-464" font-family="Arial" font-size="10.00">currency_id </text>
|
||||
<text text-anchor="start" x="272" y="-464" font-family="Arial Italic" font-size="10.00" fill="#999999">integer (8) ∗ FK</text>
|
||||
<text text-anchor="start" x="218" y="-451" font-family="Arial" font-size="10.00">user_id </text>
|
||||
<text text-anchor="start" x="253" y="-451" font-family="Arial Italic" font-size="10.00" fill="#999999">integer (8) ∗ FK</text>
|
||||
<path fill="none" stroke="#000000" d="M221,-441.5C221,-441.5 341,-441.5 341,-441.5 347,-441.5 353,-447.5 353,-453.5 353,-453.5 353,-498.5 353,-498.5 353,-504.5 347,-510.5 341,-510.5 341,-510.5 221,-510.5 221,-510.5 215,-510.5 209,-504.5 209,-498.5 209,-498.5 209,-453.5 209,-453.5 209,-447.5 215,-441.5 221,-441.5"/>
|
||||
<text text-anchor="start" x="257.5" y="-497.7" font-family="Arial Bold" font-size="11.00" fill="#000000">Balance</text>
|
||||
<polyline fill="none" stroke="#000000" points="209,-490.5 353,-490.5 "/>
|
||||
<text text-anchor="start" x="216" y="-477" font-family="Arial" font-size="10.00" fill="#000000">amount </text>
|
||||
<text text-anchor="start" x="252" y="-477" font-family="Arial Italic" font-size="10.00" fill="#999999">decimal (20,10) ∗</text>
|
||||
<text text-anchor="start" x="216" y="-464" font-family="Arial" font-size="10.00" fill="#000000">currency_id </text>
|
||||
<text text-anchor="start" x="270" y="-464" font-family="Arial Italic" font-size="10.00" fill="#999999">integer (8) ∗ FK</text>
|
||||
<text text-anchor="start" x="216" y="-451" font-family="Arial" font-size="10.00" fill="#000000">user_id </text>
|
||||
<text text-anchor="start" x="251" y="-451" font-family="Arial Italic" font-size="10.00" fill="#999999">integer (8) ∗ FK</text>
|
||||
</g>
|
||||
<!-- m_BuyCryptoOrder -->
|
||||
<g id="node3" class="node">
|
||||
<title>m_BuyCryptoOrder</title>
|
||||
<path fill="none" stroke="black" d="M210,-316.5C210,-316.5 356,-316.5 356,-316.5 362,-316.5 368,-322.5 368,-328.5 368,-328.5 368,-399.5 368,-399.5 368,-405.5 362,-411.5 356,-411.5 356,-411.5 210,-411.5 210,-411.5 204,-411.5 198,-405.5 198,-399.5 198,-399.5 198,-328.5 198,-328.5 198,-322.5 204,-316.5 210,-316.5"/>
|
||||
<text text-anchor="start" x="237" y="-398.7" font-family="Arial Bold" font-size="11.00">BuyCryptoOrder</text>
|
||||
<polyline fill="none" stroke="black" points="198,-391.5 368,-391.5 "/>
|
||||
<text text-anchor="start" x="205" y="-378" font-family="Arial" font-size="10.00">currency_id </text>
|
||||
<text text-anchor="start" x="259" y="-378" font-family="Arial Italic" font-size="10.00" fill="#999999">integer (8) ∗ FK</text>
|
||||
<text text-anchor="start" x="205" y="-365" font-family="Arial" font-size="10.00">paid_amount_cents </text>
|
||||
<text text-anchor="start" x="293" y="-365" font-family="Arial Italic" font-size="10.00" fill="#999999">integer ∗</text>
|
||||
<text text-anchor="start" x="205" y="-352" font-family="Arial" font-size="10.00">received_amount </text>
|
||||
<text text-anchor="start" x="283" y="-352" font-family="Arial Italic" font-size="10.00" fill="#999999">decimal (20,10) ∗</text>
|
||||
<text text-anchor="start" x="205" y="-339" font-family="Arial" font-size="10.00">status </text>
|
||||
<text text-anchor="start" x="236" y="-339" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗</text>
|
||||
<text text-anchor="start" x="205" y="-326" font-family="Arial" font-size="10.00">user_id </text>
|
||||
<text text-anchor="start" x="240" y="-326" font-family="Arial Italic" font-size="10.00" fill="#999999">integer (8) ∗ FK</text>
|
||||
<path fill="none" stroke="#000000" d="M209,-316.5C209,-316.5 353,-316.5 353,-316.5 359,-316.5 365,-322.5 365,-328.5 365,-328.5 365,-399.5 365,-399.5 365,-405.5 359,-411.5 353,-411.5 353,-411.5 209,-411.5 209,-411.5 203,-411.5 197,-405.5 197,-399.5 197,-399.5 197,-328.5 197,-328.5 197,-322.5 203,-316.5 209,-316.5"/>
|
||||
<text text-anchor="start" x="235" y="-398.7" font-family="Arial Bold" font-size="11.00" fill="#000000">BuyCryptoOrder</text>
|
||||
<polyline fill="none" stroke="#000000" points="197,-391.5 365,-391.5 "/>
|
||||
<text text-anchor="start" x="204" y="-378" font-family="Arial" font-size="10.00" fill="#000000">currency_id </text>
|
||||
<text text-anchor="start" x="258" y="-378" font-family="Arial Italic" font-size="10.00" fill="#999999">integer (8) ∗ FK</text>
|
||||
<text text-anchor="start" x="204" y="-365" font-family="Arial" font-size="10.00" fill="#000000">paid_amount_cents </text>
|
||||
<text text-anchor="start" x="292" y="-365" font-family="Arial Italic" font-size="10.00" fill="#999999">integer ∗</text>
|
||||
<text text-anchor="start" x="204" y="-352" font-family="Arial" font-size="10.00" fill="#000000">received_amount </text>
|
||||
<text text-anchor="start" x="282" y="-352" font-family="Arial Italic" font-size="10.00" fill="#999999">decimal (20,10) ∗</text>
|
||||
<text text-anchor="start" x="204" y="-339" font-family="Arial" font-size="10.00" fill="#000000">status </text>
|
||||
<text text-anchor="start" x="235" y="-339" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗</text>
|
||||
<text text-anchor="start" x="204" y="-326" font-family="Arial" font-size="10.00" fill="#000000">user_id </text>
|
||||
<text text-anchor="start" x="239" y="-326" font-family="Arial Italic" font-size="10.00" fill="#999999">integer (8) ∗ FK</text>
|
||||
</g>
|
||||
<!-- m_Currency -->
|
||||
<g id="node4" class="node">
|
||||
<title>m_Currency</title>
|
||||
<path fill="none" stroke="black" d="M21,-342.5C21,-342.5 141,-342.5 141,-342.5 147,-342.5 153,-348.5 153,-354.5 153,-354.5 153,-373.5 153,-373.5 153,-379.5 147,-385.5 141,-385.5 141,-385.5 21,-385.5 21,-385.5 15,-385.5 9,-379.5 9,-373.5 9,-373.5 9,-354.5 9,-354.5 9,-348.5 15,-342.5 21,-342.5"/>
|
||||
<text text-anchor="start" x="54.5" y="-372.7" font-family="Arial Bold" font-size="11.00">Currency</text>
|
||||
<polyline fill="none" stroke="black" points="9,-365.5 153,-365.5 "/>
|
||||
<text text-anchor="start" x="16" y="-352" font-family="Arial" font-size="10.00">name </text>
|
||||
<text text-anchor="start" x="44" y="-352" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗</text>
|
||||
<path fill="none" stroke="#000000" d="M20.5,-342.5C20.5,-342.5 140.5,-342.5 140.5,-342.5 146.5,-342.5 152.5,-348.5 152.5,-354.5 152.5,-354.5 152.5,-373.5 152.5,-373.5 152.5,-379.5 146.5,-385.5 140.5,-385.5 140.5,-385.5 20.5,-385.5 20.5,-385.5 14.5,-385.5 8.5,-379.5 8.5,-373.5 8.5,-373.5 8.5,-354.5 8.5,-354.5 8.5,-348.5 14.5,-342.5 20.5,-342.5"/>
|
||||
<text text-anchor="start" x="54" y="-372.7" font-family="Arial Bold" font-size="11.00" fill="#000000">Currency</text>
|
||||
<polyline fill="none" stroke="#000000" points="8.5,-365.5 152.5,-365.5 "/>
|
||||
<text text-anchor="start" x="15.5" y="-352" font-family="Arial" font-size="10.00" fill="#000000">name </text>
|
||||
<text text-anchor="start" x="43.5" y="-352" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗</text>
|
||||
</g>
|
||||
<!-- m_Currency->m_Balance -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>m_Currency->m_Balance</title>
|
||||
<path fill="none" stroke="black" d="M120.56,-385.59C146.51,-400.12 181.46,-419.7 212.21,-436.92"/>
|
||||
<polygon fill="black" stroke="black" points="210.95,-439.82 220.34,-441.47 214.03,-434.33 210.95,-439.82"/>
|
||||
<path fill="none" stroke="#000000" d="M119.1584,-385.5947C145.169,-400.1243 180.2111,-419.699 211.0368,-436.9183"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="209.7968,-439.8338 219.1903,-441.4729 212.8692,-434.3337 209.7968,-439.8338"/>
|
||||
</g>
|
||||
<!-- m_Currency->m_BuyCryptoOrder -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>m_Currency->m_BuyCryptoOrder</title>
|
||||
<path fill="none" stroke="black" d="M153.08,-364C164.62,-364 176.72,-364 188.7,-364"/>
|
||||
<polygon fill="black" stroke="black" points="188.82,-367.15 197.82,-364 188.82,-360.85 188.82,-367.15"/>
|
||||
<path fill="none" stroke="#000000" d="M152.6018,-364C164.0532,-364 176.0378,-364 187.8887,-364"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="187.914,-367.1501 196.914,-364 187.914,-360.8501 187.914,-367.1501"/>
|
||||
</g>
|
||||
<!-- m_SellCryptoOrder -->
|
||||
<g id="node6" class="node">
|
||||
<title>m_SellCryptoOrder</title>
|
||||
<path fill="none" stroke="black" d="M214.5,-191.5C214.5,-191.5 351.5,-191.5 351.5,-191.5 357.5,-191.5 363.5,-197.5 363.5,-203.5 363.5,-203.5 363.5,-274.5 363.5,-274.5 363.5,-280.5 357.5,-286.5 351.5,-286.5 351.5,-286.5 214.5,-286.5 214.5,-286.5 208.5,-286.5 202.5,-280.5 202.5,-274.5 202.5,-274.5 202.5,-203.5 202.5,-203.5 202.5,-197.5 208.5,-191.5 214.5,-191.5"/>
|
||||
<text text-anchor="start" x="238" y="-273.7" font-family="Arial Bold" font-size="11.00">SellCryptoOrder</text>
|
||||
<polyline fill="none" stroke="black" points="202.5,-266.5 363.5,-266.5 "/>
|
||||
<text text-anchor="start" x="210" y="-253" font-family="Arial" font-size="10.00">currency_id </text>
|
||||
<text text-anchor="start" x="264" y="-253" font-family="Arial Italic" font-size="10.00" fill="#999999">integer (8) ∗ FK</text>
|
||||
<text text-anchor="start" x="210" y="-240" font-family="Arial" font-size="10.00">paid_amount </text>
|
||||
<text text-anchor="start" x="269" y="-240" font-family="Arial Italic" font-size="10.00" fill="#999999">decimal (20,10) ∗</text>
|
||||
<text text-anchor="start" x="210" y="-227" font-family="Arial" font-size="10.00">received_amount_cents </text>
|
||||
<text text-anchor="start" x="317" y="-227" font-family="Arial Italic" font-size="10.00" fill="#999999">integer ∗</text>
|
||||
<text text-anchor="start" x="210" y="-214" font-family="Arial" font-size="10.00">status </text>
|
||||
<text text-anchor="start" x="241" y="-214" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗</text>
|
||||
<text text-anchor="start" x="210" y="-201" font-family="Arial" font-size="10.00">user_id </text>
|
||||
<text text-anchor="start" x="245" y="-201" font-family="Arial Italic" font-size="10.00" fill="#999999">integer (8) ∗ FK</text>
|
||||
<path fill="none" stroke="#000000" d="M213,-191.5C213,-191.5 349,-191.5 349,-191.5 355,-191.5 361,-197.5 361,-203.5 361,-203.5 361,-274.5 361,-274.5 361,-280.5 355,-286.5 349,-286.5 349,-286.5 213,-286.5 213,-286.5 207,-286.5 201,-280.5 201,-274.5 201,-274.5 201,-203.5 201,-203.5 201,-197.5 207,-191.5 213,-191.5"/>
|
||||
<text text-anchor="start" x="235.5" y="-273.7" font-family="Arial Bold" font-size="11.00" fill="#000000">SellCryptoOrder</text>
|
||||
<polyline fill="none" stroke="#000000" points="201,-266.5 361,-266.5 "/>
|
||||
<text text-anchor="start" x="208" y="-253" font-family="Arial" font-size="10.00" fill="#000000">currency_id </text>
|
||||
<text text-anchor="start" x="262" y="-253" font-family="Arial Italic" font-size="10.00" fill="#999999">integer (8) ∗ FK</text>
|
||||
<text text-anchor="start" x="208" y="-240" font-family="Arial" font-size="10.00" fill="#000000">paid_amount </text>
|
||||
<text text-anchor="start" x="267" y="-240" font-family="Arial Italic" font-size="10.00" fill="#999999">decimal (20,10) ∗</text>
|
||||
<text text-anchor="start" x="208" y="-227" font-family="Arial" font-size="10.00" fill="#000000">received_amount_cents </text>
|
||||
<text text-anchor="start" x="315" y="-227" font-family="Arial Italic" font-size="10.00" fill="#999999">integer ∗</text>
|
||||
<text text-anchor="start" x="208" y="-214" font-family="Arial" font-size="10.00" fill="#000000">status </text>
|
||||
<text text-anchor="start" x="239" y="-214" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗</text>
|
||||
<text text-anchor="start" x="208" y="-201" font-family="Arial" font-size="10.00" fill="#000000">user_id </text>
|
||||
<text text-anchor="start" x="243" y="-201" font-family="Arial Italic" font-size="10.00" fill="#999999">integer (8) ∗ FK</text>
|
||||
</g>
|
||||
<!-- m_Currency->m_SellCryptoOrder -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>m_Currency->m_SellCryptoOrder</title>
|
||||
<path fill="none" stroke="black" d="M116.84,-342.23C139.24,-328.22 169.37,-309.39 197.77,-291.65"/>
|
||||
<polygon fill="black" stroke="black" points="199.76,-294.12 205.72,-286.68 196.42,-288.77 199.76,-294.12"/>
|
||||
<path fill="none" stroke="#000000" d="M115.4244,-342.2267C137.8839,-328.2245 168.0914,-309.3919 196.5551,-291.6464"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="198.5584,-294.1096 204.5292,-286.6751 195.2253,-288.7635 198.5584,-294.1096"/>
|
||||
</g>
|
||||
<!-- m_FiatBalance -->
|
||||
<g id="node5" class="node">
|
||||
<title>m_FiatBalance</title>
|
||||
<path fill="none" stroke="black" d="M223,-6.5C223,-6.5 343,-6.5 343,-6.5 349,-6.5 355,-12.5 355,-18.5 355,-18.5 355,-63.5 355,-63.5 355,-69.5 349,-75.5 343,-75.5 343,-75.5 223,-75.5 223,-75.5 217,-75.5 211,-69.5 211,-63.5 211,-63.5 211,-18.5 211,-18.5 211,-12.5 217,-6.5 223,-6.5"/>
|
||||
<text text-anchor="start" x="250" y="-62.7" font-family="Arial Bold" font-size="11.00">FiatBalance</text>
|
||||
<polyline fill="none" stroke="black" points="211,-55.5 355,-55.5 "/>
|
||||
<text text-anchor="start" x="218" y="-42" font-family="Arial" font-size="10.00">amount_cents </text>
|
||||
<text text-anchor="start" x="283" y="-42" font-family="Arial Italic" font-size="10.00" fill="#999999">integer ∗</text>
|
||||
<text text-anchor="start" x="218" y="-29" font-family="Arial" font-size="10.00">amount_currency </text>
|
||||
<text text-anchor="start" x="297" y="-29" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗</text>
|
||||
<text text-anchor="start" x="218" y="-16" font-family="Arial" font-size="10.00">user_id </text>
|
||||
<text text-anchor="start" x="253" y="-16" font-family="Arial Italic" font-size="10.00" fill="#999999">integer (8) ∗ FK</text>
|
||||
<path fill="none" stroke="#000000" d="M221,-6.5C221,-6.5 341,-6.5 341,-6.5 347,-6.5 353,-12.5 353,-18.5 353,-18.5 353,-63.5 353,-63.5 353,-69.5 347,-75.5 341,-75.5 341,-75.5 221,-75.5 221,-75.5 215,-75.5 209,-69.5 209,-63.5 209,-63.5 209,-18.5 209,-18.5 209,-12.5 215,-6.5 221,-6.5"/>
|
||||
<text text-anchor="start" x="248" y="-62.7" font-family="Arial Bold" font-size="11.00" fill="#000000">FiatBalance</text>
|
||||
<polyline fill="none" stroke="#000000" points="209,-55.5 353,-55.5 "/>
|
||||
<text text-anchor="start" x="216" y="-42" font-family="Arial" font-size="10.00" fill="#000000">amount_cents </text>
|
||||
<text text-anchor="start" x="281" y="-42" font-family="Arial Italic" font-size="10.00" fill="#999999">integer ∗</text>
|
||||
<text text-anchor="start" x="216" y="-29" font-family="Arial" font-size="10.00" fill="#000000">amount_currency </text>
|
||||
<text text-anchor="start" x="295" y="-29" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗</text>
|
||||
<text text-anchor="start" x="216" y="-16" font-family="Arial" font-size="10.00" fill="#000000">user_id </text>
|
||||
<text text-anchor="start" x="251" y="-16" font-family="Arial Italic" font-size="10.00" fill="#999999">integer (8) ∗ FK</text>
|
||||
</g>
|
||||
<!-- m_User -->
|
||||
<g id="node7" class="node">
|
||||
<title>m_User</title>
|
||||
<path fill="none" stroke="black" d="M12,-125.5C12,-125.5 150,-125.5 150,-125.5 156,-125.5 162,-131.5 162,-137.5 162,-137.5 162,-234.5 162,-234.5 162,-240.5 156,-246.5 150,-246.5 150,-246.5 12,-246.5 12,-246.5 6,-246.5 0,-240.5 0,-234.5 0,-234.5 0,-137.5 0,-137.5 0,-131.5 6,-125.5 12,-125.5"/>
|
||||
<text text-anchor="start" x="66.5" y="-233.7" font-family="Arial Bold" font-size="11.00">User</text>
|
||||
<polyline fill="none" stroke="black" points="0,-226.5 162,-226.5 "/>
|
||||
<text text-anchor="start" x="7" y="-213" font-family="Arial" font-size="10.00">email </text>
|
||||
<text text-anchor="start" x="34" y="-213" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗ U</text>
|
||||
<text text-anchor="start" x="7" y="-200" font-family="Arial" font-size="10.00">encrypted_password </text>
|
||||
<text text-anchor="start" x="101" y="-200" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗</text>
|
||||
<text text-anchor="start" x="7" y="-187" font-family="Arial" font-size="10.00">first_name </text>
|
||||
<text text-anchor="start" x="56" y="-187" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗</text>
|
||||
<text text-anchor="start" x="7" y="-174" font-family="Arial" font-size="10.00">last_name </text>
|
||||
<text text-anchor="start" x="56" y="-174" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗</text>
|
||||
<text text-anchor="start" x="7" y="-161" font-family="Arial" font-size="10.00">remember_created_at </text>
|
||||
<text text-anchor="start" x="105" y="-161" font-family="Arial Italic" font-size="10.00" fill="#999999">datetime</text>
|
||||
<text text-anchor="start" x="7" y="-148" font-family="Arial" font-size="10.00">reset_password_sent_at </text>
|
||||
<text text-anchor="start" x="117" y="-148" font-family="Arial Italic" font-size="10.00" fill="#999999">datetime</text>
|
||||
<text text-anchor="start" x="7" y="-135" font-family="Arial" font-size="10.00">reset_password_token </text>
|
||||
<text text-anchor="start" x="109" y="-135" font-family="Arial Italic" font-size="10.00" fill="#999999">string</text>
|
||||
<path fill="none" stroke="#000000" d="M12,-125.5C12,-125.5 149,-125.5 149,-125.5 155,-125.5 161,-131.5 161,-137.5 161,-137.5 161,-234.5 161,-234.5 161,-240.5 155,-246.5 149,-246.5 149,-246.5 12,-246.5 12,-246.5 6,-246.5 0,-240.5 0,-234.5 0,-234.5 0,-137.5 0,-137.5 0,-131.5 6,-125.5 12,-125.5"/>
|
||||
<text text-anchor="start" x="66" y="-233.7" font-family="Arial Bold" font-size="11.00" fill="#000000">User</text>
|
||||
<polyline fill="none" stroke="#000000" points="0,-226.5 161,-226.5 "/>
|
||||
<text text-anchor="start" x="7.5" y="-213" font-family="Arial" font-size="10.00" fill="#000000">email </text>
|
||||
<text text-anchor="start" x="34.5" y="-213" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗ U</text>
|
||||
<text text-anchor="start" x="7.5" y="-200" font-family="Arial" font-size="10.00" fill="#000000">encrypted_password </text>
|
||||
<text text-anchor="start" x="100.5" y="-200" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗</text>
|
||||
<text text-anchor="start" x="7.5" y="-187" font-family="Arial" font-size="10.00" fill="#000000">first_name </text>
|
||||
<text text-anchor="start" x="56.5" y="-187" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗</text>
|
||||
<text text-anchor="start" x="7.5" y="-174" font-family="Arial" font-size="10.00" fill="#000000">last_name </text>
|
||||
<text text-anchor="start" x="56.5" y="-174" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗</text>
|
||||
<text text-anchor="start" x="7.5" y="-161" font-family="Arial" font-size="10.00" fill="#000000">remember_created_at </text>
|
||||
<text text-anchor="start" x="105.5" y="-161" font-family="Arial Italic" font-size="10.00" fill="#999999">datetime</text>
|
||||
<text text-anchor="start" x="7.5" y="-148" font-family="Arial" font-size="10.00" fill="#000000">reset_password_sent_at </text>
|
||||
<text text-anchor="start" x="116.5" y="-148" font-family="Arial Italic" font-size="10.00" fill="#999999">datetime</text>
|
||||
<text text-anchor="start" x="7.5" y="-135" font-family="Arial" font-size="10.00" fill="#000000">reset_password_token </text>
|
||||
<text text-anchor="start" x="108.5" y="-135" font-family="Arial Italic" font-size="10.00" fill="#999999">string</text>
|
||||
</g>
|
||||
<!-- m_User->m_Balance -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>m_User->m_Balance</title>
|
||||
<path fill="none" stroke="black" d="M119.1,-246.71C133.45,-271.44 149.41,-300.62 162,-328 181.56,-370.54 167.99,-391.06 198,-427 202.33,-432.18 207.36,-436.94 212.76,-441.29"/>
|
||||
<path fill="none" stroke="#000000" d="M117.8604,-246.6822C132.3012,-271.4162 148.3569,-300.5952 161,-328 180.613,-370.5127 166.9911,-391.063 197,-427 201.3286,-432.1836 206.3552,-436.9437 211.7562,-441.286"/>
|
||||
</g>
|
||||
<!-- m_User->m_BuyCryptoOrder -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>m_User->m_BuyCryptoOrder</title>
|
||||
<path fill="none" stroke="black" d="M139.37,-246.78C157.57,-265.12 178.14,-284.91 198,-302 201.26,-304.81 204.64,-307.63 208.09,-310.44"/>
|
||||
<polygon fill="black" stroke="black" points="206.25,-313 215.25,-316.17 210.19,-308.08 206.25,-313"/>
|
||||
<path fill="none" stroke="#000000" d="M138.1489,-246.7611C156.4296,-265.0999 177.0785,-284.8928 197,-302 200.2659,-304.8045 203.6488,-307.6223 207.0989,-310.4268"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="205.2637,-312.9926 214.259,-316.156 209.1997,-308.0735 205.2637,-312.9926"/>
|
||||
</g>
|
||||
<!-- m_User->m_FiatBalance -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>m_User->m_FiatBalance</title>
|
||||
<path fill="none" stroke="black" d="M151.41,-125.47C166.42,-113.26 182.46,-100.85 198,-90 204.92,-85.17 212.34,-80.35 219.8,-75.73"/>
|
||||
<path fill="none" stroke="#000000" d="M150.2329,-125.4832C165.3085,-113.274 181.4114,-100.8639 197,-90 203.9257,-85.1734 211.3503,-80.363 218.8149,-75.7466"/>
|
||||
</g>
|
||||
<!-- m_User->m_SellCryptoOrder -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>m_User->m_SellCryptoOrder</title>
|
||||
<path fill="none" stroke="black" d="M162.2,-207.25C172.55,-210 183.21,-212.82 193.69,-215.6"/>
|
||||
<polygon fill="black" stroke="black" points="192.93,-218.66 202.44,-217.92 194.55,-212.57 192.93,-218.66"/>
|
||||
<path fill="none" stroke="#000000" d="M161.1843,-207.328C171.2838,-209.9977 181.6589,-212.7403 191.8779,-215.4415"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="191.3009,-218.5471 200.8071,-217.8019 192.911,-212.4563 191.3009,-218.5471"/>
|
||||
</g>
|
||||
<!-- m_UserDocument -->
|
||||
<g id="node8" class="node">
|
||||
<title>m_UserDocument</title>
|
||||
<path fill="none" stroke="black" d="M223,-105C223,-105 343,-105 343,-105 349,-105 355,-111 355,-117 355,-117 355,-149 355,-149 355,-155 349,-161 343,-161 343,-161 223,-161 223,-161 217,-161 211,-155 211,-149 211,-149 211,-117 211,-117 211,-111 217,-105 223,-105"/>
|
||||
<text text-anchor="start" x="241.5" y="-148.2" font-family="Arial Bold" font-size="11.00">UserDocument</text>
|
||||
<polyline fill="none" stroke="black" points="211,-141 355,-141 "/>
|
||||
<text text-anchor="start" x="218" y="-128" font-family="Arial" font-size="10.00">status </text>
|
||||
<text text-anchor="start" x="249" y="-128" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗</text>
|
||||
<text text-anchor="start" x="218" y="-115" font-family="Arial" font-size="10.00">user_id </text>
|
||||
<text text-anchor="start" x="253" y="-115" font-family="Arial Italic" font-size="10.00" fill="#999999">integer (8) ∗ FK</text>
|
||||
<path fill="none" stroke="#000000" d="M221,-105C221,-105 341,-105 341,-105 347,-105 353,-111 353,-117 353,-117 353,-149 353,-149 353,-155 347,-161 341,-161 341,-161 221,-161 221,-161 215,-161 209,-155 209,-149 209,-149 209,-117 209,-117 209,-111 215,-105 221,-105"/>
|
||||
<text text-anchor="start" x="239.5" y="-148.2" font-family="Arial Bold" font-size="11.00" fill="#000000">UserDocument</text>
|
||||
<polyline fill="none" stroke="#000000" points="209,-141 353,-141 "/>
|
||||
<text text-anchor="start" x="216" y="-128" font-family="Arial" font-size="10.00" fill="#000000">status </text>
|
||||
<text text-anchor="start" x="247" y="-128" font-family="Arial Italic" font-size="10.00" fill="#999999">string ∗</text>
|
||||
<text text-anchor="start" x="216" y="-115" font-family="Arial" font-size="10.00" fill="#000000">user_id </text>
|
||||
<text text-anchor="start" x="251" y="-115" font-family="Arial Italic" font-size="10.00" fill="#999999">integer (8) ∗ FK</text>
|
||||
</g>
|
||||
<!-- m_User->m_UserDocument -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>m_User->m_UserDocument</title>
|
||||
<path fill="none" stroke="black" d="M162.2,-164.75C175.26,-161.29 188.8,-157.7 201.87,-154.23"/>
|
||||
<polygon fill="black" stroke="black" points="202.93,-157.21 210.83,-151.86 201.32,-151.12 202.93,-157.21"/>
|
||||
<path fill="none" stroke="#000000" d="M161.1843,-164.672C174.0042,-161.2832 187.2682,-157.777 200.0932,-154.3868"/>
|
||||
<polygon fill="#000000" stroke="#000000" points="200.9949,-157.4068 208.891,-152.0612 199.3848,-151.316 200.9949,-157.4068"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 15 KiB |
@@ -24,6 +24,7 @@
|
||||
"babel-plugin-relay": "^11.0.2",
|
||||
"bignumber.js": "^9.0.1",
|
||||
"classnames": "^2.3.1",
|
||||
"ethers": "^5.4.4",
|
||||
"postcss": "^7",
|
||||
"ramda": "^0.27.1",
|
||||
"react": "^17.0.2",
|
||||
|
||||
@@ -11,7 +11,8 @@
|
||||
"jsx": "react",
|
||||
"noEmit": true,
|
||||
"allowSyntheticDefaultImports": true,
|
||||
"strict": true
|
||||
"strict": true,
|
||||
"resolveJsonModule": true
|
||||
},
|
||||
"exclude": [
|
||||
"**/*.spec.ts",
|
||||
|
||||
404
yarn.lock
generated
404
yarn.lock
generated
@@ -1128,6 +1128,345 @@
|
||||
minimatch "^3.0.4"
|
||||
strip-json-comments "^3.1.1"
|
||||
|
||||
"@ethersproject/abi@5.4.0", "@ethersproject/abi@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.4.0.tgz#a6d63bdb3672f738398846d4279fa6b6c9818242"
|
||||
integrity sha512-9gU2H+/yK1j2eVMdzm6xvHSnMxk8waIHQGYCZg5uvAyH0rsAzxkModzBSpbAkAuhKFEovC2S9hM4nPuLym8IZw==
|
||||
dependencies:
|
||||
"@ethersproject/address" "^5.4.0"
|
||||
"@ethersproject/bignumber" "^5.4.0"
|
||||
"@ethersproject/bytes" "^5.4.0"
|
||||
"@ethersproject/constants" "^5.4.0"
|
||||
"@ethersproject/hash" "^5.4.0"
|
||||
"@ethersproject/keccak256" "^5.4.0"
|
||||
"@ethersproject/logger" "^5.4.0"
|
||||
"@ethersproject/properties" "^5.4.0"
|
||||
"@ethersproject/strings" "^5.4.0"
|
||||
|
||||
"@ethersproject/abstract-provider@5.4.1", "@ethersproject/abstract-provider@^5.4.0":
|
||||
version "5.4.1"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.4.1.tgz#e404309a29f771bd4d28dbafadcaa184668c2a6e"
|
||||
integrity sha512-3EedfKI3LVpjSKgAxoUaI+gB27frKsxzm+r21w9G60Ugk+3wVLQwhi1LsEJAKNV7WoZc8CIpNrATlL1QFABjtQ==
|
||||
dependencies:
|
||||
"@ethersproject/bignumber" "^5.4.0"
|
||||
"@ethersproject/bytes" "^5.4.0"
|
||||
"@ethersproject/logger" "^5.4.0"
|
||||
"@ethersproject/networks" "^5.4.0"
|
||||
"@ethersproject/properties" "^5.4.0"
|
||||
"@ethersproject/transactions" "^5.4.0"
|
||||
"@ethersproject/web" "^5.4.0"
|
||||
|
||||
"@ethersproject/abstract-signer@5.4.1", "@ethersproject/abstract-signer@^5.4.0":
|
||||
version "5.4.1"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.4.1.tgz#e4e9abcf4dd4f1ba0db7dff9746a5f78f355ea81"
|
||||
integrity sha512-SkkFL5HVq1k4/25dM+NWP9MILgohJCgGv5xT5AcRruGz4ILpfHeBtO/y6j+Z3UN/PAjDeb4P7E51Yh8wcGNLGA==
|
||||
dependencies:
|
||||
"@ethersproject/abstract-provider" "^5.4.0"
|
||||
"@ethersproject/bignumber" "^5.4.0"
|
||||
"@ethersproject/bytes" "^5.4.0"
|
||||
"@ethersproject/logger" "^5.4.0"
|
||||
"@ethersproject/properties" "^5.4.0"
|
||||
|
||||
"@ethersproject/address@5.4.0", "@ethersproject/address@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.4.0.tgz#ba2d00a0f8c4c0854933b963b9a3a9f6eb4a37a3"
|
||||
integrity sha512-SD0VgOEkcACEG/C6xavlU1Hy3m5DGSXW3CUHkaaEHbAPPsgi0coP5oNPsxau8eTlZOk/bpa/hKeCNoK5IzVI2Q==
|
||||
dependencies:
|
||||
"@ethersproject/bignumber" "^5.4.0"
|
||||
"@ethersproject/bytes" "^5.4.0"
|
||||
"@ethersproject/keccak256" "^5.4.0"
|
||||
"@ethersproject/logger" "^5.4.0"
|
||||
"@ethersproject/rlp" "^5.4.0"
|
||||
|
||||
"@ethersproject/base64@5.4.0", "@ethersproject/base64@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.4.0.tgz#7252bf65295954c9048c7ca5f43e5c86441b2a9a"
|
||||
integrity sha512-CjQw6E17QDSSC5jiM9YpF7N1aSCHmYGMt9bWD8PWv6YPMxjsys2/Q8xLrROKI3IWJ7sFfZ8B3flKDTM5wlWuZQ==
|
||||
dependencies:
|
||||
"@ethersproject/bytes" "^5.4.0"
|
||||
|
||||
"@ethersproject/basex@5.4.0", "@ethersproject/basex@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.4.0.tgz#0a2da0f4e76c504a94f2b21d3161ed9438c7f8a6"
|
||||
integrity sha512-J07+QCVJ7np2bcpxydFVf/CuYo9mZ7T73Pe7KQY4c1lRlrixMeblauMxHXD0MPwFmUHZIILDNViVkykFBZylbg==
|
||||
dependencies:
|
||||
"@ethersproject/bytes" "^5.4.0"
|
||||
"@ethersproject/properties" "^5.4.0"
|
||||
|
||||
"@ethersproject/bignumber@5.4.1", "@ethersproject/bignumber@^5.4.0":
|
||||
version "5.4.1"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.4.1.tgz#64399d3b9ae80aa83d483e550ba57ea062c1042d"
|
||||
integrity sha512-fJhdxqoQNuDOk6epfM7yD6J8Pol4NUCy1vkaGAkuujZm0+lNow//MKu1hLhRiYV4BsOHyBv5/lsTjF+7hWwhJg==
|
||||
dependencies:
|
||||
"@ethersproject/bytes" "^5.4.0"
|
||||
"@ethersproject/logger" "^5.4.0"
|
||||
bn.js "^4.11.9"
|
||||
|
||||
"@ethersproject/bytes@5.4.0", "@ethersproject/bytes@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.4.0.tgz#56fa32ce3bf67153756dbaefda921d1d4774404e"
|
||||
integrity sha512-H60ceqgTHbhzOj4uRc/83SCN9d+BSUnOkrr2intevqdtEMO1JFVZ1XL84OEZV+QjV36OaZYxtnt4lGmxcGsPfA==
|
||||
dependencies:
|
||||
"@ethersproject/logger" "^5.4.0"
|
||||
|
||||
"@ethersproject/constants@5.4.0", "@ethersproject/constants@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.4.0.tgz#ee0bdcb30bf1b532d2353c977bf2ef1ee117958a"
|
||||
integrity sha512-tzjn6S7sj9+DIIeKTJLjK9WGN2Tj0P++Z8ONEIlZjyoTkBuODN+0VfhAyYksKi43l1Sx9tX2VlFfzjfmr5Wl3Q==
|
||||
dependencies:
|
||||
"@ethersproject/bignumber" "^5.4.0"
|
||||
|
||||
"@ethersproject/contracts@5.4.1":
|
||||
version "5.4.1"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.4.1.tgz#3eb4f35b7fe60a962a75804ada2746494df3e470"
|
||||
integrity sha512-m+z2ZgPy4pyR15Je//dUaymRUZq5MtDajF6GwFbGAVmKz/RF+DNIPwF0k5qEcL3wPGVqUjFg2/krlCRVTU4T5w==
|
||||
dependencies:
|
||||
"@ethersproject/abi" "^5.4.0"
|
||||
"@ethersproject/abstract-provider" "^5.4.0"
|
||||
"@ethersproject/abstract-signer" "^5.4.0"
|
||||
"@ethersproject/address" "^5.4.0"
|
||||
"@ethersproject/bignumber" "^5.4.0"
|
||||
"@ethersproject/bytes" "^5.4.0"
|
||||
"@ethersproject/constants" "^5.4.0"
|
||||
"@ethersproject/logger" "^5.4.0"
|
||||
"@ethersproject/properties" "^5.4.0"
|
||||
"@ethersproject/transactions" "^5.4.0"
|
||||
|
||||
"@ethersproject/hash@5.4.0", "@ethersproject/hash@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.4.0.tgz#d18a8e927e828e22860a011f39e429d388344ae0"
|
||||
integrity sha512-xymAM9tmikKgbktOCjW60Z5sdouiIIurkZUr9oW5NOex5uwxrbsYG09kb5bMcNjlVeJD3yPivTNzViIs1GCbqA==
|
||||
dependencies:
|
||||
"@ethersproject/abstract-signer" "^5.4.0"
|
||||
"@ethersproject/address" "^5.4.0"
|
||||
"@ethersproject/bignumber" "^5.4.0"
|
||||
"@ethersproject/bytes" "^5.4.0"
|
||||
"@ethersproject/keccak256" "^5.4.0"
|
||||
"@ethersproject/logger" "^5.4.0"
|
||||
"@ethersproject/properties" "^5.4.0"
|
||||
"@ethersproject/strings" "^5.4.0"
|
||||
|
||||
"@ethersproject/hdnode@5.4.0", "@ethersproject/hdnode@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.4.0.tgz#4bc9999b9a12eb5ce80c5faa83114a57e4107cac"
|
||||
integrity sha512-pKxdS0KAaeVGfZPp1KOiDLB0jba11tG6OP1u11QnYfb7pXn6IZx0xceqWRr6ygke8+Kw74IpOoSi7/DwANhy8Q==
|
||||
dependencies:
|
||||
"@ethersproject/abstract-signer" "^5.4.0"
|
||||
"@ethersproject/basex" "^5.4.0"
|
||||
"@ethersproject/bignumber" "^5.4.0"
|
||||
"@ethersproject/bytes" "^5.4.0"
|
||||
"@ethersproject/logger" "^5.4.0"
|
||||
"@ethersproject/pbkdf2" "^5.4.0"
|
||||
"@ethersproject/properties" "^5.4.0"
|
||||
"@ethersproject/sha2" "^5.4.0"
|
||||
"@ethersproject/signing-key" "^5.4.0"
|
||||
"@ethersproject/strings" "^5.4.0"
|
||||
"@ethersproject/transactions" "^5.4.0"
|
||||
"@ethersproject/wordlists" "^5.4.0"
|
||||
|
||||
"@ethersproject/json-wallets@5.4.0", "@ethersproject/json-wallets@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.4.0.tgz#2583341cfe313fc9856642e8ace3080154145e95"
|
||||
integrity sha512-igWcu3fx4aiczrzEHwG1xJZo9l1cFfQOWzTqwRw/xcvxTk58q4f9M7cjh51EKphMHvrJtcezJ1gf1q1AUOfEQQ==
|
||||
dependencies:
|
||||
"@ethersproject/abstract-signer" "^5.4.0"
|
||||
"@ethersproject/address" "^5.4.0"
|
||||
"@ethersproject/bytes" "^5.4.0"
|
||||
"@ethersproject/hdnode" "^5.4.0"
|
||||
"@ethersproject/keccak256" "^5.4.0"
|
||||
"@ethersproject/logger" "^5.4.0"
|
||||
"@ethersproject/pbkdf2" "^5.4.0"
|
||||
"@ethersproject/properties" "^5.4.0"
|
||||
"@ethersproject/random" "^5.4.0"
|
||||
"@ethersproject/strings" "^5.4.0"
|
||||
"@ethersproject/transactions" "^5.4.0"
|
||||
aes-js "3.0.0"
|
||||
scrypt-js "3.0.1"
|
||||
|
||||
"@ethersproject/keccak256@5.4.0", "@ethersproject/keccak256@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.4.0.tgz#7143b8eea4976080241d2bd92e3b1f1bf7025318"
|
||||
integrity sha512-FBI1plWet+dPUvAzPAeHzRKiPpETQzqSUWR1wXJGHVWi4i8bOSrpC3NwpkPjgeXG7MnugVc1B42VbfnQikyC/A==
|
||||
dependencies:
|
||||
"@ethersproject/bytes" "^5.4.0"
|
||||
js-sha3 "0.5.7"
|
||||
|
||||
"@ethersproject/logger@5.4.0", "@ethersproject/logger@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.4.0.tgz#f39adadf62ad610c420bcd156fd41270e91b3ca9"
|
||||
integrity sha512-xYdWGGQ9P2cxBayt64d8LC8aPFJk6yWCawQi/4eJ4+oJdMMjEBMrIcIMZ9AxhwpPVmnBPrsB10PcXGmGAqgUEQ==
|
||||
|
||||
"@ethersproject/networks@5.4.2", "@ethersproject/networks@^5.4.0":
|
||||
version "5.4.2"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.4.2.tgz#2247d977626e97e2c3b8ee73cd2457babde0ce35"
|
||||
integrity sha512-eekOhvJyBnuibfJnhtK46b8HimBc5+4gqpvd1/H9LEl7Q7/qhsIhM81dI9Fcnjpk3jB1aTy6bj0hz3cifhNeYw==
|
||||
dependencies:
|
||||
"@ethersproject/logger" "^5.4.0"
|
||||
|
||||
"@ethersproject/pbkdf2@5.4.0", "@ethersproject/pbkdf2@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.4.0.tgz#ed88782a67fda1594c22d60d0ca911a9d669641c"
|
||||
integrity sha512-x94aIv6tiA04g6BnazZSLoRXqyusawRyZWlUhKip2jvoLpzJuLb//KtMM6PEovE47pMbW+Qe1uw+68ameJjB7g==
|
||||
dependencies:
|
||||
"@ethersproject/bytes" "^5.4.0"
|
||||
"@ethersproject/sha2" "^5.4.0"
|
||||
|
||||
"@ethersproject/properties@5.4.0", "@ethersproject/properties@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.4.0.tgz#38ba20539b44dcc5d5f80c45ad902017dcdbefe7"
|
||||
integrity sha512-7jczalGVRAJ+XSRvNA6D5sAwT4gavLq3OXPuV/74o3Rd2wuzSL035IMpIMgei4CYyBdialJMrTqkOnzccLHn4A==
|
||||
dependencies:
|
||||
"@ethersproject/logger" "^5.4.0"
|
||||
|
||||
"@ethersproject/providers@5.4.3":
|
||||
version "5.4.3"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.4.3.tgz#4cd7ccd9e12bc3875b33df8b24abf735663958a5"
|
||||
integrity sha512-VURwkaWPoUj7jq9NheNDT5Iyy64Qcyf6BOFDwVdHsmLmX/5prNjFrgSX3GHPE4z1BRrVerDxe2yayvXKFm/NNg==
|
||||
dependencies:
|
||||
"@ethersproject/abstract-provider" "^5.4.0"
|
||||
"@ethersproject/abstract-signer" "^5.4.0"
|
||||
"@ethersproject/address" "^5.4.0"
|
||||
"@ethersproject/basex" "^5.4.0"
|
||||
"@ethersproject/bignumber" "^5.4.0"
|
||||
"@ethersproject/bytes" "^5.4.0"
|
||||
"@ethersproject/constants" "^5.4.0"
|
||||
"@ethersproject/hash" "^5.4.0"
|
||||
"@ethersproject/logger" "^5.4.0"
|
||||
"@ethersproject/networks" "^5.4.0"
|
||||
"@ethersproject/properties" "^5.4.0"
|
||||
"@ethersproject/random" "^5.4.0"
|
||||
"@ethersproject/rlp" "^5.4.0"
|
||||
"@ethersproject/sha2" "^5.4.0"
|
||||
"@ethersproject/strings" "^5.4.0"
|
||||
"@ethersproject/transactions" "^5.4.0"
|
||||
"@ethersproject/web" "^5.4.0"
|
||||
bech32 "1.1.4"
|
||||
ws "7.4.6"
|
||||
|
||||
"@ethersproject/random@5.4.0", "@ethersproject/random@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.4.0.tgz#9cdde60e160d024be39cc16f8de3b9ce39191e16"
|
||||
integrity sha512-pnpWNQlf0VAZDEOVp1rsYQosmv2o0ITS/PecNw+mS2/btF8eYdspkN0vIXrCMtkX09EAh9bdk8GoXmFXM1eAKw==
|
||||
dependencies:
|
||||
"@ethersproject/bytes" "^5.4.0"
|
||||
"@ethersproject/logger" "^5.4.0"
|
||||
|
||||
"@ethersproject/rlp@5.4.0", "@ethersproject/rlp@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.4.0.tgz#de61afda5ff979454e76d3b3310a6c32ad060931"
|
||||
integrity sha512-0I7MZKfi+T5+G8atId9QaQKHRvvasM/kqLyAH4XxBCBchAooH2EX5rL9kYZWwcm3awYV+XC7VF6nLhfeQFKVPg==
|
||||
dependencies:
|
||||
"@ethersproject/bytes" "^5.4.0"
|
||||
"@ethersproject/logger" "^5.4.0"
|
||||
|
||||
"@ethersproject/sha2@5.4.0", "@ethersproject/sha2@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.4.0.tgz#c9a8db1037014cbc4e9482bd662f86c090440371"
|
||||
integrity sha512-siheo36r1WD7Cy+bDdE1BJ8y0bDtqXCOxRMzPa4bV1TGt/eTUUt03BHoJNB6reWJD8A30E/pdJ8WFkq+/uz4Gg==
|
||||
dependencies:
|
||||
"@ethersproject/bytes" "^5.4.0"
|
||||
"@ethersproject/logger" "^5.4.0"
|
||||
hash.js "1.1.7"
|
||||
|
||||
"@ethersproject/signing-key@5.4.0", "@ethersproject/signing-key@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.4.0.tgz#2f05120984e81cf89a3d5f6dec5c68ee0894fbec"
|
||||
integrity sha512-q8POUeywx6AKg2/jX9qBYZIAmKSB4ubGXdQ88l40hmATj29JnG5pp331nAWwwxPn2Qao4JpWHNZsQN+bPiSW9A==
|
||||
dependencies:
|
||||
"@ethersproject/bytes" "^5.4.0"
|
||||
"@ethersproject/logger" "^5.4.0"
|
||||
"@ethersproject/properties" "^5.4.0"
|
||||
bn.js "^4.11.9"
|
||||
elliptic "6.5.4"
|
||||
hash.js "1.1.7"
|
||||
|
||||
"@ethersproject/solidity@5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.4.0.tgz#1305e058ea02dc4891df18b33232b11a14ece9ec"
|
||||
integrity sha512-XFQTZ7wFSHOhHcV1DpcWj7VXECEiSrBuv7JErJvB9Uo+KfCdc3QtUZV+Vjh/AAaYgezUEKbCtE6Khjm44seevQ==
|
||||
dependencies:
|
||||
"@ethersproject/bignumber" "^5.4.0"
|
||||
"@ethersproject/bytes" "^5.4.0"
|
||||
"@ethersproject/keccak256" "^5.4.0"
|
||||
"@ethersproject/sha2" "^5.4.0"
|
||||
"@ethersproject/strings" "^5.4.0"
|
||||
|
||||
"@ethersproject/strings@5.4.0", "@ethersproject/strings@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.4.0.tgz#fb12270132dd84b02906a8d895ae7e7fa3d07d9a"
|
||||
integrity sha512-k/9DkH5UGDhv7aReXLluFG5ExurwtIpUfnDNhQA29w896Dw3i4uDTz01Quaptbks1Uj9kI8wo9tmW73wcIEaWA==
|
||||
dependencies:
|
||||
"@ethersproject/bytes" "^5.4.0"
|
||||
"@ethersproject/constants" "^5.4.0"
|
||||
"@ethersproject/logger" "^5.4.0"
|
||||
|
||||
"@ethersproject/transactions@5.4.0", "@ethersproject/transactions@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.4.0.tgz#a159d035179334bd92f340ce0f77e83e9e1522e0"
|
||||
integrity sha512-s3EjZZt7xa4BkLknJZ98QGoIza94rVjaEed0rzZ/jB9WrIuu/1+tjvYCWzVrystXtDswy7TPBeIepyXwSYa4WQ==
|
||||
dependencies:
|
||||
"@ethersproject/address" "^5.4.0"
|
||||
"@ethersproject/bignumber" "^5.4.0"
|
||||
"@ethersproject/bytes" "^5.4.0"
|
||||
"@ethersproject/constants" "^5.4.0"
|
||||
"@ethersproject/keccak256" "^5.4.0"
|
||||
"@ethersproject/logger" "^5.4.0"
|
||||
"@ethersproject/properties" "^5.4.0"
|
||||
"@ethersproject/rlp" "^5.4.0"
|
||||
"@ethersproject/signing-key" "^5.4.0"
|
||||
|
||||
"@ethersproject/units@5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.4.0.tgz#d57477a4498b14b88b10396062c8cbbaf20c79fe"
|
||||
integrity sha512-Z88krX40KCp+JqPCP5oPv5p750g+uU6gopDYRTBGcDvOASh6qhiEYCRatuM/suC4S2XW9Zz90QI35MfSrTIaFg==
|
||||
dependencies:
|
||||
"@ethersproject/bignumber" "^5.4.0"
|
||||
"@ethersproject/constants" "^5.4.0"
|
||||
"@ethersproject/logger" "^5.4.0"
|
||||
|
||||
"@ethersproject/wallet@5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.4.0.tgz#fa5b59830b42e9be56eadd45a16a2e0933ad9353"
|
||||
integrity sha512-wU29majLjM6AjCjpat21mPPviG+EpK7wY1+jzKD0fg3ui5fgedf2zEu1RDgpfIMsfn8fJHJuzM4zXZ2+hSHaSQ==
|
||||
dependencies:
|
||||
"@ethersproject/abstract-provider" "^5.4.0"
|
||||
"@ethersproject/abstract-signer" "^5.4.0"
|
||||
"@ethersproject/address" "^5.4.0"
|
||||
"@ethersproject/bignumber" "^5.4.0"
|
||||
"@ethersproject/bytes" "^5.4.0"
|
||||
"@ethersproject/hash" "^5.4.0"
|
||||
"@ethersproject/hdnode" "^5.4.0"
|
||||
"@ethersproject/json-wallets" "^5.4.0"
|
||||
"@ethersproject/keccak256" "^5.4.0"
|
||||
"@ethersproject/logger" "^5.4.0"
|
||||
"@ethersproject/properties" "^5.4.0"
|
||||
"@ethersproject/random" "^5.4.0"
|
||||
"@ethersproject/signing-key" "^5.4.0"
|
||||
"@ethersproject/transactions" "^5.4.0"
|
||||
"@ethersproject/wordlists" "^5.4.0"
|
||||
|
||||
"@ethersproject/web@5.4.0", "@ethersproject/web@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.4.0.tgz#49fac173b96992334ed36a175538ba07a7413d1f"
|
||||
integrity sha512-1bUusGmcoRLYgMn6c1BLk1tOKUIFuTg8j+6N8lYlbMpDesnle+i3pGSagGNvwjaiLo4Y5gBibwctpPRmjrh4Og==
|
||||
dependencies:
|
||||
"@ethersproject/base64" "^5.4.0"
|
||||
"@ethersproject/bytes" "^5.4.0"
|
||||
"@ethersproject/logger" "^5.4.0"
|
||||
"@ethersproject/properties" "^5.4.0"
|
||||
"@ethersproject/strings" "^5.4.0"
|
||||
|
||||
"@ethersproject/wordlists@5.4.0", "@ethersproject/wordlists@^5.4.0":
|
||||
version "5.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.4.0.tgz#f34205ec3bbc9e2c49cadaee774cf0b07e7573d7"
|
||||
integrity sha512-FemEkf6a+EBKEPxlzeVgUaVSodU7G0Na89jqKjmWMlDB0tomoU8RlEMgUvXyqtrg8N4cwpLh8nyRnm1Nay1isA==
|
||||
dependencies:
|
||||
"@ethersproject/bytes" "^5.4.0"
|
||||
"@ethersproject/hash" "^5.4.0"
|
||||
"@ethersproject/logger" "^5.4.0"
|
||||
"@ethersproject/properties" "^5.4.0"
|
||||
"@ethersproject/strings" "^5.4.0"
|
||||
|
||||
"@headlessui/react@^1.4.0":
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@headlessui/react/-/react-1.4.0.tgz#c6d424d8ab10ac925e4423d7f3cbab02c30d736a"
|
||||
@@ -1599,6 +1938,11 @@ acorn@^7.0.0, acorn@^7.4.0:
|
||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
|
||||
integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
|
||||
|
||||
aes-js@3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d"
|
||||
integrity sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0=
|
||||
|
||||
aggregate-error@^3.0.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a"
|
||||
@@ -2019,6 +2363,11 @@ batch@0.6.1:
|
||||
resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16"
|
||||
integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=
|
||||
|
||||
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.js@^5.2.2:
|
||||
version "5.2.2"
|
||||
resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328"
|
||||
@@ -3282,7 +3631,7 @@ electron-to-chromium@^1.3.793:
|
||||
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.793.tgz#c10dff5f3126238004de344db458f1da3641d554"
|
||||
integrity sha512-l9NrGV6Mr4ov5mayYPvIWcwklNw5ROmy6rllzz9dCACw9nKE5y+s5uQk+CBJMetxrWZ6QJFsvEfG6WDcH2IGUg==
|
||||
|
||||
elliptic@^6.5.3:
|
||||
elliptic@6.5.4, elliptic@^6.5.3:
|
||||
version "6.5.4"
|
||||
resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb"
|
||||
integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==
|
||||
@@ -3709,6 +4058,42 @@ etag@~1.8.1:
|
||||
resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
|
||||
integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=
|
||||
|
||||
ethers@^5.4.4:
|
||||
version "5.4.4"
|
||||
resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.4.4.tgz#35cce530505b84c699da944162195cfb3f894947"
|
||||
integrity sha512-zaTs8yaDjfb0Zyj8tT6a+/hEkC+kWAA350MWRp6yP5W7NdGcURRPMOpOU+6GtkfxV9wyJEShWesqhE/TjdqpMA==
|
||||
dependencies:
|
||||
"@ethersproject/abi" "5.4.0"
|
||||
"@ethersproject/abstract-provider" "5.4.1"
|
||||
"@ethersproject/abstract-signer" "5.4.1"
|
||||
"@ethersproject/address" "5.4.0"
|
||||
"@ethersproject/base64" "5.4.0"
|
||||
"@ethersproject/basex" "5.4.0"
|
||||
"@ethersproject/bignumber" "5.4.1"
|
||||
"@ethersproject/bytes" "5.4.0"
|
||||
"@ethersproject/constants" "5.4.0"
|
||||
"@ethersproject/contracts" "5.4.1"
|
||||
"@ethersproject/hash" "5.4.0"
|
||||
"@ethersproject/hdnode" "5.4.0"
|
||||
"@ethersproject/json-wallets" "5.4.0"
|
||||
"@ethersproject/keccak256" "5.4.0"
|
||||
"@ethersproject/logger" "5.4.0"
|
||||
"@ethersproject/networks" "5.4.2"
|
||||
"@ethersproject/pbkdf2" "5.4.0"
|
||||
"@ethersproject/properties" "5.4.0"
|
||||
"@ethersproject/providers" "5.4.3"
|
||||
"@ethersproject/random" "5.4.0"
|
||||
"@ethersproject/rlp" "5.4.0"
|
||||
"@ethersproject/sha2" "5.4.0"
|
||||
"@ethersproject/signing-key" "5.4.0"
|
||||
"@ethersproject/solidity" "5.4.0"
|
||||
"@ethersproject/strings" "5.4.0"
|
||||
"@ethersproject/transactions" "5.4.0"
|
||||
"@ethersproject/units" "5.4.0"
|
||||
"@ethersproject/wallet" "5.4.0"
|
||||
"@ethersproject/web" "5.4.0"
|
||||
"@ethersproject/wordlists" "5.4.0"
|
||||
|
||||
eventemitter3@^4.0.0:
|
||||
version "4.0.7"
|
||||
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f"
|
||||
@@ -4340,7 +4725,7 @@ hash-base@^3.0.0:
|
||||
readable-stream "^3.6.0"
|
||||
safe-buffer "^5.2.0"
|
||||
|
||||
hash.js@^1.0.0, hash.js@^1.0.3:
|
||||
hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3:
|
||||
version "1.1.7"
|
||||
resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42"
|
||||
integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==
|
||||
@@ -4990,6 +5375,11 @@ jest-worker@^26.5.0:
|
||||
merge-stream "^2.0.0"
|
||||
supports-color "^7.0.0"
|
||||
|
||||
js-sha3@0.5.7:
|
||||
version "0.5.7"
|
||||
resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.5.7.tgz#0d4ffd8002d5333aabaf4a23eed2f6374c9f28e7"
|
||||
integrity sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=
|
||||
|
||||
"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
|
||||
@@ -7609,6 +7999,11 @@ schema-utils@^3.0.0:
|
||||
ajv "^6.12.5"
|
||||
ajv-keywords "^3.5.2"
|
||||
|
||||
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==
|
||||
|
||||
select-hose@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca"
|
||||
@@ -8914,6 +9309,11 @@ wrappy@1:
|
||||
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
|
||||
integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
|
||||
|
||||
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@^6.2.1:
|
||||
version "6.2.2"
|
||||
resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.2.tgz#dd5cdbd57a9979916097652d78f1cc5faea0c32e"
|
||||
|
||||
Reference in New Issue
Block a user