Skip to content

Commit 1bdc820

Browse files
committed
accounts/abi/bind/v2: pass contract instance as value
1 parent 46e7e44 commit 1bdc820

File tree

2 files changed

+14
-14
lines changed

2 files changed

+14
-14
lines changed

accounts/abi/bind/v2/lib.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,12 @@ type ContractInstance struct {
3434
abi abi.ABI
3535
}
3636

37-
func NewContractInstance(addr common.Address, backend ContractBackend, abi abi.ABI) *ContractInstance {
38-
return &ContractInstance{addr, backend, abi}
37+
func NewContractInstance(addr common.Address, backend ContractBackend, abi abi.ABI) ContractInstance {
38+
return ContractInstance{addr, backend, abi}
3939
}
4040

4141
// FilterEvents returns an EventIterator instance for filtering historical events based on the event id and a block range.
42-
func FilterEvents[T any](instance *ContractInstance, opts *FilterOpts, eventName string, unpack func(*types.Log) (*T, error), topics ...[]any) (*EventIterator[T], error) {
42+
func FilterEvents[T any](instance ContractInstance, opts *FilterOpts, eventName string, unpack func(*types.Log) (*T, error), topics ...[]any) (*EventIterator[T], error) {
4343
backend := instance.Backend
4444
c := bind1.NewBoundContract(instance.Address, instance.abi, backend, backend, backend)
4545
logs, sub, err := c.FilterLogs(opts, eventName, topics...)
@@ -53,7 +53,7 @@ func FilterEvents[T any](instance *ContractInstance, opts *FilterOpts, eventName
5353
// contract to be intercepted, unpacked, and forwarded to sink. If
5454
// unpack returns an error, the returned subscription is closed with the
5555
// error.
56-
func WatchEvents[T any](instance *ContractInstance, opts *WatchOpts, eventName string, unpack func(*types.Log) (*T, error), sink chan<- *T, topics ...[]any) (event.Subscription, error) {
56+
func WatchEvents[T any](instance ContractInstance, opts *WatchOpts, eventName string, unpack func(*types.Log) (*T, error), sink chan<- *T, topics ...[]any) (event.Subscription, error) {
5757
backend := instance.Backend
5858
c := bind1.NewBoundContract(instance.Address, instance.abi, backend, backend, backend)
5959
logs, sub, err := c.WatchLogs(opts, eventName, topics...)
@@ -160,7 +160,7 @@ func (it *EventIterator[T]) Close() error {
160160

161161
// Transact creates and submits a transaction to the bound contract instance
162162
// using the provided abi-encoded input (or nil).
163-
func Transact(instance *ContractInstance, opts *TransactOpts, input []byte) (*types.Transaction, error) {
163+
func Transact(instance ContractInstance, opts *TransactOpts, input []byte) (*types.Transaction, error) {
164164
var (
165165
addr = instance.Address
166166
backend = instance.Backend
@@ -171,7 +171,7 @@ func Transact(instance *ContractInstance, opts *TransactOpts, input []byte) (*ty
171171

172172
// Call performs an eth_call on the given bound contract instance, using the
173173
// provided abi-encoded input (or nil).
174-
func Call[T any](instance *ContractInstance, opts *CallOpts, packedInput []byte, unpack func([]byte) (T, error)) (T, error) {
174+
func Call[T any](instance ContractInstance, opts *CallOpts, packedInput []byte, unpack func([]byte) (T, error)) (T, error) {
175175
var defaultResult T
176176
backend := instance.Backend
177177
c := bind1.NewBoundContract(instance.Address, instance.abi, backend, backend, backend)

accounts/abi/bind/v2/lib_test.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ func TestDeploymentLibraries(t *testing.T) {
151151
Context: context.Background(),
152152
}
153153

154-
ctrctInstance := &ContractInstance{
154+
ctrctInstance := ContractInstance{
155155
Address: contractAddr,
156156
Backend: bindBackend,
157157
}
@@ -273,7 +273,7 @@ func TestEvents(t *testing.T) {
273273
}
274274

275275
ctrctABI, _ := events.CMetaData.GetAbi()
276-
ctrctInstance := ContractInstance{
276+
instance := ContractInstance{
277277
res.Addrs[events.CMetaData.Pattern],
278278
backend,
279279
*ctrctABI,
@@ -285,19 +285,19 @@ func TestEvents(t *testing.T) {
285285
Start: nil,
286286
Context: context.Background(),
287287
}
288-
sub1, err := WatchEvents(&ctrctInstance, watchOpts, events.CBasic1EventName, ctrct.UnpackBasic1Event, newCBasic1Ch)
288+
sub1, err := WatchEvents(instance, watchOpts, events.CBasic1EventName, ctrct.UnpackBasic1Event, newCBasic1Ch)
289289
if err != nil {
290290
t.Fatalf("WatchEvents returned error: %v", err)
291291
}
292-
sub2, err := WatchEvents(&ctrctInstance, watchOpts, events.CBasic2EventName, ctrct.UnpackBasic2Event, newCBasic2Ch)
292+
sub2, err := WatchEvents(instance, watchOpts, events.CBasic2EventName, ctrct.UnpackBasic2Event, newCBasic2Ch)
293293
if err != nil {
294294
t.Fatalf("WatchEvents returned error: %v", err)
295295
}
296296
defer sub1.Unsubscribe()
297297
defer sub2.Unsubscribe()
298298

299299
packedInput, _ := ctrct.PackEmitMulti()
300-
tx, err := Transact(&ctrctInstance, txAuth, packedInput)
300+
tx, err := Transact(instance, txAuth, packedInput)
301301
if err != nil {
302302
t.Fatalf("failed to send transaction: %v", err)
303303
}
@@ -336,11 +336,11 @@ done:
336336
Start: 0,
337337
Context: context.Background(),
338338
}
339-
it, err := FilterEvents(&ctrctInstance, filterOpts, events.CBasic1EventName, ctrct.UnpackBasic1Event)
339+
it, err := FilterEvents(instance, filterOpts, events.CBasic1EventName, ctrct.UnpackBasic1Event)
340340
if err != nil {
341341
t.Fatalf("error filtering logs %v\n", err)
342342
}
343-
it2, err := FilterEvents(&ctrctInstance, filterOpts, events.CBasic2EventName, ctrct.UnpackBasic2Event)
343+
it2, err := FilterEvents(instance, filterOpts, events.CBasic2EventName, ctrct.UnpackBasic2Event)
344344
if err != nil {
345345
t.Fatalf("error filtering logs %v\n", err)
346346
}
@@ -388,7 +388,7 @@ func TestErrors(t *testing.T) {
388388

389389
ctrctABI, _ := solc_errors.CMetaData.GetAbi()
390390
instance := ContractInstance{res.Addrs[solc_errors.CMetaData.Pattern], backend, *ctrctABI}
391-
_, err = Call(&instance, opts, packedInput, func(packed []byte) (struct{}, error) { return struct{}{}, nil })
391+
_, err = Call(instance, opts, packedInput, func(packed []byte) (struct{}, error) { return struct{}{}, nil })
392392
if err == nil {
393393
t.Fatalf("expected call to fail")
394394
}

0 commit comments

Comments
 (0)