Skip to content

Commit

Permalink
refactored metadata flag to meta and tested, then commented out integ…
Browse files Browse the repository at this point in the history
…ration test

Signed-off-by: 2byrds <[email protected]>
  • Loading branch information
2byrds committed Apr 1, 2024
1 parent 80dbffb commit ebce11d
Show file tree
Hide file tree
Showing 13 changed files with 43 additions and 43 deletions.
12 changes: 6 additions & 6 deletions src/dkr/app/cli/commands/did/keri/resolve.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,25 +28,25 @@
dest="bran", default=None) # passcode => bran
parser.add_argument("--did", "-d", help="DID to resolve (did:keri method)", required=True)
parser.add_argument("--oobi", "-o", help="OOBI to use for resolving the DID", required=False)
parser.add_argument("--metadata", "-m", help="Whether to include metadata (True), or only return the DID document (False)", type=bool, required=False, default=None)
parser.add_argument("--meta", "-m", help="Whether to include metadata (True), or only return the DID document (False)", type=bool, required=False, default=None)


def handler(args):
hby = existing.setupHby(name=args.name, base=args.base, bran=args.bran)
hbyDoer = habbing.HaberyDoer(habery=hby) # setup doer
obl = oobiing.Oobiery(hby=hby)
res = KeriResolver(hby=hby, hbyDoer=hbyDoer, obl=obl, did=args.did, oobi=args.oobi, metadata=args.metadata)
res = KeriResolver(hby=hby, hbyDoer=hbyDoer, obl=obl, did=args.did, oobi=args.oobi, meta=args.meta)
return [res]


class KeriResolver(doing.DoDoer):

def __init__(self, hby, hbyDoer, obl, did, oobi, metadata):
def __init__(self, hby, hbyDoer, obl, did, oobi, meta):

self.hby = hby
self.did = did
self.oobi = oobi
self.metadata = metadata
self.meta = meta

self.toRemove = [hbyDoer] + obl.doers
doers = list(self.toRemove) + [doing.doify(self.resolve)]
Expand All @@ -68,9 +68,9 @@ def resolve(self, tymth, tock=0.0, **opts):
while self.hby.db.roobi.get(keys=(self.oobi,)) is None:
_ = yield tock

didresult = didding.generateDIDDoc(self.hby, did=self.did, aid=aid, oobi=self.oobi, metadata=True)
didresult = didding.generateDIDDoc(self.hby, did=self.did, aid=aid, oobi=self.oobi, meta=True)
dd = didresult[didding.DD_FIELD]
result = didresult if self.metadata else dd
result = didresult if self.meta else dd
data = json.dumps(result, indent=2)

print(data)
Expand Down
2 changes: 1 addition & 1 deletion src/dkr/app/cli/commands/did/webs/generate.py
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ def generate(self, tymth, tock=0.0, **opts):
kcf.write(tmsg)

#generate did doc
result = didding.generateDIDDoc(self.hby, did=self.did, aid=aid, oobi=None, reg_name=self.da_reg, metadata=self.meta)
result = didding.generateDIDDoc(self.hby, did=self.did, aid=aid, oobi=None, reg_name=self.da_reg, meta=self.meta)

diddoc = result
if(self.meta):
Expand Down
10 changes: 5 additions & 5 deletions src/dkr/app/cli/commands/did/webs/resolve.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,24 +23,24 @@
parser.add_argument('--passcode', help='22 character encryption passcode for keystore (is not saved)',
dest="bran", default=None) # passcode => bran
parser.add_argument("--did", "-d", help="DID to resolve", required=True)
parser.add_argument("--metadata", "-m", help="Whether to include metadata (True), or only return the DID document (False)", type=bool, required=False, default=None)
parser.add_argument("--meta", "-m", help="Whether to include metadata (True), or only return the DID document (False)", type=bool, required=False, default=None)


def handler(args):
hby = existing.setupHby(name=args.name, base=args.base, bran=args.bran)
hbyDoer = habbing.HaberyDoer(habery=hby) # setup doer
obl = oobiing.Oobiery(hby=hby)
res = WebsResolver(hby=hby, hbyDoer=hbyDoer, obl=obl, did=args.did, metadata=args.metadata)
res = WebsResolver(hby=hby, hbyDoer=hbyDoer, obl=obl, did=args.did, meta=args.meta)
return [res]


class WebsResolver(doing.DoDoer):

def __init__(self, hby, hbyDoer, obl, did, metadata):
def __init__(self, hby, hbyDoer, obl, did, meta):

self.hby = hby
self.did = did
self.metadata = metadata
self.meta = meta

self.toRemove = [hbyDoer] + obl.doers
doers = list(self.toRemove) + [doing.doify(self.resolve)]
Expand All @@ -51,6 +51,6 @@ def resolve(self, tymth, tock=0.125, **opts):
self.tock = tock
_ = (yield self.tock)

resolving.resolve(hby=self.hby, did=self.did, metadata=self.metadata)
resolving.resolve(hby=self.hby, did=self.did, meta=self.meta)

self.remove(self.toRemove)
6 changes: 3 additions & 3 deletions src/dkr/core/didding.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,10 +60,10 @@ def parseDIDWebs(did):
return domain, port, path, aid


def generateDIDDoc(hby: habbing.Habery, did, aid, oobi=None, metadata=False, reg_name=None):
def generateDIDDoc(hby: habbing.Habery, did, aid, oobi=None, meta=False, reg_name=None):
if (did and aid) and not did.endswith(aid):
raise ValueError(f"{did} does not end with {aid}")
print("Generating DID document for", did, "with aid", aid, "using oobi", oobi, "and metadata", metadata, "registry name for creds", reg_name)
print("Generating DID document for", did, "with aid", aid, "using oobi", oobi, "and metadata", meta, "registry name for creds", reg_name)

hab = None
if aid in hby.habs:
Expand Down Expand Up @@ -178,7 +178,7 @@ def generateDIDDoc(hby: habbing.Habery, did, aid, oobi=None, metadata=False, reg
alsoKnownAs=aka_ids
)

