From b15db8278969aa3ad4afea03c536b790a6b9e583 Mon Sep 17 00:00:00 2001
From: Anthony Graignic <anthony.graignic@uca.fr>
Date: Thu, 27 Apr 2023 16:39:03 +0200
Subject: [PATCH 1/2] Add todo in homepage

---
 src/routes/+page.svelte | 25 +++++++++++++++++++++++--
 1 file changed, 23 insertions(+), 2 deletions(-)

diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte
index 866066e..0f97f5a 100644
--- a/src/routes/+page.svelte
+++ b/src/routes/+page.svelte
@@ -7,13 +7,34 @@
 	/>
 </svelte:head>
 
-<div class="flex flex-col items-center my-40">
+<div class="flex flex-col my-40 mx-4">
 	<button
 		type="button"
-		class="text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm w-full sm:w-auto px-5 py-2.5 text-center dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"
+		class="self-center text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm w-full sm:w-auto px-5 py-2.5 text-center dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"
 		>Connect</button
 	>
+	<div>
+		<h1>TODO:</h1>
+		<p>- Connect wallet</p>
+		<p>- Change network (and its ID)</p>
+		<p>- Setup RPC url</p>
+		<p>- Setup block explorer ?!?</p>
+	</div>
+	<div class="mt-2">
+		<h2>Transactions</h2>
+		<p>(should work out of the box in eth Wallet ?!?)</p>
+	</div>
+	<div class="mt-2">
+		<h2>Behaviors</h2>
+		<p>- Send a behavior</p>
+	</div>
 </div>
 
 <style lang="postcss">
+	h1 {
+		@apply text-3xl font-bold;
+	}
+	h2 {
+		@apply text-2xl font-bold;
+	}
 </style>
-- 
GitLab


From bb22a893b6817fc0fe60afa42fc1fa794420b348 Mon Sep 17 00:00:00 2001
From: Anthony Graignic <anthony.graignic@uca.fr>
Date: Tue, 2 May 2023 17:07:59 +0200
Subject: [PATCH 2/2] Add web3-onboard and testnets config

---
 package-lock.json                       | 2392 ++++++++++++++++++++++-
 package.json                            |    8 +-
 src/lib/assets/logo.svg                 |    3 +
 src/lib/components/ConnectButton.svelte |   34 +
 src/lib/web3-onboard.ts                 |   53 +
 src/routes/+page.svelte                 |   13 +-
 6 files changed, 2395 insertions(+), 108 deletions(-)
 create mode 100644 src/lib/assets/logo.svg
 create mode 100644 src/lib/components/ConnectButton.svelte
 create mode 100644 src/lib/web3-onboard.ts

diff --git a/package-lock.json b/package-lock.json
index ee31e56..352ff4a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -7,6 +7,10 @@
 		"": {
 			"name": "example-app",
 			"version": "0.0.1",
+			"dependencies": {
+				"@web3-onboard/core": "^2.17.0",
+				"@web3-onboard/injected-wallets": "^2.8.5"
+			},
 			"devDependencies": {
 				"@playwright/test": "^1.28.1",
 				"@sveltejs/adapter-auto": "^2.0.0",
@@ -373,80 +377,806 @@
 			"os": [
 				"win32"
 			],
-			"engines": {
-				"node": ">=12"
+			"engines": {
+				"node": ">=12"
+			}
+		},
+		"node_modules/@esbuild/win32-x64": {
+			"version": "0.17.18",
+			"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.18.tgz",
+			"integrity": "sha512-qU25Ma1I3NqTSHJUOKi9sAH1/Mzuvlke0ioMJRthLXKm7JiSKVwFghlGbDLOO2sARECGhja4xYfRAZNPAkooYg==",
+			"cpu": [
+				"x64"
+			],
+			"dev": true,
+			"optional": true,
+			"os": [
+				"win32"
+			],
+			"engines": {
+				"node": ">=12"
+			}
+		},
+		"node_modules/@eslint-community/eslint-utils": {
+			"version": "4.4.0",
+			"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
+			"integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
+			"dev": true,
+			"dependencies": {
+				"eslint-visitor-keys": "^3.3.0"
+			},
+			"engines": {
+				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+			},
+			"peerDependencies": {
+				"eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
+			}
+		},
+		"node_modules/@eslint-community/regexpp": {
+			"version": "4.5.0",
+			"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.0.tgz",
+			"integrity": "sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==",
+			"dev": true,
+			"engines": {
+				"node": "^12.0.0 || ^14.0.0 || >=16.0.0"
+			}
+		},
+		"node_modules/@eslint/eslintrc": {
+			"version": "2.0.2",
+			"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.2.tgz",
+			"integrity": "sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==",
+			"dev": true,
+			"dependencies": {
+				"ajv": "^6.12.4",
+				"debug": "^4.3.2",
+				"espree": "^9.5.1",
+				"globals": "^13.19.0",
+				"ignore": "^5.2.0",
+				"import-fresh": "^3.2.1",
+				"js-yaml": "^4.1.0",
+				"minimatch": "^3.1.2",
+				"strip-json-comments": "^3.1.1"
+			},
+			"engines": {
+				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+			},
+			"funding": {
+				"url": "https://opencollective.com/eslint"
+			}
+		},
+		"node_modules/@eslint/js": {
+			"version": "8.39.0",
+			"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.39.0.tgz",
+			"integrity": "sha512-kf9RB0Fg7NZfap83B3QOqOGg9QmD9yBudqQXzzOtn3i4y7ZUXe5ONeW34Gwi+TxhH4mvj72R1Zc300KUMa9Bng==",
+			"dev": true,
+			"engines": {
+				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+			}
+		},
+		"node_modules/@ethersproject/abi": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.5.0.tgz",
+			"integrity": "sha512-loW7I4AohP5KycATvc0MgujU6JyCHPqHdeoo9z3Nr9xEiNioxa65ccdm1+fsoJhkuhdRtfcL8cfyGamz2AxZ5w==",
+			"funding": [
+				{
+					"type": "individual",
+					"url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
+				},
+				{
+					"type": "individual",
+					"url": "https://www.buymeacoffee.com/ricmoo"
+				}
+			],
+			"dependencies": {
+				"@ethersproject/address": "^5.5.0",
+				"@ethersproject/bignumber": "^5.5.0",
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/constants": "^5.5.0",
+				"@ethersproject/hash": "^5.5.0",
+				"@ethersproject/keccak256": "^5.5.0",
+				"@ethersproject/logger": "^5.5.0",
+				"@ethersproject/properties": "^5.5.0",
+				"@ethersproject/strings": "^5.5.0"
+			}
+		},
+		"node_modules/@ethersproject/abstract-provider": {
+			"version": "5.5.1",
+			"resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.5.1.tgz",
+			"integrity": "sha512-m+MA/ful6eKbxpr99xUYeRvLkfnlqzrF8SZ46d/xFB1A7ZVknYc/sXJG0RcufF52Qn2jeFj1hhcoQ7IXjNKUqg==",
+			"funding": [
+				{
+					"type": "individual",
+					"url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
+				},
+				{
+					"type": "individual",
+					"url": "https://www.buymeacoffee.com/ricmoo"
+				}
+			],
+			"dependencies": {
+				"@ethersproject/bignumber": "^5.5.0",
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/logger": "^5.5.0",
+				"@ethersproject/networks": "^5.5.0",
+				"@ethersproject/properties": "^5.5.0",
+				"@ethersproject/transactions": "^5.5.0",
+				"@ethersproject/web": "^5.5.0"
+			}
+		},
+		"node_modules/@ethersproject/abstract-signer": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.5.0.tgz",
+			"integrity": "sha512-lj//7r250MXVLKI7sVarXAbZXbv9P50lgmJQGr2/is82EwEb8r7HrxsmMqAjTsztMYy7ohrIhGMIml+Gx4D3mA==",
+			"funding": [
+				{
+					"type": "individual",
+					"url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
+				},
+				{
+					"type": "individual",
+					"url": "https://www.buymeacoffee.com/ricmoo"
+				}
+			],
+			"dependencies": {
+				"@ethersproject/abstract-provider": "^5.5.0",
+				"@ethersproject/bignumber": "^5.5.0",
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/logger": "^5.5.0",
+				"@ethersproject/properties": "^5.5.0"
+			}
+		},
+		"node_modules/@ethersproject/address": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.5.0.tgz",
+			"integrity": "sha512-l4Nj0eWlTUh6ro5IbPTgbpT4wRbdH5l8CQf7icF7sb/SI3Nhd9Y9HzhonTSTi6CefI0necIw7LJqQPopPLZyWw==",
+			"funding": [
+				{
+					"type": "individual",
+					"url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
+				},
+				{
+					"type": "individual",
+					"url": "https://www.buymeacoffee.com/ricmoo"
+				}
+			],
+			"dependencies": {
+				"@ethersproject/bignumber": "^5.5.0",
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/keccak256": "^5.5.0",
+				"@ethersproject/logger": "^5.5.0",
+				"@ethersproject/rlp": "^5.5.0"
+			}
+		},
+		"node_modules/@ethersproject/base64": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.5.0.tgz",
+			"integrity": "sha512-tdayUKhU1ljrlHzEWbStXazDpsx4eg1dBXUSI6+mHlYklOXoXF6lZvw8tnD6oVaWfnMxAgRSKROg3cVKtCcppA==",
+			"funding": [
+				{
+					"type": "individual",
+					"url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
+				},
+				{
+					"type": "individual",
+					"url": "https://www.buymeacoffee.com/ricmoo"
+				}
+			],
+			"dependencies": {
+				"@ethersproject/bytes": "^5.5.0"
+			}
+		},
+		"node_modules/@ethersproject/basex": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.5.0.tgz",
+			"integrity": "sha512-ZIodwhHpVJ0Y3hUCfUucmxKsWQA5TMnavp5j/UOuDdzZWzJlRmuOjcTMIGgHCYuZmHt36BfiSyQPSRskPxbfaQ==",
+			"funding": [
+				{
+					"type": "individual",
+					"url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
+				},
+				{
+					"type": "individual",
+					"url": "https://www.buymeacoffee.com/ricmoo"
+				}
+			],
+			"dependencies": {
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/properties": "^5.5.0"
+			}
+		},
+		"node_modules/@ethersproject/bignumber": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.5.0.tgz",
+			"integrity": "sha512-6Xytlwvy6Rn3U3gKEc1vP7nR92frHkv6wtVr95LFR3jREXiCPzdWxKQ1cx4JGQBXxcguAwjA8murlYN2TSiEbg==",
+			"funding": [
+				{
+					"type": "individual",
+					"url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
+				},
+				{
+					"type": "individual",
+					"url": "https://www.buymeacoffee.com/ricmoo"
+				}
+			],
+			"dependencies": {
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/logger": "^5.5.0",
+				"bn.js": "^4.11.9"
+			}
+		},
+		"node_modules/@ethersproject/bytes": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.5.0.tgz",
+			"integrity": "sha512-ABvc7BHWhZU9PNM/tANm/Qx4ostPGadAuQzWTr3doklZOhDlmcBqclrQe/ZXUIj3K8wC28oYeuRa+A37tX9kog==",
+			"funding": [
+				{
+					"type": "individual",
+					"url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
+				},
+				{
+					"type": "individual",
+					"url": "https://www.buymeacoffee.com/ricmoo"
+				}
+			],
+			"dependencies": {
+				"@ethersproject/logger": "^5.5.0"
+			}
+		},
+		"node_modules/@ethersproject/constants": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.5.0.tgz",
+			"integrity": "sha512-2MsRRVChkvMWR+GyMGY4N1sAX9Mt3J9KykCsgUFd/1mwS0UH1qw+Bv9k1UJb3X3YJYFco9H20pjSlOIfCG5HYQ==",
+			"funding": [
+				{
+					"type": "individual",
+					"url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
+				},
+				{
+					"type": "individual",
+					"url": "https://www.buymeacoffee.com/ricmoo"
+				}
+			],
+			"dependencies": {
+				"@ethersproject/bignumber": "^5.5.0"
+			}
+		},
+		"node_modules/@ethersproject/contracts": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.5.0.tgz",
+			"integrity": "sha512-2viY7NzyvJkh+Ug17v7g3/IJC8HqZBDcOjYARZLdzRxrfGlRgmYgl6xPRKVbEzy1dWKw/iv7chDcS83pg6cLxg==",
+			"funding": [
+				{
+					"type": "individual",
+					"url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
+				},
+				{
+					"type": "individual",
+					"url": "https://www.buymeacoffee.com/ricmoo"
+				}
+			],
+			"dependencies": {
+				"@ethersproject/abi": "^5.5.0",
+				"@ethersproject/abstract-provider": "^5.5.0",
+				"@ethersproject/abstract-signer": "^5.5.0",
+				"@ethersproject/address": "^5.5.0",
+				"@ethersproject/bignumber": "^5.5.0",
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/constants": "^5.5.0",
+				"@ethersproject/logger": "^5.5.0",
+				"@ethersproject/properties": "^5.5.0",
+				"@ethersproject/transactions": "^5.5.0"
+			}
+		},
+		"node_modules/@ethersproject/hash": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.5.0.tgz",
+			"integrity": "sha512-dnGVpK1WtBjmnp3mUT0PlU2MpapnwWI0PibldQEq1408tQBAbZpPidkWoVVuNMOl/lISO3+4hXZWCL3YV7qzfg==",
+			"funding": [
+				{
+					"type": "individual",
+					"url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
+				},
+				{
+					"type": "individual",
+					"url": "https://www.buymeacoffee.com/ricmoo"
+				}
+			],
+			"dependencies": {
+				"@ethersproject/abstract-signer": "^5.5.0",
+				"@ethersproject/address": "^5.5.0",
+				"@ethersproject/bignumber": "^5.5.0",
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/keccak256": "^5.5.0",
+				"@ethersproject/logger": "^5.5.0",
+				"@ethersproject/properties": "^5.5.0",
+				"@ethersproject/strings": "^5.5.0"
+			}
+		},
+		"node_modules/@ethersproject/hdnode": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.5.0.tgz",
+			"integrity": "sha512-mcSOo9zeUg1L0CoJH7zmxwUG5ggQHU1UrRf8jyTYy6HxdZV+r0PBoL1bxr+JHIPXRzS6u/UW4mEn43y0tmyF8Q==",
+			"funding": [
+				{
+					"type": "individual",
+					"url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
+				},
+				{
+					"type": "individual",
+					"url": "https://www.buymeacoffee.com/ricmoo"
+				}
+			],
+			"dependencies": {
+				"@ethersproject/abstract-signer": "^5.5.0",
+				"@ethersproject/basex": "^5.5.0",
+				"@ethersproject/bignumber": "^5.5.0",
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/logger": "^5.5.0",
+				"@ethersproject/pbkdf2": "^5.5.0",
+				"@ethersproject/properties": "^5.5.0",
+				"@ethersproject/sha2": "^5.5.0",
+				"@ethersproject/signing-key": "^5.5.0",
+				"@ethersproject/strings": "^5.5.0",
+				"@ethersproject/transactions": "^5.5.0",
+				"@ethersproject/wordlists": "^5.5.0"
+			}
+		},
+		"node_modules/@ethersproject/json-wallets": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.5.0.tgz",
+			"integrity": "sha512-9lA21XQnCdcS72xlBn1jfQdj2A1VUxZzOzi9UkNdnokNKke/9Ya2xA9aIK1SC3PQyBDLt4C+dfps7ULpkvKikQ==",
+			"funding": [
+				{
+					"type": "individual",
+					"url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
+				},
+				{
+					"type": "individual",
+					"url": "https://www.buymeacoffee.com/ricmoo"
+				}
+			],
+			"dependencies": {
+				"@ethersproject/abstract-signer": "^5.5.0",
+				"@ethersproject/address": "^5.5.0",
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/hdnode": "^5.5.0",
+				"@ethersproject/keccak256": "^5.5.0",
+				"@ethersproject/logger": "^5.5.0",
+				"@ethersproject/pbkdf2": "^5.5.0",
+				"@ethersproject/properties": "^5.5.0",
+				"@ethersproject/random": "^5.5.0",
+				"@ethersproject/strings": "^5.5.0",
+				"@ethersproject/transactions": "^5.5.0",
+				"aes-js": "3.0.0",
+				"scrypt-js": "3.0.1"
+			}
+		},
+		"node_modules/@ethersproject/keccak256": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.5.0.tgz",
+			"integrity": "sha512-5VoFCTjo2rYbBe1l2f4mccaRFN/4VQEYFwwn04aJV2h7qf4ZvI2wFxUE1XOX+snbwCLRzIeikOqtAoPwMza9kg==",
+			"funding": [
+				{
+					"type": "individual",
+					"url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
+				},
+				{
+					"type": "individual",
+					"url": "https://www.buymeacoffee.com/ricmoo"
+				}
+			],
+			"dependencies": {
+				"@ethersproject/bytes": "^5.5.0",
+				"js-sha3": "0.8.0"
+			}
+		},
+		"node_modules/@ethersproject/logger": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.5.0.tgz",
+			"integrity": "sha512-rIY/6WPm7T8n3qS2vuHTUBPdXHl+rGxWxW5okDfo9J4Z0+gRRZT0msvUdIJkE4/HS29GUMziwGaaKO2bWONBrg==",
+			"funding": [
+				{
+					"type": "individual",
+					"url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
+				},
+				{
+					"type": "individual",
+					"url": "https://www.buymeacoffee.com/ricmoo"
+				}
+			]
+		},
+		"node_modules/@ethersproject/networks": {
+			"version": "5.5.2",
+			"resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.5.2.tgz",
+			"integrity": "sha512-NEqPxbGBfy6O3x4ZTISb90SjEDkWYDUbEeIFhJly0F7sZjoQMnj5KYzMSkMkLKZ+1fGpx00EDpHQCy6PrDupkQ==",
+			"funding": [
+				{
+					"type": "individual",
+					"url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
+				},
+				{
+					"type": "individual",
+					"url": "https://www.buymeacoffee.com/ricmoo"
+				}
+			],
+			"dependencies": {
+				"@ethersproject/logger": "^5.5.0"
+			}
+		},
+		"node_modules/@ethersproject/pbkdf2": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.5.0.tgz",
+			"integrity": "sha512-SaDvQFvXPnz1QGpzr6/HToLifftSXGoXrbpZ6BvoZhmx4bNLHrxDe8MZisuecyOziP1aVEwzC2Hasj+86TgWVg==",
+			"funding": [
+				{
+					"type": "individual",
+					"url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
+				},
+				{
+					"type": "individual",
+					"url": "https://www.buymeacoffee.com/ricmoo"
+				}
+			],
+			"dependencies": {
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/sha2": "^5.5.0"
+			}
+		},
+		"node_modules/@ethersproject/properties": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.5.0.tgz",
+			"integrity": "sha512-l3zRQg3JkD8EL3CPjNK5g7kMx4qSwiR60/uk5IVjd3oq1MZR5qUg40CNOoEJoX5wc3DyY5bt9EbMk86C7x0DNA==",
+			"funding": [
+				{
+					"type": "individual",
+					"url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
+				},
+				{
+					"type": "individual",
+					"url": "https://www.buymeacoffee.com/ricmoo"
+				}
+			],
+			"dependencies": {
+				"@ethersproject/logger": "^5.5.0"
+			}
+		},
+		"node_modules/@ethersproject/providers": {
+			"version": "5.5.2",
+			"resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.5.2.tgz",
+			"integrity": "sha512-hkbx7x/MKcRjyrO4StKXCzCpWer6s97xnm34xkfPiarhtEUVAN4TBBpamM+z66WcTt7H5B53YwbRj1n7i8pZoQ==",
+			"funding": [
+				{
+					"type": "individual",
+					"url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
+				},
+				{
+					"type": "individual",
+					"url": "https://www.buymeacoffee.com/ricmoo"
+				}
+			],
+			"dependencies": {
+				"@ethersproject/abstract-provider": "^5.5.0",
+				"@ethersproject/abstract-signer": "^5.5.0",
+				"@ethersproject/address": "^5.5.0",
+				"@ethersproject/basex": "^5.5.0",
+				"@ethersproject/bignumber": "^5.5.0",
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/constants": "^5.5.0",
+				"@ethersproject/hash": "^5.5.0",
+				"@ethersproject/logger": "^5.5.0",
+				"@ethersproject/networks": "^5.5.0",
+				"@ethersproject/properties": "^5.5.0",
+				"@ethersproject/random": "^5.5.0",
+				"@ethersproject/rlp": "^5.5.0",
+				"@ethersproject/sha2": "^5.5.0",
+				"@ethersproject/strings": "^5.5.0",
+				"@ethersproject/transactions": "^5.5.0",
+				"@ethersproject/web": "^5.5.0",
+				"bech32": "1.1.4",
+				"ws": "7.4.6"
+			}
+		},
+		"node_modules/@ethersproject/random": {
+			"version": "5.5.1",
+			"resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.5.1.tgz",
+			"integrity": "sha512-YaU2dQ7DuhL5Au7KbcQLHxcRHfgyNgvFV4sQOo0HrtW3Zkrc9ctWNz8wXQ4uCSfSDsqX2vcjhroxU5RQRV0nqA==",
+			"funding": [
+				{
+					"type": "individual",
+					"url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
+				},
+				{
+					"type": "individual",
+					"url": "https://www.buymeacoffee.com/ricmoo"
+				}
+			],
+			"dependencies": {
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/logger": "^5.5.0"
+			}
+		},
+		"node_modules/@ethersproject/rlp": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.5.0.tgz",
+			"integrity": "sha512-hLv8XaQ8PTI9g2RHoQGf/WSxBfTB/NudRacbzdxmst5VHAqd1sMibWG7SENzT5Dj3yZ3kJYx+WiRYEcQTAkcYA==",
+			"funding": [
+				{
+					"type": "individual",
+					"url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
+				},
+				{
+					"type": "individual",
+					"url": "https://www.buymeacoffee.com/ricmoo"
+				}
+			],
+			"dependencies": {
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/logger": "^5.5.0"
+			}
+		},
+		"node_modules/@ethersproject/sha2": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.5.0.tgz",
+			"integrity": "sha512-B5UBoglbCiHamRVPLA110J+2uqsifpZaTmid2/7W5rbtYVz6gus6/hSDieIU/6gaKIDcOj12WnOdiymEUHIAOA==",
+			"funding": [
+				{
+					"type": "individual",
+					"url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
+				},
+				{
+					"type": "individual",
+					"url": "https://www.buymeacoffee.com/ricmoo"
+				}
+			],
+			"dependencies": {
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/logger": "^5.5.0",
+				"hash.js": "1.1.7"
+			}
+		},
+		"node_modules/@ethersproject/signing-key": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.5.0.tgz",
+			"integrity": "sha512-5VmseH7qjtNmDdZBswavhotYbWB0bOwKIlOTSlX14rKn5c11QmJwGt4GHeo7NrL/Ycl7uo9AHvEqs5xZgFBTng==",
+			"funding": [
+				{
+					"type": "individual",
+					"url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
+				},
+				{
+					"type": "individual",
+					"url": "https://www.buymeacoffee.com/ricmoo"
+				}
+			],
+			"dependencies": {
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/logger": "^5.5.0",
+				"@ethersproject/properties": "^5.5.0",
+				"bn.js": "^4.11.9",
+				"elliptic": "6.5.4",
+				"hash.js": "1.1.7"
+			}
+		},
+		"node_modules/@ethersproject/solidity": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.5.0.tgz",
+			"integrity": "sha512-9NgZs9LhGMj6aCtHXhtmFQ4AN4sth5HuFXVvAQtzmm0jpSCNOTGtrHZJAeYTh7MBjRR8brylWZxBZR9zDStXbw==",
+			"funding": [
+				{
+					"type": "individual",
+					"url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
+				},
+				{
+					"type": "individual",
+					"url": "https://www.buymeacoffee.com/ricmoo"
+				}
+			],
+			"dependencies": {
+				"@ethersproject/bignumber": "^5.5.0",
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/keccak256": "^5.5.0",
+				"@ethersproject/logger": "^5.5.0",
+				"@ethersproject/sha2": "^5.5.0",
+				"@ethersproject/strings": "^5.5.0"
+			}
+		},
+		"node_modules/@ethersproject/strings": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.5.0.tgz",
+			"integrity": "sha512-9fy3TtF5LrX/wTrBaT8FGE6TDJyVjOvXynXJz5MT5azq+E6D92zuKNx7i29sWW2FjVOaWjAsiZ1ZWznuduTIIQ==",
+			"funding": [
+				{
+					"type": "individual",
+					"url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
+				},
+				{
+					"type": "individual",
+					"url": "https://www.buymeacoffee.com/ricmoo"
+				}
+			],
+			"dependencies": {
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/constants": "^5.5.0",
+				"@ethersproject/logger": "^5.5.0"
+			}
+		},
+		"node_modules/@ethersproject/transactions": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.5.0.tgz",
+			"integrity": "sha512-9RZYSKX26KfzEd/1eqvv8pLauCKzDTub0Ko4LfIgaERvRuwyaNV78mJs7cpIgZaDl6RJui4o49lHwwCM0526zA==",
+			"funding": [
+				{
+					"type": "individual",
+					"url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
+				},
+				{
+					"type": "individual",
+					"url": "https://www.buymeacoffee.com/ricmoo"
+				}
+			],
+			"dependencies": {
+				"@ethersproject/address": "^5.5.0",
+				"@ethersproject/bignumber": "^5.5.0",
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/constants": "^5.5.0",
+				"@ethersproject/keccak256": "^5.5.0",
+				"@ethersproject/logger": "^5.5.0",
+				"@ethersproject/properties": "^5.5.0",
+				"@ethersproject/rlp": "^5.5.0",
+				"@ethersproject/signing-key": "^5.5.0"
+			}
+		},
+		"node_modules/@ethersproject/units": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.5.0.tgz",
+			"integrity": "sha512-7+DpjiZk4v6wrikj+TCyWWa9dXLNU73tSTa7n0TSJDxkYbV3Yf1eRh9ToMLlZtuctNYu9RDNNy2USq3AdqSbag==",
+			"funding": [
+				{
+					"type": "individual",
+					"url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
+				},
+				{
+					"type": "individual",
+					"url": "https://www.buymeacoffee.com/ricmoo"
+				}
+			],
+			"dependencies": {
+				"@ethersproject/bignumber": "^5.5.0",
+				"@ethersproject/constants": "^5.5.0",
+				"@ethersproject/logger": "^5.5.0"
+			}
+		},
+		"node_modules/@ethersproject/wallet": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.5.0.tgz",
+			"integrity": "sha512-Mlu13hIctSYaZmUOo7r2PhNSd8eaMPVXe1wxrz4w4FCE4tDYBywDH+bAR1Xz2ADyXGwqYMwstzTrtUVIsKDO0Q==",
+			"funding": [
+				{
+					"type": "individual",
+					"url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
+				},
+				{
+					"type": "individual",
+					"url": "https://www.buymeacoffee.com/ricmoo"
+				}
+			],
+			"dependencies": {
+				"@ethersproject/abstract-provider": "^5.5.0",
+				"@ethersproject/abstract-signer": "^5.5.0",
+				"@ethersproject/address": "^5.5.0",
+				"@ethersproject/bignumber": "^5.5.0",
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/hash": "^5.5.0",
+				"@ethersproject/hdnode": "^5.5.0",
+				"@ethersproject/json-wallets": "^5.5.0",
+				"@ethersproject/keccak256": "^5.5.0",
+				"@ethersproject/logger": "^5.5.0",
+				"@ethersproject/properties": "^5.5.0",
+				"@ethersproject/random": "^5.5.0",
+				"@ethersproject/signing-key": "^5.5.0",
+				"@ethersproject/transactions": "^5.5.0",
+				"@ethersproject/wordlists": "^5.5.0"
+			}
+		},
+		"node_modules/@ethersproject/web": {
+			"version": "5.5.1",
+			"resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.5.1.tgz",
+			"integrity": "sha512-olvLvc1CB12sREc1ROPSHTdFCdvMh0J5GSJYiQg2D0hdD4QmJDy8QYDb1CvoqD/bF1c++aeKv2sR5uduuG9dQg==",
+			"funding": [
+				{
+					"type": "individual",
+					"url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
+				},
+				{
+					"type": "individual",
+					"url": "https://www.buymeacoffee.com/ricmoo"
+				}
+			],
+			"dependencies": {
+				"@ethersproject/base64": "^5.5.0",
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/logger": "^5.5.0",
+				"@ethersproject/properties": "^5.5.0",
+				"@ethersproject/strings": "^5.5.0"
+			}
+		},
+		"node_modules/@ethersproject/wordlists": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.5.0.tgz",
+			"integrity": "sha512-bL0UTReWDiaQJJYOC9sh/XcRu/9i2jMrzf8VLRmPKx58ckSlOJiohODkECCO50dtLZHcGU6MLXQ4OOrgBwP77Q==",
+			"funding": [
+				{
+					"type": "individual",
+					"url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
+				},
+				{
+					"type": "individual",
+					"url": "https://www.buymeacoffee.com/ricmoo"
+				}
+			],
+			"dependencies": {
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/hash": "^5.5.0",
+				"@ethersproject/logger": "^5.5.0",
+				"@ethersproject/properties": "^5.5.0",
+				"@ethersproject/strings": "^5.5.0"
 			}
 		},
