Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Abstract Link Attestation Check #10103

Merged
merged 4 commits into from
Feb 10, 2025
Merged

Abstract Link Attestation Check #10103

merged 4 commits into from
Feb 10, 2025

Conversation

toluo-stripe
Copy link
Contributor

@toluo-stripe toluo-stripe commented Feb 7, 2025

Summary

Pull out attestation check from LinkActivityViewModel into LinkAttestationCheck. This will allow me to use it in both

  • LinkActivityViewModel and
  • LinkHandler to determine if the 2fa dialog should be displayed

Motivation

Testing

  • Added tests
  • Modified tests
  • Manually verified

Changelog

Copy link
Contributor

github-actions bot commented Feb 7, 2025

Diffuse output:

OLD: paymentsheet-example-release-master.apk (signature: V1, V2)
NEW: paymentsheet-example-release-pr.apk (signature: V1, V2)

          │           compressed           │         uncompressed         
          ├───────────┬───────────┬────────┼──────────┬──────────┬────────
 APK      │ old       │ new       │ diff   │ old      │ new      │ diff   
──────────┼───────────┼───────────┼────────┼──────────┼──────────┼────────
      dex │     4 MiB │     4 MiB │ -739 B │  8.7 MiB │  8.7 MiB │ +548 B 
     arsc │   2.3 MiB │   2.3 MiB │    0 B │  2.3 MiB │  2.3 MiB │    0 B 
 manifest │   5.1 KiB │   5.1 KiB │    0 B │ 25.7 KiB │ 25.7 KiB │    0 B 
      res │ 910.3 KiB │ 910.3 KiB │    0 B │  1.4 MiB │  1.4 MiB │    0 B 
   native │   2.6 MiB │   2.6 MiB │    0 B │    6 MiB │    6 MiB │    0 B 
    asset │   1.6 MiB │   1.6 MiB │  -21 B │  1.6 MiB │  1.6 MiB │  -21 B 
    other │   1.4 MiB │   1.4 MiB │    0 B │  1.6 MiB │  1.6 MiB │    0 B 
──────────┼───────────┼───────────┼────────┼──────────┼──────────┼────────
    total │  12.7 MiB │  12.7 MiB │ -760 B │ 21.7 MiB │ 21.7 MiB │ +527 B 

 DEX     │ old   │ new   │ diff                
─────────┼───────┼───────┼─────────────────────
   files │     1 │     1 │   0                 
 strings │ 41202 │ 41207 │  +5 (+2989 -2984)   
   types │ 14254 │ 14258 │  +4 (+2986 -2982)   
 classes │ 11905 │ 11909 │  +4 (+2382 -2378)   
 methods │ 60501 │ 60511 │ +10 (+23079 -23069) 
  fields │ 40665 │ 40667 │  +2 (+15677 -15675) 

 ARSC    │ old  │ new  │ diff 
─────────┼──────┼──────┼──────
 configs │  243 │  243 │  0   
 entries │ 6248 │ 6248 │  0
APK
    compressed     │    uncompressed    │                                           
──────────┬────────┼───────────┬────────┤                                           
 size     │ diff   │ size      │ diff   │ path                                      
──────────┼────────┼───────────┼────────┼───────────────────────────────────────────
    4 MiB │ -739 B │   8.7 MiB │ +548 B │ ∆ classes.dex                             
    127 B │ +127 B │       5 B │   +5 B │ + META-INF/services/S9.v                  
    127 B │ +127 B │       5 B │   +5 B │ + META-INF/services/T9.a                  
          │ -127 B │           │   -5 B │ - META-INF/services/R9.v                  
          │ -127 B │           │   -5 B │ - META-INF/services/S9.a                  
  7.8 KiB │  -24 B │   7.7 KiB │  -24 B │ ∆ assets/dexopt/baseline.prof             
 50.4 KiB │  -15 B │ 118.9 KiB │    0 B │ ∆ META-INF/MANIFEST.MF                    
 53.7 KiB │  +14 B │   119 KiB │    0 B │ ∆ META-INF/CERT.SF                        
  1,010 B │   +3 B │     878 B │   +3 B │ ∆ assets/dexopt/baseline.profm            
    272 B │   +1 B │     120 B │    0 B │ ∆ META-INF/version-control-info.textproto 
──────────┼────────┼───────────┼────────┼───────────────────────────────────────────
  4.1 MiB │ -760 B │     9 MiB │ +527 B │ (total)
DEX
STRINGS:

   old   │ new   │ diff             
  ───────┼───────┼──────────────────
   41202 │ 41207 │ +5 (+2989 -2984) 
  
  + LB2/d;
  + LB6/A;
  + LB6/B;
  + LB6/C;
  + LB6/D;
  + LB6/E;
  + LB6/F;
  + LB6/G;
  + LB6/H;
  + LB6/I;
  + LB6/J;
  + LB6/K;
  + LB6/L;
  + LB6/M;
  + LB6/N;
  + LB6/O;
  + LB6/P;
  + LB6/Q;
  + LB6/S;
  + LB6/T;
  + LB6/U;
  + LB6/V;
  + LB6/W;
  + LB6/X;
  + LB6/Y;
  + LB6/Z;
  + LB6/a0;
  + LB6/a;
  + LB6/b0;
  + LB6/b;
  + LB6/c0;
  + LB6/c;
  + LB6/d0;
  + LB6/d;
  + LB6/e0;
  + LB6/e;
  + LB6/f0;
  + LB6/f;
  + LB6/g0;
  + LB6/g;
  + LB6/h0;
  + LB6/h;
  + LB6/i0;
  + LB6/i;
  + LB6/j0;
  + LB6/j;
  + LB6/k0;
  + LB6/k;
  + LB6/l;
  + LB6/m;
  + LB6/n;
  + LB6/o;
  + LB6/p;
  + LB6/q;
  + LB6/r;
  + LB6/s;
  + LB6/t;
  + LB6/u;
  + LB6/v;
  + LB6/w;
  + LB6/x;
  + LB6/y;
  + LB6/z;
  + LB7/b;
  + LB7/c;
  + LB7/d;
  + LB7/e;
  + LB7/f;
  + LB7/g;
  + LB7/h;
  + LB7/i;
  + LB7/j;
  + LB7/k;
  + LB7/l;
  + LB8/b;
  + LB8/c;
  + LB8/d;
  + LB8/e;
  + LB8/f;
  + LB8/g;
  + LB8/h;
  + LB8/i;
  + LB9/a;
  + LD6/A;
  + LD6/B;
  + LD6/C;
  + LD6/D;
  + LD6/E;
  + LD6/F;
  + LD6/G;
  + LD6/H;
  + LD6/I;
  + LD6/J;
  + LD6/K;
  + LD6/L;
  + LD6/M;
  + LD6/N;
  + LD6/O;
  + LD6/P;
  + LD6/Q;
  + LD6/S;
  + LD6/c;
  + LD6/d;
  + LD6/e;
  + LD6/f;
  + LD6/g;
  + LD6/h;
  + LD6/i;
  + LD6/j;
  + LD6/k;
  + LD6/l;
  + LD6/m;
  + LD6/n;
  + LD6/o;
  + LD6/p;
  + LD6/q;
  + LD6/r;
  + LD6/s;
  + LD6/t;
  + LD6/u;
  + LD6/v;
  + LD6/w;
  + LD6/x;
  + LD6/y;
  + LD6/z;
  + LD7/G;
  + LD7/H;
  + LD7/I;
  + LD7/J;
  + LD7/K;
  + LD7/L;
  + LD7/M;
  + LD7/N;
  + LD7/O;
  + LD7/P;
  + LD7/Q;
  + LD7/S;
  + LD7/T;
  + LD7/U;
  + LD7/V;
  + LD7/W;
  + LD7/X;
  + LD7/Y;
  + LD7/Z;
  + LD7/a0;
  + LD7/b0;
  + LD7/c0;
  + LD7/d0;
  + LD7/e0;
  + LD7/f0;
  + LD7/g0;
  + LD7/h0;
  + LD7/i0;
  + LD7/j0;
  + LD8/a;
  + LD8/b;
  + LD8/c;
  + LD8/d;
  + LD8/e;
  + LD9/b;
  + LD9/c;
  + LD9/d;
  + LDa/a;
  + LDa/b;
  + LDa/c;
  + LDa/d;
  + LE7/A;
  + LE7/B;
  + LE7/C;
  + LE7/D;
  + LE7/E;
  + LE7/F;
  + LE7/r;
  + LE7/s;
  + LE7/t;
  + LE7/u;
  + LE7/v;
  + LE7/w;
  + LE7/x;
  + LE7/y;
  + LE7/z;
  + LF8/a;
  + LF8/b;
  + LF8/c;
  + LF8/d;
  + LF8/e;
  + LF8/f;
  + LFa/e;
  + LFa/f;
  + LFa/g;
  + LFa/h;
  + LFa/i;
  + LFa/j;
  + LFa/k;
  + LFa/l;
  + LFa/m;
  + LFa/n;
  + LFa/o;
  + LFa/p;
  + LFa/q;
  + LG/n;
  + LG1/T0;
  + LG6/r;
  + LG7/A;
  + LG7/B;
  + LG7/C;
  + LG7/D;
  + LG7/E;
  + LG7/F;
  + LG7/G;
  + LG7/H;
  + LG7/b;
  + LG7/c;
  + LG7/d;
  + LG7/e;
  + LG7/f;
  + LG7/g;
  + LG7/h;
  + LG7/i;
  + LG7/j;
  + LG7/k;
  + LG7/l;
  + LG7/m;
  + LG7/n;
  + LG7/o;
  + LG7/p;
  + LG7/q;
  + LG7/r;
  + LG7/s;
  + LG7/t;
  + LG7/u;
  + LG7/v;
  + LG7/w;
  + LG7/x;
  + LG7/y;
  + LG7/z;
  + LG9/g;
  + LG9/h;
  + LG9/i;
  + LG9/j;
  + LG9/k;
  + LG9/l;
  + LG9/m;
  + LG9/n;
  + LG9/o;
  + LG9/p;
  + LG9/q;
  + LG9/r;
  + LG9/s;
  + LG9/t;
  + LG9/u;
  + LG9/v;
  + LG9/w;
  + LG9/x;
  + LG9/y;
  + LH9/b;
  + LH9/c;
  + LH9/d;
  + LH9/e;
  + LH9/f;
  + LHa/d;
  + LHa/e;
  + LI6/A;
  + LI6/B;
  + LI6/C;
  + LI6/D;
  + LI6/E;
  + LI6/c;
  + LI6/d;
  + LI6/e;
  + LI6/f;
  + LI6/g;
  + LI6/h;
  + LI6/i;
  + LI6/j;
  + LI6/k;
  + LI6/l;
  + LI6/m;
  + LI6/n;
  + LI6/o;
  + LI6/p;
  + LI6/q;
  + LI6/r;
  + LI6/s;
  + LI6/t;
  + LI6/u;
  + LI6/v;
  + LI6/w;
  + LI6/x;
  + LI6/y;
  + LI6/z;
  + LI7/A0;
  + LI7/A;
  + LI7/B0;
  + LI7/B;
  + LI7/C0;
  + LI7/C;
  + LI7/D0;
  + LI7/D;
  + LI7/E0;
  + LI7/E;
  + LI7/F0;
  + LI7/F;
  + LI7/G0;
  + LI7/G;
  + LI7/H0;
  + LI7/H;
  + LI7/I0;
  + LI7/I;
  + LI7/J0;
  + LI7/J;
  + LI7/K0;
  + LI7/K;
  + LI7/L0;
  + LI7/L;
  + LI7/M0;
  + LI7/M;
  + LI7/N;
  + LI7/O;
  + LI7/P;
  + LI7/Q;
  + LI7/S;
  + LI7/T;
  + LI7/U;
  + LI7/V;
  + LI7/W;
  + LI7/X;
  + LI7/Y;
  + LI7/Z;
  + LI7/a0;
  + LI7/b0;
  + LI7/c0;
  + LI7/d0;
  + LI7/d;
  + LI7/e0;
  + LI7/e;
  + LI7/f0;
  + LI7/f;
  + LI7/g0;
  + LI7/g;
  + LI7/h0;
  + LI7/h;
  + LI7/i0;
  + LI7/i;
  + LI7/j0;
  + LI7/j;
  + LI7/k0;
  + LI7/k;
  + LI7/l0;
  + LI7/l;
  + LI7/m0;
  + LI7/m;
  + LI7/n0;
  + LI7/n;
  + LI7/o0;
  + LI7/o;
  + LI7/p0;
  + LI7/p;
  + LI7/q0;
  + LI7/q;
  + LI7/r0;
  + LI7/r;
  + LI7/s0;
  + LI7/s;
  + LI7/t0;
  + LI7/t;
  + LI7/u0;
  + LI7/u;
  + LI7/v0;
  + LI7/v;
  + LI7/w0;
  + LI7/w;
  + LI7/x0;
  + LI7/x;
  + LI7/y0;
  + LI7/y;
  + LI7/z0;
  + LI7/z;
  + LI9/a;
  + LI9/b;
  + LJ6/b;
  + LJ8/i;
  + LJ8/j;
  + LJ8/k;
  + LJ8/l;
  + LK7/A;
  + LK7/B;
  + LK7/C;
  + LK7/D;
  + LK7/E;
  + LK7/F;
  + LK7/G;
  + 
...✂

@toluo-stripe toluo-stripe marked this pull request as ready for review February 7, 2025 18:29
@toluo-stripe toluo-stripe requested review from a team as code owners February 7, 2025 18:29
Copy link
Collaborator

@amk-stripe amk-stripe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should avoid checking in unused code -- could you remove the existing attestation check logic from LinkActivityViewModel as part of this PR? So that this code is actually called when it's checked in.

amk-stripe
amk-stripe previously approved these changes Feb 8, 2025
@toluo-stripe toluo-stripe merged commit 257b869 into master Feb 10, 2025
16 checks passed
@toluo-stripe toluo-stripe deleted the tolu/link/atts_check branch February 10, 2025 18:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants