code: func (abi *ABI) MethodById(sigdata []byte) (*Method, error) {
  	if len(sigdata) < 4 {
  		return nil, fmt.Errorf("data too short (%d bytes) for abi method lookup", len(sigdata))
  	}
  	for _, method := range abi.Methods {
  		if bytes.Equal(method.Id(), sigdata[:4]) {
  			return &method, nil
  		}
  	}
  	return nil, fmt.Errorf("no method with id: %#x", sigdata[:4])
  }
docs: // MethodById looks up a method by the 4-byte id
  // returns nil if none found