-		"node_modules/@esbuild/win32-x64": {
-			"version": "0.17.18",
-			"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.18.tgz",
-			"integrity": "sha512-qU25Ma1I3NqTSHJUOKi9sAH1/Mzuvlke0ioMJRthLXKm7JiSKVwFghlGbDLOO2sARECGhja4xYfRAZNPAkooYg==",
-			"cpu": [
-				"x64"
-			],
-			"dev": true,
-			"optional": true,
-			"os": [
-				"win32"
-			],
-			"engines": {
-				"node": ">=12"
+		"node_modules/@formatjs/ecma402-abstract": {
+			"version": "1.11.4",
+			"resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.11.4.tgz",
+			"integrity": "sha512-EBikYFp2JCdIfGEb5G9dyCkTGDmC57KSHhRQOC3aYxoPWVZvfWCDjZwkGYHN7Lis/fmuWl906bnNTJifDQ3sXw==",
+			"dependencies": {
+				"@formatjs/intl-localematcher": "0.2.25",
+				"tslib": "^2.1.0"
 			}
 		},
-		"node_modules/@eslint-community/eslint-utils": {
-			"version": "4.4.0",
-			"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
-			"integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
-			"dev": true,
+		"node_modules/@formatjs/fast-memoize": {
+			"version": "1.2.1",
+			"resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-1.2.1.tgz",
+			"integrity": "sha512-Rg0e76nomkz3vF9IPlKeV+Qynok0r7YZjL6syLz4/urSg0IbjPZCB/iYUMNsYA643gh4mgrX3T7KEIFIxJBQeg==",
 			"dependencies": {
-				"eslint-visitor-keys": "^3.3.0"
-			},
-			"engines": {
-				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
-			},
-			"peerDependencies": {
-				"eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
+				"tslib": "^2.1.0"
 			}
 		},
-		"node_modules/@eslint-community/regexpp": {
-			"version": "4.5.0",
-			"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.0.tgz",
-			"integrity": "sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==",
-			"dev": true,
-			"engines": {
-				"node": "^12.0.0 || ^14.0.0 || >=16.0.0"
+		"node_modules/@formatjs/icu-messageformat-parser": {
+			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.1.0.tgz",
+			"integrity": "sha512-Qxv/lmCN6hKpBSss2uQ8IROVnta2r9jd3ymUEIjm2UyIkUCHVcbUVRGL/KS/wv7876edvsPe+hjHVJ4z8YuVaw==",
+			"dependencies": {
+				"@formatjs/ecma402-abstract": "1.11.4",
+				"@formatjs/icu-skeleton-parser": "1.3.6",
+				"tslib": "^2.1.0"
 			}
 		},
-		"node_modules/@eslint/eslintrc": {
-			"version": "2.0.2",
-			"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.2.tgz",
-			"integrity": "sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==",
-			"dev": true,
+		"node_modules/@formatjs/icu-skeleton-parser": {
+			"version": "1.3.6",
+			"resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.6.tgz",
+			"integrity": "sha512-I96mOxvml/YLrwU2Txnd4klA7V8fRhb6JG/4hm3VMNmeJo1F03IpV2L3wWt7EweqNLES59SZ4d6hVOPCSf80Bg==",
 			"dependencies": {
-				"ajv": "^6.12.4",
-				"debug": "^4.3.2",
-				"espree": "^9.5.1",
-				"globals": "^13.19.0",
-				"ignore": "^5.2.0",
-				"import-fresh": "^3.2.1",
-				"js-yaml": "^4.1.0",
-				"minimatch": "^3.1.2",
-				"strip-json-comments": "^3.1.1"
-			},
-			"engines": {
-				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
-			},
-			"funding": {
-				"url": "https://opencollective.com/eslint"
+				"@formatjs/ecma402-abstract": "1.11.4",
+				"tslib": "^2.1.0"
 			}
 		},
-		"node_modules/@eslint/js": {
-			"version": "8.39.0",
-			"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.39.0.tgz",
-			"integrity": "sha512-kf9RB0Fg7NZfap83B3QOqOGg9QmD9yBudqQXzzOtn3i4y7ZUXe5ONeW34Gwi+TxhH4mvj72R1Zc300KUMa9Bng==",
-			"dev": true,
-			"engines": {
-				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+		"node_modules/@formatjs/intl-localematcher": {
+			"version": "0.2.25",
+			"resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.25.tgz",
+			"integrity": "sha512-YmLcX70BxoSopLFdLr1Ds99NdlTI2oWoLbaUW2M406lxOIPzE1KQhRz2fPUkq34xVZQaihCoU29h0KK7An3bhA==",
+			"dependencies": {
+				"tslib": "^2.1.0"
+			}
+		},
+		"node_modules/@hapi/hoek": {
+			"version": "9.3.0",
+			"resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz",
+			"integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ=="
+		},
+		"node_modules/@hapi/topo": {
+			"version": "5.1.0",
+			"resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz",
+			"integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==",
+			"dependencies": {
+				"@hapi/hoek": "^9.0.0"
 			}
 		},
 		"node_modules/@humanwhocodes/config-array": {
@@ -596,6 +1326,24 @@
 			"integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==",
 			"dev": true
 		},
+		"node_modules/@sideway/address": {
+			"version": "4.1.4",
+			"resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz",
+			"integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==",
+			"dependencies": {
+				"@hapi/hoek": "^9.0.0"
+			}
+		},
+		"node_modules/@sideway/formula": {
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz",
+			"integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg=="
+		},
+		"node_modules/@sideway/pinpoint": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz",
+			"integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ=="
+		},
 		"node_modules/@sveltejs/adapter-auto": {
 			"version": "2.0.1",
 			"resolved": "https://registry.npmjs.org/@sveltejs/adapter-auto/-/adapter-auto-2.0.1.tgz",
@@ -894,6 +1642,146 @@
 				"url": "https://opencollective.com/typescript-eslint"
 			}
 		},
+		"node_modules/@web3-onboard/common": {
+			"version": "2.3.1",
+			"resolved": "https://registry.npmjs.org/@web3-onboard/common/-/common-2.3.1.tgz",
+			"integrity": "sha512-VRIsJLW92Q+bu6w9WSlTrPIk0vGmFvVwnoAKy1ubKuBvSKKhMUmrnv8N5tusr0mk+gcUuUdDF6gLDCABqrfC7g==",
+			"dependencies": {
+				"bignumber.js": "^9.1.0",
+				"ethers": "5.5.4",
+				"joi": "17.9.1"
+			}
+		},
+		"node_modules/@web3-onboard/common/node_modules/@ethersproject/providers": {
+			"version": "5.5.3",
+			"resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.5.3.tgz",
+			"integrity": "sha512-ZHXxXXXWHuwCQKrgdpIkbzMNJMvs+9YWemanwp1fA7XZEv7QlilseysPvQe0D7Q7DlkJX/w/bGA1MdgK2TbGvA==",
+			"funding": [
+				{
+					"type": "individual",
+					"url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
+				},
+				{
+					"type": "individual",
+					"url": "https://www.buymeacoffee.com/ricmoo"
+				}
+			],
+			"dependencies": {
+				"@ethersproject/abstract-provider": "^5.5.0",
+				"@ethersproject/abstract-signer": "^5.5.0",
+				"@ethersproject/address": "^5.5.0",
+				"@ethersproject/basex": "^5.5.0",
+				"@ethersproject/bignumber": "^5.5.0",
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/constants": "^5.5.0",
+				"@ethersproject/hash": "^5.5.0",
+				"@ethersproject/logger": "^5.5.0",
+				"@ethersproject/networks": "^5.5.0",
+				"@ethersproject/properties": "^5.5.0",
+				"@ethersproject/random": "^5.5.0",
+				"@ethersproject/rlp": "^5.5.0",
+				"@ethersproject/sha2": "^5.5.0",
+				"@ethersproject/strings": "^5.5.0",
+				"@ethersproject/transactions": "^5.5.0",
+				"@ethersproject/web": "^5.5.0",
+				"bech32": "1.1.4",
+				"ws": "7.4.6"
+			}
+		},
+		"node_modules/@web3-onboard/common/node_modules/ethers": {
+			"version": "5.5.4",
+			"resolved": "https://registry.npmjs.org/ethers/-/ethers-5.5.4.tgz",
+			"integrity": "sha512-N9IAXsF8iKhgHIC6pquzRgPBJEzc9auw3JoRkaKe+y4Wl/LFBtDDunNe7YmdomontECAcC5APaAgWZBiu1kirw==",
+			"funding": [
+				{
+					"type": "individual",
+					"url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
+				},
+				{
+					"type": "individual",
+					"url": "https://www.buymeacoffee.com/ricmoo"
+				}
+			],
+			"dependencies": {
+				"@ethersproject/abi": "5.5.0",
+				"@ethersproject/abstract-provider": "5.5.1",
+				"@ethersproject/abstract-signer": "5.5.0",
+				"@ethersproject/address": "5.5.0",
+				"@ethersproject/base64": "5.5.0",
+				"@ethersproject/basex": "5.5.0",
+				"@ethersproject/bignumber": "5.5.0",
+				"@ethersproject/bytes": "5.5.0",
+				"@ethersproject/constants": "5.5.0",
+				"@ethersproject/contracts": "5.5.0",
+				"@ethersproject/hash": "5.5.0",
+				"@ethersproject/hdnode": "5.5.0",
+				"@ethersproject/json-wallets": "5.5.0",
+				"@ethersproject/keccak256": "5.5.0",
+				"@ethersproject/logger": "5.5.0",
+				"@ethersproject/networks": "5.5.2",
+				"@ethersproject/pbkdf2": "5.5.0",
+				"@ethersproject/properties": "5.5.0",
+				"@ethersproject/providers": "5.5.3",
+				"@ethersproject/random": "5.5.1",
+				"@ethersproject/rlp": "5.5.0",
+				"@ethersproject/sha2": "5.5.0",
+				"@ethersproject/signing-key": "5.5.0",
+				"@ethersproject/solidity": "5.5.0",
+				"@ethersproject/strings": "5.5.0",
+				"@ethersproject/transactions": "5.5.0",
+				"@ethersproject/units": "5.5.0",
+				"@ethersproject/wallet": "5.5.0",
+				"@ethersproject/web": "5.5.1",
+				"@ethersproject/wordlists": "5.5.0"
+			}
+		},
+		"node_modules/@web3-onboard/core": {
+			"version": "2.17.0",
+			"resolved": "https://registry.npmjs.org/@web3-onboard/core/-/core-2.17.0.tgz",
+			"integrity": "sha512-N6LKiNVjHHOqEdh9RrRAhlWid3bm6SqaCyMcfbqcJceWL53V4nFMTleutIX/YGZbqfms27p6oTAk1xZ0470L+g==",
+			"dependencies": {
+				"@web3-onboard/common": "^2.3.1",
+				"bignumber.js": "^9.0.0",
+				"bnc-sdk": "^4.6.7",
+				"bowser": "^2.11.0",
+				"ethers": "5.5.3",
+				"eventemitter3": "^4.0.7",
+				"joi": "17.9.1",
+				"lodash.merge": "^4.6.2",
+				"lodash.partition": "^4.6.0",
+				"nanoid": "^4.0.0",
+				"rxjs": "^7.5.5",
+				"svelte": "^3.49.0",
+				"svelte-i18n": "^3.3.13"
+			}
+		},
+		"node_modules/@web3-onboard/core/node_modules/nanoid": {
+			"version": "4.0.2",
+			"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-4.0.2.tgz",
+			"integrity": "sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==",
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/ai"
+				}
+			],
+			"bin": {
+				"nanoid": "bin/nanoid.js"
+			},
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			}
+		},
+		"node_modules/@web3-onboard/injected-wallets": {
+			"version": "2.8.5",
+			"resolved": "https://registry.npmjs.org/@web3-onboard/injected-wallets/-/injected-wallets-2.8.5.tgz",
+			"integrity": "sha512-0+Rd4AVsQ40QICV8eh/VLgwJcKf24tjqA4BREENKl7C7Gw35L8ZJTsbwg3mBIrzy9jK0WC36jvNrX0OtBoQvVQ==",
+			"dependencies": {
+				"@web3-onboard/common": "^2.3.1",
+				"joi": "17.9.1",
+				"lodash.uniqby": "^4.7.0"
+			}
+		},
 		"node_modules/acorn": {
 			"version": "8.8.2",
 			"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz",
@@ -924,6 +1812,11 @@
 				"node": ">=0.4.0"
 			}
 		},
+		"node_modules/aes-js": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz",
+			"integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw=="
+		},
 		"node_modules/ajv": {
 			"version": "6.12.6",
 			"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
@@ -1052,6 +1945,19 @@
 			"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
 			"dev": true
 		},
+		"node_modules/bech32": {
+			"version": "1.1.4",
+			"resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz",
+			"integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ=="
+		},
+		"node_modules/bignumber.js": {
+			"version": "9.1.1",
+			"resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.1.tgz",
+			"integrity": "sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig==",
+			"engines": {
+				"node": "*"
+			}
+		},
 		"node_modules/binary-extensions": {
 			"version": "2.2.0",
 			"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
@@ -1061,6 +1967,43 @@
 				"node": ">=8"
 			}
 		},
+		"node_modules/bn.js": {
+			"version": "4.12.0",
+			"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
+			"integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
+		},
+		"node_modules/bnc-sdk": {
+			"version": "4.6.7",
+			"resolved": "https://registry.npmjs.org/bnc-sdk/-/bnc-sdk-4.6.7.tgz",
+			"integrity": "sha512-jIQ6cmeRBgvH/YDLuYRr2+kxDGcAAi0SOvjlO5nQ5cWdbslw+ASWftd1HmxiVLNCiwEH5bSc/t8a0agZ5njTUQ==",
+			"dependencies": {
+				"crypto-es": "^1.2.2",
+				"nanoid": "^3.3.1",
+				"rxjs": "^6.6.3",
+				"sturdy-websocket": "^0.1.12"
+			}
+		},
+		"node_modules/bnc-sdk/node_modules/rxjs": {
+			"version": "6.6.7",
+			"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
+			"integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
+			"dependencies": {
+				"tslib": "^1.9.0"
+			},
+			"engines": {
+				"npm": ">=2.0.0"
+			}
+		},
+		"node_modules/bnc-sdk/node_modules/tslib": {
+			"version": "1.14.1",
+			"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+			"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
+		},
+		"node_modules/bowser": {
+			"version": "2.11.0",
+			"resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz",
+			"integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA=="
+		},
 		"node_modules/brace-expansion": {
 			"version": "1.1.11",
 			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -1083,6 +2026,11 @@
 				"node": ">=8"
 			}
 		},
+		"node_modules/brorand": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
+			"integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w=="
+		},
 		"node_modules/browserslist": {
 			"version": "4.21.5",
 			"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz",
@@ -1252,6 +2200,21 @@
 				"node": ">= 6"
 			}
 		},
+		"node_modules/cli-color": {
+			"version": "2.0.3",
+			"resolved": "https://registry.npmjs.org/cli-color/-/cli-color-2.0.3.tgz",
+			"integrity": "sha512-OkoZnxyC4ERN3zLzZaY9Emb7f/MhBOIpePv0Ycok0fJYT+Ouo00UBEIwsVsr0yoow++n5YWlSUgST9GKhNHiRQ==",
+			"dependencies": {
+				"d": "^1.0.1",
+				"es5-ext": "^0.10.61",
+				"es6-iterator": "^2.0.3",
+				"memoizee": "^0.4.15",
+				"timers-ext": "^0.1.7"
+			},
+			"engines": {
+				"node": ">=0.10"
+			}
+		},
 		"node_modules/color-convert": {
 			"version": "2.0.1",
 			"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -1308,6 +2271,11 @@
 				"node": ">= 8"
 			}
 		},
+		"node_modules/crypto-es": {
+			"version": "1.2.7",
+			"resolved": "https://registry.npmjs.org/crypto-es/-/crypto-es-1.2.7.tgz",
+			"integrity": "sha512-UUqiVJ2gUuZFmbFsKmud3uuLcNP2+Opt+5ysmljycFCyhA0+T16XJmo1ev/t5kMChMqWh7IEvURNCqsg+SjZGQ=="
+		},
 		"node_modules/cssesc": {
 			"version": "3.0.0",
 			"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
@@ -1320,6 +2288,15 @@
 				"node": ">=4"
 			}
 		},
+		"node_modules/d": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
+			"integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
+			"dependencies": {
+				"es5-ext": "^0.10.50",
+				"type": "^1.0.1"
+			}
+		},
 		"node_modules/debug": {
 			"version": "4.3.4",
 			"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
@@ -1359,7 +2336,6 @@
 			"version": "4.3.1",
 			"resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
 			"integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
-			"dev": true,
 			"engines": {
 				"node": ">=0.10.0"
 			}
@@ -1421,12 +2397,70 @@
 			"integrity": "sha512-dNP9tQNTrjgVlSXMqGaj0BdrCS+9pcUvy5/emB6x8kh0YwCoDZ0Z4ce1+7aod+KhybHUd5o5LgKrc5al4kVmzQ==",
 			"dev": true
 		},
+		"node_modules/elliptic": {
+			"version": "6.5.4",
+			"resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz",
+			"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"
+			}
+		},
+		"node_modules/es5-ext": {
+			"version": "0.10.62",
+			"resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz",
+			"integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==",
+			"hasInstallScript": true,
+			"dependencies": {
+				"es6-iterator": "^2.0.3",
+				"es6-symbol": "^3.1.3",
+				"next-tick": "^1.1.0"
+			},
+			"engines": {
+				"node": ">=0.10"
+			}
+		},
+		"node_modules/es6-iterator": {
+			"version": "2.0.3",
+			"resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
+			"integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==",
+			"dependencies": {
+				"d": "1",
+				"es5-ext": "^0.10.35",
+				"es6-symbol": "^3.1.1"
+			}
+		},
 		"node_modules/es6-promise": {
 			"version": "3.3.1",
 			"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz",
 			"integrity": "sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==",
 			"dev": true
 		},
+		"node_modules/es6-symbol": {
+			"version": "3.1.3",
+			"resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz",
+			"integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==",
+			"dependencies": {
+				"d": "^1.0.1",
+				"ext": "^1.1.2"
+			}
+		},
+		"node_modules/es6-weak-map": {
+			"version": "2.0.3",
+			"resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz",
+			"integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==",
+			"dependencies": {
+				"d": "1",
+				"es5-ext": "^0.10.46",
+				"es6-iterator": "^2.0.3",
+				"es6-symbol": "^3.1.1"
+			}
+		},
 		"node_modules/esbuild": {
 			"version": "0.17.18",
 			"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.18.tgz",
@@ -1710,6 +2744,11 @@
 				"node": ">=4.0"
 			}
 		},
+		"node_modules/estree-walker": {
+			"version": "2.0.2",
+			"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+			"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
+		},
 		"node_modules/esutils": {
 			"version": "2.0.3",
 			"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
@@ -1719,6 +2758,80 @@
 				"node": ">=0.10.0"
 			}
 		},
+		"node_modules/ethers": {
+			"version": "5.5.3",
+			"resolved": "https://registry.npmjs.org/ethers/-/ethers-5.5.3.tgz",
+			"integrity": "sha512-fTT4WT8/hTe/BLwRUtl7I5zlpF3XC3P/Xwqxc5AIP2HGlH15qpmjs0Ou78az93b1rLITzXLFxoNX63B8ZbUd7g==",
+			"funding": [
+				{
+					"type": "individual",
+					"url": "https://gitcoin.co/grants/13/ethersjs-complete-simple-and-tiny-2"
+				},
+				{
+					"type": "individual",
+					"url": "https://www.buymeacoffee.com/ricmoo"
+				}
+			],
+			"dependencies": {
+				"@ethersproject/abi": "5.5.0",
+				"@ethersproject/abstract-provider": "5.5.1",
+				"@ethersproject/abstract-signer": "5.5.0",
+				"@ethersproject/address": "5.5.0",
+				"@ethersproject/base64": "5.5.0",
+				"@ethersproject/basex": "5.5.0",
+				"@ethersproject/bignumber": "5.5.0",
+				"@ethersproject/bytes": "5.5.0",
+				"@ethersproject/constants": "5.5.0",
+				"@ethersproject/contracts": "5.5.0",
+				"@ethersproject/hash": "5.5.0",
+				"@ethersproject/hdnode": "5.5.0",
+				"@ethersproject/json-wallets": "5.5.0",
+				"@ethersproject/keccak256": "5.5.0",
+				"@ethersproject/logger": "5.5.0",
+				"@ethersproject/networks": "5.5.2",
+				"@ethersproject/pbkdf2": "5.5.0",
+				"@ethersproject/properties": "5.5.0",
+				"@ethersproject/providers": "5.5.2",
+				"@ethersproject/random": "5.5.1",
+				"@ethersproject/rlp": "5.5.0",
+				"@ethersproject/sha2": "5.5.0",
+				"@ethersproject/signing-key": "5.5.0",
+				"@ethersproject/solidity": "5.5.0",
+				"@ethersproject/strings": "5.5.0",
+				"@ethersproject/transactions": "5.5.0",
+				"@ethersproject/units": "5.5.0",
+				"@ethersproject/wallet": "5.5.0",
+				"@ethersproject/web": "5.5.1",
+				"@ethersproject/wordlists": "5.5.0"
+			}
+		},
+		"node_modules/event-emitter": {
+			"version": "0.3.5",
+			"resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
+			"integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==",
+			"dependencies": {
+				"d": "1",
+				"es5-ext": "~0.10.14"
+			}
+		},
+		"node_modules/eventemitter3": {
+			"version": "4.0.7",
+			"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
+			"integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw=="
+		},
+		"node_modules/ext": {
+			"version": "1.7.0",
+			"resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz",
+			"integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==",
+			"dependencies": {
+				"type": "^2.7.2"
+			}
+		},
+		"node_modules/ext/node_modules/type": {
+			"version": "2.7.2",
+			"resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz",
+			"integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw=="
+		},
 		"node_modules/fast-deep-equal": {
 			"version": "3.1.3",
 			"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
@@ -1931,8 +3044,7 @@
 		"node_modules/globalyzer": {
 			"version": "0.1.0",
 			"resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz",
-			"integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==",
-			"dev": true
+			"integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q=="
 		},
 		"node_modules/globby": {
 			"version": "11.1.0",
@@ -1957,8 +3069,7 @@
 		"node_modules/globrex": {
 			"version": "0.1.2",
 			"resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz",
-			"integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==",
-			"dev": true
+			"integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg=="
 		},
 		"node_modules/graceful-fs": {
 			"version": "4.2.11",
@@ -1993,6 +3104,25 @@
 				"node": ">=8"
 			}
 		},
+		"node_modules/hash.js": {
+			"version": "1.1.7",
+			"resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
+			"integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
+			"dependencies": {
+				"inherits": "^2.0.3",
+				"minimalistic-assert": "^1.0.1"
+			}
+		},
+		"node_modules/hmac-drbg": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
+			"integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==",
+			"dependencies": {
+				"hash.js": "^1.0.3",
+				"minimalistic-assert": "^1.0.0",
+				"minimalistic-crypto-utils": "^1.0.1"
+			}
+		},
 		"node_modules/ignore": {
 			"version": "5.2.4",
 			"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
@@ -2050,8 +3180,18 @@
 		"node_modules/inherits": {
 			"version": "2.0.4",
 			"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
-			"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
-			"dev": true
+			"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+		},
+		"node_modules/intl-messageformat": {
+			"version": "9.13.0",
+			"resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-9.13.0.tgz",
+			"integrity": "sha512-7sGC7QnSQGa5LZP7bXLDhVDtQOeKGeBFGHF2Y8LVBwYZoQZCgWeKoPGTa5GMG8g/TzDgeXuYJQis7Ggiw2xTOw==",
+			"dependencies": {
+				"@formatjs/ecma402-abstract": "1.11.4",
+				"@formatjs/fast-memoize": "1.2.1",
+				"@formatjs/icu-messageformat-parser": "2.1.0",
+				"tslib": "^2.1.0"
+			}
 		},
 		"node_modules/is-binary-path": {
 			"version": "2.1.0",
@@ -2116,6 +3256,11 @@
 				"node": ">=8"
 			}
 		},
+		"node_modules/is-promise": {
+			"version": "2.2.2",
+			"resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz",
+			"integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ=="
+		},
 		"node_modules/isexe": {
 			"version": "2.0.0",
 			"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
@@ -2131,6 +3276,18 @@
 				"jiti": "bin/jiti.js"
 			}
 		},
+		"node_modules/joi": {
+			"version": "17.9.1",
+			"resolved": "https://registry.npmjs.org/joi/-/joi-17.9.1.tgz",
+			"integrity": "sha512-FariIi9j6QODKATGBrEX7HZcja8Bsh3rfdGYy/Sb65sGlZWK/QWesU1ghk7aJWDj95knjXlQfSmzFSPPkLVsfw==",
+			"dependencies": {
+				"@hapi/hoek": "^9.0.0",
+				"@hapi/topo": "^5.0.0",
+				"@sideway/address": "^4.1.3",
+				"@sideway/formula": "^3.0.1",
+				"@sideway/pinpoint": "^2.0.0"
+			}
+		},
 		"node_modules/js-sdsl": {
 			"version": "4.4.0",
 			"resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz",
@@ -2141,6 +3298,11 @@
 				"url": "https://opencollective.com/js-sdsl"
 			}
 		},
+		"node_modules/js-sha3": {
+			"version": "0.8.0",
+			"resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz",
+			"integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q=="
+		},
 		"node_modules/js-yaml": {
 			"version": "4.1.0",
 			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
@@ -2235,11 +3397,25 @@
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
+		"node_modules/lodash.defaults": {
+			"version": "4.2.0",
+			"resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
+			"integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ=="
+		},
 		"node_modules/lodash.merge": {
 			"version": "4.6.2",
 			"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
-			"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
-			"dev": true
+			"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="
+		},
+		"node_modules/lodash.partition": {
+			"version": "4.6.0",
+			"resolved": "https://registry.npmjs.org/lodash.partition/-/lodash.partition-4.6.0.tgz",
+			"integrity": "sha512-35L3dSF3Q6V1w5j6V3NhNlQjzsRDC/pYKCTdYTmwqSib+Q8ponkAmt/PwEOq3EmI38DSCl+SkIVwLd+uSlVdrg=="
+		},
+		"node_modules/lodash.uniqby": {
+			"version": "4.7.0",
+			"resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz",
+			"integrity": "sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww=="
 		},
 		"node_modules/loupe": {
 			"version": "2.3.6",
@@ -2262,6 +3438,14 @@
 				"node": ">=10"
 			}
 		},
+		"node_modules/lru-queue": {
+			"version": "0.1.0",
+			"resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz",
+			"integrity": "sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==",
+			"dependencies": {
+				"es5-ext": "~0.10.2"
+			}
+		},
 		"node_modules/magic-string": {
 			"version": "0.30.0",
 			"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz",
@@ -2274,6 +3458,21 @@
 				"node": ">=12"
 			}
 		},
+		"node_modules/memoizee": {
+			"version": "0.4.15",
+			"resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz",
+			"integrity": "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==",
+			"dependencies": {
+				"d": "^1.0.1",
+				"es5-ext": "^0.10.53",
+				"es6-weak-map": "^2.0.3",
+				"event-emitter": "^0.3.5",
+				"is-promise": "^2.2.2",
+				"lru-queue": "^0.1.0",
+				"next-tick": "^1.1.0",
+				"timers-ext": "^0.1.7"
+			}
+		},
 		"node_modules/merge2": {
 			"version": "1.4.1",
 			"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
@@ -2317,6 +3516,16 @@
 				"node": ">=4"
 			}
 		},
+		"node_modules/minimalistic-assert": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
+			"integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A=="
+		},
+		"node_modules/minimalistic-crypto-utils": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
+			"integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg=="
+		},
 		"node_modules/minimatch": {
 			"version": "3.1.2",
 			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
@@ -2354,7 +3563,6 @@
 			"version": "1.2.0",
 			"resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz",
 			"integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==",
-			"dev": true,
 			"engines": {
 				"node": ">=4"
 			}
@@ -2389,7 +3597,6 @@
 			"version": "3.3.6",
 			"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
 			"integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==",
-			"dev": true,
 			"funding": [
 				{
 					"type": "github",
@@ -2415,6 +3622,11 @@
 			"integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==",
 			"dev": true
 		},
+		"node_modules/next-tick": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz",
+			"integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ=="
+		},
 		"node_modules/node-releases": {
 			"version": "2.0.10",
 			"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz",
@@ -2945,11 +4157,18 @@
 				"queue-microtask": "^1.2.2"
 			}
 		},
+		"node_modules/rxjs": {
+			"version": "7.8.1",
+			"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
+			"integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==",
+			"dependencies": {
+				"tslib": "^2.1.0"
+			}
+		},
 		"node_modules/sade": {
 			"version": "1.8.1",
 			"resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz",
 			"integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==",
-			"dev": true,
 			"dependencies": {
 				"mri": "^1.1.0"
 			},
@@ -2981,6 +4200,11 @@
 				"rimraf": "bin.js"
 			}
 		},
+		"node_modules/scrypt-js": {
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz",
+			"integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA=="
+		},
 		"node_modules/semver": {
 			"version": "7.5.0",
 			"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz",
@@ -3136,6 +4360,14 @@
 				"url": "https://github.com/sponsors/antfu"
 			}
 		},
+		"node_modules/sturdy-websocket": {
+			"version": "0.1.12",
+			"resolved": "https://registry.npmjs.org/sturdy-websocket/-/sturdy-websocket-0.1.12.tgz",
+			"integrity": "sha512-PA7h8LdjaMoIlC5HAwLVzae4raGWgyroscV4oUpEiTtEFINcNa47/CKYT3e98o+FfsJgrclI2pYpaJrz0aaoew==",
+			"dependencies": {
+				"lodash.defaults": "^4.2.0"
+			}
+		},
 		"node_modules/sucrase": {
 			"version": "3.32.0",
 			"resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.32.0.tgz",
@@ -3206,7 +4438,6 @@
 			"version": "3.58.0",
 			"resolved": "https://registry.npmjs.org/svelte/-/svelte-3.58.0.tgz",
 			"integrity": "sha512-brIBNNB76mXFmU/Kerm4wFnkskBbluBDCjx/8TcpYRb298Yh2dztS2kQ6bhtjMcvUhd5ynClfwpz5h2gnzdQ1A==",
-			"dev": true,
 			"engines": {
 				"node": ">= 8"
 			}
@@ -3295,6 +4526,28 @@
 				"svelte": ">=3.19.0"
 			}
 		},
+		"node_modules/svelte-i18n": {
+			"version": "3.6.0",
+			"resolved": "https://registry.npmjs.org/svelte-i18n/-/svelte-i18n-3.6.0.tgz",
+			"integrity": "sha512-qvvcMqHVCXJ5pHoQR5uGzWAW5vS3qB9mBq+W6veLZ6jkrzZGOziR+wyOUJsc59BupMh+Ae30qjOndFrRU6v5jA==",
+			"dependencies": {
+				"cli-color": "^2.0.3",
+				"deepmerge": "^4.2.2",
+				"estree-walker": "^2",
+				"intl-messageformat": "^9.13.0",
+				"sade": "^1.8.1",
+				"tiny-glob": "^0.2.9"
+			},
+			"bin": {
+				"svelte-i18n": "dist/cli.js"
+			},
+			"engines": {
+				"node": ">= 16"
+			},
+			"peerDependencies": {
+				"svelte": "^3.25.1"
+			}
+		},
 		"node_modules/svelte-preprocess": {
 			"version": "5.0.3",
 			"resolved": "https://registry.npmjs.org/svelte-preprocess/-/svelte-preprocess-5.0.3.tgz",
@@ -3472,11 +4725,19 @@
 				"node": ">=0.8"
 			}
 		},
