OverviewFilesCommitsIssuesDocsReleasesPeers

keet-deobfuscated / @holepunchto / keet-schemas / packages / schema / local / index.js

339 lines · javascript ref:
const e = require("../contract")
module.exports = function (t) {
  const r = t.namespace("local")
  ;(e(t),
    r.register({
      name: "background-sync-room",
      fields: [
        { name: "discoveryPublicKey", type: "@keet/room-discovery-key", required: !0 },
        { name: "timestamp", type: "uint", required: !0 },
        { name: "lastSynced", type: "uint" },
        { name: "dirty", type: "bool" },
      ],
    }),
    r.register({
      name: "stats",
      fields: [
        { name: "rooms", type: "uint", required: !0 },
        { name: "activeRooms", type: "uint", required: !0 },
      ],
    }),
    r.register({
      name: "migration-status",
      fields: [{ name: "version", type: "uint", required: !0 }],
    }),
    r.register({
      name: "v3-private-profile-migration",
      fields: [{ name: "blockedMembers", type: "@keet/member-key", array: !0 }],
    }),
    r.register({
      name: "v3-room-migration",
      fields: [
        { name: "encryptionKey", type: "@keet/encryption-key", required: !0 },
        { name: "seed", type: "fixed32", required: !0 },
        { name: "capabilities", type: "@keet/room-capabilities", required: !0 },
        { name: "initiator", type: "@keet/head", required: !0 },
        { name: "fastForwardTo", type: "fixed32", required: !0 },
        { name: "privateProfile", type: "@local/v3-private-profile-migration" },
      ],
    }),
    r.register({
      name: "room-migration-stats",
      fields: [{ name: "count", type: "uint", require: !0 }],
    }),
    r.register({
      name: "room-migration",
      fields: [
        { name: "roomKey", type: "@keet/room-key", required: !0 },
        { name: "priority", type: "uint", required: !0 },
        { name: "v3", type: "@local/v3-room-migration" },
        { name: "errored", type: "bool" },
        { name: "timestamp", type: "uint" },
      ],
    }),
    r.register({ name: "identity-status", fields: [{ name: "isConfirmed", type: "bool" }] }),
    r.register({
      name: "identity-swap",
      fields: [{ name: "privateProfileKey", type: "@keet/room-key", required: !0 }],
    }),
    r.register({
      name: "identity-record",
      fields: [
        { name: "publicKey", type: "@keet/public-key", required: !0 },
        { name: "privateProfileKey", type: "@keet/room-key", required: !0 },
        { name: "deviceKeyPair", type: "@keet/signing-keypair", required: !0 },
        { name: "deviceProof", type: "buffer", required: !0 },
        { name: "status", type: "@local/identity-status", required: !0 },
        { name: "entropy", type: "buffer" },
        { name: "swap", type: "@keet-private-id/identity-swap" },
        { name: "swapV2", type: "@keet-private-id/identity-swap-v2" },
      ],
    }),
    r.register({
      name: "tasks",
      enum: [
        "RestoreIdentity",
        "CreateRoom",
        "LeaveRoom",
        "ClearRoom",
        "JoinRoomInvitation",
        "JoinRoomKeys",
        "JoinRoomResponse",
        "SendContactRequest",
        "TestFastTask",
        "TestSlowTask",
        "TestErrorTask",
      ],
    }))
  const i = [
    { name: "roomKey", type: "@keet/room-key", required: !0 },
    { name: "encryptionKey", type: "@keet/encryption-key", required: !0 },
    { name: "fastForwardTo", type: "fixed32" },
    { name: "initiator", type: "@keet/head" },
  ]
  ;(r.register({ name: "room-keys", fields: i }),
    r.register({
      name: "join-room-invitation-task",
      fields: [{ name: "invitation", type: "@keet-private-id/pending-invitation", required: !0 }],
    }),
    r.register({
      name: "join-room-response-task",
      fields: [
        { name: "mailbox", type: "@keet/public-key", required: !0 },
        { name: "keyPair", type: "@keet/signing-keypair", required: !0 },
        { name: "response", type: "buffer", required: !0 },
      ],
    }),
    r.register({
      name: "fast-forward-to",
      fields: [{ name: "key", type: "@keet/core-key", required: !0 }],
    }))
  const a = [...i, { name: "mailbox", type: "@keet/public-key" }]
  ;(r.register({ name: "add-room-fields", fields: a }),
    r.register({
      name: "join-room-keys-task",
      fields: [{ name: "keys", type: "@local/add-room-fields", required: !0 }],
    }),
    r.register({
      name: "create-room-task",
      fields: [
        ...a,
        { name: "keyPair", type: "@keet/signing-keypair" },
        { name: "genesis", type: "@keet/genesis-operation" },
        { name: "isPrivateProfile", type: "bool" },
      ],
    }),
    r.register({
      name: "leave-room-task",
      fields: [
        { name: "roomKey", type: "@keet/room-key", required: !0 },
        { name: "isGossiped", type: "bool" },
      ],
    }),
    r.register({
      name: "clear-room-task",
      fields: [{ name: "roomKey", type: "@keet/room-key", required: !0 }],
    }),
    r.register({
      name: "restore-identity-task",
      fields: [
        { name: "mnemonic", type: "string", required: !0 },
        { name: "profileDiscoveryTimeout", type: "uint" },
        { name: "recover", type: "bool" },
      ],
    }),
    r.register({
      name: "send-contact-request-task",
      fields: [
        { name: "roomKey", type: "@keet/room-key", required: !0 },
        { name: "memberKey", type: "@keet/member-key", required: !0 },
        { name: "message", type: "string" },
        { name: "contactInfo", type: "@keet/member-contact-info" },
      ],
    }),
    r.register({
      name: "migrate-v2-room-task",
      fields: [
        { name: "key", type: "@keet/room-key", required: !0 },
        { name: "isPrivateProfile", type: "bool" },
      ],
    }),
    r.register({
      name: "task",
      fields: [
        { name: "discoveryKey", type: "@keet/room-discovery-key", required: !0 },
        { name: "priority", type: "uint", required: !0 },
        { name: "timestamp", type: "uint", required: !0 },
        { name: "type", type: "uint", required: !0 },
        { name: "restoreIdentity", type: "@local/restore-identity-task" },
        { name: "createRoom", type: "@local/create-room-task" },
        { name: "leaveRoom", type: "@local/leave-room-task" },
        { name: "clearRoom", type: "@local/clear-room-task" },
        { name: "joinRoomInvitation", type: "@local/join-room-invitation-task" },
        { name: "joinRoomKeys", type: "@local/join-room-keys-task" },
        { name: "joinRoomResponse", type: "@local/join-room-response-task" },
        { name: "sendContactRequest", type: "@local/send-contact-request-task" },
        { name: "migrateV2Room", type: "@local/migrate-v2-room-task" },
      ],
    }),
    r.register({
      name: "shared-invitation",
      fields: [
        { name: "seed", type: "buffer", required: !0 },
        { name: "invitation", type: "@keet/invitation", required: !0 },
      ],
    }),
    r.register({
      name: "room-status",
      fields: [
        { name: "isWritable", type: "bool" },
        { name: "isReadable", type: "bool" },
        { name: "isPrivateProfile", type: "bool" },
        { name: "isRemoved", type: "bool" },
      ],
    }),
    r.register({
      name: "room-timestamps",
      fields: [
        { name: "creation", type: "uint", required: !0 },
        { name: "latestSync", type: "uint", required: !0 },
        { name: "latestChatMessage", type: "uint", required: !0 },
      ],
    }),
    r.register({
      name: "room",
      fields: [
        { name: "roomKey", type: "@keet/room-key", required: !0 },
        { name: "discoveryKey", type: "@keet/room-discovery-key", required: !0 },
        { name: "encryptionKey", type: "@keet/encryption-key", required: !0 },
        { name: "digest", type: "@keet/system-digest", required: !0 },
        { name: "stats", type: "@keet/stats", required: !0 },
        { name: "timestamps", type: "@local/room-timestamps", required: !0 },
        { name: "fork", type: "uint", required: !0 },
        { name: "length", type: "uint", required: !0 },
        { name: "seed", type: "fixed32", required: !0 },
        { name: "capabilities", type: "@keet/room-capabilities", required: !0 },
        { name: "status", type: "@local/room-status", required: !0 },
        { name: "selfDevice", type: "@keet/device" },
        { name: "selfMember", type: "@keet/full-member" },
        { name: "config", type: "@keet/room-config" },
        { name: "identity", type: "@keet/room-identity" },
        { name: "lastMessage", type: "@keet/full-chat-message-record" },
        { name: "dm", type: "@keet/member-key", array: !0 },
        { name: "readLengths", type: "@keet/read-length", array: !0 },
        { name: "lastMember", type: "@keet/member" },
        { name: "version", type: "uint" },
        { name: "preferences", type: "@keet-private-id/room-status" },
      ],
    }),
    r.register({
      name: "room-preferences",
      fields: [
        { name: "roomKey", type: "@keet/room-key", required: !0 },
        { name: "status", type: "@keet-private-id/room-status", required: !0 },
      ],
    }),
    r.register({
      name: "room-metadata",
      fields: [
        { name: "roomKey", type: "@keet/room-key", required: !0 },
        { name: "repairs", type: "uint" },
      ],
    }),
    r.register({
      name: "writer",
      fields: [
        { name: "mailbox", type: "@keet/public-key", required: !0 },
        { name: "key", type: "@keet/core-key", required: !0 },
        { name: "roomKey", type: "@keet/room-key" },
        { name: "keyPair", type: "@keet/signing-keypair" },
        { name: "responseKeyPair", type: "@keet/signing-keypair" },
      ],
    }),
    r.register({
      name: "writer-append",
      fields: [
        { name: "key", type: "@keet/core-key", required: !0 },
        { name: "responsePublicKey", type: "fixed32", required: !0 },
      ],
    }),
    r.register({
      name: "member",
      fields: [
        { name: "key", type: "@keet/member-key", required: !0 },
        { name: "profile", type: "@keet/member-profile", required: !0 },
      ],
    }),
    r.register({
      name: "device",
      fields: [
        { name: "roomKey", type: "@keet/room-key", required: !0 },
        { name: "device", type: "@keet/device", required: !0 },
      ],
    }),
    r.register({
      name: "file",
      fields: [
        { name: "file", type: "@keet/file", required: !0 },
        { name: "roomKey", type: "@keet/room-key", required: !0 },
        { name: "encryptionKey", type: "@keet/encryption-key" },
        { name: "cleared", type: "bool" },
        { name: "own", type: "bool" },
      ],
    }),
    r.register({
      name: "debug-flag",
      fields: [
        { name: "key", type: "string" },
        { name: "value", type: "bool" },
        { name: "description", type: "string" },
      ],
    }),
    r.register({
      name: "debug",
      fields: [{ name: "flags", type: "@local/debug-flag", array: !0 }],
    }),
    r.register({
      name: "hyperdht-record",
      fields: [
        { name: "nodes", type: "ipv4Address", array: !0 },
        { name: "concurrency", type: "uint" },
        { name: "maxWindow", type: "uint" },
        { name: "randomPunchInterval", type: "uint" },
        { name: "connectionKeepAlive", type: "uint" },
      ],
    }),
    r.register({
      name: "unread",
      fields: [
        { name: "roomKey", type: "@keet/room-key", required: !0 },
        { name: "count", type: "uint", required: !0 },
      ],
    }),
    r.register({
      name: "error-record-details",
      fields: [
        { name: "roomKey", type: "@keet/room-key" },
        { name: "coreKey", type: "@keet/core-key" },
      ],
    }),
    r.register({
      name: "error-record",
      fields: [
        { name: "code", type: "string", required: !0 },
        { name: "message", type: "string", required: !0 },
        { name: "stack", type: "string", required: !0 },
        { name: "timestamp", type: "uint", required: !0 },
        { name: "details", type: "@local/error-record-details" },
      ],
    }),
    r.register({ name: "keet-state", enum: ["RESUME", "WAKEUP", "PRESUSPEND", "SUSPEND"] }),
    r.register({
      name: "file-stats",
      fields: [
        { name: "roomKey", type: "@keet/room-key", required: !0 },
        { name: "total", type: "uint", required: !0 },
      ],
    }))
}