@@ -242,165 +242,4 @@ void UpholdCard::OnUpdate(
242
242
callback (ledger::Result::LEDGER_OK);
243
243
}
244
244
245
- void UpholdCard::GetCardAddresses (
246
- GetCardAddressesCallback callback) {
247
- auto wallets = ledger_->GetExternalWallets ();
248
- auto wallet = GetWallet (std::move (wallets));
249
- if (!wallet) {
250
- BLOG (0 , " Wallet is null" );
251
- callback (ledger::Result::LEDGER_ERROR, {});
252
- return ;
253
- }
254
-
255
- const auto headers = RequestAuthorization (wallet->token );
256
- const std::string path = base::StringPrintf (
257
- " /v0/me/cards/%s/addresses" ,
258
- wallet->address .c_str ());
259
-
260
- auto address_callback = std::bind (&UpholdCard::OnGetCardAddresses,
261
- this ,
262
- _1,
263
- callback);
264
-
265
- const auto url = GetAPIUrl (path);
266
- ledger_->LoadURL (
267
- url,
268
- headers,
269
- " " ,
270
- " application/json" ,
271
- ledger::UrlMethod::GET,
272
- address_callback);
273
- }
274
-
275
- void UpholdCard::OnGetCardAddresses (
276
- const ledger::UrlResponse& response,
277
- GetCardAddressesCallback callback) {
278
- BLOG (6 , ledger::UrlResponseToString (__func__, response));
279
-
280
- std::map<std::string, std::string> addresses;
281
- const ledger::Result result =
282
- braveledger_response_util::ParseUpholdGetCardAddresses (
283
- response,
284
- &addresses);
285
-
286
- if (result == ledger::Result::EXPIRED_TOKEN) {
287
- BLOG (0 , " Expired token" );
288
- callback (ledger::Result::EXPIRED_TOKEN, {});
289
- uphold_->DisconnectWallet ();
290
- return ;
291
- }
292
-
293
- if (result != ledger::Result::LEDGER_OK) {
294
- BLOG (0 , " Couldn't get card addresses" );
295
- callback (ledger::Result::LEDGER_ERROR, {});
296
- return ;
297
- }
298
-
299
- callback (ledger::Result::LEDGER_OK, addresses);
300
- }
301
-
302
- void UpholdCard::CreateAnonAddressIfNecessary (ledger::ResultCallback callback) {
303
- auto address_callback = std::bind (&UpholdCard::OnCreateAnonAddressIfNecessary,
304
- this ,
305
- _1,
306
- _2,
307
- callback);
308
-
309
- GetCardAddresses (address_callback);
310
- }
311
-
312
- void UpholdCard::OnCreateAnonAddressIfNecessary (
313
- ledger::Result result,
314
- std::map<std::string, std::string> addresses,
315
- ledger::ResultCallback callback) {
316
- if (result == ledger::Result::LEDGER_OK && addresses.size () > 0 ) {
317
- auto iter = addresses.find (kAnonID );
318
- if (iter != addresses.end () && !iter->second .empty ()) {
319
- auto wallets = ledger_->GetExternalWallets ();
320
- auto wallet = GetWallet (std::move (wallets));
321
- if (!wallet) {
322
- BLOG (0 , " Wallet is null" );
323
- callback (ledger::Result::LEDGER_ERROR);
324
- return ;
325
- }
326
-
327
- wallet->anon_address = iter->second ;
328
- ledger_->SaveExternalWallet (ledger::kWalletUphold , std::move (wallet));
329
- callback (ledger::Result::LEDGER_OK);
330
- return ;
331
- }
332
- }
333
-
334
- CreateAnonAddress (callback);
335
- }
336
-
337
- void UpholdCard::CreateAnonAddress (ledger::ResultCallback callback) {
338
- auto wallets = ledger_->GetExternalWallets ();
339
- auto wallet = GetWallet (std::move (wallets));
340
- if (!wallet) {
341
- BLOG (0 , " Wallet is null" );
342
- callback (ledger::Result::LEDGER_ERROR);
343
- return ;
344
- }
345
-
346
- const auto headers = RequestAuthorization (wallet->token );
347
- const std::string path = base::StringPrintf (
348
- " /v0/me/cards/%s/addresses" ,
349
- wallet->address .c_str ());
350
-
351
- const std::string payload = base::StringPrintf (
352
- R"( {
353
- "network": "%s"
354
- })" ,
355
- kAnonID );
356
-
357
- auto anon_callback = std::bind (&UpholdCard::OnCreateAnonAddress,
358
- this ,
359
- _1,
360
- callback);
361
-
362
- const auto url = GetAPIUrl (path);
363
- ledger_->LoadURL (
364
- url,
365
- headers,
366
- payload,
367
- " application/json" ,
368
- ledger::UrlMethod::POST,
369
- anon_callback);
370
- }
371
-
372
- void UpholdCard::OnCreateAnonAddress (
373
- const ledger::UrlResponse& response,
374
- ledger::ResultCallback callback) {
375
- BLOG (6 , ledger::UrlResponseToString (__func__, response));
376
-
377
- std::string id;
378
- const ledger::Result result =
379
- braveledger_response_util::ParseUpholdCreateCard (response, &id);
380
- if (result == ledger::Result::EXPIRED_TOKEN) {
381
- BLOG (0 , " Expired token" );
382
- callback (ledger::Result::EXPIRED_TOKEN);
383
- uphold_->DisconnectWallet ();
384
- return ;
385
- }
386
-
387
- if (result != ledger::Result::LEDGER_OK || id.empty ()) {
388
- BLOG (0 , " Couldn't create anon address" );
389
- callback (ledger::Result::LEDGER_ERROR);
390
- return ;
391
- }
392
-
393
- auto wallets = ledger_->GetExternalWallets ();
394
- auto wallet = GetWallet (std::move (wallets));
395
- if (!wallet) {
396
- BLOG (0 , " Wallet is null" );
397
- callback (ledger::Result::LEDGER_ERROR);
398
- return ;
399
- }
400
-
401
- wallet->anon_address = id;
402
- ledger_->SaveExternalWallet (ledger::kWalletUphold , std::move (wallet));
403
- callback (ledger::Result::LEDGER_OK);
404
- }
405
-
406
245
} // namespace braveledger_uphold
0 commit comments