diff --git a/cmd/tapcli/main.go b/cmd/tapcli/main.go index 27e4aa07e..13e998d85 100644 --- a/cmd/tapcli/main.go +++ b/cmd/tapcli/main.go @@ -347,7 +347,6 @@ func main() { app.Commands = append(app.Commands, proofCommands...) app.Commands = append(app.Commands, rfqCommands...) app.Commands = append(app.Commands, universeCommands...) - app.Commands = append(app.Commands, devCommands...) if err := app.Run(os.Args); err != nil { fatal(err) diff --git a/cmd/tapcli/proofs.go b/cmd/tapcli/proofs.go index 294ca7d53..b0a7ff954 100644 --- a/cmd/tapcli/proofs.go +++ b/cmd/tapcli/proofs.go @@ -23,6 +23,7 @@ var proofCommands = []cli.Command{ verifyProofCommand, decodeProofCommand, exportProofCommand, + importProofCommand, proveOwnershipCommand, verifyOwnershipCommand, }, @@ -277,6 +278,52 @@ func exportProof(ctx *cli.Context) error { return nil } +var importProofCommand = cli.Command{ + Name: "importproof", + ShortName: "i", + Usage: "import a taproot asset proof", + Description: ` + Imports a taproot asset proof that contains the full provenance of an + asset. If the asset script key of the asset is known to the lnd node + the daemon is connected to, then this results in a spendable asset being + imported into the wallet. + `, + Flags: []cli.Flag{ + cli.StringFlag{ + Name: proofPathName, + Usage: "the path to the proof file on disk; use the " + + "dash character (-) to read from stdin instead", + }, + }, + Action: importProof, +} + +func importProof(ctx *cli.Context) error { + ctxc := getContext() + client, cleanUp := getClient(ctx) + defer cleanUp() + + if ctx.String(proofPathName) == "" { + return cli.ShowSubcommandHelp(ctx) + } + + filePath := lncfg.CleanAndExpandPath(ctx.String(proofPathName)) + proofFile, err := readFile(filePath) + if err != nil { + return fmt.Errorf("unable to read proof file: %w", err) + } + + resp, err := client.ImportProof(ctxc, &taprpc.ImportProofRequest{ + ProofFile: proofFile, + }) + if err != nil { + return fmt.Errorf("unable to import proof file: %w", err) + } + + printRespJSON(resp) + return nil +} + var proveOwnershipCommand = cli.Command{ Name: "proveownership", ShortName: "po", diff --git a/cmd/tapcli/tapdevrpc_active.go b/cmd/tapcli/tapdevrpc_active.go deleted file mode 100644 index 034e45b5f..000000000 --- a/cmd/tapcli/tapdevrpc_active.go +++ /dev/null @@ -1,79 +0,0 @@ -//go:build dev - -package main - -import ( - "fmt" - - "github.com/lightninglabs/taproot-assets/taprpc/tapdevrpc" - "github.com/lightningnetwork/lnd/lncfg" - "github.com/urfave/cli" -) - -var devCommands = []cli.Command{ - { - Name: "dev", - Usage: "Developer and debug subcommands.", - Category: "Dev", - Subcommands: []cli.Command{ - importProofCommand, - }, - }, -} - -func getDevClient(ctx *cli.Context) (tapdevrpc.TapDevClient, func()) { - conn := getClientConn(ctx, false) - - cleanUp := func() { - conn.Close() - } - - return tapdevrpc.NewTapDevClient(conn), cleanUp -} - -var importProofCommand = cli.Command{ - Name: "importproof", - ShortName: "i", - Usage: "import a taproot asset proof", - Description: ` - Imports a taproot asset proof that contains the full provenance of an - asset. If the asset script key of the asset is known to the lnd node - the daemon is connected to, then this results in a spendable asset being - imported into the wallet. - `, - Flags: []cli.Flag{ - cli.StringFlag{ - Name: proofPathName, - Usage: "the path to the proof file on disk; use the " + - "dash character (-) to read from stdin instead", - }, - }, - Action: importProof, -} - -func importProof(ctx *cli.Context) error { - ctxc := getContext() - client, cleanUp := getDevClient(ctx) - defer cleanUp() - - switch { - case ctx.String(proofPathName) == "": - return cli.ShowSubcommandHelp(ctx) - } - - filePath := lncfg.CleanAndExpandPath(ctx.String(proofPathName)) - proofFile, err := readFile(filePath) - if err != nil { - return fmt.Errorf("unable to read proof file: %w", err) - } - - resp, err := client.ImportProof(ctxc, &tapdevrpc.ImportProofRequest{ - ProofFile: proofFile, - }) - if err != nil { - return fmt.Errorf("unable to import proof file: %w", err) - } - - printRespJSON(resp) - return nil -} diff --git a/cmd/tapcli/tapdevrpc_default.go b/cmd/tapcli/tapdevrpc_default.go deleted file mode 100644 index 39e25787b..000000000 --- a/cmd/tapcli/tapdevrpc_default.go +++ /dev/null @@ -1,7 +0,0 @@ -//go:build !dev - -package main - -import "github.com/urfave/cli" - -var devCommands []cli.Command = nil diff --git a/itest/addrs_test.go b/itest/addrs_test.go index c5b2853e4..c74d22f1a 100644 --- a/itest/addrs_test.go +++ b/itest/addrs_test.go @@ -19,7 +19,6 @@ import ( "github.com/lightninglabs/taproot-assets/taprpc" wrpc "github.com/lightninglabs/taproot-assets/taprpc/assetwalletrpc" "github.com/lightninglabs/taproot-assets/taprpc/mintrpc" - "github.com/lightninglabs/taproot-assets/taprpc/tapdevrpc" unirpc "github.com/lightninglabs/taproot-assets/taprpc/universerpc" "github.com/lightninglabs/taproot-assets/universe" "github.com/lightningnetwork/lnd/lntest/wait" @@ -840,7 +839,7 @@ func testUnknownTlvType(t *harnessTest) { // using the development only ImportProof RPC on the destination node. func sendProof(t *harnessTest, src, dst *tapdHarness, sendResp *taprpc.SendAssetResponse, scriptKey []byte, - genInfo *taprpc.GenesisInfo) *tapdevrpc.ImportProofResponse { + genInfo *taprpc.GenesisInfo) *taprpc.ImportProofResponse { proofResp := exportProof(t, src, sendResp, scriptKey, genInfo) return importProof(t, dst, proofResp.RawProofFile, genInfo.GenesisPoint) @@ -892,12 +891,12 @@ func exportProof(t *harnessTest, src *tapdHarness, // importProof manually imports a proof using the development only ImportProof // RPC. func importProof(t *harnessTest, dst *tapdHarness, rawFile []byte, - genesisPoint string) *tapdevrpc.ImportProofResponse { + genesisPoint string) *taprpc.ImportProofResponse { t.Logf("Importing proof %x", rawFile) ctxb := context.Background() - importResp, err := dst.ImportProof(ctxb, &tapdevrpc.ImportProofRequest{ + importResp, err := dst.ImportProof(ctxb, &taprpc.ImportProofRequest{ ProofFile: rawFile, GenesisPoint: genesisPoint, }) @@ -910,7 +909,7 @@ func importProof(t *harnessTest, dst *tapdHarness, rawFile []byte, // universe RPCs and then imports it into the destination node. func sendUniProof(t *harnessTest, src, dst *tapdHarness, scriptKey []byte, genInfo *taprpc.GenesisInfo, group *taprpc.AssetGroup, - outpoint string) *tapdevrpc.ImportProofResponse { + outpoint string) *taprpc.ImportProofResponse { ctxb := context.Background() ctxt, cancel := context.WithTimeout(ctxb, defaultWaitTimeout) @@ -990,7 +989,7 @@ func sendUniProof(t *harnessTest, src, dst *tapdHarness, scriptKey []byte, t.Logf("Importing proof %x", buf.Bytes()) - importResp, err := dst.ImportProof(ctxb, &tapdevrpc.ImportProofRequest{ + importResp, err := dst.ImportProof(ctxb, &taprpc.ImportProofRequest{ ProofFile: buf.Bytes(), GenesisPoint: genInfo.GenesisPoint, }) diff --git a/itest/assets_test.go b/itest/assets_test.go index a5f9496c1..f887eccd2 100644 --- a/itest/assets_test.go +++ b/itest/assets_test.go @@ -21,7 +21,6 @@ import ( "github.com/lightninglabs/taproot-assets/taprpc" wrpc "github.com/lightninglabs/taproot-assets/taprpc/assetwalletrpc" "github.com/lightninglabs/taproot-assets/taprpc/mintrpc" - "github.com/lightninglabs/taproot-assets/taprpc/tapdevrpc" "github.com/lightningnetwork/lnd/lnrpc" "github.com/lightningnetwork/lnd/lnrpc/walletrpc" "github.com/stretchr/testify/require" @@ -229,7 +228,7 @@ func transferAssetProofs(t *harnessTest, src, dst *tapdHarness, proofFile := AssertAssetProofs( t.t, src, chainClient, existingAsset, ) - _, err := dst.ImportProof(ctxt, &tapdevrpc.ImportProofRequest{ + _, err := dst.ImportProof(ctxt, &taprpc.ImportProofRequest{ ProofFile: proofFile, GenesisPoint: gen.GenesisPoint, }) diff --git a/itest/utils.go b/itest/utils.go index b70a0affd..080b447e9 100644 --- a/itest/utils.go +++ b/itest/utils.go @@ -507,7 +507,7 @@ func ConfirmBatch(t *testing.T, minerClient *rpcclient.Client, func ManualMintSimpleAsset(t *harnessTest, lndNode *node.HarnessNode, tapClient *tapdHarness, commitVersion commitment.TapCommitmentVersion, - req *mintrpc.MintAsset) (*taprpc.Asset, *tapdevrpc.ImportProofRequest) { + req *mintrpc.MintAsset) (*taprpc.Asset, *taprpc.ImportProofRequest) { ctxb := context.Background() ctxt, cancel := context.WithTimeout(ctxb, defaultWaitTimeout) @@ -668,7 +668,7 @@ func ManualMintSimpleAsset(t *harnessTest, lndNode *node.HarnessNode, require.NoError(t.t, err) require.True(t.t, proof.IsProofFile(proofBlob)) - importReq := tapdevrpc.ImportProofRequest{ + importReq := taprpc.ImportProofRequest{ ProofFile: proofBlob, GenesisPoint: genesisOutpoint.String(), } diff --git a/perms/perms.go b/perms/perms.go index 8fd2214f5..cad0b7966 100644 --- a/perms/perms.go +++ b/perms/perms.go @@ -88,6 +88,10 @@ var ( Entity: "assets", Action: "read", }}, + "/taprpc.TaprootAssets/ImportProof": {{ + Entity: "proofs", + Action: "write", + }}, "/assetwalletrpc.AssetWallet/FundVirtualPsbt": {{ Entity: "assets", Action: "write", @@ -280,10 +284,6 @@ var ( // This RPC is completely stateless and doesn't require // any permissions to use. }, - "/tapdevrpc.TapDev/ImportProof": {{ - Entity: "proofs", - Action: "write", - }}, "/tapdevrpc.TapDev/SubscribeSendAssetEventNtfns": {{ Entity: "assets", Action: "write", diff --git a/rpcserver.go b/rpcserver.go index 6c47fa6e5..c9d52c269 100644 --- a/rpcserver.go +++ b/rpcserver.go @@ -1899,7 +1899,7 @@ func (r *rpcServer) ExportProof(ctx context.Context, // new asset will be inserted on disk, spendable using the specified target // script key, and internal key. func (r *rpcServer) ImportProof(ctx context.Context, - req *tapdevrpc.ImportProofRequest) (*tapdevrpc.ImportProofResponse, + req *taprpc.ImportProofRequest) (*taprpc.ImportProofResponse, error) { // We'll perform some basic input validation before we move forward. @@ -1939,7 +1939,7 @@ func (r *rpcServer) ImportProof(ctx context.Context, return nil, err } - return &tapdevrpc.ImportProofResponse{}, nil + return &taprpc.ImportProofResponse{}, nil } // AddrReceives lists all receives for incoming asset transfers for addresses diff --git a/taprpc/gen_protos.sh b/taprpc/gen_protos.sh index 46d8f5ae0..fc282c763 100755 --- a/taprpc/gen_protos.sh +++ b/taprpc/gen_protos.sh @@ -26,6 +26,7 @@ tapchannelrpc/tapchannel.proto" # Generate the REST reverse proxy. annotationsFile=${file//proto/yaml} + echo $annotationsFile protoc -I/usr/local/include -I. \ -I/tmp/build/.modcache/github.com/lightningnetwork/lnd@${LND_VERSION}/lnrpc \ --grpc-gateway_out . \ diff --git a/taprpc/tapdevrpc/tapdev.pb.go b/taprpc/tapdevrpc/tapdev.pb.go index bf11da59d..b8ac3080f 100644 --- a/taprpc/tapdevrpc/tapdev.pb.go +++ b/taprpc/tapdevrpc/tapdev.pb.go @@ -75,99 +75,6 @@ func (ProofTransferType) EnumDescriptor() ([]byte, []int) { return file_tapdevrpc_tapdev_proto_rawDescGZIP(), []int{0} } -type ImportProofRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ProofFile []byte `protobuf:"bytes,1,opt,name=proof_file,json=proofFile,proto3" json:"proof_file,omitempty"` - GenesisPoint string `protobuf:"bytes,2,opt,name=genesis_point,json=genesisPoint,proto3" json:"genesis_point,omitempty"` -} - -func (x *ImportProofRequest) Reset() { - *x = ImportProofRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_tapdevrpc_tapdev_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ImportProofRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ImportProofRequest) ProtoMessage() {} - -func (x *ImportProofRequest) ProtoReflect() protoreflect.Message { - mi := &file_tapdevrpc_tapdev_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ImportProofRequest.ProtoReflect.Descriptor instead. -func (*ImportProofRequest) Descriptor() ([]byte, []int) { - return file_tapdevrpc_tapdev_proto_rawDescGZIP(), []int{0} -} - -func (x *ImportProofRequest) GetProofFile() []byte { - if x != nil { - return x.ProofFile - } - return nil -} - -func (x *ImportProofRequest) GetGenesisPoint() string { - if x != nil { - return x.GenesisPoint - } - return "" -} - -type ImportProofResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *ImportProofResponse) Reset() { - *x = ImportProofResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_tapdevrpc_tapdev_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ImportProofResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ImportProofResponse) ProtoMessage() {} - -func (x *ImportProofResponse) ProtoReflect() protoreflect.Message { - mi := &file_tapdevrpc_tapdev_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ImportProofResponse.ProtoReflect.Descriptor instead. -func (*ImportProofResponse) Descriptor() ([]byte, []int) { - return file_tapdevrpc_tapdev_proto_rawDescGZIP(), []int{1} -} - type SubscribeSendAssetEventNtfnsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -177,7 +84,7 @@ type SubscribeSendAssetEventNtfnsRequest struct { func (x *SubscribeSendAssetEventNtfnsRequest) Reset() { *x = SubscribeSendAssetEventNtfnsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_tapdevrpc_tapdev_proto_msgTypes[2] + mi := &file_tapdevrpc_tapdev_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -190,7 +97,7 @@ func (x *SubscribeSendAssetEventNtfnsRequest) String() string { func (*SubscribeSendAssetEventNtfnsRequest) ProtoMessage() {} func (x *SubscribeSendAssetEventNtfnsRequest) ProtoReflect() protoreflect.Message { - mi := &file_tapdevrpc_tapdev_proto_msgTypes[2] + mi := &file_tapdevrpc_tapdev_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -203,7 +110,7 @@ func (x *SubscribeSendAssetEventNtfnsRequest) ProtoReflect() protoreflect.Messag // Deprecated: Use SubscribeSendAssetEventNtfnsRequest.ProtoReflect.Descriptor instead. func (*SubscribeSendAssetEventNtfnsRequest) Descriptor() ([]byte, []int) { - return file_tapdevrpc_tapdev_proto_rawDescGZIP(), []int{2} + return file_tapdevrpc_tapdev_proto_rawDescGZIP(), []int{0} } type SendAssetEvent struct { @@ -221,7 +128,7 @@ type SendAssetEvent struct { func (x *SendAssetEvent) Reset() { *x = SendAssetEvent{} if protoimpl.UnsafeEnabled { - mi := &file_tapdevrpc_tapdev_proto_msgTypes[3] + mi := &file_tapdevrpc_tapdev_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -234,7 +141,7 @@ func (x *SendAssetEvent) String() string { func (*SendAssetEvent) ProtoMessage() {} func (x *SendAssetEvent) ProtoReflect() protoreflect.Message { - mi := &file_tapdevrpc_tapdev_proto_msgTypes[3] + mi := &file_tapdevrpc_tapdev_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -247,7 +154,7 @@ func (x *SendAssetEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use SendAssetEvent.ProtoReflect.Descriptor instead. func (*SendAssetEvent) Descriptor() ([]byte, []int) { - return file_tapdevrpc_tapdev_proto_rawDescGZIP(), []int{3} + return file_tapdevrpc_tapdev_proto_rawDescGZIP(), []int{1} } func (m *SendAssetEvent) GetEvent() isSendAssetEvent_Event { @@ -304,7 +211,7 @@ type ExecuteSendStateEvent struct { func (x *ExecuteSendStateEvent) Reset() { *x = ExecuteSendStateEvent{} if protoimpl.UnsafeEnabled { - mi := &file_tapdevrpc_tapdev_proto_msgTypes[4] + mi := &file_tapdevrpc_tapdev_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -317,7 +224,7 @@ func (x *ExecuteSendStateEvent) String() string { func (*ExecuteSendStateEvent) ProtoMessage() {} func (x *ExecuteSendStateEvent) ProtoReflect() protoreflect.Message { - mi := &file_tapdevrpc_tapdev_proto_msgTypes[4] + mi := &file_tapdevrpc_tapdev_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -330,7 +237,7 @@ func (x *ExecuteSendStateEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use ExecuteSendStateEvent.ProtoReflect.Descriptor instead. func (*ExecuteSendStateEvent) Descriptor() ([]byte, []int) { - return file_tapdevrpc_tapdev_proto_rawDescGZIP(), []int{4} + return file_tapdevrpc_tapdev_proto_rawDescGZIP(), []int{2} } func (x *ExecuteSendStateEvent) GetTimestamp() int64 { @@ -367,7 +274,7 @@ type ProofTransferBackoffWaitEvent struct { func (x *ProofTransferBackoffWaitEvent) Reset() { *x = ProofTransferBackoffWaitEvent{} if protoimpl.UnsafeEnabled { - mi := &file_tapdevrpc_tapdev_proto_msgTypes[5] + mi := &file_tapdevrpc_tapdev_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -380,7 +287,7 @@ func (x *ProofTransferBackoffWaitEvent) String() string { func (*ProofTransferBackoffWaitEvent) ProtoMessage() {} func (x *ProofTransferBackoffWaitEvent) ProtoReflect() protoreflect.Message { - mi := &file_tapdevrpc_tapdev_proto_msgTypes[5] + mi := &file_tapdevrpc_tapdev_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -393,7 +300,7 @@ func (x *ProofTransferBackoffWaitEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use ProofTransferBackoffWaitEvent.ProtoReflect.Descriptor instead. func (*ProofTransferBackoffWaitEvent) Descriptor() ([]byte, []int) { - return file_tapdevrpc_tapdev_proto_rawDescGZIP(), []int{5} + return file_tapdevrpc_tapdev_proto_rawDescGZIP(), []int{3} } func (x *ProofTransferBackoffWaitEvent) GetTimestamp() int64 { @@ -433,7 +340,7 @@ type SubscribeReceiveAssetEventNtfnsRequest struct { func (x *SubscribeReceiveAssetEventNtfnsRequest) Reset() { *x = SubscribeReceiveAssetEventNtfnsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_tapdevrpc_tapdev_proto_msgTypes[6] + mi := &file_tapdevrpc_tapdev_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -446,7 +353,7 @@ func (x *SubscribeReceiveAssetEventNtfnsRequest) String() string { func (*SubscribeReceiveAssetEventNtfnsRequest) ProtoMessage() {} func (x *SubscribeReceiveAssetEventNtfnsRequest) ProtoReflect() protoreflect.Message { - mi := &file_tapdevrpc_tapdev_proto_msgTypes[6] + mi := &file_tapdevrpc_tapdev_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -459,7 +366,7 @@ func (x *SubscribeReceiveAssetEventNtfnsRequest) ProtoReflect() protoreflect.Mes // Deprecated: Use SubscribeReceiveAssetEventNtfnsRequest.ProtoReflect.Descriptor instead. func (*SubscribeReceiveAssetEventNtfnsRequest) Descriptor() ([]byte, []int) { - return file_tapdevrpc_tapdev_proto_rawDescGZIP(), []int{6} + return file_tapdevrpc_tapdev_proto_rawDescGZIP(), []int{4} } type AssetReceiveCompleteEvent struct { @@ -478,7 +385,7 @@ type AssetReceiveCompleteEvent struct { func (x *AssetReceiveCompleteEvent) Reset() { *x = AssetReceiveCompleteEvent{} if protoimpl.UnsafeEnabled { - mi := &file_tapdevrpc_tapdev_proto_msgTypes[7] + mi := &file_tapdevrpc_tapdev_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -491,7 +398,7 @@ func (x *AssetReceiveCompleteEvent) String() string { func (*AssetReceiveCompleteEvent) ProtoMessage() {} func (x *AssetReceiveCompleteEvent) ProtoReflect() protoreflect.Message { - mi := &file_tapdevrpc_tapdev_proto_msgTypes[7] + mi := &file_tapdevrpc_tapdev_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -504,7 +411,7 @@ func (x *AssetReceiveCompleteEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use AssetReceiveCompleteEvent.ProtoReflect.Descriptor instead. func (*AssetReceiveCompleteEvent) Descriptor() ([]byte, []int) { - return file_tapdevrpc_tapdev_proto_rawDescGZIP(), []int{7} + return file_tapdevrpc_tapdev_proto_rawDescGZIP(), []int{5} } func (x *AssetReceiveCompleteEvent) GetTimestamp() int64 { @@ -543,7 +450,7 @@ type ReceiveAssetEvent struct { func (x *ReceiveAssetEvent) Reset() { *x = ReceiveAssetEvent{} if protoimpl.UnsafeEnabled { - mi := &file_tapdevrpc_tapdev_proto_msgTypes[8] + mi := &file_tapdevrpc_tapdev_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -556,7 +463,7 @@ func (x *ReceiveAssetEvent) String() string { func (*ReceiveAssetEvent) ProtoMessage() {} func (x *ReceiveAssetEvent) ProtoReflect() protoreflect.Message { - mi := &file_tapdevrpc_tapdev_proto_msgTypes[8] + mi := &file_tapdevrpc_tapdev_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -569,7 +476,7 @@ func (x *ReceiveAssetEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use ReceiveAssetEvent.ProtoReflect.Descriptor instead. func (*ReceiveAssetEvent) Descriptor() ([]byte, []int) { - return file_tapdevrpc_tapdev_proto_rawDescGZIP(), []int{8} + return file_tapdevrpc_tapdev_proto_rawDescGZIP(), []int{6} } func (m *ReceiveAssetEvent) GetEvent() isReceiveAssetEvent_Event { @@ -618,105 +525,93 @@ var file_tapdevrpc_tapdev_proto_rawDesc = []byte{ 0x0a, 0x16, 0x74, 0x61, 0x70, 0x64, 0x65, 0x76, 0x72, 0x70, 0x63, 0x2f, 0x74, 0x61, 0x70, 0x64, 0x65, 0x76, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x09, 0x74, 0x61, 0x70, 0x64, 0x65, 0x76, 0x72, 0x70, 0x63, 0x1a, 0x13, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x6f, 0x74, 0x61, 0x73, 0x73, 0x65, - 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x58, 0x0a, 0x12, 0x49, 0x6d, 0x70, 0x6f, - 0x72, 0x74, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, - 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x23, 0x0a, - 0x0d, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x50, 0x6f, 0x69, - 0x6e, 0x74, 0x22, 0x15, 0x0a, 0x13, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x6f, - 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x0a, 0x23, 0x53, 0x75, 0x62, - 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x53, 0x65, 0x6e, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x74, 0x66, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x22, 0xec, 0x01, 0x0a, 0x0e, 0x53, 0x65, 0x6e, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x45, 0x76, - 0x65, 0x6e, 0x74, 0x12, 0x5b, 0x0a, 0x18, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x5f, 0x73, - 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x74, 0x61, 0x70, 0x64, 0x65, 0x76, 0x72, 0x70, - 0x63, 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x15, 0x65, 0x78, 0x65, 0x63, 0x75, - 0x74, 0x65, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x12, 0x74, 0x0a, 0x21, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, - 0x65, 0x72, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x5f, 0x77, 0x61, 0x69, 0x74, 0x5f, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x74, 0x61, - 0x70, 0x64, 0x65, 0x76, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x54, 0x72, 0x61, + 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x25, 0x0a, 0x23, 0x53, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x62, 0x65, 0x53, 0x65, 0x6e, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x4e, 0x74, 0x66, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, + 0xec, 0x01, 0x0a, 0x0e, 0x53, 0x65, 0x6e, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x45, 0x76, 0x65, + 0x6e, 0x74, 0x12, 0x5b, 0x0a, 0x18, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x5f, 0x73, 0x65, + 0x6e, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x74, 0x61, 0x70, 0x64, 0x65, 0x76, 0x72, 0x70, 0x63, + 0x2e, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x15, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, + 0x65, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x74, 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, + 0x74, 0x0a, 0x21, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, + 0x72, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x5f, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x74, 0x61, 0x70, + 0x64, 0x65, 0x76, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x65, 0x72, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x57, 0x61, 0x69, 0x74, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x1d, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x57, 0x61, 0x69, 0x74, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x1d, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x54, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x57, 0x61, 0x69, - 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, - 0x54, 0x0a, 0x15, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x74, - 0x61, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x6e, 0x64, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x22, 0xbf, 0x01, 0x0a, 0x1d, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x57, 0x61, - 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x54, + 0x0a, 0x15, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x12, - 0x23, 0x0a, 0x0d, 0x74, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x74, 0x72, 0x69, 0x65, 0x73, 0x43, 0x6f, 0x75, - 0x6e, 0x74, 0x65, 0x72, 0x12, 0x41, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x74, 0x61, - 0x70, 0x64, 0x65, 0x76, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x54, 0x72, 0x61, - 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x66, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x22, 0x28, 0x0a, 0x26, 0x53, 0x75, 0x62, 0x73, 0x63, - 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x74, 0x66, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x22, 0x7d, 0x0a, 0x19, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, - 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1c, - 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x26, 0x0a, 0x07, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, - 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x52, 0x07, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x22, 0xfb, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x41, 0x73, 0x73, 0x65, - 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x74, 0x0a, 0x21, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x5f, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, - 0x5f, 0x77, 0x61, 0x69, 0x74, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x28, 0x2e, 0x74, 0x61, 0x70, 0x64, 0x65, 0x76, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x22, 0xbf, 0x01, 0x0a, 0x1d, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x54, 0x72, + 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x57, 0x61, 0x69, + 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x12, 0x23, + 0x0a, 0x0d, 0x74, 0x72, 0x69, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x65, 0x72, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x74, 0x72, 0x69, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x65, 0x72, 0x12, 0x41, 0x0a, 0x0d, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x74, 0x61, 0x70, + 0x64, 0x65, 0x76, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x22, 0x28, 0x0a, 0x26, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, + 0x69, 0x62, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x74, 0x66, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x22, 0x7d, 0x0a, 0x19, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, + 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x26, 0x0a, 0x07, 0x61, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x74, + 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x75, 0x74, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, + 0xfb, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x74, 0x0a, 0x21, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x5f, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x6f, 0x66, 0x66, 0x5f, + 0x77, 0x61, 0x69, 0x74, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x28, 0x2e, 0x74, 0x61, 0x70, 0x64, 0x65, 0x76, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, 0x6f, + 0x6f, 0x66, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x42, 0x61, 0x63, 0x6b, 0x6f, 0x66, + 0x66, 0x57, 0x61, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x1d, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x42, 0x61, 0x63, 0x6b, 0x6f, - 0x66, 0x66, 0x57, 0x61, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x1d, 0x70, - 0x72, 0x6f, 0x6f, 0x66, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x42, 0x61, 0x63, 0x6b, - 0x6f, 0x66, 0x66, 0x57, 0x61, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x67, 0x0a, 0x1c, - 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, - 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x74, 0x61, 0x70, 0x64, 0x65, 0x76, 0x72, 0x70, 0x63, 0x2e, 0x41, - 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6c, - 0x65, 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x19, 0x61, 0x73, 0x73, 0x65, - 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2a, 0x52, - 0x0a, 0x11, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x5f, 0x54, 0x52, 0x41, - 0x4e, 0x53, 0x46, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x10, - 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, - 0x46, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x43, 0x45, 0x49, 0x56, 0x45, - 0x10, 0x01, 0x32, 0xb9, 0x02, 0x0a, 0x06, 0x54, 0x61, 0x70, 0x44, 0x65, 0x76, 0x12, 0x4c, 0x0a, - 0x0b, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x12, 0x1d, 0x2e, 0x74, - 0x61, 0x70, 0x64, 0x65, 0x76, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, - 0x72, 0x6f, 0x6f, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x74, 0x61, - 0x70, 0x64, 0x65, 0x76, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, - 0x6f, 0x6f, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x1c, 0x53, - 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x53, 0x65, 0x6e, 0x64, 0x41, 0x73, 0x73, 0x65, - 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x74, 0x66, 0x6e, 0x73, 0x12, 0x2e, 0x2e, 0x74, 0x61, - 0x70, 0x64, 0x65, 0x76, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, - 0x65, 0x53, 0x65, 0x6e, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4e, - 0x74, 0x66, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x74, 0x61, - 0x70, 0x64, 0x65, 0x76, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x41, 0x73, 0x73, 0x65, - 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x30, 0x01, 0x12, 0x74, 0x0a, 0x1f, 0x53, 0x75, 0x62, 0x73, - 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x41, 0x73, 0x73, 0x65, - 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x74, 0x66, 0x6e, 0x73, 0x12, 0x31, 0x2e, 0x74, 0x61, - 0x70, 0x64, 0x65, 0x76, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, - 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x4e, 0x74, 0x66, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, - 0x2e, 0x74, 0x61, 0x70, 0x64, 0x65, 0x76, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, - 0x76, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x30, 0x01, 0x42, 0x3a, - 0x5a, 0x38, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x67, - 0x68, 0x74, 0x6e, 0x69, 0x6e, 0x67, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x74, 0x61, 0x70, 0x72, 0x6f, - 0x6f, 0x74, 0x2d, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, - 0x2f, 0x74, 0x61, 0x70, 0x64, 0x65, 0x76, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x66, 0x66, 0x57, 0x61, 0x69, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x67, 0x0a, 0x1c, 0x61, + 0x73, 0x73, 0x65, 0x74, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x5f, 0x63, 0x6f, 0x6d, + 0x70, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x24, 0x2e, 0x74, 0x61, 0x70, 0x64, 0x65, 0x76, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x73, + 0x73, 0x65, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, + 0x74, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x19, 0x61, 0x73, 0x73, 0x65, 0x74, + 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x45, + 0x76, 0x65, 0x6e, 0x74, 0x42, 0x07, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x2a, 0x52, 0x0a, + 0x11, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x5f, 0x54, 0x52, 0x41, 0x4e, + 0x53, 0x46, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x45, 0x4e, 0x44, 0x10, 0x00, + 0x12, 0x1f, 0x0a, 0x1b, 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, + 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x43, 0x45, 0x49, 0x56, 0x45, 0x10, + 0x01, 0x32, 0xeb, 0x01, 0x0a, 0x06, 0x54, 0x61, 0x70, 0x44, 0x65, 0x76, 0x12, 0x6b, 0x0a, 0x1c, + 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x53, 0x65, 0x6e, 0x64, 0x41, 0x73, 0x73, + 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x74, 0x66, 0x6e, 0x73, 0x12, 0x2e, 0x2e, 0x74, + 0x61, 0x70, 0x64, 0x65, 0x76, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x62, 0x65, 0x53, 0x65, 0x6e, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x4e, 0x74, 0x66, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x74, + 0x61, 0x70, 0x64, 0x65, 0x76, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x41, 0x73, 0x73, + 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x30, 0x01, 0x12, 0x74, 0x0a, 0x1f, 0x53, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x41, 0x73, 0x73, + 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4e, 0x74, 0x66, 0x6e, 0x73, 0x12, 0x31, 0x2e, 0x74, + 0x61, 0x70, 0x64, 0x65, 0x76, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x62, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x45, 0x76, + 0x65, 0x6e, 0x74, 0x4e, 0x74, 0x66, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1c, 0x2e, 0x74, 0x61, 0x70, 0x64, 0x65, 0x76, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x63, 0x65, + 0x69, 0x76, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x30, 0x01, 0x42, + 0x3a, 0x5a, 0x38, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, + 0x67, 0x68, 0x74, 0x6e, 0x69, 0x6e, 0x67, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x74, 0x61, 0x70, 0x72, + 0x6f, 0x6f, 0x74, 0x2d, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x74, 0x61, 0x70, 0x72, 0x70, + 0x63, 0x2f, 0x74, 0x61, 0x70, 0x64, 0x65, 0x76, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( @@ -732,38 +627,34 @@ func file_tapdevrpc_tapdev_proto_rawDescGZIP() []byte { } var file_tapdevrpc_tapdev_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_tapdevrpc_tapdev_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_tapdevrpc_tapdev_proto_msgTypes = make([]protoimpl.MessageInfo, 7) var file_tapdevrpc_tapdev_proto_goTypes = []interface{}{ (ProofTransferType)(0), // 0: tapdevrpc.ProofTransferType - (*ImportProofRequest)(nil), // 1: tapdevrpc.ImportProofRequest - (*ImportProofResponse)(nil), // 2: tapdevrpc.ImportProofResponse - (*SubscribeSendAssetEventNtfnsRequest)(nil), // 3: tapdevrpc.SubscribeSendAssetEventNtfnsRequest - (*SendAssetEvent)(nil), // 4: tapdevrpc.SendAssetEvent - (*ExecuteSendStateEvent)(nil), // 5: tapdevrpc.ExecuteSendStateEvent - (*ProofTransferBackoffWaitEvent)(nil), // 6: tapdevrpc.ProofTransferBackoffWaitEvent - (*SubscribeReceiveAssetEventNtfnsRequest)(nil), // 7: tapdevrpc.SubscribeReceiveAssetEventNtfnsRequest - (*AssetReceiveCompleteEvent)(nil), // 8: tapdevrpc.AssetReceiveCompleteEvent - (*ReceiveAssetEvent)(nil), // 9: tapdevrpc.ReceiveAssetEvent - (*taprpc.Addr)(nil), // 10: taprpc.Addr + (*SubscribeSendAssetEventNtfnsRequest)(nil), // 1: tapdevrpc.SubscribeSendAssetEventNtfnsRequest + (*SendAssetEvent)(nil), // 2: tapdevrpc.SendAssetEvent + (*ExecuteSendStateEvent)(nil), // 3: tapdevrpc.ExecuteSendStateEvent + (*ProofTransferBackoffWaitEvent)(nil), // 4: tapdevrpc.ProofTransferBackoffWaitEvent + (*SubscribeReceiveAssetEventNtfnsRequest)(nil), // 5: tapdevrpc.SubscribeReceiveAssetEventNtfnsRequest + (*AssetReceiveCompleteEvent)(nil), // 6: tapdevrpc.AssetReceiveCompleteEvent + (*ReceiveAssetEvent)(nil), // 7: tapdevrpc.ReceiveAssetEvent + (*taprpc.Addr)(nil), // 8: taprpc.Addr } var file_tapdevrpc_tapdev_proto_depIdxs = []int32{ - 5, // 0: tapdevrpc.SendAssetEvent.execute_send_state_event:type_name -> tapdevrpc.ExecuteSendStateEvent - 6, // 1: tapdevrpc.SendAssetEvent.proof_transfer_backoff_wait_event:type_name -> tapdevrpc.ProofTransferBackoffWaitEvent - 0, // 2: tapdevrpc.ProofTransferBackoffWaitEvent.transfer_type:type_name -> tapdevrpc.ProofTransferType - 10, // 3: tapdevrpc.AssetReceiveCompleteEvent.address:type_name -> taprpc.Addr - 6, // 4: tapdevrpc.ReceiveAssetEvent.proof_transfer_backoff_wait_event:type_name -> tapdevrpc.ProofTransferBackoffWaitEvent - 8, // 5: tapdevrpc.ReceiveAssetEvent.asset_receive_complete_event:type_name -> tapdevrpc.AssetReceiveCompleteEvent - 1, // 6: tapdevrpc.TapDev.ImportProof:input_type -> tapdevrpc.ImportProofRequest - 3, // 7: tapdevrpc.TapDev.SubscribeSendAssetEventNtfns:input_type -> tapdevrpc.SubscribeSendAssetEventNtfnsRequest - 7, // 8: tapdevrpc.TapDev.SubscribeReceiveAssetEventNtfns:input_type -> tapdevrpc.SubscribeReceiveAssetEventNtfnsRequest - 2, // 9: tapdevrpc.TapDev.ImportProof:output_type -> tapdevrpc.ImportProofResponse - 4, // 10: tapdevrpc.TapDev.SubscribeSendAssetEventNtfns:output_type -> tapdevrpc.SendAssetEvent - 9, // 11: tapdevrpc.TapDev.SubscribeReceiveAssetEventNtfns:output_type -> tapdevrpc.ReceiveAssetEvent - 9, // [9:12] is the sub-list for method output_type - 6, // [6:9] is the sub-list for method input_type - 6, // [6:6] is the sub-list for extension type_name - 6, // [6:6] is the sub-list for extension extendee - 0, // [0:6] is the sub-list for field type_name + 3, // 0: tapdevrpc.SendAssetEvent.execute_send_state_event:type_name -> tapdevrpc.ExecuteSendStateEvent + 4, // 1: tapdevrpc.SendAssetEvent.proof_transfer_backoff_wait_event:type_name -> tapdevrpc.ProofTransferBackoffWaitEvent + 0, // 2: tapdevrpc.ProofTransferBackoffWaitEvent.transfer_type:type_name -> tapdevrpc.ProofTransferType + 8, // 3: tapdevrpc.AssetReceiveCompleteEvent.address:type_name -> taprpc.Addr + 4, // 4: tapdevrpc.ReceiveAssetEvent.proof_transfer_backoff_wait_event:type_name -> tapdevrpc.ProofTransferBackoffWaitEvent + 6, // 5: tapdevrpc.ReceiveAssetEvent.asset_receive_complete_event:type_name -> tapdevrpc.AssetReceiveCompleteEvent + 1, // 6: tapdevrpc.TapDev.SubscribeSendAssetEventNtfns:input_type -> tapdevrpc.SubscribeSendAssetEventNtfnsRequest + 5, // 7: tapdevrpc.TapDev.SubscribeReceiveAssetEventNtfns:input_type -> tapdevrpc.SubscribeReceiveAssetEventNtfnsRequest + 2, // 8: tapdevrpc.TapDev.SubscribeSendAssetEventNtfns:output_type -> tapdevrpc.SendAssetEvent + 7, // 9: tapdevrpc.TapDev.SubscribeReceiveAssetEventNtfns:output_type -> tapdevrpc.ReceiveAssetEvent + 8, // [8:10] is the sub-list for method output_type + 6, // [6:8] is the sub-list for method input_type + 6, // [6:6] is the sub-list for extension type_name + 6, // [6:6] is the sub-list for extension extendee + 0, // [0:6] is the sub-list for field type_name } func init() { file_tapdevrpc_tapdev_proto_init() } @@ -773,30 +664,6 @@ func file_tapdevrpc_tapdev_proto_init() { } if !protoimpl.UnsafeEnabled { file_tapdevrpc_tapdev_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ImportProofRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_tapdevrpc_tapdev_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ImportProofResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_tapdevrpc_tapdev_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubscribeSendAssetEventNtfnsRequest); i { case 0: return &v.state @@ -808,7 +675,7 @@ func file_tapdevrpc_tapdev_proto_init() { return nil } } - file_tapdevrpc_tapdev_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_tapdevrpc_tapdev_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SendAssetEvent); i { case 0: return &v.state @@ -820,7 +687,7 @@ func file_tapdevrpc_tapdev_proto_init() { return nil } } - file_tapdevrpc_tapdev_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_tapdevrpc_tapdev_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ExecuteSendStateEvent); i { case 0: return &v.state @@ -832,7 +699,7 @@ func file_tapdevrpc_tapdev_proto_init() { return nil } } - file_tapdevrpc_tapdev_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_tapdevrpc_tapdev_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProofTransferBackoffWaitEvent); i { case 0: return &v.state @@ -844,7 +711,7 @@ func file_tapdevrpc_tapdev_proto_init() { return nil } } - file_tapdevrpc_tapdev_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_tapdevrpc_tapdev_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*SubscribeReceiveAssetEventNtfnsRequest); i { case 0: return &v.state @@ -856,7 +723,7 @@ func file_tapdevrpc_tapdev_proto_init() { return nil } } - file_tapdevrpc_tapdev_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_tapdevrpc_tapdev_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*AssetReceiveCompleteEvent); i { case 0: return &v.state @@ -868,7 +735,7 @@ func file_tapdevrpc_tapdev_proto_init() { return nil } } - file_tapdevrpc_tapdev_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_tapdevrpc_tapdev_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ReceiveAssetEvent); i { case 0: return &v.state @@ -881,11 +748,11 @@ func file_tapdevrpc_tapdev_proto_init() { } } } - file_tapdevrpc_tapdev_proto_msgTypes[3].OneofWrappers = []interface{}{ + file_tapdevrpc_tapdev_proto_msgTypes[1].OneofWrappers = []interface{}{ (*SendAssetEvent_ExecuteSendStateEvent)(nil), (*SendAssetEvent_ProofTransferBackoffWaitEvent)(nil), } - file_tapdevrpc_tapdev_proto_msgTypes[8].OneofWrappers = []interface{}{ + file_tapdevrpc_tapdev_proto_msgTypes[6].OneofWrappers = []interface{}{ (*ReceiveAssetEvent_ProofTransferBackoffWaitEvent)(nil), (*ReceiveAssetEvent_AssetReceiveCompleteEvent)(nil), } @@ -895,7 +762,7 @@ func file_tapdevrpc_tapdev_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_tapdevrpc_tapdev_proto_rawDesc, NumEnums: 1, - NumMessages: 9, + NumMessages: 7, NumExtensions: 0, NumServices: 1, }, diff --git a/taprpc/tapdevrpc/tapdev.pb.gw.go b/taprpc/tapdevrpc/tapdev.pb.gw.go deleted file mode 100644 index fa118df78..000000000 --- a/taprpc/tapdevrpc/tapdev.pb.gw.go +++ /dev/null @@ -1,167 +0,0 @@ -// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. -// source: tapdevrpc/tapdev.proto - -/* -Package tapdevrpc is a reverse proxy. - -It translates gRPC into RESTful JSON APIs. -*/ -package tapdevrpc - -import ( - "context" - "io" - "net/http" - - "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" - "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" - "google.golang.org/grpc" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/grpclog" - "google.golang.org/grpc/metadata" - "google.golang.org/grpc/status" - "google.golang.org/protobuf/proto" -) - -// Suppress "imported and not used" errors -var _ codes.Code -var _ io.Reader -var _ status.Status -var _ = runtime.String -var _ = utilities.NewDoubleArray -var _ = metadata.Join - -func request_TapDev_ImportProof_0(ctx context.Context, marshaler runtime.Marshaler, client TapDevClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ImportProofRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.ImportProof(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_TapDev_ImportProof_0(ctx context.Context, marshaler runtime.Marshaler, server TapDevServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ImportProofRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.ImportProof(ctx, &protoReq) - return msg, metadata, err - -} - -// RegisterTapDevHandlerServer registers the http handlers for service TapDev to "mux". -// UnaryRPC :call TapDevServer directly. -// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. -// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterTapDevHandlerFromEndpoint instead. -func RegisterTapDevHandlerServer(ctx context.Context, mux *runtime.ServeMux, server TapDevServer) error { - - mux.Handle("POST", pattern_TapDev_ImportProof_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/tapdevrpc.TapDev/ImportProof", runtime.WithHTTPPathPattern("/v1/taproot-assets/dev/importproof")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_TapDev_ImportProof_0(rctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_TapDev_ImportProof_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - return nil -} - -// RegisterTapDevHandlerFromEndpoint is same as RegisterTapDevHandler but -// automatically dials to "endpoint" and closes the connection when "ctx" gets done. -func RegisterTapDevHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { - conn, err := grpc.Dial(endpoint, opts...) - if err != nil { - return err - } - defer func() { - if err != nil { - if cerr := conn.Close(); cerr != nil { - grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) - } - return - } - go func() { - <-ctx.Done() - if cerr := conn.Close(); cerr != nil { - grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) - } - }() - }() - - return RegisterTapDevHandler(ctx, mux, conn) -} - -// RegisterTapDevHandler registers the http handlers for service TapDev to "mux". -// The handlers forward requests to the grpc endpoint over "conn". -func RegisterTapDevHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { - return RegisterTapDevHandlerClient(ctx, mux, NewTapDevClient(conn)) -} - -// RegisterTapDevHandlerClient registers the http handlers for service TapDev -// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "TapDevClient". -// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "TapDevClient" -// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in -// "TapDevClient" to call the correct interceptors. -func RegisterTapDevHandlerClient(ctx context.Context, mux *runtime.ServeMux, client TapDevClient) error { - - mux.Handle("POST", pattern_TapDev_ImportProof_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/tapdevrpc.TapDev/ImportProof", runtime.WithHTTPPathPattern("/v1/taproot-assets/dev/importproof")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_TapDev_ImportProof_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_TapDev_ImportProof_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - return nil -} - -var ( - pattern_TapDev_ImportProof_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"v1", "taproot-assets", "dev", "importproof"}, "")) -) - -var ( - forward_TapDev_ImportProof_0 = runtime.ForwardResponseMessage -) diff --git a/taprpc/tapdevrpc/tapdev.proto b/taprpc/tapdevrpc/tapdev.proto index b1c0f5316..e46cabbd2 100644 --- a/taprpc/tapdevrpc/tapdev.proto +++ b/taprpc/tapdevrpc/tapdev.proto @@ -7,13 +7,6 @@ package tapdevrpc; option go_package = "github.com/lightninglabs/taproot-assets/taprpc/tapdevrpc"; service TapDev { - /* tapcli: `dev importproof` - ImportProof attempts to import a proof file into the daemon. If successful, - a new asset will be inserted on disk, spendable using the specified target - script key, and internal key. - */ - rpc ImportProof (ImportProofRequest) returns (ImportProofResponse); - /* SubscribeSendAssetEventNtfns registers a subscription to the event notification stream which relates to the asset sending process. @@ -29,15 +22,6 @@ service TapDev { returns (stream ReceiveAssetEvent); } -message ImportProofRequest { - bytes proof_file = 1; - - string genesis_point = 2; -} - -message ImportProofResponse { -} - message SubscribeSendAssetEventNtfnsRequest { } @@ -113,4 +97,4 @@ message ReceiveAssetEvent { // An event which indicates that an asset receive process has finished. AssetReceiveCompleteEvent asset_receive_complete_event = 2; } -} \ No newline at end of file +} diff --git a/taprpc/tapdevrpc/tapdev.swagger.json b/taprpc/tapdevrpc/tapdev.swagger.json index 6ff727a61..0b98d4c82 100644 --- a/taprpc/tapdevrpc/tapdev.swagger.json +++ b/taprpc/tapdevrpc/tapdev.swagger.json @@ -77,9 +77,6 @@ } } }, - "tapdevrpcImportProofResponse": { - "type": "object" - }, "tapdevrpcProofTransferBackoffWaitEvent": { "type": "object", "properties": { diff --git a/taprpc/tapdevrpc/tapdev.yaml b/taprpc/tapdevrpc/tapdev.yaml index 37ec29428..5ebde9494 100644 --- a/taprpc/tapdevrpc/tapdev.yaml +++ b/taprpc/tapdevrpc/tapdev.yaml @@ -3,8 +3,6 @@ config_version: 3 http: rules: - - selector: tapdevrpc.TapDev.ImportProof - - selector: tapdevrpc.TapDev.SubscribeSendAssetEventNtfns - selector: tapdevrpc.TapDev.SubscribeReceiveAssetEventNtfns diff --git a/taprpc/tapdevrpc/tapdev_grpc.pb.go b/taprpc/tapdevrpc/tapdev_grpc.pb.go index 709ff284f..916b93a2f 100644 --- a/taprpc/tapdevrpc/tapdev_grpc.pb.go +++ b/taprpc/tapdevrpc/tapdev_grpc.pb.go @@ -18,11 +18,6 @@ const _ = grpc.SupportPackageIsVersion7 // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. type TapDevClient interface { - // tapcli: `dev importproof` - // ImportProof attempts to import a proof file into the daemon. If successful, - // a new asset will be inserted on disk, spendable using the specified target - // script key, and internal key. - ImportProof(ctx context.Context, in *ImportProofRequest, opts ...grpc.CallOption) (*ImportProofResponse, error) // SubscribeSendAssetEventNtfns registers a subscription to the event // notification stream which relates to the asset sending process. SubscribeSendAssetEventNtfns(ctx context.Context, in *SubscribeSendAssetEventNtfnsRequest, opts ...grpc.CallOption) (TapDev_SubscribeSendAssetEventNtfnsClient, error) @@ -39,15 +34,6 @@ func NewTapDevClient(cc grpc.ClientConnInterface) TapDevClient { return &tapDevClient{cc} } -func (c *tapDevClient) ImportProof(ctx context.Context, in *ImportProofRequest, opts ...grpc.CallOption) (*ImportProofResponse, error) { - out := new(ImportProofResponse) - err := c.cc.Invoke(ctx, "/tapdevrpc.TapDev/ImportProof", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *tapDevClient) SubscribeSendAssetEventNtfns(ctx context.Context, in *SubscribeSendAssetEventNtfnsRequest, opts ...grpc.CallOption) (TapDev_SubscribeSendAssetEventNtfnsClient, error) { stream, err := c.cc.NewStream(ctx, &TapDev_ServiceDesc.Streams[0], "/tapdevrpc.TapDev/SubscribeSendAssetEventNtfns", opts...) if err != nil { @@ -116,11 +102,6 @@ func (x *tapDevSubscribeReceiveAssetEventNtfnsClient) Recv() (*ReceiveAssetEvent // All implementations must embed UnimplementedTapDevServer // for forward compatibility type TapDevServer interface { - // tapcli: `dev importproof` - // ImportProof attempts to import a proof file into the daemon. If successful, - // a new asset will be inserted on disk, spendable using the specified target - // script key, and internal key. - ImportProof(context.Context, *ImportProofRequest) (*ImportProofResponse, error) // SubscribeSendAssetEventNtfns registers a subscription to the event // notification stream which relates to the asset sending process. SubscribeSendAssetEventNtfns(*SubscribeSendAssetEventNtfnsRequest, TapDev_SubscribeSendAssetEventNtfnsServer) error @@ -134,9 +115,6 @@ type TapDevServer interface { type UnimplementedTapDevServer struct { } -func (UnimplementedTapDevServer) ImportProof(context.Context, *ImportProofRequest) (*ImportProofResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ImportProof not implemented") -} func (UnimplementedTapDevServer) SubscribeSendAssetEventNtfns(*SubscribeSendAssetEventNtfnsRequest, TapDev_SubscribeSendAssetEventNtfnsServer) error { return status.Errorf(codes.Unimplemented, "method SubscribeSendAssetEventNtfns not implemented") } @@ -156,24 +134,6 @@ func RegisterTapDevServer(s grpc.ServiceRegistrar, srv TapDevServer) { s.RegisterService(&TapDev_ServiceDesc, srv) } -func _TapDev_ImportProof_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ImportProofRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(TapDevServer).ImportProof(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/tapdevrpc.TapDev/ImportProof", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(TapDevServer).ImportProof(ctx, req.(*ImportProofRequest)) - } - return interceptor(ctx, in, info, handler) -} - func _TapDev_SubscribeSendAssetEventNtfns_Handler(srv interface{}, stream grpc.ServerStream) error { m := new(SubscribeSendAssetEventNtfnsRequest) if err := stream.RecvMsg(m); err != nil { @@ -222,12 +182,7 @@ func (x *tapDevSubscribeReceiveAssetEventNtfnsServer) Send(m *ReceiveAssetEvent) var TapDev_ServiceDesc = grpc.ServiceDesc{ ServiceName: "tapdevrpc.TapDev", HandlerType: (*TapDevServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "ImportProof", - Handler: _TapDev_ImportProof_Handler, - }, - }, + Methods: []grpc.MethodDesc{}, Streams: []grpc.StreamDesc{ { StreamName: "SubscribeSendAssetEventNtfns", diff --git a/taprpc/taprootassets.pb.go b/taprpc/taprootassets.pb.go index 15fbaf63b..fdbf1f822 100644 --- a/taprpc/taprootassets.pb.go +++ b/taprpc/taprootassets.pb.go @@ -5834,6 +5834,99 @@ func (x *AnchorTransaction) GetFinalTx() []byte { return nil } +type ImportProofRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ProofFile []byte `protobuf:"bytes,1,opt,name=proof_file,json=proofFile,proto3" json:"proof_file,omitempty"` + GenesisPoint string `protobuf:"bytes,2,opt,name=genesis_point,json=genesisPoint,proto3" json:"genesis_point,omitempty"` +} + +func (x *ImportProofRequest) Reset() { + *x = ImportProofRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_taprootassets_proto_msgTypes[72] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ImportProofRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportProofRequest) ProtoMessage() {} + +func (x *ImportProofRequest) ProtoReflect() protoreflect.Message { + mi := &file_taprootassets_proto_msgTypes[72] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ImportProofRequest.ProtoReflect.Descriptor instead. +func (*ImportProofRequest) Descriptor() ([]byte, []int) { + return file_taprootassets_proto_rawDescGZIP(), []int{72} +} + +func (x *ImportProofRequest) GetProofFile() []byte { + if x != nil { + return x.ProofFile + } + return nil +} + +func (x *ImportProofRequest) GetGenesisPoint() string { + if x != nil { + return x.GenesisPoint + } + return "" +} + +type ImportProofResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ImportProofResponse) Reset() { + *x = ImportProofResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_taprootassets_proto_msgTypes[73] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ImportProofResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportProofResponse) ProtoMessage() {} + +func (x *ImportProofResponse) ProtoReflect() protoreflect.Message { + mi := &file_taprootassets_proto_msgTypes[73] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ImportProofResponse.ProtoReflect.Descriptor instead. +func (*ImportProofResponse) Descriptor() ([]byte, []int) { + return file_taprootassets_proto_rawDescGZIP(), []int{73} +} + var File_taprootassets_proto protoreflect.FileDescriptor var file_taprootassets_proto_rawDesc = []byte{ @@ -6586,165 +6679,176 @@ var file_taprootassets_proto_rawDesc = []byte{ 0x10, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x4f, 0x75, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0e, 0x6c, 0x6e, 0x64, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x5f, 0x74, 0x78, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x07, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x54, 0x78, 0x2a, 0x28, 0x0a, 0x09, - 0x41, 0x73, 0x73, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x4f, 0x52, - 0x4d, 0x41, 0x4c, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43, 0x54, - 0x49, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x2a, 0x39, 0x0a, 0x0d, 0x41, 0x73, 0x73, 0x65, 0x74, 0x4d, - 0x65, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x4d, 0x45, 0x54, 0x41, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x50, 0x41, 0x51, 0x55, 0x45, 0x10, 0x00, 0x12, 0x12, 0x0a, - 0x0e, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4a, 0x53, 0x4f, 0x4e, 0x10, - 0x01, 0x2a, 0x3a, 0x0a, 0x0c, 0x41, 0x73, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x53, 0x53, 0x45, 0x54, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, - 0x4f, 0x4e, 0x5f, 0x56, 0x30, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x53, 0x53, 0x45, 0x54, - 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x56, 0x31, 0x10, 0x01, 0x2a, 0x52, 0x0a, - 0x0a, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x12, 0x4f, - 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x49, 0x4d, 0x50, 0x4c, - 0x45, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x53, 0x50, 0x4c, 0x49, 0x54, 0x5f, 0x52, 0x4f, 0x4f, 0x54, 0x10, 0x01, 0x22, - 0x04, 0x08, 0x02, 0x10, 0x02, 0x22, 0x04, 0x08, 0x03, 0x10, 0x03, 0x22, 0x04, 0x08, 0x04, 0x10, - 0x04, 0x2a, 0x86, 0x01, 0x0a, 0x13, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x44, 0x65, 0x6c, 0x69, 0x76, - 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x28, 0x0a, 0x24, 0x50, 0x52, 0x4f, - 0x4f, 0x46, 0x5f, 0x44, 0x45, 0x4c, 0x49, 0x56, 0x45, 0x52, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x55, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x50, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x42, 0x4c, - 0x45, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x5f, 0x44, 0x45, 0x4c, - 0x49, 0x56, 0x45, 0x52, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x4f, 0x4d, - 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x50, 0x52, 0x4f, 0x4f, 0x46, - 0x5f, 0x44, 0x45, 0x4c, 0x49, 0x56, 0x45, 0x52, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, - 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x2a, 0x55, 0x0a, 0x0b, 0x41, 0x64, - 0x64, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x44, 0x44, - 0x52, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x44, 0x44, 0x52, 0x5f, - 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x56, 0x30, 0x10, 0x01, 0x12, 0x13, 0x0a, 0x0f, - 0x41, 0x44, 0x44, 0x52, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x56, 0x31, 0x10, - 0x02, 0x2a, 0xd0, 0x01, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x19, 0x41, 0x44, 0x44, 0x52, 0x5f, 0x45, 0x56, - 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, - 0x57, 0x4e, 0x10, 0x00, 0x12, 0x2a, 0x0a, 0x26, 0x41, 0x44, 0x44, 0x52, 0x5f, 0x45, 0x56, 0x45, - 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, - 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, 0x01, - 0x12, 0x2b, 0x0a, 0x27, 0x41, 0x44, 0x44, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x45, 0x44, 0x10, 0x02, 0x12, 0x24, 0x0a, - 0x20, 0x41, 0x44, 0x44, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x55, 0x53, 0x5f, 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x5f, 0x52, 0x45, 0x43, 0x45, 0x49, 0x56, 0x45, - 0x44, 0x10, 0x03, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x44, 0x44, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, - 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, - 0x45, 0x44, 0x10, 0x04, 0x2a, 0x9b, 0x02, 0x0a, 0x09, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x74, 0x61, - 0x74, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x53, 0x45, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, - 0x5f, 0x56, 0x49, 0x52, 0x54, 0x55, 0x41, 0x4c, 0x5f, 0x49, 0x4e, 0x50, 0x55, 0x54, 0x5f, 0x53, - 0x45, 0x4c, 0x45, 0x43, 0x54, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x45, 0x4e, 0x44, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x56, 0x49, 0x52, 0x54, 0x55, 0x41, 0x4c, 0x5f, 0x53, 0x49, - 0x47, 0x4e, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x45, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x45, 0x5f, 0x41, 0x4e, 0x43, 0x48, 0x4f, 0x52, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x10, 0x02, - 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x45, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4c, - 0x4f, 0x47, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x03, 0x12, - 0x18, 0x0a, 0x14, 0x53, 0x45, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x42, 0x52, - 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x10, 0x04, 0x12, 0x20, 0x0a, 0x1c, 0x53, 0x45, 0x4e, - 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x5f, 0x43, 0x4f, 0x4e, - 0x46, 0x49, 0x52, 0x4d, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x05, 0x12, 0x1b, 0x0a, 0x17, 0x53, - 0x45, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x45, 0x5f, - 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x53, 0x10, 0x06, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x45, 0x4e, 0x44, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x45, 0x52, 0x5f, - 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x53, 0x10, 0x07, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x45, 0x4e, 0x44, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, - 0x10, 0x08, 0x2a, 0x78, 0x0a, 0x0a, 0x50, 0x61, 0x72, 0x63, 0x65, 0x6c, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x17, 0x0a, 0x13, 0x50, 0x41, 0x52, 0x43, 0x45, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, - 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x41, 0x52, - 0x43, 0x45, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x5f, 0x53, 0x49, 0x47, - 0x4e, 0x45, 0x44, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x50, 0x41, 0x52, 0x43, 0x45, 0x4c, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x1c, - 0x0a, 0x18, 0x50, 0x41, 0x52, 0x43, 0x45, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x52, - 0x45, 0x5f, 0x41, 0x4e, 0x43, 0x48, 0x4f, 0x52, 0x45, 0x44, 0x10, 0x03, 0x32, 0xd8, 0x0a, 0x0a, - 0x0d, 0x54, 0x61, 0x70, 0x72, 0x6f, 0x6f, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0x41, - 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0x18, 0x2e, 0x74, - 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x40, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x12, 0x18, - 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x74, 0x78, 0x6f, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, - 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x73, 0x12, 0x19, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x74, - 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, - 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x1b, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, - 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, - 0x66, 0x65, 0x72, 0x73, 0x12, 0x1c, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x37, 0x0a, 0x0a, 0x53, 0x74, 0x6f, 0x70, 0x44, 0x61, 0x65, 0x6d, 0x6f, 0x6e, 0x12, - 0x13, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, - 0x6f, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x0a, 0x44, 0x65, - 0x62, 0x75, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x19, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, - 0x63, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x62, - 0x75, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x41, 0x0a, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x64, 0x64, 0x72, 0x73, 0x12, 0x18, 0x2e, - 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x64, 0x64, 0x72, + 0x01, 0x28, 0x0c, 0x52, 0x07, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x54, 0x78, 0x22, 0x58, 0x0a, 0x12, + 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x5f, 0x66, 0x69, 0x6c, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6f, 0x66, 0x46, 0x69, 0x6c, + 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, 0x73, 0x5f, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x67, 0x65, 0x6e, 0x65, 0x73, 0x69, + 0x73, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x15, 0x0a, 0x13, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2a, 0x28, 0x0a, + 0x09, 0x41, 0x73, 0x73, 0x65, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x4f, + 0x52, 0x4d, 0x41, 0x4c, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x43, 0x4f, 0x4c, 0x4c, 0x45, 0x43, + 0x54, 0x49, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x2a, 0x39, 0x0a, 0x0d, 0x41, 0x73, 0x73, 0x65, 0x74, + 0x4d, 0x65, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x4d, 0x45, 0x54, 0x41, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x50, 0x41, 0x51, 0x55, 0x45, 0x10, 0x00, 0x12, 0x12, + 0x0a, 0x0e, 0x4d, 0x45, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4a, 0x53, 0x4f, 0x4e, + 0x10, 0x01, 0x2a, 0x3a, 0x0a, 0x0c, 0x41, 0x73, 0x73, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x53, 0x53, 0x45, 0x54, 0x5f, 0x56, 0x45, 0x52, 0x53, + 0x49, 0x4f, 0x4e, 0x5f, 0x56, 0x30, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x41, 0x53, 0x53, 0x45, + 0x54, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x56, 0x31, 0x10, 0x01, 0x2a, 0x52, + 0x0a, 0x0a, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x12, + 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x49, 0x4d, 0x50, + 0x4c, 0x45, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x53, 0x50, 0x4c, 0x49, 0x54, 0x5f, 0x52, 0x4f, 0x4f, 0x54, 0x10, 0x01, + 0x22, 0x04, 0x08, 0x02, 0x10, 0x02, 0x22, 0x04, 0x08, 0x03, 0x10, 0x03, 0x22, 0x04, 0x08, 0x04, + 0x10, 0x04, 0x2a, 0x86, 0x01, 0x0a, 0x13, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x44, 0x65, 0x6c, 0x69, + 0x76, 0x65, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x28, 0x0a, 0x24, 0x50, 0x52, + 0x4f, 0x4f, 0x46, 0x5f, 0x44, 0x45, 0x4c, 0x49, 0x56, 0x45, 0x52, 0x59, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x55, 0x53, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x41, 0x50, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x42, + 0x4c, 0x45, 0x10, 0x00, 0x12, 0x22, 0x0a, 0x1e, 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x5f, 0x44, 0x45, + 0x4c, 0x49, 0x56, 0x45, 0x52, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x4f, + 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x50, 0x52, 0x4f, 0x4f, + 0x46, 0x5f, 0x44, 0x45, 0x4c, 0x49, 0x56, 0x45, 0x52, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, + 0x53, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x2a, 0x55, 0x0a, 0x0b, 0x41, + 0x64, 0x64, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x44, + 0x44, 0x52, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x41, 0x44, 0x44, 0x52, + 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x56, 0x30, 0x10, 0x01, 0x12, 0x13, 0x0a, + 0x0f, 0x41, 0x44, 0x44, 0x52, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x56, 0x31, + 0x10, 0x02, 0x2a, 0xd0, 0x01, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x19, 0x41, 0x44, 0x44, 0x52, 0x5f, 0x45, + 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, + 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x2a, 0x0a, 0x26, 0x41, 0x44, 0x44, 0x52, 0x5f, 0x45, 0x56, + 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, + 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x45, 0x54, 0x45, 0x43, 0x54, 0x45, 0x44, 0x10, + 0x01, 0x12, 0x2b, 0x0a, 0x27, 0x41, 0x44, 0x44, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x41, 0x43, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x45, 0x44, 0x10, 0x02, 0x12, 0x24, + 0x0a, 0x20, 0x41, 0x44, 0x44, 0x52, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x55, 0x53, 0x5f, 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x5f, 0x52, 0x45, 0x43, 0x45, 0x49, 0x56, + 0x45, 0x44, 0x10, 0x03, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x44, 0x44, 0x52, 0x5f, 0x45, 0x56, 0x45, + 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, + 0x54, 0x45, 0x44, 0x10, 0x04, 0x2a, 0x9b, 0x02, 0x0a, 0x09, 0x53, 0x65, 0x6e, 0x64, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x23, 0x0a, 0x1f, 0x53, 0x45, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x45, 0x5f, 0x56, 0x49, 0x52, 0x54, 0x55, 0x41, 0x4c, 0x5f, 0x49, 0x4e, 0x50, 0x55, 0x54, 0x5f, + 0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x53, 0x45, 0x4e, 0x44, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x56, 0x49, 0x52, 0x54, 0x55, 0x41, 0x4c, 0x5f, 0x53, + 0x49, 0x47, 0x4e, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x53, 0x45, 0x4e, 0x44, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x45, 0x5f, 0x41, 0x4e, 0x43, 0x48, 0x4f, 0x52, 0x5f, 0x53, 0x49, 0x47, 0x4e, 0x10, + 0x02, 0x12, 0x1d, 0x0a, 0x19, 0x53, 0x45, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, + 0x4c, 0x4f, 0x47, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x49, 0x54, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x03, + 0x12, 0x18, 0x0a, 0x14, 0x53, 0x45, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x42, + 0x52, 0x4f, 0x41, 0x44, 0x43, 0x41, 0x53, 0x54, 0x10, 0x04, 0x12, 0x20, 0x0a, 0x1c, 0x53, 0x45, + 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x57, 0x41, 0x49, 0x54, 0x5f, 0x43, 0x4f, + 0x4e, 0x46, 0x49, 0x52, 0x4d, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x05, 0x12, 0x1b, 0x0a, 0x17, + 0x53, 0x45, 0x4e, 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x53, 0x54, 0x4f, 0x52, 0x45, + 0x5f, 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x53, 0x10, 0x06, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x45, 0x4e, + 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x46, 0x45, 0x52, + 0x5f, 0x50, 0x52, 0x4f, 0x4f, 0x46, 0x53, 0x10, 0x07, 0x12, 0x18, 0x0a, 0x14, 0x53, 0x45, 0x4e, + 0x44, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, + 0x44, 0x10, 0x08, 0x2a, 0x78, 0x0a, 0x0a, 0x50, 0x61, 0x72, 0x63, 0x65, 0x6c, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x17, 0x0a, 0x13, 0x50, 0x41, 0x52, 0x43, 0x45, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x50, 0x41, + 0x52, 0x43, 0x45, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x52, 0x45, 0x5f, 0x53, 0x49, + 0x47, 0x4e, 0x45, 0x44, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x50, 0x41, 0x52, 0x43, 0x45, 0x4c, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, + 0x1c, 0x0a, 0x18, 0x50, 0x41, 0x52, 0x43, 0x45, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, + 0x52, 0x45, 0x5f, 0x41, 0x4e, 0x43, 0x48, 0x4f, 0x52, 0x45, 0x44, 0x10, 0x03, 0x32, 0xa0, 0x0b, + 0x0a, 0x0d, 0x54, 0x61, 0x70, 0x72, 0x6f, 0x6f, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, + 0x41, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0x18, 0x2e, + 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x64, 0x64, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x07, 0x4e, 0x65, 0x77, 0x41, 0x64, 0x64, 0x72, 0x12, 0x16, 0x2e, - 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x65, 0x77, 0x41, 0x64, 0x64, 0x72, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x41, - 0x64, 0x64, 0x72, 0x12, 0x35, 0x0a, 0x0a, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x41, 0x64, 0x64, - 0x72, 0x12, 0x19, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x64, - 0x65, 0x41, 0x64, 0x64, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x74, - 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x12, 0x49, 0x0a, 0x0c, 0x41, 0x64, - 0x64, 0x72, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x73, 0x12, 0x1b, 0x2e, 0x74, 0x61, 0x70, - 0x72, 0x70, 0x63, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, - 0x2e, 0x41, 0x64, 0x64, 0x72, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x0b, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x50, - 0x72, 0x6f, 0x6f, 0x66, 0x12, 0x11, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, - 0x6f, 0x6f, 0x66, 0x46, 0x69, 0x6c, 0x65, 0x1a, 0x1b, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, - 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x50, 0x72, - 0x6f, 0x6f, 0x66, 0x12, 0x1a, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x63, - 0x6f, 0x64, 0x65, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1b, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x50, - 0x72, 0x6f, 0x6f, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x0b, - 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x12, 0x1a, 0x2e, 0x74, 0x61, - 0x70, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x6f, 0x66, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, - 0x2e, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x40, 0x0a, 0x09, 0x53, 0x65, - 0x6e, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x18, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, - 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x19, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x41, - 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x09, - 0x42, 0x75, 0x72, 0x6e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x18, 0x2e, 0x74, 0x61, 0x70, 0x72, - 0x70, 0x63, 0x2e, 0x42, 0x75, 0x72, 0x6e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x75, 0x72, - 0x6e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3a, - 0x0a, 0x07, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x2e, 0x74, 0x61, 0x70, 0x72, - 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x17, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0e, 0x46, 0x65, - 0x74, 0x63, 0x68, 0x41, 0x73, 0x73, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x1d, 0x2e, 0x74, - 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x41, 0x73, 0x73, 0x65, 0x74, - 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x74, 0x61, - 0x70, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x57, - 0x0a, 0x16, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, - 0x76, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, - 0x63, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x63, 0x65, 0x69, - 0x76, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x14, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x30, 0x01, 0x12, 0x4e, 0x0a, 0x13, 0x53, 0x75, 0x62, 0x73, 0x63, - 0x72, 0x69, 0x62, 0x65, 0x53, 0x65, 0x6e, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x22, - 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, - 0x65, 0x53, 0x65, 0x6e, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6e, 0x64, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x30, 0x01, 0x42, 0x30, 0x5a, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x6e, 0x69, 0x6e, 0x67, 0x6c, - 0x61, 0x62, 0x73, 0x2f, 0x74, 0x61, 0x70, 0x72, 0x6f, 0x6f, 0x74, 0x2d, 0x61, 0x73, 0x73, 0x65, - 0x74, 0x73, 0x2f, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x40, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x12, + 0x18, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x74, 0x78, + 0x6f, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x74, 0x61, 0x70, 0x72, + 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x74, 0x78, 0x6f, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x73, 0x12, 0x19, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, + 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x49, 0x0a, 0x0c, 0x4c, 0x69, 0x73, + 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x1b, 0x2e, 0x74, 0x61, 0x70, 0x72, + 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4c, 0x0a, 0x0d, 0x4c, 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x65, 0x72, 0x73, 0x12, 0x1c, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0a, 0x53, 0x74, 0x6f, 0x70, 0x44, 0x61, 0x65, 0x6d, 0x6f, 0x6e, + 0x12, 0x13, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, + 0x74, 0x6f, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x0a, 0x44, + 0x65, 0x62, 0x75, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x19, 0x2e, 0x74, 0x61, 0x70, 0x72, + 0x70, 0x63, 0x2e, 0x44, 0x65, 0x62, 0x75, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, + 0x62, 0x75, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x41, 0x0a, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x64, 0x64, 0x72, 0x73, 0x12, 0x18, + 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x64, 0x64, + 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, + 0x63, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x41, 0x64, 0x64, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x07, 0x4e, 0x65, 0x77, 0x41, 0x64, 0x64, 0x72, 0x12, 0x16, + 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x4e, 0x65, 0x77, 0x41, 0x64, 0x64, 0x72, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, + 0x41, 0x64, 0x64, 0x72, 0x12, 0x35, 0x0a, 0x0a, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x41, 0x64, + 0x64, 0x72, 0x12, 0x19, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x63, 0x6f, + 0x64, 0x65, 0x41, 0x64, 0x64, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x0c, 0x2e, + 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x12, 0x49, 0x0a, 0x0c, 0x41, + 0x64, 0x64, 0x72, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x73, 0x12, 0x1b, 0x2e, 0x74, 0x61, + 0x70, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, + 0x63, 0x2e, 0x41, 0x64, 0x64, 0x72, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x0b, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, + 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x12, 0x11, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x50, + 0x72, 0x6f, 0x6f, 0x66, 0x46, 0x69, 0x6c, 0x65, 0x1a, 0x1b, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, + 0x63, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x50, + 0x72, 0x6f, 0x6f, 0x66, 0x12, 0x1a, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, + 0x63, 0x6f, 0x64, 0x65, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1b, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, + 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, + 0x0b, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x12, 0x1a, 0x2e, 0x74, + 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x6f, + 0x66, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, + 0x63, 0x2e, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x40, 0x0a, 0x09, 0x53, + 0x65, 0x6e, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x18, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, + 0x63, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6e, 0x64, + 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, + 0x09, 0x42, 0x75, 0x72, 0x6e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x18, 0x2e, 0x74, 0x61, 0x70, + 0x72, 0x70, 0x63, 0x2e, 0x42, 0x75, 0x72, 0x6e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x42, 0x75, + 0x72, 0x6e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x3a, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x16, 0x2e, 0x74, 0x61, 0x70, + 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x49, + 0x6e, 0x66, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x0e, 0x46, + 0x65, 0x74, 0x63, 0x68, 0x41, 0x73, 0x73, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x1d, 0x2e, + 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x46, 0x65, 0x74, 0x63, 0x68, 0x41, 0x73, 0x73, 0x65, + 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x74, + 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x12, + 0x57, 0x0a, 0x16, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x63, 0x65, + 0x69, 0x76, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x74, 0x61, 0x70, 0x72, + 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x65, 0x63, 0x65, + 0x69, 0x76, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x14, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, + 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x30, 0x01, 0x12, 0x4e, 0x0a, 0x13, 0x53, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x62, 0x65, 0x53, 0x65, 0x6e, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, + 0x22, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, + 0x62, 0x65, 0x53, 0x65, 0x6e, 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x11, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x53, 0x65, 0x6e, + 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x30, 0x01, 0x12, 0x46, 0x0a, 0x0b, 0x49, 0x6d, 0x70, 0x6f, + 0x72, 0x74, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x12, 0x1a, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, + 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x74, 0x61, 0x70, 0x72, 0x70, 0x63, 0x2e, 0x49, 0x6d, 0x70, + 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x6f, 0x66, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x42, 0x30, 0x5a, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, + 0x69, 0x67, 0x68, 0x74, 0x6e, 0x69, 0x6e, 0x67, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x74, 0x61, 0x70, + 0x72, 0x6f, 0x6f, 0x74, 0x2d, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x74, 0x61, 0x70, 0x72, + 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -6760,7 +6864,7 @@ func file_taprootassets_proto_rawDescGZIP() []byte { } var file_taprootassets_proto_enumTypes = make([]protoimpl.EnumInfo, 9) -var file_taprootassets_proto_msgTypes = make([]protoimpl.MessageInfo, 76) +var file_taprootassets_proto_msgTypes = make([]protoimpl.MessageInfo, 78) var file_taprootassets_proto_goTypes = []interface{}{ (AssetType)(0), // 0: taprpc.AssetType (AssetMetaType)(0), // 1: taprpc.AssetMetaType @@ -6843,10 +6947,12 @@ var file_taprootassets_proto_goTypes = []interface{}{ (*SubscribeSendEventsRequest)(nil), // 78: taprpc.SubscribeSendEventsRequest (*SendEvent)(nil), // 79: taprpc.SendEvent (*AnchorTransaction)(nil), // 80: taprpc.AnchorTransaction - nil, // 81: taprpc.ListUtxosResponse.ManagedUtxosEntry - nil, // 82: taprpc.ListGroupsResponse.GroupsEntry - nil, // 83: taprpc.ListBalancesResponse.AssetBalancesEntry - nil, // 84: taprpc.ListBalancesResponse.AssetGroupBalancesEntry + (*ImportProofRequest)(nil), // 81: taprpc.ImportProofRequest + (*ImportProofResponse)(nil), // 82: taprpc.ImportProofResponse + nil, // 83: taprpc.ListUtxosResponse.ManagedUtxosEntry + nil, // 84: taprpc.ListGroupsResponse.GroupsEntry + nil, // 85: taprpc.ListBalancesResponse.AssetBalancesEntry + nil, // 86: taprpc.ListBalancesResponse.AssetGroupBalancesEntry } var file_taprootassets_proto_depIdxs = []int32{ 1, // 0: taprpc.AssetMeta.type:type_name -> taprpc.AssetMetaType @@ -6866,14 +6972,14 @@ var file_taprootassets_proto_depIdxs = []int32{ 21, // 14: taprpc.SplitCommitment.root_asset:type_name -> taprpc.Asset 21, // 15: taprpc.ListAssetResponse.assets:type_name -> taprpc.Asset 21, // 16: taprpc.ManagedUtxo.assets:type_name -> taprpc.Asset - 81, // 17: taprpc.ListUtxosResponse.managed_utxos:type_name -> taprpc.ListUtxosResponse.ManagedUtxosEntry + 83, // 17: taprpc.ListUtxosResponse.managed_utxos:type_name -> taprpc.ListUtxosResponse.ManagedUtxosEntry 0, // 18: taprpc.AssetHumanReadable.type:type_name -> taprpc.AssetType 2, // 19: taprpc.AssetHumanReadable.version:type_name -> taprpc.AssetVersion 29, // 20: taprpc.GroupedAssets.assets:type_name -> taprpc.AssetHumanReadable - 82, // 21: taprpc.ListGroupsResponse.groups:type_name -> taprpc.ListGroupsResponse.GroupsEntry + 84, // 21: taprpc.ListGroupsResponse.groups:type_name -> taprpc.ListGroupsResponse.GroupsEntry 12, // 22: taprpc.AssetBalance.asset_genesis:type_name -> taprpc.GenesisInfo - 83, // 23: taprpc.ListBalancesResponse.asset_balances:type_name -> taprpc.ListBalancesResponse.AssetBalancesEntry - 84, // 24: taprpc.ListBalancesResponse.asset_group_balances:type_name -> taprpc.ListBalancesResponse.AssetGroupBalancesEntry + 85, // 23: taprpc.ListBalancesResponse.asset_balances:type_name -> taprpc.ListBalancesResponse.AssetBalancesEntry + 86, // 24: taprpc.ListBalancesResponse.asset_group_balances:type_name -> taprpc.ListBalancesResponse.AssetGroupBalancesEntry 39, // 25: taprpc.ListTransfersResponse.transfers:type_name -> taprpc.AssetTransfer 40, // 26: taprpc.AssetTransfer.inputs:type_name -> taprpc.TransferInput 42, // 27: taprpc.AssetTransfer.outputs:type_name -> taprpc.TransferOutput @@ -6938,28 +7044,30 @@ var file_taprootassets_proto_depIdxs = []int32{ 72, // 86: taprpc.TaprootAssets.FetchAssetMeta:input_type -> taprpc.FetchAssetMetaRequest 76, // 87: taprpc.TaprootAssets.SubscribeReceiveEvents:input_type -> taprpc.SubscribeReceiveEventsRequest 78, // 88: taprpc.TaprootAssets.SubscribeSendEvents:input_type -> taprpc.SubscribeSendEventsRequest - 24, // 89: taprpc.TaprootAssets.ListAssets:output_type -> taprpc.ListAssetResponse - 27, // 90: taprpc.TaprootAssets.ListUtxos:output_type -> taprpc.ListUtxosResponse - 31, // 91: taprpc.TaprootAssets.ListGroups:output_type -> taprpc.ListGroupsResponse - 35, // 92: taprpc.TaprootAssets.ListBalances:output_type -> taprpc.ListBalancesResponse - 37, // 93: taprpc.TaprootAssets.ListTransfers:output_type -> taprpc.ListTransfersResponse - 44, // 94: taprpc.TaprootAssets.StopDaemon:output_type -> taprpc.StopResponse - 46, // 95: taprpc.TaprootAssets.DebugLevel:output_type -> taprpc.DebugLevelResponse - 49, // 96: taprpc.TaprootAssets.QueryAddrs:output_type -> taprpc.QueryAddrResponse - 47, // 97: taprpc.TaprootAssets.NewAddr:output_type -> taprpc.Addr - 47, // 98: taprpc.TaprootAssets.DecodeAddr:output_type -> taprpc.Addr - 66, // 99: taprpc.TaprootAssets.AddrReceives:output_type -> taprpc.AddrReceivesResponse - 60, // 100: taprpc.TaprootAssets.VerifyProof:output_type -> taprpc.VerifyProofResponse - 62, // 101: taprpc.TaprootAssets.DecodeProof:output_type -> taprpc.DecodeProofResponse - 58, // 102: taprpc.TaprootAssets.ExportProof:output_type -> taprpc.ProofFile - 69, // 103: taprpc.TaprootAssets.SendAsset:output_type -> taprpc.SendAssetResponse - 74, // 104: taprpc.TaprootAssets.BurnAsset:output_type -> taprpc.BurnAssetResponse - 71, // 105: taprpc.TaprootAssets.GetInfo:output_type -> taprpc.GetInfoResponse - 9, // 106: taprpc.TaprootAssets.FetchAssetMeta:output_type -> taprpc.AssetMeta - 77, // 107: taprpc.TaprootAssets.SubscribeReceiveEvents:output_type -> taprpc.ReceiveEvent - 79, // 108: taprpc.TaprootAssets.SubscribeSendEvents:output_type -> taprpc.SendEvent - 89, // [89:109] is the sub-list for method output_type - 69, // [69:89] is the sub-list for method input_type + 81, // 89: taprpc.TaprootAssets.ImportProof:input_type -> taprpc.ImportProofRequest + 24, // 90: taprpc.TaprootAssets.ListAssets:output_type -> taprpc.ListAssetResponse + 27, // 91: taprpc.TaprootAssets.ListUtxos:output_type -> taprpc.ListUtxosResponse + 31, // 92: taprpc.TaprootAssets.ListGroups:output_type -> taprpc.ListGroupsResponse + 35, // 93: taprpc.TaprootAssets.ListBalances:output_type -> taprpc.ListBalancesResponse + 37, // 94: taprpc.TaprootAssets.ListTransfers:output_type -> taprpc.ListTransfersResponse + 44, // 95: taprpc.TaprootAssets.StopDaemon:output_type -> taprpc.StopResponse + 46, // 96: taprpc.TaprootAssets.DebugLevel:output_type -> taprpc.DebugLevelResponse + 49, // 97: taprpc.TaprootAssets.QueryAddrs:output_type -> taprpc.QueryAddrResponse + 47, // 98: taprpc.TaprootAssets.NewAddr:output_type -> taprpc.Addr + 47, // 99: taprpc.TaprootAssets.DecodeAddr:output_type -> taprpc.Addr + 66, // 100: taprpc.TaprootAssets.AddrReceives:output_type -> taprpc.AddrReceivesResponse + 60, // 101: taprpc.TaprootAssets.VerifyProof:output_type -> taprpc.VerifyProofResponse + 62, // 102: taprpc.TaprootAssets.DecodeProof:output_type -> taprpc.DecodeProofResponse + 58, // 103: taprpc.TaprootAssets.ExportProof:output_type -> taprpc.ProofFile + 69, // 104: taprpc.TaprootAssets.SendAsset:output_type -> taprpc.SendAssetResponse + 74, // 105: taprpc.TaprootAssets.BurnAsset:output_type -> taprpc.BurnAssetResponse + 71, // 106: taprpc.TaprootAssets.GetInfo:output_type -> taprpc.GetInfoResponse + 9, // 107: taprpc.TaprootAssets.FetchAssetMeta:output_type -> taprpc.AssetMeta + 77, // 108: taprpc.TaprootAssets.SubscribeReceiveEvents:output_type -> taprpc.ReceiveEvent + 79, // 109: taprpc.TaprootAssets.SubscribeSendEvents:output_type -> taprpc.SendEvent + 82, // 110: taprpc.TaprootAssets.ImportProof:output_type -> taprpc.ImportProofResponse + 90, // [90:111] is the sub-list for method output_type + 69, // [69:90] is the sub-list for method input_type 69, // [69:69] is the sub-list for extension type_name 69, // [69:69] is the sub-list for extension extendee 0, // [0:69] is the sub-list for field type_name @@ -7835,6 +7943,30 @@ func file_taprootassets_proto_init() { return nil } } + file_taprootassets_proto_msgTypes[72].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ImportProofRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_taprootassets_proto_msgTypes[73].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ImportProofResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } } file_taprootassets_proto_msgTypes[23].OneofWrappers = []interface{}{ (*ListBalancesRequest_AssetId)(nil), @@ -7856,7 +7988,7 @@ func file_taprootassets_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_taprootassets_proto_rawDesc, NumEnums: 9, - NumMessages: 76, + NumMessages: 78, NumExtensions: 0, NumServices: 1, }, diff --git a/taprpc/taprootassets.pb.gw.go b/taprpc/taprootassets.pb.gw.go index ced6f11be..bf94c1802 100644 --- a/taprpc/taprootassets.pb.gw.go +++ b/taprpc/taprootassets.pb.gw.go @@ -849,6 +849,40 @@ func request_TaprootAssets_SubscribeSendEvents_0(ctx context.Context, marshaler } +func request_TaprootAssets_ImportProof_0(ctx context.Context, marshaler runtime.Marshaler, client TaprootAssetsClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ImportProofRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.ImportProof(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_TaprootAssets_ImportProof_0(ctx context.Context, marshaler runtime.Marshaler, server TaprootAssetsServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq ImportProofRequest + var metadata runtime.ServerMetadata + + newReader, berr := utilities.IOReaderFactory(req.Body) + if berr != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) + } + if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.ImportProof(ctx, &protoReq) + return msg, metadata, err + +} + // RegisterTaprootAssetsHandlerServer registers the http handlers for service TaprootAssets to "mux". // UnaryRPC :call TaprootAssetsServer directly. // StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. @@ -1369,6 +1403,31 @@ func RegisterTaprootAssetsHandlerServer(ctx context.Context, mux *runtime.ServeM return }) + mux.Handle("POST", pattern_TaprootAssets_ImportProof_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/taprpc.TaprootAssets/ImportProof", runtime.WithHTTPPathPattern("/v1/taproot-assets/proofs/import")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_TaprootAssets_ImportProof_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TaprootAssets_ImportProof_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -1894,6 +1953,28 @@ func RegisterTaprootAssetsHandlerClient(ctx context.Context, mux *runtime.ServeM }) + mux.Handle("POST", pattern_TaprootAssets_ImportProof_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/taprpc.TaprootAssets/ImportProof", runtime.WithHTTPPathPattern("/v1/taproot-assets/proofs/import")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_TaprootAssets_ImportProof_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_TaprootAssets_ImportProof_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -1941,6 +2022,8 @@ var ( pattern_TaprootAssets_SubscribeReceiveEvents_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"v1", "taproot-assets", "events", "asset-receive"}, "")) pattern_TaprootAssets_SubscribeSendEvents_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"v1", "taproot-assets", "events", "asset-send"}, "")) + + pattern_TaprootAssets_ImportProof_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"v1", "taproot-assets", "proofs", "import"}, "")) ) var ( @@ -1987,4 +2070,6 @@ var ( forward_TaprootAssets_SubscribeReceiveEvents_0 = runtime.ForwardResponseStream forward_TaprootAssets_SubscribeSendEvents_0 = runtime.ForwardResponseStream + + forward_TaprootAssets_ImportProof_0 = runtime.ForwardResponseMessage ) diff --git a/taprpc/taprootassets.pb.json.go b/taprpc/taprootassets.pb.json.go index fc6a2904f..63322c3e9 100644 --- a/taprpc/taprootassets.pb.json.go +++ b/taprpc/taprootassets.pb.json.go @@ -554,4 +554,29 @@ func RegisterTaprootAssetsJSONCallbacks(registry map[string]func(ctx context.Con } }() } + + registry["taprpc.TaprootAssets.ImportProof"] = func(ctx context.Context, + conn *grpc.ClientConn, reqJSON string, callback func(string, error)) { + + req := &ImportProofRequest{} + err := marshaler.Unmarshal([]byte(reqJSON), req) + if err != nil { + callback("", err) + return + } + + client := NewTaprootAssetsClient(conn) + resp, err := client.ImportProof(ctx, req) + if err != nil { + callback("", err) + return + } + + respBytes, err := marshaler.Marshal(resp) + if err != nil { + callback("", err) + return + } + callback(string(respBytes), nil) + } } diff --git a/taprpc/taprootassets.proto b/taprpc/taprootassets.proto index f591082b7..038f2ce09 100644 --- a/taprpc/taprootassets.proto +++ b/taprpc/taprootassets.proto @@ -128,6 +128,13 @@ service TaprootAssets { */ rpc SubscribeSendEvents (SubscribeSendEventsRequest) returns (stream SendEvent); + + /* tapcli: `dev importproof` + ImportProof attempts to import a proof file into the daemon. If successful, + a new asset will be inserted on disk, spendable using the specified target + script key, and internal key. + */ + rpc ImportProof (ImportProofRequest) returns (ImportProofResponse); } enum AssetType { @@ -1388,3 +1395,12 @@ message AnchorTransaction { */ bytes final_tx = 6; } + +message ImportProofRequest { + bytes proof_file = 1; + + string genesis_point = 2; +} + +message ImportProofResponse { +} diff --git a/taprpc/taprootassets.swagger.json b/taprpc/taprootassets.swagger.json index 37bb3f60a..459d26dd9 100644 --- a/taprpc/taprootassets.swagger.json +++ b/taprpc/taprootassets.swagger.json @@ -749,6 +749,39 @@ ] } }, + "/v1/taproot-assets/proofs/import": { + "post": { + "summary": "tapcli: `dev importproof`\nImportProof attempts to import a proof file into the daemon. If successful,\na new asset will be inserted on disk, spendable using the specified target\nscript key, and internal key.", + "operationId": "TaprootAssets_ImportProof", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/taprpcImportProofResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/rpcStatus" + } + } + }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/taprpcImportProofRequest" + } + } + ], + "tags": [ + "TaprootAssets" + ] + } + }, "/v1/taproot-assets/proofs/verify": { "post": { "summary": "tapcli: `proofs verify`\nVerifyProof attempts to verify a given proof file that claims to be anchored\nat the specified genesis point.", @@ -1677,6 +1710,21 @@ } } }, + "taprpcImportProofRequest": { + "type": "object", + "properties": { + "proof_file": { + "type": "string", + "format": "byte" + }, + "genesis_point": { + "type": "string" + } + } + }, + "taprpcImportProofResponse": { + "type": "object" + }, "taprpcKeyDescriptor": { "type": "object", "properties": { diff --git a/taprpc/taprootassets.yaml b/taprpc/taprootassets.yaml index bb364586a..c15111846 100644 --- a/taprpc/taprootassets.yaml +++ b/taprpc/taprootassets.yaml @@ -78,3 +78,7 @@ http: - selector: taprpc.TaprootAssets.SubscribeSendEvents post: "/v1/taproot-assets/events/asset-send" body: "*" + + - selector: taprpc.TaprootAssets.ImportProof + post: "/v1/taproot-assets/proofs/import" + body: "*" diff --git a/taprpc/taprootassets_grpc.pb.go b/taprpc/taprootassets_grpc.pb.go index f7a44b3ca..7066c97c4 100644 --- a/taprpc/taprootassets_grpc.pb.go +++ b/taprpc/taprootassets_grpc.pb.go @@ -100,6 +100,11 @@ type TaprootAssetsClient interface { // SubscribeSendEvents allows a caller to subscribe to send events for outgoing // asset transfers. SubscribeSendEvents(ctx context.Context, in *SubscribeSendEventsRequest, opts ...grpc.CallOption) (TaprootAssets_SubscribeSendEventsClient, error) + // tapcli: `dev importproof` + // ImportProof attempts to import a proof file into the daemon. If successful, + // a new asset will be inserted on disk, spendable using the specified target + // script key, and internal key. + ImportProof(ctx context.Context, in *ImportProofRequest, opts ...grpc.CallOption) (*ImportProofResponse, error) } type taprootAssetsClient struct { @@ -336,6 +341,15 @@ func (x *taprootAssetsSubscribeSendEventsClient) Recv() (*SendEvent, error) { return m, nil } +func (c *taprootAssetsClient) ImportProof(ctx context.Context, in *ImportProofRequest, opts ...grpc.CallOption) (*ImportProofResponse, error) { + out := new(ImportProofResponse) + err := c.cc.Invoke(ctx, "/taprpc.TaprootAssets/ImportProof", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // TaprootAssetsServer is the server API for TaprootAssets service. // All implementations must embed UnimplementedTaprootAssetsServer // for forward compatibility @@ -422,6 +436,11 @@ type TaprootAssetsServer interface { // SubscribeSendEvents allows a caller to subscribe to send events for outgoing // asset transfers. SubscribeSendEvents(*SubscribeSendEventsRequest, TaprootAssets_SubscribeSendEventsServer) error + // tapcli: `dev importproof` + // ImportProof attempts to import a proof file into the daemon. If successful, + // a new asset will be inserted on disk, spendable using the specified target + // script key, and internal key. + ImportProof(context.Context, *ImportProofRequest) (*ImportProofResponse, error) mustEmbedUnimplementedTaprootAssetsServer() } @@ -489,6 +508,9 @@ func (UnimplementedTaprootAssetsServer) SubscribeReceiveEvents(*SubscribeReceive func (UnimplementedTaprootAssetsServer) SubscribeSendEvents(*SubscribeSendEventsRequest, TaprootAssets_SubscribeSendEventsServer) error { return status.Errorf(codes.Unimplemented, "method SubscribeSendEvents not implemented") } +func (UnimplementedTaprootAssetsServer) ImportProof(context.Context, *ImportProofRequest) (*ImportProofResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method ImportProof not implemented") +} func (UnimplementedTaprootAssetsServer) mustEmbedUnimplementedTaprootAssetsServer() {} // UnsafeTaprootAssetsServer may be embedded to opt out of forward compatibility for this service. @@ -868,6 +890,24 @@ func (x *taprootAssetsSubscribeSendEventsServer) Send(m *SendEvent) error { return x.ServerStream.SendMsg(m) } +func _TaprootAssets_ImportProof_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ImportProofRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(TaprootAssetsServer).ImportProof(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/taprpc.TaprootAssets/ImportProof", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(TaprootAssetsServer).ImportProof(ctx, req.(*ImportProofRequest)) + } + return interceptor(ctx, in, info, handler) +} + // TaprootAssets_ServiceDesc is the grpc.ServiceDesc for TaprootAssets service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -947,6 +987,10 @@ var TaprootAssets_ServiceDesc = grpc.ServiceDesc{ MethodName: "FetchAssetMeta", Handler: _TaprootAssets_FetchAssetMeta_Handler, }, + { + MethodName: "ImportProof", + Handler: _TaprootAssets_ImportProof_Handler, + }, }, Streams: []grpc.StreamDesc{ {