diff --git a/indexer/packages/v4-protos/src/codegen/dydxprotocol/bundle.ts b/indexer/packages/v4-protos/src/codegen/dydxprotocol/bundle.ts index ea45d3f68c..8a5e295af1 100644 --- a/indexer/packages/v4-protos/src/codegen/dydxprotocol/bundle.ts +++ b/indexer/packages/v4-protos/src/codegen/dydxprotocol/bundle.ts @@ -61,124 +61,125 @@ import * as _64 from "./indexer/off_chain_updates/off_chain_updates"; import * as _65 from "./indexer/protocol/v1/clob"; import * as _66 from "./indexer/protocol/v1/perpetual"; import * as _67 from "./indexer/protocol/v1/subaccount"; -import * as _68 from "./indexer/redis/redis_order"; -import * as _69 from "./indexer/shared/removal_reason"; -import * as _70 from "./indexer/socks/messages"; -import * as _71 from "./listing/genesis"; -import * as _72 from "./listing/params"; -import * as _73 from "./listing/query"; -import * as _74 from "./listing/tx"; -import * as _75 from "./perpetuals/genesis"; -import * as _76 from "./perpetuals/params"; -import * as _77 from "./perpetuals/perpetual"; -import * as _78 from "./perpetuals/query"; -import * as _79 from "./perpetuals/tx"; -import * as _80 from "./prices/genesis"; -import * as _81 from "./prices/market_param"; -import * as _82 from "./prices/market_price"; -import * as _83 from "./prices/query"; -import * as _84 from "./prices/tx"; -import * as _85 from "./ratelimit/capacity"; -import * as _86 from "./ratelimit/genesis"; -import * as _87 from "./ratelimit/limit_params"; -import * as _88 from "./ratelimit/pending_send_packet"; -import * as _89 from "./ratelimit/query"; -import * as _90 from "./ratelimit/tx"; -import * as _91 from "./revshare/genesis"; -import * as _92 from "./revshare/params"; -import * as _93 from "./revshare/query"; -import * as _94 from "./revshare/revshare"; -import * as _95 from "./revshare/tx"; -import * as _96 from "./rewards/genesis"; -import * as _97 from "./rewards/params"; -import * as _98 from "./rewards/query"; -import * as _99 from "./rewards/reward_share"; -import * as _100 from "./rewards/tx"; -import * as _101 from "./sending/genesis"; -import * as _102 from "./sending/query"; -import * as _103 from "./sending/transfer"; -import * as _104 from "./sending/tx"; -import * as _105 from "./stats/genesis"; -import * as _106 from "./stats/params"; -import * as _107 from "./stats/query"; -import * as _108 from "./stats/stats"; -import * as _109 from "./stats/tx"; -import * as _110 from "./subaccounts/asset_position"; -import * as _111 from "./subaccounts/genesis"; -import * as _112 from "./subaccounts/perpetual_position"; -import * as _113 from "./subaccounts/query"; -import * as _114 from "./subaccounts/streaming"; -import * as _115 from "./subaccounts/subaccount"; -import * as _116 from "./vault/genesis"; -import * as _117 from "./vault/params"; -import * as _118 from "./vault/query"; -import * as _119 from "./vault/share"; -import * as _120 from "./vault/tx"; -import * as _121 from "./vault/vault"; -import * as _122 from "./vest/genesis"; -import * as _123 from "./vest/query"; -import * as _124 from "./vest/tx"; -import * as _125 from "./vest/vest_entry"; -import * as _133 from "./accountplus/query.lcd"; -import * as _134 from "./assets/query.lcd"; -import * as _135 from "./blocktime/query.lcd"; -import * as _136 from "./bridge/query.lcd"; -import * as _137 from "./clob/query.lcd"; -import * as _138 from "./delaymsg/query.lcd"; -import * as _139 from "./epochs/query.lcd"; -import * as _140 from "./feetiers/query.lcd"; -import * as _141 from "./listing/query.lcd"; -import * as _142 from "./perpetuals/query.lcd"; -import * as _143 from "./prices/query.lcd"; -import * as _144 from "./ratelimit/query.lcd"; -import * as _145 from "./revshare/query.lcd"; -import * as _146 from "./rewards/query.lcd"; -import * as _147 from "./stats/query.lcd"; -import * as _148 from "./subaccounts/query.lcd"; -import * as _149 from "./vault/query.lcd"; -import * as _150 from "./vest/query.lcd"; -import * as _151 from "./accountplus/query.rpc.Query"; -import * as _152 from "./affiliates/query.rpc.Query"; -import * as _153 from "./assets/query.rpc.Query"; -import * as _154 from "./blocktime/query.rpc.Query"; -import * as _155 from "./bridge/query.rpc.Query"; -import * as _156 from "./clob/query.rpc.Query"; -import * as _157 from "./delaymsg/query.rpc.Query"; -import * as _158 from "./epochs/query.rpc.Query"; -import * as _159 from "./feetiers/query.rpc.Query"; -import * as _160 from "./govplus/query.rpc.Query"; -import * as _161 from "./listing/query.rpc.Query"; -import * as _162 from "./perpetuals/query.rpc.Query"; -import * as _163 from "./prices/query.rpc.Query"; -import * as _164 from "./ratelimit/query.rpc.Query"; -import * as _165 from "./revshare/query.rpc.Query"; -import * as _166 from "./rewards/query.rpc.Query"; -import * as _167 from "./sending/query.rpc.Query"; -import * as _168 from "./stats/query.rpc.Query"; -import * as _169 from "./subaccounts/query.rpc.Query"; -import * as _170 from "./vault/query.rpc.Query"; -import * as _171 from "./vest/query.rpc.Query"; -import * as _172 from "./accountplus/tx.rpc.msg"; -import * as _173 from "./affiliates/tx.rpc.msg"; -import * as _174 from "./blocktime/tx.rpc.msg"; -import * as _175 from "./bridge/tx.rpc.msg"; -import * as _176 from "./clob/tx.rpc.msg"; -import * as _177 from "./delaymsg/tx.rpc.msg"; -import * as _178 from "./feetiers/tx.rpc.msg"; -import * as _179 from "./govplus/tx.rpc.msg"; -import * as _180 from "./listing/tx.rpc.msg"; -import * as _181 from "./perpetuals/tx.rpc.msg"; -import * as _182 from "./prices/tx.rpc.msg"; -import * as _183 from "./ratelimit/tx.rpc.msg"; -import * as _184 from "./revshare/tx.rpc.msg"; -import * as _185 from "./rewards/tx.rpc.msg"; -import * as _186 from "./sending/tx.rpc.msg"; -import * as _187 from "./stats/tx.rpc.msg"; -import * as _188 from "./vault/tx.rpc.msg"; -import * as _189 from "./vest/tx.rpc.msg"; -import * as _190 from "./lcd"; -import * as _191 from "./rpc.query"; -import * as _192 from "./rpc.tx"; +import * as _68 from "./indexer/protocol/v1/vault"; +import * as _69 from "./indexer/redis/redis_order"; +import * as _70 from "./indexer/shared/removal_reason"; +import * as _71 from "./indexer/socks/messages"; +import * as _72 from "./listing/genesis"; +import * as _73 from "./listing/params"; +import * as _74 from "./listing/query"; +import * as _75 from "./listing/tx"; +import * as _76 from "./perpetuals/genesis"; +import * as _77 from "./perpetuals/params"; +import * as _78 from "./perpetuals/perpetual"; +import * as _79 from "./perpetuals/query"; +import * as _80 from "./perpetuals/tx"; +import * as _81 from "./prices/genesis"; +import * as _82 from "./prices/market_param"; +import * as _83 from "./prices/market_price"; +import * as _84 from "./prices/query"; +import * as _85 from "./prices/tx"; +import * as _86 from "./ratelimit/capacity"; +import * as _87 from "./ratelimit/genesis"; +import * as _88 from "./ratelimit/limit_params"; +import * as _89 from "./ratelimit/pending_send_packet"; +import * as _90 from "./ratelimit/query"; +import * as _91 from "./ratelimit/tx"; +import * as _92 from "./revshare/genesis"; +import * as _93 from "./revshare/params"; +import * as _94 from "./revshare/query"; +import * as _95 from "./revshare/revshare"; +import * as _96 from "./revshare/tx"; +import * as _97 from "./rewards/genesis"; +import * as _98 from "./rewards/params"; +import * as _99 from "./rewards/query"; +import * as _100 from "./rewards/reward_share"; +import * as _101 from "./rewards/tx"; +import * as _102 from "./sending/genesis"; +import * as _103 from "./sending/query"; +import * as _104 from "./sending/transfer"; +import * as _105 from "./sending/tx"; +import * as _106 from "./stats/genesis"; +import * as _107 from "./stats/params"; +import * as _108 from "./stats/query"; +import * as _109 from "./stats/stats"; +import * as _110 from "./stats/tx"; +import * as _111 from "./subaccounts/asset_position"; +import * as _112 from "./subaccounts/genesis"; +import * as _113 from "./subaccounts/perpetual_position"; +import * as _114 from "./subaccounts/query"; +import * as _115 from "./subaccounts/streaming"; +import * as _116 from "./subaccounts/subaccount"; +import * as _117 from "./vault/genesis"; +import * as _118 from "./vault/params"; +import * as _119 from "./vault/query"; +import * as _120 from "./vault/share"; +import * as _121 from "./vault/tx"; +import * as _122 from "./vault/vault"; +import * as _123 from "./vest/genesis"; +import * as _124 from "./vest/query"; +import * as _125 from "./vest/tx"; +import * as _126 from "./vest/vest_entry"; +import * as _134 from "./accountplus/query.lcd"; +import * as _135 from "./assets/query.lcd"; +import * as _136 from "./blocktime/query.lcd"; +import * as _137 from "./bridge/query.lcd"; +import * as _138 from "./clob/query.lcd"; +import * as _139 from "./delaymsg/query.lcd"; +import * as _140 from "./epochs/query.lcd"; +import * as _141 from "./feetiers/query.lcd"; +import * as _142 from "./listing/query.lcd"; +import * as _143 from "./perpetuals/query.lcd"; +import * as _144 from "./prices/query.lcd"; +import * as _145 from "./ratelimit/query.lcd"; +import * as _146 from "./revshare/query.lcd"; +import * as _147 from "./rewards/query.lcd"; +import * as _148 from "./stats/query.lcd"; +import * as _149 from "./subaccounts/query.lcd"; +import * as _150 from "./vault/query.lcd"; +import * as _151 from "./vest/query.lcd"; +import * as _152 from "./accountplus/query.rpc.Query"; +import * as _153 from "./affiliates/query.rpc.Query"; +import * as _154 from "./assets/query.rpc.Query"; +import * as _155 from "./blocktime/query.rpc.Query"; +import * as _156 from "./bridge/query.rpc.Query"; +import * as _157 from "./clob/query.rpc.Query"; +import * as _158 from "./delaymsg/query.rpc.Query"; +import * as _159 from "./epochs/query.rpc.Query"; +import * as _160 from "./feetiers/query.rpc.Query"; +import * as _161 from "./govplus/query.rpc.Query"; +import * as _162 from "./listing/query.rpc.Query"; +import * as _163 from "./perpetuals/query.rpc.Query"; +import * as _164 from "./prices/query.rpc.Query"; +import * as _165 from "./ratelimit/query.rpc.Query"; +import * as _166 from "./revshare/query.rpc.Query"; +import * as _167 from "./rewards/query.rpc.Query"; +import * as _168 from "./sending/query.rpc.Query"; +import * as _169 from "./stats/query.rpc.Query"; +import * as _170 from "./subaccounts/query.rpc.Query"; +import * as _171 from "./vault/query.rpc.Query"; +import * as _172 from "./vest/query.rpc.Query"; +import * as _173 from "./accountplus/tx.rpc.msg"; +import * as _174 from "./affiliates/tx.rpc.msg"; +import * as _175 from "./blocktime/tx.rpc.msg"; +import * as _176 from "./bridge/tx.rpc.msg"; +import * as _177 from "./clob/tx.rpc.msg"; +import * as _178 from "./delaymsg/tx.rpc.msg"; +import * as _179 from "./feetiers/tx.rpc.msg"; +import * as _180 from "./govplus/tx.rpc.msg"; +import * as _181 from "./listing/tx.rpc.msg"; +import * as _182 from "./perpetuals/tx.rpc.msg"; +import * as _183 from "./prices/tx.rpc.msg"; +import * as _184 from "./ratelimit/tx.rpc.msg"; +import * as _185 from "./revshare/tx.rpc.msg"; +import * as _186 from "./rewards/tx.rpc.msg"; +import * as _187 from "./sending/tx.rpc.msg"; +import * as _188 from "./stats/tx.rpc.msg"; +import * as _189 from "./vault/tx.rpc.msg"; +import * as _190 from "./vest/tx.rpc.msg"; +import * as _191 from "./lcd"; +import * as _192 from "./rpc.query"; +import * as _193 from "./rpc.tx"; export namespace dydxprotocol { export const accountplus = { ..._5, ..._6, @@ -186,32 +187,32 @@ export namespace dydxprotocol { ..._8, ..._9, ..._10, - ..._133, - ..._151, - ..._172 + ..._134, + ..._152, + ..._173 }; export const affiliates = { ..._11, ..._12, ..._13, ..._14, - ..._152, - ..._173 + ..._153, + ..._174 }; export const assets = { ..._15, ..._16, ..._17, ..._18, - ..._134, - ..._153 + ..._135, + ..._154 }; export const blocktime = { ..._19, ..._20, ..._21, ..._22, ..._23, - ..._135, - ..._154, - ..._174 + ..._136, + ..._155, + ..._175 }; export const bridge = { ..._24, ..._25, @@ -219,9 +220,9 @@ export namespace dydxprotocol { ..._27, ..._28, ..._29, - ..._136, - ..._155, - ..._175 + ..._137, + ..._156, + ..._176 }; export const clob = { ..._30, ..._31, @@ -237,9 +238,9 @@ export namespace dydxprotocol { ..._41, ..._42, ..._43, - ..._137, - ..._156, - ..._176 + ..._138, + ..._157, + ..._177 }; export namespace daemons { export const bridge = { ..._44 @@ -254,29 +255,29 @@ export namespace dydxprotocol { ..._49, ..._50, ..._51, - ..._138, - ..._157, - ..._177 + ..._139, + ..._158, + ..._178 }; export const epochs = { ..._52, ..._53, ..._54, - ..._139, - ..._158 + ..._140, + ..._159 }; export const feetiers = { ..._55, ..._56, ..._57, ..._58, - ..._140, - ..._159, - ..._178 + ..._141, + ..._160, + ..._179 }; export const govplus = { ..._59, ..._60, ..._61, - ..._160, - ..._179 + ..._161, + ..._180 }; export namespace indexer { export const events = { ..._62 @@ -288,115 +289,116 @@ export namespace dydxprotocol { export namespace protocol { export const v1 = { ..._65, ..._66, - ..._67 + ..._67, + ..._68 }; } - export const redis = { ..._68 + export const redis = { ..._69 }; - export const shared = { ..._69 + export const shared = { ..._70 }; - export const socks = { ..._70 + export const socks = { ..._71 }; } - export const listing = { ..._71, - ..._72, + export const listing = { ..._72, ..._73, ..._74, - ..._141, - ..._161, - ..._180 + ..._75, + ..._142, + ..._162, + ..._181 }; - export const perpetuals = { ..._75, - ..._76, + export const perpetuals = { ..._76, ..._77, ..._78, ..._79, - ..._142, - ..._162, - ..._181 + ..._80, + ..._143, + ..._163, + ..._182 }; - export const prices = { ..._80, - ..._81, + export const prices = { ..._81, ..._82, ..._83, ..._84, - ..._143, - ..._163, - ..._182 + ..._85, + ..._144, + ..._164, + ..._183 }; - export const ratelimit = { ..._85, - ..._86, + export const ratelimit = { ..._86, ..._87, ..._88, ..._89, ..._90, - ..._144, - ..._164, - ..._183 + ..._91, + ..._145, + ..._165, + ..._184 }; - export const revshare = { ..._91, - ..._92, + export const revshare = { ..._92, ..._93, ..._94, ..._95, - ..._145, - ..._165, - ..._184 + ..._96, + ..._146, + ..._166, + ..._185 }; - export const rewards = { ..._96, - ..._97, + export const rewards = { ..._97, ..._98, ..._99, ..._100, - ..._146, - ..._166, - ..._185 + ..._101, + ..._147, + ..._167, + ..._186 }; - export const sending = { ..._101, - ..._102, + export const sending = { ..._102, ..._103, ..._104, - ..._167, - ..._186 + ..._105, + ..._168, + ..._187 }; - export const stats = { ..._105, - ..._106, + export const stats = { ..._106, ..._107, ..._108, ..._109, - ..._147, - ..._168, - ..._187 + ..._110, + ..._148, + ..._169, + ..._188 }; - export const subaccounts = { ..._110, - ..._111, + export const subaccounts = { ..._111, ..._112, ..._113, ..._114, ..._115, - ..._148, - ..._169 + ..._116, + ..._149, + ..._170 }; - export const vault = { ..._116, - ..._117, + export const vault = { ..._117, ..._118, ..._119, ..._120, ..._121, - ..._149, - ..._170, - ..._188 - }; - export const vest = { ..._122, - ..._123, - ..._124, - ..._125, + ..._122, ..._150, ..._171, ..._189 }; - export const ClientFactory = { ..._190, - ..._191, - ..._192 + export const vest = { ..._123, + ..._124, + ..._125, + ..._126, + ..._151, + ..._172, + ..._190 + }; + export const ClientFactory = { ..._191, + ..._192, + ..._193 }; } \ No newline at end of file diff --git a/indexer/packages/v4-protos/src/codegen/dydxprotocol/indexer/events/events.ts b/indexer/packages/v4-protos/src/codegen/dydxprotocol/indexer/events/events.ts index fbfa1b572f..6b968da426 100644 --- a/indexer/packages/v4-protos/src/codegen/dydxprotocol/indexer/events/events.ts +++ b/indexer/packages/v4-protos/src/codegen/dydxprotocol/indexer/events/events.ts @@ -2,6 +2,7 @@ import { IndexerSubaccountId, IndexerSubaccountIdSDKType, IndexerPerpetualPositi import { IndexerOrder, IndexerOrderSDKType, IndexerOrderId, IndexerOrderIdSDKType, ClobPairStatus, ClobPairStatusSDKType } from "../protocol/v1/clob"; import { OrderRemovalReason, OrderRemovalReasonSDKType } from "../shared/removal_reason"; import { PerpetualMarketType, PerpetualMarketTypeSDKType } from "../protocol/v1/perpetual"; +import { VaultStatus, VaultStatusSDKType } from "../protocol/v1/vault"; import * as _m0 from "protobufjs/minimal"; import { DeepPartial, Long } from "../../../helpers"; /** Type is the type for funding values. */ @@ -1503,6 +1504,30 @@ export interface RegisterAffiliateEventV1SDKType { affiliate: string; } +/** Event emitted when a vault is created / updated. */ + +export interface UpsertVaultEventV1 { + /** Address of the vault. */ + address: string; + /** Clob pair Id associated with the vault. */ + + clobPairId: number; + /** Status of the vault. */ + + status: VaultStatus; +} +/** Event emitted when a vault is created / updated. */ + +export interface UpsertVaultEventV1SDKType { + /** Address of the vault. */ + address: string; + /** Clob pair Id associated with the vault. */ + + clob_pair_id: number; + /** Status of the vault. */ + + status: VaultStatusSDKType; +} function createBaseFundingUpdateV1(): FundingUpdateV1 { return { @@ -3802,4 +3827,69 @@ export const RegisterAffiliateEventV1 = { return message; } +}; + +function createBaseUpsertVaultEventV1(): UpsertVaultEventV1 { + return { + address: "", + clobPairId: 0, + status: 0 + }; +} + +export const UpsertVaultEventV1 = { + encode(message: UpsertVaultEventV1, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + + if (message.clobPairId !== 0) { + writer.uint32(16).uint32(message.clobPairId); + } + + if (message.status !== 0) { + writer.uint32(24).int32(message.status); + } + + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): UpsertVaultEventV1 { + const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseUpsertVaultEventV1(); + + while (reader.pos < end) { + const tag = reader.uint32(); + + switch (tag >>> 3) { + case 1: + message.address = reader.string(); + break; + + case 2: + message.clobPairId = reader.uint32(); + break; + + case 3: + message.status = (reader.int32() as any); + break; + + default: + reader.skipType(tag & 7); + break; + } + } + + return message; + }, + + fromPartial(object: DeepPartial): UpsertVaultEventV1 { + const message = createBaseUpsertVaultEventV1(); + message.address = object.address ?? ""; + message.clobPairId = object.clobPairId ?? 0; + message.status = object.status ?? 0; + return message; + } + }; \ No newline at end of file diff --git a/indexer/packages/v4-protos/src/codegen/dydxprotocol/indexer/protocol/v1/vault.ts b/indexer/packages/v4-protos/src/codegen/dydxprotocol/indexer/protocol/v1/vault.ts new file mode 100644 index 0000000000..93b1f9b2fd --- /dev/null +++ b/indexer/packages/v4-protos/src/codegen/dydxprotocol/indexer/protocol/v1/vault.ts @@ -0,0 +1,87 @@ +/** VaultStatus represents the status of a vault. */ +export enum VaultStatus { + /** VAULT_STATUS_UNSPECIFIED - Default value, invalid and unused. */ + VAULT_STATUS_UNSPECIFIED = 0, + + /** VAULT_STATUS_DEACTIVATED - Don’t place orders. Does not count toward global vault balances. */ + VAULT_STATUS_DEACTIVATED = 1, + + /** VAULT_STATUS_STAND_BY - Don’t place orders. Does count towards global vault balances. */ + VAULT_STATUS_STAND_BY = 2, + + /** VAULT_STATUS_QUOTING - Places orders on both sides of the book. */ + VAULT_STATUS_QUOTING = 3, + + /** VAULT_STATUS_CLOSE_ONLY - Only place orders that close the position. */ + VAULT_STATUS_CLOSE_ONLY = 4, + UNRECOGNIZED = -1, +} +/** VaultStatus represents the status of a vault. */ + +export enum VaultStatusSDKType { + /** VAULT_STATUS_UNSPECIFIED - Default value, invalid and unused. */ + VAULT_STATUS_UNSPECIFIED = 0, + + /** VAULT_STATUS_DEACTIVATED - Don’t place orders. Does not count toward global vault balances. */ + VAULT_STATUS_DEACTIVATED = 1, + + /** VAULT_STATUS_STAND_BY - Don’t place orders. Does count towards global vault balances. */ + VAULT_STATUS_STAND_BY = 2, + + /** VAULT_STATUS_QUOTING - Places orders on both sides of the book. */ + VAULT_STATUS_QUOTING = 3, + + /** VAULT_STATUS_CLOSE_ONLY - Only place orders that close the position. */ + VAULT_STATUS_CLOSE_ONLY = 4, + UNRECOGNIZED = -1, +} +export function vaultStatusFromJSON(object: any): VaultStatus { + switch (object) { + case 0: + case "VAULT_STATUS_UNSPECIFIED": + return VaultStatus.VAULT_STATUS_UNSPECIFIED; + + case 1: + case "VAULT_STATUS_DEACTIVATED": + return VaultStatus.VAULT_STATUS_DEACTIVATED; + + case 2: + case "VAULT_STATUS_STAND_BY": + return VaultStatus.VAULT_STATUS_STAND_BY; + + case 3: + case "VAULT_STATUS_QUOTING": + return VaultStatus.VAULT_STATUS_QUOTING; + + case 4: + case "VAULT_STATUS_CLOSE_ONLY": + return VaultStatus.VAULT_STATUS_CLOSE_ONLY; + + case -1: + case "UNRECOGNIZED": + default: + return VaultStatus.UNRECOGNIZED; + } +} +export function vaultStatusToJSON(object: VaultStatus): string { + switch (object) { + case VaultStatus.VAULT_STATUS_UNSPECIFIED: + return "VAULT_STATUS_UNSPECIFIED"; + + case VaultStatus.VAULT_STATUS_DEACTIVATED: + return "VAULT_STATUS_DEACTIVATED"; + + case VaultStatus.VAULT_STATUS_STAND_BY: + return "VAULT_STATUS_STAND_BY"; + + case VaultStatus.VAULT_STATUS_QUOTING: + return "VAULT_STATUS_QUOTING"; + + case VaultStatus.VAULT_STATUS_CLOSE_ONLY: + return "VAULT_STATUS_CLOSE_ONLY"; + + case VaultStatus.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} \ No newline at end of file diff --git a/indexer/packages/v4-protos/src/codegen/gogoproto/bundle.ts b/indexer/packages/v4-protos/src/codegen/gogoproto/bundle.ts index 795d06bc47..52cc244930 100644 --- a/indexer/packages/v4-protos/src/codegen/gogoproto/bundle.ts +++ b/indexer/packages/v4-protos/src/codegen/gogoproto/bundle.ts @@ -1,3 +1,3 @@ -import * as _126 from "./gogo"; -export const gogoproto = { ..._126 +import * as _127 from "./gogo"; +export const gogoproto = { ..._127 }; \ No newline at end of file diff --git a/indexer/packages/v4-protos/src/codegen/google/bundle.ts b/indexer/packages/v4-protos/src/codegen/google/bundle.ts index 6c02be50fc..fd95177ed2 100644 --- a/indexer/packages/v4-protos/src/codegen/google/bundle.ts +++ b/indexer/packages/v4-protos/src/codegen/google/bundle.ts @@ -1,16 +1,16 @@ -import * as _127 from "./api/annotations"; -import * as _128 from "./api/http"; -import * as _129 from "./protobuf/descriptor"; -import * as _130 from "./protobuf/duration"; -import * as _131 from "./protobuf/timestamp"; -import * as _132 from "./protobuf/any"; +import * as _128 from "./api/annotations"; +import * as _129 from "./api/http"; +import * as _130 from "./protobuf/descriptor"; +import * as _131 from "./protobuf/duration"; +import * as _132 from "./protobuf/timestamp"; +import * as _133 from "./protobuf/any"; export namespace google { - export const api = { ..._127, - ..._128 + export const api = { ..._128, + ..._129 }; - export const protobuf = { ..._129, - ..._130, + export const protobuf = { ..._130, ..._131, - ..._132 + ..._132, + ..._133 }; } \ No newline at end of file diff --git a/proto/dydxprotocol/indexer/events/events.proto b/proto/dydxprotocol/indexer/events/events.proto index 3a548ec735..b152dcd82f 100644 --- a/proto/dydxprotocol/indexer/events/events.proto +++ b/proto/dydxprotocol/indexer/events/events.proto @@ -7,6 +7,7 @@ import "dydxprotocol/indexer/shared/removal_reason.proto"; import "dydxprotocol/indexer/protocol/v1/clob.proto"; import "dydxprotocol/indexer/protocol/v1/perpetual.proto"; import "dydxprotocol/indexer/protocol/v1/subaccount.proto"; +import "dydxprotocol/indexer/protocol/v1/vault.proto"; option go_package = "github.com/dydxprotocol/v4-chain/protocol/indexer/events"; @@ -590,3 +591,15 @@ message RegisterAffiliateEventV1 { // Address of the affiliate associated with the referee. string affiliate = 2 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; } + +// Event emitted when a vault is created / updated. +message UpsertVaultEventV1 { + // Address of the vault. + string address = 1 [ (cosmos_proto.scalar) = "cosmos.AddressString" ]; + + // Clob pair Id associated with the vault. + uint32 clob_pair_id = 2; + + // Status of the vault. + dydxprotocol.indexer.protocol.v1.VaultStatus status = 3; +} diff --git a/proto/dydxprotocol/indexer/protocol/v1/vault.proto b/proto/dydxprotocol/indexer/protocol/v1/vault.proto new file mode 100644 index 0000000000..1a7ebc6d19 --- /dev/null +++ b/proto/dydxprotocol/indexer/protocol/v1/vault.proto @@ -0,0 +1,27 @@ +syntax = "proto3"; +package dydxprotocol.indexer.protocol.v1; + +option go_package = "github.com/dydxprotocol/v4-chain/protocol/indexer/protocol/v1/types"; + +// Initial copy of protos from dYdX chain application state protos for the +// vault module for use to send Indexer specific messages. Do not make any +// breaking changes to these protos, a new version should be created if a +// breaking change is needed. + +// VaultStatus represents the status of a vault. +enum VaultStatus { + // Default value, invalid and unused. + VAULT_STATUS_UNSPECIFIED = 0; + + // Don’t place orders. Does not count toward global vault balances. + VAULT_STATUS_DEACTIVATED = 1; + + // Don’t place orders. Does count towards global vault balances. + VAULT_STATUS_STAND_BY = 2; + + // Places orders on both sides of the book. + VAULT_STATUS_QUOTING = 3; + + // Only place orders that close the position. + VAULT_STATUS_CLOSE_ONLY = 4; +} diff --git a/protocol/indexer/events/events.pb.go b/protocol/indexer/events/events.pb.go index 9a02a645dc..45c17665b9 100644 --- a/protocol/indexer/events/events.pb.go +++ b/protocol/indexer/events/events.pb.go @@ -2600,6 +2600,70 @@ func (m *RegisterAffiliateEventV1) GetAffiliate() string { return "" } +// Event emitted when a vault is created / updated. +type UpsertVaultEventV1 struct { + // Address of the vault. + Address string `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"` + // Clob pair Id associated with the vault. + ClobPairId uint32 `protobuf:"varint,2,opt,name=clob_pair_id,json=clobPairId,proto3" json:"clob_pair_id,omitempty"` + // Status of the vault. + Status types.VaultStatus `protobuf:"varint,3,opt,name=status,proto3,enum=dydxprotocol.indexer.protocol.v1.VaultStatus" json:"status,omitempty"` +} + +func (m *UpsertVaultEventV1) Reset() { *m = UpsertVaultEventV1{} } +func (m *UpsertVaultEventV1) String() string { return proto.CompactTextString(m) } +func (*UpsertVaultEventV1) ProtoMessage() {} +func (*UpsertVaultEventV1) Descriptor() ([]byte, []int) { + return fileDescriptor_6331dfb59c6fd2bb, []int{26} +} +func (m *UpsertVaultEventV1) XXX_Unmarshal(b []byte) error { + return m.Unmarshal(b) +} +func (m *UpsertVaultEventV1) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + if deterministic { + return xxx_messageInfo_UpsertVaultEventV1.Marshal(b, m, deterministic) + } else { + b = b[:cap(b)] + n, err := m.MarshalToSizedBuffer(b) + if err != nil { + return nil, err + } + return b[:n], nil + } +} +func (m *UpsertVaultEventV1) XXX_Merge(src proto.Message) { + xxx_messageInfo_UpsertVaultEventV1.Merge(m, src) +} +func (m *UpsertVaultEventV1) XXX_Size() int { + return m.Size() +} +func (m *UpsertVaultEventV1) XXX_DiscardUnknown() { + xxx_messageInfo_UpsertVaultEventV1.DiscardUnknown(m) +} + +var xxx_messageInfo_UpsertVaultEventV1 proto.InternalMessageInfo + +func (m *UpsertVaultEventV1) GetAddress() string { + if m != nil { + return m.Address + } + return "" +} + +func (m *UpsertVaultEventV1) GetClobPairId() uint32 { + if m != nil { + return m.ClobPairId + } + return 0 +} + +func (m *UpsertVaultEventV1) GetStatus() types.VaultStatus { + if m != nil { + return m.Status + } + return types.VaultStatus_VAULT_STATUS_UNSPECIFIED +} + func init() { proto.RegisterEnum("dydxprotocol.indexer.events.FundingEventV1_Type", FundingEventV1_Type_name, FundingEventV1_Type_value) proto.RegisterType((*FundingUpdateV1)(nil), "dydxprotocol.indexer.events.FundingUpdateV1") @@ -2634,6 +2698,7 @@ func init() { proto.RegisterType((*OpenInterestUpdate)(nil), "dydxprotocol.indexer.events.OpenInterestUpdate") proto.RegisterType((*LiquidityTierUpsertEventV2)(nil), "dydxprotocol.indexer.events.LiquidityTierUpsertEventV2") proto.RegisterType((*RegisterAffiliateEventV1)(nil), "dydxprotocol.indexer.events.RegisterAffiliateEventV1") + proto.RegisterType((*UpsertVaultEventV1)(nil), "dydxprotocol.indexer.events.UpsertVaultEventV1") } func init() { @@ -2641,157 +2706,160 @@ func init() { } var fileDescriptor_6331dfb59c6fd2bb = []byte{ - // 2392 bytes of a gzipped FileDescriptorProto + // 2439 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x5a, 0xcd, 0x6f, 0x23, 0x49, - 0x15, 0x4f, 0xdb, 0x8e, 0xe3, 0x3c, 0xc7, 0x19, 0xbb, 0xc6, 0xc9, 0x38, 0x09, 0x64, 0x86, 0x96, - 0x90, 0x46, 0xfb, 0xe1, 0x4c, 0xc2, 0xee, 0x6a, 0xb5, 0x07, 0x44, 0x9c, 0x8f, 0x8d, 0xa3, 0x24, - 0xe3, 0xad, 0x24, 0xb3, 0xbb, 0x03, 0xda, 0xa6, 0xd3, 0x5d, 0x76, 0x4a, 0xe9, 0xaf, 0xe9, 0x6a, + 0x15, 0x4f, 0xdb, 0x8e, 0xe3, 0x3c, 0xc7, 0x19, 0xbb, 0xc6, 0xc9, 0x38, 0x09, 0xcc, 0x0c, 0x2d, + 0x21, 0x8d, 0xf6, 0xc3, 0x99, 0x09, 0xbb, 0xab, 0xd5, 0x1e, 0x10, 0x71, 0x3e, 0x36, 0x8e, 0x92, + 0x8c, 0xb7, 0xf3, 0xb1, 0xbb, 0x03, 0xda, 0xa6, 0xd2, 0x5d, 0x76, 0x4a, 0xe9, 0xaf, 0xe9, 0x6a, 0x67, 0x36, 0x83, 0x90, 0x38, 0xb1, 0x1c, 0x90, 0x40, 0x42, 0x1c, 0x38, 0x20, 0x71, 0x81, 0x03, 0x12, 0x07, 0x24, 0xc4, 0x8d, 0x03, 0xe2, 0xb2, 0x37, 0x56, 0x9c, 0x10, 0x48, 0x2b, 0xb4, 0x7b, - 0xe0, 0xdf, 0x40, 0xf5, 0xd1, 0xed, 0x6f, 0x8f, 0x67, 0x93, 0x95, 0x10, 0xe2, 0x14, 0xd7, 0x7b, - 0xf5, 0x7e, 0xef, 0xd5, 0x7b, 0xaf, 0xaa, 0x5e, 0xbd, 0x0e, 0xdc, 0xb7, 0xaf, 0xec, 0x0f, 0x83, - 0xd0, 0x8f, 0x7c, 0xcb, 0x77, 0xd6, 0xa8, 0x67, 0x93, 0x0f, 0x49, 0xb8, 0x46, 0x2e, 0x89, 0x17, - 0x31, 0xf5, 0xa7, 0x2a, 0xd8, 0x68, 0xa5, 0x7b, 0x66, 0x55, 0xcd, 0xac, 0xca, 0x29, 0xcb, 0x4b, - 0x96, 0xcf, 0x5c, 0x9f, 0x19, 0x82, 0xbf, 0x26, 0x07, 0x52, 0x6e, 0xb9, 0xdc, 0xf2, 0x5b, 0xbe, - 0xa4, 0xf3, 0x5f, 0x8a, 0xfa, 0x60, 0xa8, 0x5e, 0x76, 0x6e, 0x86, 0xc4, 0x5e, 0x0b, 0x89, 0xeb, - 0x5f, 0x9a, 0x8e, 0x11, 0x12, 0x93, 0xf9, 0x9e, 0x92, 0x78, 0x79, 0xa8, 0x44, 0x42, 0xb8, 0x5c, - 0x5f, 0xb3, 0x1c, 0xff, 0x6c, 0x2c, 0x7c, 0xf7, 0xe4, 0x80, 0x84, 0x01, 0x89, 0xda, 0xa6, 0xa3, - 0x24, 0xd6, 0x9f, 0x2b, 0xc1, 0xda, 0x67, 0xa6, 0x65, 0xf9, 0x6d, 0x2f, 0x92, 0x22, 0xfa, 0x5f, - 0x35, 0xb8, 0xb5, 0xdb, 0xf6, 0x6c, 0xea, 0xb5, 0x4e, 0x03, 0xdb, 0x8c, 0xc8, 0xa3, 0x75, 0xf4, - 0x35, 0x98, 0x4b, 0x90, 0x0d, 0x6a, 0x57, 0xb4, 0x7b, 0xda, 0xfd, 0x02, 0xce, 0x27, 0xb4, 0xba, - 0x8d, 0x5e, 0x82, 0x52, 0x53, 0x4a, 0x19, 0x97, 0xa6, 0xd3, 0x26, 0x46, 0x10, 0xb8, 0x95, 0xd4, - 0x3d, 0xed, 0xfe, 0x34, 0xbe, 0xa5, 0x18, 0x8f, 0x38, 0xbd, 0x11, 0xb8, 0xc8, 0x85, 0x42, 0x3c, - 0x57, 0x98, 0x54, 0x49, 0xdf, 0xd3, 0xee, 0xcf, 0xd5, 0xf6, 0x3e, 0xfe, 0xf4, 0xee, 0xd4, 0x3f, - 0x3e, 0xbd, 0xfb, 0xad, 0x16, 0x8d, 0xce, 0xdb, 0x67, 0x55, 0xcb, 0x77, 0xd7, 0x7a, 0xec, 0xbf, - 0x7c, 0xed, 0x55, 0xeb, 0xdc, 0xa4, 0x5e, 0x67, 0x01, 0x76, 0x74, 0x15, 0x10, 0x56, 0x3d, 0x26, - 0x21, 0x35, 0x1d, 0xfa, 0xcc, 0x3c, 0x73, 0x48, 0xdd, 0x8b, 0xf0, 0x9c, 0x82, 0xaf, 0x73, 0x74, - 0xfd, 0x67, 0x29, 0x98, 0x57, 0x2b, 0xda, 0xe1, 0x81, 0x7d, 0xb4, 0x8e, 0x0e, 0x60, 0xa6, 0x2d, - 0x16, 0xc7, 0x2a, 0xda, 0xbd, 0xf4, 0xfd, 0xfc, 0xc6, 0x2b, 0xd5, 0x31, 0x89, 0x50, 0xed, 0xf3, - 0x47, 0x2d, 0xc3, 0x2d, 0xc5, 0x31, 0x04, 0xda, 0x86, 0x0c, 0xb7, 0x43, 0x2c, 0x77, 0x7e, 0xe3, - 0xc1, 0x24, 0x50, 0xca, 0x90, 0xea, 0xc9, 0x55, 0x40, 0xb0, 0x90, 0xd6, 0x5d, 0xc8, 0xf0, 0x11, - 0x2a, 0x43, 0xf1, 0xe4, 0xfd, 0xc6, 0x8e, 0x71, 0x7a, 0x74, 0xdc, 0xd8, 0xd9, 0xaa, 0xef, 0xd6, - 0x77, 0xb6, 0x8b, 0x53, 0xe8, 0x0e, 0xdc, 0x16, 0xd4, 0x06, 0xde, 0x39, 0xac, 0x9f, 0x1e, 0x1a, - 0xc7, 0x9b, 0x87, 0x8d, 0x83, 0x9d, 0xa2, 0x86, 0xee, 0xc2, 0x8a, 0x60, 0xec, 0x9e, 0x1e, 0x6d, - 0xd7, 0x8f, 0xde, 0x36, 0xf0, 0xe6, 0xc9, 0x8e, 0xb1, 0x79, 0xb4, 0x6d, 0xd4, 0x8f, 0xb6, 0x77, - 0xde, 0x2b, 0xa6, 0xd0, 0x02, 0x94, 0x7a, 0x24, 0x1f, 0x3d, 0x3c, 0xd9, 0x29, 0xa6, 0xf5, 0xbf, - 0xa4, 0xa0, 0x70, 0x68, 0x86, 0x17, 0x24, 0x8a, 0x9d, 0xb2, 0x02, 0xb3, 0xae, 0x20, 0x74, 0x42, - 0x9c, 0x93, 0x84, 0xba, 0x8d, 0x1e, 0xc3, 0x5c, 0x10, 0x52, 0x8b, 0x18, 0x72, 0xd1, 0x62, 0xad, - 0xf9, 0x8d, 0xd7, 0xc7, 0xae, 0x55, 0xc2, 0x37, 0xb8, 0x98, 0x74, 0x9d, 0xd2, 0xb4, 0x37, 0x85, - 0xf3, 0x41, 0x87, 0x8a, 0xde, 0x85, 0x82, 0x52, 0x6c, 0x85, 0x84, 0x83, 0xa7, 0x05, 0xf8, 0x83, - 0x09, 0xc0, 0xb7, 0x84, 0x40, 0x07, 0x77, 0xce, 0xed, 0x22, 0x77, 0x01, 0xbb, 0xbe, 0x4d, 0x9b, - 0x57, 0x95, 0xcc, 0xc4, 0xc0, 0x87, 0x42, 0x60, 0x00, 0x58, 0x92, 0x6b, 0x33, 0x30, 0x2d, 0x66, - 0xeb, 0xfb, 0x50, 0x19, 0xb5, 0x4a, 0x54, 0x85, 0xdb, 0xd2, 0x65, 0x4f, 0x69, 0x74, 0x6e, 0x90, - 0x0f, 0x03, 0xdf, 0x23, 0x5e, 0x24, 0x3c, 0x9b, 0xc1, 0x25, 0xc1, 0x7a, 0x97, 0x46, 0xe7, 0x3b, - 0x8a, 0xa1, 0xbf, 0x07, 0x25, 0x89, 0x55, 0x33, 0x59, 0x02, 0x82, 0x20, 0x13, 0x98, 0x34, 0x14, - 0x52, 0xb3, 0x58, 0xfc, 0x46, 0x6b, 0x50, 0x76, 0xa9, 0x67, 0x48, 0x70, 0xeb, 0xdc, 0xf4, 0x5a, - 0x9d, 0xed, 0x56, 0xc0, 0x25, 0x97, 0x7a, 0xc2, 0x9a, 0x2d, 0xc1, 0x69, 0x04, 0xae, 0xde, 0x86, - 0xdb, 0x43, 0xdc, 0x85, 0x6a, 0x90, 0x39, 0x33, 0x19, 0x11, 0xd8, 0xf9, 0x8d, 0xea, 0x04, 0x5e, - 0xe9, 0xb2, 0x0c, 0x0b, 0x59, 0xb4, 0x0c, 0xb9, 0x64, 0x65, 0x5c, 0x7f, 0x09, 0x27, 0x63, 0xfd, - 0xfd, 0x58, 0x6d, 0x8f, 0x33, 0x6f, 0x42, 0xad, 0xfe, 0x3b, 0x0d, 0x0a, 0xc7, 0x7e, 0x3b, 0xb4, - 0xc8, 0xc3, 0x26, 0xdf, 0x52, 0x0c, 0x7d, 0x07, 0x0a, 0x9d, 0xb3, 0x2c, 0xce, 0xe0, 0x91, 0x19, - 0x9a, 0x10, 0x2e, 0xd7, 0xab, 0x75, 0x49, 0x3b, 0x4e, 0xa4, 0xeb, 0x36, 0x0f, 0x38, 0xeb, 0x1a, - 0xa3, 0xd7, 0x60, 0xc6, 0xb4, 0xed, 0x90, 0x30, 0x26, 0x56, 0x39, 0x5b, 0xab, 0xfc, 0xed, 0x0f, - 0xaf, 0x96, 0xd5, 0x95, 0xb0, 0x29, 0x39, 0xc7, 0x51, 0x48, 0xbd, 0xd6, 0xde, 0x14, 0x8e, 0xa7, - 0xd6, 0x72, 0x90, 0x65, 0xc2, 0x48, 0xfd, 0xb7, 0x69, 0xb8, 0x75, 0x12, 0x9a, 0x1e, 0x6b, 0x92, - 0x30, 0xf6, 0x43, 0x0b, 0xca, 0x8c, 0x78, 0x36, 0x09, 0x8d, 0x9b, 0x33, 0x1c, 0x23, 0x09, 0xd9, - 0x4d, 0x43, 0x2e, 0xdc, 0x09, 0x89, 0x45, 0x03, 0x4a, 0xbc, 0xa8, 0x4f, 0x57, 0xea, 0x3a, 0xba, - 0x16, 0x12, 0xd4, 0x1e, 0x75, 0x4b, 0x90, 0x33, 0x19, 0x93, 0xc7, 0x48, 0x5a, 0xa4, 0xe4, 0x8c, - 0x18, 0xd7, 0x6d, 0xb4, 0x08, 0x59, 0xd3, 0xe5, 0xd3, 0xc4, 0x4e, 0xcc, 0x60, 0x35, 0x42, 0x35, - 0xc8, 0x4a, 0xbb, 0x2b, 0xd3, 0xc2, 0xa0, 0x97, 0xc6, 0x26, 0x45, 0x4f, 0xe0, 0xb1, 0x92, 0x44, - 0x7b, 0x30, 0x9b, 0xd8, 0x53, 0xc9, 0xbe, 0x30, 0x4c, 0x47, 0x58, 0xff, 0x28, 0x03, 0xc5, 0x87, - 0xa1, 0x4d, 0xc2, 0x5d, 0xea, 0x38, 0x71, 0xb4, 0x4e, 0x21, 0xef, 0x9a, 0x17, 0x24, 0x34, 0x7c, - 0xce, 0x19, 0x9f, 0xbc, 0x43, 0x1c, 0x27, 0xf0, 0xd4, 0xc5, 0x01, 0x02, 0x48, 0x50, 0xd0, 0x2e, - 0x4c, 0x4b, 0xc0, 0xd4, 0x17, 0x01, 0xdc, 0x9b, 0xc2, 0x52, 0x1c, 0x7d, 0x00, 0x25, 0x87, 0x3e, - 0x69, 0x53, 0xdb, 0x8c, 0xa8, 0xef, 0x29, 0x23, 0xe5, 0x71, 0xb7, 0x36, 0xd6, 0x0b, 0x07, 0x1d, - 0x29, 0x01, 0x29, 0x4e, 0xbb, 0xa2, 0xd3, 0x47, 0x45, 0x77, 0x21, 0xdf, 0xa4, 0x8e, 0x63, 0xa8, - 0xf0, 0xa5, 0x45, 0xf8, 0x80, 0x93, 0x36, 0x65, 0x08, 0xc5, 0xed, 0xc1, 0xfd, 0xd3, 0x24, 0x44, - 0x44, 0x11, 0xf1, 0xdb, 0xe3, 0x82, 0x84, 0xbb, 0x84, 0x70, 0x66, 0x94, 0x30, 0xb3, 0x92, 0x19, - 0xc5, 0xcc, 0x57, 0x00, 0x45, 0x7e, 0x64, 0x3a, 0x06, 0x47, 0x23, 0xb6, 0x21, 0xa4, 0x2a, 0x33, - 0x42, 0x43, 0x51, 0x70, 0x76, 0x05, 0xe3, 0x90, 0xd3, 0x07, 0x66, 0x0b, 0x98, 0x4a, 0x6e, 0x60, - 0xf6, 0x89, 0x98, 0x5d, 0x85, 0xdb, 0x66, 0xb3, 0x49, 0x1d, 0x6a, 0x46, 0xc4, 0x08, 0xc9, 0xa5, - 0x21, 0x8a, 0xb1, 0xca, 0xac, 0x3c, 0x83, 0x13, 0x16, 0x26, 0x97, 0xc7, 0x9c, 0x51, 0x2b, 0x40, - 0x3e, 0xea, 0x44, 0x59, 0xff, 0x71, 0x1a, 0x6e, 0x6f, 0x13, 0x87, 0x5c, 0x92, 0xd0, 0x6c, 0x75, - 0xd5, 0x0f, 0xdf, 0x06, 0x88, 0x3d, 0x44, 0xae, 0xb7, 0x61, 0xe3, 0x94, 0xe8, 0xc0, 0x71, 0x70, - 0xbf, 0xd9, 0x64, 0x24, 0x8a, 0xa8, 0xd7, 0xba, 0xd6, 0x0e, 0x8d, 0xc1, 0x3b, 0x70, 0x03, 0xa5, - 0x5c, 0x7a, 0xb0, 0x94, 0xeb, 0x0b, 0x75, 0x66, 0x20, 0xd4, 0x0f, 0xa0, 0x2c, 0x43, 0xf0, 0xa4, - 0xed, 0x47, 0xc4, 0x78, 0xd2, 0x36, 0xbd, 0xa8, 0xed, 0x32, 0x11, 0xf5, 0x0c, 0x96, 0xe1, 0x79, - 0x87, 0xb3, 0xde, 0x51, 0x1c, 0xb4, 0x00, 0x59, 0xca, 0x8c, 0xb3, 0xf6, 0x95, 0x08, 0x7e, 0x0e, - 0x4f, 0x53, 0x56, 0x6b, 0x5f, 0xf1, 0xe8, 0x50, 0x66, 0x34, 0xa9, 0x67, 0x3a, 0x06, 0x37, 0xd0, - 0x21, 0x2e, 0xdf, 0xbc, 0x33, 0x62, 0x4e, 0x89, 0xb2, 0x5d, 0xce, 0x39, 0x4e, 0x18, 0xfa, 0x8f, - 0x52, 0x80, 0x06, 0xf3, 0xf5, 0xcb, 0x8d, 0xc6, 0x3d, 0x98, 0xe3, 0x25, 0xb8, 0xc1, 0x6f, 0xde, - 0xf8, 0xc4, 0x2c, 0x60, 0xe0, 0xb4, 0x86, 0x49, 0xc3, 0xba, 0x3d, 0x89, 0x4b, 0xbf, 0x0a, 0x20, - 0x3d, 0xc6, 0xe8, 0x33, 0xa2, 0x3c, 0x3a, 0x2b, 0x28, 0xc7, 0xf4, 0x19, 0xe9, 0x72, 0xcf, 0x74, - 0xb7, 0x7b, 0x96, 0x21, 0xc7, 0xda, 0x67, 0x11, 0xb5, 0x2e, 0x98, 0xf0, 0x5b, 0x06, 0x27, 0x63, - 0xfd, 0xdf, 0x29, 0xb8, 0xd3, 0xb1, 0xbc, 0xb7, 0xf0, 0x78, 0x7c, 0x93, 0x57, 0x61, 0xdf, 0x45, - 0xf8, 0x0c, 0x56, 0x64, 0x05, 0x68, 0x1b, 0x9d, 0x45, 0x07, 0x3e, 0xa3, 0x3c, 0x20, 0xac, 0x92, - 0x16, 0xd5, 0xf4, 0x5b, 0x13, 0x6b, 0x6a, 0xc4, 0x18, 0x0d, 0x05, 0x81, 0x97, 0x14, 0xfc, 0x00, - 0x87, 0x21, 0x0f, 0xee, 0xc4, 0xba, 0xe5, 0x05, 0xd3, 0xd1, 0x9b, 0x11, 0x7a, 0xdf, 0x98, 0x58, - 0xef, 0x26, 0x97, 0x4f, 0x74, 0x2e, 0x28, 0xd8, 0x1e, 0x2a, 0xdb, 0xcf, 0xe4, 0x52, 0xc5, 0xb4, - 0xfe, 0xcf, 0x39, 0x28, 0x1f, 0x47, 0x66, 0x44, 0x9a, 0x6d, 0x47, 0x64, 0x5c, 0xec, 0xe6, 0x27, - 0x90, 0x17, 0xa7, 0x84, 0x11, 0x38, 0xa6, 0x15, 0x97, 0x33, 0xfb, 0xe3, 0xaf, 0x9c, 0x21, 0x38, - 0xbd, 0xc4, 0x06, 0xc7, 0x72, 0x05, 0xa3, 0x96, 0xaa, 0x68, 0x7b, 0x7c, 0xf7, 0x26, 0x74, 0xe4, - 0x43, 0x41, 0xaa, 0x54, 0x8f, 0x49, 0x75, 0xc2, 0xef, 0x5d, 0x53, 0x29, 0x96, 0x68, 0xb2, 0xd0, - 0xf5, 0xbb, 0x28, 0xe8, 0x27, 0x1a, 0xac, 0x58, 0xbe, 0x67, 0x0b, 0x8f, 0x98, 0x8e, 0xd1, 0xb5, - 0x60, 0xb1, 0x55, 0xe5, 0x75, 0x7d, 0xf8, 0xe2, 0xfa, 0xb7, 0x3a, 0xa0, 0xfd, 0xeb, 0xde, 0x9b, - 0xc2, 0x4b, 0xd6, 0x28, 0xf6, 0x08, 0x8b, 0xa2, 0x90, 0xb6, 0x5a, 0x24, 0x24, 0xb6, 0xba, 0xf9, - 0x6f, 0xc0, 0xa2, 0x93, 0x18, 0x72, 0xb8, 0x45, 0x09, 0x1b, 0x7d, 0xa4, 0xc1, 0x92, 0xe3, 0x7b, - 0x2d, 0x23, 0x22, 0xa1, 0x3b, 0xe0, 0xa1, 0x99, 0x2f, 0x9a, 0x16, 0x07, 0xbe, 0xd7, 0x3a, 0x21, - 0xa1, 0x3b, 0xc4, 0x3d, 0x8b, 0xce, 0x50, 0x1e, 0xfa, 0x1e, 0x94, 0xe2, 0xf4, 0xe8, 0x18, 0x90, - 0x13, 0x06, 0x1c, 0x5c, 0xd3, 0x00, 0xdc, 0x41, 0x94, 0x15, 0x82, 0xdf, 0x47, 0x5d, 0xfe, 0x2e, - 0x54, 0x46, 0x65, 0x32, 0xda, 0x8e, 0xab, 0x9c, 0x2f, 0x54, 0x36, 0xa9, 0x1a, 0x67, 0xf9, 0x4f, - 0x1a, 0x2c, 0x0e, 0xcf, 0x5b, 0xf4, 0x18, 0x8a, 0x62, 0x4b, 0x10, 0x5b, 0x05, 0x20, 0x39, 0xf5, - 0x1e, 0xbc, 0x98, 0xae, 0xba, 0x8d, 0xe7, 0x15, 0x92, 0x1a, 0xa3, 0xb7, 0x21, 0x2b, 0x7b, 0x36, - 0xea, 0x81, 0x3f, 0xa2, 0x9e, 0x92, 0x6d, 0x9e, 0x6a, 0xb7, 0x61, 0x58, 0x88, 0x61, 0x25, 0xbe, - 0x6c, 0xc1, 0xca, 0x98, 0xb4, 0xbf, 0x21, 0x27, 0x7d, 0x7f, 0x50, 0x49, 0x57, 0x26, 0xa3, 0x0f, - 0x00, 0x25, 0x7b, 0xe5, 0xfa, 0xae, 0x2a, 0x26, 0x58, 0x8a, 0xc2, 0xb3, 0x60, 0x54, 0xe2, 0xde, - 0xd0, 0x02, 0xff, 0xa8, 0xc1, 0xf2, 0xe8, 0xd4, 0x44, 0x18, 0xe6, 0x7c, 0xe7, 0x06, 0x96, 0x06, - 0xbe, 0x93, 0x64, 0xc0, 0xf6, 0xb5, 0x8a, 0x74, 0x65, 0x78, 0xd2, 0x34, 0x90, 0xf7, 0xca, 0x7e, - 0x26, 0x97, 0x2e, 0x66, 0xf4, 0x5f, 0x6b, 0x80, 0xc4, 0xb5, 0xd3, 0xfb, 0x34, 0x9f, 0x87, 0x54, - 0xd2, 0x84, 0x49, 0x51, 0xf1, 0x70, 0x62, 0x57, 0xee, 0x99, 0xef, 0xc8, 0xe7, 0x27, 0x56, 0x23, - 0x5e, 0x58, 0x9c, 0x9b, 0xcc, 0x90, 0xcd, 0x09, 0x51, 0x79, 0xe4, 0xf0, 0xec, 0xb9, 0xc9, 0xe4, - 0xbb, 0xb9, 0xb7, 0xa5, 0x93, 0xe9, 0x6b, 0xe9, 0xbc, 0x0c, 0x25, 0x33, 0xf2, 0x5d, 0x6a, 0x19, - 0x21, 0x61, 0xbe, 0xd3, 0xe6, 0x19, 0x23, 0x0e, 0xf4, 0x12, 0x2e, 0x4a, 0x06, 0x4e, 0xe8, 0xfa, - 0x9f, 0xd3, 0xf0, 0x95, 0xe4, 0x4a, 0x1e, 0xd6, 0x4c, 0xe8, 0xb7, 0xf8, 0xf9, 0x75, 0xd3, 0x22, - 0x64, 0x79, 0x2d, 0x43, 0x42, 0x61, 0xf7, 0x2c, 0x56, 0xa3, 0xf1, 0x46, 0xef, 0x41, 0x96, 0x45, - 0x66, 0xd4, 0x96, 0xd5, 0xe6, 0xfc, 0x24, 0x81, 0xdd, 0x52, 0x2a, 0x8f, 0x85, 0x1c, 0x56, 0xf2, - 0xe8, 0x9b, 0xb0, 0xa2, 0x2a, 0x57, 0xc3, 0xf2, 0xbd, 0x4b, 0x12, 0x32, 0xfe, 0x70, 0x4a, 0x9a, - 0x19, 0x59, 0xe1, 0x88, 0x25, 0x35, 0x65, 0x2b, 0x99, 0x11, 0xb7, 0x6b, 0x86, 0xbb, 0x6f, 0x66, - 0xb8, 0xfb, 0xd0, 0x4b, 0x50, 0x8a, 0x4b, 0x37, 0x5e, 0x37, 0x19, 0xfc, 0x97, 0x38, 0x99, 0x0b, - 0xf8, 0x56, 0xcc, 0x68, 0x90, 0xf0, 0x84, 0x5a, 0x17, 0xfc, 0x85, 0xc3, 0x22, 0x12, 0x18, 0x67, - 0x26, 0xeb, 0x2a, 0xae, 0xe5, 0x93, 0xa5, 0xc8, 0x39, 0x35, 0x93, 0x75, 0x4a, 0xeb, 0xaf, 0xc3, - 0xbc, 0xac, 0x56, 0x69, 0x74, 0x65, 0x44, 0x94, 0x84, 0x15, 0x10, 0xb0, 0x85, 0x84, 0x7a, 0x42, - 0x49, 0xf8, 0x56, 0xaa, 0xa2, 0xe9, 0x3f, 0xcf, 0x8c, 0x8d, 0xe1, 0xc6, 0xff, 0x63, 0xf8, 0x5f, - 0x1d, 0x43, 0xf4, 0x08, 0xf2, 0xca, 0xa9, 0xa2, 0xdd, 0x9c, 0x17, 0xce, 0x9b, 0xa0, 0xaa, 0xef, - 0x8b, 0xb9, 0xe8, 0x39, 0x83, 0x9b, 0xfc, 0xd6, 0x7f, 0x95, 0x82, 0xe5, 0x83, 0x6e, 0x4d, 0xa7, - 0x01, 0x23, 0x61, 0x34, 0x6a, 0x67, 0x23, 0xc8, 0x78, 0xa6, 0x4b, 0xd4, 0x49, 0x24, 0x7e, 0xf3, - 0xf5, 0x52, 0x8f, 0x46, 0xd4, 0x74, 0xf8, 0x59, 0xd4, 0xa2, 0x9e, 0x68, 0x48, 0xca, 0x97, 0x50, - 0x51, 0x71, 0x0e, 0x05, 0xa3, 0x11, 0xb8, 0xe8, 0x4d, 0xa8, 0xb8, 0x26, 0xf5, 0x22, 0xe2, 0x99, - 0x9e, 0x45, 0x8c, 0x66, 0x68, 0x5a, 0xa2, 0x6b, 0xc1, 0x65, 0x64, 0xb2, 0x2c, 0x76, 0xf1, 0x77, - 0x15, 0x5b, 0x4a, 0x2e, 0x0a, 0x97, 0xc6, 0x95, 0xbf, 0xe1, 0xf9, 0xf2, 0xa2, 0x93, 0x8f, 0x4f, - 0x5e, 0x32, 0xe3, 0x32, 0x9f, 0x11, 0x57, 0xf1, 0x47, 0x8a, 0xbf, 0x9f, 0xc9, 0x65, 0x8b, 0x33, - 0xfb, 0x99, 0xdc, 0x4c, 0x31, 0x87, 0xef, 0xf8, 0x01, 0xf1, 0x0c, 0xae, 0x20, 0x24, 0x2c, 0x32, - 0x1c, 0xff, 0x29, 0x09, 0x0d, 0xcb, 0x0c, 0xfa, 0x19, 0xed, 0x20, 0x90, 0x0c, 0xfd, 0x97, 0x29, - 0x58, 0x90, 0x8f, 0xac, 0x38, 0x13, 0x63, 0xef, 0xf4, 0xef, 0x11, 0x6d, 0x60, 0x8f, 0x74, 0xd2, - 0x3d, 0xf5, 0xe5, 0xa6, 0x7b, 0xfa, 0x79, 0xe9, 0x3e, 0x34, 0x83, 0x33, 0x2f, 0x92, 0xc1, 0xd3, - 0xc3, 0x33, 0x58, 0xff, 0xbd, 0x06, 0x8b, 0xd2, 0x3f, 0x49, 0xb2, 0x8d, 0xb9, 0xca, 0xd4, 0x91, - 0x91, 0x1a, 0x7d, 0x64, 0xa4, 0x27, 0xb9, 0xab, 0x32, 0x23, 0x36, 0xea, 0xe0, 0x76, 0x9a, 0x1e, - 0xb2, 0x9d, 0x74, 0x06, 0x0b, 0x27, 0xa1, 0x69, 0x53, 0xaf, 0x85, 0xc9, 0x53, 0x33, 0xb4, 0x59, - 0xe7, 0xfd, 0x7c, 0x2b, 0x92, 0x0c, 0x23, 0x94, 0x1c, 0xf5, 0x95, 0x68, 0x7d, 0x6c, 0x11, 0xad, - 0xda, 0xc0, 0x3d, 0x98, 0x78, 0x3e, 0xea, 0x51, 0xa1, 0xff, 0x42, 0x83, 0xf2, 0xb0, 0x89, 0xa8, - 0x0c, 0xd3, 0xfe, 0x53, 0x8f, 0xc4, 0x9d, 0x7e, 0x39, 0x40, 0x17, 0x30, 0x67, 0x13, 0xcf, 0x77, - 0xe3, 0x66, 0x4c, 0xea, 0x86, 0xbf, 0x94, 0xe5, 0x05, 0xba, 0xec, 0xeb, 0xe8, 0x3f, 0xd0, 0x60, - 0xe9, 0x61, 0x40, 0xbc, 0xba, 0xca, 0xff, 0xde, 0xae, 0x82, 0x05, 0x0b, 0xfd, 0xbb, 0xa3, 0xfb, - 0x0b, 0xda, 0xf8, 0x2e, 0xe3, 0x20, 0x2c, 0xbe, 0xed, 0x0f, 0xd0, 0x98, 0xfe, 0x1b, 0x0d, 0xd0, - 0xe0, 0xdc, 0x49, 0x3e, 0x40, 0xba, 0x50, 0xe8, 0x31, 0xef, 0xc6, 0x5d, 0x35, 0xd7, 0x6d, 0xaf, - 0xfe, 0xc9, 0xb8, 0x33, 0x73, 0xe3, 0x7f, 0xe3, 0xcc, 0x44, 0xaf, 0xc3, 0xa8, 0x93, 0x52, 0xf5, - 0xa3, 0xca, 0xdd, 0x3e, 0x39, 0xe0, 0xcc, 0x2d, 0x33, 0x18, 0x14, 0x4b, 0xce, 0x51, 0xd5, 0xd5, - 0x2d, 0xf7, 0x86, 0x3e, 0x10, 0x62, 0xfa, 0x0f, 0x35, 0xa8, 0x60, 0xd2, 0xa2, 0x2c, 0x22, 0xe1, - 0x66, 0xdc, 0x99, 0x8d, 0xb3, 0x6f, 0x03, 0x66, 0x42, 0xd2, 0x24, 0x21, 0x91, 0x8d, 0x96, 0x31, - 0x1f, 0x60, 0x70, 0x3c, 0x11, 0xbd, 0x01, 0xb3, 0x49, 0x87, 0xf7, 0x79, 0x9f, 0x6d, 0x70, 0x67, - 0x6a, 0x0d, 0x7f, 0xfc, 0xd9, 0xaa, 0xf6, 0xc9, 0x67, 0xab, 0xda, 0xbf, 0x3e, 0x5b, 0xd5, 0x7e, - 0xfa, 0xf9, 0xea, 0xd4, 0x27, 0x9f, 0xaf, 0x4e, 0xfd, 0xfd, 0xf3, 0xd5, 0xa9, 0xc7, 0x6f, 0x4e, - 0x9e, 0x45, 0xbd, 0xff, 0x75, 0x70, 0x96, 0x15, 0x8c, 0x6f, 0xfc, 0x27, 0x00, 0x00, 0xff, 0xff, - 0x67, 0xbc, 0xce, 0x71, 0x9b, 0x20, 0x00, 0x00, + 0xe0, 0xdf, 0x40, 0xf5, 0xd1, 0xed, 0x6f, 0xc7, 0xb3, 0xc9, 0x4a, 0x08, 0x71, 0x8a, 0xeb, 0xbd, + 0x7a, 0xbf, 0xf7, 0xea, 0xbd, 0x57, 0x55, 0xaf, 0x5e, 0x07, 0x1e, 0xd8, 0x97, 0xf6, 0x87, 0x41, + 0xe8, 0x47, 0xbe, 0xe5, 0x3b, 0xab, 0xd4, 0xb3, 0xc9, 0x87, 0x24, 0x5c, 0x25, 0x17, 0xc4, 0x8b, + 0x98, 0xfa, 0x53, 0x15, 0x6c, 0xb4, 0xd2, 0x3d, 0xb3, 0xaa, 0x66, 0x56, 0xe5, 0x94, 0xe5, 0x25, + 0xcb, 0x67, 0xae, 0xcf, 0x4c, 0xc1, 0x5f, 0x95, 0x03, 0x29, 0xb7, 0x5c, 0x6e, 0xf9, 0x2d, 0x5f, + 0xd2, 0xf9, 0x2f, 0x45, 0x7d, 0x38, 0x54, 0x2f, 0x3b, 0xc3, 0x21, 0xb1, 0x57, 0x43, 0xe2, 0xfa, + 0x17, 0xd8, 0x31, 0x43, 0x82, 0x99, 0xef, 0x29, 0x89, 0x97, 0x87, 0x4a, 0x24, 0x84, 0x8b, 0x47, + 0xab, 0x96, 0xe3, 0x9f, 0x8e, 0x85, 0xef, 0x9e, 0x1c, 0x90, 0x30, 0x20, 0x51, 0x1b, 0x3b, 0x4a, + 0xe2, 0xd1, 0x95, 0x12, 0xac, 0x7d, 0x8a, 0x2d, 0xcb, 0x6f, 0x7b, 0x91, 0x12, 0x79, 0xe5, 0x4a, + 0x91, 0x0b, 0xdc, 0x76, 0xd4, 0x6c, 0xfd, 0xaf, 0x1a, 0xdc, 0xda, 0x6e, 0x7b, 0x36, 0xf5, 0x5a, + 0xc7, 0x81, 0x8d, 0x23, 0x72, 0xf2, 0x08, 0x7d, 0x0d, 0xe6, 0x12, 0x3b, 0x4c, 0x6a, 0x57, 0xb4, + 0xfb, 0xda, 0x83, 0x82, 0x91, 0x4f, 0x68, 0x75, 0x1b, 0xbd, 0x04, 0xa5, 0xa6, 0x94, 0x32, 0x2f, + 0xb0, 0xd3, 0x26, 0x66, 0x10, 0xb8, 0x95, 0xd4, 0x7d, 0xed, 0xc1, 0xb4, 0x71, 0x4b, 0x31, 0x4e, + 0x38, 0xbd, 0x11, 0xb8, 0xc8, 0x85, 0x42, 0x3c, 0x57, 0x58, 0x53, 0x49, 0xdf, 0xd7, 0x1e, 0xcc, + 0xd5, 0x76, 0x3e, 0xfe, 0xf4, 0xde, 0xd4, 0x3f, 0x3e, 0xbd, 0xf7, 0xad, 0x16, 0x8d, 0xce, 0xda, + 0xa7, 0x55, 0xcb, 0x77, 0x57, 0x7b, 0x4c, 0xbf, 0x78, 0xed, 0x55, 0xeb, 0x0c, 0x53, 0xaf, 0x63, + 0xbb, 0x1d, 0x5d, 0x06, 0x84, 0x55, 0x0f, 0x49, 0x48, 0xb1, 0x43, 0x9f, 0xe3, 0x53, 0x87, 0xd4, + 0xbd, 0xc8, 0x98, 0x53, 0xf0, 0x75, 0x8e, 0xae, 0xff, 0x2c, 0x05, 0xf3, 0x6a, 0x45, 0x5b, 0x3c, + 0x0d, 0x4e, 0x1e, 0xa1, 0x3d, 0x98, 0x69, 0x8b, 0xc5, 0xb1, 0x8a, 0x76, 0x3f, 0xfd, 0x20, 0xbf, + 0xf6, 0x4a, 0x75, 0x4c, 0xda, 0x54, 0xfb, 0xfc, 0x51, 0xcb, 0x70, 0x4b, 0x8d, 0x18, 0x02, 0x6d, + 0x42, 0x86, 0xdb, 0x21, 0x96, 0x3b, 0xbf, 0xf6, 0x70, 0x12, 0x28, 0x65, 0x48, 0xf5, 0xe8, 0x32, + 0x20, 0x86, 0x90, 0xd6, 0x5d, 0xc8, 0xf0, 0x11, 0x2a, 0x43, 0xf1, 0xe8, 0xfd, 0xc6, 0x96, 0x79, + 0x7c, 0x70, 0xd8, 0xd8, 0xda, 0xa8, 0x6f, 0xd7, 0xb7, 0x36, 0x8b, 0x53, 0xe8, 0x0e, 0xdc, 0x16, + 0xd4, 0x86, 0xb1, 0xb5, 0x5f, 0x3f, 0xde, 0x37, 0x0f, 0xd7, 0xf7, 0x1b, 0x7b, 0x5b, 0x45, 0x0d, + 0xdd, 0x83, 0x15, 0xc1, 0xd8, 0x3e, 0x3e, 0xd8, 0xac, 0x1f, 0xbc, 0x6d, 0x1a, 0xeb, 0x47, 0x5b, + 0xe6, 0xfa, 0xc1, 0xa6, 0x59, 0x3f, 0xd8, 0xdc, 0x7a, 0xaf, 0x98, 0x42, 0x0b, 0x50, 0xea, 0x91, + 0x3c, 0x79, 0x7c, 0xb4, 0x55, 0x4c, 0xeb, 0x7f, 0x49, 0x41, 0x61, 0x1f, 0x87, 0xe7, 0x24, 0x8a, + 0x9d, 0xb2, 0x02, 0xb3, 0xae, 0x20, 0x74, 0x42, 0x9c, 0x93, 0x84, 0xba, 0x8d, 0x9e, 0xc0, 0x5c, + 0x10, 0x52, 0x8b, 0x98, 0x72, 0xd1, 0x62, 0xad, 0xf9, 0xb5, 0xd7, 0xc7, 0xae, 0x55, 0xc2, 0x37, + 0xb8, 0x98, 0x74, 0x9d, 0xd2, 0xb4, 0x33, 0x65, 0xe4, 0x83, 0x0e, 0x15, 0xbd, 0x0b, 0x05, 0xa5, + 0xd8, 0x0a, 0x09, 0x07, 0x4f, 0x0b, 0xf0, 0x87, 0x13, 0x80, 0x6f, 0x08, 0x81, 0x0e, 0xee, 0x9c, + 0xdb, 0x45, 0xee, 0x02, 0x76, 0x7d, 0x9b, 0x36, 0x2f, 0x2b, 0x99, 0x89, 0x81, 0xf7, 0x85, 0xc0, + 0x00, 0xb0, 0x24, 0xd7, 0x66, 0x60, 0x5a, 0xcc, 0xd6, 0x77, 0xa1, 0x32, 0x6a, 0x95, 0xa8, 0x0a, + 0xb7, 0xa5, 0xcb, 0x9e, 0xd1, 0xe8, 0xcc, 0x24, 0x1f, 0x06, 0xbe, 0x47, 0xbc, 0x48, 0x78, 0x36, + 0x63, 0x94, 0x04, 0xeb, 0x5d, 0x1a, 0x9d, 0x6d, 0x29, 0x86, 0xfe, 0x1e, 0x94, 0x24, 0x56, 0x0d, + 0xb3, 0x04, 0x04, 0x41, 0x26, 0xc0, 0x34, 0x14, 0x52, 0xb3, 0x86, 0xf8, 0x8d, 0x56, 0xa1, 0xec, + 0x52, 0xcf, 0x94, 0xe0, 0xd6, 0x19, 0xf6, 0x5a, 0x9d, 0xed, 0x56, 0x30, 0x4a, 0x2e, 0xf5, 0x84, + 0x35, 0x1b, 0x82, 0xd3, 0x08, 0x5c, 0xbd, 0x0d, 0xb7, 0x87, 0xb8, 0x0b, 0xd5, 0x20, 0x73, 0x8a, + 0x19, 0x11, 0xd8, 0xf9, 0xb5, 0xea, 0x04, 0x5e, 0xe9, 0xb2, 0xcc, 0x10, 0xb2, 0x68, 0x19, 0x72, + 0xc9, 0xca, 0xb8, 0xfe, 0x92, 0x91, 0x8c, 0xf5, 0xf7, 0x63, 0xb5, 0x3d, 0xce, 0xbc, 0x09, 0xb5, + 0xfa, 0xef, 0x34, 0x28, 0x1c, 0xfa, 0xed, 0xd0, 0x22, 0x8f, 0x9b, 0x7c, 0x4b, 0x31, 0xf4, 0x1d, + 0x28, 0x74, 0x4e, 0xbe, 0x38, 0x83, 0x47, 0x66, 0x68, 0x42, 0xb8, 0x78, 0x54, 0xad, 0x4b, 0xda, + 0x61, 0x22, 0x5d, 0xb7, 0x79, 0xc0, 0x59, 0xd7, 0x18, 0xbd, 0x06, 0x33, 0xd8, 0xb6, 0x43, 0xc2, + 0x98, 0x58, 0xe5, 0x6c, 0xad, 0xf2, 0xb7, 0x3f, 0xbc, 0x5a, 0x56, 0x17, 0xc8, 0xba, 0xe4, 0x1c, + 0x46, 0x21, 0xf5, 0x5a, 0x3b, 0x53, 0x46, 0x3c, 0xb5, 0x96, 0x83, 0x2c, 0x13, 0x46, 0xea, 0xbf, + 0x4d, 0xc3, 0xad, 0xa3, 0x10, 0x7b, 0xac, 0x49, 0xc2, 0xd8, 0x0f, 0x2d, 0x28, 0x33, 0xe2, 0xd9, + 0x24, 0x34, 0x6f, 0xce, 0x70, 0x03, 0x49, 0xc8, 0x6e, 0x1a, 0x72, 0xe1, 0x4e, 0x48, 0x2c, 0x1a, + 0x50, 0xe2, 0x45, 0x7d, 0xba, 0x52, 0xd7, 0xd1, 0xb5, 0x90, 0xa0, 0xf6, 0xa8, 0x5b, 0x82, 0x1c, + 0x66, 0x4c, 0x1e, 0x23, 0x69, 0x91, 0x92, 0x33, 0x62, 0x5c, 0xb7, 0xd1, 0x22, 0x64, 0xb1, 0xcb, + 0xa7, 0x89, 0x9d, 0x98, 0x31, 0xd4, 0x08, 0xd5, 0x20, 0x2b, 0xed, 0xae, 0x4c, 0x0b, 0x83, 0x5e, + 0x1a, 0x9b, 0x14, 0x3d, 0x81, 0x37, 0x94, 0x24, 0xda, 0x81, 0xd9, 0xc4, 0x9e, 0x4a, 0xf6, 0x85, + 0x61, 0x3a, 0xc2, 0xfa, 0x47, 0x19, 0x28, 0x3e, 0x0e, 0x6d, 0x12, 0x6e, 0x53, 0xc7, 0x89, 0xa3, + 0x75, 0x0c, 0x79, 0x17, 0x9f, 0x93, 0xd0, 0xf4, 0x39, 0x67, 0x7c, 0xf2, 0x0e, 0x71, 0x9c, 0xc0, + 0x53, 0x17, 0x07, 0x08, 0x20, 0x41, 0x41, 0xdb, 0x30, 0x2d, 0x01, 0x53, 0x5f, 0x04, 0x70, 0x67, + 0xca, 0x90, 0xe2, 0xe8, 0x03, 0x28, 0x39, 0xf4, 0x69, 0x9b, 0xda, 0x38, 0xa2, 0xbe, 0xa7, 0x8c, + 0x94, 0xc7, 0xdd, 0xea, 0x58, 0x2f, 0xec, 0x75, 0xa4, 0x04, 0xa4, 0x38, 0xed, 0x8a, 0x4e, 0x1f, + 0x15, 0xdd, 0x83, 0x7c, 0x93, 0x3a, 0x8e, 0xa9, 0xc2, 0x97, 0x16, 0xe1, 0x03, 0x4e, 0x5a, 0x97, + 0x21, 0x14, 0xb7, 0x07, 0xf7, 0x4f, 0x93, 0x10, 0x11, 0x45, 0xc4, 0x6f, 0x8f, 0x73, 0x12, 0x6e, + 0x13, 0xc2, 0x99, 0x51, 0xc2, 0xcc, 0x4a, 0x66, 0x14, 0x33, 0x5f, 0x01, 0x14, 0xf9, 0x11, 0x76, + 0x4c, 0x8e, 0x46, 0x6c, 0x53, 0x48, 0x55, 0x66, 0x84, 0x86, 0xa2, 0xe0, 0x6c, 0x0b, 0xc6, 0x3e, + 0xa7, 0x0f, 0xcc, 0x16, 0x30, 0x95, 0xdc, 0xc0, 0xec, 0x23, 0x31, 0xbb, 0x0a, 0xb7, 0x71, 0xb3, + 0x49, 0x1d, 0x8a, 0x23, 0x62, 0x86, 0xe4, 0xc2, 0x14, 0xa5, 0x5b, 0x65, 0x56, 0x9e, 0xc1, 0x09, + 0xcb, 0x20, 0x17, 0x87, 0x9c, 0x51, 0x2b, 0x40, 0x3e, 0xea, 0x44, 0x59, 0xff, 0x71, 0x1a, 0x6e, + 0x6f, 0x12, 0x87, 0x5c, 0x90, 0x10, 0xb7, 0xba, 0xea, 0x87, 0x6f, 0x03, 0xc4, 0x1e, 0x22, 0xd7, + 0xdb, 0xb0, 0x71, 0x4a, 0x74, 0xe0, 0x38, 0xb8, 0xdf, 0x6c, 0x32, 0x12, 0x45, 0xd4, 0x6b, 0x5d, + 0x6b, 0x87, 0xc6, 0xe0, 0x1d, 0xb8, 0x81, 0x52, 0x2e, 0x3d, 0x58, 0xca, 0xf5, 0x85, 0x3a, 0x33, + 0x10, 0xea, 0x87, 0x50, 0x96, 0x21, 0x78, 0xda, 0xf6, 0x23, 0x62, 0x3e, 0x6d, 0x63, 0x2f, 0x6a, + 0xbb, 0x4c, 0x44, 0x3d, 0x63, 0xc8, 0xf0, 0xbc, 0xc3, 0x59, 0xef, 0x28, 0x0e, 0x5a, 0x80, 0x2c, + 0x65, 0xe6, 0x69, 0xfb, 0x52, 0x04, 0x3f, 0x67, 0x4c, 0x53, 0x56, 0x6b, 0x5f, 0xf2, 0xe8, 0x50, + 0x66, 0x36, 0xa9, 0x87, 0x1d, 0x93, 0x1b, 0xe8, 0x10, 0x97, 0x6f, 0xde, 0x19, 0x31, 0xa7, 0x44, + 0xd9, 0x36, 0xe7, 0x1c, 0x26, 0x0c, 0xfd, 0x47, 0x29, 0x40, 0x83, 0xf9, 0xfa, 0xe5, 0x46, 0xe3, + 0x3e, 0xcc, 0xf1, 0x82, 0xdd, 0xe4, 0x37, 0x6f, 0x7c, 0x62, 0x16, 0x0c, 0xe0, 0xb4, 0x06, 0xa6, + 0x61, 0xdd, 0x9e, 0xc4, 0xa5, 0x5f, 0x05, 0x90, 0x1e, 0x63, 0xf4, 0x39, 0x51, 0x1e, 0x9d, 0x15, + 0x94, 0x43, 0xfa, 0x9c, 0x74, 0xb9, 0x67, 0xba, 0xdb, 0x3d, 0xcb, 0x90, 0x63, 0xed, 0xd3, 0x88, + 0x5a, 0xe7, 0x4c, 0xf8, 0x2d, 0x63, 0x24, 0x63, 0xfd, 0xdf, 0x29, 0xb8, 0xd3, 0xb1, 0xbc, 0xb7, + 0xf0, 0x78, 0x72, 0x93, 0x57, 0x61, 0xdf, 0x45, 0xf8, 0x1c, 0x56, 0x64, 0x05, 0x68, 0x9b, 0x9d, + 0x45, 0x07, 0x3e, 0xa3, 0x3c, 0x20, 0xac, 0x92, 0x16, 0xd5, 0xf4, 0x5b, 0x13, 0x6b, 0x6a, 0xc4, + 0x18, 0x0d, 0x05, 0x61, 0x2c, 0x29, 0xf8, 0x01, 0x0e, 0x43, 0x1e, 0xdc, 0x89, 0x75, 0xcb, 0x0b, + 0xa6, 0xa3, 0x37, 0x23, 0xf4, 0xbe, 0x31, 0xb1, 0xde, 0x75, 0x2e, 0x9f, 0xe8, 0x5c, 0x50, 0xb0, + 0x3d, 0x54, 0xb6, 0x9b, 0xc9, 0xa5, 0x8a, 0x69, 0xfd, 0x9f, 0x73, 0x50, 0x3e, 0x8c, 0x70, 0x44, + 0x9a, 0x6d, 0x47, 0x64, 0x5c, 0xec, 0xe6, 0xa7, 0x90, 0x17, 0xa7, 0x84, 0x19, 0x38, 0xd8, 0x8a, + 0xcb, 0x99, 0xdd, 0xf1, 0x57, 0xce, 0x10, 0x9c, 0x5e, 0x62, 0x83, 0x63, 0xb9, 0x82, 0x51, 0x4b, + 0x55, 0xb4, 0x1d, 0xbe, 0x7b, 0x13, 0x3a, 0xf2, 0xa1, 0x20, 0x55, 0xaa, 0xa7, 0xa7, 0x3a, 0xe1, + 0x77, 0xae, 0xa9, 0xd4, 0x90, 0x68, 0xb2, 0xd0, 0xf5, 0xbb, 0x28, 0xe8, 0x27, 0x1a, 0xac, 0x58, + 0xbe, 0x67, 0x0b, 0x8f, 0x60, 0xc7, 0xec, 0x5a, 0xb0, 0xd8, 0xaa, 0xf2, 0xba, 0xde, 0x7f, 0x71, + 0xfd, 0x1b, 0x1d, 0xd0, 0xfe, 0x75, 0xef, 0x4c, 0x19, 0x4b, 0xd6, 0x28, 0xf6, 0x08, 0x8b, 0xa2, + 0x90, 0xb6, 0x5a, 0x24, 0x24, 0xb6, 0xba, 0xf9, 0x6f, 0xc0, 0xa2, 0xa3, 0x18, 0x72, 0xb8, 0x45, + 0x09, 0x1b, 0x7d, 0xa4, 0xc1, 0x92, 0xe3, 0x7b, 0x2d, 0x33, 0x22, 0xa1, 0x3b, 0xe0, 0xa1, 0x99, + 0x2f, 0x9a, 0x16, 0x7b, 0xbe, 0xd7, 0x3a, 0x22, 0xa1, 0x3b, 0xc4, 0x3d, 0x8b, 0xce, 0x50, 0x1e, + 0xfa, 0x1e, 0x94, 0xe2, 0xf4, 0xe8, 0x18, 0x90, 0x13, 0x06, 0xec, 0x5d, 0xd3, 0x00, 0xa3, 0x83, + 0x28, 0x2b, 0x04, 0xbf, 0x8f, 0xba, 0xfc, 0x5d, 0xa8, 0x8c, 0xca, 0x64, 0xb4, 0x19, 0x57, 0x39, + 0x5f, 0xa8, 0x6c, 0x52, 0x35, 0xce, 0xf2, 0x9f, 0x34, 0x58, 0x1c, 0x9e, 0xb7, 0xe8, 0x09, 0x14, + 0xc5, 0x96, 0x20, 0xb6, 0x0a, 0x40, 0x72, 0xea, 0x3d, 0x7c, 0x31, 0x5d, 0x75, 0xdb, 0x98, 0x57, + 0x48, 0x6a, 0x8c, 0xde, 0x86, 0xac, 0xec, 0xf0, 0xa8, 0x07, 0xfe, 0x88, 0x7a, 0x4a, 0x36, 0x85, + 0xaa, 0xdd, 0x86, 0x19, 0x42, 0xcc, 0x50, 0xe2, 0xcb, 0x16, 0xac, 0x8c, 0x49, 0xfb, 0x1b, 0x72, + 0xd2, 0xf7, 0x07, 0x95, 0x74, 0x65, 0x32, 0xfa, 0x00, 0x50, 0xb2, 0x57, 0xae, 0xef, 0xaa, 0x62, + 0x82, 0xa5, 0x28, 0x3c, 0x0b, 0x46, 0x25, 0xee, 0x0d, 0x2d, 0xf0, 0x8f, 0x1a, 0x2c, 0x8f, 0x4e, + 0x4d, 0x64, 0xc0, 0x9c, 0xef, 0xdc, 0xc0, 0xd2, 0xc0, 0x77, 0x92, 0x0c, 0xd8, 0xbc, 0x56, 0x91, + 0xae, 0x0c, 0x4f, 0x9a, 0x06, 0xf2, 0x5e, 0xd9, 0xcd, 0xe4, 0xd2, 0xc5, 0x8c, 0xfe, 0x6b, 0x0d, + 0x90, 0xb8, 0x76, 0x7a, 0x9f, 0xe6, 0xf3, 0x90, 0x4a, 0x9a, 0x30, 0x29, 0x2a, 0x1e, 0x4e, 0xec, + 0xd2, 0x3d, 0xf5, 0x1d, 0xf9, 0xfc, 0x34, 0xd4, 0x88, 0x17, 0x16, 0x67, 0x98, 0x99, 0xb2, 0x39, + 0x21, 0x2a, 0x8f, 0x9c, 0x31, 0x7b, 0x86, 0x99, 0x7c, 0x37, 0xf7, 0xb6, 0x74, 0x32, 0x7d, 0x2d, + 0x9d, 0x97, 0xa1, 0x84, 0x23, 0xdf, 0xa5, 0x96, 0x19, 0x12, 0xe6, 0x3b, 0x6d, 0x9e, 0x31, 0xe2, + 0x40, 0x2f, 0x19, 0x45, 0xc9, 0x30, 0x12, 0xba, 0xfe, 0xe7, 0x34, 0x7c, 0x25, 0xb9, 0x92, 0x87, + 0x35, 0x13, 0xfa, 0x2d, 0xbe, 0xba, 0x6e, 0x5a, 0x84, 0x2c, 0xaf, 0x65, 0x48, 0x28, 0xec, 0x9e, + 0x35, 0xd4, 0x68, 0xbc, 0xd1, 0x3b, 0x90, 0x65, 0x11, 0x8e, 0xda, 0xb2, 0xda, 0x9c, 0x9f, 0x24, + 0xb0, 0x1b, 0x4a, 0xe5, 0xa1, 0x90, 0x33, 0x94, 0x3c, 0xfa, 0x26, 0xac, 0xa8, 0xca, 0xd5, 0xb4, + 0x7c, 0xef, 0x82, 0x84, 0x8c, 0x3f, 0x9c, 0x92, 0x66, 0x46, 0x56, 0x38, 0x62, 0x49, 0x4d, 0xd9, + 0x48, 0x66, 0xc4, 0xed, 0x9a, 0xe1, 0xee, 0x9b, 0x19, 0xee, 0x3e, 0xf4, 0x12, 0x94, 0xe2, 0xd2, + 0x8d, 0xd7, 0x4d, 0x26, 0xff, 0x25, 0x4e, 0xe6, 0x82, 0x71, 0x2b, 0x66, 0x34, 0x48, 0x78, 0x44, + 0xad, 0x73, 0xfe, 0xc2, 0x61, 0x11, 0x09, 0xcc, 0x53, 0xcc, 0xba, 0x8a, 0x6b, 0xf9, 0x64, 0x29, + 0x72, 0x4e, 0x0d, 0xb3, 0x4e, 0x69, 0xfd, 0x75, 0x98, 0x97, 0xd5, 0x2a, 0x8d, 0x2e, 0xcd, 0x88, + 0x92, 0xb0, 0x02, 0x02, 0xb6, 0x90, 0x50, 0x8f, 0x28, 0x09, 0xdf, 0x4a, 0x55, 0x34, 0xfd, 0xe7, + 0x99, 0xb1, 0x31, 0x5c, 0xfb, 0x7f, 0x0c, 0xff, 0xab, 0x63, 0x88, 0x4e, 0x20, 0xaf, 0x9c, 0x2a, + 0xda, 0xcd, 0x79, 0xe1, 0xbc, 0x09, 0xaa, 0xfa, 0xbe, 0x98, 0x8b, 0x9e, 0x33, 0xb8, 0xc9, 0x6f, + 0xfd, 0x57, 0x29, 0x58, 0xde, 0xeb, 0xd6, 0x74, 0x1c, 0x30, 0x12, 0x46, 0xa3, 0x76, 0x36, 0x82, + 0x8c, 0x87, 0x5d, 0xa2, 0x4e, 0x22, 0xf1, 0x9b, 0xaf, 0x97, 0x7a, 0x34, 0xa2, 0xd8, 0xe1, 0x67, + 0x51, 0x8b, 0x7a, 0xa2, 0x21, 0x29, 0x5f, 0x42, 0x45, 0xc5, 0xd9, 0x17, 0x8c, 0x46, 0xe0, 0xa2, + 0x37, 0xa1, 0xe2, 0x62, 0xea, 0x45, 0xc4, 0xc3, 0x9e, 0x45, 0xcc, 0x66, 0x88, 0x2d, 0xd1, 0xb5, + 0xe0, 0x32, 0x32, 0x59, 0x16, 0xbb, 0xf8, 0xdb, 0x8a, 0x2d, 0x25, 0x17, 0x85, 0x4b, 0xe3, 0xca, + 0xdf, 0xf4, 0x7c, 0x79, 0xd1, 0xc9, 0xc7, 0x27, 0x2f, 0x99, 0x8d, 0x32, 0x9f, 0x11, 0x57, 0xf1, + 0x07, 0x8a, 0xbf, 0x9b, 0xc9, 0x65, 0x8b, 0x33, 0xbb, 0x99, 0xdc, 0x4c, 0x31, 0x67, 0xdc, 0xf1, + 0x03, 0xe2, 0x99, 0x5c, 0x41, 0x48, 0x58, 0x64, 0x3a, 0xfe, 0x33, 0x12, 0x9a, 0x16, 0x0e, 0xfa, + 0x19, 0xed, 0x20, 0x90, 0x0c, 0xfd, 0x97, 0x29, 0x58, 0x90, 0x8f, 0xac, 0x38, 0x13, 0x63, 0xef, + 0xf4, 0xef, 0x11, 0x6d, 0x60, 0x8f, 0x74, 0xd2, 0x3d, 0xf5, 0xe5, 0xa6, 0x7b, 0xfa, 0xaa, 0x74, + 0x1f, 0x9a, 0xc1, 0x99, 0x17, 0xc9, 0xe0, 0xe9, 0xe1, 0x19, 0xac, 0xff, 0x5e, 0x83, 0x45, 0xe9, + 0x9f, 0x24, 0xd9, 0xc6, 0x5c, 0x65, 0xea, 0xc8, 0x48, 0x8d, 0x3e, 0x32, 0xd2, 0x93, 0xdc, 0x55, + 0x99, 0x11, 0x1b, 0x75, 0x70, 0x3b, 0x4d, 0x0f, 0xd9, 0x4e, 0x3a, 0x83, 0x85, 0xa3, 0x10, 0xdb, + 0xd4, 0x6b, 0x19, 0xe4, 0x19, 0x0e, 0x6d, 0xd6, 0x79, 0x3f, 0xdf, 0x8a, 0x24, 0xc3, 0x0c, 0x25, + 0x47, 0x7d, 0x25, 0x7a, 0x34, 0xb6, 0x88, 0x56, 0x6d, 0xe0, 0x1e, 0x4c, 0x63, 0x3e, 0xea, 0x51, + 0xa1, 0xff, 0x42, 0x83, 0xf2, 0xb0, 0x89, 0xa8, 0x0c, 0xd3, 0xfe, 0x33, 0x8f, 0xc4, 0x9d, 0x7e, + 0x39, 0x40, 0xe7, 0x30, 0x67, 0x13, 0xcf, 0x77, 0xe3, 0x66, 0x4c, 0xea, 0x86, 0xbf, 0x94, 0xe5, + 0x05, 0xba, 0xec, 0xeb, 0xe8, 0x3f, 0xd0, 0x60, 0xe9, 0x71, 0x40, 0xbc, 0xba, 0xca, 0xff, 0xde, + 0xae, 0x82, 0x05, 0x0b, 0xfd, 0xbb, 0xa3, 0xfb, 0x0b, 0xda, 0xf8, 0x2e, 0xe3, 0x20, 0xac, 0x71, + 0xdb, 0x1f, 0xa0, 0x31, 0xfd, 0x37, 0x1a, 0xa0, 0xc1, 0xb9, 0x93, 0x7c, 0x80, 0x74, 0xa1, 0xd0, + 0x63, 0xde, 0x8d, 0xbb, 0x6a, 0xae, 0xdb, 0x5e, 0xfd, 0x93, 0x71, 0x67, 0xe6, 0xda, 0xff, 0xc6, + 0x99, 0x89, 0x5e, 0x87, 0x51, 0x27, 0xa5, 0xea, 0x47, 0x95, 0xbb, 0x7d, 0xb2, 0xc7, 0x99, 0x1b, + 0x38, 0x18, 0x14, 0x4b, 0xce, 0x51, 0xd5, 0xd5, 0x2d, 0xf7, 0x86, 0x3e, 0x10, 0x62, 0xfa, 0x0f, + 0x35, 0xa8, 0x18, 0xa4, 0x45, 0x59, 0x44, 0xc2, 0xf5, 0xb8, 0x33, 0x1b, 0x67, 0xdf, 0x1a, 0xcc, + 0x84, 0xa4, 0x49, 0x42, 0x22, 0x1b, 0x2d, 0x63, 0x3e, 0xc0, 0x18, 0xf1, 0x44, 0xf4, 0x06, 0xcc, + 0x26, 0x1d, 0xde, 0xab, 0x3e, 0xdb, 0x18, 0x9d, 0xa9, 0xfc, 0x30, 0x43, 0x32, 0x9c, 0x27, 0xb8, + 0xed, 0x44, 0x5d, 0x26, 0xc4, 0xdf, 0x80, 0xae, 0x34, 0x41, 0x4d, 0x9c, 0xa0, 0x82, 0xda, 0x4a, + 0x6e, 0x87, 0xb4, 0xb8, 0x1d, 0x5e, 0xbd, 0xfa, 0x76, 0x10, 0x56, 0xf5, 0x5e, 0x0d, 0x35, 0xe3, + 0xe3, 0xcf, 0xee, 0x6a, 0x9f, 0x7c, 0x76, 0x57, 0xfb, 0xd7, 0x67, 0x77, 0xb5, 0x9f, 0x7e, 0x7e, + 0x77, 0xea, 0x93, 0xcf, 0xef, 0x4e, 0xfd, 0xfd, 0xf3, 0xbb, 0x53, 0x4f, 0xde, 0x9c, 0x3c, 0xf3, + 0x7b, 0xff, 0xaf, 0xe2, 0x34, 0x2b, 0x18, 0xdf, 0xf8, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xac, + 0xfe, 0xc7, 0x4a, 0x7d, 0x21, 0x00, 0x00, } func (m *FundingUpdateV1) Marshal() (dAtA []byte, err error) { @@ -4575,6 +4643,46 @@ func (m *RegisterAffiliateEventV1) MarshalToSizedBuffer(dAtA []byte) (int, error return len(dAtA) - i, nil } +func (m *UpsertVaultEventV1) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBuffer(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *UpsertVaultEventV1) MarshalTo(dAtA []byte) (int, error) { + size := m.Size() + return m.MarshalToSizedBuffer(dAtA[:size]) +} + +func (m *UpsertVaultEventV1) MarshalToSizedBuffer(dAtA []byte) (int, error) { + i := len(dAtA) + _ = i + var l int + _ = l + if m.Status != 0 { + i = encodeVarintEvents(dAtA, i, uint64(m.Status)) + i-- + dAtA[i] = 0x18 + } + if m.ClobPairId != 0 { + i = encodeVarintEvents(dAtA, i, uint64(m.ClobPairId)) + i-- + dAtA[i] = 0x10 + } + if len(m.Address) > 0 { + i -= len(m.Address) + copy(dAtA[i:], m.Address) + i = encodeVarintEvents(dAtA, i, uint64(len(m.Address))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func encodeVarintEvents(dAtA []byte, offset int, v uint64) int { offset -= sovEvents(v) base := offset @@ -5387,6 +5495,25 @@ func (m *RegisterAffiliateEventV1) Size() (n int) { return n } +func (m *UpsertVaultEventV1) Size() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Address) + if l > 0 { + n += 1 + l + sovEvents(uint64(l)) + } + if m.ClobPairId != 0 { + n += 1 + sovEvents(uint64(m.ClobPairId)) + } + if m.Status != 0 { + n += 1 + sovEvents(uint64(m.Status)) + } + return n +} + func sovEvents(x uint64) (n int) { return (math_bits.Len64(x|1) + 6) / 7 } @@ -10005,6 +10132,126 @@ func (m *RegisterAffiliateEventV1) Unmarshal(dAtA []byte) error { } return nil } +func (m *UpsertVaultEventV1) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: UpsertVaultEventV1: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: UpsertVaultEventV1: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Address", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthEvents + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return ErrInvalidLengthEvents + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Address = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ClobPairId", wireType) + } + m.ClobPairId = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ClobPairId |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + } + m.Status = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowEvents + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Status |= types.VaultStatus(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := skipEvents(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return ErrInvalidLengthEvents + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func skipEvents(dAtA []byte) (n int, err error) { l := len(dAtA) iNdEx := 0 diff --git a/protocol/indexer/events/upsert_vault.go b/protocol/indexer/events/upsert_vault.go new file mode 100644 index 0000000000..b0e7ac8756 --- /dev/null +++ b/protocol/indexer/events/upsert_vault.go @@ -0,0 +1,21 @@ +package events + +import ( + v1 "github.com/dydxprotocol/v4-chain/protocol/indexer/protocol/v1" + clobtypes "github.com/dydxprotocol/v4-chain/protocol/x/clob/types" + "github.com/dydxprotocol/v4-chain/protocol/x/vault/types" +) + +// NewUpsertVaultEvent creates a UpsertVaultEventV1 +// representing an create / update of a vault. +func NewUpsertVaultEvent( + vaultAddress string, + clobPairId clobtypes.ClobPairId, + status types.VaultStatus, +) *UpsertVaultEventV1 { + return &UpsertVaultEventV1{ + Address: vaultAddress, + ClobPairId: uint32(clobPairId), + Status: v1.VaultStatusToIndexerVaultStatus(status), + } +} diff --git a/protocol/indexer/events/upsert_vault_test.go b/protocol/indexer/events/upsert_vault_test.go new file mode 100644 index 0000000000..fb05b4a78d --- /dev/null +++ b/protocol/indexer/events/upsert_vault_test.go @@ -0,0 +1,26 @@ +package events_test + +import ( + "testing" + + "github.com/dydxprotocol/v4-chain/protocol/indexer/events" + v1types "github.com/dydxprotocol/v4-chain/protocol/indexer/protocol/v1/types" + "github.com/dydxprotocol/v4-chain/protocol/testutil/constants" + vaulttypes "github.com/dydxprotocol/v4-chain/protocol/x/vault/types" + + "github.com/stretchr/testify/require" +) + +func TestNewUpsertVaultEvent_Success(t *testing.T) { + upsertVaultEvent := events.NewUpsertVaultEvent( + constants.Alice_Num0.Owner, + 0, + vaulttypes.VaultStatus_VAULT_STATUS_QUOTING, + ) + expectedUpsertVaultEventProto := &events.UpsertVaultEventV1{ + Address: constants.Alice_Num0.Owner, + ClobPairId: 0, + Status: v1types.VaultStatus_VAULT_STATUS_QUOTING, + } + require.Equal(t, expectedUpsertVaultEventProto, upsertVaultEvent) +} diff --git a/protocol/indexer/protocol/v1/types/vault.pb.go b/protocol/indexer/protocol/v1/types/vault.pb.go new file mode 100644 index 0000000000..b6876aeaa2 --- /dev/null +++ b/protocol/indexer/protocol/v1/types/vault.pb.go @@ -0,0 +1,89 @@ +// Code generated by protoc-gen-gogo. DO NOT EDIT. +// source: dydxprotocol/indexer/protocol/v1/vault.proto + +package types + +import ( + fmt "fmt" + proto "github.com/cosmos/gogoproto/proto" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package + +// VaultStatus represents the status of a vault. +type VaultStatus int32 + +const ( + // Default value, invalid and unused. + VaultStatus_VAULT_STATUS_UNSPECIFIED VaultStatus = 0 + // Don’t place orders. Does not count toward global vault balances. + VaultStatus_VAULT_STATUS_DEACTIVATED VaultStatus = 1 + // Don’t place orders. Does count towards global vault balances. + VaultStatus_VAULT_STATUS_STAND_BY VaultStatus = 2 + // Places orders on both sides of the book. + VaultStatus_VAULT_STATUS_QUOTING VaultStatus = 3 + // Only place orders that close the position. + VaultStatus_VAULT_STATUS_CLOSE_ONLY VaultStatus = 4 +) + +var VaultStatus_name = map[int32]string{ + 0: "VAULT_STATUS_UNSPECIFIED", + 1: "VAULT_STATUS_DEACTIVATED", + 2: "VAULT_STATUS_STAND_BY", + 3: "VAULT_STATUS_QUOTING", + 4: "VAULT_STATUS_CLOSE_ONLY", +} + +var VaultStatus_value = map[string]int32{ + "VAULT_STATUS_UNSPECIFIED": 0, + "VAULT_STATUS_DEACTIVATED": 1, + "VAULT_STATUS_STAND_BY": 2, + "VAULT_STATUS_QUOTING": 3, + "VAULT_STATUS_CLOSE_ONLY": 4, +} + +func (x VaultStatus) String() string { + return proto.EnumName(VaultStatus_name, int32(x)) +} + +func (VaultStatus) EnumDescriptor() ([]byte, []int) { + return fileDescriptor_05be1c6a873a495b, []int{0} +} + +func init() { + proto.RegisterEnum("dydxprotocol.indexer.protocol.v1.VaultStatus", VaultStatus_name, VaultStatus_value) +} + +func init() { + proto.RegisterFile("dydxprotocol/indexer/protocol/v1/vault.proto", fileDescriptor_05be1c6a873a495b) +} + +var fileDescriptor_05be1c6a873a495b = []byte{ + // 244 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xe2, 0xd2, 0x49, 0xa9, 0x4c, 0xa9, + 0x28, 0x28, 0xca, 0x2f, 0xc9, 0x4f, 0xce, 0xcf, 0xd1, 0xcf, 0xcc, 0x4b, 0x49, 0xad, 0x48, 0x2d, + 0xd2, 0x87, 0x0b, 0x94, 0x19, 0xea, 0x97, 0x25, 0x96, 0xe6, 0x94, 0xe8, 0x81, 0x45, 0x84, 0x14, + 0x90, 0x55, 0xeb, 0x41, 0x55, 0xeb, 0xc1, 0x05, 0xca, 0x0c, 0xb5, 0x66, 0x33, 0x72, 0x71, 0x87, + 0x81, 0x74, 0x04, 0x97, 0x24, 0x96, 0x94, 0x16, 0x0b, 0xc9, 0x70, 0x49, 0x84, 0x39, 0x86, 0xfa, + 0x84, 0xc4, 0x07, 0x87, 0x38, 0x86, 0x84, 0x06, 0xc7, 0x87, 0xfa, 0x05, 0x07, 0xb8, 0x3a, 0x7b, + 0xba, 0x79, 0xba, 0xba, 0x08, 0x30, 0x60, 0xc8, 0xba, 0xb8, 0x3a, 0x3a, 0x87, 0x78, 0x86, 0x39, + 0x86, 0xb8, 0xba, 0x08, 0x30, 0x0a, 0x49, 0x72, 0x89, 0xa2, 0xc8, 0x06, 0x87, 0x38, 0xfa, 0xb9, + 0xc4, 0x3b, 0x45, 0x0a, 0x30, 0x09, 0x49, 0x70, 0x89, 0xa0, 0x48, 0x05, 0x86, 0xfa, 0x87, 0x78, + 0xfa, 0xb9, 0x0b, 0x30, 0x0b, 0x49, 0x73, 0x89, 0xa3, 0xc8, 0x38, 0xfb, 0xf8, 0x07, 0xbb, 0xc6, + 0xfb, 0xfb, 0xf9, 0x44, 0x0a, 0xb0, 0x38, 0xc5, 0x9e, 0x78, 0x24, 0xc7, 0x78, 0xe1, 0x91, 0x1c, + 0xe3, 0x83, 0x47, 0x72, 0x8c, 0x13, 0x1e, 0xcb, 0x31, 0x5c, 0x78, 0x2c, 0xc7, 0x70, 0xe3, 0xb1, + 0x1c, 0x43, 0x94, 0x73, 0x7a, 0x66, 0x49, 0x46, 0x69, 0x92, 0x5e, 0x72, 0x7e, 0xae, 0x3e, 0x4a, + 0x90, 0x94, 0x99, 0xe8, 0x26, 0x67, 0x24, 0x66, 0xe6, 0xe9, 0xe3, 0x0d, 0xa4, 0x92, 0xca, 0x82, + 0xd4, 0xe2, 0x24, 0x36, 0xb0, 0x90, 0x31, 0x20, 0x00, 0x00, 0xff, 0xff, 0xe8, 0x67, 0x74, 0x34, + 0x55, 0x01, 0x00, 0x00, +} diff --git a/protocol/indexer/protocol/v1/v1_mappers.go b/protocol/indexer/protocol/v1/v1_mappers.go index 917ed71b89..f9a3264f48 100644 --- a/protocol/indexer/protocol/v1/v1_mappers.go +++ b/protocol/indexer/protocol/v1/v1_mappers.go @@ -8,6 +8,7 @@ import ( clobtypes "github.com/dydxprotocol/v4-chain/protocol/x/clob/types" perptypes "github.com/dydxprotocol/v4-chain/protocol/x/perpetuals/types" satypes "github.com/dydxprotocol/v4-chain/protocol/x/subaccounts/types" + vaulttypes "github.com/dydxprotocol/v4-chain/protocol/x/vault/types" ) func SubaccountIdToIndexerSubaccountId( @@ -205,3 +206,7 @@ func ConvertToPerpetualMarketType(marketType perptypes.PerpetualMarketType) v1ty ) } } + +func VaultStatusToIndexerVaultStatus(vaultStatus vaulttypes.VaultStatus) v1types.VaultStatus { + return v1types.VaultStatus(vaultStatus) +} diff --git a/protocol/indexer/protocol/v1/v1_mappers_test.go b/protocol/indexer/protocol/v1/v1_mappers_test.go index 26e8312b61..f5825c2d95 100644 --- a/protocol/indexer/protocol/v1/v1_mappers_test.go +++ b/protocol/indexer/protocol/v1/v1_mappers_test.go @@ -11,6 +11,7 @@ import ( clobtypes "github.com/dydxprotocol/v4-chain/protocol/x/clob/types" perptypes "github.com/dydxprotocol/v4-chain/protocol/x/perpetuals/types" satypes "github.com/dydxprotocol/v4-chain/protocol/x/subaccounts/types" + vaulttypes "github.com/dydxprotocol/v4-chain/protocol/x/vault/types" "github.com/stretchr/testify/require" ) @@ -473,3 +474,33 @@ func TestConvertToPerpetualMarketType(t *testing.T) { }) } } + +func TestVaultStatusToIndexerVaultStatus(t *testing.T) { + tests := map[string]struct { + // Input + vaultStatus vaulttypes.VaultStatus + + // Expectations + expectedVaultStatus v1types.VaultStatus + }{} + // Iterate through all the values for VaultStatus to create test cases. + for name, value := range vaulttypes.VaultStatus_value { + testName := fmt.Sprintf("Converts VaultStatus %s to IndexerVaultStatus", name) + tests[testName] = struct { + vaultStatus vaulttypes.VaultStatus + expectedVaultStatus v1types.VaultStatus + }{ + vaultStatus: vaulttypes.VaultStatus(value), + expectedVaultStatus: v1types.VaultStatus(v1types.VaultStatus_value[name]), + } + } + for name, tc := range tests { + t.Run(name, func(t *testing.T) { + require.Equal( + t, + tc.expectedVaultStatus, + v1.VaultStatusToIndexerVaultStatus(tc.vaultStatus), + ) + }) + } +}