getTwitterRegistryData static method
Future<List<int> >
getTwitterRegistryData({
- required SolanaRPC rpc,
- required SolAddress verifiedPubkey,
Uses the RPC node filtering feature, execution speed may vary Does not give you the handle, but is an alternative to getHandlesAndKeysFromVerifiedPubkey + getTwitterRegistry to get the data
Implementation
static Future<List<int>> getTwitterRegistryData({
required SolanaRPC rpc,
required SolAddress verifiedPubkey,
}) async {
final filteredAccounts = await rpc.request(SolanaRPCGetProgramAccounts(
account: NameServiceProgramConst.programId,
filters: [
RPCMemcmpFilterConfig(
offset: 0,
bytes:
NameServiceProgramConst.twitterRootPrentRegisteryKey.address),
RPCMemcmpFilterConfig(offset: 32, bytes: verifiedPubkey.address),
RPCMemcmpFilterConfig(
offset: 64, bytes: SolAddress.defaultPubKey.address),
]));
if (filteredAccounts.length != 1) {
throw const MessageException(
'Account not found or more than one registry found.');
}
final account = filteredAccounts[0];
return account
.toBytesData()
.sublist(NameRegistryAccountUtils.hiddenDataOffset);
}