dapphub / k-dss

formal verification of multicollateral dai in the K framework

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

abi2specs: `ABI_` prefixing can be overzealous

livnev opened this issue · comments

@mhhf : abi2specs is running a find and replace on the names of ABI arguments to add ABI_. This is a problem when the name is a substring of some unrelated syntactical entity. For instance:

behaviour fold of Vat
interface fold(bytes32 ilk, bytes32 vow, int256 rate)
...

ends up with a mangled storage block:

<storage>
#Vat.wards(CALLER_ID) |-> (Can)
#Vat.ilks(ABI_ilk).ABI_rate |-> (Rate => _ )
#Vat.ilks(ABI_ilk).Art |-> (Art_i)
#Vat.dai(ABI_vow) |-> (Dai => _ )
#Vat.debt |-> (Debt => _ )
_:Map
</storage>

note the #Vat.ilks(ABI_ilk).ABI_rate, which should be just #Vat.ilks(ABI_ilk).rate. #Vat.ilks( Int ).rate is a syntax unrelated to the ABI argument.

@mhhf will this be fixed in klab build ?

Fixed in de2fe5f thanks @mhff