Getting a Principal from a callback(actor function type) in motoko

Is it possible to get the canister principal from an actor function reference?

let args = {
                  start = seeking;
                  length = thisEnd - seeking;
                };
                callback = (actor(archivePrincipal)) : ICRC3Interface).icrc3_get_transactions;
};

//later

Principal.fromActor(args.callback); //doesn't work(not that it should...but looking for something similar for an actor function ref)
1 Like

By design, no, since that’s like breaking the abstraction of functions.

However, if you really, really have to, you could probably serialize the function reference to a blob, using to_candid, and fish the principal from that. But that’s cheating and probably somewhat tedious to do.

1 Like

funny. when i’m trying to implement icrc3, i kinda need the principal from the returned callbacks (for logging purposes). guess i have to find another way.