nip46_work.v1.json (3106B)
1 { 2 "schema": "radroots.myc.nip46-work.v1", 3 "contract_version": 1, 4 "prerequisites": ["nip46_verification.v1", "nip46_replay.v1", "nip46_authorization.v1"], 5 "decryption": { 6 "event_binding": "exact_verified_transport_receiver_client_and_encryption_context", 7 "operation_id": "sha256_domain_and_verified_event_id", 8 "operation_id_domain": "radroots.myc.nip46.decrypt.operation.v1\\0", 9 "correlation_id": "sha256_domain_and_verified_event_id", 10 "correlation_id_domain": "radroots.myc.nip46.decrypt.correlation.v1\\0", 11 "provider_role": "transport", 12 "nip04_capability": "nip04_decrypt", 13 "nip44_capability": "nip44_decrypt_v2", 14 "plaintext_authority": "independently_verified_exact_provider_operation_result", 15 "provider_result_binding": { 16 "algorithm": "sha256", 17 "domain": "radroots.myc.provider.operation_binding.v1\\0", 18 "field_order": [ 19 "role", 20 "instance", 21 "provider", 22 "operation_id", 23 "correlation_id", 24 "absolute_deadline_unix_ms", 25 "expected_identity", 26 "capability", 27 "peer_or_empty", 28 "nip44_version_or_zero", 29 "input_or_empty" 30 ], 31 "utf8_and_byte_framing": "u64_be_length_then_exact_bytes", 32 "operation_id_encoding": "exact_32_bytes", 33 "correlation_id_encoding": "exact_32_bytes", 34 "deadline_encoding": "u64_be", 35 "nip44_version_encoding": "one_u8_zero_when_absent" 36 }, 37 "alternate_plaintext_to_work_path": "forbidden" 38 }, 39 "method_inventory": [ 40 "connect", 41 "get_public_key", 42 "get_session_capability", 43 "sign_event", 44 "nip04_encrypt", 45 "nip04_decrypt", 46 "nip44_encrypt", 47 "nip44_decrypt", 48 "ping", 49 "switch_relays", 50 "logout" 51 ], 52 "custom_methods": "unsupported_v1", 53 "work_classes": { 54 "connect": "typed_connection_admission_input", 55 "local": ["get_public_key", "get_session_capability", "ping", "switch_relays", "logout"], 56 "provider": { 57 "role": "user", 58 "sign_event_input": [ 59 "canonical_unsigned_json", 60 "valid_optional_event_id", 61 "exact_configured_user_author" 62 ], 63 "mappings": { 64 "sign_event": "sign_event", 65 "nip04_encrypt": "nip04_encrypt", 66 "nip04_decrypt": "nip04_decrypt", 67 "nip44_encrypt": "nip44_encrypt_v2", 68 "nip44_decrypt": "nip44_decrypt_v2" 69 } 70 } 71 }, 72 "authorization": { 73 "durable_request_record_exactly_bound": true, 74 "non_connect_requires_active_client_bound_connection": true, 75 "expiry_checked_at_injected_observation_time": true, 76 "required_permission_api": "radroots_nostr_connect::server::required_permission", 77 "granted_permission_required": true, 78 "connect_secret_authority": "forbidden", 79 "client_metadata_authority": "none" 80 }, 81 "sqlite": { 82 "transaction_parameter": "forbidden", 83 "provider_execution_while_transaction_open": "forbidden", 84 "work_construction_phase": "after_durable_request_admission_returns" 85 }, 86 "nonclaims": [ 87 "provider_execution", 88 "response_commit", 89 "outbox_creation", 90 "relay_publication" 91 ] 92 }