Deployments
Deployments copied to clipboard
[Galleon wallet] Invalid Signature with Beacon Wallet
Describe the bug (current behavior)
When using Beacon-SDK to sign a custom payload on our Deku Layer 2 solution for Tezos, the signature generated by Galleon is invalid.
If I use the InMemorySigner
with the address and the secret of my wallet inside Galleon, the signature is accepted and valid.
We successfully signed using AirGap wallet and Umami with Beacon-SDK.
Hence, I am wondering how is generated this signature.
Information:
- system: MacOS 12.5.1
- Galleon: Version 1.3.3 (59) (downloaded from GitHub)
I don't know if there is a way to reproduce it without using our dApp, so here is the code we use to create the BeaconWallet
and sign using it:
const Tezos = new TezosToolkit("https://mainnet.tezos.marigold.dev/");
const myWallet = new BeaconWallet({
name: "decookies",
preferredNetwork: NetworkType.CUSTOM,
});
Tezos.setWalletProvider(myWallet);
dispatch(saveWallet(myWallet));
// then later
await wallet.requestPermissions({
network: {
type: NetworkType.CUSTOM,
rpcUrl: "https://mainnet.tezos.marigold.dev/"
}
});
And finally, when we sign:
const signature = await signer.client.requestSignPayload({
signingType: SigningType.RAW,
payload: stringToHex(fullPayload)
}).then(val => val.signature);
This generated signature
is then considered as invalid by Deku.
Please note that because of this, Galleon Wallet is not available for our Layer 2 solution...
Cheers,
Gauthier