Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🚀 release: 1.4.0 #2209

Merged
merged 122 commits into from
Nov 7, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
122 commits
Select commit Hold shift + click to select a range
e00d9e7
implement ClaimItem action
XxshiftxX Sep 14, 2023
aafc34f
write test code for ClaimItem action
XxshiftxX Sep 14, 2023
04ff261
Merge branch 'development' into feat/claim-item
XxshiftxX Sep 14, 2023
da22ffd
change ClaimItem into ClaimItems to support multiple FAV
XxshiftxX Sep 15, 2023
617dad4
fix testcode with new ClaimItems action
XxshiftxX Sep 15, 2023
f7b339b
Merge branch 'feat/claim-item' of https://github.com/planetarium/lib9…
XxshiftxX Sep 15, 2023
ee5be50
add gas usage
XxshiftxX Sep 15, 2023
795ae06
changed fav consume method: transfer to Addresses.ClaimItem with Burn…
XxshiftxX Sep 15, 2023
b962447
remove unused member variable
XxshiftxX Sep 15, 2023
82432d8
simplify code getting item sheets
XxshiftxX Sep 21, 2023
1c08db6
change claim item fav's ticker into caplital letter
XxshiftxX Sep 21, 2023
dd9cc15
add currency decimalPlaces validation
XxshiftxX Sep 21, 2023
3f10f5b
optimize setstate
XxshiftxX Sep 21, 2023
5dccb27
change claim item avatarAddress into avatarAddresses to support multi…
XxshiftxX Sep 21, 2023
4a2c902
add testcase
XxshiftxX Sep 21, 2023
2ae3056
apply changed ActionTypeText
XxshiftxX Sep 21, 2023
ca5ec6c
fix format
XxshiftxX Sep 21, 2023
1bed145
refactor deriving inventory code
XxshiftxX Sep 21, 2023
567ef5e
fix exception arguments
XxshiftxX Sep 21, 2023
cd47438
fix balance validation to check amount for all recipients
XxshiftxX Sep 21, 2023
f117c9d
replace balance validate with BurnAsset
XxshiftxX Sep 21, 2023
5a1a257
refactor to seperate methods
XxshiftxX Sep 22, 2023
193c4aa
fix failing test: change exception type
XxshiftxX Sep 22, 2023
f9d6277
add test for serialization
XxshiftxX Sep 22, 2023
6519e1f
add ActionTypeAttribute
XxshiftxX Sep 22, 2023
3381e30
change claimItem properties' type into list from IEnumarable
XxshiftxX Sep 22, 2023
94db5fc
Changed ClaimItem's property to ClaimData so that can be process diff…
XxshiftxX Sep 24, 2023
f35d604
apply property update to testcode
XxshiftxX Sep 24, 2023
1305300
change List into IReadonlyList
XxshiftxX Sep 24, 2023
db1da4d
refactor test code
XxshiftxX Sep 24, 2023
0c8c6e2
fix typo
XxshiftxX Sep 24, 2023
e75a5ac
Merge branch 'development' into feat/claim-item
XxshiftxX Sep 25, 2023
e8313d2
Merge pull request #2148 from planetarium/feat/claim-item
longfin Sep 27, 2023
0abdbfa
bump: refactor for libplanet bump
riemannulus Sep 19, 2023
695dbd4
bump: libplanet
riemannulus Sep 19, 2023
f64a986
refactor: IAccount
riemannulus Sep 19, 2023
0620a87
Bump libplanet for updated TxExecution
greymistcube Sep 25, 2023
70820d1
Accommodate libplanet API changes
greymistcube Sep 25, 2023
1f0dcda
Bump libplanet
greymistcube Sep 25, 2023
a46088b
Accommodate libplanet API changes
greymistcube Sep 25, 2023
03b18df
Rebase fix
greymistcube Sep 25, 2023
c453158
Bump libplanet to 3.4.0
greymistcube Sep 25, 2023
f162e5d
Merge pull request #2160 from greymistcube/bump/libplanet-to-3.4.0
greymistcube Oct 4, 2023
1e3edab
Merge remote-tracking branch 'upstream/development' into main-to-dev
moreal Oct 5, 2023
545ab28
Merge pull request #2164 from moreal/main-to-dev
moreal Oct 5, 2023
e1f1e44
refactor: make `StakeStateUtils` more general
riemannulus Oct 5, 2023
fa91d8e
Merge pull request #2167 from riemannulus/refactor/stakestateutils
riemannulus Oct 5, 2023
77482fd
Bump libplanet to 3.5.0
greymistcube Oct 5, 2023
b30469d
Fix Actions
greymistcube Sep 27, 2023
fa4396e
Action fixes
greymistcube Sep 30, 2023
62c2f30
Other fixes
greymistcube Sep 27, 2023
91c2e52
Fix tests
greymistcube Oct 3, 2023
39d2fea
Accommodate API changes
greymistcube Oct 4, 2023
b728acc
Bandages for RemoteActionEvaluator
greymistcube Oct 5, 2023
dfe4bf9
Rebase fix
greymistcube Oct 5, 2023
ce1cb9b
Merge pull request #2165 from greymistcube/bump/libplanet-to-3.5.0
greymistcube Oct 5, 2023
3fe9ba7
feat: Add disallowed accounts class
Atralupus Sep 25, 2023
019aa2b
Handle serialization in ClaimItems action itself
moreal Oct 6, 2023
bfa527b
Merge pull request #2169 from moreal/bugfix/sort-bug
moreal Oct 6, 2023
360ee97
Working
greymistcube Oct 6, 2023
6c44372
Working
greymistcube Oct 6, 2023
cb78801
Remove unused mocks
greymistcube Oct 6, 2023
42ff78e
Merge pull request #2170 from greymistcube/refactor/cleanup-mocks
greymistcube Oct 10, 2023
d75899a
Do not sort `ClaimItems.ClaimData` in tests
moreal Oct 10, 2023
5ffd31b
Merge pull request #2172 from moreal/bugfix/claim-items-sort-bug
moreal Oct 10, 2023
630bc04
refactor: use `GetRandom` instead of `Random`
riemannulus Oct 10, 2023
61e8605
Merge pull request #2174 from riemannulus/fix/random-to-getrandom
riemannulus Oct 10, 2023
09162f3
Merge branch 'development' into feat/disallowed-accounts
Atralupus Oct 11, 2023
98452c7
Merge pull request #2168 from planetarium/feat/disallowed-accounts
Atralupus Oct 11, 2023
88c246b
Merge branch 'development' of github.com:planetarium/lib9c into 1.3.0…
ipdae Oct 11, 2023
7738d76
Update interface
ipdae Oct 11, 2023
0bf6596
Merge pull request #2177 from planetarium/1.3.0-merge-development
ipdae Oct 11, 2023
6f3c9c9
Fix Random
greymistcube Oct 11, 2023
daed959
Merge pull request #2180 from greymistcube/fix/action-randoms
greymistcube Oct 11, 2023
4033619
fix: random usage
riemannulus Oct 11, 2023
da807c4
Merge pull request #2181 from riemannulus/fix/random-to-getrandom
riemannulus Oct 11, 2023
66d81c6
fix: random usage for Unity
riemannulus Oct 11, 2023
a1d99f3
Merge pull request #2182 from riemannulus/fix/random-to-getrandom
riemannulus Oct 11, 2023
89ea488
fix: compile error about CreateAvatar0.CreateAvatarState on unity editor
sonohoshi Oct 13, 2023
5f87066
Merge pull request #2184 from planetarium/bugfix/create-avatar0-on-unity
sonohoshi Oct 13, 2023
0ce8bb6
bump: libplanet
riemannulus Oct 10, 2023
e190d8c
refactor: use `StateStore` instead of `RemoteBlockChainStates`
riemannulus Oct 10, 2023
a008095
refactor: adjustment `StateStore` API changes
riemannulus Oct 10, 2023
f8c8982
refactor: remove useless benchmark
riemannulus Oct 10, 2023
1914670
test: fix test for `ActionEvaluationSerializer`
riemannulus Oct 10, 2023
1fac461
Remove unnecessary code
greymistcube Oct 10, 2023
aa95dcf
Merge pull request #2183 from planetarium/bump/libplanet-3.6.0
greymistcube Oct 16, 2023
6286d15
Latest data update. (v200091)
NineSyu Oct 18, 2023
b21ec98
Avoid sheet import exception
ipdae Oct 26, 2023
31699b9
Fix test
ipdae Oct 26, 2023
a18845a
Cleanup CombinationEquipment Mimisbrunnr test
ipdae Oct 26, 2023
9058a5d
Fix EventMaterialItemCrafts
ipdae Oct 26, 2023
fe8f3a6
Cleanup ItemEnhancement test
ipdae Oct 26, 2023
6f84ced
Clenaup RapidCombination test
ipdae Oct 27, 2023
4ed42c3
Fix aura skill test
ipdae Oct 27, 2023
efd3391
Delete dupliacte action execute test
ipdae Oct 27, 2023
076a773
Cleanup pet test
ipdae Oct 27, 2023
753b437
Clenaup aura summon test
ipdae Oct 27, 2023
6d6ff04
Fix broken garage test
ipdae Oct 27, 2023
dd343eb
Merge pull request #2185 from planetarium/v200091-latest-data-update
ipdae Oct 27, 2023
31f6225
Update 70.2~70.3 Date
NineSyu Oct 30, 2023
98bf3f4
add GetTxQuota in ACS
area363 Oct 30, 2023
ae46c53
fix stage policy
area363 Nov 1, 2023
788095a
apply suggestions
area363 Nov 1, 2023
1d69b2f
change IsAccessDenied to IsListed
area363 Nov 1, 2023
012b96b
remove IsListed
area363 Nov 1, 2023
0648469
simplify conditions
area363 Nov 2, 2023
b77fc81
Merge pull request #2194 from planetarium/acs-tx-quota
area363 Nov 2, 2023
06c0627
Fix broken test from recipe deleted
ipdae Nov 2, 2023
fb9a2c0
Merge branch 'development' into v70.2-.3-data
longfin Nov 2, 2023
bc8153e
Merge pull request #2193 from planetarium/v70.2-.3-data
longfin Nov 2, 2023
16b1ad1
Merge remote-tracking branch 'upstream/release/1.3.1' into merge-1.3.1
greymistcube Nov 6, 2023
4c589da
Merge fix
greymistcube Nov 6, 2023
a9aba6d
Fix ItemEnhancement13Test.cs
greymistcube Nov 6, 2023
7ab9187
Update Latest V200092 Data
NineSyu Nov 6, 2023
9a88804
Fix PatchTableSheetTest
tyrosine1153 Nov 6, 2023
4e908ea
Fix DailyRewardTest, RaidTest
tyrosine1153 Nov 6, 2023
3189f0c
fix some tests with minor tries
boscohyun Nov 6, 2023
41e3b67
Fix RapidCombination9Test
tyrosine1153 Nov 6, 2023
4716829
Revert "Fix ItemEnhancement13Test.cs"
tyrosine1153 Nov 6, 2023
0411bb7
Merge pull request #2201 from greymistcube/merge/1.3.1-to-development
tyrosine1153 Nov 6, 2023
f8d681a
Merge branch 'development' into release/1.4.0
greymistcube Nov 7, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
84 changes: 2 additions & 82 deletions .Lib9c.Benchmarks/Program.cs
Original file line number Diff line number Diff line change
@@ -1,26 +1,19 @@
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.IO;
using System.Linq;
using System.Security.Cryptography;
using Bencodex.Types;
using Libplanet.Action;
using Libplanet.Action.State;
using Libplanet.Blockchain;
using Libplanet.Blockchain.Policies;
using Libplanet.Common;
using Libplanet.Crypto;
using Libplanet.RocksDBStore;
using Libplanet.Store;
using Libplanet.Store.Trie;
using Libplanet.Types.Assets;
using Libplanet.Types.Blocks;
using Nekoyume.Action.Loader;
using Nekoyume.Blockchain;
using Nekoyume.Blockchain.Policy;
using Serilog;
using Serilog.Events;

namespace Lib9c.Benchmarks
{
Expand Down Expand Up @@ -89,7 +82,7 @@ static void Main(string[] args)
var stateStore = new TrieStateStore(stateKeyValueStore);
var actionEvaluator = new ActionEvaluator(
_ => policy.BlockAction,
new BlockChainStates(store, stateStore),
stateStore,
new NCActionLoader());
var chain = new BlockChain(
policy,
Expand Down Expand Up @@ -128,15 +121,7 @@ static void Main(string[] args)
block.Transactions.Count()
);

chain.DetermineBlockStateRootHash(block, out IReadOnlyList<IActionEvaluation> blockEvals);
SetStates(
chain.Id,
store,
stateStore,
block,
blockEvals.ToArray(),
buildStateReferences: true
);
chain.DetermineBlockStateRootHash(block, out IReadOnlyList<ICommittedActionEvaluation> blockEvals);
txs += block.Transactions.LongCount();
actions += block.Transactions.Sum(tx =>
tx.Actions is { } customActions ? customActions.LongCount() : 0);
Expand All @@ -151,70 +136,5 @@ static void Main(string[] args)
Console.WriteLine("Average per action\t{0}ms", execActionsTotalMilliseconds / actions);
Console.WriteLine("Total elapsed\t{0}", ended - started);
}

