// @generated by protobuf-ts 2.11.1 with parameter add_pb_suffix
// @generated from protobuf file "injective/auction/v1beta1/auction.proto" (package "injective.auction.v1beta1", syntax proto3)
// tslint:disable
import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
import type { IBinaryWriter } from "@protobuf-ts/runtime";
import { WireType } from "@protobuf-ts/runtime";
import type { BinaryReadOptions } from "@protobuf-ts/runtime";
import type { IBinaryReader } from "@protobuf-ts/runtime";
import { UnknownFieldHandler } from "@protobuf-ts/runtime";
import type { PartialMessage } from "@protobuf-ts/runtime";
import { reflectionMergePartial } from "@protobuf-ts/runtime";
import { MessageType } from "@protobuf-ts/runtime";
import { Coin } from "../../../cosmos/base/v1beta1/coin_pb";
/**
 * @generated from protobuf message injective.auction.v1beta1.EventSetVoucher
 */
export interface EventSetVoucher {
    /**
     * The bech32 address of the voucher holder.
     *
     * @generated from protobuf field: string addr = 1
     */
    addr: string;
    /**
     * The new voucher amount. A zero coin signals voucher deletion.
     *
     * @generated from protobuf field: cosmos.base.v1beta1.Coin voucher = 2
     */
    voucher?: Coin;
}
/**
 * @generated from protobuf message injective.auction.v1beta1.Params
 */
export interface Params {
    /**
     * auction_period_duration defines the auction period duration
     *
     * @generated from protobuf field: int64 auction_period = 1
     */
    auctionPeriod: bigint;
    /**
     * min_next_bid_increment_rate defines the minimum increment rate for new bids
     *
     * @generated from protobuf field: string min_next_bid_increment_rate = 2
     */
    minNextBidIncrementRate: string;
    /**
     * inj_basket_max_cap defines the maximum cap for INJ contained in an auction
     * basket
     *
     * @generated from protobuf field: string inj_basket_max_cap = 3
     */
    injBasketMaxCap: string;
    /**
     * bidders_whitelist defines the list of addresses that are allowed to bid
     * if empty, any address can bid; if populated, only whitelisted addresses can
     * bid
     *
     * @generated from protobuf field: repeated string bidders_whitelist = 4
     */
    biddersWhitelist: string[];
}
/**
 * @generated from protobuf message injective.auction.v1beta1.Bid
 */
export interface Bid {
    /**
     * @generated from protobuf field: string bidder = 1
     */
    bidder: string;
    /**
     * @generated from protobuf field: cosmos.base.v1beta1.Coin amount = 2
     */
    amount?: Coin;
}
/**
 * @generated from protobuf message injective.auction.v1beta1.LastAuctionResult
 */
export interface LastAuctionResult {
    /**
     * winner describes the address of the winner
     *
     * @generated from protobuf field: string winner = 1
     */
    winner: string;
    /**
     * amount describes the amount the winner get from the auction
     *
     * @generated from protobuf field: cosmos.base.v1beta1.Coin amount = 2
     */
    amount?: Coin;
    /**
     * round defines the round number of auction
     *
     * @generated from protobuf field: uint64 round = 3
     */
    round: bigint;
}
/**
 * @generated from protobuf message injective.auction.v1beta1.EventBid
 */
export interface EventBid {
    /**
     * bidder describes the address of bidder
     *
     * @generated from protobuf field: string bidder = 1
     */
    bidder: string;
    /**
     * amount describes the amount the bidder put on the auction
     *
     * @generated from protobuf field: cosmos.base.v1beta1.Coin amount = 2
     */
    amount?: Coin;
    /**
     * round defines the round number of auction
     *
     * @generated from protobuf field: uint64 round = 3
     */
    round: bigint;
}
/**
 * @generated from protobuf message injective.auction.v1beta1.EventAuctionResult
 */
export interface EventAuctionResult {
    /**
     * winner describes the address of the winner
     *
     * @generated from protobuf field: string winner = 1
     */
    winner: string;
    /**
     * amount describes the amount the winner get from the auction
     *
     * @generated from protobuf field: cosmos.base.v1beta1.Coin amount = 2
     */
    amount?: Coin;
    /**
     * round defines the round number of auction
     *
     * @generated from protobuf field: uint64 round = 3
     */
    round: bigint;
}
/**
 * @generated from protobuf message injective.auction.v1beta1.EventAuctionStart
 */
