SuiObjectChange:
    | {
        digest: string;
        modules: string[];
        packageId: string;
        type: "published";
        version: string;
    }
    | {
        digest: string;
        objectId: string;
        objectType: string;
        recipient: ObjectOwner;
        sender: string;
        type: "transferred";
        version: string;
    }
    | {
        digest: string;
        objectId: string;
        objectType: string;
        owner: ObjectOwner;
        previousVersion: string;
        sender: string;
        type: "mutated";
        version: string;
    }
    | {
        objectId: string;
        objectType: string;
        sender: string;
        type: "deleted";
        version: string;
    }
    | {
        objectId: string;
        objectType: string;
        sender: string;
        type: "wrapped";
        version: string;
    }
    | {
        digest: string;
        objectId: string;
        objectType: string;
        owner: ObjectOwner;
        sender: string;
        type: "created";
        version: string;
    }

ObjectChange are derived from the object mutations in the TransactionEffect to provide richer object information.