Skip to content

Commit

Permalink
Merge pull request #742 from radixdlt/release/v1.6.0
Browse files Browse the repository at this point in the history
Release/v1.6.0 -> main
  • Loading branch information
PawelPawelec-RDX authored May 16, 2024
2 parents 6026a3e + 82f447e commit 8a65340
Show file tree
Hide file tree
Showing 825 changed files with 15,485 additions and 1,058 deletions.
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,16 @@
## 1.6.0
Release built: _not published yet_

### API Changes
- Added `well_known_addresses.locker_package` address property to the `/status/network-configuration` endpoint response.
- Added a new endpoint `/state/account-locker/page/vaults` which allows to read all resource vaults for a given AccountLocker.
- Added a new endpoint `/state/account-lockers/touched-at` which allows to read last touch state version for a given collection of AccountLockers.

### Database changes
- Added a new set of AccountLocker-related tables: `account_locker_entry_definition`, `account_locker_entry_resource_vault_definition` and `account_locker_entry_touch_history`.
- Added two new columns `account_locker_of_account_entity_id` and `account_locker_of_account_locker_entity_id` to the `entities` table filled for AccountLocker-related Vaults and KeyValueStores.
- Changed `IX_entity_vault_history_vault_entity_id_from_state_version` index to match all existing vaults rather non-fungible ones only.

## 1.5.2
Release built: 14.05.2024

Expand Down
2 changes: 1 addition & 1 deletion Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
</PropertyGroup>

<PropertyGroup>
<VersionPrefix>1.5.2</VersionPrefix>
<VersionPrefix>1.6.0</VersionPrefix>
<VersionSuffix>develop</VersionSuffix>
</PropertyGroup>