+		"node_modules/timers-ext": {
+			"version": "0.1.7",
+			"resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz",
+			"integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==",
+			"dependencies": {
+				"es5-ext": "~0.10.46",
+				"next-tick": "1"
+			}
+		},
 		"node_modules/tiny-glob": {
 			"version": "0.2.9",
 			"resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz",
 			"integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==",
-			"dev": true,
 			"dependencies": {
 				"globalyzer": "0.1.0",
 				"globrex": "^0.1.2"
@@ -3536,8 +4797,7 @@
 		"node_modules/tslib": {
 			"version": "2.5.0",
 			"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz",
-			"integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==",
-			"dev": true
+			"integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg=="
 		},
 		"node_modules/tsutils": {
 			"version": "3.21.0",
@@ -3560,6 +4820,11 @@
 			"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
 			"dev": true
 		},
+		"node_modules/type": {
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
+			"integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg=="
+		},
 		"node_modules/type-check": {
 			"version": "0.4.0",
 			"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
@@ -3810,6 +5075,26 @@
 			"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
 			"dev": true
 		},
+		"node_modules/ws": {
+			"version": "7.4.6",
+			"resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz",
+			"integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==",
+			"engines": {
+				"node": ">=8.3.0"
+			},
+			"peerDependencies": {
+				"bufferutil": "^4.0.1",
+				"utf-8-validate": "^5.0.2"
+			},
+			"peerDependenciesMeta": {
+				"bufferutil": {
+					"optional": true
+				},
+				"utf-8-validate": {
+					"optional": true
+				}
+			}
+		},
 		"node_modules/yallist": {
 			"version": "4.0.0",
 			"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
@@ -4037,6 +5322,432 @@
 			"integrity": "sha512-kf9RB0Fg7NZfap83B3QOqOGg9QmD9yBudqQXzzOtn3i4y7ZUXe5ONeW34Gwi+TxhH4mvj72R1Zc300KUMa9Bng==",
 			"dev": true
 		},
+		"@ethersproject/abi": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.5.0.tgz",
+			"integrity": "sha512-loW7I4AohP5KycATvc0MgujU6JyCHPqHdeoo9z3Nr9xEiNioxa65ccdm1+fsoJhkuhdRtfcL8cfyGamz2AxZ5w==",
+			"requires": {
+				"@ethersproject/address": "^5.5.0",
+				"@ethersproject/bignumber": "^5.5.0",
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/constants": "^5.5.0",
+				"@ethersproject/hash": "^5.5.0",
+				"@ethersproject/keccak256": "^5.5.0",
+				"@ethersproject/logger": "^5.5.0",
+				"@ethersproject/properties": "^5.5.0",
+				"@ethersproject/strings": "^5.5.0"
+			}
+		},
+		"@ethersproject/abstract-provider": {
+			"version": "5.5.1",
+			"resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.5.1.tgz",
+			"integrity": "sha512-m+MA/ful6eKbxpr99xUYeRvLkfnlqzrF8SZ46d/xFB1A7ZVknYc/sXJG0RcufF52Qn2jeFj1hhcoQ7IXjNKUqg==",
+			"requires": {
+				"@ethersproject/bignumber": "^5.5.0",
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/logger": "^5.5.0",
+				"@ethersproject/networks": "^5.5.0",
+				"@ethersproject/properties": "^5.5.0",
+				"@ethersproject/transactions": "^5.5.0",
+				"@ethersproject/web": "^5.5.0"
+			}
+		},
+		"@ethersproject/abstract-signer": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.5.0.tgz",
+			"integrity": "sha512-lj//7r250MXVLKI7sVarXAbZXbv9P50lgmJQGr2/is82EwEb8r7HrxsmMqAjTsztMYy7ohrIhGMIml+Gx4D3mA==",
+			"requires": {
+				"@ethersproject/abstract-provider": "^5.5.0",
+				"@ethersproject/bignumber": "^5.5.0",
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/logger": "^5.5.0",
+				"@ethersproject/properties": "^5.5.0"
+			}
+		},
+		"@ethersproject/address": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.5.0.tgz",
+			"integrity": "sha512-l4Nj0eWlTUh6ro5IbPTgbpT4wRbdH5l8CQf7icF7sb/SI3Nhd9Y9HzhonTSTi6CefI0necIw7LJqQPopPLZyWw==",
+			"requires": {
+				"@ethersproject/bignumber": "^5.5.0",
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/keccak256": "^5.5.0",
+				"@ethersproject/logger": "^5.5.0",
+				"@ethersproject/rlp": "^5.5.0"
+			}
+		},
+		"@ethersproject/base64": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.5.0.tgz",
+			"integrity": "sha512-tdayUKhU1ljrlHzEWbStXazDpsx4eg1dBXUSI6+mHlYklOXoXF6lZvw8tnD6oVaWfnMxAgRSKROg3cVKtCcppA==",
+			"requires": {
+				"@ethersproject/bytes": "^5.5.0"
+			}
+		},
+		"@ethersproject/basex": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.5.0.tgz",
+			"integrity": "sha512-ZIodwhHpVJ0Y3hUCfUucmxKsWQA5TMnavp5j/UOuDdzZWzJlRmuOjcTMIGgHCYuZmHt36BfiSyQPSRskPxbfaQ==",
+			"requires": {
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/properties": "^5.5.0"
+			}
+		},
+		"@ethersproject/bignumber": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.5.0.tgz",
+			"integrity": "sha512-6Xytlwvy6Rn3U3gKEc1vP7nR92frHkv6wtVr95LFR3jREXiCPzdWxKQ1cx4JGQBXxcguAwjA8murlYN2TSiEbg==",
+			"requires": {
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/logger": "^5.5.0",
+				"bn.js": "^4.11.9"
+			}
+		},
+		"@ethersproject/bytes": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.5.0.tgz",
+			"integrity": "sha512-ABvc7BHWhZU9PNM/tANm/Qx4ostPGadAuQzWTr3doklZOhDlmcBqclrQe/ZXUIj3K8wC28oYeuRa+A37tX9kog==",
+			"requires": {
+				"@ethersproject/logger": "^5.5.0"
+			}
+		},
+		"@ethersproject/constants": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.5.0.tgz",
+			"integrity": "sha512-2MsRRVChkvMWR+GyMGY4N1sAX9Mt3J9KykCsgUFd/1mwS0UH1qw+Bv9k1UJb3X3YJYFco9H20pjSlOIfCG5HYQ==",
+			"requires": {
+				"@ethersproject/bignumber": "^5.5.0"
+			}
+		},
+		"@ethersproject/contracts": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.5.0.tgz",
+			"integrity": "sha512-2viY7NzyvJkh+Ug17v7g3/IJC8HqZBDcOjYARZLdzRxrfGlRgmYgl6xPRKVbEzy1dWKw/iv7chDcS83pg6cLxg==",
+			"requires": {
+				"@ethersproject/abi": "^5.5.0",
+				"@ethersproject/abstract-provider": "^5.5.0",
+				"@ethersproject/abstract-signer": "^5.5.0",
+				"@ethersproject/address": "^5.5.0",
+				"@ethersproject/bignumber": "^5.5.0",
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/constants": "^5.5.0",
+				"@ethersproject/logger": "^5.5.0",
+				"@ethersproject/properties": "^5.5.0",
+				"@ethersproject/transactions": "^5.5.0"
+			}
+		},
+		"@ethersproject/hash": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.5.0.tgz",
+			"integrity": "sha512-dnGVpK1WtBjmnp3mUT0PlU2MpapnwWI0PibldQEq1408tQBAbZpPidkWoVVuNMOl/lISO3+4hXZWCL3YV7qzfg==",
+			"requires": {
+				"@ethersproject/abstract-signer": "^5.5.0",
+				"@ethersproject/address": "^5.5.0",
+				"@ethersproject/bignumber": "^5.5.0",
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/keccak256": "^5.5.0",
+				"@ethersproject/logger": "^5.5.0",
+				"@ethersproject/properties": "^5.5.0",
+				"@ethersproject/strings": "^5.5.0"
+			}
+		},
+		"@ethersproject/hdnode": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.5.0.tgz",
+			"integrity": "sha512-mcSOo9zeUg1L0CoJH7zmxwUG5ggQHU1UrRf8jyTYy6HxdZV+r0PBoL1bxr+JHIPXRzS6u/UW4mEn43y0tmyF8Q==",
+			"requires": {
+				"@ethersproject/abstract-signer": "^5.5.0",
+				"@ethersproject/basex": "^5.5.0",
+				"@ethersproject/bignumber": "^5.5.0",
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/logger": "^5.5.0",
+				"@ethersproject/pbkdf2": "^5.5.0",
+				"@ethersproject/properties": "^5.5.0",
+				"@ethersproject/sha2": "^5.5.0",
+				"@ethersproject/signing-key": "^5.5.0",
+				"@ethersproject/strings": "^5.5.0",
+				"@ethersproject/transactions": "^5.5.0",
+				"@ethersproject/wordlists": "^5.5.0"
+			}
+		},
+		"@ethersproject/json-wallets": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.5.0.tgz",
+			"integrity": "sha512-9lA21XQnCdcS72xlBn1jfQdj2A1VUxZzOzi9UkNdnokNKke/9Ya2xA9aIK1SC3PQyBDLt4C+dfps7ULpkvKikQ==",
+			"requires": {
+				"@ethersproject/abstract-signer": "^5.5.0",
+				"@ethersproject/address": "^5.5.0",
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/hdnode": "^5.5.0",
+				"@ethersproject/keccak256": "^5.5.0",
+				"@ethersproject/logger": "^5.5.0",
+				"@ethersproject/pbkdf2": "^5.5.0",
+				"@ethersproject/properties": "^5.5.0",
+				"@ethersproject/random": "^5.5.0",
+				"@ethersproject/strings": "^5.5.0",
+				"@ethersproject/transactions": "^5.5.0",
+				"aes-js": "3.0.0",
+				"scrypt-js": "3.0.1"
+			}
+		},
+		"@ethersproject/keccak256": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.5.0.tgz",
+			"integrity": "sha512-5VoFCTjo2rYbBe1l2f4mccaRFN/4VQEYFwwn04aJV2h7qf4ZvI2wFxUE1XOX+snbwCLRzIeikOqtAoPwMza9kg==",
+			"requires": {
+				"@ethersproject/bytes": "^5.5.0",
+				"js-sha3": "0.8.0"
+			}
+		},
+		"@ethersproject/logger": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.5.0.tgz",
+			"integrity": "sha512-rIY/6WPm7T8n3qS2vuHTUBPdXHl+rGxWxW5okDfo9J4Z0+gRRZT0msvUdIJkE4/HS29GUMziwGaaKO2bWONBrg=="
+		},
+		"@ethersproject/networks": {
+			"version": "5.5.2",
+			"resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.5.2.tgz",
+			"integrity": "sha512-NEqPxbGBfy6O3x4ZTISb90SjEDkWYDUbEeIFhJly0F7sZjoQMnj5KYzMSkMkLKZ+1fGpx00EDpHQCy6PrDupkQ==",
+			"requires": {
+				"@ethersproject/logger": "^5.5.0"
+			}
+		},
+		"@ethersproject/pbkdf2": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.5.0.tgz",
+			"integrity": "sha512-SaDvQFvXPnz1QGpzr6/HToLifftSXGoXrbpZ6BvoZhmx4bNLHrxDe8MZisuecyOziP1aVEwzC2Hasj+86TgWVg==",
+			"requires": {
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/sha2": "^5.5.0"
+			}
+		},
+		"@ethersproject/properties": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.5.0.tgz",
+			"integrity": "sha512-l3zRQg3JkD8EL3CPjNK5g7kMx4qSwiR60/uk5IVjd3oq1MZR5qUg40CNOoEJoX5wc3DyY5bt9EbMk86C7x0DNA==",
+			"requires": {
+				"@ethersproject/logger": "^5.5.0"
+			}
+		},
+		"@ethersproject/providers": {
+			"version": "5.5.2",
+			"resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.5.2.tgz",
+			"integrity": "sha512-hkbx7x/MKcRjyrO4StKXCzCpWer6s97xnm34xkfPiarhtEUVAN4TBBpamM+z66WcTt7H5B53YwbRj1n7i8pZoQ==",
+			"requires": {
+				"@ethersproject/abstract-provider": "^5.5.0",
+				"@ethersproject/abstract-signer": "^5.5.0",
+				"@ethersproject/address": "^5.5.0",
+				"@ethersproject/basex": "^5.5.0",
+				"@ethersproject/bignumber": "^5.5.0",
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/constants": "^5.5.0",
+				"@ethersproject/hash": "^5.5.0",
+				"@ethersproject/logger": "^5.5.0",
+				"@ethersproject/networks": "^5.5.0",
+				"@ethersproject/properties": "^5.5.0",
+				"@ethersproject/random": "^5.5.0",
+				"@ethersproject/rlp": "^5.5.0",
+				"@ethersproject/sha2": "^5.5.0",
+				"@ethersproject/strings": "^5.5.0",
+				"@ethersproject/transactions": "^5.5.0",
+				"@ethersproject/web": "^5.5.0",
+				"bech32": "1.1.4",
+				"ws": "7.4.6"
+			}
+		},
+		"@ethersproject/random": {
+			"version": "5.5.1",
+			"resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.5.1.tgz",
+			"integrity": "sha512-YaU2dQ7DuhL5Au7KbcQLHxcRHfgyNgvFV4sQOo0HrtW3Zkrc9ctWNz8wXQ4uCSfSDsqX2vcjhroxU5RQRV0nqA==",
+			"requires": {
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/logger": "^5.5.0"
+			}
+		},
+		"@ethersproject/rlp": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.5.0.tgz",
+			"integrity": "sha512-hLv8XaQ8PTI9g2RHoQGf/WSxBfTB/NudRacbzdxmst5VHAqd1sMibWG7SENzT5Dj3yZ3kJYx+WiRYEcQTAkcYA==",
+			"requires": {
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/logger": "^5.5.0"
+			}
+		},
+		"@ethersproject/sha2": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.5.0.tgz",
+			"integrity": "sha512-B5UBoglbCiHamRVPLA110J+2uqsifpZaTmid2/7W5rbtYVz6gus6/hSDieIU/6gaKIDcOj12WnOdiymEUHIAOA==",
+			"requires": {
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/logger": "^5.5.0",
+				"hash.js": "1.1.7"
+			}
+		},
+		"@ethersproject/signing-key": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.5.0.tgz",
+			"integrity": "sha512-5VmseH7qjtNmDdZBswavhotYbWB0bOwKIlOTSlX14rKn5c11QmJwGt4GHeo7NrL/Ycl7uo9AHvEqs5xZgFBTng==",
+			"requires": {
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/logger": "^5.5.0",
+				"@ethersproject/properties": "^5.5.0",
+				"bn.js": "^4.11.9",
+				"elliptic": "6.5.4",
+				"hash.js": "1.1.7"
+			}
+		},
+		"@ethersproject/solidity": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.5.0.tgz",
+			"integrity": "sha512-9NgZs9LhGMj6aCtHXhtmFQ4AN4sth5HuFXVvAQtzmm0jpSCNOTGtrHZJAeYTh7MBjRR8brylWZxBZR9zDStXbw==",
+			"requires": {
+				"@ethersproject/bignumber": "^5.5.0",
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/keccak256": "^5.5.0",
+				"@ethersproject/logger": "^5.5.0",
+				"@ethersproject/sha2": "^5.5.0",
+				"@ethersproject/strings": "^5.5.0"
+			}
+		},
+		"@ethersproject/strings": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.5.0.tgz",
+			"integrity": "sha512-9fy3TtF5LrX/wTrBaT8FGE6TDJyVjOvXynXJz5MT5azq+E6D92zuKNx7i29sWW2FjVOaWjAsiZ1ZWznuduTIIQ==",
+			"requires": {
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/constants": "^5.5.0",
+				"@ethersproject/logger": "^5.5.0"
+			}
+		},
+		"@ethersproject/transactions": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.5.0.tgz",
+			"integrity": "sha512-9RZYSKX26KfzEd/1eqvv8pLauCKzDTub0Ko4LfIgaERvRuwyaNV78mJs7cpIgZaDl6RJui4o49lHwwCM0526zA==",
+			"requires": {
+				"@ethersproject/address": "^5.5.0",
+				"@ethersproject/bignumber": "^5.5.0",
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/constants": "^5.5.0",
+				"@ethersproject/keccak256": "^5.5.0",
+				"@ethersproject/logger": "^5.5.0",
+				"@ethersproject/properties": "^5.5.0",
+				"@ethersproject/rlp": "^5.5.0",
+				"@ethersproject/signing-key": "^5.5.0"
+			}
+		},
+		"@ethersproject/units": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.5.0.tgz",
+			"integrity": "sha512-7+DpjiZk4v6wrikj+TCyWWa9dXLNU73tSTa7n0TSJDxkYbV3Yf1eRh9ToMLlZtuctNYu9RDNNy2USq3AdqSbag==",
+			"requires": {
+				"@ethersproject/bignumber": "^5.5.0",
+				"@ethersproject/constants": "^5.5.0",
+				"@ethersproject/logger": "^5.5.0"
+			}
+		},
+		"@ethersproject/wallet": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.5.0.tgz",
+			"integrity": "sha512-Mlu13hIctSYaZmUOo7r2PhNSd8eaMPVXe1wxrz4w4FCE4tDYBywDH+bAR1Xz2ADyXGwqYMwstzTrtUVIsKDO0Q==",
+			"requires": {
+				"@ethersproject/abstract-provider": "^5.5.0",
+				"@ethersproject/abstract-signer": "^5.5.0",
+				"@ethersproject/address": "^5.5.0",
+				"@ethersproject/bignumber": "^5.5.0",
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/hash": "^5.5.0",
+				"@ethersproject/hdnode": "^5.5.0",
+				"@ethersproject/json-wallets": "^5.5.0",
+				"@ethersproject/keccak256": "^5.5.0",
+				"@ethersproject/logger": "^5.5.0",
+				"@ethersproject/properties": "^5.5.0",
+				"@ethersproject/random": "^5.5.0",
+				"@ethersproject/signing-key": "^5.5.0",
+				"@ethersproject/transactions": "^5.5.0",
+				"@ethersproject/wordlists": "^5.5.0"
+			}
+		},
+		"@ethersproject/web": {
+			"version": "5.5.1",
+			"resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.5.1.tgz",
+			"integrity": "sha512-olvLvc1CB12sREc1ROPSHTdFCdvMh0J5GSJYiQg2D0hdD4QmJDy8QYDb1CvoqD/bF1c++aeKv2sR5uduuG9dQg==",
+			"requires": {
+				"@ethersproject/base64": "^5.5.0",
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/logger": "^5.5.0",
+				"@ethersproject/properties": "^5.5.0",
+				"@ethersproject/strings": "^5.5.0"
+			}
+		},
+		"@ethersproject/wordlists": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.5.0.tgz",
+			"integrity": "sha512-bL0UTReWDiaQJJYOC9sh/XcRu/9i2jMrzf8VLRmPKx58ckSlOJiohODkECCO50dtLZHcGU6MLXQ4OOrgBwP77Q==",
+			"requires": {
+				"@ethersproject/bytes": "^5.5.0",
+				"@ethersproject/hash": "^5.5.0",
+				"@ethersproject/logger": "^5.5.0",
+				"@ethersproject/properties": "^5.5.0",
+				"@ethersproject/strings": "^5.5.0"
+			}
+		},
+		"@formatjs/ecma402-abstract": {
+			"version": "1.11.4",
+			"resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.11.4.tgz",
+			"integrity": "sha512-EBikYFp2JCdIfGEb5G9dyCkTGDmC57KSHhRQOC3aYxoPWVZvfWCDjZwkGYHN7Lis/fmuWl906bnNTJifDQ3sXw==",
+			"requires": {
+				"@formatjs/intl-localematcher": "0.2.25",
+				"tslib": "^2.1.0"
+			}
+		},
+		"@formatjs/fast-memoize": {
+			"version": "1.2.1",
+			"resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-1.2.1.tgz",
+			"integrity": "sha512-Rg0e76nomkz3vF9IPlKeV+Qynok0r7YZjL6syLz4/urSg0IbjPZCB/iYUMNsYA643gh4mgrX3T7KEIFIxJBQeg==",
+			"requires": {
+				"tslib": "^2.1.0"
+			}
+		},
+		"@formatjs/icu-messageformat-parser": {
+			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.1.0.tgz",
+			"integrity": "sha512-Qxv/lmCN6hKpBSss2uQ8IROVnta2r9jd3ymUEIjm2UyIkUCHVcbUVRGL/KS/wv7876edvsPe+hjHVJ4z8YuVaw==",
+			"requires": {
+				"@formatjs/ecma402-abstract": "1.11.4",
+				"@formatjs/icu-skeleton-parser": "1.3.6",
+				"tslib": "^2.1.0"
+			}
+		},
+		"@formatjs/icu-skeleton-parser": {
+			"version": "1.3.6",
+			"resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.6.tgz",
+			"integrity": "sha512-I96mOxvml/YLrwU2Txnd4klA7V8fRhb6JG/4hm3VMNmeJo1F03IpV2L3wWt7EweqNLES59SZ4d6hVOPCSf80Bg==",
+			"requires": {
+				"@formatjs/ecma402-abstract": "1.11.4",
+				"tslib": "^2.1.0"
+			}
+		},
+		"@formatjs/intl-localematcher": {
+			"version": "0.2.25",
+			"resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.25.tgz",
+			"integrity": "sha512-YmLcX70BxoSopLFdLr1Ds99NdlTI2oWoLbaUW2M406lxOIPzE1KQhRz2fPUkq34xVZQaihCoU29h0KK7An3bhA==",
+			"requires": {
+				"tslib": "^2.1.0"
+			}
+		},
+		"@hapi/hoek": {
+			"version": "9.3.0",
+			"resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz",
+			"integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ=="
+		},
+		"@hapi/topo": {
+			"version": "5.1.0",
+			"resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz",
+			"integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==",
+			"requires": {
+				"@hapi/hoek": "^9.0.0"
+			}
+		},
 		"@humanwhocodes/config-array": {
 			"version": "0.11.8",
 			"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz",
@@ -4150,6 +5861,24 @@
 			"integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==",
 			"dev": true
 		},
+		"@sideway/address": {
+			"version": "4.1.4",
+			"resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz",
+			"integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==",
+			"requires": {
+				"@hapi/hoek": "^9.0.0"
+			}
+		},
+		"@sideway/formula": {
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz",
+			"integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg=="
+		},
+		"@sideway/pinpoint": {
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz",
+			"integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ=="
+		},
 		"@sveltejs/adapter-auto": {
 			"version": "2.0.1",
 			"resolved": "https://registry.npmjs.org/@sveltejs/adapter-auto/-/adapter-auto-2.0.1.tgz",
@@ -4338,6 +6067,118 @@
 				"eslint-visitor-keys": "^3.3.0"
 			}
 		},
+		"@web3-onboard/common": {
+			"version": "2.3.1",
+			"resolved": "https://registry.npmjs.org/@web3-onboard/common/-/common-2.3.1.tgz",
+			"integrity": "sha512-VRIsJLW92Q+bu6w9WSlTrPIk0vGmFvVwnoAKy1ubKuBvSKKhMUmrnv8N5tusr0mk+gcUuUdDF6gLDCABqrfC7g==",
+			"requires": {
+				"bignumber.js": "^9.1.0",
+				"ethers": "5.5.4",
+				"joi": "17.9.1"
+			},
+			"dependencies": {
+				"@ethersproject/providers": {
+					"version": "5.5.3",
+					"resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.5.3.tgz",
+					"integrity": "sha512-ZHXxXXXWHuwCQKrgdpIkbzMNJMvs+9YWemanwp1fA7XZEv7QlilseysPvQe0D7Q7DlkJX/w/bGA1MdgK2TbGvA==",
+					"requires": {
+						"@ethersproject/abstract-provider": "^5.5.0",
+						"@ethersproject/abstract-signer": "^5.5.0",
+						"@ethersproject/address": "^5.5.0",
+						"@ethersproject/basex": "^5.5.0",
+						"@ethersproject/bignumber": "^5.5.0",
+						"@ethersproject/bytes": "^5.5.0",
+						"@ethersproject/constants": "^5.5.0",
+						"@ethersproject/hash": "^5.5.0",
+						"@ethersproject/logger": "^5.5.0",
+						"@ethersproject/networks": "^5.5.0",
+						"@ethersproject/properties": "^5.5.0",
+						"@ethersproject/random": "^5.5.0",
+						"@ethersproject/rlp": "^5.5.0",
+						"@ethersproject/sha2": "^5.5.0",
+						"@ethersproject/strings": "^5.5.0",
+						"@ethersproject/transactions": "^5.5.0",
+						"@ethersproject/web": "^5.5.0",
+						"bech32": "1.1.4",
+						"ws": "7.4.6"
+					}
+				},
+				"ethers": {
+					"version": "5.5.4",
+					"resolved": "https://registry.npmjs.org/ethers/-/ethers-5.5.4.tgz",
+					"integrity": "sha512-N9IAXsF8iKhgHIC6pquzRgPBJEzc9auw3JoRkaKe+y4Wl/LFBtDDunNe7YmdomontECAcC5APaAgWZBiu1kirw==",
+					"requires": {
+						"@ethersproject/abi": "5.5.0",
+						"@ethersproject/abstract-provider": "5.5.1",
+						"@ethersproject/abstract-signer": "5.5.0",
+						"@ethersproject/address": "5.5.0",
+						"@ethersproject/base64": "5.5.0",
+						"@ethersproject/basex": "5.5.0",
+						"@ethersproject/bignumber": "5.5.0",
+						"@ethersproject/bytes": "5.5.0",
+						"@ethersproject/constants": "5.5.0",
+						"@ethersproject/contracts": "5.5.0",
+						"@ethersproject/hash": "5.5.0",
+						"@ethersproject/hdnode": "5.5.0",
+						"@ethersproject/json-wallets": "5.5.0",
+						"@ethersproject/keccak256": "5.5.0",
+						"@ethersproject/logger": "5.5.0",
+						"@ethersproject/networks": "5.5.2",
+						"@ethersproject/pbkdf2": "5.5.0",
+						"@ethersproject/properties": "5.5.0",
+						"@ethersproject/providers": "5.5.3",
+						"@ethersproject/random": "5.5.1",
+						"@ethersproject/rlp": "5.5.0",
+						"@ethersproject/sha2": "5.5.0",
+						"@ethersproject/signing-key": "5.5.0",
+						"@ethersproject/solidity": "5.5.0",
+						"@ethersproject/strings": "5.5.0",
+						"@ethersproject/transactions": "5.5.0",
+						"@ethersproject/units": "5.5.0",
+						"@ethersproject/wallet": "5.5.0",
+						"@ethersproject/web": "5.5.1",
+						"@ethersproject/wordlists": "5.5.0"
+					}
+				}
+			}
+		},
+		"@web3-onboard/core": {
+			"version": "2.17.0",
+			"resolved": "https://registry.npmjs.org/@web3-onboard/core/-/core-2.17.0.tgz",
+			"integrity": "sha512-N6LKiNVjHHOqEdh9RrRAhlWid3bm6SqaCyMcfbqcJceWL53V4nFMTleutIX/YGZbqfms27p6oTAk1xZ0470L+g==",
+			"requires": {
+				"@web3-onboard/common": "^2.3.1",
+				"bignumber.js": "^9.0.0",
+				"bnc-sdk": "^4.6.7",
+				"bowser": "^2.11.0",
+				"ethers": "5.5.3",
+				"eventemitter3": "^4.0.7",
+				"joi": "17.9.1",
+				"lodash.merge": "^4.6.2",
+				"lodash.partition": "^4.6.0",
+				"nanoid": "^4.0.0",
+				"rxjs": "^7.5.5",
+				"svelte": "^3.49.0",
+				"svelte-i18n": "^3.3.13"
+			},
+			"dependencies": {
+				"nanoid": {
+					"version": "4.0.2",
+					"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-4.0.2.tgz",
+					"integrity": "sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw=="
+				}
+			}
+		},
+		"@web3-onboard/injected-wallets": {
+			"version": "2.8.5",
+			"resolved": "https://registry.npmjs.org/@web3-onboard/injected-wallets/-/injected-wallets-2.8.5.tgz",
+			"integrity": "sha512-0+Rd4AVsQ40QICV8eh/VLgwJcKf24tjqA4BREENKl7C7Gw35L8ZJTsbwg3mBIrzy9jK0WC36jvNrX0OtBoQvVQ==",
+			"requires": {
+				"@web3-onboard/common": "^2.3.1",
+				"joi": "17.9.1",
+				"lodash.uniqby": "^4.7.0"
+			}
+		},
 		"acorn": {
 			"version": "8.8.2",
 			"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz",
@@ -4357,6 +6198,11 @@
 			"integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==",
 			"dev": true
 		},
+		"aes-js": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz",
+			"integrity": "sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw=="
+		},
 		"ajv": {
 			"version": "6.12.6",
 			"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
@@ -4444,12 +6290,58 @@
 			"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
 			"dev": true
 		},
+		"bech32": {
+			"version": "1.1.4",
+			"resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz",
+			"integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ=="
+		},
+		"bignumber.js": {
+			"version": "9.1.1",
+			"resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.1.tgz",
+			"integrity": "sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig=="
+		},
 		"binary-extensions": {
 			"version": "2.2.0",
 			"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
 			"integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
 			"dev": true
 		},
+		"bn.js": {
+			"version": "4.12.0",
+			"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
+			"integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
+		},
+		"bnc-sdk": {
+			"version": "4.6.7",
+			"resolved": "https://registry.npmjs.org/bnc-sdk/-/bnc-sdk-4.6.7.tgz",
+			"integrity": "sha512-jIQ6cmeRBgvH/YDLuYRr2+kxDGcAAi0SOvjlO5nQ5cWdbslw+ASWftd1HmxiVLNCiwEH5bSc/t8a0agZ5njTUQ==",
+			"requires": {
+				"crypto-es": "^1.2.2",
+				"nanoid": "^3.3.1",
+				"rxjs": "^6.6.3",
+				"sturdy-websocket": "^0.1.12"
+			},
+			"dependencies": {
+				"rxjs": {
+					"version": "6.6.7",
+					"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz",
+					"integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==",
+					"requires": {
+						"tslib": "^1.9.0"
+					}
+				},
+				"tslib": {
+					"version": "1.14.1",
+					"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+					"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
+				}
+			}
+		},
+		"bowser": {
+			"version": "2.11.0",
+			"resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz",
+			"integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA=="
+		},
 		"brace-expansion": {
 			"version": "1.1.11",
 			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -4469,6 +6361,11 @@
 				"fill-range": "^7.0.1"
 			}
 		},
+		"brorand": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
+			"integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w=="
+		},
 		"browserslist": {
 			"version": "4.21.5",
 			"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz",
@@ -4572,6 +6469,18 @@
 				}
 			}
 		},
+		"cli-color": {
+			"version": "2.0.3",
+			"resolved": "https://registry.npmjs.org/cli-color/-/cli-color-2.0.3.tgz",
+			"integrity": "sha512-OkoZnxyC4ERN3zLzZaY9Emb7f/MhBOIpePv0Ycok0fJYT+Ouo00UBEIwsVsr0yoow++n5YWlSUgST9GKhNHiRQ==",
+			"requires": {
+				"d": "^1.0.1",
+				"es5-ext": "^0.10.61",
+				"es6-iterator": "^2.0.3",
+				"memoizee": "^0.4.15",
+				"timers-ext": "^0.1.7"
+			}
+		},
 		"color-convert": {
 			"version": "2.0.1",
 			"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -4616,12 +6525,26 @@
 				"which": "^2.0.1"
 			}
 		},
+		"crypto-es": {
+			"version": "1.2.7",
+			"resolved": "https://registry.npmjs.org/crypto-es/-/crypto-es-1.2.7.tgz",
+			"integrity": "sha512-UUqiVJ2gUuZFmbFsKmud3uuLcNP2+Opt+5ysmljycFCyhA0+T16XJmo1ev/t5kMChMqWh7IEvURNCqsg+SjZGQ=="
+		},
 		"cssesc": {
 			"version": "3.0.0",
 			"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
 			"integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
 			"dev": true
 		},
+		"d": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
+			"integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
+			"requires": {
+				"es5-ext": "^0.10.50",
+				"type": "^1.0.1"
+			}
+		},
 		"debug": {
 			"version": "4.3.4",
 			"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
@@ -4649,8 +6572,7 @@
 		"deepmerge": {
 			"version": "4.3.1",
 			"resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
-			"integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
-			"dev": true
+			"integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A=="
 		},
 		"detect-indent": {
 			"version": "6.1.0",
@@ -4700,12 +6622,66 @@
 			"integrity": "sha512-dNP9tQNTrjgVlSXMqGaj0BdrCS+9pcUvy5/emB6x8kh0YwCoDZ0Z4ce1+7aod+KhybHUd5o5LgKrc5al4kVmzQ==",
 			"dev": true
 		},
+		"elliptic": {
+			"version": "6.5.4",
+			"resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz",
+			"integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==",
+			"requires": {
+				"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"
+			}
+		},
+		"es5-ext": {
+			"version": "0.10.62",
+			"resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz",
+			"integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==",
+			"requires": {
+				"es6-iterator": "^2.0.3",
+				"es6-symbol": "^3.1.3",
+				"next-tick": "^1.1.0"
+			}
+		},
+		"es6-iterator": {
+			"version": "2.0.3",
+			"resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
+			"integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==",
+			"requires": {
+				"d": "1",
+				"es5-ext": "^0.10.35",
+				"es6-symbol": "^3.1.1"
+			}
+		},
 		"es6-promise": {
 			"version": "3.3.1",
 			"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz",
 			"integrity": "sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==",
 			"dev": true
 		},
+		"es6-symbol": {
+			"version": "3.1.3",
+			"resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz",
+			"integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==",
+			"requires": {
+				"d": "^1.0.1",
+				"ext": "^1.1.2"
+			}
+		},
+		"es6-weak-map": {
+			"version": "2.0.3",
+			"resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz",
+			"integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==",
+			"requires": {
+				"d": "1",
+				"es5-ext": "^0.10.46",
+				"es6-iterator": "^2.0.3",
+				"es6-symbol": "^3.1.1"
+			}
+		},
 		"esbuild": {
 			"version": "0.17.18",
 			"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.18.tgz",
@@ -4911,12 +6887,83 @@
 			"integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
 			"dev": true
 		},
+		"estree-walker": {
+			"version": "2.0.2",
+			"resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+			"integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
+		},
 		"esutils": {
 			"version": "2.0.3",
 			"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
 			"integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
 			"dev": true
 		},
+		"ethers": {
+			"version": "5.5.3",
+			"resolved": "https://registry.npmjs.org/ethers/-/ethers-5.5.3.tgz",
+			"integrity": "sha512-fTT4WT8/hTe/BLwRUtl7I5zlpF3XC3P/Xwqxc5AIP2HGlH15qpmjs0Ou78az93b1rLITzXLFxoNX63B8ZbUd7g==",
+			"requires": {
+				"@ethersproject/abi": "5.5.0",
+				"@ethersproject/abstract-provider": "5.5.1",
+				"@ethersproject/abstract-signer": "5.5.0",
+				"@ethersproject/address": "5.5.0",
+				"@ethersproject/base64": "5.5.0",
+				"@ethersproject/basex": "5.5.0",
+				"@ethersproject/bignumber": "5.5.0",
+				"@ethersproject/bytes": "5.5.0",
+				"@ethersproject/constants": "5.5.0",
+				"@ethersproject/contracts": "5.5.0",
+				"@ethersproject/hash": "5.5.0",
+				"@ethersproject/hdnode": "5.5.0",
+				"@ethersproject/json-wallets": "5.5.0",
+				"@ethersproject/keccak256": "5.5.0",
+				"@ethersproject/logger": "5.5.0",
+				"@ethersproject/networks": "5.5.2",
+				"@ethersproject/pbkdf2": "5.5.0",
+				"@ethersproject/properties": "5.5.0",
+				"@ethersproject/providers": "5.5.2",
+				"@ethersproject/random": "5.5.1",
+				"@ethersproject/rlp": "5.5.0",
+				"@ethersproject/sha2": "5.5.0",
+				"@ethersproject/signing-key": "5.5.0",
+				"@ethersproject/solidity": "5.5.0",
+				"@ethersproject/strings": "5.5.0",
+				"@ethersproject/transactions": "5.5.0",
+				"@ethersproject/units": "5.5.0",
+				"@ethersproject/wallet": "5.5.0",
+				"@ethersproject/web": "5.5.1",
+				"@ethersproject/wordlists": "5.5.0"
+			}
+		},
+		"event-emitter": {
+			"version": "0.3.5",
+			"resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
+			"integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==",
+			"requires": {
+				"d": "1",
+				"es5-ext": "~0.10.14"
+			}
+		},
+		"eventemitter3": {
+			"version": "4.0.7",
+			"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
+			"integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw=="
+		},
+		"ext": {
+			"version": "1.7.0",
+			"resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz",
+			"integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==",
+			"requires": {
+				"type": "^2.7.2"
+			},
+			"dependencies": {
+				"type": {
+					"version": "2.7.2",
+					"resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz",
+					"integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw=="
+				}
+			}
+		},
 		"fast-deep-equal": {
 			"version": "3.1.3",
 			"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
@@ -5078,8 +7125,7 @@
 		"globalyzer": {
 			"version": "0.1.0",
 			"resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz",
-			"integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==",
-			"dev": true
+			"integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q=="
 		},
 		"globby": {
 			"version": "11.1.0",
@@ -5098,8 +7144,7 @@
 		"globrex": {
 			"version": "0.1.2",
 			"resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz",
-			"integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==",
-			"dev": true
+			"integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg=="
 		},
 		"graceful-fs": {
 			"version": "4.2.11",
@@ -5128,6 +7173,25 @@
 			"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
 			"dev": true
 		},
+		"hash.js": {
+			"version": "1.1.7",
+			"resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
+			"integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
+			"requires": {
+				"inherits": "^2.0.3",
+				"minimalistic-assert": "^1.0.1"
+			}
+		},
+		"hmac-drbg": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
+			"integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==",
+			"requires": {
+				"hash.js": "^1.0.3",
+				"minimalistic-assert": "^1.0.0",
+				"minimalistic-crypto-utils": "^1.0.1"
+			}
+		},
 		"ignore": {
 			"version": "5.2.4",
 			"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
@@ -5169,8 +7233,18 @@
 		"inherits": {
 			"version": "2.0.4",
 			"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
-			"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
-			"dev": true
+			"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+		},
+		"intl-messageformat": {
+			"version": "9.13.0",
+			"resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-9.13.0.tgz",
+			"integrity": "sha512-7sGC7QnSQGa5LZP7bXLDhVDtQOeKGeBFGHF2Y8LVBwYZoQZCgWeKoPGTa5GMG8g/TzDgeXuYJQis7Ggiw2xTOw==",
+			"requires": {
+				"@formatjs/ecma402-abstract": "1.11.4",
+				"@formatjs/fast-memoize": "1.2.1",
+				"@formatjs/icu-messageformat-parser": "2.1.0",
+				"tslib": "^2.1.0"
+			}
 		},
 		"is-binary-path": {
 			"version": "2.1.0",
@@ -5217,6 +7291,11 @@
 			"integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
 			"dev": true
 		},
+		"is-promise": {
+			"version": "2.2.2",
+			"resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz",
+			"integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ=="
+		},
 		"isexe": {
 			"version": "2.0.0",
 			"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
@@ -5229,12 +7308,29 @@
 			"integrity": "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==",
 			"dev": true
 		},
+		"joi": {
+			"version": "17.9.1",
+			"resolved": "https://registry.npmjs.org/joi/-/joi-17.9.1.tgz",
+			"integrity": "sha512-FariIi9j6QODKATGBrEX7HZcja8Bsh3rfdGYy/Sb65sGlZWK/QWesU1ghk7aJWDj95knjXlQfSmzFSPPkLVsfw==",
+			"requires": {
+				"@hapi/hoek": "^9.0.0",
+				"@hapi/topo": "^5.0.0",
+				"@sideway/address": "^4.1.3",
+				"@sideway/formula": "^3.0.1",
+				"@sideway/pinpoint": "^2.0.0"
+			}
+		},
 		"js-sdsl": {
 			"version": "4.4.0",
 			"resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz",
 			"integrity": "sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==",
 			"dev": true
 		},
+		"js-sha3": {
+			"version": "0.8.0",
+			"resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.8.0.tgz",
+			"integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q=="
+		},
 		"js-yaml": {
 			"version": "4.1.0",
 			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
@@ -5305,11 +7401,25 @@
 				"p-locate": "^5.0.0"
 			}
 		},
+		"lodash.defaults": {
+			"version": "4.2.0",
+			"resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
+			"integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ=="
+		},
 		"lodash.merge": {
 			"version": "4.6.2",
 			"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
-			"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
-			"dev": true
+			"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="
+		},
+		"lodash.partition": {
+			"version": "4.6.0",
+			"resolved": "https://registry.npmjs.org/lodash.partition/-/lodash.partition-4.6.0.tgz",
+			"integrity": "sha512-35L3dSF3Q6V1w5j6V3NhNlQjzsRDC/pYKCTdYTmwqSib+Q8ponkAmt/PwEOq3EmI38DSCl+SkIVwLd+uSlVdrg=="
+		},
+		"lodash.uniqby": {
+			"version": "4.7.0",
+			"resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz",
+			"integrity": "sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww=="
 		},
 		"loupe": {
 			"version": "2.3.6",
@@ -5329,6 +7439,14 @@
 				"yallist": "^4.0.0"
 			}
 		},
+		"lru-queue": {
+			"version": "0.1.0",
+			"resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz",
+			"integrity": "sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==",
+			"requires": {
+				"es5-ext": "~0.10.2"
+			}
+		},
 		"magic-string": {
 			"version": "0.30.0",
 			"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz",
@@ -5338,6 +7456,21 @@
 				"@jridgewell/sourcemap-codec": "^1.4.13"
 			}
 		},
+		"memoizee": {
+			"version": "0.4.15",
+			"resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz",
+			"integrity": "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==",
+			"requires": {
+				"d": "^1.0.1",
+				"es5-ext": "^0.10.53",
+				"es6-weak-map": "^2.0.3",
+				"event-emitter": "^0.3.5",
+				"is-promise": "^2.2.2",
+				"lru-queue": "^0.1.0",
+				"next-tick": "^1.1.0",
+				"timers-ext": "^0.1.7"
+			}
+		},
 		"merge2": {
 			"version": "1.4.1",
 			"resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
@@ -5366,6 +7499,16 @@
 			"integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==",
 			"dev": true
 		},
+		"minimalistic-assert": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
+			"integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A=="
+		},
+		"minimalistic-crypto-utils": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
+			"integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg=="
+		},
 		"minimatch": {
 			"version": "3.1.2",
 			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
@@ -5393,8 +7536,7 @@
 		"mri": {
 			"version": "1.2.0",
 			"resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz",
-			"integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==",
-			"dev": true
+			"integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA=="
 		},
 		"mrmime": {
 			"version": "1.0.1",
@@ -5422,8 +7564,7 @@
 		"nanoid": {
 			"version": "3.3.6",
 			"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
-			"integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==",
-			"dev": true
+			"integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA=="
 		},
 		"natural-compare": {
 			"version": "1.4.0",
@@ -5437,6 +7578,11 @@
 			"integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==",
 			"dev": true
 		},
+		"next-tick": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz",
+			"integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ=="
+		},
 		"node-releases": {
 			"version": "2.0.10",
 			"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz",
@@ -5755,11 +7901,18 @@
 				"queue-microtask": "^1.2.2"
 			}
 		},
