# [Ride v4 and v3] Limitations
⚠️ This is the documentation for the Standard library version 4 and 3. We recommend to use version 6. Go to version 6
Limitation | Maximum value |
---|---|
dApp script size before/after activation of feature #17 | 32 Kbytes/160 Kbytes |
Account script or asset script size | 8 Kbytes |
Complexity of account script | 2000 (1) |
Complexity of asset script | 4000 |
Complexity of each callable function of dApp script | 4000 |
Total complexity for a callable function and asset scripts involved in an Invoke Script transaction. The sender's account script complexity is not included in this limit | 26,000 (2) |
Complexity threshold for saving failed transactions: if the callable function failed with an error or throwing an exception before the threshold exceeded, the invoke script transaction is rejected and the fee is not charged | 1000 (3) |
Complexity of verifier function of dApp script | 2000 (1) |
Sender complexity threshold: if the complexity of an account script or the verifier function of a dApp script exceeds this limit, the minimum fee for a transaction sent from the account is increased by 0.004 WAVES. | 200 (4) |
Function name or variable name | 255 bytes |
Size of String variable | 32,767 characters for version 3 32,767 bytes for version 4 |
Size of ByteVector variable | 65,536 bytes for version 3 32,767 bytes (except bodyBytes field of transaction structure) for version 4 |
Data weight | See Data Weight |
Number of callable function arguments | 22 |
Total number of ScriptTransfer, Issue, Reissue, Burn, and SponsorFee in callable function invocation results (applicable for version 4 ) | 10 |
Total number of BinaryEntry, BooleanEntry, DeleteEntry, IntegerEntry, StringEntry structures in callable function invocation results (applicable for version 4 ) | 100 |
Total size of the data written to the account data storage, for all BinaryEntry , BooleanEntry , IntegerEntry , StringEntry structures in callable function invocation results (applicable for version 4) | 5 Kbytes |
Number of ScriptTransfer structures in TransferSet (applicable for version 3) | 10 |
Number of DataEntry structures in WriteSet (applicable for version 3) | 100 |
Total size of the data written to the account data storage, for all DataEntry in WriteSet (applicable for version 3) | 5 Kbytes |
(1) Before activation of feature #15 “Ride V4, VRF, Protobuf, Failed transactions”, the maximum complexity of an account script or the verifier function of a dApp script was 4000 regardless of the Standard library version.
(2) Before activation of feature #16 “Ride V5, dApp-to-dApp invocations”, the total complexity of the scripts was not limited.
(3) Before activation of feature #15 “Ride V4, VRF, Protobuf, Failed transactions” all failed transactions were rejected regardless of complexity of performed calculation.
(4) Before activation of feature #16 “Ride V5, dApp-to-dApp invocations”, the extra fee of 0.004 WAVES was required regardless of the complexity of the account script or the presence and complexity of the dApp script verifier function.