Populus Unittesting: Wie testet man die Fallback-Funktion eines Vertrags?

Wie kann ich den Aufruf der Fallback-Funktion durch ein externes Konto eines Vertrags mit dem Populus-Framework testen ?

Das läuft zum Beispiel ewig:

chain.wait.for_receipt(mycontract.transact({'value':10, 'from':accounts[1]}))

Und diese beiden scheitern einfach:

chain.wait.for_receipt(mycontract.transact({'value':10, 'from':accounts[1]})())
chain.wait.for_receipt(mycontract.transact({'value':10, 'from':accounts[1]}).call())

Ich könnte einfach einen von verwenden accounts, um Ether an den Vertrag zu senden, aber wie mache ich das in Populus?

Antworten (1)

Die Lösung ist einfach, Sie können einfach die Halterung von Populus verwenden web3:

web3.eth.sendTransaction({'value': 10, 
                          'from': accounts[1], 
                          'to': mycontract.address})