Create and register a Remotable. After this, getInterfaceOf(remotable) returns iface.

// https://github.com/Agoric/agoric-sdk/issues/804

  • Type Parameters

    • T extends {}
    • I extends string

    Parameters

    • Optionaliface: I = 'Remotable'

      The interface specification for the remotable. For now, a string iface must be "Remotable" or begin with "Alleged: " or "DebugName: ", to serve as the alleged name. More general ifaces are not yet implemented. This is temporary. We include the "Alleged" or "DebugName" as a reminder that we do not yet have SwingSet or Comms Vat support for ensuring this is according to the vat hosting the object. Currently, Alice can tell Bob about Carol, where VatA (on Alice's behalf) misrepresents Carol's iface. VatB and therefore Bob will then see Carol's iface as misrepresented by VatA.

    • Optionalprops: undefined = undefined

      Currently may only be undefined. That plan is that own-properties are copied to the remotable

    • Optionalremotable: T = ...

      The object used as the remotable

    Returns T & RemotableObject<I> & RemotableBrand<{}, T>

    } remotable, modified for debuggability