-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathadd_transaction.go
More file actions
59 lines (51 loc) · 1.64 KB
/
add_transaction.go
File metadata and controls
59 lines (51 loc) · 1.64 KB
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
package sequencer
import (
"context"
"github.com/dipdup-io/starknet-go-api/pkg/data"
)
// Invoke -
func (api API) Invoke(ctx context.Context, tx data.Invoke) (string, error) {
body := map[string]any{
"type": data.TransactionTypeInvokeFunction,
"contract_address": tx.ContractAddress,
"calldata": tx.Calldata,
"signature": tx.Signature,
"nonce": tx.Nonce,
"max_fee": tx.MaxFee,
"version": data.Version0,
}
var hash string
err := api.postToGateway(ctx, "add_transaction", nil, body, &hash)
return hash, err
}
// DeployAccount -
func (api API) DeployAccount(ctx context.Context, tx data.DeployAccount) (string, error) {
body := map[string]any{
"type": data.TransactionTypeDeployAccount,
"contract_address_salt": tx.ContractAddressSalt,
"constructor_calldata": tx.ConstructorCalldata,
"class_hash": tx.ClassHash,
"signature": tx.Signature,
"nonce": tx.Nonce,
"max_fee": tx.MaxFee,
"version": data.Version0,
}
var hash string
err := api.postToGateway(ctx, "add_transaction", nil, body, &hash)
return hash, err
}
// Declare -
func (api API) Declare(ctx context.Context, tx data.Declare) (string, error) {
body := map[string]any{
"type": data.TransactionTypeDeclare,
"contract_class": tx.ContractClass,
"sender_address": tx.SenderAddress,
"class_hash": tx.ClassHash,
"signature": tx.Signature,
"max_fee": tx.MaxFee,
"version": data.Version0,
}
var hash string
err := api.postToGateway(ctx, "add_transaction", nil, body, &hash)
return hash, err
}