Error codes

We use custom error codes (not to be confused with Solidity custom errors) in our pool contracts to keep the size of the contracts as small as possible.

Below you can find the existing error codes and a description for each one.

Error code
Description

1

User is not authorized

2

Empty array provided as input

3

Pool is full of TCO2s

4

ERC20 is blacklisted in the pool. This error is returned for TCO2s that have been blacklisted like the HFC-23 project

5

ERC20 is not whitelisted in the pool. This error is returned in case the ERC20 is not a TCO2 in which case it has to be manually whitelisted in order to be allowed in the pool

6

Vintage start time of a TCO2 is too old

7

Region is not accepted in the pool

8

Standard is not accepted in the pool

9

Methodology is not accepted in the pool

10

Provided fee is invalid, not in a basis points format: [0,10000)

11

Provided address needs to be non-zero

12

Validation check to ensure array lengths match

13

TCO2 not exempted from redeem fees

14

The pool is paused

15

Redemption transaction has leftover unredeemed value. All value needs to be redeemed in order for the transaction to be successfull

16

Redemption exceeds deposited TCO2 supply

17

User must be a router

18

User must be the pool owner

19

Zero destination address is invalid for pool token transfers

20

Self destination address is invalid for pool token transfers

21

Zero amount provided as an input (eg., in redemptions) in invalid

22

ERC20 is not eligible to be pooled

23

Carbon registry is already supported in COB

24

The caller is not granted the VERIFIER_ROLE in COB

25

The caller does not own the provided batch

26

The caller is not a valid batch owner (not a TCO2 contract or verifier)

27

The batch is not in Confirmed status

28

The batch is not in a requested status (DetokenizationRequested or RetirementRequested)

29

The batch does not exist

30

The batch has an invalid status based on the action requested

31

The batch is missing an associated project vintage

32

The serial number in the batch is already approved

33

The batch is not in Pending status

34

The batch is already fractionalized

35

The batch is not in Rejected status

36

The project vintage is already set in the batch

37

The transfer is not approved

38

The COB contract is paused

39

The caller is invalid

40

The TCO2 for the batch is not found

41

The registry for the provided vintage is not supported

42

No TCO2 was minted as part of tokenization

43

Only mints are supported for the batch contract to receive an NFT

44

New batch status is invalid

45

The TCO2 batch amount has a mismatch

46

The TCO2 batch amount approval has failed

47

The TCO2 batch not confirmed

48

The TCO2 batch not whitelisted

49

The TCO2 is non matching NFT

50

The TCO2 Quantity in batch is higher than total vintages

51

The fee to be charged is too high

52

The max fee to be paid is invalid

53

The pool feature is not supported

54

The TCO2 decimals provided to retirement or detokenization requests are invalid

55

The TCO2 quantity in the batch is invalid

56

Splitting is required on detokenization/retirement finalization, but 2 new serial numbers were not provided

57

The score set for the ERC-1155 token in the pool is invalid

58

The score of the ERC-1155 token in the pool is not set

59

The underlying decimals are too high for the pool

60

The provided supply cap is invalid and should match the underlying token decimals, eg, for an ERC-1155 token whose smallest denomination is tonnes, the pool supply cap should not include decimals of lower fidelity than tonnes

Last updated