0

I am trying to make the funds withdrawn from 3 accounts automatically after a certain event. I am unable to fix this error from the Remix IDE. Please can someone let me know what am I doing wrong... The function is payable

Member "value" not found or not visible after argument dependent look up in the function address. Did you forget the "payable" modifier

function SignTermsAndConditions() OnlySender_Receiver_Transporter{
    if(msg.sender == sender){
        require(state == contractState.waitingForVerificationbySender);
        SignedBy("Terms and Conditiond verified : ", msg.sender);
        state = contractState.waitingForVerificationbyTransporter;
    }else if(msg.sender == transporter)
    {
        require(state == contractState.waitingForVerificationbyTransporter);
        SignedBy("Terms and Conditiond verified : ", msg.sender);
        state = contractState.waitingForVerificationbyReceiver;
    }
    else if(msg.sender == receiver){
        require(state == contractState.waitingForVerificationbyReceiver);
        SignedBy("Terms and Conditiond verified : ", msg.sender);
        state = contractState.DoneVerificationofTerms;
        POD_PhysicalItems.withdrawAgreedUponCollateral.value(2*itemPrice)(sender);
        POD_PhysicalItems.withdrawAgreedUponCollateral.value(2*itemPrice)(transporter);
        POD_PhysicalItems.withdrawAgreedUponCollateral.value(2*itemPrice)(receiver);
    }
}

function withdrawAgreedUponCollateral(address entityAddress) payable internal  {
    require(state == contractState.DoneVerificationofTerms);
    collateralWithdrawnSuccessfully("Double deposit is withdrawn successfully from: ", entityAddress);

}
  • How POD_PhysicalItems is declared? Is it a contract? – Ismael Mar 17 '18 at 1:03
  • yes it is the name of the contract – Haya Raed Mar 17 '18 at 10:33
0

You cannot make a call to contract class, you need a contract instance.

POD_PhysicalItems physicalItems = POD_PhysicalItems(physicalItemmsAddress);
physicalItems.withdrawAgreedUponCollateral.value(2*itemPrice)(sender);

Where physicalItemmsAddress is the address of the deployed POD_PhysicalItems contract.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.