fix(cw_solana): signMessage to return properly formatted signature (#2352)

feat(dfx) add initial support for solana and tron

cyan committed Jul 3, 2025 at 03:11 UTC e34cc77f6accbc4fe0d821b2d0695f9e50a68b7d
2 files changed +7 -4
cw_solana/lib/solana_wallet.dart
+3 -3
@@ -563,9 +563,9 @@ abstract class SolanaWalletBase
563 final messageBytes = utf8.encode(message);
564
565 // Sign the message bytes with the wallet's private key
566 - final signature = (_solanaPrivateKey.sign(messageBytes)).toString();
567 -
568 - return HEX.encode(utf8.encode(signature)).toUpperCase();
566 + final signature = (_solanaPrivateKey.sign(messageBytes));
567 +
568 + return Base58Encoder.encode(signature);
569 }
570
571 List<List<int>> bytesFromSigString(String signatureString) {
lib/buy/dfx/dfx_buy_provider.dart
+4 -1
@@ -123,7 +123,10 @@ class DFXBuyProvider extends BuyProvider {
123 switch (wallet.type) {
124 case WalletType.ethereum:
125 case WalletType.polygon:
126 - return await wallet.signMessage(message);
126 + case WalletType.solana:
127 + case WalletType.tron:
128 + final r = await wallet.signMessage(message);
129 + return r;
130 case WalletType.monero:
131 case WalletType.litecoin:
132 case WalletType.bitcoin: