Skip to content

Instantly share code, notes, and snippets.

@quetool
Created April 26, 2024 15:08
Show Gist options
  • Save quetool/eac3b18faeb589c0299292f93ca62c5c to your computer and use it in GitHub Desktop.
Save quetool/eac3b18faeb589c0299292f93ca62c5c to your computer and use it in GitHub Desktop.
Supporting Solana
import 'package:flutter/material.dart';
import 'package:get_it/get_it.dart';
import 'package:walletconnect_flutter_v2_wallet/dependencies/i_web3wallet_service.dart';
import 'package:walletconnect_flutter_v2_wallet/models/chain_metadata.dart';
class SOLANAService {
Map<String, dynamic Function(String, dynamic)> get solanaRequestHandlers => {
'solana_signMessage': solanaSignMessage,
'solana_signTransaction': solanaSignTransaction,
};
final _web3Wallet = GetIt.I<IWeb3WalletService>().web3wallet;
final ChainMetadata chainSupported;
SOLANAService({required this.chainSupported}) {
for (var handler in solanaRequestHandlers.entries) {
_web3Wallet.registerRequestHandler(
chainId: chainSupported.chainId,
method: handler.key,
handler: handler.value,
);
}
}
Future<void> solanaSignMessage(String topic, dynamic parameters) async {
debugPrint('[WALLET] solanaSignMessage request: $parameters');
// return JsonRpcResponse()
}
Future<void> solanaSignTransaction(String topic, dynamic parameters) async {
debugPrint('[WALLET] solanaSignTransaction request: $parameters');
// return JsonRpcResponse()
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment