From 9f7b358dd38542a224257547a53e0d749cb4e5ed Mon Sep 17 00:00:00 2001 From: Cameron Gilbert Date: Wed, 2 Apr 2025 15:36:46 -0400 Subject: [PATCH 01/12] chore: unstoppable domain proxy (#404) --- src/gql/heart-monitor/heart-monitor.test.ts | 15 ++++-- src/gql/heart-monitor/heart-monitor.ts | 9 ++-- src/gql/query/proxies.ts | 42 ++++++++++++----- src/gql/query/user.ts | 5 +- src/gql/utils/consts.ts | 5 +- src/gql/utils/defaultObjects.ts | 52 +++++++++++++++------ src/gql/utils/generated.ts | 39 +++++++++++++++- src/gql/utils/schema.graphql | 31 +++++++++++- 8 files changed, 159 insertions(+), 39 deletions(-) diff --git a/src/gql/heart-monitor/heart-monitor.test.ts b/src/gql/heart-monitor/heart-monitor.test.ts index b8d49423..6b6784df 100644 --- a/src/gql/heart-monitor/heart-monitor.test.ts +++ b/src/gql/heart-monitor/heart-monitor.test.ts @@ -42,7 +42,6 @@ import { defaultInflationDistribution, GQLFeatureFlags, defaultFeatureFlags, - defaultProxy, GQLProxies, defaultInflationReward, featureFlagsQueryString, @@ -54,6 +53,8 @@ import { GQLQueryGqlUserArgs, GQLEvm, defaultEvm, + defaultBybit, + defaultProxy, } from ".." const nibiruUrl = "testnet-2" @@ -360,19 +361,23 @@ test.skip("oraclePricesSubscription", async () => { ) }) -const testProxies = async (fields: GQLProxies) => { - const resp = await heartMonitor.proxies(fields) +const testProxies = async (fields: GQLProxies, domainName?: string) => { + const resp = await heartMonitor.proxies(fields, domainName) expect(resp).toHaveProperty("proxies") if (resp.proxies) { const { proxies } = resp - checkFields([proxies], ["bybit"]) + checkFields( + [proxies], + ["bybit", ...(domainName ? ["unstoppableDomains"] : [])] + ) } } test("proxies", async () => { - await testProxies(defaultProxy) + await testProxies(defaultProxy, "cameron.nibi") + await testProxies({ bybit: defaultBybit }) }) const testEvm = async (fields: GQLEvm) => { diff --git a/src/gql/heart-monitor/heart-monitor.ts b/src/gql/heart-monitor/heart-monitor.ts index 00e6d228..1c959271 100644 --- a/src/gql/heart-monitor/heart-monitor.ts +++ b/src/gql/heart-monitor/heart-monitor.ts @@ -106,7 +106,10 @@ export interface IHeartMonitor { AsyncIterableIterator> | undefined > - readonly proxies: (fields: DeepPartial) => Promise + readonly proxies: ( + fields: DeepPartial, + domainName?: string + ) => Promise readonly evm: (fields: DeepPartial) => Promise @@ -198,8 +201,8 @@ export class HeartMonitor implements IHeartMonitor { fields: DeepPartial ) => oraclePricesSubscription(args, fields, this.subscriptionClient) - proxies = async (fields: DeepPartial) => - proxies(this.gqlEndpt, fields) + proxies = async (fields: DeepPartial, domainName?: string) => + proxies(this.gqlEndpt, fields, domainName) evm = async (fields: DeepPartial) => evm(this.gqlEndpt, fields) diff --git a/src/gql/query/proxies.ts b/src/gql/query/proxies.ts index c921100f..050a46b8 100644 --- a/src/gql/query/proxies.ts +++ b/src/gql/query/proxies.ts @@ -12,18 +12,38 @@ export interface GqlOutProxies { } export const proxiesQueryString = ( - excludeParentObject: boolean, - fields: DeepPartial -) => - gqlQuery( - "proxies", - {}, - convertObjectToPropertiesString(fields), - excludeParentObject - ) + fields: DeepPartial, + domainName?: string +) => { + const proxiesQuery: string[] = [] + + if (fields.bybit) { + proxiesQuery.push( + gqlQuery("bybit", {}, convertObjectToPropertiesString(fields.bybit), true) + ) + } + + if (fields.unstoppableDomains) { + proxiesQuery.push( + gqlQuery( + "unstoppableDomains", + { domainName }, + convertObjectToPropertiesString(fields.unstoppableDomains), + true + ) + ) + } + + return `{ + proxies { + ${proxiesQuery.join("\n")} + } + }` +} export const proxies = async ( endpt: string, - fields: DeepPartial + fields: DeepPartial, + domainName?: string ): Promise => - doGqlQuery(proxiesQueryString(false, fields), endpt) + doGqlQuery(proxiesQueryString(fields, domainName), endpt) diff --git a/src/gql/query/user.ts b/src/gql/query/user.ts index 237893e4..b5174a2c 100644 --- a/src/gql/query/user.ts +++ b/src/gql/query/user.ts @@ -16,14 +16,13 @@ export const userQueryString = ( args: GQLQueryGqlUserArgs, excludeParentObject: boolean, fields: DeepPartial -) => { - return gqlQuery( +) => + gqlQuery( "user", args, convertObjectToPropertiesString(fields), excludeParentObject ) -} export const user = async ( args: GQLQueryGqlUserArgs, diff --git a/src/gql/utils/consts.ts b/src/gql/utils/consts.ts index ad98ba81..676c8743 100644 --- a/src/gql/utils/consts.ts +++ b/src/gql/utils/consts.ts @@ -1,5 +1,4 @@ import { fetch } from "cross-fetch" -import { Client } from "graphql-ws" type OptionalArrayOr = T extends T[] ? T[] | undefined : Otherwise type OptionalUndefinedOr = T extends undefined @@ -163,7 +162,9 @@ export const gqlQuery = ( delete typedQueryArgs.where Object.keys(typedQueryArgs).forEach((key) => - queryArgList.push(arg(key, typedQueryArgs[key], true)) + // key !== "domainName" normally `true`, however domainName is a special case + // Will need to future proof this if more special cases arise + queryArgList.push(arg(key, typedQueryArgs[key], key !== "domainName")) ) const hasQueryList = (char: string) => (queryArgList.length > 0 ? char : "") diff --git a/src/gql/utils/defaultObjects.ts b/src/gql/utils/defaultObjects.ts index 1e0b6cfd..e01ec659 100644 --- a/src/gql/utils/defaultObjects.ts +++ b/src/gql/utils/defaultObjects.ts @@ -1,5 +1,6 @@ import { GQLBlock, + GQLBybitResponse, GQLDelegation, GQLDistributionCommission, GQLEvm, @@ -235,20 +236,45 @@ export const defaultFeatureFlags: GQLFeatureFlags = { wasm: true, } +export const defaultBybit: GQLBybitResponse = { + ask1Price: "", + ask1Size: "", + bid1Price: "", + bid1Size: "", + highPrice24h: "", + lastPrice: "", + lowPrice24h: "", + prevPrice24h: "", + price24hPcnt: "", + symbol: "", + turnover24h: "", + volume24h: "", +} + export const defaultProxy: GQLProxies = { - bybit: { - ask1Price: "", - ask1Size: "", - bid1Price: "", - bid1Size: "", - highPrice24h: "", - lastPrice: "", - lowPrice24h: "", - prevPrice24h: "", - price24hPcnt: "", - symbol: "", - turnover24h: "", - volume24h: "", + bybit: defaultBybit, + unstoppableDomains: { + records: { + cryptoEthAddress: "", + cryptoNibiAddress: "", + ipfsHtmlValue: "", + tokenEvmEthEthAddress: "", + tokenEvmMaticMaticAddress: "", + tokenEvmMaticPolAddress: "", + tokenNibiNibiNibiAddress: "", + }, + meta: { + blockchain: "", + domain: "", + namehash: "", + owner: "", + networkId: 0, + registry: "", + resolver: "", + tokenId: "", + reverse: false, + type: "", + }, }, } diff --git a/src/gql/utils/generated.ts b/src/gql/utils/generated.ts index 4c796da7..c6b1845f 100644 --- a/src/gql/utils/generated.ts +++ b/src/gql/utils/generated.ts @@ -512,7 +512,13 @@ export enum GQLOraclesOrder { export type GQLProxies = { readonly __typename?: 'Proxies'; - readonly bybit: GQLBybitResponse; + readonly bybit?: Maybe; + readonly unstoppableDomains?: Maybe; +}; + + +export type GQLProxiesGqlUnstoppableDomainsArgs = { + domainName: Scalars['String']['input']; }; export type GQLQuery = { @@ -614,6 +620,17 @@ export type GQLQueryGqlValidatorsArgs = { where?: InputMaybe; }; +export type GQLRecords = { + readonly __typename?: 'Records'; + readonly cryptoEthAddress?: Maybe; + readonly cryptoNibiAddress?: Maybe; + readonly ipfsHtmlValue?: Maybe; + readonly tokenEvmEthEthAddress?: Maybe; + readonly tokenEvmMaticMaticAddress?: Maybe; + readonly tokenEvmMaticPolAddress?: Maybe; + readonly tokenNibiNibiNibiAddress?: Maybe; +}; + export type GQLRedelegation = { readonly __typename?: 'Redelegation'; readonly amount: Scalars['Int']['output']; @@ -824,6 +841,26 @@ export enum GQLUnbondingOrder { GQLValidatorAddress = 'validator_address' } +export type GQLUnstoppableDomainsMeta = { + readonly __typename?: 'UnstoppableDomainsMeta'; + readonly blockchain: Scalars['String']['output']; + readonly domain: Scalars['String']['output']; + readonly namehash: Scalars['String']['output']; + readonly networkId: Scalars['Int']['output']; + readonly owner: Scalars['String']['output']; + readonly registry: Scalars['String']['output']; + readonly resolver: Scalars['String']['output']; + readonly reverse: Scalars['Boolean']['output']; + readonly tokenId: Scalars['String']['output']; + readonly type: Scalars['String']['output']; +}; + +export type GQLUnstoppableDomainsResponse = { + readonly __typename?: 'UnstoppableDomainsResponse'; + readonly meta: GQLUnstoppableDomainsMeta; + readonly records: GQLRecords; +}; + export type GQLUser = { readonly __typename?: 'User'; readonly address: Scalars['String']['output']; diff --git a/src/gql/utils/schema.graphql b/src/gql/utils/schema.graphql index 22fde16e..ca7b5cb6 100644 --- a/src/gql/utils/schema.graphql +++ b/src/gql/utils/schema.graphql @@ -393,7 +393,8 @@ enum OraclesOrder { } type Proxies { - bybit: BybitResponse! + bybit: BybitResponse + unstoppableDomains(domainName: String!): UnstoppableDomainsResponse } type Query { @@ -419,6 +420,16 @@ type Query { wasm: Wasm! } +type Records { + cryptoEthAddress: String + cryptoNibiAddress: String + ipfsHtmlValue: String + tokenEvmEthEthAddress: String + tokenEvmMaticMaticAddress: String + tokenEvmMaticPolAddress: String + tokenNibiNibiNibiAddress: String +} + type Redelegation { amount: Int! completion_time: String! @@ -565,6 +576,24 @@ enum UnbondingOrder { validator_address } +type UnstoppableDomainsMeta { + blockchain: String! + domain: String! + namehash: String! + networkId: Int! + owner: String! + registry: String! + resolver: String! + reverse: Boolean! + tokenId: String! + type: String! +} + +type UnstoppableDomainsResponse { + meta: UnstoppableDomainsMeta! + records: Records! +} + type User { address: String! all_balances: [Balance!]! From 96a9ace4eaca6c345a1cd98f82a865a5b27a2a8f Mon Sep 17 00:00:00 2001 From: Cameron Gilbert Date: Fri, 4 Apr 2025 15:07:04 -0400 Subject: [PATCH 02/12] fix: move curly braces --- nibiru | 2 +- src/gql/query/proxies.ts | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/nibiru b/nibiru index c073eed8..b7b187f4 160000 --- a/nibiru +++ b/nibiru @@ -1 +1 @@ -Subproject commit c073eed8cc9330972d398151919ca31871bf09b7 +Subproject commit b7b187f4af8d37f40596c5f21abf40311a6ea026 diff --git a/src/gql/query/proxies.ts b/src/gql/query/proxies.ts index 050a46b8..d284e56d 100644 --- a/src/gql/query/proxies.ts +++ b/src/gql/query/proxies.ts @@ -34,11 +34,11 @@ export const proxiesQueryString = ( ) } - return `{ + return ` proxies { ${proxiesQuery.join("\n")} } - }` + ` } export const proxies = async ( @@ -46,4 +46,9 @@ export const proxies = async ( fields: DeepPartial, domainName?: string ): Promise => - doGqlQuery(proxiesQueryString(fields, domainName), endpt) + doGqlQuery( + `{ + ${proxiesQueryString(fields, domainName)} + }`, + endpt + ) From c9e895d388b71deab666c2c67cb0dc12f714a56f Mon Sep 17 00:00:00 2001 From: Calico Nino <54007257+CalicoNino@users.noreply.github.com> Date: Wed, 9 Apr 2025 09:58:59 -0400 Subject: [PATCH 03/12] refactor: adding custom amino messages (#407) * refactor: adding custom amino converter for convert to evm msg * chore: comment and linting * chore: new file instead of index * chore: linting --- nibiru | 2 +- src/sdk/aminomsgs/customamino.ts | 79 +++++++++++++++++++++++++++ src/sdk/aminomsgs/index.ts | 5 ++ src/sdk/core/signingcosmwasmclient.ts | 2 + src/sdk/index.ts | 1 + 5 files changed, 88 insertions(+), 1 deletion(-) create mode 100644 src/sdk/aminomsgs/customamino.ts create mode 100644 src/sdk/aminomsgs/index.ts diff --git a/nibiru b/nibiru index b7b187f4..1f1d3d3f 160000 --- a/nibiru +++ b/nibiru @@ -1 +1 @@ -Subproject commit b7b187f4af8d37f40596c5f21abf40311a6ea026 +Subproject commit 1f1d3d3faceac9e167e170da478a2e9f666a1532 diff --git a/src/sdk/aminomsgs/customamino.ts b/src/sdk/aminomsgs/customamino.ts new file mode 100644 index 00000000..c9b88b71 --- /dev/null +++ b/src/sdk/aminomsgs/customamino.ts @@ -0,0 +1,79 @@ +import { AminoConverter } from "@cosmjs/stargate" + +/** + * MsgConvertCoinToEvm defines the structure of the Protobuf message + * used to convert a Cosmos coin to its EVM representation. + */ +interface MsgConvertCoinToEvm { + /** The target Ethereum address that will receive the converted tokens */ + toEthAddr: string + + /** The Cosmos sender address initiating the conversion */ + sender: string + + /** The bank coin object containing the denom and amount to convert */ + bankCoin: { + denom: string + amount: string + } +} + +/** + * Amino-encoded version of MsgConvertCoinToEvm. + * Uses snake_case field names as required by the Amino standard. + */ +interface AminoMsgConvertCoinToEvm { + /** The Ethereum address in snake_case format */ + to_eth_addr: string + + /** The Cosmos sender address */ + sender: string + + /** The coin to be converted, in Amino format */ + bank_coin: { + denom: string + amount: string + } +} + +/** + * AminoConverters used by the AminoTypes class to serialize/deserialize + * MsgConvertCoinToEvm messages to/from Amino-compatible JSON format. + */ +export const customAminoConverters: Record = { + "/eth.evm.v1.MsgConvertCoinToEvm": { + /** + * Identifier for this Amino message type. + * This must match the type used by legacy clients or signing tools. + */ + aminoType: "eth/MsgConvertCoinToEvm", + + /** + * Converts a Protobuf MsgConvertCoinToEvm into its Amino-encoded representation. + * @param msg - The Protobuf message object + * @returns The Amino-encoded JSON representation + */ + toAmino: (msg: MsgConvertCoinToEvm): AminoMsgConvertCoinToEvm => ({ + to_eth_addr: msg.toEthAddr, + sender: msg.sender, + bank_coin: { + denom: msg.bankCoin.denom, + amount: msg.bankCoin.amount, + }, + }), + + /** + * Converts an Amino-encoded MsgConvertCoinToEvm into its Protobuf representation. + * @param amino - The Amino JSON object + * @returns The Protobuf-style message object + */ + fromAmino: (amino: AminoMsgConvertCoinToEvm): MsgConvertCoinToEvm => ({ + toEthAddr: amino.to_eth_addr, + sender: amino.sender, + bankCoin: { + denom: amino.bank_coin.denom, + amount: amino.bank_coin.amount, + }, + }), + }, +} diff --git a/src/sdk/aminomsgs/index.ts b/src/sdk/aminomsgs/index.ts new file mode 100644 index 00000000..248d4807 --- /dev/null +++ b/src/sdk/aminomsgs/index.ts @@ -0,0 +1,5 @@ +/** + * @file Automatically generated by barrelsby. + */ + +export * from "./customamino" diff --git a/src/sdk/core/signingcosmwasmclient.ts b/src/sdk/core/signingcosmwasmclient.ts index 8fd5df95..ce250b35 100644 --- a/src/sdk/core/signingcosmwasmclient.ts +++ b/src/sdk/core/signingcosmwasmclient.ts @@ -74,6 +74,7 @@ import { import { MsgWithdrawDelegatorReward } from "cosmjs-types/cosmos/distribution/v1beta1/tx" import { SignMode } from "cosmjs-types/cosmos/tx/signing/v1beta1/signing" import { TxRaw } from "cosmjs-types/cosmos/tx/v1beta1/tx" +import { customAminoConverters } from "../aminomsgs" function createDeliverTxResponseErrorMessage( result: DeliverTxResponse @@ -162,6 +163,7 @@ export class NibiSigningCosmWasmClient extends NibiCosmWasmClient { aminoTypes = new AminoTypes({ ...createDefaultAminoConverters(), ...createWasmAminoConverters(), + ...customAminoConverters, }), } = options this.registry = registry diff --git a/src/sdk/index.ts b/src/sdk/index.ts index 18656a5a..7af72b4d 100644 --- a/src/sdk/index.ts +++ b/src/sdk/index.ts @@ -2,6 +2,7 @@ * @file Automatically generated by barrelsby. */ +export * from "./aminomsgs/index" export * from "./core/index" export * from "./msg/index" export * from "./query/index" From c1c2175d2763c118aba6028f36ffc79d14de4870 Mon Sep 17 00:00:00 2001 From: Cameron Gilbert Date: Wed, 21 May 2025 10:12:07 -0400 Subject: [PATCH 04/12] chore: pull latest protos --- nibiru | 2 +- src/protojs/cosmos/app/v1alpha1/module.ts | 330 ++++++++++++++++++ src/protojs/eth/evm/module/module.ts | 172 +++++++++ src/protojs/index.cosmos.app.ts | 3 + src/protojs/index.cosmos.app.v1alpha1.ts | 3 + src/protojs/index.eth.evm.v1.ts | 2 +- src/protojs/index.nibiru.devgas.v1.ts | 4 +- src/protojs/index.nibiru.epochs.module.ts | 3 + src/protojs/index.nibiru.epochs.module.v1.ts | 3 + src/protojs/index.nibiru.epochs.v1.ts | 2 +- src/protojs/index.nibiru.evm.module.ts | 3 + src/protojs/index.nibiru.evm.module.v1.ts | 3 + src/protojs/index.nibiru.evm.ts | 3 + src/protojs/index.nibiru.inflation.module.ts | 3 + .../index.nibiru.inflation.module.v1.ts | 3 + src/protojs/index.nibiru.inflation.v1.ts | 3 +- src/protojs/index.nibiru.oracle.module.ts | 3 + src/protojs/index.nibiru.oracle.module.v1.ts | 3 + src/protojs/index.nibiru.oracle.v1.ts | 2 +- src/protojs/index.nibiru.sudo.module.ts | 3 + src/protojs/index.nibiru.sudo.module.v1.ts | 3 + src/protojs/index.nibiru.sudo.v1.ts | 3 +- .../index.nibiru.tokenfactory.module.ts | 3 + .../index.nibiru.tokenfactory.module.v1.ts | 3 + src/protojs/index.nibiru.tokenfactory.v1.ts | 3 +- src/protojs/nibiru/epochs/module/module.ts | 197 +++++++++++ src/protojs/nibiru/inflation/module/module.ts | 172 +++++++++ src/protojs/nibiru/oracle/module/module.ts | 172 +++++++++ src/protojs/nibiru/oracle/v1/oracle.ts | 2 +- src/protojs/nibiru/sudo/module/module.ts | 172 +++++++++ src/protojs/nibiru/sudo/v1/event.ts | 2 +- .../nibiru/tokenfactory/module/module.ts | 172 +++++++++ 32 files changed, 1446 insertions(+), 11 deletions(-) create mode 100644 src/protojs/cosmos/app/v1alpha1/module.ts create mode 100644 src/protojs/eth/evm/module/module.ts create mode 100644 src/protojs/index.cosmos.app.ts create mode 100644 src/protojs/index.cosmos.app.v1alpha1.ts create mode 100644 src/protojs/index.nibiru.epochs.module.ts create mode 100644 src/protojs/index.nibiru.epochs.module.v1.ts create mode 100644 src/protojs/index.nibiru.evm.module.ts create mode 100644 src/protojs/index.nibiru.evm.module.v1.ts create mode 100644 src/protojs/index.nibiru.evm.ts create mode 100644 src/protojs/index.nibiru.inflation.module.ts create mode 100644 src/protojs/index.nibiru.inflation.module.v1.ts create mode 100644 src/protojs/index.nibiru.oracle.module.ts create mode 100644 src/protojs/index.nibiru.oracle.module.v1.ts create mode 100644 src/protojs/index.nibiru.sudo.module.ts create mode 100644 src/protojs/index.nibiru.sudo.module.v1.ts create mode 100644 src/protojs/index.nibiru.tokenfactory.module.ts create mode 100644 src/protojs/index.nibiru.tokenfactory.module.v1.ts create mode 100644 src/protojs/nibiru/epochs/module/module.ts create mode 100644 src/protojs/nibiru/inflation/module/module.ts create mode 100644 src/protojs/nibiru/oracle/module/module.ts create mode 100644 src/protojs/nibiru/sudo/module/module.ts create mode 100644 src/protojs/nibiru/tokenfactory/module/module.ts diff --git a/nibiru b/nibiru index 82affcbb..04ba8366 160000 --- a/nibiru +++ b/nibiru @@ -1 +1 @@ -Subproject commit 82affcbbce49314bb80e7af571d5c9bc1f359d40 +Subproject commit 04ba83662994c9e9f3e057278f0afeb8a7f2194e diff --git a/src/protojs/cosmos/app/v1alpha1/module.ts b/src/protojs/cosmos/app/v1alpha1/module.ts new file mode 100644 index 00000000..302bb6ab --- /dev/null +++ b/src/protojs/cosmos/app/v1alpha1/module.ts @@ -0,0 +1,330 @@ +/* eslint-disable */ +import Long from "long"; +import _m0 from "protobufjs/minimal"; + +/** ModuleDescriptor describes an app module. */ +export interface ModuleDescriptor { + /** + * go_import names the package that should be imported by an app to load the + * module in the runtime module registry. It is required to make debugging + * of configuration errors easier for users. + */ + goImport: string; + /** + * use_package refers to a protobuf package that this module + * uses and exposes to the world. In an app, only one module should "use" + * or own a single protobuf package. It is assumed that the module uses + * all of the .proto files in a single package. + */ + usePackage: PackageReference[]; + /** + * can_migrate_from defines which module versions this module can migrate + * state from. The framework will check that one module version is able to + * migrate from a previous module version before attempting to update its + * config. It is assumed that modules can transitively migrate from earlier + * versions. For instance if v3 declares it can migrate from v2, and v2 + * declares it can migrate from v1, the framework knows how to migrate + * from v1 to v3, assuming all 3 module versions are registered at runtime. + */ + canMigrateFrom: MigrateFromInfo[]; +} + +/** PackageReference is a reference to a protobuf package used by a module. */ +export interface PackageReference { + /** name is the fully-qualified name of the package. */ + name: string; + /** + * revision is the optional revision of the package that is being used. + * Protobuf packages used in Cosmos should generally have a major version + * as the last part of the package name, ex. foo.bar.baz.v1. + * The revision of a package can be thought of as the minor version of a + * package which has additional backwards compatible definitions that weren't + * present in a previous version. + * + * A package should indicate its revision with a source code comment + * above the package declaration in one of its files containing the + * text "Revision N" where N is an integer revision. All packages start + * at revision 0 the first time they are released in a module. + * + * When a new version of a module is released and items are added to existing + * .proto files, these definitions should contain comments of the form + * "Since Revision N" where N is an integer revision. + * + * When the module runtime starts up, it will check the pinned proto + * image and panic if there are runtime protobuf definitions that are not + * in the pinned descriptor which do not have + * a "Since Revision N" comment or have a "Since Revision N" comment where + * N is <= to the revision specified here. This indicates that the protobuf + * files have been updated, but the pinned file descriptor hasn't. + * + * If there are items in the pinned file descriptor with a revision + * greater than the value indicated here, this will also cause a panic + * as it may mean that the pinned descriptor for a legacy module has been + * improperly updated or that there is some other versioning discrepancy. + * Runtime protobuf definitions will also be checked for compatibility + * with pinned file descriptors to make sure there are no incompatible changes. + * + * This behavior ensures that: + * * pinned proto images are up-to-date + * * protobuf files are carefully annotated with revision comments which + * are important good client UX + * * protobuf files are changed in backwards and forwards compatible ways + */ + revision: number; +} + +/** + * MigrateFromInfo is information on a module version that a newer module + * can migrate from. + */ +export interface MigrateFromInfo { + /** + * module is the fully-qualified protobuf name of the module config object + * for the previous module version, ex: "cosmos.group.module.v1.Module". + */ + module: string; +} + +function createBaseModuleDescriptor(): ModuleDescriptor { + return { goImport: "", usePackage: [], canMigrateFrom: [] }; +} + +export const ModuleDescriptor = { + encode(message: ModuleDescriptor, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.goImport !== "") { + writer.uint32(10).string(message.goImport); + } + for (const v of message.usePackage) { + PackageReference.encode(v!, writer.uint32(18).fork()).ldelim(); + } + for (const v of message.canMigrateFrom) { + MigrateFromInfo.encode(v!, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ModuleDescriptor { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModuleDescriptor(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.goImport = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.usePackage.push(PackageReference.decode(reader, reader.uint32())); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.canMigrateFrom.push(MigrateFromInfo.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ModuleDescriptor { + return { + goImport: isSet(object.goImport) ? String(object.goImport) : "", + usePackage: Array.isArray(object?.usePackage) + ? object.usePackage.map((e: any) => PackageReference.fromJSON(e)) + : [], + canMigrateFrom: Array.isArray(object?.canMigrateFrom) + ? object.canMigrateFrom.map((e: any) => MigrateFromInfo.fromJSON(e)) + : [], + }; + }, + + toJSON(message: ModuleDescriptor): unknown { + const obj: any = {}; + message.goImport !== undefined && (obj.goImport = message.goImport); + if (message.usePackage) { + obj.usePackage = message.usePackage.map((e) => e ? PackageReference.toJSON(e) : undefined); + } else { + obj.usePackage = []; + } + if (message.canMigrateFrom) { + obj.canMigrateFrom = message.canMigrateFrom.map((e) => e ? MigrateFromInfo.toJSON(e) : undefined); + } else { + obj.canMigrateFrom = []; + } + return obj; + }, + + create, I>>(base?: I): ModuleDescriptor { + return ModuleDescriptor.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): ModuleDescriptor { + const message = createBaseModuleDescriptor(); + message.goImport = object.goImport ?? ""; + message.usePackage = object.usePackage?.map((e) => PackageReference.fromPartial(e)) || []; + message.canMigrateFrom = object.canMigrateFrom?.map((e) => MigrateFromInfo.fromPartial(e)) || []; + return message; + }, +}; + +function createBasePackageReference(): PackageReference { + return { name: "", revision: 0 }; +} + +export const PackageReference = { + encode(message: PackageReference, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.name !== "") { + writer.uint32(10).string(message.name); + } + if (message.revision !== 0) { + writer.uint32(16).uint32(message.revision); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): PackageReference { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBasePackageReference(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.name = reader.string(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.revision = reader.uint32(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): PackageReference { + return { + name: isSet(object.name) ? String(object.name) : "", + revision: isSet(object.revision) ? Number(object.revision) : 0, + }; + }, + + toJSON(message: PackageReference): unknown { + const obj: any = {}; + message.name !== undefined && (obj.name = message.name); + message.revision !== undefined && (obj.revision = Math.round(message.revision)); + return obj; + }, + + create, I>>(base?: I): PackageReference { + return PackageReference.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): PackageReference { + const message = createBasePackageReference(); + message.name = object.name ?? ""; + message.revision = object.revision ?? 0; + return message; + }, +}; + +function createBaseMigrateFromInfo(): MigrateFromInfo { + return { module: "" }; +} + +export const MigrateFromInfo = { + encode(message: MigrateFromInfo, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.module !== "") { + writer.uint32(10).string(message.module); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MigrateFromInfo { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMigrateFromInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.module = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MigrateFromInfo { + return { module: isSet(object.module) ? String(object.module) : "" }; + }, + + toJSON(message: MigrateFromInfo): unknown { + const obj: any = {}; + message.module !== undefined && (obj.module = message.module); + return obj; + }, + + create, I>>(base?: I): MigrateFromInfo { + return MigrateFromInfo.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): MigrateFromInfo { + const message = createBaseMigrateFromInfo(); + message.module = object.module ?? ""; + return message; + }, +}; + +type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; + +type DeepPartial = T extends Builtin ? T + : T extends Long ? string | number | Long : T extends Array ? Array> + : T extends ReadonlyArray ? ReadonlyArray> + : T extends {} ? { [K in keyof T]?: DeepPartial } + : Partial; + +type KeysOfUnion = T extends T ? keyof T : never; +type Exact = P extends Builtin ? P + : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; + +if (_m0.util.Long !== Long) { + _m0.util.Long = Long as any; + _m0.configure(); +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} diff --git a/src/protojs/eth/evm/module/module.ts b/src/protojs/eth/evm/module/module.ts new file mode 100644 index 00000000..6e13be70 --- /dev/null +++ b/src/protojs/eth/evm/module/module.ts @@ -0,0 +1,172 @@ +/* eslint-disable */ +import Long from "long"; +import _m0 from "protobufjs/minimal"; + +/** Module is the config object for the devgas module. */ +export interface Module { + /** authority defines the custom module authority. If not set, defaults to the governance module. */ + authority: string; +} + +/** ModuleAccountPermission represents permissions for a module account. */ +export interface ModuleAccountPermission { + /** account is the name of the module. */ + account: string; + /** + * permissions are the permissions this module has. Currently recognized + * values are minter, burner and staking. + */ + permissions: string[]; +} + +function createBaseModule(): Module { + return { authority: "" }; +} + +export const Module = { + encode(message: Module, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.authority !== "") { + writer.uint32(10).string(message.authority); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): Module { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModule(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.authority = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): Module { + return { authority: isSet(object.authority) ? String(object.authority) : "" }; + }, + + toJSON(message: Module): unknown { + const obj: any = {}; + message.authority !== undefined && (obj.authority = message.authority); + return obj; + }, + + create, I>>(base?: I): Module { + return Module.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): Module { + const message = createBaseModule(); + message.authority = object.authority ?? ""; + return message; + }, +}; + +function createBaseModuleAccountPermission(): ModuleAccountPermission { + return { account: "", permissions: [] }; +} + +export const ModuleAccountPermission = { + encode(message: ModuleAccountPermission, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.account !== "") { + writer.uint32(10).string(message.account); + } + for (const v of message.permissions) { + writer.uint32(18).string(v!); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ModuleAccountPermission { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModuleAccountPermission(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.account = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.permissions.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ModuleAccountPermission { + return { + account: isSet(object.account) ? String(object.account) : "", + permissions: Array.isArray(object?.permissions) ? object.permissions.map((e: any) => String(e)) : [], + }; + }, + + toJSON(message: ModuleAccountPermission): unknown { + const obj: any = {}; + message.account !== undefined && (obj.account = message.account); + if (message.permissions) { + obj.permissions = message.permissions.map((e) => e); + } else { + obj.permissions = []; + } + return obj; + }, + + create, I>>(base?: I): ModuleAccountPermission { + return ModuleAccountPermission.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): ModuleAccountPermission { + const message = createBaseModuleAccountPermission(); + message.account = object.account ?? ""; + message.permissions = object.permissions?.map((e) => e) || []; + return message; + }, +}; + +type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; + +type DeepPartial = T extends Builtin ? T + : T extends Long ? string | number | Long : T extends Array ? Array> + : T extends ReadonlyArray ? ReadonlyArray> + : T extends {} ? { [K in keyof T]?: DeepPartial } + : Partial; + +type KeysOfUnion = T extends T ? keyof T : never; +type Exact = P extends Builtin ? P + : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; + +if (_m0.util.Long !== Long) { + _m0.util.Long = Long as any; + _m0.configure(); +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} diff --git a/src/protojs/index.cosmos.app.ts b/src/protojs/index.cosmos.app.ts new file mode 100644 index 00000000..4caedf56 --- /dev/null +++ b/src/protojs/index.cosmos.app.ts @@ -0,0 +1,3 @@ +/* eslint-disable */ + +export * as v1alpha1 from "./index.cosmos.app.v1alpha1"; diff --git a/src/protojs/index.cosmos.app.v1alpha1.ts b/src/protojs/index.cosmos.app.v1alpha1.ts new file mode 100644 index 00000000..6b069abb --- /dev/null +++ b/src/protojs/index.cosmos.app.v1alpha1.ts @@ -0,0 +1,3 @@ +/* eslint-disable */ + +export * from "./cosmos/app/v1alpha1/module"; diff --git a/src/protojs/index.eth.evm.v1.ts b/src/protojs/index.eth.evm.v1.ts index f3179cbd..4e16621b 100644 --- a/src/protojs/index.eth.evm.v1.ts +++ b/src/protojs/index.eth.evm.v1.ts @@ -1,4 +1,4 @@ /* eslint-disable */ export * from "./eth/evm/v1/evm"; -export * from "./eth/evm/v1/events"; +export * from "./eth/evm/v1/tx"; diff --git a/src/protojs/index.nibiru.devgas.v1.ts b/src/protojs/index.nibiru.devgas.v1.ts index 143a15b9..c4ebcfe0 100644 --- a/src/protojs/index.nibiru.devgas.v1.ts +++ b/src/protojs/index.nibiru.devgas.v1.ts @@ -1,3 +1,5 @@ /* eslint-disable */ -export * from "./nibiru/devgas/v1/event"; +export * from "./nibiru/devgas/v1/devgas"; +export * from "./nibiru/devgas/v1/genesis"; +export * from "./nibiru/devgas/v1/tx"; diff --git a/src/protojs/index.nibiru.epochs.module.ts b/src/protojs/index.nibiru.epochs.module.ts new file mode 100644 index 00000000..823abad2 --- /dev/null +++ b/src/protojs/index.nibiru.epochs.module.ts @@ -0,0 +1,3 @@ +/* eslint-disable */ + +export * as v1 from "./index.nibiru.epochs.module.v1"; diff --git a/src/protojs/index.nibiru.epochs.module.v1.ts b/src/protojs/index.nibiru.epochs.module.v1.ts new file mode 100644 index 00000000..e9e110f7 --- /dev/null +++ b/src/protojs/index.nibiru.epochs.module.v1.ts @@ -0,0 +1,3 @@ +/* eslint-disable */ + +export * from "./nibiru/epochs/module/module"; diff --git a/src/protojs/index.nibiru.epochs.v1.ts b/src/protojs/index.nibiru.epochs.v1.ts index 2871806e..b814312d 100644 --- a/src/protojs/index.nibiru.epochs.v1.ts +++ b/src/protojs/index.nibiru.epochs.v1.ts @@ -1,3 +1,3 @@ /* eslint-disable */ -export * from "./nibiru/epochs/v1/event"; +export * from "./nibiru/epochs/v1/state"; diff --git a/src/protojs/index.nibiru.evm.module.ts b/src/protojs/index.nibiru.evm.module.ts new file mode 100644 index 00000000..31c1327e --- /dev/null +++ b/src/protojs/index.nibiru.evm.module.ts @@ -0,0 +1,3 @@ +/* eslint-disable */ + +export * as v1 from "./index.nibiru.evm.module.v1"; diff --git a/src/protojs/index.nibiru.evm.module.v1.ts b/src/protojs/index.nibiru.evm.module.v1.ts new file mode 100644 index 00000000..fe36f48c --- /dev/null +++ b/src/protojs/index.nibiru.evm.module.v1.ts @@ -0,0 +1,3 @@ +/* eslint-disable */ + +export * from "./eth/evm/module/module"; diff --git a/src/protojs/index.nibiru.evm.ts b/src/protojs/index.nibiru.evm.ts new file mode 100644 index 00000000..7cd34ad4 --- /dev/null +++ b/src/protojs/index.nibiru.evm.ts @@ -0,0 +1,3 @@ +/* eslint-disable */ + +export * as module from "./index.nibiru.evm.module"; diff --git a/src/protojs/index.nibiru.inflation.module.ts b/src/protojs/index.nibiru.inflation.module.ts new file mode 100644 index 00000000..7612e062 --- /dev/null +++ b/src/protojs/index.nibiru.inflation.module.ts @@ -0,0 +1,3 @@ +/* eslint-disable */ + +export * as v1 from "./index.nibiru.inflation.module.v1"; diff --git a/src/protojs/index.nibiru.inflation.module.v1.ts b/src/protojs/index.nibiru.inflation.module.v1.ts new file mode 100644 index 00000000..a0ab9773 --- /dev/null +++ b/src/protojs/index.nibiru.inflation.module.v1.ts @@ -0,0 +1,3 @@ +/* eslint-disable */ + +export * from "./nibiru/inflation/module/module"; diff --git a/src/protojs/index.nibiru.inflation.v1.ts b/src/protojs/index.nibiru.inflation.v1.ts index 3de5b9db..fe47db74 100644 --- a/src/protojs/index.nibiru.inflation.v1.ts +++ b/src/protojs/index.nibiru.inflation.v1.ts @@ -1,3 +1,4 @@ /* eslint-disable */ -export * from "./nibiru/inflation/v1/event"; +export * from "./nibiru/inflation/v1/inflation"; +export * from "./nibiru/inflation/v1/tx"; diff --git a/src/protojs/index.nibiru.oracle.module.ts b/src/protojs/index.nibiru.oracle.module.ts new file mode 100644 index 00000000..0ba8757a --- /dev/null +++ b/src/protojs/index.nibiru.oracle.module.ts @@ -0,0 +1,3 @@ +/* eslint-disable */ + +export * as v1 from "./index.nibiru.oracle.module.v1"; diff --git a/src/protojs/index.nibiru.oracle.module.v1.ts b/src/protojs/index.nibiru.oracle.module.v1.ts new file mode 100644 index 00000000..a059e543 --- /dev/null +++ b/src/protojs/index.nibiru.oracle.module.v1.ts @@ -0,0 +1,3 @@ +/* eslint-disable */ + +export * from "./nibiru/oracle/module/module"; diff --git a/src/protojs/index.nibiru.oracle.v1.ts b/src/protojs/index.nibiru.oracle.v1.ts index b22bf545..62f33089 100644 --- a/src/protojs/index.nibiru.oracle.v1.ts +++ b/src/protojs/index.nibiru.oracle.v1.ts @@ -1,4 +1,4 @@ /* eslint-disable */ export * from "./nibiru/oracle/v1/oracle"; -export * from "./nibiru/oracle/v1/event"; +export * from "./nibiru/oracle/v1/tx"; diff --git a/src/protojs/index.nibiru.sudo.module.ts b/src/protojs/index.nibiru.sudo.module.ts new file mode 100644 index 00000000..16de0fe6 --- /dev/null +++ b/src/protojs/index.nibiru.sudo.module.ts @@ -0,0 +1,3 @@ +/* eslint-disable */ + +export * as v1 from "./index.nibiru.sudo.module.v1"; diff --git a/src/protojs/index.nibiru.sudo.module.v1.ts b/src/protojs/index.nibiru.sudo.module.v1.ts new file mode 100644 index 00000000..b6a6f482 --- /dev/null +++ b/src/protojs/index.nibiru.sudo.module.v1.ts @@ -0,0 +1,3 @@ +/* eslint-disable */ + +export * from "./nibiru/sudo/module/module"; diff --git a/src/protojs/index.nibiru.sudo.v1.ts b/src/protojs/index.nibiru.sudo.v1.ts index 545236d3..a58d6c45 100644 --- a/src/protojs/index.nibiru.sudo.v1.ts +++ b/src/protojs/index.nibiru.sudo.v1.ts @@ -1,4 +1,3 @@ /* eslint-disable */ -export * from "./nibiru/sudo/v1/state"; -export * from "./nibiru/sudo/v1/event"; +export * from "./nibiru/sudo/v1/tx"; diff --git a/src/protojs/index.nibiru.tokenfactory.module.ts b/src/protojs/index.nibiru.tokenfactory.module.ts new file mode 100644 index 00000000..148ce8d1 --- /dev/null +++ b/src/protojs/index.nibiru.tokenfactory.module.ts @@ -0,0 +1,3 @@ +/* eslint-disable */ + +export * as v1 from "./index.nibiru.tokenfactory.module.v1"; diff --git a/src/protojs/index.nibiru.tokenfactory.module.v1.ts b/src/protojs/index.nibiru.tokenfactory.module.v1.ts new file mode 100644 index 00000000..7d97cf45 --- /dev/null +++ b/src/protojs/index.nibiru.tokenfactory.module.v1.ts @@ -0,0 +1,3 @@ +/* eslint-disable */ + +export * from "./nibiru/tokenfactory/module/module"; diff --git a/src/protojs/index.nibiru.tokenfactory.v1.ts b/src/protojs/index.nibiru.tokenfactory.v1.ts index 89e2a7c2..ec2bd889 100644 --- a/src/protojs/index.nibiru.tokenfactory.v1.ts +++ b/src/protojs/index.nibiru.tokenfactory.v1.ts @@ -1,3 +1,4 @@ /* eslint-disable */ -export * from "./nibiru/tokenfactory/v1/event"; +export * from "./nibiru/tokenfactory/v1/state"; +export * from "./nibiru/tokenfactory/v1/tx"; diff --git a/src/protojs/nibiru/epochs/module/module.ts b/src/protojs/nibiru/epochs/module/module.ts new file mode 100644 index 00000000..1e35f3a3 --- /dev/null +++ b/src/protojs/nibiru/epochs/module/module.ts @@ -0,0 +1,197 @@ +/* eslint-disable */ +import Long from "long"; +import _m0 from "protobufjs/minimal"; + +/** Module is the config object for the epochs module. */ +export interface Module { + /** + * hooks_order specifies the order of staking hooks and should be a list + * of module names which provide a staking hooks instance. If no order is + * provided, then hooks will be applied in alphabetical order of module names. + */ + hooksOrder: string[]; + /** authority defines the custom module authority. If not set, defaults to the governance module. */ + authority: string; +} + +/** ModuleAccountPermission represents permissions for a module account. */ +export interface ModuleAccountPermission { + /** account is the name of the module. */ + account: string; + /** + * permissions are the permissions this module has. Currently recognized + * values are minter, burner and staking. + */ + permissions: string[]; +} + +function createBaseModule(): Module { + return { hooksOrder: [], authority: "" }; +} + +export const Module = { + encode(message: Module, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + for (const v of message.hooksOrder) { + writer.uint32(10).string(v!); + } + if (message.authority !== "") { + writer.uint32(18).string(message.authority); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): Module { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModule(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.hooksOrder.push(reader.string()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.authority = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): Module { + return { + hooksOrder: Array.isArray(object?.hooksOrder) ? object.hooksOrder.map((e: any) => String(e)) : [], + authority: isSet(object.authority) ? String(object.authority) : "", + }; + }, + + toJSON(message: Module): unknown { + const obj: any = {}; + if (message.hooksOrder) { + obj.hooksOrder = message.hooksOrder.map((e) => e); + } else { + obj.hooksOrder = []; + } + message.authority !== undefined && (obj.authority = message.authority); + return obj; + }, + + create, I>>(base?: I): Module { + return Module.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): Module { + const message = createBaseModule(); + message.hooksOrder = object.hooksOrder?.map((e) => e) || []; + message.authority = object.authority ?? ""; + return message; + }, +}; + +function createBaseModuleAccountPermission(): ModuleAccountPermission { + return { account: "", permissions: [] }; +} + +export const ModuleAccountPermission = { + encode(message: ModuleAccountPermission, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.account !== "") { + writer.uint32(10).string(message.account); + } + for (const v of message.permissions) { + writer.uint32(18).string(v!); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ModuleAccountPermission { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModuleAccountPermission(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.account = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.permissions.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ModuleAccountPermission { + return { + account: isSet(object.account) ? String(object.account) : "", + permissions: Array.isArray(object?.permissions) ? object.permissions.map((e: any) => String(e)) : [], + }; + }, + + toJSON(message: ModuleAccountPermission): unknown { + const obj: any = {}; + message.account !== undefined && (obj.account = message.account); + if (message.permissions) { + obj.permissions = message.permissions.map((e) => e); + } else { + obj.permissions = []; + } + return obj; + }, + + create, I>>(base?: I): ModuleAccountPermission { + return ModuleAccountPermission.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): ModuleAccountPermission { + const message = createBaseModuleAccountPermission(); + message.account = object.account ?? ""; + message.permissions = object.permissions?.map((e) => e) || []; + return message; + }, +}; + +type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; + +type DeepPartial = T extends Builtin ? T + : T extends Long ? string | number | Long : T extends Array ? Array> + : T extends ReadonlyArray ? ReadonlyArray> + : T extends {} ? { [K in keyof T]?: DeepPartial } + : Partial; + +type KeysOfUnion = T extends T ? keyof T : never; +type Exact = P extends Builtin ? P + : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; + +if (_m0.util.Long !== Long) { + _m0.util.Long = Long as any; + _m0.configure(); +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} diff --git a/src/protojs/nibiru/inflation/module/module.ts b/src/protojs/nibiru/inflation/module/module.ts new file mode 100644 index 00000000..7d14f1cc --- /dev/null +++ b/src/protojs/nibiru/inflation/module/module.ts @@ -0,0 +1,172 @@ +/* eslint-disable */ +import Long from "long"; +import _m0 from "protobufjs/minimal"; + +/** Module is the config object for the inflation module. */ +export interface Module { + /** authority defines the custom module authority. If not set, defaults to the governance module. */ + authority: string; +} + +/** ModuleAccountPermission represents permissions for a module account. */ +export interface ModuleAccountPermission { + /** account is the name of the module. */ + account: string; + /** + * permissions are the permissions this module has. Currently recognized + * values are minter, burner and staking. + */ + permissions: string[]; +} + +function createBaseModule(): Module { + return { authority: "" }; +} + +export const Module = { + encode(message: Module, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.authority !== "") { + writer.uint32(10).string(message.authority); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): Module { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModule(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.authority = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): Module { + return { authority: isSet(object.authority) ? String(object.authority) : "" }; + }, + + toJSON(message: Module): unknown { + const obj: any = {}; + message.authority !== undefined && (obj.authority = message.authority); + return obj; + }, + + create, I>>(base?: I): Module { + return Module.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): Module { + const message = createBaseModule(); + message.authority = object.authority ?? ""; + return message; + }, +}; + +function createBaseModuleAccountPermission(): ModuleAccountPermission { + return { account: "", permissions: [] }; +} + +export const ModuleAccountPermission = { + encode(message: ModuleAccountPermission, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.account !== "") { + writer.uint32(10).string(message.account); + } + for (const v of message.permissions) { + writer.uint32(18).string(v!); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ModuleAccountPermission { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModuleAccountPermission(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.account = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.permissions.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ModuleAccountPermission { + return { + account: isSet(object.account) ? String(object.account) : "", + permissions: Array.isArray(object?.permissions) ? object.permissions.map((e: any) => String(e)) : [], + }; + }, + + toJSON(message: ModuleAccountPermission): unknown { + const obj: any = {}; + message.account !== undefined && (obj.account = message.account); + if (message.permissions) { + obj.permissions = message.permissions.map((e) => e); + } else { + obj.permissions = []; + } + return obj; + }, + + create, I>>(base?: I): ModuleAccountPermission { + return ModuleAccountPermission.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): ModuleAccountPermission { + const message = createBaseModuleAccountPermission(); + message.account = object.account ?? ""; + message.permissions = object.permissions?.map((e) => e) || []; + return message; + }, +}; + +type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; + +type DeepPartial = T extends Builtin ? T + : T extends Long ? string | number | Long : T extends Array ? Array> + : T extends ReadonlyArray ? ReadonlyArray> + : T extends {} ? { [K in keyof T]?: DeepPartial } + : Partial; + +type KeysOfUnion = T extends T ? keyof T : never; +type Exact = P extends Builtin ? P + : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; + +if (_m0.util.Long !== Long) { + _m0.util.Long = Long as any; + _m0.configure(); +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} diff --git a/src/protojs/nibiru/oracle/module/module.ts b/src/protojs/nibiru/oracle/module/module.ts new file mode 100644 index 00000000..5b071026 --- /dev/null +++ b/src/protojs/nibiru/oracle/module/module.ts @@ -0,0 +1,172 @@ +/* eslint-disable */ +import Long from "long"; +import _m0 from "protobufjs/minimal"; + +/** Module is the config object for the oracle module. */ +export interface Module { + /** authority defines the custom module authority. If not set, defaults to the governance module. */ + authority: string; +} + +/** ModuleAccountPermission represents permissions for a module account. */ +export interface ModuleAccountPermission { + /** account is the name of the module. */ + account: string; + /** + * permissions are the permissions this module has. Currently recognized + * values are minter, burner and staking. + */ + permissions: string[]; +} + +function createBaseModule(): Module { + return { authority: "" }; +} + +export const Module = { + encode(message: Module, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.authority !== "") { + writer.uint32(10).string(message.authority); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): Module { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModule(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.authority = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): Module { + return { authority: isSet(object.authority) ? String(object.authority) : "" }; + }, + + toJSON(message: Module): unknown { + const obj: any = {}; + message.authority !== undefined && (obj.authority = message.authority); + return obj; + }, + + create, I>>(base?: I): Module { + return Module.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): Module { + const message = createBaseModule(); + message.authority = object.authority ?? ""; + return message; + }, +}; + +function createBaseModuleAccountPermission(): ModuleAccountPermission { + return { account: "", permissions: [] }; +} + +export const ModuleAccountPermission = { + encode(message: ModuleAccountPermission, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.account !== "") { + writer.uint32(10).string(message.account); + } + for (const v of message.permissions) { + writer.uint32(18).string(v!); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ModuleAccountPermission { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModuleAccountPermission(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.account = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.permissions.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ModuleAccountPermission { + return { + account: isSet(object.account) ? String(object.account) : "", + permissions: Array.isArray(object?.permissions) ? object.permissions.map((e: any) => String(e)) : [], + }; + }, + + toJSON(message: ModuleAccountPermission): unknown { + const obj: any = {}; + message.account !== undefined && (obj.account = message.account); + if (message.permissions) { + obj.permissions = message.permissions.map((e) => e); + } else { + obj.permissions = []; + } + return obj; + }, + + create, I>>(base?: I): ModuleAccountPermission { + return ModuleAccountPermission.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): ModuleAccountPermission { + const message = createBaseModuleAccountPermission(); + message.account = object.account ?? ""; + message.permissions = object.permissions?.map((e) => e) || []; + return message; + }, +}; + +type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; + +type DeepPartial = T extends Builtin ? T + : T extends Long ? string | number | Long : T extends Array ? Array> + : T extends ReadonlyArray ? ReadonlyArray> + : T extends {} ? { [K in keyof T]?: DeepPartial } + : Partial; + +type KeysOfUnion = T extends T ? keyof T : never; +type Exact = P extends Builtin ? P + : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; + +if (_m0.util.Long !== Long) { + _m0.util.Long = Long as any; + _m0.configure(); +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} diff --git a/src/protojs/nibiru/oracle/v1/oracle.ts b/src/protojs/nibiru/oracle/v1/oracle.ts index bc8ce253..ba9f323a 100644 --- a/src/protojs/nibiru/oracle/v1/oracle.ts +++ b/src/protojs/nibiru/oracle/v1/oracle.ts @@ -14,7 +14,7 @@ export interface Params { */ voteThreshold: string; /** - * RewardBand defines a maxium divergence that a price vote can have from the + * RewardBand defines a maximum divergence that a price vote can have from the * weighted median in the ballot. If a vote lies within the valid range * defined by: * μ := weightedMedian, diff --git a/src/protojs/nibiru/sudo/module/module.ts b/src/protojs/nibiru/sudo/module/module.ts new file mode 100644 index 00000000..75def39c --- /dev/null +++ b/src/protojs/nibiru/sudo/module/module.ts @@ -0,0 +1,172 @@ +/* eslint-disable */ +import Long from "long"; +import _m0 from "protobufjs/minimal"; + +/** Module is the config object for the sudo module. */ +export interface Module { + /** authority defines the custom module authority. If not set, defaults to the governance module. */ + authority: string; +} + +/** ModuleAccountPermission represents permissions for a module account. */ +export interface ModuleAccountPermission { + /** account is the name of the module. */ + account: string; + /** + * permissions are the permissions this module has. Currently recognized + * values are minter, burner and staking. + */ + permissions: string[]; +} + +function createBaseModule(): Module { + return { authority: "" }; +} + +export const Module = { + encode(message: Module, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.authority !== "") { + writer.uint32(10).string(message.authority); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): Module { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModule(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.authority = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): Module { + return { authority: isSet(object.authority) ? String(object.authority) : "" }; + }, + + toJSON(message: Module): unknown { + const obj: any = {}; + message.authority !== undefined && (obj.authority = message.authority); + return obj; + }, + + create, I>>(base?: I): Module { + return Module.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): Module { + const message = createBaseModule(); + message.authority = object.authority ?? ""; + return message; + }, +}; + +function createBaseModuleAccountPermission(): ModuleAccountPermission { + return { account: "", permissions: [] }; +} + +export const ModuleAccountPermission = { + encode(message: ModuleAccountPermission, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.account !== "") { + writer.uint32(10).string(message.account); + } + for (const v of message.permissions) { + writer.uint32(18).string(v!); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ModuleAccountPermission { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModuleAccountPermission(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.account = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.permissions.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ModuleAccountPermission { + return { + account: isSet(object.account) ? String(object.account) : "", + permissions: Array.isArray(object?.permissions) ? object.permissions.map((e: any) => String(e)) : [], + }; + }, + + toJSON(message: ModuleAccountPermission): unknown { + const obj: any = {}; + message.account !== undefined && (obj.account = message.account); + if (message.permissions) { + obj.permissions = message.permissions.map((e) => e); + } else { + obj.permissions = []; + } + return obj; + }, + + create, I>>(base?: I): ModuleAccountPermission { + return ModuleAccountPermission.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): ModuleAccountPermission { + const message = createBaseModuleAccountPermission(); + message.account = object.account ?? ""; + message.permissions = object.permissions?.map((e) => e) || []; + return message; + }, +}; + +type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; + +type DeepPartial = T extends Builtin ? T + : T extends Long ? string | number | Long : T extends Array ? Array> + : T extends ReadonlyArray ? ReadonlyArray> + : T extends {} ? { [K in keyof T]?: DeepPartial } + : Partial; + +type KeysOfUnion = T extends T ? keyof T : never; +type Exact = P extends Builtin ? P + : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; + +if (_m0.util.Long !== Long) { + _m0.util.Long = Long as any; + _m0.configure(); +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} diff --git a/src/protojs/nibiru/sudo/v1/event.ts b/src/protojs/nibiru/sudo/v1/event.ts index aacd1540..3dc4c445 100644 --- a/src/protojs/nibiru/sudo/v1/event.ts +++ b/src/protojs/nibiru/sudo/v1/event.ts @@ -6,7 +6,7 @@ import { Sudoers } from "./state"; /** EventUpdateSudoers: ABCI event emitted upon execution of "MsgEditSudoers". */ export interface EventUpdateSudoers { sudoers?: Sudoers; - /** Action is the type of update that occured to the "sudoers" */ + /** Action is the type of update that occurred to the "sudoers" */ action: string; } diff --git a/src/protojs/nibiru/tokenfactory/module/module.ts b/src/protojs/nibiru/tokenfactory/module/module.ts new file mode 100644 index 00000000..3d1051b6 --- /dev/null +++ b/src/protojs/nibiru/tokenfactory/module/module.ts @@ -0,0 +1,172 @@ +/* eslint-disable */ +import Long from "long"; +import _m0 from "protobufjs/minimal"; + +/** Module is the config object for the tokenfactory module. */ +export interface Module { + /** authority defines the custom module authority. If not set, defaults to the governance module. */ + authority: string; +} + +/** ModuleAccountPermission represents permissions for a module account. */ +export interface ModuleAccountPermission { + /** account is the name of the module. */ + account: string; + /** + * permissions are the permissions this module has. Currently recognized + * values are minter, burner and staking. + */ + permissions: string[]; +} + +function createBaseModule(): Module { + return { authority: "" }; +} + +export const Module = { + encode(message: Module, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.authority !== "") { + writer.uint32(10).string(message.authority); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): Module { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModule(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.authority = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): Module { + return { authority: isSet(object.authority) ? String(object.authority) : "" }; + }, + + toJSON(message: Module): unknown { + const obj: any = {}; + message.authority !== undefined && (obj.authority = message.authority); + return obj; + }, + + create, I>>(base?: I): Module { + return Module.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): Module { + const message = createBaseModule(); + message.authority = object.authority ?? ""; + return message; + }, +}; + +function createBaseModuleAccountPermission(): ModuleAccountPermission { + return { account: "", permissions: [] }; +} + +export const ModuleAccountPermission = { + encode(message: ModuleAccountPermission, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.account !== "") { + writer.uint32(10).string(message.account); + } + for (const v of message.permissions) { + writer.uint32(18).string(v!); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ModuleAccountPermission { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModuleAccountPermission(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.account = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.permissions.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ModuleAccountPermission { + return { + account: isSet(object.account) ? String(object.account) : "", + permissions: Array.isArray(object?.permissions) ? object.permissions.map((e: any) => String(e)) : [], + }; + }, + + toJSON(message: ModuleAccountPermission): unknown { + const obj: any = {}; + message.account !== undefined && (obj.account = message.account); + if (message.permissions) { + obj.permissions = message.permissions.map((e) => e); + } else { + obj.permissions = []; + } + return obj; + }, + + create, I>>(base?: I): ModuleAccountPermission { + return ModuleAccountPermission.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): ModuleAccountPermission { + const message = createBaseModuleAccountPermission(); + message.account = object.account ?? ""; + message.permissions = object.permissions?.map((e) => e) || []; + return message; + }, +}; + +type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; + +type DeepPartial = T extends Builtin ? T + : T extends Long ? string | number | Long : T extends Array ? Array> + : T extends ReadonlyArray ? ReadonlyArray> + : T extends {} ? { [K in keyof T]?: DeepPartial } + : Partial; + +type KeysOfUnion = T extends T ? keyof T : never; +type Exact = P extends Builtin ? P + : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; + +if (_m0.util.Long !== Long) { + _m0.util.Long = Long as any; + _m0.configure(); +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} From c7fba005b926ee654c77ec60a8da558ee76e2ae0 Mon Sep 17 00:00:00 2001 From: Cameron Gilbert Date: Wed, 15 Oct 2025 09:16:03 -0400 Subject: [PATCH 05/12] chore: update protos and gql (#412) * chore: update protos * chore: add gql updates * fix: small issue --- nibiru | 2 +- src/gql/heart-monitor/heart-monitor.test.ts | 53 +++-- src/gql/heart-monitor/heart-monitor.ts | 36 ++-- src/gql/query/index.ts | 1 + src/gql/query/marketing.ts | 53 +++++ src/gql/utils/generated.ts | 26 ++- src/gql/utils/schema.graphql | 30 ++- src/protojs/eth/evm/v1/events.ts | 134 ++++++++++++- src/protojs/eth/evm/v1/evm.ts | 17 +- src/protojs/eth/evm/v1/tx.ts | 205 +++++++++++++++++++- src/protojs/nibiru/oracle/v1/query.ts | 17 +- src/sdk/msg/eth.test.ts | 30 +++ src/sdk/msg/eth.ts | 9 + src/sdk/query/oracle.test.ts | 1 + 14 files changed, 572 insertions(+), 42 deletions(-) create mode 100644 src/gql/query/marketing.ts diff --git a/nibiru b/nibiru index 04ba8366..9219a944 160000 --- a/nibiru +++ b/nibiru @@ -1 +1 @@ -Subproject commit 04ba83662994c9e9f3e057278f0afeb8a7f2194e +Subproject commit 9219a94448940c1835106cb3d82dc61f50948234 diff --git a/src/gql/heart-monitor/heart-monitor.test.ts b/src/gql/heart-monitor/heart-monitor.test.ts index 6b6784df..5e069e2b 100644 --- a/src/gql/heart-monitor/heart-monitor.test.ts +++ b/src/gql/heart-monitor/heart-monitor.test.ts @@ -55,6 +55,8 @@ import { defaultEvm, defaultBybit, defaultProxy, + GQLMarketing, + QueryMarketingArgs, } from ".." const nibiruUrl = "testnet-2" @@ -135,6 +137,21 @@ test("distributionCommissions", async () => { await testDistributionCommissions({}, defaultDistributionCommission) }) +const testEvm = async (fields: GQLEvm) => { + const resp = await heartMonitor.evm(fields) + expect(resp).toHaveProperty("evm") + + if (resp.evm) { + const { evm } = resp + + checkFields([evm], ["funTokens"]) + } +} + +test("evm", async () => { + await testEvm(defaultEvm) +}) + const testFeatureFlags = async (fields: GQLFeatureFlags) => { const resp = await heartMonitor.featureFlags(fields) expect(resp).toHaveProperty("featureFlags") @@ -288,6 +305,27 @@ test("inflation", async () => { ) }) +const testMarketing = async ( + args: QueryMarketingArgs, + fields: GQLMarketing +) => { + const resp = await heartMonitor.marketing(args, fields) + expect(resp).toHaveProperty("marketing") + + if (resp.marketing) { + const { marketing } = resp + + checkFields([marketing], ["isTaskCompleted"]) + } +} + +test("marketing", async () => { + await testMarketing( + { isTaskCompleted: { taskId: "task-123", userAddress: "nibi1xyz" } }, + { isTaskCompleted: true } + ) +}) + const testOracle = async (args: QueryOracleArgs, fields: OracleFields) => { const resp = await heartMonitor.oracle(args, fields) expect(resp).toHaveProperty("oracle") @@ -380,21 +418,6 @@ test("proxies", async () => { await testProxies({ bybit: defaultBybit }) }) -const testEvm = async (fields: GQLEvm) => { - const resp = await heartMonitor.evm(fields) - expect(resp).toHaveProperty("evm") - - if (resp.evm) { - const { evm } = resp - - checkFields([evm], ["funTokens"]) - } -} - -test("evm", async () => { - await testEvm(defaultEvm) -}) - test("queryBatchHandler", async () => { // TODO: Make a partial type that includes all of these const resp = await heartMonitor.GQLQueryGqlBatchHandler<{ diff --git a/src/gql/heart-monitor/heart-monitor.ts b/src/gql/heart-monitor/heart-monitor.ts index 1c959271..221af9fc 100644 --- a/src/gql/heart-monitor/heart-monitor.ts +++ b/src/gql/heart-monitor/heart-monitor.ts @@ -45,6 +45,10 @@ import { GQLProxies, GqlOutProxies, proxies, + QueryMarketingArgs, + MarketingFields, + GqlOutMarketing, + marketing, GQLStakingFields, GqlOutStaking, QueryStakingArgs, @@ -65,6 +69,10 @@ export interface IHeartMonitor { subscriptionClient?: Client closeWebSocket: () => Promise + readonly GQLQueryGqlBatchHandler: ( + queryQueryStrings: string[] + ) => Promise + readonly communityPool: ( args: GQLQueryGqlCommunityPoolArgs, fields: DeepPartial @@ -75,6 +83,8 @@ export interface IHeartMonitor { fields: DeepPartial ) => Promise + readonly evm: (fields: DeepPartial) => Promise + readonly featureFlags: ( fields: DeepPartial ) => Promise @@ -94,6 +104,11 @@ export interface IHeartMonitor { fields: DeepPartial ) => Promise + readonly marketing: ( + args: QueryMarketingArgs, + fields: DeepPartial + ) => Promise + readonly oracle: ( args: QueryOracleArgs, fields: DeepPartial @@ -111,12 +126,6 @@ export interface IHeartMonitor { domainName?: string ) => Promise - readonly evm: (fields: DeepPartial) => Promise - - readonly GQLQueryGqlBatchHandler: ( - queryQueryStrings: string[] - ) => Promise - readonly staking: ( args: QueryStakingArgs, fields: DeepPartial @@ -165,6 +174,9 @@ export class HeartMonitor implements IHeartMonitor { } } + GQLQueryGqlBatchHandler = async (queryQueryStrings: string[]) => + queryBatchHandler(queryQueryStrings, this.gqlEndpt) + closeWebSocket = async () => this.subscriptionClient?.dispose() communityPool = async ( @@ -177,6 +189,8 @@ export class HeartMonitor implements IHeartMonitor { fields: DeepPartial ) => distributionCommissions(args, this.gqlEndpt, fields) + evm = async (fields: DeepPartial) => evm(this.gqlEndpt, fields) + featureFlags = async (fields: DeepPartial) => featureFlags(this.gqlEndpt, fields) @@ -193,6 +207,11 @@ export class HeartMonitor implements IHeartMonitor { fields: DeepPartial ) => inflation(args, this.gqlEndpt, fields) + marketing = async ( + args: QueryMarketingArgs, + fields: DeepPartial + ) => marketing(args, this.gqlEndpt, fields) + oracle = async (args: QueryOracleArgs, fields: DeepPartial) => oracle(args, this.gqlEndpt, fields) @@ -204,11 +223,6 @@ export class HeartMonitor implements IHeartMonitor { proxies = async (fields: DeepPartial, domainName?: string) => proxies(this.gqlEndpt, fields, domainName) - evm = async (fields: DeepPartial) => evm(this.gqlEndpt, fields) - - GQLQueryGqlBatchHandler = async (queryQueryStrings: string[]) => - queryBatchHandler(queryQueryStrings, this.gqlEndpt) - staking = async ( args: QueryStakingArgs, fields: DeepPartial diff --git a/src/gql/query/index.ts b/src/gql/query/index.ts index 87a5ddb3..2b8fc8f6 100644 --- a/src/gql/query/index.ts +++ b/src/gql/query/index.ts @@ -9,6 +9,7 @@ export * from "./featureFlags" export * from "./governance" export * from "./ibc" export * from "./inflation" +export * from "./marketing" export * from "./oracle" export * from "./proxies" export * from "./staking" diff --git a/src/gql/query/marketing.ts b/src/gql/query/marketing.ts new file mode 100644 index 00000000..1ec9a19f --- /dev/null +++ b/src/gql/query/marketing.ts @@ -0,0 +1,53 @@ +import { + doGqlQuery, + GQLQuery, + DeepPartial, + GQLMarketing, + GQLMarketingGqlIsTaskCompletedArgs, + arg, +} from ".." + +export type QueryMarketingArgs = { + isTaskCompleted?: GQLMarketingGqlIsTaskCompletedArgs +} + +export interface GqlOutMarketing { + marketing?: GQLQuery["marketing"] +} + +export type MarketingFields = DeepPartial + +export const marketingQueryString = ( + args: QueryMarketingArgs, + fields: MarketingFields +) => { + const marketingQuery: string[] = [] + + if (fields.isTaskCompleted) { + const qArgs = + args.isTaskCompleted ?? ({} as GQLMarketingGqlIsTaskCompletedArgs) + const argList = [ + arg("taskId", qArgs.taskId), + arg("userAddress", qArgs.userAddress), + ] + marketingQuery.push(`isTaskCompleted(${argList.join(", ")})`) + } + + return ` + marketing { + ${marketingQuery.join("\n")} + } + ` +} + +export const marketing = async ( + args: QueryMarketingArgs, + endpt: string, + fields: MarketingFields +): Promise => + doGqlQuery( + `{ + ${marketingQueryString(args, fields)} + }`, + endpt + ) diff --git a/src/gql/utils/generated.ts b/src/gql/utils/generated.ts index c6b1845f..72d37191 100644 --- a/src/gql/utils/generated.ts +++ b/src/gql/utils/generated.ts @@ -54,9 +54,9 @@ export enum GQLCommunityPoolOrder { } export type GQLContractEventsFilter = { - readonly block?: InputMaybe; - readonly contractAddress?: InputMaybe; - readonly type?: InputMaybe; + readonly block: GQLIntFilter; + readonly contractAddress?: InputMaybe; + readonly type?: InputMaybe; }; export enum GQLContractEventsOrder { @@ -121,6 +121,7 @@ export type GQLEvent = { readonly block: GQLBlock; readonly contractAddress?: Maybe; readonly eventSeqNo: Scalars['Int']['output']; + readonly txHash?: Maybe; readonly txSeqNo: Scalars['Int']['output']; readonly type: Scalars['String']['output']; }; @@ -423,6 +424,17 @@ export type GQLInternalGqlEmployeeArgs = { where: GQLEmployeeFilter; }; +export type GQLMarketing = { + readonly __typename?: 'Marketing'; + readonly isTaskCompleted: Scalars['Boolean']['output']; +}; + + +export type GQLMarketingGqlIsTaskCompletedArgs = { + taskId: Scalars['String']['input']; + userAddress: Scalars['String']['input']; +}; + export type GQLMessage = { readonly __typename?: 'Message'; readonly action?: Maybe; @@ -533,6 +545,7 @@ export type GQLQuery = { readonly ibc: GQLIbc; readonly inflation: GQLInflation; readonly internal: GQLInternal; + readonly marketing: GQLMarketing; readonly messages: ReadonlyArray; readonly oracle: GQLOracle; readonly proxies: GQLProxies; @@ -769,6 +782,10 @@ export enum GQLStatsVolumeOrder { GQLPeriodStartTs = 'period_start_ts' } +export type GQLStringEqualsFilter = { + readonly eq?: InputMaybe; +}; + export type GQLStringFilter = { readonly eq?: InputMaybe; readonly like?: InputMaybe; @@ -874,7 +891,6 @@ export type GQLUserContract = { readonly __typename?: 'UserContract'; readonly contractAddress: Scalars['String']['output']; readonly contractType: Scalars['String']['output']; - readonly events?: Maybe>; readonly user: GQLUser; }; @@ -973,7 +989,7 @@ export type GQLWasmGqlContractEventsArgs = { offset?: InputMaybe; order?: InputMaybe; orderDesc?: InputMaybe; - where?: InputMaybe; + where: GQLContractEventsFilter; }; diff --git a/src/gql/utils/schema.graphql b/src/gql/utils/schema.graphql index ca7b5cb6..e26aafce 100644 --- a/src/gql/utils/schema.graphql +++ b/src/gql/utils/schema.graphql @@ -1,3 +1,14 @@ +""" +Directs the executor to defer this fragment when the `if` argument is true or undefined. +""" +directive @defer( + """Deferred when true or undefined.""" + if: Boolean = true + + """Unique name""" + label: String +) on FRAGMENT_SPREAD | INLINE_FRAGMENT + directive @goModel(model: String, models: [String!]) on ENUM | INPUT_OBJECT | INTERFACE | OBJECT | SCALAR | UNION type Balance { @@ -36,9 +47,9 @@ enum CommunityPoolOrder { } input ContractEventsFilter { - block: IntFilter - contractAddress: StringFilter - type: StringFilter + block: IntFilter! + contractAddress: StringEqualsFilter + type: StringEqualsFilter } enum ContractEventsOrder { @@ -99,6 +110,7 @@ type Event { block: Block! contractAddress: String eventSeqNo: Int! + txHash: String txSeqNo: Int! type: String! } @@ -328,6 +340,10 @@ type Internal { employee(where: EmployeeFilter!): Employee } +type Marketing { + isTaskCompleted(taskId: String!, userAddress: String!): Boolean! +} + type Message { action: String block: Block! @@ -407,6 +423,7 @@ type Query { ibc: IBC! inflation: Inflation! internal: Internal! + marketing: Marketing! messages(limit: Int, offset: Int, order_by: MessagesOrder, order_desc: Boolean, where: MessagesFilter): [Message!]! oracle: Oracle! proxies: Proxies! @@ -511,6 +528,10 @@ enum StatsVolumeOrder { period_start_ts } +input StringEqualsFilter { + eq: String +} + input StringFilter { eq: String like: String @@ -605,7 +626,6 @@ type User { type UserContract { contractAddress: String! contractType: String! - events: [Event!] user: User! } @@ -690,6 +710,6 @@ enum ValidatorStatus { } type Wasm { - contractEvents(limit: Int, offset: Int, order: ContractEventsOrder, orderDesc: Boolean, where: ContractEventsFilter): [Event!]! + contractEvents(limit: Int, offset: Int, order: ContractEventsOrder, orderDesc: Boolean, where: ContractEventsFilter!): [Event!]! userContracts(limit: Int, offset: Int, order: UserContractsOrder, orderDesc: Boolean, where: UserContractsFilter): [UserContract!]! } \ No newline at end of file diff --git a/src/protojs/eth/evm/v1/events.ts b/src/protojs/eth/evm/v1/events.ts index 8c829558..439bd006 100644 --- a/src/protojs/eth/evm/v1/events.ts +++ b/src/protojs/eth/evm/v1/events.ts @@ -30,7 +30,10 @@ export interface EventTxLog { logs: Log[]; } -/** EventBlockBloom defines an Ethereum block bloom filter event */ +/** + * EventBlockBloom contains the bloom filter for an Ethereum block. + * The bloom filter encodes logs for efficient event filtering. + */ export interface EventBlockBloom { /** bloom is the bloom filter of the block */ bloom: string; @@ -44,7 +47,10 @@ export interface EventFunTokenCreated { isMadeFromCoin: boolean; } -/** ConvertCoinToEvm defines sending fun token to erc20 event. */ +/** + * EventConvertCoinToEvm is an event emitted when converting Bank Coins into + * ERC20 tokens with the "eth.evm.v1.MsgConvertCoinToEvm" transaction message. + */ export interface EventConvertCoinToEvm { sender: string; erc20ContractAddress: string; @@ -71,6 +77,18 @@ export interface EventContractExecuted { contractAddr: string; } +/** + * EventConvertEvmToCoin is an event emitted when converting ERC20 tokens to Bank + * Coins with the "eth.evm.v1.MsgConvertEvmToCoin" transaction message. + */ +export interface EventConvertEvmToCoin { + sender: string; + erc20ContractAddress: string; + toAddress: string; + bankCoin?: Coin; + senderEthAddr: string; +} + function createBaseEventEthereumTx(): EventEthereumTx { return { amount: "", ethHash: "", index: "", gasUsed: "", hash: "", recipient: "", vmError: "" }; } @@ -745,6 +763,118 @@ export const EventContractExecuted = { }, }; +function createBaseEventConvertEvmToCoin(): EventConvertEvmToCoin { + return { sender: "", erc20ContractAddress: "", toAddress: "", bankCoin: undefined, senderEthAddr: "" }; +} + +export const EventConvertEvmToCoin = { + encode(message: EventConvertEvmToCoin, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.sender !== "") { + writer.uint32(10).string(message.sender); + } + if (message.erc20ContractAddress !== "") { + writer.uint32(18).string(message.erc20ContractAddress); + } + if (message.toAddress !== "") { + writer.uint32(26).string(message.toAddress); + } + if (message.bankCoin !== undefined) { + Coin.encode(message.bankCoin, writer.uint32(34).fork()).ldelim(); + } + if (message.senderEthAddr !== "") { + writer.uint32(50).string(message.senderEthAddr); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): EventConvertEvmToCoin { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEventConvertEvmToCoin(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sender = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.erc20ContractAddress = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.toAddress = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.bankCoin = Coin.decode(reader, reader.uint32()); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.senderEthAddr = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): EventConvertEvmToCoin { + return { + sender: isSet(object.sender) ? String(object.sender) : "", + erc20ContractAddress: isSet(object.erc20ContractAddress) ? String(object.erc20ContractAddress) : "", + toAddress: isSet(object.toAddress) ? String(object.toAddress) : "", + bankCoin: isSet(object.bankCoin) ? Coin.fromJSON(object.bankCoin) : undefined, + senderEthAddr: isSet(object.senderEthAddr) ? String(object.senderEthAddr) : "", + }; + }, + + toJSON(message: EventConvertEvmToCoin): unknown { + const obj: any = {}; + message.sender !== undefined && (obj.sender = message.sender); + message.erc20ContractAddress !== undefined && (obj.erc20ContractAddress = message.erc20ContractAddress); + message.toAddress !== undefined && (obj.toAddress = message.toAddress); + message.bankCoin !== undefined && (obj.bankCoin = message.bankCoin ? Coin.toJSON(message.bankCoin) : undefined); + message.senderEthAddr !== undefined && (obj.senderEthAddr = message.senderEthAddr); + return obj; + }, + + create, I>>(base?: I): EventConvertEvmToCoin { + return EventConvertEvmToCoin.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): EventConvertEvmToCoin { + const message = createBaseEventConvertEvmToCoin(); + message.sender = object.sender ?? ""; + message.erc20ContractAddress = object.erc20ContractAddress ?? ""; + message.toAddress = object.toAddress ?? ""; + message.bankCoin = (object.bankCoin !== undefined && object.bankCoin !== null) + ? Coin.fromPartial(object.bankCoin) + : undefined; + message.senderEthAddr = object.senderEthAddr ?? ""; + return message; + }, +}; + type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; type DeepPartial = T extends Builtin ? T diff --git a/src/protojs/eth/evm/v1/evm.ts b/src/protojs/eth/evm/v1/evm.ts index 6e9c5d78..2b3246de 100644 --- a/src/protojs/eth/evm/v1/evm.ts +++ b/src/protojs/eth/evm/v1/evm.ts @@ -34,6 +34,8 @@ export interface Params { * "evm_denom". */ createFuntokenFee: string; + /** Hexadecimal address of the canonical WNIBI contract on Nibiru mainnet */ + canonicalWnibi: string; } /** State represents a single Storage key value pair item. */ @@ -207,7 +209,7 @@ export const FunToken = { }; function createBaseParams(): Params { - return { extraEips: [], evmChannels: [], createFuntokenFee: "" }; + return { extraEips: [], evmChannels: [], createFuntokenFee: "", canonicalWnibi: "" }; } export const Params = { @@ -223,6 +225,9 @@ export const Params = { if (message.createFuntokenFee !== "") { writer.uint32(74).string(message.createFuntokenFee); } + if (message.canonicalWnibi !== "") { + writer.uint32(82).string(message.canonicalWnibi); + } return writer; }, @@ -264,6 +269,13 @@ export const Params = { message.createFuntokenFee = reader.string(); continue; + case 10: + if (tag !== 82) { + break; + } + + message.canonicalWnibi = reader.string(); + continue; } if ((tag & 7) === 4 || tag === 0) { break; @@ -278,6 +290,7 @@ export const Params = { extraEips: Array.isArray(object?.extraEips) ? object.extraEips.map((e: any) => Long.fromValue(e)) : [], evmChannels: Array.isArray(object?.evmChannels) ? object.evmChannels.map((e: any) => String(e)) : [], createFuntokenFee: isSet(object.createFuntokenFee) ? String(object.createFuntokenFee) : "", + canonicalWnibi: isSet(object.canonicalWnibi) ? String(object.canonicalWnibi) : "", }; }, @@ -294,6 +307,7 @@ export const Params = { obj.evmChannels = []; } message.createFuntokenFee !== undefined && (obj.createFuntokenFee = message.createFuntokenFee); + message.canonicalWnibi !== undefined && (obj.canonicalWnibi = message.canonicalWnibi); return obj; }, @@ -306,6 +320,7 @@ export const Params = { message.extraEips = object.extraEips?.map((e) => Long.fromValue(e)) || []; message.evmChannels = object.evmChannels?.map((e) => e) || []; message.createFuntokenFee = object.createFuntokenFee ?? ""; + message.canonicalWnibi = object.canonicalWnibi ?? ""; return message; }, }; diff --git a/src/protojs/eth/evm/v1/tx.ts b/src/protojs/eth/evm/v1/tx.ts index 7aabbea0..dae21118 100644 --- a/src/protojs/eth/evm/v1/tx.ts +++ b/src/protojs/eth/evm/v1/tx.ts @@ -215,6 +215,15 @@ export interface MsgCreateFunToken { fromBankDenom: string; /** Sender: Address for the signer of the transaction. */ sender: string; + /** + * Optional flag to allow the `FunToken` mapping to be created with 0 decimals + * in the ERC20 sense. Often times, tokens are meant to behave like money and + * be divisible, meaning "decimals = 0" is often a mistake. This field defaults + * to false as a safety guard against accidental creation of FunTokens with + * missing metadata. + * Set this to true if the token is truly intended to have 0 decimals. + */ + allowZeroDecimals: boolean; } export interface MsgCreateFunTokenResponse { @@ -235,6 +244,34 @@ export interface MsgConvertCoinToEvm { export interface MsgConvertCoinToEvmResponse { } +/** MsgConvertEvmToCoin: Arguments to send an ERC20 token to bank coin representation */ +export interface MsgConvertEvmToCoin { + /** + * Sender: "nibi"-prefixed Bech32 address for the signer of the transaction. + * This is also the address whose ERC20 balance will be deducted. + */ + sender: string; + /** Hexadecimal address of the ERC20 token to be converted and sent */ + erc20Addr: string; + /** Amount of ERC20 tokens to convert */ + amount: string; + /** + * Recipient address for the bank coins in Ethereum hexadecimal or + * nibi-prefixed Bech32 format. + * + * Currently, accounts corresponding to Wasm contracts cannot hold ERC20 tokens + * because the function that maps between Bech32 and Eth hex addresses is not + * bijective for these types of accounts. + * + * See [bug(evm): nibid q evm account is not symmetric for wasm + * addresses](https://github.com/NibiruChain/nibiru/issues/2138) + */ + toAddr: string; +} + +export interface MsgConvertEvmToCoinResponse { +} + function createBaseMsgEthereumTx(): MsgEthereumTx { return { data: undefined, size: 0, hash: "", from: "" }; } @@ -1208,7 +1245,7 @@ export const MsgUpdateParamsResponse = { }; function createBaseMsgCreateFunToken(): MsgCreateFunToken { - return { fromErc20: "", fromBankDenom: "", sender: "" }; + return { fromErc20: "", fromBankDenom: "", sender: "", allowZeroDecimals: false }; } export const MsgCreateFunToken = { @@ -1222,6 +1259,9 @@ export const MsgCreateFunToken = { if (message.sender !== "") { writer.uint32(26).string(message.sender); } + if (message.allowZeroDecimals === true) { + writer.uint32(32).bool(message.allowZeroDecimals); + } return writer; }, @@ -1253,6 +1293,13 @@ export const MsgCreateFunToken = { message.sender = reader.string(); continue; + case 4: + if (tag !== 32) { + break; + } + + message.allowZeroDecimals = reader.bool(); + continue; } if ((tag & 7) === 4 || tag === 0) { break; @@ -1267,6 +1314,7 @@ export const MsgCreateFunToken = { fromErc20: isSet(object.fromErc20) ? String(object.fromErc20) : "", fromBankDenom: isSet(object.fromBankDenom) ? String(object.fromBankDenom) : "", sender: isSet(object.sender) ? String(object.sender) : "", + allowZeroDecimals: isSet(object.allowZeroDecimals) ? Boolean(object.allowZeroDecimals) : false, }; }, @@ -1275,6 +1323,7 @@ export const MsgCreateFunToken = { message.fromErc20 !== undefined && (obj.fromErc20 = message.fromErc20); message.fromBankDenom !== undefined && (obj.fromBankDenom = message.fromBankDenom); message.sender !== undefined && (obj.sender = message.sender); + message.allowZeroDecimals !== undefined && (obj.allowZeroDecimals = message.allowZeroDecimals); return obj; }, @@ -1287,6 +1336,7 @@ export const MsgCreateFunToken = { message.fromErc20 = object.fromErc20 ?? ""; message.fromBankDenom = object.fromBankDenom ?? ""; message.sender = object.sender ?? ""; + message.allowZeroDecimals = object.allowZeroDecimals ?? false; return message; }, }; @@ -1484,6 +1534,147 @@ export const MsgConvertCoinToEvmResponse = { }, }; +function createBaseMsgConvertEvmToCoin(): MsgConvertEvmToCoin { + return { sender: "", erc20Addr: "", amount: "", toAddr: "" }; +} + +export const MsgConvertEvmToCoin = { + encode(message: MsgConvertEvmToCoin, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.sender !== "") { + writer.uint32(10).string(message.sender); + } + if (message.erc20Addr !== "") { + writer.uint32(18).string(message.erc20Addr); + } + if (message.amount !== "") { + writer.uint32(26).string(message.amount); + } + if (message.toAddr !== "") { + writer.uint32(34).string(message.toAddr); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgConvertEvmToCoin { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgConvertEvmToCoin(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sender = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.erc20Addr = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.amount = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.toAddr = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgConvertEvmToCoin { + return { + sender: isSet(object.sender) ? String(object.sender) : "", + erc20Addr: isSet(object.erc20Addr) ? String(object.erc20Addr) : "", + amount: isSet(object.amount) ? String(object.amount) : "", + toAddr: isSet(object.toAddr) ? String(object.toAddr) : "", + }; + }, + + toJSON(message: MsgConvertEvmToCoin): unknown { + const obj: any = {}; + message.sender !== undefined && (obj.sender = message.sender); + message.erc20Addr !== undefined && (obj.erc20Addr = message.erc20Addr); + message.amount !== undefined && (obj.amount = message.amount); + message.toAddr !== undefined && (obj.toAddr = message.toAddr); + return obj; + }, + + create, I>>(base?: I): MsgConvertEvmToCoin { + return MsgConvertEvmToCoin.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): MsgConvertEvmToCoin { + const message = createBaseMsgConvertEvmToCoin(); + message.sender = object.sender ?? ""; + message.erc20Addr = object.erc20Addr ?? ""; + message.amount = object.amount ?? ""; + message.toAddr = object.toAddr ?? ""; + return message; + }, +}; + +function createBaseMsgConvertEvmToCoinResponse(): MsgConvertEvmToCoinResponse { + return {}; +} + +export const MsgConvertEvmToCoinResponse = { + encode(_: MsgConvertEvmToCoinResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgConvertEvmToCoinResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgConvertEvmToCoinResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgConvertEvmToCoinResponse { + return {}; + }, + + toJSON(_: MsgConvertEvmToCoinResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MsgConvertEvmToCoinResponse { + return MsgConvertEvmToCoinResponse.fromPartial(base ?? {}); + }, + + fromPartial, I>>(_: I): MsgConvertEvmToCoinResponse { + const message = createBaseMsgConvertEvmToCoinResponse(); + return message; + }, +}; + /** Msg defines the evm Msg service. */ export interface Msg { /** EthereumTx defines a method submitting Ethereum transactions. */ @@ -1506,6 +1697,11 @@ export interface Msg { * representation. */ ConvertCoinToEvm(request: MsgConvertCoinToEvm): Promise; + /** + * ConvertEvmToCoin: Sends an ERC20 token with a valid "FunToken" mapping to the + * given recipient address as a bank coin. + */ + ConvertEvmToCoin(request: MsgConvertEvmToCoin): Promise; } export const MsgServiceName = "eth.evm.v1.Msg"; @@ -1519,6 +1715,7 @@ export class MsgClientImpl implements Msg { this.UpdateParams = this.UpdateParams.bind(this); this.CreateFunToken = this.CreateFunToken.bind(this); this.ConvertCoinToEvm = this.ConvertCoinToEvm.bind(this); + this.ConvertEvmToCoin = this.ConvertEvmToCoin.bind(this); } EthereumTx(request: MsgEthereumTx): Promise { const data = MsgEthereumTx.encode(request).finish(); @@ -1543,6 +1740,12 @@ export class MsgClientImpl implements Msg { const promise = this.rpc.request(this.service, "ConvertCoinToEvm", data); return promise.then((data) => MsgConvertCoinToEvmResponse.decode(_m0.Reader.create(data))); } + + ConvertEvmToCoin(request: MsgConvertEvmToCoin): Promise { + const data = MsgConvertEvmToCoin.encode(request).finish(); + const promise = this.rpc.request(this.service, "ConvertEvmToCoin", data); + return promise.then((data) => MsgConvertEvmToCoinResponse.decode(_m0.Reader.create(data))); + } } interface Rpc { diff --git a/src/protojs/nibiru/oracle/v1/query.ts b/src/protojs/nibiru/oracle/v1/query.ts index 9fad31a4..c402910a 100644 --- a/src/protojs/nibiru/oracle/v1/query.ts +++ b/src/protojs/nibiru/oracle/v1/query.ts @@ -27,6 +27,8 @@ export interface QueryExchangeRateResponse { blockTimestampMs: Long; /** Block height when the oracle came to consensus for this price. */ blockHeight: Long; + /** True if this exchange rate has passed its expiration window. */ + isVintage: boolean; } /** @@ -263,7 +265,7 @@ export const QueryExchangeRateRequest = { }; function createBaseQueryExchangeRateResponse(): QueryExchangeRateResponse { - return { exchangeRate: "", blockTimestampMs: Long.ZERO, blockHeight: Long.UZERO }; + return { exchangeRate: "", blockTimestampMs: Long.ZERO, blockHeight: Long.UZERO, isVintage: false }; } export const QueryExchangeRateResponse = { @@ -277,6 +279,9 @@ export const QueryExchangeRateResponse = { if (!message.blockHeight.isZero()) { writer.uint32(24).uint64(message.blockHeight); } + if (message.isVintage === true) { + writer.uint32(32).bool(message.isVintage); + } return writer; }, @@ -308,6 +313,13 @@ export const QueryExchangeRateResponse = { message.blockHeight = reader.uint64() as Long; continue; + case 4: + if (tag !== 32) { + break; + } + + message.isVintage = reader.bool(); + continue; } if ((tag & 7) === 4 || tag === 0) { break; @@ -322,6 +334,7 @@ export const QueryExchangeRateResponse = { exchangeRate: isSet(object.exchangeRate) ? String(object.exchangeRate) : "", blockTimestampMs: isSet(object.blockTimestampMs) ? Long.fromValue(object.blockTimestampMs) : Long.ZERO, blockHeight: isSet(object.blockHeight) ? Long.fromValue(object.blockHeight) : Long.UZERO, + isVintage: isSet(object.isVintage) ? Boolean(object.isVintage) : false, }; }, @@ -331,6 +344,7 @@ export const QueryExchangeRateResponse = { message.blockTimestampMs !== undefined && (obj.blockTimestampMs = (message.blockTimestampMs || Long.ZERO).toString()); message.blockHeight !== undefined && (obj.blockHeight = (message.blockHeight || Long.UZERO).toString()); + message.isVintage !== undefined && (obj.isVintage = message.isVintage); return obj; }, @@ -347,6 +361,7 @@ export const QueryExchangeRateResponse = { message.blockHeight = (object.blockHeight !== undefined && object.blockHeight !== null) ? Long.fromValue(object.blockHeight) : Long.UZERO; + message.isVintage = object.isVintage ?? false; return message; }, }; diff --git a/src/sdk/msg/eth.test.ts b/src/sdk/msg/eth.test.ts index ae548c26..e9602664 100644 --- a/src/sdk/msg/eth.test.ts +++ b/src/sdk/msg/eth.test.ts @@ -17,6 +17,9 @@ describe("setupEthMsgExtension", () => { ConvertCoinToEvm: jest.fn().mockResolvedValue({ test: "Test", }), + ConvertEvmToCoin: jest.fn().mockResolvedValue({ + test: "Test", + }), } as unknown as query.MsgClientImpl) test("should setup extension correctly", () => { @@ -63,11 +66,13 @@ describe("setupEthMsgExtension", () => { createFuntokenFee: "", extraEips: [new Long(0)], evmChannels: [""], + canonicalWnibi: "", }, }) expect(msgUpdateParams).toHaveBeenCalledWith({ authority: "", params: { + canonicalWnibi: "", createFuntokenFee: "", extraEips: [new Long(0)], evmChannels: [""], @@ -88,11 +93,13 @@ describe("setupEthMsgExtension", () => { fromBankDenom: "", fromErc20: "", sender: "", + allowZeroDecimals: false, }) expect(msgCreateFunToken).toHaveBeenCalledWith({ fromBankDenom: "", fromErc20: "", sender: "", + allowZeroDecimals: false, }) expect(result).toEqual({ test: "Test" }) }) @@ -118,4 +125,27 @@ describe("setupEthMsgExtension", () => { expect(result).toEqual({ test: "Test" }) }) }) + + describe("convertEVMToCoin", () => { + test("should call MsgConvertEvmToCoin and return the response", async () => { + const msgConvertEvmToCoin = jest + .spyOn(query.MsgConvertEvmToCoin, "fromPartial") + .mockReturnValue({} as query.MsgConvertEvmToCoin) + + const extension = setupEthMsgExtension(mockBaseQueryClient) + const result = await extension.convertEvmToCoin({ + toAddr: "", + erc20Addr: "", + sender: "", + amount: "", + }) + expect(msgConvertEvmToCoin).toHaveBeenCalledWith({ + toAddr: "", + erc20Addr: "", + sender: "", + amount: "", + }) + expect(result).toEqual({ test: "Test" }) + }) + }) }) diff --git a/src/sdk/msg/eth.ts b/src/sdk/msg/eth.ts index d93db7bf..72a232ba 100644 --- a/src/sdk/msg/eth.ts +++ b/src/sdk/msg/eth.ts @@ -10,6 +10,8 @@ import { MsgEthereumTxResponse, MsgUpdateParams, MsgUpdateParamsResponse, + MsgConvertEvmToCoin, + MsgConvertEvmToCoinResponse, } from "../../protojs/eth/evm/v1/tx" import { GeneratedType } from "@cosmjs/proto-signing" @@ -18,6 +20,7 @@ export const ETH_MSG_TYPE_URLS = { MsgUpdateParams: `/${MsgServiceName}UpdateParams`, MsgCreateFunToken: `/${MsgServiceName}CreateFunToken`, MsgConvertCoinToEvm: `/${MsgServiceName}ConvertCoinToEvm`, + MsgConvertEvmToCoin: `/${MsgServiceName}ConvertEvmToCoin`, } export const ethTypes: ReadonlyArray<[string, GeneratedType]> = [ @@ -25,6 +28,7 @@ export const ethTypes: ReadonlyArray<[string, GeneratedType]> = [ [ETH_MSG_TYPE_URLS.MsgUpdateParams, MsgUpdateParams], [ETH_MSG_TYPE_URLS.MsgCreateFunToken, MsgCreateFunToken], [ETH_MSG_TYPE_URLS.MsgConvertCoinToEvm, MsgConvertCoinToEvm], + [ETH_MSG_TYPE_URLS.MsgConvertEvmToCoin, MsgConvertEvmToCoin], ] export interface EthMsgExtension { @@ -36,6 +40,9 @@ export interface EthMsgExtension { convertCoinToEVM: ( body: MsgConvertCoinToEvm ) => Promise + convertEvmToCoin: ( + body: MsgConvertEvmToCoin + ) => Promise } export const setupEthMsgExtension = (base: QueryClient): EthMsgExtension => { @@ -50,5 +57,7 @@ export const setupEthMsgExtension = (base: QueryClient): EthMsgExtension => { queryService.CreateFunToken(MsgCreateFunToken.fromPartial(body)), convertCoinToEVM: async (body: MsgConvertCoinToEvm) => queryService.ConvertCoinToEvm(MsgConvertCoinToEvm.fromPartial(body)), + convertEvmToCoin: async (body: MsgConvertEvmToCoin) => + queryService.ConvertEvmToCoin(MsgConvertEvmToCoin.fromPartial(body)), } } diff --git a/src/sdk/query/oracle.test.ts b/src/sdk/query/oracle.test.ts index 8deb6d2e..96ab118e 100644 --- a/src/sdk/query/oracle.test.ts +++ b/src/sdk/query/oracle.test.ts @@ -40,6 +40,7 @@ describe("setupOracleExtension", () => { exchangeRate: "123", blockHeight: Long.fromNumber(420), blockTimestampMs: Long.fromNumber(100000), + isVintage: false, } const mockExchangeRate = fromSdkDec(mockExchangeRateResponse.exchangeRate) const mockExchangeRatesResponse: query.QueryExchangeRatesResponse = { From 668149121c37710250a6cf02be5c790a3d9e9714 Mon Sep 17 00:00:00 2001 From: Cameron Gilbert Date: Thu, 6 Nov 2025 08:04:20 -0500 Subject: [PATCH 06/12] feat: evm core wagmi (#414) * feat: evm core wagmi * fix: name * chore: update nvm version * chore: update version * chore: move to typescript 5 * fix: test --- .github/workflows/release.yaml | 2 +- .github/workflows/test-ts-sdk.yaml | 2 +- .nvmrc | 2 +- nibiru | 2 +- package.json | 6 +- scripts/build.sh | 1 + src/evm-core/const.ts | 16 + src/evm-core/generated.ts | 1656 ++++++++ src/evm-core/index.ts | 3 + src/evm-core/precompile/funtoken.ts | 251 ++ src/evm-core/precompile/index.ts | 4 + src/evm-core/precompile/oracle.ts | 77 + src/evm-core/precompile/precompile.ts | 1 + src/evm-core/precompile/wasm.ts | 221 + src/index.ts | 1 + src/sdk/query/query.test.ts | 2 +- wagmi.config.ts | 54 + yarn.lock | 5411 ++++++++++++++++++++++++- 18 files changed, 7564 insertions(+), 148 deletions(-) create mode 100644 src/evm-core/const.ts create mode 100644 src/evm-core/generated.ts create mode 100644 src/evm-core/index.ts create mode 100644 src/evm-core/precompile/funtoken.ts create mode 100644 src/evm-core/precompile/index.ts create mode 100644 src/evm-core/precompile/oracle.ts create mode 100644 src/evm-core/precompile/precompile.ts create mode 100644 src/evm-core/precompile/wasm.ts create mode 100644 wagmi.config.ts diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 0b611473..81dab97b 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -27,7 +27,7 @@ jobs: - name: Setup NodeJS and npm uses: actions/setup-node@v3 with: - node-version: "lts/hydrogen" + node-version: "lts/iron" cache: "yarn" - name: yarn install diff --git a/.github/workflows/test-ts-sdk.yaml b/.github/workflows/test-ts-sdk.yaml index 1515355d..cf4c8556 100644 --- a/.github/workflows/test-ts-sdk.yaml +++ b/.github/workflows/test-ts-sdk.yaml @@ -29,7 +29,7 @@ jobs: - name: Setup NodeJS with yarn caching uses: actions/setup-node@v3 with: - node-version: "lts/hydrogen" + node-version: "lts/iron" cache: "yarn" - name: yarn install diff --git a/.nvmrc b/.nvmrc index a77793ec..9de22568 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -lts/hydrogen +lts/iron diff --git a/nibiru b/nibiru index 9219a944..4abe1407 160000 --- a/nibiru +++ b/nibiru @@ -1 +1 @@ -Subproject commit 9219a94448940c1835106cb3d82dc61f50948234 +Subproject commit 4abe1407f538470e1bf790eb9fa9340bae01802b diff --git a/package.json b/package.json index 8482cd4e..ba03ac50 100644 --- a/package.json +++ b/package.json @@ -36,6 +36,7 @@ "prettier": "prettier --write . --ignore-path .gitignore", "eslint": "eslint --fix . --ignore-path .gitignore", "semantic-release": "semantic-release", + "wagmi:generate": "wagmi generate", "prepare": "husky install" }, "dependencies": { @@ -47,6 +48,7 @@ "cross-fetch": "4.0.0", "graphql": "^16.9.0", "graphql-ws": "^5.16.0", + "wagmi": "^2.19.2", "pako": "^2.1.0" }, "peerDependencies": { @@ -63,6 +65,7 @@ "@graphql-codegen/cli": "^4.0.1", "@graphql-codegen/client-preset": "^4.0.1", "@graphql-codegen/typescript": "^4.0.1", + "@nibiruchain/solidity": "^0.0.7", "@semantic-release/changelog": "^6.0.3", "@semantic-release/git": "^10.0.1", "@types/jest": "^29.1.2", @@ -71,6 +74,7 @@ "@types/pako": "^2.0.3", "@typescript-eslint/eslint-plugin": "^5.59.7", "@typescript-eslint/parser": "^5.30.7", + "@wagmi/cli": "^2.7.1", "barrelsby": "^2.8.1", "commitizen": "^4.2.4", "cz-conventional-changelog": "^3.3.0", @@ -90,7 +94,7 @@ "typedoc": "^0.24.8", "typedoc-plugin-markdown": "^3.14.0", "typedoc-plugin-missing-exports": "^2.1.0", - "typescript": "^4.4.3", + "typescript": "^5.4.5", "ws": "^8.14.1" }, "lint-staged": { diff --git a/scripts/build.sh b/scripts/build.sh index 26377f7b..a087b93f 100644 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -4,6 +4,7 @@ set -e git submodule init git submodule update +yarn wagmi:generate yarn gql-generate & yarn proto-gen yarn build:tsc yarn docgen diff --git a/src/evm-core/const.ts b/src/evm-core/const.ts new file mode 100644 index 00000000..796c9529 --- /dev/null +++ b/src/evm-core/const.ts @@ -0,0 +1,16 @@ +export const ADDR_WNIBI = "0x0CaCF669f8446BeCA826913a3c6B96aCD4b02a97" + +/** + * ERIS_EVM_ADDR: Proxy address for a contract points to an ErisEvm.sol + * implementation on mainnet. + * */ +export const ADDR_ERIS_EVM = "0xF8647cB104e87fFf4B886dC6BB9F2F01596d400D" + +/** Constants used in the ErisEvm.sol implementation on Nibiru. */ +export const ERIS_CONST = { + ST_NIBI_ERC20_ADDR: "0xcA0a9Fb5FBF692fa12fD13c0A900EC56Bb3f0a7b", + ST_NIBI_BANK_DENOM: + "tf/nibi1udqqx30cw8nwjxtl4l28ym9hhrp933zlq8dqxfjzcdhvl8y24zcqpzmh8m/ampNIBI", + WASM_HUB_ADDR: + "nibi1udqqx30cw8nwjxtl4l28ym9hhrp933zlq8dqxfjzcdhvl8y24zcqpzmh8m", +} diff --git a/src/evm-core/generated.ts b/src/evm-core/generated.ts new file mode 100644 index 00000000..cf42e0ff --- /dev/null +++ b/src/evm-core/generated.ts @@ -0,0 +1,1656 @@ +import { + createReadContract, + createWriteContract, + createSimulateContract, + createWatchContractEvent, +} from "wagmi/codegen" + +import { + createUseReadContract, + createUseWriteContract, + createUseSimulateContract, + createUseWatchContractEvent, +} from "wagmi/codegen" + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// ErisEvm +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const erisEvmAbi = [ + { + type: "function", + inputs: [{ name: "amount", internalType: "uint256", type: "uint256" }], + name: "liquidStake", + outputs: [], + stateMutability: "nonpayable", + }, + { + type: "function", + inputs: [], + name: "redeem", + outputs: [], + stateMutability: "nonpayable", + }, + { + type: "function", + inputs: [], + name: "state", + outputs: [{ name: "respJson", internalType: "bytes", type: "bytes" }], + stateMutability: "view", + }, + { + type: "function", + inputs: [{ name: "stAmount", internalType: "uint256", type: "uint256" }], + name: "unstake", + outputs: [], + stateMutability: "nonpayable", + }, +] as const + +export const erisEvmAddress = + "0xF8647cB104e87fFf4B886dC6BB9F2F01596d400D" as const + +export const erisEvmConfig = { + address: erisEvmAddress, + abi: erisEvmAbi, +} as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// IFunToken +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const iFunTokenAbi = [ + { + type: "event", + anonymous: false, + inputs: [ + { + name: "eventType", + internalType: "string", + type: "string", + indexed: true, + }, + { + name: "abciEvent", + internalType: "string", + type: "string", + indexed: false, + }, + ], + name: "AbciEvent", + }, + { + type: "function", + inputs: [ + { name: "who", internalType: "address", type: "address" }, + { name: "funtoken", internalType: "address", type: "address" }, + ], + name: "balance", + outputs: [ + { name: "erc20Balance", internalType: "uint256", type: "uint256" }, + { name: "bankBalance", internalType: "uint256", type: "uint256" }, + { + name: "token", + internalType: "struct IFunToken.FunToken", + type: "tuple", + components: [ + { name: "erc20", internalType: "address", type: "address" }, + { name: "bankDenom", internalType: "string", type: "string" }, + ], + }, + { + name: "whoAddrs", + internalType: "struct IFunToken.NibiruAccount", + type: "tuple", + components: [ + { name: "ethAddr", internalType: "address", type: "address" }, + { name: "bech32Addr", internalType: "string", type: "string" }, + ], + }, + ], + stateMutability: "view", + }, + { + type: "function", + inputs: [ + { name: "who", internalType: "address", type: "address" }, + { name: "bankDenom", internalType: "string", type: "string" }, + ], + name: "bankBalance", + outputs: [ + { name: "bankBalance", internalType: "uint256", type: "uint256" }, + { + name: "whoAddrs", + internalType: "struct IFunToken.NibiruAccount", + type: "tuple", + components: [ + { name: "ethAddr", internalType: "address", type: "address" }, + { name: "bech32Addr", internalType: "string", type: "string" }, + ], + }, + ], + stateMutability: "view", + }, + { + type: "function", + inputs: [ + { name: "to", internalType: "string", type: "string" }, + { name: "bankDenom", internalType: "string", type: "string" }, + { name: "amount", internalType: "uint256", type: "uint256" }, + ], + name: "bankMsgSend", + outputs: [{ name: "success", internalType: "bool", type: "bool" }], + stateMutability: "nonpayable", + }, + { + type: "function", + inputs: [{ name: "bankDenom", internalType: "string", type: "string" }], + name: "getErc20Address", + outputs: [ + { name: "erc20Address", internalType: "address", type: "address" }, + ], + stateMutability: "view", + }, + { + type: "function", + inputs: [ + { name: "erc20", internalType: "address", type: "address" }, + { name: "amount", internalType: "uint256", type: "uint256" }, + { name: "to", internalType: "string", type: "string" }, + ], + name: "sendToBank", + outputs: [{ name: "sentAmount", internalType: "uint256", type: "uint256" }], + stateMutability: "nonpayable", + }, + { + type: "function", + inputs: [ + { name: "bankDenom", internalType: "string", type: "string" }, + { name: "amount", internalType: "uint256", type: "uint256" }, + { name: "to", internalType: "string", type: "string" }, + ], + name: "sendToEvm", + outputs: [{ name: "sentAmount", internalType: "uint256", type: "uint256" }], + stateMutability: "nonpayable", + }, + { + type: "function", + inputs: [{ name: "who", internalType: "string", type: "string" }], + name: "whoAmI", + outputs: [ + { + name: "whoAddrs", + internalType: "struct IFunToken.NibiruAccount", + type: "tuple", + components: [ + { name: "ethAddr", internalType: "address", type: "address" }, + { name: "bech32Addr", internalType: "string", type: "string" }, + ], + }, + ], + stateMutability: "view", + }, +] as const + +export const iFunTokenAddress = + "0x0000000000000000000000000000000000000800" as const + +export const iFunTokenConfig = { + address: iFunTokenAddress, + abi: iFunTokenAbi, +} as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// IOracle +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const iOracleAbi = [ + { + type: "function", + inputs: [{ name: "pair", internalType: "string", type: "string" }], + name: "chainLinkLatestRoundData", + outputs: [ + { name: "roundId", internalType: "uint80", type: "uint80" }, + { name: "answer", internalType: "int256", type: "int256" }, + { name: "startedAt", internalType: "uint256", type: "uint256" }, + { name: "updatedAt", internalType: "uint256", type: "uint256" }, + { name: "answeredInRound", internalType: "uint80", type: "uint80" }, + ], + stateMutability: "view", + }, + { + type: "function", + inputs: [{ name: "pair", internalType: "string", type: "string" }], + name: "queryExchangeRate", + outputs: [ + { name: "price", internalType: "uint256", type: "uint256" }, + { name: "blockTimeMs", internalType: "uint64", type: "uint64" }, + { name: "blockHeight", internalType: "uint64", type: "uint64" }, + ], + stateMutability: "view", + }, +] as const + +export const iOracleAddress = + "0x0000000000000000000000000000000000000801" as const + +export const iOracleConfig = { + address: iOracleAddress, + abi: iOracleAbi, +} as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// IWasm +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const iWasmAbi = [ + { + type: "event", + anonymous: false, + inputs: [ + { + name: "eventType", + internalType: "string", + type: "string", + indexed: true, + }, + { + name: "abciEvent", + internalType: "string", + type: "string", + indexed: false, + }, + ], + name: "AbciEvent", + }, + { + type: "function", + inputs: [ + { name: "contractAddr", internalType: "string", type: "string" }, + { name: "msgArgs", internalType: "bytes", type: "bytes" }, + { + name: "funds", + internalType: "struct INibiruEvm.BankCoin[]", + type: "tuple[]", + components: [ + { name: "denom", internalType: "string", type: "string" }, + { name: "amount", internalType: "uint256", type: "uint256" }, + ], + }, + ], + name: "execute", + outputs: [{ name: "response", internalType: "bytes", type: "bytes" }], + stateMutability: "payable", + }, + { + type: "function", + inputs: [ + { + name: "executeMsgs", + internalType: "struct IWasm.WasmExecuteMsg[]", + type: "tuple[]", + components: [ + { name: "contractAddr", internalType: "string", type: "string" }, + { name: "msgArgs", internalType: "bytes", type: "bytes" }, + { + name: "funds", + internalType: "struct INibiruEvm.BankCoin[]", + type: "tuple[]", + components: [ + { name: "denom", internalType: "string", type: "string" }, + { name: "amount", internalType: "uint256", type: "uint256" }, + ], + }, + ], + }, + ], + name: "executeMulti", + outputs: [{ name: "responses", internalType: "bytes[]", type: "bytes[]" }], + stateMutability: "payable", + }, + { + type: "function", + inputs: [ + { name: "admin", internalType: "string", type: "string" }, + { name: "codeID", internalType: "uint64", type: "uint64" }, + { name: "msgArgs", internalType: "bytes", type: "bytes" }, + { name: "label", internalType: "string", type: "string" }, + { + name: "funds", + internalType: "struct INibiruEvm.BankCoin[]", + type: "tuple[]", + components: [ + { name: "denom", internalType: "string", type: "string" }, + { name: "amount", internalType: "uint256", type: "uint256" }, + ], + }, + ], + name: "instantiate", + outputs: [ + { name: "contractAddr", internalType: "string", type: "string" }, + { name: "data", internalType: "bytes", type: "bytes" }, + ], + stateMutability: "payable", + }, + { + type: "function", + inputs: [ + { name: "contractAddr", internalType: "string", type: "string" }, + { name: "req", internalType: "bytes", type: "bytes" }, + ], + name: "query", + outputs: [{ name: "response", internalType: "bytes", type: "bytes" }], + stateMutability: "view", + }, + { + type: "function", + inputs: [ + { name: "contractAddr", internalType: "string", type: "string" }, + { name: "key", internalType: "bytes", type: "bytes" }, + ], + name: "queryRaw", + outputs: [{ name: "response", internalType: "bytes", type: "bytes" }], + stateMutability: "view", + }, +] as const + +export const iWasmAddress = + "0x0000000000000000000000000000000000000802" as const + +export const iWasmConfig = { address: iWasmAddress, abi: iWasmAbi } as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// WNIBI +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +export const wnibiAbi = [ + { + type: "event", + anonymous: false, + inputs: [ + { name: "src", internalType: "address", type: "address", indexed: true }, + { name: "guy", internalType: "address", type: "address", indexed: true }, + { name: "wad", internalType: "uint256", type: "uint256", indexed: false }, + ], + name: "Approval", + }, + { + type: "event", + anonymous: false, + inputs: [ + { name: "dst", internalType: "address", type: "address", indexed: true }, + { name: "wad", internalType: "uint256", type: "uint256", indexed: false }, + ], + name: "Deposit", + }, + { + type: "event", + anonymous: false, + inputs: [ + { name: "src", internalType: "address", type: "address", indexed: true }, + { name: "dst", internalType: "address", type: "address", indexed: true }, + { name: "wad", internalType: "uint256", type: "uint256", indexed: false }, + ], + name: "Transfer", + }, + { + type: "event", + anonymous: false, + inputs: [ + { name: "src", internalType: "address", type: "address", indexed: true }, + { name: "wad", internalType: "uint256", type: "uint256", indexed: false }, + ], + name: "Withdrawal", + }, + { type: "fallback", stateMutability: "payable" }, + { + type: "function", + inputs: [ + { name: "", internalType: "address", type: "address" }, + { name: "", internalType: "address", type: "address" }, + ], + name: "allowance", + outputs: [{ name: "", internalType: "uint256", type: "uint256" }], + stateMutability: "view", + }, + { + type: "function", + inputs: [ + { name: "guy", internalType: "address", type: "address" }, + { name: "wad", internalType: "uint256", type: "uint256" }, + ], + name: "approve", + outputs: [{ name: "", internalType: "bool", type: "bool" }], + stateMutability: "nonpayable", + }, + { + type: "function", + inputs: [{ name: "", internalType: "address", type: "address" }], + name: "balanceOf", + outputs: [{ name: "", internalType: "uint256", type: "uint256" }], + stateMutability: "view", + }, + { + type: "function", + inputs: [], + name: "decimals", + outputs: [{ name: "", internalType: "uint8", type: "uint8" }], + stateMutability: "view", + }, + { + type: "function", + inputs: [], + name: "deposit", + outputs: [], + stateMutability: "payable", + }, + { + type: "function", + inputs: [], + name: "name", + outputs: [{ name: "", internalType: "string", type: "string" }], + stateMutability: "view", + }, + { + type: "function", + inputs: [], + name: "symbol", + outputs: [{ name: "", internalType: "string", type: "string" }], + stateMutability: "view", + }, + { + type: "function", + inputs: [], + name: "totalSupply", + outputs: [{ name: "", internalType: "uint256", type: "uint256" }], + stateMutability: "view", + }, + { + type: "function", + inputs: [ + { name: "dst", internalType: "address", type: "address" }, + { name: "wad", internalType: "uint256", type: "uint256" }, + ], + name: "transfer", + outputs: [{ name: "", internalType: "bool", type: "bool" }], + stateMutability: "nonpayable", + }, + { + type: "function", + inputs: [ + { name: "src", internalType: "address", type: "address" }, + { name: "dst", internalType: "address", type: "address" }, + { name: "wad", internalType: "uint256", type: "uint256" }, + ], + name: "transferFrom", + outputs: [{ name: "", internalType: "bool", type: "bool" }], + stateMutability: "nonpayable", + }, + { + type: "function", + inputs: [{ name: "wad", internalType: "uint256", type: "uint256" }], + name: "withdraw", + outputs: [], + stateMutability: "nonpayable", + }, + { type: "receive", stateMutability: "payable" }, +] as const + +export const wnibiAddress = + "0x0CaCF669f8446BeCA826913a3c6B96aCD4b02a97" as const + +export const wnibiConfig = { address: wnibiAddress, abi: wnibiAbi } as const + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// Action +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link erisEvmAbi}__ + */ +export const readErisEvm = /*#__PURE__*/ createReadContract({ + abi: erisEvmAbi, + address: erisEvmAddress, +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link erisEvmAbi}__ and `functionName` set to `"state"` + */ +export const readErisEvmState = /*#__PURE__*/ createReadContract({ + abi: erisEvmAbi, + address: erisEvmAddress, + functionName: "state", +}) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link erisEvmAbi}__ + */ +export const writeErisEvm = /*#__PURE__*/ createWriteContract({ + abi: erisEvmAbi, + address: erisEvmAddress, +}) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link erisEvmAbi}__ and `functionName` set to `"liquidStake"` + */ +export const writeErisEvmLiquidStake = /*#__PURE__*/ createWriteContract({ + abi: erisEvmAbi, + address: erisEvmAddress, + functionName: "liquidStake", +}) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link erisEvmAbi}__ and `functionName` set to `"redeem"` + */ +export const writeErisEvmRedeem = /*#__PURE__*/ createWriteContract({ + abi: erisEvmAbi, + address: erisEvmAddress, + functionName: "redeem", +}) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link erisEvmAbi}__ and `functionName` set to `"unstake"` + */ +export const writeErisEvmUnstake = /*#__PURE__*/ createWriteContract({ + abi: erisEvmAbi, + address: erisEvmAddress, + functionName: "unstake", +}) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link erisEvmAbi}__ + */ +export const simulateErisEvm = /*#__PURE__*/ createSimulateContract({ + abi: erisEvmAbi, + address: erisEvmAddress, +}) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link erisEvmAbi}__ and `functionName` set to `"liquidStake"` + */ +export const simulateErisEvmLiquidStake = /*#__PURE__*/ createSimulateContract({ + abi: erisEvmAbi, + address: erisEvmAddress, + functionName: "liquidStake", +}) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link erisEvmAbi}__ and `functionName` set to `"redeem"` + */ +export const simulateErisEvmRedeem = /*#__PURE__*/ createSimulateContract({ + abi: erisEvmAbi, + address: erisEvmAddress, + functionName: "redeem", +}) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link erisEvmAbi}__ and `functionName` set to `"unstake"` + */ +export const simulateErisEvmUnstake = /*#__PURE__*/ createSimulateContract({ + abi: erisEvmAbi, + address: erisEvmAddress, + functionName: "unstake", +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link iFunTokenAbi}__ + */ +export const readIFunToken = /*#__PURE__*/ createReadContract({ + abi: iFunTokenAbi, + address: iFunTokenAddress, +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link iFunTokenAbi}__ and `functionName` set to `"balance"` + */ +export const readIFunTokenBalance = /*#__PURE__*/ createReadContract({ + abi: iFunTokenAbi, + address: iFunTokenAddress, + functionName: "balance", +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link iFunTokenAbi}__ and `functionName` set to `"bankBalance"` + */ +export const readIFunTokenBankBalance = /*#__PURE__*/ createReadContract({ + abi: iFunTokenAbi, + address: iFunTokenAddress, + functionName: "bankBalance", +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link iFunTokenAbi}__ and `functionName` set to `"getErc20Address"` + */ +export const readIFunTokenGetErc20Address = /*#__PURE__*/ createReadContract({ + abi: iFunTokenAbi, + address: iFunTokenAddress, + functionName: "getErc20Address", +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link iFunTokenAbi}__ and `functionName` set to `"whoAmI"` + */ +export const readIFunTokenWhoAmI = /*#__PURE__*/ createReadContract({ + abi: iFunTokenAbi, + address: iFunTokenAddress, + functionName: "whoAmI", +}) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link iFunTokenAbi}__ + */ +export const writeIFunToken = /*#__PURE__*/ createWriteContract({ + abi: iFunTokenAbi, + address: iFunTokenAddress, +}) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link iFunTokenAbi}__ and `functionName` set to `"bankMsgSend"` + */ +export const writeIFunTokenBankMsgSend = /*#__PURE__*/ createWriteContract({ + abi: iFunTokenAbi, + address: iFunTokenAddress, + functionName: "bankMsgSend", +}) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link iFunTokenAbi}__ and `functionName` set to `"sendToBank"` + */ +export const writeIFunTokenSendToBank = /*#__PURE__*/ createWriteContract({ + abi: iFunTokenAbi, + address: iFunTokenAddress, + functionName: "sendToBank", +}) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link iFunTokenAbi}__ and `functionName` set to `"sendToEvm"` + */ +export const writeIFunTokenSendToEvm = /*#__PURE__*/ createWriteContract({ + abi: iFunTokenAbi, + address: iFunTokenAddress, + functionName: "sendToEvm", +}) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link iFunTokenAbi}__ + */ +export const simulateIFunToken = /*#__PURE__*/ createSimulateContract({ + abi: iFunTokenAbi, + address: iFunTokenAddress, +}) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link iFunTokenAbi}__ and `functionName` set to `"bankMsgSend"` + */ +export const simulateIFunTokenBankMsgSend = + /*#__PURE__*/ createSimulateContract({ + abi: iFunTokenAbi, + address: iFunTokenAddress, + functionName: "bankMsgSend", + }) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link iFunTokenAbi}__ and `functionName` set to `"sendToBank"` + */ +export const simulateIFunTokenSendToBank = /*#__PURE__*/ createSimulateContract( + { abi: iFunTokenAbi, address: iFunTokenAddress, functionName: "sendToBank" } +) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link iFunTokenAbi}__ and `functionName` set to `"sendToEvm"` + */ +export const simulateIFunTokenSendToEvm = /*#__PURE__*/ createSimulateContract({ + abi: iFunTokenAbi, + address: iFunTokenAddress, + functionName: "sendToEvm", +}) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link iFunTokenAbi}__ + */ +export const watchIFunTokenEvent = /*#__PURE__*/ createWatchContractEvent({ + abi: iFunTokenAbi, + address: iFunTokenAddress, +}) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link iFunTokenAbi}__ and `eventName` set to `"AbciEvent"` + */ +export const watchIFunTokenAbciEventEvent = + /*#__PURE__*/ createWatchContractEvent({ + abi: iFunTokenAbi, + address: iFunTokenAddress, + eventName: "AbciEvent", + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link iOracleAbi}__ + */ +export const readIOracle = /*#__PURE__*/ createReadContract({ + abi: iOracleAbi, + address: iOracleAddress, +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link iOracleAbi}__ and `functionName` set to `"chainLinkLatestRoundData"` + */ +export const readIOracleChainLinkLatestRoundData = + /*#__PURE__*/ createReadContract({ + abi: iOracleAbi, + address: iOracleAddress, + functionName: "chainLinkLatestRoundData", + }) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link iOracleAbi}__ and `functionName` set to `"queryExchangeRate"` + */ +export const readIOracleQueryExchangeRate = /*#__PURE__*/ createReadContract({ + abi: iOracleAbi, + address: iOracleAddress, + functionName: "queryExchangeRate", +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link iWasmAbi}__ + */ +export const readIWasm = /*#__PURE__*/ createReadContract({ + abi: iWasmAbi, + address: iWasmAddress, +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link iWasmAbi}__ and `functionName` set to `"query"` + */ +export const readIWasmQuery = /*#__PURE__*/ createReadContract({ + abi: iWasmAbi, + address: iWasmAddress, + functionName: "query", +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link iWasmAbi}__ and `functionName` set to `"queryRaw"` + */ +export const readIWasmQueryRaw = /*#__PURE__*/ createReadContract({ + abi: iWasmAbi, + address: iWasmAddress, + functionName: "queryRaw", +}) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link iWasmAbi}__ + */ +export const writeIWasm = /*#__PURE__*/ createWriteContract({ + abi: iWasmAbi, + address: iWasmAddress, +}) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link iWasmAbi}__ and `functionName` set to `"execute"` + */ +export const writeIWasmExecute = /*#__PURE__*/ createWriteContract({ + abi: iWasmAbi, + address: iWasmAddress, + functionName: "execute", +}) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link iWasmAbi}__ and `functionName` set to `"executeMulti"` + */ +export const writeIWasmExecuteMulti = /*#__PURE__*/ createWriteContract({ + abi: iWasmAbi, + address: iWasmAddress, + functionName: "executeMulti", +}) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link iWasmAbi}__ and `functionName` set to `"instantiate"` + */ +export const writeIWasmInstantiate = /*#__PURE__*/ createWriteContract({ + abi: iWasmAbi, + address: iWasmAddress, + functionName: "instantiate", +}) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link iWasmAbi}__ + */ +export const simulateIWasm = /*#__PURE__*/ createSimulateContract({ + abi: iWasmAbi, + address: iWasmAddress, +}) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link iWasmAbi}__ and `functionName` set to `"execute"` + */ +export const simulateIWasmExecute = /*#__PURE__*/ createSimulateContract({ + abi: iWasmAbi, + address: iWasmAddress, + functionName: "execute", +}) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link iWasmAbi}__ and `functionName` set to `"executeMulti"` + */ +export const simulateIWasmExecuteMulti = /*#__PURE__*/ createSimulateContract({ + abi: iWasmAbi, + address: iWasmAddress, + functionName: "executeMulti", +}) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link iWasmAbi}__ and `functionName` set to `"instantiate"` + */ +export const simulateIWasmInstantiate = /*#__PURE__*/ createSimulateContract({ + abi: iWasmAbi, + address: iWasmAddress, + functionName: "instantiate", +}) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link iWasmAbi}__ + */ +export const watchIWasmEvent = /*#__PURE__*/ createWatchContractEvent({ + abi: iWasmAbi, + address: iWasmAddress, +}) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link iWasmAbi}__ and `eventName` set to `"AbciEvent"` + */ +export const watchIWasmAbciEventEvent = /*#__PURE__*/ createWatchContractEvent({ + abi: iWasmAbi, + address: iWasmAddress, + eventName: "AbciEvent", +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link wnibiAbi}__ + */ +export const readWnibi = /*#__PURE__*/ createReadContract({ + abi: wnibiAbi, + address: wnibiAddress, +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link wnibiAbi}__ and `functionName` set to `"allowance"` + */ +export const readWnibiAllowance = /*#__PURE__*/ createReadContract({ + abi: wnibiAbi, + address: wnibiAddress, + functionName: "allowance", +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link wnibiAbi}__ and `functionName` set to `"balanceOf"` + */ +export const readWnibiBalanceOf = /*#__PURE__*/ createReadContract({ + abi: wnibiAbi, + address: wnibiAddress, + functionName: "balanceOf", +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link wnibiAbi}__ and `functionName` set to `"decimals"` + */ +export const readWnibiDecimals = /*#__PURE__*/ createReadContract({ + abi: wnibiAbi, + address: wnibiAddress, + functionName: "decimals", +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link wnibiAbi}__ and `functionName` set to `"name"` + */ +export const readWnibiName = /*#__PURE__*/ createReadContract({ + abi: wnibiAbi, + address: wnibiAddress, + functionName: "name", +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link wnibiAbi}__ and `functionName` set to `"symbol"` + */ +export const readWnibiSymbol = /*#__PURE__*/ createReadContract({ + abi: wnibiAbi, + address: wnibiAddress, + functionName: "symbol", +}) + +/** + * Wraps __{@link readContract}__ with `abi` set to __{@link wnibiAbi}__ and `functionName` set to `"totalSupply"` + */ +export const readWnibiTotalSupply = /*#__PURE__*/ createReadContract({ + abi: wnibiAbi, + address: wnibiAddress, + functionName: "totalSupply", +}) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link wnibiAbi}__ + */ +export const writeWnibi = /*#__PURE__*/ createWriteContract({ + abi: wnibiAbi, + address: wnibiAddress, +}) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link wnibiAbi}__ and `functionName` set to `"approve"` + */ +export const writeWnibiApprove = /*#__PURE__*/ createWriteContract({ + abi: wnibiAbi, + address: wnibiAddress, + functionName: "approve", +}) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link wnibiAbi}__ and `functionName` set to `"deposit"` + */ +export const writeWnibiDeposit = /*#__PURE__*/ createWriteContract({ + abi: wnibiAbi, + address: wnibiAddress, + functionName: "deposit", +}) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link wnibiAbi}__ and `functionName` set to `"transfer"` + */ +export const writeWnibiTransfer = /*#__PURE__*/ createWriteContract({ + abi: wnibiAbi, + address: wnibiAddress, + functionName: "transfer", +}) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link wnibiAbi}__ and `functionName` set to `"transferFrom"` + */ +export const writeWnibiTransferFrom = /*#__PURE__*/ createWriteContract({ + abi: wnibiAbi, + address: wnibiAddress, + functionName: "transferFrom", +}) + +/** + * Wraps __{@link writeContract}__ with `abi` set to __{@link wnibiAbi}__ and `functionName` set to `"withdraw"` + */ +export const writeWnibiWithdraw = /*#__PURE__*/ createWriteContract({ + abi: wnibiAbi, + address: wnibiAddress, + functionName: "withdraw", +}) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link wnibiAbi}__ + */ +export const simulateWnibi = /*#__PURE__*/ createSimulateContract({ + abi: wnibiAbi, + address: wnibiAddress, +}) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link wnibiAbi}__ and `functionName` set to `"approve"` + */ +export const simulateWnibiApprove = /*#__PURE__*/ createSimulateContract({ + abi: wnibiAbi, + address: wnibiAddress, + functionName: "approve", +}) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link wnibiAbi}__ and `functionName` set to `"deposit"` + */ +export const simulateWnibiDeposit = /*#__PURE__*/ createSimulateContract({ + abi: wnibiAbi, + address: wnibiAddress, + functionName: "deposit", +}) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link wnibiAbi}__ and `functionName` set to `"transfer"` + */ +export const simulateWnibiTransfer = /*#__PURE__*/ createSimulateContract({ + abi: wnibiAbi, + address: wnibiAddress, + functionName: "transfer", +}) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link wnibiAbi}__ and `functionName` set to `"transferFrom"` + */ +export const simulateWnibiTransferFrom = /*#__PURE__*/ createSimulateContract({ + abi: wnibiAbi, + address: wnibiAddress, + functionName: "transferFrom", +}) + +/** + * Wraps __{@link simulateContract}__ with `abi` set to __{@link wnibiAbi}__ and `functionName` set to `"withdraw"` + */ +export const simulateWnibiWithdraw = /*#__PURE__*/ createSimulateContract({ + abi: wnibiAbi, + address: wnibiAddress, + functionName: "withdraw", +}) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link wnibiAbi}__ + */ +export const watchWnibiEvent = /*#__PURE__*/ createWatchContractEvent({ + abi: wnibiAbi, + address: wnibiAddress, +}) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link wnibiAbi}__ and `eventName` set to `"Approval"` + */ +export const watchWnibiApprovalEvent = /*#__PURE__*/ createWatchContractEvent({ + abi: wnibiAbi, + address: wnibiAddress, + eventName: "Approval", +}) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link wnibiAbi}__ and `eventName` set to `"Deposit"` + */ +export const watchWnibiDepositEvent = /*#__PURE__*/ createWatchContractEvent({ + abi: wnibiAbi, + address: wnibiAddress, + eventName: "Deposit", +}) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link wnibiAbi}__ and `eventName` set to `"Transfer"` + */ +export const watchWnibiTransferEvent = /*#__PURE__*/ createWatchContractEvent({ + abi: wnibiAbi, + address: wnibiAddress, + eventName: "Transfer", +}) + +/** + * Wraps __{@link watchContractEvent}__ with `abi` set to __{@link wnibiAbi}__ and `eventName` set to `"Withdrawal"` + */ +export const watchWnibiWithdrawalEvent = /*#__PURE__*/ createWatchContractEvent( + { abi: wnibiAbi, address: wnibiAddress, eventName: "Withdrawal" } +) + +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// React +////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link erisEvmAbi}__ + */ +export const useReadErisEvm = /*#__PURE__*/ createUseReadContract({ + abi: erisEvmAbi, + address: erisEvmAddress, +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link erisEvmAbi}__ and `functionName` set to `"state"` + */ +export const useReadErisEvmState = /*#__PURE__*/ createUseReadContract({ + abi: erisEvmAbi, + address: erisEvmAddress, + functionName: "state", +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link erisEvmAbi}__ + */ +export const useWriteErisEvm = /*#__PURE__*/ createUseWriteContract({ + abi: erisEvmAbi, + address: erisEvmAddress, +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link erisEvmAbi}__ and `functionName` set to `"liquidStake"` + */ +export const useWriteErisEvmLiquidStake = /*#__PURE__*/ createUseWriteContract({ + abi: erisEvmAbi, + address: erisEvmAddress, + functionName: "liquidStake", +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link erisEvmAbi}__ and `functionName` set to `"redeem"` + */ +export const useWriteErisEvmRedeem = /*#__PURE__*/ createUseWriteContract({ + abi: erisEvmAbi, + address: erisEvmAddress, + functionName: "redeem", +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link erisEvmAbi}__ and `functionName` set to `"unstake"` + */ +export const useWriteErisEvmUnstake = /*#__PURE__*/ createUseWriteContract({ + abi: erisEvmAbi, + address: erisEvmAddress, + functionName: "unstake", +}) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link erisEvmAbi}__ + */ +export const useSimulateErisEvm = /*#__PURE__*/ createUseSimulateContract({ + abi: erisEvmAbi, + address: erisEvmAddress, +}) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link erisEvmAbi}__ and `functionName` set to `"liquidStake"` + */ +export const useSimulateErisEvmLiquidStake = + /*#__PURE__*/ createUseSimulateContract({ + abi: erisEvmAbi, + address: erisEvmAddress, + functionName: "liquidStake", + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link erisEvmAbi}__ and `functionName` set to `"redeem"` + */ +export const useSimulateErisEvmRedeem = /*#__PURE__*/ createUseSimulateContract( + { abi: erisEvmAbi, address: erisEvmAddress, functionName: "redeem" } +) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link erisEvmAbi}__ and `functionName` set to `"unstake"` + */ +export const useSimulateErisEvmUnstake = + /*#__PURE__*/ createUseSimulateContract({ + abi: erisEvmAbi, + address: erisEvmAddress, + functionName: "unstake", + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link iFunTokenAbi}__ + */ +export const useReadIFunToken = /*#__PURE__*/ createUseReadContract({ + abi: iFunTokenAbi, + address: iFunTokenAddress, +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link iFunTokenAbi}__ and `functionName` set to `"balance"` + */ +export const useReadIFunTokenBalance = /*#__PURE__*/ createUseReadContract({ + abi: iFunTokenAbi, + address: iFunTokenAddress, + functionName: "balance", +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link iFunTokenAbi}__ and `functionName` set to `"bankBalance"` + */ +export const useReadIFunTokenBankBalance = /*#__PURE__*/ createUseReadContract({ + abi: iFunTokenAbi, + address: iFunTokenAddress, + functionName: "bankBalance", +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link iFunTokenAbi}__ and `functionName` set to `"getErc20Address"` + */ +export const useReadIFunTokenGetErc20Address = + /*#__PURE__*/ createUseReadContract({ + abi: iFunTokenAbi, + address: iFunTokenAddress, + functionName: "getErc20Address", + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link iFunTokenAbi}__ and `functionName` set to `"whoAmI"` + */ +export const useReadIFunTokenWhoAmI = /*#__PURE__*/ createUseReadContract({ + abi: iFunTokenAbi, + address: iFunTokenAddress, + functionName: "whoAmI", +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link iFunTokenAbi}__ + */ +export const useWriteIFunToken = /*#__PURE__*/ createUseWriteContract({ + abi: iFunTokenAbi, + address: iFunTokenAddress, +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link iFunTokenAbi}__ and `functionName` set to `"bankMsgSend"` + */ +export const useWriteIFunTokenBankMsgSend = + /*#__PURE__*/ createUseWriteContract({ + abi: iFunTokenAbi, + address: iFunTokenAddress, + functionName: "bankMsgSend", + }) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link iFunTokenAbi}__ and `functionName` set to `"sendToBank"` + */ +export const useWriteIFunTokenSendToBank = /*#__PURE__*/ createUseWriteContract( + { abi: iFunTokenAbi, address: iFunTokenAddress, functionName: "sendToBank" } +) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link iFunTokenAbi}__ and `functionName` set to `"sendToEvm"` + */ +export const useWriteIFunTokenSendToEvm = /*#__PURE__*/ createUseWriteContract({ + abi: iFunTokenAbi, + address: iFunTokenAddress, + functionName: "sendToEvm", +}) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link iFunTokenAbi}__ + */ +export const useSimulateIFunToken = /*#__PURE__*/ createUseSimulateContract({ + abi: iFunTokenAbi, + address: iFunTokenAddress, +}) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link iFunTokenAbi}__ and `functionName` set to `"bankMsgSend"` + */ +export const useSimulateIFunTokenBankMsgSend = + /*#__PURE__*/ createUseSimulateContract({ + abi: iFunTokenAbi, + address: iFunTokenAddress, + functionName: "bankMsgSend", + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link iFunTokenAbi}__ and `functionName` set to `"sendToBank"` + */ +export const useSimulateIFunTokenSendToBank = + /*#__PURE__*/ createUseSimulateContract({ + abi: iFunTokenAbi, + address: iFunTokenAddress, + functionName: "sendToBank", + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link iFunTokenAbi}__ and `functionName` set to `"sendToEvm"` + */ +export const useSimulateIFunTokenSendToEvm = + /*#__PURE__*/ createUseSimulateContract({ + abi: iFunTokenAbi, + address: iFunTokenAddress, + functionName: "sendToEvm", + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link iFunTokenAbi}__ + */ +export const useWatchIFunTokenEvent = /*#__PURE__*/ createUseWatchContractEvent( + { abi: iFunTokenAbi, address: iFunTokenAddress } +) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link iFunTokenAbi}__ and `eventName` set to `"AbciEvent"` + */ +export const useWatchIFunTokenAbciEventEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: iFunTokenAbi, + address: iFunTokenAddress, + eventName: "AbciEvent", + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link iOracleAbi}__ + */ +export const useReadIOracle = /*#__PURE__*/ createUseReadContract({ + abi: iOracleAbi, + address: iOracleAddress, +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link iOracleAbi}__ and `functionName` set to `"chainLinkLatestRoundData"` + */ +export const useReadIOracleChainLinkLatestRoundData = + /*#__PURE__*/ createUseReadContract({ + abi: iOracleAbi, + address: iOracleAddress, + functionName: "chainLinkLatestRoundData", + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link iOracleAbi}__ and `functionName` set to `"queryExchangeRate"` + */ +export const useReadIOracleQueryExchangeRate = + /*#__PURE__*/ createUseReadContract({ + abi: iOracleAbi, + address: iOracleAddress, + functionName: "queryExchangeRate", + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link iWasmAbi}__ + */ +export const useReadIWasm = /*#__PURE__*/ createUseReadContract({ + abi: iWasmAbi, + address: iWasmAddress, +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link iWasmAbi}__ and `functionName` set to `"query"` + */ +export const useReadIWasmQuery = /*#__PURE__*/ createUseReadContract({ + abi: iWasmAbi, + address: iWasmAddress, + functionName: "query", +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link iWasmAbi}__ and `functionName` set to `"queryRaw"` + */ +export const useReadIWasmQueryRaw = /*#__PURE__*/ createUseReadContract({ + abi: iWasmAbi, + address: iWasmAddress, + functionName: "queryRaw", +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link iWasmAbi}__ + */ +export const useWriteIWasm = /*#__PURE__*/ createUseWriteContract({ + abi: iWasmAbi, + address: iWasmAddress, +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link iWasmAbi}__ and `functionName` set to `"execute"` + */ +export const useWriteIWasmExecute = /*#__PURE__*/ createUseWriteContract({ + abi: iWasmAbi, + address: iWasmAddress, + functionName: "execute", +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link iWasmAbi}__ and `functionName` set to `"executeMulti"` + */ +export const useWriteIWasmExecuteMulti = /*#__PURE__*/ createUseWriteContract({ + abi: iWasmAbi, + address: iWasmAddress, + functionName: "executeMulti", +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link iWasmAbi}__ and `functionName` set to `"instantiate"` + */ +export const useWriteIWasmInstantiate = /*#__PURE__*/ createUseWriteContract({ + abi: iWasmAbi, + address: iWasmAddress, + functionName: "instantiate", +}) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link iWasmAbi}__ + */ +export const useSimulateIWasm = /*#__PURE__*/ createUseSimulateContract({ + abi: iWasmAbi, + address: iWasmAddress, +}) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link iWasmAbi}__ and `functionName` set to `"execute"` + */ +export const useSimulateIWasmExecute = /*#__PURE__*/ createUseSimulateContract({ + abi: iWasmAbi, + address: iWasmAddress, + functionName: "execute", +}) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link iWasmAbi}__ and `functionName` set to `"executeMulti"` + */ +export const useSimulateIWasmExecuteMulti = + /*#__PURE__*/ createUseSimulateContract({ + abi: iWasmAbi, + address: iWasmAddress, + functionName: "executeMulti", + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link iWasmAbi}__ and `functionName` set to `"instantiate"` + */ +export const useSimulateIWasmInstantiate = + /*#__PURE__*/ createUseSimulateContract({ + abi: iWasmAbi, + address: iWasmAddress, + functionName: "instantiate", + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link iWasmAbi}__ + */ +export const useWatchIWasmEvent = /*#__PURE__*/ createUseWatchContractEvent({ + abi: iWasmAbi, + address: iWasmAddress, +}) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link iWasmAbi}__ and `eventName` set to `"AbciEvent"` + */ +export const useWatchIWasmAbciEventEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: iWasmAbi, + address: iWasmAddress, + eventName: "AbciEvent", + }) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link wnibiAbi}__ + */ +export const useReadWnibi = /*#__PURE__*/ createUseReadContract({ + abi: wnibiAbi, + address: wnibiAddress, +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link wnibiAbi}__ and `functionName` set to `"allowance"` + */ +export const useReadWnibiAllowance = /*#__PURE__*/ createUseReadContract({ + abi: wnibiAbi, + address: wnibiAddress, + functionName: "allowance", +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link wnibiAbi}__ and `functionName` set to `"balanceOf"` + */ +export const useReadWnibiBalanceOf = /*#__PURE__*/ createUseReadContract({ + abi: wnibiAbi, + address: wnibiAddress, + functionName: "balanceOf", +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link wnibiAbi}__ and `functionName` set to `"decimals"` + */ +export const useReadWnibiDecimals = /*#__PURE__*/ createUseReadContract({ + abi: wnibiAbi, + address: wnibiAddress, + functionName: "decimals", +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link wnibiAbi}__ and `functionName` set to `"name"` + */ +export const useReadWnibiName = /*#__PURE__*/ createUseReadContract({ + abi: wnibiAbi, + address: wnibiAddress, + functionName: "name", +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link wnibiAbi}__ and `functionName` set to `"symbol"` + */ +export const useReadWnibiSymbol = /*#__PURE__*/ createUseReadContract({ + abi: wnibiAbi, + address: wnibiAddress, + functionName: "symbol", +}) + +/** + * Wraps __{@link useReadContract}__ with `abi` set to __{@link wnibiAbi}__ and `functionName` set to `"totalSupply"` + */ +export const useReadWnibiTotalSupply = /*#__PURE__*/ createUseReadContract({ + abi: wnibiAbi, + address: wnibiAddress, + functionName: "totalSupply", +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link wnibiAbi}__ + */ +export const useWriteWnibi = /*#__PURE__*/ createUseWriteContract({ + abi: wnibiAbi, + address: wnibiAddress, +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link wnibiAbi}__ and `functionName` set to `"approve"` + */ +export const useWriteWnibiApprove = /*#__PURE__*/ createUseWriteContract({ + abi: wnibiAbi, + address: wnibiAddress, + functionName: "approve", +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link wnibiAbi}__ and `functionName` set to `"deposit"` + */ +export const useWriteWnibiDeposit = /*#__PURE__*/ createUseWriteContract({ + abi: wnibiAbi, + address: wnibiAddress, + functionName: "deposit", +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link wnibiAbi}__ and `functionName` set to `"transfer"` + */ +export const useWriteWnibiTransfer = /*#__PURE__*/ createUseWriteContract({ + abi: wnibiAbi, + address: wnibiAddress, + functionName: "transfer", +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link wnibiAbi}__ and `functionName` set to `"transferFrom"` + */ +export const useWriteWnibiTransferFrom = /*#__PURE__*/ createUseWriteContract({ + abi: wnibiAbi, + address: wnibiAddress, + functionName: "transferFrom", +}) + +/** + * Wraps __{@link useWriteContract}__ with `abi` set to __{@link wnibiAbi}__ and `functionName` set to `"withdraw"` + */ +export const useWriteWnibiWithdraw = /*#__PURE__*/ createUseWriteContract({ + abi: wnibiAbi, + address: wnibiAddress, + functionName: "withdraw", +}) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link wnibiAbi}__ + */ +export const useSimulateWnibi = /*#__PURE__*/ createUseSimulateContract({ + abi: wnibiAbi, + address: wnibiAddress, +}) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link wnibiAbi}__ and `functionName` set to `"approve"` + */ +export const useSimulateWnibiApprove = /*#__PURE__*/ createUseSimulateContract({ + abi: wnibiAbi, + address: wnibiAddress, + functionName: "approve", +}) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link wnibiAbi}__ and `functionName` set to `"deposit"` + */ +export const useSimulateWnibiDeposit = /*#__PURE__*/ createUseSimulateContract({ + abi: wnibiAbi, + address: wnibiAddress, + functionName: "deposit", +}) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link wnibiAbi}__ and `functionName` set to `"transfer"` + */ +export const useSimulateWnibiTransfer = /*#__PURE__*/ createUseSimulateContract( + { abi: wnibiAbi, address: wnibiAddress, functionName: "transfer" } +) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link wnibiAbi}__ and `functionName` set to `"transferFrom"` + */ +export const useSimulateWnibiTransferFrom = + /*#__PURE__*/ createUseSimulateContract({ + abi: wnibiAbi, + address: wnibiAddress, + functionName: "transferFrom", + }) + +/** + * Wraps __{@link useSimulateContract}__ with `abi` set to __{@link wnibiAbi}__ and `functionName` set to `"withdraw"` + */ +export const useSimulateWnibiWithdraw = /*#__PURE__*/ createUseSimulateContract( + { abi: wnibiAbi, address: wnibiAddress, functionName: "withdraw" } +) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link wnibiAbi}__ + */ +export const useWatchWnibiEvent = /*#__PURE__*/ createUseWatchContractEvent({ + abi: wnibiAbi, + address: wnibiAddress, +}) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link wnibiAbi}__ and `eventName` set to `"Approval"` + */ +export const useWatchWnibiApprovalEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: wnibiAbi, + address: wnibiAddress, + eventName: "Approval", + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link wnibiAbi}__ and `eventName` set to `"Deposit"` + */ +export const useWatchWnibiDepositEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: wnibiAbi, + address: wnibiAddress, + eventName: "Deposit", + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link wnibiAbi}__ and `eventName` set to `"Transfer"` + */ +export const useWatchWnibiTransferEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: wnibiAbi, + address: wnibiAddress, + eventName: "Transfer", + }) + +/** + * Wraps __{@link useWatchContractEvent}__ with `abi` set to __{@link wnibiAbi}__ and `eventName` set to `"Withdrawal"` + */ +export const useWatchWnibiWithdrawalEvent = + /*#__PURE__*/ createUseWatchContractEvent({ + abi: wnibiAbi, + address: wnibiAddress, + eventName: "Withdrawal", + }) diff --git a/src/evm-core/index.ts b/src/evm-core/index.ts new file mode 100644 index 00000000..83bc2300 --- /dev/null +++ b/src/evm-core/index.ts @@ -0,0 +1,3 @@ +export * from "./precompile" +export * from "./const" +export * from "./generated" diff --git a/src/evm-core/precompile/funtoken.ts b/src/evm-core/precompile/funtoken.ts new file mode 100644 index 00000000..76d69834 --- /dev/null +++ b/src/evm-core/precompile/funtoken.ts @@ -0,0 +1,251 @@ +/* eslint-disable */ +import type { HexAddr } from "./precompile" + +/** Address of Nibiru's FunToken precompiled contract */ +export const ADDR_FUNTOKEN_PRECOMPILE: HexAddr = + "0x0000000000000000000000000000000000000800" + +/** Contract ABI for Nibiru's FunToken (fungible token) precompiled contract. */ +export const ABI_FUNTOKEN_PRECOMPILE = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "string", + name: "eventType", + type: "string", + }, + { + indexed: false, + internalType: "string", + name: "abciEvent", + type: "string", + }, + ], + name: "AbciEvent", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "who", + type: "address", + }, + { + internalType: "address", + name: "funtoken", + type: "address", + }, + ], + name: "balance", + outputs: [ + { + internalType: "uint256", + name: "erc20Balance", + type: "uint256", + }, + { + internalType: "uint256", + name: "bankBalance", + type: "uint256", + }, + { + components: [ + { + internalType: "address", + name: "erc20", + type: "address", + }, + { + internalType: "string", + name: "bankDenom", + type: "string", + }, + ], + internalType: "struct IFunToken.FunToken", + name: "token", + type: "tuple", + }, + { + components: [ + { + internalType: "address", + name: "ethAddr", + type: "address", + }, + { + internalType: "string", + name: "bech32Addr", + type: "string", + }, + ], + internalType: "struct IFunToken.NibiruAccount", + name: "whoAddrs", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "who", + type: "address", + }, + { + internalType: "string", + name: "bankDenom", + type: "string", + }, + ], + name: "bankBalance", + outputs: [ + { + internalType: "uint256", + name: "bankBalance", + type: "uint256", + }, + { + components: [ + { + internalType: "address", + name: "ethAddr", + type: "address", + }, + { + internalType: "string", + name: "bech32Addr", + type: "string", + }, + ], + internalType: "struct IFunToken.NibiruAccount", + name: "whoAddrs", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "string", + name: "to", + type: "string", + }, + { + internalType: "string", + name: "bankDenom", + type: "string", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "bankMsgSend", + outputs: [ + { + internalType: "bool", + name: "success", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "erc20", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "string", + name: "to", + type: "string", + }, + ], + name: "sendToBank", + outputs: [ + { + internalType: "uint256", + name: "sentAmount", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "string", + name: "bankDenom", + type: "string", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "string", + name: "to", + type: "string", + }, + ], + name: "sendToEvm", + outputs: [ + { + internalType: "uint256", + name: "sentAmount", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "string", + name: "who", + type: "string", + }, + ], + name: "whoAmI", + outputs: [ + { + components: [ + { + internalType: "address", + name: "ethAddr", + type: "address", + }, + { + internalType: "string", + name: "bech32Addr", + type: "string", + }, + ], + internalType: "struct IFunToken.NibiruAccount", + name: "whoAddrs", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const diff --git a/src/evm-core/precompile/index.ts b/src/evm-core/precompile/index.ts new file mode 100644 index 00000000..0e4fc80d --- /dev/null +++ b/src/evm-core/precompile/index.ts @@ -0,0 +1,4 @@ +export * from "./funtoken" +export * from "./oracle" +export * from "./wasm" +export * from "./precompile" diff --git a/src/evm-core/precompile/oracle.ts b/src/evm-core/precompile/oracle.ts new file mode 100644 index 00000000..6929bef7 --- /dev/null +++ b/src/evm-core/precompile/oracle.ts @@ -0,0 +1,77 @@ +import type { HexAddr } from "./precompile" + +/** Address of Nibiru's Oracle precompiled contract */ +export const ADDR_ORACLE_PRECOMPILE: HexAddr = + "0x0000000000000000000000000000000000000801" + +/** Contract ABI for Nibiru's Oracle precompiled contract. */ +export const ABI_ORACLE_PRECOMPILE = [ + { + inputs: [ + { + internalType: "string", + name: "pair", + type: "string", + }, + ], + name: "chainLinkLatestRoundData", + outputs: [ + { + internalType: "uint80", + name: "roundId", + type: "uint80", + }, + { + internalType: "int256", + name: "answer", + type: "int256", + }, + { + internalType: "uint256", + name: "startedAt", + type: "uint256", + }, + { + internalType: "uint256", + name: "updatedAt", + type: "uint256", + }, + { + internalType: "uint80", + name: "answeredInRound", + type: "uint80", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "string", + name: "pair", + type: "string", + }, + ], + name: "queryExchangeRate", + outputs: [ + { + internalType: "uint256", + name: "price", + type: "uint256", + }, + { + internalType: "uint64", + name: "blockTimeMs", + type: "uint64", + }, + { + internalType: "uint64", + name: "blockHeight", + type: "uint64", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const diff --git a/src/evm-core/precompile/precompile.ts b/src/evm-core/precompile/precompile.ts new file mode 100644 index 00000000..ffd75ad3 --- /dev/null +++ b/src/evm-core/precompile/precompile.ts @@ -0,0 +1 @@ +export type HexAddr = `0x${string}` diff --git a/src/evm-core/precompile/wasm.ts b/src/evm-core/precompile/wasm.ts new file mode 100644 index 00000000..c7f705ff --- /dev/null +++ b/src/evm-core/precompile/wasm.ts @@ -0,0 +1,221 @@ +import type { HexAddr } from "./precompile" + +/** Address of Nibiru's Wasm precompiled contract */ +export const ADDR_WASM_PRECOMPILE: HexAddr = + "0x0000000000000000000000000000000000000802" + +/** Contract ABI for Nibiru's Wasm precompiled contract. */ +export const ABI_WASM_PRECOMPILE = [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "string", + name: "eventType", + type: "string", + }, + { + indexed: false, + internalType: "string", + name: "abciEvent", + type: "string", + }, + ], + name: "AbciEvent", + type: "event", + }, + { + inputs: [ + { + internalType: "string", + name: "contractAddr", + type: "string", + }, + { + internalType: "bytes", + name: "msgArgs", + type: "bytes", + }, + { + components: [ + { + internalType: "string", + name: "denom", + type: "string", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + internalType: "struct INibiruEvm.BankCoin[]", + name: "funds", + type: "tuple[]", + }, + ], + name: "execute", + outputs: [ + { + internalType: "bytes", + name: "response", + type: "bytes", + }, + ], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "string", + name: "contractAddr", + type: "string", + }, + { + internalType: "bytes", + name: "msgArgs", + type: "bytes", + }, + { + components: [ + { + internalType: "string", + name: "denom", + type: "string", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + internalType: "struct INibiruEvm.BankCoin[]", + name: "funds", + type: "tuple[]", + }, + ], + internalType: "struct IWasm.WasmExecuteMsg[]", + name: "executeMsgs", + type: "tuple[]", + }, + ], + name: "executeMulti", + outputs: [ + { + internalType: "bytes[]", + name: "responses", + type: "bytes[]", + }, + ], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "string", + name: "admin", + type: "string", + }, + { + internalType: "uint64", + name: "codeID", + type: "uint64", + }, + { + internalType: "bytes", + name: "msgArgs", + type: "bytes", + }, + { + internalType: "string", + name: "label", + type: "string", + }, + { + components: [ + { + internalType: "string", + name: "denom", + type: "string", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + internalType: "struct INibiruEvm.BankCoin[]", + name: "funds", + type: "tuple[]", + }, + ], + name: "instantiate", + outputs: [ + { + internalType: "string", + name: "contractAddr", + type: "string", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + stateMutability: "payable", + type: "function", + }, + { + inputs: [ + { + internalType: "string", + name: "contractAddr", + type: "string", + }, + { + internalType: "bytes", + name: "req", + type: "bytes", + }, + ], + name: "query", + outputs: [ + { + internalType: "bytes", + name: "response", + type: "bytes", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "string", + name: "contractAddr", + type: "string", + }, + { + internalType: "bytes", + name: "key", + type: "bytes", + }, + ], + name: "queryRaw", + outputs: [ + { + internalType: "bytes", + name: "response", + type: "bytes", + }, + ], + stateMutability: "view", + type: "function", + }, +] as const diff --git a/src/index.ts b/src/index.ts index 3f4dc488..0392e170 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,3 +1,4 @@ export * from "./gql" export * from "./sdk" export * from "./protojs" +export * from "./evm-core" diff --git a/src/sdk/query/query.test.ts b/src/sdk/query/query.test.ts index 56e600d5..080f6aa0 100644 --- a/src/sdk/query/query.test.ts +++ b/src/sdk/query/query.test.ts @@ -249,7 +249,7 @@ describe("wasm", () => { const assertHappyPath = async () => { const uploadRes = await txClient.wasmClient.upload( sender, - wasmBinary, + new Uint8Array(wasmBinary.buffer), fee ) codeId = uploadRes.codeId diff --git a/wagmi.config.ts b/wagmi.config.ts new file mode 100644 index 00000000..140f0f08 --- /dev/null +++ b/wagmi.config.ts @@ -0,0 +1,54 @@ +import { defineConfig } from "@wagmi/cli" +import fs from "fs" +import path from "path" +import { actions, react } from "@wagmi/cli/plugins" +import { ADDR_WASM_PRECOMPILE } from "./src/evm-core/precompile/wasm" +import { ADDR_ORACLE_PRECOMPILE } from "./src/evm-core/precompile/oracle" +import { ADDR_FUNTOKEN_PRECOMPILE } from "./src/evm-core/precompile/funtoken" +import { ADDR_ERIS_EVM } from "./src/evm-core/const" +import { ADDR_WNIBI } from "./src/evm-core/const" + +const readAbi = (relPath: string) => { + const filePath = path.resolve(__dirname, relPath) + const json = JSON.parse(fs.readFileSync(filePath, "utf8")) + // Support both pure ABI array and hardhat-style artifact with an `abi` field + return Array.isArray(json) ? json : json.abi +} + +export default defineConfig({ + out: "src/evm-core/generated.ts", + contracts: [ + { + name: "IWasm", + abi: readAbi("./node_modules/@nibiruchain/solidity/abi/IWasm.json"), + address: ADDR_WASM_PRECOMPILE, + }, + { + name: "IOracle", + abi: readAbi("./node_modules/@nibiruchain/solidity/abi/IOracle.json"), + address: ADDR_ORACLE_PRECOMPILE, + }, + { + name: "IFunToken", + abi: readAbi("./node_modules/@nibiruchain/solidity/abi/IFunToken.json"), + address: ADDR_FUNTOKEN_PRECOMPILE, + }, + { + name: "ErisEvm", + abi: readAbi("./node_modules/@nibiruchain/solidity/abi/ErisEvm.json"), + address: ADDR_ERIS_EVM, + }, + { + name: "WNIBI", + abi: readAbi( + "./nibiru/x/evm/embeds/artifacts/contracts/WNIBI.sol/WNIBI.json" + ), + address: ADDR_WNIBI, + }, + ], + plugins: [ + // Generate non-React viem wrappers (readContract/writeContract helpers) + actions(), + react(), + ], +}) diff --git a/yarn.lock b/yarn.lock index 12f6bb98..c1fc84fa 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7,6 +7,16 @@ resolved "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz" integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== +"@adraffy/ens-normalize@1.10.1": + version "1.10.1" + resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.10.1.tgz#63430d04bd8c5e74f8d7d049338f1cd9d4f02069" + integrity sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw== + +"@adraffy/ens-normalize@^1.10.1", "@adraffy/ens-normalize@^1.11.0": + version "1.11.1" + resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.11.1.tgz#6c2d657d4b2dfb37f8ea811dcb3e60843d4ac24a" + integrity sha512-nhCBV3quEgesuf7c7KYfperqSS14T8bYuvJ8PcLJp6znkZpFc0AuW4qBtr8eKVyPPe/8RSr7sglCWPU5eaxwKQ== + "@ampproject/remapping@^2.2.0": version "2.2.1" resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz" @@ -552,6 +562,11 @@ dependencies: regenerator-runtime "^0.14.0" +"@babel/runtime@^7.21.0", "@babel/runtime@^7.25.0", "@babel/runtime@^7.26.0": + version "7.28.4" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.28.4.tgz#a70226016fabe25c5783b2f22d3e1c9bc5ca3326" + integrity sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ== + "@babel/template@^7.18.10", "@babel/template@^7.20.7", "@babel/template@^7.22.15", "@babel/template@^7.22.5", "@babel/template@^7.3.3": version "7.22.15" resolved "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz" @@ -586,6 +601,21 @@ "@babel/helper-validator-identifier" "^7.22.20" to-fast-properties "^2.0.0" +"@base-org/account@2.4.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@base-org/account/-/account-2.4.0.tgz#fb4ac1d1f7fed221de356a319d2eccf1c0a0cea4" + integrity sha512-A4Umpi8B9/pqR78D1Yoze4xHyQaujioVRqqO3d6xuDFw9VRtjg6tK3bPlwE0aW+nVH/ntllCpPa2PbI8Rnjcug== + dependencies: + "@coinbase/cdp-sdk" "^1.0.0" + "@noble/hashes" "1.4.0" + clsx "1.2.1" + eventemitter3 "5.0.1" + idb-keyval "6.2.1" + ox "0.6.9" + preact "10.24.2" + viem "^2.31.7" + zustand "5.0.3" + "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz" @@ -633,6 +663,38 @@ "@bufbuild/buf-win32-arm64" "1.28.1" "@bufbuild/buf-win32-x64" "1.28.1" +"@coinbase/cdp-sdk@^1.0.0": + version "1.38.4" + resolved "https://registry.yarnpkg.com/@coinbase/cdp-sdk/-/cdp-sdk-1.38.4.tgz#3d705d10fff5418e4074bee4f11f019f1ef00581" + integrity sha512-xVvfluaGt0NxNmjElP3C1yI6KnsGwihabdXj+qNtjjsSmd/Ha2V3gAiCyNrrYOqIORn4mpC2jgu2fUFEDaMpaw== + dependencies: + "@solana-program/system" "^0.8.0" + "@solana-program/token" "^0.6.0" + "@solana/kit" "^3.0.3" + "@solana/web3.js" "^1.98.1" + abitype "1.0.6" + axios "^1.12.2" + axios-retry "^4.5.0" + jose "^6.0.8" + md5 "^2.3.0" + uncrypto "^0.1.3" + viem "^2.21.26" + zod "^3.24.4" + +"@coinbase/wallet-sdk@4.3.6": + version "4.3.6" + resolved "https://registry.yarnpkg.com/@coinbase/wallet-sdk/-/wallet-sdk-4.3.6.tgz#bf9935fea404ecaa4aa5f00ea508fa01c007b3a8" + integrity sha512-4q8BNG1ViL4mSAAvPAtpwlOs1gpC+67eQtgIwNvT3xyeyFFd+guwkc8bcX5rTmQhXpqnhzC4f0obACbP9CqMSA== + dependencies: + "@noble/hashes" "1.4.0" + clsx "1.2.1" + eventemitter3 "5.0.1" + idb-keyval "6.2.1" + ox "0.6.9" + preact "10.24.2" + viem "^2.27.2" + zustand "5.0.3" + "@colors/colors@1.5.0": version "1.5.0" resolved "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz" @@ -974,6 +1036,11 @@ dependencies: "@jridgewell/trace-mapping" "0.3.9" +"@ecies/ciphers@^0.2.4": + version "0.2.4" + resolved "https://registry.yarnpkg.com/@ecies/ciphers/-/ciphers-0.2.4.tgz#20a4e51f61d521e5e311eb49385d93d91087de51" + integrity sha512-t+iX+Wf5nRKyNzk8dviW3Ikb/280+aEJAnw9YXvCp2tYGPSkMki+NRY+8aNLmVFv3eNtMdvViPNOPxS8SZNP+w== + "@endemolshinegroup/cosmiconfig-typescript-loader@^3.0.2": version "3.0.2" resolved "https://registry.npmjs.org/@endemolshinegroup/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-3.0.2.tgz" @@ -984,6 +1051,136 @@ ts-node "^9" tslib "^2" +"@esbuild/aix-ppc64@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz#80fcbe36130e58b7670511e888b8e88a259ed76c" + integrity sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA== + +"@esbuild/android-arm64@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz#8aa4965f8d0a7982dc21734bf6601323a66da752" + integrity sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg== + +"@esbuild/android-arm@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.25.12.tgz#300712101f7f50f1d2627a162e6e09b109b6767a" + integrity sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg== + +"@esbuild/android-x64@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.25.12.tgz#87dfb27161202bdc958ef48bb61b09c758faee16" + integrity sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg== + +"@esbuild/darwin-arm64@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz#79197898ec1ff745d21c071e1c7cc3c802f0c1fd" + integrity sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg== + +"@esbuild/darwin-x64@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz#146400a8562133f45c4d2eadcf37ddd09718079e" + integrity sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA== + +"@esbuild/freebsd-arm64@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz#1c5f9ba7206e158fd2b24c59fa2d2c8bb47ca0fe" + integrity sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg== + +"@esbuild/freebsd-x64@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz#ea631f4a36beaac4b9279fa0fcc6ca29eaeeb2b3" + integrity sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ== + +"@esbuild/linux-arm64@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz#e1066bce58394f1b1141deec8557a5f0a22f5977" + integrity sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ== + +"@esbuild/linux-arm@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz#452cd66b20932d08bdc53a8b61c0e30baf4348b9" + integrity sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw== + +"@esbuild/linux-ia32@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz#b24f8acc45bcf54192c7f2f3be1b53e6551eafe0" + integrity sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA== + +"@esbuild/linux-loong64@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz#f9cfffa7fc8322571fbc4c8b3268caf15bd81ad0" + integrity sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng== + +"@esbuild/linux-mips64el@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz#575a14bd74644ffab891adc7d7e60d275296f2cd" + integrity sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw== + +"@esbuild/linux-ppc64@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz#75b99c70a95fbd5f7739d7692befe60601591869" + integrity sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA== + +"@esbuild/linux-riscv64@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz#2e3259440321a44e79ddf7535c325057da875cd6" + integrity sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w== + +"@esbuild/linux-s390x@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz#17676cabbfe5928da5b2a0d6df5d58cd08db2663" + integrity sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg== + +"@esbuild/linux-x64@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz#0583775685ca82066d04c3507f09524d3cd7a306" + integrity sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw== + +"@esbuild/netbsd-arm64@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz#f04c4049cb2e252fe96b16fed90f70746b13f4a4" + integrity sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg== + +"@esbuild/netbsd-x64@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz#77da0d0a0d826d7c921eea3d40292548b258a076" + integrity sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ== + +"@esbuild/openbsd-arm64@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz#6296f5867aedef28a81b22ab2009c786a952dccd" + integrity sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A== + +"@esbuild/openbsd-x64@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz#f8d23303360e27b16cf065b23bbff43c14142679" + integrity sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw== + +"@esbuild/openharmony-arm64@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz#49e0b768744a3924be0d7fd97dd6ce9b2923d88d" + integrity sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg== + +"@esbuild/sunos-x64@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz#a6ed7d6778d67e528c81fb165b23f4911b9b13d6" + integrity sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w== + +"@esbuild/win32-arm64@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz#9ac14c378e1b653af17d08e7d3ce34caef587323" + integrity sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg== + +"@esbuild/win32-ia32@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz#918942dcbbb35cc14fca39afb91b5e6a3d127267" + integrity sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ== + +"@esbuild/win32-x64@0.25.12": + version "0.25.12" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz#9bdad8176be7811ad148d1f8772359041f46c6c5" + integrity sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA== + "@eslint-community/eslint-utils@^4.2.0": version "4.4.0" resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz" @@ -1011,11 +1208,409 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" +"@ethereumjs/common@^3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-3.2.0.tgz#b71df25845caf5456449163012074a55f048e0a0" + integrity sha512-pksvzI0VyLgmuEF2FA/JR/4/y6hcPq8OUail3/AvycBaW1d5VSauOZzqGvJ3RTmR4MU35lWE8KseKOsEhrFRBA== + dependencies: + "@ethereumjs/util" "^8.1.0" + crc-32 "^1.2.0" + +"@ethereumjs/rlp@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@ethereumjs/rlp/-/rlp-4.0.1.tgz#626fabfd9081baab3d0a3074b0c7ecaf674aaa41" + integrity sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw== + +"@ethereumjs/tx@^4.1.2", "@ethereumjs/tx@^4.2.0": + version "4.2.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-4.2.0.tgz#5988ae15daf5a3b3c815493bc6b495e76009e853" + integrity sha512-1nc6VO4jtFd172BbSnTnDQVr9IYBFl1y4xPzZdtkrkKIncBCkdbgfdRV+MiTkJYAtTxvV12GRZLqBFT1PNK6Yw== + dependencies: + "@ethereumjs/common" "^3.2.0" + "@ethereumjs/rlp" "^4.0.1" + "@ethereumjs/util" "^8.1.0" + ethereum-cryptography "^2.0.0" + +"@ethereumjs/util@^8.1.0": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@ethereumjs/util/-/util-8.1.0.tgz#299df97fb6b034e0577ce9f94c7d9d1004409ed4" + integrity sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA== + dependencies: + "@ethereumjs/rlp" "^4.0.1" + ethereum-cryptography "^2.0.0" + micro-ftch "^0.3.1" + +"@ethersproject/abi@5.8.0", "@ethersproject/abi@^5.0.9", "@ethersproject/abi@^5.1.2", "@ethersproject/abi@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.8.0.tgz#e79bb51940ac35fe6f3262d7fe2cdb25ad5f07d9" + integrity sha512-b9YS/43ObplgyV6SlyQsG53/vkSal0MNA1fskSC4mbnCMi8R+NkcH8K9FPYNESf6jUefBUniE4SOKms0E/KK1Q== + dependencies: + "@ethersproject/address" "^5.8.0" + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/constants" "^5.8.0" + "@ethersproject/hash" "^5.8.0" + "@ethersproject/keccak256" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/strings" "^5.8.0" + +"@ethersproject/abstract-provider@5.8.0", "@ethersproject/abstract-provider@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.8.0.tgz#7581f9be601afa1d02b95d26b9d9840926a35b0c" + integrity sha512-wC9SFcmh4UK0oKuLJQItoQdzS/qZ51EJegK6EmAWlh+OptpQ/npECOR3QqECd8iGHC0RJb4WKbVdSfif4ammrg== + dependencies: + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/networks" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/transactions" "^5.8.0" + "@ethersproject/web" "^5.8.0" + +"@ethersproject/abstract-signer@5.8.0", "@ethersproject/abstract-signer@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.8.0.tgz#8d7417e95e4094c1797a9762e6789c7356db0754" + integrity sha512-N0XhZTswXcmIZQdYtUnd79VJzvEwXQw6PK0dTl9VoYrEBxxCPXqS0Eod7q5TNKRxe1/5WUMuR0u0nqTF/avdCA== + dependencies: + "@ethersproject/abstract-provider" "^5.8.0" + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + +"@ethersproject/address@5.6.1": + version "5.6.1" + resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.6.1.tgz#ab57818d9aefee919c5721d28cd31fd95eff413d" + integrity sha512-uOgF0kS5MJv9ZvCz7x6T2EXJSzotiybApn4XlOgoTX0xdtyVIJ7pF+6cGPxiEq/dpBiTfMiw7Yc81JcwhSYA0Q== + dependencies: + "@ethersproject/bignumber" "^5.6.2" + "@ethersproject/bytes" "^5.6.1" + "@ethersproject/keccak256" "^5.6.1" + "@ethersproject/logger" "^5.6.0" + "@ethersproject/rlp" "^5.6.1" + +"@ethersproject/address@5.8.0", "@ethersproject/address@^5.0.2", "@ethersproject/address@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.8.0.tgz#3007a2c352eee566ad745dca1dbbebdb50a6a983" + integrity sha512-GhH/abcC46LJwshoN+uBNoKVFPxUuZm6dA257z0vZkKmU1+t8xTn8oK7B9qrj8W2rFRMch4gbJl6PmVxjxBEBA== + dependencies: + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/keccak256" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/rlp" "^5.8.0" + +"@ethersproject/base64@5.8.0", "@ethersproject/base64@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.8.0.tgz#61c669c648f6e6aad002c228465d52ac93ee83eb" + integrity sha512-lN0oIwfkYj9LbPx4xEkie6rAMJtySbpOAFXSDVQaBnAzYfB4X2Qr+FXJGxMoc3Bxp2Sm8OwvzMrywxyw0gLjIQ== + dependencies: + "@ethersproject/bytes" "^5.8.0" + +"@ethersproject/basex@5.8.0", "@ethersproject/basex@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.8.0.tgz#1d279a90c4be84d1c1139114a1f844869e57d03a" + integrity sha512-PIgTszMlDRmNwW9nhS6iqtVfdTAKosA7llYXNmGPw4YAI1PUyMv28988wAb41/gHF/WqGdoLv0erHaRcHRKW2Q== + dependencies: + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + +"@ethersproject/bignumber@5.8.0", "@ethersproject/bignumber@^5.6.2", "@ethersproject/bignumber@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.8.0.tgz#c381d178f9eeb370923d389284efa19f69efa5d7" + integrity sha512-ZyaT24bHaSeJon2tGPKIiHszWjD/54Sz8t57Toch475lCLljC6MgPmxk7Gtzz+ddNN5LuHea9qhAe0x3D+uYPA== + dependencies: + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + bn.js "^5.2.1" + +"@ethersproject/bytes@5.8.0", "@ethersproject/bytes@^5.6.1", "@ethersproject/bytes@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.8.0.tgz#9074820e1cac7507a34372cadeb035461463be34" + integrity sha512-vTkeohgJVCPVHu5c25XWaWQOZ4v+DkGoC42/TS2ond+PARCxTJvgTFUNDZovyQ/uAQ4EcpqqowKydcdmRKjg7A== + dependencies: + "@ethersproject/logger" "^5.8.0" + +"@ethersproject/constants@5.8.0", "@ethersproject/constants@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.8.0.tgz#12f31c2f4317b113a4c19de94e50933648c90704" + integrity sha512-wigX4lrf5Vu+axVTIvNsuL6YrV4O5AXl5ubcURKMEME5TnWBouUh0CDTWxZ2GpnRn1kcCgE7l8O5+VbV9QTTcg== + dependencies: + "@ethersproject/bignumber" "^5.8.0" + +"@ethersproject/contracts@5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.8.0.tgz#243a38a2e4aa3e757215ea64e276f8a8c9d8ed73" + integrity sha512-0eFjGz9GtuAi6MZwhb4uvUM216F38xiuR0yYCjKJpNfSEy4HUM8hvqqBj9Jmm0IUz8l0xKEhWwLIhPgxNY0yvQ== + dependencies: + "@ethersproject/abi" "^5.8.0" + "@ethersproject/abstract-provider" "^5.8.0" + "@ethersproject/abstract-signer" "^5.8.0" + "@ethersproject/address" "^5.8.0" + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/constants" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/transactions" "^5.8.0" + +"@ethersproject/hash@5.8.0", "@ethersproject/hash@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.8.0.tgz#b8893d4629b7f8462a90102572f8cd65a0192b4c" + integrity sha512-ac/lBcTbEWW/VGJij0CNSw/wPcw9bSRgCB0AIBz8CvED/jfvDoV9hsIIiWfvWmFEi8RcXtlNwp2jv6ozWOsooA== + dependencies: + "@ethersproject/abstract-signer" "^5.8.0" + "@ethersproject/address" "^5.8.0" + "@ethersproject/base64" "^5.8.0" + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/keccak256" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/strings" "^5.8.0" + +"@ethersproject/hdnode@5.8.0", "@ethersproject/hdnode@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.8.0.tgz#a51ae2a50bcd48ef6fd108c64cbae5e6ff34a761" + integrity sha512-4bK1VF6E83/3/Im0ERnnUeWOY3P1BZml4ZD3wcH8Ys0/d1h1xaFt6Zc+Dh9zXf9TapGro0T4wvO71UTCp3/uoA== + dependencies: + "@ethersproject/abstract-signer" "^5.8.0" + "@ethersproject/basex" "^5.8.0" + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/pbkdf2" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/sha2" "^5.8.0" + "@ethersproject/signing-key" "^5.8.0" + "@ethersproject/strings" "^5.8.0" + "@ethersproject/transactions" "^5.8.0" + "@ethersproject/wordlists" "^5.8.0" + +"@ethersproject/json-wallets@5.8.0", "@ethersproject/json-wallets@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.8.0.tgz#d18de0a4cf0f185f232eb3c17d5e0744d97eb8c9" + integrity sha512-HxblNck8FVUtNxS3VTEYJAcwiKYsBIF77W15HufqlBF9gGfhmYOJtYZp8fSDZtn9y5EaXTE87zDwzxRoTFk11w== + dependencies: + "@ethersproject/abstract-signer" "^5.8.0" + "@ethersproject/address" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/hdnode" "^5.8.0" + "@ethersproject/keccak256" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/pbkdf2" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/random" "^5.8.0" + "@ethersproject/strings" "^5.8.0" + "@ethersproject/transactions" "^5.8.0" + aes-js "3.0.0" + scrypt-js "3.0.1" + +"@ethersproject/keccak256@5.8.0", "@ethersproject/keccak256@^5.6.1", "@ethersproject/keccak256@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.8.0.tgz#d2123a379567faf2d75d2aaea074ffd4df349e6a" + integrity sha512-A1pkKLZSz8pDaQ1ftutZoaN46I6+jvuqugx5KYNeQOPqq+JZ0Txm7dlWesCHB5cndJSu5vP2VKptKf7cksERng== + dependencies: + "@ethersproject/bytes" "^5.8.0" + js-sha3 "0.8.0" + +"@ethersproject/logger@5.8.0", "@ethersproject/logger@^5.6.0", "@ethersproject/logger@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.8.0.tgz#f0232968a4f87d29623a0481690a2732662713d6" + integrity sha512-Qe6knGmY+zPPWTC+wQrpitodgBfH7XoceCGL5bJVejmH+yCS3R8jJm8iiWuvWbG76RUmyEG53oqv6GMVWqunjA== + +"@ethersproject/networks@5.8.0", "@ethersproject/networks@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.8.0.tgz#8b4517a3139380cba9fb00b63ffad0a979671fde" + integrity sha512-egPJh3aPVAzbHwq8DD7Po53J4OUSsA1MjQp8Vf/OZPav5rlmWUaFLiq8cvQiGK0Z5K6LYzm29+VA/p4RL1FzNg== + dependencies: + "@ethersproject/logger" "^5.8.0" + +"@ethersproject/pbkdf2@5.8.0", "@ethersproject/pbkdf2@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.8.0.tgz#cd2621130e5dd51f6a0172e63a6e4a0c0a0ec37e" + integrity sha512-wuHiv97BrzCmfEaPbUFpMjlVg/IDkZThp9Ri88BpjRleg4iePJaj2SW8AIyE8cXn5V1tuAaMj6lzvsGJkGWskg== + dependencies: + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/sha2" "^5.8.0" + +"@ethersproject/properties@5.8.0", "@ethersproject/properties@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.8.0.tgz#405a8affb6311a49a91dabd96aeeae24f477020e" + integrity sha512-PYuiEoQ+FMaZZNGrStmN7+lWjlsoufGIHdww7454FIaGdbe/p5rnaCXTr5MtBYl3NkeoVhHZuyzChPeGeKIpQw== + dependencies: + "@ethersproject/logger" "^5.8.0" + +"@ethersproject/providers@5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.8.0.tgz#6c2ae354f7f96ee150439f7de06236928bc04cb4" + integrity sha512-3Il3oTzEx3o6kzcg9ZzbE+oCZYyY+3Zh83sKkn4s1DZfTUjIegHnN2Cm0kbn9YFy45FDVcuCLLONhU7ny0SsCw== + dependencies: + "@ethersproject/abstract-provider" "^5.8.0" + "@ethersproject/abstract-signer" "^5.8.0" + "@ethersproject/address" "^5.8.0" + "@ethersproject/base64" "^5.8.0" + "@ethersproject/basex" "^5.8.0" + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/constants" "^5.8.0" + "@ethersproject/hash" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/networks" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/random" "^5.8.0" + "@ethersproject/rlp" "^5.8.0" + "@ethersproject/sha2" "^5.8.0" + "@ethersproject/strings" "^5.8.0" + "@ethersproject/transactions" "^5.8.0" + "@ethersproject/web" "^5.8.0" + bech32 "1.1.4" + ws "8.18.0" + +"@ethersproject/random@5.8.0", "@ethersproject/random@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.8.0.tgz#1bced04d49449f37c6437c701735a1a022f0057a" + integrity sha512-E4I5TDl7SVqyg4/kkA/qTfuLWAQGXmSOgYyO01So8hLfwgKvYK5snIlzxJMk72IFdG/7oh8yuSqY2KX7MMwg+A== + dependencies: + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + +"@ethersproject/rlp@5.8.0", "@ethersproject/rlp@^5.6.1", "@ethersproject/rlp@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.8.0.tgz#5a0d49f61bc53e051532a5179472779141451de5" + integrity sha512-LqZgAznqDbiEunaUvykH2JAoXTT9NV0Atqk8rQN9nx9SEgThA/WMx5DnW8a9FOufo//6FZOCHZ+XiClzgbqV9Q== + dependencies: + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + +"@ethersproject/sha2@5.8.0", "@ethersproject/sha2@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.8.0.tgz#8954a613bb78dac9b46829c0a95de561ef74e5e1" + integrity sha512-dDOUrXr9wF/YFltgTBYS0tKslPEKr6AekjqDW2dbn1L1xmjGR+9GiKu4ajxovnrDbwxAKdHjW8jNcwfz8PAz4A== + dependencies: + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + hash.js "1.1.7" + +"@ethersproject/signing-key@5.8.0", "@ethersproject/signing-key@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.8.0.tgz#9797e02c717b68239c6349394ea85febf8893119" + integrity sha512-LrPW2ZxoigFi6U6aVkFN/fa9Yx/+4AtIUe4/HACTvKJdhm0eeb107EVCIQcrLZkxaSIgc/eCrX8Q1GtbH+9n3w== + dependencies: + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + bn.js "^5.2.1" + elliptic "6.6.1" + hash.js "1.1.7" + +"@ethersproject/solidity@5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.8.0.tgz#429bb9fcf5521307a9448d7358c26b93695379b9" + integrity sha512-4CxFeCgmIWamOHwYN9d+QWGxye9qQLilpgTU0XhYs1OahkclF+ewO+3V1U0mvpiuQxm5EHHmv8f7ClVII8EHsA== + dependencies: + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/keccak256" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/sha2" "^5.8.0" + "@ethersproject/strings" "^5.8.0" + +"@ethersproject/strings@5.8.0", "@ethersproject/strings@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.8.0.tgz#ad79fafbf0bd272d9765603215ac74fd7953908f" + integrity sha512-qWEAk0MAvl0LszjdfnZ2uC8xbR2wdv4cDabyHiBh3Cldq/T8dPH3V4BbBsAYJUeonwD+8afVXld274Ls+Y1xXg== + dependencies: + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/constants" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + +"@ethersproject/transactions@5.8.0", "@ethersproject/transactions@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.8.0.tgz#1e518822403abc99def5a043d1c6f6fe0007e46b" + integrity sha512-UglxSDjByHG0TuU17bDfCemZ3AnKO2vYrL5/2n2oXvKzvb7Cz+W9gOWXKARjp2URVwcWlQlPOEQyAviKwT4AHg== + dependencies: + "@ethersproject/address" "^5.8.0" + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/constants" "^5.8.0" + "@ethersproject/keccak256" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/rlp" "^5.8.0" + "@ethersproject/signing-key" "^5.8.0" + +"@ethersproject/units@5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.8.0.tgz#c12f34ba7c3a2de0e9fa0ed0ee32f3e46c5c2c6a" + integrity sha512-lxq0CAnc5kMGIiWW4Mr041VT8IhNM+Pn5T3haO74XZWFulk7wH1Gv64HqE96hT4a7iiNMdOCFEBgaxWuk8ETKQ== + dependencies: + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/constants" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + +"@ethersproject/wallet@5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.8.0.tgz#49c300d10872e6986d953e8310dc33d440da8127" + integrity sha512-G+jnzmgg6UxurVKRKvw27h0kvG75YKXZKdlLYmAHeF32TGUzHkOFd7Zn6QHOTYRFWnfjtSSFjBowKo7vfrXzPA== + dependencies: + "@ethersproject/abstract-provider" "^5.8.0" + "@ethersproject/abstract-signer" "^5.8.0" + "@ethersproject/address" "^5.8.0" + "@ethersproject/bignumber" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/hash" "^5.8.0" + "@ethersproject/hdnode" "^5.8.0" + "@ethersproject/json-wallets" "^5.8.0" + "@ethersproject/keccak256" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/random" "^5.8.0" + "@ethersproject/signing-key" "^5.8.0" + "@ethersproject/transactions" "^5.8.0" + "@ethersproject/wordlists" "^5.8.0" + +"@ethersproject/web@5.8.0", "@ethersproject/web@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.8.0.tgz#3e54badc0013b7a801463a7008a87988efce8a37" + integrity sha512-j7+Ksi/9KfGviws6Qtf9Q7KCqRhpwrYKQPs+JBA/rKVFF/yaWLHJEH3zfVP2plVu+eys0d2DlFmhoQJayFewcw== + dependencies: + "@ethersproject/base64" "^5.8.0" + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/strings" "^5.8.0" + +"@ethersproject/wordlists@5.8.0", "@ethersproject/wordlists@^5.8.0": + version "5.8.0" + resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.8.0.tgz#7a5654ee8d1bb1f4dbe43f91d217356d650ad821" + integrity sha512-2df9bbXicZws2Sb5S6ET493uJ0Z84Fjr3pC4tu/qlnZERibZCeUVuqdtt+7Tv9xxhUxHoIekIA7avrKUWHrezg== + dependencies: + "@ethersproject/bytes" "^5.8.0" + "@ethersproject/hash" "^5.8.0" + "@ethersproject/logger" "^5.8.0" + "@ethersproject/properties" "^5.8.0" + "@ethersproject/strings" "^5.8.0" + +"@fastify/busboy@^2.0.0": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@fastify/busboy/-/busboy-2.1.1.tgz#b9da6a878a371829a0502c9b6c1c143ef6663f4d" + integrity sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA== + "@gar/promisify@^1.1.3": version "1.1.3" resolved "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz" integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== +"@gemini-wallet/core@0.3.1": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@gemini-wallet/core/-/core-0.3.1.tgz#3a990b7d35cdb42c9a27b58853c4fa60f9a3ecbd" + integrity sha512-XP+/NRAaRV7Adlt6aFxrF/3a0i3qpxFTSVm/dzG+mceXTSgIGOUUT65w69ttLQ/GWEcAEQL/hKoV6PFAJA/DmQ== + dependencies: + "@metamask/rpc-errors" "7.0.2" + eventemitter3 "5.0.1" + "@graphql-codegen/add@^5.0.0": version "5.0.0" resolved "https://registry.npmjs.org/@graphql-codegen/add/-/add-5.0.0.tgz" @@ -1467,6 +2062,18 @@ resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== +"@isaacs/balanced-match@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz#3081dadbc3460661b751e7591d7faea5df39dd29" + integrity sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ== + +"@isaacs/brace-expansion@^5.0.0": + version "5.0.0" + resolved "https://registry.yarnpkg.com/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz#4b3dabab7d8e75a429414a96bd67bf4c1d13e0f3" + integrity sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA== + dependencies: + "@isaacs/balanced-match" "^4.0.1" + "@isaacs/cliui@^8.0.2": version "8.0.2" resolved "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz" @@ -1751,11 +2358,361 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" +"@lit-labs/ssr-dom-shim@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.4.0.tgz#55eb80ab5ef6e188f7e541c1e2bea1ef582413b8" + integrity sha512-ficsEARKnmmW5njugNYKipTm4SFnbik7CXtoencDZzmzo/dQ+2Q0bgkzJuoJP20Aj0F+izzJjOqsnkd6F/o1bw== + +"@lit/reactive-element@^2.1.0": + version "2.1.1" + resolved "https://registry.yarnpkg.com/@lit/reactive-element/-/reactive-element-2.1.1.tgz#0662ac4a43d4898974aef9a6c5cd47b9e331919a" + integrity sha512-N+dm5PAYdQ8e6UlywyyrgI2t++wFGXfHx+dSJ1oBrg6FAxUj40jId++EaRm80MKX5JnlH1sBsyZ5h0bcZKemCg== + dependencies: + "@lit-labs/ssr-dom-shim" "^1.4.0" + +"@metamask/eth-json-rpc-provider@^1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@metamask/eth-json-rpc-provider/-/eth-json-rpc-provider-1.0.1.tgz#3fd5316c767847f4ca107518b611b15396a5a32c" + integrity sha512-whiUMPlAOrVGmX8aKYVPvlKyG4CpQXiNNyt74vE1xb5sPvmx5oA7B/kOi/JdBvhGQq97U1/AVdXEdk2zkP8qyA== + dependencies: + "@metamask/json-rpc-engine" "^7.0.0" + "@metamask/safe-event-emitter" "^3.0.0" + "@metamask/utils" "^5.0.1" + +"@metamask/json-rpc-engine@^7.0.0": + version "7.3.3" + resolved "https://registry.yarnpkg.com/@metamask/json-rpc-engine/-/json-rpc-engine-7.3.3.tgz#f2b30a2164558014bfcca45db10f5af291d989af" + integrity sha512-dwZPq8wx9yV3IX2caLi9q9xZBw2XeIoYqdyihDDDpuHVCEiqadJLwqM3zy+uwf6F1QYQ65A8aOMQg1Uw7LMLNg== + dependencies: + "@metamask/rpc-errors" "^6.2.1" + "@metamask/safe-event-emitter" "^3.0.0" + "@metamask/utils" "^8.3.0" + +"@metamask/json-rpc-engine@^8.0.1", "@metamask/json-rpc-engine@^8.0.2": + version "8.0.2" + resolved "https://registry.yarnpkg.com/@metamask/json-rpc-engine/-/json-rpc-engine-8.0.2.tgz#29510a871a8edef892f838ee854db18de0bf0d14" + integrity sha512-IoQPmql8q7ABLruW7i4EYVHWUbF74yrp63bRuXV5Zf9BQwcn5H9Ww1eLtROYvI1bUXwOiHZ6qT5CWTrDc/t/AA== + dependencies: + "@metamask/rpc-errors" "^6.2.1" + "@metamask/safe-event-emitter" "^3.0.0" + "@metamask/utils" "^8.3.0" + +"@metamask/json-rpc-middleware-stream@^7.0.1": + version "7.0.2" + resolved "https://registry.yarnpkg.com/@metamask/json-rpc-middleware-stream/-/json-rpc-middleware-stream-7.0.2.tgz#2e8b2cbc38968e3c6239a9144c35bbb08a8fb57d" + integrity sha512-yUdzsJK04Ev98Ck4D7lmRNQ8FPioXYhEUZOMS01LXW8qTvPGiRVXmVltj2p4wrLkh0vW7u6nv0mNl5xzC5Qmfg== + dependencies: + "@metamask/json-rpc-engine" "^8.0.2" + "@metamask/safe-event-emitter" "^3.0.0" + "@metamask/utils" "^8.3.0" + readable-stream "^3.6.2" + +"@metamask/object-multiplex@^2.0.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@metamask/object-multiplex/-/object-multiplex-2.1.0.tgz#5e2e908fc46aee581cbba809870eeee0e571cbb6" + integrity sha512-4vKIiv0DQxljcXwfpnbsXcfa5glMj5Zg9mqn4xpIWqkv6uJ2ma5/GtUfLFSxhlxnR8asRMv8dDmWya1Tc1sDFA== + dependencies: + once "^1.4.0" + readable-stream "^3.6.2" + +"@metamask/onboarding@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@metamask/onboarding/-/onboarding-1.0.1.tgz#14a36e1e175e2f69f09598e2008ab6dc1b3297e6" + integrity sha512-FqHhAsCI+Vacx2qa5mAFcWNSrTcVGMNjzxVgaX8ECSny/BJ9/vgXP9V7WF/8vb9DltPeQkxr+Fnfmm6GHfmdTQ== + dependencies: + bowser "^2.9.0" + +"@metamask/providers@16.1.0": + version "16.1.0" + resolved "https://registry.yarnpkg.com/@metamask/providers/-/providers-16.1.0.tgz#7da593d17c541580fa3beab8d9d8a9b9ce19ea07" + integrity sha512-znVCvux30+3SaUwcUGaSf+pUckzT5ukPRpcBmy+muBLC0yaWnBcvDqGfcsw6CBIenUdFrVoAFa8B6jsuCY/a+g== + dependencies: + "@metamask/json-rpc-engine" "^8.0.1" + "@metamask/json-rpc-middleware-stream" "^7.0.1" + "@metamask/object-multiplex" "^2.0.0" + "@metamask/rpc-errors" "^6.2.1" + "@metamask/safe-event-emitter" "^3.1.1" + "@metamask/utils" "^8.3.0" + detect-browser "^5.2.0" + extension-port-stream "^3.0.0" + fast-deep-equal "^3.1.3" + is-stream "^2.0.0" + readable-stream "^3.6.2" + webextension-polyfill "^0.10.0" + +"@metamask/rpc-errors@7.0.2": + version "7.0.2" + resolved "https://registry.yarnpkg.com/@metamask/rpc-errors/-/rpc-errors-7.0.2.tgz#d07b2ebfcf111556dfe93dc78699742ebe755359" + integrity sha512-YYYHsVYd46XwY2QZzpGeU4PSdRhHdxnzkB8piWGvJW2xbikZ3R+epAYEL4q/K8bh9JPTucsUdwRFnACor1aOYw== + dependencies: + "@metamask/utils" "^11.0.1" + fast-safe-stringify "^2.0.6" + +"@metamask/rpc-errors@^6.2.1": + version "6.4.0" + resolved "https://registry.yarnpkg.com/@metamask/rpc-errors/-/rpc-errors-6.4.0.tgz#a7ce01c06c9a347ab853e55818ac5654a73bd006" + integrity sha512-1ugFO1UoirU2esS3juZanS/Fo8C8XYocCuBpfZI5N7ECtoG+zu0wF+uWZASik6CkO6w9n/Iebt4iI4pT0vptpg== + dependencies: + "@metamask/utils" "^9.0.0" + fast-safe-stringify "^2.0.6" + +"@metamask/safe-event-emitter@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@metamask/safe-event-emitter/-/safe-event-emitter-2.0.0.tgz#af577b477c683fad17c619a78208cede06f9605c" + integrity sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q== + +"@metamask/safe-event-emitter@^3.0.0", "@metamask/safe-event-emitter@^3.1.1": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@metamask/safe-event-emitter/-/safe-event-emitter-3.1.2.tgz#bfac8c7a1a149b5bbfe98f59fbfea512dfa3bad4" + integrity sha512-5yb2gMI1BDm0JybZezeoX/3XhPDOtTbcFvpTXM9kxsoZjPZFh4XciqRbpD6N86HYZqWDhEaKUDuOyR0sQHEjMA== + +"@metamask/sdk-analytics@0.0.5": + version "0.0.5" + resolved "https://registry.yarnpkg.com/@metamask/sdk-analytics/-/sdk-analytics-0.0.5.tgz#ea10b15730d015af1da2225c8fe4fcf85b3fa77b" + integrity sha512-fDah+keS1RjSUlC8GmYXvx6Y26s3Ax1U9hGpWb6GSY5SAdmTSIqp2CvYy6yW0WgLhnYhW+6xERuD0eVqV63QIQ== + dependencies: + openapi-fetch "^0.13.5" + +"@metamask/sdk-communication-layer@0.33.1": + version "0.33.1" + resolved "https://registry.yarnpkg.com/@metamask/sdk-communication-layer/-/sdk-communication-layer-0.33.1.tgz#53311c448bfcc08275f03630811fb3de8356d389" + integrity sha512-0bI9hkysxcfbZ/lk0T2+aKVo1j0ynQVTuB3sJ5ssPWlz+Z3VwveCkP1O7EVu1tsVVCb0YV5WxK9zmURu2FIiaA== + dependencies: + "@metamask/sdk-analytics" "0.0.5" + bufferutil "^4.0.8" + date-fns "^2.29.3" + debug "4.3.4" + utf-8-validate "^5.0.2" + uuid "^8.3.2" + +"@metamask/sdk-install-modal-web@0.32.1": + version "0.32.1" + resolved "https://registry.yarnpkg.com/@metamask/sdk-install-modal-web/-/sdk-install-modal-web-0.32.1.tgz#bc837136b19c261835a5907f9b504c059ee64875" + integrity sha512-MGmAo6qSjf1tuYXhCu2EZLftq+DSt5Z7fsIKr2P+lDgdTPWgLfZB1tJKzNcwKKOdf6q9Qmmxn7lJuI/gq5LrKw== + dependencies: + "@paulmillr/qr" "^0.2.1" + +"@metamask/sdk@0.33.1": + version "0.33.1" + resolved "https://registry.yarnpkg.com/@metamask/sdk/-/sdk-0.33.1.tgz#c3376444b9c5b42fbfd434edf414db613ab68c42" + integrity sha512-1mcOQVGr9rSrVcbKPNVzbZ8eCl1K0FATsYH3WJ/MH4WcZDWGECWrXJPNMZoEAkLxWiMe8jOQBumg2pmcDa9zpQ== + dependencies: + "@babel/runtime" "^7.26.0" + "@metamask/onboarding" "^1.0.1" + "@metamask/providers" "16.1.0" + "@metamask/sdk-analytics" "0.0.5" + "@metamask/sdk-communication-layer" "0.33.1" + "@metamask/sdk-install-modal-web" "0.32.1" + "@paulmillr/qr" "^0.2.1" + bowser "^2.9.0" + cross-fetch "^4.0.0" + debug "4.3.4" + eciesjs "^0.4.11" + eth-rpc-errors "^4.0.3" + eventemitter2 "^6.4.9" + obj-multiplex "^1.0.0" + pump "^3.0.0" + readable-stream "^3.6.2" + socket.io-client "^4.5.1" + tslib "^2.6.0" + util "^0.12.4" + uuid "^8.3.2" + +"@metamask/superstruct@^3.0.0", "@metamask/superstruct@^3.1.0": + version "3.2.1" + resolved "https://registry.yarnpkg.com/@metamask/superstruct/-/superstruct-3.2.1.tgz#fca933017c5b78529f8f525560cef32c57e889d2" + integrity sha512-fLgJnDOXFmuVlB38rUN5SmU7hAFQcCjrg3Vrxz67KTY7YHFnSNEKvX4avmEBdOI0yTCxZjwMCFEqsC8k2+Wd3g== + +"@metamask/utils@^11.0.1": + version "11.8.1" + resolved "https://registry.yarnpkg.com/@metamask/utils/-/utils-11.8.1.tgz#27b5f1629ba2215269174a4450fc6949872f7279" + integrity sha512-DIbsNUyqWLFgqJlZxi1OOCMYvI23GqFCvNJAtzv8/WXWzJfnJnvp1M24j7VvUe3URBi3S86UgQ7+7aWU9p/cnQ== + dependencies: + "@ethereumjs/tx" "^4.2.0" + "@metamask/superstruct" "^3.1.0" + "@noble/hashes" "^1.3.1" + "@scure/base" "^1.1.3" + "@types/debug" "^4.1.7" + "@types/lodash" "^4.17.20" + debug "^4.3.4" + lodash "^4.17.21" + pony-cause "^2.1.10" + semver "^7.5.4" + uuid "^9.0.1" + +"@metamask/utils@^5.0.1": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@metamask/utils/-/utils-5.0.2.tgz#140ba5061d90d9dac0280c19cab101bc18c8857c" + integrity sha512-yfmE79bRQtnMzarnKfX7AEJBwFTxvTyw3nBQlu/5rmGXrjAeAMltoGxO62TFurxrQAFMNa/fEjIHNvungZp0+g== + dependencies: + "@ethereumjs/tx" "^4.1.2" + "@types/debug" "^4.1.7" + debug "^4.3.4" + semver "^7.3.8" + superstruct "^1.0.3" + +"@metamask/utils@^8.3.0": + version "8.5.0" + resolved "https://registry.yarnpkg.com/@metamask/utils/-/utils-8.5.0.tgz#ddd0d4012d5191809404c97648a837ea9962cceb" + integrity sha512-I6bkduevXb72TIM9q2LRO63JSsF9EXduh3sBr9oybNX2hNNpr/j1tEjXrsG0Uabm4MJ1xkGAQEMwifvKZIkyxQ== + dependencies: + "@ethereumjs/tx" "^4.2.0" + "@metamask/superstruct" "^3.0.0" + "@noble/hashes" "^1.3.1" + "@scure/base" "^1.1.3" + "@types/debug" "^4.1.7" + debug "^4.3.4" + pony-cause "^2.1.10" + semver "^7.5.4" + uuid "^9.0.1" + +"@metamask/utils@^9.0.0": + version "9.3.0" + resolved "https://registry.yarnpkg.com/@metamask/utils/-/utils-9.3.0.tgz#4726bd7f5d6a43ea8425b6d663ab9207f617c2d1" + integrity sha512-w8CVbdkDrVXFJbfBSlDfafDR6BAkpDmv1bC1UJVCoVny5tW2RKAdn9i68Xf7asYT4TnUhl/hN4zfUiKQq9II4g== + dependencies: + "@ethereumjs/tx" "^4.2.0" + "@metamask/superstruct" "^3.1.0" + "@noble/hashes" "^1.3.1" + "@scure/base" "^1.1.3" + "@types/debug" "^4.1.7" + debug "^4.3.4" + pony-cause "^2.1.10" + semver "^7.5.4" + uuid "^9.0.1" + +"@nibiruchain/solidity@^0.0.7": + version "0.0.7" + resolved "https://registry.yarnpkg.com/@nibiruchain/solidity/-/solidity-0.0.7.tgz#29a06b1e93bfbb57b13a38df8eb6fe0ddf604f8b" + integrity sha512-WXAo6HyMlRtUf7PBYFhYWRRf6rW0rdspuDmbkL0clxSVwz+RFxYd7lAWrrr1oIAalH1OJxe4xpqcM8CWPh8N/g== + dependencies: + "@nomicfoundation/hardhat-ethers" "^3.0.0" + "@nomicfoundation/hardhat-ignition-ethers" "^0.15.0" + "@nomicfoundation/hardhat-network-helpers" "^1.0.0" + "@nomicfoundation/hardhat-verify" "^2.0.0" + "@nomicfoundation/ignition-core" "^0.15.11" + "@openzeppelin/contracts" "^4.9.0" + "@typechain/ethers-v6" "^0.5.0" + "@typechain/hardhat" "^9.0.0" + "@types/chai" "^4.2.0" + "@types/mocha" ">=9.1.0" + chai "^4.2.0" + ethers "^6.4.0" + hardhat-gas-reporter "^1.0.8" + solidity-coverage "^0.8.1" + ts-node ">=8.0.0" + typechain "^8.3.0" + typescript ">=4.5.0" + +"@noble/ciphers@1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@noble/ciphers/-/ciphers-1.2.1.tgz#3812b72c057a28b44ff0ad4aff5ca846e5b9cdc9" + integrity sha512-rONPWMC7PeExE077uLE4oqWrZ1IvAfz3oH9LibVAcVCopJiA9R62uavnbEzdkVmJYI6M6Zgkbeb07+tWjlq2XA== + +"@noble/ciphers@^1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@noble/ciphers/-/ciphers-1.3.0.tgz#f64b8ff886c240e644e5573c097f86e5b43676dc" + integrity sha512-2I0gnIVPtfnMw9ee9h1dJG7tp81+8Ob3OJb3Mv37rx5L40/b0i7djjCVvGOVqc9AEIQyvyu1i6ypKdFw8R8gQw== + +"@noble/curves@1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.2.0.tgz#92d7e12e4e49b23105a2555c6984d41733d65c35" + integrity sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw== + dependencies: + "@noble/hashes" "1.3.2" + +"@noble/curves@1.4.2", "@noble/curves@~1.4.0": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.4.2.tgz#40309198c76ed71bc6dbf7ba24e81ceb4d0d1fe9" + integrity sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw== + dependencies: + "@noble/hashes" "1.4.0" + +"@noble/curves@1.8.0": + version "1.8.0" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.8.0.tgz#fe035a23959e6aeadf695851b51a87465b5ba8f7" + integrity sha512-j84kjAbzEnQHaSIhRPUmB3/eVXu2k3dKPl2LOrR8fSOIL+89U+7lV117EWHtq/GHM3ReGHM46iRBdZfpc4HRUQ== + dependencies: + "@noble/hashes" "1.7.0" + +"@noble/curves@1.8.1": + version "1.8.1" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.8.1.tgz#19bc3970e205c99e4bdb1c64a4785706bce497ff" + integrity sha512-warwspo+UYUPep0Q+vtdVB4Ugn8GGQj8iyB3gnRWsztmUHTI3S1nhdiWNsPUGL0vud7JlRRk1XEu7Lq1KGTnMQ== + dependencies: + "@noble/hashes" "1.7.1" + +"@noble/curves@1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.9.1.tgz#9654a0bc6c13420ae252ddcf975eaf0f58f0a35c" + integrity sha512-k11yZxZg+t+gWvBbIswW0yoJlu8cHOC7dhunwOzoWH/mXGBiYyR4YY6hAEK/3EUs4UpB8la1RfdRpeGsFHkWsA== + dependencies: + "@noble/hashes" "1.8.0" + +"@noble/curves@^1.4.2", "@noble/curves@^1.6.0", "@noble/curves@^1.9.7", "@noble/curves@~1.9.0": + version "1.9.7" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.9.7.tgz#79d04b4758a43e4bca2cbdc62e7771352fa6b951" + integrity sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw== + dependencies: + "@noble/hashes" "1.8.0" + +"@noble/curves@~1.8.1": + version "1.8.2" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.8.2.tgz#8f24c037795e22b90ae29e222a856294c1d9ffc7" + integrity sha512-vnI7V6lFNe0tLAuJMu+2sX+FcL14TaCWy1qiczg1VwRmPrpQCdq5ESXQMqUc2tluRNf6irBXrWbl1mGN8uaU/g== + dependencies: + "@noble/hashes" "1.7.2" + +"@noble/hashes@1.2.0", "@noble/hashes@~1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.2.0.tgz#a3150eeb09cc7ab207ebf6d7b9ad311a9bdbed12" + integrity sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ== + +"@noble/hashes@1.3.2": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.2.tgz#6f26dbc8fbc7205873ce3cee2f690eba0d421b39" + integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ== + +"@noble/hashes@1.4.0", "@noble/hashes@~1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.4.0.tgz#45814aa329f30e4fe0ba49426f49dfccdd066426" + integrity sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg== + +"@noble/hashes@1.7.0": + version "1.7.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.7.0.tgz#5d9e33af2c7d04fee35de1519b80c958b2e35e39" + integrity sha512-HXydb0DgzTpDPwbVeDGCG1gIu7X6+AuU6Zl6av/E/KG8LMsvPntvq+w17CHRpKBmN6Ybdrt1eP3k4cj8DJa78w== + +"@noble/hashes@1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.7.1.tgz#5738f6d765710921e7a751e00c20ae091ed8db0f" + integrity sha512-B8XBPsn4vT/KJAGqDzbwztd+6Yte3P4V7iafm24bxgDe/mlRuK6xmWPuCNrKt2vDafZ8MfJLlchDG/vYafQEjQ== + +"@noble/hashes@1.7.2", "@noble/hashes@~1.7.1": + version "1.7.2" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.7.2.tgz#d53c65a21658fb02f3303e7ee3ba89d6754c64b4" + integrity sha512-biZ0NUSxyjLLqo6KxEJ1b+C2NAx0wtDoFvCaXHGgUkeHzf3Xc1xKumFKREuT7f7DARNZ/slvYUwFG6B0f2b6hQ== + +"@noble/hashes@1.8.0", "@noble/hashes@^1.3.1", "@noble/hashes@^1.4.0", "@noble/hashes@^1.5.0", "@noble/hashes@^1.8.0", "@noble/hashes@~1.8.0": + version "1.8.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.8.0.tgz#cee43d801fcef9644b11b8194857695acd5f815a" + integrity sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A== + "@noble/hashes@^1", "@noble/hashes@^1.0.0": version "1.3.1" resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.1.tgz" integrity sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA== +"@noble/secp256k1@1.7.1": + version "1.7.1" + resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.7.1.tgz#b251c70f824ce3ca7f8dc3df08d58f005cc0507c" + integrity sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw== + +"@noble/secp256k1@~1.7.0": + version "1.7.2" + resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.7.2.tgz#c2c3343e2dce80e15a914d7442147507f8a98e7f" + integrity sha512-/qzwYl5eFLH8OWIecQWM31qld2g1NfjgylK+TNhqtaUKP37Nm+Y+z30Fjhw0Ct8p9yCQEm2N3W/AckdIb3SMcQ== + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" @@ -1777,6 +2734,104 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@nomicfoundation/hardhat-ethers@^3.0.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-ethers/-/hardhat-ethers-3.1.2.tgz#8f9e6ee32514e9a65b047735dca2c02c60e814ed" + integrity sha512-7xEaz2X8p47qWIAqtV2z03MmusheHm8bvY2mDlxo9JiT2BgSx59GSdv5+mzwOvsuKDbTij7oqDnwFyYOlHREEQ== + dependencies: + debug "^4.1.1" + lodash.isequal "^4.5.0" + +"@nomicfoundation/hardhat-ignition-ethers@^0.15.0": + version "0.15.16" + resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-ignition-ethers/-/hardhat-ignition-ethers-0.15.16.tgz#1de7caf01b909ce00b11efaf8d5708844d9778e1" + integrity sha512-OXC1jLX06YFgzFero9AjHUSwB39CLWPiBAJj5ZoDJiTnAbH1DvnQSt8sUJuZRrrL+WH8sQbcB4hjkPcR0B5hAA== + +"@nomicfoundation/hardhat-network-helpers@^1.0.0": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-network-helpers/-/hardhat-network-helpers-1.1.2.tgz#24ba943d27099f09f9a188f04cdfe7c136d5aafc" + integrity sha512-p7HaUVDbLj7ikFivQVNhnfMHUBgiHYMwQWvGn9AriieuopGOELIrwj2KjyM2a6z70zai5YKO264Vwz+3UFJZPQ== + dependencies: + ethereumjs-util "^7.1.4" + +"@nomicfoundation/hardhat-verify@^2.0.0": + version "2.1.3" + resolved "https://registry.yarnpkg.com/@nomicfoundation/hardhat-verify/-/hardhat-verify-2.1.3.tgz#f61a192a792b39f9978cef1450047deaff3ea052" + integrity sha512-danbGjPp2WBhLkJdQy9/ARM3WQIK+7vwzE0urNem1qZJjh9f54Kf5f1xuQv8DvqewUAkuPxVt/7q4Grz5WjqSg== + dependencies: + "@ethersproject/abi" "^5.1.2" + "@ethersproject/address" "^5.0.2" + cbor "^8.1.0" + debug "^4.1.1" + lodash.clonedeep "^4.5.0" + picocolors "^1.1.0" + semver "^6.3.0" + table "^6.8.0" + undici "^5.14.0" + +"@nomicfoundation/ignition-core@^0.15.11": + version "0.15.14" + resolved "https://registry.yarnpkg.com/@nomicfoundation/ignition-core/-/ignition-core-0.15.14.tgz#3e06098d25dc3d6362b27f10d8a89241cbb03e61" + integrity sha512-BRgNaApHTdmk0NNTVYMltRXUFQGaWKHKnaaOyp9TG/BsUUkW3mH1ds5+rM4UBUIHivIyh3fKFDCOGJIJcQG9aw== + dependencies: + "@ethersproject/address" "5.6.1" + "@nomicfoundation/solidity-analyzer" "^0.1.1" + cbor "^9.0.0" + debug "^4.3.2" + ethers "^6.14.0" + fs-extra "^10.0.0" + immer "10.0.2" + lodash "4.17.21" + ndjson "2.0.0" + +"@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-darwin-arm64/-/solidity-analyzer-darwin-arm64-0.1.2.tgz#3a9c3b20d51360b20affb8f753e756d553d49557" + integrity sha512-JaqcWPDZENCvm++lFFGjrDd8mxtf+CtLd2MiXvMNTBD33dContTZ9TWETwNFwg7JTJT5Q9HEecH7FA+HTSsIUw== + +"@nomicfoundation/solidity-analyzer-darwin-x64@0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-darwin-x64/-/solidity-analyzer-darwin-x64-0.1.2.tgz#74dcfabeb4ca373d95bd0d13692f44fcef133c28" + integrity sha512-fZNmVztrSXC03e9RONBT+CiksSeYcxI1wlzqyr0L7hsQlK1fzV+f04g2JtQ1c/Fe74ZwdV6aQBdd6Uwl1052sw== + +"@nomicfoundation/solidity-analyzer-linux-arm64-gnu@0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-arm64-gnu/-/solidity-analyzer-linux-arm64-gnu-0.1.2.tgz#4af5849a89e5a8f511acc04f28eb5d4460ba2b6a" + integrity sha512-3d54oc+9ZVBuB6nbp8wHylk4xh0N0Gc+bk+/uJae+rUgbOBwQSfuGIbAZt1wBXs5REkSmynEGcqx6DutoK0tPA== + +"@nomicfoundation/solidity-analyzer-linux-arm64-musl@0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-arm64-musl/-/solidity-analyzer-linux-arm64-musl-0.1.2.tgz#54036808a9a327b2ff84446c130a6687ee702a8e" + integrity sha512-iDJfR2qf55vgsg7BtJa7iPiFAsYf2d0Tv/0B+vhtnI16+wfQeTbP7teookbGvAo0eJo7aLLm0xfS/GTkvHIucA== + +"@nomicfoundation/solidity-analyzer-linux-x64-gnu@0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-x64-gnu/-/solidity-analyzer-linux-x64-gnu-0.1.2.tgz#466cda0d6e43691986c944b909fc6dbb8cfc594e" + integrity sha512-9dlHMAt5/2cpWyuJ9fQNOUXFB/vgSFORg1jpjX1Mh9hJ/MfZXlDdHQ+DpFCs32Zk5pxRBb07yGvSHk9/fezL+g== + +"@nomicfoundation/solidity-analyzer-linux-x64-musl@0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-x64-musl/-/solidity-analyzer-linux-x64-musl-0.1.2.tgz#2b35826987a6e94444140ac92310baa088ee7f94" + integrity sha512-GzzVeeJob3lfrSlDKQw2bRJ8rBf6mEYaWY+gW0JnTDHINA0s2gPR4km5RLIj1xeZZOYz4zRw+AEeYgLRqB2NXg== + +"@nomicfoundation/solidity-analyzer-win32-x64-msvc@0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-win32-x64-msvc/-/solidity-analyzer-win32-x64-msvc-0.1.2.tgz#e6363d13b8709ca66f330562337dbc01ce8bbbd9" + integrity sha512-Fdjli4DCcFHb4Zgsz0uEJXZ2K7VEO+w5KVv7HmT7WO10iODdU9csC2az4jrhEsRtiR9Gfd74FlG0NYlw1BMdyA== + +"@nomicfoundation/solidity-analyzer@^0.1.1": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer/-/solidity-analyzer-0.1.2.tgz#8bcea7d300157bf3a770a851d9f5c5e2db34ac55" + integrity sha512-q4n32/FNKIhQ3zQGGw5CvPF6GTvDCpYwIf7bEY/dZTZbgfDsHyjJwURxUJf3VQuuJj+fDIFl4+KkBVbw4Ef6jA== + optionalDependencies: + "@nomicfoundation/solidity-analyzer-darwin-arm64" "0.1.2" + "@nomicfoundation/solidity-analyzer-darwin-x64" "0.1.2" + "@nomicfoundation/solidity-analyzer-linux-arm64-gnu" "0.1.2" + "@nomicfoundation/solidity-analyzer-linux-arm64-musl" "0.1.2" + "@nomicfoundation/solidity-analyzer-linux-x64-gnu" "0.1.2" + "@nomicfoundation/solidity-analyzer-linux-x64-musl" "0.1.2" + "@nomicfoundation/solidity-analyzer-win32-x64-msvc" "0.1.2" + "@npmcli/arborist@^5.6.3": version "5.6.3" resolved "https://registry.npmjs.org/@npmcli/arborist/-/arborist-5.6.3.tgz" @@ -2054,6 +3109,11 @@ dependencies: "@octokit/openapi-types" "^18.0.0" +"@openzeppelin/contracts@^4.9.0": + version "4.9.6" + resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-4.9.6.tgz#2a880a24eb19b4f8b25adc2a5095f2aa27f39677" + integrity sha512-xSmezSupL+y9VkHZJGDoCBpmnB2ogM13ccaYDWqJTfS3dbuHkgjuwDFUmaFauBCboQMGB/S5UqUl2y54X99BmA== + "@parcel/watcher-android-arm64@2.2.0": version "2.2.0" resolved "https://registry.yarnpkg.com/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.2.0.tgz#3d1a71f251ba829ab884dfe119cc4f4c49c7222b" @@ -2125,6 +3185,11 @@ "@parcel/watcher-win32-arm64" "2.2.0" "@parcel/watcher-win32-x64" "2.2.0" +"@paulmillr/qr@^0.2.1": + version "0.2.1" + resolved "https://registry.yarnpkg.com/@paulmillr/qr/-/qr-0.2.1.tgz#76ade7080be4ac4824f638146fd8b6db1805eeca" + integrity sha512-IHnV6A+zxU7XwmKFinmYjUcwlyK9+xkG3/s9KcQhI9BjQKycrJ1JRO+FbNYPwZiPKW3je/DR0k7w8/gLa5eaxQ== + "@peculiar/asn1-schema@^2.3.6": version "2.3.6" resolved "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.3.6.tgz" @@ -2231,11 +3296,215 @@ resolved "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz" integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== +"@reown/appkit-common@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@reown/appkit-common/-/appkit-common-1.7.8.tgz#6fc29db977b7325e8170b1fd08176fe15ea0b39c" + integrity sha512-ridIhc/x6JOp7KbDdwGKY4zwf8/iK8EYBl+HtWrruutSLwZyVi5P8WaZa+8iajL6LcDcDF7LoyLwMTym7SRuwQ== + dependencies: + big.js "6.2.2" + dayjs "1.11.13" + viem ">=2.29.0" + +"@reown/appkit-controllers@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@reown/appkit-controllers/-/appkit-controllers-1.7.8.tgz#0e4c24afaacca2251745c8844463589dda6d9e66" + integrity sha512-IdXlJlivrlj6m63VsGLsjtPHHsTWvKGVzWIP1fXZHVqmK+rZCBDjCi9j267Rb9/nYRGHWBtlFQhO8dK35WfeDA== + dependencies: + "@reown/appkit-common" "1.7.8" + "@reown/appkit-wallet" "1.7.8" + "@walletconnect/universal-provider" "2.21.0" + valtio "1.13.2" + viem ">=2.29.0" + +"@reown/appkit-pay@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@reown/appkit-pay/-/appkit-pay-1.7.8.tgz#c1ff423635869578f6ad12e6c08180c0532bf8ab" + integrity sha512-OSGQ+QJkXx0FEEjlpQqIhT8zGJKOoHzVnyy/0QFrl3WrQTjCzg0L6+i91Ad5Iy1zb6V5JjqtfIFpRVRWN4M3pw== + dependencies: + "@reown/appkit-common" "1.7.8" + "@reown/appkit-controllers" "1.7.8" + "@reown/appkit-ui" "1.7.8" + "@reown/appkit-utils" "1.7.8" + lit "3.3.0" + valtio "1.13.2" + +"@reown/appkit-polyfills@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@reown/appkit-polyfills/-/appkit-polyfills-1.7.8.tgz#a0d362df8479cc66b7c6aa89e696f30783a3d21b" + integrity sha512-W/kq786dcHHAuJ3IV2prRLEgD/2iOey4ueMHf1sIFjhhCGMynMkhsOhQMUH0tzodPqUgAC494z4bpIDYjwWXaA== + dependencies: + buffer "6.0.3" + +"@reown/appkit-scaffold-ui@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@reown/appkit-scaffold-ui/-/appkit-scaffold-ui-1.7.8.tgz#36b5eb71b2e4d6525fa9a696af5c4ae83ae17f63" + integrity sha512-RCeHhAwOrIgcvHwYlNWMcIDibdI91waaoEYBGw71inE0kDB8uZbE7tE6DAXJmDkvl0qPh+DqlC4QbJLF1FVYdQ== + dependencies: + "@reown/appkit-common" "1.7.8" + "@reown/appkit-controllers" "1.7.8" + "@reown/appkit-ui" "1.7.8" + "@reown/appkit-utils" "1.7.8" + "@reown/appkit-wallet" "1.7.8" + lit "3.3.0" + +"@reown/appkit-ui@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@reown/appkit-ui/-/appkit-ui-1.7.8.tgz#014b30a7378cfc685aa1d5a543d59ac5a9dd8ed2" + integrity sha512-1hjCKjf6FLMFzrulhl0Y9Vb9Fu4royE+SXCPSWh4VhZhWqlzUFc7kutnZKx8XZFVQH4pbBvY62SpRC93gqoHow== + dependencies: + "@reown/appkit-common" "1.7.8" + "@reown/appkit-controllers" "1.7.8" + "@reown/appkit-wallet" "1.7.8" + lit "3.3.0" + qrcode "1.5.3" + +"@reown/appkit-utils@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@reown/appkit-utils/-/appkit-utils-1.7.8.tgz#86a35184976a9ba8a935ba44ca68567eea10fba0" + integrity sha512-8X7UvmE8GiaoitCwNoB86pttHgQtzy4ryHZM9kQpvjQ0ULpiER44t1qpVLXNM4X35O0v18W0Dk60DnYRMH2WRw== + dependencies: + "@reown/appkit-common" "1.7.8" + "@reown/appkit-controllers" "1.7.8" + "@reown/appkit-polyfills" "1.7.8" + "@reown/appkit-wallet" "1.7.8" + "@walletconnect/logger" "2.1.2" + "@walletconnect/universal-provider" "2.21.0" + valtio "1.13.2" + viem ">=2.29.0" + +"@reown/appkit-wallet@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@reown/appkit-wallet/-/appkit-wallet-1.7.8.tgz#291b8c225fd3c2585d1f3e65c689a791d5ce3e5d" + integrity sha512-kspz32EwHIOT/eg/ZQbFPxgXq0B/olDOj3YMu7gvLEFz4xyOFd/wgzxxAXkp5LbG4Cp++s/elh79rVNmVFdB9A== + dependencies: + "@reown/appkit-common" "1.7.8" + "@reown/appkit-polyfills" "1.7.8" + "@walletconnect/logger" "2.1.2" + zod "3.22.4" + +"@reown/appkit@1.7.8": + version "1.7.8" + resolved "https://registry.yarnpkg.com/@reown/appkit/-/appkit-1.7.8.tgz#6174bca032a4a2bf4fcfc78969e09210dff85214" + integrity sha512-51kTleozhA618T1UvMghkhKfaPcc9JlKwLJ5uV+riHyvSoWPKPRIa5A6M1Wano5puNyW0s3fwywhyqTHSilkaA== + dependencies: + "@reown/appkit-common" "1.7.8" + "@reown/appkit-controllers" "1.7.8" + "@reown/appkit-pay" "1.7.8" + "@reown/appkit-polyfills" "1.7.8" + "@reown/appkit-scaffold-ui" "1.7.8" + "@reown/appkit-ui" "1.7.8" + "@reown/appkit-utils" "1.7.8" + "@reown/appkit-wallet" "1.7.8" + "@walletconnect/types" "2.21.0" + "@walletconnect/universal-provider" "2.21.0" + bs58 "6.0.0" + valtio "1.13.2" + viem ">=2.29.0" + "@repeaterjs/repeater@^3.0.4": version "3.0.4" resolved "https://registry.npmjs.org/@repeaterjs/repeater/-/repeater-3.0.4.tgz" integrity sha512-AW8PKd6iX3vAZ0vA43nOUOnbq/X5ihgU+mSXXqunMkeQADGiqw/PY0JNeYtD5sr0PAy51YPgAPbDoeapv9r8WA== +"@safe-global/safe-apps-provider@0.18.6": + version "0.18.6" + resolved "https://registry.yarnpkg.com/@safe-global/safe-apps-provider/-/safe-apps-provider-0.18.6.tgz#b5756176549e35350b7e090824b71507a0d1f749" + integrity sha512-4LhMmjPWlIO8TTDC2AwLk44XKXaK6hfBTWyljDm0HQ6TWlOEijVWNrt2s3OCVMSxlXAcEzYfqyu1daHZooTC2Q== + dependencies: + "@safe-global/safe-apps-sdk" "^9.1.0" + events "^3.3.0" + +"@safe-global/safe-apps-sdk@9.1.0", "@safe-global/safe-apps-sdk@^9.1.0": + version "9.1.0" + resolved "https://registry.yarnpkg.com/@safe-global/safe-apps-sdk/-/safe-apps-sdk-9.1.0.tgz#0e65913e0f202e529ed3c846e0f5a98c2d35aa98" + integrity sha512-N5p/ulfnnA2Pi2M3YeWjULeWbjo7ei22JwU/IXnhoHzKq3pYCN6ynL9mJBOlvDVv892EgLPCWCOwQk/uBT2v0Q== + dependencies: + "@safe-global/safe-gateway-typescript-sdk" "^3.5.3" + viem "^2.1.1" + +"@safe-global/safe-gateway-typescript-sdk@^3.5.3": + version "3.23.1" + resolved "https://registry.yarnpkg.com/@safe-global/safe-gateway-typescript-sdk/-/safe-gateway-typescript-sdk-3.23.1.tgz#1e86d471bcd2adb0f777246ccbea6fa39618e02c" + integrity sha512-6ORQfwtEJYpalCeVO21L4XXGSdbEMfyp2hEv6cP82afKXSwvse6d3sdelgaPWUxHIsFRkWvHDdzh8IyyKHZKxw== + +"@scure/base@^1.1.3", "@scure/base@~1.2.2", "@scure/base@~1.2.4", "@scure/base@~1.2.5": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.2.6.tgz#ca917184b8231394dd8847509c67a0be522e59f6" + integrity sha512-g/nm5FgUa//MCj1gV09zTJTaM6KBAHqLN907YVQqf7zC49+DcO4B1so4ZX07Ef10Twr6nuqYEH9GEggFXA4Fmg== + +"@scure/base@~1.1.0", "@scure/base@~1.1.6": + version "1.1.9" + resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.9.tgz#e5e142fbbfe251091f9c5f1dd4c834ac04c3dbd1" + integrity sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg== + +"@scure/bip32@1.1.5": + version "1.1.5" + resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.1.5.tgz#d2ccae16dcc2e75bc1d75f5ef3c66a338d1ba300" + integrity sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw== + dependencies: + "@noble/hashes" "~1.2.0" + "@noble/secp256k1" "~1.7.0" + "@scure/base" "~1.1.0" + +"@scure/bip32@1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.4.0.tgz#4e1f1e196abedcef395b33b9674a042524e20d67" + integrity sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg== + dependencies: + "@noble/curves" "~1.4.0" + "@noble/hashes" "~1.4.0" + "@scure/base" "~1.1.6" + +"@scure/bip32@1.6.2": + version "1.6.2" + resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.6.2.tgz#093caa94961619927659ed0e711a6e4bf35bffd0" + integrity sha512-t96EPDMbtGgtb7onKKqxRLfE5g05k7uHnHRM2xdE6BP/ZmxaLtPek4J4KfVn/90IQNrU1IOAqMgiDtUdtbe3nw== + dependencies: + "@noble/curves" "~1.8.1" + "@noble/hashes" "~1.7.1" + "@scure/base" "~1.2.2" + +"@scure/bip32@1.7.0", "@scure/bip32@^1.5.0", "@scure/bip32@^1.7.0": + version "1.7.0" + resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.7.0.tgz#b8683bab172369f988f1589640e53c4606984219" + integrity sha512-E4FFX/N3f4B80AKWp5dP6ow+flD1LQZo/w8UnLGYZO674jS6YnYeepycOOksv+vLPSpgN35wgKgy+ybfTb2SMw== + dependencies: + "@noble/curves" "~1.9.0" + "@noble/hashes" "~1.8.0" + "@scure/base" "~1.2.5" + +"@scure/bip39@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.1.1.tgz#b54557b2e86214319405db819c4b6a370cf340c5" + integrity sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg== + dependencies: + "@noble/hashes" "~1.2.0" + "@scure/base" "~1.1.0" + +"@scure/bip39@1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.3.0.tgz#0f258c16823ddd00739461ac31398b4e7d6a18c3" + integrity sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ== + dependencies: + "@noble/hashes" "~1.4.0" + "@scure/base" "~1.1.6" + +"@scure/bip39@1.5.4": + version "1.5.4" + resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.5.4.tgz#07fd920423aa671be4540d59bdd344cc1461db51" + integrity sha512-TFM4ni0vKvCfBpohoh+/lY05i9gRbSwXWngAsF4CABQxoaOHijxuaZ2R6cStDQ5CHtHO9aGJTr4ksVJASRRyMA== + dependencies: + "@noble/hashes" "~1.7.1" + "@scure/base" "~1.2.4" + +"@scure/bip39@1.6.0", "@scure/bip39@^1.4.0", "@scure/bip39@^1.6.0": + version "1.6.0" + resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.6.0.tgz#475970ace440d7be87a6086cbee77cb8f1a684f9" + integrity sha512-+lF0BbLiJNwVlev4eKelw1WWLaiKXw7sSl8T6FvBlWkdX+94aGJ4o8XjUdlyhTCjd8c+B3KT3JfS8P0bLRNU6A== + dependencies: + "@noble/hashes" "~1.8.0" + "@scure/base" "~1.2.5" + "@semantic-release/changelog@^6.0.3": version "6.0.3" resolved "https://registry.npmjs.org/@semantic-release/changelog/-/changelog-6.0.3.tgz" @@ -2355,91 +3624,628 @@ dependencies: "@sinonjs/commons" "^3.0.0" -"@tootallnate/once@2": - version "2.0.0" - resolved "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz" - integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== +"@socket.io/component-emitter@~3.1.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz#821f8442f4175d8f0467b9daf26e3a18e2d02af2" + integrity sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA== -"@tsconfig/node10@^1.0.7": - version "1.0.9" - resolved "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz" - integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== +"@solana-program/system@^0.8.0": + version "0.8.1" + resolved "https://registry.yarnpkg.com/@solana-program/system/-/system-0.8.1.tgz#0711362899ee4a76d2dc0a8ca5176e3426b8458c" + integrity sha512-71U9Mzdpw8HQtfgfJSL5xKZbLMRnza2Llsfk7gGnmg2waqK+o8MMH4YNma8xXS1UmOBptXIiNvoZ3p7cmOVktg== -"@tsconfig/node12@^1.0.7": - version "1.0.11" - resolved "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz" - integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== +"@solana-program/token@^0.6.0": + version "0.6.0" + resolved "https://registry.yarnpkg.com/@solana-program/token/-/token-0.6.0.tgz#474f7a657991ced5016d1e1d58789c9d5ea41176" + integrity sha512-omkZh4Tt9rre4wzWHNOhOEHyenXQku3xyc/UrKvShexA/Qlhza67q7uRwmwEDUs4QqoDBidSZPooOmepnA/jig== -"@tsconfig/node14@^1.0.0": - version "1.0.3" - resolved "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz" - integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== +"@solana/accounts@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@solana/accounts/-/accounts-3.0.3.tgz#29207bbcac3cf6a7afefcb87559edc3de1938595" + integrity sha512-KqlePrlZaHXfu8YQTCxN204ZuVm9o68CCcUr6l27MG2cuRUtEM1Ta0iR8JFkRUAEfZJC4Cu0ZDjK/v49loXjZQ== + dependencies: + "@solana/addresses" "3.0.3" + "@solana/codecs-core" "3.0.3" + "@solana/codecs-strings" "3.0.3" + "@solana/errors" "3.0.3" + "@solana/rpc-spec" "3.0.3" + "@solana/rpc-types" "3.0.3" -"@tsconfig/node16@^1.0.2": - version "1.0.4" - resolved "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz" - integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== +"@solana/addresses@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@solana/addresses/-/addresses-3.0.3.tgz#cb21eda40984e587619677e19d9be02affdee962" + integrity sha512-AuMwKhJI89ANqiuJ/fawcwxNKkSeHH9CApZd2xelQQLS7X8uxAOovpcmEgiObQuiVP944s9ScGUT62Bdul9qYg== + dependencies: + "@solana/assertions" "3.0.3" + "@solana/codecs-core" "3.0.3" + "@solana/codecs-strings" "3.0.3" + "@solana/errors" "3.0.3" + "@solana/nominal-types" "3.0.3" -"@types/babel__core@^7.1.14": - version "7.20.1" - resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz" - integrity sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw== +"@solana/assertions@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@solana/assertions/-/assertions-3.0.3.tgz#dcb17d20071283161ce06bb251bd22c4ae672078" + integrity sha512-2qspxdbWp2y62dfCIlqeWQr4g+hE8FYSSwcaP6itwMwGRb8393yDGCJfI/znuzJh6m/XVWhMHIgFgsBwnevCmg== dependencies: - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" + "@solana/errors" "3.0.3" -"@types/babel__generator@*": - version "7.6.4" - resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz" - integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== +"@solana/buffer-layout@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz#b996235eaec15b1e0b5092a8ed6028df77fa6c15" + integrity sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA== dependencies: - "@babel/types" "^7.0.0" + buffer "~6.0.3" -"@types/babel__template@*": - version "7.4.1" - resolved "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz" - integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== +"@solana/codecs-core@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@solana/codecs-core/-/codecs-core-2.3.0.tgz#6bf2bb565cb1ae880f8018635c92f751465d8695" + integrity sha512-oG+VZzN6YhBHIoSKgS5ESM9VIGzhWjEHEGNPSibiDTxFhsFWxNaz8LbMDPjBUE69r9wmdGLkrQ+wVPbnJcZPvw== dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" + "@solana/errors" "2.3.0" -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.20.1" - resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz" - integrity sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg== +"@solana/codecs-core@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@solana/codecs-core/-/codecs-core-3.0.3.tgz#c85130c2afdc98a1508809dfe596f970cc6094bb" + integrity sha512-emKykJ3h1DmnDOY29Uv9eJXP8E/FHzvlUBJ6te+5EbKdFjj7vdlKYPfDxOI6iGdXTY+YC/ELtbNBh6QwF2uEDQ== dependencies: - "@babel/types" "^7.20.7" + "@solana/errors" "3.0.3" -"@types/graceful-fs@^4.1.3": - version "4.1.6" - resolved "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz" - integrity sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw== +"@solana/codecs-data-structures@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@solana/codecs-data-structures/-/codecs-data-structures-3.0.3.tgz#3379a7578f26539994cdc58d65b2bffb54fe3ecb" + integrity sha512-R15cLp8riJvToXziW8lP6AMSwsztGhEnwgyGmll32Mo0Yjq+hduW2/fJrA/TJs6tA/OgTzMQjlxgk009EqZHCw== dependencies: - "@types/node" "*" + "@solana/codecs-core" "3.0.3" + "@solana/codecs-numbers" "3.0.3" + "@solana/errors" "3.0.3" -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.4" - resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz" - integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== +"@solana/codecs-numbers@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@solana/codecs-numbers/-/codecs-numbers-3.0.3.tgz#d7f867e81754dbcc81d50a6073d37c1adc12634a" + integrity sha512-pfXkH9J0glrM8qj6389GAn30+cJOxzXLR2FsPOHCUMXrqLhGjMMZAWhsQkpOQ37SGc/7EiQsT/gmyGC7gxHqJQ== + dependencies: + "@solana/codecs-core" "3.0.3" + "@solana/errors" "3.0.3" -"@types/istanbul-lib-report@*": - version "3.0.0" - resolved "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" - integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== +"@solana/codecs-numbers@^2.1.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@solana/codecs-numbers/-/codecs-numbers-2.3.0.tgz#ac7e7f38aaf7fcd22ce2061fbdcd625e73828dc6" + integrity sha512-jFvvwKJKffvG7Iz9dmN51OGB7JBcy2CJ6Xf3NqD/VP90xak66m/Lg48T01u5IQ/hc15mChVHiBm+HHuOFDUrQg== dependencies: - "@types/istanbul-lib-coverage" "*" + "@solana/codecs-core" "2.3.0" + "@solana/errors" "2.3.0" -"@types/istanbul-reports@^3.0.0": - version "3.0.1" - resolved "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz" - integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== +"@solana/codecs-strings@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@solana/codecs-strings/-/codecs-strings-3.0.3.tgz#2abe7a46a8721c28b71670a2dd97c41b17a94ec5" + integrity sha512-VHBXnnTVtcQ1j+7Vrz+qSYo38no+jiHRdGnhFspRXEHNJbllzwKqgBE7YN3qoIXH+MKxgJUcwO5KHmdzf8Wn2A== dependencies: - "@types/istanbul-lib-report" "*" + "@solana/codecs-core" "3.0.3" + "@solana/codecs-numbers" "3.0.3" + "@solana/errors" "3.0.3" -"@types/jest@^29.1.2": +"@solana/codecs@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@solana/codecs/-/codecs-3.0.3.tgz#1d417dca4f3d0d3a51d27c822e7b23778cbc7450" + integrity sha512-GOHwTlIQsCoJx9Ryr6cEf0FHKAQ7pY4aO4xgncAftrv0lveTQ1rPP2inQ1QT0gJllsIa8nwbfXAADs9nNJxQDA== + dependencies: + "@solana/codecs-core" "3.0.3" + "@solana/codecs-data-structures" "3.0.3" + "@solana/codecs-numbers" "3.0.3" + "@solana/codecs-strings" "3.0.3" + "@solana/options" "3.0.3" + +"@solana/errors@2.3.0": + version "2.3.0" + resolved "https://registry.yarnpkg.com/@solana/errors/-/errors-2.3.0.tgz#4ac9380343dbeffb9dffbcb77c28d0e457c5fa31" + integrity sha512-66RI9MAbwYV0UtP7kGcTBVLxJgUxoZGm8Fbc0ah+lGiAw17Gugco6+9GrJCV83VyF2mDWyYnYM9qdI3yjgpnaQ== + dependencies: + chalk "^5.4.1" + commander "^14.0.0" + +"@solana/errors@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@solana/errors/-/errors-3.0.3.tgz#e3d4e78dbf7a792d34ed2492d9dee471968d516b" + integrity sha512-1l84xJlHNva6io62PcYfUamwWlc0eM95nHgCrKX0g0cLoC6D6QHYPCEbEVkR+C5UtP9JDgyQM8MFiv+Ei5tO9Q== + dependencies: + chalk "5.6.2" + commander "14.0.0" + +"@solana/fast-stable-stringify@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@solana/fast-stable-stringify/-/fast-stable-stringify-3.0.3.tgz#cc0e003600e9afd109ac8d19a2fe8aaaf1adbaa0" + integrity sha512-ED0pxB6lSEYvg+vOd5hcuQrgzEDnOrURFgp1ZOY+lQhJkQU6xo+P829NcJZQVP1rdU2/YQPAKJKEseyfe9VMIw== + +"@solana/functional@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@solana/functional/-/functional-3.0.3.tgz#3b5b1f06fa2e0b388e973c4bd3081c6fd227f99a" + integrity sha512-2qX1kKANn8995vOOh5S9AmF4ItGZcfbny0w28Eqy8AFh+GMnSDN4gqpmV2LvxBI9HibXZptGH3RVOMk82h1Mpw== + +"@solana/instruction-plans@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@solana/instruction-plans/-/instruction-plans-3.0.3.tgz#8449477b2126f00bb4e6bfab5f06b3d5810abd5e" + integrity sha512-eqoaPtWtmLTTpdvbt4BZF5H6FIlJtXi9H7qLOM1dLYonkOX2Ncezx5NDCZ9tMb2qxVMF4IocYsQnNSnMfjQF1w== + dependencies: + "@solana/errors" "3.0.3" + "@solana/instructions" "3.0.3" + "@solana/promises" "3.0.3" + "@solana/transaction-messages" "3.0.3" + "@solana/transactions" "3.0.3" + +"@solana/instructions@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@solana/instructions/-/instructions-3.0.3.tgz#a10663974a805c3bcf134c9e50c1583f34372afb" + integrity sha512-4csIi8YUDb5j/J+gDzmYtOvq7ZWLbCxj4t0xKn+fPrBk/FD2pK29KVT3Fu7j4Lh1/ojunQUP9X4NHwUexY3PnA== + dependencies: + "@solana/codecs-core" "3.0.3" + "@solana/errors" "3.0.3" + +"@solana/keys@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@solana/keys/-/keys-3.0.3.tgz#d20619c0c80852f4c4c5056b5e775a84f333fbe3" + integrity sha512-tp8oK9tMadtSIc4vF4aXXWkPd4oU5XPW8nf28NgrGDWGt25fUHIydKjkf2hPtMt9i1WfRyQZ33B5P3dnsNqcPQ== + dependencies: + "@solana/assertions" "3.0.3" + "@solana/codecs-core" "3.0.3" + "@solana/codecs-strings" "3.0.3" + "@solana/errors" "3.0.3" + "@solana/nominal-types" "3.0.3" + +"@solana/kit@^3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@solana/kit/-/kit-3.0.3.tgz#bf4388c81572a9846bf1f351495530ee9bd5e74c" + integrity sha512-CEEhCDmkvztd1zbgADsEQhmj9GyWOOGeW1hZD+gtwbBSF5YN1uofS/pex5MIh/VIqKRj+A2UnYWI1V+9+q/lyQ== + dependencies: + "@solana/accounts" "3.0.3" + "@solana/addresses" "3.0.3" + "@solana/codecs" "3.0.3" + "@solana/errors" "3.0.3" + "@solana/functional" "3.0.3" + "@solana/instruction-plans" "3.0.3" + "@solana/instructions" "3.0.3" + "@solana/keys" "3.0.3" + "@solana/programs" "3.0.3" + "@solana/rpc" "3.0.3" + "@solana/rpc-parsed-types" "3.0.3" + "@solana/rpc-spec-types" "3.0.3" + "@solana/rpc-subscriptions" "3.0.3" + "@solana/rpc-types" "3.0.3" + "@solana/signers" "3.0.3" + "@solana/sysvars" "3.0.3" + "@solana/transaction-confirmation" "3.0.3" + "@solana/transaction-messages" "3.0.3" + "@solana/transactions" "3.0.3" + +"@solana/nominal-types@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@solana/nominal-types/-/nominal-types-3.0.3.tgz#e1aca188051e107d6f0433f58a00f79ef74183ee" + integrity sha512-aZavCiexeUAoMHRQg4s1AHkH3wscbOb70diyfjhwZVgFz1uUsFez7csPp9tNFkNolnadVb2gky7yBk3IImQJ6A== + +"@solana/options@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@solana/options/-/options-3.0.3.tgz#c15537ac4fbef4560880166885c28274baade402" + integrity sha512-jarsmnQ63RN0JPC5j9sgUat07NrL9PC71XU7pUItd6LOHtu4+wJMio3l5mT0DHVfkfbFLL6iI6+QmXSVhTNF3g== + dependencies: + "@solana/codecs-core" "3.0.3" + "@solana/codecs-data-structures" "3.0.3" + "@solana/codecs-numbers" "3.0.3" + "@solana/codecs-strings" "3.0.3" + "@solana/errors" "3.0.3" + +"@solana/programs@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@solana/programs/-/programs-3.0.3.tgz#1ea8a32e472745cb5cca08fb3322acb5caa2cc7a" + integrity sha512-JZlVE3/AeSNDuH3aEzCZoDu8GTXkMpGXxf93zXLzbxfxhiQ/kHrReN4XE/JWZ/uGWbaFZGR5B3UtdN2QsoZL7w== + dependencies: + "@solana/addresses" "3.0.3" + "@solana/errors" "3.0.3" + +"@solana/promises@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@solana/promises/-/promises-3.0.3.tgz#7dbcee96d5b8ef9fb5d98162d7bf6b40de537b5b" + integrity sha512-K+UflGBVxj30XQMHTylHHZJdKH5QG3oj5k2s42GrZ/Wbu72oapVJySMBgpK45+p90t8/LEqV6rRPyTXlet9J+Q== + +"@solana/rpc-api@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@solana/rpc-api/-/rpc-api-3.0.3.tgz#e841a758a173f1c933dbc64652a803d010fc07ae" + integrity sha512-Yym9/Ama62OY69rAZgbOCAy1QlqaWAyb0VlqFuwSaZV1pkFCCFSwWEJEsiN1n8pb2ZP+RtwNvmYixvWizx9yvA== + dependencies: + "@solana/addresses" "3.0.3" + "@solana/codecs-core" "3.0.3" + "@solana/codecs-strings" "3.0.3" + "@solana/errors" "3.0.3" + "@solana/keys" "3.0.3" + "@solana/rpc-parsed-types" "3.0.3" + "@solana/rpc-spec" "3.0.3" + "@solana/rpc-transformers" "3.0.3" + "@solana/rpc-types" "3.0.3" + "@solana/transaction-messages" "3.0.3" + "@solana/transactions" "3.0.3" + +"@solana/rpc-parsed-types@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@solana/rpc-parsed-types/-/rpc-parsed-types-3.0.3.tgz#a54758a39e47d88e4dfd2d19be97d1f8b8961f1a" + integrity sha512-/koM05IM2fU91kYDQxXil3VBNlOfcP+gXE0js1sdGz8KonGuLsF61CiKB5xt6u1KEXhRyDdXYLjf63JarL4Ozg== + +"@solana/rpc-spec-types@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@solana/rpc-spec-types/-/rpc-spec-types-3.0.3.tgz#9aba0e54f2659f3d0ece1c006235f58522feae46" + integrity sha512-A6Jt8SRRetnN3CeGAvGJxigA9zYRslGgWcSjueAZGvPX+MesFxEUjSWZCfl+FogVFvwkqfkgQZQbPAGZQFJQ6Q== + +"@solana/rpc-spec@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@solana/rpc-spec/-/rpc-spec-3.0.3.tgz#daf1d0b2ee9488bda19d8fc841e2fc8dbcf99572" + integrity sha512-MZn5/8BebB6MQ4Gstw6zyfWsFAZYAyLzMK+AUf/rSfT8tPmWiJ/mcxnxqOXvFup/l6D67U8pyGpIoFqwCeZqqA== + dependencies: + "@solana/errors" "3.0.3" + "@solana/rpc-spec-types" "3.0.3" + +"@solana/rpc-subscriptions-api@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@solana/rpc-subscriptions-api/-/rpc-subscriptions-api-3.0.3.tgz#4fb02f5530919c20166fce7e484926df8758bb43" + integrity sha512-MGgVK3PUS15qsjuhimpzGZrKD/CTTvS0mAlQ0Jw84zsr1RJVdQJK/F0igu07BVd172eTZL8d90NoAQ3dahW5pA== + dependencies: + "@solana/addresses" "3.0.3" + "@solana/keys" "3.0.3" + "@solana/rpc-subscriptions-spec" "3.0.3" + "@solana/rpc-transformers" "3.0.3" + "@solana/rpc-types" "3.0.3" + "@solana/transaction-messages" "3.0.3" + "@solana/transactions" "3.0.3" + +"@solana/rpc-subscriptions-channel-websocket@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@solana/rpc-subscriptions-channel-websocket/-/rpc-subscriptions-channel-websocket-3.0.3.tgz#fed30fa028a7b06aeeb484f2be1dba0613042712" + integrity sha512-zUzUlb8Cwnw+SHlsLrSqyBRtOJKGc+FvSNJo/vWAkLShoV0wUDMPv7VvhTngJx3B/3ANfrOZ4i08i9QfYPAvpQ== + dependencies: + "@solana/errors" "3.0.3" + "@solana/functional" "3.0.3" + "@solana/rpc-subscriptions-spec" "3.0.3" + "@solana/subscribable" "3.0.3" + +"@solana/rpc-subscriptions-spec@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@solana/rpc-subscriptions-spec/-/rpc-subscriptions-spec-3.0.3.tgz#5b2c4987c64cdc9e84972f186edb2703000b131f" + integrity sha512-9KpQ32OBJWS85mn6q3gkM0AjQe1LKYlMU7gpJRrla/lvXxNLhI95tz5K6StctpUreVmRWTVkNamHE69uUQyY8A== + dependencies: + "@solana/errors" "3.0.3" + "@solana/promises" "3.0.3" + "@solana/rpc-spec-types" "3.0.3" + "@solana/subscribable" "3.0.3" + +"@solana/rpc-subscriptions@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@solana/rpc-subscriptions/-/rpc-subscriptions-3.0.3.tgz#cc4ed7d052d2e31e4f641b4827c052c54454198b" + integrity sha512-LRvz6NaqvtsYFd32KwZ+rwYQ9XCs+DWjV8BvBLsJpt9/NWSuHf/7Sy/vvP6qtKxut692H/TMvHnC4iulg0WmiQ== + dependencies: + "@solana/errors" "3.0.3" + "@solana/fast-stable-stringify" "3.0.3" + "@solana/functional" "3.0.3" + "@solana/promises" "3.0.3" + "@solana/rpc-spec-types" "3.0.3" + "@solana/rpc-subscriptions-api" "3.0.3" + "@solana/rpc-subscriptions-channel-websocket" "3.0.3" + "@solana/rpc-subscriptions-spec" "3.0.3" + "@solana/rpc-transformers" "3.0.3" + "@solana/rpc-types" "3.0.3" + "@solana/subscribable" "3.0.3" + +"@solana/rpc-transformers@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@solana/rpc-transformers/-/rpc-transformers-3.0.3.tgz#a895728d4c9bfde7f95e010afc98c7bee4ede484" + integrity sha512-lzdaZM/dG3s19Tsk4mkJA5JBoS1eX9DnD7z62gkDwrwJDkDBzkAJT9aLcsYFfTmwTfIp6uU2UPgGYc97i1wezw== + dependencies: + "@solana/errors" "3.0.3" + "@solana/functional" "3.0.3" + "@solana/nominal-types" "3.0.3" + "@solana/rpc-spec-types" "3.0.3" + "@solana/rpc-types" "3.0.3" + +"@solana/rpc-transport-http@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@solana/rpc-transport-http/-/rpc-transport-http-3.0.3.tgz#b8a2d35b996fb134e1466bec28e539efcd04f4ee" + integrity sha512-bIXFwr2LR5A97Z46dI661MJPbHnPfcShBjFzOS/8Rnr8P4ho3j/9EUtjDrsqoxGJT3SLWj5OlyXAlaDAvVTOUQ== + dependencies: + "@solana/errors" "3.0.3" + "@solana/rpc-spec" "3.0.3" + "@solana/rpc-spec-types" "3.0.3" + undici-types "^7.15.0" + +"@solana/rpc-types@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@solana/rpc-types/-/rpc-types-3.0.3.tgz#30d310f750706742ae3987db4eaed6651752a5e1" + integrity sha512-petWQ5xSny9UfmC3Qp2owyhNU0w9SyBww4+v7tSVyXMcCC9v6j/XsqTeimH1S0qQUllnv0/FY83ohFaxofmZ6Q== + dependencies: + "@solana/addresses" "3.0.3" + "@solana/codecs-core" "3.0.3" + "@solana/codecs-numbers" "3.0.3" + "@solana/codecs-strings" "3.0.3" + "@solana/errors" "3.0.3" + "@solana/nominal-types" "3.0.3" + +"@solana/rpc@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@solana/rpc/-/rpc-3.0.3.tgz#f9d00d4983721860d3a03d3eb6229c2819a4c84a" + integrity sha512-3oukAaLK78GegkKcm6iNmRnO4mFeNz+BMvA8T56oizoBNKiRVEq/6DFzVX/LkmZ+wvD601pAB3uCdrTPcC0YKQ== + dependencies: + "@solana/errors" "3.0.3" + "@solana/fast-stable-stringify" "3.0.3" + "@solana/functional" "3.0.3" + "@solana/rpc-api" "3.0.3" + "@solana/rpc-spec" "3.0.3" + "@solana/rpc-spec-types" "3.0.3" + "@solana/rpc-transformers" "3.0.3" + "@solana/rpc-transport-http" "3.0.3" + "@solana/rpc-types" "3.0.3" + +"@solana/signers@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@solana/signers/-/signers-3.0.3.tgz#1a1e71979c2818991309030a3d723426c521103f" + integrity sha512-UwCd/uPYTZiwd283JKVyOWLLN5sIgMBqGDyUmNU3vo9hcmXKv5ZGm/9TvwMY2z35sXWuIOcj7etxJ8OoWc/ObQ== + dependencies: + "@solana/addresses" "3.0.3" + "@solana/codecs-core" "3.0.3" + "@solana/errors" "3.0.3" + "@solana/instructions" "3.0.3" + "@solana/keys" "3.0.3" + "@solana/nominal-types" "3.0.3" + "@solana/transaction-messages" "3.0.3" + "@solana/transactions" "3.0.3" + +"@solana/subscribable@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@solana/subscribable/-/subscribable-3.0.3.tgz#f162810d5c12746e1bf1c1fe52bbabed48a39a19" + integrity sha512-FJ27LKGHLQ5GGttPvTOLQDLrrOZEgvaJhB7yYaHAhPk25+p+erBaQpjePhfkMyUbL1FQbxn1SUJmS6jUuaPjlQ== + dependencies: + "@solana/errors" "3.0.3" + +"@solana/sysvars@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@solana/sysvars/-/sysvars-3.0.3.tgz#8e22907b4280f21675cbbcb48f6777d365f31e31" + integrity sha512-GnHew+QeKCs2f9ow+20swEJMH4mDfJA/QhtPgOPTYQx/z69J4IieYJ7fZenSHnA//lJ45fVdNdmy1trypvPLBQ== + dependencies: + "@solana/accounts" "3.0.3" + "@solana/codecs" "3.0.3" + "@solana/errors" "3.0.3" + "@solana/rpc-types" "3.0.3" + +"@solana/transaction-confirmation@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@solana/transaction-confirmation/-/transaction-confirmation-3.0.3.tgz#92bac44c6e847fa4f1368a43957d3f01f4df8e44" + integrity sha512-dXx0OLtR95LMuARgi2dDQlL1QYmk56DOou5q9wKymmeV3JTvfDExeWXnOgjRBBq/dEfj4ugN1aZuTaS18UirFw== + dependencies: + "@solana/addresses" "3.0.3" + "@solana/codecs-strings" "3.0.3" + "@solana/errors" "3.0.3" + "@solana/keys" "3.0.3" + "@solana/promises" "3.0.3" + "@solana/rpc" "3.0.3" + "@solana/rpc-subscriptions" "3.0.3" + "@solana/rpc-types" "3.0.3" + "@solana/transaction-messages" "3.0.3" + "@solana/transactions" "3.0.3" + +"@solana/transaction-messages@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@solana/transaction-messages/-/transaction-messages-3.0.3.tgz#1f7f5a522060f1071eaa0ec8f75f9e3c53025438" + integrity sha512-s+6NWRnBhnnjFWV4x2tzBzoWa6e5LiIxIvJlWwVQBFkc8fMGY04w7jkFh0PM08t/QFKeXBEWkyBDa/TFYdkWug== + dependencies: + "@solana/addresses" "3.0.3" + "@solana/codecs-core" "3.0.3" + "@solana/codecs-data-structures" "3.0.3" + "@solana/codecs-numbers" "3.0.3" + "@solana/errors" "3.0.3" + "@solana/functional" "3.0.3" + "@solana/instructions" "3.0.3" + "@solana/nominal-types" "3.0.3" + "@solana/rpc-types" "3.0.3" + +"@solana/transactions@3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@solana/transactions/-/transactions-3.0.3.tgz#15ddc1136eade63d2c3b17c956d2f87e289269bb" + integrity sha512-iMX+n9j4ON7H1nKlWEbMqMOpKYC6yVGxKKmWHT1KdLRG7v+03I4DnDeFoI+Zmw56FA+7Bbne8jwwX60Q1vk/MQ== + dependencies: + "@solana/addresses" "3.0.3" + "@solana/codecs-core" "3.0.3" + "@solana/codecs-data-structures" "3.0.3" + "@solana/codecs-numbers" "3.0.3" + "@solana/codecs-strings" "3.0.3" + "@solana/errors" "3.0.3" + "@solana/functional" "3.0.3" + "@solana/instructions" "3.0.3" + "@solana/keys" "3.0.3" + "@solana/nominal-types" "3.0.3" + "@solana/rpc-types" "3.0.3" + "@solana/transaction-messages" "3.0.3" + +"@solana/web3.js@^1.98.1": + version "1.98.4" + resolved "https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.98.4.tgz#df51d78be9d865181ec5138b4e699d48e6895bbe" + integrity sha512-vv9lfnvjUsRiq//+j5pBdXig0IQdtzA0BRZ3bXEP4KaIyF1CcaydWqgyzQgfZMNIsWNWmG+AUHwPy4AHOD6gpw== + dependencies: + "@babel/runtime" "^7.25.0" + "@noble/curves" "^1.4.2" + "@noble/hashes" "^1.4.0" + "@solana/buffer-layout" "^4.0.1" + "@solana/codecs-numbers" "^2.1.0" + agentkeepalive "^4.5.0" + bn.js "^5.2.1" + borsh "^0.7.0" + bs58 "^4.0.1" + buffer "6.0.3" + fast-stable-stringify "^1.0.0" + jayson "^4.1.1" + node-fetch "^2.7.0" + rpc-websockets "^9.0.2" + superstruct "^2.0.2" + +"@solidity-parser/parser@^0.14.0": + version "0.14.5" + resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.14.5.tgz#87bc3cc7b068e08195c219c91cd8ddff5ef1a804" + integrity sha512-6dKnHZn7fg/iQATVEzqyUOyEidbn05q7YA2mQ9hC0MMXhhV3/JrsxmFSYZAcr7j1yUP700LLhTruvJ3MiQmjJg== + dependencies: + antlr4ts "^0.5.0-alpha.4" + +"@solidity-parser/parser@^0.20.1": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.20.2.tgz#e07053488ed60dae1b54f6fe37bb6d2c5fe146a7" + integrity sha512-rbu0bzwNvMcwAjH86hiEAcOeRI2EeK8zCkHDrFykh/Al8mvJeFmjy3UrE7GYQjNwOgbGUUtCn5/k8CB8zIu7QA== + +"@swc/helpers@^0.5.11": + version "0.5.17" + resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.17.tgz#5a7be95ac0f0bf186e7e6e890e7a6f6cda6ce971" + integrity sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A== + dependencies: + tslib "^2.8.0" + +"@tootallnate/once@2": + version "2.0.0" + resolved "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz" + integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== + +"@tsconfig/node10@^1.0.7": + version "1.0.9" + resolved "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz" + integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== + +"@tsconfig/node12@^1.0.7": + version "1.0.11" + resolved "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz" + integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== + +"@tsconfig/node14@^1.0.0": + version "1.0.3" + resolved "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz" + integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== + +"@tsconfig/node16@^1.0.2": + version "1.0.4" + resolved "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz" + integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== + +"@typechain/ethers-v6@^0.5.0": + version "0.5.1" + resolved "https://registry.yarnpkg.com/@typechain/ethers-v6/-/ethers-v6-0.5.1.tgz#42fe214a19a8b687086c93189b301e2b878797ea" + integrity sha512-F+GklO8jBWlsaVV+9oHaPh5NJdd6rAKN4tklGfInX1Q7h0xPgVLP39Jl3eCulPB5qexI71ZFHwbljx4ZXNfouA== + dependencies: + lodash "^4.17.15" + ts-essentials "^7.0.1" + +"@typechain/hardhat@^9.0.0": + version "9.1.0" + resolved "https://registry.yarnpkg.com/@typechain/hardhat/-/hardhat-9.1.0.tgz#6985015f01dfb37ef2ca8a29c742d05890351ddc" + integrity sha512-mtaUlzLlkqTlfPwB3FORdejqBskSnh+Jl8AIJGjXNAQfRQ4ofHADPl1+oU7Z3pAJzmZbUXII8MhOLQltcHgKnA== + dependencies: + fs-extra "^9.1.0" + +"@types/babel__core@^7.1.14": + version "7.20.1" + resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz" + integrity sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw== + dependencies: + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + +"@types/babel__generator@*": + version "7.6.4" + resolved "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz" + integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== + dependencies: + "@babel/types" "^7.0.0" + +"@types/babel__template@*": + version "7.4.1" + resolved "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz" + integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": + version "7.20.1" + resolved "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz" + integrity sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg== + dependencies: + "@babel/types" "^7.20.7" + +"@types/bn.js@^5.1.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.2.0.tgz#4349b9710e98f9ab3cdc50f1c5e4dcbd8ef29c80" + integrity sha512-DLbJ1BPqxvQhIGbeu8VbUC1DiAiahHtAYvA0ZEAa4P31F7IaArc8z3C3BRQdWX4mtLQuABG4yzp76ZrS02Ui1Q== + dependencies: + "@types/node" "*" + +"@types/chai@^4.2.0": + version "4.3.20" + resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.20.tgz#cb291577ed342ca92600430841a00329ba05cecc" + integrity sha512-/pC9HAB5I/xMlc5FP77qjCnI16ChlJfW0tGa0IUcFn38VJrTV6DeZ60NU5KZBtaOZqjdpwTWohz5HU1RrhiYxQ== + +"@types/concat-stream@^1.6.0": + version "1.6.1" + resolved "https://registry.yarnpkg.com/@types/concat-stream/-/concat-stream-1.6.1.tgz#24bcfc101ecf68e886aaedce60dfd74b632a1b74" + integrity sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA== + dependencies: + "@types/node" "*" + +"@types/connect@^3.4.33": + version "3.4.38" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.38.tgz#5ba7f3bc4fbbdeaff8dded952e5ff2cc53f8d858" + integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug== + dependencies: + "@types/node" "*" + +"@types/debug@^4.1.7": + version "4.1.12" + resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.12.tgz#a155f21690871953410df4b6b6f53187f0500917" + integrity sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ== + dependencies: + "@types/ms" "*" + +"@types/form-data@0.0.33": + version "0.0.33" + resolved "https://registry.yarnpkg.com/@types/form-data/-/form-data-0.0.33.tgz#c9ac85b2a5fd18435b8c85d9ecb50e6d6c893ff8" + integrity sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw== + dependencies: + "@types/node" "*" + +"@types/glob@^7.1.1": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" + integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== + dependencies: + "@types/minimatch" "*" + "@types/node" "*" + +"@types/graceful-fs@^4.1.3": + version "4.1.6" + resolved "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.6.tgz" + integrity sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw== + dependencies: + "@types/node" "*" + +"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.4" + resolved "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz" + integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== + +"@types/istanbul-lib-report@*": + version "3.0.0" + resolved "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz" + integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== + dependencies: + "@types/istanbul-lib-coverage" "*" + +"@types/istanbul-reports@^3.0.0": + version "3.0.1" + resolved "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz" + integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== + dependencies: + "@types/istanbul-lib-report" "*" + +"@types/jest@^29.1.2": version "29.5.3" resolved "https://registry.npmjs.org/@types/jest/-/jest-29.5.3.tgz" integrity sha512-1Nq7YrO/vJE/FYnqYyw0FS8LdrjExSgIiHyKg7xPpn+yi8Q4huZryKnkJatN1ZRH89Kw2v33/8ZMB7DuZeSLlA== @@ -2462,16 +4268,38 @@ resolved "https://registry.npmjs.org/@types/json-stable-stringify/-/json-stable-stringify-1.0.34.tgz" integrity sha512-s2cfwagOQAS8o06TcwKfr9Wx11dNGbH2E9vJz1cqV+a/LOyhWNLUNd6JSRYNzvB4d29UuJX2M0Dj9vE1T8fRXw== +"@types/lodash@^4.17.20": + version "4.17.20" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.17.20.tgz#1ca77361d7363432d29f5e55950d9ec1e1c6ea93" + integrity sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA== + "@types/long@^4.0.0", "@types/long@^4.0.1": version "4.0.2" resolved "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz" integrity sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA== +"@types/minimatch@*": + version "6.0.0" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-6.0.0.tgz#4d207b1cc941367bdcd195a3a781a7e4fc3b1e03" + integrity sha512-zmPitbQ8+6zNutpwgcQuLcsEpn/Cj54Kbn7L5pX0Os5kdWplB7xPgEh/g+SWOB/qmows2gpuCaPyduq8ZZRnxA== + dependencies: + minimatch "*" + "@types/minimist@^1.2.0": version "1.2.2" resolved "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz" integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== +"@types/mocha@>=9.1.0": + version "10.0.10" + resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-10.0.10.tgz#91f62905e8d23cbd66225312f239454a23bebfa0" + integrity sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q== + +"@types/ms@*": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@types/ms/-/ms-2.1.0.tgz#052aa67a48eccc4309d7f0191b7e41434b90bb78" + integrity sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA== + "@types/node@*", "@types/node@^16.11.7": version "16.18.40" resolved "https://registry.npmjs.org/@types/node/-/node-16.18.40.tgz" @@ -2482,11 +4310,33 @@ resolved "https://registry.npmjs.org/@types/node/-/node-20.4.7.tgz" integrity sha512-bUBrPjEry2QUTsnuEjzjbS7voGWCc30W0qzgMf90GPeDGFRakvrz47ju+oqDAKCXLUCe39u57/ORMl/O/04/9g== +"@types/node@22.7.5": + version "22.7.5" + resolved "https://registry.yarnpkg.com/@types/node/-/node-22.7.5.tgz#cfde981727a7ab3611a481510b473ae54442b92b" + integrity sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ== + dependencies: + undici-types "~6.19.2" + "@types/node@>=13.7.0": version "20.5.0" resolved "https://registry.npmjs.org/@types/node/-/node-20.5.0.tgz" integrity sha512-Mgq7eCtoTjT89FqNoTzzXg2XvCi5VMhRV6+I2aYanc6kQCBImeNaAYRs/DyoVqk1YEUJK5gN9VO7HRIdz4Wo3Q== +"@types/node@^10.0.3": + version "10.17.60" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.60.tgz#35f3d6213daed95da7f0f73e75bcc6980e90597b" + integrity sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw== + +"@types/node@^12.12.54": + version "12.20.55" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" + integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== + +"@types/node@^8.0.0": + version "8.10.66" + resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.66.tgz#dd035d409df322acc83dff62a602f12a5783bbb3" + integrity sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw== + "@types/normalize-package-data@^2.4.0": version "2.4.1" resolved "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz" @@ -2502,6 +4352,30 @@ resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz" integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== +"@types/pbkdf2@^3.0.0": + version "3.1.2" + resolved "https://registry.yarnpkg.com/@types/pbkdf2/-/pbkdf2-3.1.2.tgz#2dc43808e9985a2c69ff02e2d2027bd4fe33e8dc" + integrity sha512-uRwJqmiXmh9++aSu1VNEn3iIxWOhd8AHXNSdlaLfdAAdSTY9jYVeGWnzejM3dvrkbqE3/hyQkQQ29IFATEGlew== + dependencies: + "@types/node" "*" + +"@types/prettier@^2.1.1": + version "2.7.3" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.3.tgz#3e51a17e291d01d17d3fc61422015a933af7a08f" + integrity sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA== + +"@types/qs@^6.2.31": + version "6.14.0" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.14.0.tgz#d8b60cecf62f2db0fb68e5e006077b9178b85de5" + integrity sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ== + +"@types/secp256k1@^4.0.1": + version "4.0.7" + resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.7.tgz#534c9814eb80964962108ad45d549d1555c75fa0" + integrity sha512-Rcvjl6vARGAKRO6jHeKMatGrvOMGrR/AR11N1x2LqintPCyDZ7NBhrh238Z2VZc7aM7KIwnFpFQ7fnfK4H/9Qw== + dependencies: + "@types/node" "*" + "@types/semver@^7.3.12": version "7.5.0" resolved "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz" @@ -2512,6 +4386,23 @@ resolved "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz" integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== +"@types/trusted-types@^2.0.2": + version "2.0.7" + resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.7.tgz#baccb07a970b91707df3a3e8ba6896c57ead2d11" + integrity sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw== + +"@types/uuid@^8.3.4": + version "8.3.4" + resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.4.tgz#bd86a43617df0594787d38b735f55c805becf1bc" + integrity sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw== + +"@types/ws@^7.4.4": + version "7.4.7" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-7.4.7.tgz#f7c390a36f7a0679aa69de2d501319f4f8d9b702" + integrity sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww== + dependencies: + "@types/node" "*" + "@types/ws@^8.0.0": version "8.5.5" resolved "https://registry.npmjs.org/@types/ws/-/ws-8.5.5.tgz" @@ -2519,6 +4410,13 @@ dependencies: "@types/node" "*" +"@types/ws@^8.2.2": + version "8.18.1" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.18.1.tgz#48464e4bf2ddfd17db13d845467f6070ffea4aa9" + integrity sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg== + dependencies: + "@types/node" "*" + "@types/yargs-parser@*": version "21.0.0" resolved "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz" @@ -2622,6 +4520,387 @@ "@typescript-eslint/types" "5.62.0" eslint-visitor-keys "^3.3.0" +"@wagmi/cli@^2.7.1": + version "2.7.1" + resolved "https://registry.yarnpkg.com/@wagmi/cli/-/cli-2.7.1.tgz#de76a16005fdc450127f7b665242fadc2c22b6ee" + integrity sha512-yuhTvbNkOAxMVDigO2IPySmV8/2i5KeU0gQs4XoGNL+hIoH/2tYlJ2BzbC/ylC8LWatWHlNMYspWKw7rE+izqw== + dependencies: + abitype "^1.0.4" + bundle-require "^5.1.0" + cac "^6.7.14" + change-case "^5.4.4" + chokidar "4.0.1" + dedent "^0.7.0" + dotenv "^16.3.1" + dotenv-expand "^10.0.0" + esbuild "~0.25.4" + escalade "3.2.0" + fdir "^6.1.1" + nanospinner "1.2.2" + pathe "^1.1.2" + picocolors "^1.0.0" + picomatch "^3.0.0" + prettier "^3.0.3" + viem "2.x" + zod "^4.1.11" + +"@wagmi/connectors@6.1.3": + version "6.1.3" + resolved "https://registry.yarnpkg.com/@wagmi/connectors/-/connectors-6.1.3.tgz#69f9c16f4ad1884af07ff153c627a4074b6bdd2c" + integrity sha512-Rx3/4Rug3SrBC/WSuNUC0XEpWC/yP71BhQzz3u064ueemIWtvrIxXZxH2byWd0dF3osarjuHBr904bm3L6eNHg== + dependencies: + "@base-org/account" "2.4.0" + "@coinbase/wallet-sdk" "4.3.6" + "@gemini-wallet/core" "0.3.1" + "@metamask/sdk" "0.33.1" + "@safe-global/safe-apps-provider" "0.18.6" + "@safe-global/safe-apps-sdk" "9.1.0" + "@walletconnect/ethereum-provider" "2.21.1" + cbw-sdk "npm:@coinbase/wallet-sdk@3.9.3" + porto "0.2.35" + +"@wagmi/core@2.22.1": + version "2.22.1" + resolved "https://registry.yarnpkg.com/@wagmi/core/-/core-2.22.1.tgz#de4b5019971dcf033ea5f7484add66900da7897c" + integrity sha512-cG/xwQWsBEcKgRTkQVhH29cbpbs/TdcUJVFXCyri3ZknxhMyGv0YEjTcrNpRgt2SaswL1KrvslSNYKKo+5YEAg== + dependencies: + eventemitter3 "5.0.1" + mipd "0.0.7" + zustand "5.0.0" + +"@walletconnect/core@2.21.0": + version "2.21.0" + resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-2.21.0.tgz#a8927c79cd5ff47a2eaa8dd6a8e8f0060619393d" + integrity sha512-o6R7Ua4myxR8aRUAJ1z3gT9nM+jd2B2mfamu6arzy1Cc6vi10fIwFWb6vg3bC8xJ6o9H3n/cN5TOW3aA9Y1XVw== + dependencies: + "@walletconnect/heartbeat" "1.2.2" + "@walletconnect/jsonrpc-provider" "1.0.14" + "@walletconnect/jsonrpc-types" "1.0.4" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/jsonrpc-ws-connection" "1.0.16" + "@walletconnect/keyvaluestorage" "1.1.1" + "@walletconnect/logger" "2.1.2" + "@walletconnect/relay-api" "1.0.11" + "@walletconnect/relay-auth" "1.1.0" + "@walletconnect/safe-json" "1.0.2" + "@walletconnect/time" "1.0.2" + "@walletconnect/types" "2.21.0" + "@walletconnect/utils" "2.21.0" + "@walletconnect/window-getters" "1.0.1" + es-toolkit "1.33.0" + events "3.3.0" + uint8arrays "3.1.0" + +"@walletconnect/core@2.21.1": + version "2.21.1" + resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-2.21.1.tgz#fb5ba547acb2b297a8b29b4f972167886374c9dc" + integrity sha512-Tp4MHJYcdWD846PH//2r+Mu4wz1/ZU/fr9av1UWFiaYQ2t2TPLDiZxjLw54AAEpMqlEHemwCgiRiAmjR1NDdTQ== + dependencies: + "@walletconnect/heartbeat" "1.2.2" + "@walletconnect/jsonrpc-provider" "1.0.14" + "@walletconnect/jsonrpc-types" "1.0.4" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/jsonrpc-ws-connection" "1.0.16" + "@walletconnect/keyvaluestorage" "1.1.1" + "@walletconnect/logger" "2.1.2" + "@walletconnect/relay-api" "1.0.11" + "@walletconnect/relay-auth" "1.1.0" + "@walletconnect/safe-json" "1.0.2" + "@walletconnect/time" "1.0.2" + "@walletconnect/types" "2.21.1" + "@walletconnect/utils" "2.21.1" + "@walletconnect/window-getters" "1.0.1" + es-toolkit "1.33.0" + events "3.3.0" + uint8arrays "3.1.0" + +"@walletconnect/environment@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@walletconnect/environment/-/environment-1.0.1.tgz#1d7f82f0009ab821a2ba5ad5e5a7b8ae3b214cd7" + integrity sha512-T426LLZtHj8e8rYnKfzsw1aG6+M0BT1ZxayMdv/p8yM0MU+eJDISqNY3/bccxRr4LrF9csq02Rhqt08Ibl0VRg== + dependencies: + tslib "1.14.1" + +"@walletconnect/ethereum-provider@2.21.1": + version "2.21.1" + resolved "https://registry.yarnpkg.com/@walletconnect/ethereum-provider/-/ethereum-provider-2.21.1.tgz#b1e3cdcf4894613b11353bd702c019027e5a2cde" + integrity sha512-SSlIG6QEVxClgl1s0LMk4xr2wg4eT3Zn/Hb81IocyqNSGfXpjtawWxKxiC5/9Z95f1INyBD6MctJbL/R1oBwIw== + dependencies: + "@reown/appkit" "1.7.8" + "@walletconnect/jsonrpc-http-connection" "1.0.8" + "@walletconnect/jsonrpc-provider" "1.0.14" + "@walletconnect/jsonrpc-types" "1.0.4" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/keyvaluestorage" "1.1.1" + "@walletconnect/sign-client" "2.21.1" + "@walletconnect/types" "2.21.1" + "@walletconnect/universal-provider" "2.21.1" + "@walletconnect/utils" "2.21.1" + events "3.3.0" + +"@walletconnect/events@1.0.1", "@walletconnect/events@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@walletconnect/events/-/events-1.0.1.tgz#2b5f9c7202019e229d7ccae1369a9e86bda7816c" + integrity sha512-NPTqaoi0oPBVNuLv7qPaJazmGHs5JGyO8eEAk5VGKmJzDR7AHzD4k6ilox5kxk1iwiOnFopBOOMLs86Oa76HpQ== + dependencies: + keyvaluestorage-interface "^1.0.0" + tslib "1.14.1" + +"@walletconnect/heartbeat@1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@walletconnect/heartbeat/-/heartbeat-1.2.2.tgz#e8dc5179db7769950c6f9cf59b23516d9b95227d" + integrity sha512-uASiRmC5MwhuRuf05vq4AT48Pq8RMi876zV8rr8cV969uTOzWdB/k+Lj5yI2PBtB1bGQisGen7MM1GcZlQTBXw== + dependencies: + "@walletconnect/events" "^1.0.1" + "@walletconnect/time" "^1.0.2" + events "^3.3.0" + +"@walletconnect/jsonrpc-http-connection@1.0.8": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-http-connection/-/jsonrpc-http-connection-1.0.8.tgz#2f4c3948f074960a3edd07909560f3be13e2c7ae" + integrity sha512-+B7cRuaxijLeFDJUq5hAzNyef3e3tBDIxyaCNmFtjwnod5AGis3RToNqzFU33vpVcxFhofkpE7Cx+5MYejbMGw== + dependencies: + "@walletconnect/jsonrpc-utils" "^1.0.6" + "@walletconnect/safe-json" "^1.0.1" + cross-fetch "^3.1.4" + events "^3.3.0" + +"@walletconnect/jsonrpc-provider@1.0.14": + version "1.0.14" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.14.tgz#696f3e3b6d728b361f2e8b853cfc6afbdf2e4e3e" + integrity sha512-rtsNY1XqHvWj0EtITNeuf8PHMvlCLiS3EjQL+WOkxEOA4KPxsohFnBDeyPYiNm4ZvkQdLnece36opYidmtbmow== + dependencies: + "@walletconnect/jsonrpc-utils" "^1.0.8" + "@walletconnect/safe-json" "^1.0.2" + events "^3.3.0" + +"@walletconnect/jsonrpc-types@1.0.4", "@walletconnect/jsonrpc-types@^1.0.2", "@walletconnect/jsonrpc-types@^1.0.3": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.4.tgz#ce1a667d79eadf2a2d9d002c152ceb68739c230c" + integrity sha512-P6679fG/M+wuWg9TY8mh6xFSdYnFyFjwFelxyISxMDrlbXokorEVXYOxiqEbrU3x1BmBoCAJJ+vtEaEoMlpCBQ== + dependencies: + events "^3.3.0" + keyvaluestorage-interface "^1.0.0" + +"@walletconnect/jsonrpc-utils@1.0.8", "@walletconnect/jsonrpc-utils@^1.0.6", "@walletconnect/jsonrpc-utils@^1.0.8": + version "1.0.8" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-utils/-/jsonrpc-utils-1.0.8.tgz#82d0cc6a5d6ff0ecc277cb35f71402c91ad48d72" + integrity sha512-vdeb03bD8VzJUL6ZtzRYsFMq1eZQcM3EAzT0a3st59dyLfJ0wq+tKMpmGH7HlB7waD858UWgfIcudbPFsbzVdw== + dependencies: + "@walletconnect/environment" "^1.0.1" + "@walletconnect/jsonrpc-types" "^1.0.3" + tslib "1.14.1" + +"@walletconnect/jsonrpc-ws-connection@1.0.16": + version "1.0.16" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-ws-connection/-/jsonrpc-ws-connection-1.0.16.tgz#666bb13fbf32a2d4f7912d5b4d0bdef26a1d057b" + integrity sha512-G81JmsMqh5nJheE1mPst1W0WfVv0SG3N7JggwLLGnI7iuDZJq8cRJvQwLGKHn5H1WTW7DEPCo00zz5w62AbL3Q== + dependencies: + "@walletconnect/jsonrpc-utils" "^1.0.6" + "@walletconnect/safe-json" "^1.0.2" + events "^3.3.0" + ws "^7.5.1" + +"@walletconnect/keyvaluestorage@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@walletconnect/keyvaluestorage/-/keyvaluestorage-1.1.1.tgz#dd2caddabfbaf80f6b8993a0704d8b83115a1842" + integrity sha512-V7ZQq2+mSxAq7MrRqDxanTzu2RcElfK1PfNYiaVnJgJ7Q7G7hTVwF8voIBx92qsRyGHZihrwNPHuZd1aKkd0rA== + dependencies: + "@walletconnect/safe-json" "^1.0.1" + idb-keyval "^6.2.1" + unstorage "^1.9.0" + +"@walletconnect/logger@2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@walletconnect/logger/-/logger-2.1.2.tgz#813c9af61b96323a99f16c10089bfeb525e2a272" + integrity sha512-aAb28I3S6pYXZHQm5ESB+V6rDqIYfsnHaQyzFbwUUBFY4H0OXx/YtTl8lvhUNhMMfb9UxbwEBS253TlXUYJWSw== + dependencies: + "@walletconnect/safe-json" "^1.0.2" + pino "7.11.0" + +"@walletconnect/relay-api@1.0.11": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@walletconnect/relay-api/-/relay-api-1.0.11.tgz#80ab7ef2e83c6c173be1a59756f95e515fb63224" + integrity sha512-tLPErkze/HmC9aCmdZOhtVmYZq1wKfWTJtygQHoWtgg722Jd4homo54Cs4ak2RUFUZIGO2RsOpIcWipaua5D5Q== + dependencies: + "@walletconnect/jsonrpc-types" "^1.0.2" + +"@walletconnect/relay-auth@1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@walletconnect/relay-auth/-/relay-auth-1.1.0.tgz#c3c5f54abd44a5138ea7d4fe77970597ba66c077" + integrity sha512-qFw+a9uRz26jRCDgL7Q5TA9qYIgcNY8jpJzI1zAWNZ8i7mQjaijRnWFKsCHAU9CyGjvt6RKrRXyFtFOpWTVmCQ== + dependencies: + "@noble/curves" "1.8.0" + "@noble/hashes" "1.7.0" + "@walletconnect/safe-json" "^1.0.1" + "@walletconnect/time" "^1.0.2" + uint8arrays "^3.0.0" + +"@walletconnect/safe-json@1.0.2", "@walletconnect/safe-json@^1.0.1", "@walletconnect/safe-json@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@walletconnect/safe-json/-/safe-json-1.0.2.tgz#7237e5ca48046e4476154e503c6d3c914126fa77" + integrity sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA== + dependencies: + tslib "1.14.1" + +"@walletconnect/sign-client@2.21.0": + version "2.21.0" + resolved "https://registry.yarnpkg.com/@walletconnect/sign-client/-/sign-client-2.21.0.tgz#3dc3be83be58ad9a9fb53d0fd8fa5e571cfdd046" + integrity sha512-z7h+PeLa5Au2R591d/8ZlziE0stJvdzP9jNFzFolf2RG/OiXulgFKum8PrIyXy+Rg2q95U9nRVUF9fWcn78yBA== + dependencies: + "@walletconnect/core" "2.21.0" + "@walletconnect/events" "1.0.1" + "@walletconnect/heartbeat" "1.2.2" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/logger" "2.1.2" + "@walletconnect/time" "1.0.2" + "@walletconnect/types" "2.21.0" + "@walletconnect/utils" "2.21.0" + events "3.3.0" + +"@walletconnect/sign-client@2.21.1": + version "2.21.1" + resolved "https://registry.yarnpkg.com/@walletconnect/sign-client/-/sign-client-2.21.1.tgz#a0d42ae44f801d131208df7216a0326a9fad61bb" + integrity sha512-QaXzmPsMnKGV6tc4UcdnQVNOz4zyXgarvdIQibJ4L3EmLat73r5ZVl4c0cCOcoaV7rgM9Wbphgu5E/7jNcd3Zg== + dependencies: + "@walletconnect/core" "2.21.1" + "@walletconnect/events" "1.0.1" + "@walletconnect/heartbeat" "1.2.2" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/logger" "2.1.2" + "@walletconnect/time" "1.0.2" + "@walletconnect/types" "2.21.1" + "@walletconnect/utils" "2.21.1" + events "3.3.0" + +"@walletconnect/time@1.0.2", "@walletconnect/time@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@walletconnect/time/-/time-1.0.2.tgz#6c5888b835750ecb4299d28eecc5e72c6d336523" + integrity sha512-uzdd9woDcJ1AaBZRhqy5rNC9laqWGErfc4dxA9a87mPdKOgWMD85mcFo9dIYIts/Jwocfwn07EC6EzclKubk/g== + dependencies: + tslib "1.14.1" + +"@walletconnect/types@2.21.0": + version "2.21.0" + resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-2.21.0.tgz#afb47ff5966d57f97dd955dc3fa4817c616b9c24" + integrity sha512-ll+9upzqt95ZBWcfkOszXZkfnpbJJ2CmxMfGgE5GmhdxxxCcO5bGhXkI+x8OpiS555RJ/v/sXJYMSOLkmu4fFw== + dependencies: + "@walletconnect/events" "1.0.1" + "@walletconnect/heartbeat" "1.2.2" + "@walletconnect/jsonrpc-types" "1.0.4" + "@walletconnect/keyvaluestorage" "1.1.1" + "@walletconnect/logger" "2.1.2" + events "3.3.0" + +"@walletconnect/types@2.21.1": + version "2.21.1" + resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-2.21.1.tgz#258c1b94eac20f20896b7998a76ff4f18c935983" + integrity sha512-UeefNadqP6IyfwWC1Yi7ux+ljbP2R66PLfDrDm8izmvlPmYlqRerJWJvYO4t0Vvr9wrG4Ko7E0c4M7FaPKT/sQ== + dependencies: + "@walletconnect/events" "1.0.1" + "@walletconnect/heartbeat" "1.2.2" + "@walletconnect/jsonrpc-types" "1.0.4" + "@walletconnect/keyvaluestorage" "1.1.1" + "@walletconnect/logger" "2.1.2" + events "3.3.0" + +"@walletconnect/universal-provider@2.21.0": + version "2.21.0" + resolved "https://registry.yarnpkg.com/@walletconnect/universal-provider/-/universal-provider-2.21.0.tgz#fb21e9726a8eb983df70cf2b304b110b6a0b1354" + integrity sha512-mtUQvewt+X0VBQay/xOJBvxsB3Xsm1lTwFjZ6WUwSOTR1X+FNb71hSApnV5kbsdDIpYPXeQUbGt2se1n5E5UBg== + dependencies: + "@walletconnect/events" "1.0.1" + "@walletconnect/jsonrpc-http-connection" "1.0.8" + "@walletconnect/jsonrpc-provider" "1.0.14" + "@walletconnect/jsonrpc-types" "1.0.4" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/keyvaluestorage" "1.1.1" + "@walletconnect/logger" "2.1.2" + "@walletconnect/sign-client" "2.21.0" + "@walletconnect/types" "2.21.0" + "@walletconnect/utils" "2.21.0" + es-toolkit "1.33.0" + events "3.3.0" + +"@walletconnect/universal-provider@2.21.1": + version "2.21.1" + resolved "https://registry.yarnpkg.com/@walletconnect/universal-provider/-/universal-provider-2.21.1.tgz#e6047b89454c64ee0766595b36ec308fba3b55e2" + integrity sha512-Wjx9G8gUHVMnYfxtasC9poGm8QMiPCpXpbbLFT+iPoQskDDly8BwueWnqKs4Mx2SdIAWAwuXeZ5ojk5qQOxJJg== + dependencies: + "@walletconnect/events" "1.0.1" + "@walletconnect/jsonrpc-http-connection" "1.0.8" + "@walletconnect/jsonrpc-provider" "1.0.14" + "@walletconnect/jsonrpc-types" "1.0.4" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/keyvaluestorage" "1.1.1" + "@walletconnect/logger" "2.1.2" + "@walletconnect/sign-client" "2.21.1" + "@walletconnect/types" "2.21.1" + "@walletconnect/utils" "2.21.1" + es-toolkit "1.33.0" + events "3.3.0" + +"@walletconnect/utils@2.21.0": + version "2.21.0" + resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-2.21.0.tgz#53517aab2ba456b9765b8ab064c7f721acfc4626" + integrity sha512-zfHLiUoBrQ8rP57HTPXW7rQMnYxYI4gT9yTACxVW6LhIFROTF6/ytm5SKNoIvi4a5nX5dfXG4D9XwQUCu8Ilig== + dependencies: + "@noble/ciphers" "1.2.1" + "@noble/curves" "1.8.1" + "@noble/hashes" "1.7.1" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/keyvaluestorage" "1.1.1" + "@walletconnect/relay-api" "1.0.11" + "@walletconnect/relay-auth" "1.1.0" + "@walletconnect/safe-json" "1.0.2" + "@walletconnect/time" "1.0.2" + "@walletconnect/types" "2.21.0" + "@walletconnect/window-getters" "1.0.1" + "@walletconnect/window-metadata" "1.0.1" + bs58 "6.0.0" + detect-browser "5.3.0" + query-string "7.1.3" + uint8arrays "3.1.0" + viem "2.23.2" + +"@walletconnect/utils@2.21.1": + version "2.21.1" + resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-2.21.1.tgz#acdadc38685cefbc6b49b7d7853893dfcb8ee044" + integrity sha512-VPZvTcrNQCkbGOjFRbC24mm/pzbRMUq2DSQoiHlhh0X1U7ZhuIrzVtAoKsrzu6rqjz0EEtGxCr3K1TGRqDG4NA== + dependencies: + "@noble/ciphers" "1.2.1" + "@noble/curves" "1.8.1" + "@noble/hashes" "1.7.1" + "@walletconnect/jsonrpc-utils" "1.0.8" + "@walletconnect/keyvaluestorage" "1.1.1" + "@walletconnect/relay-api" "1.0.11" + "@walletconnect/relay-auth" "1.1.0" + "@walletconnect/safe-json" "1.0.2" + "@walletconnect/time" "1.0.2" + "@walletconnect/types" "2.21.1" + "@walletconnect/window-getters" "1.0.1" + "@walletconnect/window-metadata" "1.0.1" + bs58 "6.0.0" + detect-browser "5.3.0" + query-string "7.1.3" + uint8arrays "3.1.0" + viem "2.23.2" + +"@walletconnect/window-getters@1.0.1", "@walletconnect/window-getters@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@walletconnect/window-getters/-/window-getters-1.0.1.tgz#f36d1c72558a7f6b87ecc4451fc8bd44f63cbbdc" + integrity sha512-vHp+HqzGxORPAN8gY03qnbTMnhqIwjeRJNOMOAzePRg4xVEEE2WvYsI9G2NMjOknA8hnuYbU3/hwLcKbjhc8+Q== + dependencies: + tslib "1.14.1" + +"@walletconnect/window-metadata@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@walletconnect/window-metadata/-/window-metadata-1.0.1.tgz#2124f75447b7e989e4e4e1581d55d25bc75f7be5" + integrity sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA== + dependencies: + "@walletconnect/window-getters" "^1.0.1" + tslib "1.14.1" + "@whatwg-node/events@^0.0.3": version "0.0.3" resolved "https://registry.npmjs.org/@whatwg-node/events/-/events-0.0.3.tgz" @@ -2681,11 +4960,43 @@ JSONStream@^1.0.4: jsonparse "^1.2.0" through ">=2.2.7 <3" -abbrev@^1.0.0, abbrev@~1.1.1: +abbrev@1, abbrev@^1.0.0, abbrev@~1.1.1: version "1.1.1" - resolved "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== +abbrev@1.0.x: + version "1.0.9" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" + integrity sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q== + +abitype@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.0.6.tgz#76410903e1d88e34f1362746e2d407513c38565b" + integrity sha512-MMSqYh4+C/aVqI2RQaWqbvI4Kxo5cQV40WQ4QFtDnNzCkqChm8MuENhElmynZlO0qUy/ObkEUaXtKqYnx1Kp3A== + +abitype@1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.0.8.tgz#3554f28b2e9d6e9f35eb59878193eabd1b9f46ba" + integrity sha512-ZeiI6h3GnW06uYDLx0etQtX/p8E24UaHHBj57RSjK7YBFe7iuVn07EDpOeP451D06sF27VOz9JJPlIKJmXgkEg== + +abitype@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.1.0.tgz#510c5b3f92901877977af5e864841f443bf55406" + integrity sha512-6Vh4HcRxNMLA0puzPjM5GBgT4aAcFGKZzSgAXvuZ27shJP6NEpielTuqbBmZILR5/xd0PizkBGy5hReKz9jl5A== + +abitype@^1.0.4, abitype@^1.0.6, abitype@^1.0.9: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abitype/-/abitype-1.1.1.tgz#b50ed400f8bfca5452eb4033445c309d3e1117c8" + integrity sha512-Loe5/6tAgsBukY95eGaPSDmQHIjRZYQq8PB1MpsNccDIK8WiV+Uw6WzaIXipvaxTEL2yEB0OpEaQv3gs8pkS9Q== + +abort-controller@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" + integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== + dependencies: + event-target-shim "^5.0.0" + acorn-jsx@^5.3.1: version "5.3.2" resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" @@ -2706,6 +5017,16 @@ acorn@^8.4.1: resolved "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz" integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== +aes-js@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" + integrity sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw== + +aes-js@4.0.0-beta.5: + version "4.0.0-beta.5" + resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-4.0.0-beta.5.tgz#8d2452c52adedebc3a3e28465d858c11ca315873" + integrity sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q== + agent-base@6, agent-base@^6.0.2: version "6.0.2" resolved "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz" @@ -2727,6 +5048,13 @@ agentkeepalive@^4.2.1: dependencies: humanize-ms "^1.2.1" +agentkeepalive@^4.5.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.6.0.tgz#35f73e94b3f40bf65f105219c623ad19c136ea6a" + integrity sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ== + dependencies: + humanize-ms "^1.2.1" + aggregate-error@^3.0.0: version "3.1.0" resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz" @@ -2755,9 +5083,14 @@ ajv@^8.0.1, ajv@^8.11.0: require-from-string "^2.0.2" uri-js "^4.2.2" -ansi-colors@^4.1.1: +amdefine@>=0.0.4: + version "1.0.1" + resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + integrity sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg== + +ansi-colors@^4.1.1, ansi-colors@^4.1.3: version "4.1.3" - resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: @@ -2781,6 +5114,11 @@ ansi-escapes@^6.2.0: dependencies: type-fest "^3.0.0" +ansi-regex@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.1.tgz#123d6479e92ad45ad897d4054e3c7ca7db4944e1" + integrity sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw== + ansi-regex@^5.0.1: version "5.0.1" resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" @@ -2825,9 +5163,14 @@ ansicolors@~0.3.2: resolved "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz" integrity sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg== -anymatch@^3.0.3: +antlr4ts@^0.5.0-alpha.4: + version "0.5.0-alpha.4" + resolved "https://registry.yarnpkg.com/antlr4ts/-/antlr4ts-0.5.0-alpha.4.tgz#71702865a87478ed0b40c0709f422cf14d51652a" + integrity sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ== + +anymatch@^3.0.3, anymatch@^3.1.3, anymatch@~3.1.2: version "3.1.3" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== dependencies: normalize-path "^3.0.0" @@ -2873,6 +5216,16 @@ argv-formatter@~1.0.0: resolved "https://registry.npmjs.org/argv-formatter/-/argv-formatter-1.0.0.tgz" integrity sha512-F2+Hkm9xFaRg+GkaNnbwXNDV5O6pnCFEmqyhvfC/Ic5LbgOWjJh3L+mN/s91rxVL3znE7DYVpW0GJFT+4YBgWw== +array-back@^3.0.1, array-back@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/array-back/-/array-back-3.1.0.tgz#b8859d7a508871c9a7b2cf42f99428f65e96bfb0" + integrity sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q== + +array-back@^4.0.1, array-back@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/array-back/-/array-back-4.0.2.tgz#8004e999a6274586beeb27342168652fdb89fa1e" + integrity sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg== + array-ify@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz" @@ -2883,12 +5236,17 @@ array-union@^2.1.0: resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== +array-uniq@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + integrity sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q== + arrify@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz" integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== -asap@^2.0.0, asap@~2.0.3: +asap@^2.0.0, asap@~2.0.3, asap@~2.0.6: version "2.0.6" resolved "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz" integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== @@ -2902,11 +5260,28 @@ asn1js@^3.0.1, asn1js@^3.0.5: pvutils "^1.1.3" tslib "^2.4.0" +assertion-error@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" + integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== + astral-regex@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz" integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== +async-mutex@^0.2.6: + version "0.2.6" + resolved "https://registry.yarnpkg.com/async-mutex/-/async-mutex-0.2.6.tgz#0d7a3deb978bc2b984d5908a2038e1ae2e54ff40" + integrity sha512-Hs4R+4SPgamu6rSGW8C7cV9gaWUKEHykfzCCvIRuaVv636Ju10ZdeUbvb4TBEW0INuq2DHZqXbK4Nd3yG4RaRw== + dependencies: + tslib "^2.0.0" + +async@1.x: + version "1.5.2" + resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + integrity sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w== + asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" @@ -2917,11 +5292,39 @@ at-least-node@^1.0.0: resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz" integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== +atomic-sleep@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" + integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== + auto-bind@~4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/auto-bind/-/auto-bind-4.0.0.tgz" integrity sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ== +available-typed-arrays@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" + integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== + dependencies: + possible-typed-array-names "^1.0.0" + +axios-retry@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/axios-retry/-/axios-retry-4.5.0.tgz#441fdc32cedf63d6abd5de5d53db3667afd4c39b" + integrity sha512-aR99oXhpEDGo0UuAlYcn2iGRds30k366Zfa05XWScR9QaQD4JYiP3/1Qt1u7YlefUOK+cn0CcwoL1oefavQUlQ== + dependencies: + is-retry-allowed "^2.2.0" + +axios@^1.12.2, axios@^1.5.1: + version "1.13.1" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.13.1.tgz#45b62dc8fe04e0e92274e08b98e910ba3d7963a7" + integrity sha512-hU4EGxxt+j7TQijx1oYdAjw4xuIp1wRQSsbMFwSthCWeBQur1eF+qJ5iQ5sN3Tw8YRzQNKb8jszgBdMDVqwJcw== + dependencies: + follow-redirects "^1.15.6" + form-data "^4.0.4" + proxy-from-env "^1.1.0" + axios@^1.6.0: version "1.6.8" resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.8.tgz#66d294951f5d988a00e87a0ffb955316a619ea66" @@ -3043,12 +5446,24 @@ barrelsby@^2.8.1: signale "^1.4.0" yargs "^17.4.1" +base-x@^3.0.2: + version "3.0.11" + resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.11.tgz#40d80e2a1aeacba29792ccc6c5354806421287ff" + integrity sha512-xz7wQ8xDhdyP7tQxwdteLYeFfS68tSMNCZ/Y37WJ4bhGfKPpqEIlmIyueQHqOyoPhE6xNUqjzRr8ra0eF9VRvA== + dependencies: + safe-buffer "^5.0.1" + +base-x@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/base-x/-/base-x-5.0.1.tgz#16bf35254be1df8aca15e36b7c1dda74b2aa6b03" + integrity sha512-M7uio8Zt++eg3jPj+rHMfCC+IuygQHHCOU+IYsVtik6FWjuYpVt/+MRKcgsAMHh8mMFAwnB+Bs+mTrFiXjMzKg== + base64-js@^1.3.0, base64-js@^1.3.1: version "1.5.1" resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== -bech32@^1.1.4: +bech32@1.1.4, bech32@^1.1.4: version "1.1.4" resolved "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz" integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== @@ -3058,6 +5473,11 @@ before-after-hook@^2.2.0: resolved "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz" integrity sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ== +big.js@6.2.2: + version "6.2.2" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-6.2.2.tgz#be3bb9ac834558b53b099deef2a1d06ac6368e1a" + integrity sha512-y/ie+Faknx7sZA5MfGA2xKlu0GDv8RWrXGsmlteyJQ2lvoKv9GBK/fpRMc2qlSoBAgNxrixICFCBefIq8WCQpQ== + bignumber.js@^9.1.1: version "9.1.1" resolved "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.1.tgz" @@ -3075,6 +5495,11 @@ bin-links@^3.0.3: rimraf "^3.0.0" write-file-atomic "^4.0.0" +binary-extensions@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" + integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== + binary-extensions@^2.2.0: version "2.2.0" resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" @@ -3089,21 +5514,50 @@ bl@^4.1.0: inherits "^2.0.4" readable-stream "^3.4.0" +blakejs@^1.1.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.2.1.tgz#5057e4206eadb4a97f7c0b6e197a505042fc3814" + integrity sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ== + +bn.js@4.11.6: + version "4.11.6" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" + integrity sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA== + bn.js@^4.11.9: version "4.12.0" resolved "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz" integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== +bn.js@^5.1.2, bn.js@^5.2.1: + version "5.2.2" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.2.tgz#82c09f9ebbb17107cd72cb7fd39bd1f9d0aaa566" + integrity sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw== + bn.js@^5.2.0: version "5.2.1" resolved "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz" integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== +borsh@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/borsh/-/borsh-0.7.0.tgz#6e9560d719d86d90dc589bca60ffc8a6c51fec2a" + integrity sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA== + dependencies: + bn.js "^5.2.0" + bs58 "^4.0.0" + text-encoding-utf-8 "^1.0.2" + bottleneck@^2.15.3: version "2.19.5" resolved "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.5.tgz" integrity sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw== +bowser@^2.9.0: + version "2.12.1" + resolved "https://registry.yarnpkg.com/bowser/-/bowser-2.12.1.tgz#f9ad78d7aebc472feb63dd9635e3ce2337e0e2c1" + integrity sha512-z4rE2Gxh7tvshQ4hluIT7XcFrgLIQaw9X3A+kTTRdovCz5PMukm/0QC/BKSYPj3omF5Qfypn9O/c5kgpmvYUCw== + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" @@ -3126,11 +5580,35 @@ braces@^3.0.2: dependencies: fill-range "^7.0.1" +braces@^3.0.3, braces@~3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" + integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== + dependencies: + fill-range "^7.1.1" + brorand@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz" integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== +browser-stdout@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" + integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== + +browserify-aes@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + browserslist@^4.22.2: version "4.22.2" resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz" @@ -3148,6 +5626,29 @@ bs-logger@0.x: dependencies: fast-json-stable-stringify "2.x" +bs58@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/bs58/-/bs58-6.0.0.tgz#a2cda0130558535dd281a2f8697df79caaf425d8" + integrity sha512-PD0wEnEYg6ijszw/u8s+iI3H17cTymlrwkKhDhPZq+Sokl3AU4htyBFTjAeNAlCCmg0f53g6ih3jATyCKftTfw== + dependencies: + base-x "^5.0.0" + +bs58@^4.0.0, bs58@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" + integrity sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw== + dependencies: + base-x "^3.0.2" + +bs58check@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc" + integrity sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA== + dependencies: + bs58 "^4.0.0" + create-hash "^1.1.0" + safe-buffer "^5.1.2" + bser@2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz" @@ -3160,6 +5661,19 @@ buffer-from@^1.0.0: resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== + +buffer@6.0.3, buffer@^6.0.3, buffer@~6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" + integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + buffer@^5.5.0: version "5.7.1" resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" @@ -3168,6 +5682,13 @@ buffer@^5.5.0: base64-js "^1.3.1" ieee754 "^1.1.13" +bufferutil@^4.0.1, bufferutil@^4.0.8: + version "4.0.9" + resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.9.tgz#6e81739ad48a95cad45a279588e13e95e24a800a" + integrity sha512-WDtdLmJvAuNNPzByAYpRo2rF1Mmradw6gvWsQKf63476DDXmomT9zUiGypLcG4ibIM67vhAj8jJRdbmEws2Aqw== + dependencies: + node-gyp-build "^4.3.0" + builtins@^5.0.0: version "5.0.1" resolved "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz" @@ -3175,6 +5696,13 @@ builtins@^5.0.0: dependencies: semver "^7.0.0" +bundle-require@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/bundle-require/-/bundle-require-5.1.0.tgz#8db66f41950da3d77af1ef3322f4c3e04009faee" + integrity sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA== + dependencies: + load-tsconfig "^0.2.3" + busboy@^1.6.0: version "1.6.0" resolved "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz" @@ -3182,6 +5710,11 @@ busboy@^1.6.0: dependencies: streamsearch "^1.1.0" +cac@^6.7.14: + version "6.7.14" + resolved "https://registry.yarnpkg.com/cac/-/cac-6.7.14.tgz#804e1e6f506ee363cb0e3ccbb09cad5dd9870959" + integrity sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ== + cacache@^16.0.0, cacache@^16.1.0, cacache@^16.1.3: version "16.1.3" resolved "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz" @@ -3229,6 +5762,32 @@ cachedir@2.3.0: resolved "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz" integrity sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw== +call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6" + integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ== + dependencies: + es-errors "^1.3.0" + function-bind "^1.1.2" + +call-bind@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.8.tgz#0736a9660f537e3388826f440d5ec45f744eaa4c" + integrity sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww== + dependencies: + call-bind-apply-helpers "^1.0.0" + es-define-property "^1.0.0" + get-intrinsic "^1.2.4" + set-function-length "^1.2.2" + +call-bound@^1.0.2, call-bound@^1.0.3, call-bound@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/call-bound/-/call-bound-1.0.4.tgz#238de935d2a2a692928c538c7ccfa91067fd062a" + integrity sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg== + dependencies: + call-bind-apply-helpers "^1.0.2" + get-intrinsic "^1.3.0" + callsites@^3.0.0: version "3.1.0" resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" @@ -3256,9 +5815,9 @@ camelcase@^5.0.0, camelcase@^5.3.1: resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -camelcase@^6.2.0: +camelcase@^6.0.0, camelcase@^6.2.0: version "6.3.0" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== caniuse-lite@^1.0.30001565: @@ -3283,11 +5842,63 @@ cardinal@^2.1.1: ansicolors "~0.3.2" redeyed "~2.1.0" +caseless@^0.12.0, caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== + +cbor@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/cbor/-/cbor-8.1.0.tgz#cfc56437e770b73417a2ecbfc9caf6b771af60d5" + integrity sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg== + dependencies: + nofilter "^3.1.0" + +cbor@^9.0.0: + version "9.0.2" + resolved "https://registry.yarnpkg.com/cbor/-/cbor-9.0.2.tgz#536b4f2d544411e70ec2b19a2453f10f83cd9fdb" + integrity sha512-JPypkxsB10s9QOWwa6zwPzqE1Md3vqpPc+cai4sAecuCsRyAtAl/pMyhPlMbT/xtPnm2dznJZYRLui57qiRhaQ== + dependencies: + nofilter "^3.1.0" + +"cbw-sdk@npm:@coinbase/wallet-sdk@3.9.3": + version "3.9.3" + resolved "https://registry.yarnpkg.com/@coinbase/wallet-sdk/-/wallet-sdk-3.9.3.tgz#daf10cb0c85d0363315b7270cb3f02bedc408aab" + integrity sha512-N/A2DRIf0Y3PHc1XAMvbBUu4zisna6qAdqABMZwBMNEfWrXpAwx16pZGkYCLGE+Rvv1edbcB2LYDRnACNcmCiw== + dependencies: + bn.js "^5.2.1" + buffer "^6.0.3" + clsx "^1.2.1" + eth-block-tracker "^7.1.0" + eth-json-rpc-filters "^6.0.0" + eventemitter3 "^5.0.1" + keccak "^3.0.3" + preact "^10.16.0" + sha.js "^2.4.11" + +chai@^4.2.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/chai/-/chai-4.5.0.tgz#707e49923afdd9b13a8b0b47d33d732d13812fd8" + integrity sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw== + dependencies: + assertion-error "^1.1.0" + check-error "^1.0.3" + deep-eql "^4.1.3" + get-func-name "^2.0.2" + loupe "^2.3.6" + pathval "^1.1.1" + type-detect "^4.1.0" + chalk@5.3.0, chalk@^5.2.0: version "5.3.0" resolved "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz" integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== +chalk@5.6.2, chalk@^5.4.1: + version "5.6.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.6.2.tgz#b1238b6e23ea337af71c7f8a295db5af0c158aea" + integrity sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA== + chalk@^2.3.2, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" @@ -3339,6 +5950,11 @@ change-case@^4.1.2: snake-case "^3.0.4" tslib "^2.0.3" +change-case@^5.4.4: + version "5.4.4" + resolved "https://registry.yarnpkg.com/change-case/-/change-case-5.4.4.tgz#0d52b507d8fb8f204343432381d1a6d7bff97a02" + integrity sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w== + char-regex@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz" @@ -3349,6 +5965,47 @@ chardet@^0.7.0: resolved "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz" integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== +charenc@0.0.2, "charenc@>= 0.0.1": + version "0.0.2" + resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" + integrity sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA== + +check-error@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.3.tgz#a6502e4312a7ee969f646e83bb3ddd56281bd694" + integrity sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg== + dependencies: + get-func-name "^2.0.2" + +chokidar@4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-4.0.1.tgz#4a6dff66798fb0f72a94f616abbd7e1a19f31d41" + integrity sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA== + dependencies: + readdirp "^4.0.1" + +chokidar@^3.5.3: + version "3.6.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" + integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +chokidar@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-4.0.3.tgz#7be37a4c03c9aee1ecfe862a4a23b2c70c205d30" + integrity sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA== + dependencies: + readdirp "^4.0.1" + chownr@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz" @@ -3366,6 +6023,15 @@ cidr-regex@^3.1.1: dependencies: ip-regex "^4.1.0" +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.7" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.7.tgz#bd094bfef42634ccfd9e13b9fc73274997111e39" + integrity sha512-Mz9QMT5fJe7bKI7MH31UilT5cEK5EHHRCccw/YRFsRY47AuNgaV6HY3rscp0/I4Q+tTW/5zoqpSeRRI54TkDWA== + dependencies: + inherits "^2.0.4" + safe-buffer "^5.2.1" + to-buffer "^1.2.2" + cjs-module-lexer@^1.0.0: version "1.2.3" resolved "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz" @@ -3403,6 +6069,16 @@ cli-spinners@^2.5.0: resolved "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.0.tgz" integrity sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g== +cli-table3@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.5.1.tgz#0252372d94dfc40dbd8df06005f48f31f656f202" + integrity sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw== + dependencies: + object-assign "^4.1.0" + string-width "^2.1.1" + optionalDependencies: + colors "^1.1.2" + cli-table3@^0.6.2, cli-table3@^0.6.3: version "0.6.3" resolved "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz" @@ -3465,6 +6141,11 @@ clone@^1.0.2: resolved "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz" integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== +clsx@1.2.1, clsx@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12" + integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg== + cmd-shim@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/cmd-shim/-/cmd-shim-5.0.0.tgz" @@ -3516,6 +6197,11 @@ colorette@^2.0.16, colorette@^2.0.20: resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz" integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== +colors@1.4.0, colors@^1.1.2: + version "1.4.0" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" + integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== + columnify@^1.6.0: version "1.6.0" resolved "https://registry.npmjs.org/columnify/-/columnify-1.6.0.tgz" @@ -3531,11 +6217,46 @@ combined-stream@^1.0.8: dependencies: delayed-stream "~1.0.0" +command-line-args@^5.1.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/command-line-args/-/command-line-args-5.2.1.tgz#c44c32e437a57d7c51157696893c5909e9cec42e" + integrity sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg== + dependencies: + array-back "^3.1.0" + find-replace "^3.0.0" + lodash.camelcase "^4.3.0" + typical "^4.0.0" + +command-line-usage@^6.1.0: + version "6.1.3" + resolved "https://registry.yarnpkg.com/command-line-usage/-/command-line-usage-6.1.3.tgz#428fa5acde6a838779dfa30e44686f4b6761d957" + integrity sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw== + dependencies: + array-back "^4.0.2" + chalk "^2.4.2" + table-layout "^1.0.2" + typical "^5.2.0" + commander@11.0.0: version "11.0.0" resolved "https://registry.npmjs.org/commander/-/commander-11.0.0.tgz" integrity sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ== +commander@14.0.0: + version "14.0.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-14.0.0.tgz#f244fc74a92343514e56229f16ef5c5e22ced5e9" + integrity sha512-2uM9rYjPvyq39NwLRqaiLtWHyDC1FvryJDa2ATTVims5YAS4PupsEQsDvP14FqhFr0P49CYDugi59xaxJlTXRA== + +commander@^14.0.0: + version "14.0.2" + resolved "https://registry.yarnpkg.com/commander/-/commander-14.0.2.tgz#b71fd37fe4069e4c3c7c13925252ada4eba14e8e" + integrity sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ== + +commander@^2.20.3: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + commander@~8.0.0: version "8.0.0" resolved "https://registry.npmjs.org/commander/-/commander-8.0.0.tgz" @@ -3584,6 +6305,16 @@ concat-map@0.0.1: resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== +concat-stream@^1.6.0, concat-stream@^1.6.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + config-chain@^1.1.11: version "1.1.13" resolved "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz" @@ -3673,6 +6404,11 @@ convert-source-map@^2.0.0: resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz" integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== +cookie-es@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/cookie-es/-/cookie-es-1.2.2.tgz#18ceef9eb513cac1cb6c14bcbf8bdb2679b34821" + integrity sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg== + core-util-is@~1.0.0: version "1.0.3" resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz" @@ -3709,6 +6445,34 @@ cosmjs-types@^0.9.0: resolved "https://registry.yarnpkg.com/cosmjs-types/-/cosmjs-types-0.9.0.tgz#c3bc482d28c7dfa25d1445093fdb2d9da1f6cfcc" integrity sha512-MN/yUe6mkJwHnCFfsNPeCfXVhyxHYW6c/xDUzrSbBycYzw++XvWDMJArXp2pLdgD6FQ8DW79vkPjeNKVrXaHeQ== +crc-32@^1.2.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.2.tgz#3cad35a934b8bf71f25ca524b6da51fb7eace2ff" + integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ== + +create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-hmac@^1.1.7: + version "1.1.7" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + create-require@^1.1.0: version "1.1.1" resolved "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz" @@ -3721,6 +6485,13 @@ cross-fetch@4.0.0: dependencies: node-fetch "^2.6.12" +cross-fetch@^3.1.4: + version "3.2.0" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.2.0.tgz#34e9192f53bc757d6614304d9e5e6fb4edb782e3" + integrity sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q== + dependencies: + node-fetch "^2.7.0" + cross-fetch@^3.1.5: version "3.1.8" resolved "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz" @@ -3728,6 +6499,13 @@ cross-fetch@^3.1.5: dependencies: node-fetch "^2.6.12" +cross-fetch@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-4.1.0.tgz#8f69355007ee182e47fa692ecbaa37a52e43c3d2" + integrity sha512-uKm5PU+MHTootlWEY+mZ4vvXoCn4fLQxT9dSc1sXVMSFkINTJVN8cAQROpwcKm8bJ/c7rgZVIBWzH5T78sNZZw== + dependencies: + node-fetch "^2.7.0" + cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" @@ -3737,6 +6515,18 @@ cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: shebang-command "^2.0.0" which "^2.0.1" +crossws@^0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/crossws/-/crossws-0.3.5.tgz#daad331d44148ea6500098bc858869f3a5ab81a6" + integrity sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA== + dependencies: + uncrypto "^0.1.3" + +crypt@0.0.2, "crypt@>= 0.0.1": + version "0.0.2" + resolved "https://registry.yarnpkg.com/crypt/-/crypt-0.0.2.tgz#88d7ff7ec0dfb86f713dc87bbb42d044d3e6c41b" + integrity sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow== + crypto-random-string@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz" @@ -3771,11 +6561,28 @@ dataloader@^2.2.2: resolved "https://registry.npmjs.org/dataloader/-/dataloader-2.2.2.tgz" integrity sha512-8YnDaaf7N3k/q5HnTJVuzSyLETjoZjVmHc4AeKAzOvKHEFQKcn64OKBfzHYtE9zGjctNM7V9I0MfnUVLpi7M5g== +date-fns@^2.29.3: + version "2.30.0" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.30.0.tgz#f367e644839ff57894ec6ac480de40cae4b0f4d0" + integrity sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw== + dependencies: + "@babel/runtime" "^7.21.0" + dateformat@^3.0.0: version "3.0.3" resolved "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz" integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== +dayjs@1.11.13: + version "1.11.13" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.13.tgz#92430b0139055c3ebb60150aa13e860a4b5a366c" + integrity sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg== + +death@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/death/-/death-1.1.0.tgz#01aa9c401edd92750514470b8266390c66c67318" + integrity sha512-vsV6S4KVHvTGxbEcij7hkWRv0It+sGGWVOM67dQde/o5Xjnr+KmLjxWJii2uEObIrt1CcM9w0Yaovx+iOlIL+w== + debounce@^1.2.0: version "1.2.1" resolved "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz" @@ -3788,6 +6595,20 @@ debug@4, debug@4.3.4, debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, de dependencies: ms "2.1.2" +debug@^4.3.2, debug@^4.3.5: + version "4.4.3" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.3.tgz#c6ae432d9bd9662582fce08709b038c58e9e3d6a" + integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA== + dependencies: + ms "^2.1.3" + +debug@~4.3.1, debug@~4.3.2: + version "4.3.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" + integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== + dependencies: + ms "^2.1.3" + debuglog@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz" @@ -3806,7 +6627,17 @@ decamelize@^1.1.0, decamelize@^1.2.0: resolved "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz" integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== -dedent@0.7.0: +decamelize@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" + integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== + +decode-uri-component@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" + integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== + +dedent@0.7.0, dedent@^0.7.0: version "0.7.0" resolved "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz" integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== @@ -3816,14 +6647,21 @@ dedent@^1.0.0: resolved "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz" integrity sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg== +deep-eql@^4.1.3: + version "4.1.4" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-4.1.4.tgz#d0d3912865911bb8fac5afb4e3acfa6a28dc72b7" + integrity sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg== + dependencies: + type-detect "^4.0.0" + deep-extend@^0.6.0, deep-extend@~0.6.0: version "0.6.0" resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== -deep-is@^0.1.3: +deep-is@^0.1.3, deep-is@~0.1.3: version "0.1.4" - resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== deepmerge@^4.2.2: @@ -3838,6 +6676,15 @@ defaults@^1.0.3: dependencies: clone "^1.0.2" +define-data-property@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" + integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== + dependencies: + es-define-property "^1.0.0" + es-errors "^1.3.0" + gopd "^1.0.1" + define-properties@^1.1.3: version "1.2.0" resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz" @@ -3846,6 +6693,11 @@ define-properties@^1.1.3: has-property-descriptors "^1.0.0" object-keys "^1.1.1" +defu@^6.1.4: + version "6.1.4" + resolved "https://registry.yarnpkg.com/defu/-/defu-6.1.4.tgz#4e0c9cf9ff68fe5f3d7f2765cc1a012dfdcb0479" + integrity sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg== + del@^6.0.0: version "6.1.1" resolved "https://registry.npmjs.org/del/-/del-6.1.1.tgz" @@ -3860,6 +6712,11 @@ del@^6.0.0: rimraf "^3.0.2" slash "^3.0.0" +delay@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/delay/-/delay-5.0.0.tgz#137045ef1b96e5071060dd5be60bf9334436bd1d" + integrity sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw== + delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" @@ -3880,6 +6737,21 @@ deprecation@^2.0.0: resolved "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz" integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== +derive-valtio@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/derive-valtio/-/derive-valtio-0.1.0.tgz#4b9fb393dfefccfef15fcbbddd745dd22d5d63d7" + integrity sha512-OCg2UsLbXK7GmmpzMXhYkdO64vhJ1ROUUGaTFyHjVwEdMEcTTRj7W1TxLbSBxdY8QLBPCcp66MTyaSy0RpO17A== + +destr@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/destr/-/destr-2.0.5.tgz#7d112ff1b925fb8d2079fac5bdb4a90973b51fdb" + integrity sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA== + +detect-browser@5.3.0, detect-browser@^5.2.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/detect-browser/-/detect-browser-5.3.0.tgz#9705ef2bddf46072d0f7265a1fe300e36fe7ceca" + integrity sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w== + detect-file@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz" @@ -3923,6 +6795,23 @@ diff@^5.1.0: resolved "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz" integrity sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw== +diff@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-5.2.0.tgz#26ded047cd1179b78b9537d5ef725503ce1ae531" + integrity sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A== + +difflib@^0.2.4: + version "0.2.4" + resolved "https://registry.yarnpkg.com/difflib/-/difflib-0.2.4.tgz#b5e30361a6db023176d562892db85940a718f47e" + integrity sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w== + dependencies: + heap ">= 0.2.0" + +dijkstrajs@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/dijkstrajs/-/dijkstrajs-1.0.3.tgz#4c8dbdea1f0f6478bff94d9c49c784d623e4fc23" + integrity sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA== + dir-glob@^3.0.0, dir-glob@^3.0.1: version "3.0.1" resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" @@ -3952,16 +6841,35 @@ dot-prop@^5.1.0: dependencies: is-obj "^2.0.0" +dotenv-expand@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-10.0.0.tgz#12605d00fb0af6d0a592e6558585784032e4ef37" + integrity sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A== + dotenv@^16.0.0: version "16.3.1" resolved "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz" integrity sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ== +dotenv@^16.3.1: + version "16.6.1" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.6.1.tgz#773f0e69527a8315c7285d5ee73c4459d20a8020" + integrity sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow== + dset@^3.1.2: version "3.1.2" resolved "https://registry.npmjs.org/dset/-/dset-3.1.2.tgz" integrity sha512-g/M9sqy3oHe477Ar4voQxWtaPIFw1jTdKZuomOjhCcBx9nHUNn0pu6NopuFFrTh/TRZIKEj+76vLWFu9BNKk+Q== +dunder-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a" + integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A== + dependencies: + call-bind-apply-helpers "^1.0.1" + es-errors "^1.3.0" + gopd "^1.2.0" + duplexer2@~0.1.0: version "0.1.4" resolved "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz" @@ -3969,16 +6877,49 @@ duplexer2@~0.1.0: dependencies: readable-stream "^2.0.2" +duplexify@^4.1.2: + version "4.1.3" + resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-4.1.3.tgz#a07e1c0d0a2c001158563d32592ba58bddb0236f" + integrity sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA== + dependencies: + end-of-stream "^1.4.1" + inherits "^2.0.3" + readable-stream "^3.1.1" + stream-shift "^1.0.2" + eastasianwidth@^0.2.0: version "0.2.0" resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== +eciesjs@^0.4.11: + version "0.4.16" + resolved "https://registry.yarnpkg.com/eciesjs/-/eciesjs-0.4.16.tgz#cfa5ddb7b662855d580a8bf4826700dc37191c9a" + integrity sha512-dS5cbA9rA2VR4Ybuvhg6jvdmp46ubLn3E+px8cG/35aEDNclrqoCjg6mt0HYZ/M+OoESS3jSkCrqk1kWAEhWAw== + dependencies: + "@ecies/ciphers" "^0.2.4" + "@noble/ciphers" "^1.3.0" + "@noble/curves" "^1.9.7" + "@noble/hashes" "^1.8.0" + electron-to-chromium@^1.4.601: version "1.4.611" resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.611.tgz" integrity sha512-ZtRpDxrjHapOwxtv+nuth5ByB8clyn8crVynmRNGO3wG3LOp8RTcyZDqwaI6Ng6y8FCK2hVZmJoqwCskKbNMaw== +elliptic@6.6.1, elliptic@^6.5.7: + version "6.6.1" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.6.1.tgz#3b8ffb02670bf69e382c7f65bf524c97c5405c06" + integrity sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g== + dependencies: + bn.js "^4.11.9" + brorand "^1.1.0" + hash.js "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" + elliptic@^6.5.4: version "6.5.4" resolved "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz" @@ -4007,6 +6948,11 @@ emoji-regex@^9.2.2: resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== +encode-utf8@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/encode-utf8/-/encode-utf8-1.0.3.tgz#f30fdd31da07fb596f281beb2f6b027851994cda" + integrity sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw== + encoding@^0.1.13: version "0.1.13" resolved "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz" @@ -4014,6 +6960,29 @@ encoding@^0.1.13: dependencies: iconv-lite "^0.6.2" +end-of-stream@^1.1.0, end-of-stream@^1.4.0, end-of-stream@^1.4.1: + version "1.4.5" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.5.tgz#7344d711dea40e0b74abc2ed49778743ccedb08c" + integrity sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg== + dependencies: + once "^1.4.0" + +engine.io-client@~6.6.1: + version "6.6.3" + resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-6.6.3.tgz#815393fa24f30b8e6afa8f77ccca2f28146be6de" + integrity sha512-T0iLjnyNWahNyv/lcjS2y4oE358tVS/SYQNxYXGAJ9/GLgH4VCvOQ/mhTjqU88mLZCQgiG8RIegFHYCdVC+j5w== + dependencies: + "@socket.io/component-emitter" "~3.1.0" + debug "~4.3.1" + engine.io-parser "~5.2.1" + ws "~8.17.1" + xmlhttprequest-ssl "~2.1.1" + +engine.io-parser@~5.2.1: + version "5.2.3" + resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.2.3.tgz#00dc5b97b1f233a23c9398d0209504cf5f94d92f" + integrity sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q== + enquirer@^2.3.5: version "2.4.1" resolved "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz" @@ -4053,6 +7022,87 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" +es-define-property@^1.0.0, es-define-property@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa" + integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g== + +es-errors@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" + integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== + +es-object-atoms@^1.0.0, es-object-atoms@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1" + integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA== + dependencies: + es-errors "^1.3.0" + +es-set-tostringtag@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz#f31dbbe0c183b00a6d26eb6325c810c0fd18bd4d" + integrity sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA== + dependencies: + es-errors "^1.3.0" + get-intrinsic "^1.2.6" + has-tostringtag "^1.0.2" + hasown "^2.0.2" + +es-toolkit@1.33.0: + version "1.33.0" + resolved "https://registry.yarnpkg.com/es-toolkit/-/es-toolkit-1.33.0.tgz#bcc9d92ef2e1ed4618c00dd30dfda9faddf4a0b7" + integrity sha512-X13Q/ZSc+vsO1q600bvNK4bxgXMkHcf//RxCmYDaRY5DAcT+eoXjY5hoAPGMdRnWQjvyLEcyauG3b6hz76LNqg== + +es6-promise@^4.0.3: + version "4.2.8" + resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" + integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== + +es6-promisify@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" + integrity sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ== + dependencies: + es6-promise "^4.0.3" + +esbuild@~0.25.4: + version "0.25.12" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.25.12.tgz#97a1d041f4ab00c2fce2f838d2b9969a2d2a97a5" + integrity sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg== + optionalDependencies: + "@esbuild/aix-ppc64" "0.25.12" + "@esbuild/android-arm" "0.25.12" + "@esbuild/android-arm64" "0.25.12" + "@esbuild/android-x64" "0.25.12" + "@esbuild/darwin-arm64" "0.25.12" + "@esbuild/darwin-x64" "0.25.12" + "@esbuild/freebsd-arm64" "0.25.12" + "@esbuild/freebsd-x64" "0.25.12" + "@esbuild/linux-arm" "0.25.12" + "@esbuild/linux-arm64" "0.25.12" + "@esbuild/linux-ia32" "0.25.12" + "@esbuild/linux-loong64" "0.25.12" + "@esbuild/linux-mips64el" "0.25.12" + "@esbuild/linux-ppc64" "0.25.12" + "@esbuild/linux-riscv64" "0.25.12" + "@esbuild/linux-s390x" "0.25.12" + "@esbuild/linux-x64" "0.25.12" + "@esbuild/netbsd-arm64" "0.25.12" + "@esbuild/netbsd-x64" "0.25.12" + "@esbuild/openbsd-arm64" "0.25.12" + "@esbuild/openbsd-x64" "0.25.12" + "@esbuild/openharmony-arm64" "0.25.12" + "@esbuild/sunos-x64" "0.25.12" + "@esbuild/win32-arm64" "0.25.12" + "@esbuild/win32-ia32" "0.25.12" + "@esbuild/win32-x64" "0.25.12" + +escalade@3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" + integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== + escalade@^3.1.1: version "3.1.1" resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" @@ -4073,6 +7123,18 @@ escape-string-regexp@^4.0.0: resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== +escodegen@1.8.x: + version "1.8.1" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018" + integrity sha512-yhi5S+mNTOuRvyW4gWlg5W1byMaQGWWSYHXsuFZ7GBo7tpyOwi2EdzMP/QWxh9hwkD2m+wDVHJsxhRIj+v/b/A== + dependencies: + esprima "^2.7.1" + estraverse "^1.9.1" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.2.0" + eslint-config-prettier@^8.5.0: version "8.10.0" resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz#3a06a662130807e2502fc3ff8b4143d8a0658e11" @@ -4177,6 +7239,11 @@ espree@^7.3.0, espree@^7.3.1: acorn-jsx "^5.3.1" eslint-visitor-keys "^1.3.0" +esprima@2.7.x, esprima@^2.7.1: + version "2.7.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" + integrity sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A== + esprima@^4.0.0, esprima@~4.0.0: version "4.0.1" resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" @@ -4196,6 +7263,11 @@ esrecurse@^4.3.0: dependencies: estraverse "^5.2.0" +estraverse@^1.9.1: + version "1.9.3" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44" + integrity sha512-25w1fMXQrGdoquWnScXZGckOv+Wes+JDnuN/+7ex3SauFRS72r2lFDec0EKPt2YD1wUJ/IrfEex+9yp4hfSOJA== + estraverse@^4.1.1: version "4.3.0" resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" @@ -4211,11 +7283,206 @@ esutils@^2.0.2: resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== -eventemitter3@^5.0.1: +eth-block-tracker@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/eth-block-tracker/-/eth-block-tracker-7.1.0.tgz#dfc16085c6817cc30caabba381deb8d204c1c766" + integrity sha512-8YdplnuE1IK4xfqpf4iU7oBxnOYAc35934o083G8ao+8WM8QQtt/mVlAY6yIAdY1eMeLqg4Z//PZjJGmWGPMRg== + dependencies: + "@metamask/eth-json-rpc-provider" "^1.0.0" + "@metamask/safe-event-emitter" "^3.0.0" + "@metamask/utils" "^5.0.1" + json-rpc-random-id "^1.0.1" + pify "^3.0.0" + +eth-gas-reporter@^0.2.25: + version "0.2.27" + resolved "https://registry.yarnpkg.com/eth-gas-reporter/-/eth-gas-reporter-0.2.27.tgz#928de8548a674ed64c7ba0bf5795e63079150d4e" + integrity sha512-femhvoAM7wL0GcI8ozTdxfuBtBFJ9qsyIAsmKVjlWAHUbdnnXHt+lKzz/kmldM5lA9jLuNHGwuIxorNpLbR1Zw== + dependencies: + "@solidity-parser/parser" "^0.14.0" + axios "^1.5.1" + cli-table3 "^0.5.0" + colors "1.4.0" + ethereum-cryptography "^1.0.3" + ethers "^5.7.2" + fs-readdir-recursive "^1.1.0" + lodash "^4.17.14" + markdown-table "^1.1.3" + mocha "^10.2.0" + req-cwd "^2.0.0" + sha1 "^1.1.1" + sync-request "^6.0.0" + +eth-json-rpc-filters@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/eth-json-rpc-filters/-/eth-json-rpc-filters-6.0.1.tgz#0b3e370f017f5c6f58d3e7bd0756d8099ed85c56" + integrity sha512-ITJTvqoCw6OVMLs7pI8f4gG92n/St6x80ACtHodeS+IXmO0w+t1T5OOzfSt7KLSMLRkVUoexV7tztLgDxg+iig== + dependencies: + "@metamask/safe-event-emitter" "^3.0.0" + async-mutex "^0.2.6" + eth-query "^2.1.2" + json-rpc-engine "^6.1.0" + pify "^5.0.0" + +eth-query@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/eth-query/-/eth-query-2.1.2.tgz#d6741d9000106b51510c72db92d6365456a6da5e" + integrity sha512-srES0ZcvwkR/wd5OQBRA1bIJMww1skfGS0s8wlwK3/oNP4+wnds60krvu5R1QbpRQjMmpG5OMIWro5s7gvDPsA== + dependencies: + json-rpc-random-id "^1.0.0" + xtend "^4.0.1" + +eth-rpc-errors@^4.0.2, eth-rpc-errors@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/eth-rpc-errors/-/eth-rpc-errors-4.0.3.tgz#6ddb6190a4bf360afda82790bb7d9d5e724f423a" + integrity sha512-Z3ymjopaoft7JDoxZcEb3pwdGh7yiYMhOwm2doUt6ASXlMavpNlK6Cre0+IMl2VSGyEU9rkiperQhp5iRxn5Pg== + dependencies: + fast-safe-stringify "^2.0.6" + +ethereum-bloom-filters@^1.0.6: + version "1.2.0" + resolved "https://registry.yarnpkg.com/ethereum-bloom-filters/-/ethereum-bloom-filters-1.2.0.tgz#8294f074c1a6cbd32c39d2cc77ce86ff14797dab" + integrity sha512-28hyiE7HVsWubqhpVLVmZXFd4ITeHi+BUu05o9isf0GUpMtzBUi+8/gFrGaGYzvGAJQmJ3JKj77Mk9G98T84rA== + dependencies: + "@noble/hashes" "^1.4.0" + +ethereum-cryptography@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz#8d6143cfc3d74bf79bbd8edecdf29e4ae20dd191" + integrity sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ== + dependencies: + "@types/pbkdf2" "^3.0.0" + "@types/secp256k1" "^4.0.1" + blakejs "^1.1.0" + browserify-aes "^1.2.0" + bs58check "^2.1.2" + create-hash "^1.2.0" + create-hmac "^1.1.7" + hash.js "^1.1.7" + keccak "^3.0.0" + pbkdf2 "^3.0.17" + randombytes "^2.1.0" + safe-buffer "^5.1.2" + scrypt-js "^3.0.0" + secp256k1 "^4.0.1" + setimmediate "^1.0.5" + +ethereum-cryptography@^1.0.3: + version "1.2.0" + resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-1.2.0.tgz#5ccfa183e85fdaf9f9b299a79430c044268c9b3a" + integrity sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw== + dependencies: + "@noble/hashes" "1.2.0" + "@noble/secp256k1" "1.7.1" + "@scure/bip32" "1.1.5" + "@scure/bip39" "1.1.1" + +ethereum-cryptography@^2.0.0, ethereum-cryptography@^2.1.2: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz#58f2810f8e020aecb97de8c8c76147600b0b8ccf" + integrity sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg== + dependencies: + "@noble/curves" "1.4.2" + "@noble/hashes" "1.4.0" + "@scure/bip32" "1.4.0" + "@scure/bip39" "1.3.0" + +ethereumjs-util@^7.1.4: + version "7.1.5" + resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz#9ecf04861e4fbbeed7465ece5f23317ad1129181" + integrity sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg== + dependencies: + "@types/bn.js" "^5.1.0" + bn.js "^5.1.2" + create-hash "^1.1.2" + ethereum-cryptography "^0.1.3" + rlp "^2.2.4" + +ethers@^5.7.2: + version "5.8.0" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.8.0.tgz#97858dc4d4c74afce83ea7562fe9493cedb4d377" + integrity sha512-DUq+7fHrCg1aPDFCHx6UIPb3nmt2XMpM7Y/g2gLhsl3lIBqeAfOJIl1qEvRf2uq3BiKxmh6Fh5pfp2ieyek7Kg== + dependencies: + "@ethersproject/abi" "5.8.0" + "@ethersproject/abstract-provider" "5.8.0" + "@ethersproject/abstract-signer" "5.8.0" + "@ethersproject/address" "5.8.0" + "@ethersproject/base64" "5.8.0" + "@ethersproject/basex" "5.8.0" + "@ethersproject/bignumber" "5.8.0" + "@ethersproject/bytes" "5.8.0" + "@ethersproject/constants" "5.8.0" + "@ethersproject/contracts" "5.8.0" + "@ethersproject/hash" "5.8.0" + "@ethersproject/hdnode" "5.8.0" + "@ethersproject/json-wallets" "5.8.0" + "@ethersproject/keccak256" "5.8.0" + "@ethersproject/logger" "5.8.0" + "@ethersproject/networks" "5.8.0" + "@ethersproject/pbkdf2" "5.8.0" + "@ethersproject/properties" "5.8.0" + "@ethersproject/providers" "5.8.0" + "@ethersproject/random" "5.8.0" + "@ethersproject/rlp" "5.8.0" + "@ethersproject/sha2" "5.8.0" + "@ethersproject/signing-key" "5.8.0" + "@ethersproject/solidity" "5.8.0" + "@ethersproject/strings" "5.8.0" + "@ethersproject/transactions" "5.8.0" + "@ethersproject/units" "5.8.0" + "@ethersproject/wallet" "5.8.0" + "@ethersproject/web" "5.8.0" + "@ethersproject/wordlists" "5.8.0" + +ethers@^6.14.0, ethers@^6.4.0: + version "6.15.0" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.15.0.tgz#2980f2a3baf0509749b7e21f8692fa8a8349c0e3" + integrity sha512-Kf/3ZW54L4UT0pZtsY/rf+EkBU7Qi5nnhonjUb8yTXcxH3cdcWrV2cRyk0Xk/4jK6OoHhxxZHriyhje20If2hQ== + dependencies: + "@adraffy/ens-normalize" "1.10.1" + "@noble/curves" "1.2.0" + "@noble/hashes" "1.3.2" + "@types/node" "22.7.5" + aes-js "4.0.0-beta.5" + tslib "2.7.0" + ws "8.17.1" + +ethjs-unit@0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/ethjs-unit/-/ethjs-unit-0.1.6.tgz#c665921e476e87bce2a9d588a6fe0405b2c41699" + integrity sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw== + dependencies: + bn.js "4.11.6" + number-to-bn "1.7.0" + +event-target-shim@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" + integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== + +eventemitter2@^6.4.9: + version "6.4.9" + resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-6.4.9.tgz#41f2750781b4230ed58827bc119d293471ecb125" + integrity sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg== + +eventemitter3@5.0.1, eventemitter3@^5.0.1: version "5.0.1" - resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4" integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== +events@3.3.0, events@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + execa@7.2.0: version "7.2.0" resolved "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz" @@ -4275,6 +7542,14 @@ exponential-backoff@^3.1.1: resolved "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz" integrity sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw== +extension-port-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/extension-port-stream/-/extension-port-stream-3.0.0.tgz#00a7185fe2322708a36ed24843c81bd754925fef" + integrity sha512-an2S5quJMiy5bnZKEf6AkfH/7r8CzHvhchU40gxN+OM6HPhe7Z9T1FUychcf2M9PpPOO0Hf7BAEfJkw2TDIBDw== + dependencies: + readable-stream "^3.6.2 || ^4.4.2" + webextension-polyfill ">=0.10.0 <1.0" + external-editor@^3.0.3: version "3.1.0" resolved "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz" @@ -4289,6 +7564,11 @@ extract-files@^11.0.0: resolved "https://registry.npmjs.org/extract-files/-/extract-files-11.0.0.tgz" integrity sha512-FuoE1qtbJ4bBVvv94CC7s0oTnKUGvQs+Rjf1L2SJFfS+HTVVjhPFtehPdQ0JiGPqVNfSSZvL5yzHHQq2Z4WNhQ== +eyes@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0" + integrity sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ== + fast-decode-uri-component@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz" @@ -4304,6 +7584,17 @@ fast-diff@^1.1.2: resolved "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz" integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== +fast-glob@^3.0.3: + version "3.3.3" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818" + integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.8" + fast-glob@^3.2.9: version "3.3.1" resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz" @@ -4320,9 +7611,9 @@ fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-sta resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== -fast-levenshtein@^2.0.6: +fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: version "2.0.6" - resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== fast-querystring@^1.1.1: @@ -4332,6 +7623,21 @@ fast-querystring@^1.1.1: dependencies: fast-decode-uri-component "^1.0.1" +fast-redact@^3.0.0: + version "3.5.0" + resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.5.0.tgz#e9ea02f7e57d0cd8438180083e93077e496285e4" + integrity sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A== + +fast-safe-stringify@^2.0.6: + version "2.1.1" + resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" + integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== + +fast-stable-stringify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fast-stable-stringify/-/fast-stable-stringify-1.0.0.tgz#5c5543462b22aeeefd36d05b34e51c78cb86d313" + integrity sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag== + fast-url-parser@^1.1.3: version "1.1.3" resolved "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz" @@ -4376,6 +7682,11 @@ fbjs@^3.0.0: setimmediate "^1.0.5" ua-parser-js "^1.0.35" +fdir@^6.1.1: + version "6.5.0" + resolved "https://registry.yarnpkg.com/fdir/-/fdir-6.5.0.tgz#ed2ab967a331ade62f18d077dae192684d50d350" + integrity sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg== + figures@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz" @@ -4404,6 +7715,18 @@ fill-range@^7.0.1: dependencies: to-regex-range "^5.0.1" +fill-range@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" + integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== + dependencies: + to-regex-range "^5.0.1" + +filter-obj@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b" + integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ== + find-node-modules@^2.1.2: version "2.1.3" resolved "https://registry.npmjs.org/find-node-modules/-/find-node-modules-2.1.3.tgz" @@ -4412,6 +7735,13 @@ find-node-modules@^2.1.2: findup-sync "^4.0.0" merge "^2.1.1" +find-replace@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/find-replace/-/find-replace-3.0.0.tgz#3e7e23d3b05167a76f770c9fbd5258b0def68c38" + integrity sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ== + dependencies: + array-back "^3.0.1" + find-root@1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz" @@ -4465,6 +7795,11 @@ flat-cache@^3.0.4: flatted "^3.1.0" rimraf "^3.0.2" +flat@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" + integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== + flatted@^3.1.0: version "3.2.7" resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz" @@ -4475,6 +7810,13 @@ follow-redirects@^1.15.6: resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b" integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== +for-each@^0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.5.tgz#d650688027826920feeb0af747ee7b9421a41d47" + integrity sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg== + dependencies: + is-callable "^1.2.7" + foreground-child@^3.1.0: version "3.1.1" resolved "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz" @@ -4483,6 +7825,18 @@ foreground-child@^3.1.0: cross-spawn "^7.0.0" signal-exit "^4.0.1" +form-data@^2.2.0: + version "2.5.5" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.5.5.tgz#a5f6364ad7e4e67e95b4a07e2d8c6f711c74f624" + integrity sha512-jqdObeR2rxZZbPSGL+3VckHMYtu+f9//KXBsVny6JSX/pa38Fy+bGjuG8eW/H6USNQWhLi8Num++cU2yOCNz4A== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + es-set-tostringtag "^2.1.0" + hasown "^2.0.2" + mime-types "^2.1.35" + safe-buffer "^5.2.1" + form-data@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" @@ -4492,6 +7846,17 @@ form-data@^4.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" +form-data@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.4.tgz#784cdcce0669a9d68e94d11ac4eea98088edd2c4" + integrity sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + es-set-tostringtag "^2.1.0" + hasown "^2.0.2" + mime-types "^2.1.12" + from2@^2.3.0: version "2.3.0" resolved "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz" @@ -4505,9 +7870,9 @@ fromentries@^1.3.2: resolved "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz" integrity sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg== -fs-extra@9.1.0: +fs-extra@9.1.0, fs-extra@^9.1.0: version "9.1.0" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== dependencies: at-least-node "^1.0.0" @@ -4533,6 +7898,24 @@ fs-extra@^11.0.0: jsonfile "^6.0.1" universalify "^2.0.0" +fs-extra@^7.0.0: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" + integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-extra@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" + integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== + dependencies: + graceful-fs "^4.2.0" + jsonfile "^4.0.0" + universalify "^0.1.0" + fs-minipass@^2.0.0, fs-minipass@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz" @@ -4547,12 +7930,17 @@ fs-minipass@^3.0.0: dependencies: minipass "^7.0.3" +fs-readdir-recursive@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27" + integrity sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA== + fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== -fsevents@^2.3.2: +fsevents@^2.3.2, fsevents@~2.3.2: version "2.3.3" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== @@ -4562,6 +7950,11 @@ function-bind@^1.1.1: resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + functional-red-black-tree@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz" @@ -4581,6 +7974,11 @@ gauge@^4.0.3: strip-ansi "^6.0.1" wide-align "^1.1.5" +generator-function@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/generator-function/-/generator-function-2.0.1.tgz#0e75dd410d1243687a0ba2e951b94eedb8f737a2" + integrity sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g== + gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" @@ -4591,6 +7989,11 @@ get-caller-file@^2.0.1, get-caller-file@^2.0.5: resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== +get-func-name@^2.0.1, get-func-name@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.2.tgz#0d7cf20cd13fda808669ffa88f4ffc7a3943fc41" + integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== + get-intrinsic@^1.1.1: version "1.2.1" resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz" @@ -4601,11 +8004,40 @@ get-intrinsic@^1.1.1: has-proto "^1.0.1" has-symbols "^1.0.3" +get-intrinsic@^1.2.4, get-intrinsic@^1.2.5, get-intrinsic@^1.2.6, get-intrinsic@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01" + integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ== + dependencies: + call-bind-apply-helpers "^1.0.2" + es-define-property "^1.0.1" + es-errors "^1.3.0" + es-object-atoms "^1.1.1" + function-bind "^1.1.2" + get-proto "^1.0.1" + gopd "^1.2.0" + has-symbols "^1.1.0" + hasown "^2.0.2" + math-intrinsics "^1.1.0" + get-package-type@^0.1.0: version "0.1.0" resolved "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz" integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== +get-port@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/get-port/-/get-port-3.2.0.tgz#dd7ce7de187c06c8bf353796ac71e099f0980ebc" + integrity sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg== + +get-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1" + integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g== + dependencies: + dunder-proto "^1.0.1" + es-object-atoms "^1.0.0" + get-stdin@~8.0.0: version "8.0.0" resolved "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz" @@ -4616,6 +8048,14 @@ get-stream@^6.0.0, get-stream@^6.0.1: resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== +ghost-testrpc@^0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/ghost-testrpc/-/ghost-testrpc-0.0.2.tgz#c4de9557b1d1ae7b2d20bbe474a91378ca90ce92" + integrity sha512-i08dAEgJ2g8z5buJIrCTduwPIhih3DP+hOCTyyryikfV8T0bNvHnGXO67i0DD1H4GBDETTclPy9njZbfluQYrQ== + dependencies: + chalk "^2.4.2" + node-emoji "^1.10.0" + git-log-parser@^1.2.0: version "1.2.0" resolved "https://registry.npmjs.org/git-log-parser/-/git-log-parser-1.2.0.tgz" @@ -4639,14 +8079,26 @@ git-raw-commits@^2.0.0: split2 "^3.0.0" through2 "^4.0.0" -glob-parent@^5.1.2: +glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" -glob@7.2.3, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4: +glob@7.1.7, glob@~7.1.7: + version "7.1.7" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" + integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@7.2.3, glob@^7.0.0, glob@^7.1.1, glob@^7.1.3, glob@^7.1.4: version "7.2.3" resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== @@ -4669,28 +8121,27 @@ glob@^10.2.2: minipass "^5.0.0 || ^6.0.2 || ^7.0.0" path-scurry "^1.10.1" -glob@^8.0.1: - version "8.1.0" - resolved "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz" - integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== +glob@^5.0.15: + version "5.0.15" + resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" + integrity sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA== dependencies: - fs.realpath "^1.0.0" inflight "^1.0.4" inherits "2" - minimatch "^5.0.1" + minimatch "2 || 3" once "^1.3.0" + path-is-absolute "^1.0.0" -glob@~7.1.7: - version "7.1.7" - resolved "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz" - integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== +glob@^8.0.1, glob@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" + integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" inherits "2" - minimatch "^3.0.4" + minimatch "^5.0.1" once "^1.3.0" - path-is-absolute "^1.0.0" global-dirs@^0.1.1: version "0.1.1" @@ -4708,6 +8159,13 @@ global-modules@^1.0.0: is-windows "^1.0.1" resolve-dir "^1.0.0" +global-modules@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" + integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== + dependencies: + global-prefix "^3.0.0" + global-prefix@^1.0.1: version "1.0.2" resolved "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz" @@ -4719,6 +8177,15 @@ global-prefix@^1.0.1: is-windows "^1.0.1" which "^1.2.14" +global-prefix@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" + integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== + dependencies: + ini "^1.3.5" + kind-of "^6.0.2" + which "^1.3.1" + globals@^11.1.0: version "11.12.0" resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" @@ -4738,6 +8205,20 @@ globalthis@^1.0.1: dependencies: define-properties "^1.1.3" +globby@^10.0.1: + version "10.0.2" + resolved "https://registry.yarnpkg.com/globby/-/globby-10.0.2.tgz#277593e745acaa4646c3ab411289ec47a0392543" + integrity sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg== + dependencies: + "@types/glob" "^7.1.1" + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.0.3" + glob "^7.1.3" + ignore "^5.1.1" + merge2 "^1.2.3" + slash "^3.0.0" + globby@^11.0.0, globby@^11.0.1, globby@^11.0.3, globby@^11.1.0: version "11.1.0" resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" @@ -4750,6 +8231,11 @@ globby@^11.0.0, globby@^11.0.1, globby@^11.0.3, globby@^11.1.0: merge2 "^1.4.1" slash "^3.0.0" +gopd@^1.0.1, gopd@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" + integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== + graceful-fs@4.2.10: version "4.2.10" resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz" @@ -4812,9 +8298,24 @@ graphql@^16.9.0: resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.9.0.tgz#1c310e63f16a49ce1fbb230bd0a000e99f6f115f" integrity sha512-GGTKBX4SD7Wdb8mqeDLni2oaRGYQWjWHGKPQ24ZMnUtKfcsVoiv4uX8+LJr1K6U5VW2Lu1BwJnj7uiori0YtRw== -handlebars@^4.7.7: +h3@^1.15.4: + version "1.15.4" + resolved "https://registry.yarnpkg.com/h3/-/h3-1.15.4.tgz#022ab3563bbaf2108c25375c40460f3e54a5fe02" + integrity sha512-z5cFQWDffyOe4vQ9xIqNfCZdV4p//vy6fBnr8Q1AWnVZ0teurKMG66rLj++TKwKPUP3u7iMUvrvKaEUiQw2QWQ== + dependencies: + cookie-es "^1.2.2" + crossws "^0.3.5" + defu "^6.1.4" + destr "^2.0.5" + iron-webcrypto "^1.2.1" + node-mock-http "^1.0.2" + radix3 "^1.1.2" + ufo "^1.6.1" + uncrypto "^0.1.3" + +handlebars@^4.0.1, handlebars@^4.7.7: version "4.7.8" - resolved "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz" + resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.8.tgz#41c42c18b1be2365439188c77c6afae71c0cd9e9" integrity sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ== dependencies: minimist "^1.2.5" @@ -4829,6 +8330,20 @@ hard-rejection@^2.1.0: resolved "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz" integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== +hardhat-gas-reporter@^1.0.8: + version "1.0.10" + resolved "https://registry.yarnpkg.com/hardhat-gas-reporter/-/hardhat-gas-reporter-1.0.10.tgz#ebe5bda5334b5def312747580cd923c2b09aef1b" + integrity sha512-02N4+So/fZrzJ88ci54GqwVA3Zrf0C9duuTyGt0CFRIh/CdNwbnTgkXkRfojOMLBQ+6t+lBIkgbsOtqMvNwikA== + dependencies: + array-uniq "1.0.3" + eth-gas-reporter "^0.2.25" + sha1 "^1.1.1" + +has-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" + integrity sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA== + has-flag@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" @@ -4846,6 +8361,13 @@ has-property-descriptors@^1.0.0: dependencies: get-intrinsic "^1.1.1" +has-property-descriptors@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" + integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== + dependencies: + es-define-property "^1.0.0" + has-proto@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz" @@ -4856,6 +8378,18 @@ has-symbols@^1.0.3: resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== +has-symbols@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338" + integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ== + +has-tostringtag@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" + integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== + dependencies: + has-symbols "^1.0.3" + has-unicode@^2.0.1: version "2.0.1" resolved "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz" @@ -4868,7 +8402,17 @@ has@^1.0.3: dependencies: function-bind "^1.1.1" -hash.js@^1.0.0, hash.js@^1.0.3: +hash-base@^3.0.0, hash-base@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.2.tgz#79d72def7611c3f6e3c3b5730652638001b10a74" + integrity sha512-Bb33KbowVTIj5s7Ked1OsqHUeCpz//tPwR+E2zJgJKo9Z5XolZ9b6bdUgjmYlwnWhoOQKoTd1TYToZGn5mAYOg== + dependencies: + inherits "^2.0.4" + readable-stream "^2.3.8" + safe-buffer "^5.2.1" + to-buffer "^1.2.1" + +hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: version "1.1.7" resolved "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz" integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== @@ -4876,6 +8420,18 @@ hash.js@^1.0.0, hash.js@^1.0.3: inherits "^2.0.3" minimalistic-assert "^1.0.1" +hasown@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" + integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== + dependencies: + function-bind "^1.1.2" + +he@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + header-case@^2.0.4: version "2.0.4" resolved "https://registry.npmjs.org/header-case/-/header-case-2.0.4.tgz" @@ -4884,6 +8440,11 @@ header-case@^2.0.4: capital-case "^1.0.4" tslib "^2.0.3" +"heap@>= 0.2.0": + version "0.2.7" + resolved "https://registry.yarnpkg.com/heap/-/heap-0.2.7.tgz#1e6adf711d3f27ce35a81fe3b7bd576c2260a8fc" + integrity sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg== + hmac-drbg@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz" @@ -4900,6 +8461,11 @@ homedir-polyfill@^1.0.1: dependencies: parse-passwd "^1.0.0" +hono@^4.10.3: + version "4.10.4" + resolved "https://registry.yarnpkg.com/hono/-/hono-4.10.4.tgz#226f19a7be0f524c3acb736f5c9da5bd081954ca" + integrity sha512-YG/fo7zlU3KwrBL5vDpWKisLYiM+nVstBQqfr7gCPbSYURnNEP9BDxEMz8KfsDR9JX0lJWDRNc6nXX31v7ZEyg== + hook-std@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/hook-std/-/hook-std-2.0.0.tgz" @@ -4929,6 +8495,16 @@ html-escaper@^2.0.0: resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== +http-basic@^8.1.1: + version "8.1.3" + resolved "https://registry.yarnpkg.com/http-basic/-/http-basic-8.1.3.tgz#a7cabee7526869b9b710136970805b1004261bbf" + integrity sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw== + dependencies: + caseless "^0.12.0" + concat-stream "^1.6.2" + http-response-object "^3.0.1" + parse-cache-control "^1.0.1" + http-cache-semantics@^4.1.0, http-cache-semantics@^4.1.1: version "4.1.1" resolved "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz" @@ -4951,6 +8527,13 @@ http-proxy-agent@^7.0.0: agent-base "^7.1.0" debug "^4.3.4" +http-response-object@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/http-response-object/-/http-response-object-3.0.2.tgz#7f435bb210454e4360d074ef1f989d5ea8aa9810" + integrity sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA== + dependencies: + "@types/node" "^10.0.3" + https-proxy-agent@^5.0.0: version "5.0.1" resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz" @@ -5003,9 +8586,19 @@ iconv-lite@^0.6.2: dependencies: safer-buffer ">= 2.1.2 < 3.0.0" -ieee754@^1.1.13: +idb-keyval@6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/idb-keyval/-/idb-keyval-6.2.1.tgz#94516d625346d16f56f3b33855da11bfded2db33" + integrity sha512-8Sb3veuYCyrZL+VBt9LJfZjLUPWVvqn8tG28VqYNFCo43KHcKuq+b4EiXGeuaLAQWL2YmyDgMp2aSpH9JHsEQg== + +idb-keyval@^6.2.1: + version "6.2.2" + resolved "https://registry.yarnpkg.com/idb-keyval/-/idb-keyval-6.2.2.tgz#b0171b5f73944854a3291a5cdba8e12768c4854a" + integrity sha512-yjD9nARJ/jb1g+CvD0tlhUHOrJ9Sy0P8T9MF3YaLlHnSRpwPfpTX0XIvpmw3gAJUmEu3FiICLBDPXVwyEvrleg== + +ieee754@^1.1.13, ieee754@^1.2.1: version "1.2.1" - resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== ignore-walk@^5.0.1: @@ -5020,6 +8613,11 @@ ignore@^4.0.6: resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== +ignore@^5.1.1: + version "5.3.2" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" + integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== + ignore@^5.2.0: version "5.2.4" resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz" @@ -5030,6 +8628,11 @@ ignore@~5.1.8: resolved "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz" integrity sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ== +immer@10.0.2: + version "10.0.2" + resolved "https://registry.yarnpkg.com/immer/-/immer-10.0.2.tgz#11636c5b77acf529e059582d76faf338beb56141" + integrity sha512-Rx3CqeqQ19sxUtYV9CU911Vhy8/721wRFnJv3REVGWUmoAcIwzifTsdmJte/MV+0/XpM35LZdQMBGkRIoLPwQA== + immutable@~3.7.6: version "3.7.6" resolved "https://registry.npmjs.org/immutable/-/immutable-3.7.6.tgz" @@ -5084,7 +8687,7 @@ inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -ini@^1.3.4, ini@~1.3.0: +ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: version "1.3.8" resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== @@ -5149,6 +8752,11 @@ inquirer@^8.0.0: through "^2.3.6" wrap-ansi "^6.0.1" +interpret@^1.0.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" + integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== + into-stream@^6.0.0: version "6.0.0" resolved "https://registry.npmjs.org/into-stream/-/into-stream-6.0.0.tgz" @@ -5174,6 +8782,11 @@ ip@^2.0.0: resolved "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz" integrity sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ== +iron-webcrypto@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/iron-webcrypto/-/iron-webcrypto-1.2.1.tgz#aa60ff2aa10550630f4c0b11fd2442becdb35a6f" + integrity sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg== + is-absolute@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz" @@ -5182,11 +8795,36 @@ is-absolute@^1.0.0: is-relative "^1.0.0" is-windows "^1.0.1" +is-arguments@^1.0.4: + version "1.2.0" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.2.0.tgz#ad58c6aecf563b78ef2bf04df540da8f5d7d8e1b" + integrity sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA== + dependencies: + call-bound "^1.0.2" + has-tostringtag "^1.0.2" + is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-buffer@~1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + +is-callable@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" + integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== + is-cidr@^4.0.2: version "4.0.2" resolved "https://registry.npmjs.org/is-cidr/-/is-cidr-4.0.2.tgz" @@ -5201,11 +8839,23 @@ is-core-module@^2.13.0, is-core-module@^2.5.0, is-core-module@^2.8.1: dependencies: has "^1.0.3" +is-core-module@^2.16.1: + version "2.16.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" + integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== + dependencies: + hasown "^2.0.2" + is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w== + is-fullwidth-code-point@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" @@ -5221,13 +8871,29 @@ is-generator-fn@^2.0.0: resolved "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz" integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== -is-glob@4.0.3, is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: +is-generator-function@^1.0.7: + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.1.2.tgz#ae3b61e3d5ea4e4839b90bad22b02335051a17d5" + integrity sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA== + dependencies: + call-bound "^1.0.4" + generator-function "^2.0.0" + get-proto "^1.0.1" + has-tostringtag "^1.0.2" + safe-regex-test "^1.1.0" + +is-glob@4.0.3, is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== dependencies: is-extglob "^2.1.1" +is-hex-prefixed@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz#7d8d37e6ad77e5d127148913c573e082d777f554" + integrity sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA== + is-interactive@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz" @@ -5270,11 +8936,26 @@ is-plain-obj@^1.1.0: resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz" integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== +is-plain-obj@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== + is-plain-object@^5.0.0: version "5.0.0" resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz" integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== +is-regex@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.2.1.tgz#76d70a3ed10ef9be48eb577887d74205bf0cad22" + integrity sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g== + dependencies: + call-bound "^1.0.2" + gopd "^1.2.0" + has-tostringtag "^1.0.2" + hasown "^2.0.2" + is-relative@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz" @@ -5282,6 +8963,11 @@ is-relative@^1.0.0: dependencies: is-unc-path "^1.0.0" +is-retry-allowed@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-2.2.0.tgz#88f34cbd236e043e71b6932d09b0c65fb7b4d71d" + integrity sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg== + is-stream@^2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" @@ -5299,6 +8985,13 @@ is-text-path@^1.0.1: dependencies: text-extensions "^1.0.0" +is-typed-array@^1.1.14, is-typed-array@^1.1.3: + version "1.1.15" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.15.tgz#4bfb4a45b61cee83a5a46fba778e4e8d59c0ce0b" + integrity sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ== + dependencies: + which-typed-array "^1.1.16" + is-unc-path@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz" @@ -5328,6 +9021,11 @@ is-windows@^1.0.1: resolved "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz" integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== +isarray@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" + integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== + isarray@~1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" @@ -5348,6 +9046,16 @@ isomorphic-ws@^4.0.1: resolved "https://registry.npmjs.org/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz" integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w== +isows@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/isows/-/isows-1.0.6.tgz#0da29d706fa51551c663c627ace42769850f86e7" + integrity sha512-lPHCayd40oW98/I0uvgaHKWCSvkzY27LjWLbtzOm64yQ+G3Q5npjjbdppU65iZXkK1Zt+kH9pfegli0AYfwYYw== + +isows@1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/isows/-/isows-1.0.7.tgz#1c06400b7eed216fbba3bcbd68f12490fc342915" + integrity sha512-I1fSfDCZL5P0v33sVqeTDSpcstAg/N+wF5HS033mogOVIp4B+oHC7oOCsA3axAbBSGTJ8QubbNmnIRN/h8U7hg== + issue-parser@^6.0.0: version "6.0.0" resolved "https://registry.npmjs.org/issue-parser/-/issue-parser-6.0.0.tgz" @@ -5415,6 +9123,24 @@ java-properties@^1.0.0: resolved "https://registry.npmjs.org/java-properties/-/java-properties-1.0.2.tgz" integrity sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ== +jayson@^4.1.1: + version "4.2.0" + resolved "https://registry.yarnpkg.com/jayson/-/jayson-4.2.0.tgz#b71762393fa40bc9637eaf734ca6f40d3b8c0c93" + integrity sha512-VfJ9t1YLwacIubLhONk0KFeosUBwstRWQ0IRT1KDjEjnVnSOVHC3uwugyV7L0c7R9lpVyrUGT2XWiBA1UTtpyg== + dependencies: + "@types/connect" "^3.4.33" + "@types/node" "^12.12.54" + "@types/ws" "^7.4.4" + commander "^2.20.3" + delay "^5.0.0" + es6-promisify "^5.0.0" + eyes "^0.1.8" + isomorphic-ws "^4.0.1" + json-stringify-safe "^5.0.1" + stream-json "^1.9.1" + uuid "^8.3.2" + ws "^7.5.10" + jest-changed-files@^29.5.0: version "29.5.0" resolved "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.5.0.tgz" @@ -5795,14 +9521,24 @@ jose@^4.11.4: resolved "https://registry.npmjs.org/jose/-/jose-4.14.4.tgz" integrity sha512-j8GhLiKmUAh+dsFXlX1aJCbt5KMibuKb+d7j1JaOJG6s2UjX1PQlW+OKB/sD4a/5ZYF4RcmYmLSndOoU3Lt/3g== +jose@^6.0.8: + version "6.1.0" + resolved "https://registry.yarnpkg.com/jose/-/jose-6.1.0.tgz#96285365689d16f2845a353964d2284bf19f464c" + integrity sha512-TTQJyoEoKcC1lscpVDCSsVgYzUDg/0Bt3WE//WiTPK6uOCQC2KZS4MpugbMWt/zyjkopgZoXhZuCi00gLudfUA== + +js-sha3@0.8.0, js-sha3@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" + integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== + "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@^3.13.1: +js-yaml@3.x, js-yaml@^3.13.1: version "3.14.1" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== dependencies: argparse "^1.0.7" @@ -5830,6 +9566,19 @@ json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== +json-rpc-engine@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/json-rpc-engine/-/json-rpc-engine-6.1.0.tgz#bf5ff7d029e1c1bf20cb6c0e9f348dcd8be5a393" + integrity sha512-NEdLrtrq1jUZyfjkr9OCz9EzCNhnRyWtt1PAnvnhwy6e8XETS0Dtc+ZNCO2gvuAoKsIn2+vCSowXTYE4CkgnAQ== + dependencies: + "@metamask/safe-event-emitter" "^2.0.0" + eth-rpc-errors "^4.0.2" + +json-rpc-random-id@^1.0.0, json-rpc-random-id@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-rpc-random-id/-/json-rpc-random-id-1.0.1.tgz#ba49d96aded1444dbb8da3d203748acbbcdec8c8" + integrity sha512-RJ9YYNCkhVDBuP4zN5BBtYAzEl03yq/jIIsyif0JY9qyJuQQZNeDK7anAPKKlyEtLSj2s8h6hNh2F8zO5q7ScA== + json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" @@ -5885,6 +9634,13 @@ jsonc-parser@~3.0.0: resolved "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz" integrity sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA== +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== + optionalDependencies: + graceful-fs "^4.1.6" + jsonfile@^6.0.1: version "6.1.0" resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" @@ -5904,6 +9660,11 @@ jsonparse@^1.2.0, jsonparse@^1.3.1: resolved "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz" integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== +jsonschema@^1.2.4: + version "1.5.0" + resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.5.0.tgz#f6aceb1ab9123563dd901d05f81f9d4883d3b7d8" + integrity sha512-K+A9hhqbn0f3pJX17Q/7H6yQfD/5OXgdrR5UE12gMXCiN9D5Xq2o5mddV2QEcX/bjla99ASsAAQUyMCCRWAEhw== + just-diff-apply@^5.2.0: version "5.5.0" resolved "https://registry.npmjs.org/just-diff-apply/-/just-diff-apply-5.5.0.tgz" @@ -5914,7 +9675,21 @@ just-diff@^5.0.1: resolved "https://registry.yarnpkg.com/just-diff/-/just-diff-5.2.0.tgz#60dca55891cf24cd4a094e33504660692348a241" integrity sha512-6ufhP9SHjb7jibNFrNxyFZ6od3g+An6Ai9mhGRvcYe8UJlH0prseN64M+6ZBBUoKYHZsitDP42gAJ8+eVWr3lw== -kind-of@^6.0.3: +keccak@^3.0.0, keccak@^3.0.3: + version "3.0.4" + resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.4.tgz#edc09b89e633c0549da444432ecf062ffadee86d" + integrity sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q== + dependencies: + node-addon-api "^2.0.0" + node-gyp-build "^4.2.0" + readable-stream "^3.6.0" + +keyvaluestorage-interface@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/keyvaluestorage-interface/-/keyvaluestorage-interface-1.0.0.tgz#13ebdf71f5284ad54be94bd1ad9ed79adad515ff" + integrity sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g== + +kind-of@^6.0.2, kind-of@^6.0.3: version "6.0.3" resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== @@ -5937,6 +9712,14 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" +levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + libnpmaccess@^6.0.4: version "6.0.4" resolved "https://registry.npmjs.org/libnpmaccess/-/libnpmaccess-6.0.4.tgz" @@ -6121,6 +9904,31 @@ listr2@^4.0.5: through "^2.3.8" wrap-ansi "^7.0.0" +lit-element@^4.2.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/lit-element/-/lit-element-4.2.1.tgz#0a3782f36eaa545862fe07f84abcb14b2903a042" + integrity sha512-WGAWRGzirAgyphK2urmYOV72tlvnxw7YfyLDgQ+OZnM9vQQBQnumQ7jUJe6unEzwGU3ahFOjuz1iz1jjrpCPuw== + dependencies: + "@lit-labs/ssr-dom-shim" "^1.4.0" + "@lit/reactive-element" "^2.1.0" + lit-html "^3.3.0" + +lit-html@^3.3.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/lit-html/-/lit-html-3.3.1.tgz#f0a7e4b9ea0a1d034eb28a4bf2d1b0a0096253e3" + integrity sha512-S9hbyDu/vs1qNrithiNyeyv64c9yqiW9l+DBgI18fL+MTvOtWoFR0FWiyq1TxaYef5wNlpEmzlXoBlZEO+WjoA== + dependencies: + "@types/trusted-types" "^2.0.2" + +lit@3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/lit/-/lit-3.3.0.tgz#b3037ea94676fb89c3dde9951914efefd0441f17" + integrity sha512-DGVsqsOIHBww2DqnuZzW7QsuCdahp50ojuDaBPC7jUDRpYoH0z7kHBBYZewRzer75FwtrkmkKk7iOAwSaWdBmw== + dependencies: + "@lit/reactive-element" "^2.1.0" + lit-element "^4.2.0" + lit-html "^3.3.0" + load-json-file@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz" @@ -6131,6 +9939,11 @@ load-json-file@^4.0.0: pify "^3.0.0" strip-bom "^3.0.0" +load-tsconfig@^0.2.3: + version "0.2.5" + resolved "https://registry.yarnpkg.com/load-tsconfig/-/load-tsconfig-0.2.5.tgz#453b8cd8961bfb912dea77eb6c168fe8cca3d3a1" + integrity sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg== + locate-path@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz" @@ -6153,11 +9966,21 @@ locate-path@^6.0.0: dependencies: p-locate "^5.0.0" +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" + integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== + lodash.capitalize@^4.2.1: version "4.2.1" resolved "https://registry.npmjs.org/lodash.capitalize/-/lodash.capitalize-4.2.1.tgz" integrity sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw== +lodash.clonedeep@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" + integrity sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ== + lodash.differencewith@~4.5.0: version "4.5.0" resolved "https://registry.npmjs.org/lodash.differencewith/-/lodash.differencewith-4.5.0.tgz" @@ -6178,6 +10001,11 @@ lodash.get@^4: resolved "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz" integrity sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ== +lodash.isequal@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== + lodash.ismatch@^4.4.0: version "4.4.0" resolved "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz" @@ -6233,7 +10061,7 @@ lodash.uniqby@^4.7.0: resolved "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz" integrity sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww== -lodash@4.17.21, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@~4.17.0: +lodash@4.17.21, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@~4.17.0: version "4.17.21" resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -6289,6 +10117,13 @@ loose-envify@^1.0.0: dependencies: js-tokens "^3.0.0 || ^4.0.0" +loupe@^2.3.6: + version "2.3.7" + resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.7.tgz#6e69b7d4db7d3ab436328013d37d1c8c3540c697" + integrity sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA== + dependencies: + get-func-name "^2.0.1" + lower-case-first@^2.0.2: version "2.0.2" resolved "https://registry.npmjs.org/lower-case-first/-/lower-case-first-2.0.2.tgz" @@ -6303,6 +10138,11 @@ lower-case@^2.0.2: dependencies: tslib "^2.0.3" +lru-cache@^10.4.3: + version "10.4.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" + integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== + lru-cache@^5.1.1: version "5.1.1" resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz" @@ -6420,6 +10260,11 @@ markdown-it@12.0.4: mdurl "^1.0.1" uc.micro "^1.0.5" +markdown-table@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-1.1.3.tgz#9fcb69bcfdb8717bfd0398c6ec2d93036ef8de60" + integrity sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q== + markdownlint-cli@^0.28.1: version "0.28.1" resolved "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.28.1.tgz" @@ -6469,6 +10314,29 @@ marked@^4.0.10, marked@^4.3.0: resolved "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz" integrity sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A== +math-intrinsics@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9" + integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g== + +md5.js@^1.3.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" + integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +md5@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/md5/-/md5-2.3.0.tgz#c3da9a6aae3a30b46b7b0c349b87b110dc3bda4f" + integrity sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g== + dependencies: + charenc "0.0.2" + crypt "0.0.2" + is-buffer "~1.1.6" + mdurl@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz" @@ -6496,7 +10364,7 @@ merge-stream@^2.0.0: resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -merge2@^1.3.0, merge2@^1.4.1: +merge2@^1.2.3, merge2@^1.3.0, merge2@^1.4.1: version "1.4.1" resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== @@ -6511,6 +10379,11 @@ meros@^1.2.1: resolved "https://registry.npmjs.org/meros/-/meros-1.3.0.tgz" integrity sha512-2BNGOimxEz5hmjUG2FwoxCt5HN7BXdaWyFqEwxPTrJzVdABtrL4TiHTcsWSFAxPQ/tOnEaQEJh3qWq71QRMY+w== +micro-ftch@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/micro-ftch/-/micro-ftch-0.3.1.tgz#6cb83388de4c1f279a034fb0cf96dfc050853c5f" + integrity sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg== + micromatch@4.0.5, micromatch@^4.0.0, micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: version "4.0.5" resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" @@ -6519,12 +10392,20 @@ micromatch@4.0.5, micromatch@^4.0.0, micromatch@^4.0.2, micromatch@^4.0.4, micro braces "^3.0.2" picomatch "^2.3.1" +micromatch@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" + integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== + dependencies: + braces "^3.0.3" + picomatch "^2.3.1" + mime-db@1.52.0: version "1.52.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== -mime-types@^2.1.12: +mime-types@^2.1.12, mime-types@^2.1.35: version "2.1.35" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== @@ -6561,7 +10442,14 @@ minimalistic-crypto-utils@^1.0.1: resolved "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz" integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== -minimatch@^3.0.4, minimatch@^3.1.1: +minimatch@*: + version "10.1.1" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.1.1.tgz#e6e61b9b0c1dcab116b5a7d1458e8b6ae9e73a55" + integrity sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ== + dependencies: + "@isaacs/brace-expansion" "^5.0.0" + +"minimatch@2 || 3", minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1: version "3.1.2" resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== @@ -6575,7 +10463,7 @@ minimatch@^4.2.3: dependencies: brace-expansion "^1.1.7" -minimatch@^5.0.1, minimatch@^5.1.0: +minimatch@^5.0.1, minimatch@^5.1.0, minimatch@^5.1.6: version "5.1.6" resolved "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz" integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== @@ -6610,7 +10498,7 @@ minimist@1.2.7: resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz" integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g== -minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.8, minimist@~1.2.5: +minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6, minimist@^1.2.8, minimist@~1.2.5: version "1.2.8" resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== @@ -6698,6 +10586,11 @@ minizlib@^2.1.1, minizlib@^2.1.2: minipass "^3.0.0" yallist "^4.0.0" +mipd@0.0.7, mipd@^0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/mipd/-/mipd-0.0.7.tgz#bb5559e21fa18dc3d9fe1c08902ef14b7ce32fd9" + integrity sha512-aAPZPNDQ3uMTdKbuO2YmAw2TxLHO0moa4YKAyETM/DTj5FloZo+a+8tU+iv4GmW+sOxKLSRwcSFuczk+Cpt6fg== + mkdirp-infer-owner@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/mkdirp-infer-owner/-/mkdirp-infer-owner-2.0.0.tgz" @@ -6707,11 +10600,44 @@ mkdirp-infer-owner@^2.0.0: infer-owner "^1.0.4" mkdirp "^1.0.3" +mkdirp@0.5.x: + version "0.5.6" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + mkdirp@^1.0.3, mkdirp@^1.0.4: version "1.0.4" resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== +mocha@^10.2.0: + version "10.8.2" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.8.2.tgz#8d8342d016ed411b12a429eb731b825f961afb96" + integrity sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg== + dependencies: + ansi-colors "^4.1.3" + browser-stdout "^1.3.1" + chokidar "^3.5.3" + debug "^4.3.5" + diff "^5.2.0" + escape-string-regexp "^4.0.0" + find-up "^5.0.0" + glob "^8.1.0" + he "^1.2.0" + js-yaml "^4.1.0" + log-symbols "^4.1.0" + minimatch "^5.1.6" + ms "^2.1.3" + serialize-javascript "^6.0.2" + strip-json-comments "^3.1.1" + supports-color "^8.1.1" + workerpool "^6.5.1" + yargs "^16.2.0" + yargs-parser "^20.2.9" + yargs-unparser "^2.0.0" + modify-values@^1.0.0: version "1.0.1" resolved "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz" @@ -6722,16 +10648,28 @@ ms@2.1.2: resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@^2.0.0, ms@^2.1.2: +ms@^2.0.0, ms@^2.1.2, ms@^2.1.3: version "2.1.3" resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== +multiformats@^9.4.2: + version "9.9.0" + resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.9.0.tgz#c68354e7d21037a8f1f8833c8ccd68618e8f1d37" + integrity sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg== + mute-stream@0.0.8, mute-stream@~0.0.4: version "0.0.8" resolved "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz" integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== +nanospinner@1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/nanospinner/-/nanospinner-1.2.2.tgz#5a38f4410b5bf7a41585964bee74d32eab3e040b" + integrity sha512-Zt/AmG6qRU3e+WnzGGLuMCEAO/dAu45stNbHY223tUxldaDAeE+FxSPsd9Q+j+paejmm0ZbrNVs5Sraqy3dRxA== + dependencies: + picocolors "^1.1.1" + natural-compare-lite@^1.4.0: version "1.4.0" resolved "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz" @@ -6742,6 +10680,17 @@ natural-compare@^1.4.0: resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== +ndjson@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ndjson/-/ndjson-2.0.0.tgz#320ac86f6fe53f5681897349b86ac6f43bfa3a19" + integrity sha512-nGl7LRGrzugTtaFcJMhLbpzJM6XdivmbkdlaGcrk/LXg2KL/YBC6z1g70xh0/al+oFuVFP8N8kiWRucmeEH/qQ== + dependencies: + json-stringify-safe "^5.0.1" + minimist "^1.2.5" + readable-stream "^3.6.0" + split2 "^3.0.0" + through2 "^4.0.0" + negotiator@^0.6.3: version "0.6.3" resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" @@ -6765,18 +10714,33 @@ no-case@^3.0.4: lower-case "^2.0.2" tslib "^2.0.3" +node-addon-api@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32" + integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== + +node-addon-api@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-5.1.0.tgz#49da1ca055e109a23d537e9de43c09cca21eb762" + integrity sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA== + node-addon-api@^7.0.0: version "7.0.0" resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.0.0.tgz" integrity sha512-vgbBJTS4m5/KkE16t5Ly0WW9hz46swAstv0hYYwMtbG7AznRhNyfLRe8HZAiWIpcHzoO7HxhLuBQj9rJ/Ho0ZA== -node-emoji@^1.11.0: +node-emoji@^1.10.0, node-emoji@^1.11.0: version "1.11.0" - resolved "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz" + resolved "https://registry.yarnpkg.com/node-emoji/-/node-emoji-1.11.0.tgz#69a0150e6946e2f115e9d7ea4df7971e2628301c" integrity sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A== dependencies: lodash "^4.17.21" +node-fetch-native@^1.6.7: + version "1.6.7" + resolved "https://registry.yarnpkg.com/node-fetch-native/-/node-fetch-native-1.6.7.tgz#9d09ca63066cc48423211ed4caf5d70075d76a71" + integrity sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q== + node-fetch@^2.6.1, node-fetch@^2.6.12, node-fetch@^2.6.7: version "2.6.12" resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.12.tgz" @@ -6784,6 +10748,18 @@ node-fetch@^2.6.1, node-fetch@^2.6.12, node-fetch@^2.6.7: dependencies: whatwg-url "^5.0.0" +node-fetch@^2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== + dependencies: + whatwg-url "^5.0.0" + +node-gyp-build@^4.2.0, node-gyp-build@^4.3.0: + version "4.8.4" + resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.8.4.tgz#8a70ee85464ae52327772a90d66c6077a900cfc8" + integrity sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ== + node-gyp@^9.0.0: version "9.4.0" resolved "https://registry.npmjs.org/node-gyp/-/node-gyp-9.4.0.tgz" @@ -6823,11 +10799,28 @@ node-int64@^0.4.0: resolved "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz" integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== +node-mock-http@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/node-mock-http/-/node-mock-http-1.0.3.tgz#4e55e093267a3b910cded7354389ce2d02c89e77" + integrity sha512-jN8dK25fsfnMrVsEhluUTPkBFY+6ybu7jSB1n+ri/vOGjJxU8J9CZhpSGkHXSkFjtUhbmoncG/YG9ta5Ludqog== + node-releases@^2.0.14: version "2.0.14" resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz" integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== +nofilter@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-3.1.0.tgz#c757ba68801d41ff930ba2ec55bab52ca184aa66" + integrity sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g== + +nopt@3.x: + version "3.0.6" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + integrity sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg== + dependencies: + abbrev "1" + nopt@^6.0.0: version "6.0.0" resolved "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz" @@ -6872,7 +10865,7 @@ normalize-path@^2.1.1: dependencies: remove-trailing-separator "^1.0.1" -normalize-path@^3.0.0: +normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== @@ -7084,17 +11077,53 @@ nullthrows@^1.1.1: resolved "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz" integrity sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw== +number-to-bn@1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/number-to-bn/-/number-to-bn-1.7.0.tgz#bb3623592f7e5f9e0030b1977bd41a0c53fe1ea0" + integrity sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig== + dependencies: + bn.js "4.11.6" + strip-hex-prefix "1.0.0" + +obj-multiplex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/obj-multiplex/-/obj-multiplex-1.0.0.tgz#2f2ae6bfd4ae11befe742ea9ea5b36636eabffc1" + integrity sha512-0GNJAOsHoBHeNTvl5Vt6IWnpUEcc3uSRxzBri7EDyIcMgYvnY2JL2qdeV5zTMjWQX5OHcD5amcW2HFfDh0gjIA== + dependencies: + end-of-stream "^1.4.0" + once "^1.4.0" + readable-stream "^2.3.3" + object-assign@^4.1.0: version "4.1.1" resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== +object-inspect@^1.13.3: + version "1.13.4" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.4.tgz#8375265e21bc20d0fa582c22e1b13485d6e00213" + integrity sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew== + object-keys@^1.1.1: version "1.1.1" resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -once@^1.3.0, once@^1.4.0: +ofetch@^1.5.0: + version "1.5.1" + resolved "https://registry.yarnpkg.com/ofetch/-/ofetch-1.5.1.tgz#5c43cc56e03398b273014957060344254505c5c7" + integrity sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA== + dependencies: + destr "^2.0.5" + node-fetch-native "^1.6.7" + ufo "^1.6.1" + +on-exit-leak-free@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/on-exit-leak-free/-/on-exit-leak-free-0.2.0.tgz#b39c9e3bf7690d890f4861558b0d7b90a442d209" + integrity sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg== + +once@1.x, once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== @@ -7115,11 +11144,35 @@ onetime@^6.0.0: dependencies: mimic-fn "^4.0.0" +openapi-fetch@^0.13.5: + version "0.13.8" + resolved "https://registry.yarnpkg.com/openapi-fetch/-/openapi-fetch-0.13.8.tgz#1769da06e30d19f7568cd0e60db8ca61ea83a2fa" + integrity sha512-yJ4QKRyNxE44baQ9mY5+r/kAzZ8yXMemtNAOFwOzRXJscdjSxxzWSNlyBAr+o5JjkUw9Lc3W7OIoca0cY3PYnQ== + dependencies: + openapi-typescript-helpers "^0.0.15" + +openapi-typescript-helpers@^0.0.15: + version "0.0.15" + resolved "https://registry.yarnpkg.com/openapi-typescript-helpers/-/openapi-typescript-helpers-0.0.15.tgz#96ffa762a5e01ef66a661b163d5f1109ed1967ed" + integrity sha512-opyTPaunsklCBpTK8JGef6mfPhLSnyy5a0IN9vKtx3+4aExf+KxEqYwIy3hqkedXIB97u357uLMJsOnm3GVjsw== + opener@^1.5.2: version "1.5.2" resolved "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz" integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== +optionator@^0.8.1: + version "0.8.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" + integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.6" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + word-wrap "~1.2.3" + optionator@^0.9.1: version "0.9.3" resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz" @@ -7152,6 +11205,60 @@ os-tmpdir@~1.0.2: resolved "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== +ox@0.6.7: + version "0.6.7" + resolved "https://registry.yarnpkg.com/ox/-/ox-0.6.7.tgz#afd53f2ecef68b8526660e9d29dee6e6b599a832" + integrity sha512-17Gk/eFsFRAZ80p5eKqv89a57uXjd3NgIf1CaXojATPBuujVc/fQSVhBeAU9JCRB+k7J50WQAyWTxK19T9GgbA== + dependencies: + "@adraffy/ens-normalize" "^1.10.1" + "@noble/curves" "^1.6.0" + "@noble/hashes" "^1.5.0" + "@scure/bip32" "^1.5.0" + "@scure/bip39" "^1.4.0" + abitype "^1.0.6" + eventemitter3 "5.0.1" + +ox@0.6.9: + version "0.6.9" + resolved "https://registry.yarnpkg.com/ox/-/ox-0.6.9.tgz#da1ee04fa10de30c8d04c15bfb80fe58b1f554bd" + integrity sha512-wi5ShvzE4eOcTwQVsIPdFr+8ycyX+5le/96iAJutaZAvCes1J0+RvpEPg5QDPDiaR0XQQAvZVl7AwqQcINuUug== + dependencies: + "@adraffy/ens-normalize" "^1.10.1" + "@noble/curves" "^1.6.0" + "@noble/hashes" "^1.5.0" + "@scure/bip32" "^1.5.0" + "@scure/bip39" "^1.4.0" + abitype "^1.0.6" + eventemitter3 "5.0.1" + +ox@0.9.6: + version "0.9.6" + resolved "https://registry.yarnpkg.com/ox/-/ox-0.9.6.tgz#5cf02523b6db364c10ee7f293ff1e664e0e1eab7" + integrity sha512-8SuCbHPvv2eZLYXrNmC0EC12rdzXQLdhnOMlHDW2wiCPLxBrOOJwX5L5E61by+UjTPOryqQiRSnjIKCI+GykKg== + dependencies: + "@adraffy/ens-normalize" "^1.11.0" + "@noble/ciphers" "^1.3.0" + "@noble/curves" "1.9.1" + "@noble/hashes" "^1.8.0" + "@scure/bip32" "^1.7.0" + "@scure/bip39" "^1.6.0" + abitype "^1.0.9" + eventemitter3 "5.0.1" + +ox@^0.9.6: + version "0.9.14" + resolved "https://registry.yarnpkg.com/ox/-/ox-0.9.14.tgz#2b8b239db5045bf3d02ec065553afadacf88eea4" + integrity sha512-lxZYCzGH00WtIPPrqXCrbSW/ZiKjigfII6R0Vu1eH2GpobmcwVheiivbCvsBZzmVZcNpwkabSamPP+ZNtdnKIQ== + dependencies: + "@adraffy/ens-normalize" "^1.11.0" + "@noble/ciphers" "^1.3.0" + "@noble/curves" "1.9.1" + "@noble/hashes" "^1.8.0" + "@scure/bip32" "^1.7.0" + "@scure/bip39" "^1.6.0" + abitype "^1.0.9" + eventemitter3 "5.0.1" + p-each-series@^2.1.0: version "2.2.0" resolved "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz" @@ -7285,6 +11392,11 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" +parse-cache-control@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parse-cache-control/-/parse-cache-control-1.0.1.tgz#8eeab3e54fa56920fe16ba38f77fa21aacc2d74e" + integrity sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg== + parse-conflict-json@^2.0.1, parse-conflict-json@^2.0.2: version "2.0.2" resolved "https://registry.npmjs.org/parse-conflict-json/-/parse-conflict-json-2.0.2.tgz" @@ -7397,16 +11509,48 @@ path-type@^4.0.0: resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== +pathe@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/pathe/-/pathe-1.1.2.tgz#6c4cb47a945692e48a1ddd6e4094d170516437ec" + integrity sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ== + +pathval@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" + integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== + +pbkdf2@^3.0.17: + version "3.1.5" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.5.tgz#444a59d7a259a95536c56e80c89de31cc01ed366" + integrity sha512-Q3CG/cYvCO1ye4QKkuH7EXxs3VC/rI1/trd+qX2+PolbaKG0H+bgcZzrTt96mMyRtejk+JMCiLUn3y29W8qmFQ== + dependencies: + create-hash "^1.2.0" + create-hmac "^1.1.7" + ripemd160 "^2.0.3" + safe-buffer "^5.2.1" + sha.js "^2.4.12" + to-buffer "^1.2.1" + picocolors@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== -picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1: +picocolors@^1.1.0, picocolors@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" + integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== +picomatch@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-3.0.1.tgz#817033161def55ec9638567a2f3bbc876b3e7516" + integrity sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag== + pidtree@0.6.0: version "0.6.0" resolved "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz" @@ -7417,6 +11561,46 @@ pify@^3.0.0: resolved "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz" integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + +pify@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-5.0.0.tgz#1f5eca3f5e87ebec28cc6d54a0e4aaf00acc127f" + integrity sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA== + +pino-abstract-transport@v0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/pino-abstract-transport/-/pino-abstract-transport-0.5.0.tgz#4b54348d8f73713bfd14e3dc44228739aa13d9c0" + integrity sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ== + dependencies: + duplexify "^4.1.2" + split2 "^4.0.0" + +pino-std-serializers@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-4.0.0.tgz#1791ccd2539c091ae49ce9993205e2cd5dbba1e2" + integrity sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q== + +pino@7.11.0: + version "7.11.0" + resolved "https://registry.yarnpkg.com/pino/-/pino-7.11.0.tgz#0f0ea5c4683dc91388081d44bff10c83125066f6" + integrity sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg== + dependencies: + atomic-sleep "^1.0.0" + fast-redact "^3.0.0" + on-exit-leak-free "^0.2.0" + pino-abstract-transport v0.5.0 + pino-std-serializers "^4.0.0" + process-warning "^1.0.0" + quick-format-unescaped "^4.0.3" + real-require "^0.1.0" + safe-stable-stringify "^2.1.0" + sonic-boom "^2.2.1" + thread-stream "^0.15.1" + pirates@^4.0.4: version "4.0.6" resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz" @@ -7437,6 +11621,33 @@ pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" +pngjs@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-5.0.0.tgz#e79dd2b215767fd9c04561c01236df960bce7fbb" + integrity sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw== + +pony-cause@^2.1.10: + version "2.1.11" + resolved "https://registry.yarnpkg.com/pony-cause/-/pony-cause-2.1.11.tgz#d69a20aaccdb3bdb8f74dd59e5c68d8e6772e4bd" + integrity sha512-M7LhCsdNbNgiLYiP4WjsfLUuFmCfnjdF6jKe2R9NKl4WFN+HZPGHJZ9lnLP7f9ZnKe3U9nuWD0szirmj+migUg== + +porto@0.2.35: + version "0.2.35" + resolved "https://registry.yarnpkg.com/porto/-/porto-0.2.35.tgz#7e926bf1434283fda9581cc10ed203b16b41d175" + integrity sha512-gu9FfjjvvYBgQXUHWTp6n3wkTxVtEcqFotM7i3GEZeoQbvLGbssAicCz6hFZ8+xggrJWwi/RLmbwNra50SMmUQ== + dependencies: + hono "^4.10.3" + idb-keyval "^6.2.1" + mipd "^0.0.7" + ox "^0.9.6" + zod "^4.1.5" + zustand "^5.0.1" + +possible-typed-array-names@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz#93e3582bc0e5426586d9d07b79ee40fc841de4ae" + integrity sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg== + postcss-selector-parser@^6.0.10: version "6.0.13" resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz" @@ -7445,11 +11656,26 @@ postcss-selector-parser@^6.0.10: cssesc "^3.0.0" util-deprecate "^1.0.2" +preact@10.24.2: + version "10.24.2" + resolved "https://registry.yarnpkg.com/preact/-/preact-10.24.2.tgz#42179771d3b06e7adb884e3f8127ddd3d99b78f6" + integrity sha512-1cSoF0aCC8uaARATfrlz4VCBqE8LwZwRfLgkxJOQwAlQt6ayTmi0D9OF7nXid1POI5SZidFuG9CnlXbDfLqY/Q== + +preact@^10.16.0: + version "10.27.2" + resolved "https://registry.yarnpkg.com/preact/-/preact-10.27.2.tgz#19b9009c1be801a76a0aaf0fe5ba665985a09312" + integrity sha512-5SYSgFKSyhCbk6SrXyMpqjb5+MQBgfvEKE/OC+PujcY34sOpqtr+0AZQtPYx5IA6VxynQ7rUPCtKzyovpj9Bpg== + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== + prettier-linter-helpers@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz" @@ -7457,11 +11683,16 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -prettier@^2.4.1: +prettier@^2.3.1, prettier@^2.4.1: version "2.8.8" - resolved "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== +prettier@^3.0.3: + version "3.6.2" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.6.2.tgz#ccda02a1003ebbb2bfda6f83a074978f608b9393" + integrity sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ== + pretty-format@^29.0.0, pretty-format@^29.6.2: version "29.6.2" resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-29.6.2.tgz" @@ -7481,6 +11712,16 @@ process-nextick-args@~2.0.0: resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== +process-warning@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/process-warning/-/process-warning-1.0.0.tgz#980a0b25dc38cd6034181be4b7726d89066b4616" + integrity sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q== + +process@^0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== + progress@^2.0.0: version "2.0.3" resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" @@ -7516,6 +11757,13 @@ promise@^7.1.1: dependencies: asap "~2.0.3" +promise@^8.0.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/promise/-/promise-8.3.0.tgz#8cb333d1edeb61ef23869fbb8a4ea0279ab60e0a" + integrity sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg== + dependencies: + asap "~2.0.6" + prompts@^2.0.1: version "2.4.2" resolved "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz" @@ -7555,11 +11803,24 @@ protobufjs@^6.8.8: "@types/node" ">=13.7.0" long "^4.0.0" +proxy-compare@2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/proxy-compare/-/proxy-compare-2.6.0.tgz#5e8c8b5c3af7e7f17e839bf6cf1435bcc4d315b0" + integrity sha512-8xuCeM3l8yqdmbPoYeLbrAXCBWu19XEYc5/F28f5qOaoAIMyfmBUkl5axiK+x9olUvRlcekvnm98AP9RDngOIw== + proxy-from-env@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== +pump@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.3.tgz#151d979f1a29668dc0025ec589a455b53282268d" + integrity sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + punycode@^1.3.2: version "1.4.1" resolved "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz" @@ -7597,16 +11858,60 @@ qrcode-terminal@^0.12.0: resolved "https://registry.npmjs.org/qrcode-terminal/-/qrcode-terminal-0.12.0.tgz" integrity sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ== +qrcode@1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.5.3.tgz#03afa80912c0dccf12bc93f615a535aad1066170" + integrity sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg== + dependencies: + dijkstrajs "^1.0.1" + encode-utf8 "^1.0.3" + pngjs "^5.0.0" + yargs "^15.3.1" + +qs@^6.4.0: + version "6.14.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.14.0.tgz#c63fa40680d2c5c941412a0e899c89af60c0a930" + integrity sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w== + dependencies: + side-channel "^1.1.0" + +query-string@7.1.3: + version "7.1.3" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-7.1.3.tgz#a1cf90e994abb113a325804a972d98276fe02328" + integrity sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg== + dependencies: + decode-uri-component "^0.2.2" + filter-obj "^1.1.0" + split-on-first "^1.0.0" + strict-uri-encode "^2.0.0" + queue-microtask@^1.2.2: version "1.2.3" resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== +quick-format-unescaped@^4.0.3: + version "4.0.4" + resolved "https://registry.yarnpkg.com/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz#93ef6dd8d3453cbc7970dd614fad4c5954d6b5a7" + integrity sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg== + quick-lru@^4.0.1: version "4.0.1" resolved "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz" integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== +radix3@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/radix3/-/radix3-1.1.2.tgz#fd27d2af3896c6bf4bcdfab6427c69c2afc69ec0" + integrity sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA== + +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + rc@^1.2.8: version "1.2.8" resolved "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" @@ -7671,7 +11976,7 @@ read@1, read@^1.0.7, read@~1.0.7: dependencies: mute-stream "~0.0.4" -readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.4.0, readable-stream@^3.6.0: +readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0, readable-stream@^3.6.2: version "3.6.2" resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== @@ -7680,9 +11985,9 @@ readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.4.0, readable-stre string_decoder "^1.1.1" util-deprecate "^1.0.1" -readable-stream@^2.0.0, readable-stream@^2.0.2, readable-stream@~2.3.6: +readable-stream@^2.0.0, readable-stream@^2.0.2, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.8, readable-stream@~2.3.6: version "2.3.8" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== dependencies: core-util-is "~1.0.0" @@ -7693,6 +11998,17 @@ readable-stream@^2.0.0, readable-stream@^2.0.2, readable-stream@~2.3.6: string_decoder "~1.1.1" util-deprecate "~1.0.1" +"readable-stream@^3.6.2 || ^4.4.2": + version "4.7.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-4.7.0.tgz#cedbd8a1146c13dfff8dab14068028d58c15ac91" + integrity sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg== + dependencies: + abort-controller "^3.0.0" + buffer "^6.0.3" + events "^3.3.0" + process "^0.11.10" + string_decoder "^1.3.0" + readdir-scoped-modules@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz" @@ -7703,11 +12019,42 @@ readdir-scoped-modules@^1.1.0: graceful-fs "^4.1.2" once "^1.3.0" +readdirp@^4.0.1: + version "4.1.2" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-4.1.2.tgz#eb85801435fbf2a7ee58f19e0921b068fc69948d" + integrity sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg== + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + readonly-date@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/readonly-date/-/readonly-date-1.0.0.tgz" integrity sha512-tMKIV7hlk0h4mO3JTmmVuIlJVXjKk3Sep9Bf5OH0O+758ruuVkUy2J9SttDLm91IEX/WHlXPSpxMGjPj4beMIQ== +real-require@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/real-require/-/real-require-0.1.0.tgz#736ac214caa20632847b7ca8c1056a0767df9381" + integrity sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg== + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== + dependencies: + resolve "^1.1.6" + +recursive-readdir@^2.2.2: + version "2.2.3" + resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.3.tgz#e726f328c0d69153bcabd5c322d3195252379372" + integrity sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA== + dependencies: + minimatch "^3.0.5" + redent@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz" @@ -7723,6 +12070,11 @@ redeyed@~2.1.0: dependencies: esprima "~4.0.0" +reduce-flatten@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/reduce-flatten/-/reduce-flatten-2.0.0.tgz#734fd84e65f375d7ca4465c69798c25c9d10ae27" + integrity sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w== + regenerator-runtime@^0.14.0: version "0.14.0" resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz" @@ -7764,6 +12116,20 @@ remove-trailing-spaces@^1.0.6: resolved "https://registry.npmjs.org/remove-trailing-spaces/-/remove-trailing-spaces-1.0.8.tgz" integrity sha512-O3vsMYfWighyFbTd8hk8VaSj9UAGENxAtX+//ugIst2RMk5e03h6RoIS+0ylsFxY1gvmPuAY/PO4It+gPEeySA== +req-cwd@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/req-cwd/-/req-cwd-2.0.0.tgz#d4082b4d44598036640fb73ddea01ed53db49ebc" + integrity sha512-ueoIoLo1OfB6b05COxAA9UpeoscNpYyM+BqYlA7H6LVF4hKGPXQQSSaD2YmvDVJMkk4UDpAHIeU1zG53IqjvlQ== + dependencies: + req-from "^2.0.0" + +req-from@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/req-from/-/req-from-2.0.0.tgz#d74188e47f93796f4aa71df6ee35ae689f3e0e70" + integrity sha512-LzTfEVDVQHBRfjOUMgNBA+V6DWsSnoeKzf42J7l0xa/B4jyPOuuF5MlNSmomLNGemWTnV2TIdjSSLnEn95fOQA== + dependencies: + resolve-from "^3.0.0" + require-directory@^2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" @@ -7799,6 +12165,11 @@ resolve-from@5.0.0, resolve-from@^5.0.0: resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== +resolve-from@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" + integrity sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw== + resolve-from@^4.0.0: version "4.0.0" resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" @@ -7816,6 +12187,20 @@ resolve.exports@^2.0.0: resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz" integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== +resolve@1.1.x: + version "1.1.7" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" + integrity sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg== + +resolve@^1.1.6: + version "1.22.11" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.11.tgz#aad857ce1ffb8bfa9b0b1ac29f1156383f68c262" + integrity sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ== + dependencies: + is-core-module "^2.16.1" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + resolve@^1.10.0, resolve@^1.20.0: version "1.22.4" resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz" @@ -7863,6 +12248,37 @@ rimraf@^3.0.0, rimraf@^3.0.2: dependencies: glob "^7.1.3" +ripemd160@^2.0.0, ripemd160@^2.0.1, ripemd160@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.3.tgz#9be54e4ba5e3559c8eee06a25cd7648bbccdf5a8" + integrity sha512-5Di9UC0+8h1L6ZD2d7awM7E/T4uA1fJRlx6zk/NvdCCVEoAnFqvHmCuNeIKoCeIixBX/q8uM+6ycDvF8woqosA== + dependencies: + hash-base "^3.1.2" + inherits "^2.0.4" + +rlp@^2.2.4: + version "2.2.7" + resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.7.tgz#33f31c4afac81124ac4b283e2bd4d9720b30beaf" + integrity sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ== + dependencies: + bn.js "^5.2.0" + +rpc-websockets@^9.0.2: + version "9.2.0" + resolved "https://registry.yarnpkg.com/rpc-websockets/-/rpc-websockets-9.2.0.tgz#c95633929ca92c311ed6e169f4c986623f001505" + integrity sha512-DS/XHdPxplQTtNRKiBCRWGBJfjOk56W7fyFUpiYi9fSTWTzoEMbUkn3J4gB0IMniIEVeAGR1/rzFQogzD5MxvQ== + dependencies: + "@swc/helpers" "^0.5.11" + "@types/uuid" "^8.3.4" + "@types/ws" "^8.2.2" + buffer "^6.0.3" + eventemitter3 "^5.0.1" + uuid "^8.3.2" + ws "^8.5.0" + optionalDependencies: + bufferutil "^4.0.1" + utf-8-validate "^5.0.2" + run-async@^2.4.0: version "2.4.1" resolved "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz" @@ -7892,26 +12308,74 @@ rxjs@^7.5.5: dependencies: tslib "^2.1.0" +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.1, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== +safe-regex-test@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.1.0.tgz#7f87dfb67a3150782eaaf18583ff5d1711ac10c1" + integrity sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + is-regex "^1.2.1" + +safe-stable-stringify@^2.1.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-2.5.0.tgz#4ca2f8e385f2831c432a719b108a3bf7af42a1dd" + integrity sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA== "safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": version "2.1.2" resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== +sc-istanbul@^0.4.5: + version "0.4.6" + resolved "https://registry.yarnpkg.com/sc-istanbul/-/sc-istanbul-0.4.6.tgz#cf6784355ff2076f92d70d59047d71c13703e839" + integrity sha512-qJFF/8tW/zJsbyfh/iT/ZM5QNHE3CXxtLJbZsL+CzdJLBsPD7SedJZoUA4d8iAcN2IoMp/Dx80shOOd2x96X/g== + dependencies: + abbrev "1.0.x" + async "1.x" + escodegen "1.8.x" + esprima "2.7.x" + glob "^5.0.15" + handlebars "^4.0.1" + js-yaml "3.x" + mkdirp "0.5.x" + nopt "3.x" + once "1.x" + resolve "1.1.x" + supports-color "^3.1.0" + which "^1.1.1" + wordwrap "^1.0.0" + +scrypt-js@3.0.1, scrypt-js@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" + integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== + scuid@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/scuid/-/scuid-1.1.0.tgz" integrity sha512-MuCAyrGZcTLfQoH2XoBlQ8C6bzwN88XT/0slOGz0pn8+gIP85BOAfYa44ZXQUTOwRwPU0QvgU+V+OSajl/59Xg== +secp256k1@^4.0.1: + version "4.0.4" + resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.4.tgz#58f0bfe1830fe777d9ca1ffc7574962a8189f8ab" + integrity sha512-6JfvwvjUOn8F/jUoBY2Q1v5WY5XS+rj8qSe0v8Y4ezH4InLgTEeOOPQsRll9OV429Pvo6BCHGavIyJfr3TAhsw== + dependencies: + elliptic "^6.5.7" + node-addon-api "^5.0.0" + node-gyp-build "^4.2.0" + semantic-release@19.0.5: version "19.0.5" resolved "https://registry.npmjs.org/semantic-release/-/semantic-release-19.0.5.tgz" @@ -7982,6 +12446,11 @@ semver@^7.0.0, semver@^7.1.1, semver@^7.1.2, semver@^7.2.1, semver@^7.3.2, semve dependencies: lru-cache "^6.0.0" +semver@^7.3.8, semver@^7.5.4: + version "7.7.3" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.7.3.tgz#4b5f4143d007633a8dc671cd0a6ef9147b8bb946" + integrity sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q== + sentence-case@^3.0.4: version "3.0.4" resolved "https://registry.npmjs.org/sentence-case/-/sentence-case-3.0.4.tgz" @@ -7991,16 +12460,52 @@ sentence-case@^3.0.4: tslib "^2.0.3" upper-case-first "^2.0.2" +serialize-javascript@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" + integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== + dependencies: + randombytes "^2.1.0" + set-blocking@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== +set-function-length@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" + integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== + dependencies: + define-data-property "^1.1.4" + es-errors "^1.3.0" + function-bind "^1.1.2" + get-intrinsic "^1.2.4" + gopd "^1.0.1" + has-property-descriptors "^1.0.2" + setimmediate@^1.0.5: version "1.0.5" resolved "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz" integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== +sha.js@^2.4.0, sha.js@^2.4.11, sha.js@^2.4.12, sha.js@^2.4.8: + version "2.4.12" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.12.tgz#eb8b568bf383dfd1867a32c3f2b74eb52bdbf23f" + integrity sha512-8LzC5+bvI45BjpfXU8V5fdU2mfeKiQe1D1gIMn7XUlF3OTUrpdJpPPH4EMAnF0DsHHdSZqCdSss5qCmJKuiO3w== + dependencies: + inherits "^2.0.4" + safe-buffer "^5.2.1" + to-buffer "^1.2.0" + +sha1@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/sha1/-/sha1-1.1.1.tgz#addaa7a93168f393f19eb2b15091618e2700f848" + integrity sha512-dZBS6OrMjtgVkopB1Gmo4RQCDKiZsqcpAQpkV/aaj+FCrCg8r4I4qMkDPQjBgLIxlmu9k4nUbWq6ohXahOneYA== + dependencies: + charenc ">= 0.0.1" + crypt ">= 0.0.1" + shebang-command@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" @@ -8018,6 +12523,15 @@ shell-quote@^1.7.3: resolved "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz" integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== +shelljs@^0.8.3: + version "0.8.5" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" + integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== + dependencies: + glob "^7.0.0" + interpret "^1.0.0" + rechoir "^0.6.2" + shiki@^0.14.1: version "0.14.3" resolved "https://registry.npmjs.org/shiki/-/shiki-0.14.3.tgz" @@ -8028,6 +12542,46 @@ shiki@^0.14.1: vscode-oniguruma "^1.7.0" vscode-textmate "^8.0.0" +side-channel-list@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/side-channel-list/-/side-channel-list-1.0.0.tgz#10cb5984263115d3b7a0e336591e290a830af8ad" + integrity sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA== + dependencies: + es-errors "^1.3.0" + object-inspect "^1.13.3" + +side-channel-map@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/side-channel-map/-/side-channel-map-1.0.1.tgz#d6bb6b37902c6fef5174e5f533fab4c732a26f42" + integrity sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + +side-channel-weakmap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz#11dda19d5368e40ce9ec2bdc1fb0ecbc0790ecea" + integrity sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A== + dependencies: + call-bound "^1.0.2" + es-errors "^1.3.0" + get-intrinsic "^1.2.5" + object-inspect "^1.13.3" + side-channel-map "^1.0.1" + +side-channel@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.1.0.tgz#c3fcff9c4da932784873335ec9765fa94ff66bc9" + integrity sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw== + dependencies: + es-errors "^1.3.0" + object-inspect "^1.13.3" + side-channel-list "^1.0.0" + side-channel-map "^1.0.1" + side-channel-weakmap "^1.0.2" + signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: version "3.0.7" resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" @@ -8101,6 +12655,24 @@ snake-case@^3.0.4: dot-case "^3.0.4" tslib "^2.0.3" +socket.io-client@^4.5.1: + version "4.8.1" + resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-4.8.1.tgz#1941eca135a5490b94281d0323fe2a35f6f291cb" + integrity sha512-hJVXfu3E28NmzGk8o1sHhN3om52tRvwYeidbj7xKy2eIIse5IoKX3USlS6Tqt3BHAtflLIkCQBkzVrEEfWUyYQ== + dependencies: + "@socket.io/component-emitter" "~3.1.0" + debug "~4.3.2" + engine.io-client "~6.6.1" + socket.io-parser "~4.2.4" + +socket.io-parser@~4.2.4: + version "4.2.4" + resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.2.4.tgz#c806966cf7270601e47469ddeec30fbdfda44c83" + integrity sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew== + dependencies: + "@socket.io/component-emitter" "~3.1.0" + debug "~4.3.1" + socks-proxy-agent@^7.0.0: version "7.0.0" resolved "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz" @@ -8118,6 +12690,38 @@ socks@^2.6.2: ip "^2.0.0" smart-buffer "^4.2.0" +solidity-coverage@^0.8.1: + version "0.8.16" + resolved "https://registry.yarnpkg.com/solidity-coverage/-/solidity-coverage-0.8.16.tgz#ae07bb11ebbd78d488c7e1a3cd15b8210692f1c9" + integrity sha512-qKqgm8TPpcnCK0HCDLJrjbOA2tQNEJY4dHX/LSSQ9iwYFS973MwjtgYn2Iv3vfCEQJTj5xtm4cuUMzlJsJSMbg== + dependencies: + "@ethersproject/abi" "^5.0.9" + "@solidity-parser/parser" "^0.20.1" + chalk "^2.4.2" + death "^1.1.0" + difflib "^0.2.4" + fs-extra "^8.1.0" + ghost-testrpc "^0.0.2" + global-modules "^2.0.0" + globby "^10.0.1" + jsonschema "^1.2.4" + lodash "^4.17.21" + mocha "^10.2.0" + node-emoji "^1.10.0" + pify "^4.0.1" + recursive-readdir "^2.2.2" + sc-istanbul "^0.4.5" + semver "^7.3.4" + shelljs "^0.8.3" + web3-utils "^1.3.6" + +sonic-boom@^2.2.1: + version "2.8.0" + resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-2.8.0.tgz#c1def62a77425090e6ad7516aad8eb402e047611" + integrity sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg== + dependencies: + atomic-sleep "^1.0.0" + source-map-support@0.5.13: version "0.5.13" resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz" @@ -8139,6 +12743,13 @@ source-map@^0.6.0, source-map@^0.6.1: resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== +source-map@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d" + integrity sha512-CBdZ2oa/BHhS4xj5DlhjWNHcan57/5YuvfdLf17iVmIpd9KRm+DFLmC6nBNj+6Ua7Kt3TmOjDpQT1aTYOQtoUA== + dependencies: + amdefine ">=0.0.4" + spawn-error-forwarder@~1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/spawn-error-forwarder/-/spawn-error-forwarder-1.0.0.tgz" @@ -8170,6 +12781,11 @@ spdx-license-ids@^3.0.0: resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz" integrity sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w== +split-on-first@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" + integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== + split2@^3.0.0: version "3.2.2" resolved "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz" @@ -8177,6 +12793,11 @@ split2@^3.0.0: dependencies: readable-stream "^3.0.0" +split2@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/split2/-/split2-4.2.0.tgz#c9c5920904d148bab0b9f67145f245a86aadbfa4" + integrity sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg== + split2@~1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/split2/-/split2-1.0.0.tgz" @@ -8224,6 +12845,11 @@ stack-utils@^2.0.3: dependencies: escape-string-regexp "^2.0.0" +stream-chain@^2.2.5: + version "2.2.5" + resolved "https://registry.yarnpkg.com/stream-chain/-/stream-chain-2.2.5.tgz#b30967e8f14ee033c5b9a19bbe8a2cba90ba0d09" + integrity sha512-1TJmBx6aSWqZ4tx7aTpBDXK0/e2hhcNSTV8+CbFJtDjbb+I1mZ8lHit0Grw9GRT+6JbIrrDd8esncgBi8aBXGA== + stream-combiner2@~1.1.1: version "1.1.1" resolved "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz" @@ -8232,11 +12858,28 @@ stream-combiner2@~1.1.1: duplexer2 "~0.1.0" readable-stream "^2.0.2" +stream-json@^1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/stream-json/-/stream-json-1.9.1.tgz#e3fec03e984a503718946c170db7d74556c2a187" + integrity sha512-uWkjJ+2Nt/LO9Z/JyKZbMusL8Dkh97uUBTv3AJQ74y07lVahLY4eEFsPsE97pxYBwr8nnjMAIch5eqI0gPShyw== + dependencies: + stream-chain "^2.2.5" + +stream-shift@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.3.tgz#85b8fab4d71010fc3ba8772e8046cc49b8a3864b" + integrity sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ== + streamsearch@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz" integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== +strict-uri-encode@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" + integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ== + string-argv@0.3.2: version "0.3.2" resolved "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz" @@ -8247,6 +12890,11 @@ string-env-interpolation@^1.0.1: resolved "https://registry.npmjs.org/string-env-interpolation/-/string-env-interpolation-1.0.1.tgz" integrity sha512-78lwMoCcn0nNu8LszbP1UA7g55OeE4v7rCeWnM5B453rnNr4aq+5it3FEYtZrSEiMvHZOZ9Jlqb0OD0M2VInqg== +string-format@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/string-format/-/string-format-2.0.0.tgz#f2df2e7097440d3b65de31b6d40d54c96eaffb9b" + integrity sha512-bbEs3scLeYNXLecRRuk6uJxdXUSj6le/8rNPHChIJTn2V79aXVTR1EH2OH5zLKKoz0V02fOUKZZcw01pLUShZA== + string-length@^4.0.1: version "4.0.2" resolved "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz" @@ -8273,6 +12921,14 @@ string-length@^4.0.1: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" +string-width@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + string-width@^5.0.0, string-width@^5.0.1, string-width@^5.1.2: version "5.1.2" resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz" @@ -8282,7 +12938,7 @@ string-width@^5.0.0, string-width@^5.0.1, string-width@^5.1.2: emoji-regex "^9.2.2" strip-ansi "^7.0.1" -string_decoder@^1.1.1: +string_decoder@^1.1.1, string_decoder@^1.3.0: version "1.3.0" resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== @@ -8303,6 +12959,13 @@ string_decoder@~1.1.1: dependencies: ansi-regex "^5.0.1" +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow== + dependencies: + ansi-regex "^3.0.0" + strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" @@ -8337,6 +13000,13 @@ strip-final-newline@^3.0.0: resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz" integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== +strip-hex-prefix@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz#0c5f155fef1151373377de9dbb588da05500e36f" + integrity sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A== + dependencies: + is-hex-prefixed "1.0.0" + strip-indent@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz" @@ -8354,6 +13024,23 @@ strip-json-comments@~2.0.1: resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== +superstruct@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-1.0.4.tgz#0adb99a7578bd2f1c526220da6571b2d485d91ca" + integrity sha512-7JpaAoX2NGyoFlI9NBh66BQXGONc+uE+MRS5i2iOBKuS4e+ccgMDjATgZldkah+33DakBxDHiss9kvUcGAO8UQ== + +superstruct@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-2.0.2.tgz#3f6d32fbdc11c357deff127d591a39b996300c54" + integrity sha512-uV+TFRZdXsqXTL2pRvujROjdZQ4RAlBUS5BTh9IGm+jTqQntYThciG/qu57Gs69yjnVUSqdxF9YLmSnpupBW9A== + +supports-color@^3.1.0: + version "3.2.3" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" + integrity sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A== + dependencies: + has-flag "^1.0.0" + supports-color@^5.3.0: version "5.5.0" resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" @@ -8368,9 +13055,9 @@ supports-color@^7.0.0, supports-color@^7.1.0: dependencies: has-flag "^4.0.0" -supports-color@^8.0.0: +supports-color@^8.0.0, supports-color@^8.1.1: version "8.1.1" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== dependencies: has-flag "^4.0.0" @@ -8400,6 +13087,32 @@ symbol-observable@^2.0.3: resolved "https://registry.npmjs.org/symbol-observable/-/symbol-observable-2.0.3.tgz" integrity sha512-sQV7phh2WCYAn81oAkakC5qjq2Ml0g8ozqz03wOGnx9dDlG1de6yrF+0RAzSJD8fPUow3PTSMf2SAbOGxb93BA== +sync-request@^6.0.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/sync-request/-/sync-request-6.1.0.tgz#e96217565b5e50bbffe179868ba75532fb597e68" + integrity sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw== + dependencies: + http-response-object "^3.0.1" + sync-rpc "^1.2.1" + then-request "^6.0.0" + +sync-rpc@^1.2.1: + version "1.3.6" + resolved "https://registry.yarnpkg.com/sync-rpc/-/sync-rpc-1.3.6.tgz#b2e8b2550a12ccbc71df8644810529deb68665a7" + integrity sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw== + dependencies: + get-port "^3.1.0" + +table-layout@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/table-layout/-/table-layout-1.0.2.tgz#c4038a1853b0136d63365a734b6931cf4fad4a04" + integrity sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A== + dependencies: + array-back "^4.0.1" + deep-extend "~0.6.0" + typical "^5.2.0" + wordwrapjs "^4.0.0" + table@^6.0.9: version "6.8.1" resolved "https://registry.npmjs.org/table/-/table-6.8.1.tgz" @@ -8411,6 +13124,17 @@ table@^6.0.9: string-width "^4.2.3" strip-ansi "^6.0.1" +table@^6.8.0: + version "6.9.0" + resolved "https://registry.yarnpkg.com/table/-/table-6.9.0.tgz#50040afa6264141c7566b3b81d4d82c47a8668f5" + integrity sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A== + dependencies: + ajv "^8.0.1" + lodash.truncate "^4.4.2" + slice-ansi "^4.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" + tar@^6.1.0: version "6.2.0" resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.0.tgz#b14ce49a79cb1cd23bc9b016302dea5474493f73" @@ -8460,6 +13184,11 @@ test-exclude@^6.0.0: glob "^7.1.4" minimatch "^3.0.4" +text-encoding-utf-8@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/text-encoding-utf-8/-/text-encoding-utf-8-1.0.2.tgz#585b62197b0ae437e3c7b5d0af27ac1021e10d13" + integrity sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg== + text-extensions@^1.0.0: version "1.9.0" resolved "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz" @@ -8470,6 +13199,30 @@ text-table@^0.2.0, text-table@~0.2.0: resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== +then-request@^6.0.0: + version "6.0.2" + resolved "https://registry.yarnpkg.com/then-request/-/then-request-6.0.2.tgz#ec18dd8b5ca43aaee5cb92f7e4c1630e950d4f0c" + integrity sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA== + dependencies: + "@types/concat-stream" "^1.6.0" + "@types/form-data" "0.0.33" + "@types/node" "^8.0.0" + "@types/qs" "^6.2.31" + caseless "~0.12.0" + concat-stream "^1.6.0" + form-data "^2.2.0" + http-basic "^8.1.1" + http-response-object "^3.0.1" + promise "^8.0.0" + qs "^6.4.0" + +thread-stream@^0.15.1: + version "0.15.2" + resolved "https://registry.yarnpkg.com/thread-stream/-/thread-stream-0.15.2.tgz#fb95ad87d2f1e28f07116eb23d85aba3bc0425f4" + integrity sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA== + dependencies: + real-require "^0.1.0" + through2@^4.0.0: version "4.0.2" resolved "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz" @@ -8514,6 +13267,15 @@ tmpl@1.0.5: resolved "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz" integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== +to-buffer@^1.2.0, to-buffer@^1.2.1, to-buffer@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.2.2.tgz#ffe59ef7522ada0a2d1cb5dfe03bb8abc3cdc133" + integrity sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw== + dependencies: + isarray "^2.0.5" + safe-buffer "^5.2.1" + typed-array-buffer "^1.0.3" + to-fast-properties@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" @@ -8546,6 +13308,21 @@ trim-newlines@^3.0.0: resolved "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz" integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== +ts-command-line-args@^2.2.0: + version "2.5.1" + resolved "https://registry.yarnpkg.com/ts-command-line-args/-/ts-command-line-args-2.5.1.tgz#e64456b580d1d4f6d948824c274cf6fa5f45f7f0" + integrity sha512-H69ZwTw3rFHb5WYpQya40YAX2/w7Ut75uUECbgBIsLmM+BNuYnxsltfyyLMxy6sEeKxgijLTnQtLd0nKd6+IYw== + dependencies: + chalk "^4.1.0" + command-line-args "^5.1.1" + command-line-usage "^6.1.0" + string-format "^2.0.0" + +ts-essentials@^7.0.1: + version "7.0.3" + resolved "https://registry.yarnpkg.com/ts-essentials/-/ts-essentials-7.0.3.tgz#686fd155a02133eedcc5362dc8b5056cde3e5a38" + integrity sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ== + ts-jest@^29.1.1: version "29.1.1" resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.1.1.tgz#f58fe62c63caf7bfcc5cc6472082f79180f0815b" @@ -8565,6 +13342,25 @@ ts-log@^2.2.3: resolved "https://registry.npmjs.org/ts-log/-/ts-log-2.2.5.tgz" integrity sha512-PGcnJoTBnVGy6yYNFxWVNkdcAuAMstvutN9MgDJIV6L0oG8fB+ZNNy1T+wJzah8RPGor1mZuPQkVfXNDpy9eHA== +ts-node@>=8.0.0: + version "10.9.2" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" + integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== + dependencies: + "@cspotcode/source-map-support" "^0.8.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + v8-compile-cache-lib "^3.0.1" + yn "3.1.1" + ts-node@^10.8.1, ts-node@^10.9.1: version "10.9.1" resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz" @@ -8596,16 +13392,26 @@ ts-node@^9: source-map-support "^0.5.17" yn "3.1.1" -tslib@^1.8.1: +tslib@1.14.1, tslib@^1.8.1: version "1.14.1" - resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== +tslib@2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.7.0.tgz#d9b40c5c40ab59e8738f297df3087bf1a2690c01" + integrity sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA== + tslib@^2, tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.1, tslib@^2.4.0, tslib@^2.5.0, tslib@^2.6.1: version "2.6.1" resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz" integrity sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig== +tslib@^2.6.0, tslib@^2.8.0: + version "2.8.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" + integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== + tslib@~2.5.0: version "2.5.3" resolved "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz" @@ -8625,11 +13431,23 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== + dependencies: + prelude-ls "~1.1.2" + type-detect@4.0.8: version "4.0.8" resolved "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz" integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== +type-detect@^4.0.0, type-detect@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.1.0.tgz#deb2453e8f08dcae7ae98c626b13dddb0155906c" + integrity sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw== + type-fest@^0.16.0: version "0.16.0" resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz" @@ -8670,6 +13488,36 @@ type-fest@^3.0.0: resolved "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz" integrity sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g== +typechain@^8.3.0: + version "8.3.2" + resolved "https://registry.yarnpkg.com/typechain/-/typechain-8.3.2.tgz#1090dd8d9c57b6ef2aed3640a516bdbf01b00d73" + integrity sha512-x/sQYr5w9K7yv3es7jo4KTX05CLxOf7TRWwoHlrjRh8H82G64g+k7VuWPJlgMo6qrjfCulOdfBjiaDtmhFYD/Q== + dependencies: + "@types/prettier" "^2.1.1" + debug "^4.3.1" + fs-extra "^7.0.0" + glob "7.1.7" + js-sha3 "^0.8.0" + lodash "^4.17.15" + mkdirp "^1.0.4" + prettier "^2.3.1" + ts-command-line-args "^2.2.0" + ts-essentials "^7.0.1" + +typed-array-buffer@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz#a72395450a4869ec033fd549371b47af3a2ee536" + integrity sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw== + dependencies: + call-bound "^1.0.3" + es-errors "^1.3.0" + is-typed-array "^1.1.14" + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== + typedoc-plugin-markdown@^3.14.0: version "3.15.4" resolved "https://registry.npmjs.org/typedoc-plugin-markdown/-/typedoc-plugin-markdown-3.15.4.tgz" @@ -8692,6 +13540,11 @@ typedoc@^0.24.8: minimatch "^9.0.0" shiki "^0.14.1" +typescript@>=4.5.0: + version "5.9.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.9.3.tgz#5b4f59e15310ab17a216f5d6cf53ee476ede670f" + integrity sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw== + typescript@^4.4.3: version "4.9.5" resolved "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz" @@ -8702,6 +13555,16 @@ typescript@^4.4.3: resolved "https://registry.npmjs.org/typescript/-/typescript-5.1.6.tgz" integrity sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA== +typical@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/typical/-/typical-4.0.0.tgz#cbeaff3b9d7ae1e2bbfaf5a4e6f11eccfde94fc4" + integrity sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw== + +typical@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/typical/-/typical-5.2.0.tgz#4daaac4f2b5315460804f0acf6cb69c52bb93066" + integrity sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg== + ua-parser-js@^1.0.35: version "1.0.35" resolved "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.35.tgz" @@ -8712,16 +13575,57 @@ uc.micro@^1.0.1, uc.micro@^1.0.5: resolved "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz" integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA== +ufo@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.6.1.tgz#ac2db1d54614d1b22c1d603e3aef44a85d8f146b" + integrity sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA== + uglify-js@^3.1.4: version "3.17.4" resolved "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz" integrity sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g== +uint8arrays@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-3.1.0.tgz#8186b8eafce68f28bd29bd29d683a311778901e2" + integrity sha512-ei5rfKtoRO8OyOIor2Rz5fhzjThwIHJZ3uyDPnDHTXbP0aMQ1RN/6AI5B5d9dBxJOU+BvOAk7ZQ1xphsX8Lrog== + dependencies: + multiformats "^9.4.2" + +uint8arrays@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-3.1.1.tgz#2d8762acce159ccd9936057572dade9459f65ae0" + integrity sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg== + dependencies: + multiformats "^9.4.2" + unc-path-regex@^0.1.2: version "0.1.2" resolved "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz" integrity sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg== +uncrypto@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/uncrypto/-/uncrypto-0.1.3.tgz#e1288d609226f2d02d8d69ee861fa20d8348ef2b" + integrity sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q== + +undici-types@^7.15.0: + version "7.16.0" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.16.0.tgz#ffccdff36aea4884cbfce9a750a0580224f58a46" + integrity sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw== + +undici-types@~6.19.2: + version "6.19.8" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" + integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw== + +undici@^5.14.0: + version "5.29.0" + resolved "https://registry.yarnpkg.com/undici/-/undici-5.29.0.tgz#419595449ae3f2cdcba3580a2e8903399bd1f5a3" + integrity sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg== + dependencies: + "@fastify/busboy" "^2.0.0" + unique-filename@^2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz" @@ -8762,6 +13666,11 @@ universal-user-agent@^6.0.0: resolved "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz" integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + universalify@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" @@ -8774,6 +13683,20 @@ unixify@^1.0.0: dependencies: normalize-path "^2.1.1" +unstorage@^1.9.0: + version "1.17.2" + resolved "https://registry.yarnpkg.com/unstorage/-/unstorage-1.17.2.tgz#543d06f24e5b2005b2e9c15ea4180782df987a11" + integrity sha512-cKEsD6iBWJgOMJ6vW1ID/SYuqNf8oN4yqRk8OYqaVQ3nnkJXOT1PSpaMh2QfzLs78UN5kSNRD2c/mgjT8tX7+w== + dependencies: + anymatch "^3.1.3" + chokidar "^4.0.3" + destr "^2.0.5" + h3 "^1.15.4" + lru-cache "^10.4.3" + node-fetch-native "^1.6.7" + ofetch "^1.5.0" + ufo "^1.6.1" + update-browserslist-db@^1.0.13: version "1.0.13" resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz" @@ -8818,11 +13741,54 @@ urlpattern-polyfill@^9.0.0: resolved "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-9.0.0.tgz" integrity sha512-WHN8KDQblxd32odxeIgo83rdVDE2bvdkb86it7bMhYZwWKJz0+O0RK/eZiHYnM+zgt/U7hAHOlCQGfjjvSkw2g== +use-sync-external-store@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a" + integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== + +use-sync-external-store@1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.4.0.tgz#adbc795d8eeb47029963016cefdf89dc799fcebc" + integrity sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw== + +utf-8-validate@^5.0.2: + version "5.0.10" + resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.10.tgz#d7d10ea39318171ca982718b6b96a8d2442571a2" + integrity sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ== + dependencies: + node-gyp-build "^4.3.0" + +utf8@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/utf8/-/utf8-3.0.0.tgz#f052eed1364d696e769ef058b183df88c87f69d1" + integrity sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ== + util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== +util@^0.12.4: + version "0.12.5" + resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" + integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== + dependencies: + inherits "^2.0.3" + is-arguments "^1.0.4" + is-generator-function "^1.0.7" + is-typed-array "^1.1.3" + which-typed-array "^1.1.2" + +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +uuid@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" + integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== + v8-compile-cache-lib@^3.0.1: version "3.0.1" resolved "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz" @@ -8857,11 +13823,48 @@ validate-npm-package-name@^4.0.0: dependencies: builtins "^5.0.0" +valtio@1.13.2: + version "1.13.2" + resolved "https://registry.yarnpkg.com/valtio/-/valtio-1.13.2.tgz#e31d452d5da3550935417670aafd34d832dc7241" + integrity sha512-Qik0o+DSy741TmkqmRfjq+0xpZBXi/Y6+fXZLn0xNF1z/waFMbE3rkivv5Zcf9RrMUp6zswf2J7sbh2KBlba5A== + dependencies: + derive-valtio "0.1.0" + proxy-compare "2.6.0" + use-sync-external-store "1.2.0" + value-or-promise@^1.0.11, value-or-promise@^1.0.12: version "1.0.12" resolved "https://registry.npmjs.org/value-or-promise/-/value-or-promise-1.0.12.tgz" integrity sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q== +viem@2.23.2: + version "2.23.2" + resolved "https://registry.yarnpkg.com/viem/-/viem-2.23.2.tgz#db395c8cf5f4fb5572914b962fb8ce5db09f681c" + integrity sha512-NVmW/E0c5crMOtbEAqMF0e3NmvQykFXhLOc/CkLIXOlzHSA6KXVz3CYVmaKqBF8/xtjsjHAGjdJN3Ru1kFJLaA== + dependencies: + "@noble/curves" "1.8.1" + "@noble/hashes" "1.7.1" + "@scure/bip32" "1.6.2" + "@scure/bip39" "1.5.4" + abitype "1.0.8" + isows "1.0.6" + ox "0.6.7" + ws "8.18.0" + +viem@2.x, viem@>=2.29.0, viem@^2.1.1, viem@^2.21.26, viem@^2.27.2, viem@^2.31.7: + version "2.38.6" + resolved "https://registry.yarnpkg.com/viem/-/viem-2.38.6.tgz#ab315bef8f872bce86f0f145e9b008b5e94f1904" + integrity sha512-aqO6P52LPXRjdnP6rl5Buab65sYa4cZ6Cpn+k4OLOzVJhGIK8onTVoKMFMT04YjDfyDICa/DZyV9HmvLDgcjkw== + dependencies: + "@noble/curves" "1.9.1" + "@noble/hashes" "1.8.0" + "@scure/bip32" "1.7.0" + "@scure/bip39" "1.6.0" + abitype "1.1.0" + isows "1.0.7" + ox "0.9.6" + ws "8.18.3" + vscode-oniguruma@^1.7.0: version "1.7.0" resolved "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz" @@ -8872,6 +13875,15 @@ vscode-textmate@^8.0.0: resolved "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz" integrity sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg== +wagmi@^2.19.2: + version "2.19.2" + resolved "https://registry.yarnpkg.com/wagmi/-/wagmi-2.19.2.tgz#d2f73328e24a401f80ff29b0d4288647ec0c6b04" + integrity sha512-UN8CQKNsUgQD2Lr2ybjAi07ZKq1SV4T/Pb9IN77t3oSXANr9C9tI3mijLNyINeA5ET4hJxIny3C2dWJ48zrFiA== + dependencies: + "@wagmi/connectors" "6.1.3" + "@wagmi/core" "2.22.1" + use-sync-external-store "1.4.0" + walk-up-path@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/walk-up-path/-/walk-up-path-1.0.0.tgz" @@ -8896,6 +13908,20 @@ web-streams-polyfill@^3.2.1: resolved "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz" integrity sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q== +web3-utils@^1.3.6: + version "1.10.4" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.10.4.tgz#0daee7d6841641655d8b3726baf33b08eda1cbec" + integrity sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A== + dependencies: + "@ethereumjs/util" "^8.1.0" + bn.js "^5.2.1" + ethereum-bloom-filters "^1.0.6" + ethereum-cryptography "^2.1.2" + ethjs-unit "0.1.6" + number-to-bn "1.7.0" + randombytes "^2.1.0" + utf8 "3.0.0" + webcrypto-core@^1.7.7: version "1.7.7" resolved "https://registry.npmjs.org/webcrypto-core/-/webcrypto-core-1.7.7.tgz" @@ -8907,6 +13933,16 @@ webcrypto-core@^1.7.7: pvtsutils "^1.3.2" tslib "^2.4.0" +"webextension-polyfill@>=0.10.0 <1.0": + version "0.12.0" + resolved "https://registry.yarnpkg.com/webextension-polyfill/-/webextension-polyfill-0.12.0.tgz#f62c57d2cd42524e9fbdcee494c034cae34a3d69" + integrity sha512-97TBmpoWJEE+3nFBQ4VocyCdLKfw54rFaJ6EVQYLBCXqCIpLSZkwGgASpv4oPt9gdKCJ80RJlcmNzNn008Ag6Q== + +webextension-polyfill@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/webextension-polyfill/-/webextension-polyfill-0.10.0.tgz#ccb28101c910ba8cf955f7e6a263e662d744dbb8" + integrity sha512-c5s35LgVa5tFaHhrZDnr3FpQpjj1BB+RXhLTYUxGqBVN460HkbM8TBtEqdXWbpTKfzwCcjAZVF7zXCYSKtcp9g== + webidl-conversions@^3.0.0: version "3.0.1" resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" @@ -8925,9 +13961,22 @@ which-module@^2.0.0: resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz" integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== -which@^1.2.14: +which-typed-array@^1.1.16, which-typed-array@^1.1.2: + version "1.1.19" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.19.tgz#df03842e870b6b88e117524a4b364b6fc689f956" + integrity sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw== + dependencies: + available-typed-arrays "^1.0.7" + call-bind "^1.0.8" + call-bound "^1.0.4" + for-each "^0.3.5" + get-proto "^1.0.1" + gopd "^1.2.0" + has-tostringtag "^1.0.2" + +which@^1.1.1, which@^1.2.14, which@^1.3.1: version "1.3.1" - resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== dependencies: isexe "^2.0.0" @@ -8946,9 +13995,9 @@ wide-align@^1.1.5: dependencies: string-width "^1.0.2 || 2 || 3 || 4" -word-wrap@^1.0.3: +word-wrap@^1.0.3, word-wrap@~1.2.3: version "1.2.5" - resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz" + resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== wordwrap@^1.0.0: @@ -8956,6 +14005,19 @@ wordwrap@^1.0.0: resolved "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz" integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== +wordwrapjs@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/wordwrapjs/-/wordwrapjs-4.0.1.tgz#d9790bccfb110a0fc7836b5ebce0937b37a8b98f" + integrity sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA== + dependencies: + reduce-flatten "^2.0.0" + typical "^5.2.0" + +workerpool@^6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.5.1.tgz#060f73b39d0caf97c6db64da004cd01b4c099544" + integrity sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA== + "wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": version "7.0.0" resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" @@ -9010,16 +14072,41 @@ ws@8.13.0, ws@^8.12.0, ws@^8.13.0: resolved "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz" integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== +ws@8.17.1, ws@~8.17.1: + version "8.17.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.1.tgz#9293da530bb548febc95371d90f9c878727d919b" + integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ== + +ws@8.18.0: + version "8.18.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc" + integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw== + +ws@8.18.3, ws@^8.5.0: + version "8.18.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.3.tgz#b56b88abffde62791c639170400c93dcb0c95472" + integrity sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg== + ws@^7: version "7.5.9" resolved "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz" integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== +ws@^7.5.1, ws@^7.5.10: + version "7.5.10" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9" + integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ== + ws@^8.14.1: version "8.14.2" resolved "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz" integrity sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g== +xmlhttprequest-ssl@~2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.1.2.tgz#e9e8023b3f29ef34b97a859f584c5e6c61418e23" + integrity sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ== + xstream@^11.14.0: version "11.14.0" resolved "https://registry.npmjs.org/xstream/-/xstream-11.14.0.tgz" @@ -9028,9 +14115,9 @@ xstream@^11.14.0: globalthis "^1.0.1" symbol-observable "^2.0.3" -xtend@~4.0.1: +xtend@^4.0.1, xtend@~4.0.1: version "4.0.2" - resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== y18n@^4.0.0: @@ -9076,7 +14163,7 @@ yargs-parser@^18.1.2: camelcase "^5.0.0" decamelize "^1.2.0" -yargs-parser@^20.2.2, yargs-parser@^20.2.3: +yargs-parser@^20.2.2, yargs-parser@^20.2.3, yargs-parser@^20.2.9: version "20.2.9" resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== @@ -9086,6 +14173,16 @@ yargs-parser@^21.0.1, yargs-parser@^21.1.1: resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz" integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== +yargs-unparser@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" + integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== + dependencies: + camelcase "^6.0.0" + decamelize "^4.0.0" + flat "^5.0.2" + is-plain-obj "^2.1.0" + yargs@^15.3.1: version "15.4.1" resolved "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz" @@ -9138,3 +14235,33 @@ yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + +zod@3.22.4: + version "3.22.4" + resolved "https://registry.yarnpkg.com/zod/-/zod-3.22.4.tgz#f31c3a9386f61b1f228af56faa9255e845cf3fff" + integrity sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg== + +zod@^3.24.4: + version "3.25.76" + resolved "https://registry.yarnpkg.com/zod/-/zod-3.25.76.tgz#26841c3f6fd22a6a2760e7ccb719179768471e34" + integrity sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ== + +zod@^4.1.11, zod@^4.1.5: + version "4.1.12" + resolved "https://registry.yarnpkg.com/zod/-/zod-4.1.12.tgz#64f1ea53d00eab91853195653b5af9eee68970f0" + integrity sha512-JInaHOamG8pt5+Ey8kGmdcAcg3OL9reK8ltczgHTAwNhMys/6ThXHityHxVV2p3fkw/c+MAvBHFVYHFZDmjMCQ== + +zustand@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/zustand/-/zustand-5.0.0.tgz#71f8aaecf185592a3ba2743d7516607361899da9" + integrity sha512-LE+VcmbartOPM+auOjCCLQOsQ05zUTp8RkgwRzefUk+2jISdMMFnxvyTjA4YNWr5ZGXYbVsEMZosttuxUBkojQ== + +zustand@5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/zustand/-/zustand-5.0.3.tgz#b323435b73d06b2512e93c77239634374b0e407f" + integrity sha512-14fwWQtU3pH4dE0dOpdMiWjddcH+QzKIgk1cl8epwSE7yag43k/AD/m4L6+K7DytAOr9gGBe3/EXj9g7cdostg== + +zustand@^5.0.1: + version "5.0.8" + resolved "https://registry.yarnpkg.com/zustand/-/zustand-5.0.8.tgz#b998a0c088c7027a20f2709141a91cb07ac57f8a" + integrity sha512-gyPKpIaxY9XcO2vSMrLbiER7QMAMGOQZVRdJ6Zi782jkbzZygq5GI9nG8g+sMgitRtndwaBSl7uiqC49o1SSiw== From d64dcc240329cec89a77767e65551ba7db172c2c Mon Sep 17 00:00:00 2001 From: Cameron Gilbert Date: Wed, 5 Aug 2026 09:11:39 -0400 Subject: [PATCH 07/12] chore: bring ts-sdk up to date --- nibiru | 2 +- package.json | 3 +- scripts/protocgen.sh | 1 + src/gql/heart-monitor/heart-monitor.test.ts | 30 +- src/gql/heart-monitor/heart-monitor.ts | 14 - src/gql/query/distributionCommissions.ts | 39 - src/gql/query/index.ts | 1 - src/gql/query/oracle.ts | 15 - src/gql/utils/defaultObjects.ts | 12 - src/gql/utils/generated.ts | 48 - src/gql/utils/schema.graphql | 30 - src/protojs/cosmos/app/v1alpha1/module.ts | 330 -- src/protojs/cosmos/auth/v1beta1/auth.ts | 13 +- src/protojs/cosmos/bank/v1beta1/bank.ts | 10 +- .../cosmos/base/query/v1beta1/pagination.ts | 3 +- src/protojs/cosmwasm/wasm/v1/authz.ts | 899 +++++ src/protojs/cosmwasm/wasm/v1/genesis.ts | 499 +++ src/protojs/cosmwasm/wasm/v1/ibc.ts | 317 ++ src/protojs/cosmwasm/wasm/v1/query.ts | 2035 ++++++++++ src/protojs/cosmwasm/wasm/v1/tx.ts | 3506 +++++++++++++++++ src/protojs/cosmwasm/wasm/v1/types.ts | 946 +++++ src/protojs/eth/evm/module/module.ts | 172 - src/protojs/eth/evm/v1/events.ts | 154 +- src/protojs/eth/evm/v1/evm.ts | 208 +- src/protojs/eth/evm/v1/query.ts | 396 +- src/protojs/eth/evm/v1/tx.ts | 23 +- src/protojs/index.cosmos.app.ts | 3 - src/protojs/index.cosmos.app.v1alpha1.ts | 3 - src/protojs/index.cosmwasm.ts | 3 + src/protojs/index.cosmwasm.wasm.ts | 3 + src/protojs/index.cosmwasm.wasm.v1.ts | 3 + src/protojs/index.google.ts | 3 - src/protojs/index.nibiru.epochs.module.ts | 3 - src/protojs/index.nibiru.epochs.module.v1.ts | 3 - src/protojs/index.nibiru.evm.module.ts | 3 - src/protojs/index.nibiru.evm.module.v1.ts | 3 - src/protojs/index.nibiru.evm.ts | 3 - src/protojs/index.nibiru.inflation.module.ts | 3 - .../index.nibiru.inflation.module.v1.ts | 3 - src/protojs/index.nibiru.oracle.module.ts | 3 - src/protojs/index.nibiru.oracle.module.v1.ts | 3 - src/protojs/index.nibiru.sudo.module.ts | 3 - src/protojs/index.nibiru.sudo.module.v1.ts | 3 - src/protojs/index.nibiru.sudo.v1.ts | 1 + .../index.nibiru.tokenfactory.module.ts | 3 - .../index.nibiru.tokenfactory.module.v1.ts | 3 - src/protojs/nibiru/epochs/module/module.ts | 197 - src/protojs/nibiru/genmsg/v1/genmsg.ts | 5 +- src/protojs/nibiru/inflation/module/module.ts | 172 - src/protojs/nibiru/oracle/module/module.ts | 172 - src/protojs/nibiru/oracle/v1/query.ts | 4 +- src/protojs/nibiru/oracle/v1/tx.ts | 2 +- src/protojs/nibiru/sudo/module/module.ts | 172 - src/protojs/nibiru/sudo/v1/query.ts | 141 +- src/protojs/nibiru/sudo/v1/state.ts | 157 +- src/protojs/nibiru/sudo/v1/tx.ts | 153 +- .../nibiru/tokenfactory/module/module.ts | 172 - src/protojs/nibiru/tokenfactory/v1/tx.ts | 5 +- src/sdk/msg/eth.test.ts | 2 + src/sdk/msg/sudo.test.ts | 33 +- src/sdk/msg/sudo.ts | 22 + src/sdk/query/eth.test.ts | 6 +- src/sdk/query/sudo.test.ts | 28 + src/sdk/query/sudo.ts | 8 + src/sdk/tx/txClient.ts | 2 + wagmi.config.ts | 2 +- yarn.lock | 2 +- 67 files changed, 9504 insertions(+), 1717 deletions(-) delete mode 100644 src/gql/query/distributionCommissions.ts delete mode 100644 src/protojs/cosmos/app/v1alpha1/module.ts create mode 100644 src/protojs/cosmwasm/wasm/v1/authz.ts create mode 100644 src/protojs/cosmwasm/wasm/v1/genesis.ts create mode 100644 src/protojs/cosmwasm/wasm/v1/ibc.ts create mode 100644 src/protojs/cosmwasm/wasm/v1/query.ts create mode 100644 src/protojs/cosmwasm/wasm/v1/tx.ts create mode 100644 src/protojs/cosmwasm/wasm/v1/types.ts delete mode 100644 src/protojs/eth/evm/module/module.ts delete mode 100644 src/protojs/index.cosmos.app.ts delete mode 100644 src/protojs/index.cosmos.app.v1alpha1.ts create mode 100644 src/protojs/index.cosmwasm.ts create mode 100644 src/protojs/index.cosmwasm.wasm.ts create mode 100644 src/protojs/index.cosmwasm.wasm.v1.ts delete mode 100644 src/protojs/index.google.ts delete mode 100644 src/protojs/index.nibiru.epochs.module.ts delete mode 100644 src/protojs/index.nibiru.epochs.module.v1.ts delete mode 100644 src/protojs/index.nibiru.evm.module.ts delete mode 100644 src/protojs/index.nibiru.evm.module.v1.ts delete mode 100644 src/protojs/index.nibiru.evm.ts delete mode 100644 src/protojs/index.nibiru.inflation.module.ts delete mode 100644 src/protojs/index.nibiru.inflation.module.v1.ts delete mode 100644 src/protojs/index.nibiru.oracle.module.ts delete mode 100644 src/protojs/index.nibiru.oracle.module.v1.ts delete mode 100644 src/protojs/index.nibiru.sudo.module.ts delete mode 100644 src/protojs/index.nibiru.sudo.module.v1.ts delete mode 100644 src/protojs/index.nibiru.tokenfactory.module.ts delete mode 100644 src/protojs/index.nibiru.tokenfactory.module.v1.ts delete mode 100644 src/protojs/nibiru/epochs/module/module.ts delete mode 100644 src/protojs/nibiru/inflation/module/module.ts delete mode 100644 src/protojs/nibiru/oracle/module/module.ts delete mode 100644 src/protojs/nibiru/sudo/module/module.ts delete mode 100644 src/protojs/nibiru/tokenfactory/module/module.ts diff --git a/nibiru b/nibiru index 4abe1407..b830343a 160000 --- a/nibiru +++ b/nibiru @@ -1 +1 @@ -Subproject commit 4abe1407f538470e1bf790eb9fa9340bae01802b +Subproject commit b830343a2fcf6d2f1aff6ec3e37b8fc723bdbdaa diff --git a/package.json b/package.json index ba03ac50..fa4b017b 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,8 @@ "eslint": "eslint --fix . --ignore-path .gitignore", "semantic-release": "semantic-release", "wagmi:generate": "wagmi generate", - "prepare": "husky install" + "prepare": "husky install", + "postinstall": "git submodule update --init --recursive" }, "dependencies": { "@cosmjs/cosmwasm-stargate": "^0.32.3", diff --git a/scripts/protocgen.sh b/scripts/protocgen.sh index a85a058a..8e7fb351 100755 --- a/scripts/protocgen.sh +++ b/scripts/protocgen.sh @@ -41,6 +41,7 @@ rm $PKG_OUT_DIR/index.gogoproto.ts rm $PKG_OUT_DIR/index.amino.ts rm $PKG_OUT_DIR/index.cosmos.msg.v1.ts rm $PKG_OUT_DIR/index.cosmos.msg.ts +rm $PKG_OUT_DIR/index.google.ts sed 's/export \* as gogoproto from \"\.\/index\.gogoproto\"\;//' $PKG_OUT_DIR/index.ts >tmpfile && mv tmpfile $PKG_OUT_DIR/index.ts sed 's/export \* as amino from \"\.\/index\.amino\"\;//' $PKG_OUT_DIR/index.ts >tmpfile && mv tmpfile $PKG_OUT_DIR/index.ts diff --git a/src/gql/heart-monitor/heart-monitor.test.ts b/src/gql/heart-monitor/heart-monitor.test.ts index 5e069e2b..6ccf7386 100644 --- a/src/gql/heart-monitor/heart-monitor.test.ts +++ b/src/gql/heart-monitor/heart-monitor.test.ts @@ -14,13 +14,11 @@ import { checkFields, cleanResponse, defaultDelegations, - defaultDistributionCommission, defaultGovDeposit, defaultGovProposal, defaultGovVote, defaultIbcChannelsResponse, defaultIbcTransfer, - defaultOracleEntry, defaultOraclePrice, defaultRedelegations, defaultToken, @@ -28,10 +26,8 @@ import { defaultUser, defaultUserContract, defaultValidator, - GQLDistributionCommission, GQLOraclePrice, GQLQueryGqlCommunityPoolArgs, - GQLQueryGqlDistributionCommissionsArgs, GQLQueryGqlUsersArgs, GQLSubscriptionGqlOraclePricesArgs, GQLToken, @@ -118,25 +114,6 @@ test("communityPool", async () => { await testCommunityPool({}, defaultToken) }) -const testDistributionCommissions = async ( - args: GQLQueryGqlDistributionCommissionsArgs, - fields: GQLDistributionCommission -) => { - const resp = await heartMonitor.distributionCommissions(args, fields) - expect(resp).toHaveProperty("distributionCommissions") - - if ((resp.distributionCommissions?.length ?? 0) > 0) { - const [distributionCommissions] = resp.distributionCommissions ?? [] - - checkFields([distributionCommissions], ["commission", "validator"]) - } -} - -test("distributionCommissions", async () => { - await testDistributionCommissions({ limit: 1 }, defaultDistributionCommission) - await testDistributionCommissions({}, defaultDistributionCommission) -}) - const testEvm = async (fields: GQLEvm) => { const resp = await heartMonitor.evm(fields) expect(resp).toHaveProperty("evm") @@ -333,7 +310,7 @@ const testOracle = async (args: QueryOracleArgs, fields: OracleFields) => { if (resp.oracle) { const { oracle } = resp - checkFields([oracle], ["oraclePrices", "oracles"]) + checkFields([oracle], ["oraclePrices"]) } } @@ -343,20 +320,15 @@ test("oracle", async () => { oraclePrices: { limit: 1, }, - oracles: { - limit: 1, - }, }, { oraclePrices: defaultOraclePrice, - oracles: defaultOracleEntry, } ) await testOracle( {}, { oraclePrices: defaultOraclePrice, - oracles: defaultOracleEntry, } ) }) diff --git a/src/gql/heart-monitor/heart-monitor.ts b/src/gql/heart-monitor/heart-monitor.ts index 221af9fc..766e095c 100644 --- a/src/gql/heart-monitor/heart-monitor.ts +++ b/src/gql/heart-monitor/heart-monitor.ts @@ -1,20 +1,16 @@ import { WebSocket } from "ws" import { Client, ExecutionResult, createClient } from "graphql-ws" import { - GQLDistributionCommission, GQLOraclePrice, GQLQueryGqlCommunityPoolArgs, - GQLQueryGqlDistributionCommissionsArgs, GQLQueryGqlUsersArgs, GQLSubscriptionGqlOraclePricesArgs, GQLToken, GQLUser, queryBatchHandler, GqlOutCommunityPool, - GqlOutDistributionCommissions, GqlOutUsers, communityPool, - distributionCommissions, users, GqlOutGovernance, QueryGovernanceArgs, @@ -78,11 +74,6 @@ export interface IHeartMonitor { fields: DeepPartial ) => Promise - readonly distributionCommissions: ( - args: GQLQueryGqlDistributionCommissionsArgs, - fields: DeepPartial - ) => Promise - readonly evm: (fields: DeepPartial) => Promise readonly featureFlags: ( @@ -184,11 +175,6 @@ export class HeartMonitor implements IHeartMonitor { fields: DeepPartial ) => communityPool(args, this.gqlEndpt, fields) - distributionCommissions = async ( - args: GQLQueryGqlDistributionCommissionsArgs, - fields: DeepPartial - ) => distributionCommissions(args, this.gqlEndpt, fields) - evm = async (fields: DeepPartial) => evm(this.gqlEndpt, fields) featureFlags = async (fields: DeepPartial) => diff --git a/src/gql/query/distributionCommissions.ts b/src/gql/query/distributionCommissions.ts deleted file mode 100644 index f198e7e0..00000000 --- a/src/gql/query/distributionCommissions.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { - convertObjectToPropertiesString, - doGqlQuery, - gqlQuery, - GQLQuery, - GQLQueryGqlDistributionCommissionsArgs, - GQLDistributionCommissionOrder, - GQLDistributionCommission, - DeepPartial, -} from ".." - -export interface GqlOutDistributionCommissions { - distributionCommissions?: GQLQuery["distributionCommissions"] -} - -export const distributionCommissionsQueryString = ( - args: GQLQueryGqlDistributionCommissionsArgs, - excludeParentObject: boolean, - fields: DeepPartial -) => { - if (!args.limit) args.limit = 100 - if (!args.order_desc) args.order_desc = true - if (!args.order_by) - args.order_by = GQLDistributionCommissionOrder.GQLValidatorAddress - - return gqlQuery( - "distributionCommissions", - args, - convertObjectToPropertiesString(fields), - excludeParentObject - ) -} - -export const distributionCommissions = async ( - args: GQLQueryGqlDistributionCommissionsArgs, - endpt: string, - fields: DeepPartial -): Promise => - doGqlQuery(distributionCommissionsQueryString(args, false, fields), endpt) diff --git a/src/gql/query/index.ts b/src/gql/query/index.ts index 2b8fc8f6..28194dde 100644 --- a/src/gql/query/index.ts +++ b/src/gql/query/index.ts @@ -3,7 +3,6 @@ */ export * from "./communityPool" -export * from "./distributionCommissions" export * from "./evm" export * from "./featureFlags" export * from "./governance" diff --git a/src/gql/query/oracle.ts b/src/gql/query/oracle.ts index f45f8c6f..51109089 100644 --- a/src/gql/query/oracle.ts +++ b/src/gql/query/oracle.ts @@ -2,9 +2,7 @@ import { convertObjectToPropertiesString, doGqlQuery, gqlQuery, - GQLOracleEntry, GQLOracleGqlOraclePricesArgs, - GQLOracleGqlOraclesArgs, GQLOraclePrice, GQLQuery, DeepPartial, @@ -12,7 +10,6 @@ import { export type QueryOracleArgs = { oraclePrices?: GQLOracleGqlOraclePricesArgs - oracles?: GQLOracleGqlOraclesArgs } export interface GqlOutOracle { @@ -21,7 +18,6 @@ export interface GqlOutOracle { export type OracleFields = DeepPartial<{ oraclePrices?: DeepPartial - oracles?: DeepPartial }> export const oracleQueryString = ( @@ -41,17 +37,6 @@ export const oracleQueryString = ( ) } - if (fields.oracles) { - oracleQuery.push( - gqlQuery( - "oracles", - args.oracles ?? {}, - convertObjectToPropertiesString(fields.oracles), - true - ) - ) - } - return ` oracle { ${oracleQuery.join("\n")} diff --git a/src/gql/utils/defaultObjects.ts b/src/gql/utils/defaultObjects.ts index e01ec659..af1bed3e 100644 --- a/src/gql/utils/defaultObjects.ts +++ b/src/gql/utils/defaultObjects.ts @@ -2,7 +2,6 @@ import { GQLBlock, GQLBybitResponse, GQLDelegation, - GQLDistributionCommission, GQLEvm, GQLFeatureFlags, GQLGovDeposit, @@ -16,7 +15,6 @@ import { GQLInflationDistribution, GQLInflationInfo, GQLInflationRewards, - GQLOracleEntry, GQLOraclePrice, GQLProxies, GQLRedelegation, @@ -131,11 +129,6 @@ export const defaultGovernance: GQLGovernance = { govVotes: [defaultGovVote], } -export const defaultDistributionCommission: GQLDistributionCommission = { - commission: defaultToken, - validator: defaultValidator, -} - export const defaultDelegations: GQLDelegation = { amount: 0, delegator: defaultUser, @@ -167,11 +160,6 @@ export const defaultOraclePrice: GQLOraclePrice = { price: 0, } -export const defaultOracleEntry: GQLOracleEntry = { - numVotes: 0, - validator: defaultValidator, -} - export const defaultIbcChannel: GQLIbcChannel = { chain_id: "", chain_logo: "", diff --git a/src/gql/utils/generated.ts b/src/gql/utils/generated.ts index 72d37191..88c464c1 100644 --- a/src/gql/utils/generated.ts +++ b/src/gql/utils/generated.ts @@ -82,20 +82,6 @@ export enum GQLDelegationOrder { GQLValidatorAddress = 'validator_address' } -export type GQLDistributionCommission = { - readonly __typename?: 'DistributionCommission'; - readonly commission?: Maybe; - readonly validator: GQLValidator; -}; - -export type GQLDistributionCommissionFilter = { - readonly validator_address?: InputMaybe; -}; - -export enum GQLDistributionCommissionOrder { - GQLValidatorAddress = 'validator_address' -} - export type GQLEmployee = { readonly __typename?: 'Employee'; readonly email: Scalars['String']['output']; @@ -464,7 +450,6 @@ export enum GQLMessagesOrder { export type GQLOracle = { readonly __typename?: 'Oracle'; readonly oraclePrices: ReadonlyArray; - readonly oracles: ReadonlyArray; }; @@ -476,20 +461,6 @@ export type GQLOracleGqlOraclePricesArgs = { where?: InputMaybe; }; - -export type GQLOracleGqlOraclesArgs = { - limit?: InputMaybe; - order_by?: InputMaybe; - order_desc?: InputMaybe; - where?: InputMaybe; -}; - -export type GQLOracleEntry = { - readonly __typename?: 'OracleEntry'; - readonly numVotes: Scalars['Int']['output']; - readonly validator: GQLValidator; -}; - export type GQLOraclePrice = { readonly __typename?: 'OraclePrice'; readonly block: GQLBlock; @@ -512,16 +483,6 @@ export enum GQLOraclePricesOrder { GQLSequence = 'sequence' } -export type GQLOraclesFilter = { - readonly numVotes?: InputMaybe; - readonly validatorAddressEq?: InputMaybe; -}; - -export enum GQLOraclesOrder { - GQLNumVotes = 'num_votes', - GQLValidatorAddress = 'validator_address' -} - export type GQLProxies = { readonly __typename?: 'Proxies'; readonly bybit?: Maybe; @@ -538,7 +499,6 @@ export type GQLQuery = { readonly communityPool: ReadonlyArray; /** @deprecated Moved to staking sub schema */ readonly delegations: ReadonlyArray; - readonly distributionCommissions: ReadonlyArray; readonly evm: GQLEvm; readonly featureFlags: GQLFeatureFlags; readonly governance: GQLGovernance; @@ -580,14 +540,6 @@ export type GQLQueryGqlDelegationsArgs = { }; -export type GQLQueryGqlDistributionCommissionsArgs = { - limit?: InputMaybe; - order_by?: InputMaybe; - order_desc?: InputMaybe; - where?: InputMaybe; -}; - - export type GQLQueryGqlMessagesArgs = { limit?: InputMaybe; offset?: InputMaybe; diff --git a/src/gql/utils/schema.graphql b/src/gql/utils/schema.graphql index e26aafce..76e8d366 100644 --- a/src/gql/utils/schema.graphql +++ b/src/gql/utils/schema.graphql @@ -74,19 +74,6 @@ enum DelegationOrder { validator_address } -type DistributionCommission { - commission: Token - validator: Validator! -} - -input DistributionCommissionFilter { - validator_address: String -} - -enum DistributionCommissionOrder { - validator_address -} - type Employee { email: String! instagram: String! @@ -371,12 +358,6 @@ enum MessagesOrder { type Oracle { oraclePrices(limit: Int, offset: Int, order_by: OraclePricesOrder, order_desc: Boolean, where: OraclePricesFilter): [OraclePrice!]! - oracles(limit: Int, order_by: OraclesOrder, order_desc: Boolean, where: OraclesFilter): [OracleEntry!]! -} - -type OracleEntry { - numVotes: Int! - validator: Validator! } type OraclePrice { @@ -398,16 +379,6 @@ enum OraclePricesOrder { sequence } -input OraclesFilter { - numVotes: IntFilter - validatorAddressEq: String -} - -enum OraclesOrder { - num_votes - validator_address -} - type Proxies { bybit: BybitResponse unstoppableDomains(domainName: String!): UnstoppableDomainsResponse @@ -416,7 +387,6 @@ type Proxies { type Query { communityPool(limit: Int, order_by: CommunityPoolOrder, order_desc: Boolean, where: CommunityPoolFilter): [Token!]! delegations(limit: Int, order_by: DelegationOrder, order_desc: Boolean, where: DelegationFilter): [Delegation!]! @deprecated(reason: "Moved to staking sub schema") - distributionCommissions(limit: Int, order_by: DistributionCommissionOrder, order_desc: Boolean, where: DistributionCommissionFilter): [DistributionCommission!]! evm: Evm! featureFlags: FeatureFlags! governance: Governance! diff --git a/src/protojs/cosmos/app/v1alpha1/module.ts b/src/protojs/cosmos/app/v1alpha1/module.ts deleted file mode 100644 index 302bb6ab..00000000 --- a/src/protojs/cosmos/app/v1alpha1/module.ts +++ /dev/null @@ -1,330 +0,0 @@ -/* eslint-disable */ -import Long from "long"; -import _m0 from "protobufjs/minimal"; - -/** ModuleDescriptor describes an app module. */ -export interface ModuleDescriptor { - /** - * go_import names the package that should be imported by an app to load the - * module in the runtime module registry. It is required to make debugging - * of configuration errors easier for users. - */ - goImport: string; - /** - * use_package refers to a protobuf package that this module - * uses and exposes to the world. In an app, only one module should "use" - * or own a single protobuf package. It is assumed that the module uses - * all of the .proto files in a single package. - */ - usePackage: PackageReference[]; - /** - * can_migrate_from defines which module versions this module can migrate - * state from. The framework will check that one module version is able to - * migrate from a previous module version before attempting to update its - * config. It is assumed that modules can transitively migrate from earlier - * versions. For instance if v3 declares it can migrate from v2, and v2 - * declares it can migrate from v1, the framework knows how to migrate - * from v1 to v3, assuming all 3 module versions are registered at runtime. - */ - canMigrateFrom: MigrateFromInfo[]; -} - -/** PackageReference is a reference to a protobuf package used by a module. */ -export interface PackageReference { - /** name is the fully-qualified name of the package. */ - name: string; - /** - * revision is the optional revision of the package that is being used. - * Protobuf packages used in Cosmos should generally have a major version - * as the last part of the package name, ex. foo.bar.baz.v1. - * The revision of a package can be thought of as the minor version of a - * package which has additional backwards compatible definitions that weren't - * present in a previous version. - * - * A package should indicate its revision with a source code comment - * above the package declaration in one of its files containing the - * text "Revision N" where N is an integer revision. All packages start - * at revision 0 the first time they are released in a module. - * - * When a new version of a module is released and items are added to existing - * .proto files, these definitions should contain comments of the form - * "Since Revision N" where N is an integer revision. - * - * When the module runtime starts up, it will check the pinned proto - * image and panic if there are runtime protobuf definitions that are not - * in the pinned descriptor which do not have - * a "Since Revision N" comment or have a "Since Revision N" comment where - * N is <= to the revision specified here. This indicates that the protobuf - * files have been updated, but the pinned file descriptor hasn't. - * - * If there are items in the pinned file descriptor with a revision - * greater than the value indicated here, this will also cause a panic - * as it may mean that the pinned descriptor for a legacy module has been - * improperly updated or that there is some other versioning discrepancy. - * Runtime protobuf definitions will also be checked for compatibility - * with pinned file descriptors to make sure there are no incompatible changes. - * - * This behavior ensures that: - * * pinned proto images are up-to-date - * * protobuf files are carefully annotated with revision comments which - * are important good client UX - * * protobuf files are changed in backwards and forwards compatible ways - */ - revision: number; -} - -/** - * MigrateFromInfo is information on a module version that a newer module - * can migrate from. - */ -export interface MigrateFromInfo { - /** - * module is the fully-qualified protobuf name of the module config object - * for the previous module version, ex: "cosmos.group.module.v1.Module". - */ - module: string; -} - -function createBaseModuleDescriptor(): ModuleDescriptor { - return { goImport: "", usePackage: [], canMigrateFrom: [] }; -} - -export const ModuleDescriptor = { - encode(message: ModuleDescriptor, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.goImport !== "") { - writer.uint32(10).string(message.goImport); - } - for (const v of message.usePackage) { - PackageReference.encode(v!, writer.uint32(18).fork()).ldelim(); - } - for (const v of message.canMigrateFrom) { - MigrateFromInfo.encode(v!, writer.uint32(26).fork()).ldelim(); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): ModuleDescriptor { - const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseModuleDescriptor(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (tag !== 10) { - break; - } - - message.goImport = reader.string(); - continue; - case 2: - if (tag !== 18) { - break; - } - - message.usePackage.push(PackageReference.decode(reader, reader.uint32())); - continue; - case 3: - if (tag !== 26) { - break; - } - - message.canMigrateFrom.push(MigrateFromInfo.decode(reader, reader.uint32())); - continue; - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skipType(tag & 7); - } - return message; - }, - - fromJSON(object: any): ModuleDescriptor { - return { - goImport: isSet(object.goImport) ? String(object.goImport) : "", - usePackage: Array.isArray(object?.usePackage) - ? object.usePackage.map((e: any) => PackageReference.fromJSON(e)) - : [], - canMigrateFrom: Array.isArray(object?.canMigrateFrom) - ? object.canMigrateFrom.map((e: any) => MigrateFromInfo.fromJSON(e)) - : [], - }; - }, - - toJSON(message: ModuleDescriptor): unknown { - const obj: any = {}; - message.goImport !== undefined && (obj.goImport = message.goImport); - if (message.usePackage) { - obj.usePackage = message.usePackage.map((e) => e ? PackageReference.toJSON(e) : undefined); - } else { - obj.usePackage = []; - } - if (message.canMigrateFrom) { - obj.canMigrateFrom = message.canMigrateFrom.map((e) => e ? MigrateFromInfo.toJSON(e) : undefined); - } else { - obj.canMigrateFrom = []; - } - return obj; - }, - - create, I>>(base?: I): ModuleDescriptor { - return ModuleDescriptor.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): ModuleDescriptor { - const message = createBaseModuleDescriptor(); - message.goImport = object.goImport ?? ""; - message.usePackage = object.usePackage?.map((e) => PackageReference.fromPartial(e)) || []; - message.canMigrateFrom = object.canMigrateFrom?.map((e) => MigrateFromInfo.fromPartial(e)) || []; - return message; - }, -}; - -function createBasePackageReference(): PackageReference { - return { name: "", revision: 0 }; -} - -export const PackageReference = { - encode(message: PackageReference, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.name !== "") { - writer.uint32(10).string(message.name); - } - if (message.revision !== 0) { - writer.uint32(16).uint32(message.revision); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): PackageReference { - const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBasePackageReference(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (tag !== 10) { - break; - } - - message.name = reader.string(); - continue; - case 2: - if (tag !== 16) { - break; - } - - message.revision = reader.uint32(); - continue; - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skipType(tag & 7); - } - return message; - }, - - fromJSON(object: any): PackageReference { - return { - name: isSet(object.name) ? String(object.name) : "", - revision: isSet(object.revision) ? Number(object.revision) : 0, - }; - }, - - toJSON(message: PackageReference): unknown { - const obj: any = {}; - message.name !== undefined && (obj.name = message.name); - message.revision !== undefined && (obj.revision = Math.round(message.revision)); - return obj; - }, - - create, I>>(base?: I): PackageReference { - return PackageReference.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): PackageReference { - const message = createBasePackageReference(); - message.name = object.name ?? ""; - message.revision = object.revision ?? 0; - return message; - }, -}; - -function createBaseMigrateFromInfo(): MigrateFromInfo { - return { module: "" }; -} - -export const MigrateFromInfo = { - encode(message: MigrateFromInfo, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.module !== "") { - writer.uint32(10).string(message.module); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): MigrateFromInfo { - const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseMigrateFromInfo(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (tag !== 10) { - break; - } - - message.module = reader.string(); - continue; - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skipType(tag & 7); - } - return message; - }, - - fromJSON(object: any): MigrateFromInfo { - return { module: isSet(object.module) ? String(object.module) : "" }; - }, - - toJSON(message: MigrateFromInfo): unknown { - const obj: any = {}; - message.module !== undefined && (obj.module = message.module); - return obj; - }, - - create, I>>(base?: I): MigrateFromInfo { - return MigrateFromInfo.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): MigrateFromInfo { - const message = createBaseMigrateFromInfo(); - message.module = object.module ?? ""; - return message; - }, -}; - -type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; - -type DeepPartial = T extends Builtin ? T - : T extends Long ? string | number | Long : T extends Array ? Array> - : T extends ReadonlyArray ? ReadonlyArray> - : T extends {} ? { [K in keyof T]?: DeepPartial } - : Partial; - -type KeysOfUnion = T extends T ? keyof T : never; -type Exact = P extends Builtin ? P - : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; - -if (_m0.util.Long !== Long) { - _m0.util.Long = Long as any; - _m0.configure(); -} - -function isSet(value: any): boolean { - return value !== null && value !== undefined; -} diff --git a/src/protojs/cosmos/auth/v1beta1/auth.ts b/src/protojs/cosmos/auth/v1beta1/auth.ts index 881bd8e2..981591a1 100644 --- a/src/protojs/cosmos/auth/v1beta1/auth.ts +++ b/src/protojs/cosmos/auth/v1beta1/auth.ts @@ -23,16 +23,21 @@ export interface ModuleAccount { } /** - * ModuleCredential represents a unclaimable pubkey for base accounts controlled by modules. + * ModuleCredential represents a unclaimable pubkey for base accounts controlled + * by modules. * * Since: cosmos-sdk 0.47 */ export interface ModuleCredential { - /** module_name is the name of the module used for address derivation (passed into address.Module). */ + /** + * module_name is the name of the module used for address derivation (passed + * into address.Module). + */ moduleName: string; /** - * derivation_keys is for deriving a module account address (passed into address.Module) - * adding more keys creates sub-account addresses (passed into address.Derive) + * derivation_keys is for deriving a module account address (passed into + * address.Module) adding more keys creates sub-account addresses (passed into + * address.Derive) */ derivationKeys: Uint8Array[]; } diff --git a/src/protojs/cosmos/bank/v1beta1/bank.ts b/src/protojs/cosmos/bank/v1beta1/bank.ts index 37af7aca..6780e773 100644 --- a/src/protojs/cosmos/bank/v1beta1/bank.ts +++ b/src/protojs/cosmos/bank/v1beta1/bank.ts @@ -10,7 +10,8 @@ export interface Params { * For genesis, use the newly added send_enabled field in the genesis object. * Storage, lookup, and manipulation of this information is now in the keeper. * - * As of cosmos-sdk 0.47, this only exists for backwards compatibility of genesis files. + * As of cosmos-sdk 0.47, this only exists for backwards compatibility of + * genesis files. * * @deprecated */ @@ -98,14 +99,15 @@ export interface Metadata { */ symbol: string; /** - * URI to a document (on or off-chain) that contains additional information. Optional. + * URI to a document (on or off-chain) that contains additional information. + * Optional. * * Since: cosmos-sdk 0.46 */ uri: string; /** - * URIHash is a sha256 hash of a document pointed by URI. It's used to verify that - * the document didn't change. Optional. + * URIHash is a sha256 hash of a document pointed by URI. It's used to verify + * that the document didn't change. Optional. * * Since: cosmos-sdk 0.46 */ diff --git a/src/protojs/cosmos/base/query/v1beta1/pagination.ts b/src/protojs/cosmos/base/query/v1beta1/pagination.ts index 6e50824b..8f312ce0 100644 --- a/src/protojs/cosmos/base/query/v1beta1/pagination.ts +++ b/src/protojs/cosmos/base/query/v1beta1/pagination.ts @@ -37,7 +37,8 @@ export interface PageRequest { */ countTotal: boolean; /** - * reverse is set to true if results are to be returned in the descending order. + * reverse is set to true if results are to be returned in the descending + * order. * * Since: cosmos-sdk 0.43 */ diff --git a/src/protojs/cosmwasm/wasm/v1/authz.ts b/src/protojs/cosmwasm/wasm/v1/authz.ts new file mode 100644 index 00000000..4341cd9c --- /dev/null +++ b/src/protojs/cosmwasm/wasm/v1/authz.ts @@ -0,0 +1,899 @@ +/* eslint-disable */ +import Long from "long"; +import _m0 from "protobufjs/minimal"; +import { Coin } from "../../../cosmos/base/v1beta1/coin"; +import { Any } from "../../../google/protobuf/any"; +import { AccessConfig } from "./types"; + +/** + * StoreCodeAuthorization defines authorization for wasm code upload. + * Since: wasmd 0.42 + */ +export interface StoreCodeAuthorization { + /** Grants for code upload */ + grants: CodeGrant[]; +} + +/** + * ContractExecutionAuthorization defines authorization for wasm execute. + * Since: wasmd 0.30 + */ +export interface ContractExecutionAuthorization { + /** Grants for contract executions */ + grants: ContractGrant[]; +} + +/** + * ContractMigrationAuthorization defines authorization for wasm contract + * migration. Since: wasmd 0.30 + */ +export interface ContractMigrationAuthorization { + /** Grants for contract migrations */ + grants: ContractGrant[]; +} + +/** CodeGrant a granted permission for a single code */ +export interface CodeGrant { + /** + * CodeHash is the unique identifier created by wasmvm + * Wildcard "*" is used to specify any kind of grant. + */ + codeHash: Uint8Array; + /** + * InstantiatePermission is the superset access control to apply + * on contract creation. + * Optional + */ + instantiatePermission?: AccessConfig; +} + +/** + * ContractGrant a granted permission for a single contract + * Since: wasmd 0.30 + */ +export interface ContractGrant { + /** Contract is the bech32 address of the smart contract */ + contract: string; + /** + * Limit defines execution limits that are enforced and updated when the grant + * is applied. When the limit lapsed the grant is removed. + */ + limit?: Any; + /** + * Filter define more fine-grained control on the message payload passed + * to the contract in the operation. When no filter applies on execution, the + * operation is prohibited. + */ + filter?: Any; +} + +/** + * MaxCallsLimit limited number of calls to the contract. No funds transferable. + * Since: wasmd 0.30 + */ +export interface MaxCallsLimit { + /** Remaining number that is decremented on each execution */ + remaining: Long; +} + +/** + * MaxFundsLimit defines the maximal amounts that can be sent to the contract. + * Since: wasmd 0.30 + */ +export interface MaxFundsLimit { + /** Amounts is the maximal amount of tokens transferable to the contract. */ + amounts: Coin[]; +} + +/** + * CombinedLimit defines the maximal amounts that can be sent to a contract and + * the maximal number of calls executable. Both need to remain >0 to be valid. + * Since: wasmd 0.30 + */ +export interface CombinedLimit { + /** Remaining number that is decremented on each execution */ + callsRemaining: Long; + /** Amounts is the maximal amount of tokens transferable to the contract. */ + amounts: Coin[]; +} + +/** + * AllowAllMessagesFilter is a wildcard to allow any type of contract payload + * message. + * Since: wasmd 0.30 + */ +export interface AllowAllMessagesFilter { +} + +/** + * AcceptedMessageKeysFilter accept only the specific contract message keys in + * the json object to be executed. + * Since: wasmd 0.30 + */ +export interface AcceptedMessageKeysFilter { + /** Messages is the list of unique keys */ + keys: string[]; +} + +/** + * AcceptedMessagesFilter accept only the specific raw contract messages to be + * executed. + * Since: wasmd 0.30 + */ +export interface AcceptedMessagesFilter { + /** Messages is the list of raw contract messages */ + messages: Uint8Array[]; +} + +function createBaseStoreCodeAuthorization(): StoreCodeAuthorization { + return { grants: [] }; +} + +export const StoreCodeAuthorization = { + encode(message: StoreCodeAuthorization, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + for (const v of message.grants) { + CodeGrant.encode(v!, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): StoreCodeAuthorization { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseStoreCodeAuthorization(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.grants.push(CodeGrant.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): StoreCodeAuthorization { + return { grants: Array.isArray(object?.grants) ? object.grants.map((e: any) => CodeGrant.fromJSON(e)) : [] }; + }, + + toJSON(message: StoreCodeAuthorization): unknown { + const obj: any = {}; + if (message.grants) { + obj.grants = message.grants.map((e) => e ? CodeGrant.toJSON(e) : undefined); + } else { + obj.grants = []; + } + return obj; + }, + + create, I>>(base?: I): StoreCodeAuthorization { + return StoreCodeAuthorization.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): StoreCodeAuthorization { + const message = createBaseStoreCodeAuthorization(); + message.grants = object.grants?.map((e) => CodeGrant.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseContractExecutionAuthorization(): ContractExecutionAuthorization { + return { grants: [] }; +} + +export const ContractExecutionAuthorization = { + encode(message: ContractExecutionAuthorization, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + for (const v of message.grants) { + ContractGrant.encode(v!, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ContractExecutionAuthorization { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContractExecutionAuthorization(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.grants.push(ContractGrant.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ContractExecutionAuthorization { + return { grants: Array.isArray(object?.grants) ? object.grants.map((e: any) => ContractGrant.fromJSON(e)) : [] }; + }, + + toJSON(message: ContractExecutionAuthorization): unknown { + const obj: any = {}; + if (message.grants) { + obj.grants = message.grants.map((e) => e ? ContractGrant.toJSON(e) : undefined); + } else { + obj.grants = []; + } + return obj; + }, + + create, I>>(base?: I): ContractExecutionAuthorization { + return ContractExecutionAuthorization.fromPartial(base ?? {}); + }, + + fromPartial, I>>( + object: I, + ): ContractExecutionAuthorization { + const message = createBaseContractExecutionAuthorization(); + message.grants = object.grants?.map((e) => ContractGrant.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseContractMigrationAuthorization(): ContractMigrationAuthorization { + return { grants: [] }; +} + +export const ContractMigrationAuthorization = { + encode(message: ContractMigrationAuthorization, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + for (const v of message.grants) { + ContractGrant.encode(v!, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ContractMigrationAuthorization { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContractMigrationAuthorization(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.grants.push(ContractGrant.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ContractMigrationAuthorization { + return { grants: Array.isArray(object?.grants) ? object.grants.map((e: any) => ContractGrant.fromJSON(e)) : [] }; + }, + + toJSON(message: ContractMigrationAuthorization): unknown { + const obj: any = {}; + if (message.grants) { + obj.grants = message.grants.map((e) => e ? ContractGrant.toJSON(e) : undefined); + } else { + obj.grants = []; + } + return obj; + }, + + create, I>>(base?: I): ContractMigrationAuthorization { + return ContractMigrationAuthorization.fromPartial(base ?? {}); + }, + + fromPartial, I>>( + object: I, + ): ContractMigrationAuthorization { + const message = createBaseContractMigrationAuthorization(); + message.grants = object.grants?.map((e) => ContractGrant.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseCodeGrant(): CodeGrant { + return { codeHash: new Uint8Array(0), instantiatePermission: undefined }; +} + +export const CodeGrant = { + encode(message: CodeGrant, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.codeHash.length !== 0) { + writer.uint32(10).bytes(message.codeHash); + } + if (message.instantiatePermission !== undefined) { + AccessConfig.encode(message.instantiatePermission, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): CodeGrant { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCodeGrant(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.codeHash = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.instantiatePermission = AccessConfig.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): CodeGrant { + return { + codeHash: isSet(object.codeHash) ? bytesFromBase64(object.codeHash) : new Uint8Array(0), + instantiatePermission: isSet(object.instantiatePermission) + ? AccessConfig.fromJSON(object.instantiatePermission) + : undefined, + }; + }, + + toJSON(message: CodeGrant): unknown { + const obj: any = {}; + message.codeHash !== undefined && + (obj.codeHash = base64FromBytes(message.codeHash !== undefined ? message.codeHash : new Uint8Array(0))); + message.instantiatePermission !== undefined && (obj.instantiatePermission = message.instantiatePermission + ? AccessConfig.toJSON(message.instantiatePermission) + : undefined); + return obj; + }, + + create, I>>(base?: I): CodeGrant { + return CodeGrant.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): CodeGrant { + const message = createBaseCodeGrant(); + message.codeHash = object.codeHash ?? new Uint8Array(0); + message.instantiatePermission = + (object.instantiatePermission !== undefined && object.instantiatePermission !== null) + ? AccessConfig.fromPartial(object.instantiatePermission) + : undefined; + return message; + }, +}; + +function createBaseContractGrant(): ContractGrant { + return { contract: "", limit: undefined, filter: undefined }; +} + +export const ContractGrant = { + encode(message: ContractGrant, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.contract !== "") { + writer.uint32(10).string(message.contract); + } + if (message.limit !== undefined) { + Any.encode(message.limit, writer.uint32(18).fork()).ldelim(); + } + if (message.filter !== undefined) { + Any.encode(message.filter, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ContractGrant { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContractGrant(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.contract = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.limit = Any.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.filter = Any.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ContractGrant { + return { + contract: isSet(object.contract) ? String(object.contract) : "", + limit: isSet(object.limit) ? Any.fromJSON(object.limit) : undefined, + filter: isSet(object.filter) ? Any.fromJSON(object.filter) : undefined, + }; + }, + + toJSON(message: ContractGrant): unknown { + const obj: any = {}; + message.contract !== undefined && (obj.contract = message.contract); + message.limit !== undefined && (obj.limit = message.limit ? Any.toJSON(message.limit) : undefined); + message.filter !== undefined && (obj.filter = message.filter ? Any.toJSON(message.filter) : undefined); + return obj; + }, + + create, I>>(base?: I): ContractGrant { + return ContractGrant.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): ContractGrant { + const message = createBaseContractGrant(); + message.contract = object.contract ?? ""; + message.limit = (object.limit !== undefined && object.limit !== null) ? Any.fromPartial(object.limit) : undefined; + message.filter = (object.filter !== undefined && object.filter !== null) + ? Any.fromPartial(object.filter) + : undefined; + return message; + }, +}; + +function createBaseMaxCallsLimit(): MaxCallsLimit { + return { remaining: Long.UZERO }; +} + +export const MaxCallsLimit = { + encode(message: MaxCallsLimit, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (!message.remaining.isZero()) { + writer.uint32(8).uint64(message.remaining); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MaxCallsLimit { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMaxCallsLimit(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.remaining = reader.uint64() as Long; + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MaxCallsLimit { + return { remaining: isSet(object.remaining) ? Long.fromValue(object.remaining) : Long.UZERO }; + }, + + toJSON(message: MaxCallsLimit): unknown { + const obj: any = {}; + message.remaining !== undefined && (obj.remaining = (message.remaining || Long.UZERO).toString()); + return obj; + }, + + create, I>>(base?: I): MaxCallsLimit { + return MaxCallsLimit.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): MaxCallsLimit { + const message = createBaseMaxCallsLimit(); + message.remaining = (object.remaining !== undefined && object.remaining !== null) + ? Long.fromValue(object.remaining) + : Long.UZERO; + return message; + }, +}; + +function createBaseMaxFundsLimit(): MaxFundsLimit { + return { amounts: [] }; +} + +export const MaxFundsLimit = { + encode(message: MaxFundsLimit, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + for (const v of message.amounts) { + Coin.encode(v!, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MaxFundsLimit { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMaxFundsLimit(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.amounts.push(Coin.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MaxFundsLimit { + return { amounts: Array.isArray(object?.amounts) ? object.amounts.map((e: any) => Coin.fromJSON(e)) : [] }; + }, + + toJSON(message: MaxFundsLimit): unknown { + const obj: any = {}; + if (message.amounts) { + obj.amounts = message.amounts.map((e) => e ? Coin.toJSON(e) : undefined); + } else { + obj.amounts = []; + } + return obj; + }, + + create, I>>(base?: I): MaxFundsLimit { + return MaxFundsLimit.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): MaxFundsLimit { + const message = createBaseMaxFundsLimit(); + message.amounts = object.amounts?.map((e) => Coin.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseCombinedLimit(): CombinedLimit { + return { callsRemaining: Long.UZERO, amounts: [] }; +} + +export const CombinedLimit = { + encode(message: CombinedLimit, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (!message.callsRemaining.isZero()) { + writer.uint32(8).uint64(message.callsRemaining); + } + for (const v of message.amounts) { + Coin.encode(v!, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): CombinedLimit { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCombinedLimit(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.callsRemaining = reader.uint64() as Long; + continue; + case 2: + if (tag !== 18) { + break; + } + + message.amounts.push(Coin.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): CombinedLimit { + return { + callsRemaining: isSet(object.callsRemaining) ? Long.fromValue(object.callsRemaining) : Long.UZERO, + amounts: Array.isArray(object?.amounts) ? object.amounts.map((e: any) => Coin.fromJSON(e)) : [], + }; + }, + + toJSON(message: CombinedLimit): unknown { + const obj: any = {}; + message.callsRemaining !== undefined && (obj.callsRemaining = (message.callsRemaining || Long.UZERO).toString()); + if (message.amounts) { + obj.amounts = message.amounts.map((e) => e ? Coin.toJSON(e) : undefined); + } else { + obj.amounts = []; + } + return obj; + }, + + create, I>>(base?: I): CombinedLimit { + return CombinedLimit.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): CombinedLimit { + const message = createBaseCombinedLimit(); + message.callsRemaining = (object.callsRemaining !== undefined && object.callsRemaining !== null) + ? Long.fromValue(object.callsRemaining) + : Long.UZERO; + message.amounts = object.amounts?.map((e) => Coin.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseAllowAllMessagesFilter(): AllowAllMessagesFilter { + return {}; +} + +export const AllowAllMessagesFilter = { + encode(_: AllowAllMessagesFilter, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): AllowAllMessagesFilter { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAllowAllMessagesFilter(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): AllowAllMessagesFilter { + return {}; + }, + + toJSON(_: AllowAllMessagesFilter): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): AllowAllMessagesFilter { + return AllowAllMessagesFilter.fromPartial(base ?? {}); + }, + + fromPartial, I>>(_: I): AllowAllMessagesFilter { + const message = createBaseAllowAllMessagesFilter(); + return message; + }, +}; + +function createBaseAcceptedMessageKeysFilter(): AcceptedMessageKeysFilter { + return { keys: [] }; +} + +export const AcceptedMessageKeysFilter = { + encode(message: AcceptedMessageKeysFilter, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + for (const v of message.keys) { + writer.uint32(10).string(v!); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): AcceptedMessageKeysFilter { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAcceptedMessageKeysFilter(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.keys.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): AcceptedMessageKeysFilter { + return { keys: Array.isArray(object?.keys) ? object.keys.map((e: any) => String(e)) : [] }; + }, + + toJSON(message: AcceptedMessageKeysFilter): unknown { + const obj: any = {}; + if (message.keys) { + obj.keys = message.keys.map((e) => e); + } else { + obj.keys = []; + } + return obj; + }, + + create, I>>(base?: I): AcceptedMessageKeysFilter { + return AcceptedMessageKeysFilter.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): AcceptedMessageKeysFilter { + const message = createBaseAcceptedMessageKeysFilter(); + message.keys = object.keys?.map((e) => e) || []; + return message; + }, +}; + +function createBaseAcceptedMessagesFilter(): AcceptedMessagesFilter { + return { messages: [] }; +} + +export const AcceptedMessagesFilter = { + encode(message: AcceptedMessagesFilter, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + for (const v of message.messages) { + writer.uint32(10).bytes(v!); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): AcceptedMessagesFilter { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAcceptedMessagesFilter(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.messages.push(reader.bytes()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): AcceptedMessagesFilter { + return { messages: Array.isArray(object?.messages) ? object.messages.map((e: any) => bytesFromBase64(e)) : [] }; + }, + + toJSON(message: AcceptedMessagesFilter): unknown { + const obj: any = {}; + if (message.messages) { + obj.messages = message.messages.map((e) => base64FromBytes(e !== undefined ? e : new Uint8Array(0))); + } else { + obj.messages = []; + } + return obj; + }, + + create, I>>(base?: I): AcceptedMessagesFilter { + return AcceptedMessagesFilter.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): AcceptedMessagesFilter { + const message = createBaseAcceptedMessagesFilter(); + message.messages = object.messages?.map((e) => e) || []; + return message; + }, +}; + +declare var self: any | undefined; +declare var window: any | undefined; +declare var global: any | undefined; +var tsProtoGlobalThis: any = (() => { + if (typeof globalThis !== "undefined") { + return globalThis; + } + if (typeof self !== "undefined") { + return self; + } + if (typeof window !== "undefined") { + return window; + } + if (typeof global !== "undefined") { + return global; + } + throw "Unable to locate global object"; +})(); + +function bytesFromBase64(b64: string): Uint8Array { + if (tsProtoGlobalThis.Buffer) { + return Uint8Array.from(tsProtoGlobalThis.Buffer.from(b64, "base64")); + } else { + const bin = tsProtoGlobalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if (tsProtoGlobalThis.Buffer) { + return tsProtoGlobalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(String.fromCharCode(byte)); + }); + return tsProtoGlobalThis.btoa(bin.join("")); + } +} + +type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; + +type DeepPartial = T extends Builtin ? T + : T extends Long ? string | number | Long : T extends Array ? Array> + : T extends ReadonlyArray ? ReadonlyArray> + : T extends {} ? { [K in keyof T]?: DeepPartial } + : Partial; + +type KeysOfUnion = T extends T ? keyof T : never; +type Exact = P extends Builtin ? P + : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; + +if (_m0.util.Long !== Long) { + _m0.util.Long = Long as any; + _m0.configure(); +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} diff --git a/src/protojs/cosmwasm/wasm/v1/genesis.ts b/src/protojs/cosmwasm/wasm/v1/genesis.ts new file mode 100644 index 00000000..a30ab5da --- /dev/null +++ b/src/protojs/cosmwasm/wasm/v1/genesis.ts @@ -0,0 +1,499 @@ +/* eslint-disable */ +import Long from "long"; +import _m0 from "protobufjs/minimal"; +import { CodeInfo, ContractCodeHistoryEntry, ContractInfo, Model, Params } from "./types"; + +/** GenesisState - genesis state of x/wasm */ +export interface GenesisState { + params?: Params; + codes: Code[]; + contracts: Contract[]; + sequences: Sequence[]; +} + +/** Code struct encompasses CodeInfo and CodeBytes */ +export interface Code { + codeId: Long; + codeInfo?: CodeInfo; + codeBytes: Uint8Array; + /** Pinned to wasmvm cache */ + pinned: boolean; +} + +/** Contract struct encompasses ContractAddress, ContractInfo, and ContractState */ +export interface Contract { + contractAddress: string; + contractInfo?: ContractInfo; + contractState: Model[]; + contractCodeHistory: ContractCodeHistoryEntry[]; +} + +/** Sequence key and value of an id generation counter */ +export interface Sequence { + idKey: Uint8Array; + value: Long; +} + +function createBaseGenesisState(): GenesisState { + return { params: undefined, codes: [], contracts: [], sequences: [] }; +} + +export const GenesisState = { + encode(message: GenesisState, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.params !== undefined) { + Params.encode(message.params, writer.uint32(10).fork()).ldelim(); + } + for (const v of message.codes) { + Code.encode(v!, writer.uint32(18).fork()).ldelim(); + } + for (const v of message.contracts) { + Contract.encode(v!, writer.uint32(26).fork()).ldelim(); + } + for (const v of message.sequences) { + Sequence.encode(v!, writer.uint32(34).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): GenesisState { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseGenesisState(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.params = Params.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.codes.push(Code.decode(reader, reader.uint32())); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.contracts.push(Contract.decode(reader, reader.uint32())); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.sequences.push(Sequence.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): GenesisState { + return { + params: isSet(object.params) ? Params.fromJSON(object.params) : undefined, + codes: Array.isArray(object?.codes) ? object.codes.map((e: any) => Code.fromJSON(e)) : [], + contracts: Array.isArray(object?.contracts) ? object.contracts.map((e: any) => Contract.fromJSON(e)) : [], + sequences: Array.isArray(object?.sequences) ? object.sequences.map((e: any) => Sequence.fromJSON(e)) : [], + }; + }, + + toJSON(message: GenesisState): unknown { + const obj: any = {}; + message.params !== undefined && (obj.params = message.params ? Params.toJSON(message.params) : undefined); + if (message.codes) { + obj.codes = message.codes.map((e) => e ? Code.toJSON(e) : undefined); + } else { + obj.codes = []; + } + if (message.contracts) { + obj.contracts = message.contracts.map((e) => e ? Contract.toJSON(e) : undefined); + } else { + obj.contracts = []; + } + if (message.sequences) { + obj.sequences = message.sequences.map((e) => e ? Sequence.toJSON(e) : undefined); + } else { + obj.sequences = []; + } + return obj; + }, + + create, I>>(base?: I): GenesisState { + return GenesisState.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): GenesisState { + const message = createBaseGenesisState(); + message.params = (object.params !== undefined && object.params !== null) + ? Params.fromPartial(object.params) + : undefined; + message.codes = object.codes?.map((e) => Code.fromPartial(e)) || []; + message.contracts = object.contracts?.map((e) => Contract.fromPartial(e)) || []; + message.sequences = object.sequences?.map((e) => Sequence.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseCode(): Code { + return { codeId: Long.UZERO, codeInfo: undefined, codeBytes: new Uint8Array(0), pinned: false }; +} + +export const Code = { + encode(message: Code, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (!message.codeId.isZero()) { + writer.uint32(8).uint64(message.codeId); + } + if (message.codeInfo !== undefined) { + CodeInfo.encode(message.codeInfo, writer.uint32(18).fork()).ldelim(); + } + if (message.codeBytes.length !== 0) { + writer.uint32(26).bytes(message.codeBytes); + } + if (message.pinned === true) { + writer.uint32(32).bool(message.pinned); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): Code { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCode(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.codeId = reader.uint64() as Long; + continue; + case 2: + if (tag !== 18) { + break; + } + + message.codeInfo = CodeInfo.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.codeBytes = reader.bytes(); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.pinned = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): Code { + return { + codeId: isSet(object.codeId) ? Long.fromValue(object.codeId) : Long.UZERO, + codeInfo: isSet(object.codeInfo) ? CodeInfo.fromJSON(object.codeInfo) : undefined, + codeBytes: isSet(object.codeBytes) ? bytesFromBase64(object.codeBytes) : new Uint8Array(0), + pinned: isSet(object.pinned) ? Boolean(object.pinned) : false, + }; + }, + + toJSON(message: Code): unknown { + const obj: any = {}; + message.codeId !== undefined && (obj.codeId = (message.codeId || Long.UZERO).toString()); + message.codeInfo !== undefined && (obj.codeInfo = message.codeInfo ? CodeInfo.toJSON(message.codeInfo) : undefined); + message.codeBytes !== undefined && + (obj.codeBytes = base64FromBytes(message.codeBytes !== undefined ? message.codeBytes : new Uint8Array(0))); + message.pinned !== undefined && (obj.pinned = message.pinned); + return obj; + }, + + create, I>>(base?: I): Code { + return Code.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): Code { + const message = createBaseCode(); + message.codeId = (object.codeId !== undefined && object.codeId !== null) + ? Long.fromValue(object.codeId) + : Long.UZERO; + message.codeInfo = (object.codeInfo !== undefined && object.codeInfo !== null) + ? CodeInfo.fromPartial(object.codeInfo) + : undefined; + message.codeBytes = object.codeBytes ?? new Uint8Array(0); + message.pinned = object.pinned ?? false; + return message; + }, +}; + +function createBaseContract(): Contract { + return { contractAddress: "", contractInfo: undefined, contractState: [], contractCodeHistory: [] }; +} + +export const Contract = { + encode(message: Contract, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.contractAddress !== "") { + writer.uint32(10).string(message.contractAddress); + } + if (message.contractInfo !== undefined) { + ContractInfo.encode(message.contractInfo, writer.uint32(18).fork()).ldelim(); + } + for (const v of message.contractState) { + Model.encode(v!, writer.uint32(26).fork()).ldelim(); + } + for (const v of message.contractCodeHistory) { + ContractCodeHistoryEntry.encode(v!, writer.uint32(34).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): Contract { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContract(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.contractAddress = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.contractInfo = ContractInfo.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.contractState.push(Model.decode(reader, reader.uint32())); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.contractCodeHistory.push(ContractCodeHistoryEntry.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): Contract { + return { + contractAddress: isSet(object.contractAddress) ? String(object.contractAddress) : "", + contractInfo: isSet(object.contractInfo) ? ContractInfo.fromJSON(object.contractInfo) : undefined, + contractState: Array.isArray(object?.contractState) + ? object.contractState.map((e: any) => Model.fromJSON(e)) + : [], + contractCodeHistory: Array.isArray(object?.contractCodeHistory) + ? object.contractCodeHistory.map((e: any) => ContractCodeHistoryEntry.fromJSON(e)) + : [], + }; + }, + + toJSON(message: Contract): unknown { + const obj: any = {}; + message.contractAddress !== undefined && (obj.contractAddress = message.contractAddress); + message.contractInfo !== undefined && + (obj.contractInfo = message.contractInfo ? ContractInfo.toJSON(message.contractInfo) : undefined); + if (message.contractState) { + obj.contractState = message.contractState.map((e) => e ? Model.toJSON(e) : undefined); + } else { + obj.contractState = []; + } + if (message.contractCodeHistory) { + obj.contractCodeHistory = message.contractCodeHistory.map((e) => + e ? ContractCodeHistoryEntry.toJSON(e) : undefined + ); + } else { + obj.contractCodeHistory = []; + } + return obj; + }, + + create, I>>(base?: I): Contract { + return Contract.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): Contract { + const message = createBaseContract(); + message.contractAddress = object.contractAddress ?? ""; + message.contractInfo = (object.contractInfo !== undefined && object.contractInfo !== null) + ? ContractInfo.fromPartial(object.contractInfo) + : undefined; + message.contractState = object.contractState?.map((e) => Model.fromPartial(e)) || []; + message.contractCodeHistory = object.contractCodeHistory?.map((e) => ContractCodeHistoryEntry.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseSequence(): Sequence { + return { idKey: new Uint8Array(0), value: Long.UZERO }; +} + +export const Sequence = { + encode(message: Sequence, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.idKey.length !== 0) { + writer.uint32(10).bytes(message.idKey); + } + if (!message.value.isZero()) { + writer.uint32(16).uint64(message.value); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): Sequence { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseSequence(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.idKey = reader.bytes(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.value = reader.uint64() as Long; + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): Sequence { + return { + idKey: isSet(object.idKey) ? bytesFromBase64(object.idKey) : new Uint8Array(0), + value: isSet(object.value) ? Long.fromValue(object.value) : Long.UZERO, + }; + }, + + toJSON(message: Sequence): unknown { + const obj: any = {}; + message.idKey !== undefined && + (obj.idKey = base64FromBytes(message.idKey !== undefined ? message.idKey : new Uint8Array(0))); + message.value !== undefined && (obj.value = (message.value || Long.UZERO).toString()); + return obj; + }, + + create, I>>(base?: I): Sequence { + return Sequence.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): Sequence { + const message = createBaseSequence(); + message.idKey = object.idKey ?? new Uint8Array(0); + message.value = (object.value !== undefined && object.value !== null) ? Long.fromValue(object.value) : Long.UZERO; + return message; + }, +}; + +declare var self: any | undefined; +declare var window: any | undefined; +declare var global: any | undefined; +var tsProtoGlobalThis: any = (() => { + if (typeof globalThis !== "undefined") { + return globalThis; + } + if (typeof self !== "undefined") { + return self; + } + if (typeof window !== "undefined") { + return window; + } + if (typeof global !== "undefined") { + return global; + } + throw "Unable to locate global object"; +})(); + +function bytesFromBase64(b64: string): Uint8Array { + if (tsProtoGlobalThis.Buffer) { + return Uint8Array.from(tsProtoGlobalThis.Buffer.from(b64, "base64")); + } else { + const bin = tsProtoGlobalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if (tsProtoGlobalThis.Buffer) { + return tsProtoGlobalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(String.fromCharCode(byte)); + }); + return tsProtoGlobalThis.btoa(bin.join("")); + } +} + +type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; + +type DeepPartial = T extends Builtin ? T + : T extends Long ? string | number | Long : T extends Array ? Array> + : T extends ReadonlyArray ? ReadonlyArray> + : T extends {} ? { [K in keyof T]?: DeepPartial } + : Partial; + +type KeysOfUnion = T extends T ? keyof T : never; +type Exact = P extends Builtin ? P + : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; + +if (_m0.util.Long !== Long) { + _m0.util.Long = Long as any; + _m0.configure(); +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} diff --git a/src/protojs/cosmwasm/wasm/v1/ibc.ts b/src/protojs/cosmwasm/wasm/v1/ibc.ts new file mode 100644 index 00000000..7c1a9fb6 --- /dev/null +++ b/src/protojs/cosmwasm/wasm/v1/ibc.ts @@ -0,0 +1,317 @@ +/* eslint-disable */ +import Long from "long"; +import _m0 from "protobufjs/minimal"; + +/** MsgIBCSend */ +export interface MsgIBCSend { + /** the channel by which the packet will be sent */ + channel: string; + /** + * Timeout height relative to the current block height. + * The timeout is disabled when set to 0. + */ + timeoutHeight: Long; + /** + * Timeout timestamp (in nanoseconds) relative to the current block timestamp. + * The timeout is disabled when set to 0. + */ + timeoutTimestamp: Long; + /** + * Data is the payload to transfer. We must not make assumption what format or + * content is in here. + */ + data: Uint8Array; +} + +/** MsgIBCSendResponse */ +export interface MsgIBCSendResponse { + /** Sequence number of the IBC packet sent */ + sequence: Long; +} + +/** MsgIBCCloseChannel port and channel need to be owned by the contract */ +export interface MsgIBCCloseChannel { + channel: string; +} + +function createBaseMsgIBCSend(): MsgIBCSend { + return { channel: "", timeoutHeight: Long.UZERO, timeoutTimestamp: Long.UZERO, data: new Uint8Array(0) }; +} + +export const MsgIBCSend = { + encode(message: MsgIBCSend, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.channel !== "") { + writer.uint32(18).string(message.channel); + } + if (!message.timeoutHeight.isZero()) { + writer.uint32(32).uint64(message.timeoutHeight); + } + if (!message.timeoutTimestamp.isZero()) { + writer.uint32(40).uint64(message.timeoutTimestamp); + } + if (message.data.length !== 0) { + writer.uint32(50).bytes(message.data); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgIBCSend { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgIBCSend(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 2: + if (tag !== 18) { + break; + } + + message.channel = reader.string(); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.timeoutHeight = reader.uint64() as Long; + continue; + case 5: + if (tag !== 40) { + break; + } + + message.timeoutTimestamp = reader.uint64() as Long; + continue; + case 6: + if (tag !== 50) { + break; + } + + message.data = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgIBCSend { + return { + channel: isSet(object.channel) ? String(object.channel) : "", + timeoutHeight: isSet(object.timeoutHeight) ? Long.fromValue(object.timeoutHeight) : Long.UZERO, + timeoutTimestamp: isSet(object.timeoutTimestamp) ? Long.fromValue(object.timeoutTimestamp) : Long.UZERO, + data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0), + }; + }, + + toJSON(message: MsgIBCSend): unknown { + const obj: any = {}; + message.channel !== undefined && (obj.channel = message.channel); + message.timeoutHeight !== undefined && (obj.timeoutHeight = (message.timeoutHeight || Long.UZERO).toString()); + message.timeoutTimestamp !== undefined && + (obj.timeoutTimestamp = (message.timeoutTimestamp || Long.UZERO).toString()); + message.data !== undefined && + (obj.data = base64FromBytes(message.data !== undefined ? message.data : new Uint8Array(0))); + return obj; + }, + + create, I>>(base?: I): MsgIBCSend { + return MsgIBCSend.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): MsgIBCSend { + const message = createBaseMsgIBCSend(); + message.channel = object.channel ?? ""; + message.timeoutHeight = (object.timeoutHeight !== undefined && object.timeoutHeight !== null) + ? Long.fromValue(object.timeoutHeight) + : Long.UZERO; + message.timeoutTimestamp = (object.timeoutTimestamp !== undefined && object.timeoutTimestamp !== null) + ? Long.fromValue(object.timeoutTimestamp) + : Long.UZERO; + message.data = object.data ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseMsgIBCSendResponse(): MsgIBCSendResponse { + return { sequence: Long.UZERO }; +} + +export const MsgIBCSendResponse = { + encode(message: MsgIBCSendResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (!message.sequence.isZero()) { + writer.uint32(8).uint64(message.sequence); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgIBCSendResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgIBCSendResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.sequence = reader.uint64() as Long; + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgIBCSendResponse { + return { sequence: isSet(object.sequence) ? Long.fromValue(object.sequence) : Long.UZERO }; + }, + + toJSON(message: MsgIBCSendResponse): unknown { + const obj: any = {}; + message.sequence !== undefined && (obj.sequence = (message.sequence || Long.UZERO).toString()); + return obj; + }, + + create, I>>(base?: I): MsgIBCSendResponse { + return MsgIBCSendResponse.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): MsgIBCSendResponse { + const message = createBaseMsgIBCSendResponse(); + message.sequence = (object.sequence !== undefined && object.sequence !== null) + ? Long.fromValue(object.sequence) + : Long.UZERO; + return message; + }, +}; + +function createBaseMsgIBCCloseChannel(): MsgIBCCloseChannel { + return { channel: "" }; +} + +export const MsgIBCCloseChannel = { + encode(message: MsgIBCCloseChannel, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.channel !== "") { + writer.uint32(18).string(message.channel); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgIBCCloseChannel { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgIBCCloseChannel(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 2: + if (tag !== 18) { + break; + } + + message.channel = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgIBCCloseChannel { + return { channel: isSet(object.channel) ? String(object.channel) : "" }; + }, + + toJSON(message: MsgIBCCloseChannel): unknown { + const obj: any = {}; + message.channel !== undefined && (obj.channel = message.channel); + return obj; + }, + + create, I>>(base?: I): MsgIBCCloseChannel { + return MsgIBCCloseChannel.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): MsgIBCCloseChannel { + const message = createBaseMsgIBCCloseChannel(); + message.channel = object.channel ?? ""; + return message; + }, +}; + +declare var self: any | undefined; +declare var window: any | undefined; +declare var global: any | undefined; +var tsProtoGlobalThis: any = (() => { + if (typeof globalThis !== "undefined") { + return globalThis; + } + if (typeof self !== "undefined") { + return self; + } + if (typeof window !== "undefined") { + return window; + } + if (typeof global !== "undefined") { + return global; + } + throw "Unable to locate global object"; +})(); + +function bytesFromBase64(b64: string): Uint8Array { + if (tsProtoGlobalThis.Buffer) { + return Uint8Array.from(tsProtoGlobalThis.Buffer.from(b64, "base64")); + } else { + const bin = tsProtoGlobalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if (tsProtoGlobalThis.Buffer) { + return tsProtoGlobalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(String.fromCharCode(byte)); + }); + return tsProtoGlobalThis.btoa(bin.join("")); + } +} + +type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; + +type DeepPartial = T extends Builtin ? T + : T extends Long ? string | number | Long : T extends Array ? Array> + : T extends ReadonlyArray ? ReadonlyArray> + : T extends {} ? { [K in keyof T]?: DeepPartial } + : Partial; + +type KeysOfUnion = T extends T ? keyof T : never; +type Exact = P extends Builtin ? P + : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; + +if (_m0.util.Long !== Long) { + _m0.util.Long = Long as any; + _m0.configure(); +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} diff --git a/src/protojs/cosmwasm/wasm/v1/query.ts b/src/protojs/cosmwasm/wasm/v1/query.ts new file mode 100644 index 00000000..6fef8072 --- /dev/null +++ b/src/protojs/cosmwasm/wasm/v1/query.ts @@ -0,0 +1,2035 @@ +/* eslint-disable */ +import Long from "long"; +import _m0 from "protobufjs/minimal"; +import { PageRequest, PageResponse } from "../../../cosmos/base/query/v1beta1/pagination"; +import { AccessConfig, ContractCodeHistoryEntry, ContractInfo, Model, Params } from "./types"; + +/** + * QueryContractInfoRequest is the request type for the Query/ContractInfo RPC + * method + */ +export interface QueryContractInfoRequest { + /** address is the address of the contract to query */ + address: string; +} + +/** + * QueryContractInfoResponse is the response type for the Query/ContractInfo RPC + * method + */ +export interface QueryContractInfoResponse { + /** address is the address of the contract */ + address: string; + contractInfo?: ContractInfo; +} + +/** + * QueryContractHistoryRequest is the request type for the Query/ContractHistory + * RPC method + */ +export interface QueryContractHistoryRequest { + /** address is the address of the contract to query */ + address: string; + /** pagination defines an optional pagination for the request. */ + pagination?: PageRequest; +} + +/** + * QueryContractHistoryResponse is the response type for the + * Query/ContractHistory RPC method + */ +export interface QueryContractHistoryResponse { + entries: ContractCodeHistoryEntry[]; + /** pagination defines the pagination in the response. */ + pagination?: PageResponse; +} + +/** + * QueryContractsByCodeRequest is the request type for the Query/ContractsByCode + * RPC method + */ +export interface QueryContractsByCodeRequest { + /** grpc-gateway_out does not support Go style CodID */ + codeId: Long; + /** pagination defines an optional pagination for the request. */ + pagination?: PageRequest; +} + +/** + * QueryContractsByCodeResponse is the response type for the + * Query/ContractsByCode RPC method + */ +export interface QueryContractsByCodeResponse { + /** contracts are a set of contract addresses */ + contracts: string[]; + /** pagination defines the pagination in the response. */ + pagination?: PageResponse; +} + +/** + * QueryAllContractStateRequest is the request type for the + * Query/AllContractState RPC method + */ +export interface QueryAllContractStateRequest { + /** address is the address of the contract */ + address: string; + /** pagination defines an optional pagination for the request. */ + pagination?: PageRequest; +} + +/** + * QueryAllContractStateResponse is the response type for the + * Query/AllContractState RPC method + */ +export interface QueryAllContractStateResponse { + models: Model[]; + /** pagination defines the pagination in the response. */ + pagination?: PageResponse; +} + +/** + * QueryRawContractStateRequest is the request type for the + * Query/RawContractState RPC method + */ +export interface QueryRawContractStateRequest { + /** address is the address of the contract */ + address: string; + queryData: Uint8Array; +} + +/** + * QueryRawContractStateResponse is the response type for the + * Query/RawContractState RPC method + */ +export interface QueryRawContractStateResponse { + /** Data contains the raw store data */ + data: Uint8Array; +} + +/** + * QuerySmartContractStateRequest is the request type for the + * Query/SmartContractState RPC method + */ +export interface QuerySmartContractStateRequest { + /** address is the address of the contract */ + address: string; + /** QueryData contains the query data passed to the contract */ + queryData: Uint8Array; +} + +/** + * QuerySmartContractStateResponse is the response type for the + * Query/SmartContractState RPC method + */ +export interface QuerySmartContractStateResponse { + /** Data contains the json data returned from the smart contract */ + data: Uint8Array; +} + +/** QueryCodeRequest is the request type for the Query/Code RPC method */ +export interface QueryCodeRequest { + /** grpc-gateway_out does not support Go style CodID */ + codeId: Long; +} + +/** CodeInfoResponse contains code meta data from CodeInfo */ +export interface CodeInfoResponse { + /** id for legacy support */ + codeId: Long; + creator: string; + dataHash: Uint8Array; + instantiatePermission?: AccessConfig; +} + +/** QueryCodeResponse is the response type for the Query/Code RPC method */ +export interface QueryCodeResponse { + codeInfo?: CodeInfoResponse; + data: Uint8Array; +} + +/** QueryCodesRequest is the request type for the Query/Codes RPC method */ +export interface QueryCodesRequest { + /** pagination defines an optional pagination for the request. */ + pagination?: PageRequest; +} + +/** QueryCodesResponse is the response type for the Query/Codes RPC method */ +export interface QueryCodesResponse { + codeInfos: CodeInfoResponse[]; + /** pagination defines the pagination in the response. */ + pagination?: PageResponse; +} + +/** + * QueryPinnedCodesRequest is the request type for the Query/PinnedCodes + * RPC method + */ +export interface QueryPinnedCodesRequest { + /** pagination defines an optional pagination for the request. */ + pagination?: PageRequest; +} + +/** + * QueryPinnedCodesResponse is the response type for the + * Query/PinnedCodes RPC method + */ +export interface QueryPinnedCodesResponse { + codeIds: Long[]; + /** pagination defines the pagination in the response. */ + pagination?: PageResponse; +} + +/** QueryParamsRequest is the request type for the Query/Params RPC method. */ +export interface QueryParamsRequest { +} + +/** QueryParamsResponse is the response type for the Query/Params RPC method. */ +export interface QueryParamsResponse { + /** params defines the parameters of the module. */ + params?: Params; +} + +/** + * QueryContractsByCreatorRequest is the request type for the + * Query/ContractsByCreator RPC method. + */ +export interface QueryContractsByCreatorRequest { + /** CreatorAddress is the address of contract creator */ + creatorAddress: string; + /** Pagination defines an optional pagination for the request. */ + pagination?: PageRequest; +} + +/** + * QueryContractsByCreatorResponse is the response type for the + * Query/ContractsByCreator RPC method. + */ +export interface QueryContractsByCreatorResponse { + /** ContractAddresses result set */ + contractAddresses: string[]; + /** Pagination defines the pagination in the response. */ + pagination?: PageResponse; +} + +function createBaseQueryContractInfoRequest(): QueryContractInfoRequest { + return { address: "" }; +} + +export const QueryContractInfoRequest = { + encode(message: QueryContractInfoRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryContractInfoRequest { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryContractInfoRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.address = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryContractInfoRequest { + return { address: isSet(object.address) ? String(object.address) : "" }; + }, + + toJSON(message: QueryContractInfoRequest): unknown { + const obj: any = {}; + message.address !== undefined && (obj.address = message.address); + return obj; + }, + + create, I>>(base?: I): QueryContractInfoRequest { + return QueryContractInfoRequest.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): QueryContractInfoRequest { + const message = createBaseQueryContractInfoRequest(); + message.address = object.address ?? ""; + return message; + }, +}; + +function createBaseQueryContractInfoResponse(): QueryContractInfoResponse { + return { address: "", contractInfo: undefined }; +} + +export const QueryContractInfoResponse = { + encode(message: QueryContractInfoResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + if (message.contractInfo !== undefined) { + ContractInfo.encode(message.contractInfo, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryContractInfoResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryContractInfoResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.contractInfo = ContractInfo.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryContractInfoResponse { + return { + address: isSet(object.address) ? String(object.address) : "", + contractInfo: isSet(object.contractInfo) ? ContractInfo.fromJSON(object.contractInfo) : undefined, + }; + }, + + toJSON(message: QueryContractInfoResponse): unknown { + const obj: any = {}; + message.address !== undefined && (obj.address = message.address); + message.contractInfo !== undefined && + (obj.contractInfo = message.contractInfo ? ContractInfo.toJSON(message.contractInfo) : undefined); + return obj; + }, + + create, I>>(base?: I): QueryContractInfoResponse { + return QueryContractInfoResponse.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): QueryContractInfoResponse { + const message = createBaseQueryContractInfoResponse(); + message.address = object.address ?? ""; + message.contractInfo = (object.contractInfo !== undefined && object.contractInfo !== null) + ? ContractInfo.fromPartial(object.contractInfo) + : undefined; + return message; + }, +}; + +function createBaseQueryContractHistoryRequest(): QueryContractHistoryRequest { + return { address: "", pagination: undefined }; +} + +export const QueryContractHistoryRequest = { + encode(message: QueryContractHistoryRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + if (message.pagination !== undefined) { + PageRequest.encode(message.pagination, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryContractHistoryRequest { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryContractHistoryRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageRequest.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryContractHistoryRequest { + return { + address: isSet(object.address) ? String(object.address) : "", + pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryContractHistoryRequest): unknown { + const obj: any = {}; + message.address !== undefined && (obj.address = message.address); + message.pagination !== undefined && + (obj.pagination = message.pagination ? PageRequest.toJSON(message.pagination) : undefined); + return obj; + }, + + create, I>>(base?: I): QueryContractHistoryRequest { + return QueryContractHistoryRequest.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): QueryContractHistoryRequest { + const message = createBaseQueryContractHistoryRequest(); + message.address = object.address ?? ""; + message.pagination = (object.pagination !== undefined && object.pagination !== null) + ? PageRequest.fromPartial(object.pagination) + : undefined; + return message; + }, +}; + +function createBaseQueryContractHistoryResponse(): QueryContractHistoryResponse { + return { entries: [], pagination: undefined }; +} + +export const QueryContractHistoryResponse = { + encode(message: QueryContractHistoryResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + for (const v of message.entries) { + ContractCodeHistoryEntry.encode(v!, writer.uint32(10).fork()).ldelim(); + } + if (message.pagination !== undefined) { + PageResponse.encode(message.pagination, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryContractHistoryResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryContractHistoryResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.entries.push(ContractCodeHistoryEntry.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageResponse.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryContractHistoryResponse { + return { + entries: Array.isArray(object?.entries) + ? object.entries.map((e: any) => ContractCodeHistoryEntry.fromJSON(e)) + : [], + pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryContractHistoryResponse): unknown { + const obj: any = {}; + if (message.entries) { + obj.entries = message.entries.map((e) => e ? ContractCodeHistoryEntry.toJSON(e) : undefined); + } else { + obj.entries = []; + } + message.pagination !== undefined && + (obj.pagination = message.pagination ? PageResponse.toJSON(message.pagination) : undefined); + return obj; + }, + + create, I>>(base?: I): QueryContractHistoryResponse { + return QueryContractHistoryResponse.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): QueryContractHistoryResponse { + const message = createBaseQueryContractHistoryResponse(); + message.entries = object.entries?.map((e) => ContractCodeHistoryEntry.fromPartial(e)) || []; + message.pagination = (object.pagination !== undefined && object.pagination !== null) + ? PageResponse.fromPartial(object.pagination) + : undefined; + return message; + }, +}; + +function createBaseQueryContractsByCodeRequest(): QueryContractsByCodeRequest { + return { codeId: Long.UZERO, pagination: undefined }; +} + +export const QueryContractsByCodeRequest = { + encode(message: QueryContractsByCodeRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (!message.codeId.isZero()) { + writer.uint32(8).uint64(message.codeId); + } + if (message.pagination !== undefined) { + PageRequest.encode(message.pagination, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryContractsByCodeRequest { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryContractsByCodeRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.codeId = reader.uint64() as Long; + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageRequest.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryContractsByCodeRequest { + return { + codeId: isSet(object.codeId) ? Long.fromValue(object.codeId) : Long.UZERO, + pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryContractsByCodeRequest): unknown { + const obj: any = {}; + message.codeId !== undefined && (obj.codeId = (message.codeId || Long.UZERO).toString()); + message.pagination !== undefined && + (obj.pagination = message.pagination ? PageRequest.toJSON(message.pagination) : undefined); + return obj; + }, + + create, I>>(base?: I): QueryContractsByCodeRequest { + return QueryContractsByCodeRequest.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): QueryContractsByCodeRequest { + const message = createBaseQueryContractsByCodeRequest(); + message.codeId = (object.codeId !== undefined && object.codeId !== null) + ? Long.fromValue(object.codeId) + : Long.UZERO; + message.pagination = (object.pagination !== undefined && object.pagination !== null) + ? PageRequest.fromPartial(object.pagination) + : undefined; + return message; + }, +}; + +function createBaseQueryContractsByCodeResponse(): QueryContractsByCodeResponse { + return { contracts: [], pagination: undefined }; +} + +export const QueryContractsByCodeResponse = { + encode(message: QueryContractsByCodeResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + for (const v of message.contracts) { + writer.uint32(10).string(v!); + } + if (message.pagination !== undefined) { + PageResponse.encode(message.pagination, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryContractsByCodeResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryContractsByCodeResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.contracts.push(reader.string()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageResponse.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryContractsByCodeResponse { + return { + contracts: Array.isArray(object?.contracts) ? object.contracts.map((e: any) => String(e)) : [], + pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryContractsByCodeResponse): unknown { + const obj: any = {}; + if (message.contracts) { + obj.contracts = message.contracts.map((e) => e); + } else { + obj.contracts = []; + } + message.pagination !== undefined && + (obj.pagination = message.pagination ? PageResponse.toJSON(message.pagination) : undefined); + return obj; + }, + + create, I>>(base?: I): QueryContractsByCodeResponse { + return QueryContractsByCodeResponse.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): QueryContractsByCodeResponse { + const message = createBaseQueryContractsByCodeResponse(); + message.contracts = object.contracts?.map((e) => e) || []; + message.pagination = (object.pagination !== undefined && object.pagination !== null) + ? PageResponse.fromPartial(object.pagination) + : undefined; + return message; + }, +}; + +function createBaseQueryAllContractStateRequest(): QueryAllContractStateRequest { + return { address: "", pagination: undefined }; +} + +export const QueryAllContractStateRequest = { + encode(message: QueryAllContractStateRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + if (message.pagination !== undefined) { + PageRequest.encode(message.pagination, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryAllContractStateRequest { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryAllContractStateRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageRequest.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryAllContractStateRequest { + return { + address: isSet(object.address) ? String(object.address) : "", + pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryAllContractStateRequest): unknown { + const obj: any = {}; + message.address !== undefined && (obj.address = message.address); + message.pagination !== undefined && + (obj.pagination = message.pagination ? PageRequest.toJSON(message.pagination) : undefined); + return obj; + }, + + create, I>>(base?: I): QueryAllContractStateRequest { + return QueryAllContractStateRequest.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): QueryAllContractStateRequest { + const message = createBaseQueryAllContractStateRequest(); + message.address = object.address ?? ""; + message.pagination = (object.pagination !== undefined && object.pagination !== null) + ? PageRequest.fromPartial(object.pagination) + : undefined; + return message; + }, +}; + +function createBaseQueryAllContractStateResponse(): QueryAllContractStateResponse { + return { models: [], pagination: undefined }; +} + +export const QueryAllContractStateResponse = { + encode(message: QueryAllContractStateResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + for (const v of message.models) { + Model.encode(v!, writer.uint32(10).fork()).ldelim(); + } + if (message.pagination !== undefined) { + PageResponse.encode(message.pagination, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryAllContractStateResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryAllContractStateResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.models.push(Model.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageResponse.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryAllContractStateResponse { + return { + models: Array.isArray(object?.models) ? object.models.map((e: any) => Model.fromJSON(e)) : [], + pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryAllContractStateResponse): unknown { + const obj: any = {}; + if (message.models) { + obj.models = message.models.map((e) => e ? Model.toJSON(e) : undefined); + } else { + obj.models = []; + } + message.pagination !== undefined && + (obj.pagination = message.pagination ? PageResponse.toJSON(message.pagination) : undefined); + return obj; + }, + + create, I>>(base?: I): QueryAllContractStateResponse { + return QueryAllContractStateResponse.fromPartial(base ?? {}); + }, + + fromPartial, I>>( + object: I, + ): QueryAllContractStateResponse { + const message = createBaseQueryAllContractStateResponse(); + message.models = object.models?.map((e) => Model.fromPartial(e)) || []; + message.pagination = (object.pagination !== undefined && object.pagination !== null) + ? PageResponse.fromPartial(object.pagination) + : undefined; + return message; + }, +}; + +function createBaseQueryRawContractStateRequest(): QueryRawContractStateRequest { + return { address: "", queryData: new Uint8Array(0) }; +} + +export const QueryRawContractStateRequest = { + encode(message: QueryRawContractStateRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + if (message.queryData.length !== 0) { + writer.uint32(18).bytes(message.queryData); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryRawContractStateRequest { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryRawContractStateRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.queryData = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryRawContractStateRequest { + return { + address: isSet(object.address) ? String(object.address) : "", + queryData: isSet(object.queryData) ? bytesFromBase64(object.queryData) : new Uint8Array(0), + }; + }, + + toJSON(message: QueryRawContractStateRequest): unknown { + const obj: any = {}; + message.address !== undefined && (obj.address = message.address); + message.queryData !== undefined && + (obj.queryData = base64FromBytes(message.queryData !== undefined ? message.queryData : new Uint8Array(0))); + return obj; + }, + + create, I>>(base?: I): QueryRawContractStateRequest { + return QueryRawContractStateRequest.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): QueryRawContractStateRequest { + const message = createBaseQueryRawContractStateRequest(); + message.address = object.address ?? ""; + message.queryData = object.queryData ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseQueryRawContractStateResponse(): QueryRawContractStateResponse { + return { data: new Uint8Array(0) }; +} + +export const QueryRawContractStateResponse = { + encode(message: QueryRawContractStateResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.data.length !== 0) { + writer.uint32(10).bytes(message.data); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryRawContractStateResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryRawContractStateResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.data = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryRawContractStateResponse { + return { data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0) }; + }, + + toJSON(message: QueryRawContractStateResponse): unknown { + const obj: any = {}; + message.data !== undefined && + (obj.data = base64FromBytes(message.data !== undefined ? message.data : new Uint8Array(0))); + return obj; + }, + + create, I>>(base?: I): QueryRawContractStateResponse { + return QueryRawContractStateResponse.fromPartial(base ?? {}); + }, + + fromPartial, I>>( + object: I, + ): QueryRawContractStateResponse { + const message = createBaseQueryRawContractStateResponse(); + message.data = object.data ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseQuerySmartContractStateRequest(): QuerySmartContractStateRequest { + return { address: "", queryData: new Uint8Array(0) }; +} + +export const QuerySmartContractStateRequest = { + encode(message: QuerySmartContractStateRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + if (message.queryData.length !== 0) { + writer.uint32(18).bytes(message.queryData); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QuerySmartContractStateRequest { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQuerySmartContractStateRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.queryData = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QuerySmartContractStateRequest { + return { + address: isSet(object.address) ? String(object.address) : "", + queryData: isSet(object.queryData) ? bytesFromBase64(object.queryData) : new Uint8Array(0), + }; + }, + + toJSON(message: QuerySmartContractStateRequest): unknown { + const obj: any = {}; + message.address !== undefined && (obj.address = message.address); + message.queryData !== undefined && + (obj.queryData = base64FromBytes(message.queryData !== undefined ? message.queryData : new Uint8Array(0))); + return obj; + }, + + create, I>>(base?: I): QuerySmartContractStateRequest { + return QuerySmartContractStateRequest.fromPartial(base ?? {}); + }, + + fromPartial, I>>( + object: I, + ): QuerySmartContractStateRequest { + const message = createBaseQuerySmartContractStateRequest(); + message.address = object.address ?? ""; + message.queryData = object.queryData ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseQuerySmartContractStateResponse(): QuerySmartContractStateResponse { + return { data: new Uint8Array(0) }; +} + +export const QuerySmartContractStateResponse = { + encode(message: QuerySmartContractStateResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.data.length !== 0) { + writer.uint32(10).bytes(message.data); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QuerySmartContractStateResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQuerySmartContractStateResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.data = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QuerySmartContractStateResponse { + return { data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0) }; + }, + + toJSON(message: QuerySmartContractStateResponse): unknown { + const obj: any = {}; + message.data !== undefined && + (obj.data = base64FromBytes(message.data !== undefined ? message.data : new Uint8Array(0))); + return obj; + }, + + create, I>>(base?: I): QuerySmartContractStateResponse { + return QuerySmartContractStateResponse.fromPartial(base ?? {}); + }, + + fromPartial, I>>( + object: I, + ): QuerySmartContractStateResponse { + const message = createBaseQuerySmartContractStateResponse(); + message.data = object.data ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseQueryCodeRequest(): QueryCodeRequest { + return { codeId: Long.UZERO }; +} + +export const QueryCodeRequest = { + encode(message: QueryCodeRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (!message.codeId.isZero()) { + writer.uint32(8).uint64(message.codeId); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryCodeRequest { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryCodeRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.codeId = reader.uint64() as Long; + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryCodeRequest { + return { codeId: isSet(object.codeId) ? Long.fromValue(object.codeId) : Long.UZERO }; + }, + + toJSON(message: QueryCodeRequest): unknown { + const obj: any = {}; + message.codeId !== undefined && (obj.codeId = (message.codeId || Long.UZERO).toString()); + return obj; + }, + + create, I>>(base?: I): QueryCodeRequest { + return QueryCodeRequest.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): QueryCodeRequest { + const message = createBaseQueryCodeRequest(); + message.codeId = (object.codeId !== undefined && object.codeId !== null) + ? Long.fromValue(object.codeId) + : Long.UZERO; + return message; + }, +}; + +function createBaseCodeInfoResponse(): CodeInfoResponse { + return { codeId: Long.UZERO, creator: "", dataHash: new Uint8Array(0), instantiatePermission: undefined }; +} + +export const CodeInfoResponse = { + encode(message: CodeInfoResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (!message.codeId.isZero()) { + writer.uint32(8).uint64(message.codeId); + } + if (message.creator !== "") { + writer.uint32(18).string(message.creator); + } + if (message.dataHash.length !== 0) { + writer.uint32(26).bytes(message.dataHash); + } + if (message.instantiatePermission !== undefined) { + AccessConfig.encode(message.instantiatePermission, writer.uint32(50).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): CodeInfoResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCodeInfoResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.codeId = reader.uint64() as Long; + continue; + case 2: + if (tag !== 18) { + break; + } + + message.creator = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.dataHash = reader.bytes(); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.instantiatePermission = AccessConfig.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): CodeInfoResponse { + return { + codeId: isSet(object.codeId) ? Long.fromValue(object.codeId) : Long.UZERO, + creator: isSet(object.creator) ? String(object.creator) : "", + dataHash: isSet(object.dataHash) ? bytesFromBase64(object.dataHash) : new Uint8Array(0), + instantiatePermission: isSet(object.instantiatePermission) + ? AccessConfig.fromJSON(object.instantiatePermission) + : undefined, + }; + }, + + toJSON(message: CodeInfoResponse): unknown { + const obj: any = {}; + message.codeId !== undefined && (obj.codeId = (message.codeId || Long.UZERO).toString()); + message.creator !== undefined && (obj.creator = message.creator); + message.dataHash !== undefined && + (obj.dataHash = base64FromBytes(message.dataHash !== undefined ? message.dataHash : new Uint8Array(0))); + message.instantiatePermission !== undefined && (obj.instantiatePermission = message.instantiatePermission + ? AccessConfig.toJSON(message.instantiatePermission) + : undefined); + return obj; + }, + + create, I>>(base?: I): CodeInfoResponse { + return CodeInfoResponse.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): CodeInfoResponse { + const message = createBaseCodeInfoResponse(); + message.codeId = (object.codeId !== undefined && object.codeId !== null) + ? Long.fromValue(object.codeId) + : Long.UZERO; + message.creator = object.creator ?? ""; + message.dataHash = object.dataHash ?? new Uint8Array(0); + message.instantiatePermission = + (object.instantiatePermission !== undefined && object.instantiatePermission !== null) + ? AccessConfig.fromPartial(object.instantiatePermission) + : undefined; + return message; + }, +}; + +function createBaseQueryCodeResponse(): QueryCodeResponse { + return { codeInfo: undefined, data: new Uint8Array(0) }; +} + +export const QueryCodeResponse = { + encode(message: QueryCodeResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.codeInfo !== undefined) { + CodeInfoResponse.encode(message.codeInfo, writer.uint32(10).fork()).ldelim(); + } + if (message.data.length !== 0) { + writer.uint32(18).bytes(message.data); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryCodeResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryCodeResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.codeInfo = CodeInfoResponse.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.data = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryCodeResponse { + return { + codeInfo: isSet(object.codeInfo) ? CodeInfoResponse.fromJSON(object.codeInfo) : undefined, + data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0), + }; + }, + + toJSON(message: QueryCodeResponse): unknown { + const obj: any = {}; + message.codeInfo !== undefined && + (obj.codeInfo = message.codeInfo ? CodeInfoResponse.toJSON(message.codeInfo) : undefined); + message.data !== undefined && + (obj.data = base64FromBytes(message.data !== undefined ? message.data : new Uint8Array(0))); + return obj; + }, + + create, I>>(base?: I): QueryCodeResponse { + return QueryCodeResponse.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): QueryCodeResponse { + const message = createBaseQueryCodeResponse(); + message.codeInfo = (object.codeInfo !== undefined && object.codeInfo !== null) + ? CodeInfoResponse.fromPartial(object.codeInfo) + : undefined; + message.data = object.data ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseQueryCodesRequest(): QueryCodesRequest { + return { pagination: undefined }; +} + +export const QueryCodesRequest = { + encode(message: QueryCodesRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.pagination !== undefined) { + PageRequest.encode(message.pagination, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryCodesRequest { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryCodesRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.pagination = PageRequest.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryCodesRequest { + return { pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined }; + }, + + toJSON(message: QueryCodesRequest): unknown { + const obj: any = {}; + message.pagination !== undefined && + (obj.pagination = message.pagination ? PageRequest.toJSON(message.pagination) : undefined); + return obj; + }, + + create, I>>(base?: I): QueryCodesRequest { + return QueryCodesRequest.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): QueryCodesRequest { + const message = createBaseQueryCodesRequest(); + message.pagination = (object.pagination !== undefined && object.pagination !== null) + ? PageRequest.fromPartial(object.pagination) + : undefined; + return message; + }, +}; + +function createBaseQueryCodesResponse(): QueryCodesResponse { + return { codeInfos: [], pagination: undefined }; +} + +export const QueryCodesResponse = { + encode(message: QueryCodesResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + for (const v of message.codeInfos) { + CodeInfoResponse.encode(v!, writer.uint32(10).fork()).ldelim(); + } + if (message.pagination !== undefined) { + PageResponse.encode(message.pagination, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryCodesResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryCodesResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.codeInfos.push(CodeInfoResponse.decode(reader, reader.uint32())); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageResponse.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryCodesResponse { + return { + codeInfos: Array.isArray(object?.codeInfos) ? object.codeInfos.map((e: any) => CodeInfoResponse.fromJSON(e)) : [], + pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryCodesResponse): unknown { + const obj: any = {}; + if (message.codeInfos) { + obj.codeInfos = message.codeInfos.map((e) => e ? CodeInfoResponse.toJSON(e) : undefined); + } else { + obj.codeInfos = []; + } + message.pagination !== undefined && + (obj.pagination = message.pagination ? PageResponse.toJSON(message.pagination) : undefined); + return obj; + }, + + create, I>>(base?: I): QueryCodesResponse { + return QueryCodesResponse.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): QueryCodesResponse { + const message = createBaseQueryCodesResponse(); + message.codeInfos = object.codeInfos?.map((e) => CodeInfoResponse.fromPartial(e)) || []; + message.pagination = (object.pagination !== undefined && object.pagination !== null) + ? PageResponse.fromPartial(object.pagination) + : undefined; + return message; + }, +}; + +function createBaseQueryPinnedCodesRequest(): QueryPinnedCodesRequest { + return { pagination: undefined }; +} + +export const QueryPinnedCodesRequest = { + encode(message: QueryPinnedCodesRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.pagination !== undefined) { + PageRequest.encode(message.pagination, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryPinnedCodesRequest { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryPinnedCodesRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageRequest.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryPinnedCodesRequest { + return { pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined }; + }, + + toJSON(message: QueryPinnedCodesRequest): unknown { + const obj: any = {}; + message.pagination !== undefined && + (obj.pagination = message.pagination ? PageRequest.toJSON(message.pagination) : undefined); + return obj; + }, + + create, I>>(base?: I): QueryPinnedCodesRequest { + return QueryPinnedCodesRequest.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): QueryPinnedCodesRequest { + const message = createBaseQueryPinnedCodesRequest(); + message.pagination = (object.pagination !== undefined && object.pagination !== null) + ? PageRequest.fromPartial(object.pagination) + : undefined; + return message; + }, +}; + +function createBaseQueryPinnedCodesResponse(): QueryPinnedCodesResponse { + return { codeIds: [], pagination: undefined }; +} + +export const QueryPinnedCodesResponse = { + encode(message: QueryPinnedCodesResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + writer.uint32(10).fork(); + for (const v of message.codeIds) { + writer.uint64(v); + } + writer.ldelim(); + if (message.pagination !== undefined) { + PageResponse.encode(message.pagination, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryPinnedCodesResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryPinnedCodesResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag === 8) { + message.codeIds.push(reader.uint64() as Long); + + continue; + } + + if (tag === 10) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.codeIds.push(reader.uint64() as Long); + } + + continue; + } + + break; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageResponse.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryPinnedCodesResponse { + return { + codeIds: Array.isArray(object?.codeIds) ? object.codeIds.map((e: any) => Long.fromValue(e)) : [], + pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryPinnedCodesResponse): unknown { + const obj: any = {}; + if (message.codeIds) { + obj.codeIds = message.codeIds.map((e) => (e || Long.UZERO).toString()); + } else { + obj.codeIds = []; + } + message.pagination !== undefined && + (obj.pagination = message.pagination ? PageResponse.toJSON(message.pagination) : undefined); + return obj; + }, + + create, I>>(base?: I): QueryPinnedCodesResponse { + return QueryPinnedCodesResponse.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): QueryPinnedCodesResponse { + const message = createBaseQueryPinnedCodesResponse(); + message.codeIds = object.codeIds?.map((e) => Long.fromValue(e)) || []; + message.pagination = (object.pagination !== undefined && object.pagination !== null) + ? PageResponse.fromPartial(object.pagination) + : undefined; + return message; + }, +}; + +function createBaseQueryParamsRequest(): QueryParamsRequest { + return {}; +} + +export const QueryParamsRequest = { + encode(_: QueryParamsRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryParamsRequest { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryParamsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): QueryParamsRequest { + return {}; + }, + + toJSON(_: QueryParamsRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): QueryParamsRequest { + return QueryParamsRequest.fromPartial(base ?? {}); + }, + + fromPartial, I>>(_: I): QueryParamsRequest { + const message = createBaseQueryParamsRequest(); + return message; + }, +}; + +function createBaseQueryParamsResponse(): QueryParamsResponse { + return { params: undefined }; +} + +export const QueryParamsResponse = { + encode(message: QueryParamsResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.params !== undefined) { + Params.encode(message.params, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryParamsResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryParamsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.params = Params.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryParamsResponse { + return { params: isSet(object.params) ? Params.fromJSON(object.params) : undefined }; + }, + + toJSON(message: QueryParamsResponse): unknown { + const obj: any = {}; + message.params !== undefined && (obj.params = message.params ? Params.toJSON(message.params) : undefined); + return obj; + }, + + create, I>>(base?: I): QueryParamsResponse { + return QueryParamsResponse.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): QueryParamsResponse { + const message = createBaseQueryParamsResponse(); + message.params = (object.params !== undefined && object.params !== null) + ? Params.fromPartial(object.params) + : undefined; + return message; + }, +}; + +function createBaseQueryContractsByCreatorRequest(): QueryContractsByCreatorRequest { + return { creatorAddress: "", pagination: undefined }; +} + +export const QueryContractsByCreatorRequest = { + encode(message: QueryContractsByCreatorRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.creatorAddress !== "") { + writer.uint32(10).string(message.creatorAddress); + } + if (message.pagination !== undefined) { + PageRequest.encode(message.pagination, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryContractsByCreatorRequest { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryContractsByCreatorRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.creatorAddress = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageRequest.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryContractsByCreatorRequest { + return { + creatorAddress: isSet(object.creatorAddress) ? String(object.creatorAddress) : "", + pagination: isSet(object.pagination) ? PageRequest.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryContractsByCreatorRequest): unknown { + const obj: any = {}; + message.creatorAddress !== undefined && (obj.creatorAddress = message.creatorAddress); + message.pagination !== undefined && + (obj.pagination = message.pagination ? PageRequest.toJSON(message.pagination) : undefined); + return obj; + }, + + create, I>>(base?: I): QueryContractsByCreatorRequest { + return QueryContractsByCreatorRequest.fromPartial(base ?? {}); + }, + + fromPartial, I>>( + object: I, + ): QueryContractsByCreatorRequest { + const message = createBaseQueryContractsByCreatorRequest(); + message.creatorAddress = object.creatorAddress ?? ""; + message.pagination = (object.pagination !== undefined && object.pagination !== null) + ? PageRequest.fromPartial(object.pagination) + : undefined; + return message; + }, +}; + +function createBaseQueryContractsByCreatorResponse(): QueryContractsByCreatorResponse { + return { contractAddresses: [], pagination: undefined }; +} + +export const QueryContractsByCreatorResponse = { + encode(message: QueryContractsByCreatorResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + for (const v of message.contractAddresses) { + writer.uint32(10).string(v!); + } + if (message.pagination !== undefined) { + PageResponse.encode(message.pagination, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryContractsByCreatorResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryContractsByCreatorResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.contractAddresses.push(reader.string()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.pagination = PageResponse.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryContractsByCreatorResponse { + return { + contractAddresses: Array.isArray(object?.contractAddresses) + ? object.contractAddresses.map((e: any) => String(e)) + : [], + pagination: isSet(object.pagination) ? PageResponse.fromJSON(object.pagination) : undefined, + }; + }, + + toJSON(message: QueryContractsByCreatorResponse): unknown { + const obj: any = {}; + if (message.contractAddresses) { + obj.contractAddresses = message.contractAddresses.map((e) => e); + } else { + obj.contractAddresses = []; + } + message.pagination !== undefined && + (obj.pagination = message.pagination ? PageResponse.toJSON(message.pagination) : undefined); + return obj; + }, + + create, I>>(base?: I): QueryContractsByCreatorResponse { + return QueryContractsByCreatorResponse.fromPartial(base ?? {}); + }, + + fromPartial, I>>( + object: I, + ): QueryContractsByCreatorResponse { + const message = createBaseQueryContractsByCreatorResponse(); + message.contractAddresses = object.contractAddresses?.map((e) => e) || []; + message.pagination = (object.pagination !== undefined && object.pagination !== null) + ? PageResponse.fromPartial(object.pagination) + : undefined; + return message; + }, +}; + +/** Query provides defines the gRPC querier service */ +export interface Query { + /** ContractInfo gets the contract meta data */ + ContractInfo(request: QueryContractInfoRequest): Promise; + /** ContractHistory gets the contract code history */ + ContractHistory(request: QueryContractHistoryRequest): Promise; + /** ContractsByCode lists all smart contracts for a code id */ + ContractsByCode(request: QueryContractsByCodeRequest): Promise; + /** AllContractState gets all raw store data for a single contract */ + AllContractState(request: QueryAllContractStateRequest): Promise; + /** RawContractState gets single key from the raw store data of a contract */ + RawContractState(request: QueryRawContractStateRequest): Promise; + /** SmartContractState get smart query result from the contract */ + SmartContractState(request: QuerySmartContractStateRequest): Promise; + /** Code gets the binary code and metadata for a singe wasm code */ + Code(request: QueryCodeRequest): Promise; + /** Codes gets the metadata for all stored wasm codes */ + Codes(request: QueryCodesRequest): Promise; + /** PinnedCodes gets the pinned code ids */ + PinnedCodes(request: QueryPinnedCodesRequest): Promise; + /** Params gets the module params */ + Params(request: QueryParamsRequest): Promise; + /** ContractsByCreator gets the contracts by creator */ + ContractsByCreator(request: QueryContractsByCreatorRequest): Promise; +} + +export const QueryServiceName = "cosmwasm.wasm.v1.Query"; +export class QueryClientImpl implements Query { + private readonly rpc: Rpc; + private readonly service: string; + constructor(rpc: Rpc, opts?: { service?: string }) { + this.service = opts?.service || QueryServiceName; + this.rpc = rpc; + this.ContractInfo = this.ContractInfo.bind(this); + this.ContractHistory = this.ContractHistory.bind(this); + this.ContractsByCode = this.ContractsByCode.bind(this); + this.AllContractState = this.AllContractState.bind(this); + this.RawContractState = this.RawContractState.bind(this); + this.SmartContractState = this.SmartContractState.bind(this); + this.Code = this.Code.bind(this); + this.Codes = this.Codes.bind(this); + this.PinnedCodes = this.PinnedCodes.bind(this); + this.Params = this.Params.bind(this); + this.ContractsByCreator = this.ContractsByCreator.bind(this); + } + ContractInfo(request: QueryContractInfoRequest): Promise { + const data = QueryContractInfoRequest.encode(request).finish(); + const promise = this.rpc.request(this.service, "ContractInfo", data); + return promise.then((data) => QueryContractInfoResponse.decode(_m0.Reader.create(data))); + } + + ContractHistory(request: QueryContractHistoryRequest): Promise { + const data = QueryContractHistoryRequest.encode(request).finish(); + const promise = this.rpc.request(this.service, "ContractHistory", data); + return promise.then((data) => QueryContractHistoryResponse.decode(_m0.Reader.create(data))); + } + + ContractsByCode(request: QueryContractsByCodeRequest): Promise { + const data = QueryContractsByCodeRequest.encode(request).finish(); + const promise = this.rpc.request(this.service, "ContractsByCode", data); + return promise.then((data) => QueryContractsByCodeResponse.decode(_m0.Reader.create(data))); + } + + AllContractState(request: QueryAllContractStateRequest): Promise { + const data = QueryAllContractStateRequest.encode(request).finish(); + const promise = this.rpc.request(this.service, "AllContractState", data); + return promise.then((data) => QueryAllContractStateResponse.decode(_m0.Reader.create(data))); + } + + RawContractState(request: QueryRawContractStateRequest): Promise { + const data = QueryRawContractStateRequest.encode(request).finish(); + const promise = this.rpc.request(this.service, "RawContractState", data); + return promise.then((data) => QueryRawContractStateResponse.decode(_m0.Reader.create(data))); + } + + SmartContractState(request: QuerySmartContractStateRequest): Promise { + const data = QuerySmartContractStateRequest.encode(request).finish(); + const promise = this.rpc.request(this.service, "SmartContractState", data); + return promise.then((data) => QuerySmartContractStateResponse.decode(_m0.Reader.create(data))); + } + + Code(request: QueryCodeRequest): Promise { + const data = QueryCodeRequest.encode(request).finish(); + const promise = this.rpc.request(this.service, "Code", data); + return promise.then((data) => QueryCodeResponse.decode(_m0.Reader.create(data))); + } + + Codes(request: QueryCodesRequest): Promise { + const data = QueryCodesRequest.encode(request).finish(); + const promise = this.rpc.request(this.service, "Codes", data); + return promise.then((data) => QueryCodesResponse.decode(_m0.Reader.create(data))); + } + + PinnedCodes(request: QueryPinnedCodesRequest): Promise { + const data = QueryPinnedCodesRequest.encode(request).finish(); + const promise = this.rpc.request(this.service, "PinnedCodes", data); + return promise.then((data) => QueryPinnedCodesResponse.decode(_m0.Reader.create(data))); + } + + Params(request: QueryParamsRequest): Promise { + const data = QueryParamsRequest.encode(request).finish(); + const promise = this.rpc.request(this.service, "Params", data); + return promise.then((data) => QueryParamsResponse.decode(_m0.Reader.create(data))); + } + + ContractsByCreator(request: QueryContractsByCreatorRequest): Promise { + const data = QueryContractsByCreatorRequest.encode(request).finish(); + const promise = this.rpc.request(this.service, "ContractsByCreator", data); + return promise.then((data) => QueryContractsByCreatorResponse.decode(_m0.Reader.create(data))); + } +} + +interface Rpc { + request(service: string, method: string, data: Uint8Array): Promise; +} + +declare var self: any | undefined; +declare var window: any | undefined; +declare var global: any | undefined; +var tsProtoGlobalThis: any = (() => { + if (typeof globalThis !== "undefined") { + return globalThis; + } + if (typeof self !== "undefined") { + return self; + } + if (typeof window !== "undefined") { + return window; + } + if (typeof global !== "undefined") { + return global; + } + throw "Unable to locate global object"; +})(); + +function bytesFromBase64(b64: string): Uint8Array { + if (tsProtoGlobalThis.Buffer) { + return Uint8Array.from(tsProtoGlobalThis.Buffer.from(b64, "base64")); + } else { + const bin = tsProtoGlobalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if (tsProtoGlobalThis.Buffer) { + return tsProtoGlobalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(String.fromCharCode(byte)); + }); + return tsProtoGlobalThis.btoa(bin.join("")); + } +} + +type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; + +type DeepPartial = T extends Builtin ? T + : T extends Long ? string | number | Long : T extends Array ? Array> + : T extends ReadonlyArray ? ReadonlyArray> + : T extends {} ? { [K in keyof T]?: DeepPartial } + : Partial; + +type KeysOfUnion = T extends T ? keyof T : never; +type Exact = P extends Builtin ? P + : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; + +if (_m0.util.Long !== Long) { + _m0.util.Long = Long as any; + _m0.configure(); +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} diff --git a/src/protojs/cosmwasm/wasm/v1/tx.ts b/src/protojs/cosmwasm/wasm/v1/tx.ts new file mode 100644 index 00000000..fc3ca77b --- /dev/null +++ b/src/protojs/cosmwasm/wasm/v1/tx.ts @@ -0,0 +1,3506 @@ +/* eslint-disable */ +import Long from "long"; +import _m0 from "protobufjs/minimal"; +import { Coin } from "../../../cosmos/base/v1beta1/coin"; +import { AccessConfig, Params } from "./types"; + +/** MsgStoreCode submit Wasm code to the system */ +export interface MsgStoreCode { + /** Sender is the actor that signed the messages */ + sender: string; + /** WASMByteCode can be raw or gzip compressed */ + wasmByteCode: Uint8Array; + /** + * InstantiatePermission access control to apply on contract creation, + * optional + */ + instantiatePermission?: AccessConfig; +} + +/** MsgStoreCodeResponse returns store result data. */ +export interface MsgStoreCodeResponse { + /** CodeID is the reference to the stored WASM code */ + codeId: Long; + /** Checksum is the sha256 hash of the stored code */ + checksum: Uint8Array; +} + +/** + * MsgInstantiateContract create a new smart contract instance for the given + * code id. + */ +export interface MsgInstantiateContract { + /** Sender is the that actor that signed the messages */ + sender: string; + /** Admin is an optional address that can execute migrations */ + admin: string; + /** CodeID is the reference to the stored WASM code */ + codeId: Long; + /** Label is optional metadata to be stored with a contract instance. */ + label: string; + /** Msg json encoded message to be passed to the contract on instantiation */ + msg: Uint8Array; + /** Funds coins that are transferred to the contract on instantiation */ + funds: Coin[]; +} + +/** MsgInstantiateContractResponse return instantiation result data */ +export interface MsgInstantiateContractResponse { + /** Address is the bech32 address of the new contract instance. */ + address: string; + /** Data contains bytes to returned from the contract */ + data: Uint8Array; +} + +/** + * MsgInstantiateContract2 create a new smart contract instance for the given + * code id with a predicable address. + */ +export interface MsgInstantiateContract2 { + /** Sender is the that actor that signed the messages */ + sender: string; + /** Admin is an optional address that can execute migrations */ + admin: string; + /** CodeID is the reference to the stored WASM code */ + codeId: Long; + /** Label is optional metadata to be stored with a contract instance. */ + label: string; + /** Msg json encoded message to be passed to the contract on instantiation */ + msg: Uint8Array; + /** Funds coins that are transferred to the contract on instantiation */ + funds: Coin[]; + /** Salt is an arbitrary value provided by the sender. Size can be 1 to 64. */ + salt: Uint8Array; + /** + * FixMsg include the msg value into the hash for the predictable address. + * Default is false + */ + fixMsg: boolean; +} + +/** MsgInstantiateContract2Response return instantiation result data */ +export interface MsgInstantiateContract2Response { + /** Address is the bech32 address of the new contract instance. */ + address: string; + /** Data contains bytes to returned from the contract */ + data: Uint8Array; +} + +/** MsgExecuteContract submits the given message data to a smart contract */ +export interface MsgExecuteContract { + /** Sender is the that actor that signed the messages */ + sender: string; + /** Contract is the address of the smart contract */ + contract: string; + /** Msg json encoded message to be passed to the contract */ + msg: Uint8Array; + /** Funds coins that are transferred to the contract on execution */ + funds: Coin[]; +} + +/** MsgExecuteContractResponse returns execution result data. */ +export interface MsgExecuteContractResponse { + /** Data contains bytes to returned from the contract */ + data: Uint8Array; +} + +/** MsgMigrateContract runs a code upgrade/ downgrade for a smart contract */ +export interface MsgMigrateContract { + /** Sender is the that actor that signed the messages */ + sender: string; + /** Contract is the address of the smart contract */ + contract: string; + /** CodeID references the new WASM code */ + codeId: Long; + /** Msg json encoded message to be passed to the contract on migration */ + msg: Uint8Array; +} + +/** MsgMigrateContractResponse returns contract migration result data. */ +export interface MsgMigrateContractResponse { + /** + * Data contains same raw bytes returned as data from the wasm contract. + * (May be empty) + */ + data: Uint8Array; +} + +/** MsgUpdateAdmin sets a new admin for a smart contract */ +export interface MsgUpdateAdmin { + /** Sender is the that actor that signed the messages */ + sender: string; + /** NewAdmin address to be set */ + newAdmin: string; + /** Contract is the address of the smart contract */ + contract: string; +} + +/** MsgUpdateAdminResponse returns empty data */ +export interface MsgUpdateAdminResponse { +} + +/** MsgClearAdmin removes any admin stored for a smart contract */ +export interface MsgClearAdmin { + /** Sender is the actor that signed the messages */ + sender: string; + /** Contract is the address of the smart contract */ + contract: string; +} + +/** MsgClearAdminResponse returns empty data */ +export interface MsgClearAdminResponse { +} + +/** + * AccessConfigUpdate contains the code id and the access config to be + * applied. + */ +export interface AccessConfigUpdate { + /** CodeID is the reference to the stored WASM code to be updated */ + codeId: Long; + /** InstantiatePermission to apply to the set of code ids */ + instantiatePermission?: AccessConfig; +} + +/** MsgUpdateInstantiateConfig updates instantiate config for a smart contract */ +export interface MsgUpdateInstantiateConfig { + /** Sender is the that actor that signed the messages */ + sender: string; + /** CodeID references the stored WASM code */ + codeId: Long; + /** NewInstantiatePermission is the new access control */ + newInstantiatePermission?: AccessConfig; +} + +/** MsgUpdateInstantiateConfigResponse returns empty data */ +export interface MsgUpdateInstantiateConfigResponse { +} + +/** + * MsgUpdateParams is the MsgUpdateParams request type. + * + * Since: 0.40 + */ +export interface MsgUpdateParams { + /** Authority is the address of the governance account. */ + authority: string; + /** + * params defines the x/wasm parameters to update. + * + * NOTE: All parameters must be supplied. + */ + params?: Params; +} + +/** + * MsgUpdateParamsResponse defines the response structure for executing a + * MsgUpdateParams message. + * + * Since: 0.40 + */ +export interface MsgUpdateParamsResponse { +} + +/** + * MsgSudoContract is the MsgSudoContract request type. + * + * Since: 0.40 + */ +export interface MsgSudoContract { + /** Authority is the address of the governance account. */ + authority: string; + /** Contract is the address of the smart contract */ + contract: string; + /** Msg json encoded message to be passed to the contract as sudo */ + msg: Uint8Array; +} + +/** + * MsgSudoContractResponse defines the response structure for executing a + * MsgSudoContract message. + * + * Since: 0.40 + */ +export interface MsgSudoContractResponse { + /** Data contains bytes to returned from the contract */ + data: Uint8Array; +} + +/** + * MsgPinCodes is the MsgPinCodes request type. + * + * Since: 0.40 + */ +export interface MsgPinCodes { + /** Authority is the address of the governance account. */ + authority: string; + /** CodeIDs references the new WASM codes */ + codeIds: Long[]; +} + +/** + * MsgPinCodesResponse defines the response structure for executing a + * MsgPinCodes message. + * + * Since: 0.40 + */ +export interface MsgPinCodesResponse { +} + +/** + * MsgUnpinCodes is the MsgUnpinCodes request type. + * + * Since: 0.40 + */ +export interface MsgUnpinCodes { + /** Authority is the address of the governance account. */ + authority: string; + /** CodeIDs references the WASM codes */ + codeIds: Long[]; +} + +/** + * MsgUnpinCodesResponse defines the response structure for executing a + * MsgUnpinCodes message. + * + * Since: 0.40 + */ +export interface MsgUnpinCodesResponse { +} + +/** + * MsgStoreAndInstantiateContract is the MsgStoreAndInstantiateContract + * request type. + * + * Since: 0.40 + */ +export interface MsgStoreAndInstantiateContract { + /** Authority is the address of the governance account. */ + authority: string; + /** WASMByteCode can be raw or gzip compressed */ + wasmByteCode: Uint8Array; + /** InstantiatePermission to apply on contract creation, optional */ + instantiatePermission?: AccessConfig; + /** + * UnpinCode code on upload, optional. As default the uploaded contract is + * pinned to cache. + */ + unpinCode: boolean; + /** Admin is an optional address that can execute migrations */ + admin: string; + /** Label is optional metadata to be stored with a constract instance. */ + label: string; + /** Msg json encoded message to be passed to the contract on instantiation */ + msg: Uint8Array; + /** + * Funds coins that are transferred from the authority account to the contract + * on instantiation + */ + funds: Coin[]; + /** Source is the URL where the code is hosted */ + source: string; + /** + * Builder is the docker image used to build the code deterministically, used + * for smart contract verification + */ + builder: string; + /** + * CodeHash is the SHA256 sum of the code outputted by builder, used for smart + * contract verification + */ + codeHash: Uint8Array; +} + +/** + * MsgStoreAndInstantiateContractResponse defines the response structure + * for executing a MsgStoreAndInstantiateContract message. + * + * Since: 0.40 + */ +export interface MsgStoreAndInstantiateContractResponse { + /** Address is the bech32 address of the new contract instance. */ + address: string; + /** Data contains bytes to returned from the contract */ + data: Uint8Array; +} + +/** + * MsgAddCodeUploadParamsAddresses is the + * MsgAddCodeUploadParamsAddresses request type. + */ +export interface MsgAddCodeUploadParamsAddresses { + /** Authority is the address of the governance account. */ + authority: string; + addresses: string[]; +} + +/** + * MsgAddCodeUploadParamsAddressesResponse defines the response + * structure for executing a MsgAddCodeUploadParamsAddresses message. + */ +export interface MsgAddCodeUploadParamsAddressesResponse { +} + +/** + * MsgRemoveCodeUploadParamsAddresses is the + * MsgRemoveCodeUploadParamsAddresses request type. + */ +export interface MsgRemoveCodeUploadParamsAddresses { + /** Authority is the address of the governance account. */ + authority: string; + addresses: string[]; +} + +/** + * MsgRemoveCodeUploadParamsAddressesResponse defines the response + * structure for executing a MsgRemoveCodeUploadParamsAddresses message. + */ +export interface MsgRemoveCodeUploadParamsAddressesResponse { +} + +/** + * MsgStoreAndMigrateContract is the MsgStoreAndMigrateContract + * request type. + * + * Since: 0.42 + */ +export interface MsgStoreAndMigrateContract { + /** Authority is the address of the governance account. */ + authority: string; + /** WASMByteCode can be raw or gzip compressed */ + wasmByteCode: Uint8Array; + /** InstantiatePermission to apply on contract creation, optional */ + instantiatePermission?: AccessConfig; + /** Contract is the address of the smart contract */ + contract: string; + /** Msg json encoded message to be passed to the contract on migration */ + msg: Uint8Array; +} + +/** + * MsgStoreAndMigrateContractResponse defines the response structure + * for executing a MsgStoreAndMigrateContract message. + * + * Since: 0.42 + */ +export interface MsgStoreAndMigrateContractResponse { + /** CodeID is the reference to the stored WASM code */ + codeId: Long; + /** Checksum is the sha256 hash of the stored code */ + checksum: Uint8Array; + /** Data contains bytes to returned from the contract */ + data: Uint8Array; +} + +/** MsgUpdateContractLabel sets a new label for a smart contract */ +export interface MsgUpdateContractLabel { + /** Sender is the that actor that signed the messages */ + sender: string; + /** NewLabel string to be set */ + newLabel: string; + /** Contract is the address of the smart contract */ + contract: string; +} + +/** MsgUpdateContractLabelResponse returns empty data */ +export interface MsgUpdateContractLabelResponse { +} + +function createBaseMsgStoreCode(): MsgStoreCode { + return { sender: "", wasmByteCode: new Uint8Array(0), instantiatePermission: undefined }; +} + +export const MsgStoreCode = { + encode(message: MsgStoreCode, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.sender !== "") { + writer.uint32(10).string(message.sender); + } + if (message.wasmByteCode.length !== 0) { + writer.uint32(18).bytes(message.wasmByteCode); + } + if (message.instantiatePermission !== undefined) { + AccessConfig.encode(message.instantiatePermission, writer.uint32(42).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgStoreCode { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgStoreCode(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sender = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.wasmByteCode = reader.bytes(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.instantiatePermission = AccessConfig.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgStoreCode { + return { + sender: isSet(object.sender) ? String(object.sender) : "", + wasmByteCode: isSet(object.wasmByteCode) ? bytesFromBase64(object.wasmByteCode) : new Uint8Array(0), + instantiatePermission: isSet(object.instantiatePermission) + ? AccessConfig.fromJSON(object.instantiatePermission) + : undefined, + }; + }, + + toJSON(message: MsgStoreCode): unknown { + const obj: any = {}; + message.sender !== undefined && (obj.sender = message.sender); + message.wasmByteCode !== undefined && + (obj.wasmByteCode = base64FromBytes( + message.wasmByteCode !== undefined ? message.wasmByteCode : new Uint8Array(0), + )); + message.instantiatePermission !== undefined && (obj.instantiatePermission = message.instantiatePermission + ? AccessConfig.toJSON(message.instantiatePermission) + : undefined); + return obj; + }, + + create, I>>(base?: I): MsgStoreCode { + return MsgStoreCode.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): MsgStoreCode { + const message = createBaseMsgStoreCode(); + message.sender = object.sender ?? ""; + message.wasmByteCode = object.wasmByteCode ?? new Uint8Array(0); + message.instantiatePermission = + (object.instantiatePermission !== undefined && object.instantiatePermission !== null) + ? AccessConfig.fromPartial(object.instantiatePermission) + : undefined; + return message; + }, +}; + +function createBaseMsgStoreCodeResponse(): MsgStoreCodeResponse { + return { codeId: Long.UZERO, checksum: new Uint8Array(0) }; +} + +export const MsgStoreCodeResponse = { + encode(message: MsgStoreCodeResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (!message.codeId.isZero()) { + writer.uint32(8).uint64(message.codeId); + } + if (message.checksum.length !== 0) { + writer.uint32(18).bytes(message.checksum); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgStoreCodeResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgStoreCodeResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.codeId = reader.uint64() as Long; + continue; + case 2: + if (tag !== 18) { + break; + } + + message.checksum = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgStoreCodeResponse { + return { + codeId: isSet(object.codeId) ? Long.fromValue(object.codeId) : Long.UZERO, + checksum: isSet(object.checksum) ? bytesFromBase64(object.checksum) : new Uint8Array(0), + }; + }, + + toJSON(message: MsgStoreCodeResponse): unknown { + const obj: any = {}; + message.codeId !== undefined && (obj.codeId = (message.codeId || Long.UZERO).toString()); + message.checksum !== undefined && + (obj.checksum = base64FromBytes(message.checksum !== undefined ? message.checksum : new Uint8Array(0))); + return obj; + }, + + create, I>>(base?: I): MsgStoreCodeResponse { + return MsgStoreCodeResponse.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): MsgStoreCodeResponse { + const message = createBaseMsgStoreCodeResponse(); + message.codeId = (object.codeId !== undefined && object.codeId !== null) + ? Long.fromValue(object.codeId) + : Long.UZERO; + message.checksum = object.checksum ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseMsgInstantiateContract(): MsgInstantiateContract { + return { sender: "", admin: "", codeId: Long.UZERO, label: "", msg: new Uint8Array(0), funds: [] }; +} + +export const MsgInstantiateContract = { + encode(message: MsgInstantiateContract, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.sender !== "") { + writer.uint32(10).string(message.sender); + } + if (message.admin !== "") { + writer.uint32(18).string(message.admin); + } + if (!message.codeId.isZero()) { + writer.uint32(24).uint64(message.codeId); + } + if (message.label !== "") { + writer.uint32(34).string(message.label); + } + if (message.msg.length !== 0) { + writer.uint32(42).bytes(message.msg); + } + for (const v of message.funds) { + Coin.encode(v!, writer.uint32(50).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgInstantiateContract { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgInstantiateContract(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sender = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.admin = reader.string(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.codeId = reader.uint64() as Long; + continue; + case 4: + if (tag !== 34) { + break; + } + + message.label = reader.string(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.msg = reader.bytes(); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.funds.push(Coin.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgInstantiateContract { + return { + sender: isSet(object.sender) ? String(object.sender) : "", + admin: isSet(object.admin) ? String(object.admin) : "", + codeId: isSet(object.codeId) ? Long.fromValue(object.codeId) : Long.UZERO, + label: isSet(object.label) ? String(object.label) : "", + msg: isSet(object.msg) ? bytesFromBase64(object.msg) : new Uint8Array(0), + funds: Array.isArray(object?.funds) ? object.funds.map((e: any) => Coin.fromJSON(e)) : [], + }; + }, + + toJSON(message: MsgInstantiateContract): unknown { + const obj: any = {}; + message.sender !== undefined && (obj.sender = message.sender); + message.admin !== undefined && (obj.admin = message.admin); + message.codeId !== undefined && (obj.codeId = (message.codeId || Long.UZERO).toString()); + message.label !== undefined && (obj.label = message.label); + message.msg !== undefined && + (obj.msg = base64FromBytes(message.msg !== undefined ? message.msg : new Uint8Array(0))); + if (message.funds) { + obj.funds = message.funds.map((e) => e ? Coin.toJSON(e) : undefined); + } else { + obj.funds = []; + } + return obj; + }, + + create, I>>(base?: I): MsgInstantiateContract { + return MsgInstantiateContract.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): MsgInstantiateContract { + const message = createBaseMsgInstantiateContract(); + message.sender = object.sender ?? ""; + message.admin = object.admin ?? ""; + message.codeId = (object.codeId !== undefined && object.codeId !== null) + ? Long.fromValue(object.codeId) + : Long.UZERO; + message.label = object.label ?? ""; + message.msg = object.msg ?? new Uint8Array(0); + message.funds = object.funds?.map((e) => Coin.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseMsgInstantiateContractResponse(): MsgInstantiateContractResponse { + return { address: "", data: new Uint8Array(0) }; +} + +export const MsgInstantiateContractResponse = { + encode(message: MsgInstantiateContractResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + if (message.data.length !== 0) { + writer.uint32(18).bytes(message.data); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgInstantiateContractResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgInstantiateContractResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.data = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgInstantiateContractResponse { + return { + address: isSet(object.address) ? String(object.address) : "", + data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0), + }; + }, + + toJSON(message: MsgInstantiateContractResponse): unknown { + const obj: any = {}; + message.address !== undefined && (obj.address = message.address); + message.data !== undefined && + (obj.data = base64FromBytes(message.data !== undefined ? message.data : new Uint8Array(0))); + return obj; + }, + + create, I>>(base?: I): MsgInstantiateContractResponse { + return MsgInstantiateContractResponse.fromPartial(base ?? {}); + }, + + fromPartial, I>>( + object: I, + ): MsgInstantiateContractResponse { + const message = createBaseMsgInstantiateContractResponse(); + message.address = object.address ?? ""; + message.data = object.data ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseMsgInstantiateContract2(): MsgInstantiateContract2 { + return { + sender: "", + admin: "", + codeId: Long.UZERO, + label: "", + msg: new Uint8Array(0), + funds: [], + salt: new Uint8Array(0), + fixMsg: false, + }; +} + +export const MsgInstantiateContract2 = { + encode(message: MsgInstantiateContract2, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.sender !== "") { + writer.uint32(10).string(message.sender); + } + if (message.admin !== "") { + writer.uint32(18).string(message.admin); + } + if (!message.codeId.isZero()) { + writer.uint32(24).uint64(message.codeId); + } + if (message.label !== "") { + writer.uint32(34).string(message.label); + } + if (message.msg.length !== 0) { + writer.uint32(42).bytes(message.msg); + } + for (const v of message.funds) { + Coin.encode(v!, writer.uint32(50).fork()).ldelim(); + } + if (message.salt.length !== 0) { + writer.uint32(58).bytes(message.salt); + } + if (message.fixMsg === true) { + writer.uint32(64).bool(message.fixMsg); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgInstantiateContract2 { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgInstantiateContract2(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sender = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.admin = reader.string(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.codeId = reader.uint64() as Long; + continue; + case 4: + if (tag !== 34) { + break; + } + + message.label = reader.string(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.msg = reader.bytes(); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.funds.push(Coin.decode(reader, reader.uint32())); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.salt = reader.bytes(); + continue; + case 8: + if (tag !== 64) { + break; + } + + message.fixMsg = reader.bool(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgInstantiateContract2 { + return { + sender: isSet(object.sender) ? String(object.sender) : "", + admin: isSet(object.admin) ? String(object.admin) : "", + codeId: isSet(object.codeId) ? Long.fromValue(object.codeId) : Long.UZERO, + label: isSet(object.label) ? String(object.label) : "", + msg: isSet(object.msg) ? bytesFromBase64(object.msg) : new Uint8Array(0), + funds: Array.isArray(object?.funds) ? object.funds.map((e: any) => Coin.fromJSON(e)) : [], + salt: isSet(object.salt) ? bytesFromBase64(object.salt) : new Uint8Array(0), + fixMsg: isSet(object.fixMsg) ? Boolean(object.fixMsg) : false, + }; + }, + + toJSON(message: MsgInstantiateContract2): unknown { + const obj: any = {}; + message.sender !== undefined && (obj.sender = message.sender); + message.admin !== undefined && (obj.admin = message.admin); + message.codeId !== undefined && (obj.codeId = (message.codeId || Long.UZERO).toString()); + message.label !== undefined && (obj.label = message.label); + message.msg !== undefined && + (obj.msg = base64FromBytes(message.msg !== undefined ? message.msg : new Uint8Array(0))); + if (message.funds) { + obj.funds = message.funds.map((e) => e ? Coin.toJSON(e) : undefined); + } else { + obj.funds = []; + } + message.salt !== undefined && + (obj.salt = base64FromBytes(message.salt !== undefined ? message.salt : new Uint8Array(0))); + message.fixMsg !== undefined && (obj.fixMsg = message.fixMsg); + return obj; + }, + + create, I>>(base?: I): MsgInstantiateContract2 { + return MsgInstantiateContract2.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): MsgInstantiateContract2 { + const message = createBaseMsgInstantiateContract2(); + message.sender = object.sender ?? ""; + message.admin = object.admin ?? ""; + message.codeId = (object.codeId !== undefined && object.codeId !== null) + ? Long.fromValue(object.codeId) + : Long.UZERO; + message.label = object.label ?? ""; + message.msg = object.msg ?? new Uint8Array(0); + message.funds = object.funds?.map((e) => Coin.fromPartial(e)) || []; + message.salt = object.salt ?? new Uint8Array(0); + message.fixMsg = object.fixMsg ?? false; + return message; + }, +}; + +function createBaseMsgInstantiateContract2Response(): MsgInstantiateContract2Response { + return { address: "", data: new Uint8Array(0) }; +} + +export const MsgInstantiateContract2Response = { + encode(message: MsgInstantiateContract2Response, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + if (message.data.length !== 0) { + writer.uint32(18).bytes(message.data); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgInstantiateContract2Response { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgInstantiateContract2Response(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.data = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgInstantiateContract2Response { + return { + address: isSet(object.address) ? String(object.address) : "", + data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0), + }; + }, + + toJSON(message: MsgInstantiateContract2Response): unknown { + const obj: any = {}; + message.address !== undefined && (obj.address = message.address); + message.data !== undefined && + (obj.data = base64FromBytes(message.data !== undefined ? message.data : new Uint8Array(0))); + return obj; + }, + + create, I>>(base?: I): MsgInstantiateContract2Response { + return MsgInstantiateContract2Response.fromPartial(base ?? {}); + }, + + fromPartial, I>>( + object: I, + ): MsgInstantiateContract2Response { + const message = createBaseMsgInstantiateContract2Response(); + message.address = object.address ?? ""; + message.data = object.data ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseMsgExecuteContract(): MsgExecuteContract { + return { sender: "", contract: "", msg: new Uint8Array(0), funds: [] }; +} + +export const MsgExecuteContract = { + encode(message: MsgExecuteContract, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.sender !== "") { + writer.uint32(10).string(message.sender); + } + if (message.contract !== "") { + writer.uint32(18).string(message.contract); + } + if (message.msg.length !== 0) { + writer.uint32(26).bytes(message.msg); + } + for (const v of message.funds) { + Coin.encode(v!, writer.uint32(42).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgExecuteContract { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgExecuteContract(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sender = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.contract = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.msg = reader.bytes(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.funds.push(Coin.decode(reader, reader.uint32())); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgExecuteContract { + return { + sender: isSet(object.sender) ? String(object.sender) : "", + contract: isSet(object.contract) ? String(object.contract) : "", + msg: isSet(object.msg) ? bytesFromBase64(object.msg) : new Uint8Array(0), + funds: Array.isArray(object?.funds) ? object.funds.map((e: any) => Coin.fromJSON(e)) : [], + }; + }, + + toJSON(message: MsgExecuteContract): unknown { + const obj: any = {}; + message.sender !== undefined && (obj.sender = message.sender); + message.contract !== undefined && (obj.contract = message.contract); + message.msg !== undefined && + (obj.msg = base64FromBytes(message.msg !== undefined ? message.msg : new Uint8Array(0))); + if (message.funds) { + obj.funds = message.funds.map((e) => e ? Coin.toJSON(e) : undefined); + } else { + obj.funds = []; + } + return obj; + }, + + create, I>>(base?: I): MsgExecuteContract { + return MsgExecuteContract.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): MsgExecuteContract { + const message = createBaseMsgExecuteContract(); + message.sender = object.sender ?? ""; + message.contract = object.contract ?? ""; + message.msg = object.msg ?? new Uint8Array(0); + message.funds = object.funds?.map((e) => Coin.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseMsgExecuteContractResponse(): MsgExecuteContractResponse { + return { data: new Uint8Array(0) }; +} + +export const MsgExecuteContractResponse = { + encode(message: MsgExecuteContractResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.data.length !== 0) { + writer.uint32(10).bytes(message.data); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgExecuteContractResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgExecuteContractResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.data = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgExecuteContractResponse { + return { data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0) }; + }, + + toJSON(message: MsgExecuteContractResponse): unknown { + const obj: any = {}; + message.data !== undefined && + (obj.data = base64FromBytes(message.data !== undefined ? message.data : new Uint8Array(0))); + return obj; + }, + + create, I>>(base?: I): MsgExecuteContractResponse { + return MsgExecuteContractResponse.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): MsgExecuteContractResponse { + const message = createBaseMsgExecuteContractResponse(); + message.data = object.data ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseMsgMigrateContract(): MsgMigrateContract { + return { sender: "", contract: "", codeId: Long.UZERO, msg: new Uint8Array(0) }; +} + +export const MsgMigrateContract = { + encode(message: MsgMigrateContract, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.sender !== "") { + writer.uint32(10).string(message.sender); + } + if (message.contract !== "") { + writer.uint32(18).string(message.contract); + } + if (!message.codeId.isZero()) { + writer.uint32(24).uint64(message.codeId); + } + if (message.msg.length !== 0) { + writer.uint32(34).bytes(message.msg); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgMigrateContract { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgMigrateContract(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sender = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.contract = reader.string(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.codeId = reader.uint64() as Long; + continue; + case 4: + if (tag !== 34) { + break; + } + + message.msg = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgMigrateContract { + return { + sender: isSet(object.sender) ? String(object.sender) : "", + contract: isSet(object.contract) ? String(object.contract) : "", + codeId: isSet(object.codeId) ? Long.fromValue(object.codeId) : Long.UZERO, + msg: isSet(object.msg) ? bytesFromBase64(object.msg) : new Uint8Array(0), + }; + }, + + toJSON(message: MsgMigrateContract): unknown { + const obj: any = {}; + message.sender !== undefined && (obj.sender = message.sender); + message.contract !== undefined && (obj.contract = message.contract); + message.codeId !== undefined && (obj.codeId = (message.codeId || Long.UZERO).toString()); + message.msg !== undefined && + (obj.msg = base64FromBytes(message.msg !== undefined ? message.msg : new Uint8Array(0))); + return obj; + }, + + create, I>>(base?: I): MsgMigrateContract { + return MsgMigrateContract.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): MsgMigrateContract { + const message = createBaseMsgMigrateContract(); + message.sender = object.sender ?? ""; + message.contract = object.contract ?? ""; + message.codeId = (object.codeId !== undefined && object.codeId !== null) + ? Long.fromValue(object.codeId) + : Long.UZERO; + message.msg = object.msg ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseMsgMigrateContractResponse(): MsgMigrateContractResponse { + return { data: new Uint8Array(0) }; +} + +export const MsgMigrateContractResponse = { + encode(message: MsgMigrateContractResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.data.length !== 0) { + writer.uint32(10).bytes(message.data); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgMigrateContractResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgMigrateContractResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.data = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgMigrateContractResponse { + return { data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0) }; + }, + + toJSON(message: MsgMigrateContractResponse): unknown { + const obj: any = {}; + message.data !== undefined && + (obj.data = base64FromBytes(message.data !== undefined ? message.data : new Uint8Array(0))); + return obj; + }, + + create, I>>(base?: I): MsgMigrateContractResponse { + return MsgMigrateContractResponse.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): MsgMigrateContractResponse { + const message = createBaseMsgMigrateContractResponse(); + message.data = object.data ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseMsgUpdateAdmin(): MsgUpdateAdmin { + return { sender: "", newAdmin: "", contract: "" }; +} + +export const MsgUpdateAdmin = { + encode(message: MsgUpdateAdmin, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.sender !== "") { + writer.uint32(10).string(message.sender); + } + if (message.newAdmin !== "") { + writer.uint32(18).string(message.newAdmin); + } + if (message.contract !== "") { + writer.uint32(26).string(message.contract); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgUpdateAdmin { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateAdmin(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sender = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.newAdmin = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.contract = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgUpdateAdmin { + return { + sender: isSet(object.sender) ? String(object.sender) : "", + newAdmin: isSet(object.newAdmin) ? String(object.newAdmin) : "", + contract: isSet(object.contract) ? String(object.contract) : "", + }; + }, + + toJSON(message: MsgUpdateAdmin): unknown { + const obj: any = {}; + message.sender !== undefined && (obj.sender = message.sender); + message.newAdmin !== undefined && (obj.newAdmin = message.newAdmin); + message.contract !== undefined && (obj.contract = message.contract); + return obj; + }, + + create, I>>(base?: I): MsgUpdateAdmin { + return MsgUpdateAdmin.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): MsgUpdateAdmin { + const message = createBaseMsgUpdateAdmin(); + message.sender = object.sender ?? ""; + message.newAdmin = object.newAdmin ?? ""; + message.contract = object.contract ?? ""; + return message; + }, +}; + +function createBaseMsgUpdateAdminResponse(): MsgUpdateAdminResponse { + return {}; +} + +export const MsgUpdateAdminResponse = { + encode(_: MsgUpdateAdminResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgUpdateAdminResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateAdminResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgUpdateAdminResponse { + return {}; + }, + + toJSON(_: MsgUpdateAdminResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MsgUpdateAdminResponse { + return MsgUpdateAdminResponse.fromPartial(base ?? {}); + }, + + fromPartial, I>>(_: I): MsgUpdateAdminResponse { + const message = createBaseMsgUpdateAdminResponse(); + return message; + }, +}; + +function createBaseMsgClearAdmin(): MsgClearAdmin { + return { sender: "", contract: "" }; +} + +export const MsgClearAdmin = { + encode(message: MsgClearAdmin, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.sender !== "") { + writer.uint32(10).string(message.sender); + } + if (message.contract !== "") { + writer.uint32(26).string(message.contract); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgClearAdmin { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgClearAdmin(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sender = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.contract = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgClearAdmin { + return { + sender: isSet(object.sender) ? String(object.sender) : "", + contract: isSet(object.contract) ? String(object.contract) : "", + }; + }, + + toJSON(message: MsgClearAdmin): unknown { + const obj: any = {}; + message.sender !== undefined && (obj.sender = message.sender); + message.contract !== undefined && (obj.contract = message.contract); + return obj; + }, + + create, I>>(base?: I): MsgClearAdmin { + return MsgClearAdmin.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): MsgClearAdmin { + const message = createBaseMsgClearAdmin(); + message.sender = object.sender ?? ""; + message.contract = object.contract ?? ""; + return message; + }, +}; + +function createBaseMsgClearAdminResponse(): MsgClearAdminResponse { + return {}; +} + +export const MsgClearAdminResponse = { + encode(_: MsgClearAdminResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgClearAdminResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgClearAdminResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgClearAdminResponse { + return {}; + }, + + toJSON(_: MsgClearAdminResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MsgClearAdminResponse { + return MsgClearAdminResponse.fromPartial(base ?? {}); + }, + + fromPartial, I>>(_: I): MsgClearAdminResponse { + const message = createBaseMsgClearAdminResponse(); + return message; + }, +}; + +function createBaseAccessConfigUpdate(): AccessConfigUpdate { + return { codeId: Long.UZERO, instantiatePermission: undefined }; +} + +export const AccessConfigUpdate = { + encode(message: AccessConfigUpdate, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (!message.codeId.isZero()) { + writer.uint32(8).uint64(message.codeId); + } + if (message.instantiatePermission !== undefined) { + AccessConfig.encode(message.instantiatePermission, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): AccessConfigUpdate { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAccessConfigUpdate(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.codeId = reader.uint64() as Long; + continue; + case 2: + if (tag !== 18) { + break; + } + + message.instantiatePermission = AccessConfig.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): AccessConfigUpdate { + return { + codeId: isSet(object.codeId) ? Long.fromValue(object.codeId) : Long.UZERO, + instantiatePermission: isSet(object.instantiatePermission) + ? AccessConfig.fromJSON(object.instantiatePermission) + : undefined, + }; + }, + + toJSON(message: AccessConfigUpdate): unknown { + const obj: any = {}; + message.codeId !== undefined && (obj.codeId = (message.codeId || Long.UZERO).toString()); + message.instantiatePermission !== undefined && (obj.instantiatePermission = message.instantiatePermission + ? AccessConfig.toJSON(message.instantiatePermission) + : undefined); + return obj; + }, + + create, I>>(base?: I): AccessConfigUpdate { + return AccessConfigUpdate.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): AccessConfigUpdate { + const message = createBaseAccessConfigUpdate(); + message.codeId = (object.codeId !== undefined && object.codeId !== null) + ? Long.fromValue(object.codeId) + : Long.UZERO; + message.instantiatePermission = + (object.instantiatePermission !== undefined && object.instantiatePermission !== null) + ? AccessConfig.fromPartial(object.instantiatePermission) + : undefined; + return message; + }, +}; + +function createBaseMsgUpdateInstantiateConfig(): MsgUpdateInstantiateConfig { + return { sender: "", codeId: Long.UZERO, newInstantiatePermission: undefined }; +} + +export const MsgUpdateInstantiateConfig = { + encode(message: MsgUpdateInstantiateConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.sender !== "") { + writer.uint32(10).string(message.sender); + } + if (!message.codeId.isZero()) { + writer.uint32(16).uint64(message.codeId); + } + if (message.newInstantiatePermission !== undefined) { + AccessConfig.encode(message.newInstantiatePermission, writer.uint32(26).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgUpdateInstantiateConfig { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateInstantiateConfig(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sender = reader.string(); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.codeId = reader.uint64() as Long; + continue; + case 3: + if (tag !== 26) { + break; + } + + message.newInstantiatePermission = AccessConfig.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgUpdateInstantiateConfig { + return { + sender: isSet(object.sender) ? String(object.sender) : "", + codeId: isSet(object.codeId) ? Long.fromValue(object.codeId) : Long.UZERO, + newInstantiatePermission: isSet(object.newInstantiatePermission) + ? AccessConfig.fromJSON(object.newInstantiatePermission) + : undefined, + }; + }, + + toJSON(message: MsgUpdateInstantiateConfig): unknown { + const obj: any = {}; + message.sender !== undefined && (obj.sender = message.sender); + message.codeId !== undefined && (obj.codeId = (message.codeId || Long.UZERO).toString()); + message.newInstantiatePermission !== undefined && (obj.newInstantiatePermission = message.newInstantiatePermission + ? AccessConfig.toJSON(message.newInstantiatePermission) + : undefined); + return obj; + }, + + create, I>>(base?: I): MsgUpdateInstantiateConfig { + return MsgUpdateInstantiateConfig.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): MsgUpdateInstantiateConfig { + const message = createBaseMsgUpdateInstantiateConfig(); + message.sender = object.sender ?? ""; + message.codeId = (object.codeId !== undefined && object.codeId !== null) + ? Long.fromValue(object.codeId) + : Long.UZERO; + message.newInstantiatePermission = + (object.newInstantiatePermission !== undefined && object.newInstantiatePermission !== null) + ? AccessConfig.fromPartial(object.newInstantiatePermission) + : undefined; + return message; + }, +}; + +function createBaseMsgUpdateInstantiateConfigResponse(): MsgUpdateInstantiateConfigResponse { + return {}; +} + +export const MsgUpdateInstantiateConfigResponse = { + encode(_: MsgUpdateInstantiateConfigResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgUpdateInstantiateConfigResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateInstantiateConfigResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgUpdateInstantiateConfigResponse { + return {}; + }, + + toJSON(_: MsgUpdateInstantiateConfigResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>( + base?: I, + ): MsgUpdateInstantiateConfigResponse { + return MsgUpdateInstantiateConfigResponse.fromPartial(base ?? {}); + }, + + fromPartial, I>>( + _: I, + ): MsgUpdateInstantiateConfigResponse { + const message = createBaseMsgUpdateInstantiateConfigResponse(); + return message; + }, +}; + +function createBaseMsgUpdateParams(): MsgUpdateParams { + return { authority: "", params: undefined }; +} + +export const MsgUpdateParams = { + encode(message: MsgUpdateParams, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.authority !== "") { + writer.uint32(10).string(message.authority); + } + if (message.params !== undefined) { + Params.encode(message.params, writer.uint32(18).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgUpdateParams { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.authority = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.params = Params.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgUpdateParams { + return { + authority: isSet(object.authority) ? String(object.authority) : "", + params: isSet(object.params) ? Params.fromJSON(object.params) : undefined, + }; + }, + + toJSON(message: MsgUpdateParams): unknown { + const obj: any = {}; + message.authority !== undefined && (obj.authority = message.authority); + message.params !== undefined && (obj.params = message.params ? Params.toJSON(message.params) : undefined); + return obj; + }, + + create, I>>(base?: I): MsgUpdateParams { + return MsgUpdateParams.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): MsgUpdateParams { + const message = createBaseMsgUpdateParams(); + message.authority = object.authority ?? ""; + message.params = (object.params !== undefined && object.params !== null) + ? Params.fromPartial(object.params) + : undefined; + return message; + }, +}; + +function createBaseMsgUpdateParamsResponse(): MsgUpdateParamsResponse { + return {}; +} + +export const MsgUpdateParamsResponse = { + encode(_: MsgUpdateParamsResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgUpdateParamsResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateParamsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgUpdateParamsResponse { + return {}; + }, + + toJSON(_: MsgUpdateParamsResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MsgUpdateParamsResponse { + return MsgUpdateParamsResponse.fromPartial(base ?? {}); + }, + + fromPartial, I>>(_: I): MsgUpdateParamsResponse { + const message = createBaseMsgUpdateParamsResponse(); + return message; + }, +}; + +function createBaseMsgSudoContract(): MsgSudoContract { + return { authority: "", contract: "", msg: new Uint8Array(0) }; +} + +export const MsgSudoContract = { + encode(message: MsgSudoContract, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.authority !== "") { + writer.uint32(10).string(message.authority); + } + if (message.contract !== "") { + writer.uint32(18).string(message.contract); + } + if (message.msg.length !== 0) { + writer.uint32(26).bytes(message.msg); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgSudoContract { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgSudoContract(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.authority = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.contract = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.msg = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgSudoContract { + return { + authority: isSet(object.authority) ? String(object.authority) : "", + contract: isSet(object.contract) ? String(object.contract) : "", + msg: isSet(object.msg) ? bytesFromBase64(object.msg) : new Uint8Array(0), + }; + }, + + toJSON(message: MsgSudoContract): unknown { + const obj: any = {}; + message.authority !== undefined && (obj.authority = message.authority); + message.contract !== undefined && (obj.contract = message.contract); + message.msg !== undefined && + (obj.msg = base64FromBytes(message.msg !== undefined ? message.msg : new Uint8Array(0))); + return obj; + }, + + create, I>>(base?: I): MsgSudoContract { + return MsgSudoContract.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): MsgSudoContract { + const message = createBaseMsgSudoContract(); + message.authority = object.authority ?? ""; + message.contract = object.contract ?? ""; + message.msg = object.msg ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseMsgSudoContractResponse(): MsgSudoContractResponse { + return { data: new Uint8Array(0) }; +} + +export const MsgSudoContractResponse = { + encode(message: MsgSudoContractResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.data.length !== 0) { + writer.uint32(10).bytes(message.data); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgSudoContractResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgSudoContractResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.data = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgSudoContractResponse { + return { data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0) }; + }, + + toJSON(message: MsgSudoContractResponse): unknown { + const obj: any = {}; + message.data !== undefined && + (obj.data = base64FromBytes(message.data !== undefined ? message.data : new Uint8Array(0))); + return obj; + }, + + create, I>>(base?: I): MsgSudoContractResponse { + return MsgSudoContractResponse.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): MsgSudoContractResponse { + const message = createBaseMsgSudoContractResponse(); + message.data = object.data ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseMsgPinCodes(): MsgPinCodes { + return { authority: "", codeIds: [] }; +} + +export const MsgPinCodes = { + encode(message: MsgPinCodes, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.authority !== "") { + writer.uint32(10).string(message.authority); + } + writer.uint32(18).fork(); + for (const v of message.codeIds) { + writer.uint64(v); + } + writer.ldelim(); + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgPinCodes { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgPinCodes(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.authority = reader.string(); + continue; + case 2: + if (tag === 16) { + message.codeIds.push(reader.uint64() as Long); + + continue; + } + + if (tag === 18) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.codeIds.push(reader.uint64() as Long); + } + + continue; + } + + break; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgPinCodes { + return { + authority: isSet(object.authority) ? String(object.authority) : "", + codeIds: Array.isArray(object?.codeIds) ? object.codeIds.map((e: any) => Long.fromValue(e)) : [], + }; + }, + + toJSON(message: MsgPinCodes): unknown { + const obj: any = {}; + message.authority !== undefined && (obj.authority = message.authority); + if (message.codeIds) { + obj.codeIds = message.codeIds.map((e) => (e || Long.UZERO).toString()); + } else { + obj.codeIds = []; + } + return obj; + }, + + create, I>>(base?: I): MsgPinCodes { + return MsgPinCodes.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): MsgPinCodes { + const message = createBaseMsgPinCodes(); + message.authority = object.authority ?? ""; + message.codeIds = object.codeIds?.map((e) => Long.fromValue(e)) || []; + return message; + }, +}; + +function createBaseMsgPinCodesResponse(): MsgPinCodesResponse { + return {}; +} + +export const MsgPinCodesResponse = { + encode(_: MsgPinCodesResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgPinCodesResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgPinCodesResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgPinCodesResponse { + return {}; + }, + + toJSON(_: MsgPinCodesResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MsgPinCodesResponse { + return MsgPinCodesResponse.fromPartial(base ?? {}); + }, + + fromPartial, I>>(_: I): MsgPinCodesResponse { + const message = createBaseMsgPinCodesResponse(); + return message; + }, +}; + +function createBaseMsgUnpinCodes(): MsgUnpinCodes { + return { authority: "", codeIds: [] }; +} + +export const MsgUnpinCodes = { + encode(message: MsgUnpinCodes, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.authority !== "") { + writer.uint32(10).string(message.authority); + } + writer.uint32(18).fork(); + for (const v of message.codeIds) { + writer.uint64(v); + } + writer.ldelim(); + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgUnpinCodes { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUnpinCodes(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.authority = reader.string(); + continue; + case 2: + if (tag === 16) { + message.codeIds.push(reader.uint64() as Long); + + continue; + } + + if (tag === 18) { + const end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) { + message.codeIds.push(reader.uint64() as Long); + } + + continue; + } + + break; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgUnpinCodes { + return { + authority: isSet(object.authority) ? String(object.authority) : "", + codeIds: Array.isArray(object?.codeIds) ? object.codeIds.map((e: any) => Long.fromValue(e)) : [], + }; + }, + + toJSON(message: MsgUnpinCodes): unknown { + const obj: any = {}; + message.authority !== undefined && (obj.authority = message.authority); + if (message.codeIds) { + obj.codeIds = message.codeIds.map((e) => (e || Long.UZERO).toString()); + } else { + obj.codeIds = []; + } + return obj; + }, + + create, I>>(base?: I): MsgUnpinCodes { + return MsgUnpinCodes.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): MsgUnpinCodes { + const message = createBaseMsgUnpinCodes(); + message.authority = object.authority ?? ""; + message.codeIds = object.codeIds?.map((e) => Long.fromValue(e)) || []; + return message; + }, +}; + +function createBaseMsgUnpinCodesResponse(): MsgUnpinCodesResponse { + return {}; +} + +export const MsgUnpinCodesResponse = { + encode(_: MsgUnpinCodesResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgUnpinCodesResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUnpinCodesResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgUnpinCodesResponse { + return {}; + }, + + toJSON(_: MsgUnpinCodesResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MsgUnpinCodesResponse { + return MsgUnpinCodesResponse.fromPartial(base ?? {}); + }, + + fromPartial, I>>(_: I): MsgUnpinCodesResponse { + const message = createBaseMsgUnpinCodesResponse(); + return message; + }, +}; + +function createBaseMsgStoreAndInstantiateContract(): MsgStoreAndInstantiateContract { + return { + authority: "", + wasmByteCode: new Uint8Array(0), + instantiatePermission: undefined, + unpinCode: false, + admin: "", + label: "", + msg: new Uint8Array(0), + funds: [], + source: "", + builder: "", + codeHash: new Uint8Array(0), + }; +} + +export const MsgStoreAndInstantiateContract = { + encode(message: MsgStoreAndInstantiateContract, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.authority !== "") { + writer.uint32(10).string(message.authority); + } + if (message.wasmByteCode.length !== 0) { + writer.uint32(26).bytes(message.wasmByteCode); + } + if (message.instantiatePermission !== undefined) { + AccessConfig.encode(message.instantiatePermission, writer.uint32(34).fork()).ldelim(); + } + if (message.unpinCode === true) { + writer.uint32(40).bool(message.unpinCode); + } + if (message.admin !== "") { + writer.uint32(50).string(message.admin); + } + if (message.label !== "") { + writer.uint32(58).string(message.label); + } + if (message.msg.length !== 0) { + writer.uint32(66).bytes(message.msg); + } + for (const v of message.funds) { + Coin.encode(v!, writer.uint32(74).fork()).ldelim(); + } + if (message.source !== "") { + writer.uint32(82).string(message.source); + } + if (message.builder !== "") { + writer.uint32(90).string(message.builder); + } + if (message.codeHash.length !== 0) { + writer.uint32(98).bytes(message.codeHash); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgStoreAndInstantiateContract { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgStoreAndInstantiateContract(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.authority = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.wasmByteCode = reader.bytes(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.instantiatePermission = AccessConfig.decode(reader, reader.uint32()); + continue; + case 5: + if (tag !== 40) { + break; + } + + message.unpinCode = reader.bool(); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.admin = reader.string(); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.label = reader.string(); + continue; + case 8: + if (tag !== 66) { + break; + } + + message.msg = reader.bytes(); + continue; + case 9: + if (tag !== 74) { + break; + } + + message.funds.push(Coin.decode(reader, reader.uint32())); + continue; + case 10: + if (tag !== 82) { + break; + } + + message.source = reader.string(); + continue; + case 11: + if (tag !== 90) { + break; + } + + message.builder = reader.string(); + continue; + case 12: + if (tag !== 98) { + break; + } + + message.codeHash = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgStoreAndInstantiateContract { + return { + authority: isSet(object.authority) ? String(object.authority) : "", + wasmByteCode: isSet(object.wasmByteCode) ? bytesFromBase64(object.wasmByteCode) : new Uint8Array(0), + instantiatePermission: isSet(object.instantiatePermission) + ? AccessConfig.fromJSON(object.instantiatePermission) + : undefined, + unpinCode: isSet(object.unpinCode) ? Boolean(object.unpinCode) : false, + admin: isSet(object.admin) ? String(object.admin) : "", + label: isSet(object.label) ? String(object.label) : "", + msg: isSet(object.msg) ? bytesFromBase64(object.msg) : new Uint8Array(0), + funds: Array.isArray(object?.funds) ? object.funds.map((e: any) => Coin.fromJSON(e)) : [], + source: isSet(object.source) ? String(object.source) : "", + builder: isSet(object.builder) ? String(object.builder) : "", + codeHash: isSet(object.codeHash) ? bytesFromBase64(object.codeHash) : new Uint8Array(0), + }; + }, + + toJSON(message: MsgStoreAndInstantiateContract): unknown { + const obj: any = {}; + message.authority !== undefined && (obj.authority = message.authority); + message.wasmByteCode !== undefined && + (obj.wasmByteCode = base64FromBytes( + message.wasmByteCode !== undefined ? message.wasmByteCode : new Uint8Array(0), + )); + message.instantiatePermission !== undefined && (obj.instantiatePermission = message.instantiatePermission + ? AccessConfig.toJSON(message.instantiatePermission) + : undefined); + message.unpinCode !== undefined && (obj.unpinCode = message.unpinCode); + message.admin !== undefined && (obj.admin = message.admin); + message.label !== undefined && (obj.label = message.label); + message.msg !== undefined && + (obj.msg = base64FromBytes(message.msg !== undefined ? message.msg : new Uint8Array(0))); + if (message.funds) { + obj.funds = message.funds.map((e) => e ? Coin.toJSON(e) : undefined); + } else { + obj.funds = []; + } + message.source !== undefined && (obj.source = message.source); + message.builder !== undefined && (obj.builder = message.builder); + message.codeHash !== undefined && + (obj.codeHash = base64FromBytes(message.codeHash !== undefined ? message.codeHash : new Uint8Array(0))); + return obj; + }, + + create, I>>(base?: I): MsgStoreAndInstantiateContract { + return MsgStoreAndInstantiateContract.fromPartial(base ?? {}); + }, + + fromPartial, I>>( + object: I, + ): MsgStoreAndInstantiateContract { + const message = createBaseMsgStoreAndInstantiateContract(); + message.authority = object.authority ?? ""; + message.wasmByteCode = object.wasmByteCode ?? new Uint8Array(0); + message.instantiatePermission = + (object.instantiatePermission !== undefined && object.instantiatePermission !== null) + ? AccessConfig.fromPartial(object.instantiatePermission) + : undefined; + message.unpinCode = object.unpinCode ?? false; + message.admin = object.admin ?? ""; + message.label = object.label ?? ""; + message.msg = object.msg ?? new Uint8Array(0); + message.funds = object.funds?.map((e) => Coin.fromPartial(e)) || []; + message.source = object.source ?? ""; + message.builder = object.builder ?? ""; + message.codeHash = object.codeHash ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseMsgStoreAndInstantiateContractResponse(): MsgStoreAndInstantiateContractResponse { + return { address: "", data: new Uint8Array(0) }; +} + +export const MsgStoreAndInstantiateContractResponse = { + encode(message: MsgStoreAndInstantiateContractResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + if (message.data.length !== 0) { + writer.uint32(18).bytes(message.data); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgStoreAndInstantiateContractResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgStoreAndInstantiateContractResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.data = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgStoreAndInstantiateContractResponse { + return { + address: isSet(object.address) ? String(object.address) : "", + data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0), + }; + }, + + toJSON(message: MsgStoreAndInstantiateContractResponse): unknown { + const obj: any = {}; + message.address !== undefined && (obj.address = message.address); + message.data !== undefined && + (obj.data = base64FromBytes(message.data !== undefined ? message.data : new Uint8Array(0))); + return obj; + }, + + create, I>>( + base?: I, + ): MsgStoreAndInstantiateContractResponse { + return MsgStoreAndInstantiateContractResponse.fromPartial(base ?? {}); + }, + + fromPartial, I>>( + object: I, + ): MsgStoreAndInstantiateContractResponse { + const message = createBaseMsgStoreAndInstantiateContractResponse(); + message.address = object.address ?? ""; + message.data = object.data ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseMsgAddCodeUploadParamsAddresses(): MsgAddCodeUploadParamsAddresses { + return { authority: "", addresses: [] }; +} + +export const MsgAddCodeUploadParamsAddresses = { + encode(message: MsgAddCodeUploadParamsAddresses, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.authority !== "") { + writer.uint32(10).string(message.authority); + } + for (const v of message.addresses) { + writer.uint32(18).string(v!); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgAddCodeUploadParamsAddresses { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgAddCodeUploadParamsAddresses(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.authority = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.addresses.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgAddCodeUploadParamsAddresses { + return { + authority: isSet(object.authority) ? String(object.authority) : "", + addresses: Array.isArray(object?.addresses) ? object.addresses.map((e: any) => String(e)) : [], + }; + }, + + toJSON(message: MsgAddCodeUploadParamsAddresses): unknown { + const obj: any = {}; + message.authority !== undefined && (obj.authority = message.authority); + if (message.addresses) { + obj.addresses = message.addresses.map((e) => e); + } else { + obj.addresses = []; + } + return obj; + }, + + create, I>>(base?: I): MsgAddCodeUploadParamsAddresses { + return MsgAddCodeUploadParamsAddresses.fromPartial(base ?? {}); + }, + + fromPartial, I>>( + object: I, + ): MsgAddCodeUploadParamsAddresses { + const message = createBaseMsgAddCodeUploadParamsAddresses(); + message.authority = object.authority ?? ""; + message.addresses = object.addresses?.map((e) => e) || []; + return message; + }, +}; + +function createBaseMsgAddCodeUploadParamsAddressesResponse(): MsgAddCodeUploadParamsAddressesResponse { + return {}; +} + +export const MsgAddCodeUploadParamsAddressesResponse = { + encode(_: MsgAddCodeUploadParamsAddressesResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgAddCodeUploadParamsAddressesResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgAddCodeUploadParamsAddressesResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgAddCodeUploadParamsAddressesResponse { + return {}; + }, + + toJSON(_: MsgAddCodeUploadParamsAddressesResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>( + base?: I, + ): MsgAddCodeUploadParamsAddressesResponse { + return MsgAddCodeUploadParamsAddressesResponse.fromPartial(base ?? {}); + }, + + fromPartial, I>>( + _: I, + ): MsgAddCodeUploadParamsAddressesResponse { + const message = createBaseMsgAddCodeUploadParamsAddressesResponse(); + return message; + }, +}; + +function createBaseMsgRemoveCodeUploadParamsAddresses(): MsgRemoveCodeUploadParamsAddresses { + return { authority: "", addresses: [] }; +} + +export const MsgRemoveCodeUploadParamsAddresses = { + encode(message: MsgRemoveCodeUploadParamsAddresses, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.authority !== "") { + writer.uint32(10).string(message.authority); + } + for (const v of message.addresses) { + writer.uint32(18).string(v!); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgRemoveCodeUploadParamsAddresses { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgRemoveCodeUploadParamsAddresses(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.authority = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.addresses.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgRemoveCodeUploadParamsAddresses { + return { + authority: isSet(object.authority) ? String(object.authority) : "", + addresses: Array.isArray(object?.addresses) ? object.addresses.map((e: any) => String(e)) : [], + }; + }, + + toJSON(message: MsgRemoveCodeUploadParamsAddresses): unknown { + const obj: any = {}; + message.authority !== undefined && (obj.authority = message.authority); + if (message.addresses) { + obj.addresses = message.addresses.map((e) => e); + } else { + obj.addresses = []; + } + return obj; + }, + + create, I>>( + base?: I, + ): MsgRemoveCodeUploadParamsAddresses { + return MsgRemoveCodeUploadParamsAddresses.fromPartial(base ?? {}); + }, + + fromPartial, I>>( + object: I, + ): MsgRemoveCodeUploadParamsAddresses { + const message = createBaseMsgRemoveCodeUploadParamsAddresses(); + message.authority = object.authority ?? ""; + message.addresses = object.addresses?.map((e) => e) || []; + return message; + }, +}; + +function createBaseMsgRemoveCodeUploadParamsAddressesResponse(): MsgRemoveCodeUploadParamsAddressesResponse { + return {}; +} + +export const MsgRemoveCodeUploadParamsAddressesResponse = { + encode(_: MsgRemoveCodeUploadParamsAddressesResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgRemoveCodeUploadParamsAddressesResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgRemoveCodeUploadParamsAddressesResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgRemoveCodeUploadParamsAddressesResponse { + return {}; + }, + + toJSON(_: MsgRemoveCodeUploadParamsAddressesResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>( + base?: I, + ): MsgRemoveCodeUploadParamsAddressesResponse { + return MsgRemoveCodeUploadParamsAddressesResponse.fromPartial(base ?? {}); + }, + + fromPartial, I>>( + _: I, + ): MsgRemoveCodeUploadParamsAddressesResponse { + const message = createBaseMsgRemoveCodeUploadParamsAddressesResponse(); + return message; + }, +}; + +function createBaseMsgStoreAndMigrateContract(): MsgStoreAndMigrateContract { + return { + authority: "", + wasmByteCode: new Uint8Array(0), + instantiatePermission: undefined, + contract: "", + msg: new Uint8Array(0), + }; +} + +export const MsgStoreAndMigrateContract = { + encode(message: MsgStoreAndMigrateContract, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.authority !== "") { + writer.uint32(10).string(message.authority); + } + if (message.wasmByteCode.length !== 0) { + writer.uint32(18).bytes(message.wasmByteCode); + } + if (message.instantiatePermission !== undefined) { + AccessConfig.encode(message.instantiatePermission, writer.uint32(26).fork()).ldelim(); + } + if (message.contract !== "") { + writer.uint32(34).string(message.contract); + } + if (message.msg.length !== 0) { + writer.uint32(42).bytes(message.msg); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgStoreAndMigrateContract { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgStoreAndMigrateContract(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.authority = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.wasmByteCode = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.instantiatePermission = AccessConfig.decode(reader, reader.uint32()); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.contract = reader.string(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.msg = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgStoreAndMigrateContract { + return { + authority: isSet(object.authority) ? String(object.authority) : "", + wasmByteCode: isSet(object.wasmByteCode) ? bytesFromBase64(object.wasmByteCode) : new Uint8Array(0), + instantiatePermission: isSet(object.instantiatePermission) + ? AccessConfig.fromJSON(object.instantiatePermission) + : undefined, + contract: isSet(object.contract) ? String(object.contract) : "", + msg: isSet(object.msg) ? bytesFromBase64(object.msg) : new Uint8Array(0), + }; + }, + + toJSON(message: MsgStoreAndMigrateContract): unknown { + const obj: any = {}; + message.authority !== undefined && (obj.authority = message.authority); + message.wasmByteCode !== undefined && + (obj.wasmByteCode = base64FromBytes( + message.wasmByteCode !== undefined ? message.wasmByteCode : new Uint8Array(0), + )); + message.instantiatePermission !== undefined && (obj.instantiatePermission = message.instantiatePermission + ? AccessConfig.toJSON(message.instantiatePermission) + : undefined); + message.contract !== undefined && (obj.contract = message.contract); + message.msg !== undefined && + (obj.msg = base64FromBytes(message.msg !== undefined ? message.msg : new Uint8Array(0))); + return obj; + }, + + create, I>>(base?: I): MsgStoreAndMigrateContract { + return MsgStoreAndMigrateContract.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): MsgStoreAndMigrateContract { + const message = createBaseMsgStoreAndMigrateContract(); + message.authority = object.authority ?? ""; + message.wasmByteCode = object.wasmByteCode ?? new Uint8Array(0); + message.instantiatePermission = + (object.instantiatePermission !== undefined && object.instantiatePermission !== null) + ? AccessConfig.fromPartial(object.instantiatePermission) + : undefined; + message.contract = object.contract ?? ""; + message.msg = object.msg ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseMsgStoreAndMigrateContractResponse(): MsgStoreAndMigrateContractResponse { + return { codeId: Long.UZERO, checksum: new Uint8Array(0), data: new Uint8Array(0) }; +} + +export const MsgStoreAndMigrateContractResponse = { + encode(message: MsgStoreAndMigrateContractResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (!message.codeId.isZero()) { + writer.uint32(8).uint64(message.codeId); + } + if (message.checksum.length !== 0) { + writer.uint32(18).bytes(message.checksum); + } + if (message.data.length !== 0) { + writer.uint32(26).bytes(message.data); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgStoreAndMigrateContractResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgStoreAndMigrateContractResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.codeId = reader.uint64() as Long; + continue; + case 2: + if (tag !== 18) { + break; + } + + message.checksum = reader.bytes(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.data = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgStoreAndMigrateContractResponse { + return { + codeId: isSet(object.codeId) ? Long.fromValue(object.codeId) : Long.UZERO, + checksum: isSet(object.checksum) ? bytesFromBase64(object.checksum) : new Uint8Array(0), + data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0), + }; + }, + + toJSON(message: MsgStoreAndMigrateContractResponse): unknown { + const obj: any = {}; + message.codeId !== undefined && (obj.codeId = (message.codeId || Long.UZERO).toString()); + message.checksum !== undefined && + (obj.checksum = base64FromBytes(message.checksum !== undefined ? message.checksum : new Uint8Array(0))); + message.data !== undefined && + (obj.data = base64FromBytes(message.data !== undefined ? message.data : new Uint8Array(0))); + return obj; + }, + + create, I>>( + base?: I, + ): MsgStoreAndMigrateContractResponse { + return MsgStoreAndMigrateContractResponse.fromPartial(base ?? {}); + }, + + fromPartial, I>>( + object: I, + ): MsgStoreAndMigrateContractResponse { + const message = createBaseMsgStoreAndMigrateContractResponse(); + message.codeId = (object.codeId !== undefined && object.codeId !== null) + ? Long.fromValue(object.codeId) + : Long.UZERO; + message.checksum = object.checksum ?? new Uint8Array(0); + message.data = object.data ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseMsgUpdateContractLabel(): MsgUpdateContractLabel { + return { sender: "", newLabel: "", contract: "" }; +} + +export const MsgUpdateContractLabel = { + encode(message: MsgUpdateContractLabel, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.sender !== "") { + writer.uint32(10).string(message.sender); + } + if (message.newLabel !== "") { + writer.uint32(18).string(message.newLabel); + } + if (message.contract !== "") { + writer.uint32(26).string(message.contract); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgUpdateContractLabel { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateContractLabel(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.sender = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.newLabel = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.contract = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgUpdateContractLabel { + return { + sender: isSet(object.sender) ? String(object.sender) : "", + newLabel: isSet(object.newLabel) ? String(object.newLabel) : "", + contract: isSet(object.contract) ? String(object.contract) : "", + }; + }, + + toJSON(message: MsgUpdateContractLabel): unknown { + const obj: any = {}; + message.sender !== undefined && (obj.sender = message.sender); + message.newLabel !== undefined && (obj.newLabel = message.newLabel); + message.contract !== undefined && (obj.contract = message.contract); + return obj; + }, + + create, I>>(base?: I): MsgUpdateContractLabel { + return MsgUpdateContractLabel.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): MsgUpdateContractLabel { + const message = createBaseMsgUpdateContractLabel(); + message.sender = object.sender ?? ""; + message.newLabel = object.newLabel ?? ""; + message.contract = object.contract ?? ""; + return message; + }, +}; + +function createBaseMsgUpdateContractLabelResponse(): MsgUpdateContractLabelResponse { + return {}; +} + +export const MsgUpdateContractLabelResponse = { + encode(_: MsgUpdateContractLabelResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgUpdateContractLabelResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgUpdateContractLabelResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgUpdateContractLabelResponse { + return {}; + }, + + toJSON(_: MsgUpdateContractLabelResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MsgUpdateContractLabelResponse { + return MsgUpdateContractLabelResponse.fromPartial(base ?? {}); + }, + + fromPartial, I>>(_: I): MsgUpdateContractLabelResponse { + const message = createBaseMsgUpdateContractLabelResponse(); + return message; + }, +}; + +/** Msg defines the wasm Msg service. */ +export interface Msg { + /** StoreCode to submit Wasm code to the system */ + StoreCode(request: MsgStoreCode): Promise; + /** + * InstantiateContract creates a new smart contract instance for the given + * code id. + */ + InstantiateContract(request: MsgInstantiateContract): Promise; + /** + * InstantiateContract2 creates a new smart contract instance for the given + * code id with a predictable address + */ + InstantiateContract2(request: MsgInstantiateContract2): Promise; + /** Execute submits the given message data to a smart contract */ + ExecuteContract(request: MsgExecuteContract): Promise; + /** Migrate runs a code upgrade/ downgrade for a smart contract */ + MigrateContract(request: MsgMigrateContract): Promise; + /** UpdateAdmin sets a new admin for a smart contract */ + UpdateAdmin(request: MsgUpdateAdmin): Promise; + /** ClearAdmin removes any admin stored for a smart contract */ + ClearAdmin(request: MsgClearAdmin): Promise; + /** UpdateInstantiateConfig updates instantiate config for a smart contract */ + UpdateInstantiateConfig(request: MsgUpdateInstantiateConfig): Promise; + /** + * UpdateParams defines a governance operation for updating the x/wasm + * module parameters. The authority is defined in the keeper. + * + * Since: 0.40 + */ + UpdateParams(request: MsgUpdateParams): Promise; + /** + * SudoContract defines a governance operation for calling sudo + * on a contract. The authority is defined in the keeper. + * + * Since: 0.40 + */ + SudoContract(request: MsgSudoContract): Promise; + /** + * PinCodes defines a governance operation for pinning a set of + * code ids in the wasmvm cache. The authority is defined in the keeper. + * + * Since: 0.40 + */ + PinCodes(request: MsgPinCodes): Promise; + /** + * UnpinCodes defines a governance operation for unpinning a set of + * code ids in the wasmvm cache. The authority is defined in the keeper. + * + * Since: 0.40 + */ + UnpinCodes(request: MsgUnpinCodes): Promise; + /** + * StoreAndInstantiateContract defines a governance operation for storing + * and instantiating the contract. The authority is defined in the keeper. + * + * Since: 0.40 + */ + StoreAndInstantiateContract(request: MsgStoreAndInstantiateContract): Promise; + /** + * RemoveCodeUploadParamsAddresses defines a governance operation for + * removing addresses from code upload params. + * The authority is defined in the keeper. + */ + RemoveCodeUploadParamsAddresses( + request: MsgRemoveCodeUploadParamsAddresses, + ): Promise; + /** + * AddCodeUploadParamsAddresses defines a governance operation for + * adding addresses to code upload params. + * The authority is defined in the keeper. + */ + AddCodeUploadParamsAddresses( + request: MsgAddCodeUploadParamsAddresses, + ): Promise; + /** + * StoreAndMigrateContract defines a governance operation for storing + * and migrating the contract. The authority is defined in the keeper. + * + * Since: 0.42 + */ + StoreAndMigrateContract(request: MsgStoreAndMigrateContract): Promise; + /** + * UpdateContractLabel sets a new label for a smart contract + * + * Since: 0.43 + */ + UpdateContractLabel(request: MsgUpdateContractLabel): Promise; +} + +export const MsgServiceName = "cosmwasm.wasm.v1.Msg"; +export class MsgClientImpl implements Msg { + private readonly rpc: Rpc; + private readonly service: string; + constructor(rpc: Rpc, opts?: { service?: string }) { + this.service = opts?.service || MsgServiceName; + this.rpc = rpc; + this.StoreCode = this.StoreCode.bind(this); + this.InstantiateContract = this.InstantiateContract.bind(this); + this.InstantiateContract2 = this.InstantiateContract2.bind(this); + this.ExecuteContract = this.ExecuteContract.bind(this); + this.MigrateContract = this.MigrateContract.bind(this); + this.UpdateAdmin = this.UpdateAdmin.bind(this); + this.ClearAdmin = this.ClearAdmin.bind(this); + this.UpdateInstantiateConfig = this.UpdateInstantiateConfig.bind(this); + this.UpdateParams = this.UpdateParams.bind(this); + this.SudoContract = this.SudoContract.bind(this); + this.PinCodes = this.PinCodes.bind(this); + this.UnpinCodes = this.UnpinCodes.bind(this); + this.StoreAndInstantiateContract = this.StoreAndInstantiateContract.bind(this); + this.RemoveCodeUploadParamsAddresses = this.RemoveCodeUploadParamsAddresses.bind(this); + this.AddCodeUploadParamsAddresses = this.AddCodeUploadParamsAddresses.bind(this); + this.StoreAndMigrateContract = this.StoreAndMigrateContract.bind(this); + this.UpdateContractLabel = this.UpdateContractLabel.bind(this); + } + StoreCode(request: MsgStoreCode): Promise { + const data = MsgStoreCode.encode(request).finish(); + const promise = this.rpc.request(this.service, "StoreCode", data); + return promise.then((data) => MsgStoreCodeResponse.decode(_m0.Reader.create(data))); + } + + InstantiateContract(request: MsgInstantiateContract): Promise { + const data = MsgInstantiateContract.encode(request).finish(); + const promise = this.rpc.request(this.service, "InstantiateContract", data); + return promise.then((data) => MsgInstantiateContractResponse.decode(_m0.Reader.create(data))); + } + + InstantiateContract2(request: MsgInstantiateContract2): Promise { + const data = MsgInstantiateContract2.encode(request).finish(); + const promise = this.rpc.request(this.service, "InstantiateContract2", data); + return promise.then((data) => MsgInstantiateContract2Response.decode(_m0.Reader.create(data))); + } + + ExecuteContract(request: MsgExecuteContract): Promise { + const data = MsgExecuteContract.encode(request).finish(); + const promise = this.rpc.request(this.service, "ExecuteContract", data); + return promise.then((data) => MsgExecuteContractResponse.decode(_m0.Reader.create(data))); + } + + MigrateContract(request: MsgMigrateContract): Promise { + const data = MsgMigrateContract.encode(request).finish(); + const promise = this.rpc.request(this.service, "MigrateContract", data); + return promise.then((data) => MsgMigrateContractResponse.decode(_m0.Reader.create(data))); + } + + UpdateAdmin(request: MsgUpdateAdmin): Promise { + const data = MsgUpdateAdmin.encode(request).finish(); + const promise = this.rpc.request(this.service, "UpdateAdmin", data); + return promise.then((data) => MsgUpdateAdminResponse.decode(_m0.Reader.create(data))); + } + + ClearAdmin(request: MsgClearAdmin): Promise { + const data = MsgClearAdmin.encode(request).finish(); + const promise = this.rpc.request(this.service, "ClearAdmin", data); + return promise.then((data) => MsgClearAdminResponse.decode(_m0.Reader.create(data))); + } + + UpdateInstantiateConfig(request: MsgUpdateInstantiateConfig): Promise { + const data = MsgUpdateInstantiateConfig.encode(request).finish(); + const promise = this.rpc.request(this.service, "UpdateInstantiateConfig", data); + return promise.then((data) => MsgUpdateInstantiateConfigResponse.decode(_m0.Reader.create(data))); + } + + UpdateParams(request: MsgUpdateParams): Promise { + const data = MsgUpdateParams.encode(request).finish(); + const promise = this.rpc.request(this.service, "UpdateParams", data); + return promise.then((data) => MsgUpdateParamsResponse.decode(_m0.Reader.create(data))); + } + + SudoContract(request: MsgSudoContract): Promise { + const data = MsgSudoContract.encode(request).finish(); + const promise = this.rpc.request(this.service, "SudoContract", data); + return promise.then((data) => MsgSudoContractResponse.decode(_m0.Reader.create(data))); + } + + PinCodes(request: MsgPinCodes): Promise { + const data = MsgPinCodes.encode(request).finish(); + const promise = this.rpc.request(this.service, "PinCodes", data); + return promise.then((data) => MsgPinCodesResponse.decode(_m0.Reader.create(data))); + } + + UnpinCodes(request: MsgUnpinCodes): Promise { + const data = MsgUnpinCodes.encode(request).finish(); + const promise = this.rpc.request(this.service, "UnpinCodes", data); + return promise.then((data) => MsgUnpinCodesResponse.decode(_m0.Reader.create(data))); + } + + StoreAndInstantiateContract( + request: MsgStoreAndInstantiateContract, + ): Promise { + const data = MsgStoreAndInstantiateContract.encode(request).finish(); + const promise = this.rpc.request(this.service, "StoreAndInstantiateContract", data); + return promise.then((data) => MsgStoreAndInstantiateContractResponse.decode(_m0.Reader.create(data))); + } + + RemoveCodeUploadParamsAddresses( + request: MsgRemoveCodeUploadParamsAddresses, + ): Promise { + const data = MsgRemoveCodeUploadParamsAddresses.encode(request).finish(); + const promise = this.rpc.request(this.service, "RemoveCodeUploadParamsAddresses", data); + return promise.then((data) => MsgRemoveCodeUploadParamsAddressesResponse.decode(_m0.Reader.create(data))); + } + + AddCodeUploadParamsAddresses( + request: MsgAddCodeUploadParamsAddresses, + ): Promise { + const data = MsgAddCodeUploadParamsAddresses.encode(request).finish(); + const promise = this.rpc.request(this.service, "AddCodeUploadParamsAddresses", data); + return promise.then((data) => MsgAddCodeUploadParamsAddressesResponse.decode(_m0.Reader.create(data))); + } + + StoreAndMigrateContract(request: MsgStoreAndMigrateContract): Promise { + const data = MsgStoreAndMigrateContract.encode(request).finish(); + const promise = this.rpc.request(this.service, "StoreAndMigrateContract", data); + return promise.then((data) => MsgStoreAndMigrateContractResponse.decode(_m0.Reader.create(data))); + } + + UpdateContractLabel(request: MsgUpdateContractLabel): Promise { + const data = MsgUpdateContractLabel.encode(request).finish(); + const promise = this.rpc.request(this.service, "UpdateContractLabel", data); + return promise.then((data) => MsgUpdateContractLabelResponse.decode(_m0.Reader.create(data))); + } +} + +interface Rpc { + request(service: string, method: string, data: Uint8Array): Promise; +} + +declare var self: any | undefined; +declare var window: any | undefined; +declare var global: any | undefined; +var tsProtoGlobalThis: any = (() => { + if (typeof globalThis !== "undefined") { + return globalThis; + } + if (typeof self !== "undefined") { + return self; + } + if (typeof window !== "undefined") { + return window; + } + if (typeof global !== "undefined") { + return global; + } + throw "Unable to locate global object"; +})(); + +function bytesFromBase64(b64: string): Uint8Array { + if (tsProtoGlobalThis.Buffer) { + return Uint8Array.from(tsProtoGlobalThis.Buffer.from(b64, "base64")); + } else { + const bin = tsProtoGlobalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if (tsProtoGlobalThis.Buffer) { + return tsProtoGlobalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(String.fromCharCode(byte)); + }); + return tsProtoGlobalThis.btoa(bin.join("")); + } +} + +type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; + +type DeepPartial = T extends Builtin ? T + : T extends Long ? string | number | Long : T extends Array ? Array> + : T extends ReadonlyArray ? ReadonlyArray> + : T extends {} ? { [K in keyof T]?: DeepPartial } + : Partial; + +type KeysOfUnion = T extends T ? keyof T : never; +type Exact = P extends Builtin ? P + : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; + +if (_m0.util.Long !== Long) { + _m0.util.Long = Long as any; + _m0.configure(); +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} diff --git a/src/protojs/cosmwasm/wasm/v1/types.ts b/src/protojs/cosmwasm/wasm/v1/types.ts new file mode 100644 index 00000000..d4d480df --- /dev/null +++ b/src/protojs/cosmwasm/wasm/v1/types.ts @@ -0,0 +1,946 @@ +/* eslint-disable */ +import Long from "long"; +import _m0 from "protobufjs/minimal"; +import { Any } from "../../../google/protobuf/any"; + +/** AccessType permission types */ +export enum AccessType { + /** ACCESS_TYPE_UNSPECIFIED - AccessTypeUnspecified placeholder for empty value */ + ACCESS_TYPE_UNSPECIFIED = 0, + /** ACCESS_TYPE_NOBODY - AccessTypeNobody forbidden */ + ACCESS_TYPE_NOBODY = 1, + /** ACCESS_TYPE_EVERYBODY - AccessTypeEverybody unrestricted */ + ACCESS_TYPE_EVERYBODY = 3, + /** ACCESS_TYPE_ANY_OF_ADDRESSES - AccessTypeAnyOfAddresses allow any of the addresses */ + ACCESS_TYPE_ANY_OF_ADDRESSES = 4, + UNRECOGNIZED = -1, +} + +export function accessTypeFromJSON(object: any): AccessType { + switch (object) { + case 0: + case "ACCESS_TYPE_UNSPECIFIED": + return AccessType.ACCESS_TYPE_UNSPECIFIED; + case 1: + case "ACCESS_TYPE_NOBODY": + return AccessType.ACCESS_TYPE_NOBODY; + case 3: + case "ACCESS_TYPE_EVERYBODY": + return AccessType.ACCESS_TYPE_EVERYBODY; + case 4: + case "ACCESS_TYPE_ANY_OF_ADDRESSES": + return AccessType.ACCESS_TYPE_ANY_OF_ADDRESSES; + case -1: + case "UNRECOGNIZED": + default: + return AccessType.UNRECOGNIZED; + } +} + +export function accessTypeToJSON(object: AccessType): string { + switch (object) { + case AccessType.ACCESS_TYPE_UNSPECIFIED: + return "ACCESS_TYPE_UNSPECIFIED"; + case AccessType.ACCESS_TYPE_NOBODY: + return "ACCESS_TYPE_NOBODY"; + case AccessType.ACCESS_TYPE_EVERYBODY: + return "ACCESS_TYPE_EVERYBODY"; + case AccessType.ACCESS_TYPE_ANY_OF_ADDRESSES: + return "ACCESS_TYPE_ANY_OF_ADDRESSES"; + case AccessType.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +/** ContractCodeHistoryOperationType actions that caused a code change */ +export enum ContractCodeHistoryOperationType { + /** CONTRACT_CODE_HISTORY_OPERATION_TYPE_UNSPECIFIED - ContractCodeHistoryOperationTypeUnspecified placeholder for empty value */ + CONTRACT_CODE_HISTORY_OPERATION_TYPE_UNSPECIFIED = 0, + /** CONTRACT_CODE_HISTORY_OPERATION_TYPE_INIT - ContractCodeHistoryOperationTypeInit on chain contract instantiation */ + CONTRACT_CODE_HISTORY_OPERATION_TYPE_INIT = 1, + /** CONTRACT_CODE_HISTORY_OPERATION_TYPE_MIGRATE - ContractCodeHistoryOperationTypeMigrate code migration */ + CONTRACT_CODE_HISTORY_OPERATION_TYPE_MIGRATE = 2, + /** CONTRACT_CODE_HISTORY_OPERATION_TYPE_GENESIS - ContractCodeHistoryOperationTypeGenesis based on genesis data */ + CONTRACT_CODE_HISTORY_OPERATION_TYPE_GENESIS = 3, + UNRECOGNIZED = -1, +} + +export function contractCodeHistoryOperationTypeFromJSON(object: any): ContractCodeHistoryOperationType { + switch (object) { + case 0: + case "CONTRACT_CODE_HISTORY_OPERATION_TYPE_UNSPECIFIED": + return ContractCodeHistoryOperationType.CONTRACT_CODE_HISTORY_OPERATION_TYPE_UNSPECIFIED; + case 1: + case "CONTRACT_CODE_HISTORY_OPERATION_TYPE_INIT": + return ContractCodeHistoryOperationType.CONTRACT_CODE_HISTORY_OPERATION_TYPE_INIT; + case 2: + case "CONTRACT_CODE_HISTORY_OPERATION_TYPE_MIGRATE": + return ContractCodeHistoryOperationType.CONTRACT_CODE_HISTORY_OPERATION_TYPE_MIGRATE; + case 3: + case "CONTRACT_CODE_HISTORY_OPERATION_TYPE_GENESIS": + return ContractCodeHistoryOperationType.CONTRACT_CODE_HISTORY_OPERATION_TYPE_GENESIS; + case -1: + case "UNRECOGNIZED": + default: + return ContractCodeHistoryOperationType.UNRECOGNIZED; + } +} + +export function contractCodeHistoryOperationTypeToJSON(object: ContractCodeHistoryOperationType): string { + switch (object) { + case ContractCodeHistoryOperationType.CONTRACT_CODE_HISTORY_OPERATION_TYPE_UNSPECIFIED: + return "CONTRACT_CODE_HISTORY_OPERATION_TYPE_UNSPECIFIED"; + case ContractCodeHistoryOperationType.CONTRACT_CODE_HISTORY_OPERATION_TYPE_INIT: + return "CONTRACT_CODE_HISTORY_OPERATION_TYPE_INIT"; + case ContractCodeHistoryOperationType.CONTRACT_CODE_HISTORY_OPERATION_TYPE_MIGRATE: + return "CONTRACT_CODE_HISTORY_OPERATION_TYPE_MIGRATE"; + case ContractCodeHistoryOperationType.CONTRACT_CODE_HISTORY_OPERATION_TYPE_GENESIS: + return "CONTRACT_CODE_HISTORY_OPERATION_TYPE_GENESIS"; + case ContractCodeHistoryOperationType.UNRECOGNIZED: + default: + return "UNRECOGNIZED"; + } +} + +/** AccessTypeParam */ +export interface AccessTypeParam { + value: AccessType; +} + +/** AccessConfig access control type. */ +export interface AccessConfig { + permission: AccessType; + addresses: string[]; +} + +/** Params defines the set of wasm parameters. */ +export interface Params { + codeUploadAccess?: AccessConfig; + instantiateDefaultPermission: AccessType; +} + +/** CodeInfo is data for the uploaded contract WASM code */ +export interface CodeInfo { + /** CodeHash is the unique identifier created by wasmvm */ + codeHash: Uint8Array; + /** Creator address who initially stored the code */ + creator: string; + /** InstantiateConfig access control to apply on contract creation, optional */ + instantiateConfig?: AccessConfig; +} + +/** ContractInfo stores a WASM contract instance */ +export interface ContractInfo { + /** CodeID is the reference to the stored Wasm code */ + codeId: Long; + /** Creator address who initially instantiated the contract */ + creator: string; + /** Admin is an optional address that can execute migrations */ + admin: string; + /** Label is optional metadata to be stored with a contract instance. */ + label: string; + /** Created Tx position when the contract was instantiated. */ + created?: AbsoluteTxPosition; + ibcPortId: string; + /** + * Extension is an extension point to store custom metadata within the + * persistence model. + */ + extension?: Any; +} + +/** ContractCodeHistoryEntry metadata to a contract. */ +export interface ContractCodeHistoryEntry { + operation: ContractCodeHistoryOperationType; + /** CodeID is the reference to the stored WASM code */ + codeId: Long; + /** Updated Tx position when the operation was executed. */ + updated?: AbsoluteTxPosition; + msg: Uint8Array; +} + +/** + * AbsoluteTxPosition is a unique transaction position that allows for global + * ordering of transactions. + */ +export interface AbsoluteTxPosition { + /** BlockHeight is the block the contract was created at */ + blockHeight: Long; + /** + * TxIndex is a monotonic counter within the block (actual transaction index, + * or gas consumed) + */ + txIndex: Long; +} + +/** Model is a struct that holds a KV pair */ +export interface Model { + /** hex-encode key to read it better (this is often ascii) */ + key: Uint8Array; + /** base64-encode raw value */ + value: Uint8Array; +} + +function createBaseAccessTypeParam(): AccessTypeParam { + return { value: 0 }; +} + +export const AccessTypeParam = { + encode(message: AccessTypeParam, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.value !== 0) { + writer.uint32(8).int32(message.value); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): AccessTypeParam { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAccessTypeParam(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.value = reader.int32() as any; + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): AccessTypeParam { + return { value: isSet(object.value) ? accessTypeFromJSON(object.value) : 0 }; + }, + + toJSON(message: AccessTypeParam): unknown { + const obj: any = {}; + message.value !== undefined && (obj.value = accessTypeToJSON(message.value)); + return obj; + }, + + create, I>>(base?: I): AccessTypeParam { + return AccessTypeParam.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): AccessTypeParam { + const message = createBaseAccessTypeParam(); + message.value = object.value ?? 0; + return message; + }, +}; + +function createBaseAccessConfig(): AccessConfig { + return { permission: 0, addresses: [] }; +} + +export const AccessConfig = { + encode(message: AccessConfig, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.permission !== 0) { + writer.uint32(8).int32(message.permission); + } + for (const v of message.addresses) { + writer.uint32(26).string(v!); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): AccessConfig { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAccessConfig(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.permission = reader.int32() as any; + continue; + case 3: + if (tag !== 26) { + break; + } + + message.addresses.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): AccessConfig { + return { + permission: isSet(object.permission) ? accessTypeFromJSON(object.permission) : 0, + addresses: Array.isArray(object?.addresses) ? object.addresses.map((e: any) => String(e)) : [], + }; + }, + + toJSON(message: AccessConfig): unknown { + const obj: any = {}; + message.permission !== undefined && (obj.permission = accessTypeToJSON(message.permission)); + if (message.addresses) { + obj.addresses = message.addresses.map((e) => e); + } else { + obj.addresses = []; + } + return obj; + }, + + create, I>>(base?: I): AccessConfig { + return AccessConfig.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): AccessConfig { + const message = createBaseAccessConfig(); + message.permission = object.permission ?? 0; + message.addresses = object.addresses?.map((e) => e) || []; + return message; + }, +}; + +function createBaseParams(): Params { + return { codeUploadAccess: undefined, instantiateDefaultPermission: 0 }; +} + +export const Params = { + encode(message: Params, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.codeUploadAccess !== undefined) { + AccessConfig.encode(message.codeUploadAccess, writer.uint32(10).fork()).ldelim(); + } + if (message.instantiateDefaultPermission !== 0) { + writer.uint32(16).int32(message.instantiateDefaultPermission); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): Params { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseParams(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.codeUploadAccess = AccessConfig.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 16) { + break; + } + + message.instantiateDefaultPermission = reader.int32() as any; + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): Params { + return { + codeUploadAccess: isSet(object.codeUploadAccess) ? AccessConfig.fromJSON(object.codeUploadAccess) : undefined, + instantiateDefaultPermission: isSet(object.instantiateDefaultPermission) + ? accessTypeFromJSON(object.instantiateDefaultPermission) + : 0, + }; + }, + + toJSON(message: Params): unknown { + const obj: any = {}; + message.codeUploadAccess !== undefined && + (obj.codeUploadAccess = message.codeUploadAccess ? AccessConfig.toJSON(message.codeUploadAccess) : undefined); + message.instantiateDefaultPermission !== undefined && + (obj.instantiateDefaultPermission = accessTypeToJSON(message.instantiateDefaultPermission)); + return obj; + }, + + create, I>>(base?: I): Params { + return Params.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): Params { + const message = createBaseParams(); + message.codeUploadAccess = (object.codeUploadAccess !== undefined && object.codeUploadAccess !== null) + ? AccessConfig.fromPartial(object.codeUploadAccess) + : undefined; + message.instantiateDefaultPermission = object.instantiateDefaultPermission ?? 0; + return message; + }, +}; + +function createBaseCodeInfo(): CodeInfo { + return { codeHash: new Uint8Array(0), creator: "", instantiateConfig: undefined }; +} + +export const CodeInfo = { + encode(message: CodeInfo, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.codeHash.length !== 0) { + writer.uint32(10).bytes(message.codeHash); + } + if (message.creator !== "") { + writer.uint32(18).string(message.creator); + } + if (message.instantiateConfig !== undefined) { + AccessConfig.encode(message.instantiateConfig, writer.uint32(42).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): CodeInfo { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseCodeInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.codeHash = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.creator = reader.string(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.instantiateConfig = AccessConfig.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): CodeInfo { + return { + codeHash: isSet(object.codeHash) ? bytesFromBase64(object.codeHash) : new Uint8Array(0), + creator: isSet(object.creator) ? String(object.creator) : "", + instantiateConfig: isSet(object.instantiateConfig) ? AccessConfig.fromJSON(object.instantiateConfig) : undefined, + }; + }, + + toJSON(message: CodeInfo): unknown { + const obj: any = {}; + message.codeHash !== undefined && + (obj.codeHash = base64FromBytes(message.codeHash !== undefined ? message.codeHash : new Uint8Array(0))); + message.creator !== undefined && (obj.creator = message.creator); + message.instantiateConfig !== undefined && + (obj.instantiateConfig = message.instantiateConfig ? AccessConfig.toJSON(message.instantiateConfig) : undefined); + return obj; + }, + + create, I>>(base?: I): CodeInfo { + return CodeInfo.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): CodeInfo { + const message = createBaseCodeInfo(); + message.codeHash = object.codeHash ?? new Uint8Array(0); + message.creator = object.creator ?? ""; + message.instantiateConfig = (object.instantiateConfig !== undefined && object.instantiateConfig !== null) + ? AccessConfig.fromPartial(object.instantiateConfig) + : undefined; + return message; + }, +}; + +function createBaseContractInfo(): ContractInfo { + return { + codeId: Long.UZERO, + creator: "", + admin: "", + label: "", + created: undefined, + ibcPortId: "", + extension: undefined, + }; +} + +export const ContractInfo = { + encode(message: ContractInfo, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (!message.codeId.isZero()) { + writer.uint32(8).uint64(message.codeId); + } + if (message.creator !== "") { + writer.uint32(18).string(message.creator); + } + if (message.admin !== "") { + writer.uint32(26).string(message.admin); + } + if (message.label !== "") { + writer.uint32(34).string(message.label); + } + if (message.created !== undefined) { + AbsoluteTxPosition.encode(message.created, writer.uint32(42).fork()).ldelim(); + } + if (message.ibcPortId !== "") { + writer.uint32(50).string(message.ibcPortId); + } + if (message.extension !== undefined) { + Any.encode(message.extension, writer.uint32(58).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ContractInfo { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContractInfo(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.codeId = reader.uint64() as Long; + continue; + case 2: + if (tag !== 18) { + break; + } + + message.creator = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.admin = reader.string(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.label = reader.string(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.created = AbsoluteTxPosition.decode(reader, reader.uint32()); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.ibcPortId = reader.string(); + continue; + case 7: + if (tag !== 58) { + break; + } + + message.extension = Any.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ContractInfo { + return { + codeId: isSet(object.codeId) ? Long.fromValue(object.codeId) : Long.UZERO, + creator: isSet(object.creator) ? String(object.creator) : "", + admin: isSet(object.admin) ? String(object.admin) : "", + label: isSet(object.label) ? String(object.label) : "", + created: isSet(object.created) ? AbsoluteTxPosition.fromJSON(object.created) : undefined, + ibcPortId: isSet(object.ibcPortId) ? String(object.ibcPortId) : "", + extension: isSet(object.extension) ? Any.fromJSON(object.extension) : undefined, + }; + }, + + toJSON(message: ContractInfo): unknown { + const obj: any = {}; + message.codeId !== undefined && (obj.codeId = (message.codeId || Long.UZERO).toString()); + message.creator !== undefined && (obj.creator = message.creator); + message.admin !== undefined && (obj.admin = message.admin); + message.label !== undefined && (obj.label = message.label); + message.created !== undefined && + (obj.created = message.created ? AbsoluteTxPosition.toJSON(message.created) : undefined); + message.ibcPortId !== undefined && (obj.ibcPortId = message.ibcPortId); + message.extension !== undefined && (obj.extension = message.extension ? Any.toJSON(message.extension) : undefined); + return obj; + }, + + create, I>>(base?: I): ContractInfo { + return ContractInfo.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): ContractInfo { + const message = createBaseContractInfo(); + message.codeId = (object.codeId !== undefined && object.codeId !== null) + ? Long.fromValue(object.codeId) + : Long.UZERO; + message.creator = object.creator ?? ""; + message.admin = object.admin ?? ""; + message.label = object.label ?? ""; + message.created = (object.created !== undefined && object.created !== null) + ? AbsoluteTxPosition.fromPartial(object.created) + : undefined; + message.ibcPortId = object.ibcPortId ?? ""; + message.extension = (object.extension !== undefined && object.extension !== null) + ? Any.fromPartial(object.extension) + : undefined; + return message; + }, +}; + +function createBaseContractCodeHistoryEntry(): ContractCodeHistoryEntry { + return { operation: 0, codeId: Long.UZERO, updated: undefined, msg: new Uint8Array(0) }; +} + +export const ContractCodeHistoryEntry = { + encode(message: ContractCodeHistoryEntry, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.operation !== 0) { + writer.uint32(8).int32(message.operation); + } + if (!message.codeId.isZero()) { + writer.uint32(16).uint64(message.codeId); + } + if (message.updated !== undefined) { + AbsoluteTxPosition.encode(message.updated, writer.uint32(26).fork()).ldelim(); + } + if (message.msg.length !== 0) { + writer.uint32(34).bytes(message.msg); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ContractCodeHistoryEntry { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseContractCodeHistoryEntry(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.operation = reader.int32() as any; + continue; + case 2: + if (tag !== 16) { + break; + } + + message.codeId = reader.uint64() as Long; + continue; + case 3: + if (tag !== 26) { + break; + } + + message.updated = AbsoluteTxPosition.decode(reader, reader.uint32()); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.msg = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ContractCodeHistoryEntry { + return { + operation: isSet(object.operation) ? contractCodeHistoryOperationTypeFromJSON(object.operation) : 0, + codeId: isSet(object.codeId) ? Long.fromValue(object.codeId) : Long.UZERO, + updated: isSet(object.updated) ? AbsoluteTxPosition.fromJSON(object.updated) : undefined, + msg: isSet(object.msg) ? bytesFromBase64(object.msg) : new Uint8Array(0), + }; + }, + + toJSON(message: ContractCodeHistoryEntry): unknown { + const obj: any = {}; + message.operation !== undefined && (obj.operation = contractCodeHistoryOperationTypeToJSON(message.operation)); + message.codeId !== undefined && (obj.codeId = (message.codeId || Long.UZERO).toString()); + message.updated !== undefined && + (obj.updated = message.updated ? AbsoluteTxPosition.toJSON(message.updated) : undefined); + message.msg !== undefined && + (obj.msg = base64FromBytes(message.msg !== undefined ? message.msg : new Uint8Array(0))); + return obj; + }, + + create, I>>(base?: I): ContractCodeHistoryEntry { + return ContractCodeHistoryEntry.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): ContractCodeHistoryEntry { + const message = createBaseContractCodeHistoryEntry(); + message.operation = object.operation ?? 0; + message.codeId = (object.codeId !== undefined && object.codeId !== null) + ? Long.fromValue(object.codeId) + : Long.UZERO; + message.updated = (object.updated !== undefined && object.updated !== null) + ? AbsoluteTxPosition.fromPartial(object.updated) + : undefined; + message.msg = object.msg ?? new Uint8Array(0); + return message; + }, +}; + +function createBaseAbsoluteTxPosition(): AbsoluteTxPosition { + return { blockHeight: Long.UZERO, txIndex: Long.UZERO }; +} + +export const AbsoluteTxPosition = { + encode(message: AbsoluteTxPosition, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (!message.blockHeight.isZero()) { + writer.uint32(8).uint64(message.blockHeight); + } + if (!message.txIndex.isZero()) { + writer.uint32(16).uint64(message.txIndex); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): AbsoluteTxPosition { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseAbsoluteTxPosition(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 8) { + break; + } + + message.blockHeight = reader.uint64() as Long; + continue; + case 2: + if (tag !== 16) { + break; + } + + message.txIndex = reader.uint64() as Long; + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): AbsoluteTxPosition { + return { + blockHeight: isSet(object.blockHeight) ? Long.fromValue(object.blockHeight) : Long.UZERO, + txIndex: isSet(object.txIndex) ? Long.fromValue(object.txIndex) : Long.UZERO, + }; + }, + + toJSON(message: AbsoluteTxPosition): unknown { + const obj: any = {}; + message.blockHeight !== undefined && (obj.blockHeight = (message.blockHeight || Long.UZERO).toString()); + message.txIndex !== undefined && (obj.txIndex = (message.txIndex || Long.UZERO).toString()); + return obj; + }, + + create, I>>(base?: I): AbsoluteTxPosition { + return AbsoluteTxPosition.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): AbsoluteTxPosition { + const message = createBaseAbsoluteTxPosition(); + message.blockHeight = (object.blockHeight !== undefined && object.blockHeight !== null) + ? Long.fromValue(object.blockHeight) + : Long.UZERO; + message.txIndex = (object.txIndex !== undefined && object.txIndex !== null) + ? Long.fromValue(object.txIndex) + : Long.UZERO; + return message; + }, +}; + +function createBaseModel(): Model { + return { key: new Uint8Array(0), value: new Uint8Array(0) }; +} + +export const Model = { + encode(message: Model, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.key.length !== 0) { + writer.uint32(10).bytes(message.key); + } + if (message.value.length !== 0) { + writer.uint32(18).bytes(message.value); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): Model { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseModel(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.key = reader.bytes(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.value = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): Model { + return { + key: isSet(object.key) ? bytesFromBase64(object.key) : new Uint8Array(0), + value: isSet(object.value) ? bytesFromBase64(object.value) : new Uint8Array(0), + }; + }, + + toJSON(message: Model): unknown { + const obj: any = {}; + message.key !== undefined && + (obj.key = base64FromBytes(message.key !== undefined ? message.key : new Uint8Array(0))); + message.value !== undefined && + (obj.value = base64FromBytes(message.value !== undefined ? message.value : new Uint8Array(0))); + return obj; + }, + + create, I>>(base?: I): Model { + return Model.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): Model { + const message = createBaseModel(); + message.key = object.key ?? new Uint8Array(0); + message.value = object.value ?? new Uint8Array(0); + return message; + }, +}; + +declare var self: any | undefined; +declare var window: any | undefined; +declare var global: any | undefined; +var tsProtoGlobalThis: any = (() => { + if (typeof globalThis !== "undefined") { + return globalThis; + } + if (typeof self !== "undefined") { + return self; + } + if (typeof window !== "undefined") { + return window; + } + if (typeof global !== "undefined") { + return global; + } + throw "Unable to locate global object"; +})(); + +function bytesFromBase64(b64: string): Uint8Array { + if (tsProtoGlobalThis.Buffer) { + return Uint8Array.from(tsProtoGlobalThis.Buffer.from(b64, "base64")); + } else { + const bin = tsProtoGlobalThis.atob(b64); + const arr = new Uint8Array(bin.length); + for (let i = 0; i < bin.length; ++i) { + arr[i] = bin.charCodeAt(i); + } + return arr; + } +} + +function base64FromBytes(arr: Uint8Array): string { + if (tsProtoGlobalThis.Buffer) { + return tsProtoGlobalThis.Buffer.from(arr).toString("base64"); + } else { + const bin: string[] = []; + arr.forEach((byte) => { + bin.push(String.fromCharCode(byte)); + }); + return tsProtoGlobalThis.btoa(bin.join("")); + } +} + +type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; + +type DeepPartial = T extends Builtin ? T + : T extends Long ? string | number | Long : T extends Array ? Array> + : T extends ReadonlyArray ? ReadonlyArray> + : T extends {} ? { [K in keyof T]?: DeepPartial } + : Partial; + +type KeysOfUnion = T extends T ? keyof T : never; +type Exact = P extends Builtin ? P + : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; + +if (_m0.util.Long !== Long) { + _m0.util.Long = Long as any; + _m0.configure(); +} + +function isSet(value: any): boolean { + return value !== null && value !== undefined; +} diff --git a/src/protojs/eth/evm/module/module.ts b/src/protojs/eth/evm/module/module.ts deleted file mode 100644 index 6e13be70..00000000 --- a/src/protojs/eth/evm/module/module.ts +++ /dev/null @@ -1,172 +0,0 @@ -/* eslint-disable */ -import Long from "long"; -import _m0 from "protobufjs/minimal"; - -/** Module is the config object for the devgas module. */ -export interface Module { - /** authority defines the custom module authority. If not set, defaults to the governance module. */ - authority: string; -} - -/** ModuleAccountPermission represents permissions for a module account. */ -export interface ModuleAccountPermission { - /** account is the name of the module. */ - account: string; - /** - * permissions are the permissions this module has. Currently recognized - * values are minter, burner and staking. - */ - permissions: string[]; -} - -function createBaseModule(): Module { - return { authority: "" }; -} - -export const Module = { - encode(message: Module, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.authority !== "") { - writer.uint32(10).string(message.authority); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): Module { - const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseModule(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (tag !== 10) { - break; - } - - message.authority = reader.string(); - continue; - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skipType(tag & 7); - } - return message; - }, - - fromJSON(object: any): Module { - return { authority: isSet(object.authority) ? String(object.authority) : "" }; - }, - - toJSON(message: Module): unknown { - const obj: any = {}; - message.authority !== undefined && (obj.authority = message.authority); - return obj; - }, - - create, I>>(base?: I): Module { - return Module.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): Module { - const message = createBaseModule(); - message.authority = object.authority ?? ""; - return message; - }, -}; - -function createBaseModuleAccountPermission(): ModuleAccountPermission { - return { account: "", permissions: [] }; -} - -export const ModuleAccountPermission = { - encode(message: ModuleAccountPermission, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.account !== "") { - writer.uint32(10).string(message.account); - } - for (const v of message.permissions) { - writer.uint32(18).string(v!); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): ModuleAccountPermission { - const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseModuleAccountPermission(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (tag !== 10) { - break; - } - - message.account = reader.string(); - continue; - case 2: - if (tag !== 18) { - break; - } - - message.permissions.push(reader.string()); - continue; - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skipType(tag & 7); - } - return message; - }, - - fromJSON(object: any): ModuleAccountPermission { - return { - account: isSet(object.account) ? String(object.account) : "", - permissions: Array.isArray(object?.permissions) ? object.permissions.map((e: any) => String(e)) : [], - }; - }, - - toJSON(message: ModuleAccountPermission): unknown { - const obj: any = {}; - message.account !== undefined && (obj.account = message.account); - if (message.permissions) { - obj.permissions = message.permissions.map((e) => e); - } else { - obj.permissions = []; - } - return obj; - }, - - create, I>>(base?: I): ModuleAccountPermission { - return ModuleAccountPermission.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): ModuleAccountPermission { - const message = createBaseModuleAccountPermission(); - message.account = object.account ?? ""; - message.permissions = object.permissions?.map((e) => e) || []; - return message; - }, -}; - -type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; - -type DeepPartial = T extends Builtin ? T - : T extends Long ? string | number | Long : T extends Array ? Array> - : T extends ReadonlyArray ? ReadonlyArray> - : T extends {} ? { [K in keyof T]?: DeepPartial } - : Partial; - -type KeysOfUnion = T extends T ? keyof T : never; -type Exact = P extends Builtin ? P - : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; - -if (_m0.util.Long !== Long) { - _m0.util.Long = Long as any; - _m0.configure(); -} - -function isSet(value: any): boolean { - return value !== null && value !== undefined; -} diff --git a/src/protojs/eth/evm/v1/events.ts b/src/protojs/eth/evm/v1/events.ts index 439bd006..72131781 100644 --- a/src/protojs/eth/evm/v1/events.ts +++ b/src/protojs/eth/evm/v1/events.ts @@ -2,7 +2,7 @@ import Long from "long"; import _m0 from "protobufjs/minimal"; import { Coin } from "../../../cosmos/base/v1beta1/coin"; -import { Log } from "./evm"; +import { Log, LogLite } from "./evm"; /** Copyright (c) 2023-2024 Nibi, Inc. */ @@ -56,6 +56,7 @@ export interface EventConvertCoinToEvm { erc20ContractAddress: string; toEthAddr: string; bankCoin?: Coin; + evmLogs: LogLite[]; } /** EventTransfer defines event for EVM transfer */ @@ -78,8 +79,8 @@ export interface EventContractExecuted { } /** - * EventConvertEvmToCoin is an event emitted when converting ERC20 tokens to Bank - * Coins with the "eth.evm.v1.MsgConvertEvmToCoin" transaction message. + * EventConvertEvmToCoin is an event emitted when converting ERC20 tokens to + * Bank Coins with the "eth.evm.v1.MsgConvertEvmToCoin" transaction message. */ export interface EventConvertEvmToCoin { sender: string; @@ -87,6 +88,29 @@ export interface EventConvertEvmToCoin { toAddress: string; bankCoin?: Coin; senderEthAddr: string; + evmLogs: LogLite[]; +} + +/** + * EventWeiBlockDelta is an event emitted when there is a non-zero value for + * block delta (change) in wei in the EVM end block handler. + */ +export interface EventWeiBlockDelta { + /** + * net_wei_block_delta is the new sum of all "wei_block_delta" changes up to + * this point. It is the value for "NetWeiBlockDelta" in the EVM state. + */ + netWeiBlockDelta: string; + /** + * WeiBlockDelta is the net sum of all calls of "AddWei" and "SubWei" in the + * current block. There is no guarantee in the functional sense that the EVM + * State DB will add the same amount it subtracts. It is possible for the + * total amount of wei (NIBI) across all accounts to diverge from the initial + * supply. "WeiBlockDelta" is a mechanism for recording that if it happens. + */ + weiBlockDelta: string; + /** block_number for which this event is emitted during EVM EndBlock */ + blockNumber: Long; } function createBaseEventEthereumTx(): EventEthereumTx { @@ -439,7 +463,7 @@ export const EventFunTokenCreated = { }; function createBaseEventConvertCoinToEvm(): EventConvertCoinToEvm { - return { sender: "", erc20ContractAddress: "", toEthAddr: "", bankCoin: undefined }; + return { sender: "", erc20ContractAddress: "", toEthAddr: "", bankCoin: undefined, evmLogs: [] }; } export const EventConvertCoinToEvm = { @@ -456,6 +480,9 @@ export const EventConvertCoinToEvm = { if (message.bankCoin !== undefined) { Coin.encode(message.bankCoin, writer.uint32(34).fork()).ldelim(); } + for (const v of message.evmLogs) { + LogLite.encode(v!, writer.uint32(42).fork()).ldelim(); + } return writer; }, @@ -494,6 +521,13 @@ export const EventConvertCoinToEvm = { message.bankCoin = Coin.decode(reader, reader.uint32()); continue; + case 5: + if (tag !== 42) { + break; + } + + message.evmLogs.push(LogLite.decode(reader, reader.uint32())); + continue; } if ((tag & 7) === 4 || tag === 0) { break; @@ -509,6 +543,7 @@ export const EventConvertCoinToEvm = { erc20ContractAddress: isSet(object.erc20ContractAddress) ? String(object.erc20ContractAddress) : "", toEthAddr: isSet(object.toEthAddr) ? String(object.toEthAddr) : "", bankCoin: isSet(object.bankCoin) ? Coin.fromJSON(object.bankCoin) : undefined, + evmLogs: Array.isArray(object?.evmLogs) ? object.evmLogs.map((e: any) => LogLite.fromJSON(e)) : [], }; }, @@ -518,6 +553,11 @@ export const EventConvertCoinToEvm = { message.erc20ContractAddress !== undefined && (obj.erc20ContractAddress = message.erc20ContractAddress); message.toEthAddr !== undefined && (obj.toEthAddr = message.toEthAddr); message.bankCoin !== undefined && (obj.bankCoin = message.bankCoin ? Coin.toJSON(message.bankCoin) : undefined); + if (message.evmLogs) { + obj.evmLogs = message.evmLogs.map((e) => e ? LogLite.toJSON(e) : undefined); + } else { + obj.evmLogs = []; + } return obj; }, @@ -533,6 +573,7 @@ export const EventConvertCoinToEvm = { message.bankCoin = (object.bankCoin !== undefined && object.bankCoin !== null) ? Coin.fromPartial(object.bankCoin) : undefined; + message.evmLogs = object.evmLogs?.map((e) => LogLite.fromPartial(e)) || []; return message; }, }; @@ -764,7 +805,7 @@ export const EventContractExecuted = { }; function createBaseEventConvertEvmToCoin(): EventConvertEvmToCoin { - return { sender: "", erc20ContractAddress: "", toAddress: "", bankCoin: undefined, senderEthAddr: "" }; + return { sender: "", erc20ContractAddress: "", toAddress: "", bankCoin: undefined, senderEthAddr: "", evmLogs: [] }; } export const EventConvertEvmToCoin = { @@ -784,6 +825,9 @@ export const EventConvertEvmToCoin = { if (message.senderEthAddr !== "") { writer.uint32(50).string(message.senderEthAddr); } + for (const v of message.evmLogs) { + LogLite.encode(v!, writer.uint32(58).fork()).ldelim(); + } return writer; }, @@ -829,6 +873,13 @@ export const EventConvertEvmToCoin = { message.senderEthAddr = reader.string(); continue; + case 7: + if (tag !== 58) { + break; + } + + message.evmLogs.push(LogLite.decode(reader, reader.uint32())); + continue; } if ((tag & 7) === 4 || tag === 0) { break; @@ -845,6 +896,7 @@ export const EventConvertEvmToCoin = { toAddress: isSet(object.toAddress) ? String(object.toAddress) : "", bankCoin: isSet(object.bankCoin) ? Coin.fromJSON(object.bankCoin) : undefined, senderEthAddr: isSet(object.senderEthAddr) ? String(object.senderEthAddr) : "", + evmLogs: Array.isArray(object?.evmLogs) ? object.evmLogs.map((e: any) => LogLite.fromJSON(e)) : [], }; }, @@ -855,6 +907,11 @@ export const EventConvertEvmToCoin = { message.toAddress !== undefined && (obj.toAddress = message.toAddress); message.bankCoin !== undefined && (obj.bankCoin = message.bankCoin ? Coin.toJSON(message.bankCoin) : undefined); message.senderEthAddr !== undefined && (obj.senderEthAddr = message.senderEthAddr); + if (message.evmLogs) { + obj.evmLogs = message.evmLogs.map((e) => e ? LogLite.toJSON(e) : undefined); + } else { + obj.evmLogs = []; + } return obj; }, @@ -871,6 +928,93 @@ export const EventConvertEvmToCoin = { ? Coin.fromPartial(object.bankCoin) : undefined; message.senderEthAddr = object.senderEthAddr ?? ""; + message.evmLogs = object.evmLogs?.map((e) => LogLite.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseEventWeiBlockDelta(): EventWeiBlockDelta { + return { netWeiBlockDelta: "", weiBlockDelta: "", blockNumber: Long.UZERO }; +} + +export const EventWeiBlockDelta = { + encode(message: EventWeiBlockDelta, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.netWeiBlockDelta !== "") { + writer.uint32(10).string(message.netWeiBlockDelta); + } + if (message.weiBlockDelta !== "") { + writer.uint32(18).string(message.weiBlockDelta); + } + if (!message.blockNumber.isZero()) { + writer.uint32(24).uint64(message.blockNumber); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): EventWeiBlockDelta { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseEventWeiBlockDelta(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.netWeiBlockDelta = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.weiBlockDelta = reader.string(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.blockNumber = reader.uint64() as Long; + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): EventWeiBlockDelta { + return { + netWeiBlockDelta: isSet(object.netWeiBlockDelta) ? String(object.netWeiBlockDelta) : "", + weiBlockDelta: isSet(object.weiBlockDelta) ? String(object.weiBlockDelta) : "", + blockNumber: isSet(object.blockNumber) ? Long.fromValue(object.blockNumber) : Long.UZERO, + }; + }, + + toJSON(message: EventWeiBlockDelta): unknown { + const obj: any = {}; + message.netWeiBlockDelta !== undefined && (obj.netWeiBlockDelta = message.netWeiBlockDelta); + message.weiBlockDelta !== undefined && (obj.weiBlockDelta = message.weiBlockDelta); + message.blockNumber !== undefined && (obj.blockNumber = (message.blockNumber || Long.UZERO).toString()); + return obj; + }, + + create, I>>(base?: I): EventWeiBlockDelta { + return EventWeiBlockDelta.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): EventWeiBlockDelta { + const message = createBaseEventWeiBlockDelta(); + message.netWeiBlockDelta = object.netWeiBlockDelta ?? ""; + message.weiBlockDelta = object.weiBlockDelta ?? ""; + message.blockNumber = (object.blockNumber !== undefined && object.blockNumber !== null) + ? Long.fromValue(object.blockNumber) + : Long.UZERO; return message; }, }; diff --git a/src/protojs/eth/evm/v1/evm.ts b/src/protojs/eth/evm/v1/evm.ts index 2b3246de..3b36c042 100644 --- a/src/protojs/eth/evm/v1/evm.ts +++ b/src/protojs/eth/evm/v1/evm.ts @@ -36,6 +36,22 @@ export interface Params { createFuntokenFee: string; /** Hexadecimal address of the canonical WNIBI contract on Nibiru mainnet */ canonicalWnibi: string; + wasmPlugins: WasmPlugin[]; +} + +/** + * WasmPlugin binds a stable plugin name to a Wasm contract address. + * + * EVM code should look up plugins by name instead of hard-coding Wasm contract + * addresses. For example, plugin name "x-oracle" can identify the Wasm adapter + * used by the legacy oracle precompile at + * 0x0000000000000000000000000000000000000801. + */ +export interface WasmPlugin { + /** Name is a human-readable name for the plugin. */ + name: string; + /** Addr is the Wasm smart contract address that defines the plugin */ + addr: string; } /** State represents a single Storage key value pair item. */ @@ -79,6 +95,22 @@ export interface Log { removed: boolean; } +/** + * LogLite holds the consensus fields from an Ethereum log for a contract + * event. This structure is used to record EVM logs emitted within non-Ethreum + * transactions, such as "eth.evm.v1.MsgConvertCoinToEvm". Similar to full logs, + * these events are generated by the LOG opcode, however [LogLite] instances are + * not stored/indexed by the node. + */ +export interface LogLite { + /** address of the contract that generated the event */ + address: string; + /** topics is a list of topics provided by the contract. */ + topics: string[]; + /** data which is supplied by the contract, usually ABI-encoded */ + data: Uint8Array; +} + /** AccessTuple is the element type of an access list. */ export interface AccessTuple { /** address is a hex formatted ethereum address */ @@ -209,7 +241,7 @@ export const FunToken = { }; function createBaseParams(): Params { - return { extraEips: [], evmChannels: [], createFuntokenFee: "", canonicalWnibi: "" }; + return { extraEips: [], evmChannels: [], createFuntokenFee: "", canonicalWnibi: "", wasmPlugins: [] }; } export const Params = { @@ -228,6 +260,9 @@ export const Params = { if (message.canonicalWnibi !== "") { writer.uint32(82).string(message.canonicalWnibi); } + for (const v of message.wasmPlugins) { + WasmPlugin.encode(v!, writer.uint32(90).fork()).ldelim(); + } return writer; }, @@ -276,6 +311,13 @@ export const Params = { message.canonicalWnibi = reader.string(); continue; + case 11: + if (tag !== 90) { + break; + } + + message.wasmPlugins.push(WasmPlugin.decode(reader, reader.uint32())); + continue; } if ((tag & 7) === 4 || tag === 0) { break; @@ -291,6 +333,7 @@ export const Params = { evmChannels: Array.isArray(object?.evmChannels) ? object.evmChannels.map((e: any) => String(e)) : [], createFuntokenFee: isSet(object.createFuntokenFee) ? String(object.createFuntokenFee) : "", canonicalWnibi: isSet(object.canonicalWnibi) ? String(object.canonicalWnibi) : "", + wasmPlugins: Array.isArray(object?.wasmPlugins) ? object.wasmPlugins.map((e: any) => WasmPlugin.fromJSON(e)) : [], }; }, @@ -308,6 +351,11 @@ export const Params = { } message.createFuntokenFee !== undefined && (obj.createFuntokenFee = message.createFuntokenFee); message.canonicalWnibi !== undefined && (obj.canonicalWnibi = message.canonicalWnibi); + if (message.wasmPlugins) { + obj.wasmPlugins = message.wasmPlugins.map((e) => e ? WasmPlugin.toJSON(e) : undefined); + } else { + obj.wasmPlugins = []; + } return obj; }, @@ -321,6 +369,75 @@ export const Params = { message.evmChannels = object.evmChannels?.map((e) => e) || []; message.createFuntokenFee = object.createFuntokenFee ?? ""; message.canonicalWnibi = object.canonicalWnibi ?? ""; + message.wasmPlugins = object.wasmPlugins?.map((e) => WasmPlugin.fromPartial(e)) || []; + return message; + }, +}; + +function createBaseWasmPlugin(): WasmPlugin { + return { name: "", addr: "" }; +} + +export const WasmPlugin = { + encode(message: WasmPlugin, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.name !== "") { + writer.uint32(10).string(message.name); + } + if (message.addr !== "") { + writer.uint32(18).string(message.addr); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): WasmPlugin { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseWasmPlugin(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.name = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.addr = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): WasmPlugin { + return { name: isSet(object.name) ? String(object.name) : "", addr: isSet(object.addr) ? String(object.addr) : "" }; + }, + + toJSON(message: WasmPlugin): unknown { + const obj: any = {}; + message.name !== undefined && (obj.name = message.name); + message.addr !== undefined && (obj.addr = message.addr); + return obj; + }, + + create, I>>(base?: I): WasmPlugin { + return WasmPlugin.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): WasmPlugin { + const message = createBaseWasmPlugin(); + message.name = object.name ?? ""; + message.addr = object.addr ?? ""; return message; }, }; @@ -574,6 +691,95 @@ export const Log = { }, }; +function createBaseLogLite(): LogLite { + return { address: "", topics: [], data: new Uint8Array(0) }; +} + +export const LogLite = { + encode(message: LogLite, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + for (const v of message.topics) { + writer.uint32(18).string(v!); + } + if (message.data.length !== 0) { + writer.uint32(26).bytes(message.data); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): LogLite { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseLogLite(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.topics.push(reader.string()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.data = reader.bytes(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): LogLite { + return { + address: isSet(object.address) ? String(object.address) : "", + topics: Array.isArray(object?.topics) ? object.topics.map((e: any) => String(e)) : [], + data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0), + }; + }, + + toJSON(message: LogLite): unknown { + const obj: any = {}; + message.address !== undefined && (obj.address = message.address); + if (message.topics) { + obj.topics = message.topics.map((e) => e); + } else { + obj.topics = []; + } + message.data !== undefined && + (obj.data = base64FromBytes(message.data !== undefined ? message.data : new Uint8Array(0))); + return obj; + }, + + create, I>>(base?: I): LogLite { + return LogLite.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): LogLite { + const message = createBaseLogLite(); + message.address = object.address ?? ""; + message.topics = object.topics?.map((e) => e) || []; + message.data = object.data ?? new Uint8Array(0); + return message; + }, +}; + function createBaseAccessTuple(): AccessTuple { return { address: "", storageKeys: [] }; } diff --git a/src/protojs/eth/evm/v1/query.ts b/src/protojs/eth/evm/v1/query.ts index d466b406..a1fb12e5 100644 --- a/src/protojs/eth/evm/v1/query.ts +++ b/src/protojs/eth/evm/v1/query.ts @@ -8,25 +8,32 @@ import { MsgEthereumTx, MsgEthereumTxResponse } from "./tx"; /** Copyright (c) 2023-2024 Nibi, Inc. */ -/** QueryEthAccountRequest is the request type for the Query/Account RPC method. */ +/** QueryEthAccountRequest: Request type for "/eth.evm.v1.Query/EthAccount" */ export interface QueryEthAccountRequest { - /** address is the Ethereum hex address or nibi Bech32 address to query the account for. */ + /** + * address is the Ethereum hex address or nibi Bech32 address to query the + * account for. + */ address: string; } -/** QueryEthAccountResponse is the response type for the Query/EthAccount RPC method. */ +/** QueryEthAccountResponse: Response type for "/eth.evm.v1.Query/EthAccount" */ export interface QueryEthAccountResponse { - /** balance is the balance of unibi (micronibi). */ - balance: string; - /** balance_wei is the balance of wei (attoether, where NIBI is ether). */ + /** balance_wei is the balance of wei (attoNIBI, since NIBI is ether). */ balanceWei: string; - /** code_hash is the hex-formatted code bytes from the EOA. */ + /** + * code_hash is the hex-encoded hash of the contract bytecode for the + * account. Ethereum defines a code hash as the keccack 256 hash of the bytes. + * Note that externally owned accounts (EOAs) have the empty/nil code hash + * (`crypto.Keccak256(nil)`). + */ codeHash: string; /** nonce is the account's sequence number. */ nonce: Long; /** - * eth_address: The hexadecimal-encoded string representing the 20 byte address - * of a Nibiru EVM account. + * eth_address: The hexadecimal-encoded string representing the 20 byte + * address of a Nibiru EVM account. Note that this field may be empty if the + * account queried is a Wasm contract (32 byte address). */ ethAddress: string; /** @@ -58,18 +65,53 @@ export interface QueryValidatorAccountResponse { accountNumber: Long; } -/** QueryBalanceRequest is the request type for the Query/Balance RPC method. */ +/** QueryBalanceRequest: Response type for "/eth.evm.v1.Query/Balance" */ export interface QueryBalanceRequest { /** address is the ethereum hex address to query the balance for. */ address: string; + /** + * token is an ERC20 address or bank denom to query alongside the native EVM + * balance. Leave empty to query only the native EVM balance. + */ + token: string; } -/** QueryBalanceResponse is the response type for the Query/Balance RPC method. */ +/** QueryBalanceResponse: Response type for "/eth.evm.v1.Query/Balance" */ export interface QueryBalanceResponse { - /** balance is the balance of the EVM denomination */ - balance: string; - /** balance is the balance of the EVM denomination in units of wei. */ + /** + * balance is the balance of the EVM denomination in units of wei. 1 wei is 1 + * attoNIBI. + */ balanceWei: string; + /** + * bank is the Bank module token balance details when a bank representation is + * available for the requested token. + */ + bank?: BalanceBank; + /** + * erc20 is the ERC20 token balance details when an ERC20 representation is + * available for the requested token. + */ + erc20?: BalanceERC20; +} + +/** BalanceBank is the Bank module balance view for a token. */ +export interface BalanceBank { + symbol: string; + balanceHuman: string; + decimals: number; + coinDenom: string; + balanceBase: string; +} + +/** BalanceERC20 is the ERC20 balance view for a token. */ +export interface BalanceERC20 { + address: string; + symbol: string; + balanceHuman: string; + decimals: number; + name: string; + balanceBase: string; } /** QueryStorageRequest is the request type for the Query/Storage RPC method. */ @@ -214,7 +256,8 @@ export interface QueryBaseFeeRequest { /** * QueryBaseFeeResponse returns the EIP1559 base fee. - * See https://github.com/ethereum/EIPs/blob/ba6c342c23164072adb500c3136e3ae6eabff306/EIPS/eip-1559.md. + * See + * https://github.com/ethereum/EIPs/blob/ba6c342c23164072adb500c3136e3ae6eabff306/EIPS/eip-1559.md. */ export interface QueryBaseFeeResponse { /** base_fee is the EIP1559 base fee in units of wei. */ @@ -225,8 +268,8 @@ export interface QueryBaseFeeResponse { export interface QueryFunTokenMappingRequest { /** - * Either the hexadecimal-encoded ERC20 contract address or denomination of the - * Bank Coin. + * Either the hexadecimal-encoded ERC20 contract address or denomination of + * the Bank Coin. */ token: string; } @@ -293,14 +336,11 @@ export const QueryEthAccountRequest = { }; function createBaseQueryEthAccountResponse(): QueryEthAccountResponse { - return { balance: "", balanceWei: "", codeHash: "", nonce: Long.UZERO, ethAddress: "", bech32Address: "" }; + return { balanceWei: "", codeHash: "", nonce: Long.UZERO, ethAddress: "", bech32Address: "" }; } export const QueryEthAccountResponse = { encode(message: QueryEthAccountResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.balance !== "") { - writer.uint32(10).string(message.balance); - } if (message.balanceWei !== "") { writer.uint32(18).string(message.balanceWei); } @@ -326,13 +366,6 @@ export const QueryEthAccountResponse = { while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (tag !== 10) { - break; - } - - message.balance = reader.string(); - continue; case 2: if (tag !== 18) { break; @@ -379,7 +412,6 @@ export const QueryEthAccountResponse = { fromJSON(object: any): QueryEthAccountResponse { return { - balance: isSet(object.balance) ? String(object.balance) : "", balanceWei: isSet(object.balanceWei) ? String(object.balanceWei) : "", codeHash: isSet(object.codeHash) ? String(object.codeHash) : "", nonce: isSet(object.nonce) ? Long.fromValue(object.nonce) : Long.UZERO, @@ -390,7 +422,6 @@ export const QueryEthAccountResponse = { toJSON(message: QueryEthAccountResponse): unknown { const obj: any = {}; - message.balance !== undefined && (obj.balance = message.balance); message.balanceWei !== undefined && (obj.balanceWei = message.balanceWei); message.codeHash !== undefined && (obj.codeHash = message.codeHash); message.nonce !== undefined && (obj.nonce = (message.nonce || Long.UZERO).toString()); @@ -405,7 +436,6 @@ export const QueryEthAccountResponse = { fromPartial, I>>(object: I): QueryEthAccountResponse { const message = createBaseQueryEthAccountResponse(); - message.balance = object.balance ?? ""; message.balanceWei = object.balanceWei ?? ""; message.codeHash = object.codeHash ?? ""; message.nonce = (object.nonce !== undefined && object.nonce !== null) ? Long.fromValue(object.nonce) : Long.UZERO; @@ -562,7 +592,7 @@ export const QueryValidatorAccountResponse = { }; function createBaseQueryBalanceRequest(): QueryBalanceRequest { - return { address: "" }; + return { address: "", token: "" }; } export const QueryBalanceRequest = { @@ -570,6 +600,9 @@ export const QueryBalanceRequest = { if (message.address !== "") { writer.uint32(10).string(message.address); } + if (message.token !== "") { + writer.uint32(18).string(message.token); + } return writer; }, @@ -587,6 +620,13 @@ export const QueryBalanceRequest = { message.address = reader.string(); continue; + case 2: + if (tag !== 18) { + break; + } + + message.token = reader.string(); + continue; } if ((tag & 7) === 4 || tag === 0) { break; @@ -597,12 +637,16 @@ export const QueryBalanceRequest = { }, fromJSON(object: any): QueryBalanceRequest { - return { address: isSet(object.address) ? String(object.address) : "" }; + return { + address: isSet(object.address) ? String(object.address) : "", + token: isSet(object.token) ? String(object.token) : "", + }; }, toJSON(message: QueryBalanceRequest): unknown { const obj: any = {}; message.address !== undefined && (obj.address = message.address); + message.token !== undefined && (obj.token = message.token); return obj; }, @@ -613,22 +657,26 @@ export const QueryBalanceRequest = { fromPartial, I>>(object: I): QueryBalanceRequest { const message = createBaseQueryBalanceRequest(); message.address = object.address ?? ""; + message.token = object.token ?? ""; return message; }, }; function createBaseQueryBalanceResponse(): QueryBalanceResponse { - return { balance: "", balanceWei: "" }; + return { balanceWei: "", bank: undefined, erc20: undefined }; } export const QueryBalanceResponse = { encode(message: QueryBalanceResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.balance !== "") { - writer.uint32(10).string(message.balance); - } if (message.balanceWei !== "") { writer.uint32(18).string(message.balanceWei); } + if (message.bank !== undefined) { + BalanceBank.encode(message.bank, writer.uint32(26).fork()).ldelim(); + } + if (message.erc20 !== undefined) { + BalanceERC20.encode(message.erc20, writer.uint32(34).fork()).ldelim(); + } return writer; }, @@ -639,19 +687,26 @@ export const QueryBalanceResponse = { while (reader.pos < end) { const tag = reader.uint32(); switch (tag >>> 3) { - case 1: - if (tag !== 10) { + case 2: + if (tag !== 18) { break; } - message.balance = reader.string(); + message.balanceWei = reader.string(); continue; - case 2: - if (tag !== 18) { + case 3: + if (tag !== 26) { break; } - message.balanceWei = reader.string(); + message.bank = BalanceBank.decode(reader, reader.uint32()); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.erc20 = BalanceERC20.decode(reader, reader.uint32()); continue; } if ((tag & 7) === 4 || tag === 0) { @@ -664,15 +719,17 @@ export const QueryBalanceResponse = { fromJSON(object: any): QueryBalanceResponse { return { - balance: isSet(object.balance) ? String(object.balance) : "", balanceWei: isSet(object.balanceWei) ? String(object.balanceWei) : "", + bank: isSet(object.bank) ? BalanceBank.fromJSON(object.bank) : undefined, + erc20: isSet(object.erc20) ? BalanceERC20.fromJSON(object.erc20) : undefined, }; }, toJSON(message: QueryBalanceResponse): unknown { const obj: any = {}; - message.balance !== undefined && (obj.balance = message.balance); message.balanceWei !== undefined && (obj.balanceWei = message.balanceWei); + message.bank !== undefined && (obj.bank = message.bank ? BalanceBank.toJSON(message.bank) : undefined); + message.erc20 !== undefined && (obj.erc20 = message.erc20 ? BalanceERC20.toJSON(message.erc20) : undefined); return obj; }, @@ -682,8 +739,246 @@ export const QueryBalanceResponse = { fromPartial, I>>(object: I): QueryBalanceResponse { const message = createBaseQueryBalanceResponse(); - message.balance = object.balance ?? ""; message.balanceWei = object.balanceWei ?? ""; + message.bank = (object.bank !== undefined && object.bank !== null) + ? BalanceBank.fromPartial(object.bank) + : undefined; + message.erc20 = (object.erc20 !== undefined && object.erc20 !== null) + ? BalanceERC20.fromPartial(object.erc20) + : undefined; + return message; + }, +}; + +function createBaseBalanceBank(): BalanceBank { + return { symbol: "", balanceHuman: "", decimals: 0, coinDenom: "", balanceBase: "" }; +} + +export const BalanceBank = { + encode(message: BalanceBank, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.symbol !== "") { + writer.uint32(10).string(message.symbol); + } + if (message.balanceHuman !== "") { + writer.uint32(18).string(message.balanceHuman); + } + if (message.decimals !== 0) { + writer.uint32(24).uint32(message.decimals); + } + if (message.coinDenom !== "") { + writer.uint32(34).string(message.coinDenom); + } + if (message.balanceBase !== "") { + writer.uint32(42).string(message.balanceBase); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): BalanceBank { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseBalanceBank(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.symbol = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.balanceHuman = reader.string(); + continue; + case 3: + if (tag !== 24) { + break; + } + + message.decimals = reader.uint32(); + continue; + case 4: + if (tag !== 34) { + break; + } + + message.coinDenom = reader.string(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.balanceBase = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): BalanceBank { + return { + symbol: isSet(object.symbol) ? String(object.symbol) : "", + balanceHuman: isSet(object.balanceHuman) ? String(object.balanceHuman) : "", + decimals: isSet(object.decimals) ? Number(object.decimals) : 0, + coinDenom: isSet(object.coinDenom) ? String(object.coinDenom) : "", + balanceBase: isSet(object.balanceBase) ? String(object.balanceBase) : "", + }; + }, + + toJSON(message: BalanceBank): unknown { + const obj: any = {}; + message.symbol !== undefined && (obj.symbol = message.symbol); + message.balanceHuman !== undefined && (obj.balanceHuman = message.balanceHuman); + message.decimals !== undefined && (obj.decimals = Math.round(message.decimals)); + message.coinDenom !== undefined && (obj.coinDenom = message.coinDenom); + message.balanceBase !== undefined && (obj.balanceBase = message.balanceBase); + return obj; + }, + + create, I>>(base?: I): BalanceBank { + return BalanceBank.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): BalanceBank { + const message = createBaseBalanceBank(); + message.symbol = object.symbol ?? ""; + message.balanceHuman = object.balanceHuman ?? ""; + message.decimals = object.decimals ?? 0; + message.coinDenom = object.coinDenom ?? ""; + message.balanceBase = object.balanceBase ?? ""; + return message; + }, +}; + +function createBaseBalanceERC20(): BalanceERC20 { + return { address: "", symbol: "", balanceHuman: "", decimals: 0, name: "", balanceBase: "" }; +} + +export const BalanceERC20 = { + encode(message: BalanceERC20, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.address !== "") { + writer.uint32(10).string(message.address); + } + if (message.symbol !== "") { + writer.uint32(18).string(message.symbol); + } + if (message.balanceHuman !== "") { + writer.uint32(26).string(message.balanceHuman); + } + if (message.decimals !== 0) { + writer.uint32(32).uint32(message.decimals); + } + if (message.name !== "") { + writer.uint32(42).string(message.name); + } + if (message.balanceBase !== "") { + writer.uint32(50).string(message.balanceBase); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): BalanceERC20 { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseBalanceERC20(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.address = reader.string(); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.symbol = reader.string(); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.balanceHuman = reader.string(); + continue; + case 4: + if (tag !== 32) { + break; + } + + message.decimals = reader.uint32(); + continue; + case 5: + if (tag !== 42) { + break; + } + + message.name = reader.string(); + continue; + case 6: + if (tag !== 50) { + break; + } + + message.balanceBase = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): BalanceERC20 { + return { + address: isSet(object.address) ? String(object.address) : "", + symbol: isSet(object.symbol) ? String(object.symbol) : "", + balanceHuman: isSet(object.balanceHuman) ? String(object.balanceHuman) : "", + decimals: isSet(object.decimals) ? Number(object.decimals) : 0, + name: isSet(object.name) ? String(object.name) : "", + balanceBase: isSet(object.balanceBase) ? String(object.balanceBase) : "", + }; + }, + + toJSON(message: BalanceERC20): unknown { + const obj: any = {}; + message.address !== undefined && (obj.address = message.address); + message.symbol !== undefined && (obj.symbol = message.symbol); + message.balanceHuman !== undefined && (obj.balanceHuman = message.balanceHuman); + message.decimals !== undefined && (obj.decimals = Math.round(message.decimals)); + message.name !== undefined && (obj.name = message.name); + message.balanceBase !== undefined && (obj.balanceBase = message.balanceBase); + return obj; + }, + + create, I>>(base?: I): BalanceERC20 { + return BalanceERC20.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): BalanceERC20 { + const message = createBaseBalanceERC20(); + message.address = object.address ?? ""; + message.symbol = object.symbol ?? ""; + message.balanceHuman = object.balanceHuman ?? ""; + message.decimals = object.decimals ?? 0; + message.name = object.name ?? ""; + message.balanceBase = object.balanceBase ?? ""; return message; }, }; @@ -2063,8 +2358,8 @@ export interface Query { */ ValidatorAccount(request: QueryValidatorAccountRequest): Promise; /** - * Balance queries the balance of a the EVM denomination for a single - * EthAccount. + * Balance queries the balance of the NIBI (ether for the EVM) in units of wei + * for a single EthAccount. 1 wei == 1 attoNIBI == 10^{-18} NIBI. */ Balance(request: QueryBalanceRequest): Promise; /** Storage queries the balance of all coins for a single account. */ @@ -2079,7 +2374,10 @@ export interface Query { EstimateGas(request: EthCallRequest): Promise; /** TraceTx implements the `debug_traceTransaction` rpc api */ TraceTx(request: QueryTraceTxRequest): Promise; - /** TraceBlock implements the `debug_traceBlockByNumber` and `debug_traceBlockByHash` rpc api */ + /** + * TraceBlock implements the `debug_traceBlockByNumber` and + * `debug_traceBlockByHash` rpc api + */ TraceBlock(request: QueryTraceBlockRequest): Promise; /** TraceCall implements the `debug_traceCall` rpc api */ TraceCall(request: QueryTraceTxRequest): Promise; diff --git a/src/protojs/eth/evm/v1/tx.ts b/src/protojs/eth/evm/v1/tx.ts index dae21118..c3687288 100644 --- a/src/protojs/eth/evm/v1/tx.ts +++ b/src/protojs/eth/evm/v1/tx.ts @@ -218,10 +218,10 @@ export interface MsgCreateFunToken { /** * Optional flag to allow the `FunToken` mapping to be created with 0 decimals * in the ERC20 sense. Often times, tokens are meant to behave like money and - * be divisible, meaning "decimals = 0" is often a mistake. This field defaults - * to false as a safety guard against accidental creation of FunTokens with - * missing metadata. - * Set this to true if the token is truly intended to have 0 decimals. + * be divisible, meaning "decimals = 0" is often a mistake. This field + * defaults to false as a safety guard against accidental creation of + * FunTokens with missing metadata. Set this to true if the token is truly + * intended to have 0 decimals. */ allowZeroDecimals: boolean; } @@ -244,7 +244,10 @@ export interface MsgConvertCoinToEvm { export interface MsgConvertCoinToEvmResponse { } -/** MsgConvertEvmToCoin: Arguments to send an ERC20 token to bank coin representation */ +/** + * MsgConvertEvmToCoin: Arguments to send an ERC20 token to bank coin + * representation + */ export interface MsgConvertEvmToCoin { /** * Sender: "nibi"-prefixed Bech32 address for the signer of the transaction. @@ -259,9 +262,9 @@ export interface MsgConvertEvmToCoin { * Recipient address for the bank coins in Ethereum hexadecimal or * nibi-prefixed Bech32 format. * - * Currently, accounts corresponding to Wasm contracts cannot hold ERC20 tokens - * because the function that maps between Bech32 and Eth hex addresses is not - * bijective for these types of accounts. + * Currently, accounts corresponding to Wasm contracts cannot hold ERC20 + * tokens because the function that maps between Bech32 and Eth hex addresses + * is not bijective for these types of accounts. * * See [bug(evm): nibid q evm account is not symmetric for wasm * addresses](https://github.com/NibiruChain/nibiru/issues/2138) @@ -1698,8 +1701,8 @@ export interface Msg { */ ConvertCoinToEvm(request: MsgConvertCoinToEvm): Promise; /** - * ConvertEvmToCoin: Sends an ERC20 token with a valid "FunToken" mapping to the - * given recipient address as a bank coin. + * ConvertEvmToCoin: Sends an ERC20 token with a valid "FunToken" mapping to + * the given recipient address as a bank coin. */ ConvertEvmToCoin(request: MsgConvertEvmToCoin): Promise; } diff --git a/src/protojs/index.cosmos.app.ts b/src/protojs/index.cosmos.app.ts deleted file mode 100644 index 4caedf56..00000000 --- a/src/protojs/index.cosmos.app.ts +++ /dev/null @@ -1,3 +0,0 @@ -/* eslint-disable */ - -export * as v1alpha1 from "./index.cosmos.app.v1alpha1"; diff --git a/src/protojs/index.cosmos.app.v1alpha1.ts b/src/protojs/index.cosmos.app.v1alpha1.ts deleted file mode 100644 index 6b069abb..00000000 --- a/src/protojs/index.cosmos.app.v1alpha1.ts +++ /dev/null @@ -1,3 +0,0 @@ -/* eslint-disable */ - -export * from "./cosmos/app/v1alpha1/module"; diff --git a/src/protojs/index.cosmwasm.ts b/src/protojs/index.cosmwasm.ts new file mode 100644 index 00000000..94e1d7ff --- /dev/null +++ b/src/protojs/index.cosmwasm.ts @@ -0,0 +1,3 @@ +/* eslint-disable */ + +export * as wasm from "./index.cosmwasm.wasm"; diff --git a/src/protojs/index.cosmwasm.wasm.ts b/src/protojs/index.cosmwasm.wasm.ts new file mode 100644 index 00000000..b4f618bd --- /dev/null +++ b/src/protojs/index.cosmwasm.wasm.ts @@ -0,0 +1,3 @@ +/* eslint-disable */ + +export * as v1 from "./index.cosmwasm.wasm.v1"; diff --git a/src/protojs/index.cosmwasm.wasm.v1.ts b/src/protojs/index.cosmwasm.wasm.v1.ts new file mode 100644 index 00000000..6303e7ec --- /dev/null +++ b/src/protojs/index.cosmwasm.wasm.v1.ts @@ -0,0 +1,3 @@ +/* eslint-disable */ + +export * from "./cosmwasm/wasm/v1/types"; diff --git a/src/protojs/index.google.ts b/src/protojs/index.google.ts deleted file mode 100644 index 2e880f89..00000000 --- a/src/protojs/index.google.ts +++ /dev/null @@ -1,3 +0,0 @@ -/* eslint-disable */ - - diff --git a/src/protojs/index.nibiru.epochs.module.ts b/src/protojs/index.nibiru.epochs.module.ts deleted file mode 100644 index 823abad2..00000000 --- a/src/protojs/index.nibiru.epochs.module.ts +++ /dev/null @@ -1,3 +0,0 @@ -/* eslint-disable */ - -export * as v1 from "./index.nibiru.epochs.module.v1"; diff --git a/src/protojs/index.nibiru.epochs.module.v1.ts b/src/protojs/index.nibiru.epochs.module.v1.ts deleted file mode 100644 index e9e110f7..00000000 --- a/src/protojs/index.nibiru.epochs.module.v1.ts +++ /dev/null @@ -1,3 +0,0 @@ -/* eslint-disable */ - -export * from "./nibiru/epochs/module/module"; diff --git a/src/protojs/index.nibiru.evm.module.ts b/src/protojs/index.nibiru.evm.module.ts deleted file mode 100644 index 31c1327e..00000000 --- a/src/protojs/index.nibiru.evm.module.ts +++ /dev/null @@ -1,3 +0,0 @@ -/* eslint-disable */ - -export * as v1 from "./index.nibiru.evm.module.v1"; diff --git a/src/protojs/index.nibiru.evm.module.v1.ts b/src/protojs/index.nibiru.evm.module.v1.ts deleted file mode 100644 index fe36f48c..00000000 --- a/src/protojs/index.nibiru.evm.module.v1.ts +++ /dev/null @@ -1,3 +0,0 @@ -/* eslint-disable */ - -export * from "./eth/evm/module/module"; diff --git a/src/protojs/index.nibiru.evm.ts b/src/protojs/index.nibiru.evm.ts deleted file mode 100644 index 7cd34ad4..00000000 --- a/src/protojs/index.nibiru.evm.ts +++ /dev/null @@ -1,3 +0,0 @@ -/* eslint-disable */ - -export * as module from "./index.nibiru.evm.module"; diff --git a/src/protojs/index.nibiru.inflation.module.ts b/src/protojs/index.nibiru.inflation.module.ts deleted file mode 100644 index 7612e062..00000000 --- a/src/protojs/index.nibiru.inflation.module.ts +++ /dev/null @@ -1,3 +0,0 @@ -/* eslint-disable */ - -export * as v1 from "./index.nibiru.inflation.module.v1"; diff --git a/src/protojs/index.nibiru.inflation.module.v1.ts b/src/protojs/index.nibiru.inflation.module.v1.ts deleted file mode 100644 index a0ab9773..00000000 --- a/src/protojs/index.nibiru.inflation.module.v1.ts +++ /dev/null @@ -1,3 +0,0 @@ -/* eslint-disable */ - -export * from "./nibiru/inflation/module/module"; diff --git a/src/protojs/index.nibiru.oracle.module.ts b/src/protojs/index.nibiru.oracle.module.ts deleted file mode 100644 index 0ba8757a..00000000 --- a/src/protojs/index.nibiru.oracle.module.ts +++ /dev/null @@ -1,3 +0,0 @@ -/* eslint-disable */ - -export * as v1 from "./index.nibiru.oracle.module.v1"; diff --git a/src/protojs/index.nibiru.oracle.module.v1.ts b/src/protojs/index.nibiru.oracle.module.v1.ts deleted file mode 100644 index a059e543..00000000 --- a/src/protojs/index.nibiru.oracle.module.v1.ts +++ /dev/null @@ -1,3 +0,0 @@ -/* eslint-disable */ - -export * from "./nibiru/oracle/module/module"; diff --git a/src/protojs/index.nibiru.sudo.module.ts b/src/protojs/index.nibiru.sudo.module.ts deleted file mode 100644 index 16de0fe6..00000000 --- a/src/protojs/index.nibiru.sudo.module.ts +++ /dev/null @@ -1,3 +0,0 @@ -/* eslint-disable */ - -export * as v1 from "./index.nibiru.sudo.module.v1"; diff --git a/src/protojs/index.nibiru.sudo.module.v1.ts b/src/protojs/index.nibiru.sudo.module.v1.ts deleted file mode 100644 index b6a6f482..00000000 --- a/src/protojs/index.nibiru.sudo.module.v1.ts +++ /dev/null @@ -1,3 +0,0 @@ -/* eslint-disable */ - -export * from "./nibiru/sudo/module/module"; diff --git a/src/protojs/index.nibiru.sudo.v1.ts b/src/protojs/index.nibiru.sudo.v1.ts index a58d6c45..a817fc49 100644 --- a/src/protojs/index.nibiru.sudo.v1.ts +++ b/src/protojs/index.nibiru.sudo.v1.ts @@ -1,3 +1,4 @@ /* eslint-disable */ +export * from "./nibiru/sudo/v1/state"; export * from "./nibiru/sudo/v1/tx"; diff --git a/src/protojs/index.nibiru.tokenfactory.module.ts b/src/protojs/index.nibiru.tokenfactory.module.ts deleted file mode 100644 index 148ce8d1..00000000 --- a/src/protojs/index.nibiru.tokenfactory.module.ts +++ /dev/null @@ -1,3 +0,0 @@ -/* eslint-disable */ - -export * as v1 from "./index.nibiru.tokenfactory.module.v1"; diff --git a/src/protojs/index.nibiru.tokenfactory.module.v1.ts b/src/protojs/index.nibiru.tokenfactory.module.v1.ts deleted file mode 100644 index 7d97cf45..00000000 --- a/src/protojs/index.nibiru.tokenfactory.module.v1.ts +++ /dev/null @@ -1,3 +0,0 @@ -/* eslint-disable */ - -export * from "./nibiru/tokenfactory/module/module"; diff --git a/src/protojs/nibiru/epochs/module/module.ts b/src/protojs/nibiru/epochs/module/module.ts deleted file mode 100644 index 1e35f3a3..00000000 --- a/src/protojs/nibiru/epochs/module/module.ts +++ /dev/null @@ -1,197 +0,0 @@ -/* eslint-disable */ -import Long from "long"; -import _m0 from "protobufjs/minimal"; - -/** Module is the config object for the epochs module. */ -export interface Module { - /** - * hooks_order specifies the order of staking hooks and should be a list - * of module names which provide a staking hooks instance. If no order is - * provided, then hooks will be applied in alphabetical order of module names. - */ - hooksOrder: string[]; - /** authority defines the custom module authority. If not set, defaults to the governance module. */ - authority: string; -} - -/** ModuleAccountPermission represents permissions for a module account. */ -export interface ModuleAccountPermission { - /** account is the name of the module. */ - account: string; - /** - * permissions are the permissions this module has. Currently recognized - * values are minter, burner and staking. - */ - permissions: string[]; -} - -function createBaseModule(): Module { - return { hooksOrder: [], authority: "" }; -} - -export const Module = { - encode(message: Module, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - for (const v of message.hooksOrder) { - writer.uint32(10).string(v!); - } - if (message.authority !== "") { - writer.uint32(18).string(message.authority); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): Module { - const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseModule(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (tag !== 10) { - break; - } - - message.hooksOrder.push(reader.string()); - continue; - case 2: - if (tag !== 18) { - break; - } - - message.authority = reader.string(); - continue; - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skipType(tag & 7); - } - return message; - }, - - fromJSON(object: any): Module { - return { - hooksOrder: Array.isArray(object?.hooksOrder) ? object.hooksOrder.map((e: any) => String(e)) : [], - authority: isSet(object.authority) ? String(object.authority) : "", - }; - }, - - toJSON(message: Module): unknown { - const obj: any = {}; - if (message.hooksOrder) { - obj.hooksOrder = message.hooksOrder.map((e) => e); - } else { - obj.hooksOrder = []; - } - message.authority !== undefined && (obj.authority = message.authority); - return obj; - }, - - create, I>>(base?: I): Module { - return Module.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): Module { - const message = createBaseModule(); - message.hooksOrder = object.hooksOrder?.map((e) => e) || []; - message.authority = object.authority ?? ""; - return message; - }, -}; - -function createBaseModuleAccountPermission(): ModuleAccountPermission { - return { account: "", permissions: [] }; -} - -export const ModuleAccountPermission = { - encode(message: ModuleAccountPermission, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.account !== "") { - writer.uint32(10).string(message.account); - } - for (const v of message.permissions) { - writer.uint32(18).string(v!); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): ModuleAccountPermission { - const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseModuleAccountPermission(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (tag !== 10) { - break; - } - - message.account = reader.string(); - continue; - case 2: - if (tag !== 18) { - break; - } - - message.permissions.push(reader.string()); - continue; - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skipType(tag & 7); - } - return message; - }, - - fromJSON(object: any): ModuleAccountPermission { - return { - account: isSet(object.account) ? String(object.account) : "", - permissions: Array.isArray(object?.permissions) ? object.permissions.map((e: any) => String(e)) : [], - }; - }, - - toJSON(message: ModuleAccountPermission): unknown { - const obj: any = {}; - message.account !== undefined && (obj.account = message.account); - if (message.permissions) { - obj.permissions = message.permissions.map((e) => e); - } else { - obj.permissions = []; - } - return obj; - }, - - create, I>>(base?: I): ModuleAccountPermission { - return ModuleAccountPermission.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): ModuleAccountPermission { - const message = createBaseModuleAccountPermission(); - message.account = object.account ?? ""; - message.permissions = object.permissions?.map((e) => e) || []; - return message; - }, -}; - -type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; - -type DeepPartial = T extends Builtin ? T - : T extends Long ? string | number | Long : T extends Array ? Array> - : T extends ReadonlyArray ? ReadonlyArray> - : T extends {} ? { [K in keyof T]?: DeepPartial } - : Partial; - -type KeysOfUnion = T extends T ? keyof T : never; -type Exact = P extends Builtin ? P - : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; - -if (_m0.util.Long !== Long) { - _m0.util.Long = Long as any; - _m0.configure(); -} - -function isSet(value: any): boolean { - return value !== null && value !== undefined; -} diff --git a/src/protojs/nibiru/genmsg/v1/genmsg.ts b/src/protojs/nibiru/genmsg/v1/genmsg.ts index c29fb6f0..fd4a6578 100644 --- a/src/protojs/nibiru/genmsg/v1/genmsg.ts +++ b/src/protojs/nibiru/genmsg/v1/genmsg.ts @@ -3,7 +3,10 @@ import Long from "long"; import _m0 from "protobufjs/minimal"; import { Any } from "../../../google/protobuf/any"; -/** GenesisState represents the messages to be processed during genesis by the genmsg module. */ +/** + * GenesisState represents the messages to be processed during genesis by the + * genmsg module. + */ export interface GenesisState { messages: Any[]; } diff --git a/src/protojs/nibiru/inflation/module/module.ts b/src/protojs/nibiru/inflation/module/module.ts deleted file mode 100644 index 7d14f1cc..00000000 --- a/src/protojs/nibiru/inflation/module/module.ts +++ /dev/null @@ -1,172 +0,0 @@ -/* eslint-disable */ -import Long from "long"; -import _m0 from "protobufjs/minimal"; - -/** Module is the config object for the inflation module. */ -export interface Module { - /** authority defines the custom module authority. If not set, defaults to the governance module. */ - authority: string; -} - -/** ModuleAccountPermission represents permissions for a module account. */ -export interface ModuleAccountPermission { - /** account is the name of the module. */ - account: string; - /** - * permissions are the permissions this module has. Currently recognized - * values are minter, burner and staking. - */ - permissions: string[]; -} - -function createBaseModule(): Module { - return { authority: "" }; -} - -export const Module = { - encode(message: Module, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.authority !== "") { - writer.uint32(10).string(message.authority); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): Module { - const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseModule(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (tag !== 10) { - break; - } - - message.authority = reader.string(); - continue; - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skipType(tag & 7); - } - return message; - }, - - fromJSON(object: any): Module { - return { authority: isSet(object.authority) ? String(object.authority) : "" }; - }, - - toJSON(message: Module): unknown { - const obj: any = {}; - message.authority !== undefined && (obj.authority = message.authority); - return obj; - }, - - create, I>>(base?: I): Module { - return Module.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): Module { - const message = createBaseModule(); - message.authority = object.authority ?? ""; - return message; - }, -}; - -function createBaseModuleAccountPermission(): ModuleAccountPermission { - return { account: "", permissions: [] }; -} - -export const ModuleAccountPermission = { - encode(message: ModuleAccountPermission, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.account !== "") { - writer.uint32(10).string(message.account); - } - for (const v of message.permissions) { - writer.uint32(18).string(v!); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): ModuleAccountPermission { - const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseModuleAccountPermission(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (tag !== 10) { - break; - } - - message.account = reader.string(); - continue; - case 2: - if (tag !== 18) { - break; - } - - message.permissions.push(reader.string()); - continue; - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skipType(tag & 7); - } - return message; - }, - - fromJSON(object: any): ModuleAccountPermission { - return { - account: isSet(object.account) ? String(object.account) : "", - permissions: Array.isArray(object?.permissions) ? object.permissions.map((e: any) => String(e)) : [], - }; - }, - - toJSON(message: ModuleAccountPermission): unknown { - const obj: any = {}; - message.account !== undefined && (obj.account = message.account); - if (message.permissions) { - obj.permissions = message.permissions.map((e) => e); - } else { - obj.permissions = []; - } - return obj; - }, - - create, I>>(base?: I): ModuleAccountPermission { - return ModuleAccountPermission.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): ModuleAccountPermission { - const message = createBaseModuleAccountPermission(); - message.account = object.account ?? ""; - message.permissions = object.permissions?.map((e) => e) || []; - return message; - }, -}; - -type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; - -type DeepPartial = T extends Builtin ? T - : T extends Long ? string | number | Long : T extends Array ? Array> - : T extends ReadonlyArray ? ReadonlyArray> - : T extends {} ? { [K in keyof T]?: DeepPartial } - : Partial; - -type KeysOfUnion = T extends T ? keyof T : never; -type Exact = P extends Builtin ? P - : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; - -if (_m0.util.Long !== Long) { - _m0.util.Long = Long as any; - _m0.configure(); -} - -function isSet(value: any): boolean { - return value !== null && value !== undefined; -} diff --git a/src/protojs/nibiru/oracle/module/module.ts b/src/protojs/nibiru/oracle/module/module.ts deleted file mode 100644 index 5b071026..00000000 --- a/src/protojs/nibiru/oracle/module/module.ts +++ /dev/null @@ -1,172 +0,0 @@ -/* eslint-disable */ -import Long from "long"; -import _m0 from "protobufjs/minimal"; - -/** Module is the config object for the oracle module. */ -export interface Module { - /** authority defines the custom module authority. If not set, defaults to the governance module. */ - authority: string; -} - -/** ModuleAccountPermission represents permissions for a module account. */ -export interface ModuleAccountPermission { - /** account is the name of the module. */ - account: string; - /** - * permissions are the permissions this module has. Currently recognized - * values are minter, burner and staking. - */ - permissions: string[]; -} - -function createBaseModule(): Module { - return { authority: "" }; -} - -export const Module = { - encode(message: Module, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.authority !== "") { - writer.uint32(10).string(message.authority); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): Module { - const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseModule(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (tag !== 10) { - break; - } - - message.authority = reader.string(); - continue; - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skipType(tag & 7); - } - return message; - }, - - fromJSON(object: any): Module { - return { authority: isSet(object.authority) ? String(object.authority) : "" }; - }, - - toJSON(message: Module): unknown { - const obj: any = {}; - message.authority !== undefined && (obj.authority = message.authority); - return obj; - }, - - create, I>>(base?: I): Module { - return Module.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): Module { - const message = createBaseModule(); - message.authority = object.authority ?? ""; - return message; - }, -}; - -function createBaseModuleAccountPermission(): ModuleAccountPermission { - return { account: "", permissions: [] }; -} - -export const ModuleAccountPermission = { - encode(message: ModuleAccountPermission, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.account !== "") { - writer.uint32(10).string(message.account); - } - for (const v of message.permissions) { - writer.uint32(18).string(v!); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): ModuleAccountPermission { - const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseModuleAccountPermission(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (tag !== 10) { - break; - } - - message.account = reader.string(); - continue; - case 2: - if (tag !== 18) { - break; - } - - message.permissions.push(reader.string()); - continue; - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skipType(tag & 7); - } - return message; - }, - - fromJSON(object: any): ModuleAccountPermission { - return { - account: isSet(object.account) ? String(object.account) : "", - permissions: Array.isArray(object?.permissions) ? object.permissions.map((e: any) => String(e)) : [], - }; - }, - - toJSON(message: ModuleAccountPermission): unknown { - const obj: any = {}; - message.account !== undefined && (obj.account = message.account); - if (message.permissions) { - obj.permissions = message.permissions.map((e) => e); - } else { - obj.permissions = []; - } - return obj; - }, - - create, I>>(base?: I): ModuleAccountPermission { - return ModuleAccountPermission.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): ModuleAccountPermission { - const message = createBaseModuleAccountPermission(); - message.account = object.account ?? ""; - message.permissions = object.permissions?.map((e) => e) || []; - return message; - }, -}; - -type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; - -type DeepPartial = T extends Builtin ? T - : T extends Long ? string | number | Long : T extends Array ? Array> - : T extends ReadonlyArray ? ReadonlyArray> - : T extends {} ? { [K in keyof T]?: DeepPartial } - : Partial; - -type KeysOfUnion = T extends T ? keyof T : never; -type Exact = P extends Builtin ? P - : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; - -if (_m0.util.Long !== Long) { - _m0.util.Long = Long as any; - _m0.configure(); -} - -function isSet(value: any): boolean { - return value !== null && value !== undefined; -} diff --git a/src/protojs/nibiru/oracle/v1/query.ts b/src/protojs/nibiru/oracle/v1/query.ts index c402910a..baaf8200 100644 --- a/src/protojs/nibiru/oracle/v1/query.ts +++ b/src/protojs/nibiru/oracle/v1/query.ts @@ -1474,8 +1474,8 @@ export const QueryParamsResponse = { /** Query defines the gRPC querier service. */ export interface Query { /** - * ExchangeRate returns exchange rate of a pair along with the block height and - * block time that the exchange rate was set by the oracle module. + * ExchangeRate returns exchange rate of a pair along with the block height + * and block time that the exchange rate was set by the oracle module. */ ExchangeRate(request: QueryExchangeRateRequest): Promise; /** ExchangeRateTwap returns twap exchange rate of a pair */ diff --git a/src/protojs/nibiru/oracle/v1/tx.ts b/src/protojs/nibiru/oracle/v1/tx.ts index f44a8150..929f2b06 100644 --- a/src/protojs/nibiru/oracle/v1/tx.ts +++ b/src/protojs/nibiru/oracle/v1/tx.ts @@ -868,7 +868,7 @@ export interface Msg { /** * DelegateFeedConsent defines a method for delegating oracle voting rights * to another address known as a price feeder. - * See https://github.com/NibiruChain/pricefeeder. + * Deprecated: x/oracle Msg RPCs are disabled on-chain (ErrOracleDeprecated). */ DelegateFeedConsent(request: MsgDelegateFeedConsent): Promise; EditOracleParams(request: MsgEditOracleParams): Promise; diff --git a/src/protojs/nibiru/sudo/module/module.ts b/src/protojs/nibiru/sudo/module/module.ts deleted file mode 100644 index 75def39c..00000000 --- a/src/protojs/nibiru/sudo/module/module.ts +++ /dev/null @@ -1,172 +0,0 @@ -/* eslint-disable */ -import Long from "long"; -import _m0 from "protobufjs/minimal"; - -/** Module is the config object for the sudo module. */ -export interface Module { - /** authority defines the custom module authority. If not set, defaults to the governance module. */ - authority: string; -} - -/** ModuleAccountPermission represents permissions for a module account. */ -export interface ModuleAccountPermission { - /** account is the name of the module. */ - account: string; - /** - * permissions are the permissions this module has. Currently recognized - * values are minter, burner and staking. - */ - permissions: string[]; -} - -function createBaseModule(): Module { - return { authority: "" }; -} - -export const Module = { - encode(message: Module, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.authority !== "") { - writer.uint32(10).string(message.authority); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): Module { - const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseModule(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (tag !== 10) { - break; - } - - message.authority = reader.string(); - continue; - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skipType(tag & 7); - } - return message; - }, - - fromJSON(object: any): Module { - return { authority: isSet(object.authority) ? String(object.authority) : "" }; - }, - - toJSON(message: Module): unknown { - const obj: any = {}; - message.authority !== undefined && (obj.authority = message.authority); - return obj; - }, - - create, I>>(base?: I): Module { - return Module.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): Module { - const message = createBaseModule(); - message.authority = object.authority ?? ""; - return message; - }, -}; - -function createBaseModuleAccountPermission(): ModuleAccountPermission { - return { account: "", permissions: [] }; -} - -export const ModuleAccountPermission = { - encode(message: ModuleAccountPermission, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.account !== "") { - writer.uint32(10).string(message.account); - } - for (const v of message.permissions) { - writer.uint32(18).string(v!); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): ModuleAccountPermission { - const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseModuleAccountPermission(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (tag !== 10) { - break; - } - - message.account = reader.string(); - continue; - case 2: - if (tag !== 18) { - break; - } - - message.permissions.push(reader.string()); - continue; - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skipType(tag & 7); - } - return message; - }, - - fromJSON(object: any): ModuleAccountPermission { - return { - account: isSet(object.account) ? String(object.account) : "", - permissions: Array.isArray(object?.permissions) ? object.permissions.map((e: any) => String(e)) : [], - }; - }, - - toJSON(message: ModuleAccountPermission): unknown { - const obj: any = {}; - message.account !== undefined && (obj.account = message.account); - if (message.permissions) { - obj.permissions = message.permissions.map((e) => e); - } else { - obj.permissions = []; - } - return obj; - }, - - create, I>>(base?: I): ModuleAccountPermission { - return ModuleAccountPermission.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): ModuleAccountPermission { - const message = createBaseModuleAccountPermission(); - message.account = object.account ?? ""; - message.permissions = object.permissions?.map((e) => e) || []; - return message; - }, -}; - -type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; - -type DeepPartial = T extends Builtin ? T - : T extends Long ? string | number | Long : T extends Array ? Array> - : T extends ReadonlyArray ? ReadonlyArray> - : T extends {} ? { [K in keyof T]?: DeepPartial } - : Partial; - -type KeysOfUnion = T extends T ? keyof T : never; -type Exact = P extends Builtin ? P - : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; - -if (_m0.util.Long !== Long) { - _m0.util.Long = Long as any; - _m0.configure(); -} - -function isSet(value: any): boolean { - return value !== null && value !== undefined; -} diff --git a/src/protojs/nibiru/sudo/v1/query.ts b/src/protojs/nibiru/sudo/v1/query.ts index 4efba155..9e9dd749 100644 --- a/src/protojs/nibiru/sudo/v1/query.ts +++ b/src/protojs/nibiru/sudo/v1/query.ts @@ -1,16 +1,38 @@ /* eslint-disable */ import Long from "long"; import _m0 from "protobufjs/minimal"; -import { Sudoers } from "./state"; +import { Sudoers, ZeroGasActors } from "./state"; +/** + * QuerySudoersRequest is the request type for the gRPC query method, + * "/nibiru.sudo.v1.Query/QuerySudoers". + */ export interface QuerySudoersRequest { } -/** QuerySudoersResponse indicates the successful execution of MsgEditSudeors. */ +/** + * QuerySudoersResponse is the response type for the gRPC query method, + * "/nibiru.sudo.v1.Query/QuerySudoers" + */ export interface QuerySudoersResponse { sudoers?: Sudoers; } +/** + * QueryZeroGasActorsRequest is the request type for the gRPC query method, + * "/nibiru.sudo.v1.Query/QueryZeroGasActors" + */ +export interface QueryZeroGasActorsRequest { +} + +/** + * QueryZeroGasActorsResponse is the response type for the gRPC query method, + * "/nibiru.sudo.v1.Query/QueryZeroGasActors" + */ +export interface QueryZeroGasActorsResponse { + actors?: ZeroGasActors; +} + function createBaseQuerySudoersRequest(): QuerySudoersRequest { return {}; } @@ -113,9 +135,117 @@ export const QuerySudoersResponse = { }, }; +function createBaseQueryZeroGasActorsRequest(): QueryZeroGasActorsRequest { + return {}; +} + +export const QueryZeroGasActorsRequest = { + encode(_: QueryZeroGasActorsRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryZeroGasActorsRequest { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryZeroGasActorsRequest(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): QueryZeroGasActorsRequest { + return {}; + }, + + toJSON(_: QueryZeroGasActorsRequest): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): QueryZeroGasActorsRequest { + return QueryZeroGasActorsRequest.fromPartial(base ?? {}); + }, + + fromPartial, I>>(_: I): QueryZeroGasActorsRequest { + const message = createBaseQueryZeroGasActorsRequest(); + return message; + }, +}; + +function createBaseQueryZeroGasActorsResponse(): QueryZeroGasActorsResponse { + return { actors: undefined }; +} + +export const QueryZeroGasActorsResponse = { + encode(message: QueryZeroGasActorsResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.actors !== undefined) { + ZeroGasActors.encode(message.actors, writer.uint32(10).fork()).ldelim(); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): QueryZeroGasActorsResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseQueryZeroGasActorsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.actors = ZeroGasActors.decode(reader, reader.uint32()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): QueryZeroGasActorsResponse { + return { actors: isSet(object.actors) ? ZeroGasActors.fromJSON(object.actors) : undefined }; + }, + + toJSON(message: QueryZeroGasActorsResponse): unknown { + const obj: any = {}; + message.actors !== undefined && (obj.actors = message.actors ? ZeroGasActors.toJSON(message.actors) : undefined); + return obj; + }, + + create, I>>(base?: I): QueryZeroGasActorsResponse { + return QueryZeroGasActorsResponse.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): QueryZeroGasActorsResponse { + const message = createBaseQueryZeroGasActorsResponse(); + message.actors = (object.actors !== undefined && object.actors !== null) + ? ZeroGasActors.fromPartial(object.actors) + : undefined; + return message; + }, +}; + /** Query defines the gRPC querier service. */ export interface Query { QuerySudoers(request: QuerySudoersRequest): Promise; + /** + * QueryZeroGasActors returns the "ZeroGasActors" state. Zero gas actors are + * a set of accounts that can execute zero gas transactions against a + * whitelisted set of smart contracts. + */ + QueryZeroGasActors(request: QueryZeroGasActorsRequest): Promise; } export const QueryServiceName = "nibiru.sudo.v1.Query"; @@ -126,12 +256,19 @@ export class QueryClientImpl implements Query { this.service = opts?.service || QueryServiceName; this.rpc = rpc; this.QuerySudoers = this.QuerySudoers.bind(this); + this.QueryZeroGasActors = this.QueryZeroGasActors.bind(this); } QuerySudoers(request: QuerySudoersRequest): Promise { const data = QuerySudoersRequest.encode(request).finish(); const promise = this.rpc.request(this.service, "QuerySudoers", data); return promise.then((data) => QuerySudoersResponse.decode(_m0.Reader.create(data))); } + + QueryZeroGasActors(request: QueryZeroGasActorsRequest): Promise { + const data = QueryZeroGasActorsRequest.encode(request).finish(); + const promise = this.rpc.request(this.service, "QueryZeroGasActors", data); + return promise.then((data) => QueryZeroGasActorsResponse.decode(_m0.Reader.create(data))); + } } interface Rpc { diff --git a/src/protojs/nibiru/sudo/v1/state.ts b/src/protojs/nibiru/sudo/v1/state.ts index 587e0d0e..92cd8086 100644 --- a/src/protojs/nibiru/sudo/v1/state.ts +++ b/src/protojs/nibiru/sudo/v1/state.ts @@ -12,6 +12,30 @@ export interface Sudoers { /** GenesisState: State for migrations and genesis for the x/sudo module. */ export interface GenesisState { sudoers?: Sudoers; + zeroGasActors?: ZeroGasActors; + wasmBlockHooksContract: string; +} + +/** + * ZeroGasActors: Actors that can execute zero gas transactions against a set of + * smart contracts. + */ +export interface ZeroGasActors { + /** + * Senders: Addresses that can sign for zero gas transactions from the + * contract set. + */ + senders: string[]; + /** + * Contracts: contract addresses that can be invoked by "senders" with zero + * gas costs. + */ + contracts: string[]; + /** + * AlwaysZeroGasContracts: contract addresses that can be invoked with zero + * gas costs for any sender. + */ + alwaysZeroGasContracts: string[]; } function createBaseSudoers(): Sudoers { @@ -90,7 +114,7 @@ export const Sudoers = { }; function createBaseGenesisState(): GenesisState { - return { sudoers: undefined }; + return { sudoers: undefined, zeroGasActors: undefined, wasmBlockHooksContract: "" }; } export const GenesisState = { @@ -98,6 +122,12 @@ export const GenesisState = { if (message.sudoers !== undefined) { Sudoers.encode(message.sudoers, writer.uint32(10).fork()).ldelim(); } + if (message.zeroGasActors !== undefined) { + ZeroGasActors.encode(message.zeroGasActors, writer.uint32(18).fork()).ldelim(); + } + if (message.wasmBlockHooksContract !== "") { + writer.uint32(26).string(message.wasmBlockHooksContract); + } return writer; }, @@ -115,6 +145,20 @@ export const GenesisState = { message.sudoers = Sudoers.decode(reader, reader.uint32()); continue; + case 2: + if (tag !== 18) { + break; + } + + message.zeroGasActors = ZeroGasActors.decode(reader, reader.uint32()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.wasmBlockHooksContract = reader.string(); + continue; } if ((tag & 7) === 4 || tag === 0) { break; @@ -125,12 +169,19 @@ export const GenesisState = { }, fromJSON(object: any): GenesisState { - return { sudoers: isSet(object.sudoers) ? Sudoers.fromJSON(object.sudoers) : undefined }; + return { + sudoers: isSet(object.sudoers) ? Sudoers.fromJSON(object.sudoers) : undefined, + zeroGasActors: isSet(object.zeroGasActors) ? ZeroGasActors.fromJSON(object.zeroGasActors) : undefined, + wasmBlockHooksContract: isSet(object.wasmBlockHooksContract) ? String(object.wasmBlockHooksContract) : "", + }; }, toJSON(message: GenesisState): unknown { const obj: any = {}; message.sudoers !== undefined && (obj.sudoers = message.sudoers ? Sudoers.toJSON(message.sudoers) : undefined); + message.zeroGasActors !== undefined && + (obj.zeroGasActors = message.zeroGasActors ? ZeroGasActors.toJSON(message.zeroGasActors) : undefined); + message.wasmBlockHooksContract !== undefined && (obj.wasmBlockHooksContract = message.wasmBlockHooksContract); return obj; }, @@ -143,6 +194,108 @@ export const GenesisState = { message.sudoers = (object.sudoers !== undefined && object.sudoers !== null) ? Sudoers.fromPartial(object.sudoers) : undefined; + message.zeroGasActors = (object.zeroGasActors !== undefined && object.zeroGasActors !== null) + ? ZeroGasActors.fromPartial(object.zeroGasActors) + : undefined; + message.wasmBlockHooksContract = object.wasmBlockHooksContract ?? ""; + return message; + }, +}; + +function createBaseZeroGasActors(): ZeroGasActors { + return { senders: [], contracts: [], alwaysZeroGasContracts: [] }; +} + +export const ZeroGasActors = { + encode(message: ZeroGasActors, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + for (const v of message.senders) { + writer.uint32(10).string(v!); + } + for (const v of message.contracts) { + writer.uint32(18).string(v!); + } + for (const v of message.alwaysZeroGasContracts) { + writer.uint32(26).string(v!); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): ZeroGasActors { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseZeroGasActors(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.senders.push(reader.string()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.contracts.push(reader.string()); + continue; + case 3: + if (tag !== 26) { + break; + } + + message.alwaysZeroGasContracts.push(reader.string()); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): ZeroGasActors { + return { + senders: Array.isArray(object?.senders) ? object.senders.map((e: any) => String(e)) : [], + contracts: Array.isArray(object?.contracts) ? object.contracts.map((e: any) => String(e)) : [], + alwaysZeroGasContracts: Array.isArray(object?.alwaysZeroGasContracts) + ? object.alwaysZeroGasContracts.map((e: any) => String(e)) + : [], + }; + }, + + toJSON(message: ZeroGasActors): unknown { + const obj: any = {}; + if (message.senders) { + obj.senders = message.senders.map((e) => e); + } else { + obj.senders = []; + } + if (message.contracts) { + obj.contracts = message.contracts.map((e) => e); + } else { + obj.contracts = []; + } + if (message.alwaysZeroGasContracts) { + obj.alwaysZeroGasContracts = message.alwaysZeroGasContracts.map((e) => e); + } else { + obj.alwaysZeroGasContracts = []; + } + return obj; + }, + + create, I>>(base?: I): ZeroGasActors { + return ZeroGasActors.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): ZeroGasActors { + const message = createBaseZeroGasActors(); + message.senders = object.senders?.map((e) => e) || []; + message.contracts = object.contracts?.map((e) => e) || []; + message.alwaysZeroGasContracts = object.alwaysZeroGasContracts?.map((e) => e) || []; return message; }, }; diff --git a/src/protojs/nibiru/sudo/v1/tx.ts b/src/protojs/nibiru/sudo/v1/tx.ts index f59fc89c..2bd427ef 100644 --- a/src/protojs/nibiru/sudo/v1/tx.ts +++ b/src/protojs/nibiru/sudo/v1/tx.ts @@ -1,13 +1,14 @@ /* eslint-disable */ import Long from "long"; import _m0 from "protobufjs/minimal"; +import { ZeroGasActors } from "./state"; /** MsgEditSudoers: Msg to update the "Sudoers" state. */ export interface MsgEditSudoers { /** * Action: identifier for the type of edit that will take place. Using this - * action field prevents us from needing to create several similar message - * types. + * action field prevents us from needing to create several similar message + * types. */ action: string; /** Contracts: An input payload. */ @@ -32,6 +33,24 @@ export interface MsgChangeRoot { export interface MsgChangeRootResponse { } +/** MsgEditZeroGasActors: Tx msg to update the "ZeroGasActors" state. */ +export interface MsgEditZeroGasActors { + /** + * Actors that can execute zero gas transactions against a set of + * smart contracts. + */ + actors?: ZeroGasActors; + /** Sender: Nibiru Bech32 Address for the signer of the transaction. */ + sender: string; +} + +/** + * MsgEditZeroGasActorsResponse indicates the successful execution of + * MsgEditZeroGasActors. + */ +export interface MsgEditZeroGasActorsResponse { +} + function createBaseMsgEditSudoers(): MsgEditSudoers { return { action: "", contracts: [], sender: "" }; } @@ -279,6 +298,123 @@ export const MsgChangeRootResponse = { }, }; +function createBaseMsgEditZeroGasActors(): MsgEditZeroGasActors { + return { actors: undefined, sender: "" }; +} + +export const MsgEditZeroGasActors = { + encode(message: MsgEditZeroGasActors, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + if (message.actors !== undefined) { + ZeroGasActors.encode(message.actors, writer.uint32(10).fork()).ldelim(); + } + if (message.sender !== "") { + writer.uint32(18).string(message.sender); + } + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgEditZeroGasActors { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgEditZeroGasActors(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (tag !== 10) { + break; + } + + message.actors = ZeroGasActors.decode(reader, reader.uint32()); + continue; + case 2: + if (tag !== 18) { + break; + } + + message.sender = reader.string(); + continue; + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(object: any): MsgEditZeroGasActors { + return { + actors: isSet(object.actors) ? ZeroGasActors.fromJSON(object.actors) : undefined, + sender: isSet(object.sender) ? String(object.sender) : "", + }; + }, + + toJSON(message: MsgEditZeroGasActors): unknown { + const obj: any = {}; + message.actors !== undefined && (obj.actors = message.actors ? ZeroGasActors.toJSON(message.actors) : undefined); + message.sender !== undefined && (obj.sender = message.sender); + return obj; + }, + + create, I>>(base?: I): MsgEditZeroGasActors { + return MsgEditZeroGasActors.fromPartial(base ?? {}); + }, + + fromPartial, I>>(object: I): MsgEditZeroGasActors { + const message = createBaseMsgEditZeroGasActors(); + message.actors = (object.actors !== undefined && object.actors !== null) + ? ZeroGasActors.fromPartial(object.actors) + : undefined; + message.sender = object.sender ?? ""; + return message; + }, +}; + +function createBaseMsgEditZeroGasActorsResponse(): MsgEditZeroGasActorsResponse { + return {}; +} + +export const MsgEditZeroGasActorsResponse = { + encode(_: MsgEditZeroGasActorsResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { + return writer; + }, + + decode(input: _m0.Reader | Uint8Array, length?: number): MsgEditZeroGasActorsResponse { + const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); + let end = length === undefined ? reader.len : reader.pos + length; + const message = createBaseMsgEditZeroGasActorsResponse(); + while (reader.pos < end) { + const tag = reader.uint32(); + switch (tag >>> 3) { + } + if ((tag & 7) === 4 || tag === 0) { + break; + } + reader.skipType(tag & 7); + } + return message; + }, + + fromJSON(_: any): MsgEditZeroGasActorsResponse { + return {}; + }, + + toJSON(_: MsgEditZeroGasActorsResponse): unknown { + const obj: any = {}; + return obj; + }, + + create, I>>(base?: I): MsgEditZeroGasActorsResponse { + return MsgEditZeroGasActorsResponse.fromPartial(base ?? {}); + }, + + fromPartial, I>>(_: I): MsgEditZeroGasActorsResponse { + const message = createBaseMsgEditZeroGasActorsResponse(); + return message; + }, +}; + /** * Msg defines the x/sudo module's Msg service. Protobuf `Msg` services are * called from `BaseApp` instances during `DeliverTx`. The `Msg` service will be @@ -288,6 +424,12 @@ export interface Msg { /** EditSudoers updates the "Sudoers" state */ EditSudoers(request: MsgEditSudoers): Promise; ChangeRoot(request: MsgChangeRoot): Promise; + /** + * EditZeroGasActors updates the "ZeroGasActors" state. Zero gas actors are + * a set of accounts that can execute zero gas transactions against a + * whitelisted set of smart contracts. + */ + EditZeroGasActors(request: MsgEditZeroGasActors): Promise; } export const MsgServiceName = "nibiru.sudo.v1.Msg"; @@ -299,6 +441,7 @@ export class MsgClientImpl implements Msg { this.rpc = rpc; this.EditSudoers = this.EditSudoers.bind(this); this.ChangeRoot = this.ChangeRoot.bind(this); + this.EditZeroGasActors = this.EditZeroGasActors.bind(this); } EditSudoers(request: MsgEditSudoers): Promise { const data = MsgEditSudoers.encode(request).finish(); @@ -311,6 +454,12 @@ export class MsgClientImpl implements Msg { const promise = this.rpc.request(this.service, "ChangeRoot", data); return promise.then((data) => MsgChangeRootResponse.decode(_m0.Reader.create(data))); } + + EditZeroGasActors(request: MsgEditZeroGasActors): Promise { + const data = MsgEditZeroGasActors.encode(request).finish(); + const promise = this.rpc.request(this.service, "EditZeroGasActors", data); + return promise.then((data) => MsgEditZeroGasActorsResponse.decode(_m0.Reader.create(data))); + } } interface Rpc { diff --git a/src/protojs/nibiru/tokenfactory/module/module.ts b/src/protojs/nibiru/tokenfactory/module/module.ts deleted file mode 100644 index 3d1051b6..00000000 --- a/src/protojs/nibiru/tokenfactory/module/module.ts +++ /dev/null @@ -1,172 +0,0 @@ -/* eslint-disable */ -import Long from "long"; -import _m0 from "protobufjs/minimal"; - -/** Module is the config object for the tokenfactory module. */ -export interface Module { - /** authority defines the custom module authority. If not set, defaults to the governance module. */ - authority: string; -} - -/** ModuleAccountPermission represents permissions for a module account. */ -export interface ModuleAccountPermission { - /** account is the name of the module. */ - account: string; - /** - * permissions are the permissions this module has. Currently recognized - * values are minter, burner and staking. - */ - permissions: string[]; -} - -function createBaseModule(): Module { - return { authority: "" }; -} - -export const Module = { - encode(message: Module, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.authority !== "") { - writer.uint32(10).string(message.authority); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): Module { - const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseModule(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (tag !== 10) { - break; - } - - message.authority = reader.string(); - continue; - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skipType(tag & 7); - } - return message; - }, - - fromJSON(object: any): Module { - return { authority: isSet(object.authority) ? String(object.authority) : "" }; - }, - - toJSON(message: Module): unknown { - const obj: any = {}; - message.authority !== undefined && (obj.authority = message.authority); - return obj; - }, - - create, I>>(base?: I): Module { - return Module.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): Module { - const message = createBaseModule(); - message.authority = object.authority ?? ""; - return message; - }, -}; - -function createBaseModuleAccountPermission(): ModuleAccountPermission { - return { account: "", permissions: [] }; -} - -export const ModuleAccountPermission = { - encode(message: ModuleAccountPermission, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.account !== "") { - writer.uint32(10).string(message.account); - } - for (const v of message.permissions) { - writer.uint32(18).string(v!); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): ModuleAccountPermission { - const reader = input instanceof _m0.Reader ? input : _m0.Reader.create(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseModuleAccountPermission(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - if (tag !== 10) { - break; - } - - message.account = reader.string(); - continue; - case 2: - if (tag !== 18) { - break; - } - - message.permissions.push(reader.string()); - continue; - } - if ((tag & 7) === 4 || tag === 0) { - break; - } - reader.skipType(tag & 7); - } - return message; - }, - - fromJSON(object: any): ModuleAccountPermission { - return { - account: isSet(object.account) ? String(object.account) : "", - permissions: Array.isArray(object?.permissions) ? object.permissions.map((e: any) => String(e)) : [], - }; - }, - - toJSON(message: ModuleAccountPermission): unknown { - const obj: any = {}; - message.account !== undefined && (obj.account = message.account); - if (message.permissions) { - obj.permissions = message.permissions.map((e) => e); - } else { - obj.permissions = []; - } - return obj; - }, - - create, I>>(base?: I): ModuleAccountPermission { - return ModuleAccountPermission.fromPartial(base ?? {}); - }, - - fromPartial, I>>(object: I): ModuleAccountPermission { - const message = createBaseModuleAccountPermission(); - message.account = object.account ?? ""; - message.permissions = object.permissions?.map((e) => e) || []; - return message; - }, -}; - -type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; - -type DeepPartial = T extends Builtin ? T - : T extends Long ? string | number | Long : T extends Array ? Array> - : T extends ReadonlyArray ? ReadonlyArray> - : T extends {} ? { [K in keyof T]?: DeepPartial } - : Partial; - -type KeysOfUnion = T extends T ? keyof T : never; -type Exact = P extends Builtin ? P - : P & { [K in keyof P]: Exact } & { [K in Exclude>]: never }; - -if (_m0.util.Long !== Long) { - _m0.util.Long = Long as any; - _m0.configure(); -} - -function isSet(value: any): boolean { - return value !== null && value !== undefined; -} diff --git a/src/protojs/nibiru/tokenfactory/v1/tx.ts b/src/protojs/nibiru/tokenfactory/v1/tx.ts index c9bc35c8..2bca000f 100644 --- a/src/protojs/nibiru/tokenfactory/v1/tx.ts +++ b/src/protojs/nibiru/tokenfactory/v1/tx.ts @@ -104,9 +104,8 @@ export interface MsgSetDenomMetadataResponse { } /** - * MsgSudoSetDenomMetadata: sdk.Msg (TxMsg) enabling Nibiru's "sudoers" to change - * bank metadata. - * [SUDO] Only callable by sudoers. + * MsgSudoSetDenomMetadata: sdk.Msg (TxMsg) enabling Nibiru's "sudoers" to + * change bank metadata. [SUDO] Only callable by sudoers. * * Use Cases: * - To define metadata for ICS20 assets brought diff --git a/src/sdk/msg/eth.test.ts b/src/sdk/msg/eth.test.ts index e9602664..b1e5e7bd 100644 --- a/src/sdk/msg/eth.test.ts +++ b/src/sdk/msg/eth.test.ts @@ -67,6 +67,7 @@ describe("setupEthMsgExtension", () => { extraEips: [new Long(0)], evmChannels: [""], canonicalWnibi: "", + wasmPlugins: [{ name: "", addr: "" }], }, }) expect(msgUpdateParams).toHaveBeenCalledWith({ @@ -76,6 +77,7 @@ describe("setupEthMsgExtension", () => { createFuntokenFee: "", extraEips: [new Long(0)], evmChannels: [""], + wasmPlugins: [{ name: "", addr: "" }], }, }) expect(result).toEqual({ test: "Test" }) diff --git a/src/sdk/msg/sudo.test.ts b/src/sdk/msg/sudo.test.ts index ac3a2760..10389516 100644 --- a/src/sdk/msg/sudo.test.ts +++ b/src/sdk/msg/sudo.test.ts @@ -2,7 +2,7 @@ import { QueryClient } from "@cosmjs/stargate" import * as query from "../../protojs/nibiru/sudo/v1/tx" import { setupSudoMsgExtension } from "." -describe("setupEthMsgExtension", () => { +describe("setupSudoMsgExtension", () => { const mockBaseQueryClient = {} as QueryClient jest.spyOn(query, "MsgClientImpl").mockReturnValue({ @@ -10,6 +10,9 @@ describe("setupEthMsgExtension", () => { ChangeRoot: jest.fn().mockResolvedValue({ test: "Test", }), + EditZeroGasActors: jest.fn().mockResolvedValue({ + test: "Test", + }), } as unknown as query.MsgClientImpl) test("should setup extension correctly", () => { @@ -18,6 +21,7 @@ describe("setupEthMsgExtension", () => { expect(extension).toBeDefined() expect(extension.editSudoers).toBeInstanceOf(Function) expect(extension.changeRoot).toBeInstanceOf(Function) + expect(extension.editZeroGasActors).toBeInstanceOf(Function) }) describe("editSudoers", () => { @@ -59,4 +63,31 @@ describe("setupEthMsgExtension", () => { expect(result).toEqual({ test: "Test" }) }) }) + + describe("editZeroGasActors", () => { + test("should call MsgEditZeroGasActors and return the response", async () => { + const msgEditZeroGasActors = jest + .spyOn(query.MsgEditZeroGasActors, "fromPartial") + .mockReturnValue({} as query.MsgEditZeroGasActors) + + const extension = setupSudoMsgExtension(mockBaseQueryClient) + const result = await extension.editZeroGasActors({ + sender: "", + actors: { + senders: [""], + contracts: [""], + alwaysZeroGasContracts: [""], + }, + }) + expect(msgEditZeroGasActors).toHaveBeenCalledWith({ + sender: "", + actors: { + senders: [""], + contracts: [""], + alwaysZeroGasContracts: [""], + }, + }) + expect(result).toEqual({ test: "Test" }) + }) + }) }) diff --git a/src/sdk/msg/sudo.ts b/src/sdk/msg/sudo.ts index 6762f0b3..833c2be6 100644 --- a/src/sdk/msg/sudo.ts +++ b/src/sdk/msg/sudo.ts @@ -1,15 +1,34 @@ import { createProtobufRpcClient, QueryClient } from "@cosmjs/stargate" +import { GeneratedType } from "@cosmjs/proto-signing" import { MsgChangeRoot, MsgChangeRootResponse, MsgClientImpl, MsgEditSudoers, MsgEditSudoersResponse, + MsgEditZeroGasActors, + MsgEditZeroGasActorsResponse, + MsgServiceName, } from "../../protojs/nibiru/sudo/v1/tx" +export const SUDO_MSG_TYPE_URLS = { + MsgEditSudoers: `/${MsgServiceName}EditSudoers`, + MsgChangeRoot: `/${MsgServiceName}ChangeRoot`, + MsgEditZeroGasActors: `/${MsgServiceName}EditZeroGasActors`, +} + +export const sudoTypes: ReadonlyArray<[string, GeneratedType]> = [ + [SUDO_MSG_TYPE_URLS.MsgEditSudoers, MsgEditSudoers], + [SUDO_MSG_TYPE_URLS.MsgChangeRoot, MsgChangeRoot], + [SUDO_MSG_TYPE_URLS.MsgEditZeroGasActors, MsgEditZeroGasActors], +] + export interface SudoMsgExtension { editSudoers: (body: MsgEditSudoers) => Promise changeRoot: (body: MsgChangeRoot) => Promise + editZeroGasActors: ( + body: MsgEditZeroGasActors + ) => Promise } export const setupSudoMsgExtension = (base: QueryClient): SudoMsgExtension => { @@ -21,5 +40,8 @@ export const setupSudoMsgExtension = (base: QueryClient): SudoMsgExtension => { changeRoot: async (body: MsgChangeRoot) => queryService.ChangeRoot(MsgChangeRoot.fromPartial(body)), + + editZeroGasActors: async (body: MsgEditZeroGasActors) => + queryService.EditZeroGasActors(MsgEditZeroGasActors.fromPartial(body)), } } diff --git a/src/sdk/query/eth.test.ts b/src/sdk/query/eth.test.ts index 59faddb7..d5795166 100644 --- a/src/sdk/query/eth.test.ts +++ b/src/sdk/query/eth.test.ts @@ -13,7 +13,7 @@ describe("setupEpochsExtension", () => { validatorAccount: "Test", }), Balance: jest.fn().mockResolvedValue({ - balance: "Test", + balanceWei: "Test", }), Storage: jest.fn().mockResolvedValue({ storage: "Test", @@ -126,11 +126,13 @@ describe("setupEpochsExtension", () => { const extension = setupEthExtension(mockBaseQueryClient) const result = await extension.balance({ address: "", + token: "", }) expect(queryBalanceRequest).toHaveBeenCalledWith({ address: "", + token: "", }) - expect(result).toEqual({ balance: "Test" }) + expect(result).toEqual({ balanceWei: "Test" }) }) }) diff --git a/src/sdk/query/sudo.test.ts b/src/sdk/query/sudo.test.ts index 42194254..0f8a52dd 100644 --- a/src/sdk/query/sudo.test.ts +++ b/src/sdk/query/sudo.test.ts @@ -9,6 +9,13 @@ describe("setupSudoExtension", () => { QuerySudoers: jest .fn() .mockResolvedValue({ sudoers: ["Test Sudoer 1", "Test Sudoer 2"] }), + QueryZeroGasActors: jest.fn().mockResolvedValue({ + actors: { + senders: ["sender"], + contracts: ["contract"], + alwaysZeroGasContracts: ["always"], + }, + }), } as unknown as query.QueryClientImpl) test("should setup sudo extension correctly", () => { @@ -16,6 +23,7 @@ describe("setupSudoExtension", () => { expect(extension).toBeDefined() expect(extension.querySudoers).toBeInstanceOf(Function) + expect(extension.queryZeroGasActors).toBeInstanceOf(Function) }) describe("sudo.querySudoers", () => { @@ -31,4 +39,24 @@ describe("setupSudoExtension", () => { expect(result).toEqual({ sudoers: ["Test Sudoer 1", "Test Sudoer 2"] }) }) }) + + describe("sudo.queryZeroGasActors", () => { + test("should call QueryZeroGasActorsRequest and return the response", async () => { + const queryZeroGasActorsRequest = jest + .spyOn(query.QueryZeroGasActorsRequest, "fromPartial") + .mockReturnValue({} as query.QueryZeroGasActorsRequest) + + const extension = setupSudoExtension(mockBaseQueryClient) + const result = await extension.queryZeroGasActors() + + expect(queryZeroGasActorsRequest).toHaveBeenCalledWith({}) + expect(result).toEqual({ + actors: { + senders: ["sender"], + contracts: ["contract"], + alwaysZeroGasContracts: ["always"], + }, + }) + }) + }) }) diff --git a/src/sdk/query/sudo.ts b/src/sdk/query/sudo.ts index 0effa841..00ae81b0 100644 --- a/src/sdk/query/sudo.ts +++ b/src/sdk/query/sudo.ts @@ -3,10 +3,13 @@ import { QueryClientImpl, QuerySudoersRequest, QuerySudoersResponse, + QueryZeroGasActorsRequest, + QueryZeroGasActorsResponse, } from "../../protojs/nibiru/sudo/v1/query" export interface SudoExtension { querySudoers: () => Promise + queryZeroGasActors: () => Promise } export const setupSudoExtension = (base: QueryClient): SudoExtension => { @@ -15,5 +18,10 @@ export const setupSudoExtension = (base: QueryClient): SudoExtension => { return { querySudoers: async () => queryService.QuerySudoers(QuerySudoersRequest.fromPartial({})), + + queryZeroGasActors: async () => + queryService.QueryZeroGasActors( + QueryZeroGasActorsRequest.fromPartial({}) + ), } } diff --git a/src/sdk/tx/txClient.ts b/src/sdk/tx/txClient.ts index 4c1ddec8..488bdba3 100644 --- a/src/sdk/tx/txClient.ts +++ b/src/sdk/tx/txClient.ts @@ -17,6 +17,7 @@ import { ethTypes, NibiruExtensions, setupNibiruExtension, + sudoTypes, tokenfactoryTypes, } from ".." import { accountFromNibiru } from "./account" @@ -29,6 +30,7 @@ export const nibiruRegistryTypes: ReadonlyArray<[string, GeneratedType]> = [ ...defaultRegistryTypes, ...tokenfactoryTypes, ...ethTypes, + ...sudoTypes, ] export class NibiruTxClient extends SigningStargateClient { diff --git a/wagmi.config.ts b/wagmi.config.ts index 140f0f08..7192fde7 100644 --- a/wagmi.config.ts +++ b/wagmi.config.ts @@ -41,7 +41,7 @@ export default defineConfig({ { name: "WNIBI", abi: readAbi( - "./nibiru/x/evm/embeds/artifacts/contracts/WNIBI.sol/WNIBI.json" + "./nibiru/evm/embeds/artifacts/contracts/WNIBI.sol/WNIBI.json" ), address: ADDR_WNIBI, }, diff --git a/yarn.lock b/yarn.lock index c1fc84fa..98147b06 100644 --- a/yarn.lock +++ b/yarn.lock @@ -13540,7 +13540,7 @@ typedoc@^0.24.8: minimatch "^9.0.0" shiki "^0.14.1" -typescript@>=4.5.0: +typescript@>=4.5.0, typescript@^5.4.5: version "5.9.3" resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.9.3.tgz#5b4f59e15310ab17a216f5d6cf53ee476ede670f" integrity sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw== From 1fa8429316c355e93ede26f4ce1266adc7976efc Mon Sep 17 00:00:00 2001 From: Cameron Gilbert Date: Wed, 5 Aug 2026 09:22:17 -0400 Subject: [PATCH 08/12] fix: build --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3e793c0c..c50476b2 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "semantic-release": "semantic-release", "wagmi:generate": "wagmi generate", "prepare": "husky install", - "postinstall": "git submodule update --init --recursive" + "postinstall": "[ -z \"$CI\" ] && git submodule update --init --recursive" }, "dependencies": { "@cosmjs/cosmwasm-stargate": "^0.32.3", From f39519e9aeb1a8058e4b97cdb4468e8cd8b55fc3 Mon Sep 17 00:00:00 2001 From: Cameron Gilbert Date: Wed, 5 Aug 2026 09:31:15 -0400 Subject: [PATCH 09/12] fix: build --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c50476b2..a2be19b2 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,7 @@ "semantic-release": "semantic-release", "wagmi:generate": "wagmi generate", "prepare": "husky install", - "postinstall": "[ -z \"$CI\" ] && git submodule update --init --recursive" + "postinstall": "[ -n \"$CI\" ] || git submodule update --init --recursive" }, "dependencies": { "@cosmjs/cosmwasm-stargate": "^0.32.3", From 9f31a594956a7a69b7d5e2d342b3540bc3f813de Mon Sep 17 00:00:00 2001 From: Cameron Gilbert Date: Wed, 5 Aug 2026 11:04:40 -0400 Subject: [PATCH 10/12] fix: build --- .github/workflows/test-ts-sdk.yaml | 14 -------------- .gitignore | 3 --- .prettierignore | 3 --- .vscode/settings.json | 7 +------ nibiru | 2 +- sonar-project.properties | 17 ----------------- 6 files changed, 2 insertions(+), 44 deletions(-) delete mode 100644 sonar-project.properties diff --git a/.github/workflows/test-ts-sdk.yaml b/.github/workflows/test-ts-sdk.yaml index cf4c8556..7ae95fc3 100644 --- a/.github/workflows/test-ts-sdk.yaml +++ b/.github/workflows/test-ts-sdk.yaml @@ -23,7 +23,6 @@ jobs: - name: Checkout ts-sdk Repository uses: actions/checkout@v4 with: - fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis submodules: true - name: Setup NodeJS with yarn caching @@ -64,16 +63,3 @@ jobs: uses: MishaKav/jest-coverage-comment@main with: coverage-summary-path: ./coverage/coverage-summary.json - - - name: SonarQube Scan - uses: sonarsource/sonarqube-scan-action@master - env: - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }} - - # Re-enable when we can reliable have green tests - # - name: "SonarQube Quality Gate" - # uses: sonarsource/sonarqube-quality-gate-action@master - # timeout-minutes: 5 - # env: - # SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} diff --git a/.gitignore b/.gitignore index f4100c52..3e2ad119 100644 --- a/.gitignore +++ b/.gitignore @@ -94,9 +94,6 @@ modules.xml .idea/misc.xml *.ipr -# Sonarlint plugin -.idea/sonarlint - ### Node ### # Logs logs diff --git a/.prettierignore b/.prettierignore index d22617e7..a3103de1 100644 --- a/.prettierignore +++ b/.prettierignore @@ -102,9 +102,6 @@ modules.xml .idea/misc.xml *.ipr -# Sonarlint plugin -.idea/sonarlint - ### Node ### # Logs logs diff --git a/.vscode/settings.json b/.vscode/settings.json index 71b55de9..0967ef42 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,6 +1 @@ -{ - "sonarlint.connectedMode.project": { - "connectionId": "https-sonarqube-nibiru-fi-", - "projectKey": "NibiruChain_ts-sdk_AYuRILBdmUr0onRz5AJl" - } -} +{} diff --git a/nibiru b/nibiru index b830343a..04ba8366 160000 --- a/nibiru +++ b/nibiru @@ -1 +1 @@ -Subproject commit b830343a2fcf6d2f1aff6ec3e37b8fc723bdbdaa +Subproject commit 04ba83662994c9e9f3e057278f0afeb8a7f2194e diff --git a/sonar-project.properties b/sonar-project.properties deleted file mode 100644 index eabe4914..00000000 --- a/sonar-project.properties +++ /dev/null @@ -1,17 +0,0 @@ -sonar.projectKey=NibiruChain_ts-sdk -sonar.organization=nibiruchain - -sonar.javascript.lcov.reportPaths=coverage/lcov.info -sonar.coverage.exclusions=**/*.test.ts,**/protojs/src/** -sonar.cpd.exclusions=**/protojs/src/** - -# This is the name and version displayed in the SonarCloud UI. -#sonar.projectName=ts-sdk -#sonar.projectVersion=1.0 - - -# Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows. -#sonar.sources=. - -# Encoding of the source code. Default is default system encoding -#sonar.sourceEncoding=UTF-8 From 23e405ec9e1ca8715ce912f65ddce673c96cc996 Mon Sep 17 00:00:00 2001 From: Cameron Gilbert Date: Wed, 5 Aug 2026 11:18:22 -0400 Subject: [PATCH 11/12] chore: try shallow --- .github/workflows/test-ts-sdk.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/test-ts-sdk.yaml b/.github/workflows/test-ts-sdk.yaml index 7ae95fc3..4ff2447a 100644 --- a/.github/workflows/test-ts-sdk.yaml +++ b/.github/workflows/test-ts-sdk.yaml @@ -23,6 +23,7 @@ jobs: - name: Checkout ts-sdk Repository uses: actions/checkout@v4 with: + fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis submodules: true - name: Setup NodeJS with yarn caching From 0a6781700afbee8ed3c1a3439ac8145f5b1f41d6 Mon Sep 17 00:00:00 2001 From: Cameron Gilbert Date: Wed, 5 Aug 2026 11:27:49 -0400 Subject: [PATCH 12/12] chore: use latest commit --- .github/workflows/test-ts-sdk.yaml | 1 - nibiru | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/test-ts-sdk.yaml b/.github/workflows/test-ts-sdk.yaml index 4ff2447a..7ae95fc3 100644 --- a/.github/workflows/test-ts-sdk.yaml +++ b/.github/workflows/test-ts-sdk.yaml @@ -23,7 +23,6 @@ jobs: - name: Checkout ts-sdk Repository uses: actions/checkout@v4 with: - fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis submodules: true - name: Setup NodeJS with yarn caching diff --git a/nibiru b/nibiru index 04ba8366..b830343a 160000 --- a/nibiru +++ b/nibiru @@ -1 +1 @@ -Subproject commit 04ba83662994c9e9f3e057278f0afeb8a7f2194e +Subproject commit b830343a2fcf6d2f1aff6ec3e37b8fc723bdbdaa