@agoric/cosmos 0.35.0-u19.2 → 0.35.0-u20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -10,12 +10,14 @@ import (
10
10
  "github.com/cosmos/cosmos-sdk/store/prefix"
11
11
  storetypes "github.com/cosmos/cosmos-sdk/store/types"
12
12
  sdk "github.com/cosmos/cosmos-sdk/types"
13
- sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
13
+
14
+ sdkioerrors "cosmossdk.io/errors"
15
+ sdktypeserrors "github.com/cosmos/cosmos-sdk/types/errors"
14
16
 
15
17
  capabilitykeeper "github.com/cosmos/cosmos-sdk/x/capability/keeper"
16
18
  capabilitytypes "github.com/cosmos/cosmos-sdk/x/capability/types"
17
19
 
18
- "github.com/Agoric/agoric-sdk/golang/cosmos/types"
20
+ agtypes "github.com/Agoric/agoric-sdk/golang/cosmos/types"
19
21
  "github.com/Agoric/agoric-sdk/golang/cosmos/vm"
20
22
  "github.com/Agoric/agoric-sdk/golang/cosmos/x/vibc"
21
23
  vibctypes "github.com/Agoric/agoric-sdk/golang/cosmos/x/vibc/types"
@@ -92,7 +94,7 @@ func (i4 *ics4Wrapper) SendPacket(
92
94
  }
93
95
 
94
96
  var strippedData []byte
95
- _, err = types.ExtractBaseAddressFromData(i4.k.cdc, data, types.RoleSender, &strippedData)
97
+ _, err = agtypes.ExtractBaseAddressFromData(i4.k.cdc, data, agtypes.RoleSender, &strippedData)
96
98
  if err != nil {
97
99
  return sequence, err
98
100
  }
@@ -105,7 +107,7 @@ func (i4 *ics4Wrapper) SendPacket(
105
107
 
106
108
  // Store the original data if it is hooked for later retrieval by middleware.
107
109
  if !i4.k.debug.DoNotStore && !bytes.Equal(strippedData, data) {
108
- packetStore, packetKey := i4.k.PacketStore(ctx, types.PacketSrc, sourcePort, sourceChannel, sequence)
110
+ packetStore, packetKey := i4.k.PacketStore(ctx, agtypes.PacketSrc, sourcePort, sourceChannel, sequence)
109
111
  packetStore.Set(packetKey, data)
110
112
  }
111
113
 
@@ -118,14 +120,8 @@ func (i4 *ics4Wrapper) WriteAcknowledgement(
118
120
  packet ibcexported.PacketI,
119
121
  ack ibcexported.Acknowledgement,
120
122
  ) error {
121
- origPacket := channeltypes.NewPacket(
122
- packet.GetData(), packet.GetSequence(),
123
- packet.GetSourcePort(), packet.GetSourceChannel(),
124
- packet.GetDestPort(), packet.GetDestChannel(),
125
- clienttypes.MustParseHeight(packet.GetTimeoutHeight().String()),
126
- packet.GetTimeoutTimestamp(),
127
- )
128
- packetStore, packetKey := i4.k.PacketStoreFromOrigin(ctx, types.PacketDst, packet)
123
+ origPacket := agtypes.CopyToIBCPacket(packet)
124
+ packetStore, packetKey := i4.k.PacketStoreFromOrigin(ctx, agtypes.PacketDst, packet)
129
125
  if packetStore.Has(packetKey) {
130
126
  origPacket.Data = packetStore.Get(packetKey)
131
127
  packetStore.Delete(packetKey)
@@ -209,20 +205,20 @@ func sequencePath(sequence uint64) string {
209
205
  // PacketStore returns a new KVStore for storing packet data, and a key for
210
206
  // that store. The KVStore is divided into src or dst PacketOrigins because we
211
207
  // need to record separate data for packets travelling in each direction.
212
- func (k Keeper) PacketStore(ctx sdk.Context, ourOrigin types.PacketOrigin, ourPort string, ourChannel string, sequence uint64) (storetypes.KVStore, []byte) {
208
+ func (k Keeper) PacketStore(ctx sdk.Context, ourOrigin agtypes.PacketOrigin, ourPort string, ourChannel string, sequence uint64) (storetypes.KVStore, []byte) {
213
209
  key := fmt.Sprintf("%s/%s/%s", ourOrigin, channelPath(ourPort, ourChannel), sequencePath(sequence))
214
210
  packetKey := []byte(key)
215
211
  return prefix.NewStore(ctx.KVStore(k.key), []byte(packetDataStoreKeyPrefix)), packetKey
216
212
  }
217
213
 
218
- func (k Keeper) PacketStoreFromOrigin(ctx sdk.Context, ourOrigin types.PacketOrigin, packet ibcexported.PacketI) (storetypes.KVStore, []byte) {
214
+ func (k Keeper) PacketStoreFromOrigin(ctx sdk.Context, ourOrigin agtypes.PacketOrigin, packet ibcexported.PacketI) (storetypes.KVStore, []byte) {
219
215
  var ourPort, ourChannel string
220
216
 
221
217
  switch ourOrigin {
222
- case types.PacketSrc:
218
+ case agtypes.PacketSrc:
223
219
  ourPort = packet.GetSourcePort()
224
220
  ourChannel = packet.GetSourceChannel()
225
- case types.PacketDst:
221
+ case agtypes.PacketDst:
226
222
  ourPort = packet.GetDestPort()
227
223
  ourChannel = packet.GetDestChannel()
228
224
  default:
@@ -236,10 +232,10 @@ func (k Keeper) PacketStoreFromOrigin(ctx sdk.Context, ourOrigin types.PacketOri
236
232
  // Many error acknowledgments are sent synchronously, but most cases instead return nil
237
233
  // to tell the IBC system that acknowledgment is async (i.e., that WriteAcknowledgement
238
234
  // will be called later, after the VM has dealt with the packet).
239
- func (k Keeper) InterceptOnRecvPacket(ctx sdk.Context, ibcModule porttypes.IBCModule, packet channeltypes.Packet, relayer sdk.AccAddress) ibcexported.Acknowledgement {
235
+ func (k Keeper) InterceptOnRecvPacket(ctx sdk.Context, ibcModule porttypes.IBCModule, packet ibcexported.PacketI, relayer sdk.AccAddress) ibcexported.Acknowledgement {
240
236
  // Pass every (stripped-receiver) inbound packet to the wrapped IBC module.
241
- var strippedPacket channeltypes.Packet
242
- _, err := types.ExtractBaseAddressFromPacket(k.cdc, packet, types.RoleReceiver, &strippedPacket)
237
+ var strippedPacket agtypes.IBCPacket
238
+ _, err := agtypes.ExtractBaseAddressFromPacket(k.cdc, packet, agtypes.RoleReceiver, &strippedPacket)
243
239
  if err != nil {
244
240
  return channeltypes.NewErrorAcknowledgement(err)
245
241
  }
@@ -249,16 +245,16 @@ func (k Keeper) InterceptOnRecvPacket(ctx sdk.Context, ibcModule porttypes.IBCMo
249
245
  capName := host.ChannelCapabilityPath(portID, channelID)
250
246
  chanCap, ok := k.vibcKeeper.GetCapability(ctx, capName)
251
247
  if !ok {
252
- err := sdkerrors.Wrapf(channeltypes.ErrChannelCapabilityNotFound, "could not retrieve channel capability at: %s", capName)
248
+ err := sdkioerrors.Wrapf(channeltypes.ErrChannelCapabilityNotFound, "could not retrieve channel capability at: %s", capName)
253
249
  return channeltypes.NewErrorAcknowledgement(err)
254
250
  }
255
251
 
256
252
  if !k.debug.DoNotStore && !bytes.Equal(strippedPacket.GetData(), packet.GetData()) {
257
- packetStore, packetKey := k.PacketStore(ctx, types.PacketDst, portID, channelID, packet.GetSequence())
253
+ packetStore, packetKey := k.PacketStore(ctx, agtypes.PacketDst, portID, channelID, packet.GetSequence())
258
254
  packetStore.Set(packetKey, packet.GetData())
259
255
  }
260
256
 
261
- ack := ibcModule.OnRecvPacket(ctx, strippedPacket, relayer)
257
+ ack := ibcModule.OnRecvPacket(ctx, agtypes.CopyToChannelPacket(strippedPacket), relayer)
262
258
  if ack == nil {
263
259
  // Already declared to be an async ack. Will be cleaned up by ics4Wrapper.WriteAcknowledgement.
264
260
  return nil
@@ -274,23 +270,23 @@ func (k Keeper) InterceptOnRecvPacket(ctx sdk.Context, ibcModule porttypes.IBCMo
274
270
  func (k Keeper) InterceptOnAcknowledgementPacket(
275
271
  ctx sdk.Context,
276
272
  ibcModule porttypes.IBCModule,
277
- packet channeltypes.Packet,
273
+ packet ibcexported.PacketI,
278
274
  acknowledgement []byte,
279
275
  relayer sdk.AccAddress,
280
276
  ) error {
281
- baseSender, err := types.ExtractBaseAddressFromData(k.cdc, packet.GetData(), types.RoleSender, nil)
277
+ baseSender, err := agtypes.ExtractBaseAddressFromData(k.cdc, packet.GetData(), agtypes.RoleSender, nil)
282
278
  if err != nil {
283
279
  return err
284
280
  }
285
281
 
286
- origPacket := packet
287
- packetStore, packetKey := k.PacketStoreFromOrigin(ctx, types.PacketSrc, packet)
282
+ origPacket := agtypes.CopyToIBCPacket(packet)
283
+ packetStore, packetKey := k.PacketStoreFromOrigin(ctx, agtypes.PacketSrc, packet)
288
284
  if packetStore.Has(packetKey) {
289
285
  origPacket.Data = packetStore.Get(packetKey)
290
286
  packetStore.Delete(packetKey)
291
287
  }
292
288
 
293
- modErr := ibcModule.OnAcknowledgementPacket(ctx, packet, acknowledgement, relayer)
289
+ modErr := ibcModule.OnAcknowledgementPacket(ctx, agtypes.CopyToChannelPacket(packet), acknowledgement, relayer)
294
290
 
295
291
  // If the sender is not a watched account, we're done.
296
292
  if !k.targetIsWatched(ctx, baseSender) {
@@ -312,23 +308,23 @@ func (k Keeper) InterceptOnAcknowledgementPacket(
312
308
  func (k Keeper) InterceptOnTimeoutPacket(
313
309
  ctx sdk.Context,
314
310
  ibcModule porttypes.IBCModule,
315
- packet channeltypes.Packet,
311
+ packet ibcexported.PacketI,
316
312
  relayer sdk.AccAddress,
317
313
  ) error {
318
- baseSender, err := types.ExtractBaseAddressFromData(k.cdc, packet.GetData(), types.RoleSender, nil)
314
+ baseSender, err := agtypes.ExtractBaseAddressFromData(k.cdc, packet.GetData(), agtypes.RoleSender, nil)
319
315
  if err != nil {
320
316
  return err
321
317
  }
322
318
 
323
- origPacket := packet
324
- packetStore, packetKey := k.PacketStoreFromOrigin(ctx, types.PacketSrc, packet)
319
+ origPacket := agtypes.CopyToIBCPacket(packet)
320
+ packetStore, packetKey := k.PacketStoreFromOrigin(ctx, agtypes.PacketSrc, packet)
325
321
  if packetStore.Has(packetKey) {
326
322
  origPacket.Data = packetStore.Get(packetKey)
327
323
  packetStore.Delete(packetKey)
328
324
  }
329
325
 
330
326
  // Pass every stripped-sender timeout to the wrapped IBC module.
331
- modErr := ibcModule.OnTimeoutPacket(ctx, packet, relayer)
327
+ modErr := ibcModule.OnTimeoutPacket(ctx, agtypes.CopyToChannelPacket(packet), relayer)
332
328
 
333
329
  // If the sender is not a watched account, we're done.
334
330
  if !k.targetIsWatched(ctx, baseSender) {
@@ -349,16 +345,10 @@ func (k Keeper) InterceptOnTimeoutPacket(
349
345
  // targeted account, and if so, delegates to the VM.
350
346
  func (k Keeper) InterceptWriteAcknowledgement(ctx sdk.Context, chanCap *capabilitytypes.Capability, packet ibcexported.PacketI, ack ibcexported.Acknowledgement) (ibcexported.Acknowledgement, ibcexported.PacketI) {
351
347
  // Get the base receiver from the packet, without computing a stripped packet.
352
- baseReceiver, err := types.ExtractBaseAddressFromPacket(k.cdc, packet, types.RoleReceiver, nil)
353
-
354
- origPacket := channeltypes.NewPacket(
355
- packet.GetData(), packet.GetSequence(),
356
- packet.GetSourcePort(), packet.GetSourceChannel(),
357
- packet.GetDestPort(), packet.GetDestChannel(),
358
- clienttypes.MustParseHeight(packet.GetTimeoutHeight().String()),
359
- packet.GetTimeoutTimestamp(),
360
- )
361
- packetStore, packetKey := k.PacketStoreFromOrigin(ctx, types.PacketDst, packet)
348
+ baseReceiver, err := agtypes.ExtractBaseAddressFromPacket(k.cdc, packet, agtypes.RoleReceiver, nil)
349
+
350
+ origPacket := agtypes.CopyToIBCPacket(packet)
351
+ packetStore, packetKey := k.PacketStoreFromOrigin(ctx, agtypes.PacketDst, packet)
362
352
  if packetStore.Has(packetKey) {
363
353
  origPacket.Data = packetStore.Get(packetKey)
364
354
  packetStore.Delete(packetKey)
@@ -440,7 +430,7 @@ func (k Keeper) Receive(cctx context.Context, jsonRequest string) (jsonReply str
440
430
  case "BRIDGE_TARGET_UNREGISTER":
441
431
  prefixStore.Delete([]byte(msg.Target))
442
432
  default:
443
- return "", sdkerrors.Wrapf(sdkerrors.ErrUnknownRequest, "unknown action type: %s", msg.Type)
433
+ return "", sdkioerrors.Wrapf(sdktypeserrors.ErrUnknownRequest, "unknown action type: %s", msg.Type)
444
434
  }
445
435
  return "true", nil
446
436
  }
package/e2e_test/Makefile DELETED
@@ -1,29 +0,0 @@
1
- # It is possible to use environment variables to change how the tests run
2
- # - `E2ETEST_CHAINNAME0` - set to `"agoric"`, `"gaia"`, or another chain known by interchaintest to choose which chain runs as the first chain
3
- # - `E2ETEST_CHAINNAME1` - set to `"agoric"`, `"gaia"`, or another chain known by interchaintest to choose which chain runs as the second chain
4
- # - `E2ETEST_CHAINNAME2` - set to `"agoric"`, `"gaia"`, or another chain known by interchaintest to choose which chain runs as the third chain
5
- # - `E2ETEST_CHAINNAME3` - set to `"agoric"`, `"gaia"`, or another chain known by interchaintest to choose which chain runs as the fourth chain
6
- # - `E2ETEST_CHAINIMAGE_AGORIC` - the value of this will be used specific the repository & version of docker image to use for the agoric chain. a valid value must have a semicolon and be formatted as `repository:tag`. ex: `E2ETEST_CHAINIMAGE_AGORIC="ghcr.io/agoric/agoricinterchain:latest"`
7
- # - `E2ETEST_RELAYERNAME` - set to `"cosmos"` or `"hermes"` to choose the relayer type
8
- # - `E2ETEST_BLOCKS_TO_WAIT` - set to a number to control how many blocks to wait for an ACK from an IBC transfer and how many blocks to wait for TX settlement.
9
- all: TestConformance TestPFM
10
-
11
- # build - Sanity compile the tests
12
- build:
13
- go test -c -o ./bin/agoricinterchaintest
14
-
15
- # TestPFM - use 4 chains to test PFM
16
- TestPFM:
17
- # Add a 20min timeout since tests are slow
18
- # Add failfast since each test depends on the next
19
- go test -failfast -timeout 20m -v -run ^TestPFM
20
-
21
- # TestConformance - use 2 chains to test basic IBC conformance
22
- TestConformance:
23
- # Add a 20min timeout since tests are slow
24
- go test -timeout 20m -v -run ^TestConformance
25
-
26
- # TestChainPair - Minimal version of TestConformance does less permutations
27
- TestChainPair:
28
- # Add a 20min timeout since tests are slow
29
- go test -timeout 20m -v -run ^TestChainPair
@@ -1,100 +0,0 @@
1
- # e2e_test
2
-
3
- This independent golang project contains tests that validate IBC conformance and PFM functionality using a fork of Strangelove's `interchaintest`.
4
- - upstream: https://github.com/strangelove-ventures/interchaintest
5
- - fork: https://github.com/Agoric-labs/interchaintest
6
-
7
- This project has its own `go.mod` since `interchaintest` pulls in version of cosmos-sdk, cometBFT, & ibc-go that differ from those `agd` would use.
8
-
9
- ## To Build
10
-
11
- In order to sanity check that the tests build use:
12
- ```
13
- $ make build
14
- ```
15
-
16
- Note this is not build or run by CI since:
17
- - It takes up to 40 minutes run the tests.
18
- - These tests validate proper functionality of the cosmos IBC module and apps. This functionality does not regularly change.
19
- - These tests require a docker image that is currently difficult to produce.
20
- - Changes to files outside this directory should not be able to cause this directory to fail to compile. This tool lives in its own bubble.
21
-
22
- ## To Run Tests
23
-
24
- To run all the tests:
25
- ```
26
- $ make
27
- ```
28
-
29
- To test IBC Conformance only:
30
- ```
31
- $ make TestConformance
32
- ```
33
-
34
- To test PFM functionality only:
35
- ```
36
- $ make TestPFM
37
- ```
38
-
39
- ## Customizing Test Runs
40
-
41
- It is possible to use environment variables to change how the tests run
42
-
43
- - `E2ETEST_CHAINNAME0` - set to `"agoric"`, `"gaia"`, or another chain known by interchaintest to choose which chain runs as the first chain
44
- - `E2ETEST_CHAINNAME1` - set to `"agoric"`, `"gaia"`, or another chain known by interchaintest to choose which chain runs as the second chain
45
- - `E2ETEST_CHAINNAME2` - set to `"agoric"`, `"gaia"`, or another chain known by interchaintest to choose which chain runs as the third chain
46
- - `E2ETEST_CHAINNAME3` - set to `"agoric"`, `"gaia"`, or another chain known by interchaintest to choose which chain runs as the fourth chain
47
- - `E2ETEST_CHAINIMAGE_AGORIC` - the value of this will be used specific the repository & version of docker image to use for the agoric chain. a valid value must have a semicolon and be formatted as `repository:tag`. ex: `E2ETEST_CHAINIMAGE_AGORIC="ghcr.io/agoric/agoricinterchain:latest"`
48
- - `E2ETEST_RELAYERNAME` - set to `"cosmos"` or `"hermes"` to choose the relayer type
49
- - `E2ETEST_BLOCKS_TO_WAIT` - set to a number to control how many blocks to wait for an ACK from an IBC transfer and how many blocks to wait for TX settlement.
50
-
51
- ex:
52
- ```
53
- # run PFM tests with the:
54
- # - first chains as agoric
55
- # - the second chain as osmosis
56
- # - the third chain as stride
57
- # - the fourth chain as gaia
58
- # - use the hermes relayer
59
- # - note `-timeout 20m` which is included because these tests can be very slow
60
- $ E2ETEST_CHAINNAME0=agoric E2ETEST_CHAINNAME1=osmosis E2ETEST_CHAINNAME2=stride E2ETEST_CHAINNAME3=gaia E2ETEST_RELAYERNAME=hermes go test -timeout 20m -v -run ^TestPacketForwardMiddleware
61
- ```
62
-
63
- ## Debugging Flakes
64
-
65
- `error in transaction (code: 6): failed to execute message; message index: 0: 809C699215C5BC041D4035479D28C30EAB11DBC5953E45D4545346B78482D82C: denomination trace not found`
66
- - Flakey `interchaintest` has failed to properly run commands on relayers
67
-
68
- `Wrong user balance on chain<blah> expected[<foo>>] actual[<bar>]`
69
- - If you see `error in transaction (code: 6): failed to execute message; message index: 0: 809C699215C5BC041D4035479D28C30EAB11DBC5953E45D4545346B78482D82C: denomination trace not found` immediately below this error then the relayer fell over.
70
- - If not, it's possible the test simply didn't wait enough blocks for the transactions to settle
71
-
72
- If the tests terminate abnormally they may leave Docker containers or volumes stranded. These are safe to delete.
73
-
74
- ## Details on the Custom Fork of `interchaintest`
75
-
76
- The [Agoric custom fork of interchaintest](https://github.com/Agoric-labs/interchaintest) is necessary because the agoric chain does not include the `x/crisis` module. However, `interchaintest` passes `agd` unsupported command line arguments to configure `x/crisis`. The fork contains a patch to skip these command line arguments when `interchaintest.ChainSpec.ChainConfig.NoCrisisModule` is set.
77
-
78
- The exact git tag version of Agoric custom fork of interchaintest must be specified in the `go.mod` for this test suite. It is important to update that tag in the fork and in `go.mod` whenever the fork has a new update.
79
-
80
- ## Building a Compatible Docker Image
81
-
82
- `interchaintest` relies on a partner tool [`heighliner`](https://github.com/strangelove-ventures/heighliner). `heighliner` modified Docker images to make them compatible with `interchaintest`. To build an Agoric compatible docker image:
83
-
84
- Get the Agoric compatible changes (one time):
85
- ```
86
- $ git clone git@github.com:strangelove-ventures/heighliner.git
87
- $ cd heighliner
88
- $ git remote add toliaqat git@github.com:toliaqat/heighliner.git
89
- $ git pull toliaqat
90
- $ git merge remotes/toliaqat/main
91
- ```
92
-
93
- For each new image:
94
- - edit `dockerfile/agoric/Dockerfile` in the heighliner checkout to point to the proper base image. Likely you'll want to use an a3p-integration image.
95
- - then:
96
- ```
97
- $ go build
98
- $ ./heighliner build -c agoric -g main -t agoric:heighliner-agoric
99
- ```
100
- - then run agoricinterchaintests with `E2ETEST_CHAINIMAGE_AGORIC=agoric:heighliner-agoric`
package/e2e_test/go.mod DELETED
@@ -1,239 +0,0 @@
1
- module github.com/Agoric/agoric-sdk/golang/cosmos/e2e_test
2
-
3
- go 1.20
4
-
5
- require (
6
- github.com/agoric-labs/interchaintest/v6 v6.0.1-agoriclabs
7
- github.com/cosmos/cosmos-sdk v0.46.13
8
- github.com/cosmos/ibc-go/v6 v6.2.0
9
- github.com/stretchr/testify v1.9.0
10
- go.uber.org/zap v1.26.0
11
- )
12
-
13
- require (
14
- cloud.google.com/go v0.110.4 // indirect
15
- cloud.google.com/go/compute v1.21.0 // indirect
16
- cloud.google.com/go/compute/metadata v0.2.3 // indirect
17
- cloud.google.com/go/iam v1.1.1 // indirect
18
- cloud.google.com/go/storage v1.30.1 // indirect
19
- cosmossdk.io/errors v1.0.0-beta.7 // indirect
20
- cosmossdk.io/math v1.4.0 // indirect
21
- filippo.io/edwards25519 v1.0.0-rc.1 // indirect
22
- github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect
23
- github.com/99designs/keyring v1.2.2 // indirect
24
- github.com/BurntSushi/toml v1.3.2 // indirect
25
- github.com/ChainSafe/go-schnorrkel v1.0.0 // indirect
26
- github.com/ChainSafe/go-schnorrkel/1 v0.0.0-00010101000000-000000000000 // indirect
27
- github.com/Microsoft/go-winio v0.6.0 // indirect
28
- github.com/StirlingMarketingGroup/go-namecase v1.0.0 // indirect
29
- github.com/armon/go-metrics v0.4.1 // indirect
30
- github.com/avast/retry-go/v4 v4.3.4 // indirect
31
- github.com/aws/aws-sdk-go v1.40.45 // indirect
32
- github.com/beorn7/perks v1.0.1 // indirect
33
- github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d // indirect
34
- github.com/bgentry/speakeasy v0.1.0 // indirect
35
- github.com/btcsuite/btcd/btcec/v2 v2.3.2 // indirect
36
- github.com/btcsuite/btcd/chaincfg/chainhash v1.1.0 // indirect
37
- github.com/centrifuge/go-substrate-rpc-client/v4 v4.0.10 // indirect
38
- github.com/cespare/xxhash v1.1.0 // indirect
39
- github.com/cespare/xxhash/v2 v2.2.0 // indirect
40
- github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e // indirect
41
- github.com/cockroachdb/apd/v2 v2.0.2 // indirect
42
- github.com/confio/ics23/go v0.9.0 // indirect
43
- github.com/cosmos/btcutil v1.0.5 // indirect
44
- github.com/cosmos/cosmos-proto v1.0.0-alpha8 // indirect
45
- github.com/cosmos/go-bip39 v1.0.0 // indirect
46
- github.com/cosmos/gorocksdb v1.2.0 // indirect
47
- github.com/cosmos/iavl v0.19.6 // indirect
48
- github.com/cosmos/ledger-cosmos-go v0.12.4 // indirect
49
- github.com/danieljoos/wincred v1.1.2 // indirect
50
- github.com/davecgh/go-spew v1.1.1 // indirect
51
- github.com/deckarep/golang-set v1.8.0 // indirect
52
- github.com/decred/base58 v1.0.3 // indirect
53
- github.com/decred/dcrd/crypto/blake256 v1.0.0 // indirect
54
- github.com/decred/dcrd/dcrec/secp256k1/v2 v2.0.1 // indirect
55
- github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 // indirect
56
- github.com/dgraph-io/badger/v2 v2.2007.4 // indirect
57
- github.com/dgraph-io/ristretto v0.1.0 // indirect
58
- github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 // indirect
59
- github.com/docker/distribution v2.8.1+incompatible // indirect
60
- github.com/docker/docker v24.0.1+incompatible // indirect
61
- github.com/docker/go-connections v0.4.0 // indirect
62
- github.com/docker/go-units v0.5.0 // indirect
63
- github.com/dustin/go-humanize v1.0.1 // indirect
64
- github.com/dvsekhvalnov/jose2go v1.5.0 // indirect
65
- github.com/ethereum/go-ethereum v1.10.17 // indirect
66
- github.com/felixge/httpsnoop v1.0.1 // indirect
67
- github.com/fsnotify/fsnotify v1.6.0 // indirect
68
- github.com/go-kit/kit v0.12.0 // indirect
69
- github.com/go-kit/log v0.2.1 // indirect
70
- github.com/go-logfmt/logfmt v0.5.1 // indirect
71
- github.com/go-stack/stack v1.8.1 // indirect
72
- github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect
73
- github.com/gogo/gateway v1.1.0 // indirect
74
- github.com/gogo/protobuf v1.3.3 // indirect
75
- github.com/golang/glog v1.1.0 // indirect
76
- github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
77
- github.com/golang/protobuf v1.5.3 // indirect
78
- github.com/golang/snappy v0.0.4 // indirect
79
- github.com/google/btree v1.1.2 // indirect
80
- github.com/google/go-cmp v0.5.9 // indirect
81
- github.com/google/s2a-go v0.1.4 // indirect
82
- github.com/google/uuid v1.3.0 // indirect
83
- github.com/googleapis/enterprise-certificate-proxy v0.2.3 // indirect
84
- github.com/googleapis/gax-go/v2 v2.11.0 // indirect
85
- github.com/gorilla/handlers v1.5.1 // indirect
86
- github.com/gorilla/mux v1.8.0 // indirect
87
- github.com/gorilla/websocket v1.5.0 // indirect
88
- github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 // indirect
89
- github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect
90
- github.com/gsterjov/go-libsecret v0.0.0-20161001094733-a6f4afe4910c // indirect
91
- github.com/gtank/merlin v0.1.1 // indirect
92
- github.com/gtank/ristretto255 v0.1.2 // indirect
93
- github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
94
- github.com/hashicorp/go-getter v1.6.1 // indirect
95
- github.com/hashicorp/go-immutable-radix v1.3.1 // indirect
96
- github.com/hashicorp/go-safetemp v1.0.0 // indirect
97
- github.com/hashicorp/go-version v1.6.0 // indirect
98
- github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d // indirect
99
- github.com/hashicorp/hcl v1.0.0 // indirect
100
- github.com/hdevalence/ed25519consensus v0.0.0-20220222234857-c00d1f31bab3 // indirect
101
- github.com/icza/dyno v0.0.0-20220812133438-f0b6f8a18845 // indirect
102
- github.com/inconshreveable/mousetrap v1.0.1 // indirect
103
- github.com/ipfs/go-cid v0.2.0 // indirect
104
- github.com/jmespath/go-jmespath v0.4.0 // indirect
105
- github.com/jmhodges/levigo v1.0.0 // indirect
106
- github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect
107
- github.com/klauspost/compress v1.16.0 // indirect
108
- github.com/klauspost/cpuid/v2 v2.2.3 // indirect
109
- github.com/libp2p/go-buffer-pool v0.1.0 // indirect
110
- github.com/libp2p/go-libp2p v0.22.0 // indirect
111
- github.com/libp2p/go-openssl v0.1.0 // indirect
112
- github.com/magiconair/properties v1.8.6 // indirect
113
- github.com/manifoldco/promptui v0.9.0 // indirect
114
- github.com/mattn/go-isatty v0.0.18 // indirect
115
- github.com/mattn/go-pointer v0.0.1 // indirect
116
- github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
117
- github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 // indirect
118
- github.com/minio/sha256-simd v1.0.0 // indirect
119
- github.com/mitchellh/go-homedir v1.1.0 // indirect
120
- github.com/mitchellh/go-testing-interface v1.14.1 // indirect
121
- github.com/mitchellh/mapstructure v1.5.0 // indirect
122
- github.com/mr-tron/base58 v1.2.0 // indirect
123
- github.com/mtibben/percent v0.2.1 // indirect
124
- github.com/multiformats/go-base32 v0.0.4 // indirect
125
- github.com/multiformats/go-base36 v0.1.0 // indirect
126
- github.com/multiformats/go-multiaddr v0.6.0 // indirect
127
- github.com/multiformats/go-multibase v0.1.1 // indirect
128
- github.com/multiformats/go-multicodec v0.5.0 // indirect
129
- github.com/multiformats/go-multihash v0.2.1 // indirect
130
- github.com/multiformats/go-varint v0.0.6 // indirect
131
- github.com/opencontainers/go-digest v1.0.0 // indirect
132
- github.com/opencontainers/image-spec v1.1.0-rc2 // indirect
133
- github.com/pelletier/go-toml v1.9.5 // indirect
134
- github.com/pelletier/go-toml/v2 v2.0.7 // indirect
135
- github.com/petermattis/goid v0.0.0-20230317030725-371a4b8eda08 // indirect
136
- github.com/pierrec/xxHash v0.1.5 // indirect
137
- github.com/pkg/errors v0.9.1 // indirect
138
- github.com/pmezard/go-difflib v1.0.0 // indirect
139
- github.com/prometheus/client_golang v1.14.0 // indirect
140
- github.com/prometheus/client_model v0.3.0 // indirect
141
- github.com/prometheus/common v0.42.0 // indirect
142
- github.com/prometheus/procfs v0.9.0 // indirect
143
- github.com/rakyll/statik v0.1.7 // indirect
144
- github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect
145
- github.com/regen-network/cosmos-proto v0.3.1 // indirect
146
- github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
147
- github.com/rs/cors v1.8.2 // indirect
148
- github.com/sasha-s/go-deadlock v0.3.1 // indirect
149
- github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572 // indirect
150
- github.com/spaolacci/murmur3 v1.1.0 // indirect
151
- github.com/spf13/afero v1.9.2 // indirect
152
- github.com/spf13/cast v1.5.0 // indirect
153
- github.com/spf13/cobra v1.6.1 // indirect
154
- github.com/spf13/jwalterweatherman v1.1.0 // indirect
155
- github.com/spf13/pflag v1.0.5 // indirect
156
- github.com/spf13/viper v1.14.0 // indirect
157
- github.com/subosito/gotenv v1.4.1 // indirect
158
- github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d // indirect
159
- github.com/tendermint/go-amino v0.16.0 // indirect
160
- github.com/tendermint/tendermint v0.34.29 // indirect
161
- github.com/tendermint/tm-db v0.6.7 // indirect
162
- github.com/tidwall/btree v1.5.0 // indirect
163
- github.com/ulikunitz/xz v0.5.8 // indirect
164
- github.com/vedhavyas/go-subkey v1.0.3 // indirect
165
- github.com/zondax/hid v0.9.2 // indirect
166
- github.com/zondax/ledger-go v0.14.3 // indirect
167
- go.etcd.io/bbolt v1.3.6 // indirect
168
- go.opencensus.io v0.24.0 // indirect
169
- go.uber.org/multierr v1.11.0 // indirect
170
- golang.org/x/crypto v0.15.0 // indirect
171
- golang.org/x/exp v0.0.0-20230310171629-522b1b587ee0 // indirect
172
- golang.org/x/mod v0.10.0 // indirect
173
- golang.org/x/net v0.18.0 // indirect
174
- golang.org/x/oauth2 v0.10.0 // indirect
175
- golang.org/x/sync v0.3.0 // indirect
176
- golang.org/x/sys v0.14.0 // indirect
177
- golang.org/x/term v0.14.0 // indirect
178
- golang.org/x/text v0.14.0 // indirect
179
- golang.org/x/tools v0.9.3 // indirect
180
- golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
181
- google.golang.org/api v0.126.0 // indirect
182
- google.golang.org/appengine v1.6.7 // indirect
183
- google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98 // indirect
184
- google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98 // indirect
185
- google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 // indirect
186
- google.golang.org/grpc v1.58.3 // indirect
187
- google.golang.org/protobuf v1.31.0 // indirect
188
- gopkg.in/ini.v1 v1.67.0 // indirect
189
- gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce // indirect
190
- gopkg.in/yaml.v2 v2.4.0 // indirect
191
- gopkg.in/yaml.v3 v3.0.1 // indirect
192
- lukechampine.com/blake3 v1.1.7 // indirect
193
- lukechampine.com/uint128 v1.2.0 // indirect
194
- modernc.org/cc/v3 v3.40.0 // indirect
195
- modernc.org/ccgo/v3 v3.16.13 // indirect
196
- modernc.org/libc v1.22.5 // indirect
197
- modernc.org/mathutil v1.5.0 // indirect
198
- modernc.org/memory v1.5.0 // indirect
199
- modernc.org/opt v0.1.3 // indirect
200
- modernc.org/sqlite v1.23.1 // indirect
201
- modernc.org/strutil v1.1.3 // indirect
202
- modernc.org/token v1.0.1 // indirect
203
- sigs.k8s.io/yaml v1.4.0 // indirect
204
- )
205
-
206
- // Some replace copied from https://github.com/gjermundgaraba/ibctest/blob/110aa579a5a889b2af760bed4f3d90e0d2475e7a/go.mod
207
- // Some replace from https://github.com/nymlab/cheqd-node-interchaintest/blob/main/go.mod
208
- // For agoric-labs forks, following https://stackoverflow.com/questions/72312460/how-to-replace-a-go-module-with-a-major-version-to-a-fork-master
209
- replace (
210
- github.com/ChainSafe/go-schnorrkel => github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d
211
- github.com/ChainSafe/go-schnorrkel/1 => github.com/ChainSafe/go-schnorrkel v1.0.0
212
-
213
- github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1
214
-
215
- github.com/tendermint/tendermint => github.com/cometbft/cometbft v0.34.27
216
- github.com/vedhavyas/go-subkey => github.com/strangelove-ventures/go-subkey v1.0.7
217
- )
218
-
219
- // Agoric-specific replacements:
220
- replace (
221
- // We need a fork of cosmos-sdk until all of the differences are merged.
222
- github.com/cosmos/cosmos-sdk => github.com/agoric-labs/cosmos-sdk v0.46.16-alpha.agoric.2.5
223
-
224
- // Pick up an IAVL race fix.
225
- github.com/cosmos/iavl => github.com/cosmos/iavl v0.19.7
226
-
227
- // Use a version of ibc-go that is compatible with the above forks.
228
- github.com/cosmos/ibc-go/v6 => github.com/agoric-labs/ibc-go/v6 v6.3.1-alpha.agoric.4
229
-
230
- // use cometbft
231
- // Use our fork at least until post-v0.34.14 is released with
232
- // https://github.com/tendermint/tendermint/issue/6899 resolved.
233
- // github.com/tendermint/tendermint => github.com/agoric-labs/cometbft v0.34.30-alpha.agoric.1
234
-
235
- // For testing against a local cosmos-sdk, ibc-go, or cometbft
236
- // github.com/cosmos/cosmos-sdk => ../../../forks/cosmos-sdk
237
- // github.com/cosmos/ibc-go/v6 => ../../../forks/ibc-go/v6
238
- // github.com/tendermint/tendermint => ../../../forks/cometbft
239
- )