Error al pasar valores de web3 a solidity

Tengo un front-end HTML que llama a una función en un contrato para crear/implementar otro contrato. La función funciona de forma independiente en remix. Recibo un error "Error no detectado: Número no válido de argumentos para la función Solidez", pero envío el número correcto de elementos. El código javascript es:

var borrowerAddress = '0x...';
$("#makeLoanButton").click(function() {
    $("#loader").show();
    myOriginator.makeLoan($("#loanID").val(), borrowerAddress, $("#loanAmount").val(), (err, res) => {
        if (!err) {
           $("#loader").hide();
        }
   });
});

el código de solidez es:

    function addLoan(address _newLoan) public {
        // Add loan to originator
        Loan myLoan = Loan(_newLoan);
        loans.push(myLoan) -1;
        originatorLoanBalance += myLoan.getBalance();

    } // function addLoan(address _newLoan) public {

function makeLoan(bytes16 _loanID, address _borrower, uint _loanBalance) payable public {
    // Create new loan
    Loan myLoan = new Loan(_loanID, _borrower, address(this), _loanBalance);

    // Add loan to loans
    loans.push(myLoan) -1;

    // Now add new loan to array
    addLoan(address(myLoan));

    // Send loan balance to borrower
    if (!_borrower.send(_loanBalance)) {
        revert();
    }

} // function makeLoan(bytes16 _loanID, address _borrower, uint _loanBalance)

¿Alguna sugerencia?

¡Gracias!

Respuestas (1)

intente establecer el objeto de transacción, ya que su función espayable

myOriginator.makeLoan($("#loanID").val(), prestatarioAddress, $("#loanAmount").val(), {valor: 1, gas: 2000}, (err, res) => {
        si (! error) {
           $("#cargador").hide();
        }
   });

nota : en realidad puede eliminar _loanBalancey usar msg.valueya que su función es pagadera

Gracias por la respuesta. Me di cuenta del problema. ¡No fue un problema con mi sintaxis, sino que me estaba refiriendo a la ID de HTML incorrecta! ¡Debería haber sido $(#loanBalance") en lugar de $(#loanAmount")!