Merge pull request #4 from liftlearning/ethers-conf

Ethers configuration + page layout
This commit is contained in:
Ronyell Henrique authored and GitHub committed 2022-11-22 16:33:12 -03:00
commit beb4aca780
30 files changed
+1625 -592

No files matched your search

+2
View File
@@ -15,6 +15,7 @@
"@headlessui/vue": "^1.7.3",
"@heroicons/vue": "^2.0.12",
"crc": "^3.8.0",
"pinia": "^2.0.23",
"qrcode": "^1.5.1",
"vue": "^3.2.41",
"vue-router": "^4.1.5"
@@ -32,6 +33,7 @@
"autoprefixer": "^10.4.12",
"eslint": "^8.22.0",
"eslint-plugin-vue": "^9.3.0",
"ethers": "^5.7.2",
"npm-run-all": "^4.1.5",
"postcss": "^8.4.18",
"prettier": "^2.7.1",
+3 -83
View File
@@ -1,91 +1,11 @@
<script setup lang="ts">
import { RouterLink, RouterView } from "vue-router";
import HelloWorld from "./components/HelloWorld.vue";
import TopBar from "./components/TopBar.vue";
</script>
<template>
<header>
<img
alt="Vue logo"
class="logo"
src="@/assets/logo.svg"
width="125"
height="125"
/>
<div class="wrapper">
<HelloWorld msg="You did it!" />
<nav>
<RouterLink to="/">Home</RouterLink>
<RouterLink to="/about">About</RouterLink>
<RouterLink to="/pix">QrCode Pix</RouterLink>
</nav>
</div>
</header>
<TopBar />
<RouterView />
</template>
<style scoped>
header {
line-height: 1.5;
max-height: 100vh;
}
.logo {
display: block;
margin: 0 auto 2rem;
}
nav {
width: 100%;
font-size: 12px;
text-align: center;
margin-top: 2rem;
}
nav a.router-link-exact-active {
color: var(--color-text);
}
nav a.router-link-exact-active:hover {
background-color: transparent;
}
nav a {
display: inline-block;
padding: 0 1rem;
border-left: 1px solid var(--color-border);
}
nav a:first-of-type {
border: 0;
}
@media (min-width: 1024px) {
header {
display: flex;
place-items: center;
padding-right: calc(var(--section-gap) / 2);
}
.logo {
margin: 0 2rem 0 0;
}
header .wrapper {
display: flex;
place-items: flex-start;
flex-wrap: wrap;
}
nav {
text-align: left;
margin-left: -1rem;
font-size: 1rem;
padding: 1rem 0;
margin-top: 1rem;
}
}
</style>
<style scoped></style>
+3
View File
@@ -0,0 +1,3 @@
<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M5.5 0C4.67157 0 4 0.671573 4 1.5V3H5V1.5C5 1.22386 5.22386 1 5.5 1H12.5C12.7761 1 13 1.22386 13 1.5V8.5C13 8.77614 12.7761 9 12.5 9H5.5C5.22386 9 5 8.77614 5 8.5V7H4V8.5C4 9.32843 4.67157 10 5.5 10H12.5C13.3284 10 14 9.32843 14 8.5V1.5C14 0.671573 13.3284 0 12.5 0H5.5ZM9 12.5C9 12.7761 8.77614 13 8.5 13L1.5 13C1.22386 13 1 12.7761 1 12.5L1 5.5C1 5.22386 1.22386 5 1.5 5L8.5 5C8.77614 5 9 5.22386 9 5.5V8H10V5.5C10 4.67157 9.32843 4 8.5 4L1.5 4C0.671574 4 0 4.67157 0 5.5V12.5C0 13.3284 0.671573 14 1.5 14L8.5 14C9.32843 14 10 13.3284 10 12.5V12H9V12.5Z" fill="#F59E0B"/>
</svg>

After

Width:  |  Height:  |  Size: 726 B

+36
View File
@@ -0,0 +1,36 @@
<svg width="1440" height="1000" viewBox="0 0 1440 1000" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g clip-path="url(#clip0_287_693)">
<rect width="1440" height="1024" fill="#1F201F"/>
<g opacity="0.95" filter="url(#filter0_f_287_693)">
<path d="M-201.654 473.827C-222.477 444.181 -135.601 330.211 -89.5597 276.932C-49.4017 218.853 43.3929 96.4789 93.3068 71.617C155.699 40.5396 210.838 35.3775 317.517 -11.2546C424.196 -57.8866 502.694 -55.2624 735.23 -98.2918C967.765 -141.321 845.508 -108.616 1004.93 -17.1029C1164.34 74.4104 1065.11 95.9907 1062.91 240.162C1060.7 384.333 1011.31 298.816 950.963 359.294C890.614 419.773 745.865 102.857 659.906 180.422C573.948 257.987 603.99 222.804 631.303 515.382C719.043 538.676 669.559 513.737 786.064 531.038C902.568 548.34 841.342 543.924 898.86 627.747C956.378 711.57 920.305 760.663 763.535 930.713C606.764 1100.76 678.128 877.105 556.37 836.495C434.612 795.884 469.116 795.022 364.298 774.382C259.479 753.742 273.152 715.643 190.459 810.604C107.766 905.565 136.335 858.035 9.50706 890.789C-117.321 923.542 -42.076 853.633 -82.654 789.781C-123.232 725.928 -87.7013 671.525 -128.961 584.314C-170.22 497.104 -175.626 510.884 -201.654 473.827Z" fill="#34D399"/>
<path d="M639.724 600.298C626.679 563.102 622.703 489.667 646.882 420.45L639.842 401.512C671.313 366.898 740.22 289.289 764.074 255.768L802.907 201.199C816.776 181.71 839.659 149.554 1132.23 63.0568C1212.05 64.0728 1182.68 62.6322 1300.64 88.0195C1418.6 113.407 1363.12 119.825 1461.61 193.924C1560.1 268.023 1525.73 259.72 1577.35 355.912C1628.96 452.104 1601.61 399.772 1588.77 495.766C1575.93 591.759 1566.81 575.743 1508.37 665.34C1449.93 754.937 1434.08 734.495 1384.55 782.741C1335.02 830.986 1336.46 807.61 1287.13 841.684C1237.81 875.759 1225.38 871.872 1162.59 897.092C1099.81 922.313 1108.65 908.817 1002.18 923.89C895.704 938.964 940.587 883.368 856.111 875.001C771.635 866.635 787.79 830.052 718.951 784.761C650.113 739.471 687.961 736.474 673.514 707.655C659.066 678.835 652.77 637.495 639.724 600.298Z" fill="#60A5FA"/>
</g>
<g style="mix-blend-mode:color-burn" opacity="0.4" filter="url(#filter1_f_287_693)">
<path d="M626.141 -22.8748C644.643 -46.9528 690.436 -81.2177 745.481 -96.498L754.731 -109C790.502 -104.833 870 -96.498 901.824 -96.498H953.63C972.133 -96.498 1002.66 -96.498 1183.06 44.2659C1216.36 93.348 1204.8 74.8264 1238.56 157.71C1272.33 240.594 1244.58 209.571 1238.56 301.715C1232.55 393.86 1223.3 369.319 1183.06 442.479C1142.82 515.639 1165.02 476.281 1097.49 510.083C1029.95 543.885 1036.43 531.383 953.63 534.624C870.833 537.865 877.309 519.344 825.04 510.083C772.771 500.822 788.498 491.561 745.481 476.281C702.463 461.001 699.687 451.74 656.67 424.421C613.652 397.101 626.141 396.638 571.097 338.296C516.053 279.953 571.097 283.194 540.568 228.092C510.04 172.991 540.568 166.971 540.568 105.387C540.568 43.8028 558.608 65.5656 571.097 44.2659C583.586 22.9661 607.639 1.20325 626.141 -22.8748Z" fill="#93C5FD"/>
<path d="M-2.07087 334.224C-12.8709 315.424 73.0958 262.391 117.429 238.224C158.096 210.724 250.029 153.724 292.429 145.724C345.429 135.724 388.429 139.224 477.929 125.724C567.429 112.224 626.929 122.724 811.929 125.724C996.929 128.724 897.929 132.724 1003.93 201.724C1109.93 270.724 1030.43 271.224 1003.93 350.724C977.429 430.224 954.429 377.224 897.929 403.724C841.429 430.224 785.429 238.224 706.429 271.224C627.429 304.224 656.429 288.224 626.929 453.224C689.929 476.224 656.429 456.724 742.429 479.724C828.429 502.724 782.429 493.224 811.929 546.224C841.429 599.224 805.429 622.224 656.429 698.224C507.429 774.224 600.429 658.724 514.429 622.224C428.429 585.724 454.929 589.224 378.429 565.724C301.929 542.224 318.929 522.724 239.429 565.724C159.929 608.724 189.929 585.724 87.4292 589.224C-15.0708 592.724 54.4292 562.724 34.4292 522.724C14.4292 482.724 50.9292 456.724 34.4292 403.724C17.9292 350.724 11.4291 357.724 -2.07087 334.224Z" fill="#34D399"/>
<path d="M139.079 -13.5933C157.013 -33.1151 272.628 60.3273 328.195 109.489L352.034 127.701C402.248 156.414 507.751 223.506 528.049 262.167C553.421 310.494 551.898 301.78 571.911 379.361C591.924 456.941 634.429 422.717 700.385 473.104L865.671 599.374C947.123 661.599 939.887 676.836 952.73 807.455C965.572 938.074 851.31 809.255 759.13 738.835C666.951 668.415 732.907 718.802 636.339 703.545C539.77 688.288 576.259 678.411 410.067 564.033C243.875 449.654 283.902 412.908 246.583 347.274C209.263 281.641 238.831 308.004 201.62 275.173C164.41 242.341 137.172 201.398 84.6605 123.529C32.149 45.6607 116.661 10.8088 139.079 -13.5933Z" fill="#FB923C"/>
</g>
<g style="mix-blend-mode:overlay" opacity="0.5">
<rect y="-11" width="1440" height="1028" fill="url(#pattern0)"/>
</g>
</g>
<defs>
<filter id="filter0_f_287_693" x="-494.823" y="-407.035" width="2392.4" height="1690.74" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="145" result="effect1_foregroundBlur_287_693"/>
</filter>
<filter id="filter1_f_287_693" x="-293.001" y="-399" width="1838" height="1552.6" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
<feBlend mode="normal" in="SourceGraphic" in2="BackgroundImageFix" result="shape"/>
<feGaussianBlur stdDeviation="145" result="effect1_foregroundBlur_287_693"/>
</filter>
<pattern id="pattern0" patternContentUnits="objectBoundingBox" width="1" height="1">
<use xlink:href="#image0_287_693" transform="translate(0 0.0100778) scale(0.0005 0.000700389)"/>
</pattern>
<clipPath id="clip0_287_693">
<rect width="1440" height="1024" fill="white"/>
</clipPath>
<image id="image0_287_693" width="2000" height="1399" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAB9AAAAV3CAIAAACG3GNRAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAxRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDYuMC1jMDAyIDExNi4xNjQ3NjYsIDIwMjEvMDIvMTktMjM6MTA6MDcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjU0OTE2OTdBQzgxRjExRUNBMTk3QjczNUFCQkJDREVGIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjU0OTE2OTc5QzgxRjExRUNBMTk3QjczNUFCQkJDREVGIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCAyMDIwIE1hY2ludG9zaCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSIyNEE5MThCRjQwQzEwNDNGNjdBMDQ0OEFFMDlFRjVCNSIgc3RSZWY6ZG9jdW1lbnRJRD0iMjRBOTE4QkY0MEMxMDQzRjY3QTA0NDhBRTA5RUY1QjUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz69AeqQAC8D+ElEQVR42kzdWZOeVdX/cTEOjzOOqDggIiTpdJJOuslAoDVWChSrPPDMU8tTz3wHvh09sKzSEgQyp5PupDMQQBxwRnHWPzjw1+fL/XlYxX3Qdfd1X9e+9l577bXX8Ftr3/Loo4/++c9//s9//vPWt771zjvv/N3vfve3v/3tlltuectb3vKmN73pxo0bb37zm9/97nf/8Y9/fPvb3/6GN7yh6//4xz9uvfXWffv2Xb169Te/+c3b3va2/7f4/M/iU1Pd9s9//rNH3vnOd37oQx964YUXfvGLX/Tg8vLyBz/4wdtuu+3MmTN/+ctf3v/+9/f3X//61+tf//oefNe73vX73/++V3flHe94x3//+9/3ve99PfX888+/7nWv+8AHPlA7b1h8fvvb3/773/9+z3veUw9feumlet6XrvRgb+9LPey2bujXrtR+Ha6FmvrlL3/ZiLqzG7r4ox/9qNH1or/+9a/1oZ+Wlpaee+65n/zkJ3v37q0/DeTnP/95nTl8+PD/X3xqsPZrvAZ//etf97qnnnoqOuzZs6d/u+GNb3xjNKlLH/7whzVeO5cuXfr73/9eTxpLV3p7NOnv3Xff3d+uR/ba7PsPf/jDXvfe97436kXzhlB/arm+9cau9Pbu757e8oc//KFB9epe1NDqamTszmjSi27evNmgDh48uGPHjgjbGxvOLYtPhG2Cbr/99r53Z31uOqJwNGnKGk5E/uQnP1lnarNfd+/eXZd6aa/rwdrpqXrbxb400vpZr/wUEepbk1tnaqTO1Frdi9NefvnlmopoV65ciZIPPfRQfxt7169du9ara6TeRquPfexjP/7xj+vegQMHnn766Wbkvvvu+9Of/hQF4tKeqsNR7Nlnn202I2nd+NSnPhXZu7PHGzhq15na70o/daV/G+OLL75Y+4j2q1/9quuNsbHs2rWr7w25Oe3++h/H9ni3xZPRv3aMujc2nPrc5NZgvaqFGu+27qn9aFLnm6BuiAL1NuI0zK5HxgiC37q5ye11ff/CF77QpNdIV2qtmyNFQ2hh1khEi0v7250RuQdrvyHXmd7ys5/9bHt7e21tLQZu1nq2Ka7DXe9+7XSlfvalyYqL6kZDq8H61qScO3eu97Y8u9LcRdsebB6jUt9bKXFF32uqvjVA78XwUaMG3dwcRcC+RJaf/vSnXW9aI2b3dGeCotc1kFZEZIkDazxKWqT1sJa3trYIgWYZI/WWrvRgt/VS6ysifPzjH++22KOutmB7/Mknn+yehtOXHoyeNfjRj360tzTRvbeXRpyaiuYx0vHjx7vSwDc2Npru9fX1BvjNb35z5+Lzm8WnyYpbaqeXmqDaQcBmsxtQu/43TY2919VUo268tdw0dU9vrIctyYRqcxSdI1QT1BREiv3791vX3fyRj3ykFzWJDb9/62SkboB96Z6u1MPa73s9jKnqTDc0ukjUlwiCu0iJO+64o+uRIso3BXWjX2uh2+pM92P+3lX/a7z+fOITn+h1/dq/Nd7fJEM80+vqcE316nrYMFsLLcD60ETEaT1y1113NafdXweIiNZIT/Vs441Kjc6ia0bqxn8Wn1ro125uZutSN9eNJjp2rf/91BRH9qhds30nc2oHY/c3Fmp0TaUZr5MNs4E0zLrULLTpGGx9aL7iz0bdIurxxtJ7Y6ce7Eu97YZ6WAda/vUqAtZ+LfdrXfVIjzcj6NzFKBah6kDLJ4mNdet/L+0t9ScCJoprJNEXAeOoCN6k1FoPImm97XHbcY/Xct1omL2lpR1VI0X3158WvnVaC6jaCq0RM9sNjaL2ayp52JeEf6NrmmLRviRU60lDjkMaRXMUzbvtkUce6dle0Z128ximZhtI/Hz9+vXekpiqY20EzWBDi1Y92DCboLoX0aJV5I3DaznK23SiZIwRlepwS6/57R4c2+pom6AJdJ0sbR3RKGqnB+t/dOh67fe32W8UdayXWpV1I/pEt15UC/0bAzS6uDT69GztdH+Pt3Y0hdn69O8zzzzTDbgxwloCDaQO1EhE6/5oW/t1rBvss326XrNo3jB7bxdrsO5FIm/HMP3aAHtL793c3Kx799xzT0RoEltl8Xkv6p4eJ/kxWO9qLmLC3lJTPZWgbrxpU/2kY1EjDuyGXmexv27xqUH6Uq3FfnWymapXDaq5a2pqkF5RB3pXt0UN3Ng91DBKSF8aQrfVfm/s397SdkniRbRu60oz1W2xQc9Got5e+z0eNdrNa7PG44dua+Jig+6JCA2kx/u1KxSPmCSuaOVGq3gMl3ZbA++2JrrR1bIXdVsitL5FhwbYl3bM7qljNZuK1bjaHHuk1rB9A2wquz9+i6W7Xjst22YhURyzXb58ObWqx5tKwrz3tkwsot7bdeI6GkbJlk8DqfOEWM3WSKzYu5KKUbgu/Xvx6YZe3S4QGUnU5i72s1obaU/Vfl+wTcyA63p1lKEdxUX1LZHbcNpkI2abS7c1duSqJz3e/XUgStZgo4g96luU6Z6kZS/yU6+oG91A1Ld12keapt5bs4mXpFZTkNiJY/u1Fz322GNxkansKbtSf3tLfesK3Tu6Xbx4sc6gfPf3N8pHtygw1kFEaLBxdfc3oqRWb0n4tA82tJqyh9K6I2/MFknredejTLPGYGkIBhIRuiHea8n3VNxSH7qz6SCvGnjT8cbFR7P1thE1szF5Mx55G3ts0FN9b1Dd0HcbQV96ex3rrx2kmW04Db8dqn/jkwbSDQYbS9u763C39caYLTLWsi2s7/W8mynDtdMsEzu9145WO9Gn7/WcshR713JU6v4e7LuNgyCyCdZzsqX3tmC7bsr63uP1M86PGnbeOtNTUTjpV5v92/cabHS9NE6IJuRDP3Wl2eyleDu60ZmbiCa0e1qbkfTFxaexRKhufv3iU7MkanPUg8y6VCNSLrpRd/u3V8d1zX6NNE3d3F+T2OSm7NUIAVhnui0KtKD6t7E36gZLzDZw2x8lvAHWVF0iwSKFHbmOtQQaSDRsLF2MODXSvw2hLsUbvbGJ6+11z3D6UpsRs/Zroc7XZrMcv/XIZz/7WYK9ofW6vrQAmxf6XpRso6fm1e1G1w107PSEtt26nfLQoOK9+tN7e6q/prU7o1v/1jKDrkFFh7pdV+PniMMarVfd1izX4brX61p9kas263Nj72JvrIV4uG43NbXQg00lBqj/NVs3ur/u9WCN1Pk4sBH13tg77aKbz58/H/W6QrYk/+tezyaUWlOszvrTDTXe401QPYnlusjMbIEkcBp701T/E9Q1W1P9G30aSGNMTNmhaqEXUe9ZEw0hxiaOeqoZxE4NAfF7JA6MRakuvai/DcdKb4wRuZavXr2a9Eu8x2n9GokiVLOfFE3sxN7EUf/2SAxAAmfF1Oy+fft6pOuNKPnZzXW+bjTSvpvr+DBS1H73d0//9j369KUr0bDH61hUqjOJlEbNg1GbTU2j7lcdbvZpBVZBj7cSo2dkjDLs39rpzgbe9zoQA0TbrhCGdX7WcrSt8/Sf9PzaqWPshZ41ra24htCdbHAuEfK2/td+89jNPdXF7qG2oUmc2Vw0qNqJtrSUKNC4+t7AqRB9Gld/az/i10Jt0hm4elhDNY4/+949va6hsQhsoxT1Jqt9wdvpVDXLVvKi2mlQjEr7Zv/WWswwWhB1vc7Uzu8Xn0RN33FFj3Dy/HXxqQ+aIjq6oQFGschST2q8PttWKMxNFrsvHmYs49v+xnhtChTaVJR6xXLkB2se/7D4vHPLine truncated
</defs>
</svg>

After

Width:  |  Height:  |  Size: 3.9 MiB

+3
View File
@@ -0,0 +1,3 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M1.64645 4.64645C1.84171 4.45118 2.15829 4.45118 2.35355 4.64645L8 10.2929L13.6464 4.64645C13.8417 4.45118 14.1583 4.45118 14.3536 4.64645C14.5488 4.84171 14.5488 5.15829 14.3536 5.35355L8.35355 11.3536C8.15829 11.5488 7.84171 11.5488 7.64645 11.3536L1.64645 5.35355C1.45118 5.15829 1.45118 4.84171 1.64645 4.64645Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 484 B

