mirror of
https://github.com/0glabs/0g-chain.git
synced 2024-12-23 23:05:18 +00:00
32 lines
1.2 KiB
Protocol Buffer
32 lines
1.2 KiB
Protocol Buffer
|
syntax = "proto3";
|
||
|
|
||
|
package ibc.applications.transfer.v1;
|
||
|
|
||
|
option go_package = "github.com/cosmos/ibc-go/v7/modules/apps/transfer/types";
|
||
|
|
||
|
import "cosmos_proto/cosmos.proto";
|
||
|
import "gogoproto/gogo.proto";
|
||
|
import "cosmos/base/v1beta1/coin.proto";
|
||
|
|
||
|
// Allocation defines the spend limit for a particular port and channel
|
||
|
message Allocation {
|
||
|
// the port on which the packet will be sent
|
||
|
string source_port = 1 [(gogoproto.moretags) = "yaml:\"source_port\""];
|
||
|
// the channel by which the packet will be sent
|
||
|
string source_channel = 2 [(gogoproto.moretags) = "yaml:\"source_channel\""];
|
||
|
// spend limitation on the channel
|
||
|
repeated cosmos.base.v1beta1.Coin spend_limit = 3
|
||
|
[(gogoproto.nullable) = false, (gogoproto.castrepeated) = "github.com/cosmos/cosmos-sdk/types.Coins"];
|
||
|
// allow list of receivers, an empty allow list permits any receiver address
|
||
|
repeated string allow_list = 4;
|
||
|
}
|
||
|
|
||
|
// TransferAuthorization allows the grantee to spend up to spend_limit coins from
|
||
|
// the granter's account for ibc transfer on a specific channel
|
||
|
message TransferAuthorization {
|
||
|
option (cosmos_proto.implements_interface) = "cosmos.authz.v1beta1.Authorization";
|
||
|
|
||
|
// port and channel amounts
|
||
|
repeated Allocation allocations = 1 [(gogoproto.nullable) = false];
|
||
|
}
|