+		"rxjs": {
+			"version": "7.8.1",
+			"resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz",
+			"integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==",
+			"requires": {
+				"tslib": "^2.1.0"
+			}
+		},
 		"sade": {
 			"version": "1.8.1",
 			"resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz",
 			"integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==",
-			"dev": true,
 			"requires": {
 				"mri": "^1.1.0"
 			}
@@ -5787,6 +7940,11 @@
 				}
 			}
 		},
+		"scrypt-js": {
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz",
+			"integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA=="
+		},
 		"semver": {
 			"version": "7.5.0",
 			"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz",
@@ -5897,6 +8055,14 @@
 				"acorn": "^8.8.2"
 			}
 		},
+		"sturdy-websocket": {
+			"version": "0.1.12",
+			"resolved": "https://registry.npmjs.org/sturdy-websocket/-/sturdy-websocket-0.1.12.tgz",
+			"integrity": "sha512-PA7h8LdjaMoIlC5HAwLVzae4raGWgyroscV4oUpEiTtEFINcNa47/CKYT3e98o+FfsJgrclI2pYpaJrz0aaoew==",
+			"requires": {
+				"lodash.defaults": "^4.2.0"
+			}
+		},
 		"sucrase": {
 			"version": "3.32.0",
 			"resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.32.0.tgz",
@@ -5946,8 +8112,7 @@
 		"svelte": {
 			"version": "3.58.0",
 			"resolved": "https://registry.npmjs.org/svelte/-/svelte-3.58.0.tgz",
-			"integrity": "sha512-brIBNNB76mXFmU/Kerm4wFnkskBbluBDCjx/8TcpYRb298Yh2dztS2kQ6bhtjMcvUhd5ynClfwpz5h2gnzdQ1A==",
-			"dev": true
+			"integrity": "sha512-brIBNNB76mXFmU/Kerm4wFnkskBbluBDCjx/8TcpYRb298Yh2dztS2kQ6bhtjMcvUhd5ynClfwpz5h2gnzdQ1A=="
 		},
 		"svelte-check": {
 			"version": "3.2.0",
@@ -6001,6 +8166,19 @@
 			"dev": true,
 			"requires": {}
 		},
+		"svelte-i18n": {
+			"version": "3.6.0",
+			"resolved": "https://registry.npmjs.org/svelte-i18n/-/svelte-i18n-3.6.0.tgz",
+			"integrity": "sha512-qvvcMqHVCXJ5pHoQR5uGzWAW5vS3qB9mBq+W6veLZ6jkrzZGOziR+wyOUJsc59BupMh+Ae30qjOndFrRU6v5jA==",
+			"requires": {
+				"cli-color": "^2.0.3",
+				"deepmerge": "^4.2.2",
+				"estree-walker": "^2",
+				"intl-messageformat": "^9.13.0",
+				"sade": "^1.8.1",
+				"tiny-glob": "^0.2.9"
+			}
+		},
 		"svelte-preprocess": {
 			"version": "5.0.3",
 			"resolved": "https://registry.npmjs.org/svelte-preprocess/-/svelte-preprocess-5.0.3.tgz",
@@ -6098,11 +8276,19 @@
 				"thenify": ">= 3.1.0 < 4"
 			}
 		},
+		"timers-ext": {
+			"version": "0.1.7",
+			"resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz",
+			"integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==",
+			"requires": {
+				"es5-ext": "~0.10.46",
+				"next-tick": "1"
+			}
+		},
 		"tiny-glob": {
 			"version": "0.2.9",
 			"resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz",
 			"integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==",
-			"dev": true,
 			"requires": {
 				"globalyzer": "0.1.0",
 				"globrex": "^0.1.2"
@@ -6150,8 +8336,7 @@
 		"tslib": {
 			"version": "2.5.0",
 			"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz",
-			"integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==",
-			"dev": true
+			"integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg=="
 		},
 		"tsutils": {
 			"version": "3.21.0",
@@ -6170,6 +8355,11 @@
 				}
 			}
 		},
+		"type": {
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
+			"integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg=="
+		},
 		"type-check": {
 			"version": "0.4.0",
 			"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
@@ -6293,6 +8483,12 @@
 			"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
 			"dev": true
 		},
+		"ws": {
+			"version": "7.4.6",
+			"resolved": "https://registry.npmjs.org/ws/-/ws-7.4.6.tgz",
+			"integrity": "sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==",
+			"requires": {}
+		},
 		"yallist": {
 			"version": "4.0.0",
 			"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
diff --git a/package.json b/package.json
index 2e127d4..d5adc7d 100644
--- a/package.json
+++ b/package.json
@@ -34,5 +34,9 @@
 		"vite": "^4.3.0",
 		"vitest": "^0.25.3"
 	},
-	"type": "module"
-}
+	"type": "module",
+	"dependencies": {
+		"@web3-onboard/core": "^2.17.0",
+		"@web3-onboard/injected-wallets": "^2.8.5"
+	}
+}
\ No newline at end of file
diff --git a/src/lib/assets/logo.svg b/src/lib/assets/logo.svg
new file mode 100644
index 0000000..6daad85
--- /dev/null
+++ b/src/lib/assets/logo.svg
@@ -0,0 +1,3 @@
+<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
+    <circle cx="50" cy="50" r="50" fill="green" />
+</svg>
\ No newline at end of file
diff --git a/src/lib/components/ConnectButton.svelte b/src/lib/components/ConnectButton.svelte
new file mode 100644
index 0000000..ffaee3a
--- /dev/null
+++ b/src/lib/components/ConnectButton.svelte
@@ -0,0 +1,34 @@
+<script lang="ts">
+	import onboard from '$lib/web3-onboard';
+	// Subscribe to wallet updates
+	const wallets$ = onboard.state.select('wallets');
+	// The first wallet in the array of connected wallets
+	$: connectedAccount = $wallets$?.[0]?.accounts?.[0];
+	const connect = async () => {
+		await onboard.connectWallet();
+	};
+	const disconnect = () => {
+		onboard.disconnectWallet({ label: $wallets$?.[0]?.label });
+	};
+	const trunc = (address: string) =>
+		address ? address.slice(0, 6) + '...' + address.slice(-6) : null;
+</script>
+
+{#if connectedAccount}
+	<div class="self-center">
+		<div>
+			<div>{trunc(connectedAccount.address)}</div>
+		</div>
+		<button
+			class="text-white bg-red-700 hover:bg-red-800 focus:ring-4 focus:outline-none focus:ring-red-300 font-medium rounded-lg text-sm w-full sm:w-auto px-5 py-2.5 text-center dark:bg-red-600 dark:hover:bg-red-700 dark:focus:ring-red-900"
+			on:click={disconnect}>Disconnect</button
+		>
+	</div>
+{:else}
+	<div class="self-center">
+		<button
+			class="text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm w-full sm:w-auto px-5 py-2.5 text-center dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"
+			on:click={connect}>Connect</button
+		>
+	</div>
+{/if}
diff --git a/src/lib/web3-onboard.ts b/src/lib/web3-onboard.ts
new file mode 100644
index 0000000..2f7701b
--- /dev/null
+++ b/src/lib/web3-onboard.ts
@@ -0,0 +1,53 @@
+import Onboard from '@web3-onboard/core';
+import type { OnboardAPI } from '@web3-onboard/core';
+import injectedWalletsModule from '@web3-onboard/injected-wallets';
+// import walletConnectModule from '@web3-onboard/walletconnect';
+
+import logo from '$lib/assets/logo.svg';
+
+const injected = injectedWalletsModule();
+// const walletConnect = walletConnectModule({
+// 	connectFirstChainId: true,
+// 	qrcodeModalOptions: {
+// 		mobileLinks: ['rainbow', 'metamask', 'argent', 'trust', 'imtoken', 'pillar']
+// 	}
+// });
+
+const wallets = [injected];
+
+const chains = [
+	{
+		id: 6363,
+		token: 'ECOM',
+		label: 'Clermont (testnet)',
+		color: '#3b82f6',
+		rpcUrl: 'http://ecomobicoin-1.cri.local.isima.fr:8545/'
+		// blockExplorerUrl
+	},
+	{
+		id: 31337,
+		token: 'ECOM',
+		label: 'Local testnet',
+		rpcUrl: 'http://127.0.0.1:8545/'
+	}
+];
+
+const appMetadata = {
+	name: 'EcoMobiCoin Example App',
+	icon: logo,
+	explore: 'https://ecomobicoin.limos.fr/',
+	// logo: '<svg />',
+	description: 'Interact with the EcoMobiCoin blockchain',
+	recommendedInjectedWallets: [{ name: 'MetaMask', url: 'https://metamask.io' }]
+};
+let onboard;
+
+if (!onboard) {
+	onboard = Onboard({
+		wallets,
+		chains,
+		appMetadata
+	});
+}
+
+export default onboard as OnboardAPI;
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte
index 0f97f5a..2c44e1c 100644
--- a/src/routes/+page.svelte
+++ b/src/routes/+page.svelte
@@ -1,3 +1,7 @@
+<script>
+	import ConnectButton from '$lib/components/ConnectButton.svelte';
+</script>
+
 <svelte:head>
 	<title>EcoMobiCoin Example App</title>
 	<meta
@@ -8,16 +12,9 @@
 </svelte:head>
 
 <div class="flex flex-col my-40 mx-4">
-	<button
-		type="button"
-		class="self-center text-white bg-blue-700 hover:bg-blue-800 focus:ring-4 focus:outline-none focus:ring-blue-300 font-medium rounded-lg text-sm w-full sm:w-auto px-5 py-2.5 text-center dark:bg-blue-600 dark:hover:bg-blue-700 dark:focus:ring-blue-800"
-		>Connect</button
-	>
+	<ConnectButton />
 	<div>
 		<h1>TODO:</h1>
-		<p>- Connect wallet</p>
-		<p>- Change network (and its ID)</p>
-		<p>- Setup RPC url</p>
 		<p>- Setup block explorer ?!?</p>
 	</div>
 	<div class="mt-2">
-- 
GitLab