@latticexyz/services 2.0.0-next.2 → 2.0.0-next.3

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.
package/bin/faucet CHANGED
Binary file
package/bin/mode CHANGED
Binary file
package/dist/faucet.js CHANGED
@@ -911,6 +911,12 @@ if (_m0.util.Long !== Long) {
911
911
  _m0.util.Long = Long;
912
912
  _m0.configure();
913
913
  }
914
+
915
+ // ts/faucet/createFaucetService.ts
916
+ import { createChannel, createClient } from "nice-grpc-web";
917
+ function createFaucetService(url) {
918
+ return createClient(FaucetServiceDefinition, createChannel(url));
919
+ }
914
920
  export {
915
921
  DripDevRequest,
916
922
  DripRequest,
@@ -930,6 +936,7 @@ export {
930
936
  SetLinkedTwitterRequest,
931
937
  SetLinkedTwitterResponse,
932
938
  TimeUntilDripResponse,
939
+ createFaucetService,
933
940
  protobufPackage
934
941
  };
935
942
  //# sourceMappingURL=faucet.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../protobuf/ts/faucet/faucet.ts"],"sourcesContent":["/* eslint-disable */\nimport Long from \"long\";\nimport type { CallContext, CallOptions } from \"nice-grpc-common\";\nimport _m0 from \"protobufjs/minimal.js\";\n\nexport const protobufPackage = \"faucet\";\n\nexport interface LinkedTwitterPair {\n username: string;\n address: string;\n}\n\nexport interface FaucetStore {\n addressToUsername: { [key: string]: string };\n usernameToAddress: { [key: string]: string };\n /** User id/name/address to timestamp of latest drip. */\n latestDrip: { [key: string]: number };\n /** Global drip counter. */\n totalDripCount: number;\n}\n\nexport interface FaucetStore_AddressToUsernameEntry {\n key: string;\n value: string;\n}\n\nexport interface FaucetStore_UsernameToAddressEntry {\n key: string;\n value: string;\n}\n\nexport interface FaucetStore_LatestDripEntry {\n key: string;\n value: number;\n}\n\n/** Request for drip. */\nexport interface DripRequest {\n username: string;\n address: string;\n}\n\n/** Request for drip to any address when running in dev mode. */\nexport interface DripDevRequest {\n address: string;\n}\n\n/** Response for drip request that contains the transaction hash of the drip tx and the ECS component set hash (if any). */\nexport interface DripResponse {\n dripTxHash: string;\n ecsTxHash: string;\n}\n\n/** Response for the time until next drip request. */\nexport interface TimeUntilDripResponse {\n timeUntilDripMinutes: number;\n timeUntilDripSeconds: number;\n}\n\nexport interface GetLinkedTwittersRequest {}\n\nexport interface GetLinkedTwittersResponse {\n linkedTwitters: LinkedTwitterPair[];\n}\n\nexport interface LinkedTwitterForAddressRequest {\n address: string;\n}\n\nexport interface LinkedTwitterForAddressResponse {\n username: string;\n}\n\nexport interface LinkedAddressForTwitterRequest {\n username: string;\n}\n\nexport interface LinkedAddressForTwitterResponse {\n address: string;\n}\n\nexport interface SetLinkedTwitterRequest {\n address: string;\n username: string;\n signature: string;\n}\n\nexport interface SetLinkedTwitterResponse {}\n\nfunction createBaseLinkedTwitterPair(): LinkedTwitterPair {\n return { username: \"\", address: \"\" };\n}\n\nexport const LinkedTwitterPair = {\n encode(message: LinkedTwitterPair, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.username !== \"\") {\n writer.uint32(10).string(message.username);\n }\n if (message.address !== \"\") {\n writer.uint32(18).string(message.address);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): LinkedTwitterPair {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseLinkedTwitterPair();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n\n message.username = reader.string();\n continue;\n case 2:\n if (tag != 18) {\n break;\n }\n\n message.address = reader.string();\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<LinkedTwitterPair>): LinkedTwitterPair {\n return LinkedTwitterPair.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<LinkedTwitterPair>): LinkedTwitterPair {\n const message = createBaseLinkedTwitterPair();\n message.username = object.username ?? \"\";\n message.address = object.address ?? \"\";\n return message;\n },\n};\n\nfunction createBaseFaucetStore(): FaucetStore {\n return { addressToUsername: {}, usernameToAddress: {}, latestDrip: {}, totalDripCount: 0 };\n}\n\nexport const FaucetStore = {\n encode(message: FaucetStore, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n Object.entries(message.addressToUsername).forEach(([key, value]) => {\n FaucetStore_AddressToUsernameEntry.encode({ key: key as any, value }, writer.uint32(10).fork()).ldelim();\n });\n Object.entries(message.usernameToAddress).forEach(([key, value]) => {\n FaucetStore_UsernameToAddressEntry.encode({ key: key as any, value }, writer.uint32(18).fork()).ldelim();\n });\n Object.entries(message.latestDrip).forEach(([key, value]) => {\n FaucetStore_LatestDripEntry.encode({ key: key as any, value }, writer.uint32(26).fork()).ldelim();\n });\n if (message.totalDripCount !== 0) {\n writer.uint32(33).double(message.totalDripCount);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): FaucetStore {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseFaucetStore();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n\n const entry1 = FaucetStore_AddressToUsernameEntry.decode(reader, reader.uint32());\n if (entry1.value !== undefined) {\n message.addressToUsername[entry1.key] = entry1.value;\n }\n continue;\n case 2:\n if (tag != 18) {\n break;\n }\n\n const entry2 = FaucetStore_UsernameToAddressEntry.decode(reader, reader.uint32());\n if (entry2.value !== undefined) {\n message.usernameToAddress[entry2.key] = entry2.value;\n }\n continue;\n case 3:\n if (tag != 26) {\n break;\n }\n\n const entry3 = FaucetStore_LatestDripEntry.decode(reader, reader.uint32());\n if (entry3.value !== undefined) {\n message.latestDrip[entry3.key] = entry3.value;\n }\n continue;\n case 4:\n if (tag != 33) {\n break;\n }\n\n message.totalDripCount = reader.double();\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<FaucetStore>): FaucetStore {\n return FaucetStore.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<FaucetStore>): FaucetStore {\n const message = createBaseFaucetStore();\n message.addressToUsername = Object.entries(object.addressToUsername ?? {}).reduce<{ [key: string]: string }>(\n (acc, [key, value]) => {\n if (value !== undefined) {\n acc[key] = String(value);\n }\n return acc;\n },\n {}\n );\n message.usernameToAddress = Object.entries(object.usernameToAddress ?? {}).reduce<{ [key: string]: string }>(\n (acc, [key, value]) => {\n if (value !== undefined) {\n acc[key] = String(value);\n }\n return acc;\n },\n {}\n );\n message.latestDrip = Object.entries(object.latestDrip ?? {}).reduce<{ [key: string]: number }>(\n (acc, [key, value]) => {\n if (value !== undefined) {\n acc[key] = Number(value);\n }\n return acc;\n },\n {}\n );\n message.totalDripCount = object.totalDripCount ?? 0;\n return message;\n },\n};\n\nfunction createBaseFaucetStore_AddressToUsernameEntry(): FaucetStore_AddressToUsernameEntry {\n return { key: \"\", value: \"\" };\n}\n\nexport const FaucetStore_AddressToUsernameEntry = {\n encode(message: FaucetStore_AddressToUsernameEntry, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.key !== \"\") {\n writer.uint32(10).string(message.key);\n }\n if (message.value !== \"\") {\n writer.uint32(18).string(message.value);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): FaucetStore_AddressToUsernameEntry {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseFaucetStore_AddressToUsernameEntry();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n\n message.key = reader.string();\n continue;\n case 2:\n if (tag != 18) {\n break;\n }\n\n message.value = reader.string();\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<FaucetStore_AddressToUsernameEntry>): FaucetStore_AddressToUsernameEntry {\n return FaucetStore_AddressToUsernameEntry.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<FaucetStore_AddressToUsernameEntry>): FaucetStore_AddressToUsernameEntry {\n const message = createBaseFaucetStore_AddressToUsernameEntry();\n message.key = object.key ?? \"\";\n message.value = object.value ?? \"\";\n return message;\n },\n};\n\nfunction createBaseFaucetStore_UsernameToAddressEntry(): FaucetStore_UsernameToAddressEntry {\n return { key: \"\", value: \"\" };\n}\n\nexport const FaucetStore_UsernameToAddressEntry = {\n encode(message: FaucetStore_UsernameToAddressEntry, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.key !== \"\") {\n writer.uint32(10).string(message.key);\n }\n if (message.value !== \"\") {\n writer.uint32(18).string(message.value);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): FaucetStore_UsernameToAddressEntry {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseFaucetStore_UsernameToAddressEntry();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n\n message.key = reader.string();\n continue;\n case 2:\n if (tag != 18) {\n break;\n }\n\n message.value = reader.string();\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<FaucetStore_UsernameToAddressEntry>): FaucetStore_UsernameToAddressEntry {\n return FaucetStore_UsernameToAddressEntry.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<FaucetStore_UsernameToAddressEntry>): FaucetStore_UsernameToAddressEntry {\n const message = createBaseFaucetStore_UsernameToAddressEntry();\n message.key = object.key ?? \"\";\n message.value = object.value ?? \"\";\n return message;\n },\n};\n\nfunction createBaseFaucetStore_LatestDripEntry(): FaucetStore_LatestDripEntry {\n return { key: \"\", value: 0 };\n}\n\nexport const FaucetStore_LatestDripEntry = {\n encode(message: FaucetStore_LatestDripEntry, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.key !== \"\") {\n writer.uint32(10).string(message.key);\n }\n if (message.value !== 0) {\n writer.uint32(16).int64(message.value);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): FaucetStore_LatestDripEntry {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseFaucetStore_LatestDripEntry();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n\n message.key = reader.string();\n continue;\n case 2:\n if (tag != 16) {\n break;\n }\n\n message.value = longToNumber(reader.int64() as Long);\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<FaucetStore_LatestDripEntry>): FaucetStore_LatestDripEntry {\n return FaucetStore_LatestDripEntry.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<FaucetStore_LatestDripEntry>): FaucetStore_LatestDripEntry {\n const message = createBaseFaucetStore_LatestDripEntry();\n message.key = object.key ?? \"\";\n message.value = object.value ?? 0;\n return message;\n },\n};\n\nfunction createBaseDripRequest(): DripRequest {\n return { username: \"\", address: \"\" };\n}\n\nexport const DripRequest = {\n encode(message: DripRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.username !== \"\") {\n writer.uint32(10).string(message.username);\n }\n if (message.address !== \"\") {\n writer.uint32(18).string(message.address);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): DripRequest {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseDripRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n\n message.username = reader.string();\n continue;\n case 2:\n if (tag != 18) {\n break;\n }\n\n message.address = reader.string();\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<DripRequest>): DripRequest {\n return DripRequest.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<DripRequest>): DripRequest {\n const message = createBaseDripRequest();\n message.username = object.username ?? \"\";\n message.address = object.address ?? \"\";\n return message;\n },\n};\n\nfunction createBaseDripDevRequest(): DripDevRequest {\n return { address: \"\" };\n}\n\nexport const DripDevRequest = {\n encode(message: DripDevRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.address !== \"\") {\n writer.uint32(10).string(message.address);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): DripDevRequest {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseDripDevRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n\n message.address = reader.string();\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<DripDevRequest>): DripDevRequest {\n return DripDevRequest.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<DripDevRequest>): DripDevRequest {\n const message = createBaseDripDevRequest();\n message.address = object.address ?? \"\";\n return message;\n },\n};\n\nfunction createBaseDripResponse(): DripResponse {\n return { dripTxHash: \"\", ecsTxHash: \"\" };\n}\n\nexport const DripResponse = {\n encode(message: DripResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.dripTxHash !== \"\") {\n writer.uint32(10).string(message.dripTxHash);\n }\n if (message.ecsTxHash !== \"\") {\n writer.uint32(18).string(message.ecsTxHash);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): DripResponse {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseDripResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n\n message.dripTxHash = reader.string();\n continue;\n case 2:\n if (tag != 18) {\n break;\n }\n\n message.ecsTxHash = reader.string();\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<DripResponse>): DripResponse {\n return DripResponse.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<DripResponse>): DripResponse {\n const message = createBaseDripResponse();\n message.dripTxHash = object.dripTxHash ?? \"\";\n message.ecsTxHash = object.ecsTxHash ?? \"\";\n return message;\n },\n};\n\nfunction createBaseTimeUntilDripResponse(): TimeUntilDripResponse {\n return { timeUntilDripMinutes: 0, timeUntilDripSeconds: 0 };\n}\n\nexport const TimeUntilDripResponse = {\n encode(message: TimeUntilDripResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.timeUntilDripMinutes !== 0) {\n writer.uint32(9).double(message.timeUntilDripMinutes);\n }\n if (message.timeUntilDripSeconds !== 0) {\n writer.uint32(17).double(message.timeUntilDripSeconds);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): TimeUntilDripResponse {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseTimeUntilDripResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 9) {\n break;\n }\n\n message.timeUntilDripMinutes = reader.double();\n continue;\n case 2:\n if (tag != 17) {\n break;\n }\n\n message.timeUntilDripSeconds = reader.double();\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<TimeUntilDripResponse>): TimeUntilDripResponse {\n return TimeUntilDripResponse.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<TimeUntilDripResponse>): TimeUntilDripResponse {\n const message = createBaseTimeUntilDripResponse();\n message.timeUntilDripMinutes = object.timeUntilDripMinutes ?? 0;\n message.timeUntilDripSeconds = object.timeUntilDripSeconds ?? 0;\n return message;\n },\n};\n\nfunction createBaseGetLinkedTwittersRequest(): GetLinkedTwittersRequest {\n return {};\n}\n\nexport const GetLinkedTwittersRequest = {\n encode(_: GetLinkedTwittersRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): GetLinkedTwittersRequest {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGetLinkedTwittersRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<GetLinkedTwittersRequest>): GetLinkedTwittersRequest {\n return GetLinkedTwittersRequest.fromPartial(base ?? {});\n },\n\n fromPartial(_: DeepPartial<GetLinkedTwittersRequest>): GetLinkedTwittersRequest {\n const message = createBaseGetLinkedTwittersRequest();\n return message;\n },\n};\n\nfunction createBaseGetLinkedTwittersResponse(): GetLinkedTwittersResponse {\n return { linkedTwitters: [] };\n}\n\nexport const GetLinkedTwittersResponse = {\n encode(message: GetLinkedTwittersResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n for (const v of message.linkedTwitters) {\n LinkedTwitterPair.encode(v!, writer.uint32(10).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): GetLinkedTwittersResponse {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGetLinkedTwittersResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n\n message.linkedTwitters.push(LinkedTwitterPair.decode(reader, reader.uint32()));\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<GetLinkedTwittersResponse>): GetLinkedTwittersResponse {\n return GetLinkedTwittersResponse.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<GetLinkedTwittersResponse>): GetLinkedTwittersResponse {\n const message = createBaseGetLinkedTwittersResponse();\n message.linkedTwitters = object.linkedTwitters?.map((e) => LinkedTwitterPair.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction createBaseLinkedTwitterForAddressRequest(): LinkedTwitterForAddressRequest {\n return { address: \"\" };\n}\n\nexport const LinkedTwitterForAddressRequest = {\n encode(message: LinkedTwitterForAddressRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.address !== \"\") {\n writer.uint32(10).string(message.address);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): LinkedTwitterForAddressRequest {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseLinkedTwitterForAddressRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n\n message.address = reader.string();\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<LinkedTwitterForAddressRequest>): LinkedTwitterForAddressRequest {\n return LinkedTwitterForAddressRequest.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<LinkedTwitterForAddressRequest>): LinkedTwitterForAddressRequest {\n const message = createBaseLinkedTwitterForAddressRequest();\n message.address = object.address ?? \"\";\n return message;\n },\n};\n\nfunction createBaseLinkedTwitterForAddressResponse(): LinkedTwitterForAddressResponse {\n return { username: \"\" };\n}\n\nexport const LinkedTwitterForAddressResponse = {\n encode(message: LinkedTwitterForAddressResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.username !== \"\") {\n writer.uint32(10).string(message.username);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): LinkedTwitterForAddressResponse {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseLinkedTwitterForAddressResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n\n message.username = reader.string();\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<LinkedTwitterForAddressResponse>): LinkedTwitterForAddressResponse {\n return LinkedTwitterForAddressResponse.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<LinkedTwitterForAddressResponse>): LinkedTwitterForAddressResponse {\n const message = createBaseLinkedTwitterForAddressResponse();\n message.username = object.username ?? \"\";\n return message;\n },\n};\n\nfunction createBaseLinkedAddressForTwitterRequest(): LinkedAddressForTwitterRequest {\n return { username: \"\" };\n}\n\nexport const LinkedAddressForTwitterRequest = {\n encode(message: LinkedAddressForTwitterRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.username !== \"\") {\n writer.uint32(10).string(message.username);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): LinkedAddressForTwitterRequest {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseLinkedAddressForTwitterRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n\n message.username = reader.string();\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<LinkedAddressForTwitterRequest>): LinkedAddressForTwitterRequest {\n return LinkedAddressForTwitterRequest.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<LinkedAddressForTwitterRequest>): LinkedAddressForTwitterRequest {\n const message = createBaseLinkedAddressForTwitterRequest();\n message.username = object.username ?? \"\";\n return message;\n },\n};\n\nfunction createBaseLinkedAddressForTwitterResponse(): LinkedAddressForTwitterResponse {\n return { address: \"\" };\n}\n\nexport const LinkedAddressForTwitterResponse = {\n encode(message: LinkedAddressForTwitterResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.address !== \"\") {\n writer.uint32(10).string(message.address);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): LinkedAddressForTwitterResponse {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseLinkedAddressForTwitterResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n\n message.address = reader.string();\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<LinkedAddressForTwitterResponse>): LinkedAddressForTwitterResponse {\n return LinkedAddressForTwitterResponse.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<LinkedAddressForTwitterResponse>): LinkedAddressForTwitterResponse {\n const message = createBaseLinkedAddressForTwitterResponse();\n message.address = object.address ?? \"\";\n return message;\n },\n};\n\nfunction createBaseSetLinkedTwitterRequest(): SetLinkedTwitterRequest {\n return { address: \"\", username: \"\", signature: \"\" };\n}\n\nexport const SetLinkedTwitterRequest = {\n encode(message: SetLinkedTwitterRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.address !== \"\") {\n writer.uint32(10).string(message.address);\n }\n if (message.username !== \"\") {\n writer.uint32(18).string(message.username);\n }\n if (message.signature !== \"\") {\n writer.uint32(26).string(message.signature);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): SetLinkedTwitterRequest {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseSetLinkedTwitterRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n\n message.address = reader.string();\n continue;\n case 2:\n if (tag != 18) {\n break;\n }\n\n message.username = reader.string();\n continue;\n case 3:\n if (tag != 26) {\n break;\n }\n\n message.signature = reader.string();\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<SetLinkedTwitterRequest>): SetLinkedTwitterRequest {\n return SetLinkedTwitterRequest.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<SetLinkedTwitterRequest>): SetLinkedTwitterRequest {\n const message = createBaseSetLinkedTwitterRequest();\n message.address = object.address ?? \"\";\n message.username = object.username ?? \"\";\n message.signature = object.signature ?? \"\";\n return message;\n },\n};\n\nfunction createBaseSetLinkedTwitterResponse(): SetLinkedTwitterResponse {\n return {};\n}\n\nexport const SetLinkedTwitterResponse = {\n encode(_: SetLinkedTwitterResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): SetLinkedTwitterResponse {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseSetLinkedTwitterResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<SetLinkedTwitterResponse>): SetLinkedTwitterResponse {\n return SetLinkedTwitterResponse.fromPartial(base ?? {});\n },\n\n fromPartial(_: DeepPartial<SetLinkedTwitterResponse>): SetLinkedTwitterResponse {\n const message = createBaseSetLinkedTwitterResponse();\n return message;\n },\n};\n\n/** The Faucet Service definition. */\nexport type FaucetServiceDefinition = typeof FaucetServiceDefinition;\nexport const FaucetServiceDefinition = {\n name: \"FaucetService\",\n fullName: \"faucet.FaucetService\",\n methods: {\n drip: {\n name: \"Drip\",\n requestType: DripRequest,\n requestStream: false,\n responseType: DripResponse,\n responseStream: false,\n options: {},\n },\n dripDev: {\n name: \"DripDev\",\n requestType: DripDevRequest,\n requestStream: false,\n responseType: DripResponse,\n responseStream: false,\n options: {},\n },\n dripVerifyTweet: {\n name: \"DripVerifyTweet\",\n requestType: DripRequest,\n requestStream: false,\n responseType: DripResponse,\n responseStream: false,\n options: {},\n },\n timeUntilDrip: {\n name: \"TimeUntilDrip\",\n requestType: DripRequest,\n requestStream: false,\n responseType: TimeUntilDripResponse,\n responseStream: false,\n options: {},\n },\n getLinkedTwitters: {\n name: \"GetLinkedTwitters\",\n requestType: GetLinkedTwittersRequest,\n requestStream: false,\n responseType: GetLinkedTwittersResponse,\n responseStream: false,\n options: {},\n },\n getLinkedTwitterForAddress: {\n name: \"GetLinkedTwitterForAddress\",\n requestType: LinkedTwitterForAddressRequest,\n requestStream: false,\n responseType: LinkedTwitterForAddressResponse,\n responseStream: false,\n options: {},\n },\n getLinkedAddressForTwitter: {\n name: \"GetLinkedAddressForTwitter\",\n requestType: LinkedAddressForTwitterRequest,\n requestStream: false,\n responseType: LinkedAddressForTwitterResponse,\n responseStream: false,\n options: {},\n },\n /** Admin utility endpoints for modifying state. Requires a signature with faucet private key. */\n setLinkedTwitter: {\n name: \"SetLinkedTwitter\",\n requestType: SetLinkedTwitterRequest,\n requestStream: false,\n responseType: SetLinkedTwitterResponse,\n responseStream: false,\n options: {},\n },\n },\n} as const;\n\nexport interface FaucetServiceImplementation<CallContextExt = {}> {\n drip(request: DripRequest, context: CallContext & CallContextExt): Promise<DeepPartial<DripResponse>>;\n dripDev(request: DripDevRequest, context: CallContext & CallContextExt): Promise<DeepPartial<DripResponse>>;\n dripVerifyTweet(request: DripRequest, context: CallContext & CallContextExt): Promise<DeepPartial<DripResponse>>;\n timeUntilDrip(\n request: DripRequest,\n context: CallContext & CallContextExt\n ): Promise<DeepPartial<TimeUntilDripResponse>>;\n getLinkedTwitters(\n request: GetLinkedTwittersRequest,\n context: CallContext & CallContextExt\n ): Promise<DeepPartial<GetLinkedTwittersResponse>>;\n getLinkedTwitterForAddress(\n request: LinkedTwitterForAddressRequest,\n context: CallContext & CallContextExt\n ): Promise<DeepPartial<LinkedTwitterForAddressResponse>>;\n getLinkedAddressForTwitter(\n request: LinkedAddressForTwitterRequest,\n context: CallContext & CallContextExt\n ): Promise<DeepPartial<LinkedAddressForTwitterResponse>>;\n /** Admin utility endpoints for modifying state. Requires a signature with faucet private key. */\n setLinkedTwitter(\n request: SetLinkedTwitterRequest,\n context: CallContext & CallContextExt\n ): Promise<DeepPartial<SetLinkedTwitterResponse>>;\n}\n\nexport interface FaucetServiceClient<CallOptionsExt = {}> {\n drip(request: DeepPartial<DripRequest>, options?: CallOptions & CallOptionsExt): Promise<DripResponse>;\n dripDev(request: DeepPartial<DripDevRequest>, options?: CallOptions & CallOptionsExt): Promise<DripResponse>;\n dripVerifyTweet(request: DeepPartial<DripRequest>, options?: CallOptions & CallOptionsExt): Promise<DripResponse>;\n timeUntilDrip(\n request: DeepPartial<DripRequest>,\n options?: CallOptions & CallOptionsExt\n ): Promise<TimeUntilDripResponse>;\n getLinkedTwitters(\n request: DeepPartial<GetLinkedTwittersRequest>,\n options?: CallOptions & CallOptionsExt\n ): Promise<GetLinkedTwittersResponse>;\n getLinkedTwitterForAddress(\n request: DeepPartial<LinkedTwitterForAddressRequest>,\n options?: CallOptions & CallOptionsExt\n ): Promise<LinkedTwitterForAddressResponse>;\n getLinkedAddressForTwitter(\n request: DeepPartial<LinkedAddressForTwitterRequest>,\n options?: CallOptions & CallOptionsExt\n ): Promise<LinkedAddressForTwitterResponse>;\n /** Admin utility endpoints for modifying state. Requires a signature with faucet private key. */\n setLinkedTwitter(\n request: DeepPartial<SetLinkedTwitterRequest>,\n options?: CallOptions & CallOptionsExt\n ): Promise<SetLinkedTwitterResponse>;\n}\n\ndeclare var self: any | undefined;\ndeclare var window: any | undefined;\ndeclare var global: any | undefined;\nvar tsProtoGlobalThis: any = (() => {\n if (typeof globalThis !== \"undefined\") {\n return globalThis;\n }\n if (typeof self !== \"undefined\") {\n return self;\n }\n if (typeof window !== \"undefined\") {\n return window;\n }\n if (typeof global !== \"undefined\") {\n return global;\n }\n throw \"Unable to locate global object\";\n})();\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\nexport type DeepPartial<T> = T extends Builtin\n ? T\n : T extends Array<infer U>\n ? Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U>\n ? ReadonlyArray<DeepPartial<U>>\n : T extends {}\n ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction longToNumber(long: Long): number {\n if (long.gt(Number.MAX_SAFE_INTEGER)) {\n throw new tsProtoGlobalThis.Error(\"Value is larger than Number.MAX_SAFE_INTEGER\");\n }\n return long.toNumber();\n}\n\nif (_m0.util.Long !== Long) {\n _m0.util.Long = Long as any;\n _m0.configure();\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../protobuf/ts/faucet/faucet.ts","../ts/faucet/createFaucetService.ts"],"sourcesContent":["/* eslint-disable */\nimport Long from \"long\";\nimport type { CallContext, CallOptions } from \"nice-grpc-common\";\nimport _m0 from \"protobufjs/minimal.js\";\n\nexport const protobufPackage = \"faucet\";\n\nexport interface LinkedTwitterPair {\n username: string;\n address: string;\n}\n\nexport interface FaucetStore {\n addressToUsername: { [key: string]: string };\n usernameToAddress: { [key: string]: string };\n /** User id/name/address to timestamp of latest drip. */\n latestDrip: { [key: string]: number };\n /** Global drip counter. */\n totalDripCount: number;\n}\n\nexport interface FaucetStore_AddressToUsernameEntry {\n key: string;\n value: string;\n}\n\nexport interface FaucetStore_UsernameToAddressEntry {\n key: string;\n value: string;\n}\n\nexport interface FaucetStore_LatestDripEntry {\n key: string;\n value: number;\n}\n\n/** Request for drip. */\nexport interface DripRequest {\n username: string;\n address: string;\n}\n\n/** Request for drip to any address when running in dev mode. */\nexport interface DripDevRequest {\n address: string;\n}\n\n/** Response for drip request that contains the transaction hash of the drip tx and the ECS component set hash (if any). */\nexport interface DripResponse {\n dripTxHash: string;\n ecsTxHash: string;\n}\n\n/** Response for the time until next drip request. */\nexport interface TimeUntilDripResponse {\n timeUntilDripMinutes: number;\n timeUntilDripSeconds: number;\n}\n\nexport interface GetLinkedTwittersRequest {}\n\nexport interface GetLinkedTwittersResponse {\n linkedTwitters: LinkedTwitterPair[];\n}\n\nexport interface LinkedTwitterForAddressRequest {\n address: string;\n}\n\nexport interface LinkedTwitterForAddressResponse {\n username: string;\n}\n\nexport interface LinkedAddressForTwitterRequest {\n username: string;\n}\n\nexport interface LinkedAddressForTwitterResponse {\n address: string;\n}\n\nexport interface SetLinkedTwitterRequest {\n address: string;\n username: string;\n signature: string;\n}\n\nexport interface SetLinkedTwitterResponse {}\n\nfunction createBaseLinkedTwitterPair(): LinkedTwitterPair {\n return { username: \"\", address: \"\" };\n}\n\nexport const LinkedTwitterPair = {\n encode(message: LinkedTwitterPair, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.username !== \"\") {\n writer.uint32(10).string(message.username);\n }\n if (message.address !== \"\") {\n writer.uint32(18).string(message.address);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): LinkedTwitterPair {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseLinkedTwitterPair();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n\n message.username = reader.string();\n continue;\n case 2:\n if (tag != 18) {\n break;\n }\n\n message.address = reader.string();\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<LinkedTwitterPair>): LinkedTwitterPair {\n return LinkedTwitterPair.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<LinkedTwitterPair>): LinkedTwitterPair {\n const message = createBaseLinkedTwitterPair();\n message.username = object.username ?? \"\";\n message.address = object.address ?? \"\";\n return message;\n },\n};\n\nfunction createBaseFaucetStore(): FaucetStore {\n return { addressToUsername: {}, usernameToAddress: {}, latestDrip: {}, totalDripCount: 0 };\n}\n\nexport const FaucetStore = {\n encode(message: FaucetStore, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n Object.entries(message.addressToUsername).forEach(([key, value]) => {\n FaucetStore_AddressToUsernameEntry.encode({ key: key as any, value }, writer.uint32(10).fork()).ldelim();\n });\n Object.entries(message.usernameToAddress).forEach(([key, value]) => {\n FaucetStore_UsernameToAddressEntry.encode({ key: key as any, value }, writer.uint32(18).fork()).ldelim();\n });\n Object.entries(message.latestDrip).forEach(([key, value]) => {\n FaucetStore_LatestDripEntry.encode({ key: key as any, value }, writer.uint32(26).fork()).ldelim();\n });\n if (message.totalDripCount !== 0) {\n writer.uint32(33).double(message.totalDripCount);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): FaucetStore {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseFaucetStore();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n\n const entry1 = FaucetStore_AddressToUsernameEntry.decode(reader, reader.uint32());\n if (entry1.value !== undefined) {\n message.addressToUsername[entry1.key] = entry1.value;\n }\n continue;\n case 2:\n if (tag != 18) {\n break;\n }\n\n const entry2 = FaucetStore_UsernameToAddressEntry.decode(reader, reader.uint32());\n if (entry2.value !== undefined) {\n message.usernameToAddress[entry2.key] = entry2.value;\n }\n continue;\n case 3:\n if (tag != 26) {\n break;\n }\n\n const entry3 = FaucetStore_LatestDripEntry.decode(reader, reader.uint32());\n if (entry3.value !== undefined) {\n message.latestDrip[entry3.key] = entry3.value;\n }\n continue;\n case 4:\n if (tag != 33) {\n break;\n }\n\n message.totalDripCount = reader.double();\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<FaucetStore>): FaucetStore {\n return FaucetStore.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<FaucetStore>): FaucetStore {\n const message = createBaseFaucetStore();\n message.addressToUsername = Object.entries(object.addressToUsername ?? {}).reduce<{ [key: string]: string }>(\n (acc, [key, value]) => {\n if (value !== undefined) {\n acc[key] = String(value);\n }\n return acc;\n },\n {}\n );\n message.usernameToAddress = Object.entries(object.usernameToAddress ?? {}).reduce<{ [key: string]: string }>(\n (acc, [key, value]) => {\n if (value !== undefined) {\n acc[key] = String(value);\n }\n return acc;\n },\n {}\n );\n message.latestDrip = Object.entries(object.latestDrip ?? {}).reduce<{ [key: string]: number }>(\n (acc, [key, value]) => {\n if (value !== undefined) {\n acc[key] = Number(value);\n }\n return acc;\n },\n {}\n );\n message.totalDripCount = object.totalDripCount ?? 0;\n return message;\n },\n};\n\nfunction createBaseFaucetStore_AddressToUsernameEntry(): FaucetStore_AddressToUsernameEntry {\n return { key: \"\", value: \"\" };\n}\n\nexport const FaucetStore_AddressToUsernameEntry = {\n encode(message: FaucetStore_AddressToUsernameEntry, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.key !== \"\") {\n writer.uint32(10).string(message.key);\n }\n if (message.value !== \"\") {\n writer.uint32(18).string(message.value);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): FaucetStore_AddressToUsernameEntry {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseFaucetStore_AddressToUsernameEntry();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n\n message.key = reader.string();\n continue;\n case 2:\n if (tag != 18) {\n break;\n }\n\n message.value = reader.string();\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<FaucetStore_AddressToUsernameEntry>): FaucetStore_AddressToUsernameEntry {\n return FaucetStore_AddressToUsernameEntry.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<FaucetStore_AddressToUsernameEntry>): FaucetStore_AddressToUsernameEntry {\n const message = createBaseFaucetStore_AddressToUsernameEntry();\n message.key = object.key ?? \"\";\n message.value = object.value ?? \"\";\n return message;\n },\n};\n\nfunction createBaseFaucetStore_UsernameToAddressEntry(): FaucetStore_UsernameToAddressEntry {\n return { key: \"\", value: \"\" };\n}\n\nexport const FaucetStore_UsernameToAddressEntry = {\n encode(message: FaucetStore_UsernameToAddressEntry, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.key !== \"\") {\n writer.uint32(10).string(message.key);\n }\n if (message.value !== \"\") {\n writer.uint32(18).string(message.value);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): FaucetStore_UsernameToAddressEntry {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseFaucetStore_UsernameToAddressEntry();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n\n message.key = reader.string();\n continue;\n case 2:\n if (tag != 18) {\n break;\n }\n\n message.value = reader.string();\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<FaucetStore_UsernameToAddressEntry>): FaucetStore_UsernameToAddressEntry {\n return FaucetStore_UsernameToAddressEntry.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<FaucetStore_UsernameToAddressEntry>): FaucetStore_UsernameToAddressEntry {\n const message = createBaseFaucetStore_UsernameToAddressEntry();\n message.key = object.key ?? \"\";\n message.value = object.value ?? \"\";\n return message;\n },\n};\n\nfunction createBaseFaucetStore_LatestDripEntry(): FaucetStore_LatestDripEntry {\n return { key: \"\", value: 0 };\n}\n\nexport const FaucetStore_LatestDripEntry = {\n encode(message: FaucetStore_LatestDripEntry, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.key !== \"\") {\n writer.uint32(10).string(message.key);\n }\n if (message.value !== 0) {\n writer.uint32(16).int64(message.value);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): FaucetStore_LatestDripEntry {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseFaucetStore_LatestDripEntry();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n\n message.key = reader.string();\n continue;\n case 2:\n if (tag != 16) {\n break;\n }\n\n message.value = longToNumber(reader.int64() as Long);\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<FaucetStore_LatestDripEntry>): FaucetStore_LatestDripEntry {\n return FaucetStore_LatestDripEntry.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<FaucetStore_LatestDripEntry>): FaucetStore_LatestDripEntry {\n const message = createBaseFaucetStore_LatestDripEntry();\n message.key = object.key ?? \"\";\n message.value = object.value ?? 0;\n return message;\n },\n};\n\nfunction createBaseDripRequest(): DripRequest {\n return { username: \"\", address: \"\" };\n}\n\nexport const DripRequest = {\n encode(message: DripRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.username !== \"\") {\n writer.uint32(10).string(message.username);\n }\n if (message.address !== \"\") {\n writer.uint32(18).string(message.address);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): DripRequest {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseDripRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n\n message.username = reader.string();\n continue;\n case 2:\n if (tag != 18) {\n break;\n }\n\n message.address = reader.string();\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<DripRequest>): DripRequest {\n return DripRequest.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<DripRequest>): DripRequest {\n const message = createBaseDripRequest();\n message.username = object.username ?? \"\";\n message.address = object.address ?? \"\";\n return message;\n },\n};\n\nfunction createBaseDripDevRequest(): DripDevRequest {\n return { address: \"\" };\n}\n\nexport const DripDevRequest = {\n encode(message: DripDevRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.address !== \"\") {\n writer.uint32(10).string(message.address);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): DripDevRequest {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseDripDevRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n\n message.address = reader.string();\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<DripDevRequest>): DripDevRequest {\n return DripDevRequest.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<DripDevRequest>): DripDevRequest {\n const message = createBaseDripDevRequest();\n message.address = object.address ?? \"\";\n return message;\n },\n};\n\nfunction createBaseDripResponse(): DripResponse {\n return { dripTxHash: \"\", ecsTxHash: \"\" };\n}\n\nexport const DripResponse = {\n encode(message: DripResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.dripTxHash !== \"\") {\n writer.uint32(10).string(message.dripTxHash);\n }\n if (message.ecsTxHash !== \"\") {\n writer.uint32(18).string(message.ecsTxHash);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): DripResponse {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseDripResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n\n message.dripTxHash = reader.string();\n continue;\n case 2:\n if (tag != 18) {\n break;\n }\n\n message.ecsTxHash = reader.string();\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<DripResponse>): DripResponse {\n return DripResponse.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<DripResponse>): DripResponse {\n const message = createBaseDripResponse();\n message.dripTxHash = object.dripTxHash ?? \"\";\n message.ecsTxHash = object.ecsTxHash ?? \"\";\n return message;\n },\n};\n\nfunction createBaseTimeUntilDripResponse(): TimeUntilDripResponse {\n return { timeUntilDripMinutes: 0, timeUntilDripSeconds: 0 };\n}\n\nexport const TimeUntilDripResponse = {\n encode(message: TimeUntilDripResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.timeUntilDripMinutes !== 0) {\n writer.uint32(9).double(message.timeUntilDripMinutes);\n }\n if (message.timeUntilDripSeconds !== 0) {\n writer.uint32(17).double(message.timeUntilDripSeconds);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): TimeUntilDripResponse {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseTimeUntilDripResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 9) {\n break;\n }\n\n message.timeUntilDripMinutes = reader.double();\n continue;\n case 2:\n if (tag != 17) {\n break;\n }\n\n message.timeUntilDripSeconds = reader.double();\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<TimeUntilDripResponse>): TimeUntilDripResponse {\n return TimeUntilDripResponse.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<TimeUntilDripResponse>): TimeUntilDripResponse {\n const message = createBaseTimeUntilDripResponse();\n message.timeUntilDripMinutes = object.timeUntilDripMinutes ?? 0;\n message.timeUntilDripSeconds = object.timeUntilDripSeconds ?? 0;\n return message;\n },\n};\n\nfunction createBaseGetLinkedTwittersRequest(): GetLinkedTwittersRequest {\n return {};\n}\n\nexport const GetLinkedTwittersRequest = {\n encode(_: GetLinkedTwittersRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): GetLinkedTwittersRequest {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGetLinkedTwittersRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<GetLinkedTwittersRequest>): GetLinkedTwittersRequest {\n return GetLinkedTwittersRequest.fromPartial(base ?? {});\n },\n\n fromPartial(_: DeepPartial<GetLinkedTwittersRequest>): GetLinkedTwittersRequest {\n const message = createBaseGetLinkedTwittersRequest();\n return message;\n },\n};\n\nfunction createBaseGetLinkedTwittersResponse(): GetLinkedTwittersResponse {\n return { linkedTwitters: [] };\n}\n\nexport const GetLinkedTwittersResponse = {\n encode(message: GetLinkedTwittersResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n for (const v of message.linkedTwitters) {\n LinkedTwitterPair.encode(v!, writer.uint32(10).fork()).ldelim();\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): GetLinkedTwittersResponse {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseGetLinkedTwittersResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n\n message.linkedTwitters.push(LinkedTwitterPair.decode(reader, reader.uint32()));\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<GetLinkedTwittersResponse>): GetLinkedTwittersResponse {\n return GetLinkedTwittersResponse.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<GetLinkedTwittersResponse>): GetLinkedTwittersResponse {\n const message = createBaseGetLinkedTwittersResponse();\n message.linkedTwitters = object.linkedTwitters?.map((e) => LinkedTwitterPair.fromPartial(e)) || [];\n return message;\n },\n};\n\nfunction createBaseLinkedTwitterForAddressRequest(): LinkedTwitterForAddressRequest {\n return { address: \"\" };\n}\n\nexport const LinkedTwitterForAddressRequest = {\n encode(message: LinkedTwitterForAddressRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.address !== \"\") {\n writer.uint32(10).string(message.address);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): LinkedTwitterForAddressRequest {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseLinkedTwitterForAddressRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n\n message.address = reader.string();\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<LinkedTwitterForAddressRequest>): LinkedTwitterForAddressRequest {\n return LinkedTwitterForAddressRequest.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<LinkedTwitterForAddressRequest>): LinkedTwitterForAddressRequest {\n const message = createBaseLinkedTwitterForAddressRequest();\n message.address = object.address ?? \"\";\n return message;\n },\n};\n\nfunction createBaseLinkedTwitterForAddressResponse(): LinkedTwitterForAddressResponse {\n return { username: \"\" };\n}\n\nexport const LinkedTwitterForAddressResponse = {\n encode(message: LinkedTwitterForAddressResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.username !== \"\") {\n writer.uint32(10).string(message.username);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): LinkedTwitterForAddressResponse {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseLinkedTwitterForAddressResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n\n message.username = reader.string();\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<LinkedTwitterForAddressResponse>): LinkedTwitterForAddressResponse {\n return LinkedTwitterForAddressResponse.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<LinkedTwitterForAddressResponse>): LinkedTwitterForAddressResponse {\n const message = createBaseLinkedTwitterForAddressResponse();\n message.username = object.username ?? \"\";\n return message;\n },\n};\n\nfunction createBaseLinkedAddressForTwitterRequest(): LinkedAddressForTwitterRequest {\n return { username: \"\" };\n}\n\nexport const LinkedAddressForTwitterRequest = {\n encode(message: LinkedAddressForTwitterRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.username !== \"\") {\n writer.uint32(10).string(message.username);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): LinkedAddressForTwitterRequest {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseLinkedAddressForTwitterRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n\n message.username = reader.string();\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<LinkedAddressForTwitterRequest>): LinkedAddressForTwitterRequest {\n return LinkedAddressForTwitterRequest.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<LinkedAddressForTwitterRequest>): LinkedAddressForTwitterRequest {\n const message = createBaseLinkedAddressForTwitterRequest();\n message.username = object.username ?? \"\";\n return message;\n },\n};\n\nfunction createBaseLinkedAddressForTwitterResponse(): LinkedAddressForTwitterResponse {\n return { address: \"\" };\n}\n\nexport const LinkedAddressForTwitterResponse = {\n encode(message: LinkedAddressForTwitterResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.address !== \"\") {\n writer.uint32(10).string(message.address);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): LinkedAddressForTwitterResponse {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseLinkedAddressForTwitterResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n\n message.address = reader.string();\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<LinkedAddressForTwitterResponse>): LinkedAddressForTwitterResponse {\n return LinkedAddressForTwitterResponse.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<LinkedAddressForTwitterResponse>): LinkedAddressForTwitterResponse {\n const message = createBaseLinkedAddressForTwitterResponse();\n message.address = object.address ?? \"\";\n return message;\n },\n};\n\nfunction createBaseSetLinkedTwitterRequest(): SetLinkedTwitterRequest {\n return { address: \"\", username: \"\", signature: \"\" };\n}\n\nexport const SetLinkedTwitterRequest = {\n encode(message: SetLinkedTwitterRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n if (message.address !== \"\") {\n writer.uint32(10).string(message.address);\n }\n if (message.username !== \"\") {\n writer.uint32(18).string(message.username);\n }\n if (message.signature !== \"\") {\n writer.uint32(26).string(message.signature);\n }\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): SetLinkedTwitterRequest {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseSetLinkedTwitterRequest();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n case 1:\n if (tag != 10) {\n break;\n }\n\n message.address = reader.string();\n continue;\n case 2:\n if (tag != 18) {\n break;\n }\n\n message.username = reader.string();\n continue;\n case 3:\n if (tag != 26) {\n break;\n }\n\n message.signature = reader.string();\n continue;\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<SetLinkedTwitterRequest>): SetLinkedTwitterRequest {\n return SetLinkedTwitterRequest.fromPartial(base ?? {});\n },\n\n fromPartial(object: DeepPartial<SetLinkedTwitterRequest>): SetLinkedTwitterRequest {\n const message = createBaseSetLinkedTwitterRequest();\n message.address = object.address ?? \"\";\n message.username = object.username ?? \"\";\n message.signature = object.signature ?? \"\";\n return message;\n },\n};\n\nfunction createBaseSetLinkedTwitterResponse(): SetLinkedTwitterResponse {\n return {};\n}\n\nexport const SetLinkedTwitterResponse = {\n encode(_: SetLinkedTwitterResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {\n return writer;\n },\n\n decode(input: _m0.Reader | Uint8Array, length?: number): SetLinkedTwitterResponse {\n const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input);\n let end = length === undefined ? reader.len : reader.pos + length;\n const message = createBaseSetLinkedTwitterResponse();\n while (reader.pos < end) {\n const tag = reader.uint32();\n switch (tag >>> 3) {\n }\n if ((tag & 7) == 4 || tag == 0) {\n break;\n }\n reader.skipType(tag & 7);\n }\n return message;\n },\n\n create(base?: DeepPartial<SetLinkedTwitterResponse>): SetLinkedTwitterResponse {\n return SetLinkedTwitterResponse.fromPartial(base ?? {});\n },\n\n fromPartial(_: DeepPartial<SetLinkedTwitterResponse>): SetLinkedTwitterResponse {\n const message = createBaseSetLinkedTwitterResponse();\n return message;\n },\n};\n\n/** The Faucet Service definition. */\nexport type FaucetServiceDefinition = typeof FaucetServiceDefinition;\nexport const FaucetServiceDefinition = {\n name: \"FaucetService\",\n fullName: \"faucet.FaucetService\",\n methods: {\n drip: {\n name: \"Drip\",\n requestType: DripRequest,\n requestStream: false,\n responseType: DripResponse,\n responseStream: false,\n options: {},\n },\n dripDev: {\n name: \"DripDev\",\n requestType: DripDevRequest,\n requestStream: false,\n responseType: DripResponse,\n responseStream: false,\n options: {},\n },\n dripVerifyTweet: {\n name: \"DripVerifyTweet\",\n requestType: DripRequest,\n requestStream: false,\n responseType: DripResponse,\n responseStream: false,\n options: {},\n },\n timeUntilDrip: {\n name: \"TimeUntilDrip\",\n requestType: DripRequest,\n requestStream: false,\n responseType: TimeUntilDripResponse,\n responseStream: false,\n options: {},\n },\n getLinkedTwitters: {\n name: \"GetLinkedTwitters\",\n requestType: GetLinkedTwittersRequest,\n requestStream: false,\n responseType: GetLinkedTwittersResponse,\n responseStream: false,\n options: {},\n },\n getLinkedTwitterForAddress: {\n name: \"GetLinkedTwitterForAddress\",\n requestType: LinkedTwitterForAddressRequest,\n requestStream: false,\n responseType: LinkedTwitterForAddressResponse,\n responseStream: false,\n options: {},\n },\n getLinkedAddressForTwitter: {\n name: \"GetLinkedAddressForTwitter\",\n requestType: LinkedAddressForTwitterRequest,\n requestStream: false,\n responseType: LinkedAddressForTwitterResponse,\n responseStream: false,\n options: {},\n },\n /** Admin utility endpoints for modifying state. Requires a signature with faucet private key. */\n setLinkedTwitter: {\n name: \"SetLinkedTwitter\",\n requestType: SetLinkedTwitterRequest,\n requestStream: false,\n responseType: SetLinkedTwitterResponse,\n responseStream: false,\n options: {},\n },\n },\n} as const;\n\nexport interface FaucetServiceImplementation<CallContextExt = {}> {\n drip(request: DripRequest, context: CallContext & CallContextExt): Promise<DeepPartial<DripResponse>>;\n dripDev(request: DripDevRequest, context: CallContext & CallContextExt): Promise<DeepPartial<DripResponse>>;\n dripVerifyTweet(request: DripRequest, context: CallContext & CallContextExt): Promise<DeepPartial<DripResponse>>;\n timeUntilDrip(\n request: DripRequest,\n context: CallContext & CallContextExt\n ): Promise<DeepPartial<TimeUntilDripResponse>>;\n getLinkedTwitters(\n request: GetLinkedTwittersRequest,\n context: CallContext & CallContextExt\n ): Promise<DeepPartial<GetLinkedTwittersResponse>>;\n getLinkedTwitterForAddress(\n request: LinkedTwitterForAddressRequest,\n context: CallContext & CallContextExt\n ): Promise<DeepPartial<LinkedTwitterForAddressResponse>>;\n getLinkedAddressForTwitter(\n request: LinkedAddressForTwitterRequest,\n context: CallContext & CallContextExt\n ): Promise<DeepPartial<LinkedAddressForTwitterResponse>>;\n /** Admin utility endpoints for modifying state. Requires a signature with faucet private key. */\n setLinkedTwitter(\n request: SetLinkedTwitterRequest,\n context: CallContext & CallContextExt\n ): Promise<DeepPartial<SetLinkedTwitterResponse>>;\n}\n\nexport interface FaucetServiceClient<CallOptionsExt = {}> {\n drip(request: DeepPartial<DripRequest>, options?: CallOptions & CallOptionsExt): Promise<DripResponse>;\n dripDev(request: DeepPartial<DripDevRequest>, options?: CallOptions & CallOptionsExt): Promise<DripResponse>;\n dripVerifyTweet(request: DeepPartial<DripRequest>, options?: CallOptions & CallOptionsExt): Promise<DripResponse>;\n timeUntilDrip(\n request: DeepPartial<DripRequest>,\n options?: CallOptions & CallOptionsExt\n ): Promise<TimeUntilDripResponse>;\n getLinkedTwitters(\n request: DeepPartial<GetLinkedTwittersRequest>,\n options?: CallOptions & CallOptionsExt\n ): Promise<GetLinkedTwittersResponse>;\n getLinkedTwitterForAddress(\n request: DeepPartial<LinkedTwitterForAddressRequest>,\n options?: CallOptions & CallOptionsExt\n ): Promise<LinkedTwitterForAddressResponse>;\n getLinkedAddressForTwitter(\n request: DeepPartial<LinkedAddressForTwitterRequest>,\n options?: CallOptions & CallOptionsExt\n ): Promise<LinkedAddressForTwitterResponse>;\n /** Admin utility endpoints for modifying state. Requires a signature with faucet private key. */\n setLinkedTwitter(\n request: DeepPartial<SetLinkedTwitterRequest>,\n options?: CallOptions & CallOptionsExt\n ): Promise<SetLinkedTwitterResponse>;\n}\n\ndeclare var self: any | undefined;\ndeclare var window: any | undefined;\ndeclare var global: any | undefined;\nvar tsProtoGlobalThis: any = (() => {\n if (typeof globalThis !== \"undefined\") {\n return globalThis;\n }\n if (typeof self !== \"undefined\") {\n return self;\n }\n if (typeof window !== \"undefined\") {\n return window;\n }\n if (typeof global !== \"undefined\") {\n return global;\n }\n throw \"Unable to locate global object\";\n})();\n\ntype Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;\n\nexport type DeepPartial<T> = T extends Builtin\n ? T\n : T extends Array<infer U>\n ? Array<DeepPartial<U>>\n : T extends ReadonlyArray<infer U>\n ? ReadonlyArray<DeepPartial<U>>\n : T extends {}\n ? { [K in keyof T]?: DeepPartial<T[K]> }\n : Partial<T>;\n\nfunction longToNumber(long: Long): number {\n if (long.gt(Number.MAX_SAFE_INTEGER)) {\n throw new tsProtoGlobalThis.Error(\"Value is larger than Number.MAX_SAFE_INTEGER\");\n }\n return long.toNumber();\n}\n\nif (_m0.util.Long !== Long) {\n _m0.util.Long = Long as any;\n _m0.configure();\n}\n","import { FaucetServiceDefinition } from \"../../protobuf/ts/faucet/faucet\";\nimport { createChannel, createClient, RawClient } from \"nice-grpc-web\";\nimport { FromTsProtoServiceDefinition } from \"nice-grpc-web/lib/service-definitions/ts-proto\";\n\n/**\n * Create a FaucetServiceClient\n * @param url FaucetService URL\n * @returns FaucetServiceClient\n */\nexport function createFaucetService(\n url: string\n): RawClient<FromTsProtoServiceDefinition<typeof FaucetServiceDefinition>> {\n return createClient(FaucetServiceDefinition, createChannel(url));\n}\n"],"mappings":"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","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@latticexyz/services",
3
- "version": "2.0.0-next.2",
3
+ "version": "2.0.0-next.3",
4
4
  "description": "MUD services for enhanced interactions with on-chain ECS state",
5
5
  "repository": {
6
6
  "type": "git",
@@ -28,7 +28,7 @@
28
28
  "./protobuf/ts/ecs-stream/ecs-stream.ts"
29
29
  ],
30
30
  "faucet": [
31
- "./protobuf/ts/faucet/faucet.ts"
31
+ "./ts/faucet/index.ts"
32
32
  ],
33
33
  "mode": [
34
34
  "./protobuf/ts/mode/mode.ts"
@@ -38,6 +38,7 @@
38
38
  "dependencies": {
39
39
  "long": "^5.2.1",
40
40
  "nice-grpc-common": "^2.0.2",
41
+ "nice-grpc-web": "^2.0.1",
41
42
  "protobufjs": "^7.2.3"
42
43
  },
43
44
  "devDependencies": {