mirror of
https://github.com/selfxyz/self.git
synced 2026-04-27 03:01:15 -04:00
@@ -20,6 +20,7 @@
|
||||
"axios": "^1.1.3",
|
||||
"circom": "0.5.45",
|
||||
"dotenv": "^16.3.1",
|
||||
"ethers": "^6.6.4",
|
||||
"next": "12.3.1",
|
||||
"pg": "^8.11.1",
|
||||
"react": "18.2.0",
|
||||
|
||||
540
zkrsa/frontend/src/ProofOfBaguette.json
Normal file
540
zkrsa/frontend/src/ProofOfBaguette.json
Normal file
File diff suppressed because one or more lines are too long
@@ -20,8 +20,16 @@ import {
|
||||
Proof,
|
||||
PropsButtonExportProof,
|
||||
PropsButtonSearchPassport,
|
||||
PropsButtonMint,
|
||||
} from '../types';
|
||||
import bigInt from 'big-integer';
|
||||
import {
|
||||
useAccount,
|
||||
useContractWrite,
|
||||
usePrepareContractWrite,
|
||||
useSendTransaction,
|
||||
} from 'wagmi';
|
||||
import ProofOfBaguette from '../ProofOfBaguette.json';
|
||||
|
||||
const exp = '65537';
|
||||
const devHash = process.env['NEXT_PUBLIC_HASH'] as string | null;
|
||||
@@ -198,6 +206,51 @@ export const ButtonExportProof: FunctionComponent<PropsButtonExportProof> = ({
|
||||
);
|
||||
};
|
||||
|
||||
export const ButtonMint: FunctionComponent<PropsButtonMint> = ({
|
||||
proof,
|
||||
publicSignals,
|
||||
a,
|
||||
b,
|
||||
c,
|
||||
inputs,
|
||||
tx,
|
||||
}) => {
|
||||
const { address } = useAccount();
|
||||
const { data, isLoading, isSuccess, sendTransaction } = useSendTransaction({
|
||||
to: '0x64390f86E8986FEb2f0E2E38e9392d5eBa0d0C48',
|
||||
data: tx,
|
||||
});
|
||||
|
||||
useEffect(() => {
|
||||
console.log(proof);
|
||||
console.log(publicSignals);
|
||||
console.log(address);
|
||||
}, [address]);
|
||||
|
||||
const sendToChain = () => {
|
||||
try {
|
||||
sendTransaction();
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
};
|
||||
|
||||
return (
|
||||
<>
|
||||
{true ? (
|
||||
<div className="flex w-1/3 self-end">
|
||||
<button
|
||||
onClick={sendToChain}
|
||||
className="shadow-xl disabled:text-gray-400 disabled:border-gray-400 focus:outline-none text-beige font-work-sans border-2 rounded-lg border-beige hover:border-gold px-3 py-2"
|
||||
>
|
||||
Mint
|
||||
</button>
|
||||
</div>
|
||||
) : null}
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
export const ButtonSearchPassport: FunctionComponent<
|
||||
PropsButtonSearchPassport
|
||||
> = ({ passport, setHash, setSignature, setPublicKey }) => {
|
||||
|
||||
@@ -10,10 +10,11 @@ import {
|
||||
} from '@web3modal/ethereum';
|
||||
import { Web3Modal } from '@web3modal/react';
|
||||
import { configureChains, createConfig, WagmiConfig } from 'wagmi';
|
||||
import { arbitrum, mainnet, polygon } from 'wagmi/chains';
|
||||
import { arbitrum, mainnet, polygon, goerli } from 'wagmi/chains';
|
||||
|
||||
const chains = [mainnet];
|
||||
const projectId = '995f7eebe283b9908e661cf08b88b492';
|
||||
const chains = [goerli];
|
||||
// const projectId = "995f7eebe283b9908e661cf08b88b492";
|
||||
const projectId = '34a216df947456c22da1f6034129afa7';
|
||||
|
||||
const { publicClient } = configureChains(chains, [w3mProvider({ projectId })]);
|
||||
const wagmiConfig = createConfig({
|
||||
|
||||
@@ -4,6 +4,7 @@ import {
|
||||
ButtonGenerateProof,
|
||||
ButtonExportProof,
|
||||
ButtonSearchPassport,
|
||||
ButtonMint,
|
||||
} from '../components/Buttons';
|
||||
import {
|
||||
InputHash,
|
||||
@@ -14,6 +15,10 @@ import {
|
||||
import { NavMenu, Title, Description, Footer } from '../components/Navigation';
|
||||
import { PropsAppPage } from '../types';
|
||||
import { Web3Button } from '@web3modal/react';
|
||||
import { Contract, Interface, toBigInt, parseUnits } from 'ethers';
|
||||
import ProofOfBaguette from '../ProofOfBaguette.json';
|
||||
import { call } from 'viem/dist/types/actions/public/call';
|
||||
import bigInt from 'big-integer';
|
||||
|
||||
/**
|
||||
* @dev for exporting json proof and public signals data
|
||||
@@ -22,6 +27,29 @@ import { Web3Button } from '@web3modal/react';
|
||||
return this.toString();
|
||||
};
|
||||
|
||||
function p256(n: any) {
|
||||
let nstr = n.toString(16);
|
||||
while (nstr.length < 64) nstr = '0' + nstr;
|
||||
nstr = `"0x${nstr}"`;
|
||||
return nstr;
|
||||
}
|
||||
|
||||
function unstringifyBigInts(o: any): any {
|
||||
if (typeof o == 'string' && /^[0-9]+$/.test(o)) {
|
||||
return bigInt(o);
|
||||
} else if (Array.isArray(o)) {
|
||||
return o.map(unstringifyBigInts);
|
||||
} else if (typeof o == 'object') {
|
||||
const res: any = {};
|
||||
for (let k in o) {
|
||||
res[k] = unstringifyBigInts(o[k]);
|
||||
}
|
||||
return res;
|
||||
} else {
|
||||
return o;
|
||||
}
|
||||
}
|
||||
|
||||
const Home: NextPage<PropsAppPage> = ({
|
||||
proof,
|
||||
setproof,
|
||||
@@ -34,6 +62,296 @@ const Home: NextPage<PropsAppPage> = ({
|
||||
const [publicKey, setpublicKey] = useState<null | string>(null);
|
||||
const [publicSignals, setpublicSignals] = useState<null | any>(null); //
|
||||
const [compiledCircuit, setcompiledCircuit] = useState(null);
|
||||
const [a, setA] = useState<any>(undefined);
|
||||
const [b, setB] = useState<any>(undefined);
|
||||
const [c, setC] = useState<any>(undefined);
|
||||
const [inputs, setInputs] = useState<any>(undefined);
|
||||
const [tx, setTx] = useState<string>('');
|
||||
|
||||
const convertToCalldata = async () => {
|
||||
// const proof = unstringifyBigInts({
|
||||
// pi_a: [
|
||||
// '19287492320435483440704457394155277171350568551804065185119841485812565810082',
|
||||
// '3684562538256035356686194265585363354008612543358421635483534437426025891117',
|
||||
// '1',
|
||||
// ],
|
||||
// pi_b: [
|
||||
// [
|
||||
// '11055670746460836696159731062483614239524610460745056281780386167160325326636',
|
||||
// '2820701812791380870233869601400033565999744176272665088190485906290409159639',
|
||||
// ],
|
||||
// [
|
||||
// '4095435693621421431757230136783849695386191327789252894791688842209983968784',
|
||||
// '1111622903601858550456839182623484829182143016402851311503851728483637212792',
|
||||
// ],
|
||||
// ['1', '0'],
|
||||
// ],
|
||||
// pi_c: [
|
||||
// '9904673993391729395981527856105603527864541520723223317201726900543246149400',
|
||||
// '18822540632936788087711438859341594977533047180857712179269886168960479278995',
|
||||
// '1',
|
||||
// ],
|
||||
// protocol: 'groth',
|
||||
// });
|
||||
// const publicSignals = unstringifyBigInts([
|
||||
// '65537',
|
||||
// '0',
|
||||
// '0',
|
||||
// '0',
|
||||
// '0',
|
||||
// '0',
|
||||
// '0',
|
||||
// '0',
|
||||
// '0',
|
||||
// '0',
|
||||
// '0',
|
||||
// '0',
|
||||
// '0',
|
||||
// '0',
|
||||
// '0',
|
||||
// '0',
|
||||
// '0',
|
||||
// '0',
|
||||
// '0',
|
||||
// '0',
|
||||
// '0',
|
||||
// '0',
|
||||
// '0',
|
||||
// '0',
|
||||
// '0',
|
||||
// '0',
|
||||
// '0',
|
||||
// '0',
|
||||
// '0',
|
||||
// '0',
|
||||
// '0',
|
||||
// '0',
|
||||
// '1004979219314799894',
|
||||
// '6361443755252600907',
|
||||
// '6439012883494616023',
|
||||
// '9400879716815088139',
|
||||
// '17551897985575934811',
|
||||
// '11779273958797828281',
|
||||
// '2536315921873401485',
|
||||
// '3748173260178203981',
|
||||
// '12475215309213288577',
|
||||
// '6281117468118442715',
|
||||
// '1336292932993922350',
|
||||
// '14238156234566069988',
|
||||
// '11985045093510507012',
|
||||
// '3585865343992378960',
|
||||
// '16170829868787473084',
|
||||
// '17039645001628184779',
|
||||
// '486540501180074772',
|
||||
// '5061439412388381188',
|
||||
// '12478821212163933993',
|
||||
// '7430448406248319432',
|
||||
// '746345521572597865',
|
||||
// '5002454658692185142',
|
||||
// '3715069341922830389',
|
||||
// '11010599232161942094',
|
||||
// '1577500614971981868',
|
||||
// '13656226284809645063',
|
||||
// '3918261659477120323',
|
||||
// '5578832687955645075',
|
||||
// '3416933977282345392',
|
||||
// '15829829506526117610',
|
||||
// '17465616637242519010',
|
||||
// '6519177967447716150',
|
||||
// '9539992759301679521',
|
||||
// '1652651398804391575',
|
||||
// '7756096264856639170',
|
||||
// '15028348881266521487',
|
||||
// '13451582891670014060',
|
||||
// '11697656644529425980',
|
||||
// '14590137142310897374',
|
||||
// '1172377360308996086',
|
||||
// '6389592621616098288',
|
||||
// '6767780215543232436',
|
||||
// '11347756978427069433',
|
||||
// '2593119277386338350',
|
||||
// '18385617576997885505',
|
||||
// '14960211320702750252',
|
||||
// '8706817324429498800',
|
||||
// '15168543370367053559',
|
||||
// '8708916123725550363',
|
||||
// '18006178692029805686',
|
||||
// '6398208271038376723',
|
||||
// '15000821494077560096',
|
||||
// '17674982305626887153',
|
||||
// '2867958270953137726',
|
||||
// '9287774520059158342',
|
||||
// '9813100051910281130',
|
||||
// '13494313215150203208',
|
||||
// '7792741716144106392',
|
||||
// '6553490305289731807',
|
||||
// '32268224696386820',
|
||||
// '15737886769048580611',
|
||||
// '669518601007982974',
|
||||
// '11424760966478363403',
|
||||
// '16073833083611347461',
|
||||
// '897585614395172552642670145532424661022951192962',
|
||||
// ]);
|
||||
// let inputs = '';
|
||||
// for (let i = 0; i < publicSignals.length; i++) {
|
||||
// if (inputs != '') inputs = inputs + ',';
|
||||
// inputs = inputs + p256(publicSignals[i]);
|
||||
// }
|
||||
|
||||
// let S;
|
||||
|
||||
// S =
|
||||
// `{"a": [${p256(proof.pi_a[0])}, ${p256(proof.pi_a[1])}],` +
|
||||
// `"b": [[${p256(proof.pi_b[0][1])}, ${p256(
|
||||
// proof.pi_b[0][0]
|
||||
// )}],[${p256(proof.pi_b[1][1])}, ${p256(proof.pi_b[1][0])}]],` +
|
||||
// `"c": [${p256(proof.pi_c[0])}, ${p256(proof.pi_c[1])}],` +
|
||||
// `"inputs": [${inputs}]}`;
|
||||
|
||||
const exampleCorrectProof = {
|
||||
a: [
|
||||
'0x0c7141194fa7a5a26dd3834bd9490908286e3c772dcaecca314b74a58a222642',
|
||||
'0x0494611f581503a05ebd4e8fe17e9c7ec05a0c022081bbe6115a6bf8afcd8c19',
|
||||
],
|
||||
b: [
|
||||
[
|
||||
'0x01b8ab498c66a313e3320b0a65d94ab35e4be73616a56b33685415e5b312cb57',
|
||||
'0x071417e130b6f8c45cee4644adbb90ae62c542ec26fa83377b86fadfe737cddc',
|
||||
],
|
||||
[
|
||||
'0x2d991227175693d047f1e976af6986a58aa313d75677a0e70939b3ddb1912df2',
|
||||
'0x1326e7a60a10320b5477d3bbc824121d1cbf2381293a09bf82ff5418897d7706',
|
||||
],
|
||||
],
|
||||
c: [
|
||||
'0x19912bf5bfee2e72d3cc357fa6b94741ba70bb9e25ca72922cc23cef79adab68',
|
||||
'0x1dc4caae04391e8d72f288970e195f1d317476a1890977083d8db832c5a6552a',
|
||||
],
|
||||
input: [
|
||||
'0x0000000000000000000000000000000000000000000000000000000000010001',
|
||||
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
||||
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
||||
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
||||
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
||||
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
||||
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
||||
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
||||
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
||||
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
||||
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
||||
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
||||
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
||||
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
||||
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
||||
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
||||
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
||||
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
||||
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
||||
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
||||
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
||||
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
||||
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
||||
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
||||
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
||||
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
||||
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
||||
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
||||
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
||||
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
||||
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
||||
'0x0000000000000000000000000000000000000000000000000000000000000000',
|
||||
'0x0000000000000000000000000000000000000000000000000df267467de87516',
|
||||
'0x000000000000000000000000000000000000000000000000584863641a75504b',
|
||||
'0x000000000000000000000000000000000000000000000000595bf81a28dc3bd7',
|
||||
'0x0000000000000000000000000000000000000000000000008276a24b60f02a0b',
|
||||
'0x000000000000000000000000000000000000000000000000f394de395425db5b',
|
||||
'0x000000000000000000000000000000000000000000000000a37863419a2760b9',
|
||||
'0x0000000000000000000000000000000000000000000000002332cde4996e768d',
|
||||
'0x00000000000000000000000000000000000000000000000034042fb8b18a254d',
|
||||
'0x000000000000000000000000000000000000000000000000ad20de3a2a2c4881',
|
||||
'0x000000000000000000000000000000000000000000000000572b030ef7b362db',
|
||||
'0x000000000000000000000000000000000000000000000000128b7757b2f7b52e',
|
||||
'0x000000000000000000000000000000000000000000000000c59817a889d2eee4',
|
||||
'0x000000000000000000000000000000000000000000000000a6536f0357bb6a04',
|
||||
'0x00000000000000000000000000000000000000000000000031c38d88190cb650',
|
||||
'0x000000000000000000000000000000000000000000000000e06a5416c45a9abc',
|
||||
'0x000000000000000000000000000000000000000000000000ec78fad95ccef0cb',
|
||||
'0x00000000000000000000000000000000000000000000000006c08a020dadcb14',
|
||||
'0x000000000000000000000000000000000000000000000000463dd85433924204',
|
||||
'0x000000000000000000000000000000000000000000000000ad2dadc6dea40729',
|
||||
'0x000000000000000000000000000000000000000000000000671e4175104c69c8',
|
||||
'0x0000000000000000000000000000000000000000000000000a5b8d4c2d09d069',
|
||||
'0x000000000000000000000000000000000000000000000000456c4a0208587c36',
|
||||
'0x000000000000000000000000000000000000000000000000338e93e219412835',
|
||||
'0x00000000000000000000000000000000000000000000000098cd81aa3d338a4e',
|
||||
'0x00000000000000000000000000000000000000000000000015e468738c5d802c',
|
||||
'0x000000000000000000000000000000000000000000000000bd84a973c66e6c07',
|
||||
'0x000000000000000000000000000000000000000000000000366076382e2a9543',
|
||||
'0x0000000000000000000000000000000000000000000000004d6bfec592ef1293',
|
||||
'0x0000000000000000000000000000000000000000000000002f6b635940e079b0',
|
||||
'0x000000000000000000000000000000000000000000000000dbaeda10ef7c7eea',
|
||||
'0x000000000000000000000000000000000000000000000000f26255cb75fe2de2',
|
||||
'0x0000000000000000000000000000000000000000000000005a78c5d241463136',
|
||||
'0x0000000000000000000000000000000000000000000000008464dcde99f9a9a1',
|
||||
'0x00000000000000000000000000000000000000000000000016ef65b0eb49c697',
|
||||
'0x0000000000000000000000000000000000000000000000006ba33075968396c2',
|
||||
'0x000000000000000000000000000000000000000000000000d08f6baf1487b58f',
|
||||
'0x000000000000000000000000000000000000000000000000baad9f5ed4b6886c',
|
||||
'0x000000000000000000000000000000000000000000000000a2566cbdc9aa0e3c',
|
||||
'0x000000000000000000000000000000000000000000000000ca7a946dd7ac86de',
|
||||
'0x00000000000000000000000000000000000000000000000010451eff67ed87f6',
|
||||
'0x00000000000000000000000000000000000000000000000058ac64a2c6e26bf0',
|
||||
'0x0000000000000000000000000000000000000000000000005debfc3fb15ef7b4',
|
||||
'0x0000000000000000000000000000000000000000000000009d7b54d9509b03f9',
|
||||
'0x00000000000000000000000000000000000000000000000023fc9c3e6cd4902e',
|
||||
'0x000000000000000000000000000000000000000000000000ff26d5c66d231641',
|
||||
'0x000000000000000000000000000000000000000000000000cf9d58eeff43ce2c',
|
||||
'0x00000000000000000000000000000000000000000000000078d4d439d2d659b0',
|
||||
'0x000000000000000000000000000000000000000000000000d2817dd436d5aef7',
|
||||
'0x00000000000000000000000000000000000000000000000078dc49129d55531b',
|
||||
'0x000000000000000000000000000000000000000000000000f9e2cc1e9ca4f476',
|
||||
'0x00000000000000000000000000000000000000000000000058cb0085fa356b13',
|
||||
'0x000000000000000000000000000000000000000000000000d02d9fabcd899520',
|
||||
'0x000000000000000000000000000000000000000000000000f54a26c2ca3493f1',
|
||||
'0x00000000000000000000000000000000000000000000000027cd08da32ce263e',
|
||||
'0x00000000000000000000000000000000000000000000000080e4cdb79e0cdf46',
|
||||
'0x000000000000000000000000000000000000000000000000882f2281537ac7aa',
|
||||
'0x000000000000000000000000000000000000000000000000bb456e5f8ce32148',
|
||||
'0x0000000000000000000000000000000000000000000000006c25614d99232b98',
|
||||
'0x0000000000000000000000000000000000000000000000005af2acb5f5c2bedf',
|
||||
'0x0000000000000000000000000000000000000000000000000072a3c7868f8504',
|
||||
'0x000000000000000000000000000000000000000000000000da6834a23075f203',
|
||||
'0x000000000000000000000000000000000000000000000000094a9b9ecf98e97e',
|
||||
'0x0000000000000000000000000000000000000000000000009e8ce7916ab0fb0b',
|
||||
'0x000000000000000000000000000000000000000000000000df11ba06d7937a05',
|
||||
'0x00000000000000000000000070997970c51812dc3a010c7d01b50e0d17dc79c8',
|
||||
],
|
||||
};
|
||||
|
||||
// const calldata = JSON.parse(S);
|
||||
const calldata = exampleCorrectProof;
|
||||
console.log(calldata);
|
||||
|
||||
let bigstr = `0x3723d14a${calldata.a[0].substring(
|
||||
2
|
||||
)}${calldata.a[1].substring(2)}${calldata.b[0][0].substring(
|
||||
2
|
||||
)}${calldata.b[0][1].substring(2)}${calldata.b[1][0].substring(
|
||||
2
|
||||
)}${calldata.b[1][1].substring(2)}${calldata.c[0].substring(
|
||||
2
|
||||
)}${calldata.c[1].substring(2)}${calldata.input
|
||||
.map((x: any) => x.substring(2))
|
||||
.join('')}`;
|
||||
|
||||
console.log('Transaction data:');
|
||||
console.log(bigstr);
|
||||
setTx(bigstr);
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
if (hash) convertToCalldata();
|
||||
}, [hash]);
|
||||
|
||||
// TODO : set the right address. For now, mine hardcoded
|
||||
const [address, setAddress] = useState(
|
||||
@@ -88,11 +406,16 @@ const Home: NextPage<PropsAppPage> = ({
|
||||
publicKey={publicKey}
|
||||
setproof={setproof}
|
||||
></ButtonGenerateProof>
|
||||
{proof ? (
|
||||
<ButtonExportProof
|
||||
{tx ? (
|
||||
<ButtonMint
|
||||
publicSignals={publicSignals}
|
||||
proof={proof}
|
||||
></ButtonExportProof>
|
||||
a={a}
|
||||
b={b}
|
||||
c={c}
|
||||
inputs={inputs}
|
||||
tx={tx}
|
||||
></ButtonMint>
|
||||
) : null}
|
||||
</div>
|
||||
<Footer></Footer>
|
||||
|
||||
@@ -47,6 +47,16 @@ export interface PropsButtonExportProof {
|
||||
publicSignals: any;
|
||||
}
|
||||
|
||||
export interface PropsButtonMint {
|
||||
proof: any;
|
||||
publicSignals: any;
|
||||
a: any;
|
||||
b: any;
|
||||
c: any;
|
||||
inputs: any;
|
||||
tx: any;
|
||||
}
|
||||
|
||||
export interface PropsButtonSearchPassport {
|
||||
passport: string;
|
||||
setHash: Dispatch<SetStateAction<string | null>>;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "es5",
|
||||
"target": "es2020",
|
||||
"lib": ["dom", "dom.iterable", "esnext"],
|
||||
"allowJs": true,
|
||||
"skipLibCheck": true,
|
||||
|
||||
@@ -12,6 +12,11 @@
|
||||
resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.9.0.tgz#223572538f6bea336750039bb43a4016dcc8182d"
|
||||
integrity sha512-iowxq3U30sghZotgl4s/oJRci6WPBfNO5YYgk2cIOMCHr3LeGPcsZjCEr+33Q4N+oV3OABDAtA+pyvWjbvBifQ==
|
||||
|
||||
"@adraffy/ens-normalize@1.9.2":
|
||||
version "1.9.2"
|
||||
resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.9.2.tgz#60111a5d9db45b2e5cbb6231b0bb8d97e8659316"
|
||||
integrity sha512-0h+FrQDqe2Wn+IIGFkTCd4aAwTJ+7834Ek1COohCyV26AXhwQ7WQaz+4F/nLOeVl/3BtWHOHLPsq46V8YB46Eg==
|
||||
|
||||
"@ampproject/remapping@^2.1.0":
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d"
|
||||
@@ -1097,6 +1102,11 @@
|
||||
dependencies:
|
||||
"@noble/hashes" "1.3.1"
|
||||
|
||||
"@noble/hashes@1.1.2":
|
||||
version "1.1.2"
|
||||
resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.1.2.tgz#e9e035b9b166ca0af657a7848eb2718f0f22f183"
|
||||
integrity sha512-KYRCASVTv6aeUi1tsF8/vpyR7zpfs3FUzy2Jqm+MU+LmUKhQ0y2FpfwqkCcxSg2ua4GALJd8k2R76WxwZGbQpA==
|
||||
|
||||
"@noble/hashes@1.3.0":
|
||||
version "1.3.0"
|
||||
resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.0.tgz#085fd70f6d7d9d109671090ccae1d3bec62554a1"
|
||||
@@ -1107,6 +1117,11 @@
|
||||
resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.1.tgz#8831ef002114670c603c458ab8b11328406953a9"
|
||||
integrity sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA==
|
||||
|
||||
"@noble/secp256k1@1.7.1":
|
||||
version "1.7.1"
|
||||
resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.7.1.tgz#b251c70f824ce3ca7f8dc3df08d58f005cc0507c"
|
||||
integrity sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==
|
||||
|
||||
"@nodelib/fs.scandir@2.1.5":
|
||||
version "2.1.5"
|
||||
resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
|
||||
@@ -1614,6 +1629,11 @@
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.9.tgz#02d013de7058cea16d36168ef2fc653464cfbad4"
|
||||
integrity sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==
|
||||
|
||||
"@types/node@18.15.13":
|
||||
version "18.15.13"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.13.tgz#f64277c341150c979e42b00e4ac289290c9df469"
|
||||
integrity sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==
|
||||
|
||||
"@types/node@18.8.0":
|
||||
version "18.8.0"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-18.8.0.tgz#b8ee8d83a99470c0661bd899417fcd77060682fe"
|
||||
@@ -2281,6 +2301,11 @@ acorn@^8.8.0:
|
||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8"
|
||||
integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==
|
||||
|
||||
aes-js@4.0.0-beta.5:
|
||||
version "4.0.0-beta.5"
|
||||
resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-4.0.0-beta.5.tgz#8d2452c52adedebc3a3e28465d858c11ca315873"
|
||||
integrity sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==
|
||||
|
||||
aes-js@^3.1.2:
|
||||
version "3.1.2"
|
||||
resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.1.2.tgz#db9aabde85d5caabbfc0d4f2a4446960f627146a"
|
||||
@@ -4068,6 +4093,19 @@ eth-rpc-errors@^4.0.2:
|
||||
dependencies:
|
||||
fast-safe-stringify "^2.0.6"
|
||||
|
||||
ethers@^6.6.4:
|
||||
version "6.6.4"
|
||||
resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.6.4.tgz#f03a86effcd55e82aed96a2fb9a56a9febd3e3d5"
|
||||
integrity sha512-r3myN2hEnydmu23iiIj5kjWnCh5JNzlqrE/z+Kw5UqH173F+JOWzU6qkFB4HVC50epgxzKSL2Hq1oNXA877vwQ==
|
||||
dependencies:
|
||||
"@adraffy/ens-normalize" "1.9.2"
|
||||
"@noble/hashes" "1.1.2"
|
||||
"@noble/secp256k1" "1.7.1"
|
||||
"@types/node" "18.15.13"
|
||||
aes-js "4.0.0-beta.5"
|
||||
tslib "2.4.0"
|
||||
ws "8.5.0"
|
||||
|
||||
eventemitter3@^4.0.7:
|
||||
version "4.0.7"
|
||||
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f"
|
||||
@@ -8297,16 +8335,16 @@ tslib@1.14.1, tslib@^1.8.1, tslib@^1.9.0:
|
||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
|
||||
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
|
||||
|
||||
tslib@2.4.0, tslib@^2.4.0:
|
||||
version "2.4.0"
|
||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3"
|
||||
integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==
|
||||
|
||||
tslib@^2.0.0, tslib@^2.3.1:
|
||||
version "2.6.0"
|
||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.0.tgz#b295854684dbda164e181d259a22cd779dcd7bc3"
|
||||
integrity sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==
|
||||
|
||||
tslib@^2.4.0:
|
||||
version "2.4.0"
|
||||
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3"
|
||||
integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==
|
||||
|
||||
tsutils@^3.21.0:
|
||||
version "3.21.0"
|
||||
resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623"
|
||||
@@ -8793,6 +8831,11 @@ ws@8.12.0:
|
||||
resolved "https://registry.yarnpkg.com/ws/-/ws-8.12.0.tgz#485074cc392689da78e1828a9ff23585e06cddd8"
|
||||
integrity sha512-kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig==
|
||||
|
||||
ws@8.5.0:
|
||||
version "8.5.0"
|
||||
resolved "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz#bfb4be96600757fe5382de12c670dab984a1ed4f"
|
||||
integrity sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==
|
||||
|
||||
ws@^7.3.1, ws@^7.4.5, ws@^7.5.1:
|
||||
version "7.5.9"
|
||||
resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591"
|
||||
|
||||
Reference in New Issue
Block a user