if metadata is True:
if meta is True:
resolutionResult = dict(
didDocument=diddoc,
didResolutionMetadata=didResolutionMetadata,
Expand Down
18 changes: 8 additions & 10 deletions src/dkr/core/resolving.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ def saveCesr(hby: habbing.Habery, kc_res: requests.Response, aid: str = None):
assert aid in hby.kevers, f"KERI CESR parsing failed, KERI AID {aid} not found in habery"

def getComp(hby: habbing.Habery, did: str, aid: str, dd_res: requests.Response, kc_res: requests.Response):
dd = didding.generateDIDDoc(hby, did=did, aid=aid, oobi=None, metadata=True)
dd = didding.generateDIDDoc(hby, did=did, aid=aid, oobi=None, meta=True)
dd[didding.DD_META_FIELD]['didDocUrl'] = dd_res.url
dd[didding.DD_META_FIELD]['keriCesrUrl'] = kc_res.url

Expand All @@ -62,7 +62,7 @@ def getComp(hby: habbing.Habery, did: str, aid: str, dd_res: requests.Response,

return dd, dd_actual

def verify(dd, dd_actual, metadata: bool = False):
def verify(dd, dd_actual, meta: bool = False):
dd_exp = dd
if didding.DD_FIELD in dd_exp:
dd_exp = dd[didding.DD_FIELD]
Expand All @@ -71,7 +71,7 @@ def verify(dd, dd_actual, metadata: bool = False):

result = None
if verified:
result = dd if metadata else dd[didding.DD_FIELD]
result = dd if meta else dd[didding.DD_FIELD]
print(f"DID verified")
else:
didresult = dict()
Expand Down Expand Up @@ -145,11 +145,11 @@ def _compare_dicts(expected, actual, path=""):
if expected != actual:
print(f"Different values for key {path}: {expected} (expected) vs. {actual} (actual)", file=sys.stderr)

def resolve(hby, did, metadata=False, resq: queue.Queue = None):
def resolve(hby, did, meta=False, resq: queue.Queue = None):
aid, dd_res, kc_res = getSrcs(did=did, resq=resq)
saveCesr(hby=hby,kc_res=kc_res, aid=aid)
dd, dd_actual = getComp(hby=hby, did=did, aid=aid, dd_res=dd_res, kc_res=kc_res)
vresult = verify(dd, dd_actual, metadata=metadata)
vresult = verify(dd, dd_actual, meta=meta)
print("Resolution result: ", vresult)
return vresult

Expand Down Expand Up @@ -225,7 +225,7 @@ def __init__(self, hby, hbyDoer, obl):
super(ResolveResource, self).__init__(doers=[])
print(f"Init resolver endpoint")

def on_get(self, req, rep, did):
def on_get(self, req, rep, did, meta=False):
print(f"Request to resolve did: {did}")

if did is None:
Expand All @@ -239,20 +239,18 @@ def on_get(self, req, rep, did):
else:
oobi = None

metadata = False

if did.startswith('did:webs:'):
#res = WebsResolver(hby=self.hby, hbyDoer=self.hbyDoer, obl=self.obl, did=did)
#tymth = None # ???
#data = res.resolve(tymth)
cmd = f"dkr did webs resolve --name dkr --did {did} --metadata {metadata}"
cmd = f"dkr did webs resolve --name dkr --did {did} --meta {meta}"
stream = os.popen(cmd)
data = stream.read()
elif did.startswith('did:keri'):
#res = KeriResolver(hby=self.hby, hbyDoer=self.hbyDoer, obl=self.obl, did=did, oobi=oobi, metadata=False)
#tymth = None # ???
#data = res.resolve(tymth)
cmd = f"dkr did keri resolve --name dkr --did {did} --oobi {oobi} --metadata {metadata}"
cmd = f"dkr did keri resolve --name dkr --did {did} --oobi {oobi} --meta {meta}"
stream = os.popen(cmd)
data = stream.read()
else:
Expand Down
6 changes: 3 additions & 3 deletions tests/dkr/app/cli/commands/did/webs/test_resolve.py
Original file line number Diff line number Diff line change
Expand Up @@ -166,18 +166,18 @@ def on_get(self, req, resp):
# assert dd[didding.DD_FIELD][didding.VMETH_FIELD] == dd_actual[didding.VMETH_FIELD]

# # no metadata
# vresult = resolving.verify(dd, dd_actual, metadata=False)
# vresult = resolving.verify(dd, dd_actual, meta=False)
# assert vresult[didding.VMETH_FIELD] == dd[didding.DD_FIELD][didding.VMETH_FIELD]

# # metadata
# vresult = resolving.verify(dd, dd_actual, metadata=True)
# vresult = resolving.verify(dd, dd_actual, meta=True)
# assert vresult[didding.DD_FIELD][didding.VMETH_FIELD] == dd[didding.DD_FIELD][didding.VMETH_FIELD]

# # should not verify
# dd_actual_bad = dd_actual
# # remove the last character of the id
# dd_actual_bad[didding.VMETH_FIELD][0]["id"] = dd_actual_bad[didding.VMETH_FIELD][0]["id"][:-1]
# vresult = resolving.verify(dd, dd_actual_bad, metadata=True)
# vresult = resolving.verify(dd, dd_actual_bad, meta=True)
# assert vresult[didding.DID_RES_META_FIELD]['error'] == 'notVerified'

# # TODO test services, alsoKnownAs, etc.
Expand Down
14 changes: 7 additions & 7 deletions tests/dkr/core/test_didding.py
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ def test_parse_web_did():

def test_gen_did_doc(setup_habs):
hby, hab, wesHby, wesHab = setup_habs
didDoc = didding.generateDIDDoc(hby, did, hab.pre, oobi=None, metadata=False)
didDoc = didding.generateDIDDoc(hby, did, hab.pre, oobi=None, meta=False)
assert (
didDoc["id"]
== f"{did}"
Expand Down Expand Up @@ -204,9 +204,9 @@ def test_gen_did_doc(setup_habs):
}


def test_gen_did_doc_with_metadata(setup_habs):
def test_gen_did_doc_with_meta(setup_habs):
hby, hab, wesHby, wesHab = setup_habs
didDoc = didding.generateDIDDoc(hby, did, hab.pre, oobi=None, metadata=True)
didDoc = didding.generateDIDDoc(hby, did, hab.pre, oobi=None, meta=True)
assert (
didDoc[didding.DD_FIELD]["id"]
== f"{did}"
Expand Down Expand Up @@ -264,14 +264,14 @@ def test_gen_did_doc_no_hab(setup_habs):
did = f"did:web:did-webs-service%3a7676:{aid}"

try:
didDoc = didding.generateDIDDoc(hby, did, aid, oobi=None, metadata=False)
didDoc = didding.generateDIDDoc(hby, did, aid, oobi=None, meta=False)
except KeyError as e:
assert str(e) == f"'{aid}'"

msgs = resolving.loadFile(f"./volume/dkr/pages/{aid}/keri.cesr")
hby.psr.parse(ims=msgs)

didDoc = didding.generateDIDDoc(hby, did, aid, oobi=None, metadata=False)
didDoc = didding.generateDIDDoc(hby, did, aid, oobi=None, meta=False)

expected = resolving.loadJsonFile(f"./volume/dkr/pages/{aid}/did.json")

Expand All @@ -290,7 +290,7 @@ def test_gen_desig_aliases(setup_habs, seeder):
)

didDoc = didding.generateDIDDoc(
hby, did, hab.pre, oobi=None, metadata=True, reg_name=crdntler.rgy.name
hby, did, hab.pre, oobi=None, meta=True, reg_name=crdntler.rgy.name
)
assert (
didDoc[didding.DD_FIELD]["id"]
Expand Down Expand Up @@ -339,7 +339,7 @@ def test_gen_desig_aliases_revoked(setup_habs, seeder):
revoke_cred(hab, crdntler.rgy, crdntler.rgy.registryByName("dAliases"), creds[0])

didDoc = didding.generateDIDDoc(
hby, did, hab.pre, oobi=None, metadata=True
hby, did, hab.pre, oobi=None, meta=True
)
assert (
didDoc[didding.DD_FIELD]["id"]
Expand Down
4 changes: 2 additions & 2 deletions volume/dkr/examples/get_started_docker.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ echo ""
echo "ATTENTION: In your did-webs-service, start the webs server first, see the GETTING_STARTED.md for those instructions"
read -p "Press enter to resolve did:webs..."

dkr did webs resolve --name controller --did "did:webs:did-webs-service%3a7676:ENro7uf0ePmiK3jdTo2YCdXLqW7z7xoP6qhhBou6gBLe"
dkr did webs resolve --name controller --did "did:webs:did-webs-service%3a7676:ENro7uf0ePmiK3jdTo2YCdXLqW7z7xoP6qhhBou6gBLe" --meta True

echo ""
read -p "Press enter to create designated aliases..."
Expand All @@ -47,4 +47,4 @@ cp -R ENro7uf0ePmiK3jdTo2YCdXLqW7z7xoP6qhhBou6gBLe ../pages/
echo ""
read -p "Press enter to resolve did:webs with designated aliases..."

dkr did webs resolve --name controller --did "did:webs:did-webs-service%3a7676:ENro7uf0ePmiK3jdTo2YCdXLqW7z7xoP6qhhBou6gBLe"
dkr did webs resolve --name controller --did "did:webs:did-webs-service%3a7676:ENro7uf0ePmiK3jdTo2YCdXLqW7z7xoP6qhhBou6gBLe" --meta True
2 changes: 1 addition & 1 deletion volume/dkr/examples/get_started_docker_resolve.sh
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,6 @@ fi
DID="did:webs:did-webs-service%3a7676:$AID"

echo "Resolving $AID did:webs $DID... "
source "./get_started_webs_resolve.sh" "${NAME}" "${DID}"
source "./get_started_webs_resolve.sh" "${NAME}" "${DID}" "True"


4 changes: 2 additions & 2 deletions volume/dkr/examples/get_started_docker_wits.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ echo ""
echo "ATTENTION: In your did-webs-service, start the webs server first, see the GETTING_STARTED.md for those instructions"
read -p "Press enter to resolve did:webs..."

dkr did webs resolve --name controller --did "did:webs:did-webs-service%3a7676:$AID"
dkr did webs resolve --name controller --did "did:webs:did-webs-service%3a7676:$AID" --meta True

echo ""
read -p "Press enter to create designated aliases..."
Expand All @@ -52,4 +52,4 @@ cp -R $AID ../pages/
echo ""
read -p "Press enter to resolve did:webs with designated aliases..."

dkr did webs resolve --name controller --did "did:webs:did-webs-service%3a7676:$AID"
dkr did webs resolve --name controller --did "did:webs:did-webs-service%3a7676:$AID" --meta True
4 changes: 3 additions & 1 deletion volume/dkr/examples/get_started_webs_resolve.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
ctrlName=$1
# did
did=$2
# metadata
meta=$3

# generate controller did:webs for EKYGGh-FtAphGmSZbsuBs_t4qpsjYJ2ZqvMKluq9OxmP at labs.hyperledger.org
dkr did webs resolve --name "${ctrlName}" --did "${did}"
dkr did webs resolve --name "${ctrlName}" --did "${did}" --meta "${meta}"
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"id": "did:web:did-webs-service%3a7676:ENro7uf0ePmiK3jdTo2YCdXLqW7z7xoP6qhhBou6gBLe", "verificationMethod": [{"id": "#DHr0-I-mMN7h6cLMOTRJkkfPuMd0vgQPrOk4Y3edaHjr", "type": "JsonWebKey", "controller": "did:web:did-webs-service%3a7676:ENro7uf0ePmiK3jdTo2YCdXLqW7z7xoP6qhhBou6gBLe", "publicKeyJwk": {"kid": "DHr0-I-mMN7h6cLMOTRJkkfPuMd0vgQPrOk4Y3edaHjr", "kty": "OKP", "crv": "Ed25519", "x": "evT4j6Yw3uHpwsw5NEmSR8-4x3S-BA-s6Thjd51oeOs"}}], "service": [], "alsoKnownAs": []}
{"id": "did:web:did-webs-service%3a7676:ENro7uf0ePmiK3jdTo2YCdXLqW7z7xoP6qhhBou6gBLe", "verificationMethod": [{"id": "#DHr0-I-mMN7h6cLMOTRJkkfPuMd0vgQPrOk4Y3edaHjr", "type": "JsonWebKey", "controller": "did:web:did-webs-service%3a7676:ENro7uf0ePmiK3jdTo2YCdXLqW7z7xoP6qhhBou6gBLe", "publicKeyJwk": {"kid": "DHr0-I-mMN7h6cLMOTRJkkfPuMd0vgQPrOk4Y3edaHjr", "kty": "OKP", "crv": "Ed25519", "x": "evT4j6Yw3uHpwsw5NEmSR8-4x3S-BA-s6Thjd51oeOs"}}], "service": [], "alsoKnownAs": ["did:web:did-webs-service%3a7676:ENro7uf0ePmiK3jdTo2YCdXLqW7z7xoP6qhhBou6gBLe", "did:webs:did-webs-service%3a7676:ENro7uf0ePmiK3jdTo2YCdXLqW7z7xoP6qhhBou6gBLe", "did:web:example.com:ENro7uf0ePmiK3jdTo2YCdXLqW7z7xoP6qhhBou6gBLe", "did:web:foo.com:ENro7uf0ePmiK3jdTo2YCdXLqW7z7xoP6qhhBou6gBLe", "did:webs:foo.com:ENro7uf0ePmiK3jdTo2YCdXLqW7z7xoP6qhhBou6gBLe"]}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"v":"KERI10JSON00012b_","t":"icp","d":"ENro7uf0ePmiK3jdTo2YCdXLqW7z7xoP6qhhBou6gBLe","i":"ENro7uf0ePmiK3jdTo2YCdXLqW7z7xoP6qhhBou6gBLe","s":"0","kt":"1","k":["DHr0-I-mMN7h6cLMOTRJkkfPuMd0vgQPrOk4Y3edaHjr"],"nt":"1","n":["ELa775aLyane1vdiJEuexP8zrueiIoG995pZPGJiBzGX"],"bt":"0","b":[],"c":[],"a":[]}-VAn-AABAADjfOjbPu9OWce59OQIc-y3Su4kvfC2BAd_e_NLHbXcOK8-3s6do5vBfrxQ1kDyvFGCPMcSl620dLMZ4QDYlvME-EAB0AAAAAAAAAAAAAAAAAAAAAAA1AAG2024-03-06T14c48c10d241878p00c00
{"v":"KERI10JSON00012b_","t":"icp","d":"ENro7uf0ePmiK3jdTo2YCdXLqW7z7xoP6qhhBou6gBLe","i":"ENro7uf0ePmiK3jdTo2YCdXLqW7z7xoP6qhhBou6gBLe","s":"0","kt":"1","k":["DHr0-I-mMN7h6cLMOTRJkkfPuMd0vgQPrOk4Y3edaHjr"],"nt":"1","n":["ELa775aLyane1vdiJEuexP8zrueiIoG995pZPGJiBzGX"],"bt":"0","b":[],"c":[],"a":[]}-VAn-AABAADjfOjbPu9OWce59OQIc-y3Su4kvfC2BAd_e_NLHbXcOK8-3s6do5vBfrxQ1kDyvFGCPMcSl620dLMZ4QDYlvME-EAB0AAAAAAAAAAAAAAAAAAAAAAA1AAG2024-04-01T17c40c48d329209p00c00{"v":"KERI10JSON00013a_","t":"ixn","d":"ED-4iQIVxwMcrTOW6fVs9oPpLTIxtqh_vcvLmE999zsU","i":"ENro7uf0ePmiK3jdTo2YCdXLqW7z7xoP6qhhBou6gBLe","s":"1","p":"ENro7uf0ePmiK3jdTo2YCdXLqW7z7xoP6qhhBou6gBLe","a":[{"i":"EAtQJEQMkkvlWxyfLbcLyv4kNeAI5Qsqe65vKIWnHKpx","s":"0","d":"EAtQJEQMkkvlWxyfLbcLyv4kNeAI5Qsqe65vKIWnHKpx"}]}-VAn-AABAACNra5mDg7YHFtBeXiwIGqnHkyq7F55FGNYG1wH95akjSWCb1HzNI3E05ufT0HffClDxnJF_DmAUW2SBb0EJeoO-EAB0AAAAAAAAAAAAAAAAAAAAAAB1AAG2024-04-01T17c42c37d704426p00c00{"v":"KERI10JSON00013a_","t":"ixn","d":"EBjw0a_L8M0F4xYND99dvahlrkpxODi9Wc9VzUvkhD0t","i":"ENro7uf0ePmiK3jdTo2YCdXLqW7z7xoP6qhhBou6gBLe","s":"2","p":"ED-4iQIVxwMcrTOW6fVs9oPpLTIxtqh_vcvLmE999zsU","a":[{"i":"EIGWggWL2IHiUzj1P2YuPA0-Uh55LTIu14KTvVQGrfvT","s":"0","d":"EJQvCZQYn8oO1z3_f8qhxXjk7TcLol4G3RdHVTwfGV3L"}]}-VAn-AABAABo_okwAmWIYWI93EtUONZiEvsGuSRkKnj0mopX_RoXwWHZ_1V5hQ0BxcntsmAi21DbusyCmK-fHwTNtSxUSsoN-EAB0AAAAAAAAAAAAAAAAAAAAAAC1AAG2024-04-01T17c42c39d995867p00c00{"v":"KERI10JSON000113_","t":"vcp","d":"EAtQJEQMkkvlWxyfLbcLyv4kNeAI5Qsqe65vKIWnHKpx","i":"EAtQJEQMkkvlWxyfLbcLyv4kNeAI5Qsqe65vKIWnHKpx","ii":"ENro7uf0ePmiK3jdTo2YCdXLqW7z7xoP6qhhBou6gBLe","s":"0","c":["NB"],"bt":"0","b":[],"n":"AAfqHwMDdBoIWk_4Z6hvVJuhtvjA_gk8Y9bEUoP_rC_p"}-VAS-GAB0AAAAAAAAAAAAAAAAAAAAAABED-4iQIVxwMcrTOW6fVs9oPpLTIxtqh_vcvLmE999zsU{"v":"KERI10JSON0000ed_","t":"iss","d":"EJQvCZQYn8oO1z3_f8qhxXjk7TcLol4G3RdHVTwfGV3L","i":"EIGWggWL2IHiUzj1P2YuPA0-Uh55LTIu14KTvVQGrfvT","s":"0","ri":"EAtQJEQMkkvlWxyfLbcLyv4kNeAI5Qsqe65vKIWnHKpx","dt":"2023-11-13T17:41:37.710691+00:00"}-VAS-GAB0AAAAAAAAAAAAAAAAAAAAAACEBjw0a_L8M0F4xYND99dvahlrkpxODi9Wc9VzUvkhD0t{"v":"ACDC10JSON0005f2_","d":"EIGWggWL2IHiUzj1P2YuPA0-Uh55LTIu14KTvVQGrfvT","i":"ENro7uf0ePmiK3jdTo2YCdXLqW7z7xoP6qhhBou6gBLe","ri":"EAtQJEQMkkvlWxyfLbcLyv4kNeAI5Qsqe65vKIWnHKpx","s":"EN6Oh5XSD5_q2Hgu-aqpdfbVepdpYpFlgz6zvJL5b_r5","a":{"d":"EJJjtYa6D4LWe_fqtm1p78wz-8jNAzNX6aPDkrQcz27Q","dt":"2023-11-13T17:41:37.710691+00:00","ids":["did:web:did-webs-service%3a7676:ENro7uf0ePmiK3jdTo2YCdXLqW7z7xoP6qhhBou6gBLe","did:webs:did-webs-service%3a7676:ENro7uf0ePmiK3jdTo2YCdXLqW7z7xoP6qhhBou6gBLe","did:web:example.com:ENro7uf0ePmiK3jdTo2YCdXLqW7z7xoP6qhhBou6gBLe","did:web:foo.com:ENro7uf0ePmiK3jdTo2YCdXLqW7z7xoP6qhhBou6gBLe","did:webs:foo.com:ENro7uf0ePmiK3jdTo2YCdXLqW7z7xoP6qhhBou6gBLe"]},"r":{"d":"EEVTx0jLLZDQq8a5bXrXgVP0JDP7j8iDym9Avfo8luLw","aliasDesignation":{"l":"The issuer of this ACDC designates the identifiers in the ids field as the only allowed namespaced aliases of the issuer's AID."},"usageDisclaimer":{"l":"This attestation only asserts designated aliases of the controller of the AID, that the AID controlled namespaced alias has been designated by the controller. It does not assert that the controller of this AID has control over the infrastructure or anything else related to the namespace other than the included AID."},"issuanceDisclaimer":{"l":"All information in a valid and non-revoked alias designation assertion is accurate as of the date specified."},"termsOfUse":{"l":"Designated aliases of the AID must only be used in a manner consistent with the expressed intent of the AID controller."}}}-VA0-FABENro7uf0ePmiK3jdTo2YCdXLqW7z7xoP6qhhBou6gBLe0AAAAAAAAAAAAAAAAAAAAAAAENro7uf0ePmiK3jdTo2YCdXLqW7z7xoP6qhhBou6gBLe-AABAADQOX208DAmZEPb2v0XXF0N6WgxOdOxB3AsCBJds_vbAr7v1PQBA4MWNsXc8unk5UykbB8j538XGkzLtujekvIP

0 comments on commit ebce11d

Please sign in to comment.