// Copied from BlockChain.DetermineBlockStateRootHash().
private static void SetStates(
Guid chainId,
IStore store,
IStateStore stateStore,
Block block,
IReadOnlyList<IActionEvaluation> actionEvaluations,
bool buildStateReferences
)
{
IImmutableDictionary<KeyBytes, IValue> totalDelta = actionEvaluations.GetRawTotalDelta();

if (!stateStore.ContainsStateRoot(block.StateRootHash))
{
HashDigest<SHA256>? prevStateRootHash = store.GetStateRootHash(block.PreviousHash);
ITrie stateRoot = stateStore.Commit(prevStateRootHash, totalDelta);
}
}

// Copied from ActionEvaluationsExtensions.GetTotalDelta().
private static ImmutableDictionary<string, IValue> GetTotalDelta(
IReadOnlyList<IActionEvaluation> actionEvaluations,
Func<Address, string> toStateKey,
Func<(Address, Currency), string> toFungibleAssetKey)
{
IImmutableSet<Address> stateUpdatedAddresses = actionEvaluations
.SelectMany(a => a.OutputState.Delta.StateUpdatedAddresses)
.ToImmutableHashSet();
IImmutableSet<(Address, Currency)> updatedFungibleAssets = actionEvaluations
.SelectMany(a => a.OutputState.Delta.UpdatedFungibleAssets)
.ToImmutableHashSet();

IAccount lastStates = actionEvaluations.Count > 0
? actionEvaluations[actionEvaluations.Count - 1].OutputState
: null;
ImmutableDictionary<string, IValue> totalDelta =
stateUpdatedAddresses.ToImmutableDictionary(
toStateKey,
a => lastStates?.GetState(a)
).SetItems(
updatedFungibleAssets.Select(pair =>
new KeyValuePair<string, IValue>(
toFungibleAssetKey(pair),
new Bencodex.Types.Integer(
lastStates?.GetBalance(pair.Item1, pair.Item2).RawValue ?? 0
)
)
)
);

return totalDelta;
}

