-
Notifications
You must be signed in to change notification settings - Fork 1
/
call_contract.go
29 lines (23 loc) · 726 Bytes
/
call_contract.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package sequencer
import (
"context"
"github.com/dipdup-io/starknet-go-api/pkg/data"
)
// CallContract -
func (api API) CallContract(ctx context.Context, block data.BlockID, contractAddress, entrypointSelector string, calldata []string) (response Response[[]data.Felt], err error) {
if err = block.Validate(); err != nil {
return
}
args := make(map[string]string)
if name, value := block.GetArg(); name != "" {
args[name] = value
}
body := map[string]any{
"signature": []string{},
"contract_address": contractAddress,
"entry_point_selector": entrypointSelector,
"calldata": calldata,
}
err = api.postToFeederGateway(ctx, "call_contract", args, body, &response)
return
}