pact icon indicating copy to clipboard operation
pact copied to clipboard

Unable to perform FV when doing multiple coin.transfers in 1 function

Open EnoF opened this issue 2 years ago • 0 comments

When attempting to FV on a function where multiple coin.transfer are executed, the FV model becomes so big that it practically hangs for ever.

(load "root/fungible-v2.pact")
(load "root/fungible-xchain-v1.pact")
(load "root/coin-v5.pact")

(module test GOVERNANCE
  (defcap GOVERNANCE() true)
  
  (use coin)

  (defun toobigmodel(x:decimal)
    @model
      [(property (> x 0.0))]
    (enforce (> x 0.0) "nope")
    (coin.transfer "alice" "bob" x)
    (coin.transfer "alice" "bob" x)
    (coin.transfer "alice" "bob" x)
    (coin.transfer "alice" "bob" x)
    (coin.transfer "alice" "bob" x)
    (coin.transfer "alice" "bob" x)
    (coin.transfer "alice" "bob" x)
    (coin.transfer "alice" "bob" x)
    (coin.transfer "alice" "bob" x)
    (coin.transfer "alice" "bob" x)
    (coin.transfer "alice" "bob" x)
    (coin.transfer "alice" "bob" x))
)

(verify "test")

EnoF avatar Apr 05 '23 10:04 EnoF