Expand Down
2 changes: 1 addition & 1 deletion Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
<PackageVersion Include="prometheus-net" Version="8.2.1" />
<PackageVersion Include="prometheus-net.AspNetCore" Version="8.2.1" />
<PackageVersion Include="prometheus-net.AspNetCore.HealthChecks" Version="8.2.1" />
<PackageVersion Include="RadixDlt.RadixEngineToolkit" Version="1.0.10" />
<PackageVersion Include="RadixDlt.RadixEngineToolkit" Version="2.1.0-dev5" />
<PackageVersion Include="Swashbuckle.AspNetCore" Version="6.5.0" />
<!-- build time dependencies -->
<PackageVersion Include="coverlet.collector" Version="6.0.1" />
Expand Down
28 changes: 14 additions & 14 deletions apps/DataAggregator/packages.lock.json
Original file line number Diff line number Diff line change
Expand Up @@ -636,23 +636,23 @@
"Microsoft.Extensions.Logging.Abstractions": "[8.0.0, )",
"Newtonsoft.Json": "[13.0.3, )",
"Nito.AsyncEx.Coordination": "[5.1.2, )",
"RadixDlt.CoreApiSdk": "[1.5.1-develop, )"
"RadixDlt.CoreApiSdk": "[1.6.0-develop, )"
}
},
"radixdlt.networkgateway.dataaggregator": {
"type": "Project",
"dependencies": {
"RadixDlt.NetworkGateway.Abstractions": "[1.5.1-develop, )"
"RadixDlt.NetworkGateway.Abstractions": "[1.6.0-develop, )"
}
},
"radixdlt.networkgateway.gatewayapi": {
"type": "Project",
"dependencies": {
"FluentValidation.AspNetCore": "[11.3.0, )",
"Microsoft.Extensions.Http.Polly": "[8.0.2, )",
"RadixDlt.NetworkGateway.Abstractions": "[1.5.1-develop, )",
"RadixDlt.NetworkGateway.GatewayApiSdk": "[1.5.1-develop, )",
"RadixDlt.RadixEngineToolkit": "[1.0.10, )"
"RadixDlt.NetworkGateway.Abstractions": "[1.6.0-develop, )",
"RadixDlt.NetworkGateway.GatewayApiSdk": "[1.6.0-develop, )",
"RadixDlt.RadixEngineToolkit": "[2.1.0-dev5, )"
}
},
"radixdlt.networkgateway.gatewayapisdk": {
Expand All @@ -673,17 +673,17 @@
"Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "[8.0.2, )",
"Newtonsoft.Json": "[13.0.3, )",
"Npgsql.EntityFrameworkCore.PostgreSQL": "[8.0.2, )",
"RadixDlt.NetworkGateway.Abstractions": "[1.5.1-develop, )",
"RadixDlt.NetworkGateway.DataAggregator": "[1.5.1-develop, )",
"RadixDlt.NetworkGateway.GatewayApi": "[1.5.1-develop, )",
"RadixDlt.RadixEngineToolkit": "[1.0.10, )"
"RadixDlt.NetworkGateway.Abstractions": "[1.6.0-develop, )",
"RadixDlt.NetworkGateway.DataAggregator": "[1.6.0-develop, )",
"RadixDlt.NetworkGateway.GatewayApi": "[1.6.0-develop, )",
"RadixDlt.RadixEngineToolkit": "[2.1.0-dev5, )"
}
},
"radixdlt.networkgateway.prometheusintegration": {
"type": "Project",
"dependencies": {
"RadixDlt.NetworkGateway.DataAggregator": "[1.5.1-develop, )",
"RadixDlt.NetworkGateway.GatewayApi": "[1.5.1-develop, )",
"RadixDlt.NetworkGateway.DataAggregator": "[1.6.0-develop, )",
"RadixDlt.NetworkGateway.GatewayApi": "[1.6.0-develop, )",
"prometheus-net": "[8.2.1, )"
}
},
Expand Down Expand Up @@ -863,9 +863,9 @@
},
"RadixDlt.RadixEngineToolkit": {
"type": "CentralTransitive",
"requested": "[1.0.10, )",
"resolved": "1.0.10",
"contentHash": "oNA8NAEPkBhBi0eKtPw1UkuUqAFJJd8MxzK1ehGx6sCNW2xzw3yoB7i0tHdOIIeExpcXG8VvY3/rZ17BhdmgCA=="
"requested": "[2.1.0-dev5, )",
"resolved": "2.1.0-dev5",
"contentHash": "pJY7s7Q+E1QcRrZUBWrBOrV6khO27+IJaYb1rUUzMFi2GVsNfrp7XbWYglfvvxxt9e5XtPlJXC6TvF5aE3E5Xw=="
}
}
}
Expand Down
24 changes: 12 additions & 12 deletions apps/DatabaseMigrations/packages.lock.json
Original file line number Diff line number Diff line change
Expand Up @@ -569,23 +569,23 @@
"Microsoft.Extensions.Logging.Abstractions": "[8.0.0, )",
"Newtonsoft.Json": "[13.0.3, )",
"Nito.AsyncEx.Coordination": "[5.1.2, )",
"RadixDlt.CoreApiSdk": "[1.5.1-develop, )"
"RadixDlt.CoreApiSdk": "[1.6.0-develop, )"
}
},
"radixdlt.networkgateway.dataaggregator": {
"type": "Project",
"dependencies": {
"RadixDlt.NetworkGateway.Abstractions": "[1.5.1-develop, )"
"RadixDlt.NetworkGateway.Abstractions": "[1.6.0-develop, )"
}
},
"radixdlt.networkgateway.gatewayapi": {
"type": "Project",
"dependencies": {
"FluentValidation.AspNetCore": "[11.3.0, )",
"Microsoft.Extensions.Http.Polly": "[8.0.2, )",
"RadixDlt.NetworkGateway.Abstractions": "[1.5.1-develop, )",
"RadixDlt.NetworkGateway.GatewayApiSdk": "[1.5.1-develop, )",
"RadixDlt.RadixEngineToolkit": "[1.0.10, )"
"RadixDlt.NetworkGateway.Abstractions": "[1.6.0-develop, )",
"RadixDlt.NetworkGateway.GatewayApiSdk": "[1.6.0-develop, )",
"RadixDlt.RadixEngineToolkit": "[2.1.0-dev5, )"
}
},
"radixdlt.networkgateway.gatewayapisdk": {
Expand All @@ -606,10 +606,10 @@
"Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "[8.0.2, )",
"Newtonsoft.Json": "[13.0.3, )",
"Npgsql.EntityFrameworkCore.PostgreSQL": "[8.0.2, )",
"RadixDlt.NetworkGateway.Abstractions": "[1.5.1-develop, )",
"RadixDlt.NetworkGateway.DataAggregator": "[1.5.1-develop, )",
"RadixDlt.NetworkGateway.GatewayApi": "[1.5.1-develop, )",
"RadixDlt.RadixEngineToolkit": "[1.0.10, )"
"RadixDlt.NetworkGateway.Abstractions": "[1.6.0-develop, )",
"RadixDlt.NetworkGateway.DataAggregator": "[1.6.0-develop, )",
"RadixDlt.NetworkGateway.GatewayApi": "[1.6.0-develop, )",
"RadixDlt.RadixEngineToolkit": "[2.1.0-dev5, )"
}
},
"Dapper": {
Expand Down Expand Up @@ -788,9 +788,9 @@
},
"RadixDlt.RadixEngineToolkit": {
"type": "CentralTransitive",
"requested": "[1.0.10, )",
"resolved": "1.0.10",
"contentHash": "oNA8NAEPkBhBi0eKtPw1UkuUqAFJJd8MxzK1ehGx6sCNW2xzw3yoB7i0tHdOIIeExpcXG8VvY3/rZ17BhdmgCA=="
"requested": "[2.1.0-dev5, )",
"resolved": "2.1.0-dev5",
"contentHash": "pJY7s7Q+E1QcRrZUBWrBOrV6khO27+IJaYb1rUUzMFi2GVsNfrp7XbWYglfvvxxt9e5XtPlJXC6TvF5aE3E5Xw=="
}
}
}
Expand Down
98 changes: 98 additions & 0 deletions apps/GatewayApi/Controllers/StateAccountLockerController.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
/* Copyright 2021 Radix Publishing Ltd incorporated in Jersey (Channel Islands).
*
* Licensed under the Radix License, Version 1.0 (the "License"); you may not use this
* file except in compliance with the License. You may obtain a copy of the License at:
*
* radixfoundation.org/licenses/LICENSE-v1
*
* The Licensor hereby grants permission for the Canonical version of the Work to be
* published, distributed and used under or by reference to the Licensor’s trademark
* Radix ® and use of any unregistered trade names, logos or get-up.
*
* The Licensor provides the Work (and each Contributor provides its Contributions) on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied,
* including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT,
* MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE.
*
* Whilst the Work is capable of being deployed, used and adopted (instantiated) to create
* a distributed ledger it is your responsibility to test and validate the code, together
* with all logic and performance of that code under all foreseeable scenarios.
*
* The Licensor does not make or purport to make and hereby excludes liability for all
* and any representation, warranty or undertaking in any form whatsoever, whether express
* or implied, to any entity or person, including any representation, warranty or
* undertaking, as to the functionality security use, value or other characteristics of
* any distributed ledger nor in respect the functioning or value of any tokens which may
* be created stored or transferred using the Work. The Licensor does not warrant that the
* Work or any use of the Work complies with any law or regulation in any territory where
* it may be implemented or used or that it will be appropriate for any specific purpose.
*
* Neither the licensor nor any current or former employees, officers, directors, partners,
* trustees, representatives, agents, advisors, contractors, or volunteers of the Licensor
* shall be liable for any direct or indirect, special, incidental, consequential or other
* losses of any kind, in tort, contract or otherwise (including but not limited to loss
* of revenue, income or profits, or loss of use or data, or loss of reputation, or loss
* of any economic or other opportunity of whatsoever nature or howsoever arising), arising
* out of or in connection with (without limitation of any use, misuse, of any ledger system
* or use made or its functionality or any performance or operation of any code or protocol
* caused by bugs or programming or logic errors or otherwise);
*
* A. any offer, purchase, holding, use, sale, exchange or transmission of any
* cryptographic keys, tokens or assets created, exchanged, stored or arising from any
* interaction with the Work;
*
* B. any failure in a transmission or loss of any token or assets keys or other digital
* artefacts due to errors in transmission;
*
* C. bugs, hacks, logic errors or faults in the Work or any communication;
*
* D. system software or apparatus including but not limited to losses caused by errors
* in holding or transmitting tokens by any third-party;
*
* E. breaches or failure of security including hacker attacks, loss or disclosure of
* password, loss of private key, unauthorised use or misuse of such passwords or keys;
*
* F. any losses including loss of anticipated savings or other benefits resulting from
* use of the Work or any changes to the Work (however implemented).
*
* You are solely responsible for; testing, validating and evaluation of all operation
* logic, functionality, security and appropriateness of using the Work for any commercial
* or non-commercial purpose and for any reproduction or redistribution by You of the
* Work. You assume all risks associated with Your use of the Work and the exercise of
* permissions under this License.
*/

