// Call calls a smart contract function
Call calls a smart contract function
// Call calls a smart contract function
func (c *Client) Call(recipient [32]byte, fn FunctionCall) (*TxResponse, error) {
	a, err := c.GetSelf()
	if err != nil {
		return nil, err
	}
	if !c.RecipientIsContract(recipient) {
		return nil, ErrNotContract
	}
	if a.Balance < fn.Amount+fn.GasLimit {
		return nil, ErrInsufficientPerls
	}
	return c.sendTransfer(byte(sys.TagTransfer), fn.toTransfer(recipient))
}
func ( c * Client ) Call ( recipient [ 32 ] byte , fn FunctionCall ) ( * TxResponse , error ) { a , err := c . GetSelf ( ) if err != nil { return nil , err } if ! c . RecipientIsContract ( recipient ) { return nil , ErrNotContract } if a . Balance < fn . Amount + fn . GasLimit { return nil , ErrInsufficientPerls } return c . sendTransfer ( byte ( sys . TagTransfer ) , fn . toTransfer ( recipient ) ) }
Call calls a smart contract function
Call calls a smart contract function