Ver código fonte

remove persistency, return sequence, update tests

Change-Id: Ibdaa3f6443dcabe3a838bc25888bb9676b7e1d2d
valentin 4 anos atrás
pai
commit
30a50938d7

+ 0 - 4
ethereum/contracts/Getters.sol

@@ -42,10 +42,6 @@ contract Getters is State {
         return _state.messageFee;
     }
 
-    function persistedMessageFee() public view returns (uint256) {
-        return _state.persistedMessageFee;
-    }
-
     function nextSequence(address emitter) public view returns (uint64) {
         return _state.sequences[emitter];
     }

+ 0 - 1
ethereum/contracts/Governance.sol

@@ -47,7 +47,6 @@ abstract contract Governance is GovernanceStructs, Messages, Setters, ERC1967Upg
         setGovernanceActionConsumed(vm.hash);
 
         setMessageFee(upgrade.messageFee);
-        setPersistedMessageFee(upgrade.persistedMessageFee);
     }
 
     function submitNewGuardianSet(bytes memory _vm) public {

+ 0 - 4
ethereum/contracts/GovernanceStructs.sol

@@ -37,7 +37,6 @@ contract GovernanceStructs {
         uint16 chain;
 
         uint256 messageFee;
-        uint256 persistedMessageFee;
     }
 
     struct TransferFees {
@@ -119,9 +118,6 @@ contract GovernanceStructs {
         smf.messageFee = encodedSetMessageFee.toUint256(index);
         index += 32;
 
-        smf.persistedMessageFee = encodedSetMessageFee.toUint256(index);
-        index += 32;
-
         require(encodedSetMessageFee.length == index, "invalid SetMessageFee");
     }
 

+ 5 - 9
ethereum/contracts/Implementation.sol

@@ -9,24 +9,20 @@ import "./Governance.sol";
 import "@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol";
 
 contract Implementation is Governance {
-    event LogMessagePublished(address indexed sender, uint64 sequence, uint32 nonce, bytes payload, bool persistMessage, uint8 consistencyLevel);
+    event LogMessagePublished(address indexed sender, uint64 sequence, uint32 nonce, bytes payload, uint8 consistencyLevel);
 
     // Publish a message to be attested by the Wormhole network
     function publishMessage(
         uint32 nonce,
         bytes memory payload,
-        bool persistMessage,
         uint8 consistencyLevel
-    ) public payable {
+    ) public payable returns (uint64 sequence) {
         // check fee
-        if( persistMessage ) {
-            require(msg.value == persistedMessageFee(), "invalid fee");
-        } else {
-            require(msg.value == messageFee(), "invalid fee");
-        }
+        require(msg.value == messageFee(), "invalid fee");
 
+        sequence = useSequence(msg.sender);
         // emit log
-        emit LogMessagePublished(msg.sender, useSequence(msg.sender), nonce, payload, persistMessage, consistencyLevel);
+        emit LogMessagePublished(msg.sender, sequence, nonce, payload, consistencyLevel);
     }
 
     function useSequence(address emitter) internal returns (uint64 sequence) {

+ 0 - 4
ethereum/contracts/Setters.sol

@@ -42,10 +42,6 @@ contract Setters is State {
         _state.messageFee = newFee;
     }
 
-    function setPersistedMessageFee(uint256 newFee) internal {
-        _state.persistedMessageFee = newFee;
-    }
-
     function setNextSequence(address emitter, uint64 sequence) internal {
         _state.sequences[emitter] = sequence;
     }

+ 0 - 1
ethereum/contracts/State.sol

@@ -41,7 +41,6 @@ contract Storage {
         mapping(address => bool) initializedImplementations;
 
         uint256 messageFee;
-        uint256 persistedMessageFee;
     }
 }
 

+ 1 - 17
ethereum/test/wormhole.js

@@ -107,7 +107,6 @@ contract("Wormhole", function () {
         const log = await initialized.methods.publishMessage(
             "0x123",
             "0x123321",
-            false,
             32
         ).send({
             value: 0, // fees are set to 0 initially
@@ -119,7 +118,6 @@ contract("Wormhole", function () {
         assert.equal(log.events.LogMessagePublished.returnValues.nonce, 291);
         assert.equal(log.events.LogMessagePublished.returnValues.payload.toString(), "0x123321");
         assert.equal(log.events.LogMessagePublished.returnValues.consistencyLevel, 32);
-        assert.equal(log.events.LogMessagePublished.returnValues.persistMessage, false);
     })
 
     it("should increase the sequence for an account", async function () {
@@ -129,7 +127,6 @@ contract("Wormhole", function () {
         const log = await initialized.methods.publishMessage(
             "0x1",
             "0x1",
-            false,
             32
         ).send({
             value: 0, // fees are set to 0 initially
@@ -198,7 +195,6 @@ contract("Wormhole", function () {
         data += [
             web3.eth.abi.encodeParameter("uint16", testChainId).substring(2 + (64 - 4)),
             web3.eth.abi.encodeParameter("uint256", 1111).substring(2),
-            web3.eth.abi.encodeParameter("uint256", 2222).substring(2),
         ].join('')
 
         const vm = await signAndEncodeVM(
@@ -229,33 +225,21 @@ contract("Wormhole", function () {
         assert.notEqual(before, after);
         assert.equal(after, 1111);
 
-        // test non-persisted message
+        // test message publishing
         await initialized.methods.publishMessage(
             "0x123",
             "0x123321",
-            false,
             32
         ).send({
             from: accounts[0],
             value: 1111
         })
-        // test persisted message
-        await initialized.methods.publishMessage(
-            "0x123",
-            "0x123321",
-            true,
-            32
-        ).send({
-            from: accounts[0],
-            value: 2222
-        })
 
         let failed = false;
         try {
             await initialized.methods.publishMessage(
                 "0x123",
                 "0x123321",
-                false,
                 32
             ).send({
                 value: 1110,