export interface EventAuctionStart {
    /**
     * round defines the round number of auction
     *
     * @generated from protobuf field: uint64 round = 1
     */
    round: bigint;
    /**
     * ending_timestamp describes auction end time
     *
     * @generated from protobuf field: int64 ending_timestamp = 2
     */
    endingTimestamp: bigint;
    /**
     * new_basket describes auction module balance at the time of new auction
     * start
     *
     * @generated from protobuf field: repeated cosmos.base.v1beta1.Coin new_basket = 3
     */
    newBasket: Coin[];
}
// @generated message type with reflection information, may provide speed optimized methods
class EventSetVoucher$Type extends MessageType<EventSetVoucher> {
    constructor() {
        super("injective.auction.v1beta1.EventSetVoucher", [
            { no: 1, name: "addr", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 2, name: "voucher", kind: "message", T: () => Coin, options: { "gogoproto.nullable": false, "gogoproto.customtype": "github.com/cosmos/cosmos-sdk/types.Coin" } }
        ]);
    }
    create(value?: PartialMessage<EventSetVoucher>): EventSetVoucher {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.addr = "";
        if (value !== undefined)
            reflectionMergePartial<EventSetVoucher>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: EventSetVoucher): EventSetVoucher {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* string addr */ 1:
                    message.addr = reader.string();
                    break;
                case /* cosmos.base.v1beta1.Coin voucher */ 2:
                    message.voucher = Coin.internalBinaryRead(reader, reader.uint32(), options, message.voucher);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: EventSetVoucher, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* string addr = 1; */
        if (message.addr !== "")
            writer.tag(1, WireType.LengthDelimited).string(message.addr);
        /* cosmos.base.v1beta1.Coin voucher = 2; */
        if (message.voucher)
            Coin.internalBinaryWrite(message.voucher, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message injective.auction.v1beta1.EventSetVoucher
 */
export const EventSetVoucher = new EventSetVoucher$Type();
// @generated message type with reflection information, may provide speed optimized methods
class Params$Type extends MessageType<Params> {
    constructor() {
        super("injective.auction.v1beta1.Params", [
            { no: 1, name: "auction_period", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 0 /*LongType.BIGINT*/ },
            { no: 2, name: "min_next_bid_increment_rate", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "gogoproto.nullable": false, "gogoproto.customtype": "cosmossdk.io/math.LegacyDec" } },
            { no: 3, name: "inj_basket_max_cap", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "gogoproto.nullable": false, "gogoproto.customtype": "cosmossdk.io/math.Int" } },
            { no: 4, name: "bidders_whitelist", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ }
        ], { "gogoproto.equal": true, "amino.name": "auction/Params" });
    }
    create(value?: PartialMessage<Params>): Params {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.auctionPeriod = 0n;
        message.minNextBidIncrementRate = "";
        message.injBasketMaxCap = "";
        message.biddersWhitelist = [];
        if (value !== undefined)
            reflectionMergePartial<Params>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Params): Params {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* int64 auction_period */ 1:
                    message.auctionPeriod = reader.int64().toBigInt();
                    break;
                case /* string min_next_bid_increment_rate */ 2:
                    message.minNextBidIncrementRate = reader.string();
                    break;
                case /* string inj_basket_max_cap */ 3:
                    message.injBasketMaxCap = reader.string();
                    break;
                case /* repeated string bidders_whitelist */ 4:
                    message.biddersWhitelist.push(reader.string());
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: Params, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* int64 auction_period = 1; */
        if (message.auctionPeriod !== 0n)
            writer.tag(1, WireType.Varint).int64(message.auctionPeriod);
        /* string min_next_bid_increment_rate = 2; */
        if (message.minNextBidIncrementRate !== "")
            writer.tag(2, WireType.LengthDelimited).string(message.minNextBidIncrementRate);
        /* string inj_basket_max_cap = 3; */
        if (message.injBasketMaxCap !== "")
            writer.tag(3, WireType.LengthDelimited).string(message.injBasketMaxCap);
        /* repeated string bidders_whitelist = 4; */
        for (let i = 0; i < message.biddersWhitelist.length; i++)
            writer.tag(4, WireType.LengthDelimited).string(message.biddersWhitelist[i]);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message injective.auction.v1beta1.Params
 */
export const Params = new Params$Type();
// @generated message type with reflection information, may provide speed optimized methods
class Bid$Type extends MessageType<Bid> {
    constructor() {
        super("injective.auction.v1beta1.Bid", [
            { no: 1, name: "bidder", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "gogoproto.jsontag": "bidder", "gogoproto.moretags": "yaml:\"bidder\"" } },
            { no: 2, name: "amount", kind: "message", T: () => Coin, options: { "gogoproto.nullable": false, "gogoproto.customtype": "github.com/cosmos/cosmos-sdk/types.Coin" } }
        ]);
    }
    create(value?: PartialMessage<Bid>): Bid {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.bidder = "";
        if (value !== undefined)
            reflectionMergePartial<Bid>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Bid): Bid {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* string bidder */ 1:
                    message.bidder = reader.string();
                    break;
                case /* cosmos.base.v1beta1.Coin amount */ 2:
                    message.amount = Coin.internalBinaryRead(reader, reader.uint32(), options, message.amount);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: Bid, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* string bidder = 1; */
        if (message.bidder !== "")
            writer.tag(1, WireType.LengthDelimited).string(message.bidder);
        /* cosmos.base.v1beta1.Coin amount = 2; */
        if (message.amount)
            Coin.internalBinaryWrite(message.amount, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message injective.auction.v1beta1.Bid
 */
export const Bid = new Bid$Type();
// @generated message type with reflection information, may provide speed optimized methods
class LastAuctionResult$Type extends MessageType<LastAuctionResult> {
    constructor() {
        super("injective.auction.v1beta1.LastAuctionResult", [
            { no: 1, name: "winner", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 2, name: "amount", kind: "message", T: () => Coin, options: { "gogoproto.nullable": false, "gogoproto.customtype": "github.com/cosmos/cosmos-sdk/types.Coin" } },
            { no: 3, name: "round", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ }
        ]);
    }
    create(value?: PartialMessage<LastAuctionResult>): LastAuctionResult {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.winner = "";
        message.round = 0n;
        if (value !== undefined)
            reflectionMergePartial<LastAuctionResult>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: LastAuctionResult): LastAuctionResult {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* string winner */ 1:
                    message.winner = reader.string();
                    break;
                case /* cosmos.base.v1beta1.Coin amount */ 2:
                    message.amount = Coin.internalBinaryRead(reader, reader.uint32(), options, message.amount);
                    break;
                case /* uint64 round */ 3:
                    message.round = reader.uint64().toBigInt();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: LastAuctionResult, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* string winner = 1; */
        if (message.winner !== "")
            writer.tag(1, WireType.LengthDelimited).string(message.winner);
        /* cosmos.base.v1beta1.Coin amount = 2; */
        if (message.amount)
            Coin.internalBinaryWrite(message.amount, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* uint64 round = 3; */
        if (message.round !== 0n)
            writer.tag(3, WireType.Varint).uint64(message.round);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message injective.auction.v1beta1.LastAuctionResult
 */
export const LastAuctionResult = new LastAuctionResult$Type();
// @generated message type with reflection information, may provide speed optimized methods
class EventBid$Type extends MessageType<EventBid> {
    constructor() {
        super("injective.auction.v1beta1.EventBid", [
            { no: 1, name: "bidder", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 2, name: "amount", kind: "message", T: () => Coin, options: { "gogoproto.nullable": false, "gogoproto.customtype": "github.com/cosmos/cosmos-sdk/types.Coin" } },
            { no: 3, name: "round", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ }
        ]);
    }
    create(value?: PartialMessage<EventBid>): EventBid {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.bidder = "";
        message.round = 0n;
        if (value !== undefined)
            reflectionMergePartial<EventBid>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: EventBid): EventBid {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* string bidder */ 1:
                    message.bidder = reader.string();
                    break;
                case /* cosmos.base.v1beta1.Coin amount */ 2:
                    message.amount = Coin.internalBinaryRead(reader, reader.uint32(), options, message.amount);
                    break;
                case /* uint64 round */ 3:
                    message.round = reader.uint64().toBigInt();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: EventBid, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* string bidder = 1; */
        if (message.bidder !== "")
            writer.tag(1, WireType.LengthDelimited).string(message.bidder);
        /* cosmos.base.v1beta1.Coin amount = 2; */
        if (message.amount)
            Coin.internalBinaryWrite(message.amount, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* uint64 round = 3; */
        if (message.round !== 0n)
            writer.tag(3, WireType.Varint).uint64(message.round);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message injective.auction.v1beta1.EventBid
 */
export const EventBid = new EventBid$Type();
// @generated message type with reflection information, may provide speed optimized methods
class EventAuctionResult$Type extends MessageType<EventAuctionResult> {
    constructor() {
        super("injective.auction.v1beta1.EventAuctionResult", [
            { no: 1, name: "winner", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
            { no: 2, name: "amount", kind: "message", T: () => Coin, options: { "gogoproto.nullable": false, "gogoproto.customtype": "github.com/cosmos/cosmos-sdk/types.Coin" } },
            { no: 3, name: "round", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ }
        ]);
    }
    create(value?: PartialMessage<EventAuctionResult>): EventAuctionResult {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.winner = "";
        message.round = 0n;
        if (value !== undefined)
            reflectionMergePartial<EventAuctionResult>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: EventAuctionResult): EventAuctionResult {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* string winner */ 1:
                    message.winner = reader.string();
                    break;
                case /* cosmos.base.v1beta1.Coin amount */ 2:
                    message.amount = Coin.internalBinaryRead(reader, reader.uint32(), options, message.amount);
                    break;
                case /* uint64 round */ 3:
                    message.round = reader.uint64().toBigInt();
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: EventAuctionResult, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* string winner = 1; */
        if (message.winner !== "")
            writer.tag(1, WireType.LengthDelimited).string(message.winner);
        /* cosmos.base.v1beta1.Coin amount = 2; */
        if (message.amount)
            Coin.internalBinaryWrite(message.amount, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* uint64 round = 3; */
        if (message.round !== 0n)
            writer.tag(3, WireType.Varint).uint64(message.round);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message injective.auction.v1beta1.EventAuctionResult
 */
export const EventAuctionResult = new EventAuctionResult$Type();
// @generated message type with reflection information, may provide speed optimized methods
class EventAuctionStart$Type extends MessageType<EventAuctionStart> {
    constructor() {
        super("injective.auction.v1beta1.EventAuctionStart", [
            { no: 1, name: "round", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
            { no: 2, name: "ending_timestamp", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 0 /*LongType.BIGINT*/ },
            { no: 3, name: "new_basket", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Coin, options: { "gogoproto.nullable": false, "gogoproto.castrepeated": "github.com/cosmos/cosmos-sdk/types.Coins" } }
        ]);
    }
    create(value?: PartialMessage<EventAuctionStart>): EventAuctionStart {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.round = 0n;
        message.endingTimestamp = 0n;
        message.newBasket = [];
        if (value !== undefined)
            reflectionMergePartial<EventAuctionStart>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: EventAuctionStart): EventAuctionStart {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* uint64 round */ 1:
                    message.round = reader.uint64().toBigInt();
                    break;
                case /* int64 ending_timestamp */ 2:
                    message.endingTimestamp = reader.int64().toBigInt();
                    break;
                case /* repeated cosmos.base.v1beta1.Coin new_basket */ 3:
                    message.newBasket.push(Coin.internalBinaryRead(reader, reader.uint32(), options));
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: EventAuctionStart, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* uint64 round = 1; */
        if (message.round !== 0n)
            writer.tag(1, WireType.Varint).uint64(message.round);
        /* int64 ending_timestamp = 2; */
        if (message.endingTimestamp !== 0n)
            writer.tag(2, WireType.Varint).int64(message.endingTimestamp);
        /* repeated cosmos.base.v1beta1.Coin new_basket = 3; */
        for (let i = 0; i < message.newBasket.length; i++)
            Coin.internalBinaryWrite(message.newBasket[i], writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message injective.auction.v1beta1.EventAuctionStart
 */
export const EventAuctionStart = new EventAuctionStart$Type();
