Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(wallet connect 2): @taquito/wallet-connect-2 package + support in the Taquito test dapp #2059

Open
wants to merge 57 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 52 commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
1dfb1f3
feat(wallet connect 2): first commit
roxaneletourneau Oct 24, 2022
d1faea2
Use the wallet API for transfer operation and added a live code example
roxaneletourneau Oct 24, 2022
ed77165
Included wc2 in the taquito-test-dapp
roxaneletourneau Oct 26, 2022
99d8dfe
Resolved conflits
roxaneletourneau Oct 26, 2022
61e2911
Added more methods wc2
roxaneletourneau Oct 27, 2022
cb93b5b
Removed test script until tests are added
roxaneletourneau Oct 27, 2022
b9383f0
Fix taquito-test-dapp build when using local packages
roxaneletourneau Oct 31, 2022
d3c8103
Merged master
roxaneletourneau Oct 31, 2022
9ce7f99
Add build script for test-dapp to root package.json
danielelisi Oct 31, 2022
0f7ba15
Commit apps/taquito-test-dapp/package-lock.json
danielelisi Oct 31, 2022
d6729ce
Exclude @taquito/website and taquito-test-dapp-vite from nx build com…
danielelisi Oct 31, 2022
668db35
Fix for ws does not work in the browser
roxaneletourneau Nov 1, 2022
51fd4d0
Added back workspaces in package.json to avoid running integration te…
roxaneletourneau Nov 1, 2022
4596abe
display errors
roxaneletourneau Nov 1, 2022
1b83260
Select active account
roxaneletourneau Nov 2, 2022
c68478a
tets
roxaneletourneau Nov 2, 2022
399ca2b
test
roxaneletourneau Nov 2, 2022
6aff266
Update package-lock website
roxaneletourneau Nov 2, 2022
de2f443
Re-link local dependencies when deploying on Netlify
danielelisi Nov 1, 2022
b1d7a9f
Revert "Update package-lock website"
roxaneletourneau Nov 2, 2022
037f635
Revert "test"
roxaneletourneau Nov 2, 2022
2357c54
Revert "tets"
roxaneletourneau Nov 2, 2022
d213657
Revert "Added back workspaces in package.json to avoid running integr…
roxaneletourneau Nov 2, 2022
da0789e
Only run Taquito packages unit tests
danielelisi Nov 1, 2022
550ea60
Remove empty NPM test script from pack-test-tool
danielelisi Nov 1, 2022
068b110
update package-lock website
roxaneletourneau Nov 2, 2022
136a16d
Revert "update package-lock website"
roxaneletourneau Nov 2, 2022
709d887
set active account
roxaneletourneau Nov 2, 2022
16d87db
Disable wallet connect 2 example on the taquito website
roxaneletourneau Nov 2, 2022
ef8339e
Put back npm run build command for packages
roxaneletourneau Nov 2, 2022
9b70c9b
feat(wallet connect): better errors, permission handling, more comments
roxaneletourneau Nov 3, 2022
923a293
Handle session_delete event
roxaneletourneau Nov 9, 2022
7021e00
Add example session with multiple chains
roxaneletourneau Nov 9, 2022
70ec741
Merged master
roxaneletourneau Nov 21, 2022
ff17571
Added missing dep
roxaneletourneau Nov 21, 2022
0db430f
Validate Namespace
roxaneletourneau Nov 22, 2022
84ed15e
Session update and registry url
roxaneletourneau Nov 23, 2022
9c948d5
merged master
roxaneletourneau Nov 23, 2022
7389914
Remove default relay url
roxaneletourneau Nov 23, 2022
10a6bff
feat(wallet connect 2): active network + documentation
roxaneletourneau Dec 6, 2022
0bfda33
Merged master
roxaneletourneau Dec 7, 2022
b27cf0a
Merge branch 'master' into wc2
danielelisi Dec 7, 2022
2a45869
Resolve package-lock.json conflicts when using npm ci
danielelisi Dec 7, 2022
61406f2
unit tests
roxaneletourneau Dec 7, 2022
f468d51
Fix unit test job
roxaneletourneau Dec 9, 2022
2a6912e
Merged master
roxaneletourneau Dec 10, 2022
935658c
downgraded @types/jest
roxaneletourneau Dec 10, 2022
46da152
Try fix unit tests job
roxaneletourneau Dec 10, 2022
9d48ba1
fix for live code example website
roxaneletourneau Dec 12, 2022
fd7a97c
Remove typeRootsin tsconfig
roxaneletourneau Dec 12, 2022
9b8b5e2
Added more unit tests
roxaneletourneau Dec 13, 2022
bc29741
test(wallet connect 2): added more unit tests
roxaneletourneau Dec 14, 2022
5ac5544
test(wallet connect 2): add more unit tests
roxaneletourneau Dec 16, 2022
24f1094
Resolved conflicts
roxaneletourneau Dec 16, 2022
25c29c9
style(test dapp): fix types
roxaneletourneau Dec 16, 2022
ecdf35d
Try fix test dapp build
roxaneletourneau Dec 16, 2022
f9eb1d8
Added wallet-connect-2 dep in test dapp
roxaneletourneau Dec 17, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions apps/taquito-test-dapp/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
"@taquito/taquito": "^15.0.0",
"@taquito/utils": "^15.0.0",
"buffer": "^6.0.3",
"svelte-modals": "^2.0.0-beta.2",
"svelte-select": "^4.4.7",
"vite-compatible-readable-stream": "^3.6.1"
},
Expand Down
93 changes: 57 additions & 36 deletions apps/taquito-test-dapp/src/App.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import { NetworkType } from "@airgap/beacon-sdk";
import Select from "svelte-select";
import { rpcUrl } from "./config";
import store from "./store";
import store, { SDK } from "./store";
import Layout from "./Layout.svelte";
import TestContainer from "./lib/TestContainer.svelte";

