@@ -67,31 +67,23 @@ namespace fc::api {
6767 return std::move (address);
6868 }};
6969 api->WalletList = [=]() -> outcome::result<std::vector<Address>> {
70- OUTCOME_TRY (all, key_store->list ());
71- std::sort (all.begin (), all.end ());
70+ OUTCOME_TRY (addresses, key_store->list ());
7271
7372 std::set<Address> seen;
74- std::vector<Address> out;
75- out.reserve (all.size ());
7673
77- std::string k_name_prefix = " wallet-" ; // TODO not needed
78- for (auto &a : all) {
79- fmt::print (encodeToString (a));
80- // if (encodeToString(a).substr(0, k_name_prefix.size())
81- // == k_name_prefix) {
82- // std::string name = encodeToString(a).erase(0,
83- // k_name_prefix.size());
74+ for (const Address &address_temp : addresses) {
8475 OUTCOME_TRY (address,
85- primitives::address::decodeFromString (encodeToString (a )));
86- if (seen.find (address) ! = seen.end ()) {
87- continue ;
76+ primitives::address::decodeFromString (encodeToString (address_temp )));
77+ if (seen.find (address) = = seen.end ()) {
78+ seen. insert (address) ;
8879 }
89- seen.insert (address);
90-
91- out.push_back (address);
9280 }
9381
94- std::sort (out.begin (), out.end ());
82+ std::vector<Address> out;
83+ while (not seen.empty ())
84+ {
85+ out.emplace_back (std::move (seen.extract (seen.begin ()).value ()));
86+ }
9587
9688 return out;
9789 };
@@ -119,10 +111,6 @@ namespace fc::api {
119111 OUTCOME_TRY (has, key_store->has (address));
120112 if (has) {
121113 OUTCOME_TRY (key_store->remove (address));
122- // OUTCOME_TRY(default_address, api->WalletDefaultAddress());
123- // if (address == default_address) {
124- // wallet_default_address->remove();
125- // }
126114 return outcome::success ();
127115 }
128116 return ERROR_TEXT (" WalletDelete: Address does not exist" );
0 commit comments