using Microsoft.AspNetCore.Mvc;
using RadixDlt.NetworkGateway.GatewayApi.Handlers;
using System.Threading;
using System.Threading.Tasks;
using GatewayModel = RadixDlt.NetworkGateway.GatewayApiSdk.Model;

namespace GatewayApi.Controllers;

[ApiController]
public class StateAccountLockerController : ControllerBase
{
private readonly IAccountLockerHandler _accountLockerHandler;

public StateAccountLockerController(IAccountLockerHandler accountLockerHandler)
{
_accountLockerHandler = accountLockerHandler;
}

[HttpPost("state/account-locker/page/vaults")]
public async Task<IActionResult> VaultsPage(GatewayModel.StateAccountLockerPageVaultsRequest request, CancellationToken token = default)
{
var response = await _accountLockerHandler.Vaults(request, token);

return response != null
? Ok(response)
: NotFound();
}

[HttpPost("state/account-lockers/touched-at")]
public async Task<IActionResult> TouchedAt(GatewayModel.StateAccountLockersTouchedAtRequest request, CancellationToken token = default)
{
return Ok(await _accountLockerHandler.TouchedAt(request, token));
}
}
1 change: 1 addition & 0 deletions apps/GatewayApi/Controllers/StatusController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,7 @@ public StatusController(IStatusHandler statusHandler, INetworkConfigurationProvi
genesisHelper: wellKnownAddresses.GenesisHelper,
faucet: wellKnownAddresses.Faucet,
poolPackage: wellKnownAddresses.PoolPackage,
lockerPackage: wellKnownAddresses.LockerPackage,
transactionTracker: wellKnownAddresses.TransactionTracker
)
);
Expand Down
28 changes: 14 additions & 14 deletions apps/GatewayApi/packages.lock.json
Original file line number Diff line number Diff line change
Expand Up @@ -694,23 +694,23 @@
"Microsoft.Extensions.Logging.Abstractions": "[8.0.0, )",
"Newtonsoft.Json": "[13.0.3, )",
"Nito.AsyncEx.Coordination": "[5.1.2, )",
"RadixDlt.CoreApiSdk": "[1.5.1-develop, )"
"RadixDlt.CoreApiSdk": "[1.6.0-develop, )"
}
},
"radixdlt.networkgateway.dataaggregator": {
"type": "Project",
"dependencies": {
"RadixDlt.NetworkGateway.Abstractions": "[1.5.1-develop, )"
"RadixDlt.NetworkGateway.Abstractions": "[1.6.0-develop, )"
}
},
"radixdlt.networkgateway.gatewayapi": {
"type": "Project",
"dependencies": {
"FluentValidation.AspNetCore": "[11.3.0, )",
"Microsoft.Extensions.Http.Polly": "[8.0.2, )",
"RadixDlt.NetworkGateway.Abstractions": "[1.5.1-develop, )",
"RadixDlt.NetworkGateway.GatewayApiSdk": "[1.5.1-develop, )",
"RadixDlt.RadixEngineToolkit": "[1.0.10, )"
"RadixDlt.NetworkGateway.Abstractions": "[1.6.0-develop, )",
"RadixDlt.NetworkGateway.GatewayApiSdk": "[1.6.0-develop, )",
"RadixDlt.RadixEngineToolkit": "[2.1.0-dev5, )"
}
},
"radixdlt.networkgateway.gatewayapisdk": {
Expand All @@ -731,17 +731,17 @@
"Microsoft.Extensions.Diagnostics.HealthChecks.EntityFrameworkCore": "[8.0.2, )",
"Newtonsoft.Json": "[13.0.3, )",
"Npgsql.EntityFrameworkCore.PostgreSQL": "[8.0.2, )",
"RadixDlt.NetworkGateway.Abstractions": "[1.5.1-develop, )",
"RadixDlt.NetworkGateway.DataAggregator": "[1.5.1-develop, )",
"RadixDlt.NetworkGateway.GatewayApi": "[1.5.1-develop, )",
"RadixDlt.RadixEngineToolkit": "[1.0.10, )"
"RadixDlt.NetworkGateway.Abstractions": "[1.6.0-develop, )",
"RadixDlt.NetworkGateway.DataAggregator": "[1.6.0-develop, )",
"RadixDlt.NetworkGateway.GatewayApi": "[1.6.0-develop, )",
"RadixDlt.RadixEngineToolkit": "[2.1.0-dev5, )"
}
},
"radixdlt.networkgateway.prometheusintegration": {
"type": "Project",
"dependencies": {
"RadixDlt.NetworkGateway.DataAggregator": "[1.5.1-develop, )",
"RadixDlt.NetworkGateway.GatewayApi": "[1.5.1-develop, )",
"RadixDlt.NetworkGateway.DataAggregator": "[1.6.0-develop, )",
"RadixDlt.NetworkGateway.GatewayApi": "[1.6.0-develop, )",
"prometheus-net": "[8.2.1, )"
}
},
Expand Down Expand Up @@ -921,9 +921,9 @@
},
"RadixDlt.RadixEngineToolkit": {
"type": "CentralTransitive",
"requested": "[1.0.10, )",
"resolved": "1.0.10",
"contentHash": "oNA8NAEPkBhBi0eKtPw1UkuUqAFJJd8MxzK1ehGx6sCNW2xzw3yoB7i0tHdOIIeExpcXG8VvY3/rZ17BhdmgCA=="
"requested": "[2.1.0-dev5, )",
"resolved": "2.1.0-dev5",
"contentHash": "pJY7s7Q+E1QcRrZUBWrBOrV6khO27+IJaYb1rUUzMFi2GVsNfrp7XbWYglfvvxxt9e5XtPlJXC6TvF5aE3E5Xw=="
}
}
}
Expand Down
4 changes: 2 additions & 2 deletions deployment/ci.env
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Git commit version of most recent Node compatible with this Network Gateway (only used in CI/CD environments)
FULLNODE_COMMIT=cc58def8a92d9b0e0e709a2dcde0be161045edd3
FULLNODE_VERSION=sha-cc58def
FULLNODE_COMMIT=4fe77367fdf1b14e2c7be973292f8730f1b1f8af
FULLNODE_VERSION=sha-4fe7736
POSTGRES_VERSION=15.2.0
6 changes: 3 additions & 3 deletions deployment/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,13 +51,13 @@ services:
retries: 3

database_migrations: # This is the base -- the _image and _built containers are defined below
image: "radixdlt/babylon-ng-database-migrations:v1.5.2"
image: "radixdlt/babylon-ng-database-migrations:v1.6.0"
profiles: ["NONE"]
environment:
ConnectionStrings__NetworkGatewayMigrations: "Host=postgres_db:5432;Database=${POSTGRES_DB_NAME};Username=${POSTGRES_SUPERUSER};Password=${POSTGRES_SUPERUSER_PASSWORD}"

data_aggregator: # This is the base -- the _image and _built containers are defined below
image: "radixdlt/babylon-ng-data-aggregator:v1.5.2"
image: "radixdlt/babylon-ng-data-aggregator:v1.6.0"
profiles: ["NONE"]
deploy:
restart_policy:
Expand Down Expand Up @@ -97,7 +97,7 @@ services:
- ./data-aggregator-fixed-configuration.json:/home/radixdlt/network-gateway/config.json

gateway_api: # This is the base -- the _image and _built containers are defined below
image: "radixdlt/babylon-ng-gateway-api:v1.5.2"
image: "radixdlt/babylon-ng-gateway-api:v1.6.0"
profiles: ["NONE"]
ports:
- "127.0.0.1:5308:8080" # This allows you to connect to the API at http://localhost:5308
Expand Down
20 changes: 20 additions & 0 deletions sdk/typescript/lib/generated/.openapi-generator/FILES
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,18 @@ models/AccountDepositPreValidationResourceBadgeAllOf.ts
models/AccountDepositPreValidationResourceSpecificBehaviourItem.ts
models/AccountDepositPreValidationResponse.ts
models/AccountDepositPreValidationResponseAllOf.ts
models/AccountLockerAddress.ts
models/AccountLockerNotFoundError.ts
models/AccountLockerNotFoundErrorAllOf.ts
models/AccountLockerVaultCollection.ts
models/AccountLockerVaultCollectionAllOf.ts
models/AccountLockerVaultCollectionItem.ts
models/AccountLockerVaultCollectionItemBase.ts
models/AccountLockerVaultCollectionItemFungible.ts
models/AccountLockerVaultCollectionItemFungibleAllOf.ts
models/AccountLockerVaultCollectionItemNonFungible.ts
models/AccountLockerVaultCollectionItemNonFungibleAllOf.ts
models/AccountLockerVaultCollectionItemType.ts
models/AccountResourcePreferenceRule.ts
models/AccountResourcePreferencesCollection.ts
models/AccountResourcePreferencesCollectionAllOf.ts
Expand Down Expand Up @@ -250,6 +262,14 @@ models/RoyaltyAmount.ts
models/ScryptoSborValue.ts
models/StateAccountAuthorizedDepositorsPageRequest.ts
models/StateAccountAuthorizedDepositorsPageResponse.ts
models/StateAccountLockerPageVaultsRequest.ts
models/StateAccountLockerPageVaultsResponse.ts
models/StateAccountLockersTouchedAtRequest.ts
models/StateAccountLockersTouchedAtRequestAllOf.ts
models/StateAccountLockersTouchedAtResponse.ts
models/StateAccountLockersTouchedAtResponseAllOf.ts
models/StateAccountLockersTouchedAtResponseItem.ts
models/StateAccountLockersTouchedAtResponseItemAllOf.ts
models/StateAccountResourcePreferencesPageRequest.ts
models/StateAccountResourcePreferencesPageRequestAllOf.ts
models/StateAccountResourcePreferencesPageResponse.ts
Expand Down
Loading

0 comments on commit 8a65340

Please sign in to comment.