1- import "./types.tolk";
2- import "./exit_codes.tolk";
31import "./../utils.tolk";
2+ import "types.tolk";
3+ import "errors";
44
55
66const OCR3BASE_CONFIG_SET_TOPIC: int = stringCrc32("OCR3Base_ConfigSet");
@@ -67,12 +67,12 @@ fun OCR3Base.getConfig(self, ocrPluginType: uint16): OCRConfig? {
6767 }
6868 return self.execute!.load();
6969 } else {
70- throw ERROR_NON_EXISTENT_OCR_PLUGIN_TYPE ;
70+ throw MultiOCR3Base_Error.NonExistentOcrPluginType ;
7171 }
7272}
7373
7474fun OCR3Base.setOcr3Config(mutate self, msg: OCR3Base_SetOCR3Config) {
75- assert(msg.bigF > 0, ERROR_BIG_F_MUST_BE_POSITIVE );
75+ assert(msg.bigF > 0, MultiOCR3Base_Error.BigFMustBePositive );
7676
7777 var ocrConfig = self.getConfig(msg.ocrPluginType);
7878 if (ocrConfig == null) {
@@ -86,21 +86,21 @@ fun OCR3Base.setOcr3Config(mutate self, msg: OCR3Base_SetOCR3Config) {
8686 } else {
8787 assert(
8888 ocrConfig.configInfo.isSignatureVerificationEnabled == msg.isSignatureVerificationEnabled,
89- ERROR_STATIC_CONFIG_CANNOT_BE_CHANGED
89+ MultiOCR3Base_Error.StaticConfigCannotBeChanged
9090 );
9191 }
9292 val transmitters_length = countAddresses(msg.transmitters);
9393 // val transmitters_length = msg.transmitters.iter().size(ADDR_KEY_LEN);
9494
95- assert(transmitters_length <= MAX_NUM_ORACLES, ERROR_TOO_MANY_TRANSMITTERS );
96- assert(transmitters_length > 0, ERROR_NO_TRANSMITTERS );
95+ assert(transmitters_length <= MAX_NUM_ORACLES, MultiOCR3Base_Error.TooManyTransmitters );
96+ assert(transmitters_length > 0, MultiOCR3Base_Error.NoTransmitters );
9797
9898 if (msg.isSignatureVerificationEnabled) {
9999 val signers_length = msg.signers.iter().countBytes() / 32;
100- assert(signers_length > 0, ERROR_NO_SIGNERS );
101- assert(signers_length <= MAX_NUM_ORACLES, ERROR_TOO_MANY_SIGNERS );
102- assert(signers_length > 3 * msg.bigF, ERROR_BIG_F_TOO_HIGH );
103- assert(signers_length >= transmitters_length, ERROR_TOO_MANY_TRANSMITTERS );
100+ assert(signers_length > 0, MultiOCR3Base_Error.NoSigners );
101+ assert(signers_length <= MAX_NUM_ORACLES, MultiOCR3Base_Error.TooManySigners );
102+ assert(signers_length > 3 * msg.bigF, MultiOCR3Base_Error.BigFTooHigh );
103+ assert(signers_length >= transmitters_length, MultiOCR3Base_Error.TooManyTransmitters );
104104 ocrConfig.configInfo.n = signers_length;
105105 ocrConfig.assignSignerOracles(msg.signers);
106106 }
@@ -133,24 +133,24 @@ fun OCR3Base.transmit(
133133 signatures: SnakedCell<SignatureEd25519>,
134134) {
135135 var ocrConfig = self.getConfig(ocrPluginType);
136- assert(ocrConfig != null, ERROR_NON_EXISTENT_OCR_PLUGIN_TYPE );
136+ assert(ocrConfig != null, MultiOCR3Base_Error.NonExistentOcrPluginType );
137137 ocrConfig = ocrConfig!;
138138 var configInfo: ConfigInfo = ocrConfig.configInfo;
139139
140140 // EVM checks transaction data length here, it's probably too expensive to do this in TON
141141
142- assert(reportContext.configDigest == configInfo.configDigest, ERROR_CONFIG_DIGEST_MISMATCH );
142+ assert(reportContext.configDigest == configInfo.configDigest, MultiOCR3Base_Error.ConfigDigestMismatch );
143143
144144 // EVM checks assert_chain_not_forked, this is not necessary in TON
145145
146146 val pluginTransmitters = ocrConfig.transmitters;
147147
148- assert(pluginTransmitters.get(transmitter).isFound, ERROR_UNAUTHORIZED_TRANSMITTER );
148+ assert(pluginTransmitters.get(transmitter).isFound, MultiOCR3Base_Error.UnauthorizedTransmitter );
149149
150150 if (configInfo.isSignatureVerificationEnabled) {
151151 var expectedSignatures = configInfo.bigF + 1;
152152 val signatures_length = signatures.iter().countBytes() / 96; //expensive
153- assert(signatures_length == expectedSignatures, ERROR_WRONG_NUMBER_OF_SIGNATURES );
153+ assert(signatures_length == expectedSignatures, MultiOCR3Base_Error.WrongNumberOfSignatures );
154154 var hashedReport = self.hashReport(report, reportContext);
155155 var pluginSigners = ocrConfig.signers;
156156
@@ -188,11 +188,11 @@ fun OCR3Base.verifySignature(
188188
189189 val entry = signers.get(signer);
190190 val authorized= entry.isFound;
191- assert(authorized, ERROR_UNAUTHORIZED_SIGNER );
191+ assert(authorized, MultiOCR3Base_Error.UnauthorizedSigner );
192192 val signerIndex = entry.loadValue();
193- assert(isSignatureValid(hashedReport,signature.toCell().beginParse().skipBits(256), signer), ERROR_INVALID_SIGNATURE );
193+ assert(isSignatureValid(hashedReport,signature.toCell().beginParse().skipBits(256), signer), MultiOCR3Base_Error.InvalidSignature );
194194
195- assert(!seen.has(signerIndex!), ERROR_NON_UNIQUE_SIGNATURES );
195+ assert(!seen.has(signerIndex!), MultiOCR3Base_Error.NonUniqueSignatures );
196196 seen.set(signerIndex!);
197197 }
198198}
0 commit comments