// Copied from KeyConverters.ToStateKey().
private static string ToStateKey(Address address) => address.ToHex().ToLowerInvariant();

// Copied from KeyConverters.ToFungibleAssetKey().
private static string ToFungibleAssetKey(Address address, Currency currency) =>
"_" + address.ToHex().ToLowerInvariant() +
"_" + ByteUtil.Hex(currency.Hash.ByteArray).ToLowerInvariant();

// Copied from KeyConverters.ToFungibleAssetKey().
private static string ToFungibleAssetKey((Address, Currency) pair) =>
ToFungibleAssetKey(pair.Item1, pair.Item2);
}
}
49 changes: 32 additions & 17 deletions .Lib9c.DevExtensions.Tests/Action/CreateOrReplaceAvatarTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
using System.Linq;
using Bencodex.Types;
using Lib9c.DevExtensions.Action;
using Lib9c.Tests;
using Lib9c.Tests.Action;
using Libplanet.Action.State;
using Libplanet.Crypto;
Expand All @@ -24,10 +25,11 @@ namespace Lib9c.DevExtensions.Tests.Action
public class CreateOrReplaceAvatarTest
{
private readonly IAccount _initialStates;
private readonly TableSheets _tableSheets;

public CreateOrReplaceAvatarTest()
{
_initialStates = new Lib9c.Tests.Action.MockStateDelta();
_initialStates = new Account(MockState.Empty);

#pragma warning disable CS0618
var ncgCurrency = Currency.Legacy("NCG", 2, null);
Expand All @@ -36,6 +38,7 @@ public CreateOrReplaceAvatarTest()
GoldCurrencyState.Address,
new GoldCurrencyState(ncgCurrency).Serialize());
var sheets = TableSheetsImporter.ImportSheets();
_tableSheets = new TableSheets(sheets);
foreach (var (key, value) in sheets)
{
_initialStates = _initialStates.SetState(
Expand Down Expand Up @@ -69,16 +72,8 @@ public CreateOrReplaceAvatarTest()
int.MaxValue,
new[]
{
(10111000, 0),
(10111000, 21), // 21: See also EnhancementCostSheetV2.csv
(10211000, 0),
(10211000, 21),
(10311000, 0),
(10311000, 21),
(10411000, 0),
(10411000, 21),
(10511000, 0),
(10511000, 21),
(ItemSubType.Weapon, 0),
(ItemSubType.Weapon, 21), // 21: See also EnhancementCostSheetV2.csv
},
new[]
{
Expand Down Expand Up @@ -291,12 +286,22 @@ public void Serialize(
int ear,
int tail,
int level,
(int equipmentId, int level)[]? equipments,
(ItemSubType itemSubType, int level)[]? equipmentData,
(int consumableId, int count)[]? foods,
int[]? costumeIds,
(int runeId, int level)[]? runes,
(int stageId, int[] crystalRandomBuffIds)? crystalRandomBuff)
{
var equipments = new List<(int, int)>();
if (!(equipmentData is null))
{
foreach (var data in equipmentData)
{
var row = _tableSheets.EquipmentItemRecipeSheet.Values.First(r =>
r.ItemSubType == data.itemSubType);
equipments.Add((row.ResultEquipmentId, data.level));
}
}
var action = new CreateOrReplaceAvatar(
avatarIndex,
name,
Expand All @@ -305,7 +310,7 @@ public void Serialize(
ear,
tail,
level,
equipments,
equipments.ToArray(),
foods,
costumeIds,
runes,
Expand Down Expand Up @@ -348,12 +353,22 @@ public void Execute_Success(
int ear,
int tail,
int level,
(int equipmentId, int level)[]? equipments,
(ItemSubType itemSubType, int level)[]? equipmentData,
(int consumableId, int count)[]? foods,
int[]? costumeIds,
(int runeId, int level)[]? runes,
(int stageId, int[] crystalRandomBuffIds)? crystalRandomBuff)
{
var equipments = new List<(int, int)>();
if (!(equipmentData is null))
{
foreach (var data in equipmentData)
{
var row = _tableSheets.EquipmentItemRecipeSheet.Values.First(r =>
r.ItemSubType == data.itemSubType);
equipments.Add((row.ResultEquipmentId, data.level));
}
}
var agentAddr = new PrivateKey().ToAddress();
Execute(
_initialStates,
Expand All @@ -366,7 +381,7 @@ public void Execute_Success(
ear,
tail,
level,
equipments,
equipments.ToArray(),
foods,
costumeIds,
runes,
Expand Down Expand Up @@ -444,7 +459,7 @@ private static void Execute(
{
PreviousState = previousStates,
Signer = agentAddr,
Random = new TestRandom(),
RandomSeed = 0,
Rehearsal = false,
BlockIndex = blockIndex,
});
Expand Down Expand Up @@ -478,7 +493,7 @@ private static void Execute(
var recipe = equipmentItemRecipeSheet.OrderedList!.First(r =>
r.ResultEquipmentId == equipment.Id);
Assert.NotNull(recipe);
Assert.Equal(3, recipe.SubRecipeIds.Count);
Assert.Equal(2, recipe.SubRecipeIds.Count);
Assert.True(equipmentItemSubRecipeSheetV2.TryGetValue(
recipe.SubRecipeIds[1],
out var subRecipe));
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,24 @@
#nullable enable

using System;
using System.Collections.Generic;
using System.Linq;
using Lib9c.DevExtensions.Action.Factory;
using Lib9c.Tests;
using Nekoyume.Model.Item;
using Xunit;

namespace Lib9c.DevExtensions.Tests.Action.Factory
{
public class CreateOrReplaceAvatarFactoryTest
{
private readonly TableSheets _tableSheets;

public CreateOrReplaceAvatarFactoryTest()
{
_tableSheets = new TableSheets(TableSheetsImporter.ImportSheets());
}

[Theory]
[MemberData(
nameof(CreateOrReplaceAvatarTest.Get_Execute_Success_MemberData),
Expand All @@ -22,12 +32,23 @@ public void TryGetByBlockIndex_Success(
int ear,
int tail,
int level,
(int equipmentId, int level)[]? equipments,
(ItemSubType itemSubType, int level)[]? equipmentData,
(int consumableId, int count)[]? foods,
int[]? costumeIds,
(int runeId, int level)[]? runes,
(int stageId, int[] crystalRandomBuffIds)? crystalRandomBuff)
{
var equipments = new List<(int, int)>();
if (!(equipmentData is null))
{
foreach (var data in equipmentData)
{
var row = _tableSheets.EquipmentItemRecipeSheet.Values.First(r =>
r.ItemSubType == data.itemSubType);
equipments.Add((row.ResultEquipmentId, data.level));
}
}

var (e, r) = CreateOrReplaceAvatarFactory
.TryGetByBlockIndex(
blockIndex,
Expand All @@ -38,7 +59,7 @@ public void TryGetByBlockIndex_Success(
ear,
tail,
level,
equipments,
equipments.ToArray(),
foods,
costumeIds,
runes,
Expand Down
2 changes: 1 addition & 1 deletion .Lib9c.DevExtensions.Tests/Action/FaucetCurrencyTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ public FaucetCurrencyTest(ITestOutputHelper outputHelper)
_crystal = Currency.Legacy("CRYSTAL", 18, null);
#pragma warning restore CS0618

_initialState = new MockStateDelta(
_initialState = new Account(
MockState.Empty
.AddBalance(GoldCurrencyState.Address, _ncg * int.MaxValue));

Expand Down
2 changes: 1 addition & 1 deletion .Lib9c.DevExtensions.Tests/Action/FaucetRuneTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ public FaucetRuneTest(ITestOutputHelper outputHelper)
.WriteTo.TestOutput(outputHelper)
.CreateLogger();

_initialState = new Lib9c.Tests.Action.MockStateDelta();
_initialState = new Account(MockState.Empty);
var sheets = TableSheetsImporter.ImportSheets();
foreach (var (key, value) in sheets)
{
Expand Down
2 changes: 2 additions & 0 deletions .Lib9c.StateService.Shared/RemoteEvaluationRequest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,7 @@

public class RemoteEvaluationRequest
{
public byte[] PreEvaluationBlock { get; set; }

Check warning on line 5 in .Lib9c.StateService.Shared/RemoteEvaluationRequest.cs

View workflow job for this annotation

GitHub Actions / build-for-unity

Non-nullable property 'PreEvaluationBlock' must contain a non-null value when exiting constructor. Consider declaring the property as nullable.

Check warning on line 5 in .Lib9c.StateService.Shared/RemoteEvaluationRequest.cs

View workflow job for this annotation

GitHub Actions / build-and-test (Release)

Non-nullable property 'PreEvaluationBlock' must contain a non-null value when exiting constructor. Consider declaring the property as nullable.

Check warning on line 5 in .Lib9c.StateService.Shared/RemoteEvaluationRequest.cs

View workflow job for this annotation

GitHub Actions / build-and-test (Release)

Non-nullable property 'PreEvaluationBlock' must contain a non-null value when exiting constructor. Consider declaring the property as nullable.

Check warning on line 5 in .Lib9c.StateService.Shared/RemoteEvaluationRequest.cs

View workflow job for this annotation

GitHub Actions / build-for-unity

Non-nullable property 'PreEvaluationBlock' must contain a non-null value when exiting constructor. Consider declaring the property as nullable.

public byte[] BaseStateRootHash { get; set; }

Check warning on line 7 in .Lib9c.StateService.Shared/RemoteEvaluationRequest.cs

View workflow job for this annotation

GitHub Actions / build-for-unity

Non-nullable property 'BaseStateRootHash' must contain a non-null value when exiting constructor. Consider declaring the property as nullable.

Check warning on line 7 in .Lib9c.StateService.Shared/RemoteEvaluationRequest.cs

View workflow job for this annotation

GitHub Actions / build-and-test (Release)

Non-nullable property 'BaseStateRootHash' must contain a non-null value when exiting constructor. Consider declaring the property as nullable.

Check warning on line 7 in .Lib9c.StateService.Shared/RemoteEvaluationRequest.cs

View workflow job for this annotation

GitHub Actions / build-and-test (Release)

Non-nullable property 'BaseStateRootHash' must contain a non-null value when exiting constructor. Consider declaring the property as nullable.

Check warning on line 7 in .Lib9c.StateService.Shared/RemoteEvaluationRequest.cs

View workflow job for this annotation

GitHub Actions / build-for-unity

Non-nullable property 'BaseStateRootHash' must contain a non-null value when exiting constructor. Consider declaring the property as nullable.
}
Loading
Loading