Expand Down Expand Up @@ -42,14 +42,6 @@
store.updateTezos(new TezosToolkit(rpcUrl.mainnet));
store.updateNetworkType(NetworkType.MAINNET);
break;
case "hangzhounet":
store.updateTezos(new TezosToolkit(rpcUrl.hangzhounet));
store.updateNetworkType(NetworkType.HANGZHOUNET);
break;
case "ithacanet":
store.updateTezos(new TezosToolkit(rpcUrl.ithacanet));
store.updateNetworkType(NetworkType.ITHACANET);
break;
case "ghostnet":
store.updateTezos(new TezosToolkit(rpcUrl.ghostnet));
store.updateNetworkType(NetworkType.GHOSTNET);
Expand Down Expand Up @@ -149,6 +141,18 @@
margin: 10px 0px;
}

.sdk {
border: 1px solid;
border-radius: 10px;
display: flex;
flex-direction: column;
align-items: flex-start;
padding: 20px;
grid-row-gap: 10px;
align-items: center;
width: 100%;
}

button {
width: 100%;
justify-content: center;
Expand Down Expand Up @@ -195,15 +199,50 @@
<div>(use Chrome for a better experience)</div>
{/if}
<div class="options">
<button
on:click={() => {
const wallet = document.getElementById("wallet-button");
wallet.click();
}}
>
<span class="material-icons-outlined"> account_balance_wallet </span>
&nbsp; Connect your wallet
</button>
<div class="sdk">
<span><strong>Connect using beacon sdk</strong></span>
<button
on:click={() => {
const wallet = document.getElementById("wallet-button");
store.updateSdk(SDK.BEACON);
wallet.click();
}}
>
<span class="material-icons-outlined"> account_balance_wallet </span>
&nbsp; Connect your wallet
</button>
<label for="matrix-node-select" class="custom-select">
<span class="select-title">Matrix node:</span>
<Select
id="matrix-node-select"
containerStyles="width:200px"
items={availableMatrixNodes}
value={$store.matrixNode}
on:select={changeMatrixNode}
/>
</label>
<label>
<span class="select-title">Disable default events:</span>
<input
type="checkbox"
checked={$store.disableDefaultEvents}
on:change={() => store.updateDefaultEvents()}
/>
</label>
</div>
<div class="sdk">
<span><strong>Connect using Wallet Connect 2</strong></span>
<button
on:click={() => {
const walletConnect2 = document.getElementById("wallet-button");
store.updateSdk(SDK.WC2);
walletConnect2.click();
}}
>
<span class="material-icons-outlined"> account_balance_wallet </span>
&nbsp; Connect your wallet
</button>
</div>
<button>
<span class="material-icons-outlined"> usb </span>
&nbsp; Connect your Nano ledger
Expand Down Expand Up @@ -236,24 +275,6 @@
}}
/>
{/if}
<label for="matrix-node-select" class="custom-select">
<span class="select-title">Matrix node:</span>
<Select
id="matrix-node-select"
containerStyles="width:200px"
items={availableMatrixNodes}
value={$store.matrixNode}
on:select={changeMatrixNode}
/>
</label>
<label>
<span class="select-title">Disable default events:</span>
<input
type="checkbox"
checked={$store.disableDefaultEvents}
on:change={() => store.updateDefaultEvents()}
/>
</label>
</div>
</div>
</div>
Expand Down
79 changes: 79 additions & 0 deletions apps/taquito-test-dapp/src/lib/ModalActivePairing.svelte
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
<script>
import { createModalEventDispatcher } from "svelte-modals";

