Our solidity library provides methods for manipulating secret data. It's essential to utilize these functions for any operations involving sensitive information. Additionally, it's worth noting that you can also call these functions with some of the inputs being scalars. Below are the function signatures for the available operations. Note that different type sizes can be mixed during calls.
A user wishing to invoke operations on private data should import this library in MpcCore.sol
The following list pertains to a single type size, as the signatures remain consistent across all type sizes and for mixed-size calls.
Secret Boolean type and various operations
(please note this is a small subset, for full reference see MpcCore.sol)
// Boolean secret typefunctionvalidateCiphertext(itBool memory input) internalreturns (gtBool);functiononBoard(ctBool ct) internalreturns (gtBool);functionoffBoard(gtBool pt) internalreturns (ctBool);functionoffBoardToUser(gtBool pt,address addr) internalreturns (ctBool);functionsetPublic(bool pt) internalreturns (gtBool);functionrand() internalreturns (gtBool);functionand(gtBool a, gtBool b) internalreturns (gtBool);functionor(gtBool a, gtBool b) internalreturns (gtBool);functionxor(gtBool a, gtBool b) internalreturns (gtBool);functioneq(gtBool a, gtBool b) internalreturns (gtBool);functionne(gtBool a, gtBool b) internalreturns (gtBool);functiondecrypt(gtBool ct) internalreturns (bool);functionmux(gtBool bit, gtBool a, gtBool b) internalreturns (gtBool);functionnot(gtBool a) internalreturns (gtBool);