/
tx_resource.go
46 lines (37 loc) · 1.43 KB
/
tx_resource.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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
package cli
import (
"encoding/json"
"path/filepath"
integrationhelpers "github.com/canow-co/canow-chain/tests/integration/helpers"
"github.com/canow-co/cheqd-node/x/did/client/cli"
"github.com/canow-co/cheqd-node/x/resource/types"
sdk "github.com/cosmos/cosmos-sdk/types"
)
func CreateResource(payload types.MsgCreateResourcePayload, resourceFile string, signInputs []cli.SignInput, container, fees string) (sdk.TxResponse, error) {
resourceFileName := filepath.Base(resourceFile)
payloadFileName := "payload.json"
payloadJSON, err := integrationhelpers.Codec.MarshalJSON(&payload)
if err != nil {
return sdk.TxResponse{}, err
}
payloadWithSignInputs := cli.PayloadWithSignInputs{
Payload: payloadJSON,
SignInputs: signInputs,
}
payloadWithSignInputsJSON, err := json.Marshal(&payloadWithSignInputs)
if err != nil {
return sdk.TxResponse{}, err
}
_, err = LocalnetExecExec(container, "/bin/bash", "-c", "echo -n '"+string(payloadWithSignInputsJSON)+"' > "+payloadFileName)
if err != nil {
return sdk.TxResponse{}, err
}
_, err = LocalnetExecExec(container, "/bin/bash", "-c", "echo -n '"+string(payload.Data)+"' > "+resourceFileName)
if err != nil {
return sdk.TxResponse{}, err
}
args := []string{payloadFileName}
args = append(args, resourceFileName)
args = append(args, integrationhelpers.GenerateFees(fees)...)
return Tx(container, CliBinaryName, "resource", "create", OperatorAccounts[container], args...)
}