|
13 | 13 | from convex_api.exceptions import ConvexAPIError |
14 | 14 |
|
15 | 15 | CONTRACT_NAME='starfish-did-registry' |
16 | | -CONTRACT_VERSION = '0.0.3' |
| 16 | +CONTRACT_VERSION = '0.0.4' |
17 | 17 |
|
18 | 18 | did_registry_contract = f""" |
19 | 19 | (def starfish-did-registry |
|
72 | 72 | [did (address to-account)] |
73 | 73 | ) |
74 | 74 | ) |
75 | | - (defn dump [] (when (= creator *caller*) registry) ) |
76 | | - (export dump resolve resolve? register unregister owner owner? transfer version) |
| 75 | + (defn dump [] registry ) |
| 76 | + (defn owner-list [the-owner] |
| 77 | + (assert-address the-owner) |
| 78 | + (mapcat (fn [k v] (when (= (address the-owner) (get v :owner)) [k])) (keys registry) (values registry)) |
| 79 | + ) |
| 80 | + (export dump resolve resolve? register unregister owner owner? owner-list transfer version) |
77 | 81 | ) |
78 | 82 | ) |
79 | 83 | ) |
@@ -365,6 +369,15 @@ def test_contract_ddo_dump(convex, test_account, other_account): |
365 | 369 | for did in did_list: |
366 | 370 | assert(did in list(result['value'].keys())) |
367 | 371 |
|
| 372 | + |
368 | 373 | command = f'(call {contract_address} (dump))' |
369 | 374 | result = convex.query(command, other_account) |
370 | | - assert(not result['value']) |
| 375 | + assert(result['value']) |
| 376 | + for did in did_list: |
| 377 | + assert(did in list(result['value'].keys())) |
| 378 | + |
| 379 | + command = f'(call {contract_address} (owner-list "{test_account.address_api}"))' |
| 380 | + result = convex.query(command, test_account) |
| 381 | + assert(result['value']) |
| 382 | + for did in did_list: |
| 383 | + assert(did in result['value']) |
0 commit comments