ContractInvitationSpec: {
    instance: Instance;
    invitationArgs?: any[];
    publicInvitationMaker: string;
    source: "contract";
}

source is a contract (in which case this takes an Instance to look up in zoe)