diff --git a/cw_solana/lib/solana_wallet.dart b/cw_solana/lib/solana_wallet.dart index ec65642bc..455f510ac 100644 --- a/cw_solana/lib/solana_wallet.dart +++ b/cw_solana/lib/solana_wallet.dart @@ -563,9 +563,9 @@ abstract class SolanaWalletBase final messageBytes = utf8.encode(message); // Sign the message bytes with the wallet's private key - final signature = (_solanaPrivateKey.sign(messageBytes)).toString(); - - return HEX.encode(utf8.encode(signature)).toUpperCase(); + final signature = (_solanaPrivateKey.sign(messageBytes)); + + return Base58Encoder.encode(signature); } List> bytesFromSigString(String signatureString) { diff --git a/lib/buy/dfx/dfx_buy_provider.dart b/lib/buy/dfx/dfx_buy_provider.dart index eed527cf1..b798c9ada 100644 --- a/lib/buy/dfx/dfx_buy_provider.dart +++ b/lib/buy/dfx/dfx_buy_provider.dart @@ -123,7 +123,10 @@ class DFXBuyProvider extends BuyProvider { switch (wallet.type) { case WalletType.ethereum: case WalletType.polygon: - return await wallet.signMessage(message); + case WalletType.solana: + case WalletType.tron: + final r = await wallet.signMessage(message); + return r; case WalletType.monero: case WalletType.litecoin: case WalletType.bitcoin: