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

[pull] main from gitcoinco:main #13

Open
wants to merge 252 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
252 commits
Select commit Hold shift + click to select a range
ba3b821
feat(platforms): adding more info to Lens sidebar (#2222)
lucianHymer Feb 28, 2024
1b42bcb
feat(platforms): adding more info to Holonym sidebar (#2221)
lucianHymer Feb 28, 2024
3083d1f
feat(platforms): adding more info to Civic sidebar (#2223)
lucianHymer Feb 28, 2024
877939d
fix(platforms): fix new civic link (#2248)
lucianHymer Mar 1, 2024
e5b1838
rewkr[iam]: wip (#2187)
nutrina Mar 11, 2024
28df451
2252 catch moralis errors (#2260)
nutrina Mar 11, 2024
bb4cd1f
feat(app): when attempting to re-claim a valid credential that is now…
lucianHymer Mar 11, 2024
cc5ec93
feat[infra]: adding deployment for staking app (#2303)
nutrina Mar 14, 2024
8a0d3c2
fix(infra): caching node ressource for pulumi stack (#2304)
nutrina Mar 14, 2024
b775e24
fix(infra): stack name for production (#2305)
nutrina Mar 14, 2024
863c455
fat(infra): creating hook for amplify app to trigger rebuilds (#2319)
nutrina Mar 17, 2024
afb89b4
Adding support for new env variables for staking app (#2335)
nutrina Mar 26, 2024
781532e
fix(infra): rename the branches for used for staging and production o…
nutrina Mar 26, 2024
9f677d9
Add comment for github webhook
larisa17 Mar 26, 2024
545b1ed
Merge pull request #2339 from gitcoinco/larisa17-patch-1
larisa17 Mar 26, 2024
e53440e
2310 id staking v2 (#2346)
larisa17 Mar 28, 2024
e42d0bb
Datadog setup change (#2359)
nutrina Mar 29, 2024
f79994d
fix(app): forgot to take configured site & service via env vars for d…
nutrina Mar 29, 2024
9742e19
feat(GtcStaking): fix TrustedCitizen stamp(#2310) (#2352)
larisa17 Mar 29, 2024
79ee831
feat(infra,staking): adding env vars for staking app deployment (#2362)
nutrina Mar 29, 2024
499b565
feat(app): using new customization paths (#2345)
lucianHymer Mar 29, 2024
1f7edd1
feat(app): allow customizing scorer title, fixed filtering and rescor…
lucianHymer Apr 2, 2024
cfa4de9
feat(app): allow customization of scorer panel text (#2366)
lucianHymer Apr 2, 2024
60d6ce2
feat(platforms): have removed 'GitcoinContributorStatistics#numGrants…
nutrina Apr 15, 2024
07ed83e
feat(platforms): adding link to coinbase stamp docs (#2384)
lucianHymer Apr 16, 2024
be2ed2c
feat(platforms): added zksync model providers (#2389)
lucianHymer Apr 18, 2024
9959073
feat(NftStamp): update nft stamp, include nft model (#2387)
larisa17 Apr 19, 2024
e5d68af
feat(platforms): added doc link, updated wording in zksync sidebar (#…
lucianHymer Apr 19, 2024
264ed37
feat(platforms): added doc link, updated wording in nft sidebar (#2399)
lucianHymer Apr 19, 2024
ccc89ff
feat(platforms): updating eth stamp to use v2 model (#2390)
lucianHymer Apr 22, 2024
eaed809
feat(app): adding ability to reset onboarding skip (#2413)
lucianHymer Apr 22, 2024
9560a8f
fix(platforms): fixing eth model URL (#2414)
lucianHymer Apr 22, 2024
4a64e28
feat(app,iam): updating providerBitMapInfo.json (#2415)
nutrina Apr 22, 2024
ab0820f
fix(platforms): fix NFT credential names, reorder zksync stamps (#2416)
lucianHymer Apr 22, 2024
116c3b2
feat(app): add arbitrum chain to web3onboard config (#2411)
nutrina Apr 23, 2024
f80eb3c
feat: remove bug bounty info (#2422)
nutrina Apr 24, 2024
66e1d35
feat(infra): manage cloudflare domain for production (#2420)
larisa17 Apr 26, 2024
4bbb2aa
feat(zkSync): migrate to V2 of the model (#2434)
larisa17 Apr 30, 2024
d640faa
feat(infra): fix record name for certificate validation (#2438)
larisa17 Apr 30, 2024
b02fda5
feat(app): ComposeDB Retry Logic (#2401)
mzkrasner May 2, 2024
f7e9563
feat(infra): tweaking alarms for moralis and redis, configuration is …
nutrina May 9, 2024
3795737
feat(infra): adding staking app ENV vars for walletconnect (#2458)
lucianHymer May 15, 2024
067563b
feat: provision staging resources for load testing (#2448)
tim-schultz May 15, 2024
b90b8e3
Create funding.json
Kweiss May 16, 2024
1d41724
feat(platforms): updating coinbase stamp text (#2466)
nutrina May 17, 2024
f8772d3
2435 onboarding flow (#2465)
larisa17 May 17, 2024
aa2c936
2430 review pr 2426 for outdid stamp integration (#2468)
nutrina May 20, 2024
42280cb
feat(app): show link to Verax explorer for Linea (#2481)
nutrina May 21, 2024
4f6bb37
feat(app): add support for raw scores from non-binary scorers as well…
nutrina May 21, 2024
518e51a
feat(links): update learn more link (#2478)
larisa17 May 21, 2024
6326e43
feat(platforms): add spacing between step 1 & step 2 of description f…
nutrina May 21, 2024
bf3b0b4
2436 1 click verification (#2463)
tim-schultz May 21, 2024
c4772fc
Update funding.json
Kweiss May 21, 2024
e238ca9
Update funding.json
Kweiss May 21, 2024
16979f0
feat(app): adding attestationProviderConfig for arbitrum (#2462)
nutrina May 22, 2024
9798a09
feat: adding env var for intercom app id + reading the wallet connect…
nutrina May 23, 2024
a6afb3c
fix: get the OUTDID_API_SECRET from the correct secrets manager (#2507)
nutrina May 23, 2024
f385008
2089 follow up (#2497)
tim-schultz May 24, 2024
c7ac5b9
feat(infra): added env var for Amplify & update github workflows to u…
larisa17 May 27, 2024
a4d9c41
chore(app): disable verification for all evm stamps while one click v…
tim-schultz May 28, 2024
a1c77d6
update amplify envs (#2520)
larisa17 May 30, 2024
7b97d27
feat(ui): work in progress onboard flow (#2518)
larisa17 May 30, 2024
8201ce2
Update funding.json
Kweiss May 30, 2024
34023d7
Update funding.json
Kweiss May 30, 2024
6d767ca
fix(infra): fix env config (#2525)
tim-schultz May 31, 2024
b92cb39
feat: adding support for writing attestations to zkSync (#2546)
nutrina Jun 5, 2024
d0b1d50
feat: disable passport protection for staking app (#2553)
nutrina Jun 6, 2024
989edbe
Update deploy_to_aws.yml (#2555)
larisa17 Jun 6, 2024
6b92070
Delete .github/workflows/release_and_deploy_template.yml (#2556)
larisa17 Jun 6, 2024
b206f82
fix(app): pass individual provider ids instead of platform ids (#2558)
tim-schultz Jun 6, 2024
1c83f48
2515 handle long running requests (#2559)
tim-schultz Jun 6, 2024
e6ae7d0
fix(infra): only default to 2 tasks in prod (#2560)
tim-schultz Jun 6, 2024
c26d331
2437 collapsible stamps 2 (#2537)
larisa17 Jun 7, 2024
b60c4b5
feat(chains): remove public goods network (#2557)
larisa17 Jun 7, 2024
bd7c794
feat(ui): update onboarding flow for mobile (#2564)
larisa17 Jun 7, 2024
14afa2c
feat(app): onchain expiry in sidebar (#2538)
lucianHymer Jun 10, 2024
38532bc
feat(ui): add cursor hover for stamp category (#2566)
larisa17 Jun 11, 2024
dd581a3
feat: add up all valid self-stakes before checking against the tresho…
nutrina Jun 11, 2024
6172cd2
2455 sidebar (#2565)
tim-schultz Jun 11, 2024
1812b01
feat: displaying expiration of the first stamp in the platform card f…
nutrina Jun 14, 2024
ec2d21b
2532 allow list (#2576)
tim-schultz Jun 14, 2024
8f37f3f
fix(platforms): switching to new Guild SDK (#2585)
lucianHymer Jun 17, 2024
9e0d5b0
feat(platforms): alert users about missing CB attestation before oaut…
lucianHymer Jun 17, 2024
faff965
fix(platforms): remove console.log accidentally left in from developm…
lucianHymer Jun 17, 2024
12e0af0
2163 hyperlinked footer (#2586)
larisa17 Jun 18, 2024
bd53101
feat(ceramicContext): update hydrateAllProvidersState (#2607)
larisa17 Jun 19, 2024
28a3ba9
chore(app, platforms): moved allow list endpoint (#2608)
tim-schultz Jun 19, 2024
28783c5
chore: add api key (#2610)
tim-schultz Jun 19, 2024
b61367e
feat(app): run 1-click flow on dashboard load and customization chang…
lucianHymer Jun 19, 2024
15970d8
feat(app,platforms): created common Hyperlink component (#2602)
lucianHymer Jun 19, 2024
214b928
feat: add NEXT_PUBLIC_MAX_LEGACY_ROUND_ID to the staking apps env var…
nutrina Jun 20, 2024
5c5a68f
feat(app): is custom chain ids are returned filter displayed chains (…
tim-schultz Jun 20, 2024
08b9828
fix(platforms): ignore case in the CB graphql query, skip precheck if…
lucianHymer Jun 21, 2024
2ce468f
feat: adding support for writing attestaions to Scroll (#2621)
nutrina Jun 24, 2024
7c8b420
feat: enabling Scroll as a target to write attestations to (#2623)
nutrina Jun 26, 2024
5451968
2614 scroll endpoints (#2624)
tim-schultz Jun 26, 2024
dbf7b72
feat: adding debug statements for review (#2643)
nutrina Jun 27, 2024
5a6aba0
Revert ethers scroll updates (#2651)
tim-schultz Jun 28, 2024
4d012d5
feat(app): adding scroll badge images to public dir so they will be p…
lucianHymer Jun 28, 2024
7044603
chore: expose target group arn (#2656)
tim-schultz Jul 1, 2024
c700275
feat(iam): moving EAS fee to env var (#2652)
lucianHymer Jul 1, 2024
2868e91
feat(infra): modify ALB rule priority number (#2659)
larisa17 Jul 2, 2024
88d7f27
fix: restoring sidebar content (#2662)
nutrina Jul 2, 2024
8a37840
feat(infra): modify stack outputs (#2665)
larisa17 Jul 2, 2024
9c0ed7d
feat(customization): update custom dashboard for scroll (#2647)
larisa17 Jul 2, 2024
761ab01
feat(app): updating loading spinner, adding to 'skip' flow (#2648)
lucianHymer Jul 2, 2024
ed5ace6
feat(app): removing JSON button and popup (#2649)
lucianHymer Jul 2, 2024
8682698
fix: linkedin api version increment (#2667)
tim-schultz Jul 2, 2024
c1b3cc4
feat: fix handling expired platforms where all stamps are expired (#2…
nutrina Jul 3, 2024
3f99c34
feat: adding Outdid stamp to 'Government IDs' category (#2671)
nutrina Jul 4, 2024
667b7f4
feat(deashboard): remove my stamps (#2672)
larisa17 Jul 5, 2024
223ea9e
feat: add styling when expired providers exists, to the points box in…
nutrina Jul 5, 2024
eff5971
feat: add support for a 2nd cleartext github app for grants (#2677)
nutrina Jul 5, 2024
7dc0c42
feat(app): switching to web3modal (#2669)
lucianHymer Jul 8, 2024
2cd8679
chore(app): additional info to debug web3modal issues (#2679)
lucianHymer Jul 8, 2024
da4aca2
2457 notificaitons (#2603)
tim-schultz Jul 8, 2024
a81dd69
fix: need to click next twice and verification error (#2670)
tim-schultz Jul 8, 2024
33e16d7
2580 google analytics (#2681)
tim-schultz Jul 9, 2024
4be598c
feat: binance stamp (#2678)
tim-schultz Jul 10, 2024
541fe49
chore: outdid provider (#2686)
tim-schultz Jul 10, 2024
e0a1570
fix(app): update dependencies for points indicator (#2688)
tim-schultz Jul 11, 2024
91c927d
fix: binance logo (#2692)
tim-schultz Jul 12, 2024
d87b8c7
fix(platforms): open window before async call (#2698)
tim-schultz Jul 15, 2024
b0e58ab
feat(app): indicate reverification status for expiration notification…
tim-schultz Jul 15, 2024
5f589ee
fix(app): dropping 'removed stamps' verification statuses that no lon…
lucianHymer Jul 15, 2024
f2841a6
feat: binance help (#2700)
tim-schultz Jul 15, 2024
902ed5a
chore(platforms): added outdid guide link (#2703)
lucianHymer Jul 16, 2024
a4c09d0
feat(infra): add new workflow for review (#2718)
larisa17 Jul 23, 2024
baa72d4
add generic deploy & stg - prd workflows for testing (#2722)
larisa17 Jul 24, 2024
8f0adcf
2684 workflows (#2721)
larisa17 Jul 29, 2024
d6a763b
chore(platforms): updating Holonym sidebar info (#2740)
lucianHymer Jul 31, 2024
12e3b01
feat(app): issue datadog info message when adding/deleting individual…
lucianHymer Jul 31, 2024
961fbd0
2725 staking app repo (#2741)
larisa17 Aug 1, 2024
57f9764
fix: bell icon overflow (#2751)
tim-schultz Aug 2, 2024
289030e
feat(platforms): updating Holonym sidebar
lucianHymer Aug 6, 2024
34766bc
feat(platforms): updating Outdid sidebar (#2765)
lucianHymer Aug 6, 2024
c58fa95
fix(infra): typo in bitmap check variable (#2766)
lucianHymer Aug 6, 2024
c5b5b30
feat: allow datadogRum sample rate to be configured through env vars …
nutrina Aug 8, 2024
430f445
fix(app): fix mismatch in description (#2775)
lucianHymer Aug 8, 2024
60a3999
chore(platforms): changing slotId in civic pass api response from a n…
dankelleher Aug 20, 2024
6730aab
feat(app): intercom user login/auth (#2800)
lucianHymer Aug 22, 2024
520ea19
feat(platforms): moving brightid logic to separate script (#2797)
lucianHymer Aug 22, 2024
dcef4ab
feat(app): adding low score alert for onchain push (#2802)
lucianHymer Aug 23, 2024
c4949c7
2701 rounded (#2804)
tim-schultz Aug 26, 2024
bcb0279
feat: confetti (#2803)
tim-schultz Aug 26, 2024
37d145c
2730 amplify migration 1 (#2756)
nutrina Aug 27, 2024
b4d3062
feat(app): adding new score panels and loading animation (#2806)
lucianHymer Aug 27, 2024
ca106bf
feat: hook to check status of all chains (#2805)
tim-schultz Aug 28, 2024
4030785
feat: remov gitcoin logo (#2816)
tim-schultz Aug 28, 2024
ce41efe
feat(app): onchain sidebar design updates (#2813)
lucianHymer Aug 28, 2024
525d4a1
feat(app): pushing full Passport to Linea (#2814)
lucianHymer Aug 28, 2024
add32d1
2733 close mechanism (#2817)
tim-schultz Aug 28, 2024
e096e07
feat: updating onchainInfo.json with new decoder address for optimism…
nutrina Aug 29, 2024
4a28777
feat(app): never show eth balance in account center (#2821)
lucianHymer Aug 29, 2024
2481257
fix(app): modify confetti dimensions on window resize (#2822)
lucianHymer Aug 29, 2024
f2a042e
feat: have adjusted Home screen according to the designs (#2823)
nutrina Sep 3, 2024
65c7d7e
fix(app): updated popover library, prevent rerender on every scroll (…
lucianHymer Sep 3, 2024
0a6fba0
feat(infra): updating pulumi org name (#2831)
lucianHymer Sep 4, 2024
acce6d1
feat(infra): updating pulumi org name (#2834)
lucianHymer Sep 4, 2024
b1abdca
feat(app): added details (json) button, fixed lint warnings (#2830)
lucianHymer Sep 5, 2024
46ae056
feat(app): updating message handler, moving to top on small screen (#…
lucianHymer Sep 6, 2024
662c9a3
2767 passport.xyz migration (#2833)
larisa17 Sep 9, 2024
c99520c
feat: adding details for Shape deployment (#2832)
nutrina Sep 9, 2024
bb03df2
2767 passportxyz migration (#2846)
larisa17 Sep 10, 2024
64a64a3
update alb rule (#2851)
larisa17 Sep 11, 2024
8337361
chore: add missing link (#2855)
tim-schultz Sep 11, 2024
e8c4ce1
feat(platforms): updating github stamp to check that contributions ha…
lucianHymer Sep 11, 2024
c96062c
feat: hide/show explanation based customization config (#2856)
tim-schultz Sep 11, 2024
bcc7c55
feat(app): adding support for custom stamps (#2870)
lucianHymer Sep 17, 2024
70eb03f
chore: use infra-lib amplofy function (#2862)
tim-schultz Sep 17, 2024
e35dd2b
feat: fix confetti height (#2868)
tim-schultz Sep 18, 2024
bd39264
feat(app): adding card variant for custom stamps (#2882)
lucianHymer Sep 18, 2024
d3fcb1c
fix(app): get rid of intercom user id, use address as name (#2883)
lucianHymer Sep 18, 2024
c04ee83
feat(app): added tests for usePlatforms (#2886)
lucianHymer Sep 19, 2024
dee0449
update resource tags (#2869)
larisa17 Sep 19, 2024
668d39d
2844 sidebar bug (#2880)
tim-schultz Sep 20, 2024
bd9c342
fix(app): home page alignment (#2895)
lucianHymer Sep 20, 2024
d661524
fix(app): moved platform exclusion logic up the tree (#2888)
lucianHymer Sep 20, 2024
fb7d1bb
fix(app): correcting repo link (#2906)
lucianHymer Sep 24, 2024
6903cb6
fix: audit spelling of Stamp and Passport (#2922)
nutrina Sep 27, 2024
f7450f3
feat: custom scorer id for on chain attestations (#2921)
tim-schultz Sep 27, 2024
e43ffa7
chore(deployments): update chain (#2924)
tim-schultz Sep 27, 2024
b9abca2
fix(iam): updating score URL (#2925)
lucianHymer Sep 27, 2024
8f20625
fix: shape logo covered body of scorer info widget popup (#2926)
nutrina Sep 29, 2024
64bc9bd
chore(app): update shape scan url (#2940)
tim-schultz Oct 1, 2024
728fa2e
fix: another set of spelling corrections (#2942)
nutrina Oct 1, 2024
13d7ad0
fix(app): fixing attestation comparison when using custom scorer (#2945)
lucianHymer Oct 1, 2024
7b828f2
fix(app): fixing onchain data query key (#2946)
lucianHymer Oct 2, 2024
84dca19
fix: one more spelling 'Gitcoin Passport' -> 'Passport' (#2943)
nutrina Oct 2, 2024
5a0260d
feat(app): adding campaign support, scroll campaign landing page (#2919)
lucianHymer Oct 2, 2024
2c41b8c
Update README.md
Kweiss Oct 3, 2024
6d5b602
2897 GitHub account integration (#2938)
nutrina Oct 3, 2024
0c1caa6
Merge pull request #2949 from passportxyz/Kweiss-patch-6
Kweiss Oct 4, 2024
5621d93
Update LICENSE (#2917)
Jkd-eth Oct 4, 2024
f82ab77
feat: adding tests for the Github connect page in the scroll develope…
nutrina Oct 4, 2024
6626ee2
fix: call compose retry once onboarding is complete (#2951)
tim-schultz Oct 8, 2024
9485e41
2897 GitHub account integration 2 (#2955)
nutrina Oct 8, 2024
d2b9a32
2900 returning user flow (#2948)
larisa17 Oct 9, 2024
f72b51b
feat(app): adding scroll campaign mint page (#2941)
lucianHymer Oct 9, 2024
5ad3893
fix: call compose retry a single time after onboard completes (#2968)
tim-schultz Oct 11, 2024
233f752
feat: final images (#2973)
tim-schultz Oct 14, 2024
62468fe
2958 update badge design final (#2969)
tim-schultz Oct 15, 2024
8b6ca4f
feat: flag Civic as an EVM stamp (#2971)
nutrina Oct 15, 2024
c10f2ff
feat(app): checking onchain badges to see if hash used before, adding…
lucianHymer Oct 15, 2024
6991cfa
feat: scroll mobile designs (#2975)
tim-schultz Oct 16, 2024
c444e72
feat(app): check if on campaign page when account changes (#2979)
lucianHymer Oct 16, 2024
cd51de1
chore(platforms): updating Staking and Idena descriptions (#2981)
lucianHymer Oct 16, 2024
652f224
chore(platforms): update copy (#2980)
tim-schultz Oct 16, 2024
27d70d2
Update README.md
Kweiss Aug 21, 2024
d9c9152
update amplify branch for review (#2983)
larisa17 Oct 18, 2024
c995b66
Merge pull request #2799 from passportxyz/Kweiss-patch-5
Kweiss Oct 18, 2024
d5f4fab
chore(app): log stream id to determine if duplicate requests are bein…
tim-schultz Oct 21, 2024
4ef349e
feat(scroll): update text (#2994)
larisa17 Oct 23, 2024
011317e
chore(platforms): update link (#3016)
tim-schultz Oct 31, 2024
f6de3c6
feat(iam): adding auto-verify endpoint (#3009)
lucianHymer Nov 4, 2024
ce61f68
feat(iam): updated to ethers v6 (#3017)
lucianHymer Nov 4, 2024
77dfcd7
feat(app): delete all notifications button (#3018)
tim-schultz Nov 4, 2024
64016ae
feat(linkedin): wip add linkedin v2 (#3001)
larisa17 Nov 11, 2024
8d221c1
Update platformMap.ts (#3044)
larisa17 Nov 11, 2024
39ea451
feat(linkedin): update request call (#3045)
larisa17 Nov 11, 2024
e856ecf
fix: changing to 1Password ressources that are deleted (#3050)
nutrina Nov 13, 2024
705abfc
fix: drop CGRANTS_API_TOKEN in favour SCORER_API_KEY (#3049)
nutrina Nov 13, 2024
b10d968
chore(infra): remove awsx package (#3029)
tim-schultz Nov 13, 2024
fcfdd67
chore(platforms): update descriptions for Coinbase and Binance Stamps…
lebraat Nov 14, 2024
bd0ceaf
feat: adding alarm that monitors %xx errors in IAM (#3060)
nutrina Nov 15, 2024
650f16b
feat: braking out thei am infra, dropping the service for the gitcoin…
nutrina Nov 20, 2024
d764b13
fix: docker build (#3078)
nutrina Nov 21, 2024
e876af9
feat(app): updating web3modal->appkit, updating RPCs (#3021)
lucianHymer Nov 26, 2024
a42395e
fix(app): issue with bigint in attestation response (#3085)
lucianHymer Nov 27, 2024
fd8cff1
chore: fix import typo (#3086)
lucianHymer Nov 27, 2024
3c91f91
feat(iam): checking bans before issuing credentials (#3083)
lucianHymer Dec 3, 2024
07c2110
feat(app): adding ENV var for resetting wallet connection (#3092)
lucianHymer Dec 3, 2024
b18d319
feat(platforms): adding isDeprecated option to providers, reject veri…
lucianHymer Dec 4, 2024
28b746e
fix(platforms): explicitly request json response from coinbase API (#…
lucianHymer Dec 10, 2024
c890543
feat(onChain): update onchain get passport call (#3127)
larisa17 Dec 16, 2024
0a2912d
fix: load balancer spec in 5XX alarm for iam (#3137)
nutrina Dec 16, 2024
0461a54
chore(platforms): deprecating stamps (#3135)
lucianHymer Dec 17, 2024
f90e0a3
feat(holonymphone): add holonym phone stamp (#3136)
larisa17 Dec 17, 2024
b816548
feat: update providerBitMapInfo (#3143)
nutrina Dec 17, 2024
a45825f
feat(holonymphone): modify error handling (#3145)
larisa17 Dec 17, 2024
81eecdc
feat(workflow): disable check providers (#3146)
larisa17 Dec 17, 2024
69a9496
fix: op-sepolia contract address for checkProviders command (#3147)
nutrina Dec 17, 2024
bdb0b56
fix(app): making distinction between technically possible points and …
lucianHymer Dec 17, 2024
90765e8
feat(platforms): updating eth stamp to use aggregate model (#3149)
lucianHymer Dec 18, 2024
7780837
feat: adding tests to check for behaviour if one of the model fails, …
nutrina Dec 18, 2024
6271cb0
feat(embed, platforms): wet approach to moving logic over (#3080)
tim-schultz Jan 9, 2025
7769263
feat(app): making overscroll match background color (#3168)
lucianHymer Jan 9, 2025
3224dfd
feat: wrapping the ComposeDatabase add,patch and delete functions to …
nutrina Jan 13, 2025
bb68c49
fix(platforms): catching and reporting errors from the Idena API (#3174)
lucianHymer Jan 13, 2025
62ea3ef
feat(platforms): moving zeronym phone verification to its own platfor…
lucianHymer Jan 13, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
feat: braking out thei am infra, dropping the service for the gitcoin… (
passportxyz#3071)

* feat: braking out thei am infra, dropping the service for the gitcoin domain

* feat: drop TODO

* feat: reworking infra, added the embed ECS task

* feat: adding passport-embed service

* feat: added building the docker image for the embed service to the workflow

* Update infra/aws/embed.ts

Co-authored-by: larisa17 <[email protected]>

* Update infra/aws/embed.ts

Co-authored-by: larisa17 <[email protected]>

* Update infra/aws/embed.ts

Co-authored-by: larisa17 <[email protected]>

* feat: forgoit to add cluster.ts

* feat: adidng dummy test for embed

* feat: updating ../infra/yarn.lock

* feat: have removed embed workspace for now

---------

Co-authored-by: larisa17 <[email protected]>
  • Loading branch information
nutrina and larisa17 authored Nov 20, 2024
commit 650f16b5c5e10d4948679d7352f55bf4fc19f109
37 changes: 32 additions & 5 deletions .github/workflows/build_and_deploy_generic.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ on:
required: true

jobs:
docker:
name: Build and push docker image
docker_iam:
name: Build and push IAM docker image
runs-on: ubuntu-latest
steps:
- name: Load secret
Expand All @@ -32,7 +32,7 @@ jobs:
AWS_ACCESS_KEY_ID: op://DevOps/passport-xyz-${{ inputs.environment }}-secrets/ci/AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY: op://DevOps/passport-xyz-${{ inputs.environment }}-secrets/ci/AWS_SECRET_ACCESS_KEY

- id: build_and_push_docker_image
- id: build_and_push_docker_iam_image
uses: passportxyz/gh-workflows/.github/actions/build_and_push@v1
with:
refspec: ${{ inputs.refspec }}
Expand All @@ -44,6 +44,33 @@ jobs:
dockerfile_name: iam/Dockerfile
build_dir: ./

docker_embed:
name: Build and push embed docker image
runs-on: ubuntu-latest
steps:
- name: Load secret
id: op-load-secret
uses: 1password/load-secrets-action@v1
with:
export-env: true
env:
OP_SERVICE_ACCOUNT_TOKEN: ${{ secrets.OP_SERVICE_ACCOUNT_TOKEN }}
CLOUDFLARE_API_TOKEN: op://DevOps/passport-xyz-${{ inputs.environment }}-secrets/ci/CLOUDFLARE_API_TOKEN
AWS_ACCESS_KEY_ID: op://DevOps/passport-xyz-${{ inputs.environment }}-secrets/ci/AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY: op://DevOps/passport-xyz-${{ inputs.environment }}-secrets/ci/AWS_SECRET_ACCESS_KEY

- id: build_and_push_docker_embed_image
uses: passportxyz/gh-workflows/.github/actions/build_and_push@v1
with:
refspec: ${{ inputs.refspec }}
docker_tag: ${{ inputs.docker_tag }}
ecr_repository_name: passport-embed
aws_region: us-west-2
aws_access_key_id: ${{ env.AWS_ACCESS_KEY_ID }}
aws_secret_access_key: ${{ env.AWS_SECRET_ACCESS_KEY }}
dockerfile_name: embed/Dockerfile
build_dir: ./

deploy_preview:
name: Preview - Deploying AWS Infra
runs-on: ubuntu-latest
Expand Down Expand Up @@ -88,7 +115,7 @@ jobs:

deploy_confirm:
name: Review Approval Pending
needs: [docker, deploy_preview]
needs: [docker_iam, docker_embed, deploy_preview]
runs-on: ubuntu-latest
environment: ${{ inputs.environment }}
steps:
Expand All @@ -98,7 +125,7 @@ jobs:

deploy_backends:
name: Deploying AWS Infra
needs: [docker, deploy_preview, deploy_confirm]
needs: [docker_iam, docker_embed, deploy_preview, deploy_confirm]
runs-on: ubuntu-latest
steps:
- name: Checkout
Expand Down
9 changes: 9 additions & 0 deletions embed/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
FROM node:20.11
WORKDIR /usr/src

COPY . .

RUN yarn

EXPOSE 80 443
CMD [ "node", "embed/dist/main.js" ]
42 changes: 42 additions & 0 deletions embed/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Passport Embed

The Passport Embed service implements the backend part used by the passport embed UI component.


```
# Ensure you copy and update the required variables for the environment
$ cp ./.env-example.env ./.env

# Install and start the IAM server
$ yarn install
$ yarn start
```

Then send a ??? request to `http://localhost:81/???` with the following JSON body:

```
???
```

## Adding new environment variables to IAM

1. Add the new variable and real value to your own `.env` file.
2. Add the new variable to `.env-example.env` with a placeholder value for documentation.
3. Add the new variable into the build process, making sure the new variable value is injected into the Pulumi scripts
for all environments (`review`, `staging`, and `production`).

There are a few options for adding the variable into the build process:

- Add the value to AWS Secrets Manager, and add a new item to the `secrets` array in the `iam` container definition.
**Note that you will have to add it to all AWS Secrets Manager resources in all AWS accounts used.**
- Add the value to Github Actions Secrets and inject it into the process environment IAM-related workflows on the Pulumi
deploy step. Pull the variable into the Pulumi files using `proccess.env.NEW_VAR`, and refer to
that variable in the `secrets` array.
- (If the value can be public) Hardcode the value in plaintext into the Github Actions script and feed it into the
Pulumi file as described above. Alternatively, hardcode the value into the Pulumi file directly. Also note that it can
be added to `environment` array in the `iam` container definition instead of `secrets`, since the value can be public.

## Cache

Passport uses redis to handle caching. For local development you can spin up a redis instance using docker:
`docker run -d -p 6379:6379 redis` or using whatever other method you prefer. The redis instance should be available at `localhost:6379` by default.
10 changes: 10 additions & 0 deletions embed/__tests__/dummy.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@

describe("Dummy Test", () => {

describe("testSomething", () => {
it("should just succeed", async () => {
expect(1).toEqual(1);
});

});
});
12 changes: 12 additions & 0 deletions embed/babel.config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"presets": [
"@babel/preset-typescript",
["@babel/preset-env", { "targets": { "node": "current" } }]
],
"plugins": [
"@babel/plugin-syntax-import-assertions",
"babel-plugin-transform-import-meta",
["babel-plugin-replace-import-extension", { "extMapping": { ".js": "" } }],
"@babel/plugin-transform-modules-commonjs"
]
}
5 changes: 5 additions & 0 deletions embed/jest.config.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
module.exports = {
modulePathIgnorePatterns: ["<rootDir>/dist/"],
setupFiles: ["dotenv/config", "<rootDir>/jest.setup.cjs"],
testEnvironment: "node",
};
20 changes: 20 additions & 0 deletions embed/jest.setup.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
const DIDKit = require("@spruceid/didkit-wasm-node");

process.env.IAM_JWK = DIDKit.generateEd25519Key();
process.env.IAM_JWK_EIP712 =
'{"kty":"EC","crv":"secp256k1","x":"PdB2nS-knyAxc6KPuxBr65vRpW-duAXwpeXlwGJ03eU","y":"MwoGZ08hF5uv-_UEC9BKsYdJVSbJNHcFhR1BZWer5RQ","d":"z9VrSNNZXf9ywUx3v_8cLDhSw8-pvAT9qu_WZmqqfWM"}';
process.env.ATTESTATION_SIGNER_PRIVATE_KEY =
"0x04d16281ff3bf268b29cdd684183f72542757d24ae9fdfb863e7c755e599163a";
process.env.TESTNET_ATTESTATION_SIGNER_PRIVATE_KEY =
"0x04d16281ff3bf268b29cdd684183f72542757d24ae9fdfb863e7c755e599163a";
process.env.GITCOIN_VERIFIER_CHAIN_ID = "84531";
process.env.ALLO_SCORER_ID = "1";
process.env.SCORER_ENDPOINT = "http://127.0.0.1:8002";
process.env.SCORER_API_KEY = "abcd";
process.env.MORALIS_API_KEY = "abcd";
process.env.EAS_GITCOIN_STAMP_SCHEMA = "0x";
process.env.EAS_FEE_USD = "3";
process.env.SCROLL_BADGE_PROVIDER_INFO =
'{"DeveloperList#PassportCommiterLevel1#6a51c84c":{"contractAddress":"0x71A848A38fFCcA5c7A431F2BB411Ab632Fa0c456","level":1}}';
process.env.SCROLL_BADGE_ATTESTATION_SCHEMA_UID =
"0xa35b5470ebb301aa5d309a8ee6ea258cad680ea112c86e456d5f2254448afc74";
64 changes: 64 additions & 0 deletions embed/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
{
"name": "@gitcoin/passport-embed",
"private": true,
"version": "1.0.0",
"main": "dist/main.js",
"types": "src/types.d.ts",
"type": "module",
"license": "MIT",
"scripts": {
"clean": "rimraf dist node_modules",
"prebuild": "yarn run lint",
"build": "tsc",
"prestart": "yarn run build",
"start": "node .",
"debug": "concurrently --kill-others \"tsc --watch\" \"node --watch --inspect .\"",
"prod:start": "tsc && node .",
"test": "jest --verbose",
"prettier": "prettier --write .",
"lint": "tsc --noEmit && eslint --ext .ts,.js,.tsx .",
"lint:fix": "eslint --fix --ext .ts,.js,.tsx ."
},
"dependencies": {
"@ethereum-attestation-service/eas-sdk": "^2.7.0",
"@gitcoin/passport-identity": "^1.0.0",
"@gitcoin/passport-platforms": "^1.0.0",
"@gitcoin/passport-types": "^1.0.0",
"@spruceid/didkit-wasm-node": "^0.2.1",
"axios": "^0.27.2",
"cors": "^2.8.5",
"dotenv": "^16.0.0",
"ethers": "^6.13.4",
"express": "4",
"luxon": "^2.4.0",
"tslint": "^6.1.3",
"uuid": "^8.3.2"
},
"devDependencies": {
"@babel/core": "^7.23.3",
"@babel/plugin-syntax-import-assertions": "^7.23.3",
"@babel/plugin-transform-modules-commonjs": "^7.23.3",
"@babel/preset-env": "^7.23.3",
"@babel/preset-typescript": "^7.23.3",
"@types/cors": "^2.8.12",
"@types/express": "^4.17.13",
"@types/luxon": "^2.3.2",
"@types/node": "16",
"@types/node-fetch": "latest",
"@types/supertest": "^2.0.12",
"@types/webpack-env": "^1.16.3",
"babel-jest": "^29.7.0",
"babel-plugin-replace-import-extension": "^1.1.3",
"babel-plugin-transform-import-meta": "^2.2.1",
"eslint-plugin-prettier": "^5.1.3",
"jest": "^29.6.4",
"supertest": "^6.2.2",
"ts-jest": "^29.1.1",
"ts-node": "^10.9.1",
"tsx": "^4.7.0",
"typescript": "^5.3.3"
},
"resolutions": {
"leveldown": "6.1.1"
}
}
76 changes: 76 additions & 0 deletions embed/src/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
// import { EnsProvider } from './providers/ens';
// Should this file be an app factory? If it was, we could move the provider config to main.ts and test in isolation

// ---- Server
import express from "express";

// ---- Production plugins
import cors from "cors";

// ---- Config - check for all required env variables
// We want to prevent the app from starting with default values or if it is misconfigured
const configErrors = [];

if (!process.env.IAM_JWK) {
configErrors.push("IAM_JWK is required");
}

if (!process.env.ATTESTATION_SIGNER_PRIVATE_KEY) {
configErrors.push("ATTESTATION_SIGNER_PRIVATE_KEY is required");
}

if (!process.env.TESTNET_ATTESTATION_SIGNER_PRIVATE_KEY) {
configErrors.push("TESTNET_ATTESTATION_SIGNER_PRIVATE_KEY is required");
}

if (!process.env.ALLO_SCORER_ID) {
configErrors.push("ALLO_SCORER_ID is required");
}

if (!process.env.SCORER_ENDPOINT) {
configErrors.push("SCORER_ENDPOINT is required");
}

if (!process.env.SCORER_API_KEY) {
configErrors.push("SCORER_API_KEY is required");
}

if (!process.env.EAS_GITCOIN_STAMP_SCHEMA) {
configErrors.push("EAS_GITCOIN_STAMP_SCHEMA is required");
}

if (!process.env.MORALIS_API_KEY) {
configErrors.push("MORALIS_API_KEY is required");
}

if (!process.env.IAM_JWK_EIP712) {
configErrors.push("IAM_JWK_EIP712 is required");
}

if (!process.env.EAS_FEE_USD) {
configErrors.push("EAS_FEE_USD is required");
}

if (configErrors.length > 0) {
configErrors.forEach((error) => console.error(error)); // eslint-disable-line no-console
throw new Error("Missing required configuration");
}

// create the app and run on port
export const app = express();

// parse JSON post bodies
app.use(express.json());

// set cors to accept calls from anywhere
app.use(cors());

// health check endpoint
app.get("/health", (_req, res) => {
const data = {
message: "Ok",
date: new Date(),
};

res.status(200).send(data);
});
32 changes: 32 additions & 0 deletions embed/src/issuers.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
import * as DIDKit from "@spruceid/didkit-wasm-node";

const key = process.env.IAM_JWK;
const __issuer = DIDKit.keyToDID("key", key);
const eip712Key = process.env.IAM_JWK_EIP712;
const __eip712Issuer = DIDKit.keyToDID("ethr", eip712Key);

const validIssuers = new Set([__issuer, __eip712Issuer]);

export function getEd25519IssuerKey(): string {
return key;
}

export function getEd25519Issuer(): string {
return __issuer;
}

export function getEip712IssuerKey(): string {
return eip712Key;
}

export function getEip712Issuer(): string {
return __eip712Issuer;
}

export function getIssuerKey(signatureType: string): string {
return signatureType === "EIP712" ? eip712Key : key;
}

export function hasValidIssuer(issuer: string): boolean {
return validIssuers.has(issuer);
}
24 changes: 24 additions & 0 deletions embed/src/main.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import "dotenv/config";

// ---- Main App from index
import { app } from "./index.js";

// default port to listen on
const port = process.env.EMBED_PORT || 80;

const startServer = (): void => {
const server = app.listen(port, () => {
// eslint-disable-next-line no-console
console.log(`server started at http://localhost:${port}`);
});

// This should be > the ELB idle timeout, which is 60 seconds
server.keepAliveTimeout = 61 * 1000;
};

try {
startServer();
} catch (error) {
// eslint-disable-next-line no-console
console.error(error);
}
Loading