export let isOpen;
export let title;
export let options;

const dispatch = createModalEventDispatcher();
</script>

<style>
.modal {
position: fixed;
top: 0;
bottom: 0;
right: 0;
left: 0;
display: flex;
justify-content: center;
align-items: center;
color: black;

/* allow click-through to backdrop */
pointer-events: none;
}

.contents {
min-width: 240px;
border-radius: 6px;
padding: 16px;
background: white;
display: flex;
flex-direction: column;
justify-content: space-between;
pointer-events: auto;
}
.button {
color: black;
border-color: black;
}

h2 {
text-align: center;
font-size: 24px;
}

p {
text-align: center;
margin-top: 16px;
}

.actions {
margin-top: 32px;
display: flex;
flex-direction: column;
justify-content: space-between;
gap: 8px;
}
</style>

{#if isOpen}
<div role="dialog" class="modal">
<div class="contents">
<h2>{title}</h2>
<div class="actions">
{#each options as option}
<button class="button" on:click={() => dispatch("select", option)}>
{option.peerMetadata.logo ?? ""}
{option.peerMetadata.name}
</button>
{/each}
<p>or</p>
<button class="button" on:click={() => dispatch("select", "new_pairing")}
>New Pairing</button
>
</div>
</div>
</div>
{/if}
21 changes: 18 additions & 3 deletions apps/taquito-test-dapp/src/lib/TestContainer.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
let opHash = "";
let input = { text: "", fee: 400, storageLimit: 400, gasLimit: 4000 };
let testResult: { id: string; title: string; body: any };
let error: Error | undefined;

const run = async () => {
success = undefined;
Expand Down Expand Up @@ -63,7 +64,8 @@
};
}
} else {
throw "Error";
error = result.error;
throw result.error;
}
} catch (error) {
console.log(error);
Expand Down Expand Up @@ -274,7 +276,9 @@
</div>
{#if test.documentation}
<div class="learn-more">
<a href={test.documentation} target="_blank" rel="noopener noreferrer">Learn more about <b>{test.keyword}</b> with Taquito</a>
<a href={test.documentation} target="_blank" rel="noopener noreferrer"
>Learn more about <b>{test.keyword}</b> with Taquito</a
>
</div>
{/if}
</div>
Expand Down Expand Up @@ -369,6 +373,15 @@
<h4>
Test failed <span class="material-icons-outlined"> sentiment_very_dissatisfied </span>
</h4>
{#if error}
<div style="word-break:break-word; color:#b92a2a">
{#if error instanceof Error}
{error}
{:else}
{JSON.stringify(error)}
{/if}
</div>
{/if}
</div>
{/if}
<div class="test-run">
Expand All @@ -383,7 +396,9 @@
</div>
{#if test.documentation}
<div class="learn-more">
<a href={test.documentation} target="_blank" rel="noopener noreferrer">Learn more about <b>{test.keyword}</b> with Taquito</a>
<a href={test.documentation} target="_blank" rel="noopener noreferrer"
>Learn more about <b>{test.keyword}</b> with Taquito</a
>
</div>
{/if}
{/if}
Expand Down
Loading