func New(ctx context.Context, addr string, backend bind.ContractBackend) (*Multicall, error) {
	ctx, cancel := context.WithCancel(ctx)
	binding, err := bindings.NewMulticall(common.HexToAddress(addr), backend)
	if err != nil {
		cancel()
		return nil, err
	}
	return &Multicall{
		backend: backend,
		binding: binding,
		ctx:     ctx,
		cancel:  cancel,
	}, nil
}
// New initializes the multicall contract wrapper package
New initializes the multicall contract wrapper package
// New initializes the multicall contract wrapper package
func New(ctx context.Context, addr string, backend bind.ContractBackend) (*Multicall, error) {
	ctx, cancel := context.WithCancel(ctx)
	binding, err := bindings.NewMulticall(common.HexToAddress(addr), backend)
	if err != nil {
		cancel()
		return nil, err
	}
	return &Multicall{
		backend: backend,
		binding: binding,
		ctx:     ctx,
		cancel:  cancel,
	}, nil
}
func New ( ctx context . Context , addr string , backend bind . ContractBackend ) ( * Multicall , error ) { ctx , cancel := context . WithCancel ( ctx ) binding , err := bindings . NewMulticall ( common . HexToAddress ( addr ) , backend ) if err != nil { cancel ( ) return nil , err } return & Multicall { backend : backend , binding : binding , ctx : ctx , cancel : cancel , } , nil }
New initializes the multicall contract wrapper package
New initializes the multicall contract wrapper package