package entropy:core world program { // similar to `variant`, but no type payloads variant error { /// The signature request is invalid (ie. the `initial-state` ) invalid-signature-request(string), evaluation(string) } /// Evaluates the program given the user's signature request and the program's configuration. export evaluate: func(signature-request: signature-request, config: option>, oracle-data: option>) -> result<_, error> /// Programs that use custom hash functions can a custom 32-byte curve point to be signed. export custom-hash: func(data: list) -> option> record signature-request { /// Preimage of the user's data that will be signed (eg. RLP-encoded ETH transaction request). message: list, /// Auxiliary data optionally required for program evaluation; this won't be signed (eg. zero-knowledge proof, third party signature) auxilary-data: option> } }