Skip to content

Commit 561cf1a

Browse files
committed
new 04_2 script
1 parent bd8f6a9 commit 561cf1a

2 files changed

Lines changed: 171 additions & 1 deletion

File tree

docs/04_2_Publishing_for_Privacy.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ XID=$(cat envelopes/BRadvoc8-xid-private-4-01.envelope)
113113
XID_ID=$(envelope xid id $XID)
114114
PASSWORD="your-password-from-previous-tutorials"
115115
ATTESTATION_PRVKEYS=$(cat envelopes/key-attestation-private-2-01.ur)
116-
CLA=$(cat envelopes/cla-bradvoc8-accepted-4-01.envelope)
116+
SIGNED_ACCEPTED_CLA=$(cat envelopes/cla-bradvoc8-accepted-4-01.envelope)
117117
```
118118

119119

Lines changed: 170 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,170 @@
1+
#!/bin/bash
2+
# 04_2_Publishing_for_Privacy-SCRIPT.sh
3+
#
4+
# Tests all commands from §4.2, verifying:
5+
# - Hashing an agreement in a file
6+
# - Hashing an agreement in a XID
7+
#
8+
# Usage: bash 04_2_Publishing_for_Privacy-SCRIPT.sh
9+
10+
11+
set -e
12+
13+
echo "=== LEARNING XIDS §4.2: Publishing for Privacy ==="
14+
15+
# Configuration
16+
17+
# Create output directory
18+
19+
OUTPUT_DIR="output/script-04-2-$(date +%Y%m%d-%H%M%S)"
20+
mkdir -p "$OUTPUT_DIR"
21+
22+
XID_WITH_CONTRACT_KEY="ur:xid/tpsplftpsplttpsotanshdhdcxnsvelewdmugsjksomhcsdngumosodnlffnlpcxfeylutcseeluatlyihdphyieadoycfaorylftpsplrtpsokseyjoihihjpdpihjtiejljpjkihjnihjtjydpiyjpjljndpieihkojpihkoinihktihjpdpideyeeihehhsieehihemetiyeyehieeeoycfaornlstpsotanshdhdcxhdsfzozcetjkztcmwnvaqzhkdyvlytswpmhttoprrtskioesiyhlkeotjecaknhdoytpsojkjkiaisihjnhsftihjnjojzjlkkihihgmjljzihtpsokscsfdihhsiecxguihiakpjpinjykkcxgdjpjliojphsjnjnihjpoytpsojljkiaisihjnhsftktjljpjejkfgjljptpsojzguinjkjyihjpgujohsiaihjkoycfaorslntpsotanshdhdcxnsvelewdmugsjksomhcsdngumosodnlffnlpcxfeylutcseeluatlyihdphyieadoytpsojsjpihjzhsjyinjljtjkisinjofwhsjkinjktpsoksiaguihiakpjpinjykkcxiajljzjzhsidjljphsjyinjljtcxjohsjpjyjtihjpcxktisjlcxkoihjpiniyinihiecxiajpihieihjtjyinhsjzjkcxjyisjpjlkpioiscxiajljnjninjydpjpihkoihhsjzcxhsjtiecxihjtiajpkkjojyihiecxjkishsjpinjtiooybetpsokoeydyeyendpdyeedpdyemghehehftehecdpehdyftdydyoytpsojpihjtiejljpjkihjnihjtjyfxjljtjyihksjytpsokshghfihjpiyinihiecxjojpihkoinjlkpjkcxjkihiakpjpinjykkcxihksjoihjpinihjtiaihdwcxktjljpjeihiecxjyjlioihjyisihjpcxjljtcxjkisjljpjycxjojpjlimihiajycxiyjljpcxguinjkjyihjpgujohsiaihjkoytpsojljoihihjpfejtiejljpjkihjnihjtjytpsoksguhgjpinjyihjkcxjkihiakpjpihdwcxktihjzjzdpjyihjkjyihiecxiajlieihcxktinjyiscxiajzihhsjpcxhsjyjyihjtjyinjljtcxjyjlcxjojpinkohsiakkdpjojpihjkihjpkoinjtiocxjohsjyjyihjpjtjkoytpsojoihjtiejljpjkihjnihjtjyguiajljoihtpsoksfeguihiakpjpinjykkcxhsjpiaisinjyihiajykpjpihdwcxiajpkkjojyjliojphsjoisiniacxinjnjojzihjnihjtjyhsjyinjljtdwcxjojpinkohsiakkcxjohsjyjyihjpjtjkoyadtpsojehsjyjyihjkjyhsjyinjljtoyaxtpsotansghlfaohdfznbytwmprtoiegsdekihpltdnrtstcnykzcvaenbkjlpejksbhnatlyontkvotpmosodmfsgajtpmielrlgzowpvevlstveadmknetdrkykbachkindwnrdtisalaltaxoyaylrtpsotansgylftanshflfaohdcxplvdotinmnwensttrtlrtiisqzehrltlnlguhdludywzsebztnqdndwztpdazeqdtansgrhdcxfmlpjkhspautsfmwlndrpavobwpyotsazsdidwrnrpcylfintnwtgrnnhdhhpyjplfoycsfplftansfwlrhdghhkasmurpcezcctjnjtdmmtsafypthpfwgesbpkhsbnkilozswfyketkifsfsdavepfnessfpfnmyrobnzoatrobgahfzzofpcncnbwntieoxfdosmtctlputfwwnetvlndimotrtgmtdsgytaoayjkptrehyhflfqzhhvafrgshlaajocljlrkptlgihhyhkvagddmrdparskptaswztnejpmsamaykelkechddatansfphdcxiopakburhprngowmtshlrswzihbytpflgtrootzosfrpnnfprymuveasenotaeadoybwtpsotanshptansfwlrhdcxmunnosoeensskepychimvtprueseyaynrdcwehvtbtttottbvesebghyhfiedloxgsgshlbscafrqzpmyajnhhvshsgdghecmwntmslgmdaeptgoaaaefzrespvthflfaxtansgmgdtarhlgnedkglfgbnoxlabaynfdihheaxoybstpsotansgmhdcxghchykwlghoxpftljectmyyldyamgycwamfwbnsbjelbsshkbzcnuttyrltlwtgmoycscstpsojlhsjyjyihjkjyhsjyinjljtdpjeihkkoycsfncsfdoycsfzlftpsotngdgmgwhflfaxhdimztfdamfefmvddedalgpdskpldaetfddkjszsftmoasgavdlddlnbguiamugwhhdwjkmhltgajtvewnfztletglfhgraossjzmolebbrsmooepdaobaeoherhmktbenteghoxeeaoftvwidbglybefrttlyhnhewnmkktbbgmqzbtkoyndkhecarkdanbprtalbtninmobahycftaaerdlfoycsfylftansfwlrhdrowylftiolckmwpezoehihiyrlssglhsinflweurbdsekbjypardguttgheniybebecncefxztbgmniecybbwmswbnheghesbgqdbkbtwkwnfsvacplyroykgohyfrstfdfttsgtwngajslgvsdkhefevomtnyecvsolgujzdllautjncfhyclnnfgrlbslnpradctielaammukifmzelohpsoioutlktigttsfxvlidspqzhswsutrffdmdfxotsbcmsfihztylsbhetplyidbsrfwsmhbntyenmdleeylosstdkeguolgewmfthegednhtssfygmcnwdprfphysnhfjyiaiejlbtdkzccpayfsaxbswfgsgegsrlzsnlsgwphysbpedyurgddsnlytfhlanewzytdkdpvymsdnsnsovthddatansfphdcxhtfycaasdyatlprlgspsvalttkfsplyadwksvlvaoslutbztrndstdktfevomyeeoybwtpsotanshptansfwlrhdcxprnlgudnidsfzswnsentiefrdltslsayeowyhlcntotsottnvooywfhykguyloemgscawtcmhsdagawzoyihfgmezogduegmsahgeocanerkyntsftbncxetdychhflfaxtansgmgdfdwpkgjssezchndyytrkdaeegsayntwnoybstpsotansgmhdcxiyvwcpcptddkeemdwfoylrrnspcttebgsbrnfmoetirfmwehhsrehdpmstdadaytoycfaorylftpsplrtpsokscfhsiaiajlkpjtjydpiajpihieihjtjyinhsjzdpioinjyiskpidoyadtpsojpiyjlhsiyftgwjtjzinjtihfpiaiajlkpjtjyoycfaorsldtpsotanshdhdcxnsvelewdmugsjksomhcsdngumosodnlffnlpcxfeylutcseeluatlyihdphyieadoytpsojsjkjkisguiniojtinjtiogrihkkjkgogmgstpsotpcxksenisjyjyjojkftdldlhsjoindmioinjyiskpiddmiajljndlkpjkihjpjkdlfwgmhsiekojliaetdljkjkishejkiniojtinjtiohejeihkkjkoytpsojoiyjlhsiyfthsiaiajlkpjtjyglhsjnihtpsoisfwgmhsiekojliaetoytpsojnjkjkisguiniojtinjtiogrihkktpsotansgylftanshftanehsksgdjkjkisdpihieeyececehescxfpfpfpfpfxeoglknhsfxehjzhtfygaehglghfeecfpfpfpfpgafdeceyjlgogmjehkkpjpjtihiygojtjlfgiddnfpgsjpjpfxeedlhdihdngdkpgwgmfxfgkninjlgmfyhfjkgmtansgrhdcxfhtkhnmyoeoyvdvdgolosrpfrosnrsaycmiycelnqdjyjzlplpeykgesmnvwoeimoytpsokscwiyjlhsiyfthsiaiajlkpjtjyguihjpkoiniaihfdjljnihjohsioihtpsotpcxksdkisjyjyjojkftdldlioinjyiskpiddmiajljndlfwgmhsiekojliaetdlfwgmhsiekojliaetoycscwtpsotpcxksdaisjyjyjojkftdldlhsjoindmioinjyiskpiddmiajljndlkpjkihjpjkdlfwgmhsiekojliaetoycseetpsotpcxjpisjyjyjojkftdldlioinjyiskpiddmiajljnoytpsojsjkjkisguiniojtinjtiogrihkkghihksjytpsoksgdjkjkisdpihieeyececehescxfpfpfpfpfxeoglknhsfxehjzhtfygaehglghfeecfpfpfpfpgafdeceyjlgogmjehkkpjpjtihiygojtjlfgiddnfpgsjpjpfxeedlhdihdngdkpgwgmfxfgkninjlgmfyhfjkgmoybetpsokoeydyeyendpdyeedpdyehgheheefteeetdpehdyftdydyoycfaorntpsotanshdhdcxnsvelewdmugsjksomhcsdngumosodnlffnlpcxfeylutcseeluatlyihdphyieadoyaxtpsotansghtaneidkkaddmdpdpdpdpdpfwfeflgaglcxgugufdcxgugaflglfpghgogmfedpdpdpdpdpbkgoehglgagodyjzfdfpfpfpfpfpgyfpfpfpfygtfpfpfpfpgsiaeogljlgshghfjegtimgoehgtghjefpfpfpfpioiyjthsisgmflgminenkpieecesguihiohfkoeefpkpkpjkgsimesbkieemeedneeecfegahdgwgrisfeglhgksfefpfpfpfpgahthgeceyhthgkskoiaflgofpfpfpfpfpfpfpfpfpfwjtgljlhkghgaehgliofpfpfpfggtfpfpfpfpgsiaeogljlgshghfjebkgtimgoehgtghjefpfpfpfwfphkihjeidkpjofxetihiyiejegejzgmeefdkkjpfyjkksgufljlghgtesdleejofdjegsjkghemdletgriygwhskoisecfgjtkkgmemfwkpgyeedlgwfwbkkkgufxghgrghkkhfenghiheefgeofdknhshfjtdldnjyehgwfyfefwiofsfsbkdpdpdpdpdpfeglfycxgugufdcxgugaflglfpghgogmfedpdpdpdpdpbkoyaylrtpsotansgylftanshflfaohdcxonbbaxfdchqzlfcptlbbyachdypehyaxtecavlhymnmyceeekotpcamnamguclmotansgrhdcxcsrnchrnrpbsrnuecwaymoihplfnkgrdaxiefgpyidvysecnluhtwlwmpfwndnctlfoycsfplftansfwlrhdghndwkmwhlfgckmezsuyfheclnuotdmdqzkghsvteejecwhsndidinioctrycwdrbsvlurfxtevehpfwkglkotwzbdfruelnswkshgvydnzmoxiscncxkoqzswfnztcngwmsynlgptdystisfnihmyrtswispdvwzmrptlvdttgsftbbnnpdlujkptwlceiyttwdgdfnpteybbfdpkguwpyahhfrkeaoostdcmhddatansfphdcxjemdmobewtihrohsgaghsglkgepdcmhdflhnamvegwssjzolpsjslesrwypkrydwoybwtpsotanshptansfwlrhdcxolsasoamtppfkttylrvdkilytilsrnwlhscsyklneonbmstkgemehtrdjsglaooygsdnpdbbammnleremkrpjtticngdjeptmopfinlehkprtbcnfekgwnpkdpemhflfaxtansgmgdimlkyncnpdameoptgssnjzjsbkvdldhnoybstpsotansgmhdcxrsfpfpfmldltkbsaamecmogabacsjtdedtsshlmdutaoaoylstndserdwdnedwmnoycscstpsoisfwgmhsiekojliaetoycsfncsfgoyaylrtpsotansgylftanshflfaohdcxlumegtzorkdntkrolkosmyrffndiwkrofhbblfzerodipahhkkcejtatinbsjtintansgrhdcxlnjzbnfwasfshtfgvehhktdschdwttrtctdepkbyhlhkbdsogwashkgobsqzgwjtlfoycsfplftansfwlrhdghwtiottrflrmuiazsfgmtfgbgdndlgscluelgsbwtvaottiyabzsgvaptlgykzmlbloctcsstjynsbybacmzcclryeneyjzvekseymkhgcfpdlkdmjomdatoeonqdvomumkchjnwzrtimjedlgupymddtuyaozospzmpfhnkkgsryjtaovlnbmtuyoxhkyndtcfgdylrsylnndklfgsmwdmdncnfgtpzmfhdyhddatansfphdcxayhkjpidzehpytiesnkofybgbbinntaezozstbctideyykdsbzylimwsvadplnlaoybwtpsotanshptansfwlrhdcxgwjpfwolfzdaehfyatgddejpwnlofslsdpflrouehhrsasmsfwfsfhpsprmtwtesgspdengsfnehcsgyldprgyroasgdlbnehnqdcnmwstoxmwmhhyqzmomnbtdlhflfaxtansgmgdjzlfisbetnrorfmdfzgssatortmursweoybstpsotansgmhdcxyaflntkectinioyttklocelbmhaseswnoeetdmtprnfmytmyhfghimjzhebnctftoycscstpsojziajljtjyjphsiajydpjeihkkoycsfncsfdoyaxtpsotansghlfaohdfziywejsfhlbbzctpttpfsrlqdbkfzrfoeahvtnevalnweayhyfhjkgmpdbsuttburvthpvdlawmiecxfnmhfhvdrhfhhslpwpeylgtemudictsnjespzorebsrnrplobtsorsrsje"
23+
24+
ATTESTATION_PRVKEYS="ur:crypto-prvkeys/lftansgolfaohdcxcyfszmfsrepdpfjepfvwttrdhdhszsjlbdqzdwjliorhckgokpbwdlyakkrfhepttansgehdcxsbmyhehpbnsnasstntbnwnjysbcwfswthhmukolkqdeofmhdnlvtknclqdglntbninprespt"
25+
ATTESTATION_PUBKEYS=$(envelope generate pubkeys "$ATTESTATION_PRVKEYS")
26+
27+
XID_ID=$(envelope xid id $XID_WITH_CONTRACT_KEY)
28+
PASSWORD="test-password-for-tutorial"
29+
30+
SIGNED_ACCEPTED_CLA="ur:envelope/lftpsplstpsplftpspletpsoksdegajtieinkoiniekphsjzcxfxjljtjyjpinidkpjyjljpcxgsiniaihjtjkihcxfpiojpihihjnihjtjyoytpsojtjojpjlimihiajygthsjthsioihjplftpsotanshdhdcxbnfhlncectssvaondsryspythslstaimptoevscwgwsawtlozourwpsfdihgrymdoycscstpsojpfwihjtcxdeguinjkjyihjpgujohsiaihjkdtoytpsojeiajljtjyjpinidkpjyjljplftpsotanshdhdcxnsvelewdmugsjksomhcsdngumosodnlffnlpcxfeylutcseeluatlyihdphyieadoycscstpsoisfwgmhsiekojliaetoytpsokpiajljtjyjpinidkpjyjljpgmihjojpihjkihjtjyjktpsoksdpjljpinioinjthsjzcxktjljpjecxktinjyiscxhskpjyisjljpinjykkcxjyjlcxiojphsjtjycxjziniaihjtjkihoytpsojejziniaihjtjkihghkkjoihlptpsoimfpjohsiaisihdpeydmdyoyastpsoksdlisjyjyjojkftdldlktktktdmhsjohsiaisihdmjljpiodljziniaihjtjkihjkdlgsgafxfeglgufedpeydmdydmjyksjyoytpsojnishsjkisfpjziojljpinjyisjntpsoinjkishsjkkpjneyecenoytpsojziajljtjyjphsiajyfdhsjkistpsoksfziaiyiaememeeesideseniyeneoidieeoehiaeoiaeeeyideciaeeemehidiyemeceneteheedyeceoiheteeemiaehdyiyeoihiddydyeoeeehemidiaeceyeoieeodyoybetpsokoeydydyeedpdyehdpdydyghdydyftdydydpdydyftdydyoytpsojkiojphsjtjyjkgdhsjyihjtjygsiniaihjtjkihtpsokseyiyjljpcxiajljtjyjpinidkpjyinjljtjkcxiajljtjyhsinjtinjtiocxjohsjyihjtjyhsidjzihcxjyihiaisjtjljzjliokkoybetpsokoeydyeyendpdyeedpdyemgheheyfteyeodpehdyftdydyoytpsokoiojphsjtjyjkfxjljokkjpinioisjygsiniaihjtjkihtpsoksehjoihjpjoihjykphsjzdwcxktjljpjziektinieihdwcxjtjljtdpihksiajzkpjkinkoihdwcxjpjlkkhsjzjykkdpiyjpihihoyadtpsokscwfxjljtjyjpinidkpjyjljpgsiniaihjtjkihfpiojpihihjnihjtjyoytpsoiojojpjlimihiajytpsoksctguinjkjyihjpgujohsiaihjkcxguihiakpjpihfpkpjyiscxgsinidjphsjpkkoyaxtpsotansghlfaohdfzessnnldrjljnfshptipsmowmkityeerhencnytptzspkjzjzjefyotvylywelpaduyhdetdyzoaovlbgcwplytbtgoayhgfnwsuretwyoxbsaalfatstdploehhsspayoytpsoimhsiaiaihjojyihiefwkktpsotanshdhdcxbnfhlncectssvaondsryspythslstaimptoevscwgwsawtlozourwpsfdihgrymdoybetpsokoeydyeyendpdyeedpdyemgheheyfteyeodpehdyftdydyoyaxtpsotansghlfaohdfzrywfmubeesjnssgwcmfgeyemtacfwktdvsvwlgstuomundzskimsjzjechdrnyuyntylderdlsdwhynlcpzmtneohyotmndwcndkbahfzmfztkdygesetkdnpdrewkayzopeplfh"
31+
32+
33+
echo ""
34+
echo "Step 1: Create a Contract Edge"
35+
echo "=============================="
36+
37+
# Three Edge Requirements
38+
39+
ISA="foaf:Project"
40+
SOURCE_XID_ID=$XID_ID
41+
TARGET_XID_ID=$XID_ID
42+
43+
# Digest for CLA
44+
45+
DIGEST_CLA=$(envelope digest "$SIGNED_ACCEPTED_CLA")
46+
47+
# Target Subenvelope
48+
49+
PROJECT_TARGET=$(envelope subject type ur $TARGET_XID_ID)
50+
PROJECT_TARGET=$(envelope assertion add pred-obj string $ISA string "SisterSpaces" "$PROJECT_TARGET")
51+
PROJECT_TARGET=$(envelope assertion add pred-obj known verifiableAt string "https://github.com/SisterSpaces/SecureAuth/CLAs/README.md" "$PROJECT_TARGET")
52+
PROJECT_TARGET=$(envelope assertion add pred-obj string "claDigest" digest "$DIGEST_CLA" "$PROJECT_TARGET")
53+
54+
# Edge Construction
55+
56+
EDGE=$(envelope subject type string "project-sister-spaces-secureauth")
57+
EDGE=$(envelope assertion add pred-obj known isA string "$ISA" "$EDGE")
58+
EDGE=$(envelope assertion add pred-obj known source ur "$SOURCE_XID_ID" "$EDGE")
59+
EDGE=$(envelope assertion add pred-obj known target envelope "$PROJECT_TARGET" "$EDGE")
60+
61+
if [ $EDGE ]
62+
then
63+
echo "✅ Edge created"
64+
else
65+
echo "❌ Failed to create edge"
66+
exit 1;
67+
fi
68+
69+
echo ""
70+
echo "SisterSpaces edge details:"
71+
envelope format "$EDGE"
72+
73+
echo ""
74+
echo "Step 2: Publish Your Contract Edge"
75+
echo "=================================="
76+
77+
# Sign edge
78+
79+
WRAPPED_EDGE=$(envelope subject type wrapped "$EDGE")
80+
SIGNED_EDGE=$(envelope sign --signer "$ATTESTATION_PRVKEYS" "$WRAPPED_EDGE")
81+
82+
# Add edge to XID
83+
84+
XID_WITH_CONTRACT_EDGE=$(envelope xid edge add \
85+
--verify inception \
86+
$SIGNED_EDGE $XID_WITH_CONTRACT_KEY)
87+
88+
EDGE_COUNT=$(envelope xid edge count $XID_WITH_CONTRACT_EDGE)
89+
90+
if [ $EDGE_COUNT -eq 3 ]
91+
then
92+
echo "✅ Third edge (contract) linked to XID"
93+
else
94+
echo "❌ Failed to link edge to XID"
95+
exit 1;
96+
fi
97+
98+
# Advance PM and Publish
99+
100+
XID_WITH_CONTRACT_EDGE=$(envelope xid provenance next \
101+
--password "$PASSWORD" \
102+
--sign inception \
103+
--private encrypt \
104+
--generator encrypt \
105+
--encrypt-password "$PASSWORD" \
106+
"$XID_WITH_CONTRACT_EDGE")
107+
PUBLIC_XID_WITH_CONTRACT_EDGE=$(envelope xid export --private elide --generator elide "$XID_WITH_CONTRACT_EDGE")
108+
109+
echo "$XID_WITH_CONTRACT_EDGE" > $OUTPUT_DIR/01-bradvoc8-xid-private.envelope
110+
echo "$PUBLIC_XID_WITH_CONTRACT_EDGE" > $OUTPUT_DIR/02-bradvoc8-xid-public.envelope
111+
112+
113+
echo ""
114+
echo "Step 3: Compute the Digests"
115+
echo "==========================="
116+
117+
echo "# CLA Commitment List" > $OUTPUT_DIR/03-commitment-list.txt
118+
echo "" >> $OUTPUT_DIR/03-commitment-list.txt
119+
echo "This is a list of commitments for CLAs guaranteeing rights to work done for SisterSpaces. CLAs are published as envelope-cli digest hashes to preserve privacy. Original CLAs are held by the Project Manager (currently Ben) and can be privately produced if necessary. This list is a living example of the power of herd privacy." >> $OUTPUT_DIR/03-commitment-list.txt
120+
echo "" >> $OUTPUT_DIR/03-commitment-list.txt
121+
echo "ur:digest/hdcxnydmgooejsgwjywfnbaxotlgaotibdbzynroutlebgditsfrroreisihptytndmtlkhyidfs" >> $OUTPUT_DIR/03-commitment-list.txt
122+
echo "ur:digest/hdcxcaoldkfpisoesfoxdnatamwyytasdwsbuomnkicxlbaavehsfzksmdinrogachhnsolbpahg" >> $OUTPUT_DIR/03-commitment-list.txt
123+
echo "ur:digest/hdcxvwpkrfmokeonsalojefseovliertiykoimzcjkdwkswktiisdloskngokoiakistwnwlhfot" >> $OUTPUT_DIR/03-commitment-list.txt
124+
echo "ur:digest/hdcxzewtfzfxrdndktdpeocwnnttbdoloxeyskyninhtpazehsgsynfpfwgrlbbgdskosefddktp" >> $OUTPUT_DIR/03-commitment-list.txt
125+
echo "ur:digest/hdcxlkdtieyafsbkhdftbdgmztfxmoflgmpmlghladmkutfymundfmdrnbaeatspctclynkgsnen" >> $OUTPUT_DIR/03-commitment-list.txt
126+
echo "ur:digest/hdcxhgfdesknwdrdmusgbspsbdgmjpflfwdafhhybgytdwcklskohpbtdkeskgrfvwaolycesnyn" >> $OUTPUT_DIR/03-commitment-list.txt
127+
echo "ur:digest/hdcxayptgsktmssbhdsnfpetnsrppmsttlahlrtnaeyndloyvawsdmcxdesokgeomknnwfjklpnl" >> $OUTPUT_DIR/03-commitment-list.txt
128+
echo "ur:digest/hdcxcaoldkfpisoesfoxdnatamwyytasdwsbuomnkicxlbaavehsfzksmdinrogachhnsolbpahg" >> $OUTPUT_DIR/03-commitment-list.txt
129+
echo "ur:digest/hdcxvwpkrfmokeonsalojefseovliertiykoimzcjkdwkswktiisdloskngokoiakistwnwlhfot" >> $OUTPUT_DIR/03-commitment-list.txt
130+
echo "ur:digest/hdcxzewtfzfxrdndktdpeocwnnttbdoloxeyskyninhtpazehsgsynfpfwgrlbbgdskosefddktp" >> $OUTPUT_DIR/03-commitment-list.txt
131+
echo "ur:digest/hdcxlkdtieyafsbkhdftbdgmztfxmoflgmpmlghladmkutfymundfmdrnbaeatspctclynkgsnen" >> $OUTPUT_DIR/03-commitment-list.txt
132+
envelope digest $SIGNED_ACCEPTED_CLA >> $OUTPUT_DIR/03-commitment-list.txt
133+
echo "ur:digest/hdcxhgfdesknwdrdmusgbspsbdgmjpflfwdafhhybgytdwcklskohpbtdkeskgrfvwaolycesnyn" >> $OUTPUT_DIR/03-commitment-list.txt
134+
echo "ur:digest/hdcxayptgsktmssbhdsnfpetnsrppmsttlahlrtnaeyndloyvawsdmcxdesokgeomknnwfjklpnl" >> $OUTPUT_DIR/03-commitment-list.txt
135+
echo "ur:digest/hdcxinmerocyjzgrmhskpshyrfsnuthhpsjoswbyiyttstldaxytlsiefdcfytdebyhhgwzevwtl" >> $OUTPUT_DIR/03-commitment-list.txt
136+
echo "ur:digest/hdcxsbdsemjtwlrtvwfdetmwenlujndlsbethljzkpnbmsgmchaajolsgekbpypmtijevolukglt" >> $OUTPUT_DIR/03-commitment-list.txt
137+
echo "ur:digest/hdcxswjzwzjzzopawmieytwpjtgwlsoyfrhlntsghldsrnpstswsknehwsrltpeyonfriouooykp" >> $OUTPUT_DIR/03-commitment-list.txt
138+
139+
if [ -f $OUTPUT_DIR/03-commitment-list.txt ]
140+
then
141+
echo "✅ Published Ben's commitment list."
142+
else
143+
echo "❌ Ben's commitment list failed to save."
144+
exit 1;
145+
fi
146+
147+
echo ""
148+
echo "Step 5: Check a Commitment"
149+
echo "=========================="
150+
151+
BR_CLA_DIGEST=$(envelope digest $SIGNED_ACCEPTED_CLA)
152+
153+
if grep -q $BR_CLA_DIGEST $OUTPUT_DIR/03-commitment-list.txt
154+
then
155+
echo "✅ CLA commitment was in README.md"
156+
else
157+
echo "❌ CLA was not properly commited to"
158+
exit 1;
159+
fi
160+
161+
echo ""
162+
echo "==============================="
163+
echo "All Tutorial §4.2 Tests Passed!"
164+
echo "==============================="
165+
echo ""
166+
echo "Output files saved to: $OUTPUT_DIR/"
167+
ls -la "$OUTPUT_DIR/"
168+
169+
170+

0 commit comments

Comments
 (0)