+4
View File
@@ -0,0 +1,4 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M8 16C12.4183 16 16 12.4183 16 8C16 3.58172 12.4183 0 8 0C3.58172 0 0 3.58172 0 8C0 12.4183 3.58172 16 8 16ZM8.16801 2.56435C8.09081 2.43177 7.89923 2.4319 7.82221 2.56458L4.82431 7.72899C4.76983 7.82284 4.80013 7.94301 4.89259 7.99981L7.89038 9.84139C7.95451 9.88079 8.03533 9.88085 8.09952 9.84154L11.1069 7.99986C11.1996 7.94308 11.23 7.82262 11.1752 7.72866L8.16801 2.56435ZM8.08754 10.7831C8.02182 10.8253 7.93759 10.8253 7.87181 10.7833L5.51555 9.27665C5.33379 9.16043 5.1222 9.37463 5.24065 9.55495L7.8123 13.4701C7.89136 13.5905 8.06789 13.5903 8.14678 13.4699L10.7098 9.55566C10.828 9.37517 10.6161 9.16127 10.4345 9.27775L8.08754 10.7831Z" fill="#3B82F6"/>
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.82232 2.56456C7.89934 2.43187 8.09092 2.43174 8.16812 2.56432L11.1754 7.72864C11.2301 7.8226 11.1997 7.94305 11.107 7.99984L8.09963 9.84152C8.03544 9.88082 7.95463 9.88077 7.89049 9.84137L4.8927 7.99979C4.80024 7.94299 4.76994 7.82282 4.82442 7.72897L7.82232 2.56456ZM7.87193 10.7833C7.9377 10.8253 8.02193 10.8253 8.08765 10.7831L10.4346 9.27773C10.6162 9.16125 10.8281 9.37515 10.7099 9.55563L8.1469 13.4698C8.06801 13.5903 7.89147 13.5904 7.81241 13.4701L5.24076 9.55492C5.12232 9.3746 5.3339 9.1604 5.51566 9.27662L7.87193 10.7833Z" fill="white"/>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

+10 -1
View File
@@ -1 +1,10 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 261.76 226.69" xmlns:v="https://vecta.io/nano"><path d="M161.096.001l-30.225 52.351L100.647.001H-.005l130.877 226.688L261.749.001z" fill="#41b883"/><path d="M161.096.001l-30.225 52.351L100.647.001H52.346l78.526 136.01L209.398.001z" fill="#34495e"/></svg>
<svg width="99" height="24" viewBox="0 0 99 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M49.4002 11.9505C49.4002 15.7893 46.9553 18.5084 43.5964 18.5084C41.6313 18.5084 40.1232 17.5487 39.2092 16.132V23.9467H36.6271V5.66678H39.2092V7.81467C40.1232 6.37512 41.6313 5.39258 43.6192 5.39258C46.9096 5.39258 49.4002 8.11172 49.4002 11.9505ZM46.7953 11.9505C46.7953 9.55126 45.2415 7.86037 43.048 7.86037C40.8544 7.86037 39.1863 9.55126 39.1863 11.9505C39.1863 14.3726 40.8544 16.0406 43.048 16.0406C45.2187 16.0406 46.7953 14.3726 46.7953 11.9505Z" fill="#F9FAFB"/>
<path d="M63.5671 15.7664V18.2342H51.4338V16.3834L56.0724 12.3161C59.6598 9.18565 60.5738 8.38591 60.5738 6.96921C60.5738 5.57537 59.4999 4.43288 57.5348 4.43288C55.5925 4.43288 54.5186 5.55252 54.1758 7.38051H51.5709C51.9365 4.04443 54.3358 1.96509 57.649 1.96509C61.0536 1.96509 63.1787 4.15868 63.1787 6.85497C63.1787 9.27705 61.4878 10.7166 58.2203 13.5728L55.7068 15.7436L55.6611 15.7664H63.5671Z" fill="#F9FAFB"/>
<path d="M78.8994 11.9505C78.8994 15.7893 76.4544 18.5084 73.0955 18.5084C71.1304 18.5084 69.6223 17.5487 68.7083 16.132V23.9467H66.1263V5.66678H68.7083V7.81467C69.6223 6.37512 71.1304 5.39258 73.1183 5.39258C76.4087 5.39258 78.8994 8.11172 78.8994 11.9505ZM76.2945 11.9505C76.2945 9.55126 74.7407 7.86037 72.5471 7.86037C70.3535 7.86037 68.6855 9.55126 68.6855 11.9505C68.6855 14.3726 70.3535 16.0406 72.5471 16.0406C74.7178 16.0406 76.2945 14.3726 76.2945 11.9505Z" fill="#F9FAFB"/>
<path d="M84.4747 1.57664C84.4747 2.51349 83.7664 3.19899 82.7838 3.19899C81.847 3.19899 81.1158 2.51349 81.1158 1.57664C81.1158 0.662647 81.847 0 82.7838 0C83.7664 0 84.4747 0.662647 84.4747 1.57664ZM81.5042 5.66677H84.0863V18.2342H81.5042V5.66677Z" fill="#F9FAFB"/>
<path d="M95.1913 18.2342L92.1523 13.7328L89.2275 18.2342H86.1199L90.6214 11.7677L86.3713 5.66675H89.456L92.2437 9.87113L94.94 5.66675H98.0476L93.7975 11.8134L98.2761 18.2342H95.1913Z" fill="#F9FAFB"/>
<path d="M3.19484 2C4.63831 2 5.85787 2.95965 6.25372 4.27517C7.77317 4.38313 9.22864 5.04289 10.3042 6.1265L16.1101 11.9284C16.1301 11.9484 16.1541 11.9684 16.1741 11.9924L22.5398 18.354C23.3155 19.1338 24.3871 19.5776 25.4827 19.5776C25.4867 19.5776 25.4907 19.5776 25.4947 19.5776H25.8466C26.3264 18.422 27.466 17.6103 28.7975 17.6103C30.5609 17.6103 31.9923 19.0418 31.9923 20.8051C31.9923 22.5685 30.5609 24 28.7975 24C27.374 24 26.1745 23.0723 25.7586 21.7848H25.4987C25.4947 21.7848 25.4867 21.7848 25.4827 21.7848C23.8073 21.7848 22.1679 21.105 20.9884 19.9175L15.1585 14.0876C15.1345 14.0676 15.1065 14.0476 15.0825 14.0236L8.73682 7.67793C8.04107 6.97819 7.10141 6.55034 6.11777 6.47037C5.62595 7.59796 4.50236 8.38567 3.19084 8.38567C1.43148 8.38567 0 6.95819 0 5.19484C0 3.43148 1.43148 2 3.19484 2Z" fill="#F9FAFB"/>
<path d="M3.19484 17.6103C4.52635 17.6103 5.66194 18.422 6.14576 19.5776H6.49763C6.50163 19.5776 6.50563 19.5776 6.50963 19.5776C7.60923 19.5776 8.68084 19.1338 9.45255 18.354L13.2512 14.5554L14.8066 16.1109L11.004 19.9135C9.82042 21.101 8.18502 21.7808 6.50963 21.7808C6.50563 21.7808 6.49763 21.7808 6.49363 21.7808H6.23373C5.82188 23.0643 4.61832 23.996 3.19484 23.996C1.43148 23.996 0 22.5645 0 20.8011C0 19.0378 1.43148 17.6103 3.19484 17.6103Z" fill="#F9FAFB"/>
<path d="M28.7935 8.38567C27.462 8.38567 26.3264 7.57397 25.8426 6.41839H25.4907C25.4867 6.41839 25.4827 6.41839 25.4787 6.41839C24.3791 6.41839 23.3075 6.86223 22.5358 7.64194L18.7372 11.4406L17.1817 9.88513L20.9843 6.08251C22.1679 4.89495 23.8033 4.21519 25.4787 4.21519C25.4827 4.21519 25.4907 4.21519 25.4947 4.21519H25.7546C26.1705 2.92766 27.374 2 28.7935 2C30.5569 2 31.9883 3.43148 31.9883 5.19484C31.9883 6.95819 30.5569 8.38567 28.7935 8.38567Z" fill="#F9FAFB"/>
</svg>

Before

Width:  |  Height:  |  Size: 308 B

After

Width:  |  Height:  |  Size: 3.6 KiB

+5 -16
View File
@@ -4,10 +4,12 @@
@tailwind utilities;
#app {
max-width: 1280px;
margin: 0 auto;
padding: 2rem;
padding: 2rem 4rem;
height: fit-content;
min-height: 100vh;
background-image: url( './bg.svg' );
background-size: cover;
font-weight: normal;
}
@@ -23,16 +25,3 @@ a,
background-color: hsla(160, 100%, 37%, 0.2);
}
}
@media (min-width: 1024px) {
body {
display: flex;
place-items: center;
}
#app {
display: grid;
grid-template-columns: 1fr 1fr;
padding: 0 2rem;
}
}
-41
View File
@@ -1,41 +0,0 @@
<script setup lang="ts">
defineProps<{
msg: string;
}>();
</script>
<template>
<div class="greetings">
<h1 class="green">{{ msg }}</h1>
<h3>
You’ve successfully created a project with
<a href="https://vitejs.dev/" target="_blank" rel="noopener">Vite</a> +
<a href="https://vuejs.org/" target="_blank" rel="noopener">Vue 3</a>.
What's next?
</h3>
</div>
</template>
<style scoped>
h1 {
font-weight: 500;
font-size: 2.6rem;
top: -10px;
}
h3 {
font-size: 1.2rem;
}
.greetings h1,
.greetings h3 {
text-align: center;
}
@media (min-width: 1024px) {
.greetings h1,
.greetings h3 {
text-align: left;
}
}
</style>
-121
View File
@@ -1,121 +0,0 @@
<script setup lang="ts">
import WelcomeItem from "./WelcomeItem.vue";
import DocumentationIcon from "./icons/IconDocumentation.vue";
import ToolingIcon from "./icons/IconTooling.vue";
import EcosystemIcon from "./icons/IconEcosystem.vue";
import CommunityIcon from "./icons/IconCommunity.vue";
import SupportIcon from "./icons/IconSupport.vue";
</script>
<template>
<WelcomeItem>
<template #icon>
<DocumentationIcon />
</template>
<template #heading>Documentation</template>
Vue’s
<a href="https://vuejs.org/" target="_blank" rel="noopener"
>official documentation</a
>
provides you with all information you need to get started.
</WelcomeItem>
<WelcomeItem>
<template #icon>
<ToolingIcon />
</template>
<template #heading>Tooling</template>
This project is served and bundled with
<a
href="https://vitejs.dev/guide/features.html"
target="_blank"
rel="noopener"
>Vite</a
>. The recommended IDE setup is
<a href="https://code.visualstudio.com/" target="_blank" rel="noopener"
>VSCode</a
>
+
<a
href="https://github.com/johnsoncodehk/volar"
target="_blank"
rel="noopener"
>Volar</a
>. If you need to test your components and web pages, check out
<a href="https://www.cypress.io/" target="_blank" rel="noopener">Cypress</a>
and
<a href="https://on.cypress.io/component" target="_blank"
>Cypress Component Testing</a
>.
<br />
More instructions are available in <code>README.md</code>.
</WelcomeItem>
<WelcomeItem>
<template #icon>
<EcosystemIcon />
</template>
<template #heading>Ecosystem</template>
Get official tools and libraries for your project:
<a href="https://pinia.vuejs.org/" target="_blank" rel="noopener">Pinia</a>,
<a href="https://router.vuejs.org/" target="_blank" rel="noopener"
>Vue Router</a
>,
<a href="https://test-utils.vuejs.org/" target="_blank" rel="noopener"
>Vue Test Utils</a
>, and
<a href="https://github.com/vuejs/devtools" target="_blank" rel="noopener"
>Vue Dev Tools</a
>. If you need more resources, we suggest paying
<a
href="https://github.com/vuejs/awesome-vue"
target="_blank"
rel="noopener"
>Awesome Vue</a
>
a visit.
</WelcomeItem>
<WelcomeItem>
<template #icon>
<CommunityIcon />
</template>
<template #heading>Community</template>
Got stuck? Ask your question on
<a href="https://chat.vuejs.org" target="_blank" rel="noopener">Vue Land</a
>, our official Discord server, or
<a
href="https://stackoverflow.com/questions/tagged/vue.js"
target="_blank"
rel="noopener"
>StackOverflow</a
>. You should also subscribe to
<a href="https://news.vuejs.org" target="_blank" rel="noopener"
>our mailing list</a
>
and follow the official
<a href="https://twitter.com/vuejs" target="_blank" rel="noopener"
>@vuejs</a
>
twitter account for latest news in the Vue world.
</WelcomeItem>
<WelcomeItem>
<template #icon>
<SupportIcon />
</template>
<template #heading>Support Vue</template>
As an independent project, Vue relies on community backing for its
sustainability. You can help us by
<a href="https://vuejs.org/sponsor/" target="_blank" rel="noopener"
>becoming a sponsor</a
>.
</WelcomeItem>
</template>
+92
View File
@@ -0,0 +1,92 @@
<script setup lang="ts">
import { storeToRefs } from "pinia";
import { useEtherStore } from "../store/ether";
import blockchain from "../utils/blockchain";
const etherStore = useEtherStore();
const { walletAddress, balance } = storeToRefs(etherStore);
const connectMetaMask = () => {
blockchain.connectProvider();
};
const formatWalletAddress = (): string => {
const walletAddressLength = walletAddress.value.length;
const initialText = walletAddress.value.substring(0, 5);
const finalText = walletAddress.value.substring(
walletAddressLength - 5,
walletAddressLength - 1
);
return `${initialText}...${finalText}`;
};
const formatWalletBalance = (): string => {
const formattedBalance = blockchain.formatEther(balance.value);
const fixed = formattedBalance.substring(0, 8);
return fixed;
};
</script>
<template>
<header>
<img
alt="P2Pix logo"
class="logo"
src="@/assets/logo.svg"
width="75"
height="75"
/>
<div class="flex gap-4 items-center">
<button type="button" class="default-button">Quero vender</button>
<button
type="button"
v-if="!walletAddress"
class="border-amber-500 border-2 rounded default-button"
@click="connectMetaMask()"
>
Conectar carteira
</button>
<div v-if="walletAddress" class="account-info">
<div class="top-bar-info">
<img alt="Ethereum image" src="@/assets/ethereum.svg" />
<span class="default-text"> Ethereum </span>
<img alt="Chevron Down" src="@/assets/chevronDown.svg" />
</div>
<div class="top-bar-info">
<img alt="Account image" src="@/assets/account.svg" />
<span class="default-text text-sm">{{ formatWalletAddress() }}</span>
<img alt="Chevron Down" src="@/assets/chevronDown.svg" />
</div>
<div class="top-bar-info">
<span class="default-text text-sm">
MBRZ: {{ formatWalletBalance() }}
</span>
</div>
<!-- Temporary div, just to show a wallet's balance -->
</div>
</div>
</header>
</template>
<style scoped>
header {
@apply flex flex-row justify-between w-full items-center;
}
.default-button {
@apply px-4 py-2 rounded text-gray-50 font-semibold text-base;
}
.account-info {
@apply flex items-center gap-6;
}
.default-text {
@apply text-gray-50 font-semibold text-base;
}
.top-bar-info {
@apply flex justify-between gap-2 px-4 py-2 border-amber-500 border-2 rounded;
}
</style>
-86
View File
@@ -1,86 +0,0 @@
<template>
<div class="item">
<i>
<slot name="icon"></slot>
</i>
<div class="details">
<h3>
<slot name="heading"></slot>
</h3>
<slot></slot>
</div>
</div>
</template>
<style scoped>
.item {
margin-top: 2rem;
display: flex;
}
.details {
flex: 1;
margin-left: 1rem;
}
i {
display: flex;
place-items: center;
place-content: center;
width: 32px;
height: 32px;
color: var(--color-text);
}
h3 {
font-size: 1.2rem;
font-weight: 500;
margin-bottom: 0.4rem;
color: var(--color-heading);
}
@media (min-width: 1024px) {
.item {
margin-top: 0;
padding: 0.4rem 0 1rem calc(var(--section-gap) / 2);
}
i {
top: calc(50% - 25px);
left: -26px;
position: absolute;
border: 1px solid var(--color-border);
background: var(--color-background);
border-radius: 8px;
width: 50px;
height: 50px;
}
.item:before {
content: " ";
border-left: 1px solid var(--color-border);
position: absolute;
left: 0;
bottom: calc(50% + 25px);
height: calc(50% - 25px);
}
.item:after {
content: " ";
border-left: 1px solid var(--color-border);
position: absolute;
left: 0;
top: calc(50% + 25px);
height: calc(50% - 25px);
}
.item:first-of-type:before {
display: none;
}
.item:last-of-type:after {
display: none;
}
}
</style>
-12
View File
@@ -1,12 +0,0 @@
<template>
<svg
xmlns="http://www.w3.org/2000/svg"
width="20"
height="20"
fill="currentColor"
>
<path
d="M15 4a1 1 0 1 0 0 2V4zm0 11v-1a1 1 0 0 0-1 1h1zm0 4l-.707.707A1 1 0 0 0 16 19h-1zm-4-4l.707-.707A1 1 0 0 0 11 14v1zm-4.707-1.293a1 1 0 0 0-1.414 1.414l1.414-1.414zm-.707.707l-.707-.707.707.707zM9 11v-1a1 1 0 0 0-.707.293L9 11zm-4 0h1a1 1 0 0 0-1-1v1zm0 4H4a1 1 0 0 0 1.707.707L5 15zm10-9h2V4h-2v2zm2 0a1 1 0 0 1 1 1h2a3 3 0 0 0-3-3v2zm1 1v6h2V7h-2zm0 6a1 1 0 0 1-1 1v2a3 3 0 0 0 3-3h-2zm-1 1h-2v2h2v-2zm-3 1v4h2v-4h-2zm1.707 3.293l-4-4-1.414 1.414 4 4 1.414-1.414zM11 14H7v2h4v-2zm-4 0c-.276 0-.525-.111-.707-.293l-1.414 1.414C5.42 15.663 6.172 16 7 16v-2zm-.707 1.121l3.414-3.414-1.414-1.414-3.414 3.414 1.414 1.414zM9 12h4v-2H9v2zm4 0a3 3 0 0 0 3-3h-2a1 1 0 0 1-1 1v2zm3-3V3h-2v6h2zm0-6a3 3 0 0 0-3-3v2a1 1 0 0 1 1 1h2zm-3-3H3v2h10V0zM3 0a3 3 0 0 0-3 3h2a1 1 0 0 1 1-1V0zM0 3v6h2V3H0zm0 6a3 3 0 0 0 3 3v-2a1 1 0 0 1-1-1H0zm3 3h2v-2H3v2zm1-1v4h2v-4H4zm1.707 4.707l.586-.586-1.414-1.414-.586.586 1.414 1.414z"
/>
</svg>
</template>
@@ -1,12 +0,0 @@
<template>
<svg
xmlns="http://www.w3.org/2000/svg"
width="20"
height="17"
fill="currentColor"
>
<path
d="M11 2.253a1 1 0 1 0-2 0h2zm-2 13a1 1 0 1 0 2 0H9zm.447-12.167a1 1 0 1 0 1.107-1.666L9.447 3.086zM1 2.253L.447 1.42A1 1 0 0 0 0 2.253h1zm0 13H0a1 1 0 0 0 1.553.833L1 15.253zm8.447.833a1 1 0 1 0 1.107-1.666l-1.107 1.666zm0-14.666a1 1 0 1 0 1.107 1.666L9.447 1.42zM19 2.253h1a1 1 0 0 0-.447-.833L19 2.253zm0 13l-.553.833A1 1 0 0 0 20 15.253h-1zm-9.553-.833a1 1 0 1 0 1.107 1.666L9.447 14.42zM9 2.253v13h2v-13H9zm1.553-.833C9.203.523 7.42 0 5.5 0v2c1.572 0 2.961.431 3.947 1.086l1.107-1.666zM5.5 0C3.58 0 1.797.523.447 1.42l1.107 1.666C2.539 2.431 3.928 2 5.5 2V0zM0 2.253v13h2v-13H0zm1.553 13.833C2.539 15.431 3.928 15 5.5 15v-2c-1.92 0-3.703.523-5.053 1.42l1.107 1.666zM5.5 15c1.572 0 2.961.431 3.947 1.086l1.107-1.666C9.203 13.523 7.42 13 5.5 13v2zm5.053-11.914C11.539 2.431 12.928 2 14.5 2V0c-1.92 0-3.703.523-5.053 1.42l1.107 1.666zM14.5 2c1.573 0 2.961.431 3.947 1.086l1.107-1.666C18.203.523 16.421 0 14.5 0v2zm3.5.253v13h2v-13h-2zm1.553 12.167C18.203 13.523 16.421 13 14.5 13v2c1.573 0 2.961.431 3.947 1.086l1.107-1.666zM14.5 13c-1.92 0-3.703.523-5.053 1.42l1.107 1.666C11.539 15.431 12.928 15 14.5 15v-2z"
/>
</svg>
</template>
-12
View File
@@ -1,12 +0,0 @@
<template>
<svg
xmlns="http://www.w3.org/2000/svg"
width="18"
height="20"
fill="currentColor"
>
<path
d="M11.447 8.894a1 1 0 1 0-.894-1.789l.894 1.789zm-2.894-.789a1 1 0 1 0 .894 1.789l-.894-1.789zm0 1.789a1 1 0 1 0 .894-1.789l-.894 1.789zM7.447 7.106a1 1 0 1 0-.894 1.789l.894-1.789zM10 9a1 1 0 1 0-2 0h2zm-2 2.5a1 1 0 1 0 2 0H8zm9.447-5.606a1 1 0 1 0-.894-1.789l.894 1.789zm-2.894-.789a1 1 0 1 0 .894 1.789l-.894-1.789zm2 .789a1 1 0 1 0 .894-1.789l-.894 1.789zm-1.106-2.789a1 1 0 1 0-.894 1.789l.894-1.789zM18 5a1 1 0 1 0-2 0h2zm-2 2.5a1 1 0 1 0 2 0h-2zm-5.447-4.606a1 1 0 1 0 .894-1.789l-.894 1.789zM9 1l.447-.894a1 1 0 0 0-.894 0L9 1zm-2.447.106a1 1 0 1 0 .894 1.789l-.894-1.789zm-6 3a1 1 0 1 0 .894 1.789L.553 4.106zm2.894.789a1 1 0 1 0-.894-1.789l.894 1.789zm-2-.789a1 1 0 1 0-.894 1.789l.894-1.789zm1.106 2.789a1 1 0 1 0 .894-1.789l-.894 1.789zM2 5a1 1 0 1 0-2 0h2zM0 7.5a1 1 0 1 0 2 0H0zm8.553 12.394a1 1 0 1 0 .894-1.789l-.894 1.789zm-1.106-2.789a1 1 0 1 0-.894 1.789l.894-1.789zm1.106 1a1 1 0 1 0 .894 1.789l-.894-1.789zm2.894.789a1 1 0 1 0-.894-1.789l.894 1.789zM8 19a1 1 0 1 0 2 0H8zm2-2.5a1 1 0 1 0-2 0h2zm-7.447.394a1 1 0 1 0 .894-1.789l-.894 1.789zM1 15H0a1 1 0 0 0 .553.894L1 15zm1-2.5a1 1 0 1 0-2 0h2zm12.553 2.606a1 1 0 1 0 .894 1.789l-.894-1.789zM17 15l.447.894A1 1 0 0 0 18 15h-1zm1-2.5a1 1 0 1 0-2 0h2zm-7.447-5.394l-2 1 .894 1.789 2-1-.894-1.789zm-1.106 1l-2-1-.894 1.789 2 1 .894-1.789zM8 9v2.5h2V9H8zm8.553-4.894l-2 1 .894 1.789 2-1-.894-1.789zm.894 0l-2-1-.894 1.789 2 1 .894-1.789zM16 5v2.5h2V5h-2zm-4.553-3.894l-2-1-.894 1.789 2 1 .894-1.789zm-2.894-1l-2 1 .894 1.789 2-1L8.553.106zM1.447 5.894l2-1-.894-1.789-2 1 .894 1.789zm-.894 0l2 1 .894-1.789-2-1-.894 1.789zM0 5v2.5h2V5H0zm9.447 13.106l-2-1-.894 1.789 2 1 .894-1.789zm0 1.789l2-1-.894-1.789-2 1 .894 1.789zM10 19v-2.5H8V19h2zm-6.553-3.894l-2-1-.894 1.789 2 1 .894-1.789zM2 15v-2.5H0V15h2zm13.447 1.894l2-1-.894-1.789-2 1 .894 1.789zM18 15v-2.5h-2V15h2z"
/>
</svg>
</template>
-12
View File
@@ -1,12 +0,0 @@
<template>
<svg
xmlns="http://www.w3.org/2000/svg"
width="20"
height="20"
fill="currentColor"
>
<path
d="M10 3.22l-.61-.6a5.5 5.5 0 0 0-7.666.105 5.5 5.5 0 0 0-.114 7.665L10 18.78l8.39-8.4a5.5 5.5 0 0 0-.114-7.665 5.5 5.5 0 0 0-7.666-.105l-.61.61z"
/>
</svg>
</template>
-19
View File
@@ -1,19 +0,0 @@
<!-- This icon is from <https://github.com/Templarian/MaterialDesign>, distributed under Apache 2.0 (https://www.apache.org/licenses/LICENSE-2.0) license-->
<template>
<svg
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
aria-hidden="true"
role="img"
class="iconify iconify--mdi"
width="24"
height="24"
preserveAspectRatio="xMidYMid meet"
viewBox="0 0 24 24"
>
<path
d="M20 18v-4h-3v1h-2v-1H9v1H7v-1H4v4h16M6.33 8l-1.74 4H7v-1h2v1h6v-1h2v1h2.41l-1.74-4H6.33M9 5v1h6V5H9m12.84 7.61c.1.22.16.48.16.8V18c0 .53-.21 1-.6 1.41c-.4.4-.85.59-1.4.59H4c-.55 0-1-.19-1.4-.59C2.21 19 2 18.53 2 18v-4.59c0-.32.06-.58.16-.8L4.5 7.22C4.84 6.41 5.45 6 6.33 6H7V5c0-.55.18-1 .57-1.41C7.96 3.2 8.44 3 9 3h6c.56 0 1.04.2 1.43.59c.39.41.57.86.57 1.41v1h.67c.88 0 1.49.41 1.83 1.22l2.34 5.39z"
fill="currentColor"
></path>
</svg>
</template>
+2
View File
@@ -1,11 +1,13 @@
import { createApp } from "vue";
import App from "./App.vue";
import router from "./router";
import { createPinia } from "pinia";
import "./assets/main.css";
const app = createApp(App);
app.use(router);
app.use(createPinia());
app.mount("#app");
+11
View File
@@ -0,0 +1,11 @@
export type Pix = {
pixKey: string;
merchantCity?: string;
merchantName?: string;
value?: number;
transactionId?: string;
message?: string;
cep?: string;
currency?: number;
countryCode?: string;
};
+2 -9
View File
@@ -1,5 +1,6 @@
import { createRouter, createWebHistory } from "vue-router";
import HomeView from "../views/HomeView.vue";
import QrCodeFormVue from "../views/QrCodeForm.vue";
const router = createRouter({
history: createWebHistory(import.meta.env.BASE_URL),
@@ -9,18 +10,10 @@ const router = createRouter({
name: "home",
component: HomeView,
},
{
path: "/about",
name: "about",
// route level code-splitting
// this generates a separate chunk (About.[hash].js) for this route
// which is lazy-loaded when the route is visited.
component: () => import("../views/AboutView.vue"),
},
{
path: "/pix",
name: "pix",
component: () => import("../views/QrCodeForm.vue"),
component: QrCodeFormVue,
},
],
});
+16
View File
@@ -0,0 +1,16 @@
import { defineStore } from "pinia";
export const useEtherStore = defineStore("ether", {
state: () => ({
walletAddress: "",
balance: "",
}),
actions: {
setWalletAddress(walletAddress: string) {
this.walletAddress = walletAddress;
},
setBalance(balance: string) {
this.balance = balance;
},
},
});
+3 -14
View File
@@ -1,18 +1,7 @@
import qrcode from "qrcode";
import type { QRCodeToDataURLOptions } from "qrcode";
import { crc16ccitt } from "crc";
interface PixParams {
pixKey: string;
merchantCity?: string;
merchantName?: string;
value?: number;
transactionId?: string;
message?: string;
cep?: string;
currency?: number;
countryCode?: string;
}
import { type Pix } from "@/model/Pix";
const pix = ({
pixKey,
@@ -24,7 +13,7 @@ const pix = ({
transactionId = "***",
currency = 986,
countryCode = "BR",
}: PixParams) => {
}: Pix) => {
const payloadKeyString = generatePixKey(pixKey, message);
const payload: string[] = [
@@ -84,4 +73,4 @@ const formatEMV = (id: string, param: string): string => {
return `${id}${len}${param}`;
};
export { type PixParams, pix };
export { pix };
+79
View File
@@ -0,0 +1,79 @@
import { useEtherStore } from "@/store/ether";
import { ethers } from "ethers";
// smart contract imports
import mockToken from "./smart_contract_files/MockToken.json";
//import p2pix from "./smart_contract_files/P2PIX.json";
import addresses from "./smart_contract_files/localhost.json";
const updateWalletStatus = async (walletAddress: string) => {
const etherStore = useEtherStore();
const provider = getProvider();
if (!provider) return;
const signer = provider.getSigner();
const contract = new ethers.Contract(addresses.token, mockToken.abi, signer);
const balance = await contract.balanceOf(walletAddress);
etherStore.setBalance(String(balance));
etherStore.setWalletAddress(walletAddress);
};
const connectProvider = async () => {
const etherStore = useEtherStore();
const window_ = window as any;
const connection = window_.ethereum;
let provider: ethers.providers.Web3Provider | null = null;
if (!connection) return;
provider = new ethers.providers.Web3Provider(connection);
const signer = provider.getSigner();
const contract = new ethers.Contract(addresses.token, mockToken.abi, signer);
const walletAddress = await provider.send("eth_requestAccounts", []);
const balance = await contract.balanceOf(walletAddress[0]);
etherStore.setWalletAddress(walletAddress[0]);
etherStore.setBalance(String(balance));
connection.on("accountsChanged", (accounts: string[]) => {
updateWalletStatus(accounts[0]);
});
};
const makeTransaction = async (
receiverAccountAddress = "0x70997970C51812dc3A010C7d01b50e0d17dc79C8",
ammount = "100.0"
) => {
const etherStore = useEtherStore();
const provider = getProvider();
if (!provider) return;
const signer = provider.getSigner();
const contract = new ethers.Contract(addresses.token, mockToken.abi, signer);
const tx = await contract.transfer(
receiverAccountAddress,
ethers.utils.parseEther(ammount)
);
await tx.wait();
updateWalletStatus(etherStore.walletAddress);
};
const formatEther = (balance: string) => {
const formatted = ethers.utils.formatEther(balance);
return formatted;
};
const getProvider = (): ethers.providers.Web3Provider | null => {
const window_ = window as any;
const connection = window_.ethereum;
if (!connection) return null;
return new ethers.providers.Web3Provider(connection);
};
export default { connectProvider, formatEther, makeTransaction };
@@ -0,0 +1,292 @@
{
"_format": "hh-sol-artifact-1",
"contractName": "MockToken",
"sourceName": "contracts/mockToken.sol",
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "supply",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "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": [],
"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": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "addedValue",
"type": "uint256"
}
],
"name": "increaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "symbol",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "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"
}
],
"bytecode": "0x60806040523480156200001157600080fd5b5060405162000b8d38038062000b8d83398101604081905262000034916200021d565b6040805180820182526007815266135bd8dad0949360ca1b6020808301918252835180850190945260048452631350949360e21b9084015281519192916200007f9160039162000177565b5080516200009590600490602084019062000177565b505050620000aa3382620000b160201b60201c565b506200029b565b6001600160a01b0382166200010c5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b806002600082825462000120919062000237565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b82805462000185906200025e565b90600052602060002090601f016020900481019282620001a95760008555620001f4565b82601f10620001c457805160ff1916838001178555620001f4565b82800160010185558215620001f4579182015b82811115620001f4578251825591602001919060010190620001d7565b506200020292915062000206565b5090565b5b8082111562000202576000815560010162000207565b6000602082840312156200023057600080fd5b5051919050565b600082198211156200025957634e487b7160e01b600052601160045260246000fd5b500190565b600181811c908216806200027357607f821691505b602082108114156200029557634e487b7160e01b600052602260045260246000fd5b50919050565b6108e280620002ab6000396000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c80633950935111610081578063a457c2d71161005b578063a457c2d714610187578063a9059cbb1461019a578063dd62ed3e146101ad57600080fd5b8063395093511461014357806370a082311461015657806395d89b411461017f57600080fd5b806318160ddd116100b257806318160ddd1461010f57806323b872dd14610121578063313ce5671461013457600080fd5b806306fdde03146100ce578063095ea7b3146100ec575b600080fd5b6100d66101e6565b6040516100e39190610748565b60405180910390f35b6100ff6100fa3660046107b9565b610278565b60405190151581526020016100e3565b6002545b6040519081526020016100e3565b6100ff61012f3660046107e3565b610290565b604051601281526020016100e3565b6100ff6101513660046107b9565b6102b4565b61011361016436600461081f565b6001600160a01b031660009081526020819052604090205490565b6100d66102f3565b6100ff6101953660046107b9565b610302565b6100ff6101a83660046107b9565b6103b1565b6101136101bb366004610841565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060600380546101f590610874565b80601f016020809104026020016040519081016040528092919081815260200182805461022190610874565b801561026e5780601f106102435761010080835404028352916020019161026e565b820191906000526020600020905b81548152906001019060200180831161025157829003601f168201915b5050505050905090565b6000336102868185856103bf565b5060019392505050565b60003361029e8582856104e3565b6102a9858585610575565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919061028690829086906102ee9087906108af565b6103bf565b6060600480546101f590610874565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190838110156103a45760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102a982868684036103bf565b600033610286818585610575565b6001600160a01b0383166104215760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161039b565b6001600160a01b0382166104825760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161039b565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03838116600090815260016020908152604080832093861683529290522054600019811461056f57818110156105625760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161039b565b61056f84848484036103bf565b50505050565b6001600160a01b0383166105f15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161039b565b6001600160a01b0382166106535760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161039b565b6001600160a01b038316600090815260208190526040902054818110156106e25760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e63650000000000000000000000000000000000000000000000000000606482015260840161039b565b6001600160a01b0384811660008181526020818152604080832087870390559387168083529184902080548701Line truncated
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100c95760003560e01c80633950935111610081578063a457c2d71161005b578063a457c2d714610187578063a9059cbb1461019a578063dd62ed3e146101ad57600080fd5b8063395093511461014357806370a082311461015657806395d89b411461017f57600080fd5b806318160ddd116100b257806318160ddd1461010f57806323b872dd14610121578063313ce5671461013457600080fd5b806306fdde03146100ce578063095ea7b3146100ec575b600080fd5b6100d66101e6565b6040516100e39190610748565b60405180910390f35b6100ff6100fa3660046107b9565b610278565b60405190151581526020016100e3565b6002545b6040519081526020016100e3565b6100ff61012f3660046107e3565b610290565b604051601281526020016100e3565b6100ff6101513660046107b9565b6102b4565b61011361016436600461081f565b6001600160a01b031660009081526020819052604090205490565b6100d66102f3565b6100ff6101953660046107b9565b610302565b6100ff6101a83660046107b9565b6103b1565b6101136101bb366004610841565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6060600380546101f590610874565b80601f016020809104026020016040519081016040528092919081815260200182805461022190610874565b801561026e5780601f106102435761010080835404028352916020019161026e565b820191906000526020600020905b81548152906001019060200180831161025157829003601f168201915b5050505050905090565b6000336102868185856103bf565b5060019392505050565b60003361029e8582856104e3565b6102a9858585610575565b506001949350505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490919061028690829086906102ee9087906108af565b6103bf565b6060600480546101f590610874565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909190838110156103a45760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6102a982868684036103bf565b600033610286818585610575565b6001600160a01b0383166104215760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161039b565b6001600160a01b0382166104825760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161039b565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03838116600090815260016020908152604080832093861683529290522054600019811461056f57818110156105625760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161039b565b61056f84848484036103bf565b50505050565b6001600160a01b0383166105f15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161039b565b6001600160a01b0382166106535760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161039b565b6001600160a01b038316600090815260208190526040902054818110156106e25760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e63650000000000000000000000000000000000000000000000000000606482015260840161039b565b6001600160a01b03848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a361056f565b600060208083528351808285015260005b8181101561077557858101830151858201604001528201610759565b81811115610787576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b03811681146107b457600080fd5b919050565b600080604083850312156107cc57600080fd5b6107d58361079d565b946020939093013593505050565b6000806000606084860312156107f857600080fd5b6108018461079d565b925061080f6020850161079d565b9150604084013590509250925092565b60006020828403121561083157600080fd5b61083a8261079d565b9392505050565b6000806040838503121561085457600080fd5b61085d8361079d565b915061086b6020840161079d565b90509250929050565b600181811c9082168061088857607f821691505b602082108114156108a957634e487b7160e01b600052602260045260246000fd5b50919050565b600082198211156108d057634e487b7160e01b600052601160045260246000fd5b50019056fea164736f6c6343000809000a",
"linkReferences": {},
"deployedLinkReferences": {}
}
+450
View File
@@ -0,0 +1,450 @@
{
"_format": "hh-sol-artifact-1",
"contractName": "P2PIX",
"sourceName": "contracts/p2pix.sol",
"abi": [
{
"inputs": [
{
"internalType": "uint256",
"name": "defaultBlocks",
"type": "uint256"
},
{
"internalType": "address[]",
"name": "validSigners",
"type": "address[]"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "seller",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "depositID",
"type": "uint256"
},
{
"indexed": false,
"internalType": "address",
"name": "token",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "premium",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "DepositAdded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "seller",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "depositID",
"type": "uint256"
}
],
"name": "DepositClosed",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "seller",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "depositID",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "DepositWithdrawn",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "buyer",
"type": "address"
},
{
"indexed": true,
"internalType": "bytes32",
"name": "lockID",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "uint256",
"name": "depositID",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "LockAdded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "buyer",
"type": "address"
},
{
"indexed": false,
"internalType": "bytes32",
"name": "lockId",
"type": "bytes32"
}
],
"name": "LockReleased",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "buyer",
"type": "address"
},
{
"indexed": false,
"internalType": "bytes32",
"name": "lockId",
"type": "bytes32"
}
],
"name": "LockReturned",
"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": false,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "PremiumsWithdrawn",
"type": "event"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "depositID",
"type": "uint256"
}
],
"name": "cancelDeposit",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "defaultLockBlocks",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "string",
"name": "pixTarget",
"type": "string"
}
],
"name": "deposit",
"outputs": [
{
"internalType": "uint256",
"name": "depositID",
"type": "uint256"
}
],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [],
"name": "depositCount",
"outputs": [
{
"internalType": "uint256",
"name": "_value",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "depositID",
"type": "uint256"
},
{
"internalType": "address",
"name": "targetAddress",
"type": "address"
},
{
"internalType": "address",
"name": "relayerAddress",
"type": "address"
},
{
"internalType": "uint256",
"name": "relayerPremium",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bytes32[]",
"name": "expiredLocks",
"type": "bytes32[]"
}
],
"name": "lock",
"outputs": [
{
"internalType": "bytes32",
"name": "lockID",
"type": "bytes32"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "lockID",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "pixTimestamp",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "r",
"type": "bytes32"
},
{
"internalType": "bytes32",
"name": "s",
"type": "bytes32"
},
{
"internalType": "uint8",
"name": "v",
"type": "uint8"
}
],
"name": "release",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32[]",
"name": "lockIDs",
"type": "bytes32[]"
}
],
"name": "unlockExpired",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "validBacenSigners",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "depositID",
"type": "uint256"
},
{
"internalType": "bytes32[]",
"name": "expiredLocks",
"type": "bytes32[]"
}
],
"name": "withdraw",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "withdrawPremiums",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x60806040523480156200001157600080fd5b506040516200197238038062001972833981016040819052620000349162000145565b6200003f33620000c2565b600282905560005b81518160ff161015620000b957600160036000848460ff168151811062000072576200007262000225565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580620000b0816200023b565b91505062000047565b5050506200026a565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052604160045260246000fd5b80516001600160a01b03811681146200014057600080fd5b919050565b600080604083850312156200015957600080fd5b8251602080850151919350906001600160401b03808211156200017b57600080fd5b818601915086601f8301126200019057600080fd5b815181811115620001a557620001a562000112565b8060051b604051601f19603f83011681018181108582111715620001cd57620001cd62000112565b604052918252848201925083810185019189831115620001ec57600080fd5b938501935b828510156200021557620002058562000128565b84529385019392850192620001f1565b8096505050505050509250929050565b634e487b7160e01b600052603260045260246000fd5b600060ff821660ff8114156200026157634e487b7160e01b600052601160045260246000fd5b60010192915050565b6116f8806200027a6000396000f3fe6080604052600436106100d25760003560e01c806372fada5c1161007f5780639872dbfe116100595780639872dbfe146101f5578063b93bd7d41461020b578063bfe07da61461024b578063f2fde38b1461025e57600080fd5b806372fada5c1461018d5780638da5cb5b146101ad5780638e2749d6146101d557600080fd5b80634e1389ed116100b05780634e1389ed146101435780636193cdfb14610163578063715018a61461017857600080fd5b806303aaf306146100d75780632dfdf0b51461010a5780633631797214610121575b600080fd5b3480156100e357600080fd5b506100f76100f2366004611345565b61027e565b6040519081526020015b60405180910390f35b34801561011657600080fd5b506001546100f79081565b34801561012d57600080fd5b5061014161013c3660046113c7565b610573565b005b34801561014f57600080fd5b5061014161015e366004611413565b610701565b34801561016f57600080fd5b50610141610b7c565b34801561018457600080fd5b50610141610bf0565b34801561019957600080fd5b506101416101a8366004611466565b610c04565b3480156101b957600080fd5b506000546040516001600160a01b039091168152602001610101565b3480156101e157600080fd5b506101416101f036600461147f565b610ce0565b34801561020157600080fd5b506100f760025481565b34801561021757600080fd5b5061023b6102263660046114c1565b60036020526000908152604090205460ff1681565b6040519015158152602001610101565b6100f76102593660046114e3565b610e62565b34801561026a57600080fd5b506101416102793660046114c1565b6110fd565b600061028a8383610ce0565b60008881526004602081905260409091209081015460ff166102f35760405162461bcd60e51b815260206004820181905260248201527f50325049583a204465706f736974206e6f742076616c696420616e796d6f726560448201526064015b60405180910390fd5b848160020154101561036d5760405162461bcd60e51b815260206004820152602c60248201527f50325049583a204e6f7420656e6f75676820746f6b656e2072656d61696e696e60448201527f67206f6e206465706f736974000000000000000000000000000000000000000060648201526084016102ea565b60408051602081018b9052908101869052606089811b6bffffffffffffffffffffffff1916908201526074016040516020818303038152906040528051906020012091504360056000848152602001908152602001600020600501541061043c5760405162461bcd60e51b815260206004820152603360248201527f50325049583a20416e6f74686572206c6f636b20776974682073616d6520494460448201527f206973206e6f742065787069726564207965740000000000000000000000000060648201526084016102ea565b60006040518060c001604052808b81526020018a6001600160a01b03168152602001896001600160a01b03168152602001888152602001878152602001600254436104879190611580565b9052600084815260056020818152604080842085518155918501516001830180546001600160a01b0392831673ffffffffffffffffffffffffffffffffffffffff199182161790915591860151600280850180549290931691909316179055606085015160038301556080850151600483015560a0850151919092015584018054929350889290919061051b908490611598565b9091555050604080518b81526020810188905284916001600160a01b038c16917f2a28b2ae47b0bd4b104e7cd29b1dfa72846af8c4cfdc009da2ae29db68cb67ea910160405180910390a35050979650505050505050565b60008381526004602052604090205483906001600160a01b031633146105f05760405162461bcd60e51b815260206004820152602c60248201527f50325049583a204f6e6c792073656c6c657220636f756c642063616c6c20746860448201526b34b990333ab731ba34b7b71760a11b60648201526084016102ea565b6105fa8383610ce0565b60008481526004602081905260409091209081015460ff16156106205761062085610c04565b60018101548154600283015460405163a9059cbb60e01b81526001600160a01b0392831660048201526024810191909152911690819063a9059cbb90604401602060405180830381600087803b15801561067957600080fd5b505af115801561068d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b191906115af565b506002820180546000909155604080518881526020810183905233917f7719804546c0185709e60c90d164447ff251a5ba29af0216faa921350f6bebf7910160405180910390a250505050505050565b60008581526005602081905260409091209081015443108015610728575060008160040154115b61079a5760405162461bcd60e51b81526020600482015260Line truncated
"deployedBytecode": "0x6080604052600436106100d25760003560e01c806372fada5c1161007f5780639872dbfe116100595780639872dbfe146101f5578063b93bd7d41461020b578063bfe07da61461024b578063f2fde38b1461025e57600080fd5b806372fada5c1461018d5780638da5cb5b146101ad5780638e2749d6146101d557600080fd5b80634e1389ed116100b05780634e1389ed146101435780636193cdfb14610163578063715018a61461017857600080fd5b806303aaf306146100d75780632dfdf0b51461010a5780633631797214610121575b600080fd5b3480156100e357600080fd5b506100f76100f2366004611345565b61027e565b6040519081526020015b60405180910390f35b34801561011657600080fd5b506001546100f79081565b34801561012d57600080fd5b5061014161013c3660046113c7565b610573565b005b34801561014f57600080fd5b5061014161015e366004611413565b610701565b34801561016f57600080fd5b50610141610b7c565b34801561018457600080fd5b50610141610bf0565b34801561019957600080fd5b506101416101a8366004611466565b610c04565b3480156101b957600080fd5b506000546040516001600160a01b039091168152602001610101565b3480156101e157600080fd5b506101416101f036600461147f565b610ce0565b34801561020157600080fd5b506100f760025481565b34801561021757600080fd5b5061023b6102263660046114c1565b60036020526000908152604090205460ff1681565b6040519015158152602001610101565b6100f76102593660046114e3565b610e62565b34801561026a57600080fd5b506101416102793660046114c1565b6110fd565b600061028a8383610ce0565b60008881526004602081905260409091209081015460ff166102f35760405162461bcd60e51b815260206004820181905260248201527f50325049583a204465706f736974206e6f742076616c696420616e796d6f726560448201526064015b60405180910390fd5b848160020154101561036d5760405162461bcd60e51b815260206004820152602c60248201527f50325049583a204e6f7420656e6f75676820746f6b656e2072656d61696e696e60448201527f67206f6e206465706f736974000000000000000000000000000000000000000060648201526084016102ea565b60408051602081018b9052908101869052606089811b6bffffffffffffffffffffffff1916908201526074016040516020818303038152906040528051906020012091504360056000848152602001908152602001600020600501541061043c5760405162461bcd60e51b815260206004820152603360248201527f50325049583a20416e6f74686572206c6f636b20776974682073616d6520494460448201527f206973206e6f742065787069726564207965740000000000000000000000000060648201526084016102ea565b60006040518060c001604052808b81526020018a6001600160a01b03168152602001896001600160a01b03168152602001888152602001878152602001600254436104879190611580565b9052600084815260056020818152604080842085518155918501516001830180546001600160a01b0392831673ffffffffffffffffffffffffffffffffffffffff199182161790915591860151600280850180549290931691909316179055606085015160038301556080850151600483015560a0850151919092015584018054929350889290919061051b908490611598565b9091555050604080518b81526020810188905284916001600160a01b038c16917f2a28b2ae47b0bd4b104e7cd29b1dfa72846af8c4cfdc009da2ae29db68cb67ea910160405180910390a35050979650505050505050565b60008381526004602052604090205483906001600160a01b031633146105f05760405162461bcd60e51b815260206004820152602c60248201527f50325049583a204f6e6c792073656c6c657220636f756c642063616c6c20746860448201526b34b990333ab731ba34b7b71760a11b60648201526084016102ea565b6105fa8383610ce0565b60008481526004602081905260409091209081015460ff16156106205761062085610c04565b60018101548154600283015460405163a9059cbb60e01b81526001600160a01b0392831660048201526024810191909152911690819063a9059cbb90604401602060405180830381600087803b15801561067957600080fd5b505af115801561068d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b191906115af565b506002820180546000909155604080518881526020810183905233917f7719804546c0185709e60c90d164447ff251a5ba29af0216faa921350f6bebf7910160405180910390a250505050505050565b60008581526005602081905260409091209081015443108015610728575060008160040154115b61079a5760405162461bcd60e51b815260206004820152602860248201527f50325049583a204c6f636b20616c72656164792072656c6561736564206f722060448201527f72657475726e656400000000000000000000000000000000000000000000000060648201526084016102ea565b805460009081526004602081815260408084209285015490519293926107c8926005860192918b910161160c565b60405160208183030381529060405280519060200120905060008160405160200161081f91907f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c810191909152603c0190565b60408051601f1981840301815291815281516020928301206000858152600690935291205490915060ff16156108bd5760405162461bcd60e51b815260206004820152603160248201527f50325049583a205472616e73616374696f6e20616c726561647920757365642060448201527f746f20756e6c6f636b207061796d656e7400000000000000000000000000000060648201526084016102ea565b6040805160008082526020820180845284905260ff881692820192909252606081018990526080810188905260019060a0016020604051602081039080840390855afa158015610911573d6000803e3d6000fd5b505060408051601f1901516001600160a01b03811660009081526003602052919091205490925060ff1690506109955760405162461bcd60e51b815260206004820152602360248201527f50325049583a205369676e6572206973206e6f7420612076616c6964207369676044820152623732b960e91b60648201526084016102ea565b60018085015490860154600387015460048801546001600160a01b039384169384Line truncated
"linkReferences": {},
"deployedLinkReferences": {}
}
@@ -0,0 +1,8 @@
{
"signers": [
"0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
"0x70997970C51812dc3A010C7d01b50e0d17dc79C8"
],
"p2pix": "0x5FbDB2315678afecb367f032d93F642f64180aa3",
"token": "0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512"
}
-15
View File
@@ -1,15 +0,0 @@
<template>
<div class="about">
<h1>This is an about page</h1>
</div>
</template>
<style>
@media (min-width: 1024px) {
.about {
min-height: 100vh;
display: flex;
align-items: center;
}
}
</style>
+2 -6
View File
@@ -1,9 +1,5 @@
<script setup lang="ts">
import TheWelcome from "../components/TheWelcome.vue";
</script>
<script setup lang="ts"></script>
<template>
<main>
<TheWelcome />
</main>
<h2 v-bind:hidden="true">Home View</h2>
</template>
+129 -131
View File
@@ -29,12 +29,8 @@ const submit = () => {
const pixQrCode = pix({
pixKey: pixModel.value.pixKey,
merchantName: pixModel.value.name.trim()
? pixModel.value.name
: "name",
merchantCity: pixModel.value.city.trim()
? pixModel.value.city
: "city",
merchantName: pixModel.value.name.trim() ? pixModel.value.name : "name",
merchantCity: pixModel.value.city.trim() ? pixModel.value.city : "city",
transactionId: pixModel.value.transactionId.trim()
? pixModel.value.transactionId
: "***",
@@ -53,145 +49,147 @@ const submit = () => {
</script>
<template>
<div class="container">
<h2 class="text-center font-bold text-emerald-50 text-2xl">
pixModel QR Code
</h2>
<form>
<div class="grid gap-4 grid-cols-1 p-2">
<div class="col-div">
<div class="mb-2">
<label for="pixKey" class="form-label">Chave PIX</label>
<span v-if="errors['pixRequiredError']" class="required-error"
>(Esse campo é obrigatório)</span
<div class="page">
<div class="form-container">
<h2 class="text-center font-bold text-emerald-50 text-2xl">
pixModel QR Code
</h2>
<form>
<div class="grid gap-4 grid-cols-1 p-2">
<div class="col-div">
<div class="mb-2">
<label for="pixKey" class="form-label">Chave PIX</label>
<span v-if="errors['pixRequiredError']" class="required-error"
>(Esse campo é obrigatório)</span
>
</div>
<input
type="text"
name="pixKey"
id="pixKey"
class="form-input"
v-model="pixModel.pixKey"
/>
</div>
<div class="col-div">
<div class="mb-2">
<label for="name" class="form-label">Nome do beneficiário</label>
<span v-if="errors['nameRequiredError']" class="required-error"
>(Esse campo é obrigatório)</span
>
</div>
<input
type="text"
name="name"
id="name"
class="form-input"
v-model="pixModel.name"
/>
</div>
<div class="col-div">
<div class="mb-2">
<label for="city" class="form-label"
>Cidade do beneficiário</label
>
<span v-if="errors['cityRequiredError']" class="required-error"
>(Esse campo é obrigatório)</span
>
</div>
<input
type="text"
name="city"
id="city"
class="form-input"
v-model="pixModel.city"
/>
</div>
<div class="col-div">
<label for="value" class="form-label"
>Valor de transferência (Opcional)</label
>
<input
type="number"
name="value"
id="value"
class="form-input"
v-model="pixModel.value"
/>
</div>
<input
type="text"
name="pixKey"
id="pixKey"
class="form-input"
v-model="pixModel.pixKey"
/>
</div>
<div class="col-div">
<div class="mb-2">
<label for="name" class="form-label">Nome do beneficiário</label>
<span v-if="errors['nameRequiredError']" class="required-error"
>(Esse campo é obrigatório)</span
<div class="col-div">
<label for="code" class="form-label"
>Código da transferência (Opcional)</label
>
<input
type="text"
name="code"
id="code"
class="form-input"
v-model="pixModel.transactionId"
/>
</div>
<input
type="text"
name="name"
id="name"
class="form-input"
v-model="pixModel.name"
/>
</div>
<div class="col-div">
<div class="mb-2">
<label for="city" class="form-label">Cidade do beneficiário</label>
<span v-if="errors['cityRequiredError']" class="required-error"
>(Esse campo é obrigatório)</span
>
<div class="col-div">
<label for="message" class="form-label">Mensagem (Opcional)</label>
<input
type="text"
name="message"
id="message"
class="form-input"
v-model="pixModel.message"
/>
</div>
<input
type="text"
name="city"
id="city"
class="form-input"
v-model="pixModel.city"
/>
</div>
<div class="col-div">
<label for="value" class="form-label"
>Valor de transferência (Opcional)</label
>
<input
type="number"
name="value"
id="value"
class="form-input"
v-model="pixModel.value"
/>
</div>
<div class="col-div">
<label for="code" class="form-label"
>Código da transferência (Opcional)</label
>
<input
type="text"
name="code"
id="code"
class="form-input"
v-model="pixModel.transactionId"
/>
</div>
<div class="col-div">
<label for="message" class="form-label">Mensagem (Opcional)</label>
<input
type="text"
name="message"
id="message"
class="form-input"
v-model="pixModel.message"
/>
</div>
<button type="button" class="button" @click="submit">
Gerar QR code
</button>
</div>
</form>
<div
v-if="toggleModal"
class="fixed overflow-x-hidden overflow-y-auto inset-0 flex justify-center items-center z-50"
>
<div class="relative mx-auto w-auto max-w-2xl">
<div
class="bg-white w-[500px] p-2 rounded shadow-2xl flex flex-col justify-center items-center gap-2"
>
<img v-if="qrCode != ''" :src="qrCode" alt="QR code image" />
<div>
<span class="text-black font-semibold mr-1">Chave pix:</span>
<span class="text-gray-700">{{ pixModel.pixKey }}</span>
</div>
<div v-if="pixModel.name.trim() != ''">
<span class="text-black font-semibold mr-1"
>Nome do Beneficiário:</span
>
<span class="text-gray-700">{{ pixModel.name }}</span>
</div>
<div v-if="pixModel.value != 0">
<span class="text-black font-semibold mr-1"
>Valor da transferência:</span
>
<span class="text-gray-700">{{ pixModel.value }}</span>
</div>
<div
class="flex flex-col w-auto break-all justify-center items-center"
>
<span class="text-black font-semibold mb-2">Código QR Code:</span>
<span class="text-gray-700">{{ qrCodePayload }}</span>
</div>
<button type="button" class="button" @click="toggleModal = false">
Fechar
<button type="button" class="button" @click="submit">
Gerar QR code
</button>
</div>
</form>
</div>
</div>
<div
v-if="toggleModal"
class="fixed overflow-x-hidden overflow-y-auto inset-0 flex justify-center items-center z-50"
>
<div class="relative mx-auto w-auto max-w-2xl">
<div
class="bg-white w-[500px] p-2 rounded shadow-2xl flex flex-col justify-center items-center gap-2"
>
<img v-if="qrCode != ''" :src="qrCode" alt="QR code image" />
<div>
<span class="text-black font-semibold mr-1">Chave pix:</span>
<span class="text-gray-700">{{ pixModel.pixKey }}</span>
</div>
<div v-if="pixModel.name.trim() != ''">
<span class="text-black font-semibold mr-1"
>Nome do Beneficiário:</span
>
<span class="text-gray-700">{{ pixModel.name }}</span>
</div>
<div v-if="pixModel.value != 0">
<span class="text-black font-semibold mr-1"
>Valor da transferência:</span
>
<span class="text-gray-700">{{ pixModel.value }}</span>
</div>
<div class="flex flex-col w-auto break-all justify-center items-center">
<span class="text-black font-semibold mb-2">Código QR Code:</span>
<span class="text-gray-700">{{ qrCodePayload }}</span>
</div>
<button type="button" class="button" @click="toggleModal = false">
Fechar
</button>
</div>
</div>
<div
v-if="toggleModal"
class="fixed z-40 inset-0 opacity-25 bg-black"
></div>
</div>
<div v-if="toggleModal" class="fixed z-40 inset-0 opacity-25 bg-black"></div>
</template>
<style scoped>
.container {
.page {
@apply mt-8 w-full flex justify-center self-center;
}
.form-container {
background-color: var(--color-background-indigo);
@apply rounded-md p-2 mt-8;
@apply rounded-md w-full p-2 w-1/2;
}
.col-div {
+473 -2
View File
@@ -294,6 +294,348 @@
minimatch "^3.1.2"
strip-json-comments "^3.1.1"
"@ethersproject/abi@5.7.0", "@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.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"
"@headlessui/vue@^1.7.3":
version "1.7.3"
resolved "https://registry.npmjs.org/@headlessui/vue/-/vue-1.7.3.tgz"
@@ -622,7 +964,7 @@
"@vue/compiler-dom" "3.2.41"
"@vue/shared" "3.2.41"
"@vue/devtools-api@^6.4.5":
"@vue/devtools-api@^6.4.4", "@vue/devtools-api@^6.4.5":
version "6.4.5"
resolved "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.4.5.tgz"
integrity sha512-JD5fcdIuFxU4fQyXUu3w2KpAJHzTVdN+p4iOX2lMWSHMOoQdMAcpFLZzm9Z/2nmsoZ1a96QEhZ26e50xLBsgOQ==
@@ -726,6 +1068,11 @@ acorn@^8.8.0:
resolved "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz"
integrity sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==
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==
ajv@^6.10.0, ajv@^6.12.4:
version "6.12.6"
resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz"
@@ -800,11 +1147,26 @@ base64-js@^1.3.1:
resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz"
integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
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==
binary-extensions@^2.0.0:
version "2.2.0"
resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz"
integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
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.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==
boolbase@^1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz"
@@ -832,6 +1194,11 @@ braces@^3.0.2, braces@~3.0.2:
dependencies:
fill-range "^7.0.1"
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==
browserslist@^4.21.3, browserslist@^4.21.4:
version "4.21.4"
resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz"
@@ -1073,6 +1440,19 @@ electron-to-chromium@^1.4.251:
resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz"
integrity sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==
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.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz"
@@ -1418,6 +1798,42 @@ esutils@^2.0.2:
resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz"
integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
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"
fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
version "3.1.3"
resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz"
@@ -1662,11 +2078,28 @@ has@^1.0.3:
dependencies:
function-bind "^1.1.1"
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==
dependencies:
inherits "^2.0.3"
minimalistic-assert "^1.0.1"
he@^1.2.0:
version "1.2.0"
resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz"
integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
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"
hosted-git-info@^2.1.4:
version "2.8.9"
resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz"
@@ -1708,7 +2141,7 @@ inflight@^1.0.4:
once "^1.3.0"
wrappy "1"
inherits@2:
inherits@2, inherits@^2.0.3, inherits@^2.0.4:
version "2.0.4"
resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
@@ -1853,6 +2286,11 @@ js-sdsl@^4.1.4:
resolved "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.5.tgz"
integrity sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==
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-tokens@^4.0.0:
version "4.0.0"
resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz"
@@ -1969,6 +2407,16 @@ micromatch@^4.0.4, micromatch@^4.0.5:
braces "^3.0.2"
picomatch "^2.3.1"
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.npmjs.org/minimatch/-/minimatch-3.1.2.tgz"
@@ -2214,6 +2662,14 @@ pify@^3.0.0:
resolved "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz"
integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==
pinia@^2.0.23:
version "2.0.23"
resolved "https://registry.yarnpkg.com/pinia/-/pinia-2.0.23.tgz#570f5f82160b656b412602789683faa95502d227"
integrity sha512-N15hFf4o5STrxpNrib1IEb1GOArvPYf1zPvQVRGOO1G1d74Ak0J0lVyalX/SmrzdT4Q0nlEFjbURsmBmIGUR5Q==
dependencies:
"@vue/devtools-api" "^6.4.4"
vue-demi "*"
pngjs@^5.0.0:
version "5.0.0"
resolved "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz"
@@ -2410,6 +2866,11 @@ safe-regex-test@^1.0.0:
get-intrinsic "^1.1.3"
is-regex "^1.1.4"
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==
"semver@2 || 3 || 4 || 5", semver@^5.5.0:
version "5.7.1"
resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz"
@@ -2718,6 +3179,11 @@ vite@^3.1.8:
optionalDependencies:
fsevents "~2.3.2"
vue-demi@*:
version "0.13.11"
resolved "https://registry.yarnpkg.com/vue-demi/-/vue-demi-0.13.11.tgz#7d90369bdae8974d87b1973564ad390182410d99"
integrity sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==
vue-eslint-parser@^9.0.0, vue-eslint-parser@^9.0.1:
version "9.1.0"
resolved "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.1.0.tgz"
@@ -2814,6 +3280,11 @@ wrappy@1:
resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
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==
xml-name-validator@^4.0.0:
version "4.0.0"
resolved "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz"