code: func (cb *Chequebook) UnmarshalJSON(data []byte) error {
  	var file chequebookFile
  	err := json.Unmarshal(data, &file)
  	if err != nil {
  		return err
  	}
  	_, ok := cb.balance.SetString(file.Balance, 10)
  	if !ok {
  		return fmt.Errorf("cumulative amount sent: unable to convert string to big integer: %v", file.Balance)
  	}
  	cb.contractAddr = common.HexToAddress(file.Contract)
  	for addr, sent := range file.Sent {
  		cb.sent[common.HexToAddress(addr)], ok = new(big.Int).SetString(sent, 10)
  		if !ok {
  			return fmt.Errorf("beneficiary %v cumulative amount sent: unable to convert string to big integer: %v", addr, sent)
  		}
  	}
  	return nil
  }
docs: // UnmarshalJSON deserialises a chequebook.