code: func BindContract(address *Address, abiJSON string, client *EthereumClient) (contract *BoundContract, _ error) {
  	parsed, err := abi.JSON(strings.NewReader(abiJSON))
  	if err != nil {
  		return nil, err
  	}
  	return &BoundContract{
  		contract: bind.NewBoundContract(address.address, parsed, client.client, client.client, client.client),
  		address:  address.address,
  	}, nil
  }
docs: // BindContract creates a low level contract interface through which calls and
  // transactions may be made through.