provider_contract.v1.json (1928B)
1 { 2 "schema": "radroots.myc.provider-contract", 3 "schema_version": 1, 4 "contract_version": 1, 5 "provider_kinds": ["encrypted_file", "local_signer"], 6 "capabilities": [ 7 "describe", 8 "public_identity", 9 "sign_event", 10 "nip04_encrypt", 11 "nip04_decrypt", 12 "nip44_encrypt", 13 "nip44_decrypt" 14 ], 15 "roles": [ 16 { 17 "role": "transport", 18 "provider_instance": "transport", 19 "required_capabilities": [ 20 "describe", 21 "public_identity", 22 "nip04_encrypt", 23 "nip04_decrypt", 24 "nip44_encrypt", 25 "nip44_decrypt" 26 ] 27 }, 28 { 29 "role": "user", 30 "provider_instance": "user", 31 "required_capabilities": [ 32 "describe", 33 "public_identity", 34 "sign_event", 35 "nip04_encrypt", 36 "nip04_decrypt", 37 "nip44_encrypt", 38 "nip44_decrypt" 39 ] 40 }, 41 { 42 "role": "discovery", 43 "provider_instance": "discovery", 44 "required_capabilities": ["describe", "public_identity", "sign_event"] 45 } 46 ], 47 "operation_binding": { 48 "operation_id_bytes": 32, 49 "correlation_id_bytes": 32, 50 "absolute_deadline_unix_ms": { "minimum": 1, "maximum": 9223372036854775807 }, 51 "nip44_versions": [2], 52 "semantic_input_max_bytes": 262144, 53 "untrusted_output_max_bytes": 1048576 54 }, 55 "local_signer_limits": { 56 "request_deadline_ms": { "minimum": 1, "maximum": 30000 }, 57 "request_max_bytes": { "minimum": 1, "maximum": 65536 }, 58 "response_max_bytes": { "minimum": 1, "maximum": 1048576 }, 59 "concurrency": { "minimum": 1, "maximum": 64 } 60 }, 61 "credential_reference": { 62 "maximum_utf8_bytes": 128, 63 "shared_type": "ServiceCredentialArtifactName", 64 "material_in_configuration": false 65 }, 66 "execution": { 67 "database_transaction_held": false, 68 "provider_result_trusted": false, 69 "cancellation_proves_no_effect": false, 70 "signing_is_publication": false 71 } 72 }