diff --git a/.changelog/unreleased/features/616-integrate-managed-vault.md b/.changelog/unreleased/features/616-integrate-managed-vault.md new file mode 100644 index 00000000..157784e2 --- /dev/null +++ b/.changelog/unreleased/features/616-integrate-managed-vault.md @@ -0,0 +1 @@ +- Integrate the Managed Vault module, that introduces a new vault system for $USDN. ([#616](https://github.com/noble-assets/noble/pull/616)) diff --git a/api/config.json b/api/config.json index 6f53b933..f3c75c34 100644 --- a/api/config.json +++ b/api/config.json @@ -65,6 +65,12 @@ "Transfer" ] }, + { + "name": "Managed Vault", + "tags": [ + "Managed Vault" + ] + }, { "name": "Monerium", "tags": [ @@ -575,6 +581,19 @@ } } }, + { + "url": "./api/tmp-swagger-gen/noble/managed_vault/v1/query.swagger.json", + "tags": { + "rename": { + "Query": "Managed Vault" + } + }, + "operationIds": { + "rename": { + "Config": "ManagedVaultConfig" + } + } + }, { "url": "./api/tmp-swagger-gen/noble/orbiter/v1/query.swagger.json", "tags": { diff --git a/api/gen/index.html b/api/gen/index.html index 864d692b..8b8a458d 100644 --- a/api/gen/index.html +++ b/api/gen/index.html @@ -11,13 +11,14 @@ - + diff --git a/api/gen/swagger.yaml b/api/gen/swagger.yaml index f1763508..b6c477d6 100644 --- a/api/gen/swagger.yaml +++ b/api/gen/swagger.yaml @@ -45,6 +45,9 @@ x-tagGroups: - ICA Host - Rate Limit - Transfer + - name: Managed Vault + tags: + - Managed Vault - name: Monerium tags: - Florin @@ -49397,6 +49400,336 @@ paths: additionalProperties: {} tags: - Globalfee + /noble/managed-vault/v1/config: + get: + operationId: ManagedVaultConfig + responses: + '200': + description: A successful response. + schema: + type: object + properties: + admin: + type: string + max_nav_staleness: + type: string + format: uint64 + min_deposit_amount: + type: string + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + tags: + - Managed Vault + /noble/managed-vault/v1/inflight-funds/{strategy_id}: + get: + operationId: InflightFunds + responses: + '200': + description: A successful response. + schema: + type: object + properties: + total: + type: string + inflight_funds: + type: object + additionalProperties: + type: string + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: strategy_id + in: path + required: true + type: string + format: uint64 + tags: + - Managed Vault + /noble/managed-vault/v1/positions/{address}: + get: + operationId: Positions + responses: + '200': + description: A successful response. + schema: + type: object + properties: + positions: + type: object + additionalProperties: + type: object + properties: + amount: + type: string + shares: + type: string + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: address + in: path + required: true + type: string + tags: + - Managed Vault + /noble/managed-vault/v1/share-price/{strategy_id}: + get: + operationId: SharePrice + responses: + '200': + description: A successful response. + schema: + type: object + properties: + value: + type: string + timestamp: + type: string + format: uint64 + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: strategy_id + in: path + required: true + type: string + format: uint64 + tags: + - Managed Vault + /noble/managed-vault/v1/share-prices: + get: + operationId: SharePrices + responses: + '200': + description: A successful response. + schema: + type: object + properties: + share_prices: + type: object + additionalProperties: + type: object + properties: + value: + type: string + description: value is the share price itself. + timestamp: + type: string + format: uint64 + description: >- + timestamp indicates when this share price was last + updated. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + tags: + - Managed Vault + /noble/managed-vault/v1/strategies: + get: + operationId: Strategies + responses: + '200': + description: A successful response. + schema: + type: object + properties: + strategies: + type: object + additionalProperties: + type: object + properties: + status: + description: status is the status of this strategy. + type: string + enum: + - STATUS_UNSPECIFIED + - STATUS_HEALTHY + - STATUS_PAUSED + - STATUS_STALE_ORACLE + default: STATUS_UNSPECIFIED + domain: + type: integer + format: int64 + description: >- + domain is the Hyperlane domain that this strategy + utilizes. + token: + type: string + description: >- + token is the underlying Hyperlane Warp token that this + strategy utilizes. + manager: + type: string + description: >- + manager is the address of the manager of this strategy + on a remote chain. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + tags: + - Managed Vault + /noble/managed-vault/v1/strategy/{strategy_id}: + get: + operationId: Strategy + responses: + '200': + description: A successful response. + schema: + type: object + properties: + strategy: + type: object + properties: + status: + description: status is the status of this strategy. + type: string + enum: + - STATUS_UNSPECIFIED + - STATUS_HEALTHY + - STATUS_PAUSED + - STATUS_STALE_ORACLE + default: STATUS_UNSPECIFIED + domain: + type: integer + format: int64 + description: >- + domain is the Hyperlane domain that this strategy + utilizes. + token: + type: string + description: >- + token is the underlying Hyperlane Warp token that this + strategy utilizes. + manager: + type: string + description: >- + manager is the address of the manager of this strategy on + a remote chain. + recipient: + type: string + description: >- + recipient is the address used by the strategy for receiving + messages. + default: + description: An unexpected error response. + schema: + type: object + properties: + code: + type: integer + format: int32 + message: + type: string + details: + type: array + items: + type: object + properties: + '@type': + type: string + additionalProperties: {} + parameters: + - name: strategy_id + in: path + required: true + type: string + format: uint64 + tags: + - Managed Vault /noble/orbiter/v1/identifiers/actions: get: operationId: ActionIDs @@ -80345,6 +80678,174 @@ definitions: NOTE: The amount field is an Dec which implements the custom method signatures required by gogoproto. + noble.managed_vault.v1.QueryConfigResponse: + type: object + properties: + admin: + type: string + max_nav_staleness: + type: string + format: uint64 + min_deposit_amount: + type: string + noble.managed_vault.v1.QueryInflightFundsResponse: + type: object + properties: + total: + type: string + inflight_funds: + type: object + additionalProperties: + type: string + noble.managed_vault.v1.QueryPositionsResponse: + type: object + properties: + positions: + type: object + additionalProperties: + type: object + properties: + amount: + type: string + shares: + type: string + noble.managed_vault.v1.QueryPositionsResponse.Position: + type: object + properties: + amount: + type: string + shares: + type: string + noble.managed_vault.v1.QuerySharePriceResponse: + type: object + properties: + value: + type: string + timestamp: + type: string + format: uint64 + noble.managed_vault.v1.QuerySharePricesResponse: + type: object + properties: + share_prices: + type: object + additionalProperties: + type: object + properties: + value: + type: string + description: value is the share price itself. + timestamp: + type: string + format: uint64 + description: timestamp indicates when this share price was last updated. + noble.managed_vault.v1.QueryStrategiesResponse: + type: object + properties: + strategies: + type: object + additionalProperties: + type: object + properties: + status: + description: status is the status of this strategy. + type: string + enum: + - STATUS_UNSPECIFIED + - STATUS_HEALTHY + - STATUS_PAUSED + - STATUS_STALE_ORACLE + default: STATUS_UNSPECIFIED + domain: + type: integer + format: int64 + description: domain is the Hyperlane domain that this strategy utilizes. + token: + type: string + description: >- + token is the underlying Hyperlane Warp token that this strategy + utilizes. + manager: + type: string + description: >- + manager is the address of the manager of this strategy on a + remote chain. + noble.managed_vault.v1.QueryStrategyResponse: + type: object + properties: + strategy: + type: object + properties: + status: + description: status is the status of this strategy. + type: string + enum: + - STATUS_UNSPECIFIED + - STATUS_HEALTHY + - STATUS_PAUSED + - STATUS_STALE_ORACLE + default: STATUS_UNSPECIFIED + domain: + type: integer + format: int64 + description: domain is the Hyperlane domain that this strategy utilizes. + token: + type: string + description: >- + token is the underlying Hyperlane Warp token that this strategy + utilizes. + manager: + type: string + description: >- + manager is the address of the manager of this strategy on a remote + chain. + recipient: + type: string + description: recipient is the address used by the strategy for receiving messages. + noble.managed_vault.v1.SharePrice: + type: object + properties: + value: + type: string + description: value is the share price itself. + timestamp: + type: string + format: uint64 + description: timestamp indicates when this share price was last updated. + noble.managed_vault.v1.Status: + type: string + enum: + - STATUS_UNSPECIFIED + - STATUS_HEALTHY + - STATUS_PAUSED + - STATUS_STALE_ORACLE + default: STATUS_UNSPECIFIED + noble.managed_vault.v1.Strategy: + type: object + properties: + status: + description: status is the status of this strategy. + type: string + enum: + - STATUS_UNSPECIFIED + - STATUS_HEALTHY + - STATUS_PAUSED + - STATUS_STALE_ORACLE + default: STATUS_UNSPECIFIED + domain: + type: integer + format: int64 + description: domain is the Hyperlane domain that this strategy utilizes. + token: + type: string + description: >- + token is the underlying Hyperlane Warp token that this strategy + utilizes. + manager: + type: string + description: >- + manager is the address of the manager of this strategy on a remote + chain. noble.orbiter.v1.QueryActionIDsResponse: type: object properties: diff --git a/api/generate.sh b/api/generate.sh index a6f97ec6..fc4c0f26 100644 --- a/api/generate.sh +++ b/api/generate.sh @@ -15,6 +15,7 @@ buf export buf.build/noble-assets/florin:v2.0.0 --output api/proto buf export buf.build/noble-assets/forwarding:v2.0.3 --output api/proto buf export buf.build/noble-assets/globalfee:v1.0.1 --output api/proto buf export buf.build/noble-assets/halo:v2.0.1 --output api/proto +buf export buf.build/noble-assets/managed-vault:727db35 --output api/proto buf export buf.build/noble-assets/orbiter:v2.0.0 --output api/proto buf export buf.build/noble-assets/rate-limiting:v8.0.0 --output api/proto buf export buf.build/noble-assets/swap:v1.0.2 --output api/proto diff --git a/app.go b/app.go index 778ca163..4ad2d0dd 100644 --- a/app.go +++ b/app.go @@ -72,6 +72,7 @@ import ( _ "github.com/noble-assets/forwarding/v2" "github.com/noble-assets/globalfee" _ "github.com/noble-assets/halo/v2" + _ "github.com/noble-assets/managed-vault" _ "github.com/noble-assets/orbiter/v2" _ "github.com/noble-assets/wormhole" _ "github.com/ondoprotocol/usdy-noble/v2" @@ -126,6 +127,7 @@ import ( authoritykeeper "github.com/noble-assets/authority/keeper" forwardingkeeper "github.com/noble-assets/forwarding/v2/keeper" globalfeekeeper "github.com/noble-assets/globalfee/keeper" + managedvaultkeeper "github.com/noble-assets/managed-vault/keeper" orbiterkeeper "github.com/noble-assets/orbiter/v2/keeper" wormholekeeper "github.com/noble-assets/wormhole/keeper" swapkeeper "swap.noble.xyz/keeper" @@ -181,13 +183,14 @@ type App struct { // Monerium Modules FlorinKeeper *florinkeeper.Keeper // Noble Modules - AuthorityKeeper *authoritykeeper.Keeper - DollarKeeper *dollarkeeper.Keeper - ForwardingKeeper *forwardingkeeper.Keeper - GlobalFeeKeeper *globalfeekeeper.Keeper - OrbiterKeeper *orbiterkeeper.Keeper - SwapKeeper *swapkeeper.Keeper - WormholeKeeper *wormholekeeper.Keeper + AuthorityKeeper *authoritykeeper.Keeper + DollarKeeper *dollarkeeper.Keeper + ForwardingKeeper *forwardingkeeper.Keeper + GlobalFeeKeeper *globalfeekeeper.Keeper + ManagedVaultKeeper *managedvaultkeeper.Keeper + OrbiterKeeper *orbiterkeeper.Keeper + SwapKeeper *swapkeeper.Keeper + WormholeKeeper *wormholekeeper.Keeper } func init() { @@ -268,6 +271,7 @@ func NewApp( &app.DollarKeeper, &app.ForwardingKeeper, &app.GlobalFeeKeeper, + &app.ManagedVaultKeeper, &app.OrbiterKeeper, &app.SwapKeeper, &app.WormholeKeeper, diff --git a/app.yaml b/app.yaml index 89dd806f..3f0605ce 100644 --- a/app.yaml +++ b/app.yaml @@ -52,6 +52,7 @@ modules: warp, ratelimit, orbiter, + managed-vault, ] override_store_keys: - module_name: auth @@ -193,6 +194,11 @@ modules: config: "@type": noble.globalfee.module.v1.Module authority: authority # Utilize our custom x/authority module. + - name: managed-vault + config: + "@type": noble.managed_vault.module.v1.Module + authority: authority # Utilize our custom x/authority module. + denom: uusdn - name: orbiter config: "@type": noble.orbiter.module.v1.Module diff --git a/e2e/go.mod b/e2e/go.mod index fc3fb95e..fca3b21e 100644 --- a/e2e/go.mod +++ b/e2e/go.mod @@ -117,7 +117,6 @@ require ( github.com/felixge/httpsnoop v1.0.4 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect github.com/getsentry/sentry-go v0.32.0 // indirect - github.com/gin-gonic/gin v1.8.1 // indirect github.com/go-jose/go-jose/v4 v4.1.1 // indirect github.com/go-kit/kit v0.13.0 // indirect github.com/go-kit/log v0.2.1 // indirect @@ -126,7 +125,7 @@ require ( github.com/go-logr/stdr v1.2.2 // indirect github.com/go-ole/go-ole v1.3.0 // indirect github.com/go-playground/universal-translator v0.18.1 // indirect - github.com/go-playground/validator/v10 v10.11.1 // indirect + github.com/go-task/slim-sprig/v3 v3.0.0 // indirect github.com/gobwas/httphead v0.1.0 // indirect github.com/gobwas/pool v0.2.1 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect @@ -207,10 +206,9 @@ require ( github.com/multiformats/go-varint v0.0.7 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/ncruces/go-strftime v0.1.9 // indirect + github.com/noble-assets/managed-vault v0.0.0-20251117143128-727db350829c // indirect github.com/oasisprotocol/curve25519-voi v0.0.0-20230904125328-1f23a7beb09a // indirect github.com/oklog/run v1.1.0 // indirect - github.com/onsi/ginkgo/v2 v2.23.3 // indirect - github.com/onsi/gomega v1.37.0 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.1.0-rc2 // indirect github.com/pelletier/go-toml v1.9.5 // indirect diff --git a/e2e/go.sum b/e2e/go.sum index eaca1d02..6795cb35 100644 --- a/e2e/go.sum +++ b/e2e/go.sum @@ -1019,11 +1019,9 @@ github.com/go-pdf/fpdf v0.5.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhO github.com/go-pdf/fpdf v0.6.0/go.mod h1:HzcnA+A23uwogo0tp9yU+l3V+KXhiESpt1PMayhOh5M= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.13.0/go.mod h1:taPMhCMXrRLJO55olJkUXHZBHCxTMfnGwq/HNwmWNS8= -github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa7l++s0DH+LDiLs= github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= github.com/go-playground/universal-translator v0.17.0/go.mod h1:UkSxE5sNxxRwHyU+Scu5vgOQjsIJAF8j9muTVoKLVtA= -github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA= github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= github.com/go-playground/validator/v10 v10.2.0/go.mod h1:uOYAAleCW8F/7oMFd6aG0GOhaH6EGOAJShg8Id5JGkI= @@ -1032,7 +1030,6 @@ github.com/go-playground/validator/v10 v10.11.1/go.mod h1:i+3WkQ1FvaUjjxh1kSvIA4 github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= -github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI= github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= @@ -1365,7 +1362,6 @@ github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+ github.com/leanovate/gopter v0.2.11 h1:vRjThO1EKPb/1NsDXuDrzldR28RLkBflWYcU9CvzWu4= github.com/leanovate/gopter v0.2.11/go.mod h1:aK3tzZP/C+p1m3SPRE4SYZFGP7jjkuSI4f7Xvpt0S9c= github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII= -github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= github.com/leodido/go-urn v1.2.4 h1:XlAE/cm/ms7TE/VMVoduSpNBoyc2dOxHs5MZSwAN63Q= github.com/leodido/go-urn v1.2.4/go.mod h1:7ZrI8mTSeBSHl/UaRyKQW1qZeMgak41ANeCNaVckg+4= github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw= @@ -1486,6 +1482,8 @@ github.com/noble-assets/cosmos-sdk/collections v0.0.0-20250923134424-edd65694c2f github.com/noble-assets/cosmos-sdk/collections v0.0.0-20250923134424-edd65694c2f7/go.mod h1:PSsEJ/fqny0VPsHLFT6gXDj/2C1tBOTS9eByK0+PBFU= github.com/noble-assets/halo/v2 v2.0.1 h1:nHAhTnq5dPJGelcLnKzMviXtk9x0DfMnRPv+CPoEvyA= github.com/noble-assets/halo/v2 v2.0.1/go.mod h1:DY4GCfZ/7S3IEjoJBCCh7HRTxirPBOLMVwkT0N6n3bA= +github.com/noble-assets/managed-vault v0.0.0-20251117143128-727db350829c h1:J/1Z5/jS39s5ixasYOSqF+42SJdBC5jKVto60SxDUVY= +github.com/noble-assets/managed-vault v0.0.0-20251117143128-727db350829c/go.mod h1:oSGF2Djn0ZmVOEzd+xPaq1jnwK9el/dS2mgr4sZFAkQ= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= @@ -1628,7 +1626,6 @@ github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6So github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= -github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ= github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc= @@ -1851,7 +1848,6 @@ golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= @@ -1973,7 +1969,6 @@ golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= diff --git a/go.mod b/go.mod index d2ffed25..d21d69bb 100644 --- a/go.mod +++ b/go.mod @@ -33,6 +33,7 @@ require ( github.com/noble-assets/forwarding/v2 v2.0.3 github.com/noble-assets/globalfee v1.0.1 github.com/noble-assets/halo/v2 v2.0.1 + github.com/noble-assets/managed-vault v0.0.0-20251117143128-727db350829c github.com/noble-assets/orbiter/v2 v2.0.0 github.com/noble-assets/wormhole v1.0.0 github.com/ondoprotocol/usdy-noble/v2 v2.0.0 @@ -315,7 +316,7 @@ require ( github.com/ssgreg/nlreturn/v2 v2.2.1 // indirect github.com/stbenjam/no-sprintf-host-port v0.1.1 // indirect github.com/stretchr/objx v0.5.2 // indirect - github.com/stretchr/testify v1.10.0 // indirect + github.com/stretchr/testify v1.11.1 // indirect github.com/subosito/gotenv v1.6.0 // indirect github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d // indirect github.com/tdakkota/asciicheck v0.2.0 // indirect diff --git a/go.sum b/go.sum index 6a957e21..a9303d0c 100644 --- a/go.sum +++ b/go.sum @@ -1134,6 +1134,8 @@ github.com/noble-assets/halo/v2 v2.0.1 h1:nHAhTnq5dPJGelcLnKzMviXtk9x0DfMnRPv+CP github.com/noble-assets/halo/v2 v2.0.1/go.mod h1:DY4GCfZ/7S3IEjoJBCCh7HRTxirPBOLMVwkT0N6n3bA= github.com/noble-assets/ibc-apps/middleware/packet-forward-middleware/v8 v8.2.0-noble h1:nxz3n15ChWqK/PvRYg0sGpfsrsIM1uqK4z/I/6CvSbc= github.com/noble-assets/ibc-apps/middleware/packet-forward-middleware/v8 v8.2.0-noble/go.mod h1:O5H9Ic3Pe6cmJn1eqlj5N48sLb8WQ1VWmDP4/11g/4E= +github.com/noble-assets/managed-vault v0.0.0-20251117143128-727db350829c h1:J/1Z5/jS39s5ixasYOSqF+42SJdBC5jKVto60SxDUVY= +github.com/noble-assets/managed-vault v0.0.0-20251117143128-727db350829c/go.mod h1:oSGF2Djn0ZmVOEzd+xPaq1jnwK9el/dS2mgr4sZFAkQ= github.com/noble-assets/orbiter/v2 v2.0.0 h1:ODywPF7fGAcErw+RxU6UVH0B/mdBgWkzxav5uxjWuzs= github.com/noble-assets/orbiter/v2 v2.0.0/go.mod h1:9Ys1x5gMEDvrKAKIWE0RVW5VMejATuHIgCbF80WanNI= github.com/noble-assets/wormhole v1.0.0 h1:c3otKgRv6Am4IoB/Vob2ziom02Ptpzv8R1/OtM2gxxI= @@ -1373,8 +1375,8 @@ github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1F github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= -github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= +github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 h1:epCh84lMvA70Z7CTTCmYQn2CKbY8j86K7/FAIr141uY= diff --git a/upgrade/store.go b/upgrade/store.go index 62f9fb2f..c2ce08a5 100644 --- a/upgrade/store.go +++ b/upgrade/store.go @@ -20,10 +20,14 @@ import ( storetypes "cosmossdk.io/store/types" upgradetypes "cosmossdk.io/x/upgrade/types" "github.com/cosmos/cosmos-sdk/baseapp" + managedvaulttypes "github.com/noble-assets/managed-vault/types" ) func CreateStoreLoader(upgradeHeight int64) baseapp.StoreLoader { - storeUpgrades := storetypes.StoreUpgrades{} + storeUpgrades := storetypes.StoreUpgrades{ + // Noble Modules + Added: []string{managedvaulttypes.ModuleName}, + } return upgradetypes.UpgradeStoreLoader(upgradeHeight, &storeUpgrades) }