getNamespacesFromAccounts static method
Gets all unique namespaces from the provided list of accounts This function assumes that all accounts are valid
Implementation
static Map<String, Namespace> getNamespacesFromAccounts(
List<String> accounts,
) {
Map<String, Namespace> namespaces = {};
for (var account in accounts) {
final ns = account.split(':')[0];
final cid = account.split(':')[1];
if (namespaces[ns] == null) {
namespaces[ns] = const Namespace(accounts: [], methods: [], events: []);
}
namespaces[ns] = namespaces[ns]!.copyWith(
accounts: [...namespaces[ns]!.accounts, account],
chains: [...(namespaces[ns]?.chains ?? []), '$ns:$cid'],
);
}
return namespaces;
}