Skip to content

Commit 26b97f7

Browse files
authored
Merge pull request #39 from gitopia/os-keyring-fix
fix fee granter for os keyring tx signing
2 parents d8fb379 + 31e06ec commit 26b97f7

File tree

8 files changed

+104
-80
lines changed

8 files changed

+104
-80
lines changed

.vscode/launch.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@
1212
"mode": "auto",
1313
"program": "${workspaceFolder}/cmd/git-remote-gitopia",
1414
"buildFlags": "--tags testing",
15-
"cwd": "/Users/faza/Code/tmp/repo",
16-
"args": ["origin", "gitopia://user/repo"],
17-
"env": {"GIT_DIR": "/Users/faza/Code/tmp/repo/.git", "GITOPIA_WALLET": "/Users/faza/Downloads/test.json"},
15+
"cwd": "/private/tmp/repos/test3",
16+
"args": ["origin", "gitopia://u11/banana"],
17+
"env": {"GIT_DIR": "/private/tmp/repos/test3/.git", "GITOPIA_WALLET": "/Users/faza/Downloads/test.json"},
1818
"console": "integratedTerminal"
1919
}
2020
]

cmd/git-remote-gitopia/gitopia.go

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"context"
55
"encoding/base64"
66
"fmt"
7+
"io"
78
"math"
89
"os"
910
"path"
@@ -161,11 +162,14 @@ func (h *GitopiaHandler) Fetch(remote *core.Remote, sha, ref string) error {
161162
if force {
162163
args = append(args, "--force")
163164
}
164-
cmd, _ := core.GitCommand("git", args...)
165-
if err := cmd.Run(); err != nil {
166-
return errors.Wrap(err, "error fetching from remote repository")
165+
cmd, outPipe := core.GitCommand("git", args...)
166+
if err := cmd.Start(); err != nil {
167+
out, e := io.ReadAll(outPipe)
168+
return errors.Wrapf(err, `error fetching from remote repository.
169+
output %s, output read error %s`, string(out), e.Error())
167170
}
168171
defer core.CleanUpProcessGroup(cmd)
172+
cmd.Wait()
169173

170174
return nil
171175
}
@@ -209,7 +213,7 @@ func (h *GitopiaHandler) Push(remote *core.Remote, refsToPush []core.RefToPush)
209213
var setTags []gitopiaTypes.MsgMultiSetTag_Tag
210214
var deleteBranches, deleteTags []string
211215
var res []string
212-
216+
213217
for _, ref := range refsToPush {
214218
if ref.Local == "" {
215219
if strings.HasPrefix(ref.Remote, branchPrefix) {

config/config_dev.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
package config
44

55
const (
6+
ChainId = "gitopia"
67
GRPCHost = "grpc.devnet.gitopia.com:9090"
78
GitServerHost = "https://server.devnet.gitopia.com"
89
TmAddr = "https://rpc.devnet.gitopia.com:443"

config/config_prod.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
package config
44

55
const (
6+
ChainId = "gitopia"
67
GRPCHost = "grpc.gitopia.com:9090"
78
GitServerHost = "https://server.gitopia.com"
89
TmAddr = "https://rpc.gitopia.com:443"

config/config_testing.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
package config
44

55
const (
6+
ChainId = "gitopia"
67
GRPCHost = "localhost:9090"
78
GitServerHost = "http://localhost:5001"
89
TmAddr = "http://localhost:26657"

core/wallet/os_keyring.go

Lines changed: 80 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,33 @@ import (
55
"fmt"
66
"os"
77

8+
"github.com/cosmos/cosmos-sdk/client"
9+
"github.com/cosmos/cosmos-sdk/client/flags"
10+
"github.com/cosmos/cosmos-sdk/client/tx"
811
"github.com/cosmos/cosmos-sdk/codec"
912
codectypes "github.com/cosmos/cosmos-sdk/codec/types"
1013
cryptocodec "github.com/cosmos/cosmos-sdk/crypto/codec"
1114
"github.com/cosmos/cosmos-sdk/crypto/keyring"
1215
sdkkeyring "github.com/cosmos/cosmos-sdk/crypto/keyring"
1316
cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types"
1417
sdk "github.com/cosmos/cosmos-sdk/types"
15-
"github.com/cosmos/cosmos-sdk/x/feegrant"
18+
"github.com/cosmos/cosmos-sdk/version"
1619
"github.com/gitopia/git-remote-gitopia/config"
20+
glib "github.com/gitopia/gitopia-go"
21+
"github.com/gitopia/gitopia-go/logger"
1722
gitopia "github.com/gitopia/gitopia/v2/app"
1823
offchaintypes "github.com/gitopia/gitopia/v2/x/offchain/types"
1924
goGitConfig "github.com/go-git/go-git/v5/config"
20-
"github.com/ignite/cli/ignite/pkg/cosmosaccount"
21-
"github.com/ignite/cli/ignite/pkg/cosmosclient"
25+
"github.com/sirupsen/logrus"
26+
"github.com/spf13/pflag"
27+
28+
"github.com/cosmos/cosmos-sdk/std"
29+
authtx "github.com/cosmos/cosmos-sdk/x/auth/tx"
30+
authtypes "github.com/cosmos/cosmos-sdk/x/auth/types"
31+
gtypes "github.com/gitopia/gitopia/v2/x/gitopia/types"
32+
otypes "github.com/gitopia/gitopia/v2/x/offchain/types"
33+
rtypes "github.com/gitopia/gitopia/v2/x/rewards/types"
34+
2235
"github.com/pkg/errors"
2336
"google.golang.org/grpc"
2437
)
@@ -39,23 +52,17 @@ var (
3952
type keyringBackend struct {
4053
key string
4154
backend string
42-
CC cosmosclient.Client
55+
CC glib.Client
4356
}
4457

45-
func newKeyringBackend(k string, b string, c cosmosclient.Client) keyringBackend {
46-
c.TxFactory = c.TxFactory.WithGasPrices(config.GasPrices)
58+
func newKeyringBackend(k string, b string, c glib.Client) keyringBackend {
4759
return keyringBackend{
4860
key: k,
4961
backend: b,
5062
CC: c,
5163
}
5264
}
5365

54-
func (k keyringBackend) address() (string, error) {
55-
address, err := k.CC.Address(k.key)
56-
return address, err
57-
}
58-
5966
type OSKeyring struct {
6067
kb keyringBackend
6168
address string
@@ -65,7 +72,6 @@ type OSKeyring struct {
6572
func InitOSKeyringWallet() (Wallet, error) {
6673
var key string
6774
var backend string
68-
var cc cosmosclient.Client
6975

7076
conf, err := goGitConfig.LoadConfig(goGitConfig.GlobalScope)
7177
if err != nil {
@@ -85,28 +91,78 @@ func InitOSKeyringWallet() (Wallet, error) {
8591
backend = keyring.BackendOS // default to OS. same as cosmos keys subcommand
8692
}
8793

88-
cc, err = cosmosclient.New(context.Background(),
89-
cosmosclient.WithNodeAddress(config.TmAddr),
90-
// same service name used in both helper and keys management app
91-
cosmosclient.WithKeyringServiceName(AppName), // not suported on macos
92-
cosmosclient.WithKeyringBackend(cosmosaccount.KeyringBackend(backend)), // not all backends supported by cosmos are supported by cosmos client
93-
cosmosclient.WithAddressPrefix(AccountAddressPrefix),
94-
)
94+
l := logrus.New()
95+
l.SetOutput(os.Stderr)
96+
ctx := logger.ContextWithValue(context.Background(), l)
97+
glib.WithGitopiaAddr(config.GRPCHost)
98+
glib.WithGasPrices(config.GasPrices)
99+
cc, err := NewContext(key)
100+
if err != nil {
101+
return nil, errors.Wrap(err, "error creating cosmos client context")
102+
}
103+
txf := tx.NewFactoryCLI(cc, &pflag.FlagSet{}).WithGasAdjustment(GAS_ADJUSTMENT)
104+
gc, err := glib.NewClient(ctx, cc, txf)
95105
if err != nil {
96106
return nil, errors.Wrap(err, "error creating cosmos client")
97107
}
98108

99109
o := OSKeyring{
100-
kb: newKeyringBackend(key, backend, cc),
110+
kb: newKeyringBackend(key, backend, gc),
101111
secType: KEYRING_BACKEND,
102112
}
103113

104-
o.address, err = o.kb.address()
114+
o.address = o.kb.CC.Address().String()
115+
116+
return o, nil
117+
}
118+
119+
func NewContext(from string) (client.Context, error) {
120+
version.Name = AppName
121+
clientCtx := client.Context{}
122+
123+
interfaceRegistry := codectypes.NewInterfaceRegistry()
124+
std.RegisterInterfaces(interfaceRegistry)
125+
cryptocodec.RegisterInterfaces(interfaceRegistry)
126+
authtypes.RegisterInterfaces(interfaceRegistry)
127+
gtypes.RegisterInterfaces(interfaceRegistry)
128+
rtypes.RegisterInterfaces(interfaceRegistry)
129+
otypes.RegisterInterfaces(interfaceRegistry)
130+
131+
marshaler := codec.NewProtoCodec(interfaceRegistry)
132+
txCfg := authtx.NewTxConfig(marshaler, authtx.DefaultSignModes)
133+
clientCtx = clientCtx.
134+
WithCodec(marshaler).
135+
WithInterfaceRegistry(interfaceRegistry).
136+
WithAccountRetriever(authtypes.AccountRetriever{}).
137+
WithTxConfig(txCfg).
138+
WithInput(os.Stdin)
139+
140+
clientCtx = clientCtx.WithChainID(config.ChainId)
141+
clientCtx = clientCtx.WithNodeURI(config.TmAddr)
142+
c, err := client.NewClientFromNode(clientCtx.NodeURI)
105143
if err != nil {
106-
return nil, err
144+
return clientCtx, errors.Wrap(err, "error creatig tm client")
107145
}
146+
clientCtx = clientCtx.WithClient(c)
147+
clientCtx = clientCtx.WithBroadcastMode(flags.BroadcastSync)
148+
clientCtx = clientCtx.WithSkipConfirmation(true)
108149

109-
return o, nil
150+
kr, err := client.NewKeyringFromBackend(clientCtx, keyring.BackendOS)
151+
if err != nil {
152+
return clientCtx, errors.Wrap(err, "error creating keyring backend")
153+
}
154+
clientCtx = clientCtx.WithKeyring(kr)
155+
156+
fromAddr, fromName, _, err := client.GetFromFields(clientCtx, kr, from)
157+
if err != nil {
158+
return clientCtx, errors.Wrap(err, "error parsing from Addr")
159+
}
160+
161+
clientCtx = clientCtx.WithFrom(from).WithFromAddress(fromAddr).WithFromName(fromName)
162+
163+
feeGranterAddr := sdk.MustAccAddressFromBech32(config.FeeGranterAddr)
164+
clientCtx = clientCtx.WithFeeGranterAddress(feeGranterAddr)
165+
return clientCtx, nil
110166
}
111167

112168
func (o OSKeyring) SignData(data []byte) (string, error) {
@@ -160,41 +216,7 @@ func (o OSKeyring) SignData(data []byte) (string, error) {
160216
}
161217

162218
func (o OSKeyring) SignAndBroadcast(grpcConn *grpc.ClientConn, msgs []sdk.Msg) error {
163-
account, err := o.kb.CC.Account(o.kb.key)
164-
if err != nil {
165-
return err
166-
}
167-
168-
// check fee grant exists
169-
fqc := feegrant.NewQueryClient(grpcConn)
170-
fr, _ := fqc.Allowance(context.Background(), &feegrant.QueryAllowanceRequest{
171-
Granter: config.FeeGranterAddr,
172-
Grantee: o.Address(),
173-
})
174-
175-
if fr != nil {
176-
feeGranterAddr, err := sdk.AccAddressFromBech32(config.FeeGranterAddr)
177-
if err != nil {
178-
return err
179-
}
180-
feePayerAddr, err := sdk.AccAddressFromBech32(o.Address())
181-
if err != nil {
182-
return err
183-
}
184-
185-
o.kb.CC.TxFactory.WithFeeGranter(feeGranterAddr)
186-
o.kb.CC.TxFactory.WithFeePayer(feePayerAddr)
187-
}
188-
189-
txResp, err := o.kb.CC.BroadcastTx(account, msgs...)
190-
if err != nil {
191-
return err
192-
}
193-
if txResp.TxResponse.Code != 0 {
194-
return errors.Wrap(err, "error broadcasting transaction")
195-
}
196-
197-
return nil
219+
return o.kb.CC.BroadcastTxAndWait(context.Background(), msgs...)
198220
}
199221

200222
func (o OSKeyring) Address() string {

go.mod

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,13 @@ go 1.19
44

55
require (
66
github.com/cosmos/cosmos-sdk v0.46.12
7+
github.com/gitopia/gitopia-go v0.3.4-0.20230606152806-95aa197de17e
78
github.com/gitopia/gitopia/v2 v2.0.1
89
github.com/go-git/go-git/v5 v5.5.1
9-
github.com/ignite/cli v0.24.0
1010
github.com/pkg/errors v0.9.1
1111
github.com/sirupsen/logrus v1.9.0
1212
github.com/spf13/cobra v1.6.1
13+
github.com/spf13/pflag v1.0.5
1314
google.golang.org/grpc v1.53.0
1415
)
1516

@@ -33,9 +34,7 @@ require (
3334
github.com/beorn7/perks v1.0.1 // indirect
3435
github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect
3536
github.com/bgentry/speakeasy v0.1.0 // indirect
36-
github.com/blang/semver v3.5.1+incompatible // indirect
3737
github.com/btcsuite/btcd/btcec/v2 v2.3.2 // indirect
38-
github.com/cenkalti/backoff v2.2.1+incompatible // indirect
3938
github.com/cespare/xxhash v1.1.0 // indirect
4039
github.com/cespare/xxhash/v2 v2.2.0 // indirect
4140
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e // indirect
@@ -60,7 +59,6 @@ require (
6059
github.com/emirpasic/gods v1.18.1 // indirect
6160
github.com/felixge/httpsnoop v1.0.1 // indirect
6261
github.com/fsnotify/fsnotify v1.5.4 // indirect
63-
github.com/ghodss/yaml v1.0.0 // indirect
6462
github.com/go-git/gcfg v1.5.0 // indirect
6563
github.com/go-git/go-billy/v5 v5.3.1 // indirect
6664
github.com/go-kit/kit v0.12.0 // indirect
@@ -133,14 +131,12 @@ require (
133131
github.com/rakyll/statik v0.1.7 // indirect
134132
github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect
135133
github.com/regen-network/cosmos-proto v0.3.1 // indirect
136-
github.com/rs/cors v1.8.2 // indirect
137134
github.com/sasha-s/go-deadlock v0.3.1 // indirect
138135
github.com/sergi/go-diff v1.2.0 // indirect
139136
github.com/skeema/knownhosts v1.1.0 // indirect
140137
github.com/spf13/afero v1.8.2 // indirect
141138
github.com/spf13/cast v1.5.0 // indirect
142139
github.com/spf13/jwalterweatherman v1.1.0 // indirect
143-
github.com/spf13/pflag v1.0.5 // indirect
144140
github.com/spf13/viper v1.13.0 // indirect
145141
github.com/stretchr/objx v0.5.0 // indirect
146142
github.com/stretchr/testify v1.8.1 // indirect
@@ -161,7 +157,6 @@ require (
161157
golang.org/x/mod v0.7.0 // indirect
162158
golang.org/x/net v0.7.0 // indirect
163159
golang.org/x/oauth2 v0.5.0 // indirect
164-
golang.org/x/sync v0.1.0 // indirect
165160
golang.org/x/sys v0.5.0 // indirect
166161
golang.org/x/term v0.5.0 // indirect
167162
golang.org/x/text v0.7.0 // indirect
@@ -181,3 +176,5 @@ require (
181176
replace github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1
182177

183178
replace github.com/tendermint/tendermint => github.com/cometbft/cometbft v0.34.27
179+
180+
replace github.com/ignite/cli => github.com/gitopia/ignite-cli v0.24.0-fee-grant.4

go.sum

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -97,16 +97,13 @@ github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d h1:xDfNPAt8lFiC1U
9797
github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d/go.mod h1:6QX/PXZ00z/TKoufEY6K/a0k6AhaJrQKdFe6OfVXsa4=
9898
github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY=
9999
github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=
100-
github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ=
101-
github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk=
102100
github.com/btcsuite/btcd v0.22.1 h1:CnwP9LM/M9xuRrGSCGeMVs9iv09uMqwsVX7EeIpgV2c=
103101
github.com/btcsuite/btcd/btcec/v2 v2.3.2 h1:5n0X6hX0Zk+6omWcihdYvdAlGf2DfasC0GMf7DClJ3U=
104102
github.com/btcsuite/btcd/btcec/v2 v2.3.2/go.mod h1:zYzJ8etWJQIv1Ogk7OzpWjowwOdXY1W/17j2MW85J04=
105103
github.com/btcsuite/btcd/btcutil v1.1.2 h1:XLMbX8JQEiwMcYft2EGi8zPUkoa0abKIU6/BJSRsjzQ=
106104
github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 h1:q0rUy8C/TYNBQS1+CGKw68tLOFYSNEs0TFnxxnS9+4U=
107105
github.com/bwesterb/go-ristretto v1.2.0/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0=
108106
github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4=
109-
github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM=
110107
github.com/cenkalti/backoff/v4 v4.1.3 h1:cFAlzYUlVYDysBEH2T5hyJZMh3+5+WCBvSnK6Q8UtC4=
111108
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
112109
github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko=
@@ -206,8 +203,13 @@ github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMo
206203
github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
207204
github.com/fsnotify/fsnotify v1.5.4 h1:jRbGcIw6P2Meqdwuo0H1p6JVLbL5DHKAKlYndzMwVZI=
208205
github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU=
209-
github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk=
210206
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
207+
github.com/gitopia/gitopia-go v0.3.3 h1:hXPj00AJ9Rqfrvv8XoOUrcFGLT7Pkbz1fdt9b/LfkvM=
208+
github.com/gitopia/gitopia-go v0.3.3/go.mod h1:1in+bQqP/CFduTIvJbB8WowPGRBhvyFkp+ZhBddutt0=
209+
github.com/gitopia/gitopia-go v0.3.4-0.20230606040529-35a837b457c9 h1:YRw8ZTqK8CZ3W4cys2yvsomCDko5VQXE7jPsdGtexNw=
210+
github.com/gitopia/gitopia-go v0.3.4-0.20230606040529-35a837b457c9/go.mod h1:1in+bQqP/CFduTIvJbB8WowPGRBhvyFkp+ZhBddutt0=
211+
github.com/gitopia/gitopia-go v0.3.4-0.20230606152806-95aa197de17e h1:8sE+tXxZDvbuuBxCWMAIpGukL5BklOYSoL9b44QOiqc=
212+
github.com/gitopia/gitopia-go v0.3.4-0.20230606152806-95aa197de17e/go.mod h1:1in+bQqP/CFduTIvJbB8WowPGRBhvyFkp+ZhBddutt0=
211213
github.com/gitopia/gitopia/v2 v2.0.1 h1:SeHwKkUkA+bqEzsgVimsOb5v6A1wL6O0zqQg/PSSl5c=
212214
github.com/gitopia/gitopia/v2 v2.0.1/go.mod h1:ZEEo2wHSxjJL3tcGg+ZenFlYMhfqFzwJkGkNMkgA9lE=
213215
github.com/gliderlabs/ssh v0.3.5 h1:OcaySEmAQJgyYcArR+gGGTHCyE7nvhEMTlYY+Dp8CpY=
@@ -372,8 +374,6 @@ github.com/hdevalence/ed25519consensus v0.0.0-20220222234857-c00d1f31bab3/go.mod
372374
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
373375
github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
374376
github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
375-
github.com/ignite/cli v0.24.0 h1:2cggSIsT4MT9IIS4/8XqlwgekI0YWPMYeULLGrTgCUY=
376-
github.com/ignite/cli v0.24.0/go.mod h1:XlqM9HK751rcKZg7RfrP9KiJRAVi4XfZskhGnHPgLr0=
377377
github.com/imdario/mergo v0.3.13 h1:lFzP57bqS/wsqKssCGmtLAb8A0wKjLGrve2q3PPVcBk=
378378
github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg=
379379
github.com/improbable-eng/grpc-web v0.15.0 h1:BN+7z6uNXZ1tQGcNAuaU1YjsLTApzkjt2tzCixLaUPQ=
@@ -551,7 +551,6 @@ github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6L
551551
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
552552
github.com/rogpeppe/go-internal v1.8.1 h1:geMPLpDpQOgVyCg5z5GoRwLHepNdb71NXb67XFkP+Eg=
553553
github.com/rs/cors v1.8.2 h1:KCooALfAYGs415Cwu5ABvv9n9509fSiG5SQJn/AQo4U=
554-
github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU=
555554
github.com/rs/zerolog v1.27.0 h1:1T7qCieN22GVc8S4Q2yuexzBb1EqjbgjSH9RohbMjKs=
556555
github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
557556
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
@@ -774,7 +773,6 @@ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJ
774773
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
775774
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
776775
golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o=
777-
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
778776
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
779777
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
780778
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=

0 commit comments

Comments
 (0)