Skip to content

[Galleon wallet] Invalid Signature with Beacon Wallet #76

@Gau-thier

Description

@Gau-thier

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions