@burnt-labs/xion-types 16.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/README.md +111 -0
  2. package/package.json +26 -0
  3. package/types/.gitkeep +0 -0
  4. package/types/generated/amino/amino.ts +9 -0
  5. package/types/generated/cosmos/app/v1alpha1/config.ts +336 -0
  6. package/types/generated/cosmos/app/v1alpha1/query.ts +265 -0
  7. package/types/generated/cosmos/auth/v1beta1/auth.ts +520 -0
  8. package/types/generated/cosmos/auth/v1beta1/query.ts +1852 -0
  9. package/types/generated/cosmos/authz/v1beta1/authz.ts +404 -0
  10. package/types/generated/cosmos/authz/v1beta1/query.ts +774 -0
  11. package/types/generated/cosmos/autocli/v1/options.ts +1016 -0
  12. package/types/generated/cosmos/autocli/v1/query.ts +379 -0
  13. package/types/generated/cosmos/bank/v1beta1/bank.ts +752 -0
  14. package/types/generated/cosmos/bank/v1beta1/query.ts +2789 -0
  15. package/types/generated/cosmos/base/abci/v1beta1/abci.ts +1447 -0
  16. package/types/generated/cosmos/base/node/v1beta1/query.ts +587 -0
  17. package/types/generated/cosmos/base/query/v1beta1/pagination.ts +317 -0
  18. package/types/generated/cosmos/base/tendermint/v1beta1/query.ts +2228 -0
  19. package/types/generated/cosmos/base/tendermint/v1beta1/types.ts +522 -0
  20. package/types/generated/cosmos/base/v1beta1/coin.ts +326 -0
  21. package/types/generated/cosmos/circuit/v1/query.ts +606 -0
  22. package/types/generated/cosmos/circuit/v1/types.ts +353 -0
  23. package/types/generated/cosmos/consensus/v1/query.ts +271 -0
  24. package/types/generated/cosmos/crypto/multisig/v1beta1/multisig.ts +212 -0
  25. package/types/generated/cosmos/distribution/v1beta1/distribution.ts +1143 -0
  26. package/types/generated/cosmos/distribution/v1beta1/query.ts +2005 -0
  27. package/types/generated/cosmos/evidence/v1beta1/query.ts +526 -0
  28. package/types/generated/cosmos/feegrant/v1beta1/feegrant.ts +502 -0
  29. package/types/generated/cosmos/feegrant/v1beta1/query.ts +725 -0
  30. package/types/generated/cosmos/gov/v1/gov.ts +1656 -0
  31. package/types/generated/cosmos/gov/v1/query.ts +1847 -0
  32. package/types/generated/cosmos/gov/v1beta1/gov.ts +1239 -0
  33. package/types/generated/cosmos/gov/v1beta1/query.ts +1658 -0
  34. package/types/generated/cosmos/group/v1/query.ts +2840 -0
  35. package/types/generated/cosmos/group/v1/types.ts +1803 -0
  36. package/types/generated/cosmos/ics23/v1/proofs.ts +1685 -0
  37. package/types/generated/cosmos/mint/v1beta1/mint.ts +273 -0
  38. package/types/generated/cosmos/mint/v1beta1/query.ts +589 -0
  39. package/types/generated/cosmos/msg/v1/msg.ts +9 -0
  40. package/types/generated/cosmos/nft/v1beta1/nft.ts +333 -0
  41. package/types/generated/cosmos/nft/v1beta1/query.ts +1362 -0
  42. package/types/generated/cosmos/orm/query/v1alpha1/query.ts +1016 -0
  43. package/types/generated/cosmos/params/v1beta1/params.ts +227 -0
  44. package/types/generated/cosmos/params/v1beta1/query.ts +545 -0
  45. package/types/generated/cosmos/query/v1/query.ts +9 -0
  46. package/types/generated/cosmos/slashing/v1beta1/query.ts +626 -0
  47. package/types/generated/cosmos/slashing/v1beta1/slashing.ts +409 -0
  48. package/types/generated/cosmos/staking/v1beta1/query.ts +2912 -0
  49. package/types/generated/cosmos/staking/v1beta1/staking.ts +2515 -0
  50. package/types/generated/cosmos/tx/signing/v1beta1/signing.ts +608 -0
  51. package/types/generated/cosmos/tx/v1beta1/service.ts +2111 -0
  52. package/types/generated/cosmos/tx/v1beta1/tx.ts +1613 -0
  53. package/types/generated/cosmos/upgrade/v1beta1/query.ts +1007 -0
  54. package/types/generated/cosmos/upgrade/v1beta1/upgrade.ts +507 -0
  55. package/types/generated/cosmos_proto/cosmos.ts +299 -0
  56. package/types/generated/cosmwasm/wasm/v1/query.ts +2984 -0
  57. package/types/generated/cosmwasm/wasm/v1/types.ts +962 -0
  58. package/types/generated/gogoproto/gogo.ts +9 -0
  59. package/types/generated/google/api/annotations.ts +9 -0
  60. package/types/generated/google/api/http.ts +757 -0
  61. package/types/generated/google/protobuf/any.ts +253 -0
  62. package/types/generated/google/protobuf/descriptor.ts +4958 -0
  63. package/types/generated/google/protobuf/duration.ts +186 -0
  64. package/types/generated/google/protobuf/timestamp.ts +215 -0
  65. package/types/generated/ibc/applications/fee/v1/fee.ts +391 -0
  66. package/types/generated/ibc/applications/fee/v1/genesis.ts +553 -0
  67. package/types/generated/ibc/applications/fee/v1/query.ts +2056 -0
  68. package/types/generated/ibc/applications/interchain_accounts/controller/v1/controller.ts +100 -0
  69. package/types/generated/ibc/applications/interchain_accounts/controller/v1/query.ts +447 -0
  70. package/types/generated/ibc/applications/interchain_accounts/host/v1/host.ts +235 -0
  71. package/types/generated/ibc/applications/interchain_accounts/host/v1/query.ts +265 -0
  72. package/types/generated/ibc/applications/transfer/v1/query.ts +1135 -0
  73. package/types/generated/ibc/applications/transfer/v1/transfer.ts +213 -0
  74. package/types/generated/ibc/core/channel/v1/channel.ts +1329 -0
  75. package/types/generated/ibc/core/channel/v1/query.ts +4214 -0
  76. package/types/generated/ibc/core/channel/v1/upgrade.ts +330 -0
  77. package/types/generated/ibc/core/client/v1/client.ts +726 -0
  78. package/types/generated/ibc/core/client/v1/query.ts +2208 -0
  79. package/types/generated/ibc/core/commitment/v1/commitment.ts +329 -0
  80. package/types/generated/ibc/core/connection/v1/connection.ts +813 -0
  81. package/types/generated/ibc/core/connection/v1/query.ts +1442 -0
  82. package/types/generated/ibc/lightclients/wasm/v1/query.ts +484 -0
  83. package/types/generated/tendermint/abci/types.ts +6429 -0
  84. package/types/generated/tendermint/crypto/keys.ts +137 -0
  85. package/types/generated/tendermint/crypto/proof.ts +506 -0
  86. package/types/generated/tendermint/p2p/types.ts +514 -0
  87. package/types/generated/tendermint/types/block.ts +151 -0
  88. package/types/generated/tendermint/types/evidence.ts +493 -0
  89. package/types/generated/tendermint/types/params.ts +687 -0
  90. package/types/generated/tendermint/types/types.ts +2069 -0
  91. package/types/generated/tendermint/types/validator.ts +409 -0
  92. package/types/generated/tendermint/version/types.ts +202 -0
  93. package/types/generated/xion/globalfee/v1/genesis.ts +219 -0
  94. package/types/generated/xion/globalfee/v1/query.ts +269 -0
  95. package/types/generated/xion/jwk/v1/audience.ts +188 -0
  96. package/types/generated/xion/jwk/v1/params.ts +118 -0
  97. package/types/generated/xion/jwk/v1/query.ts +1061 -0
  98. package/types/generated/xion/mint/v1/mint.ts +273 -0
  99. package/types/generated/xion/mint/v1/query.ts +589 -0
  100. package/types/generated/xion/v1/query.ts +878 -0
package/README.md ADDED
@@ -0,0 +1,111 @@
1
+ # @burnt-labs/xion-types
2
+
3
+ TypeScript definitions for Xion Protobuf files. This package provides TypeScript type definitions generated from the Protobuf files used in the Xion project, enabling developers to work with Xion-related data structures in a type-safe way.
4
+
5
+ ## Table of Contents
6
+
7
+ - [@burnt-labs/xion-types](#burnt-labsxion-types)
8
+ - [Table of Contents](#table-of-contents)
9
+ - [Installation](#installation)
10
+ - [Usage](#usage)
11
+ - [Example](#example)
12
+ - [Development](#development)
13
+ - [License](#license)
14
+
15
+ ---
16
+
17
+ ## Installation
18
+
19
+ Install the **@burnt-labs/xion-types** package via npm or yarn:
20
+
21
+ ```bash
22
+ # Using npm
23
+ npm install @burnt-labs/xion-types
24
+
25
+ # Using yarn
26
+ yarn add @burnt-labs/xion-types
27
+ ```
28
+
29
+ ---
30
+
31
+ ## Usage
32
+
33
+ Once installed, you can import the type definitions in your TypeScript project. The types are generated from the Protobuf files used in the Xion project.
34
+
35
+ ```typescript
36
+ import { MyProtobufType } from '@burnt-labs/xion-types/types/filename';
37
+
38
+ const myData: MyProtobufType = {
39
+ field1: 'value',
40
+ field2: 42
41
+ };
42
+ ```
43
+
44
+ > **Note:** Replace `filename` with the appropriate file name where the type is defined.
45
+
46
+ ---
47
+
48
+ ## Example
49
+
50
+ Here is a full example of how you might use the **@burnt-labs/xion-types** package in a TypeScript project:
51
+
52
+ ```typescript
53
+ import { MyProtobufType } from '@burnt-labs/xion-types/types/filename';
54
+
55
+ function processData(data: MyProtobufType): void {
56
+ console.log(`Field 1: ${data.field1}`);
57
+ console.log(`Field 2: ${data.field2}`);
58
+ }
59
+
60
+ const sampleData: MyProtobufType = {
61
+ field1: 'Hello, Xion!',
62
+ field2: 100
63
+ };
64
+
65
+ processData(sampleData);
66
+ ```
67
+
68
+ > This simple example illustrates how you can work with the types generated from Xion's Protobuf definitions.
69
+
70
+ ---
71
+
72
+ ## Development
73
+
74
+ If you want to modify or regenerate the TypeScript definitions from Protobuf files, follow these steps:
75
+
76
+ 1. **Clone the Repository**
77
+ ```bash
78
+ git clone https://github.com/burnt-labs/xion.git
79
+ cd xion
80
+ ```
81
+
82
+ 2. **Install Dependencies**
83
+ ```bash
84
+ npm install
85
+ ```
86
+
87
+ 3. **Generate TypeScript Definitions**
88
+ ```bash
89
+ npx protoc --plugin=protoc-gen-ts=./node_modules/.bin/protoc-gen-ts \
90
+ --ts_out=./generated \
91
+ --proto_path=./proto \
92
+ $(find ./proto -name '*.proto')
93
+ ```
94
+
95
+ 4. **Compile TypeScript Files**
96
+ ```bash
97
+ tsc --noEmit
98
+ ```
99
+
100
+ > These steps will generate the TypeScript definitions from the Protobuf files located in the `proto` directory.
101
+
102
+ ---
103
+
104
+ ## License
105
+
106
+ This project is licensed under the MIT License. See the LICENSE file for details.
107
+
108
+ ---
109
+
110
+ For more information, check out [Xion's GitHub repository](https://github.com/burnt-labs/xion).
111
+
package/package.json ADDED
@@ -0,0 +1,26 @@
1
+ {
2
+ "name": "@burnt-labs/xion-types",
3
+ "version": "16.0.0",
4
+ "description": "TypeScript definitions for Xion Protobuf files",
5
+ "main": "index.js",
6
+ "types": "types/index.d.ts",
7
+ "files": [
8
+ "types/"
9
+ ],
10
+ "scripts": {
11
+ "build": "../../scripts/proto-gen.sh --ts",
12
+ "test": "jest"
13
+ },
14
+ "license": "MIT",
15
+ "dependencies": {
16
+ "@improbable-eng/grpc-web": "^0.14.1",
17
+ "browser-headers": "^0.4.1",
18
+ "google-protobuf": "^3.17.3",
19
+ "long": "^4.0.0",
20
+ "protobufjs": "~6.11.2"
21
+ },
22
+ "devDependencies": {
23
+ "prettier": "^2.3.0",
24
+ "ts-proto": "^1.82.5"
25
+ }
26
+ }
package/types/.gitkeep ADDED
File without changes
@@ -0,0 +1,9 @@
1
+ // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
2
+ // versions:
3
+ // protoc-gen-ts_proto v1.181.2
4
+ // protoc unknown
5
+ // source: amino/amino.proto
6
+
7
+ /* eslint-disable */
8
+
9
+ export const protobufPackage = "amino";
@@ -0,0 +1,336 @@
1
+ // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
2
+ // versions:
3
+ // protoc-gen-ts_proto v1.181.2
4
+ // protoc unknown
5
+ // source: cosmos/app/v1alpha1/config.proto
6
+
7
+ /* eslint-disable */
8
+ import Long from "long";
9
+ import _m0 from "protobufjs/minimal";
10
+ import { Any } from "../../../google/protobuf/any";
11
+
12
+ export const protobufPackage = "cosmos.app.v1alpha1";
13
+
14
+ /**
15
+ * Config represents the configuration for a Cosmos SDK ABCI app.
16
+ * It is intended that all state machine logic including the version of
17
+ * baseapp and tx handlers (and possibly even Tendermint) that an app needs
18
+ * can be described in a config object. For compatibility, the framework should
19
+ * allow a mixture of declarative and imperative app wiring, however, apps
20
+ * that strive for the maximum ease of maintainability should be able to describe
21
+ * their state machine with a config object alone.
22
+ */
23
+ export interface Config {
24
+ /** modules are the module configurations for the app. */
25
+ modules: ModuleConfig[];
26
+ /**
27
+ * golang_bindings specifies explicit interface to implementation type bindings which
28
+ * depinject uses to resolve interface inputs to provider functions. The scope of this
29
+ * field's configuration is global (not module specific).
30
+ */
31
+ golangBindings: GolangBinding[];
32
+ }
33
+
34
+ /** ModuleConfig is a module configuration for an app. */
35
+ export interface ModuleConfig {
36
+ /**
37
+ * name is the unique name of the module within the app. It should be a name
38
+ * that persists between different versions of a module so that modules
39
+ * can be smoothly upgraded to new versions.
40
+ *
41
+ * For example, for the module cosmos.bank.module.v1.Module, we may chose
42
+ * to simply name the module "bank" in the app. When we upgrade to
43
+ * cosmos.bank.module.v2.Module, the app-specific name "bank" stays the same
44
+ * and the framework knows that the v2 module should receive all the same state
45
+ * that the v1 module had. Note: modules should provide info on which versions
46
+ * they can migrate from in the ModuleDescriptor.can_migration_from field.
47
+ */
48
+ name: string;
49
+ /**
50
+ * config is the config object for the module. Module config messages should
51
+ * define a ModuleDescriptor using the cosmos.app.v1alpha1.is_module extension.
52
+ */
53
+ config?:
54
+ | Any
55
+ | undefined;
56
+ /**
57
+ * golang_bindings specifies explicit interface to implementation type bindings which
58
+ * depinject uses to resolve interface inputs to provider functions. The scope of this
59
+ * field's configuration is module specific.
60
+ */
61
+ golangBindings: GolangBinding[];
62
+ }
63
+
64
+ /** GolangBinding is an explicit interface type to implementing type binding for dependency injection. */
65
+ export interface GolangBinding {
66
+ /** interface_type is the interface type which will be bound to a specific implementation type */
67
+ interfaceType: string;
68
+ /** implementation is the implementing type which will be supplied when an input of type interface is requested */
69
+ implementation: string;
70
+ }
71
+
72
+ function createBaseConfig(): Config {
73
+ return { modules: [], golangBindings: [] };
74
+ }
75
+
76
+ export const Config = {
77
+ encode(message: Config, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
78
+ for (const v of message.modules) {
79
+ ModuleConfig.encode(v!, writer.uint32(10).fork()).ldelim();
80
+ }
81
+ for (const v of message.golangBindings) {
82
+ GolangBinding.encode(v!, writer.uint32(18).fork()).ldelim();
83
+ }
84
+ return writer;
85
+ },
86
+
87
+ decode(input: _m0.Reader | Uint8Array, length?: number): Config {
88
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
89
+ let end = length === undefined ? reader.len : reader.pos + length;
90
+ const message = createBaseConfig();
91
+ while (reader.pos < end) {
92
+ const tag = reader.uint32();
93
+ switch (tag >>> 3) {
94
+ case 1:
95
+ if (tag !== 10) {
96
+ break;
97
+ }
98
+
99
+ message.modules.push(ModuleConfig.decode(reader, reader.uint32()));
100
+ continue;
101
+ case 2:
102
+ if (tag !== 18) {
103
+ break;
104
+ }
105
+
106
+ message.golangBindings.push(GolangBinding.decode(reader, reader.uint32()));
107
+ continue;
108
+ }
109
+ if ((tag & 7) === 4 || tag === 0) {
110
+ break;
111
+ }
112
+ reader.skipType(tag & 7);
113
+ }
114
+ return message;
115
+ },
116
+
117
+ fromJSON(object: any): Config {
118
+ return {
119
+ modules: globalThis.Array.isArray(object?.modules)
120
+ ? object.modules.map((e: any) => ModuleConfig.fromJSON(e))
121
+ : [],
122
+ golangBindings: globalThis.Array.isArray(object?.golangBindings)
123
+ ? object.golangBindings.map((e: any) => GolangBinding.fromJSON(e))
124
+ : [],
125
+ };
126
+ },
127
+
128
+ toJSON(message: Config): unknown {
129
+ const obj: any = {};
130
+ if (message.modules?.length) {
131
+ obj.modules = message.modules.map((e) => ModuleConfig.toJSON(e));
132
+ }
133
+ if (message.golangBindings?.length) {
134
+ obj.golangBindings = message.golangBindings.map((e) => GolangBinding.toJSON(e));
135
+ }
136
+ return obj;
137
+ },
138
+
139
+ create<I extends Exact<DeepPartial<Config>, I>>(base?: I): Config {
140
+ return Config.fromPartial(base ?? ({} as any));
141
+ },
142
+ fromPartial<I extends Exact<DeepPartial<Config>, I>>(object: I): Config {
143
+ const message = createBaseConfig();
144
+ message.modules = object.modules?.map((e) => ModuleConfig.fromPartial(e)) || [];
145
+ message.golangBindings = object.golangBindings?.map((e) => GolangBinding.fromPartial(e)) || [];
146
+ return message;
147
+ },
148
+ };
149
+
150
+ function createBaseModuleConfig(): ModuleConfig {
151
+ return { name: "", config: undefined, golangBindings: [] };
152
+ }
153
+
154
+ export const ModuleConfig = {
155
+ encode(message: ModuleConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
156
+ if (message.name !== "") {
157
+ writer.uint32(10).string(message.name);
158
+ }
159
+ if (message.config !== undefined) {
160
+ Any.encode(message.config, writer.uint32(18).fork()).ldelim();
161
+ }
162
+ for (const v of message.golangBindings) {
163
+ GolangBinding.encode(v!, writer.uint32(26).fork()).ldelim();
164
+ }
165
+ return writer;
166
+ },
167
+
168
+ decode(input: _m0.Reader | Uint8Array, length?: number): ModuleConfig {
169
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
170
+ let end = length === undefined ? reader.len : reader.pos + length;
171
+ const message = createBaseModuleConfig();
172
+ while (reader.pos < end) {
173
+ const tag = reader.uint32();
174
+ switch (tag >>> 3) {
175
+ case 1:
176
+ if (tag !== 10) {
177
+ break;
178
+ }
179
+
180
+ message.name = reader.string();
181
+ continue;
182
+ case 2:
183
+ if (tag !== 18) {
184
+ break;
185
+ }
186
+
187
+ message.config = Any.decode(reader, reader.uint32());
188
+ continue;
189
+ case 3:
190
+ if (tag !== 26) {
191
+ break;
192
+ }
193
+
194
+ message.golangBindings.push(GolangBinding.decode(reader, reader.uint32()));
195
+ continue;
196
+ }
197
+ if ((tag & 7) === 4 || tag === 0) {
198
+ break;
199
+ }
200
+ reader.skipType(tag & 7);
201
+ }
202
+ return message;
203
+ },
204
+
205
+ fromJSON(object: any): ModuleConfig {
206
+ return {
207
+ name: isSet(object.name) ? globalThis.String(object.name) : "",
208
+ config: isSet(object.config) ? Any.fromJSON(object.config) : undefined,
209
+ golangBindings: globalThis.Array.isArray(object?.golangBindings)
210
+ ? object.golangBindings.map((e: any) => GolangBinding.fromJSON(e))
211
+ : [],
212
+ };
213
+ },
214
+
215
+ toJSON(message: ModuleConfig): unknown {
216
+ const obj: any = {};
217
+ if (message.name !== "") {
218
+ obj.name = message.name;
219
+ }
220
+ if (message.config !== undefined) {
221
+ obj.config = Any.toJSON(message.config);
222
+ }
223
+ if (message.golangBindings?.length) {
224
+ obj.golangBindings = message.golangBindings.map((e) => GolangBinding.toJSON(e));
225
+ }
226
+ return obj;
227
+ },
228
+
229
+ create<I extends Exact<DeepPartial<ModuleConfig>, I>>(base?: I): ModuleConfig {
230
+ return ModuleConfig.fromPartial(base ?? ({} as any));
231
+ },
232
+ fromPartial<I extends Exact<DeepPartial<ModuleConfig>, I>>(object: I): ModuleConfig {
233
+ const message = createBaseModuleConfig();
234
+ message.name = object.name ?? "";
235
+ message.config = (object.config !== undefined && object.config !== null)
236
+ ? Any.fromPartial(object.config)
237
+ : undefined;
238
+ message.golangBindings = object.golangBindings?.map((e) => GolangBinding.fromPartial(e)) || [];
239
+ return message;
240
+ },
241
+ };
242
+
243
+ function createBaseGolangBinding(): GolangBinding {
244
+ return { interfaceType: "", implementation: "" };
245
+ }
246
+
247
+ export const GolangBinding = {
248
+ encode(message: GolangBinding, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
249
+ if (message.interfaceType !== "") {
250
+ writer.uint32(10).string(message.interfaceType);
251
+ }
252
+ if (message.implementation !== "") {
253
+ writer.uint32(18).string(message.implementation);
254
+ }
255
+ return writer;
256
+ },
257
+
258
+ decode(input: _m0.Reader | Uint8Array, length?: number): GolangBinding {
259
+ const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);
260
+ let end = length === undefined ? reader.len : reader.pos + length;
261
+ const message = createBaseGolangBinding();
262
+ while (reader.pos < end) {
263
+ const tag = reader.uint32();
264
+ switch (tag >>> 3) {
265
+ case 1:
266
+ if (tag !== 10) {
267
+ break;
268
+ }
269
+
270
+ message.interfaceType = reader.string();
271
+ continue;
272
+ case 2:
273
+ if (tag !== 18) {
274
+ break;
275
+ }
276
+
277
+ message.implementation = reader.string();
278
+ continue;
279
+ }
280
+ if ((tag & 7) === 4 || tag === 0) {
281
+ break;
282
+ }
283
+ reader.skipType(tag & 7);
284
+ }
285
+ return message;
286
+ },
287
+
288
+ fromJSON(object: any): GolangBinding {
289
+ return {
290
+ interfaceType: isSet(object.interfaceType) ? globalThis.String(object.interfaceType) : "",
291
+ implementation: isSet(object.implementation) ? globalThis.String(object.implementation) : "",
292
+ };
293
+ },
294
+
295
+ toJSON(message: GolangBinding): unknown {
296
+ const obj: any = {};
297
+ if (message.interfaceType !== "") {
298
+ obj.interfaceType = message.interfaceType;
299
+ }
300
+ if (message.implementation !== "") {
301
+ obj.implementation = message.implementation;
302
+ }
303
+ return obj;
304
+ },
305
+
306
+ create<I extends Exact<DeepPartial<GolangBinding>, I>>(base?: I): GolangBinding {
307
+ return GolangBinding.fromPartial(base ?? ({} as any));
308
+ },
309
+ fromPartial<I extends Exact<DeepPartial<GolangBinding>, I>>(object: I): GolangBinding {
310
+ const message = createBaseGolangBinding();
311
+ message.interfaceType = object.interfaceType ?? "";
312
+ message.implementation = object.implementation ?? "";
313
+ return message;
314
+ },
315
+ };
316
+
317
+ type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
318
+
319
+ export type DeepPartial<T> = T extends Builtin ? T
320
+ : T extends Long ? string | number | Long : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>>
321
+ : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>>
322
+ : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]> }
323
+ : Partial<T>;
324
+
325
+ type KeysOfUnion<T> = T extends T ? keyof T : never;
326
+ export type Exact<P, I extends P> = P extends Builtin ? P
327
+ : P & { [K in keyof P]: Exact<P[K], I[K]> } & { [K in Exclude<keyof I, KeysOfUnion<P>>]: never };
328
+
329
+ if (_m0.util.Long !== Long) {
330
+ _m0.util.Long = Long as any;
331
+ _m0.configure();
332
+ }
333
+
334
+ function isSet(value: any): boolean {
335
+ return value !== null && value !== undefined;
336
+ }