Skip to content
This repository has been archived by the owner on Jun 14, 2018. It is now read-only.

Implement contains and doesNotContain assertions for list types #100

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

sabhiram
Copy link
Contributor

  1. The int[], uint[], bytes32[] and address[] types now have
    contains and doesNotContain helpers.
  2. A lot of code in there is boilerplate - should we autogenerate this?
    This would make allowances to have helpers for more specific
    fixed-size byte arrays like bytesN[].

1.  The int[], uint[], bytes32[] and address[] types now have
    contains and doesNotContain helpers.
2.  A lot of code in there is boilerplate - should we autogenerate this?
    This would make allowances to have helpers for more specific
    fixed-size byte arrays like bytesN[].
@gnidan
Copy link
Contributor

gnidan commented Jan 31, 2018

Hi @sabhiram, thanks for this!

This is slated to be released in v4.0.7 (in two patch releases).

Everything looks great, implementation-wise, but I'd still like to verify that we're not making Assert.sol too costly to deploy (plus any other possible risks that come with the territory).

@sabhiram
Copy link
Contributor Author

sabhiram commented Feb 1, 2018

Yes totally, as I started adding functions I started to realize the bloat that it would add to day-to-day development.

I need to understand a bit more about how solc compiles its code and how expensive things like "inlining" and such are for the compiler. Perhaps we can get cute with some of the very redundant functions?

Would also be nice if there was some pre-process step that enabled only the asserts that were required (what if we broke it into N number of files?) - Probably a bad idea, but just throwing it out there. Very new to solidity and truffle, please excuse my eager ignorance :)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants