From dbe0daa827e4d248581c69494716770f7534fa69 Mon Sep 17 00:00:00 2001 From: Ryan Noble Date: Mon, 18 Sep 2023 15:44:34 +0200 Subject: [PATCH 01/29] Cherry picked --- src/ChainSafe.Gaming/MultiCall/MultiCall.cs | 193 ++++++++++++++++++ .../MultiCall/MultiCallDefaults.cs | 119 +++++++++++ .../MultiCall/MultiCallExtensions.cs | 52 +++++ .../Scripts/Prefabs/MultiCall/MultiCall.cs | 23 +++ .../Scripts/Scenes/Login.cs | 2 + 5 files changed, 389 insertions(+) create mode 100644 src/ChainSafe.Gaming/MultiCall/MultiCall.cs create mode 100644 src/ChainSafe.Gaming/MultiCall/MultiCallDefaults.cs create mode 100644 src/ChainSafe.Gaming/MultiCall/MultiCallExtensions.cs create mode 100644 src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Prefabs/MultiCall/MultiCall.cs diff --git a/src/ChainSafe.Gaming/MultiCall/MultiCall.cs b/src/ChainSafe.Gaming/MultiCall/MultiCall.cs new file mode 100644 index 000000000..e5e1c921e --- /dev/null +++ b/src/ChainSafe.Gaming/MultiCall/MultiCall.cs @@ -0,0 +1,193 @@ +using System.Threading.Tasks; +using ChainSafe.Gaming.Web3; +using ChainSafe.Gaming.Web3.Core; +using Nethereum.Contracts.QueryHandlers.MultiCall; + +namespace ChainSafe.Gaming.MultiCall +{ + public class MultiCall : ILifecycleParticipant + { + private readonly MultiQueryHandler handler; + + public MultiCall(IChainConfig chainConfig, MultiCallConfig config) + { + if (MultiCallDefaults.DeployedNetworks.Contains(chainConfig.ChainId)) + { + handler = new Nethereum.Web3.Web3(chainConfig.Rpc).Eth.GetMultiQueryHandler(); + } + else + { + if (config.CustomNetworks.TryGetValue(chainConfig.ChainId, out var address)) + { + handler = new Nethereum.Web3.Web3(chainConfig.Rpc).Eth.GetMultiQueryHandler(address); + } + } + } + + public async Task MultiCallV3(IMultiCallRequest[] calls, bool? staticCall = true) + { + await handler.MultiCallAsync(calls.ToArray()).ConfigureAwait(false); + return calls; + + // function aggregate3(Call3[] calldata calls) external payable returns (Result[] memory returnData); + } + + /// + /// Internal state data call. + /// + /// + /// Returns a MultiCall request item for getting the transaction base fee. + /// + public MultiCallRequest GetBaseFeeCallData() + { + return new MultiCallRequest( + new GetBaseFeeFunction(), + handler.ContractAddress); + } + + /// + /// Internal state data call. + /// + /// + /// Returns the block hash for a given block. + /// + public MultiCallRequest GetBlockHash(BigInteger blockNumber) + { + return new MultiCallRequest( + new GetBlockHashFunction() { BlockNumber = blockNumber }, + handler.ContractAddress); + + // function getBlockHash(uint256 blockNumber) external view returns (bytes32 blockHash); + } + + /// + /// Internal state data call. + /// + /// + /// Returns the block number. + /// + public MultiCallRequest GetBlockNumber() + { + return new MultiCallRequest( + new GetBlockNumberFunction(), + handler.ContractAddress); + + // function getBlockNumber() external view returns (uint256 blockNumber); + } + + /// + /// Internal state data call. + /// + /// + /// Returns the chain ID. + /// + public MultiCallRequest GetChainId() + { + return new MultiCallRequest( + new GetChainIdFunction(), + handler.ContractAddress); + + // function getChainId() external view returns (uint256 chainid); + } + + /// + /// Internal state data call. + /// + /// + /// Returns the current coinbase. + /// + public MultiCallRequest GetCurrentBlockCoinbase() + { + return new MultiCallRequest( + new GetCurrentBlockCoinbaseFunction(), + handler.ContractAddress); + + // function getCurrentBlockCoinbase() external view returns (address coinbase); + } + + /// + /// Internal state data call. + /// + /// + /// Returns the current block difficulty. + /// + public MultiCallRequest GetCurrentBlockDifficulty() + { + return new MultiCallRequest( + new GetCurrentBlockDifficultyFunction(), + handler.ContractAddress); + + // function getCurrentBlockDifficulty() external view returns (uint256 difficulty); + } + + /// + /// Internal state data call. + /// + /// + /// Returns the current gas limit. + /// + public MultiCallRequest GetCurrentBlockGasLimit() + { + return new MultiCallRequest( + new GetCurrentBlockGasLimitFunction(), + handler.ContractAddress); + + // function getCurrentBlockGasLimit() external view returns (uint256 gaslimit); + } + + /// + /// Internal state data call. + /// + /// + /// Gets the current block timestamp. + /// + public MultiCallRequest GetCurrentBlockTimestamp() + { + return new MultiCallRequest( + new GetCurrentBlockTimestampFunction(), + handler.ContractAddress); + + // function getCurrentBlockTimestamp() external view returns (uint256 timestamp); + } + + /// + /// Internal state data call. + /// + /// + /// Returns the Eth balance for a given address. + /// + public MultiCallRequest GetEthBalance(string address) + { + return new MultiCallRequest( + new GetEthBalanceFunction() { Addr = address }, + handler.ContractAddress); + + // function getEthBalance(address addr) external view returns (uint256 balance); + } + + /// + /// Internal state data call. + /// + /// + /// Returns the last block hash. + /// + public MultiCallRequest GetLastBlockHash() + { + return new MultiCallRequest( + new GetLastBlockHashFunction(), + handler.ContractAddress); + + // function getLastBlockHash() external view returns (bytes32 blockHash); + } + + public ValueTask WillStartAsync() + { + return default; + } + + public ValueTask WillStopAsync() + { + return default; + } + } +} \ No newline at end of file diff --git a/src/ChainSafe.Gaming/MultiCall/MultiCallDefaults.cs b/src/ChainSafe.Gaming/MultiCall/MultiCallDefaults.cs new file mode 100644 index 000000000..fc5475c7f --- /dev/null +++ b/src/ChainSafe.Gaming/MultiCall/MultiCallDefaults.cs @@ -0,0 +1,119 @@ +using Nethereum.Contracts.Constants; + +namespace ChainSafe.Gaming.MultiCall +{ + public static class MultiCallDefaults + { + public static readonly string MultiCallAbi = + "[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"returnData\",\"type\":\"bytes[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Call3[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Call3Value[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3Value\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"blockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBasefee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"basefee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"chainid\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockCoinbase\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"coinbase\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockDifficulty\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"difficulty\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockGasLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gaslimit\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getEthBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryAggregate\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryBlockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"}]"; + + public static readonly string OfficialAddress = CommonAddresses.MULTICALL_ADDRESS; + public static readonly string[] DeployedNetworks = new[] + { + "1", + "42", + "4", + "5", + "3", + "11155111", + "10", + "69", + "420", + "42161", + "42170", + "421613", + "421611", + "137", + "80001", + "1101", + "1442", + "100", + "43114", + "43113", + "250", + "56", + "97", + "1284", + "1285", + "1287", + "1666600000", + "25", + "338", + "122", + "14", + "19", + "16", + "114", + "288", + "1313161554", + "592", + "66", + "128", + "1088", + "599", + "30", + "31", + "9001", + "9000", + "108", + "18", + "42262", + "42220", + "44787", + "71402", + "71401", + "8217", + "1001", + "2001", + "321", + "106", + "40", + "1234", + "7700", + "4689", + "32520", + "2222", + "5001", + "8082", + "84531", + "335", + "53953", + "245022926", + "59140", + "59144", + "11119", + "57", + "570", + "5700", + "57000", + "943", + "369", + "999", + "7777777", + "44", + "46", + "5555", + "534353", + "2415", + "15557", + "17777", + "3737", + "2000", + "4759", + "7518", + "344106930", + "1351057110", + "476158412", + "503129905", + "1103198827", + "1517929550", + "1564830818", + "2046399126", + "1482601649", + "1350216234", + "728126428", + "324", + "280", + }; + } +} diff --git a/src/ChainSafe.Gaming/MultiCall/MultiCallExtensions.cs b/src/ChainSafe.Gaming/MultiCall/MultiCallExtensions.cs new file mode 100644 index 000000000..6841a3396 --- /dev/null +++ b/src/ChainSafe.Gaming/MultiCall/MultiCallExtensions.cs @@ -0,0 +1,52 @@ +using ChainSafe.Gaming.Web3.Build; +using ChainSafe.Gaming.Web3.Core; +using ChainSafe.Gaming.Web3.Core.Evm; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.DependencyInjection.Extensions; + +namespace ChainSafe.Gaming.MultiCall +{ + public static class MultiCallExtensions + { + private static readonly MultiCallConfig DefaultConfig = new MultiCallConfig(null); + + /// + /// Binds implementation of MultiCall to Web3. + /// + /// The same service collection that was passed in. This enables fluent style. + public static IWeb3ServiceCollection UseMultiCall(this IWeb3ServiceCollection collection, MultiCallConfig configuration) + { + collection.UseMultiCall(); + collection.ConfigureMultiCall(configuration); + return collection; + } + + /// + /// Binds implementation of MultiCall to Web3. + /// + /// The same service collection that was passed in. This enables fluent style. + public static IWeb3ServiceCollection UseMultiCall(this IWeb3ServiceCollection collection) + { + collection.AssertServiceNotBound(); + collection.AssertServiceNotBound(); + + // config + collection.TryAddSingleton(DefaultConfig); + + // wallet + collection.AddSingleton(); + + return collection; + } + + /// + /// Configures MultiCall settings. + /// + /// The same service collection that was passed in. This enables fluent style. + public static IWeb3ServiceCollection ConfigureMultiCall(this IWeb3ServiceCollection collection, MultiCallConfig configuration) + { + collection.Replace(ServiceDescriptor.Singleton(typeof(MultiCallConfig), configuration)); + return collection; + } + } +} \ No newline at end of file diff --git a/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Prefabs/MultiCall/MultiCall.cs b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Prefabs/MultiCall/MultiCall.cs new file mode 100644 index 000000000..1396336dd --- /dev/null +++ b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Prefabs/MultiCall/MultiCall.cs @@ -0,0 +1,23 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class MultiCall : MonoBehaviour +{ + // Start is called before the first frame update + void Start() + { + + } + + // Update is called once per frame + void Update() + { + + } + + public async void FetchBatchBalances() + { + + } +} \ No newline at end of file diff --git a/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/Login.cs b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/Login.cs index a8935759d..482e08ab9 100644 --- a/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/Login.cs +++ b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/Login.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; +using ChainSafe.Gaming.MultiCall; using ChainSafe.Gaming.Evm.Contracts; using ChainSafe.Gaming.Evm.JsonRpc; using ChainSafe.Gaming.UnityPackage; @@ -214,6 +215,7 @@ private void ConfigureCommonServices(IWeb3ServiceCollection services) services .UseUnityEnvironment() .UseGelato(GelatoApiKey) + .useMultiCall() .UseRpcProvider(); /* As many contracts as needed may be registered here. From 44090fc5899be9d8720a7495dceceafab61433eb Mon Sep 17 00:00:00 2001 From: Ryan Noble Date: Mon, 18 Sep 2023 15:48:41 +0200 Subject: [PATCH 02/29] Added refrerences --- src/ChainSafe.Gaming/ChainSafe.Gaming.csproj | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/ChainSafe.Gaming/ChainSafe.Gaming.csproj b/src/ChainSafe.Gaming/ChainSafe.Gaming.csproj index d4a23376a..40696f57b 100644 --- a/src/ChainSafe.Gaming/ChainSafe.Gaming.csproj +++ b/src/ChainSafe.Gaming/ChainSafe.Gaming.csproj @@ -25,6 +25,8 @@ --> + + @@ -44,4 +46,8 @@ + + + + From 2ce589d23acf434053be0a329ec3dddc6dcfe492 Mon Sep 17 00:00:00 2001 From: Ryan Noble Date: Mon, 18 Sep 2023 16:28:50 +0200 Subject: [PATCH 03/29] Cherry picked DTO files --- src/ChainSafe.Gaming/ChainSafe.Gaming.csproj | 3 --- .../MultiCall/Dto/GetBaseFeeFunction.cs | 18 +++++++++++++++++ .../MultiCall/Dto/GetBaseFeeOutputDto.cs | 20 +++++++++++++++++++ .../MultiCall/Dto/GetBlockHashFunction.cs | 20 +++++++++++++++++++ .../MultiCall/Dto/GetBlockHashOutputDto.cs | 18 +++++++++++++++++ .../MultiCall/Dto/GetBlockNumberFunction.cs | 17 ++++++++++++++++ .../MultiCall/Dto/GetBlockNumberOutputDto.cs | 19 ++++++++++++++++++ .../MultiCall/Dto/GetChainIdFunction.cs | 17 ++++++++++++++++ .../MultiCall/Dto/GetChainIdOutputDto.cs | 19 ++++++++++++++++++ .../Dto/GetCurrentBlockCoinbaseFunction.cs | 17 ++++++++++++++++ .../Dto/GetCurrentBlockCoinbaseOutputDto.cs | 18 +++++++++++++++++ .../Dto/GetCurrentBlockDifficultyFunction.cs | 17 ++++++++++++++++ .../Dto/GetCurrentBlockDifficultyOutputDto.cs | 19 ++++++++++++++++++ .../Dto/GetCurrentBlockGasLimitFunction.cs | 17 ++++++++++++++++ .../Dto/GetCurrentBlockGasLimitOutputDto.cs | 19 ++++++++++++++++++ .../Dto/GetCurrentBlockTimestampFunction.cs | 17 ++++++++++++++++ .../Dto/GetCurrentBlockTimestampOutputDto.cs | 19 ++++++++++++++++++ .../MultiCall/Dto/GetEthBalanceFunction.cs | 19 ++++++++++++++++++ .../MultiCall/Dto/GetEthBalanceOutputDto.cs | 19 ++++++++++++++++++ .../MultiCall/Dto/GetLastBlockHashFunction.cs | 17 ++++++++++++++++ .../Dto/GetLastBlockHashOutputDto.cs | 18 +++++++++++++++++ .../MultiCall/Dto/IMultiCallRequest.cs | 8 ++++++++ .../MultiCall/Dto/MultiCallRequest.cs | 16 +++++++++++++++ src/ChainSafe.Gaming/MultiCall/IMultiCall.cs | 10 ++++++++++ 24 files changed, 398 insertions(+), 3 deletions(-) create mode 100644 src/ChainSafe.Gaming/MultiCall/Dto/GetBaseFeeFunction.cs create mode 100644 src/ChainSafe.Gaming/MultiCall/Dto/GetBaseFeeOutputDto.cs create mode 100644 src/ChainSafe.Gaming/MultiCall/Dto/GetBlockHashFunction.cs create mode 100644 src/ChainSafe.Gaming/MultiCall/Dto/GetBlockHashOutputDto.cs create mode 100644 src/ChainSafe.Gaming/MultiCall/Dto/GetBlockNumberFunction.cs create mode 100644 src/ChainSafe.Gaming/MultiCall/Dto/GetBlockNumberOutputDto.cs create mode 100644 src/ChainSafe.Gaming/MultiCall/Dto/GetChainIdFunction.cs create mode 100644 src/ChainSafe.Gaming/MultiCall/Dto/GetChainIdOutputDto.cs create mode 100644 src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockCoinbaseFunction.cs create mode 100644 src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockCoinbaseOutputDto.cs create mode 100644 src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockDifficultyFunction.cs create mode 100644 src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockDifficultyOutputDto.cs create mode 100644 src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockGasLimitFunction.cs create mode 100644 src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockGasLimitOutputDto.cs create mode 100644 src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockTimestampFunction.cs create mode 100644 src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockTimestampOutputDto.cs create mode 100644 src/ChainSafe.Gaming/MultiCall/Dto/GetEthBalanceFunction.cs create mode 100644 src/ChainSafe.Gaming/MultiCall/Dto/GetEthBalanceOutputDto.cs create mode 100644 src/ChainSafe.Gaming/MultiCall/Dto/GetLastBlockHashFunction.cs create mode 100644 src/ChainSafe.Gaming/MultiCall/Dto/GetLastBlockHashOutputDto.cs create mode 100644 src/ChainSafe.Gaming/MultiCall/Dto/IMultiCallRequest.cs create mode 100644 src/ChainSafe.Gaming/MultiCall/Dto/MultiCallRequest.cs create mode 100644 src/ChainSafe.Gaming/MultiCall/IMultiCall.cs diff --git a/src/ChainSafe.Gaming/ChainSafe.Gaming.csproj b/src/ChainSafe.Gaming/ChainSafe.Gaming.csproj index 40696f57b..e842501dc 100644 --- a/src/ChainSafe.Gaming/ChainSafe.Gaming.csproj +++ b/src/ChainSafe.Gaming/ChainSafe.Gaming.csproj @@ -46,8 +46,5 @@ - - - diff --git a/src/ChainSafe.Gaming/MultiCall/Dto/GetBaseFeeFunction.cs b/src/ChainSafe.Gaming/MultiCall/Dto/GetBaseFeeFunction.cs new file mode 100644 index 000000000..05180d360 --- /dev/null +++ b/src/ChainSafe.Gaming/MultiCall/Dto/GetBaseFeeFunction.cs @@ -0,0 +1,18 @@ +using Nethereum.ABI.FunctionEncoding.Attributes; +using Nethereum.Contracts; + +namespace ChainSafe.Gaming.MultiCall.Dto +{ + /// + /// Gets the base fee of the given block. + /// Can revert if the BASEFEE opcode is not implemented by the given chain. + /// + public partial class GetBaseFeeFunction : GetBaseFeeFunctionBase + { + } + + [Function("getBasefee", "uint256")] + public class GetBaseFeeFunctionBase : FunctionMessage + { + } +} \ No newline at end of file diff --git a/src/ChainSafe.Gaming/MultiCall/Dto/GetBaseFeeOutputDto.cs b/src/ChainSafe.Gaming/MultiCall/Dto/GetBaseFeeOutputDto.cs new file mode 100644 index 000000000..2e34e8c8d --- /dev/null +++ b/src/ChainSafe.Gaming/MultiCall/Dto/GetBaseFeeOutputDto.cs @@ -0,0 +1,20 @@ +using Nethereum.ABI.FunctionEncoding.Attributes; +using Org.BouncyCastle.Math; + +namespace ChainSafe.Gaming.MultiCall.Dto +{ + /// + /// Gets the base fee of the given block. + /// Can revert if the BASEFEE opcode is not implemented by the given chain. + /// + public partial class GetBaseFeeOutputDto : GetBaseFeeOutputDtoBase + { + } + + [FunctionOutput] + public class GetBaseFeeOutputDtoBase : IFunctionOutputDTO + { + [Parameter("uint256", "basefee", 1)] + public virtual BigInteger BaseFee { get; set; } + } +} \ No newline at end of file diff --git a/src/ChainSafe.Gaming/MultiCall/Dto/GetBlockHashFunction.cs b/src/ChainSafe.Gaming/MultiCall/Dto/GetBlockHashFunction.cs new file mode 100644 index 000000000..c5b3c05ce --- /dev/null +++ b/src/ChainSafe.Gaming/MultiCall/Dto/GetBlockHashFunction.cs @@ -0,0 +1,20 @@ +using Nethereum.ABI.FunctionEncoding.Attributes; +using Nethereum.Contracts; +using Org.BouncyCastle.Math; + +namespace ChainSafe.Gaming.MultiCall.Dto +{ + /// + /// Returns the block hash for the given block number. + /// + public partial class GetBlockHashFunction : GetBlockHashFunctionBase + { + } + + [Function("getBlockHash", "bytes32")] + public class GetBlockHashFunctionBase : FunctionMessage + { + [Parameter("uint256", "blockNumber", 1)] + public virtual BigInteger BlockNumber { get; set; } + } +} \ No newline at end of file diff --git a/src/ChainSafe.Gaming/MultiCall/Dto/GetBlockHashOutputDto.cs b/src/ChainSafe.Gaming/MultiCall/Dto/GetBlockHashOutputDto.cs new file mode 100644 index 000000000..f0a28e19b --- /dev/null +++ b/src/ChainSafe.Gaming/MultiCall/Dto/GetBlockHashOutputDto.cs @@ -0,0 +1,18 @@ +using Nethereum.ABI.FunctionEncoding.Attributes; + +namespace ChainSafe.Gaming.MultiCall.Dto +{ + /// + /// Returns the block hash for the given block number. + /// + public partial class GetBlockHashOutputDto : GetBlockHashOutputDtoBase + { + } + + [FunctionOutput] + public class GetBlockHashOutputDtoBase : IFunctionOutputDTO + { + [Parameter("bytes32", "blockHash", 1)] + public virtual byte[] BlockHash { get; set; } + } +} \ No newline at end of file diff --git a/src/ChainSafe.Gaming/MultiCall/Dto/GetBlockNumberFunction.cs b/src/ChainSafe.Gaming/MultiCall/Dto/GetBlockNumberFunction.cs new file mode 100644 index 000000000..1df2b1f26 --- /dev/null +++ b/src/ChainSafe.Gaming/MultiCall/Dto/GetBlockNumberFunction.cs @@ -0,0 +1,17 @@ +using Nethereum.ABI.FunctionEncoding.Attributes; +using Nethereum.Contracts; + +namespace ChainSafe.Gaming.MultiCall.Dto +{ + /// + /// Returns the block number. + /// + public partial class GetBlockNumberFunction : GetBlockNumberFunctionBase + { + } + + [Function("getBlockNumber", "uint256")] + public class GetBlockNumberFunctionBase : FunctionMessage + { + } +} \ No newline at end of file diff --git a/src/ChainSafe.Gaming/MultiCall/Dto/GetBlockNumberOutputDto.cs b/src/ChainSafe.Gaming/MultiCall/Dto/GetBlockNumberOutputDto.cs new file mode 100644 index 000000000..403065fb3 --- /dev/null +++ b/src/ChainSafe.Gaming/MultiCall/Dto/GetBlockNumberOutputDto.cs @@ -0,0 +1,19 @@ +using Nethereum.ABI.FunctionEncoding.Attributes; +using Org.BouncyCastle.Math; + +namespace ChainSafe.Gaming.MultiCall.Dto +{ + /// + /// Returns the block number. + /// + public partial class GetBlockNumberOutputDto : GetBlockNumberOutputDtoBase + { + } + + [FunctionOutput] + public class GetBlockNumberOutputDtoBase : IFunctionOutputDTO + { + [Parameter("uint256", "blockNumber", 1)] + public virtual BigInteger BlockNumber { get; set; } + } +} \ No newline at end of file diff --git a/src/ChainSafe.Gaming/MultiCall/Dto/GetChainIdFunction.cs b/src/ChainSafe.Gaming/MultiCall/Dto/GetChainIdFunction.cs new file mode 100644 index 000000000..d2d5f0ba3 --- /dev/null +++ b/src/ChainSafe.Gaming/MultiCall/Dto/GetChainIdFunction.cs @@ -0,0 +1,17 @@ +using Nethereum.ABI.FunctionEncoding.Attributes; +using Nethereum.Contracts; + +namespace ChainSafe.Gaming.MultiCall.Dto +{ + /// + /// Returns the chain id. + /// + public partial class GetChainIdFunction : GetChainIdFunctionBase + { + } + + [Function("getChainId", "uint256")] + public class GetChainIdFunctionBase : FunctionMessage + { + } +} \ No newline at end of file diff --git a/src/ChainSafe.Gaming/MultiCall/Dto/GetChainIdOutputDto.cs b/src/ChainSafe.Gaming/MultiCall/Dto/GetChainIdOutputDto.cs new file mode 100644 index 000000000..39daca75e --- /dev/null +++ b/src/ChainSafe.Gaming/MultiCall/Dto/GetChainIdOutputDto.cs @@ -0,0 +1,19 @@ +using Nethereum.ABI.FunctionEncoding.Attributes; +using Org.BouncyCastle.Math; + +namespace ChainSafe.Gaming.MultiCall.Dto +{ + /// + /// Returns the chain id. + /// + public partial class GetChainIdOutputDto : GetChainIdOutputDtoBase + { + } + + [FunctionOutput] + public class GetChainIdOutputDtoBase : IFunctionOutputDTO + { + [Parameter("uint256", "chainid", 1)] + public virtual BigInteger ChainId { get; set; } + } +} \ No newline at end of file diff --git a/src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockCoinbaseFunction.cs b/src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockCoinbaseFunction.cs new file mode 100644 index 000000000..9ac90b9af --- /dev/null +++ b/src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockCoinbaseFunction.cs @@ -0,0 +1,17 @@ +using Nethereum.ABI.FunctionEncoding.Attributes; +using Nethereum.Contracts; + +namespace ChainSafe.Gaming.MultiCall.Dto +{ + /// + /// Returns the block coinbase. + /// + public partial class GetCurrentBlockCoinbaseFunction : GetCurrentBlockCoinbaseFunctionBase + { + } + + [Function("getCurrentBlockCoinbase", "address")] + public class GetCurrentBlockCoinbaseFunctionBase : FunctionMessage + { + } +} \ No newline at end of file diff --git a/src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockCoinbaseOutputDto.cs b/src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockCoinbaseOutputDto.cs new file mode 100644 index 000000000..430941cb4 --- /dev/null +++ b/src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockCoinbaseOutputDto.cs @@ -0,0 +1,18 @@ +using Nethereum.ABI.FunctionEncoding.Attributes; + +namespace ChainSafe.Gaming.MultiCall.Dto +{ + /// + /// Returns the block coinbase. + /// + public partial class GetCurrentBlockCoinbaseOutputDto : GetCurrentBlockCoinbaseOutputDtoBase + { + } + + [FunctionOutput] + public class GetCurrentBlockCoinbaseOutputDtoBase : IFunctionOutputDTO + { + [Parameter("address", "coinbase", 1)] + public virtual string Coinbase { get; set; } + } +} \ No newline at end of file diff --git a/src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockDifficultyFunction.cs b/src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockDifficultyFunction.cs new file mode 100644 index 000000000..8765f3db7 --- /dev/null +++ b/src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockDifficultyFunction.cs @@ -0,0 +1,17 @@ +using Nethereum.ABI.FunctionEncoding.Attributes; +using Nethereum.Contracts; + +namespace ChainSafe.Gaming.MultiCall.Dto +{ + /// + /// Returns the block difficulty. + /// + public partial class GetCurrentBlockDifficultyFunction : GetCurrentBlockDifficultyFunctionBase + { + } + + [Function("getCurrentBlockDifficulty", "uint256")] + public class GetCurrentBlockDifficultyFunctionBase : FunctionMessage + { + } +} \ No newline at end of file diff --git a/src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockDifficultyOutputDto.cs b/src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockDifficultyOutputDto.cs new file mode 100644 index 000000000..2c26c014b --- /dev/null +++ b/src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockDifficultyOutputDto.cs @@ -0,0 +1,19 @@ +using Nethereum.ABI.FunctionEncoding.Attributes; +using Org.BouncyCastle.Math; + +namespace ChainSafe.Gaming.MultiCall.Dto +{ + /// + /// Returns the block difficulty. + /// + public partial class GetCurrentBlockDifficultyOutputDto : GetCurrentBlockDifficultyOutputDtoBase + { + } + + [FunctionOutput] + public class GetCurrentBlockDifficultyOutputDtoBase : IFunctionOutputDTO + { + [Parameter("uint256", "difficulty", 1)] + public virtual BigInteger Difficulty { get; set; } + } +} \ No newline at end of file diff --git a/src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockGasLimitFunction.cs b/src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockGasLimitFunction.cs new file mode 100644 index 000000000..e5b8e77cf --- /dev/null +++ b/src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockGasLimitFunction.cs @@ -0,0 +1,17 @@ +using Nethereum.ABI.FunctionEncoding.Attributes; +using Nethereum.Contracts; + +namespace ChainSafe.Gaming.MultiCall.Dto +{ + /// + /// Returns the block gas limit. + /// + public partial class GetCurrentBlockGasLimitFunction : GetCurrentBlockGasLimitFunctionBase + { + } + + [Function("getCurrentBlockGasLimit", "uint256")] + public class GetCurrentBlockGasLimitFunctionBase : FunctionMessage + { + } +} \ No newline at end of file diff --git a/src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockGasLimitOutputDto.cs b/src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockGasLimitOutputDto.cs new file mode 100644 index 000000000..5596381a0 --- /dev/null +++ b/src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockGasLimitOutputDto.cs @@ -0,0 +1,19 @@ +using Nethereum.ABI.FunctionEncoding.Attributes; +using Org.BouncyCastle.Math; + +namespace ChainSafe.Gaming.MultiCall.Dto +{ + /// + /// Returns the block gas limit. + /// + public partial class GetCurrentBlockGasLimitOutputDto : GetCurrentBlockGasLimitOutputDtoBase + { + } + + [FunctionOutput] + public class GetCurrentBlockGasLimitOutputDtoBase : IFunctionOutputDTO + { + [Parameter("uint256", "gaslimit", 1)] + public virtual BigInteger GasLimit { get; set; } + } +} \ No newline at end of file diff --git a/src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockTimestampFunction.cs b/src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockTimestampFunction.cs new file mode 100644 index 000000000..adc98e66c --- /dev/null +++ b/src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockTimestampFunction.cs @@ -0,0 +1,17 @@ +using Nethereum.ABI.FunctionEncoding.Attributes; +using Nethereum.Contracts; + +namespace ChainSafe.Gaming.MultiCall.Dto +{ + /// + /// Returns the block timestamp. + /// + public partial class GetCurrentBlockTimestampFunction : GetCurrentBlockTimestampFunctionBase + { + } + + [Function("getCurrentBlockTimestamp", "uint256")] + public class GetCurrentBlockTimestampFunctionBase : FunctionMessage + { + } +} \ No newline at end of file diff --git a/src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockTimestampOutputDto.cs b/src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockTimestampOutputDto.cs new file mode 100644 index 000000000..b4fa94d99 --- /dev/null +++ b/src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockTimestampOutputDto.cs @@ -0,0 +1,19 @@ +using Nethereum.ABI.FunctionEncoding.Attributes; +using Org.BouncyCastle.Math; + +namespace ChainSafe.Gaming.MultiCall.Dto +{ + /// + /// Returns the block timestamp. + /// + public partial class GetCurrentBlockTimestampOutputDto : GetCurrentBlockTimestampOutputDtoBase + { + } + + [FunctionOutput] + public class GetCurrentBlockTimestampOutputDtoBase : IFunctionOutputDTO + { + [Parameter("uint256", "timestamp", 1)] + public virtual BigInteger Timestamp { get; set; } + } +} \ No newline at end of file diff --git a/src/ChainSafe.Gaming/MultiCall/Dto/GetEthBalanceFunction.cs b/src/ChainSafe.Gaming/MultiCall/Dto/GetEthBalanceFunction.cs new file mode 100644 index 000000000..d54d8a4f4 --- /dev/null +++ b/src/ChainSafe.Gaming/MultiCall/Dto/GetEthBalanceFunction.cs @@ -0,0 +1,19 @@ +using Nethereum.ABI.FunctionEncoding.Attributes; +using Nethereum.Contracts; + +namespace ChainSafe.Gaming.MultiCall.Dto +{ + /// + /// Returns the (ETH) balance of a given address. + /// + public partial class GetEthBalanceFunction : GetEthBalanceFunctionBase + { + } + + [Function("getEthBalance", "uint256")] + public class GetEthBalanceFunctionBase : FunctionMessage + { + [Parameter("address", "addr", 1)] + public virtual string Addr { get; set; } + } +} \ No newline at end of file diff --git a/src/ChainSafe.Gaming/MultiCall/Dto/GetEthBalanceOutputDto.cs b/src/ChainSafe.Gaming/MultiCall/Dto/GetEthBalanceOutputDto.cs new file mode 100644 index 000000000..06f9947e8 --- /dev/null +++ b/src/ChainSafe.Gaming/MultiCall/Dto/GetEthBalanceOutputDto.cs @@ -0,0 +1,19 @@ +using Nethereum.ABI.FunctionEncoding.Attributes; +using Org.BouncyCastle.Math; + +namespace ChainSafe.Gaming.MultiCall.Dto +{ + /// + /// Returns the (ETH) balance of a given address. + /// + public partial class GetEthBalanceOutputDto : GetEthBalanceOutputDtoBase + { + } + + [FunctionOutput] + public class GetEthBalanceOutputDtoBase : IFunctionOutputDTO + { + [Parameter("uint256", "balance", 1)] + public virtual BigInteger Balance { get; set; } + } +} \ No newline at end of file diff --git a/src/ChainSafe.Gaming/MultiCall/Dto/GetLastBlockHashFunction.cs b/src/ChainSafe.Gaming/MultiCall/Dto/GetLastBlockHashFunction.cs new file mode 100644 index 000000000..27042e06f --- /dev/null +++ b/src/ChainSafe.Gaming/MultiCall/Dto/GetLastBlockHashFunction.cs @@ -0,0 +1,17 @@ +using Nethereum.ABI.FunctionEncoding.Attributes; +using Nethereum.Contracts; + +namespace ChainSafe.Gaming.MultiCall.Dto +{ + /// + /// Returns the block hash of the last block. + /// + public partial class GetLastBlockHashFunction : GetLastBlockHashFunctionBase + { + } + + [Function("getLastBlockHash", "bytes32")] + public class GetLastBlockHashFunctionBase : FunctionMessage + { + } +} \ No newline at end of file diff --git a/src/ChainSafe.Gaming/MultiCall/Dto/GetLastBlockHashOutputDto.cs b/src/ChainSafe.Gaming/MultiCall/Dto/GetLastBlockHashOutputDto.cs new file mode 100644 index 000000000..5125bbd68 --- /dev/null +++ b/src/ChainSafe.Gaming/MultiCall/Dto/GetLastBlockHashOutputDto.cs @@ -0,0 +1,18 @@ +using Nethereum.ABI.FunctionEncoding.Attributes; + +namespace ChainSafe.Gaming.MultiCall.Dto +{ + /// + /// Returns the block hash of the last block. + /// + public partial class GetLastBlockHashOutputDto : GetLastBlockHashOutputDtoBase + { + } + + [FunctionOutput] + public class GetLastBlockHashOutputDtoBase : IFunctionOutputDTO + { + [Parameter("bytes32", "blockHash", 1)] + public virtual byte[] BlockHash { get; set; } + } +} \ No newline at end of file diff --git a/src/ChainSafe.Gaming/MultiCall/Dto/IMultiCallRequest.cs b/src/ChainSafe.Gaming/MultiCall/Dto/IMultiCallRequest.cs new file mode 100644 index 000000000..fa2f7c177 --- /dev/null +++ b/src/ChainSafe.Gaming/MultiCall/Dto/IMultiCallRequest.cs @@ -0,0 +1,8 @@ +using Nethereum.Contracts.QueryHandlers.MultiCall; + +namespace ChainSafe.Gaming.MultiCall.Dto +{ + public interface IMultiCallRequest : IMulticallInputOutput + { + } +} \ No newline at end of file diff --git a/src/ChainSafe.Gaming/MultiCall/Dto/MultiCallRequest.cs b/src/ChainSafe.Gaming/MultiCall/Dto/MultiCallRequest.cs new file mode 100644 index 000000000..f9bb564cc --- /dev/null +++ b/src/ChainSafe.Gaming/MultiCall/Dto/MultiCallRequest.cs @@ -0,0 +1,16 @@ +using Nethereum.ABI.FunctionEncoding.Attributes; +using Nethereum.Contracts; +using Nethereum.Contracts.QueryHandlers.MultiCall; + +namespace ChainSafe.Gaming.MultiCall.Dto +{ + public class MultiCallRequest : MulticallInputOutput + where TFunctionMessage : FunctionMessage, new() + where TFunctionOutput : IFunctionOutputDTO, new() + { + public MultiCallRequest(TFunctionMessage functionMessage, string contractAddressTarget) + : base(functionMessage, contractAddressTarget) + { + } + } +} \ No newline at end of file diff --git a/src/ChainSafe.Gaming/MultiCall/IMultiCall.cs b/src/ChainSafe.Gaming/MultiCall/IMultiCall.cs new file mode 100644 index 000000000..be1f5edea --- /dev/null +++ b/src/ChainSafe.Gaming/MultiCall/IMultiCall.cs @@ -0,0 +1,10 @@ +using ChainSafe.Gaming.Evm.Providers; +using ChainSafe.Gaming.Web3.Core; + +namespace ChainSafe.Gaming.MultiCall +{ + public interface IMultiCall : ILifecycleParticipant + { + void MultiCall(IRpcProvider provider); + } +} \ No newline at end of file From 37c556c8ccd6dce8074e0df33f76d3c5a4c42cf2 Mon Sep 17 00:00:00 2001 From: Ryan Noble Date: Mon, 18 Sep 2023 17:47:18 +0200 Subject: [PATCH 04/29] Added config --- src/ChainSafe.Gaming/MultiCall/MultiCall.cs | 5 ++++- src/ChainSafe.Gaming/MultiCall/MultiCallConfig.cs | 14 ++++++++++++++ .../MultiCall/MultiCallExtensions.cs | 3 ++- .../Scripts/Prefabs/MultiCall.meta | 8 ++++++++ .../Scripts/Prefabs/MultiCall/MultiCall.cs.meta | 11 +++++++++++ .../Web3.Unity Samples/Scripts/Scenes/Login.cs | 2 +- 6 files changed, 40 insertions(+), 3 deletions(-) create mode 100644 src/ChainSafe.Gaming/MultiCall/MultiCallConfig.cs create mode 100644 src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Prefabs/MultiCall.meta create mode 100644 src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Prefabs/MultiCall/MultiCall.cs.meta diff --git a/src/ChainSafe.Gaming/MultiCall/MultiCall.cs b/src/ChainSafe.Gaming/MultiCall/MultiCall.cs index e5e1c921e..4d89a54d7 100644 --- a/src/ChainSafe.Gaming/MultiCall/MultiCall.cs +++ b/src/ChainSafe.Gaming/MultiCall/MultiCall.cs @@ -1,7 +1,10 @@ -using System.Threading.Tasks; +using System.Linq; +using System.Threading.Tasks; +using ChainSafe.Gaming.MultiCall.Dto; using ChainSafe.Gaming.Web3; using ChainSafe.Gaming.Web3.Core; using Nethereum.Contracts.QueryHandlers.MultiCall; +using Org.BouncyCastle.Math; namespace ChainSafe.Gaming.MultiCall { diff --git a/src/ChainSafe.Gaming/MultiCall/MultiCallConfig.cs b/src/ChainSafe.Gaming/MultiCall/MultiCallConfig.cs new file mode 100644 index 000000000..dc3c76262 --- /dev/null +++ b/src/ChainSafe.Gaming/MultiCall/MultiCallConfig.cs @@ -0,0 +1,14 @@ +using System.Collections.Generic; + +namespace ChainSafe.Gaming.MultiCall +{ + public class MultiCallConfig + { + public MultiCallConfig(Dictionary customNetworks) + { + CustomNetworks = customNetworks; + } + + public IReadOnlyDictionary CustomNetworks { get; } + } +} \ No newline at end of file diff --git a/src/ChainSafe.Gaming/MultiCall/MultiCallExtensions.cs b/src/ChainSafe.Gaming/MultiCall/MultiCallExtensions.cs index 6841a3396..e30273b08 100644 --- a/src/ChainSafe.Gaming/MultiCall/MultiCallExtensions.cs +++ b/src/ChainSafe.Gaming/MultiCall/MultiCallExtensions.cs @@ -1,4 +1,5 @@ -using ChainSafe.Gaming.Web3.Build; +using ChainSafe.Gaming.Evm.Signers; +using ChainSafe.Gaming.Web3.Build; using ChainSafe.Gaming.Web3.Core; using ChainSafe.Gaming.Web3.Core.Evm; using Microsoft.Extensions.DependencyInjection; diff --git a/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Prefabs/MultiCall.meta b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Prefabs/MultiCall.meta new file mode 100644 index 000000000..4fbb8ea2a --- /dev/null +++ b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Prefabs/MultiCall.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 07502567db01631468db8091a3562ece +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Prefabs/MultiCall/MultiCall.cs.meta b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Prefabs/MultiCall/MultiCall.cs.meta new file mode 100644 index 000000000..12e2f3dc4 --- /dev/null +++ b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Prefabs/MultiCall/MultiCall.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8322ac8635601d8459ce3c4803676c8c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/Login.cs b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/Login.cs index 482e08ab9..edfaf8db2 100644 --- a/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/Login.cs +++ b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/Login.cs @@ -215,7 +215,7 @@ private void ConfigureCommonServices(IWeb3ServiceCollection services) services .UseUnityEnvironment() .UseGelato(GelatoApiKey) - .useMultiCall() + .UseMultiCall() .UseRpcProvider(); /* As many contracts as needed may be registered here. From f638de65df8c28d39a2981ad289203a7c14bbf5b Mon Sep 17 00:00:00 2001 From: RyRy79261 Date: Mon, 18 Sep 2023 15:58:10 +0000 Subject: [PATCH 05/29] Auto-duplicate Package Samples --- .../Web3.Unity/Scripts/Prefabs/MultiCall.meta | 8 +++++++ .../Scripts/Prefabs/MultiCall/MultiCall.cs | 23 +++++++++++++++++++ .../Prefabs/MultiCall/MultiCall.cs.meta | 11 +++++++++ .../Web3.Unity/Scripts/Scenes/Login.cs | 2 ++ 4 files changed, 44 insertions(+) create mode 100644 Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Prefabs/MultiCall.meta create mode 100644 Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Prefabs/MultiCall/MultiCall.cs create mode 100644 Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Prefabs/MultiCall/MultiCall.cs.meta diff --git a/Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Prefabs/MultiCall.meta b/Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Prefabs/MultiCall.meta new file mode 100644 index 000000000..4fbb8ea2a --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Prefabs/MultiCall.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 07502567db01631468db8091a3562ece +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Prefabs/MultiCall/MultiCall.cs b/Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Prefabs/MultiCall/MultiCall.cs new file mode 100644 index 000000000..1396336dd --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Prefabs/MultiCall/MultiCall.cs @@ -0,0 +1,23 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class MultiCall : MonoBehaviour +{ + // Start is called before the first frame update + void Start() + { + + } + + // Update is called once per frame + void Update() + { + + } + + public async void FetchBatchBalances() + { + + } +} \ No newline at end of file diff --git a/Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Prefabs/MultiCall/MultiCall.cs.meta b/Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Prefabs/MultiCall/MultiCall.cs.meta new file mode 100644 index 000000000..12e2f3dc4 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Prefabs/MultiCall/MultiCall.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8322ac8635601d8459ce3c4803676c8c +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Scenes/Login.cs b/Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Scenes/Login.cs index a8935759d..edfaf8db2 100644 --- a/Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Scenes/Login.cs +++ b/Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Scenes/Login.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; +using ChainSafe.Gaming.MultiCall; using ChainSafe.Gaming.Evm.Contracts; using ChainSafe.Gaming.Evm.JsonRpc; using ChainSafe.Gaming.UnityPackage; @@ -214,6 +215,7 @@ private void ConfigureCommonServices(IWeb3ServiceCollection services) services .UseUnityEnvironment() .UseGelato(GelatoApiKey) + .UseMultiCall() .UseRpcProvider(); /* As many contracts as needed may be registered here. From 50f6dc168917e72b21f7eec12267859ff5542af5 Mon Sep 17 00:00:00 2001 From: Ryan Noble Date: Tue, 19 Sep 2023 18:41:28 +0200 Subject: [PATCH 06/29] Connecting to unity buttons --- .../Runtime/Scripts/Samples/GelatoSample.cs | 1 - .../Scripts/Samples/MultiCallSample.cs | 27 +++++++++++++++++ .../Scripts/Samples/MultiCallSample.cs.meta | 11 +++++++ .../MultiCall/Dto/MultiCallRequest.cs | 2 +- src/ChainSafe.Gaming/MultiCall/IMultiCall.cs | 30 +++++++++++++++++-- src/ChainSafe.Gaming/MultiCall/MultiCall.cs | 3 +- .../MultiCall/MultiCallExtensions.cs | 4 ++- .../Scripts/Scenes/SampleMain/MultiCall.meta | 8 +++++ .../MultiCall/MultiCallChainState.cs | 20 +++++++++++++ .../MultiCall/MultiCallChainState.cs.meta | 11 +++++++ 10 files changed, 110 insertions(+), 7 deletions(-) create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/MultiCallSample.cs create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/MultiCallSample.cs.meta create mode 100644 src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall.meta create mode 100644 src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/MultiCallChainState.cs create mode 100644 src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/MultiCallChainState.cs.meta diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/GelatoSample.cs b/Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/GelatoSample.cs index 1d22b2b1e..bfda4c681 100644 --- a/Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/GelatoSample.cs +++ b/Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/GelatoSample.cs @@ -5,7 +5,6 @@ using ChainSafe.GamingSdk.Gelato.Dto; using UnityEngine; - public class GelatoSample { private readonly Web3 _web3; diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/MultiCallSample.cs b/Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/MultiCallSample.cs new file mode 100644 index 000000000..0ba117636 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/MultiCallSample.cs @@ -0,0 +1,27 @@ +using System.Numerics; +using System.Threading.Tasks; +using ChainSafe.Gaming.Web3; +using ChainSafe.Gaming.MultiCall; +using ChainSafe.Gaming.MultiCall.Dto; +using UnityEngine; + +public class MultiCallSample +{ + private readonly Web3 _web3; + + public MultiCallSample(Web3 web3) + { + _web3 = web3; + } + + public async Task BlockStateExample() + { + var getBlockRequest = _web3.MultiCall().GetBlockNumber(); + var currentBlockNumber = _web3.MultiCall().GetCurrentBlockDifficulty(); + return await _web3.MultiCall().MultiCallV3(new IMultiCallRequest[] + { + getBlockRequest, + currentBlockNumber + }); + } +} diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/MultiCallSample.cs.meta b/Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/MultiCallSample.cs.meta new file mode 100644 index 000000000..54d1e4f5c --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/MultiCallSample.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0980f04b3f990584faeca802436cfe6a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/src/ChainSafe.Gaming/MultiCall/Dto/MultiCallRequest.cs b/src/ChainSafe.Gaming/MultiCall/Dto/MultiCallRequest.cs index f9bb564cc..b37198d46 100644 --- a/src/ChainSafe.Gaming/MultiCall/Dto/MultiCallRequest.cs +++ b/src/ChainSafe.Gaming/MultiCall/Dto/MultiCallRequest.cs @@ -4,7 +4,7 @@ namespace ChainSafe.Gaming.MultiCall.Dto { - public class MultiCallRequest : MulticallInputOutput + public class MultiCallRequest : MulticallInputOutput, IMultiCallRequest where TFunctionMessage : FunctionMessage, new() where TFunctionOutput : IFunctionOutputDTO, new() { diff --git a/src/ChainSafe.Gaming/MultiCall/IMultiCall.cs b/src/ChainSafe.Gaming/MultiCall/IMultiCall.cs index be1f5edea..d1c446f0a 100644 --- a/src/ChainSafe.Gaming/MultiCall/IMultiCall.cs +++ b/src/ChainSafe.Gaming/MultiCall/IMultiCall.cs @@ -1,10 +1,36 @@ -using ChainSafe.Gaming.Evm.Providers; +using System.Threading.Tasks; +using ChainSafe.Gaming.MultiCall.Dto; using ChainSafe.Gaming.Web3.Core; +using Org.BouncyCastle.Math; namespace ChainSafe.Gaming.MultiCall { public interface IMultiCall : ILifecycleParticipant { - void MultiCall(IRpcProvider provider); + public Task MultiCallV3(IMultiCallRequest[] calls, bool? staticCall = true); + + public MultiCallRequest GetBaseFeeCallData(); + + public MultiCallRequest GetBlockHash(BigInteger blockNumber); + + public MultiCallRequest GetBlockNumber(); + + public MultiCallRequest GetChainId(); + + public MultiCallRequest + GetCurrentBlockCoinbase(); + + public MultiCallRequest + GetCurrentBlockDifficulty(); + + public MultiCallRequest + GetCurrentBlockGasLimit(); + + public MultiCallRequest + GetCurrentBlockTimestamp(); + + public MultiCallRequest GetEthBalance(string address); + + public MultiCallRequest GetLastBlockHash(); } } \ No newline at end of file diff --git a/src/ChainSafe.Gaming/MultiCall/MultiCall.cs b/src/ChainSafe.Gaming/MultiCall/MultiCall.cs index 4d89a54d7..4709eedbd 100644 --- a/src/ChainSafe.Gaming/MultiCall/MultiCall.cs +++ b/src/ChainSafe.Gaming/MultiCall/MultiCall.cs @@ -2,13 +2,12 @@ using System.Threading.Tasks; using ChainSafe.Gaming.MultiCall.Dto; using ChainSafe.Gaming.Web3; -using ChainSafe.Gaming.Web3.Core; using Nethereum.Contracts.QueryHandlers.MultiCall; using Org.BouncyCastle.Math; namespace ChainSafe.Gaming.MultiCall { - public class MultiCall : ILifecycleParticipant + public class MultiCall : IMultiCall { private readonly MultiQueryHandler handler; diff --git a/src/ChainSafe.Gaming/MultiCall/MultiCallExtensions.cs b/src/ChainSafe.Gaming/MultiCall/MultiCallExtensions.cs index e30273b08..0bbb0fdea 100644 --- a/src/ChainSafe.Gaming/MultiCall/MultiCallExtensions.cs +++ b/src/ChainSafe.Gaming/MultiCall/MultiCallExtensions.cs @@ -11,6 +11,8 @@ public static class MultiCallExtensions { private static readonly MultiCallConfig DefaultConfig = new MultiCallConfig(null); + public static IMultiCall MultiCall(this Web3.Web3 web3) => web3.ServiceProvider.GetRequiredService(); + /// /// Binds implementation of MultiCall to Web3. /// @@ -35,7 +37,7 @@ public static IWeb3ServiceCollection UseMultiCall(this IWeb3ServiceCollection co collection.TryAddSingleton(DefaultConfig); // wallet - collection.AddSingleton(); + collection.AddSingleton(); return collection; } diff --git a/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall.meta b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall.meta new file mode 100644 index 000000000..4b921fe31 --- /dev/null +++ b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b0d3e3bfde00e72459ff66db6e9c03fe +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/MultiCallChainState.cs b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/MultiCallChainState.cs new file mode 100644 index 000000000..c9e424a50 --- /dev/null +++ b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/MultiCallChainState.cs @@ -0,0 +1,20 @@ +using System.Threading.Tasks; + +namespace Samples.Behaviours.MultiCall +{ + public class MultiCallChainState : SampleBehaviour + { + private MultiCallSample _logic; + + protected override void Awake() + { + base.Awake(); + _logic = new MultiCallSample(Web3); + } + + protected override async Task ExecuteSample() + { + var result = await _logic.BlockStateExample(); + } + } +} \ No newline at end of file diff --git a/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/MultiCallChainState.cs.meta b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/MultiCallChainState.cs.meta new file mode 100644 index 000000000..763d6d8ce --- /dev/null +++ b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/MultiCallChainState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2aa2d37e4ea4c384fb3de4f08b3dfb7b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: From 7f027747a415eb62d329608ca1571cec70cbbed9 Mon Sep 17 00:00:00 2001 From: RyRy79261 Date: Tue, 19 Sep 2023 16:46:34 +0000 Subject: [PATCH 07/29] Auto-duplicate Package Samples --- .../Scripts/Scenes/SampleMain/MultiCall.meta | 8 ++++++++ .../MultiCall/MultiCallChainState.cs | 20 +++++++++++++++++++ .../MultiCall/MultiCallChainState.cs.meta | 11 ++++++++++ 3 files changed, 39 insertions(+) create mode 100644 Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Scenes/SampleMain/MultiCall.meta create mode 100644 Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Scenes/SampleMain/MultiCall/MultiCallChainState.cs create mode 100644 Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Scenes/SampleMain/MultiCall/MultiCallChainState.cs.meta diff --git a/Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Scenes/SampleMain/MultiCall.meta b/Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Scenes/SampleMain/MultiCall.meta new file mode 100644 index 000000000..4b921fe31 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Scenes/SampleMain/MultiCall.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b0d3e3bfde00e72459ff66db6e9c03fe +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Scenes/SampleMain/MultiCall/MultiCallChainState.cs b/Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Scenes/SampleMain/MultiCall/MultiCallChainState.cs new file mode 100644 index 000000000..c9e424a50 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Scenes/SampleMain/MultiCall/MultiCallChainState.cs @@ -0,0 +1,20 @@ +using System.Threading.Tasks; + +namespace Samples.Behaviours.MultiCall +{ + public class MultiCallChainState : SampleBehaviour + { + private MultiCallSample _logic; + + protected override void Awake() + { + base.Awake(); + _logic = new MultiCallSample(Web3); + } + + protected override async Task ExecuteSample() + { + var result = await _logic.BlockStateExample(); + } + } +} \ No newline at end of file diff --git a/Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Scenes/SampleMain/MultiCall/MultiCallChainState.cs.meta b/Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Scenes/SampleMain/MultiCall/MultiCallChainState.cs.meta new file mode 100644 index 000000000..763d6d8ce --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Scenes/SampleMain/MultiCall/MultiCallChainState.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2aa2d37e4ea4c384fb3de4f08b3dfb7b +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: From 03f04bbe7ae347a2922d592192f352d818e15a33 Mon Sep 17 00:00:00 2001 From: Ryan Noble Date: Wed, 20 Sep 2023 14:16:13 +0200 Subject: [PATCH 08/29] Function triggering --- .../Scripts/Samples/MultiCallSample.cs | 2 - .../MultiCall/Dto/GetBaseFeeOutputDto.cs | 4 +- .../MultiCall/Dto/GetBlockHashFunction.cs | 4 +- .../MultiCall/Dto/GetBlockNumberOutputDto.cs | 4 +- .../MultiCall/Dto/GetChainIdOutputDto.cs | 4 +- .../Dto/GetCurrentBlockDifficultyOutputDto.cs | 4 +- .../Dto/GetCurrentBlockGasLimitOutputDto.cs | 4 +- .../Dto/GetCurrentBlockTimestampOutputDto.cs | 4 +- .../MultiCall/Dto/GetEthBalanceOutputDto.cs | 4 +- src/ChainSafe.Gaming/MultiCall/IMultiCall.cs | 4 +- src/ChainSafe.Gaming/MultiCall/MultiCall.cs | 2 +- .../Scenes/SampleMain.unity | 403 +++++++++++++++++- .../MultiCall/MultiCallChainState.cs | 6 + 13 files changed, 425 insertions(+), 24 deletions(-) diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/MultiCallSample.cs b/Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/MultiCallSample.cs index 0ba117636..548f6297f 100644 --- a/Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/MultiCallSample.cs +++ b/Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/MultiCallSample.cs @@ -16,11 +16,9 @@ public MultiCallSample(Web3 web3) public async Task BlockStateExample() { - var getBlockRequest = _web3.MultiCall().GetBlockNumber(); var currentBlockNumber = _web3.MultiCall().GetCurrentBlockDifficulty(); return await _web3.MultiCall().MultiCallV3(new IMultiCallRequest[] { - getBlockRequest, currentBlockNumber }); } diff --git a/src/ChainSafe.Gaming/MultiCall/Dto/GetBaseFeeOutputDto.cs b/src/ChainSafe.Gaming/MultiCall/Dto/GetBaseFeeOutputDto.cs index 2e34e8c8d..bccee363a 100644 --- a/src/ChainSafe.Gaming/MultiCall/Dto/GetBaseFeeOutputDto.cs +++ b/src/ChainSafe.Gaming/MultiCall/Dto/GetBaseFeeOutputDto.cs @@ -1,5 +1,5 @@ -using Nethereum.ABI.FunctionEncoding.Attributes; -using Org.BouncyCastle.Math; +using System.Numerics; +using Nethereum.ABI.FunctionEncoding.Attributes; namespace ChainSafe.Gaming.MultiCall.Dto { diff --git a/src/ChainSafe.Gaming/MultiCall/Dto/GetBlockHashFunction.cs b/src/ChainSafe.Gaming/MultiCall/Dto/GetBlockHashFunction.cs index c5b3c05ce..01141adc0 100644 --- a/src/ChainSafe.Gaming/MultiCall/Dto/GetBlockHashFunction.cs +++ b/src/ChainSafe.Gaming/MultiCall/Dto/GetBlockHashFunction.cs @@ -1,6 +1,6 @@ -using Nethereum.ABI.FunctionEncoding.Attributes; +using System.Numerics; +using Nethereum.ABI.FunctionEncoding.Attributes; using Nethereum.Contracts; -using Org.BouncyCastle.Math; namespace ChainSafe.Gaming.MultiCall.Dto { diff --git a/src/ChainSafe.Gaming/MultiCall/Dto/GetBlockNumberOutputDto.cs b/src/ChainSafe.Gaming/MultiCall/Dto/GetBlockNumberOutputDto.cs index 403065fb3..659cffaea 100644 --- a/src/ChainSafe.Gaming/MultiCall/Dto/GetBlockNumberOutputDto.cs +++ b/src/ChainSafe.Gaming/MultiCall/Dto/GetBlockNumberOutputDto.cs @@ -1,5 +1,5 @@ -using Nethereum.ABI.FunctionEncoding.Attributes; -using Org.BouncyCastle.Math; +using System.Numerics; +using Nethereum.ABI.FunctionEncoding.Attributes; namespace ChainSafe.Gaming.MultiCall.Dto { diff --git a/src/ChainSafe.Gaming/MultiCall/Dto/GetChainIdOutputDto.cs b/src/ChainSafe.Gaming/MultiCall/Dto/GetChainIdOutputDto.cs index 39daca75e..bd78cdc2e 100644 --- a/src/ChainSafe.Gaming/MultiCall/Dto/GetChainIdOutputDto.cs +++ b/src/ChainSafe.Gaming/MultiCall/Dto/GetChainIdOutputDto.cs @@ -1,5 +1,5 @@ -using Nethereum.ABI.FunctionEncoding.Attributes; -using Org.BouncyCastle.Math; +using System.Numerics; +using Nethereum.ABI.FunctionEncoding.Attributes; namespace ChainSafe.Gaming.MultiCall.Dto { diff --git a/src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockDifficultyOutputDto.cs b/src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockDifficultyOutputDto.cs index 2c26c014b..35842b68c 100644 --- a/src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockDifficultyOutputDto.cs +++ b/src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockDifficultyOutputDto.cs @@ -1,5 +1,5 @@ -using Nethereum.ABI.FunctionEncoding.Attributes; -using Org.BouncyCastle.Math; +using System.Numerics; +using Nethereum.ABI.FunctionEncoding.Attributes; namespace ChainSafe.Gaming.MultiCall.Dto { diff --git a/src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockGasLimitOutputDto.cs b/src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockGasLimitOutputDto.cs index 5596381a0..261d9ab48 100644 --- a/src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockGasLimitOutputDto.cs +++ b/src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockGasLimitOutputDto.cs @@ -1,5 +1,5 @@ -using Nethereum.ABI.FunctionEncoding.Attributes; -using Org.BouncyCastle.Math; +using System.Numerics; +using Nethereum.ABI.FunctionEncoding.Attributes; namespace ChainSafe.Gaming.MultiCall.Dto { diff --git a/src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockTimestampOutputDto.cs b/src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockTimestampOutputDto.cs index b4fa94d99..21b1c653e 100644 --- a/src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockTimestampOutputDto.cs +++ b/src/ChainSafe.Gaming/MultiCall/Dto/GetCurrentBlockTimestampOutputDto.cs @@ -1,5 +1,5 @@ -using Nethereum.ABI.FunctionEncoding.Attributes; -using Org.BouncyCastle.Math; +using System.Numerics; +using Nethereum.ABI.FunctionEncoding.Attributes; namespace ChainSafe.Gaming.MultiCall.Dto { diff --git a/src/ChainSafe.Gaming/MultiCall/Dto/GetEthBalanceOutputDto.cs b/src/ChainSafe.Gaming/MultiCall/Dto/GetEthBalanceOutputDto.cs index 06f9947e8..ec4386c1a 100644 --- a/src/ChainSafe.Gaming/MultiCall/Dto/GetEthBalanceOutputDto.cs +++ b/src/ChainSafe.Gaming/MultiCall/Dto/GetEthBalanceOutputDto.cs @@ -1,5 +1,5 @@ -using Nethereum.ABI.FunctionEncoding.Attributes; -using Org.BouncyCastle.Math; +using System.Numerics; +using Nethereum.ABI.FunctionEncoding.Attributes; namespace ChainSafe.Gaming.MultiCall.Dto { diff --git a/src/ChainSafe.Gaming/MultiCall/IMultiCall.cs b/src/ChainSafe.Gaming/MultiCall/IMultiCall.cs index d1c446f0a..38ab49e8c 100644 --- a/src/ChainSafe.Gaming/MultiCall/IMultiCall.cs +++ b/src/ChainSafe.Gaming/MultiCall/IMultiCall.cs @@ -1,7 +1,7 @@ -using System.Threading.Tasks; +using System.Numerics; +using System.Threading.Tasks; using ChainSafe.Gaming.MultiCall.Dto; using ChainSafe.Gaming.Web3.Core; -using Org.BouncyCastle.Math; namespace ChainSafe.Gaming.MultiCall { diff --git a/src/ChainSafe.Gaming/MultiCall/MultiCall.cs b/src/ChainSafe.Gaming/MultiCall/MultiCall.cs index 4709eedbd..b04bf0777 100644 --- a/src/ChainSafe.Gaming/MultiCall/MultiCall.cs +++ b/src/ChainSafe.Gaming/MultiCall/MultiCall.cs @@ -1,9 +1,9 @@ using System.Linq; +using System.Numerics; using System.Threading.Tasks; using ChainSafe.Gaming.MultiCall.Dto; using ChainSafe.Gaming.Web3; using Nethereum.Contracts.QueryHandlers.MultiCall; -using Org.BouncyCastle.Math; namespace ChainSafe.Gaming.MultiCall { diff --git a/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scenes/SampleMain.unity b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scenes/SampleMain.unity index f56d84605..e6057f8a8 100644 --- a/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scenes/SampleMain.unity +++ b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scenes/SampleMain.unity @@ -1508,8 +1508,8 @@ MonoBehaviour: m_TargetGraphic: {fileID: 37375166} m_HandleRect: {fileID: 37375165} m_Direction: 0 - m_Value: -0.000000050924633 - m_Size: 0.30317497 + m_Value: 0 + m_Size: 0.33819562 m_NumberOfSteps: 0 m_OnValueChanged: m_PersistentCalls: @@ -5858,7 +5858,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} propertyPath: m_RootOrder - value: 6 + value: 7 objectReference: {fileID: 0} - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} propertyPath: m_AnchorMax.x @@ -6477,6 +6477,402 @@ MonoBehaviour: m_FlexibleWidth: -1 m_FlexibleHeight: -1 m_LayoutPriority: 1 +--- !u!1001 &1536881595 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1547239394} + m_Modifications: + - target: {fileID: 266788301277215411, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.size + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 266788301277215411, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Mode + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 266788301277215411, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target + value: + objectReference: {fileID: 11500000, guid: 2aa2d37e4ea4c384fb3de4f08b3dfb7b, type: 3} + - target: {fileID: 266788301277215411, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_CallState + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 531827906274991465, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: Target + value: + objectReference: {fileID: 11500000, guid: d61a1e7c98424af8b0ed86a6516bbcc0, type: 3} + - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_RootOrder + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_SizeDelta.y + value: 574 + objectReference: {fileID: 0} + - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2290226172473003671, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_text + value: Chain state example + objectReference: {fileID: 0} + - target: {fileID: 2295802096196926480, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_Name + value: Button - Chain State Example + objectReference: {fileID: 0} + - target: {fileID: 2597086131278812474, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2597086131278812474, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2597086131278812474, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2597086131278812474, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2597086131278812474, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2597086131278812474, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2966402704676899854, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.size + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2966402704676899854, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Mode + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2966402704676899854, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target + value: + objectReference: {fileID: 1536881598} + - target: {fileID: 2966402704676899854, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_CallState + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 2966402704676899854, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName + value: Select + objectReference: {fileID: 0} + - target: {fileID: 2966402704676899854, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_TargetAssemblyTypeName + value: SelectAssetInEditor, Samples + objectReference: {fileID: 0} + - target: {fileID: 2966402704676899854, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName + value: UnityEngine.Object, UnityEngine + objectReference: {fileID: 0} + - target: {fileID: 3719940706716398937, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3987575268489723521, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 3987575268489723521, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3987575268489723521, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3987575268489723521, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3987575268489723521, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3987575268489723521, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5508192653135270670, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 5508192653135270670, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5508192653135270670, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5508192653135270670, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5508192653135270670, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5508192653135270670, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5575651454046172251, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_text + value: Multicall allows for multiple calls to be compiled into a single call, + to increase the efficiency of RPC read requests + objectReference: {fileID: 0} + - target: {fileID: 5855924980481563309, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_Name + value: Category - Multicall + objectReference: {fileID: 0} + - target: {fileID: 5880704299188231306, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_text + value: Multicall + objectReference: {fileID: 0} + - target: {fileID: 8309710637256427594, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8309710637256427594, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8309710637256427594, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8309710637256427594, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8309710637256427594, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8632572386326910067, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8632572386326910067, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8632572386326910067, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8632572386326910067, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8632572386326910067, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8632572386326910067, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} +--- !u!224 &1536881596 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + m_PrefabInstance: {fileID: 1536881595} + m_PrefabAsset: {fileID: 0} +--- !u!1 &1536881597 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 2295802096196926480, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + m_PrefabInstance: {fileID: 1536881595} + m_PrefabAsset: {fileID: 0} +--- !u!114 &1536881598 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 531827906274991465, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + m_PrefabInstance: {fileID: 1536881595} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1d92ec8189c0cc84a95f0cfc8bc95bd2, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1536881599 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 5855924980481563309, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + m_PrefabInstance: {fileID: 1536881595} + m_PrefabAsset: {fileID: 0} +--- !u!114 &1536881600 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1536881597} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2aa2d37e4ea4c384fb3de4f08b3dfb7b, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1536881601 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1536881599} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 0} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1536881602 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1536881599} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f404484bf3c7d4246a08e60ab1cd69b7, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1536881603 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1536881599} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 550 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 --- !u!114 &1540322698 stripped MonoBehaviour: m_CorrespondingSourceObject: {fileID: 531827906274991465, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} @@ -6524,6 +6920,7 @@ RectTransform: - {fileID: 1203082332} - {fileID: 199502201} - {fileID: 1019211773} + - {fileID: 1536881596} - {fileID: 1432457964} m_Father: {fileID: 213321591} m_RootOrder: 0 diff --git a/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/MultiCallChainState.cs b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/MultiCallChainState.cs index c9e424a50..04506910b 100644 --- a/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/MultiCallChainState.cs +++ b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/MultiCallChainState.cs @@ -1,4 +1,5 @@ using System.Threading.Tasks; +using UnityEngine; namespace Samples.Behaviours.MultiCall { @@ -14,7 +15,12 @@ protected override void Awake() protected override async Task ExecuteSample() { + Debug.Log("Starting"); var result = await _logic.BlockStateExample(); + Debug.Log(result.Length.ToString()); + Debug.Log($"Success: {result[0].Success}"); + Debug.Log($"Value: {result[0].Value.ToString()}"); + SampleOutputUtil.PrintResult(result[0].Value.ToString(), nameof(MultiCallSample), nameof(MultiCallSample.BlockStateExample)); } } } \ No newline at end of file From 574f443e66633570c304390406cf8b0a777a0fb9 Mon Sep 17 00:00:00 2001 From: Ryan Noble Date: Fri, 22 Sep 2023 13:19:03 +0200 Subject: [PATCH 09/29] Trying to get call data to be accepted --- .../Scripts/Samples/MultiCallSample.cs | 4 +- src/ChainSafe.Gaming/MultiCall/IMultiCall.cs | 2 +- src/ChainSafe.Gaming/MultiCall/MultiCall.cs | 2 +- .../Scenes/SampleMain/MultiCall/ERCSamples.cs | 51 +++++++++++++++++++ .../SampleMain/MultiCall/ERCSamples.cs.meta | 3 ++ 5 files changed, 58 insertions(+), 4 deletions(-) create mode 100644 src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/ERCSamples.cs create mode 100644 src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/ERCSamples.cs.meta diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/MultiCallSample.cs b/Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/MultiCallSample.cs index 548f6297f..ff0063d74 100644 --- a/Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/MultiCallSample.cs +++ b/Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/MultiCallSample.cs @@ -16,10 +16,10 @@ public MultiCallSample(Web3 web3) public async Task BlockStateExample() { - var currentBlockNumber = _web3.MultiCall().GetCurrentBlockDifficulty(); + var currentDifficulty = _web3.MultiCall().GetCurrentBlockDifficulty(); return await _web3.MultiCall().MultiCallV3(new IMultiCallRequest[] { - currentBlockNumber + currentDifficulty }); } } diff --git a/src/ChainSafe.Gaming/MultiCall/IMultiCall.cs b/src/ChainSafe.Gaming/MultiCall/IMultiCall.cs index 38ab49e8c..8dde7f1d6 100644 --- a/src/ChainSafe.Gaming/MultiCall/IMultiCall.cs +++ b/src/ChainSafe.Gaming/MultiCall/IMultiCall.cs @@ -7,7 +7,7 @@ namespace ChainSafe.Gaming.MultiCall { public interface IMultiCall : ILifecycleParticipant { - public Task MultiCallV3(IMultiCallRequest[] calls, bool? staticCall = true); + public Task MultiCallV3(IMultiCallRequest[] calls); public MultiCallRequest GetBaseFeeCallData(); diff --git a/src/ChainSafe.Gaming/MultiCall/MultiCall.cs b/src/ChainSafe.Gaming/MultiCall/MultiCall.cs index b04bf0777..e606c8d91 100644 --- a/src/ChainSafe.Gaming/MultiCall/MultiCall.cs +++ b/src/ChainSafe.Gaming/MultiCall/MultiCall.cs @@ -26,7 +26,7 @@ public MultiCall(IChainConfig chainConfig, MultiCallConfig config) } } - public async Task MultiCallV3(IMultiCallRequest[] calls, bool? staticCall = true) + public async Task MultiCallV3(IMultiCallRequest[] calls) { await handler.MultiCallAsync(calls.ToArray()).ConfigureAwait(false); return calls; diff --git a/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/ERCSamples.cs b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/ERCSamples.cs new file mode 100644 index 000000000..b3c684809 --- /dev/null +++ b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/ERCSamples.cs @@ -0,0 +1,51 @@ +using System.Numerics; +using System.Threading.Tasks; +using ChainSafe.Gaming.Web3; +using ChainSafe.Gaming.MultiCall; +using ChainSafe.Gaming.MultiCall.Dto; +using ChainSafe.Gaming.UnityPackage; +using Scripts.EVM.Token; +using UnityEngine; + +public class MultiCallErcSamples +{ + public string erc20ContractAddress = "0x3E0C0447e47d49195fbE329265E330643eB42e6f"; + public string erc20Account = "0xd25b827D92b0fd656A1c829933e9b0b836d5C3e2"; + + private readonly Web3 _web3; + + public MultiCallErcSamples(Web3 web3) + { + _web3 = web3; + } + + public async Task ErcSamples() + { + var erc20Contract = _web3.ContractBuilder.Build(ABI.ERC_20, erc20ContractAddress); + var erc20BalanceOfCalldata = erc20Contract.Calldata(CommonMethod.BalanceOf, new object[] + { + erc20Account + }); + + //Calldata to MultiCallREquest + return await _web3.MultiCall().MultiCallV3(new IMultiCallRequest[] + { + erc20BalanceOfCalldata + }); + } + + static class CommonMethod + { + public const string BalanceOf = "balanceOf"; + public const string Name = "name"; + public const string Symbol = "symbol"; + public const string Decimals = "decimals"; + public const string TotalSupply = "totalSupply"; + public const string OwnerOf = "ownerOf"; + public const string TokenUri = "tokenURI"; + public const string Uri = "uri"; + public const string BalanceOfBatch = "balanceOfBatch"; + public const string Transfer = "transfer"; + public const string SafeTransferFrom = "safeTransferFrom"; + } +} \ No newline at end of file diff --git a/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/ERCSamples.cs.meta b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/ERCSamples.cs.meta new file mode 100644 index 000000000..e53ab0f2d --- /dev/null +++ b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/ERCSamples.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 26eb38234124428cb16dbb3f238d9587 +timeCreated: 1695216881 \ No newline at end of file From 9e0d860f1fddfd775df947d4b8ed8858e7d575a0 Mon Sep 17 00:00:00 2001 From: Ryan Noble Date: Fri, 29 Sep 2023 09:47:07 +0200 Subject: [PATCH 10/29] Refactored to contract style --- .../Scripts/Samples/MultiCallSample.cs | 14 +- src/ChainSafe.Gaming/MultiCall/IMultiCall.cs | 30 +-- src/ChainSafe.Gaming/MultiCall/MultiCall.cs | 227 ++++++------------ .../MultiCall/MultiCallCommonMethods.cs | 22 ++ .../MultiCall/MultiCallExtensions.cs | 4 +- .../Scenes/SampleMain/MultiCall/ERCSamples.cs | 28 +-- .../MultiCall/MultiCallChainState.cs | 8 +- 7 files changed, 121 insertions(+), 212 deletions(-) create mode 100644 src/ChainSafe.Gaming/MultiCall/MultiCallCommonMethods.cs diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/MultiCallSample.cs b/Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/MultiCallSample.cs index ff0063d74..6e7e1ca23 100644 --- a/Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/MultiCallSample.cs +++ b/Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/MultiCallSample.cs @@ -14,12 +14,20 @@ public MultiCallSample(Web3 web3) _web3 = web3; } - public async Task BlockStateExample() + public async Task BlockStateExample() { var currentDifficulty = _web3.MultiCall().GetCurrentBlockDifficulty(); - return await _web3.MultiCall().MultiCallV3(new IMultiCallRequest[] + var currentBlockGasLimit = _web3.MultiCall().GetCurrentBlockGasLimit(); + var blockNumber = _web3.MultiCall().GetBlockNumber(); + await _web3.MultiCall().MultiCallV3(new IMultiCallRequest[] { - currentDifficulty + currentDifficulty, + currentBlockGasLimit, + blockNumber }); + currentDifficulty.Decode(currentDifficulty.RawOutput); + + Debug.Log(blockNumber.Output.BlockNumber); + } } diff --git a/src/ChainSafe.Gaming/MultiCall/IMultiCall.cs b/src/ChainSafe.Gaming/MultiCall/IMultiCall.cs index 8dde7f1d6..2040c6c72 100644 --- a/src/ChainSafe.Gaming/MultiCall/IMultiCall.cs +++ b/src/ChainSafe.Gaming/MultiCall/IMultiCall.cs @@ -1,36 +1,12 @@ -using System.Numerics; +using System.Collections.Generic; using System.Threading.Tasks; -using ChainSafe.Gaming.MultiCall.Dto; using ChainSafe.Gaming.Web3.Core; +using Nethereum.Contracts.QueryHandlers.MultiCall; namespace ChainSafe.Gaming.MultiCall { public interface IMultiCall : ILifecycleParticipant { - public Task MultiCallV3(IMultiCallRequest[] calls); - - public MultiCallRequest GetBaseFeeCallData(); - - public MultiCallRequest GetBlockHash(BigInteger blockNumber); - - public MultiCallRequest GetBlockNumber(); - - public MultiCallRequest GetChainId(); - - public MultiCallRequest - GetCurrentBlockCoinbase(); - - public MultiCallRequest - GetCurrentBlockDifficulty(); - - public MultiCallRequest - GetCurrentBlockGasLimit(); - - public MultiCallRequest - GetCurrentBlockTimestamp(); - - public MultiCallRequest GetEthBalance(string address); - - public MultiCallRequest GetLastBlockHash(); + public Task> MultiCallAsync(Call3Value[] multiCalls, int pageSize); } } \ No newline at end of file diff --git a/src/ChainSafe.Gaming/MultiCall/MultiCall.cs b/src/ChainSafe.Gaming/MultiCall/MultiCall.cs index e606c8d91..4b596971c 100644 --- a/src/ChainSafe.Gaming/MultiCall/MultiCall.cs +++ b/src/ChainSafe.Gaming/MultiCall/MultiCall.cs @@ -1,185 +1,92 @@ -using System.Linq; +using System.Collections.Generic; +using System.Linq; using System.Numerics; using System.Threading.Tasks; +using ChainSafe.Gaming.Evm.Contracts; using ChainSafe.Gaming.MultiCall.Dto; using ChainSafe.Gaming.Web3; using Nethereum.Contracts.QueryHandlers.MultiCall; +using Nethereum.Util; namespace ChainSafe.Gaming.MultiCall { public class MultiCall : IMultiCall { - private readonly MultiQueryHandler handler; + private const int DefaultCallsPerRequest = 3000; - public MultiCall(IChainConfig chainConfig, MultiCallConfig config) + private const string ContractAbi = + "[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"returnData\",\"type\":\"bytes[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Call3[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Call3Value[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3Value\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"blockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBasefee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"basefee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"chainid\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockCoinbase\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"coinbase\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockDifficulty\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"difficulty\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockGasLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gaslimit\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getEthBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryAggregate\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryBlockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"}]"; + + private const string DefaultDeploymentAddress = "0xcA11bde05977b3631167028862bE2a173976CA11"; + private readonly Web3.Web3 web3; + private readonly Contract multiCallContract; + + public MultiCall(Web3.Web3 web3, IChainConfig chainConfig, MultiCallConfig config) { - if (MultiCallDefaults.DeployedNetworks.Contains(chainConfig.ChainId)) + this.web3 = web3; + if (chainConfig.ChainId != null && MultiCallDefaults.DeployedNetworks.Contains(chainConfig.ChainId)) { - handler = new Nethereum.Web3.Web3(chainConfig.Rpc).Eth.GetMultiQueryHandler(); + multiCallContract = web3.ContractBuilder.Build(ContractAbi, DefaultDeploymentAddress); } else { - if (config.CustomNetworks.TryGetValue(chainConfig.ChainId, out var address)) + if (chainConfig.ChainId != null && config.CustomNetworks.TryGetValue(chainConfig.ChainId, out var address)) { - handler = new Nethereum.Web3.Web3(chainConfig.Rpc).Eth.GetMultiQueryHandler(address); + multiCallContract = web3.ContractBuilder.Build(ContractAbi, address); } } } - public async Task MultiCallV3(IMultiCallRequest[] calls) - { - await handler.MultiCallAsync(calls.ToArray()).ConfigureAwait(false); - return calls; - - // function aggregate3(Call3[] calldata calls) external payable returns (Result[] memory returnData); - } - - /// - /// Internal state data call. - /// - /// - /// Returns a MultiCall request item for getting the transaction base fee. - /// - public MultiCallRequest GetBaseFeeCallData() - { - return new MultiCallRequest( - new GetBaseFeeFunction(), - handler.ContractAddress); - } - - /// - /// Internal state data call. - /// - /// - /// Returns the block hash for a given block. - /// - public MultiCallRequest GetBlockHash(BigInteger blockNumber) - { - return new MultiCallRequest( - new GetBlockHashFunction() { BlockNumber = blockNumber }, - handler.ContractAddress); - - // function getBlockHash(uint256 blockNumber) external view returns (bytes32 blockHash); - } - - /// - /// Internal state data call. - /// - /// - /// Returns the block number. - /// - public MultiCallRequest GetBlockNumber() - { - return new MultiCallRequest( - new GetBlockNumberFunction(), - handler.ContractAddress); - - // function getBlockNumber() external view returns (uint256 blockNumber); - } - - /// - /// Internal state data call. - /// - /// - /// Returns the chain ID. - /// - public MultiCallRequest GetChainId() - { - return new MultiCallRequest( - new GetChainIdFunction(), - handler.ContractAddress); - - // function getChainId() external view returns (uint256 chainid); - } - - /// - /// Internal state data call. - /// - /// - /// Returns the current coinbase. - /// - public MultiCallRequest GetCurrentBlockCoinbase() + public async Task> MultiCallAsync(Call3Value[] multiCalls, int pageSize = DefaultCallsPerRequest) { - return new MultiCallRequest( - new GetCurrentBlockCoinbaseFunction(), - handler.ContractAddress); - - // function getCurrentBlockCoinbase() external view returns (address coinbase); - } - - /// - /// Internal state data call. - /// - /// - /// Returns the current block difficulty. - /// - public MultiCallRequest GetCurrentBlockDifficulty() - { - return new MultiCallRequest( - new GetCurrentBlockDifficultyFunction(), - handler.ContractAddress); - - // function getCurrentBlockDifficulty() external view returns (uint256 difficulty); - } - - /// - /// Internal state data call. - /// - /// - /// Returns the current gas limit. - /// - public MultiCallRequest GetCurrentBlockGasLimit() - { - return new MultiCallRequest( - new GetCurrentBlockGasLimitFunction(), - handler.ContractAddress); - - // function getCurrentBlockGasLimit() external view returns (uint256 gaslimit); - } - - /// - /// Internal state data call. - /// - /// - /// Gets the current block timestamp. - /// - public MultiCallRequest GetCurrentBlockTimestamp() - { - return new MultiCallRequest( - new GetCurrentBlockTimestampFunction(), - handler.ContractAddress); - - // function getCurrentBlockTimestamp() external view returns (uint256 timestamp); - } - - /// - /// Internal state data call. - /// - /// - /// Returns the Eth balance for a given address. - /// - public MultiCallRequest GetEthBalance(string address) - { - return new MultiCallRequest( - new GetEthBalanceFunction() { Addr = address }, - handler.ContractAddress); - - // function getEthBalance(address addr) external view returns (uint256 balance); - } - - /// - /// Internal state data call. - /// - /// - /// Returns the last block hash. - /// - public MultiCallRequest GetLastBlockHash() - { - return new MultiCallRequest( - new GetLastBlockHashFunction(), - handler.ContractAddress); - - // function getLastBlockHash() external view returns (bytes32 blockHash); + if (multiCalls.Any(x => x.Value > 0)) + { + var results = new List(); + foreach (var page in multiCalls.Batch(pageSize)) + { + var contractCalls = new List(); + foreach (var multiCall in page) + { + contractCalls.Add(new Call3Value { CallData = multiCall.CallData, Target = multiCall.Target, AllowFailure = multiCall.AllowFailure, Value = multiCall.Value }); + } + + if (contractCalls.Count > 0) + { + var callParams = new object[] + { + contractCalls, + }; + var callResults = await multiCallContract.Call(MultiCallCommonMethods.Aggregate3Value, callParams); + + results.Add(callResults); + } + } + + return results; + } + else + { + var results = new List(); + foreach (var page in multiCalls.Batch(pageSize)) + { + var contractCalls = new List(); + foreach (var multiCall in page) + { + contractCalls.Add(new Call3 { CallData = multiCall.CallData, Target = multiCall.Target, AllowFailure = multiCall.AllowFailure }); + } + + var aggregateFunction = new Aggregate3Function(); + aggregateFunction.Calls = contractCalls; + var callParams = new object[] + { + contractCalls, + }; + var callResults = await multiCallContract.Call(MultiCallCommonMethods.Aggregate3, callParams); + results.Add(callResults); + } + + return results; + } } public ValueTask WillStartAsync() diff --git a/src/ChainSafe.Gaming/MultiCall/MultiCallCommonMethods.cs b/src/ChainSafe.Gaming/MultiCall/MultiCallCommonMethods.cs new file mode 100644 index 000000000..9c0d732d1 --- /dev/null +++ b/src/ChainSafe.Gaming/MultiCall/MultiCallCommonMethods.cs @@ -0,0 +1,22 @@ +namespace ChainSafe.Gaming.MultiCall +{ + public static class MultiCallCommonMethods + { + public const string Aggregate = "aggregate"; + public const string Aggregate3 = "aggregate3"; + public const string Aggregate3Value = "aggregate3Value"; + public const string BlockAndAggregate = "blockAndAggregate"; + public const string GetBasefee = "getBasefee"; + public const string GetBlockHash = "getBlockHash"; + public const string GetBlockNumber = "getBlockNumber"; + public const string GetChainId = "getChainId"; + public const string GetCurrentBlockCoinbase = "getCurrentBlockCoinbase"; + public const string GetCurrentBlockDifficulty = "getCurrentBlockDifficulty"; + public const string GetCurrentBlockGasLimit = "getCurrentBlockGasLimit"; + public const string GetCurrentBlockTimestamp = "getCurrentBlockTimestamp"; + public const string GetEthBalance = "getEthBalance"; + public const string GetLastBlockHash = "getLastBlockHash"; + public const string TryAggregate = "tryAggregate"; + public const string TryBlockAndAggregate = "tryBlockAndAggregate"; + } +} \ No newline at end of file diff --git a/src/ChainSafe.Gaming/MultiCall/MultiCallExtensions.cs b/src/ChainSafe.Gaming/MultiCall/MultiCallExtensions.cs index 0bbb0fdea..09986833c 100644 --- a/src/ChainSafe.Gaming/MultiCall/MultiCallExtensions.cs +++ b/src/ChainSafe.Gaming/MultiCall/MultiCallExtensions.cs @@ -1,4 +1,5 @@ -using ChainSafe.Gaming.Evm.Signers; +using ChainSafe.Gaming.Evm.Contracts; +using ChainSafe.Gaming.Evm.Signers; using ChainSafe.Gaming.Web3.Build; using ChainSafe.Gaming.Web3.Core; using ChainSafe.Gaming.Web3.Core.Evm; @@ -49,6 +50,7 @@ public static IWeb3ServiceCollection UseMultiCall(this IWeb3ServiceCollection co public static IWeb3ServiceCollection ConfigureMultiCall(this IWeb3ServiceCollection collection, MultiCallConfig configuration) { collection.Replace(ServiceDescriptor.Singleton(typeof(MultiCallConfig), configuration)); + return collection; } } diff --git a/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/ERCSamples.cs b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/ERCSamples.cs index b3c684809..dc027d61c 100644 --- a/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/ERCSamples.cs +++ b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/ERCSamples.cs @@ -19,20 +19,20 @@ public MultiCallErcSamples(Web3 web3) _web3 = web3; } - public async Task ErcSamples() - { - var erc20Contract = _web3.ContractBuilder.Build(ABI.ERC_20, erc20ContractAddress); - var erc20BalanceOfCalldata = erc20Contract.Calldata(CommonMethod.BalanceOf, new object[] - { - erc20Account - }); - - //Calldata to MultiCallREquest - return await _web3.MultiCall().MultiCallV3(new IMultiCallRequest[] - { - erc20BalanceOfCalldata - }); - } + // public async Task ErcSamples() + // { + // var erc20Contract = _web3.ContractBuilder.Build(ABI.ERC_20, erc20ContractAddress); + // var erc20BalanceOfCalldata = erc20Contract.Calldata(CommonMethod.BalanceOf, new object[] + // { + // erc20Account + // }); + // + // //Calldata to MultiCallREquest + // // return await _web3.MultiCall().MultiCallV3(new IMultiCallRequest[] + // // { + // // erc20BalanceOfCalldata + // // }); + // } static class CommonMethod { diff --git a/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/MultiCallChainState.cs b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/MultiCallChainState.cs index 04506910b..daa8b8f88 100644 --- a/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/MultiCallChainState.cs +++ b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/MultiCallChainState.cs @@ -1,5 +1,4 @@ using System.Threading.Tasks; -using UnityEngine; namespace Samples.Behaviours.MultiCall { @@ -15,12 +14,7 @@ protected override void Awake() protected override async Task ExecuteSample() { - Debug.Log("Starting"); - var result = await _logic.BlockStateExample(); - Debug.Log(result.Length.ToString()); - Debug.Log($"Success: {result[0].Success}"); - Debug.Log($"Value: {result[0].Value.ToString()}"); - SampleOutputUtil.PrintResult(result[0].Value.ToString(), nameof(MultiCallSample), nameof(MultiCallSample.BlockStateExample)); + await _logic.BlockStateExample(); } } } \ No newline at end of file From dcfdbf761ab0d7a5251c2c1aeaf82a953748eb32 Mon Sep 17 00:00:00 2001 From: Ryan Noble Date: Wed, 4 Oct 2023 16:52:47 +0200 Subject: [PATCH 11/29] No idea how to get logic in to unity --- .../Scripts/Samples/MultiCallSample.cs | 55 +++++++++++++----- .../Scripts/Samples/MultiCallSample.cs.meta | 14 +---- src/ChainSafe.Gaming/MultiCall/IMultiCall.cs | 2 +- src/ChainSafe.Gaming/MultiCall/MultiCall.cs | 2 - .../RPC/Contracts/Contract.cs | 20 +++++-- .../Scenes/SampleMain/MultiCall/ERCSamples.cs | 51 ---------------- .../SampleMain/MultiCall/ERCSamples.cs.meta | 3 - ...lChainState.cs => MultiCallErc20Sample.cs} | 10 ++-- ...e.cs.meta => MultiCallErc20Sample.cs.meta} | 2 +- src/UnitySampleProject/MultiCallErcSamples.cs | 58 +++++++++++++++++++ 10 files changed, 124 insertions(+), 93 deletions(-) delete mode 100644 src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/ERCSamples.cs delete mode 100644 src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/ERCSamples.cs.meta rename src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/{MultiCallChainState.cs => MultiCallErc20Sample.cs} (56%) rename src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/{MultiCallChainState.cs.meta => MultiCallErc20Sample.cs.meta} (83%) create mode 100644 src/UnitySampleProject/MultiCallErcSamples.cs diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/MultiCallSample.cs b/Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/MultiCallSample.cs index 6e7e1ca23..db3d870dc 100644 --- a/Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/MultiCallSample.cs +++ b/Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/MultiCallSample.cs @@ -1,12 +1,16 @@ -using System.Numerics; -using System.Threading.Tasks; -using ChainSafe.Gaming.Web3; +using System.Threading.Tasks; using ChainSafe.Gaming.MultiCall; -using ChainSafe.Gaming.MultiCall.Dto; +using ChainSafe.Gaming.UnityPackage; +using ChainSafe.Gaming.Web3; +using Nethereum.Contracts.QueryHandlers.MultiCall; +using Nethereum.Hex.HexConvertors.Extensions; using UnityEngine; public class MultiCallSample { + private const string Erc20ContractAddress = "0x3E0C0447e47d49195fbE329265E330643eB42e6f"; + private const string Erc20Account = "0xd25b827D92b0fd656A1c829933e9b0b836d5C3e2"; + private readonly Web3 _web3; public MultiCallSample(Web3 web3) @@ -14,20 +18,41 @@ public MultiCallSample(Web3 web3) _web3 = web3; } - public async Task BlockStateExample() + public async Task ErcSamples() { - var currentDifficulty = _web3.MultiCall().GetCurrentBlockDifficulty(); - var currentBlockGasLimit = _web3.MultiCall().GetCurrentBlockGasLimit(); - var blockNumber = _web3.MultiCall().GetBlockNumber(); - await _web3.MultiCall().MultiCallV3(new IMultiCallRequest[] + var erc20Contract = _web3.ContractBuilder.Build(ABI.ERC_20, Erc20ContractAddress); + var erc20BalanceOfCalldata = erc20Contract.Calldata(CommonMethod.BalanceOf, new object[] { - currentDifficulty, - currentBlockGasLimit, - blockNumber + Erc20Account }); - currentDifficulty.Decode(currentDifficulty.RawOutput); + + var calls = new[] + { + new Call3Value() + { + Target = Erc20ContractAddress, + AllowFailure = true, + CallData = erc20BalanceOfCalldata.HexToByteArray(), + }, + }; - Debug.Log(blockNumber.Output.BlockNumber); + //Calldata to MultiCallRequest + var temp = await _web3.MultiCall().MultiCallAsync(calls); + Debug.Log(temp); + } + private static class CommonMethod + { + public const string BalanceOf = "balanceOf"; + public const string Name = "name"; + public const string Symbol = "symbol"; + public const string Decimals = "decimals"; + public const string TotalSupply = "totalSupply"; + public const string OwnerOf = "ownerOf"; + public const string TokenUri = "tokenURI"; + public const string Uri = "uri"; + public const string BalanceOfBatch = "balanceOfBatch"; + public const string Transfer = "transfer"; + public const string SafeTransferFrom = "safeTransferFrom"; } -} +} \ No newline at end of file diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/MultiCallSample.cs.meta b/Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/MultiCallSample.cs.meta index 54d1e4f5c..18ee7a19e 100644 --- a/Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/MultiCallSample.cs.meta +++ b/Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/MultiCallSample.cs.meta @@ -1,11 +1,3 @@ -fileFormatVersion: 2 -guid: 0980f04b3f990584faeca802436cfe6a -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: +fileFormatVersion: 2 +guid: 1724aa460bb84aa3aececd9d7cc49c78 +timeCreated: 1696430378 \ No newline at end of file diff --git a/src/ChainSafe.Gaming/MultiCall/IMultiCall.cs b/src/ChainSafe.Gaming/MultiCall/IMultiCall.cs index 2040c6c72..83848d5d2 100644 --- a/src/ChainSafe.Gaming/MultiCall/IMultiCall.cs +++ b/src/ChainSafe.Gaming/MultiCall/IMultiCall.cs @@ -7,6 +7,6 @@ namespace ChainSafe.Gaming.MultiCall { public interface IMultiCall : ILifecycleParticipant { - public Task> MultiCallAsync(Call3Value[] multiCalls, int pageSize); + public Task> MultiCallAsync(Call3Value[] multiCalls, int pageSize = 3000); } } \ No newline at end of file diff --git a/src/ChainSafe.Gaming/MultiCall/MultiCall.cs b/src/ChainSafe.Gaming/MultiCall/MultiCall.cs index 4b596971c..f4197be94 100644 --- a/src/ChainSafe.Gaming/MultiCall/MultiCall.cs +++ b/src/ChainSafe.Gaming/MultiCall/MultiCall.cs @@ -1,9 +1,7 @@ using System.Collections.Generic; using System.Linq; -using System.Numerics; using System.Threading.Tasks; using ChainSafe.Gaming.Evm.Contracts; -using ChainSafe.Gaming.MultiCall.Dto; using ChainSafe.Gaming.Web3; using Nethereum.Contracts.QueryHandlers.MultiCall; using Nethereum.Util; diff --git a/src/ChainSafe.Gaming/RPC/Contracts/Contract.cs b/src/ChainSafe.Gaming/RPC/Contracts/Contract.cs index 80e22eb71..b8253d2db 100644 --- a/src/ChainSafe.Gaming/RPC/Contracts/Contract.cs +++ b/src/ChainSafe.Gaming/RPC/Contracts/Contract.cs @@ -71,11 +71,23 @@ public async Task Call(string method, object[] parameters = null, Tran var result = await provider.Call(txReq); - var output = function.DecodeOutput(result); - var array = new object[output.Count]; - for (var i = 0; i < output.Count; i++) + return Decode(method, result); + } + + /// + /// Decodes a result. + /// + /// The method. + /// The raw output data from an executed function call. + /// The decoded outputs of a provided method. + public object[] Decode(string method, string output) + { + var function = contractBuilder.GetFunctionBuilder(method); + var decodedOutput = function.DecodeOutput(output); + var array = new object[decodedOutput.Count]; + for (var i = 0; i < decodedOutput.Count; i++) { - array[i] = output[i].Result; + array[i] = decodedOutput[i].Result; } return array; diff --git a/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/ERCSamples.cs b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/ERCSamples.cs deleted file mode 100644 index dc027d61c..000000000 --- a/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/ERCSamples.cs +++ /dev/null @@ -1,51 +0,0 @@ -using System.Numerics; -using System.Threading.Tasks; -using ChainSafe.Gaming.Web3; -using ChainSafe.Gaming.MultiCall; -using ChainSafe.Gaming.MultiCall.Dto; -using ChainSafe.Gaming.UnityPackage; -using Scripts.EVM.Token; -using UnityEngine; - -public class MultiCallErcSamples -{ - public string erc20ContractAddress = "0x3E0C0447e47d49195fbE329265E330643eB42e6f"; - public string erc20Account = "0xd25b827D92b0fd656A1c829933e9b0b836d5C3e2"; - - private readonly Web3 _web3; - - public MultiCallErcSamples(Web3 web3) - { - _web3 = web3; - } - - // public async Task ErcSamples() - // { - // var erc20Contract = _web3.ContractBuilder.Build(ABI.ERC_20, erc20ContractAddress); - // var erc20BalanceOfCalldata = erc20Contract.Calldata(CommonMethod.BalanceOf, new object[] - // { - // erc20Account - // }); - // - // //Calldata to MultiCallREquest - // // return await _web3.MultiCall().MultiCallV3(new IMultiCallRequest[] - // // { - // // erc20BalanceOfCalldata - // // }); - // } - - static class CommonMethod - { - public const string BalanceOf = "balanceOf"; - public const string Name = "name"; - public const string Symbol = "symbol"; - public const string Decimals = "decimals"; - public const string TotalSupply = "totalSupply"; - public const string OwnerOf = "ownerOf"; - public const string TokenUri = "tokenURI"; - public const string Uri = "uri"; - public const string BalanceOfBatch = "balanceOfBatch"; - public const string Transfer = "transfer"; - public const string SafeTransferFrom = "safeTransferFrom"; - } -} \ No newline at end of file diff --git a/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/ERCSamples.cs.meta b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/ERCSamples.cs.meta deleted file mode 100644 index e53ab0f2d..000000000 --- a/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/ERCSamples.cs.meta +++ /dev/null @@ -1,3 +0,0 @@ -fileFormatVersion: 2 -guid: 26eb38234124428cb16dbb3f238d9587 -timeCreated: 1695216881 \ No newline at end of file diff --git a/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/MultiCallChainState.cs b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/MultiCallErc20Sample.cs similarity index 56% rename from src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/MultiCallChainState.cs rename to src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/MultiCallErc20Sample.cs index daa8b8f88..3f0fc5120 100644 --- a/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/MultiCallChainState.cs +++ b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/MultiCallErc20Sample.cs @@ -2,19 +2,19 @@ namespace Samples.Behaviours.MultiCall { - public class MultiCallChainState : SampleBehaviour + + public class MultiCallErc20Behavior : SampleBehaviour { - private MultiCallSample _logic; + private MultiCallSample logic; protected override void Awake() { base.Awake(); - _logic = new MultiCallSample(Web3); + logic = new MultiCallSample(Web3); } - protected override async Task ExecuteSample() { - await _logic.BlockStateExample(); + await logic.ErcSamples(); } } } \ No newline at end of file diff --git a/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/MultiCallChainState.cs.meta b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/MultiCallErc20Sample.cs.meta similarity index 83% rename from src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/MultiCallChainState.cs.meta rename to src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/MultiCallErc20Sample.cs.meta index 763d6d8ce..54d1e4f5c 100644 --- a/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/MultiCallChainState.cs.meta +++ b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/MultiCallErc20Sample.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 2aa2d37e4ea4c384fb3de4f08b3dfb7b +guid: 0980f04b3f990584faeca802436cfe6a MonoImporter: externalObjects: {} serializedVersion: 2 diff --git a/src/UnitySampleProject/MultiCallErcSamples.cs b/src/UnitySampleProject/MultiCallErcSamples.cs new file mode 100644 index 000000000..d0993148b --- /dev/null +++ b/src/UnitySampleProject/MultiCallErcSamples.cs @@ -0,0 +1,58 @@ +using System.Threading.Tasks; +using ChainSafe.Gaming.MultiCall; +using ChainSafe.Gaming.UnityPackage; +using ChainSafe.Gaming.Web3; +using Nethereum.Contracts.QueryHandlers.MultiCall; +using Nethereum.Hex.HexConvertors.Extensions; +using UnityEngine; + +public class MultiCallErcSamples +{ + private const string Erc20ContractAddress = "0x3E0C0447e47d49195fbE329265E330643eB42e6f"; + private const string Erc20Account = "0xd25b827D92b0fd656A1c829933e9b0b836d5C3e2"; + + private readonly Web3 _web3; + + public MultiCallErcSamples(Web3 web3) + { + _web3 = web3; + } + + public async Task ErcSamples() + { + var erc20Contract = _web3.ContractBuilder.Build(ABI.ERC_20, Erc20ContractAddress); + var erc20BalanceOfCalldata = erc20Contract.Calldata(CommonMethod.BalanceOf, new object[] + { + Erc20Account + }); + + var calls = new[] + { + new Call3Value() + { + Target = Erc20ContractAddress, + AllowFailure = true, + CallData = erc20BalanceOfCalldata.HexToByteArray(), + }, + }; + + //Calldata to MultiCallRequest + var temp = await _web3.MultiCall().MultiCallAsync(calls); + Debug.Log(temp); + } + + private static class CommonMethod + { + public const string BalanceOf = "balanceOf"; + public const string Name = "name"; + public const string Symbol = "symbol"; + public const string Decimals = "decimals"; + public const string TotalSupply = "totalSupply"; + public const string OwnerOf = "ownerOf"; + public const string TokenUri = "tokenURI"; + public const string Uri = "uri"; + public const string BalanceOfBatch = "balanceOfBatch"; + public const string Transfer = "transfer"; + public const string SafeTransferFrom = "safeTransferFrom"; + } +} \ No newline at end of file From 30bb556721045a893dda40c08b8b7ed5e904dd70 Mon Sep 17 00:00:00 2001 From: Ryan Noble Date: Wed, 4 Oct 2023 17:12:33 +0200 Subject: [PATCH 12/29] Saved unity files --- .../Web3.Unity Samples/Scenes/SampleMain.unity | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scenes/SampleMain.unity b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scenes/SampleMain.unity index e6057f8a8..cacd8cb96 100644 --- a/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scenes/SampleMain.unity +++ b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scenes/SampleMain.unity @@ -1508,8 +1508,8 @@ MonoBehaviour: m_TargetGraphic: {fileID: 37375166} m_HandleRect: {fileID: 37375165} m_Direction: 0 - m_Value: 0 - m_Size: 0.33819562 + m_Value: -0.000000045957552 + m_Size: 0.33761752 m_NumberOfSteps: 0 m_OnValueChanged: m_PersistentCalls: @@ -6495,7 +6495,7 @@ PrefabInstance: - target: {fileID: 266788301277215411, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target value: - objectReference: {fileID: 11500000, guid: 2aa2d37e4ea4c384fb3de4f08b3dfb7b, type: 3} + objectReference: {fileID: 11500000, guid: 0980f04b3f990584faeca802436cfe6a, type: 3} - target: {fileID: 266788301277215411, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_CallState value: 2 @@ -6794,7 +6794,7 @@ MonoBehaviour: m_GameObject: {fileID: 1536881597} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 2aa2d37e4ea4c384fb3de4f08b3dfb7b, type: 3} + m_Script: {fileID: 11500000, guid: 26eb38234124428cb16dbb3f238d9587, type: 3} m_Name: m_EditorClassIdentifier: --- !u!114 &1536881601 From 547da9abbbe0fca8ada8c8f7dfb82903c80bf830 Mon Sep 17 00:00:00 2001 From: Ryan Noble Date: Thu, 5 Oct 2023 18:08:29 +0200 Subject: [PATCH 13/29] Finally referenced in the game --- .../Runtime/Scripts/Samples/MultiCallSample.cs | 8 ++++---- .../Web3.Unity Samples/Scenes/SampleMain.unity | 2 +- ...{MultiCallErc20Sample.cs => MultiCallErc20Behavior.cs} | 3 +-- ...Erc20Sample.cs.meta => MultiCallErc20Behavior.cs.meta} | 0 4 files changed, 6 insertions(+), 7 deletions(-) rename src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/{MultiCallErc20Sample.cs => MultiCallErc20Behavior.cs} (89%) rename src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/{MultiCallErc20Sample.cs.meta => MultiCallErc20Behavior.cs.meta} (100%) diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/MultiCallSample.cs b/Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/MultiCallSample.cs index db3d870dc..e48050170 100644 --- a/Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/MultiCallSample.cs +++ b/Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/MultiCallSample.cs @@ -11,16 +11,16 @@ public class MultiCallSample private const string Erc20ContractAddress = "0x3E0C0447e47d49195fbE329265E330643eB42e6f"; private const string Erc20Account = "0xd25b827D92b0fd656A1c829933e9b0b836d5C3e2"; - private readonly Web3 _web3; + private readonly Web3 web3; public MultiCallSample(Web3 web3) { - _web3 = web3; + this.web3 = web3; } public async Task ErcSamples() { - var erc20Contract = _web3.ContractBuilder.Build(ABI.ERC_20, Erc20ContractAddress); + var erc20Contract = web3.ContractBuilder.Build(ABI.ERC_20, Erc20ContractAddress); var erc20BalanceOfCalldata = erc20Contract.Calldata(CommonMethod.BalanceOf, new object[] { Erc20Account @@ -37,7 +37,7 @@ public async Task ErcSamples() }; //Calldata to MultiCallRequest - var temp = await _web3.MultiCall().MultiCallAsync(calls); + var temp = await web3.MultiCall().MultiCallAsync(calls); Debug.Log(temp); } diff --git a/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scenes/SampleMain.unity b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scenes/SampleMain.unity index cacd8cb96..94a1a2b62 100644 --- a/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scenes/SampleMain.unity +++ b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scenes/SampleMain.unity @@ -6486,7 +6486,7 @@ PrefabInstance: m_Modifications: - target: {fileID: 266788301277215411, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.size - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 266788301277215411, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Mode diff --git a/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/MultiCallErc20Sample.cs b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/MultiCallErc20Behavior.cs similarity index 89% rename from src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/MultiCallErc20Sample.cs rename to src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/MultiCallErc20Behavior.cs index 3f0fc5120..247cdf132 100644 --- a/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/MultiCallErc20Sample.cs +++ b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/MultiCallErc20Behavior.cs @@ -1,8 +1,7 @@ using System.Threading.Tasks; -namespace Samples.Behaviours.MultiCall +namespace Samples.Behaviours { - public class MultiCallErc20Behavior : SampleBehaviour { private MultiCallSample logic; diff --git a/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/MultiCallErc20Sample.cs.meta b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/MultiCallErc20Behavior.cs.meta similarity index 100% rename from src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/MultiCallErc20Sample.cs.meta rename to src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/SampleMain/MultiCall/MultiCallErc20Behavior.cs.meta From 878661c46a348705f33c3df9f651f1ef84fed038 Mon Sep 17 00:00:00 2001 From: Ryan Noble Date: Fri, 6 Oct 2023 12:50:44 +0200 Subject: [PATCH 14/29] Attempting to init packages --- .../Scenes/SampleMain.unity | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scenes/SampleMain.unity b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scenes/SampleMain.unity index 94a1a2b62..705088710 100644 --- a/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scenes/SampleMain.unity +++ b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scenes/SampleMain.unity @@ -6785,18 +6785,6 @@ GameObject: m_CorrespondingSourceObject: {fileID: 5855924980481563309, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} m_PrefabInstance: {fileID: 1536881595} m_PrefabAsset: {fileID: 0} ---- !u!114 &1536881600 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1536881597} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 26eb38234124428cb16dbb3f238d9587, type: 3} - m_Name: - m_EditorClassIdentifier: --- !u!114 &1536881601 MonoBehaviour: m_ObjectHideFlags: 0 @@ -6873,6 +6861,18 @@ MonoBehaviour: m_FlexibleWidth: -1 m_FlexibleHeight: -1 m_LayoutPriority: 1 +--- !u!114 &1536881604 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1536881597} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0980f04b3f990584faeca802436cfe6a, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!114 &1540322698 stripped MonoBehaviour: m_CorrespondingSourceObject: {fileID: 531827906274991465, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} @@ -7534,7 +7534,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8775736491206355084, guid: 50ad8ea555027414b8ddfc03fc7d41ab, type: 3} propertyPath: m_Name - value: Button - 2771SpoonsorCall + value: Button - 2771SponsorCall objectReference: {fileID: 0} - target: {fileID: 8781309615174179339, guid: 50ad8ea555027414b8ddfc03fc7d41ab, type: 3} propertyPath: m_text From 664fb75023b3f8be189cab74eb75f9b63d016c89 Mon Sep 17 00:00:00 2001 From: Ryan Noble Date: Mon, 9 Oct 2023 12:33:32 +0200 Subject: [PATCH 15/29] Pushing for support --- src/ChainSafe.Gaming/MultiCall/MultiCall.cs | 13 +++------ .../MultiCall/MultiCallExtensions.cs | 3 +-- .../Web3/Core/Build/Web3Builder.cs | 27 +++++++++++++++++-- 3 files changed, 30 insertions(+), 13 deletions(-) diff --git a/src/ChainSafe.Gaming/MultiCall/MultiCall.cs b/src/ChainSafe.Gaming/MultiCall/MultiCall.cs index f4197be94..70864e8e7 100644 --- a/src/ChainSafe.Gaming/MultiCall/MultiCall.cs +++ b/src/ChainSafe.Gaming/MultiCall/MultiCall.cs @@ -16,21 +16,19 @@ public class MultiCall : IMultiCall "[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes[]\",\"name\":\"returnData\",\"type\":\"bytes[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Call3[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"allowFailure\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Call3Value[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"aggregate3Value\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"blockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBasefee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"basefee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"name\":\"getBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"chainid\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockCoinbase\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"coinbase\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockDifficulty\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"difficulty\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockGasLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gaslimit\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentBlockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"getEthBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastBlockHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryAggregate\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"requireSuccess\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Call[]\",\"name\":\"calls\",\"type\":\"tuple[]\"}],\"name\":\"tryBlockAndAggregate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blockNumber\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"internalType\":\"struct Multicall3.Result[]\",\"name\":\"returnData\",\"type\":\"tuple[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"}]"; private const string DefaultDeploymentAddress = "0xcA11bde05977b3631167028862bE2a173976CA11"; - private readonly Web3.Web3 web3; private readonly Contract multiCallContract; - public MultiCall(Web3.Web3 web3, IChainConfig chainConfig, MultiCallConfig config) + public MultiCall(ContractBuilder builder, IChainConfig chainConfig, MultiCallConfig config) { - this.web3 = web3; if (chainConfig.ChainId != null && MultiCallDefaults.DeployedNetworks.Contains(chainConfig.ChainId)) { - multiCallContract = web3.ContractBuilder.Build(ContractAbi, DefaultDeploymentAddress); + multiCallContract = builder.Build(ContractAbi, DefaultDeploymentAddress); } else { if (chainConfig.ChainId != null && config.CustomNetworks.TryGetValue(chainConfig.ChainId, out var address)) { - multiCallContract = web3.ContractBuilder.Build(ContractAbi, address); + multiCallContract = builder.Build(ContractAbi, address); } } } @@ -92,9 +90,6 @@ public ValueTask WillStartAsync() return default; } - public ValueTask WillStopAsync() - { - return default; - } + public ValueTask WillStopAsync() => new(Task.CompletedTask); } } \ No newline at end of file diff --git a/src/ChainSafe.Gaming/MultiCall/MultiCallExtensions.cs b/src/ChainSafe.Gaming/MultiCall/MultiCallExtensions.cs index 09986833c..9f9726e82 100644 --- a/src/ChainSafe.Gaming/MultiCall/MultiCallExtensions.cs +++ b/src/ChainSafe.Gaming/MultiCall/MultiCallExtensions.cs @@ -31,8 +31,7 @@ public static IWeb3ServiceCollection UseMultiCall(this IWeb3ServiceCollection co /// The same service collection that was passed in. This enables fluent style. public static IWeb3ServiceCollection UseMultiCall(this IWeb3ServiceCollection collection) { - collection.AssertServiceNotBound(); - collection.AssertServiceNotBound(); + collection.AssertServiceNotBound(); // config collection.TryAddSingleton(DefaultConfig); diff --git a/src/ChainSafe.Gaming/Web3/Core/Build/Web3Builder.cs b/src/ChainSafe.Gaming/Web3/Core/Build/Web3Builder.cs index 783a1e030..c4edb1dcc 100644 --- a/src/ChainSafe.Gaming/Web3/Core/Build/Web3Builder.cs +++ b/src/ChainSafe.Gaming/Web3/Core/Build/Web3Builder.cs @@ -2,6 +2,7 @@ using System.Threading.Tasks; using ChainSafe.Gaming.Evm; using ChainSafe.Gaming.Evm.Contracts; +using ChainSafe.Gaming.MultiCall; using ChainSafe.Gaming.Web3.Environment; using ChainSafe.Gaming.Web3.Evm.EventPoller; using Microsoft.Extensions.DependencyInjection; @@ -26,9 +27,31 @@ public Web3Builder() .AddSingleton(); } + public Web3Builder(bool withMultiCall) + { + serviceCollection = new Web3ServiceCollection(); + if (withMultiCall) + { + // Bind default services + serviceCollection + .UseEventPoller() + .AddSingleton() + .AddSingleton() + .AddSingleton(); + } + else + { + // Bind default services + serviceCollection + .UseEventPoller() + .AddSingleton() + .AddSingleton(); + } + } + // TODO: inline parameterless constructor into this one (therefore remove that overload) - public Web3Builder(IProjectConfig projectConfig, IChainConfig chainConfig) - : this() + public Web3Builder(IProjectConfig projectConfig, IChainConfig chainConfig, bool withMultiCall = false) + : this(withMultiCall) { if (projectConfig == null) { From 87d6c10bd4cc7a5c3542976d17072e8c3d289a38 Mon Sep 17 00:00:00 2001 From: robGG1997 Date: Mon, 9 Oct 2023 13:47:43 +0300 Subject: [PATCH 16/29] ambiguous method compile error and MultiCall already bound runtime error fixed --- src/ChainSafe.Gaming/Web3/Core/Build/Web3Builder.cs | 4 ++-- .../2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/Login.cs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/ChainSafe.Gaming/Web3/Core/Build/Web3Builder.cs b/src/ChainSafe.Gaming/Web3/Core/Build/Web3Builder.cs index c4edb1dcc..fce88a19e 100644 --- a/src/ChainSafe.Gaming/Web3/Core/Build/Web3Builder.cs +++ b/src/ChainSafe.Gaming/Web3/Core/Build/Web3Builder.cs @@ -67,8 +67,8 @@ public Web3Builder(IProjectConfig projectConfig, IChainConfig chainConfig, bool serviceCollection.AddSingleton(chainConfig); } - public Web3Builder(ICompleteProjectConfig projectConfig) - : this(projectConfig, projectConfig) + public Web3Builder(ICompleteProjectConfig projectConfig, bool withMultiCall) + : this(projectConfig, projectConfig, withMultiCall) { } diff --git a/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/Login.cs b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/Login.cs index edfaf8db2..2b671b687 100644 --- a/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/Login.cs +++ b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/Login.cs @@ -106,7 +106,7 @@ private async void TryAutoLogin() private async void LoginWithExistingAccount() { - var web3Builder = new Web3Builder(ProjectConfigUtilities.Load()) + var web3Builder = new Web3Builder(ProjectConfigUtilities.Load(), true) .Configure(ConfigureCommonServices) .Configure(services => { @@ -215,7 +215,7 @@ private void ConfigureCommonServices(IWeb3ServiceCollection services) services .UseUnityEnvironment() .UseGelato(GelatoApiKey) - .UseMultiCall() + //.UseMultiCall() .UseRpcProvider(); /* As many contracts as needed may be registered here. From a2a6df325cd56df639df118e80528892a4690484 Mon Sep 17 00:00:00 2001 From: Ryan Noble Date: Mon, 9 Oct 2023 14:12:04 +0200 Subject: [PATCH 17/29] ProjectConfig returning bool --- .../Web3/Core/Build/Web3Builder.cs | 15 ++------------- .../Web3.Unity Samples/Scripts/Scenes/Login.cs | 2 +- 2 files changed, 3 insertions(+), 14 deletions(-) diff --git a/src/ChainSafe.Gaming/Web3/Core/Build/Web3Builder.cs b/src/ChainSafe.Gaming/Web3/Core/Build/Web3Builder.cs index fce88a19e..71a490a31 100644 --- a/src/ChainSafe.Gaming/Web3/Core/Build/Web3Builder.cs +++ b/src/ChainSafe.Gaming/Web3/Core/Build/Web3Builder.cs @@ -16,18 +16,7 @@ public class Web3Builder { private readonly Web3ServiceCollection serviceCollection; - public Web3Builder() - { - serviceCollection = new Web3ServiceCollection(); - - // Bind default services - serviceCollection - .UseEventPoller() - .AddSingleton() - .AddSingleton(); - } - - public Web3Builder(bool withMultiCall) + public Web3Builder(bool withMultiCall = false) { serviceCollection = new Web3ServiceCollection(); if (withMultiCall) @@ -67,7 +56,7 @@ public Web3Builder(IProjectConfig projectConfig, IChainConfig chainConfig, bool serviceCollection.AddSingleton(chainConfig); } - public Web3Builder(ICompleteProjectConfig projectConfig, bool withMultiCall) + public Web3Builder(ICompleteProjectConfig projectConfig, bool withMultiCall = false) : this(projectConfig, projectConfig, withMultiCall) { } diff --git a/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/Login.cs b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/Login.cs index 2b671b687..5d832c56c 100644 --- a/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/Login.cs +++ b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/Login.cs @@ -90,7 +90,7 @@ private async void TryAutoLogin() if (string.IsNullOrEmpty(savedAccount)) return; - var web3Builder = new Web3Builder(ProjectConfigUtilities.Load()) + var web3Builder = new Web3Builder((ProjectConfigScriptableObject)ProjectConfigUtilities.Load()) .Configure(ConfigureCommonServices) .Configure(services => { From b2f5cb591ea6ccec5a96e046ae7e97b7cdc6dfb5 Mon Sep 17 00:00:00 2001 From: Ryan Noble Date: Mon, 9 Oct 2023 14:25:50 +0200 Subject: [PATCH 18/29] Works without multicall again --- src/ChainSafe.Gaming/Web3/Core/Build/Web3Builder.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ChainSafe.Gaming/Web3/Core/Build/Web3Builder.cs b/src/ChainSafe.Gaming/Web3/Core/Build/Web3Builder.cs index 71a490a31..590a3e6e1 100644 --- a/src/ChainSafe.Gaming/Web3/Core/Build/Web3Builder.cs +++ b/src/ChainSafe.Gaming/Web3/Core/Build/Web3Builder.cs @@ -16,7 +16,7 @@ public class Web3Builder { private readonly Web3ServiceCollection serviceCollection; - public Web3Builder(bool withMultiCall = false) + private Web3Builder(bool withMultiCall = false) { serviceCollection = new Web3ServiceCollection(); if (withMultiCall) From 50d87177d405332cbf832051c6b3549760cf2121 Mon Sep 17 00:00:00 2001 From: Ryan Noble Date: Tue, 10 Oct 2023 16:51:52 +0200 Subject: [PATCH 19/29] Calls are successful, return decode, not so much --- .../Scripts/Samples/MultiCallSample.cs | 12 ++++++- .../MultiCall/IMultiCallConfig.cs | 9 +++++ src/ChainSafe.Gaming/MultiCall/MultiCall.cs | 2 +- .../MultiCall/MultiCallExtensions.cs | 7 +--- .../Web3/Core/Build/Web3Builder.cs | 33 +++++++------------ .../Scripts/Scenes/Login.cs | 6 ++-- 6 files changed, 36 insertions(+), 33 deletions(-) create mode 100644 src/ChainSafe.Gaming/MultiCall/IMultiCallConfig.cs diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/MultiCallSample.cs b/Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/MultiCallSample.cs index e48050170..f17819d4d 100644 --- a/Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/MultiCallSample.cs +++ b/Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/MultiCallSample.cs @@ -1,7 +1,9 @@ using System.Threading.Tasks; +using System.Collections.Generic; using ChainSafe.Gaming.MultiCall; using ChainSafe.Gaming.UnityPackage; using ChainSafe.Gaming.Web3; +using Nethereum.ABI.FunctionEncoding; using Nethereum.Contracts.QueryHandlers.MultiCall; using Nethereum.Hex.HexConvertors.Extensions; using UnityEngine; @@ -37,8 +39,16 @@ public async Task ErcSamples() }; //Calldata to MultiCallRequest + // List -> [0] => List> var temp = await web3.MultiCall().MultiCallAsync(calls); - Debug.Log(temp); + + // var decoded = erc20Contract.Decode(temp); + List> callResult1 = temp[0][0]; + // Debug.Log($"Result success: {callResult1[0].Result}"); + // Debug.Log($"Balance success: {callResult1[1].Result}"); + Debug.Log(callResult1); + // Debug.Log(callResult1[0]); + // Debug.Log(callResult1[0][1]); } private static class CommonMethod diff --git a/src/ChainSafe.Gaming/MultiCall/IMultiCallConfig.cs b/src/ChainSafe.Gaming/MultiCall/IMultiCallConfig.cs new file mode 100644 index 000000000..b88ec504f --- /dev/null +++ b/src/ChainSafe.Gaming/MultiCall/IMultiCallConfig.cs @@ -0,0 +1,9 @@ +using System.Collections.Generic; + +namespace ChainSafe.Gaming.MultiCall +{ + public interface IMultiCallConfig + { + public IReadOnlyDictionary CustomNetworks { get; } + } +} \ No newline at end of file diff --git a/src/ChainSafe.Gaming/MultiCall/MultiCall.cs b/src/ChainSafe.Gaming/MultiCall/MultiCall.cs index 70864e8e7..0f571c8ae 100644 --- a/src/ChainSafe.Gaming/MultiCall/MultiCall.cs +++ b/src/ChainSafe.Gaming/MultiCall/MultiCall.cs @@ -18,7 +18,7 @@ public class MultiCall : IMultiCall private const string DefaultDeploymentAddress = "0xcA11bde05977b3631167028862bE2a173976CA11"; private readonly Contract multiCallContract; - public MultiCall(ContractBuilder builder, IChainConfig chainConfig, MultiCallConfig config) + public MultiCall(IContractBuilder builder, IChainConfig chainConfig, MultiCallConfig config) { if (chainConfig.ChainId != null && MultiCallDefaults.DeployedNetworks.Contains(chainConfig.ChainId)) { diff --git a/src/ChainSafe.Gaming/MultiCall/MultiCallExtensions.cs b/src/ChainSafe.Gaming/MultiCall/MultiCallExtensions.cs index 9f9726e82..465b7083a 100644 --- a/src/ChainSafe.Gaming/MultiCall/MultiCallExtensions.cs +++ b/src/ChainSafe.Gaming/MultiCall/MultiCallExtensions.cs @@ -1,8 +1,5 @@ -using ChainSafe.Gaming.Evm.Contracts; -using ChainSafe.Gaming.Evm.Signers; -using ChainSafe.Gaming.Web3.Build; +using ChainSafe.Gaming.Web3.Build; using ChainSafe.Gaming.Web3.Core; -using ChainSafe.Gaming.Web3.Core.Evm; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; @@ -36,9 +33,7 @@ public static IWeb3ServiceCollection UseMultiCall(this IWeb3ServiceCollection co // config collection.TryAddSingleton(DefaultConfig); - // wallet collection.AddSingleton(); - return collection; } diff --git a/src/ChainSafe.Gaming/Web3/Core/Build/Web3Builder.cs b/src/ChainSafe.Gaming/Web3/Core/Build/Web3Builder.cs index 590a3e6e1..b1d6e9edf 100644 --- a/src/ChainSafe.Gaming/Web3/Core/Build/Web3Builder.cs +++ b/src/ChainSafe.Gaming/Web3/Core/Build/Web3Builder.cs @@ -16,31 +16,20 @@ public class Web3Builder { private readonly Web3ServiceCollection serviceCollection; - private Web3Builder(bool withMultiCall = false) + public Web3Builder() { serviceCollection = new Web3ServiceCollection(); - if (withMultiCall) - { - // Bind default services - serviceCollection - .UseEventPoller() - .AddSingleton() - .AddSingleton() - .AddSingleton(); - } - else - { - // Bind default services - serviceCollection - .UseEventPoller() - .AddSingleton() - .AddSingleton(); - } + + // Bind default services + serviceCollection + .UseEventPoller() + .AddSingleton() + .AddSingleton(); } // TODO: inline parameterless constructor into this one (therefore remove that overload) - public Web3Builder(IProjectConfig projectConfig, IChainConfig chainConfig, bool withMultiCall = false) - : this(withMultiCall) + public Web3Builder(IProjectConfig projectConfig, IChainConfig chainConfig) + : this() { if (projectConfig == null) { @@ -56,8 +45,8 @@ public Web3Builder(IProjectConfig projectConfig, IChainConfig chainConfig, bool serviceCollection.AddSingleton(chainConfig); } - public Web3Builder(ICompleteProjectConfig projectConfig, bool withMultiCall = false) - : this(projectConfig, projectConfig, withMultiCall) + public Web3Builder(ICompleteProjectConfig projectConfig) + : this(projectConfig, projectConfig) { } diff --git a/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/Login.cs b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/Login.cs index 5d832c56c..edfaf8db2 100644 --- a/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/Login.cs +++ b/src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0-pre001/Web3.Unity Samples/Scripts/Scenes/Login.cs @@ -90,7 +90,7 @@ private async void TryAutoLogin() if (string.IsNullOrEmpty(savedAccount)) return; - var web3Builder = new Web3Builder((ProjectConfigScriptableObject)ProjectConfigUtilities.Load()) + var web3Builder = new Web3Builder(ProjectConfigUtilities.Load()) .Configure(ConfigureCommonServices) .Configure(services => { @@ -106,7 +106,7 @@ private async void TryAutoLogin() private async void LoginWithExistingAccount() { - var web3Builder = new Web3Builder(ProjectConfigUtilities.Load(), true) + var web3Builder = new Web3Builder(ProjectConfigUtilities.Load()) .Configure(ConfigureCommonServices) .Configure(services => { @@ -215,7 +215,7 @@ private void ConfigureCommonServices(IWeb3ServiceCollection services) services .UseUnityEnvironment() .UseGelato(GelatoApiKey) - //.UseMultiCall() + .UseMultiCall() .UseRpcProvider(); /* As many contracts as needed may be registered here. From 213498cc53a84a0378acea6e6bd2f947228a0a32 Mon Sep 17 00:00:00 2001 From: Ryan Noble Date: Wed, 11 Oct 2023 17:15:52 +0200 Subject: [PATCH 20/29] Results returned as expected --- .../Scripts/Samples/MultiCallSample.cs | 36 +++++++++++++------ src/ChainSafe.Gaming/MultiCall/IMultiCall.cs | 2 +- src/ChainSafe.Gaming/MultiCall/MultiCall.cs | 25 +++++++++++-- 3 files changed, 49 insertions(+), 14 deletions(-) diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/MultiCallSample.cs b/Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/MultiCallSample.cs index f17819d4d..75d99d89e 100644 --- a/Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/MultiCallSample.cs +++ b/Packages/io.chainsafe.web3-unity/Runtime/Scripts/Samples/MultiCallSample.cs @@ -1,5 +1,6 @@ using System.Threading.Tasks; using System.Collections.Generic; +using System.Numerics; using ChainSafe.Gaming.MultiCall; using ChainSafe.Gaming.UnityPackage; using ChainSafe.Gaming.Web3; @@ -27,6 +28,10 @@ public async Task ErcSamples() { Erc20Account }); + + var erc20TotalSupplyCalldata = erc20Contract.Calldata(CommonMethod.TotalSupply, new object[] + { + }); var calls = new[] { @@ -36,19 +41,30 @@ public async Task ErcSamples() AllowFailure = true, CallData = erc20BalanceOfCalldata.HexToByteArray(), }, + new Call3Value() + { + Target = Erc20ContractAddress, + AllowFailure = true, + CallData = erc20TotalSupplyCalldata.HexToByteArray(), + } }; - //Calldata to MultiCallRequest - // List -> [0] => List> - var temp = await web3.MultiCall().MultiCallAsync(calls); + var multicallResultResponse = await web3.MultiCall().MultiCallAsync(calls); + + Debug.Log(multicallResultResponse); + + if (multicallResultResponse[0] != null && multicallResultResponse[0].Success) + { + var decodedBalanceOf = erc20Contract.Decode(CommonMethod.BalanceOf, multicallResultResponse[0].ReturnData.ToHex()); + Debug.Log($"decodedBalanceOf {((BigInteger)decodedBalanceOf[0]).ToString()}"); + } + + if (multicallResultResponse[1] != null && multicallResultResponse[1].Success) + { + var decodedTotalSupply = erc20Contract.Decode(CommonMethod.TotalSupply, multicallResultResponse[1].ReturnData.ToHex()); + Debug.Log($"decodedTotalSupply {((BigInteger)decodedTotalSupply[0]).ToString()}"); + } - // var decoded = erc20Contract.Decode(temp); - List> callResult1 = temp[0][0]; - // Debug.Log($"Result success: {callResult1[0].Result}"); - // Debug.Log($"Balance success: {callResult1[1].Result}"); - Debug.Log(callResult1); - // Debug.Log(callResult1[0]); - // Debug.Log(callResult1[0][1]); } private static class CommonMethod diff --git a/src/ChainSafe.Gaming/MultiCall/IMultiCall.cs b/src/ChainSafe.Gaming/MultiCall/IMultiCall.cs index 83848d5d2..11733be9d 100644 --- a/src/ChainSafe.Gaming/MultiCall/IMultiCall.cs +++ b/src/ChainSafe.Gaming/MultiCall/IMultiCall.cs @@ -7,6 +7,6 @@ namespace ChainSafe.Gaming.MultiCall { public interface IMultiCall : ILifecycleParticipant { - public Task> MultiCallAsync(Call3Value[] multiCalls, int pageSize = 3000); + public Task> MultiCallAsync(Call3Value[] multiCalls, int pageSize = 3000); } } \ No newline at end of file diff --git a/src/ChainSafe.Gaming/MultiCall/MultiCall.cs b/src/ChainSafe.Gaming/MultiCall/MultiCall.cs index 0f571c8ae..d098e999e 100644 --- a/src/ChainSafe.Gaming/MultiCall/MultiCall.cs +++ b/src/ChainSafe.Gaming/MultiCall/MultiCall.cs @@ -3,6 +3,7 @@ using System.Threading.Tasks; using ChainSafe.Gaming.Evm.Contracts; using ChainSafe.Gaming.Web3; +using Nethereum.ABI.FunctionEncoding; using Nethereum.Contracts.QueryHandlers.MultiCall; using Nethereum.Util; @@ -33,7 +34,7 @@ public MultiCall(IContractBuilder builder, IChainConfig chainConfig, MultiCallCo } } - public async Task> MultiCallAsync(Call3Value[] multiCalls, int pageSize = DefaultCallsPerRequest) + public async Task> MultiCallAsync(Call3Value[] multiCalls, int pageSize = DefaultCallsPerRequest) { if (multiCalls.Any(x => x.Value > 0)) { @@ -58,7 +59,7 @@ public async Task> MultiCallAsync(Call3Value[] multiCalls, int pa } } - return results; + return ExtractResults(results); } else { @@ -81,10 +82,28 @@ public async Task> MultiCallAsync(Call3Value[] multiCalls, int pa results.Add(callResults); } - return results; + return ExtractResults(results); } } + /// + /// A small function to extract the Result items into an array. + /// + /// Returned response from calling the multicall function. + /// A neater, formatted array of results. + private List ExtractResults(IReadOnlyList results) + { + var extracted = results[0][0] as List>; + var parsed = new List(); + + if (extracted != null) + { + parsed.AddRange(from callResult in extracted where callResult[0] != null && callResult[1] != null select new Result { Success = callResult[0].Result as bool? ?? false, ReturnData = callResult[1].Result as byte[], }); + } + + return parsed; + } + public ValueTask WillStartAsync() { return default; From 723a6e08b5e5dca0e3d93d89c35684c3dbdf7bb4 Mon Sep 17 00:00:00 2001 From: Ryan Noble Date: Wed, 11 Oct 2023 18:05:13 +0200 Subject: [PATCH 21/29] Fixed merge, scripts still broken --- .../ChainSafe.Gaming.Chainlink.Lootboxes.dll | Bin 30208 -> 30208 bytes .../Libraries/ChainSafe.Gaming.Debugging.dll | Bin 15872 -> 15872 bytes .../Libraries/ChainSafe.Gaming.Gelato.dll | Bin 44544 -> 44544 bytes .../ChainSafe.Gaming.InProcessSigner.dll | Bin 8192 -> 8192 bytes ...fe.Gaming.InProcessTransactionExecutor.dll | Bin 11776 -> 11264 bytes .../ChainSafe.Gaming.Unity.ThirdParty.dll | Bin 23552 -> 23552 bytes .../Libraries/ChainSafe.Gaming.Unity.dll | Bin 14848 -> 14848 bytes .../ChainSafe.Gaming.WebPageWallet.dll | Bin 18944 -> 18944 bytes .../Runtime/Libraries/ChainSafe.Gaming.dll | Bin 180736 -> 215040 bytes .../Libraries/Chainsafe.Gaming.Chainlink.dll | Bin 5120 -> 5120 bytes src/ChainSafe.Gaming/ChainSafe.Gaming.csproj | 6 ------ .../MultiCall/Dto/IMultiCallRequest.cs | 3 ++- 12 files changed, 2 insertions(+), 7 deletions(-) diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Chainlink.Lootboxes.dll b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Chainlink.Lootboxes.dll index d4f607f6b9ccea39eacbb4e0ab0174165a05d410..f58b1d7ad0f3354268e0bd51cb3588ae6735a6b9 100644 GIT binary patch delta 216 zcmZp8!`SeKaY6^noxgEwCiciMZko6(Nca^hx2CjM}Nqi!38>L!Uh zFVhuy|L}9`_RR{B3PQYJB2Kk2F!}~CF)%PJo9vq{&uZ4iz+g7HFk4wOZt*VD#d=l# z(?XZMIbF-7%Lr8CVin_(pIn-onpaXBlbBNylvV}E zZ2Q?zx9F0l{APtn1tDI($x6o<7<~hn7#JAVP4>-}XSM5MV6dB9n5}Gh;BwQkbOQ$8 z4v8$@*!r5Qj6gN6RxtrZ`B|yiC7ChKIhm<>CB-q$8Ht&B#ffRDllNvf7(sQ_o`C8C z+TeC%f|;F?*Q9dSs~0tTf#$=&au8c#qM{hkk!?8*jGOuLez7v`vDz$H@}6;`0XqP! Cj88WJ diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Debugging.dll b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Debugging.dll index f524001cb8b1b14d195a22325bbd3e23c3f8e2ef..b80a2e503391188680e075c0826d50f4aab645a4 100644 GIT binary patch delta 212 zcmZpuX{edd!J^F(barBo45Qq{mEnvhCo?kEGpbB(WUOcU8@!o`>6?}S-<~hqR?JLu znPRgdVaw&|GMhPccd+wX`@h=3z~~#m#K6EXY4TYUdDcb23=E4Ve>73n?4Oyl^ZLo9 zJ{w|dye=)?#>5Cz<6;%#lAm0fo0?Zr9Fv$+5|mnyUp(2>G)EVzItQj2WOAC{sqPd1 v-gs6&OAY%7G#3WAC*L!b2D$9FsW8(-1CGsn7QdL86ihY?+Pr6+Xuu8teH&69 delta 221 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 delta 9366 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 delta 219 zcmZp0XmFU&!6IASdvaor3}e>BmEnw{lNlN784D&i0!h!!j7;GI0$X?fRNV7P(Qo?a zCsSSp$bH|OAvA%B_lEq&`3#J{0Za@G49h07ipsOTGiG3TH(66u*)Um5Y5$SiF@96a zJa;aCo3)1#sK(VQCZH%kD>b_$GsZb5Gc~WIIL0|6F*C0?F)ej+sc3}}x-O6n`a8C< x$bD+N(EseXu&oKu7$^t_u@xpNiUA#ICU${wGoQpSR;C=2&4Mx?7$+LA0RTOOPbvTa diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.InProcessTransactionExecutor.dll b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.InProcessTransactionExecutor.dll index 11fceed9f9ac257cfa50fd55517190af8d666b61..dd1d67d190707d2ed77134c986e88706afe788d3 100644 GIT binary patch delta 253 zcmZpOX^5E6p=93Xzl8w`9xx~=a5EY(Fem{9I3R+*94D>{V_ZI&k+Gf&EUo|)SDM_# zsLiM{c^jiTqt@hmj7p5RH#0JQmKHcGF=57z{Sq!Ku1$&j8D+)4nMJOIg?Dju+(QON z-vB0{)*X{umE>6)92poICa+Xd*1RTh*KtPOMz8gn>(B2__;#NWsK&)A#w9U!_S#P}NrYP}M+_6K_ZEYi52fX!mfzr0eH_=EA^B5L;oQq8Q`t W$v2ekHuI_dVrBYcxLHu;8zTVyFjI^G delta 273 zcmZpOXo#86q13M&w}t@<9xx~=a5EY(FsJ|pI3R*dP7_y!F|MD?$XL(Cp#&6D0AiKN zU5wg{YLmAysx#_LzQ?G<_;@oT(`RXcxsTp5&XD=z+qksso7KbC3!7QwN?3Tedo&+q zVDt@O0%|=lxm8J?wZoBtp=0t&C1pbi!&OVuLQ5R`Od})FJ>=o`Sqz`(FzvTC3_D@OqX1IJ{~KxNH_FSk>y{}p*` ziiE1qMxYuOs~DI3Iv&S*ZFk+Gg}!sJFEnZ22jN!Udov3=b(rGq!T z_emOW{=G)^@n#jbFI>F(UuN!PVDt@OVqjocFicLfk9xhXP~lS#-Yh+O04P* zlLDV|czRvA&InZFY84Yul%JKFU6L8&oRgWFS5h3~oROHBSDcuZI(cefl@V0e1(+_N z4VL?(8#|7i+PLG_r1!@0K=Was62w-Rs3-<>WJJ(9#?5>ozgU@i3^of!d|;etzy<)( C$WWUA diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Unity.dll b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Unity.dll index d6cc9430044baca91c330a7f1b9c75bc4d82a917..7e76541b2716962100901b201ee33f36627997c2 100644 GIT binary patch delta 2205 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 delta 221 zcmZpe!q_l{aY6@6`G#53C-%rNCQV!!&d58Nk+GgJV{#*qbll9yq--vbtI+iD#Y%6F znK3V4tbDb|eY1(>0e0SkUvUc<7<~hn7#J89O=fhIXMGmW!0>Fcs-v>u?`;C+7LShl zPcex7+fx6wh!Lp9)hZ^SC_gJTyCgHlIVUqUucSD}IU_MMuQ)L+b#kF&i4j!S{3}ph zARGQSvv#jioH_ZczlN}B0?-&J@J|3T6ecQ)0UfF5bc1m-pUW?1rWAwCf*$V~CmOH= E0APzzUjP6A diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.dll b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.dll index b62fd9ab8215d87d42aefe6aee82bc07bcd51d56..48c176fee02770e10453803d82e685767c9e3312 100644 GIT binary patch literal 215040 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�F9KvMGY*DjJ>M@r4l4bAW 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 literal 180736 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 - @@ -43,9 +42,4 @@ Unity - - - - - diff --git a/src/ChainSafe.Gaming/MultiCall/Dto/IMultiCallRequest.cs b/src/ChainSafe.Gaming/MultiCall/Dto/IMultiCallRequest.cs index fa2f7c177..6d5e98b2c 100644 --- a/src/ChainSafe.Gaming/MultiCall/Dto/IMultiCallRequest.cs +++ b/src/ChainSafe.Gaming/MultiCall/Dto/IMultiCallRequest.cs @@ -1,4 +1,5 @@ -using Nethereum.Contracts.QueryHandlers.MultiCall; +using Nethereum.Contracts; +using Nethereum.Contracts.QueryHandlers.MultiCall; namespace ChainSafe.Gaming.MultiCall.Dto { From 0222d9131b3593b1bff1f57b052cecfb946d2fdd Mon Sep 17 00:00:00 2001 From: RyRy79261 Date: Wed, 11 Oct 2023 16:05:41 +0000 Subject: [PATCH 22/29] Auto-duplicate Package Samples --- .../Web3.Unity/Scenes/SampleMain.unity | 409 +++++++++++++++++- .../MultiCall/MultiCallChainState.cs | 20 - .../MultiCall/MultiCallErc20Behavior.cs | 19 + ...cs.meta => MultiCallErc20Behavior.cs.meta} | 2 +- 4 files changed, 423 insertions(+), 27 deletions(-) delete mode 100644 Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Scenes/SampleMain/MultiCall/MultiCallChainState.cs create mode 100644 Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Scenes/SampleMain/MultiCall/MultiCallErc20Behavior.cs rename Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Scenes/SampleMain/MultiCall/{MultiCallChainState.cs.meta => MultiCallErc20Behavior.cs.meta} (83%) diff --git a/Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scenes/SampleMain.unity b/Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scenes/SampleMain.unity index 00470c7c2..705088710 100644 --- a/Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scenes/SampleMain.unity +++ b/Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scenes/SampleMain.unity @@ -1508,8 +1508,8 @@ MonoBehaviour: m_TargetGraphic: {fileID: 37375166} m_HandleRect: {fileID: 37375165} m_Direction: 0 - m_Value: 0 - m_Size: 0.47125128 + m_Value: -0.000000045957552 + m_Size: 0.33761752 m_NumberOfSteps: 0 m_OnValueChanged: m_PersistentCalls: @@ -5662,8 +5662,8 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: toAccount: 0xdD4c825203f97984e7867F11eeCc813A036089D1 - contractAddress: 0xe793e17Ec93bEc809C5Ac6dd0d8b383446E65B78 - tokenId: 101 + contractAddress: 0xae283E79a5361CF1077bf2638a1A953c872AD973 + tokenId: 0 amount: 1 --- !u!114 &1402512899 MonoBehaviour: @@ -5858,7 +5858,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} propertyPath: m_RootOrder - value: 6 + value: 7 objectReference: {fileID: 0} - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} propertyPath: m_AnchorMax.x @@ -6477,6 +6477,402 @@ MonoBehaviour: m_FlexibleWidth: -1 m_FlexibleHeight: -1 m_LayoutPriority: 1 +--- !u!1001 &1536881595 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 1547239394} + m_Modifications: + - target: {fileID: 266788301277215411, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.size + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 266788301277215411, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Mode + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 266788301277215411, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target + value: + objectReference: {fileID: 11500000, guid: 0980f04b3f990584faeca802436cfe6a, type: 3} + - target: {fileID: 266788301277215411, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_CallState + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 531827906274991465, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: Target + value: + objectReference: {fileID: 11500000, guid: d61a1e7c98424af8b0ed86a6516bbcc0, type: 3} + - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_Pivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_Pivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_RootOrder + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchorMax.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchorMin.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_SizeDelta.y + value: 574 + objectReference: {fileID: 0} + - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2290226172473003671, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_text + value: Chain state example + objectReference: {fileID: 0} + - target: {fileID: 2295802096196926480, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_Name + value: Button - Chain State Example + objectReference: {fileID: 0} + - target: {fileID: 2597086131278812474, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2597086131278812474, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2597086131278812474, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2597086131278812474, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2597086131278812474, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2597086131278812474, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2966402704676899854, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.size + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2966402704676899854, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Mode + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2966402704676899854, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Target + value: + objectReference: {fileID: 1536881598} + - target: {fileID: 2966402704676899854, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_CallState + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 2966402704676899854, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_MethodName + value: Select + objectReference: {fileID: 0} + - target: {fileID: 2966402704676899854, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_TargetAssemblyTypeName + value: SelectAssetInEditor, Samples + objectReference: {fileID: 0} + - target: {fileID: 2966402704676899854, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_OnClick.m_PersistentCalls.m_Calls.Array.data[0].m_Arguments.m_ObjectArgumentAssemblyTypeName + value: UnityEngine.Object, UnityEngine + objectReference: {fileID: 0} + - target: {fileID: 3719940706716398937, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3987575268489723521, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 3987575268489723521, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3987575268489723521, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3987575268489723521, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3987575268489723521, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 3987575268489723521, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5508192653135270670, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 5508192653135270670, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5508192653135270670, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5508192653135270670, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5508192653135270670, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5508192653135270670, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 5575651454046172251, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_text + value: Multicall allows for multiple calls to be compiled into a single call, + to increase the efficiency of RPC read requests + objectReference: {fileID: 0} + - target: {fileID: 5855924980481563309, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_Name + value: Category - Multicall + objectReference: {fileID: 0} + - target: {fileID: 5880704299188231306, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_text + value: Multicall + objectReference: {fileID: 0} + - target: {fileID: 8309710637256427594, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8309710637256427594, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8309710637256427594, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8309710637256427594, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8309710637256427594, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8632572386326910067, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchorMax.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8632572386326910067, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchorMin.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8632572386326910067, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_SizeDelta.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8632572386326910067, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_SizeDelta.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8632572386326910067, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchoredPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8632572386326910067, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + propertyPath: m_AnchoredPosition.y + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} +--- !u!224 &1536881596 stripped +RectTransform: + m_CorrespondingSourceObject: {fileID: 1300152325659962740, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + m_PrefabInstance: {fileID: 1536881595} + m_PrefabAsset: {fileID: 0} +--- !u!1 &1536881597 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 2295802096196926480, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + m_PrefabInstance: {fileID: 1536881595} + m_PrefabAsset: {fileID: 0} +--- !u!114 &1536881598 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 531827906274991465, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + m_PrefabInstance: {fileID: 1536881595} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1d92ec8189c0cc84a95f0cfc8bc95bd2, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1536881599 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 5855924980481563309, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} + m_PrefabInstance: {fileID: 1536881595} + m_PrefabAsset: {fileID: 0} +--- !u!114 &1536881601 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1536881599} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 0} + m_OnClick: + m_PersistentCalls: + m_Calls: [] +--- !u!114 &1536881602 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1536881599} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f404484bf3c7d4246a08e60ab1cd69b7, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!114 &1536881603 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1536881599} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 306cc8c2b49d7114eaa3623786fc2126, type: 3} + m_Name: + m_EditorClassIdentifier: + m_IgnoreLayout: 0 + m_MinWidth: -1 + m_MinHeight: -1 + m_PreferredWidth: 550 + m_PreferredHeight: -1 + m_FlexibleWidth: -1 + m_FlexibleHeight: -1 + m_LayoutPriority: 1 +--- !u!114 &1536881604 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1536881597} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0980f04b3f990584faeca802436cfe6a, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!114 &1540322698 stripped MonoBehaviour: m_CorrespondingSourceObject: {fileID: 531827906274991465, guid: fed17eec8cc2ebf4abd403772e93693d, type: 3} @@ -6524,6 +6920,7 @@ RectTransform: - {fileID: 1203082332} - {fileID: 199502201} - {fileID: 1019211773} + - {fileID: 1536881596} - {fileID: 1432457964} m_Father: {fileID: 213321591} m_RootOrder: 0 @@ -7137,7 +7534,7 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 8775736491206355084, guid: 50ad8ea555027414b8ddfc03fc7d41ab, type: 3} propertyPath: m_Name - value: Button - 2771SpoonsorCall + value: Button - 2771SponsorCall objectReference: {fileID: 0} - target: {fileID: 8781309615174179339, guid: 50ad8ea555027414b8ddfc03fc7d41ab, type: 3} propertyPath: m_text diff --git a/Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Scenes/SampleMain/MultiCall/MultiCallChainState.cs b/Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Scenes/SampleMain/MultiCall/MultiCallChainState.cs deleted file mode 100644 index c9e424a50..000000000 --- a/Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Scenes/SampleMain/MultiCall/MultiCallChainState.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System.Threading.Tasks; - -namespace Samples.Behaviours.MultiCall -{ - public class MultiCallChainState : SampleBehaviour - { - private MultiCallSample _logic; - - protected override void Awake() - { - base.Awake(); - _logic = new MultiCallSample(Web3); - } - - protected override async Task ExecuteSample() - { - var result = await _logic.BlockStateExample(); - } - } -} \ No newline at end of file diff --git a/Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Scenes/SampleMain/MultiCall/MultiCallErc20Behavior.cs b/Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Scenes/SampleMain/MultiCall/MultiCallErc20Behavior.cs new file mode 100644 index 000000000..247cdf132 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Scenes/SampleMain/MultiCall/MultiCallErc20Behavior.cs @@ -0,0 +1,19 @@ +using System.Threading.Tasks; + +namespace Samples.Behaviours +{ + public class MultiCallErc20Behavior : SampleBehaviour + { + private MultiCallSample logic; + + protected override void Awake() + { + base.Awake(); + logic = new MultiCallSample(Web3); + } + protected override async Task ExecuteSample() + { + await logic.ErcSamples(); + } + } +} \ No newline at end of file diff --git a/Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Scenes/SampleMain/MultiCall/MultiCallChainState.cs.meta b/Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Scenes/SampleMain/MultiCall/MultiCallErc20Behavior.cs.meta similarity index 83% rename from Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Scenes/SampleMain/MultiCall/MultiCallChainState.cs.meta rename to Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Scenes/SampleMain/MultiCall/MultiCallErc20Behavior.cs.meta index 763d6d8ce..54d1e4f5c 100644 --- a/Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Scenes/SampleMain/MultiCall/MultiCallChainState.cs.meta +++ b/Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Scenes/SampleMain/MultiCall/MultiCallErc20Behavior.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 2aa2d37e4ea4c384fb3de4f08b3dfb7b +guid: 0980f04b3f990584faeca802436cfe6a MonoImporter: externalObjects: {} serializedVersion: 2 From 277d8806ec13dcd3f4a3de63d1b95494158e5706 Mon Sep 17 00:00:00 2001 From: Peter Kalambet Date: Mon, 16 Oct 2023 21:31:59 +0200 Subject: [PATCH 23/29] retrigger checks From b50d502f6baff6484d4be2a22e3ad55b38cd163b Mon Sep 17 00:00:00 2001 From: Ryan Noble Date: Wed, 25 Oct 2023 12:58:45 +0200 Subject: [PATCH 24/29] Updated comments --- src/ChainSafe.Gaming/MultiCall/IMultiCall.cs | 9 +++++++ .../MultiCall/IMultiCallConfig.cs | 11 ++++++++ src/ChainSafe.Gaming/MultiCall/MultiCall.cs | 27 ++++++++++++++++--- 3 files changed, 44 insertions(+), 3 deletions(-) diff --git a/src/ChainSafe.Gaming/MultiCall/IMultiCall.cs b/src/ChainSafe.Gaming/MultiCall/IMultiCall.cs index 11733be9d..cddce0c9d 100644 --- a/src/ChainSafe.Gaming/MultiCall/IMultiCall.cs +++ b/src/ChainSafe.Gaming/MultiCall/IMultiCall.cs @@ -5,8 +5,17 @@ namespace ChainSafe.Gaming.MultiCall { + /// + /// Represents an interface for making batched Ethereum function calls using the MultiCall service. + /// public interface IMultiCall : ILifecycleParticipant { + /// + /// Executes a batch of Ethereum function calls using the MultiCall service asynchronously. + /// + /// An array of function calls to execute in a batch. + /// The maximum number of calls per batch request (default is 3000). + /// A list of results from executing the batched calls. public Task> MultiCallAsync(Call3Value[] multiCalls, int pageSize = 3000); } } \ No newline at end of file diff --git a/src/ChainSafe.Gaming/MultiCall/IMultiCallConfig.cs b/src/ChainSafe.Gaming/MultiCall/IMultiCallConfig.cs index b88ec504f..761a618d8 100644 --- a/src/ChainSafe.Gaming/MultiCall/IMultiCallConfig.cs +++ b/src/ChainSafe.Gaming/MultiCall/IMultiCallConfig.cs @@ -2,8 +2,19 @@ namespace ChainSafe.Gaming.MultiCall { + /// + /// Represents a configuration interface for the MultiCall service. + /// public interface IMultiCallConfig { + /// + /// Gets a dictionary of custom network addresses for the MultiCall service. + /// This allows specifying custom MultiCall contract addresses for specific Ethereum networks. + /// + /// + /// The keys in the dictionary represent Ethereum network identifiers (e.g., chain IDs), and the values + /// represent the corresponding MultiCall contract addresses for those networks. + /// public IReadOnlyDictionary CustomNetworks { get; } } } \ No newline at end of file diff --git a/src/ChainSafe.Gaming/MultiCall/MultiCall.cs b/src/ChainSafe.Gaming/MultiCall/MultiCall.cs index d098e999e..a9ea6a141 100644 --- a/src/ChainSafe.Gaming/MultiCall/MultiCall.cs +++ b/src/ChainSafe.Gaming/MultiCall/MultiCall.cs @@ -19,6 +19,12 @@ public class MultiCall : IMultiCall private const string DefaultDeploymentAddress = "0xcA11bde05977b3631167028862bE2a173976CA11"; private readonly Contract multiCallContract; + /// + /// Initializes a new instance of the class. + /// + /// An implementation of the contract builder. + /// The blockchain configuration for the associated chain. + /// The configuration settings for MultiCall. public MultiCall(IContractBuilder builder, IChainConfig chainConfig, MultiCallConfig config) { if (chainConfig.ChainId != null && MultiCallDefaults.DeployedNetworks.Contains(chainConfig.ChainId)) @@ -34,6 +40,13 @@ public MultiCall(IContractBuilder builder, IChainConfig chainConfig, MultiCallCo } } + /// + /// Executes a batch of Ethereum function calls using the MultiCall contract asynchronously. + /// This utilizes MultiCall V3's implementation and dynamically checks whether to use value calls or not. + /// + /// An array of function calls to execute in a batch. + /// The maximum number of calls per batch request. + /// A list of results from executing the batched calls. public async Task> MultiCallAsync(Call3Value[] multiCalls, int pageSize = DefaultCallsPerRequest) { if (multiCalls.Any(x => x.Value > 0)) @@ -87,10 +100,10 @@ public async Task> MultiCallAsync(Call3Value[] multiCalls, int page } /// - /// A small function to extract the Result items into an array. + /// Extracts and formats the results of Multicall function calls into a list of objects. /// - /// Returned response from calling the multicall function. - /// A neater, formatted array of results. + /// The response from calling the Multicall function. + /// A list of objects with success and return data information. private List ExtractResults(IReadOnlyList results) { var extracted = results[0][0] as List>; @@ -104,11 +117,19 @@ private List ExtractResults(IReadOnlyList results) return parsed; } + /// + /// Asynchronously initializes the Multicall service. Does nothing in this implementation. + /// + /// A representing the asynchronous operation. public ValueTask WillStartAsync() { return default; } + /// + /// Asynchronously cleans up and stops the Multicall service. Does nothing in this implementation. + /// + /// A representing the asynchronous operation. public ValueTask WillStopAsync() => new(Task.CompletedTask); } } \ No newline at end of file From 5499c9813dd7a6e91cc693d9addc562e1f0550a4 Mon Sep 17 00:00:00 2001 From: Ryan Noble Date: Mon, 30 Oct 2023 16:43:01 +0100 Subject: [PATCH 25/29] rebuilt & removed file again --- .../ChainSafe.Gaming.Lootboxes.Chainlink.dll | Bin 31232 -> 31232 bytes ...inSafe.Gaming.Lootboxes.Chainlink.dll.meta | 33 ------------------ .../Libraries/Chainsafe.Gaming.Chainlink.dll | Bin 5120 -> 5120 bytes .../Chainsafe.Gaming.Chainlink.dll.meta | 33 ------------------ .../Libraries/ADRaffy.ENSNormalize.dll.meta | 33 ------------------ .../Libraries/BouncyCastle.Crypto.dll.meta | 33 ------------------ .../Libraries/ChainSafe.Gaming.Debugging.dll | Bin 15872 -> 15872 bytes .../ChainSafe.Gaming.Debugging.dll.meta | 33 ------------------ .../Libraries/ChainSafe.Gaming.Gelato.dll | Bin 44544 -> 44544 bytes .../ChainSafe.Gaming.Gelato.dll.meta | 33 ------------------ .../ChainSafe.Gaming.InProcessSigner.dll | Bin 8192 -> 8192 bytes .../ChainSafe.Gaming.InProcessSigner.dll.meta | 33 ------------------ ...fe.Gaming.InProcessTransactionExecutor.dll | Bin 11776 -> 11264 bytes ...ming.InProcessTransactionExecutor.dll.meta | 33 ------------------ ...ChainSafe.Gaming.Unity.ThirdParty.dll.meta | 33 ------------------ .../Libraries/ChainSafe.Gaming.Unity.dll | Bin 15360 -> 15360 bytes .../Libraries/ChainSafe.Gaming.Unity.dll.meta | 33 ------------------ .../ChainSafe.Gaming.WalletConnect.dll | Bin 35328 -> 35328 bytes .../ChainSafe.Gaming.WalletConnect.dll.meta | 33 ------------------ .../Runtime/Libraries/ChainSafe.Gaming.dll | Bin 180736 -> 215040 bytes .../Libraries/ChainSafe.Gaming.dll.meta | 33 ------------------ .../Microsoft.Bcl.AsyncInterfaces.dll.meta | 33 ------------------ ....DependencyInjection.Abstractions.dll.meta | 33 ------------------ ...ft.Extensions.DependencyInjection.dll.meta | 33 ------------------ ...t.Extensions.Logging.Abstractions.dll.meta | 33 ------------------ ...rosoft.IdentityModel.Abstractions.dll.meta | 33 ------------------ .../Microsoft.IdentityModel.Logging.dll.meta | 33 ------------------ .../Microsoft.IdentityModel.Tokens.dll.meta | 33 ------------------ .../Runtime/Libraries/NBitcoin.dll.meta | 33 ------------------ .../Runtime/Libraries/Nethereum.ABI.dll.meta | 33 ------------------ .../Libraries/Nethereum.Accounts.dll.meta | 33 ------------------ .../Nethereum.BlockchainProcessing.dll.meta | 33 ------------------ .../Libraries/Nethereum.Contracts.dll.meta | 33 ------------------ .../Runtime/Libraries/Nethereum.Hex.dll.meta | 33 ------------------ .../Nethereum.JsonRpc.Client.dll.meta | 33 ------------------ .../Nethereum.JsonRpc.IpcClient.dll.meta | 33 ------------------ .../Nethereum.JsonRpc.RpcClient.dll.meta | 33 ------------------ .../Libraries/Nethereum.KeyStore.dll.meta | 33 ------------------ .../Nethereum.Merkle.Patricia.dll.meta | 33 ------------------ .../Libraries/Nethereum.Merkle.dll.meta | 33 ------------------ .../Libraries/Nethereum.Model.dll.meta | 33 ------------------ .../Runtime/Libraries/Nethereum.RLP.dll.meta | 33 ------------------ .../Runtime/Libraries/Nethereum.RPC.dll.meta | 33 ------------------ .../Nethereum.Signer.EIP712.dll.meta | 33 ------------------ .../Libraries/Nethereum.Signer.dll.meta | 33 ------------------ .../Runtime/Libraries/Nethereum.Util.dll.meta | 33 ------------------ .../Runtime/Libraries/Nethereum.Web3.dll.meta | 33 ------------------ .../Runtime/Libraries/System.Buffers.dll.meta | 33 ------------------ .../Runtime/Libraries/System.Memory.dll.meta | 33 ------------------ .../System.Numerics.Vectors.dll.meta | 33 ------------------ .../Libraries/System.Reactive.dll.meta | 33 ------------------ ...m.Runtime.CompilerServices.Unsafe.dll.meta | 33 ------------------ ...me.InteropServices.WindowsRuntime.dll.meta | 33 ------------------ .../System.Security.Cryptography.Cng.dll.meta | 33 ------------------ .../System.Text.Encodings.Web.dll.meta | 33 ------------------ .../Libraries/System.Text.Json.dll.meta | 33 ------------------ .../System.Threading.Channels.dll.meta | 33 ------------------ ...System.Threading.Tasks.Extensions.dll.meta | 33 ------------------ .../WalletConnectSharp.Auth.dll.meta | 33 ------------------ .../WalletConnectSharp.Common.dll.meta | 33 ------------------ .../WalletConnectSharp.Core.dll.meta | 33 ------------------ .../WalletConnectSharp.Crypto.dll.meta | 33 ------------------ .../WalletConnectSharp.Events.dll.meta | 33 ------------------ ...letConnectSharp.Network.Websocket.dll.meta | 33 ------------------ .../WalletConnectSharp.Network.dll.meta | 33 ------------------ .../WalletConnectSharp.Sign.dll.meta | 33 ------------------ .../WalletConnectSharp.Storage.dll.meta | 33 ------------------ .../WalletConnectSharp.Web3Wallet.dll.meta | 33 ------------------ .../Libraries/Websocket.Client.dll.meta | 33 ------------------ .../MultiCall/MultiCallCommonMethods.cs | 2 +- .../Scripts/Prefabs/MultiCall/MultiCall.cs | 23 ------------ .../Prefabs/MultiCall/MultiCall.cs.meta | 11 ------ 72 files changed, 1 insertion(+), 2015 deletions(-) delete mode 100644 Packages/io.chainsafe.web3-unity.lootboxes/Chainlink/Runtime/Libraries/ChainSafe.Gaming.Lootboxes.Chainlink.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity.lootboxes/Chainlink/Runtime/Libraries/Chainsafe.Gaming.Chainlink.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/ADRaffy.ENSNormalize.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/BouncyCastle.Crypto.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Debugging.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Gelato.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.InProcessSigner.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.InProcessTransactionExecutor.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Unity.ThirdParty.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Unity.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.WalletConnect.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.Bcl.AsyncInterfaces.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.Extensions.DependencyInjection.Abstractions.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.Extensions.DependencyInjection.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.Extensions.Logging.Abstractions.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.IdentityModel.Abstractions.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.IdentityModel.Logging.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.IdentityModel.Tokens.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/NBitcoin.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.ABI.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Accounts.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.BlockchainProcessing.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Contracts.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Hex.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.JsonRpc.Client.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.JsonRpc.IpcClient.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.JsonRpc.RpcClient.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.KeyStore.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Merkle.Patricia.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Merkle.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Model.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.RLP.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.RPC.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Signer.EIP712.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Signer.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Util.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Web3.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Buffers.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Memory.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Numerics.Vectors.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Reactive.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Runtime.CompilerServices.Unsafe.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Runtime.InteropServices.WindowsRuntime.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Security.Cryptography.Cng.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Text.Encodings.Web.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Text.Json.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Threading.Channels.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Threading.Tasks.Extensions.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Auth.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Common.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Core.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Crypto.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Events.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Network.Websocket.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Network.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Sign.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Storage.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Web3Wallet.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Websocket.Client.dll.meta delete mode 100644 src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0/Web3.Unity Samples/Scripts/Prefabs/MultiCall/MultiCall.cs delete mode 100644 src/UnitySampleProject/Assets/Samples/web3.unity SDK/2.5.0/Web3.Unity Samples/Scripts/Prefabs/MultiCall/MultiCall.cs.meta diff --git a/Packages/io.chainsafe.web3-unity.lootboxes/Chainlink/Runtime/Libraries/ChainSafe.Gaming.Lootboxes.Chainlink.dll b/Packages/io.chainsafe.web3-unity.lootboxes/Chainlink/Runtime/Libraries/ChainSafe.Gaming.Lootboxes.Chainlink.dll index 55f1fe72d2f42c777aa9b9c36ceefc6ffb6e5928..4ffb61ea1e5d44cb7b29125589f992cbfde366ab 100644 GIT binary patch delta 211 zcmZqp!r1VIaY6@6PZ;z2i9IrmaT8aDGjdL5WUOaQncN5@Z8tMAv$#R9#jJA`l3a?Bw;MmMp^ox}#!G5z~#e2qy2J8T3kWt0} delta 220 zcmZqp!r1VIaY6@+)4~gfCiciMrcGQK&L}vUk+GgJXL2KubluFzlpigSFu_4;*N%lw zGah=rk-e~f%jSmI93kElQ_r7ZVDt@OVqjocH~DA2JnO4I28LIYWeb!I_eV;K2`qc> z(a;cQQhBUckP)cH)hZ^SC_gJTyCgHlIVUqUucSD}IU_MMuQ)L+b#i7wgAr6$#sR1< zkPZLl-}xS=VR}Aj+j?osexNZ>5Da1~OjHzObe(Kecx5wR(Jxk}4ExQ374I1*8n6QZ D;AB$D diff --git a/Packages/io.chainsafe.web3-unity.lootboxes/Chainlink/Runtime/Libraries/ChainSafe.Gaming.Lootboxes.Chainlink.dll.meta b/Packages/io.chainsafe.web3-unity.lootboxes/Chainlink/Runtime/Libraries/ChainSafe.Gaming.Lootboxes.Chainlink.dll.meta deleted file mode 100644 index f1208d6fc..000000000 --- a/Packages/io.chainsafe.web3-unity.lootboxes/Chainlink/Runtime/Libraries/ChainSafe.Gaming.Lootboxes.Chainlink.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 46917ad13a9e4442a8335d3134a7e57f -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity.lootboxes/Chainlink/Runtime/Libraries/Chainsafe.Gaming.Chainlink.dll b/Packages/io.chainsafe.web3-unity.lootboxes/Chainlink/Runtime/Libraries/Chainsafe.Gaming.Chainlink.dll index 53302affe71853255f66cb71f4be7a18f120b36b..bfe74a72df0dae531c03516a54c48eb190028470 100644 GIT binary patch delta 214 zcmZqBXwaC@!Lq~Z$j6C2GK|wEt_){%oXp5r&p2mtBakfJ%*eEvUErS>qt>rKGrTwJ z&X{1CqhPc72xkc+@A?CAT?~xA0Za@G43j3ia?7(yX)!QJP0r+2)~vZbgSqC)Jm0;` zb6pq`c-Aoj)wo#2xa237=BDPA6vrgylmw*~QZ(3FWiGK_K)SB5j5oXp5r&!{rFk+GiXZ}4U&rf*sT#h-Zsp3Xnx zG3(mxbE+j06E}0{?qKH?m-@StfzdaBiGhJ((&V!y@~n%385kB#{%E4CxxI;xea5q| zZo3NNFWk)#`^E@V<6;%#lAm0fo0?Zr9Fv$+5|mnyUp(2>G)EVz`WQ?#$Yd|CZIv6s vbhLu5w$1qnG#3WAC*L!b2D$9FsW8(-1CGsn7QdL86ihY?+Pr6+Xuu8t(iBlG delta 221 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 u)4s| zIXmwCyAzu;geEZYW`&1OU|{qOU}9ikST>neRG#&nF$2T9$(o|dhRuhM>+FmD={QL^ zLO4FfQIHX+#?>k&peR2pHM=A;#yKZ5HLs*N#yKM~Gp{%?Ep>9KXoV3}*TzdwT|gTI zJRWSilc!?5#Ng)g&$cE&W1t`$#8#N7Ck diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.InProcessSigner.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.InProcessSigner.dll.meta deleted file mode 100644 index 769fe1d30..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.InProcessSigner.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 24da8ffeaf223497dbc9f5a7fc52982c -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.InProcessTransactionExecutor.dll b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.InProcessTransactionExecutor.dll index a7aa84eb17ca804e3325718af7eb44379f074cb0..1f71e8be9294663e47d9a1acace00a3b601cfcce 100644 GIT binary patch delta 253 zcmZpOX^5E6p(MnZ-opR|4;YjbxET!?7?gkl91y`@juTgfF)p9X$XL$>7FPg@D^2cV z)Miwfyp2(vQET!&MkU7En;DrtOAF))I=b4yF8-O7g4?jtmS9lUFJ!YhLG!wSJ!;=d(bC5WvsQBjQX_T(GN TcANRsez7wBG2ASu@{JJy2y9XA delta 273 zcmZpOXo#86p_IU63f2@CH-My}-y zjJ^R(K&=NRw<^iAb~rLHbWC2Uq-+>fWO8qV_aE;$Y0nL+8JeRQfofc>Vgictvr@B5 zGGm-`GE?(PiesEJ5;OCP6Vp;Be^r`f1l5&&2dWEbgZj7Ljry0bP0?WD*Uh~SG#>^& rg4hZZ6~!1IPrjgRw^?56A>(8RM)A#jD!*8nSd2CcYQ1NiXuu8tUPw_V diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.InProcessTransactionExecutor.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.InProcessTransactionExecutor.dll.meta deleted file mode 100644 index 0ad5f622c..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.InProcessTransactionExecutor.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: ecf0a5224b2b14df99fa68b12f3f2583 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Unity.ThirdParty.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Unity.ThirdParty.dll.meta deleted file mode 100644 index 102ed535a..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Unity.ThirdParty.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: f6a6ded74b1674b479f817b1a0450693 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Unity.dll b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Unity.dll index 79076319280198250c5d81add41c853167bab435..e09decb1c4bd819e5d2a6998a049fbc3b6b85b46 100644 GIT binary patch delta 210 zcmZpuXsDRb!Lszhq_Y!yWEkTnt_)}7oXp5r&zLf~5lGr@W@Iu~6j1b3DJ>Aa;XP?{ zQQ?|4yDghNln?Op>b%}Rg@MsGfQf;Dp=+|Ju{`UeKn8|KlP!&vHGkM{PnuV*?>N2xoQX8hVOAzr7$+KVZ00lj#mtmov{}&VJ&?~10Bzt&#{d8T delta 219 zcmZpuXsDRb!D887ad={n3}f2FmEnwnlNlN78FMB#0!i1+j7;W=0%F4QbAoawyUtUS z)y&~CEZ*#)e1M<##dgc>42-@3ObiSRlO~HA%d@@;WMFtT+0t0qu=H4%ujT%2F3XfH zGG;gzeqjWvakYvGD9X=D%`VA|an8w1%_}L6an4B0%qvbzOP$B3 z`u<4<$Bgv;ONr0fEQ5f?KtV8wtuRqh4CqKBlPipy`OJPXGi4ZU7PNZLIMIL|0ID@e As{jB1 diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Unity.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Unity.dll.meta deleted file mode 100644 index 653c42920..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Unity.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 2e4277c44a518463782c6e0132e3f64d -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.WalletConnect.dll b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.WalletConnect.dll index 04c2e177ce31dc9fb235c490794770492c137d3e..d11605ac36c6513ae8136e13c82d4da986454e33 100644 GIT binary patch delta 11103 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 diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.WalletConnect.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.WalletConnect.dll.meta deleted file mode 100644 index 0a289e192..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.WalletConnect.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 07a34ae44d7f9b345ae837a66b700c59 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.dll b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.dll index 20ae35d1fec32150ea6453b0291a0ce16a967abd..da6cebccf6f5015a8c03cd0b13412999b8f4dbe6 100644 GIT binary patch literal 215040 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

EQ`CYSx5q{*sJ$ks;DfLF#4y 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 E53?>xd;kCd literal 180736 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 Date: Mon, 30 Oct 2023 15:43:26 +0000 Subject: [PATCH 26/29] Auto-duplicate Package Samples --- .../Scripts/Prefabs/MultiCall/MultiCall.cs | 23 ------------------- .../Prefabs/MultiCall/MultiCall.cs.meta | 11 --------- 2 files changed, 34 deletions(-) delete mode 100644 Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Prefabs/MultiCall/MultiCall.cs delete mode 100644 Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Prefabs/MultiCall/MultiCall.cs.meta diff --git a/Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Prefabs/MultiCall/MultiCall.cs b/Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Prefabs/MultiCall/MultiCall.cs deleted file mode 100644 index 1396336dd..000000000 --- a/Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Prefabs/MultiCall/MultiCall.cs +++ /dev/null @@ -1,23 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class MultiCall : MonoBehaviour -{ - // Start is called before the first frame update - void Start() - { - - } - - // Update is called once per frame - void Update() - { - - } - - public async void FetchBatchBalances() - { - - } -} \ No newline at end of file diff --git a/Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Prefabs/MultiCall/MultiCall.cs.meta b/Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Prefabs/MultiCall/MultiCall.cs.meta deleted file mode 100644 index 12e2f3dc4..000000000 --- a/Packages/io.chainsafe.web3-unity/Samples~/Web3.Unity/Scripts/Prefabs/MultiCall/MultiCall.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 8322ac8635601d8459ce3c4803676c8c -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: From 942e5fb436ff3cfacf0c382331d34680dc5d91fc Mon Sep 17 00:00:00 2001 From: Ryan Noble Date: Tue, 31 Oct 2023 14:10:49 +0100 Subject: [PATCH 27/29] Rebuilt --- .../ChainSafe.Gaming.Lootboxes.Chainlink.dll | Bin 31232 -> 31232 bytes ...inSafe.Gaming.Lootboxes.Chainlink.dll.meta | 33 ++++++++++++++++++ .../Libraries/Chainsafe.Gaming.Chainlink.dll | Bin 5120 -> 5120 bytes .../Chainsafe.Gaming.Chainlink.dll.meta | 33 ++++++++++++++++++ .../Runtime/Web3AuthWalletExtensions.cs | 2 +- .../Libraries/ADRaffy.ENSNormalize.dll.meta | 33 ++++++++++++++++++ .../Libraries/BouncyCastle.Crypto.dll.meta | 33 ++++++++++++++++++ .../Libraries/ChainSafe.Gaming.Debugging.dll | Bin 15872 -> 15872 bytes .../ChainSafe.Gaming.Debugging.dll.meta | 33 ++++++++++++++++++ .../Libraries/ChainSafe.Gaming.Gelato.dll | Bin 44544 -> 44544 bytes .../ChainSafe.Gaming.Gelato.dll.meta | 33 ++++++++++++++++++ .../ChainSafe.Gaming.InProcessSigner.dll | Bin 8192 -> 8192 bytes .../ChainSafe.Gaming.InProcessSigner.dll.meta | 33 ++++++++++++++++++ ...fe.Gaming.InProcessTransactionExecutor.dll | Bin 11264 -> 11264 bytes ...ming.InProcessTransactionExecutor.dll.meta | 33 ++++++++++++++++++ ...ChainSafe.Gaming.Unity.ThirdParty.dll.meta | 33 ++++++++++++++++++ .../Libraries/ChainSafe.Gaming.Unity.dll | Bin 15360 -> 15360 bytes .../Libraries/ChainSafe.Gaming.Unity.dll.meta | 33 ++++++++++++++++++ .../ChainSafe.Gaming.WalletConnect.dll | Bin 35328 -> 35328 bytes .../ChainSafe.Gaming.WalletConnect.dll.meta | 33 ++++++++++++++++++ .../Runtime/Libraries/ChainSafe.Gaming.dll | Bin 215040 -> 215040 bytes .../Libraries/ChainSafe.Gaming.dll.meta | 33 ++++++++++++++++++ .../Microsoft.Bcl.AsyncInterfaces.dll.meta | 33 ++++++++++++++++++ ....DependencyInjection.Abstractions.dll.meta | 33 ++++++++++++++++++ ...ft.Extensions.DependencyInjection.dll.meta | 33 ++++++++++++++++++ ...t.Extensions.Logging.Abstractions.dll.meta | 33 ++++++++++++++++++ ...rosoft.IdentityModel.Abstractions.dll.meta | 33 ++++++++++++++++++ .../Microsoft.IdentityModel.Logging.dll.meta | 33 ++++++++++++++++++ .../Microsoft.IdentityModel.Tokens.dll.meta | 33 ++++++++++++++++++ .../Runtime/Libraries/NBitcoin.dll.meta | 33 ++++++++++++++++++ .../Runtime/Libraries/Nethereum.ABI.dll.meta | 33 ++++++++++++++++++ .../Libraries/Nethereum.Accounts.dll.meta | 33 ++++++++++++++++++ .../Nethereum.BlockchainProcessing.dll.meta | 33 ++++++++++++++++++ .../Libraries/Nethereum.Contracts.dll.meta | 33 ++++++++++++++++++ .../Runtime/Libraries/Nethereum.Hex.dll.meta | 33 ++++++++++++++++++ .../Nethereum.JsonRpc.Client.dll.meta | 33 ++++++++++++++++++ .../Nethereum.JsonRpc.IpcClient.dll.meta | 33 ++++++++++++++++++ .../Nethereum.JsonRpc.RpcClient.dll.meta | 33 ++++++++++++++++++ .../Libraries/Nethereum.KeyStore.dll.meta | 33 ++++++++++++++++++ .../Nethereum.Merkle.Patricia.dll.meta | 33 ++++++++++++++++++ .../Libraries/Nethereum.Merkle.dll.meta | 33 ++++++++++++++++++ .../Libraries/Nethereum.Model.dll.meta | 33 ++++++++++++++++++ .../Runtime/Libraries/Nethereum.RLP.dll.meta | 33 ++++++++++++++++++ .../Runtime/Libraries/Nethereum.RPC.dll.meta | 33 ++++++++++++++++++ .../Nethereum.Signer.EIP712.dll.meta | 33 ++++++++++++++++++ .../Libraries/Nethereum.Signer.dll.meta | 33 ++++++++++++++++++ .../Runtime/Libraries/Nethereum.Util.dll.meta | 33 ++++++++++++++++++ .../Runtime/Libraries/Nethereum.Web3.dll.meta | 33 ++++++++++++++++++ .../Runtime/Libraries/System.Buffers.dll.meta | 33 ++++++++++++++++++ .../Runtime/Libraries/System.Memory.dll.meta | 33 ++++++++++++++++++ .../System.Numerics.Vectors.dll.meta | 33 ++++++++++++++++++ .../Libraries/System.Reactive.dll.meta | 33 ++++++++++++++++++ ...m.Runtime.CompilerServices.Unsafe.dll.meta | 33 ++++++++++++++++++ ...me.InteropServices.WindowsRuntime.dll.meta | 33 ++++++++++++++++++ .../System.Security.Cryptography.Cng.dll.meta | 33 ++++++++++++++++++ .../System.Text.Encodings.Web.dll.meta | 33 ++++++++++++++++++ .../Libraries/System.Text.Json.dll.meta | 33 ++++++++++++++++++ .../System.Threading.Channels.dll.meta | 33 ++++++++++++++++++ ...System.Threading.Tasks.Extensions.dll.meta | 33 ++++++++++++++++++ .../WalletConnectSharp.Auth.dll.meta | 33 ++++++++++++++++++ .../WalletConnectSharp.Common.dll.meta | 33 ++++++++++++++++++ .../WalletConnectSharp.Core.dll.meta | 33 ++++++++++++++++++ .../WalletConnectSharp.Crypto.dll.meta | 33 ++++++++++++++++++ .../WalletConnectSharp.Events.dll.meta | 33 ++++++++++++++++++ ...letConnectSharp.Network.Websocket.dll.meta | 33 ++++++++++++++++++ .../WalletConnectSharp.Network.dll.meta | 33 ++++++++++++++++++ .../WalletConnectSharp.Sign.dll.meta | 33 ++++++++++++++++++ .../WalletConnectSharp.Storage.dll.meta | 33 ++++++++++++++++++ .../WalletConnectSharp.Web3Wallet.dll.meta | 33 ++++++++++++++++++ .../Libraries/Websocket.Client.dll.meta | 33 ++++++++++++++++++ 70 files changed, 1981 insertions(+), 1 deletion(-) create mode 100644 Packages/io.chainsafe.web3-unity.lootboxes/Chainlink/Runtime/Libraries/ChainSafe.Gaming.Lootboxes.Chainlink.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity.lootboxes/Chainlink/Runtime/Libraries/Chainsafe.Gaming.Chainlink.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/ADRaffy.ENSNormalize.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/BouncyCastle.Crypto.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Debugging.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Gelato.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.InProcessSigner.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.InProcessTransactionExecutor.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Unity.ThirdParty.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Unity.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.WalletConnect.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.Bcl.AsyncInterfaces.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.Extensions.DependencyInjection.Abstractions.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.Extensions.DependencyInjection.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.Extensions.Logging.Abstractions.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.IdentityModel.Abstractions.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.IdentityModel.Logging.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.IdentityModel.Tokens.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/NBitcoin.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.ABI.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Accounts.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.BlockchainProcessing.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Contracts.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Hex.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.JsonRpc.Client.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.JsonRpc.IpcClient.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.JsonRpc.RpcClient.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.KeyStore.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Merkle.Patricia.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Merkle.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Model.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.RLP.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.RPC.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Signer.EIP712.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Signer.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Util.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Web3.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Buffers.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Memory.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Numerics.Vectors.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Reactive.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Runtime.CompilerServices.Unsafe.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Runtime.InteropServices.WindowsRuntime.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Security.Cryptography.Cng.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Text.Encodings.Web.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Text.Json.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Threading.Channels.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Threading.Tasks.Extensions.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Auth.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Common.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Core.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Crypto.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Events.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Network.Websocket.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Network.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Sign.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Storage.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Web3Wallet.dll.meta create mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Websocket.Client.dll.meta diff --git a/Packages/io.chainsafe.web3-unity.lootboxes/Chainlink/Runtime/Libraries/ChainSafe.Gaming.Lootboxes.Chainlink.dll b/Packages/io.chainsafe.web3-unity.lootboxes/Chainlink/Runtime/Libraries/ChainSafe.Gaming.Lootboxes.Chainlink.dll index 4ffb61ea1e5d44cb7b29125589f992cbfde366ab..37ccc201254c90db0693c0c27d097035a6728074 100644 GIT binary patch delta 107 zcmZqp!r1VIaY6?R+e6Jg8+)F_2&6B#u-s|BqVvvOPnY)Wx~ICiAvQ;drNq9eee#F= z0D+vy-(`&3`usYh<37aA59*m5P%u*gDrn~k6$GhPGl_7#CHz|~*-VyWGiTv<4gkIL BFo*yE delta 107 zcmZqp!r1VIaY6@6PZ;z2jXh6d1onSe6}$3xig$xqQKQ}Ctl-TJu{lC4oAN$>nEW9> zK)~=+sGH*6S#B$jsLg&cy=KDXfP$F{P{C<1L6GWci+;3)g}jt(o*(ABnX~Xa2LMOz BHYWf8 diff --git a/Packages/io.chainsafe.web3-unity.lootboxes/Chainlink/Runtime/Libraries/ChainSafe.Gaming.Lootboxes.Chainlink.dll.meta b/Packages/io.chainsafe.web3-unity.lootboxes/Chainlink/Runtime/Libraries/ChainSafe.Gaming.Lootboxes.Chainlink.dll.meta new file mode 100644 index 000000000..ab9ffeacb --- /dev/null +++ b/Packages/io.chainsafe.web3-unity.lootboxes/Chainlink/Runtime/Libraries/ChainSafe.Gaming.Lootboxes.Chainlink.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 9c42299346230a34896b84820450058d +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity.lootboxes/Chainlink/Runtime/Libraries/Chainsafe.Gaming.Chainlink.dll b/Packages/io.chainsafe.web3-unity.lootboxes/Chainlink/Runtime/Libraries/Chainsafe.Gaming.Chainlink.dll index bfe74a72df0dae531c03516a54c48eb190028470..f0fe0cb63d1db11d5c1deb8df42dd029c35f1d9a 100644 GIT binary patch delta 105 zcmZqBXwaC@!SXoBZQ;fq4Nd{Zqi+Nc>}~c~c0)D3wa)nY<|CXXj4T@NoM$K7a0du< zxd$%moG{a2k*;dzk8M96PM*WvssI&Ccmx#$sn!y(;x5t^sboFb6S~=vXFodtQ~4~* delta 105 zcmZqBXwaC@!Lq~Z$j6O68k_?E#2B@H{h8stS$D<+%Nzxp%||#(7+KaIi0hhc!yO<{ zb9)AJ&6Rn+dza_BFeLD-n>>fRRRJof`xhz*Qf>I5B%)#+r`p8W^~ReWdG@md09rdO ABLDyZ diff --git a/Packages/io.chainsafe.web3-unity.lootboxes/Chainlink/Runtime/Libraries/Chainsafe.Gaming.Chainlink.dll.meta b/Packages/io.chainsafe.web3-unity.lootboxes/Chainlink/Runtime/Libraries/Chainsafe.Gaming.Chainlink.dll.meta new file mode 100644 index 000000000..90b3154e3 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity.lootboxes/Chainlink/Runtime/Libraries/Chainsafe.Gaming.Chainlink.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: a09fabae300f6044aa8484418b0b59db +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity.web3auth/Runtime/Web3AuthWalletExtensions.cs b/Packages/io.chainsafe.web3-unity.web3auth/Runtime/Web3AuthWalletExtensions.cs index eb110ecba..ef5d67dfd 100644 --- a/Packages/io.chainsafe.web3-unity.web3auth/Runtime/Web3AuthWalletExtensions.cs +++ b/Packages/io.chainsafe.web3-unity.web3auth/Runtime/Web3AuthWalletExtensions.cs @@ -47,7 +47,7 @@ public static IWeb3ServiceCollection UseWeb3AuthWallet(this IWeb3ServiceCollecti /// The modified IWeb3ServiceCollection with the Web3AuthWallet configuration replaced. public static IWeb3ServiceCollection ConfigureWeb3AuthWallet(this IWeb3ServiceCollection collection, Web3AuthWalletConfig configuration) { - collection.Replace(ServiceDescriptor.Singleton(typeof(Web3AuthWalletConfig), configuration); + collection.Replace(ServiceDescriptor.Singleton(typeof(Web3AuthWalletConfig), configuration)); return collection; } } diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ADRaffy.ENSNormalize.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ADRaffy.ENSNormalize.dll.meta new file mode 100644 index 000000000..a259e9d77 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ADRaffy.ENSNormalize.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: abbf9e85799e54c82a487990bb81fa21 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/BouncyCastle.Crypto.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/BouncyCastle.Crypto.dll.meta new file mode 100644 index 000000000..06f957de8 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/BouncyCastle.Crypto.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 8adf80841e4484aa889b0f1fafc0fa49 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Debugging.dll b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Debugging.dll index 43cadcbb9b57d20145244189033509c332f2ab12..6bf031e75c07eca544d79eb6407dae7e793be652 100644 GIT binary patch delta 105 zcmZpuX{edd!6F#NIB{c7j*dW%gO@#%%U8eV0Ml*TEQZ(3FimIXVKxpLqhF&OhTZ>)P#eswEN=H*@IjU}q7R`nz-T5t9Ic z?M-~_GoF2Q+f@*M;ckZ5x5+A|tqM@VV=zIGYA>&Cl^eozw1Td-&Dng?)SLqVWbZOJ diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Debugging.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Debugging.dll.meta new file mode 100644 index 000000000..6a1e26ec4 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Debugging.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 2a261f066d4c27442911659b07a7d8c4 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Gelato.dll b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Gelato.dll index 3ecbc82f1d56dc620fec9ba1666ecee592edc730..605e036ef2523f241f072bc0de48aed6176c3988 100644 GIT binary patch delta 107 zcmZp;!_;txX+j6f@$#jgHuhNb32;5i|0&J2+IgS-_RB4tS~;7q^l^x@Fe&}+oBUvD zfIxlbrIyr`43`b>ivEb(m7SaHu&iDIDriyw6$GhP*x(Xm3wFF(R?IuuVOhNbOwbxC2vVJ+o$|hAg{|Rx2MfN<_m?TM0|1Al BEg1j+ diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Gelato.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Gelato.dll.meta new file mode 100644 index 000000000..71d5111e3 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Gelato.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 57c68d005786c45cc804a28af3b19e31 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.InProcessSigner.dll b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.InProcessSigner.dll index be8a0da83efc7c8a515d3c0efd53a555f7b4658d..72abf8dfb0267a468fa80df2eb976299b74fa44a 100644 GIT binary patch delta 105 zcmZp0XmFU&!LozLV!Z diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.InProcessSigner.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.InProcessSigner.dll.meta new file mode 100644 index 000000000..8ed3a2480 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.InProcessSigner.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 525950f5a9e3149ff9559a1ab2ff4e8d +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.InProcessTransactionExecutor.dll b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.InProcessTransactionExecutor.dll index 1f71e8be9294663e47d9a1acace00a3b601cfcce..1b2f9bae22492661dd127aefa0fcbbfd40463484 100644 GIT binary patch delta 105 zcmZpOXo#55!E*oRmm?c{GGqlNEnXOAs+8u^@nyEGz=E8-Gu(Q3?>4 zq_+F*<-@_w>$J9e1S;jaOunPES^+A!IS(obQhj>CeVL?8W8=^3Wi&T0SB~TW0NT+n AA^-pY delta 105 zcmZpOXo#55!6L+%-m|eMLslS9(DCiIvgNM(ljm_({g`XHnMJOIh2_PCCr>BWCy y=Zv*}pC9M5K*FkFbDHzF$#;}iD?kN%V1gjkHH)`Y)yC%?cI#M_xOus9BnJS7)G&+y diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.InProcessTransactionExecutor.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.InProcessTransactionExecutor.dll.meta new file mode 100644 index 000000000..3310d0ea0 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.InProcessTransactionExecutor.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: c1c05dc5909574dfb84f6d20cf5752a6 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Unity.ThirdParty.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Unity.ThirdParty.dll.meta new file mode 100644 index 000000000..543349a2b --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Unity.ThirdParty.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 6ca4015b3a4624b13bfadd6f7956c0be +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Unity.dll b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Unity.dll index e09decb1c4bd819e5d2a6998a049fbc3b6b85b46..b7ccc2378953c4fbbb5b22f1f66aa36423f5b7d0 100644 GIT binary patch delta 105 zcmZpuXsDRb!6GC4Ve!VEHA(`Xd&B(i7G7~}o2=BgcG6nk%^u1J_*vQwOCC?=F%A$2 w$b5D;!0@=k62l8`)wip-OwKW`RX`U6s!rzrFYubNv&OQfdhz?soF?Dd0pr&%e*gdg delta 105 zcmZpuXsDRb!Lszhq_Z1))+h-mda9Hbh~Ds?w7IBoO`F}8%^u1J_*ryb@1HW6$2dUX zhwb*HdFA?!Q{7gcUpQq0*W?`IS_PP(C{z%rS|r*#?&L+giC-A!c}8yLH2KaB0O!;% Ag8%>k diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Unity.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Unity.dll.meta new file mode 100644 index 000000000..1fa1c9ede --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Unity.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 548ce55e206f04cd1a561c7ca04aeacf +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.WalletConnect.dll b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.WalletConnect.dll index d11605ac36c6513ae8136e13c82d4da986454e33..bd0b8bc0a0bd9d189525b760e4aec54496340e79 100644 GIT binary patch delta 107 zcmZpe!qhN@X+j4}$I36?Humhu7ijS~a&d#%diULbe>WFzkGr!uq`*ax<%qWI{mFA0 z0|Y#F3aey?-1AWp&qdo@<*!3S0zPuC;GJI(bfG zfPh5))!bPJF8Z$#{o}C3#A)&5KaIT#P{I2-P(h$-SAj#*eq3zVQeF0`w|w);rf_xu Deu6Y6 diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.WalletConnect.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.WalletConnect.dll.meta new file mode 100644 index 000000000..165cf3a4a --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.WalletConnect.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 670378e1881ad2c43a54a8d47ee96f67 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.dll b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.dll index da6cebccf6f5015a8c03cd0b13412999b8f4dbe6..f7f7a18239ed0953f86b2db330c3dc6fe8854029 100644 GIT binary patch delta 130 zcmZpez}ql^cR~ltr*yrR#-6P`jOT(F>$XP+GYVTVx^2(zWn{c1@L>KQo{E>neru0j zSkAP4fyMTQbfzOWSTq*@dNkd`fjK}RD=^^o)%Bu|^RD~1_vRQkOkd%^T&MsQ{df;5 a3Q`}u___R}v?;UYH3ihSTRJiyX9EDlEjpk8 delta 130 zcmZpez}ql^cR~k?oPWoM#-6P`jOT(Fi?>GyGYVTVrftvfWn{c1@Z5aqxhsbcyDv6o zuzsrlch2^PbfzOWSn}sBxjNm$fjK}RD#RjagLQ}N;>H(-a<|s>O<&=_T&MsQZG8+C Z1*vy+P?0aR^13xara*SPr6cokHULF?H@E-* diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.dll.meta new file mode 100644 index 000000000..72f6b3719 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 7ab26bdccec4648e982ebbd1b4efe360 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.Bcl.AsyncInterfaces.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.Bcl.AsyncInterfaces.dll.meta new file mode 100644 index 000000000..e734e3e7a --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.Bcl.AsyncInterfaces.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 27d7b9f332fbe3749b385098a900f166 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.Extensions.DependencyInjection.Abstractions.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.Extensions.DependencyInjection.Abstractions.dll.meta new file mode 100644 index 000000000..efdbcd1f8 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.Extensions.DependencyInjection.Abstractions.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: df5f62e25a5004afbb751f9e9d24fe30 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.Extensions.DependencyInjection.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.Extensions.DependencyInjection.dll.meta new file mode 100644 index 000000000..beadc03f7 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.Extensions.DependencyInjection.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: e620659df1ddd4222a9e0a1c2ea90090 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.Extensions.Logging.Abstractions.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.Extensions.Logging.Abstractions.dll.meta new file mode 100644 index 000000000..f14f4b2e7 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.Extensions.Logging.Abstractions.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 7d403c09b1af740cc932345753a7af29 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.IdentityModel.Abstractions.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.IdentityModel.Abstractions.dll.meta new file mode 100644 index 000000000..0d8ad42cc --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.IdentityModel.Abstractions.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 2d4847c592aa90d45b492a3e30c71472 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.IdentityModel.Logging.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.IdentityModel.Logging.dll.meta new file mode 100644 index 000000000..d8f67cd48 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.IdentityModel.Logging.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 56e019d23aeb80c4fb2bb7a0a72db307 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.IdentityModel.Tokens.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.IdentityModel.Tokens.dll.meta new file mode 100644 index 000000000..08d4b5b7d --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.IdentityModel.Tokens.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 1170a93099e99e44c9ab4c7e0575bac0 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/NBitcoin.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/NBitcoin.dll.meta new file mode 100644 index 000000000..3b5bf8f21 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/NBitcoin.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: c4545fc3d64cf4290b0530452e4e94c0 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.ABI.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.ABI.dll.meta new file mode 100644 index 000000000..8c6827046 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.ABI.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: ff10626a20db14aa5997efbbba9c4b16 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Accounts.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Accounts.dll.meta new file mode 100644 index 000000000..2fd58ceba --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Accounts.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: b1864f3ff350f4f05bcc8bab1d500c01 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.BlockchainProcessing.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.BlockchainProcessing.dll.meta new file mode 100644 index 000000000..3efb9e736 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.BlockchainProcessing.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 5d46decbe691d4b85815391e3ca5720c +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Contracts.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Contracts.dll.meta new file mode 100644 index 000000000..0fa17f8bf --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Contracts.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 21205e85d739840e38296aca33f86fd2 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Hex.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Hex.dll.meta new file mode 100644 index 000000000..18e0d7b51 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Hex.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 8e5234f508fe041c5af4d2434f498581 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.JsonRpc.Client.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.JsonRpc.Client.dll.meta new file mode 100644 index 000000000..24593c57a --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.JsonRpc.Client.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 31aaf038e98c4421693d35577deee3c0 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.JsonRpc.IpcClient.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.JsonRpc.IpcClient.dll.meta new file mode 100644 index 000000000..c5796805e --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.JsonRpc.IpcClient.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 784614bc0b93945659eb31bae4df9992 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.JsonRpc.RpcClient.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.JsonRpc.RpcClient.dll.meta new file mode 100644 index 000000000..600ae0254 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.JsonRpc.RpcClient.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 9c4f509da96d742c498b194c31c2788d +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.KeyStore.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.KeyStore.dll.meta new file mode 100644 index 000000000..18a0a8001 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.KeyStore.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 4a2a94ff911374ec38908c76da3dde58 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Merkle.Patricia.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Merkle.Patricia.dll.meta new file mode 100644 index 000000000..ced5fcd61 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Merkle.Patricia.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: b413b036a075645aa848a429e43affd0 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Merkle.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Merkle.dll.meta new file mode 100644 index 000000000..bfa469b97 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Merkle.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 950686d7c8fc04cd78efaba593791007 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Model.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Model.dll.meta new file mode 100644 index 000000000..61bd36e1f --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Model.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 9f3c391f75c10493383db8675fd5977d +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.RLP.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.RLP.dll.meta new file mode 100644 index 000000000..494fc078f --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.RLP.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 61758d4259bb9462cb8b8e610bf762de +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.RPC.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.RPC.dll.meta new file mode 100644 index 000000000..6572edf93 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.RPC.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: c2128d9c0be614bbea4980f71db82b0a +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Signer.EIP712.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Signer.EIP712.dll.meta new file mode 100644 index 000000000..45a0db701 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Signer.EIP712.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: a3dd1e549b7b94ddfb2bc70aaa434b4a +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Signer.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Signer.dll.meta new file mode 100644 index 000000000..9c780e321 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Signer.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 9de76cf4bb4c246219bb4f7ff0fda55f +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Util.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Util.dll.meta new file mode 100644 index 000000000..d7113c19e --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Util.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 4522a739830754a71bb3b48979df85d0 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Web3.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Web3.dll.meta new file mode 100644 index 000000000..f555127c1 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Web3.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 6f6dc5e43c35c4b3e975cb7e5c3b9feb +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Buffers.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Buffers.dll.meta new file mode 100644 index 000000000..7ad5b7767 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Buffers.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: fd7837112054c42f3a78a3ac6e752935 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Memory.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Memory.dll.meta new file mode 100644 index 000000000..58220d17d --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Memory.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: e7a354ca4851c4779a1ac4a046397ded +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Numerics.Vectors.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Numerics.Vectors.dll.meta new file mode 100644 index 000000000..8d4c19ac6 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Numerics.Vectors.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: b5f9c21f24aca476a889f3a4e34cccfa +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Reactive.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Reactive.dll.meta new file mode 100644 index 000000000..130d98357 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Reactive.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 98e10528f2a89a04b9d208c264626e92 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Runtime.CompilerServices.Unsafe.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Runtime.CompilerServices.Unsafe.dll.meta new file mode 100644 index 000000000..491731d30 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Runtime.CompilerServices.Unsafe.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 4fa85804e55fd443abc518c80b577ba5 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Runtime.InteropServices.WindowsRuntime.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Runtime.InteropServices.WindowsRuntime.dll.meta new file mode 100644 index 000000000..6c113a37a --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Runtime.InteropServices.WindowsRuntime.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 81b5a2c8baee0c74589a47a782c82539 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Security.Cryptography.Cng.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Security.Cryptography.Cng.dll.meta new file mode 100644 index 000000000..97269fa42 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Security.Cryptography.Cng.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: a9d1dad216422b042889f966ee859157 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Text.Encodings.Web.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Text.Encodings.Web.dll.meta new file mode 100644 index 000000000..5fcc335be --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Text.Encodings.Web.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 71c4d48934abe64479bee03e88bfb869 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Text.Json.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Text.Json.dll.meta new file mode 100644 index 000000000..6bce94890 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Text.Json.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 10512087153c9b54c9bb697b83ae7f67 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Threading.Channels.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Threading.Channels.dll.meta new file mode 100644 index 000000000..9b5fc4c23 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Threading.Channels.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: bd03cf807ecc37a4088c1bc28adf4f1a +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Threading.Tasks.Extensions.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Threading.Tasks.Extensions.dll.meta new file mode 100644 index 000000000..046471eca --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Threading.Tasks.Extensions.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 834b42419421da94899837a4039d3490 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Auth.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Auth.dll.meta new file mode 100644 index 000000000..aa24a064f --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Auth.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: cb7aa15abef2b2c4baa4a3850450c99e +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Common.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Common.dll.meta new file mode 100644 index 000000000..1f2d3a241 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Common.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 513e5fe4eea7b6346beb6475d1abf226 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Core.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Core.dll.meta new file mode 100644 index 000000000..c8a645a4c --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Core.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: eadcbcee8a4325245a1bc034bf7d74cc +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Crypto.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Crypto.dll.meta new file mode 100644 index 000000000..8280505b8 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Crypto.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: d5416ad2f33950a488f78a35fbc4a196 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Events.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Events.dll.meta new file mode 100644 index 000000000..0837eebb9 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Events.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 8cbb8cdab41803c40af881d9f4302052 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Network.Websocket.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Network.Websocket.dll.meta new file mode 100644 index 000000000..ce54102b0 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Network.Websocket.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 773d424c005ee4544af74a6613ab8f48 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Network.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Network.dll.meta new file mode 100644 index 000000000..09a6d233c --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Network.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: e2b09fe979b6b644a9bd94758c6eb41d +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Sign.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Sign.dll.meta new file mode 100644 index 000000000..ac8e74672 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Sign.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 070e21644794ad649b949c21096d1691 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Storage.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Storage.dll.meta new file mode 100644 index 000000000..2947b3293 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Storage.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 4b3ff67a764910d44b291a0a2dc655dc +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Web3Wallet.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Web3Wallet.dll.meta new file mode 100644 index 000000000..aa270b433 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Web3Wallet.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 53effb4eda99bca4c9b35499a4a38385 +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Websocket.Client.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Websocket.Client.dll.meta new file mode 100644 index 000000000..026de0714 --- /dev/null +++ b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Websocket.Client.dll.meta @@ -0,0 +1,33 @@ +fileFormatVersion: 2 +guid: 1b3cbbe5eaa27094db00a423e5735a0f +PluginImporter: + externalObjects: {} + serializedVersion: 2 + iconMap: {} + executionOrder: {} + defineConstraints: [] + isPreloaded: 0 + isOverridable: 1 + isExplicitlyReferenced: 0 + validateReferences: 1 + platformData: + - first: + Any: + second: + enabled: 1 + settings: {} + - first: + Editor: Editor + second: + enabled: 0 + settings: + DefaultValueInitialized: true + - first: + Windows Store Apps: WindowsStoreApps + second: + enabled: 0 + settings: + CPU: AnyCPU + userData: + assetBundleName: + assetBundleVariant: From a083be87266d44729d3c72677dfbc59c85ae4d21 Mon Sep 17 00:00:00 2001 From: Ryan Noble Date: Tue, 31 Oct 2023 14:44:37 +0100 Subject: [PATCH 28/29] Lint fix --- src/ChainSafe.Gaming/ChainSafe.Gaming.csproj | 1 + src/ChainSafe.Gaming/MultiCall/MultiCall.cs | 82 ++++++++++---------- 2 files changed, 42 insertions(+), 41 deletions(-) diff --git a/src/ChainSafe.Gaming/ChainSafe.Gaming.csproj b/src/ChainSafe.Gaming/ChainSafe.Gaming.csproj index 28643f216..7e8512de8 100644 --- a/src/ChainSafe.Gaming/ChainSafe.Gaming.csproj +++ b/src/ChainSafe.Gaming/ChainSafe.Gaming.csproj @@ -13,6 +13,7 @@ + diff --git a/src/ChainSafe.Gaming/MultiCall/MultiCall.cs b/src/ChainSafe.Gaming/MultiCall/MultiCall.cs index a9ea6a141..039b17a3b 100644 --- a/src/ChainSafe.Gaming/MultiCall/MultiCall.cs +++ b/src/ChainSafe.Gaming/MultiCall/MultiCall.cs @@ -49,54 +49,54 @@ public MultiCall(IContractBuilder builder, IChainConfig chainConfig, MultiCallCo /// A list of results from executing the batched calls. public async Task> MultiCallAsync(Call3Value[] multiCalls, int pageSize = DefaultCallsPerRequest) { - if (multiCalls.Any(x => x.Value > 0)) - { - var results = new List(); - foreach (var page in multiCalls.Batch(pageSize)) - { - var contractCalls = new List(); - foreach (var multiCall in page) - { - contractCalls.Add(new Call3Value { CallData = multiCall.CallData, Target = multiCall.Target, AllowFailure = multiCall.AllowFailure, Value = multiCall.Value }); - } + if (multiCalls.Any(x => x.Value > 0)) + { + var results = new List(); + foreach (var page in multiCalls.Batch(pageSize)) + { + var contractCalls = new List(); + foreach (var multiCall in page) + { + contractCalls.Add(new Call3Value { CallData = multiCall.CallData, Target = multiCall.Target, AllowFailure = multiCall.AllowFailure, Value = multiCall.Value }); + } - if (contractCalls.Count > 0) - { - var callParams = new object[] - { + if (contractCalls.Count > 0) + { + var callParams = new object[] + { contractCalls, - }; - var callResults = await multiCallContract.Call(MultiCallCommonMethods.Aggregate3Value, callParams); + }; + var callResults = await multiCallContract.Call(MultiCallCommonMethods.Aggregate3Value, callParams); - results.Add(callResults); - } - } + results.Add(callResults); + } + } - return ExtractResults(results); - } - else - { - var results = new List(); - foreach (var page in multiCalls.Batch(pageSize)) - { - var contractCalls = new List(); - foreach (var multiCall in page) - { - contractCalls.Add(new Call3 { CallData = multiCall.CallData, Target = multiCall.Target, AllowFailure = multiCall.AllowFailure }); - } + return ExtractResults(results); + } + else + { + var results = new List(); + foreach (var page in multiCalls.Batch(pageSize)) + { + var contractCalls = new List(); + foreach (var multiCall in page) + { + contractCalls.Add(new Call3 { CallData = multiCall.CallData, Target = multiCall.Target, AllowFailure = multiCall.AllowFailure }); + } - var aggregateFunction = new Aggregate3Function(); - aggregateFunction.Calls = contractCalls; - var callParams = new object[] - { + var aggregateFunction = new Aggregate3Function(); + aggregateFunction.Calls = contractCalls; + var callParams = new object[] + { contractCalls, - }; - var callResults = await multiCallContract.Call(MultiCallCommonMethods.Aggregate3, callParams); - results.Add(callResults); - } + }; + var callResults = await multiCallContract.Call(MultiCallCommonMethods.Aggregate3, callParams); + results.Add(callResults); + } - return ExtractResults(results); - } + return ExtractResults(results); + } } ///

From 576f91f562f43f3eaa3e46c4ec49e71af1065e66 Mon Sep 17 00:00:00 2001 From: Ryan Noble Date: Wed, 1 Nov 2023 11:41:23 +0100 Subject: [PATCH 29/29] Rebuilt --- .../ChainSafe.Gaming.Lootboxes.Chainlink.dll | Bin 31232 -> 31232 bytes ...inSafe.Gaming.Lootboxes.Chainlink.dll.meta | 33 ------------------ .../Libraries/Chainsafe.Gaming.Chainlink.dll | Bin 5120 -> 5120 bytes .../Chainsafe.Gaming.Chainlink.dll.meta | 33 ------------------ .../Libraries/ADRaffy.ENSNormalize.dll.meta | 33 ------------------ .../Libraries/BouncyCastle.Crypto.dll.meta | 33 ------------------ .../Libraries/ChainSafe.Gaming.Debugging.dll | Bin 15872 -> 15872 bytes .../ChainSafe.Gaming.Debugging.dll.meta | 33 ------------------ .../Libraries/ChainSafe.Gaming.Gelato.dll | Bin 44544 -> 44544 bytes .../ChainSafe.Gaming.Gelato.dll.meta | 33 ------------------ .../ChainSafe.Gaming.InProcessSigner.dll | Bin 8192 -> 8192 bytes .../ChainSafe.Gaming.InProcessSigner.dll.meta | 33 ------------------ ...fe.Gaming.InProcessTransactionExecutor.dll | Bin 11776 -> 11264 bytes ...ming.InProcessTransactionExecutor.dll.meta | 33 ------------------ .../ChainSafe.Gaming.Unity.ThirdParty.dll | Bin 23552 -> 23552 bytes ...ChainSafe.Gaming.Unity.ThirdParty.dll.meta | 33 ------------------ .../Libraries/ChainSafe.Gaming.Unity.dll | Bin 15360 -> 15360 bytes .../Libraries/ChainSafe.Gaming.Unity.dll.meta | 33 ------------------ .../ChainSafe.Gaming.WalletConnect.dll | Bin 35328 -> 35840 bytes .../ChainSafe.Gaming.WalletConnect.dll.meta | 33 ------------------ .../Runtime/Libraries/ChainSafe.Gaming.dll | Bin 181248 -> 215040 bytes .../Libraries/ChainSafe.Gaming.dll.meta | 33 ------------------ .../Microsoft.Bcl.AsyncInterfaces.dll.meta | 33 ------------------ ....DependencyInjection.Abstractions.dll.meta | 33 ------------------ ...ft.Extensions.DependencyInjection.dll.meta | 33 ------------------ ...t.Extensions.Logging.Abstractions.dll.meta | 33 ------------------ ...rosoft.IdentityModel.Abstractions.dll.meta | 33 ------------------ .../Microsoft.IdentityModel.Logging.dll.meta | 33 ------------------ .../Microsoft.IdentityModel.Tokens.dll.meta | 33 ------------------ .../Runtime/Libraries/NBitcoin.dll.meta | 33 ------------------ .../Runtime/Libraries/Nethereum.ABI.dll.meta | 33 ------------------ .../Libraries/Nethereum.Accounts.dll.meta | 33 ------------------ .../Nethereum.BlockchainProcessing.dll.meta | 33 ------------------ .../Libraries/Nethereum.Contracts.dll.meta | 33 ------------------ .../Runtime/Libraries/Nethereum.Hex.dll.meta | 33 ------------------ .../Nethereum.JsonRpc.Client.dll.meta | 33 ------------------ .../Nethereum.JsonRpc.IpcClient.dll.meta | 33 ------------------ .../Nethereum.JsonRpc.RpcClient.dll.meta | 33 ------------------ .../Libraries/Nethereum.KeyStore.dll.meta | 33 ------------------ .../Nethereum.Merkle.Patricia.dll.meta | 33 ------------------ .../Libraries/Nethereum.Merkle.dll.meta | 33 ------------------ .../Libraries/Nethereum.Model.dll.meta | 33 ------------------ .../Runtime/Libraries/Nethereum.RLP.dll.meta | 33 ------------------ .../Runtime/Libraries/Nethereum.RPC.dll.meta | 33 ------------------ .../Nethereum.Signer.EIP712.dll.meta | 33 ------------------ .../Libraries/Nethereum.Signer.dll.meta | 33 ------------------ .../Runtime/Libraries/Nethereum.Util.dll.meta | 33 ------------------ .../Runtime/Libraries/Nethereum.Web3.dll.meta | 33 ------------------ .../Runtime/Libraries/System.Buffers.dll.meta | 33 ------------------ .../Runtime/Libraries/System.Memory.dll.meta | 33 ------------------ .../System.Numerics.Vectors.dll.meta | 33 ------------------ .../Libraries/System.Reactive.dll.meta | 33 ------------------ ...m.Runtime.CompilerServices.Unsafe.dll.meta | 33 ------------------ ...me.InteropServices.WindowsRuntime.dll.meta | 33 ------------------ .../System.Security.Cryptography.Cng.dll.meta | 33 ------------------ .../System.Text.Encodings.Web.dll.meta | 33 ------------------ .../Libraries/System.Text.Json.dll.meta | 33 ------------------ .../System.Threading.Channels.dll.meta | 33 ------------------ ...System.Threading.Tasks.Extensions.dll.meta | 33 ------------------ .../WalletConnectSharp.Auth.dll.meta | 33 ------------------ .../WalletConnectSharp.Common.dll.meta | 33 ------------------ .../WalletConnectSharp.Core.dll.meta | 33 ------------------ .../WalletConnectSharp.Crypto.dll.meta | 33 ------------------ .../WalletConnectSharp.Events.dll.meta | 33 ------------------ ...letConnectSharp.Network.Websocket.dll.meta | 33 ------------------ .../WalletConnectSharp.Network.dll.meta | 33 ------------------ .../WalletConnectSharp.Sign.dll.meta | 33 ------------------ .../WalletConnectSharp.Storage.dll.meta | 33 ------------------ .../WalletConnectSharp.Web3Wallet.dll.meta | 33 ------------------ .../Libraries/Websocket.Client.dll.meta | 33 ------------------ 70 files changed, 1980 deletions(-) delete mode 100644 Packages/io.chainsafe.web3-unity.lootboxes/Chainlink/Runtime/Libraries/ChainSafe.Gaming.Lootboxes.Chainlink.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity.lootboxes/Chainlink/Runtime/Libraries/Chainsafe.Gaming.Chainlink.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/ADRaffy.ENSNormalize.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/BouncyCastle.Crypto.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Debugging.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Gelato.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.InProcessSigner.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.InProcessTransactionExecutor.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Unity.ThirdParty.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Unity.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.WalletConnect.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.Bcl.AsyncInterfaces.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.Extensions.DependencyInjection.Abstractions.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.Extensions.DependencyInjection.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.Extensions.Logging.Abstractions.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.IdentityModel.Abstractions.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.IdentityModel.Logging.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.IdentityModel.Tokens.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/NBitcoin.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.ABI.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Accounts.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.BlockchainProcessing.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Contracts.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Hex.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.JsonRpc.Client.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.JsonRpc.IpcClient.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.JsonRpc.RpcClient.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.KeyStore.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Merkle.Patricia.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Merkle.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Model.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.RLP.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.RPC.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Signer.EIP712.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Signer.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Util.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Web3.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Buffers.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Memory.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Numerics.Vectors.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Reactive.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Runtime.CompilerServices.Unsafe.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Runtime.InteropServices.WindowsRuntime.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Security.Cryptography.Cng.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Text.Encodings.Web.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Text.Json.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Threading.Channels.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Threading.Tasks.Extensions.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Auth.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Common.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Core.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Crypto.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Events.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Network.Websocket.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Network.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Sign.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Storage.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Web3Wallet.dll.meta delete mode 100644 Packages/io.chainsafe.web3-unity/Runtime/Libraries/Websocket.Client.dll.meta diff --git a/Packages/io.chainsafe.web3-unity.lootboxes/Chainlink/Runtime/Libraries/ChainSafe.Gaming.Lootboxes.Chainlink.dll b/Packages/io.chainsafe.web3-unity.lootboxes/Chainlink/Runtime/Libraries/ChainSafe.Gaming.Lootboxes.Chainlink.dll index 43b5507f5b4f6a0bc14bdcfe4477b2662416a01d..a3167e32ad555aa5037642b15b4b9635fbbc2eba 100644 GIT binary patch delta 269 zcmZqp!r1VIaY6@6Ou^da6MJMB<0h^QXXKpB$XL&qGPw~*+HPiK%8wSP^lQ!&*#6Xa z!Q6n@+1I8RZElFo5#n|Kt9^)p(KmpJfq`M!ZQEl{@PJA9^S;@+o@ zGi(~~dTjT0Vg#yjv5IlYPcF?(%_}L6Nz5q;N-fAQjww$~GS(~2%PgskDK1KmnfxGE zMJ6UcDJ!NZH77N(I5j3OwWPQtF)t;tD8)$65TrnL^3MWpU8ofkC7@OSo#V9E=WzOq zD;}(W-1E5%`+;^sf%jy?LTN_Z$-ae}lZy*yPj+CG*vwb-i;QyZ BWzGNq delta 296 zcmZqp!r1VIaY6@6Ve#@W6MJMB%Owe%8wRc=)1`@qh*J4 zcUQdr@pB74Z*GXq5#n88bl@5Tqi+Bc0|Uds$v^YuS^xGiF#Me?Tc8|r>j3MN^TxYe zCv^MW+x_^}bVi^W{m|mnqGJ8@#G=Hc#JrS5eV5eY?2`Nf{eYtU^rFPv%%a4+tW5I6{qoc#W4+S6%#up|;-X~z$q#Z>Wc2fsvh<5mb5awFQ}y#wONvWCMir$P z=^26)s7}6Dz-KJAKx!#rWsb71%=)-PBdT#06Q;V AI{*Lx delta 299 zcmZqBXwaC@!6N%<&DM!MGK}jct_)|4nas#o&$wlBBaoc1nUQHTyFkS~JIDQ>7WnQJ zIXZjKvje=Fk8qYS@=9O5^_79qH-L$Ofnn`rS8jP$Q!NGt)5)3K$|1VbG=9uIc-wX6 zl|`rP3bOw*0@dh;7N-^!>!&9cB_<{2r6lURq!wqFKECFW)pCFW(N>N{s7 zX66+qrlsnarzRQemF8uZRO%NOCF@U~%OxeFpP!VaUzD1Ynpm8wpO;!vTmmwxD8)$6 z5UjvbuOKCfA=tyw$kdDh>WZm1p{@YAxX;t|J}bw9B)(^5$6J8zg@JjK{dlAqCrr-b c(cC#AXiN9qhdMDi78(F!}~CF)%Ppntawoo^??$1H+=pA5D}k{WH~M9<7b{ zYoFipL95iGm=UPP#VW=nKe;qFHLs*NCNZZZD77HJIHo)`$yl#6FSDdFrno3MW^%lW zluS&1QdUe+YEEimacWFnYDsZPVqQvOQHqhCAy~oW9i}|GP%HG@p;myLvu$JV2VRbC zaSsod`+o#F1_rn%e>9Z_dS^19nZ{;gv)hc59T+7x^I802W>PTOENJtdaiRe`02-)Z A*#H0l delta 297 zcmZpuX{edd!P53$vSnhA45Qh^mEnv}CNnbDGuljUWUObB2-(cU^i4}(T7|uBcj`a4 zEhW=D*G2Qxg{;jKdH(e84 zW^a47ENsJmt<6{ZIK+A5R==CXz~~#m#K6GNGx_CGdDb0A7#Ma;=3S<2$?$Pq=uwe( ze)BT3);xaKq0R_Y<6;%#lAm0fo0?Zr9Fv$+5|mnyUmR1Onq;h3nwMEp8B<)895Z=g zg}6*ieo|IUQEEI2ZR;s>p zMq*}OabjAketBw=v0iCjW=W-faZ$4Vv6kxhpaLs$hi3aQdbRuv5 diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Gelato.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Gelato.dll.meta deleted file mode 100644 index 71d5111e3..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Gelato.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 57c68d005786c45cc804a28af3b19e31 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.InProcessSigner.dll b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.InProcessSigner.dll index e6770346a0de39c70ea030436c5d8d78488b5601..ca82c00f4e49a538cbbe6c753a49c61647c323a5 100644 GIT binary patch delta 279 zcmZp0XmFU&!7^!y^ty>XGK@(RSB5k4PG)4RXUv$~2qYahGctt>2>3bFXCKx+?6uLk zQNY4)ENz#y<$P-Yq9W3usc1~s$m1ko#VPIeso2(_O6w>B3Y1(SeR`0&l z)xjM9RHrZk73qf-rxq3KrzaLACMD*jBCM=4F;t>K7L!>rXx?svx7EpOmFvl$w*8Se&Y#ms(O>0y3&7#YoQ( zq(H|AYV&D7sLeoU7BrbXxfoN-vVXNoGg|=AkuZ=2Vk=Bk6l08;Y$m3;IZ12^<7PgI SU#v_uCYuFiJ}^!+U;_Z=<6(sW diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.InProcessSigner.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.InProcessSigner.dll.meta deleted file mode 100644 index 8ed3a2480..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.InProcessSigner.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 525950f5a9e3149ff9559a1ab2ff4e8d -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.InProcessTransactionExecutor.dll b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.InProcessTransactionExecutor.dll index 6d5f9b07c286acf96327844ec4020c6175fef6e0..92c015b0cddcabc83455a8e350332f3ce4480614 100644 GIT binary patch delta 317 zcmZpOX^5E6p`_N_(Zc`*4;YjbxET!?7?gkl91y`@juTgfF)p9X$XL$>7FPg@D^2cV z)Miwfyp2(vQET!&MkU7En;DrtOAFlZJ+R2!#mr;QmkwP8Pj9o$EOI3*yo~!UG%+yx z1~37&?wH)FB+uI5$iUDrd8LxF<%2g;3&O6qI<)NkLfo_6)C$XL%MqXZOF0AiKN zU5wg{YLmAysx#_LzQ?G<_-!*I(`RXc!_%Gle)=y6? zN=!=3OG(ssNiEJU$uH0kD9TSSO3ckHO3cej)pyQF%*-oJOiR@-Pfaq`E6vL+snjnn zO4gseP*hh&KR+o;zbG{)HL*BVKQFbUxCCTWQHqhCAxMGVcU2)L! z?rrv_^*2?*Z@vP$69!nEfGmZHieil4CSOq2VrTfT3JeT^&4OC*88>sQ{AFd5FamQX H8n6QZp8{{* diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.InProcessTransactionExecutor.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.InProcessTransactionExecutor.dll.meta deleted file mode 100644 index 3310d0ea0..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.InProcessTransactionExecutor.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: c1c05dc5909574dfb84f6d20cf5752a6 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Unity.ThirdParty.dll b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Unity.ThirdParty.dll index 2c1b85d22684a66ebf070c8de91d4dcf72f14566..6f5a767daa23c67e17264c8c75a37ebf1776c1ff 100644 GIT binary patch delta 274 zcmZqJ!Pu~aaY6@6aHsc)FJ>=o`Sqz`(FzvTC3_D@OqX1IJ{~KxNB@FSk>y{}p*` ziiE1qMxYuOs~DI3> z`+nTG8V+;}3>1Rc3KJE@7?UR#2Wf4d7gWGF*?>uAGhfIrR;Ct%&4Ljh7$+LA0RTB7 BVuSzy delta 305 zcmZqJ!Pu~aaY6@+h{nCvi9Irm^CqqgXY`uP$XL&~WO5^rtlP}UBU{Idy8K@j0VSPj*`Rsb% z1@&`{etyy@W(2Cy4=qkDD%MX=EJ{pD%u7kscS$YIF3B&@4=Bn{FG|eKEK1DFO4WDH zNX*PDPE1SHFHcP})+^1+EUDBlE=ty)-0!O>qo1FYrC*eqlbTqZs-KryQd|Nuswl-s z&k(G@POl&(i6Pj-(a6+{0qP3f2T)glT-@Ki@}D7&DOIgA`E2N;VpT8)`(XELs_97u1+w zO$U0X2}Tl;rW(@D#6q;w(im+zCTTij?bs%E#?&1;q}G{+HXR4FwLSk~X>qzU``z=M zbN+MA|2Y4>o%=fX^}MKkw(8t?@6i?b*`ZrpbGSR8hBIfO^b`{1R{yQQ4Q4E zU4^;!W|1j0yGsNYTqkGwTTOojI{uUeOw0oWYk{j3z;7HhXrW!LyyQ*=49ifz=>#-o zKRIc}J!8K8rIIevY`2;&((UEyKi!#Ow*+=mrromab=o|4cG#3S+qBRQYE6!$EH@b! zVq{!PGD=IRWbe0V3iNz9g5(Wtt=n6g04Fi*^#IuaQWn9MkM_BH4*6S8V zou4=@`~sgiU8t~5)7Y!%rpT9+dfh;sDzij0HVLV@hVCG#&a(M=Wu+q)pHbo_cxdTd z7}MJo1A7hWdINIs5h~8WVj<-z(pV@qri6vvrcAs*86f@Nb?I;EGVv(t^;rDQn6xbX zkbQ=ASzI4QF2fLQQ_#RotzLKGmT_9M;5S+*+?2ybp{HmzZj3r$xUt@V;lhVBED2t# zljMJB?TQQU(I^+L>T<3-c^a>3J1qmR6S{DK*1!d?d0L}|$BTSu1f3m0JMw|^f>i_& zB+@0K;dZ`3RDsFH4s)8(VvuXR5+a*Qhx8=zGBae+;lLdB{5G*7V$sZg$xO!sP}8Du zioA>H&?Yjgq4Y%*KLx7H$2KQ|sZ4X2T1aE|HnFEDftOi54SWi*c#xT#L=h5@$!t1I zBC?qcuxAo-n4Mvkiad(C(Y&Niqd!?6(|#9geUMhX=ePVt$(@CT0Nf%$KiyK z{V!K?g>BtaRXEb5Zd|--MQ9o-!>rGlq?zaov#nOP=D;mxFT-iM>3k%l&&1jql`IDB z{e&U=m8fNem!nF9<7^*yHt3IN@t9!tGTzi5BbMWx&bd~njYR=7s>&3!CB@8o6FxWB zX>L^9XRBg%5Nq&?;>M;~o*p#L^7LRwFzmVo^HdK4vy2Jo2-^;!N=v|d_t`!S+j`j+ znIQ`eiEWmk?Vbp;J|&qLorV9}=%!jQ&7>_6t_49!r{|OeHyaOP2kmMSvY5@-7Kd$n z*j646BNHZJ8(oqzy$qU!wlI^nWL%|Nc*d4YlA!Y?aT7I$K%KomCcA12_0EjmPgktK zY@E`iCTbS`zow3@gB)|v{xYUGD0e9aAyc-Ll+y?;EFp}>a>hp)*D%&FZf0y?JVqE# zO&p@J7a`|z5psTiW6gHPE}U_up$n^&Ov3fL#Jffgwu|+!`5}Yh56pJK7Z#vS$f5R|$KTuxAN3S_%6X zvVS4_w~Ks-$1S==kCDo_NTg8_K3R}m7UvEA)$A9?#Hc<**el)^a2@_TeZ;ILZ-@a)coSAR@PK=(JI%(bL>*s4)KqM|pc{akb{ zKBYqYxzLN^wjyY%vZ`8+S<5lIsOA^ck2ua1vDfjEdQF6arcL3Nn8yfD8ZW5%h=5iJlQM8XZMf0D3~BMhJs8TtjnXZ0Jb@roT3 zxs0)q@gQNTU;93j_Zi0+RYkgjLJjGw2sNWqJ4l)fjGa2m6768T_t7Wml{c(!)fD+I zqW4-ny@%%Dam*!LjZ}KOuO-=qN|IwxM{*3lN^&gfNsfij9*Zxg>onE z{+70pxVeXQyDxnp`bh2{?7P=uE6)#31#fyDS4LKQAJY^aBi)&ait>SDC(QhQ#3TR%Wwj0f!H1>WV?iqGDz|M`ll z{*QmXd4BS_FJyV;D}3d<8u#p^5(2)4=C<|zukQ-@zTtnSAb(HG_O^CkptaFwpDA#s z_;x+>oUhg2>~9G8eJ%dBKwCr0wuaViOY@hogFRUgxip;O#7qiV*ZI1hp7X!|^ZC3> z@BHXW`16%AoxXQ3bRH6g~x^6Q@C%$_0Szv!P1eK6<>(n#pZti!J$Y5 delta 3006 zcmZWr3s6+&75@JF+PxQD7m!^9#D!Hsd2AGkld3UBsG?Xw!3ZISbzPCj!|ZO1OwpB5 zW6WSIbB)E+2AtHYwHccsHl3!nlBAj1q-a{(YT8V-564W$jGbg0wTbQd&#oy>@63Mx z`OZ22dHj!icl(y@TfX(YR(c?Re_wBovUx?{4_3J*uK<>Vo@U^f+LxC;W;-y3xK<0) z*{QRN?FLaGy6qkjpSqfy<+GT63UvIr5cpLtAXp20ZxO{YY0`ANM%n8ji(wh+R+FMB z-y|o^xNA(ZKU4CB&-SSKBF}zE{lYUf>6XcEO2VzcUaIAKC_YD+FxoWDj%zJLpK4jg zyke@D-_zh#`w`uQwxGaGda$IN$43vc6H z(}h{qQJQ-JnT7W&y|K$pe! zQ{;s>K)Vw+@QK!_yKvDss##cJbWpgf&VM@ysT&WDIj`#;%r~x+&ncRg1-I31xbV5w zrMU1zn&rZPW5l8}fwAnlg;+T;H?!B7=@<_+&yDYscR8Ka zOlGx|zMSG`L#2EkwwZ|MGA&|i!N=?*u_q`&KC?!e_yp20nHdoZlZmO!5@9Bwkl7%6 zW??$BA2FMRV&vgb$9rl51jhQH=Um>e?XX%6%!S+zAybK;-O4&bKgq5aRym-C*>lo?V`$n2`Pp}A=bnv!f^j>An$w3lfg z9#g(XTmACAiT1#_*baGW+Ij}?nITAi8t@Fok`mI*rrXE zg=K8vmJPb zZF89=5@w;PK+d}&WY8?MC7CQH8z0cS@t!T4BtgeZVg=m`fmQlFROlGN9!Sl0ETxM? zUiNURcg9t=j~j*muSvw%$MN>rX4)J&Yyznmap=^dl=BEJ%pi2*A;txaRgATa4U9p? zgM=A$f92d^$UcT4d;1q_S{ZxrT{90octj~6T%k+6W)z`StZ%dm5EM=33_LAl$}y-j z=g~DEaWo-^Fh;lYuF_9;P2Qzqv^jrFxJv&ip{|}Lt7V-byrX@HS?oENJnvvG-K&Y| z-YL>Li>+NE+vyQ|#8zVxV?g9l#wMBFZb5{E_9 zd`DEXrkXStMIGh3NhssjQG88l;(D66!X~aT2P+*9E9>xys3q$F>LpSaZ5S49q~Bxi zQ7Z5VUL>rF)A^5a+hg#8aYSiDv+*XOZJs8SE85Kox;a5Nzeo;?ka1%Q1U7=5f0G#p-df&k-+Hd$7x_P+zB2p;tG)FqV*JidCzg zr9K{04{;xLxJb1h;@XGBO+`@mvd}sXTE{_qDA{iHEXVm!gq(ZTOC;MAE!T07@I_;{ zT8b1rsg)uf>j<;a9;d;NUcw^0L|BH83FqK8;X)XCDV8Fga3$*>Ck%0jL4=U2pCN44 zFSEukHd5$?j3LGyjIT1j!}vEwRgs>T)ev6QC;BMhUA!Q*%&^y8B}D>>#M$M$MaIkNzczU)q;u`s-d>v;L#Qkte)eoKyDYi#=!Fj^ yg2y^DhlhR?CZ<(D63c4zbh*ox?9#ShFlNcQI#z-hf-(V6#oTmGhUkj diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Unity.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Unity.dll.meta deleted file mode 100644 index 1fa1c9ede..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.Unity.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 548ce55e206f04cd1a561c7ca04aeacf -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.WalletConnect.dll b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.WalletConnect.dll index ebe5244a9d2f7f37e2f3d9e805dc2c11d7b46875..7a3dd2cea6fcc0a060869a8a1c70dc95dea0953a 100644 GIT binary patch delta 13634 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 delta 13164 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⁡xYDoIJj< zlhG=G+BuTe)+hxOC5!6|3aaLBFOKzCQWR_awm>XZ9!{29_1zNTf~o}xYXKO0B&>x! zdmg!D`_=@SzuZb#1q0s~=>=MTdBjL2B2@+R{W21fr1Y(V`N$I{EfMyLPef4Ja*RV* zZmK@0tJ%1ZQGpX<)GYH9x(Odb*W05RoC;h@kLk(6`k`i&kEQDyx*5?eMOM|OeKDZb zCS%)#PsaHA5(_k&vILG+%`c2Xsew=HF<(p6<*SfVwX}6ZA?q@z!boljG~E+yn^ZCm zBNbUj!4{Y_4r3J;P}~<5Y~8ua^2{4eii2CIZBzD6On=MRV6SY&kvMCCr?CZRts%Psx&GS znBR=@ShBpJzE>iaDA-aSPsEeaSR(H6NNRpj0<|bFNE9SusK^^pjARX#v6&-W6^=S- zi75O^k9gdV_eF_yv{My2SF#Wl>>M@GD=z9GUa@$7p+$`iR{DMps?W<0Q!M5=<%uuOFo^nwQ@GS4A% z+-NLJufPnUPezP2DB38DHq5hn9_nDmi`PY+=Mfdv*WjS(1*Et(*i1ipkyI;v7c%QK z7+wOd@r|7&Wky@lhL<@n1M#la^KdPzejm$_;}ty}NnTkMdBSq%Wt^J~)ufsZ<0B%B z`QD)`?K+hR{27@)KzMEXek$;aB%jD9U(F}q_ml3mu!pyr3)>f?5?H`pN?XCU*ZH=U z1Q6Hz2uZ9p>`TCz)KU5q%6t`tI)6kU=UWq@6Y7jHh>RP@;S^bp^v5F6X3gf2{&s5F zN{YQ7`{`H&nLhy;x6)rgqWwD3jfRD$dL&R#SLY4jll}0xUe|yHIBycy7S;|p-Y_Hf zg+SwB#-BmJEwn6SGr8raC>!D}0ClM#+uLMYYh)SwY-ZJ#n_^^tN7!Kn>|?acNdkyp z_y|b=f%UNFkOUAn`v^(+O$Wj)Bup_f=!=$1z-v{GD~6f``=QV9najH<-JJz9@mcsG z5}WQEiNo$}i7VZi61QkJdmK!OvwK4JPSz|Z6T>EDzDJoWC6D1|BsSf Qllc{YUE7;)Iek`r;nJzL^R_e_afG`qdO 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 diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.dll.meta deleted file mode 100644 index 72f6b3719..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/ChainSafe.Gaming.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 7ab26bdccec4648e982ebbd1b4efe360 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.Bcl.AsyncInterfaces.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.Bcl.AsyncInterfaces.dll.meta deleted file mode 100644 index e734e3e7a..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.Bcl.AsyncInterfaces.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 27d7b9f332fbe3749b385098a900f166 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.Extensions.DependencyInjection.Abstractions.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.Extensions.DependencyInjection.Abstractions.dll.meta deleted file mode 100644 index efdbcd1f8..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.Extensions.DependencyInjection.Abstractions.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: df5f62e25a5004afbb751f9e9d24fe30 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.Extensions.DependencyInjection.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.Extensions.DependencyInjection.dll.meta deleted file mode 100644 index beadc03f7..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.Extensions.DependencyInjection.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: e620659df1ddd4222a9e0a1c2ea90090 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.Extensions.Logging.Abstractions.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.Extensions.Logging.Abstractions.dll.meta deleted file mode 100644 index f14f4b2e7..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.Extensions.Logging.Abstractions.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 7d403c09b1af740cc932345753a7af29 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.IdentityModel.Abstractions.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.IdentityModel.Abstractions.dll.meta deleted file mode 100644 index 0d8ad42cc..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.IdentityModel.Abstractions.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 2d4847c592aa90d45b492a3e30c71472 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.IdentityModel.Logging.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.IdentityModel.Logging.dll.meta deleted file mode 100644 index d8f67cd48..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.IdentityModel.Logging.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 56e019d23aeb80c4fb2bb7a0a72db307 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.IdentityModel.Tokens.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.IdentityModel.Tokens.dll.meta deleted file mode 100644 index 08d4b5b7d..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Microsoft.IdentityModel.Tokens.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 1170a93099e99e44c9ab4c7e0575bac0 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/NBitcoin.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/NBitcoin.dll.meta deleted file mode 100644 index 3b5bf8f21..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/NBitcoin.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: c4545fc3d64cf4290b0530452e4e94c0 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.ABI.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.ABI.dll.meta deleted file mode 100644 index 8c6827046..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.ABI.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: ff10626a20db14aa5997efbbba9c4b16 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Accounts.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Accounts.dll.meta deleted file mode 100644 index 2fd58ceba..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Accounts.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: b1864f3ff350f4f05bcc8bab1d500c01 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.BlockchainProcessing.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.BlockchainProcessing.dll.meta deleted file mode 100644 index 3efb9e736..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.BlockchainProcessing.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 5d46decbe691d4b85815391e3ca5720c -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Contracts.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Contracts.dll.meta deleted file mode 100644 index 0fa17f8bf..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Contracts.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 21205e85d739840e38296aca33f86fd2 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Hex.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Hex.dll.meta deleted file mode 100644 index 18e0d7b51..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Hex.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 8e5234f508fe041c5af4d2434f498581 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.JsonRpc.Client.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.JsonRpc.Client.dll.meta deleted file mode 100644 index 24593c57a..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.JsonRpc.Client.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 31aaf038e98c4421693d35577deee3c0 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.JsonRpc.IpcClient.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.JsonRpc.IpcClient.dll.meta deleted file mode 100644 index c5796805e..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.JsonRpc.IpcClient.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 784614bc0b93945659eb31bae4df9992 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.JsonRpc.RpcClient.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.JsonRpc.RpcClient.dll.meta deleted file mode 100644 index 600ae0254..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.JsonRpc.RpcClient.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 9c4f509da96d742c498b194c31c2788d -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.KeyStore.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.KeyStore.dll.meta deleted file mode 100644 index 18a0a8001..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.KeyStore.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 4a2a94ff911374ec38908c76da3dde58 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Merkle.Patricia.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Merkle.Patricia.dll.meta deleted file mode 100644 index ced5fcd61..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Merkle.Patricia.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: b413b036a075645aa848a429e43affd0 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Merkle.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Merkle.dll.meta deleted file mode 100644 index bfa469b97..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Merkle.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 950686d7c8fc04cd78efaba593791007 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Model.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Model.dll.meta deleted file mode 100644 index 61bd36e1f..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Model.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 9f3c391f75c10493383db8675fd5977d -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.RLP.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.RLP.dll.meta deleted file mode 100644 index 494fc078f..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.RLP.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 61758d4259bb9462cb8b8e610bf762de -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.RPC.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.RPC.dll.meta deleted file mode 100644 index 6572edf93..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.RPC.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: c2128d9c0be614bbea4980f71db82b0a -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Signer.EIP712.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Signer.EIP712.dll.meta deleted file mode 100644 index 45a0db701..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Signer.EIP712.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: a3dd1e549b7b94ddfb2bc70aaa434b4a -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Signer.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Signer.dll.meta deleted file mode 100644 index 9c780e321..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Signer.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 9de76cf4bb4c246219bb4f7ff0fda55f -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Util.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Util.dll.meta deleted file mode 100644 index d7113c19e..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Util.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 4522a739830754a71bb3b48979df85d0 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Web3.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Web3.dll.meta deleted file mode 100644 index f555127c1..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Nethereum.Web3.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 6f6dc5e43c35c4b3e975cb7e5c3b9feb -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Buffers.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Buffers.dll.meta deleted file mode 100644 index 7ad5b7767..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Buffers.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: fd7837112054c42f3a78a3ac6e752935 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Memory.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Memory.dll.meta deleted file mode 100644 index 58220d17d..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Memory.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: e7a354ca4851c4779a1ac4a046397ded -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Numerics.Vectors.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Numerics.Vectors.dll.meta deleted file mode 100644 index 8d4c19ac6..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Numerics.Vectors.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: b5f9c21f24aca476a889f3a4e34cccfa -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Reactive.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Reactive.dll.meta deleted file mode 100644 index 130d98357..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Reactive.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 98e10528f2a89a04b9d208c264626e92 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Runtime.CompilerServices.Unsafe.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Runtime.CompilerServices.Unsafe.dll.meta deleted file mode 100644 index 491731d30..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Runtime.CompilerServices.Unsafe.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 4fa85804e55fd443abc518c80b577ba5 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Runtime.InteropServices.WindowsRuntime.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Runtime.InteropServices.WindowsRuntime.dll.meta deleted file mode 100644 index 6c113a37a..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Runtime.InteropServices.WindowsRuntime.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 81b5a2c8baee0c74589a47a782c82539 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Security.Cryptography.Cng.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Security.Cryptography.Cng.dll.meta deleted file mode 100644 index 97269fa42..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Security.Cryptography.Cng.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: a9d1dad216422b042889f966ee859157 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Text.Encodings.Web.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Text.Encodings.Web.dll.meta deleted file mode 100644 index 5fcc335be..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Text.Encodings.Web.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 71c4d48934abe64479bee03e88bfb869 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Text.Json.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Text.Json.dll.meta deleted file mode 100644 index 6bce94890..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Text.Json.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 10512087153c9b54c9bb697b83ae7f67 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Threading.Channels.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Threading.Channels.dll.meta deleted file mode 100644 index 9b5fc4c23..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Threading.Channels.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: bd03cf807ecc37a4088c1bc28adf4f1a -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Threading.Tasks.Extensions.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Threading.Tasks.Extensions.dll.meta deleted file mode 100644 index 046471eca..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/System.Threading.Tasks.Extensions.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 834b42419421da94899837a4039d3490 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Auth.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Auth.dll.meta deleted file mode 100644 index aa24a064f..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Auth.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: cb7aa15abef2b2c4baa4a3850450c99e -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Common.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Common.dll.meta deleted file mode 100644 index 1f2d3a241..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Common.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 513e5fe4eea7b6346beb6475d1abf226 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Core.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Core.dll.meta deleted file mode 100644 index c8a645a4c..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Core.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: eadcbcee8a4325245a1bc034bf7d74cc -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Crypto.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Crypto.dll.meta deleted file mode 100644 index 8280505b8..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Crypto.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: d5416ad2f33950a488f78a35fbc4a196 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Events.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Events.dll.meta deleted file mode 100644 index 0837eebb9..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Events.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 8cbb8cdab41803c40af881d9f4302052 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Network.Websocket.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Network.Websocket.dll.meta deleted file mode 100644 index ce54102b0..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Network.Websocket.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 773d424c005ee4544af74a6613ab8f48 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Network.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Network.dll.meta deleted file mode 100644 index 09a6d233c..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Network.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: e2b09fe979b6b644a9bd94758c6eb41d -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Sign.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Sign.dll.meta deleted file mode 100644 index ac8e74672..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Sign.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 070e21644794ad649b949c21096d1691 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Storage.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Storage.dll.meta deleted file mode 100644 index 2947b3293..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Storage.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 4b3ff67a764910d44b291a0a2dc655dc -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Web3Wallet.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Web3Wallet.dll.meta deleted file mode 100644 index aa270b433..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/WalletConnectSharp.Web3Wallet.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 53effb4eda99bca4c9b35499a4a38385 -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: diff --git a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Websocket.Client.dll.meta b/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Websocket.Client.dll.meta deleted file mode 100644 index 026de0714..000000000 --- a/Packages/io.chainsafe.web3-unity/Runtime/Libraries/Websocket.Client.dll.meta +++ /dev/null @@ -1,33 +0,0 @@ -fileFormatVersion: 2 -guid: 1b3cbbe5eaa27094db00a423e5735a0f -PluginImporter: - externalObjects: {} - serializedVersion: 2 - iconMap: {} - executionOrder: {} - defineConstraints: [] - isPreloaded: 0 - isOverridable: 1 - isExplicitlyReferenced: 0 - validateReferences: 1 - platformData: - - first: - Any: - second: - enabled: 1 - settings: {} - - first: - Editor: Editor - second: - enabled: 0 - settings: - DefaultValueInitialized: true - - first: - Windows Store Apps: WindowsStoreApps - second: - enabled: 0 - settings: - CPU: AnyCPU - userData: - assetBundleName: - assetBundleVariant: