├── .github └── workflows │ └── create_release.yml ├── .gitignore ├── Assets ├── Editor │ ├── BuildProfile.cs │ ├── BuildProfileInspector.cs │ ├── BuildTask.cs │ ├── BuildTool.cs │ ├── ExportFCLPackage.cs │ ├── ExportTypeEnum.cs │ └── Models │ │ └── ChainEnum.cs ├── Plugins │ ├── Android │ │ ├── AndroidManifest.xml │ │ ├── gradleTemplate.properties │ │ ├── mainTemplate.gradle │ │ └── unity-release.aar │ ├── Blocto.Sdk │ │ ├── Aptos │ │ │ ├── BloctoWalletProvider.cs │ │ │ ├── Libs │ │ │ │ └── DLLs │ │ │ │ │ └── Mirage.AptosSerializationCore.dll │ │ │ └── Model │ │ │ │ ├── AbiParameterType.cs │ │ │ │ ├── AbiPayload.cs │ │ │ │ ├── Code.cs │ │ │ │ ├── EntryFunctionTransactionPayload.cs │ │ │ │ ├── PublicKey.cs │ │ │ │ ├── ScriptPayload.cs │ │ │ │ ├── ScriptTransactionOutershell.cs │ │ │ │ ├── ScriptTransactionPayload.cs │ │ │ │ ├── SignMessagePreRequest.cs │ │ │ │ ├── SignMessageResponse.cs │ │ │ │ ├── TransactionPreRequest.cs │ │ │ │ └── TransactonPayload.cs │ │ ├── Core │ │ │ ├── Extension │ │ │ │ ├── BigIntegerExtensions.cs │ │ │ │ ├── ByteExtension.cs │ │ │ │ ├── EnumExtension.cs │ │ │ │ ├── EnumerableExtensions.cs │ │ │ │ ├── FormattingExtensions.cs │ │ │ │ ├── HexBigIntegerConvertorExtensions.cs │ │ │ │ ├── HexByteConvertorExtensions.cs │ │ │ │ ├── HexStringUTF8ConvertorExtensions.cs │ │ │ │ ├── LogExtension.cs │ │ │ │ ├── NumberExtension.cs │ │ │ │ └── UniversalLinkExtensions.cs │ │ │ ├── Model │ │ │ │ ├── AndroidCallback.cs │ │ │ │ ├── ApiException.cs │ │ │ │ ├── BaseWalletProvider.cs │ │ │ │ ├── EnvEnum.cs │ │ │ │ ├── Error.cs │ │ │ │ ├── ObjectResponseResult.cs │ │ │ │ ├── SignMessagePreResponse.cs │ │ │ │ └── TransactionPreResponse.cs │ │ │ └── Utility │ │ │ │ ├── KeyGenerator.cs │ │ │ │ ├── RLP.cs │ │ │ │ └── WebRequestUtility.cs │ │ ├── Evm │ │ │ ├── BloctoWalletProvider.cs │ │ │ ├── EthereumClient.cs │ │ │ ├── Model │ │ │ │ ├── AbiResult.cs │ │ │ │ ├── ChainEnum.cs │ │ │ │ ├── Eth │ │ │ │ │ └── TransactionReceipt.cs │ │ │ │ ├── EvmTransaction.cs │ │ │ │ ├── Hex │ │ │ │ │ ├── HexBigInteger.cs │ │ │ │ │ ├── HexBigIntegerBigEndianConvertor.cs │ │ │ │ │ ├── HexRPCType.cs │ │ │ │ │ ├── HexRPCTypeJsonConverter.cs │ │ │ │ │ ├── HexTypeFactory.cs │ │ │ │ │ ├── HexUTF8String.cs │ │ │ │ │ ├── HexUTF8StringConvertor.cs │ │ │ │ │ └── IHexConvertor.cs │ │ │ │ ├── Rpc │ │ │ │ │ ├── AccessList.cs │ │ │ │ │ ├── BodyTemplate.cs │ │ │ │ │ ├── ChainRpcRequest.cs │ │ │ │ │ ├── JsonRpcError.cs │ │ │ │ │ ├── RpcError.cs │ │ │ │ │ ├── RpcParametersJsonConverter.cs │ │ │ │ │ ├── RpcRequest.cs │ │ │ │ │ ├── RpcResponse.cs │ │ │ │ │ ├── RpcResponseException.cs │ │ │ │ │ ├── RpcResponseExtensions.cs │ │ │ │ │ └── Transaction.cs │ │ │ │ ├── SignMessagePreRequest.cs │ │ │ │ └── SignTypeEnum.cs │ │ │ ├── Nethereum │ │ │ │ ├── Nethereum.ABI │ │ │ │ │ ├── ABIDeserialisation │ │ │ │ │ │ ├── ABIDeserialiserFactory.cs │ │ │ │ │ │ ├── ABIJsonDeserialiser.cs │ │ │ │ │ │ ├── ABIStringSignatureDeserialiser.cs │ │ │ │ │ │ └── ExpandoConvertor.cs │ │ │ │ │ ├── ABIEncode.cs │ │ │ │ │ ├── ABIType.cs │ │ │ │ │ ├── ABIValue.cs │ │ │ │ │ ├── AddressType.cs │ │ │ │ │ ├── ArrayType.cs │ │ │ │ │ ├── BoolType.cs │ │ │ │ │ ├── ByteCodeConstants.cs │ │ │ │ │ ├── Bytes32Type.cs │ │ │ │ │ ├── BytesElementaryType.cs │ │ │ │ │ ├── BytesType.cs │ │ │ │ │ ├── Decoders │ │ │ │ │ │ ├── AddressTypeDecoder.cs │ │ │ │ │ │ ├── ArrayTypeDecoder.cs │ │ │ │ │ │ ├── BoolTypeDecoder.cs │ │ │ │ │ │ ├── ByteUtilExtensions.cs │ │ │ │ │ │ ├── Bytes32TypeDecoder.cs │ │ │ │ │ │ ├── BytesElementaryTypeDecoder .cs │ │ │ │ │ │ ├── BytesTypeDecoder.cs │ │ │ │ │ │ ├── DynamicArrayTypeDecoder.cs │ │ │ │ │ │ ├── IRawDecoder.cs │ │ │ │ │ │ ├── ITypeDecoder.cs │ │ │ │ │ │ ├── IntTypeDecoder.cs │ │ │ │ │ │ ├── StringBytes32Decoder.cs │ │ │ │ │ │ ├── StringTypeDecoder.cs │ │ │ │ │ │ ├── TupleTypeDecoder.cs │ │ │ │ │ │ └── TypeDecoder.cs │ │ │ │ │ ├── DynamicArrayType.cs │ │ │ │ │ ├── EIP712 │ │ │ │ │ │ ├── Domain.cs │ │ │ │ │ │ ├── EIP2612 │ │ │ │ │ │ │ ├── EIP2612TypeFactory.cs │ │ │ │ │ │ │ └── Permit.cs │ │ │ │ │ │ ├── Eip712TypedDataEncoder.cs │ │ │ │ │ │ ├── MemberDescription.cs │ │ │ │ │ │ ├── MemberDescriptionFactory.cs │ │ │ │ │ │ ├── MemberValue.cs │ │ │ │ │ │ ├── MemberValueFactory.cs │ │ │ │ │ │ ├── TypedData.cs │ │ │ │ │ │ ├── TypedDataRaw.cs │ │ │ │ │ │ └── TypedDataRawJsonConversion.cs │ │ │ │ │ ├── EncoderDecoderHelpers.cs │ │ │ │ │ ├── Encoders │ │ │ │ │ │ ├── AddressTypeEncoder.cs │ │ │ │ │ │ ├── ArrayTypeEncoder.cs │ │ │ │ │ │ ├── BoolTypeEncoder.cs │ │ │ │ │ │ ├── Bytes32TypeEncoder.cs │ │ │ │ │ │ ├── BytesElementaryTypeEncoder.cs │ │ │ │ │ │ ├── BytesTypeEncoder.cs │ │ │ │ │ │ ├── DynamicArrayTypeEncoder.cs │ │ │ │ │ │ ├── ITypeEncoder.cs │ │ │ │ │ │ ├── IntTypeEncoder.cs │ │ │ │ │ │ ├── StaticArrayTypeEncoder.cs │ │ │ │ │ │ ├── StringTypeEncoder.cs │ │ │ │ │ │ └── TupleTypeEncoder.cs │ │ │ │ │ ├── FunctionEncoding │ │ │ │ │ │ ├── AbiEncodingException.cs │ │ │ │ │ │ ├── AttributeEncoding │ │ │ │ │ │ │ ├── ParameterAttributeValue.cs │ │ │ │ │ │ │ └── ParameterOutputProperty.cs │ │ │ │ │ │ ├── Attributes │ │ │ │ │ │ │ ├── AttributesToABIExtractor.cs │ │ │ │ │ │ │ ├── ErrorAttribute.cs │ │ │ │ │ │ │ ├── EventAttribute.cs │ │ │ │ │ │ │ ├── FunctionAttribute.cs │ │ │ │ │ │ │ ├── FunctionOutputAttribute.cs │ │ │ │ │ │ │ ├── IErrorDTO.cs │ │ │ │ │ │ │ ├── IEventDTO.cs │ │ │ │ │ │ │ ├── IFunctionOutputDTO.cs │ │ │ │ │ │ │ ├── ParameterAttribute.cs │ │ │ │ │ │ │ ├── ParameterAttributeIndexedTopics.cs │ │ │ │ │ │ │ ├── ParameterIndexedTopicExtractor.cs │ │ │ │ │ │ │ ├── PropertiesExtractor.cs │ │ │ │ │ │ │ └── StructAttribute.cs │ │ │ │ │ │ ├── ByteCodeLibrary.cs │ │ │ │ │ │ ├── ByteCodeLibraryLinker.cs │ │ │ │ │ │ ├── ByteCodeSwarmExtractor.cs │ │ │ │ │ │ ├── ConstructorCallDecoder.cs │ │ │ │ │ │ ├── ConstructorCallEncoder.cs │ │ │ │ │ │ ├── DecodedValue.cs │ │ │ │ │ │ ├── ErrorFunction.cs │ │ │ │ │ │ ├── EventTopicDecoder.cs │ │ │ │ │ │ ├── FunctionCallDecoder.cs │ │ │ │ │ │ ├── FunctionCallEncoder.cs │ │ │ │ │ │ ├── JsonParameterObjectConvertor.cs │ │ │ │ │ │ ├── ParameterDecoder.cs │ │ │ │ │ │ ├── ParameterExtensions.cs │ │ │ │ │ │ ├── ParameterOutput.cs │ │ │ │ │ │ ├── ParameterOutputExtensions.cs │ │ │ │ │ │ ├── ParametersEncoder.cs │ │ │ │ │ │ ├── PropertyInfoExtensions.cs │ │ │ │ │ │ ├── SerpentSignatureEncoder.cs │ │ │ │ │ │ ├── SignatureEncoder.cs │ │ │ │ │ │ └── SmartContractRevertException.cs │ │ │ │ │ ├── IntType.cs │ │ │ │ │ ├── Model │ │ │ │ │ │ ├── ConstructorABI.cs │ │ │ │ │ │ ├── ContractABI.cs │ │ │ │ │ │ ├── ErrorABI.cs │ │ │ │ │ │ ├── EventABI.cs │ │ │ │ │ │ ├── FunctionABI.cs │ │ │ │ │ │ └── Parameter.cs │ │ │ │ │ ├── StaticArrayType.cs │ │ │ │ │ ├── StringType.cs │ │ │ │ │ ├── TupleType.cs │ │ │ │ │ ├── Util │ │ │ │ │ │ ├── ByteUtil.cs │ │ │ │ │ │ └── NumberUtilExtensions.cs │ │ │ │ │ └── net35 │ │ │ │ │ │ └── IntrospectionExtensions.cs │ │ │ │ ├── Nethereum.Contracts │ │ │ │ │ ├── Builders │ │ │ │ │ │ ├── ABITypedRegistry.cs │ │ │ │ │ │ ├── ContractBuilder.cs │ │ │ │ │ │ ├── DeployContractTransactionBuilder.cs │ │ │ │ │ │ ├── EventBuilder.cs │ │ │ │ │ │ ├── EventTopicBuilder.cs │ │ │ │ │ │ ├── FilterInput │ │ │ │ │ │ │ ├── BlockRange.cs │ │ │ │ │ │ │ ├── FilterExtensions.cs │ │ │ │ │ │ │ ├── FilterInputBuilder_T.cs │ │ │ │ │ │ │ ├── TopicFilter.cs │ │ │ │ │ │ │ └── TopicFilterContainer.cs │ │ │ │ │ │ ├── FilterInputBuilder.cs │ │ │ │ │ │ ├── FunctionBuilder.cs │ │ │ │ │ │ └── FunctionBuilderBase.cs │ │ │ │ │ ├── CQS │ │ │ │ │ │ └── ContractMessageBase.cs │ │ │ │ │ ├── Comparers │ │ │ │ │ │ └── EventLogBlockNumberTransactionIndexComparer.cs │ │ │ │ │ ├── Constants │ │ │ │ │ │ └── CommonAddresses.cs │ │ │ │ │ ├── Contract.cs │ │ │ │ │ ├── ContractCall.cs │ │ │ │ │ ├── ContractDeploymentMessage.cs │ │ │ │ │ ├── ContractHandlers │ │ │ │ │ │ ├── ContractDeploymentHandler.cs │ │ │ │ │ │ ├── ContractHandler.cs │ │ │ │ │ │ ├── ContractQueryEthCallHandler.cs │ │ │ │ │ │ ├── ContractQueryHandler.cs │ │ │ │ │ │ ├── ContractQueryHandlerBase.cs │ │ │ │ │ │ ├── ContractTransactionHandler.cs │ │ │ │ │ │ ├── ContractTransactionHandlerBase.cs │ │ │ │ │ │ ├── IContractDeploymentTransactionHandler.cs │ │ │ │ │ │ ├── IContractQueryHandler.cs │ │ │ │ │ │ └── IContractTransactionHandler.cs │ │ │ │ │ ├── ContractOperationType.cs │ │ │ │ │ ├── ContractRevertExceptionHandler.cs │ │ │ │ │ ├── DeployContract.cs │ │ │ │ │ ├── DeploymentHandlers │ │ │ │ │ │ ├── DeploymentEstimatorHandler.cs │ │ │ │ │ │ ├── DeploymentHandlerBase.cs │ │ │ │ │ │ ├── DeploymentSigner.cs │ │ │ │ │ │ ├── DeploymentTransactionReceiptPollHandler.cs │ │ │ │ │ │ ├── DeploymentTransactionSenderHandler.cs │ │ │ │ │ │ ├── IDeploymentEstimatorHandler.cs │ │ │ │ │ │ ├── IDeploymentSigner.cs │ │ │ │ │ │ ├── IDeploymentTransactionReceiptPollHandler.cs │ │ │ │ │ │ └── IDeploymentTransactionSenderHandler.cs │ │ │ │ │ ├── Error.cs │ │ │ │ │ ├── ErrorBase.cs │ │ │ │ │ ├── Event.cs │ │ │ │ │ ├── EventBase.cs │ │ │ │ │ ├── EventLog.cs │ │ │ │ │ ├── Event{1}.cs │ │ │ │ │ ├── Exceptions │ │ │ │ │ │ ├── FilterInputNotForEventException.cs │ │ │ │ │ │ └── SmartContractCustomErrorRevertException.cs │ │ │ │ │ ├── Extensions │ │ │ │ │ │ ├── ContractMessageAbiEncodeExtensions.cs │ │ │ │ │ │ ├── ContractMessageHexBigIntegerExtensions.cs │ │ │ │ │ │ ├── DeploymentMessageExtensions.cs │ │ │ │ │ │ ├── ErrorExtensions.cs │ │ │ │ │ │ ├── EventExtensions.cs │ │ │ │ │ │ ├── FunctionMessageExtensions.cs │ │ │ │ │ │ └── FunctionOuputDTOExtensions.cs │ │ │ │ │ ├── Function.cs │ │ │ │ │ ├── FunctionBase.cs │ │ │ │ │ ├── FunctionMessage.cs │ │ │ │ │ ├── Function{1}.cs │ │ │ │ │ ├── IDeployContract.cs │ │ │ │ │ ├── IEventLog.cs │ │ │ │ │ ├── MessageEncodingServices │ │ │ │ │ │ ├── DeploymentMessageEncodingService.cs │ │ │ │ │ │ ├── FunctionMessageEncodingService.cs │ │ │ │ │ │ ├── IContractMessageTransactionInputCreator.cs │ │ │ │ │ │ └── IFunctionMessageEncodingService.cs │ │ │ │ │ ├── QueryHandlers │ │ │ │ │ │ ├── IQueryHandler.cs │ │ │ │ │ │ ├── MultiCall │ │ │ │ │ │ │ ├── IMulticallInputOutput.cs │ │ │ │ │ │ │ ├── MultiQueryHandler.cs │ │ │ │ │ │ │ └── MulticallInputOutput.cs │ │ │ │ │ │ ├── QueryDecoderBaseHandler.cs │ │ │ │ │ │ ├── QueryHandlerBase.cs │ │ │ │ │ │ ├── QueryRawHandler.cs │ │ │ │ │ │ ├── QueryToDTOHandler.cs │ │ │ │ │ │ └── QueryToSimpleTypeHandler.cs │ │ │ │ │ ├── Services │ │ │ │ │ │ ├── EthApiContractService.cs │ │ │ │ │ │ ├── EthGetTransactionErrorReason.cs │ │ │ │ │ │ ├── IEthApiContractService.cs │ │ │ │ │ │ └── IEthGetTransactionErrorReason.cs │ │ │ │ │ ├── Standards │ │ │ │ │ │ ├── ENS │ │ │ │ │ │ │ ├── AbiTypeContentType.cs │ │ │ │ │ │ │ ├── ENSRegistry │ │ │ │ │ │ │ │ └── ContractDefinition │ │ │ │ │ │ │ │ │ └── ENSRegistryDefinition.cs │ │ │ │ │ │ │ ├── ENSRegistryService.cs │ │ │ │ │ │ │ ├── ENSService.cs │ │ │ │ │ │ │ ├── ETHRegistrarController │ │ │ │ │ │ │ │ └── ContractDefinition │ │ │ │ │ │ │ │ │ └── ETHRegistrarControllerDefinition.cs │ │ │ │ │ │ │ ├── ETHRegistrarControllerService.cs │ │ │ │ │ │ │ ├── EnsUtil.cs │ │ │ │ │ │ │ ├── EthTLSService.cs │ │ │ │ │ │ │ ├── PublicResolver │ │ │ │ │ │ │ │ └── ContractDefinition │ │ │ │ │ │ │ │ │ └── PublicResolverDefinition.cs │ │ │ │ │ │ │ ├── PublicResolverService.cs │ │ │ │ │ │ │ ├── Registrar │ │ │ │ │ │ │ │ └── ContractDefinition │ │ │ │ │ │ │ │ │ └── RegistrarDefinition.cs │ │ │ │ │ │ │ ├── RegistrarService.cs │ │ │ │ │ │ │ ├── ReverseRegistrar │ │ │ │ │ │ │ │ └── ContractDefinition │ │ │ │ │ │ │ │ │ └── ReverseRegistrarDefinition.cs │ │ │ │ │ │ │ ├── TextDataKey.cs │ │ │ │ │ │ │ └── TextDataKeyExtensions.cs │ │ │ │ │ │ ├── ERC1155 │ │ │ │ │ │ │ ├── ContractDefinition │ │ │ │ │ │ │ │ └── ERC1155Definition.cs │ │ │ │ │ │ │ ├── ERC1155ContractService.cs │ │ │ │ │ │ │ ├── ERC1155Service.cs │ │ │ │ │ │ │ └── NFT1155Metadata.cs │ │ │ │ │ │ ├── ERC1271 │ │ │ │ │ │ │ ├── ContractDefinition │ │ │ │ │ │ │ │ └── ERC1271Definition.cs │ │ │ │ │ │ │ ├── ERC1271ContractService.cs │ │ │ │ │ │ │ └── ERC1271Service.cs │ │ │ │ │ │ ├── ERC20 │ │ │ │ │ │ │ ├── ContractDefinition │ │ │ │ │ │ │ │ └── ERC20Definition.cs │ │ │ │ │ │ │ ├── ERC20ContractService.cs │ │ │ │ │ │ │ ├── ERC20Service.cs │ │ │ │ │ │ │ ├── TokenList │ │ │ │ │ │ │ │ ├── Root.cs │ │ │ │ │ │ │ │ ├── Token.cs │ │ │ │ │ │ │ │ ├── TokenListService.cs │ │ │ │ │ │ │ │ ├── TokenListSources.cs │ │ │ │ │ │ │ │ └── Version.cs │ │ │ │ │ │ │ └── TokenOwnerBalance.cs │ │ │ │ │ │ ├── ERC721 │ │ │ │ │ │ │ ├── ContractDefinition │ │ │ │ │ │ │ │ └── ERC721Definition.cs │ │ │ │ │ │ │ ├── ERC721ContractService.cs │ │ │ │ │ │ │ ├── ERC721ContractServiceExt.cs │ │ │ │ │ │ │ ├── ERC721Service.cs │ │ │ │ │ │ │ ├── ERC721TokenOwnerInfo.cs │ │ │ │ │ │ │ └── NFTMetadata.cs │ │ │ │ │ │ └── ProofOfHumanity │ │ │ │ │ │ │ ├── ContractDefinition │ │ │ │ │ │ │ └── ProofOfHumanityDefinition.cs │ │ │ │ │ │ │ ├── Model │ │ │ │ │ │ │ ├── Registration.cs │ │ │ │ │ │ │ └── RegistrationEvidence.cs │ │ │ │ │ │ │ ├── ProofOfHumanityContractService.cs │ │ │ │ │ │ │ ├── ProofOfHumanityContractServiceExt.cs │ │ │ │ │ │ │ └── ProofOfHumanityService.cs │ │ │ │ │ └── TransactionHandlers │ │ │ │ │ │ ├── ITransactionEstimatorHandler.cs │ │ │ │ │ │ ├── ITransactionReceiptPollHandler.cs │ │ │ │ │ │ ├── ITransactionSenderHandler.cs │ │ │ │ │ │ ├── ITransactionSigner.cs │ │ │ │ │ │ ├── MultiSend │ │ │ │ │ │ └── MultiSend.cs │ │ │ │ │ │ ├── TransactionEstimatorHandler.cs │ │ │ │ │ │ ├── TransactionHandlerBase.cs │ │ │ │ │ │ ├── TransactionReceiptPollHandler.cs │ │ │ │ │ │ ├── TransactionSenderHandler.cs │ │ │ │ │ │ └── TransactionSignerHandler.cs │ │ │ │ ├── Nethereum.Hex │ │ │ │ │ ├── BigInteger.cs │ │ │ │ │ ├── HexConvertors │ │ │ │ │ │ ├── Extensions │ │ │ │ │ │ │ ├── HexBigIntegerConvertorExtensions.cs │ │ │ │ │ │ │ ├── HexByteConvertorExtensions.cs │ │ │ │ │ │ │ └── HexStringUTF8ConvertorExtensions.cs │ │ │ │ │ │ ├── HexBigIntegerBigEndianConvertor.cs │ │ │ │ │ │ ├── HexUTF8StringConvertor.cs │ │ │ │ │ │ └── IHexConvertor.cs │ │ │ │ │ ├── HexTypes │ │ │ │ │ │ ├── HexBigInteger.cs │ │ │ │ │ │ ├── HexBigIntegerNumberExtensions.cs │ │ │ │ │ │ ├── HexType.cs │ │ │ │ │ │ ├── HexTypeFactory.cs │ │ │ │ │ │ ├── HexTypeJsonConverter.cs │ │ │ │ │ │ └── HexUTF8String.cs │ │ │ │ │ └── NethereumKey.snk │ │ │ │ ├── Nethereum.JsonRpc.Client │ │ │ │ │ ├── ClientBase.cs │ │ │ │ │ ├── Configuration.cs │ │ │ │ │ ├── DefaultJsonSerializerSettingsFactory.cs │ │ │ │ │ ├── IBaseClient.cs │ │ │ │ │ ├── IClient.cs │ │ │ │ │ ├── IRpcRequestHandler.cs │ │ │ │ │ ├── IRpcRequestResponseBatchItem.cs │ │ │ │ │ ├── RPCLogger.cs │ │ │ │ │ ├── RPCResponseException.cs │ │ │ │ │ ├── RequestInterceptor.cs │ │ │ │ │ ├── RpcClientTimeoutException.cs │ │ │ │ │ ├── RpcClientUnknownException.cs │ │ │ │ │ ├── RpcError.cs │ │ │ │ │ ├── RpcMessages │ │ │ │ │ │ └── RpcMessages.cs │ │ │ │ │ ├── RpcRequest.cs │ │ │ │ │ ├── RpcRequestBuilder.cs │ │ │ │ │ ├── RpcRequestResponseBatch.cs │ │ │ │ │ ├── RpcRequestResponseBatchItem.cs │ │ │ │ │ ├── RpcRequestResponseHandler.cs │ │ │ │ │ ├── RpcRequestResponseHandlerNoParam.cs │ │ │ │ │ ├── Streaming │ │ │ │ │ │ ├── IRpcStreamingResponseHandler.cs │ │ │ │ │ │ ├── IRpcStreamingSubscriptionHandler.cs │ │ │ │ │ │ ├── IStreamingClient.cs │ │ │ │ │ │ ├── IUnsubscribeSubscriptionRpcRequestBuilder.cs │ │ │ │ │ │ ├── RpcStreamingRequestResponseHandler.cs │ │ │ │ │ │ ├── RpcStreamingResponseEventHandler.cs │ │ │ │ │ │ ├── RpcStreamingSubscriptionEventResponseHandler.cs │ │ │ │ │ │ ├── RpcStreamingSubscriptionHandler.cs │ │ │ │ │ │ ├── StreamingEventArgs.cs │ │ │ │ │ │ └── SubscriptionState.cs │ │ │ │ │ └── UserAuthentication.cs │ │ │ │ ├── Nethereum.JsonRpc.RpcClient │ │ │ │ │ ├── BasicAuthenticationHeaderHelper.cs │ │ │ │ │ ├── RpcClient.cs │ │ │ │ │ └── SimpleRpcClient.cs │ │ │ │ ├── Nethereum.Model │ │ │ │ │ ├── Account.cs │ │ │ │ │ ├── AccountEncoder.cs │ │ │ │ │ ├── BlockHeader.cs │ │ │ │ │ ├── BlockHeaderEncoder.cs │ │ │ │ │ ├── DefaultValues.cs │ │ │ │ │ ├── Log.cs │ │ │ │ │ └── LogBloomFilter.cs │ │ │ │ ├── Nethereum.RLP │ │ │ │ │ ├── ConvertorForRLPEncodingExtensions.cs │ │ │ │ │ ├── IRLPElement.cs │ │ │ │ │ ├── RLP.cs │ │ │ │ │ ├── RLPCollection.cs │ │ │ │ │ ├── RLPItem.cs │ │ │ │ │ └── RLPStringFormatter.cs │ │ │ │ ├── Nethereum.RPC │ │ │ │ │ ├── AccountSigning │ │ │ │ │ │ ├── AccountSigningService.cs │ │ │ │ │ │ ├── EthPersonalSign.cs │ │ │ │ │ │ ├── EthSignTypedDataV4.cs │ │ │ │ │ │ ├── IAccountSigningService.cs │ │ │ │ │ │ ├── IEthPersonalSign.cs │ │ │ │ │ │ └── IEthSignTypedDataV4.cs │ │ │ │ │ ├── Accounts │ │ │ │ │ │ └── IAccount.cs │ │ │ │ │ ├── ApiMethods.cs │ │ │ │ │ ├── Chain │ │ │ │ │ │ ├── ChainDefaultFeaturesServicesRepository.cs │ │ │ │ │ │ ├── ChainFeature.cs │ │ │ │ │ │ └── ChainFeaturesService.cs │ │ │ │ │ ├── Constants.cs │ │ │ │ │ ├── DebugNode │ │ │ │ │ │ ├── DebugApiService.cs │ │ │ │ │ │ ├── DebugGetBadBlocks.cs │ │ │ │ │ │ ├── DebugGetRawBlock.cs │ │ │ │ │ │ ├── DebugGetRawHeader.cs │ │ │ │ │ │ ├── DebugGetRawReceipts.cs │ │ │ │ │ │ ├── DebugGetRawTransaction.cs │ │ │ │ │ │ ├── DebugStorageRangeAt.cs │ │ │ │ │ │ ├── Dtos │ │ │ │ │ │ │ ├── AccountStorageValue.cs │ │ │ │ │ │ │ └── DebugStorageAtResult.cs │ │ │ │ │ │ ├── IDebugApiService.cs │ │ │ │ │ │ ├── IDebugGetBadBlocks.cs │ │ │ │ │ │ ├── IDebugGetRawBlock.cs │ │ │ │ │ │ ├── IDebugGetRawHeader.cs │ │ │ │ │ │ ├── IDebugGetRawReceipts.cs │ │ │ │ │ │ ├── IDebugGetRawTransaction.cs │ │ │ │ │ │ └── IDebugStorageRangeAt.cs │ │ │ │ │ ├── Eth │ │ │ │ │ │ ├── Blocks │ │ │ │ │ │ │ ├── EthBlockNumber.cs │ │ │ │ │ │ │ ├── EthGetBlockByHash.cs │ │ │ │ │ │ │ ├── EthGetBlockTransactionCountByHash.cs │ │ │ │ │ │ │ ├── EthGetBlockTransactionCountByNumber.cs │ │ │ │ │ │ │ ├── EthGetBlockWithTransactionsByNumber.cs │ │ │ │ │ │ │ ├── EthGetBlockWithTransactionsHashesByNumber.cs │ │ │ │ │ │ │ ├── IEthBlockNumber.cs │ │ │ │ │ │ │ ├── IEthGetBlockTransactionCountByHash.cs │ │ │ │ │ │ │ ├── IEthGetBlockTransactionCountByNumber.cs │ │ │ │ │ │ │ ├── IEthGetBlockWithTransactionsByHash.cs │ │ │ │ │ │ │ ├── IEthGetBlockWithTransactionsByNumber.cs │ │ │ │ │ │ │ ├── IEthGetBlockWithTransactionsHashesByHash.cs │ │ │ │ │ │ │ ├── IEthGetBlockWithTransactionsHashesByNumber.cs │ │ │ │ │ │ │ ├── ILastConfirmedBlockNumberService.cs │ │ │ │ │ │ │ └── LastConfirmedBlockNumberService.cs │ │ │ │ │ │ ├── Compilation │ │ │ │ │ │ │ ├── EthCompileLLL.cs │ │ │ │ │ │ │ ├── EthCompileSerpent.cs │ │ │ │ │ │ │ ├── EthCompileSolidity.cs │ │ │ │ │ │ │ ├── EthGetCompilers.cs │ │ │ │ │ │ │ ├── IEthCompileLLL.cs │ │ │ │ │ │ │ ├── IEthCompileSerpent.cs │ │ │ │ │ │ │ ├── IEthCompileSolidity.cs │ │ │ │ │ │ │ └── IEthGetCompilers.cs │ │ │ │ │ │ ├── DTOs │ │ │ │ │ │ │ ├── AccessList.cs │ │ │ │ │ │ │ ├── AccessListGasUsed.cs │ │ │ │ │ │ │ ├── AccountProof.cs │ │ │ │ │ │ │ ├── BadBlock.cs │ │ │ │ │ │ │ ├── Block.cs │ │ │ │ │ │ │ ├── BlockExtensions.cs │ │ │ │ │ │ │ ├── BlockParameter.cs │ │ │ │ │ │ │ ├── BlockParameterJsonConverter.cs │ │ │ │ │ │ │ ├── BlockWithTransactionHashes.cs │ │ │ │ │ │ │ ├── BlockWithTransactions.cs │ │ │ │ │ │ │ ├── CallInput.cs │ │ │ │ │ │ │ ├── Comparers │ │ │ │ │ │ │ │ └── FilterLogBlockNumberTransactionIndexLogIndexComparer.cs │ │ │ │ │ │ │ ├── EthNewFilterInput.cs │ │ │ │ │ │ │ ├── EthNewSubscriptionInput.cs │ │ │ │ │ │ │ ├── FeeHistoryResult.cs │ │ │ │ │ │ │ ├── FilterLog.cs │ │ │ │ │ │ │ ├── StorageProof.cs │ │ │ │ │ │ │ ├── SyncingOutput.cs │ │ │ │ │ │ │ ├── Transaction.cs │ │ │ │ │ │ │ ├── TransactionExtensions.cs │ │ │ │ │ │ │ ├── TransactionInput.cs │ │ │ │ │ │ │ ├── TransactionReceipt.cs │ │ │ │ │ │ │ ├── TransactionReceiptExtensions.cs │ │ │ │ │ │ │ └── ValueObjects │ │ │ │ │ │ │ │ ├── ContractCreationVO.cs │ │ │ │ │ │ │ │ ├── ContractTransaction.cs │ │ │ │ │ │ │ │ ├── FilterLogVO.cs │ │ │ │ │ │ │ │ ├── TransactionReceiptVO.cs │ │ │ │ │ │ │ │ ├── TransactionVO.cs │ │ │ │ │ │ │ │ └── TransactionVmStack.cs │ │ │ │ │ │ ├── EthAccounts.cs │ │ │ │ │ │ ├── EthChainId.cs │ │ │ │ │ │ ├── EthCoinBase.cs │ │ │ │ │ │ ├── EthCreateAccessList.cs │ │ │ │ │ │ ├── EthGasPrice.cs │ │ │ │ │ │ ├── EthGetBalance.cs │ │ │ │ │ │ ├── EthGetCode.cs │ │ │ │ │ │ ├── EthGetProof.cs │ │ │ │ │ │ ├── EthGetStorageAt.cs │ │ │ │ │ │ ├── EthMaxPriorityFeePerGas.cs │ │ │ │ │ │ ├── EthProtocolVersion.cs │ │ │ │ │ │ ├── EthSign.cs │ │ │ │ │ │ ├── EthSyncing.cs │ │ │ │ │ │ ├── Exceptions │ │ │ │ │ │ │ └── ContractDeploymentException.cs │ │ │ │ │ │ ├── Filters │ │ │ │ │ │ │ ├── EthGetFilterChanges.cs │ │ │ │ │ │ │ ├── EthGetFilterChangesForBlockOrTransaction.cs │ │ │ │ │ │ │ ├── EthGetFilterLogs.cs │ │ │ │ │ │ │ ├── EthGetFilterLogsForEthNewFilter.cs │ │ │ │ │ │ │ ├── EthGetLogs.cs │ │ │ │ │ │ │ ├── EthNewBlockFilter.cs │ │ │ │ │ │ │ ├── EthNewFilter.cs │ │ │ │ │ │ │ ├── EthNewPendingTransactionFilter.cs │ │ │ │ │ │ │ ├── EthUninstallFilter.cs │ │ │ │ │ │ │ ├── IEthGetFilterChangesForBlockOrTransaction.cs │ │ │ │ │ │ │ ├── IEthGetFilterChangesForEthNewFilter.cs │ │ │ │ │ │ │ ├── IEthGetFilterLogsForBlockOrTransaction.cs │ │ │ │ │ │ │ ├── IEthGetFilterLogsForEthNewFilter.cs │ │ │ │ │ │ │ ├── IEthGetLogs.cs │ │ │ │ │ │ │ ├── IEthNewBlockFilter.cs │ │ │ │ │ │ │ ├── IEthNewFilter.cs │ │ │ │ │ │ │ ├── IEthNewPendingTransactionFilter.cs │ │ │ │ │ │ │ └── IEthUninstallFilter.cs │ │ │ │ │ │ ├── IDefaultBlock.cs │ │ │ │ │ │ ├── IEthAccounts.cs │ │ │ │ │ │ ├── IEthChainId.cs │ │ │ │ │ │ ├── IEthCoinBase.cs │ │ │ │ │ │ ├── IEthCreateAccessList.cs │ │ │ │ │ │ ├── IEthGasPrice.cs │ │ │ │ │ │ ├── IEthGetBalance.cs │ │ │ │ │ │ ├── IEthGetCode.cs │ │ │ │ │ │ ├── IEthGetProof.cs │ │ │ │ │ │ ├── IEthGetStorageAt.cs │ │ │ │ │ │ ├── IEthMaxPriorityFeePerGas.cs │ │ │ │ │ │ ├── IEthProtocolVersion.cs │ │ │ │ │ │ ├── IEthSign.cs │ │ │ │ │ │ ├── IEthSyncing.cs │ │ │ │ │ │ ├── Mining │ │ │ │ │ │ │ ├── EthGetWork.cs │ │ │ │ │ │ │ ├── EthHashrate.cs │ │ │ │ │ │ │ ├── EthMining.cs │ │ │ │ │ │ │ ├── EthSubmitHashrate.cs │ │ │ │ │ │ │ ├── EthSubmitWork.cs │ │ │ │ │ │ │ ├── IEthGetWork.cs │ │ │ │ │ │ │ ├── IEthHashrate.cs │ │ │ │ │ │ │ ├── IEthMining.cs │ │ │ │ │ │ │ ├── IEthSubmitHashrate.cs │ │ │ │ │ │ │ └── IEthSubmitWork.cs │ │ │ │ │ │ ├── Services │ │ │ │ │ │ │ ├── EthApiBlockService.cs │ │ │ │ │ │ │ ├── EthApiCompilerService.cs │ │ │ │ │ │ │ ├── EthApiFilterService.cs │ │ │ │ │ │ │ ├── EthApiMiningService.cs │ │ │ │ │ │ │ ├── EthApiTransactionsService.cs │ │ │ │ │ │ │ ├── EthApiUncleService.cs │ │ │ │ │ │ │ ├── IEthApiBlockService.cs │ │ │ │ │ │ │ ├── IEthApiCompilerService.cs │ │ │ │ │ │ │ ├── IEthApiFilterService.cs │ │ │ │ │ │ │ ├── IEthApiMiningService.cs │ │ │ │ │ │ │ ├── IEthApiTransactionsService.cs │ │ │ │ │ │ │ └── IEthApiUncleService.cs │ │ │ │ │ │ ├── Subscriptions │ │ │ │ │ │ │ ├── EthLogsSubscription.cs │ │ │ │ │ │ │ ├── EthLogsSubscriptionRequestBuilder.cs │ │ │ │ │ │ │ ├── EthNewBlockHeadersSubscription.cs │ │ │ │ │ │ │ ├── EthNewBlockHeadersSubscriptionRequestBuilder.cs │ │ │ │ │ │ │ ├── EthNewPendingTransactionSubscription.cs │ │ │ │ │ │ │ ├── EthNewPendingTransactionSubscriptionRequestBuilder.cs │ │ │ │ │ │ │ ├── EthSyncingSubscription.cs │ │ │ │ │ │ │ ├── EthSyncingSubscriptionRequestBuilder.cs │ │ │ │ │ │ │ └── EthUnsubscribeRequestBuilder.cs │ │ │ │ │ │ ├── Transactions │ │ │ │ │ │ │ ├── EthCall.cs │ │ │ │ │ │ │ ├── EthEstimateGas.cs │ │ │ │ │ │ │ ├── EthFeeHistory.cs │ │ │ │ │ │ │ ├── EthGetTransactionByBlockHashAndIndex.cs │ │ │ │ │ │ │ ├── EthGetTransactionByBlockNumberAndIndex.cs │ │ │ │ │ │ │ ├── EthGetTransactionByHash.cs │ │ │ │ │ │ │ ├── EthGetTransactionCount.cs │ │ │ │ │ │ │ ├── EthGetTransactionReceipt.cs │ │ │ │ │ │ │ ├── EthSendRawTransaction.cs │ │ │ │ │ │ │ ├── EthSendTransaction.cs │ │ │ │ │ │ │ ├── IEthCall.cs │ │ │ │ │ │ │ ├── IEthEstimateGas.cs │ │ │ │ │ │ │ ├── IEthFeeHistory.cs │ │ │ │ │ │ │ ├── IEthGetTransactionByBlockHashAndIndex.cs │ │ │ │ │ │ │ ├── IEthGetTransactionByBlockNumberAndIndex.cs │ │ │ │ │ │ │ ├── IEthGetTransactionByHash.cs │ │ │ │ │ │ │ ├── IEthGetTransactionCount.cs │ │ │ │ │ │ │ ├── IEthGetTransactionReceipt.cs │ │ │ │ │ │ │ ├── IEthSendRawTransaction.cs │ │ │ │ │ │ │ └── IEthSendTransaction.cs │ │ │ │ │ │ └── Uncles │ │ │ │ │ │ │ ├── EthGetUncleByBlockHashAndIndex.cs │ │ │ │ │ │ │ ├── EthGetUncleByBlockNumberAndIndex.cs │ │ │ │ │ │ │ ├── EthGetUncleCountByBlockHash.cs │ │ │ │ │ │ │ ├── EthGetUncleCountByBlockNumber.cs │ │ │ │ │ │ │ ├── IEthGetUncleByBlockHashAndIndex.cs │ │ │ │ │ │ │ ├── IEthGetUncleByBlockNumberAndIndex.cs │ │ │ │ │ │ │ ├── IEthGetUncleCountByBlockHash.cs │ │ │ │ │ │ │ └── IEthGetUncleCountByBlockNumber.cs │ │ │ │ │ ├── EthApiService.cs │ │ │ │ │ ├── Fee1559Suggestions │ │ │ │ │ │ ├── Fee1559.cs │ │ │ │ │ │ ├── IFee1559SuggestionStrategy.cs │ │ │ │ │ │ ├── MedianPriorityFeeHistorySuggestionStrategy.cs │ │ │ │ │ │ ├── SimpleFeeSuggestionStrategy.cs │ │ │ │ │ │ └── TimePreferenceSuggestionStrategy.cs │ │ │ │ │ ├── FeeSuggestionService.cs │ │ │ │ │ ├── HostWallet │ │ │ │ │ │ ├── AddEthereumChainParameter.cs │ │ │ │ │ │ ├── EthRequestAccounts.cs │ │ │ │ │ │ ├── HostWalletService.cs │ │ │ │ │ │ ├── IEthRequestAccounts.cs │ │ │ │ │ │ ├── IHostWalletService.cs │ │ │ │ │ │ ├── IWalletGetPermissions.cs │ │ │ │ │ │ ├── IWalletRequestPermissions.cs │ │ │ │ │ │ ├── IWalletWatchAsset.cs │ │ │ │ │ │ ├── NativeCurrency.cs │ │ │ │ │ │ ├── WalletAddEthereumChain.cs │ │ │ │ │ │ ├── WalletGetPermissions.cs │ │ │ │ │ │ ├── WalletRequestPermissions.cs │ │ │ │ │ │ ├── WalletWatchAsset.cs │ │ │ │ │ │ ├── WatchAssetParameter.cs │ │ │ │ │ │ └── WatchAssetParametersOptions.cs │ │ │ │ │ ├── IEthApiService.cs │ │ │ │ │ ├── INetApiService.cs │ │ │ │ │ ├── IPersonalApiService.cs │ │ │ │ │ ├── IShhApiService.cs │ │ │ │ │ ├── Infrastructure │ │ │ │ │ │ ├── GenericRpcRequestResponseHandlerParamString.cs │ │ │ │ │ │ ├── GenericRpcRequesteResponseHandlerNoParam.cs │ │ │ │ │ │ ├── IGenericRpcRequestResponseHandlerNoParam.cs │ │ │ │ │ │ └── IGenericRpcRequestResponseHandlerParamString.cs │ │ │ │ │ ├── ModelFactories │ │ │ │ │ │ └── BlockHeaderRPCFactory.cs │ │ │ │ │ ├── Net │ │ │ │ │ │ ├── INetListening.cs │ │ │ │ │ │ ├── INetPeerCount.cs │ │ │ │ │ │ ├── INetVersion.cs │ │ │ │ │ │ ├── NetListening.cs │ │ │ │ │ │ ├── NetPeerCount.cs │ │ │ │ │ │ └── NetVersion.cs │ │ │ │ │ ├── NetApiService.cs │ │ │ │ │ ├── NonceServices │ │ │ │ │ │ ├── INonceService.cs │ │ │ │ │ │ └── InMemoryNonceService.cs │ │ │ │ │ ├── Personal │ │ │ │ │ │ ├── IPersonalListAccounts.cs │ │ │ │ │ │ ├── IPersonalLockAccount.cs │ │ │ │ │ │ ├── IPersonalNewAccount.cs │ │ │ │ │ │ ├── IPersonalSignAndSendTransaction.cs │ │ │ │ │ │ ├── IPersonalUnlockAccount.cs │ │ │ │ │ │ ├── PersonalListAccounts.cs │ │ │ │ │ │ ├── PersonalLockAccount.cs │ │ │ │ │ │ ├── PersonalNewAccount.cs │ │ │ │ │ │ ├── PersonalSignAndSendTransaction.cs │ │ │ │ │ │ └── PersonalUnlockAccount.cs │ │ │ │ │ ├── PersonalApiService.cs │ │ │ │ │ ├── RpcClientWrapper.cs │ │ │ │ │ ├── Shh │ │ │ │ │ │ ├── DTOs │ │ │ │ │ │ │ ├── MessageFilterInput.cs │ │ │ │ │ │ │ ├── MessageInput.cs │ │ │ │ │ │ │ └── ShhMessage.cs │ │ │ │ │ │ ├── IShhKeyPair.cs │ │ │ │ │ │ ├── IShhMessageFilter.cs │ │ │ │ │ │ ├── IShhPost.cs │ │ │ │ │ │ ├── IShhSymKey.cs │ │ │ │ │ │ ├── IShhVersion.cs │ │ │ │ │ │ ├── KeyPair │ │ │ │ │ │ │ ├── IShhAddPrivateKey.cs │ │ │ │ │ │ │ ├── IShhDeleteKeyPair.cs │ │ │ │ │ │ │ ├── IShhGetPrivateKey.cs │ │ │ │ │ │ │ ├── IShhGetPublicKey.cs │ │ │ │ │ │ │ ├── IShhHasKeyPair.cs │ │ │ │ │ │ │ ├── IShhNewKeyPair.cs │ │ │ │ │ │ │ ├── ShhAddPrivateKey.cs │ │ │ │ │ │ │ ├── ShhDeleteKeyPair.cs │ │ │ │ │ │ │ ├── ShhGetPrivateKey.cs │ │ │ │ │ │ │ ├── ShhGetPublicKey.cs │ │ │ │ │ │ │ ├── ShhHasKeyPair.cs │ │ │ │ │ │ │ └── ShhNewKeyPair.cs │ │ │ │ │ │ ├── MessageFilter │ │ │ │ │ │ │ ├── IShhDeleteMessageFilter.cs │ │ │ │ │ │ │ ├── IShhGetFilterMessages.cs │ │ │ │ │ │ │ ├── IShhNewMessageFilter.cs │ │ │ │ │ │ │ ├── ShhDeleteMessageFilter.cs │ │ │ │ │ │ │ └── ShhGetFilterMessages.cs │ │ │ │ │ │ ├── ShhKeyPair.cs │ │ │ │ │ │ ├── ShhMessageFilter.cs │ │ │ │ │ │ ├── ShhPost.cs │ │ │ │ │ │ ├── ShhSymKey.cs │ │ │ │ │ │ ├── ShhVersion.cs │ │ │ │ │ │ └── SymKey │ │ │ │ │ │ │ ├── IShhAddSymKey.cs │ │ │ │ │ │ │ ├── IShhDeleteSymKey.cs │ │ │ │ │ │ │ ├── IShhGenerateSymKeyFromPassword.cs │ │ │ │ │ │ │ ├── IShhGetSymKey.cs │ │ │ │ │ │ │ ├── IShhHasSymKey.cs │ │ │ │ │ │ │ ├── IShhNewSymKey.cs │ │ │ │ │ │ │ ├── ShhAddSymKey.cs │ │ │ │ │ │ │ ├── ShhDeleteSymKey.cs │ │ │ │ │ │ │ ├── ShhGenerateSymKeyFromPassword.cs │ │ │ │ │ │ │ ├── ShhGetSymKey.cs │ │ │ │ │ │ │ ├── ShhHasSymKey.cs │ │ │ │ │ │ │ └── ShhNewSymKey.cs │ │ │ │ │ ├── ShhApiService.cs │ │ │ │ │ ├── TransactionManagers │ │ │ │ │ │ ├── EtherTransferService.cs │ │ │ │ │ │ ├── EtherTransferTransactionInputBuilder.cs │ │ │ │ │ │ ├── IEtherTransferService.cs │ │ │ │ │ │ ├── ITransactionManager.cs │ │ │ │ │ │ ├── TransactionManager.cs │ │ │ │ │ │ └── TransactionManagerBase.cs │ │ │ │ │ ├── TransactionReceipts │ │ │ │ │ │ ├── ITransactionReceiptService.cs │ │ │ │ │ │ └── TransactionReceiptPollingService.cs │ │ │ │ │ ├── TransactionTypes │ │ │ │ │ │ └── TransactionType.cs │ │ │ │ │ └── Web3 │ │ │ │ │ │ ├── Web3ClientVersion.cs │ │ │ │ │ │ └── Web3Sha3.cs │ │ │ │ ├── Nethereum.Signer │ │ │ │ │ ├── AccessListItem.cs │ │ │ │ │ ├── AccessListRLPEncoderDecoder.cs │ │ │ │ │ ├── Chain.cs │ │ │ │ │ ├── CliqueBlockHeaderRecovery.cs │ │ │ │ │ ├── Crypto │ │ │ │ │ │ ├── DeterministicDSAExtensions.cs │ │ │ │ │ │ ├── DeterministicECDSA.cs │ │ │ │ │ │ ├── ECDSASignature.cs │ │ │ │ │ │ └── ECKey.cs │ │ │ │ │ ├── ECDSASignatureFactory.cs │ │ │ │ │ ├── EthECDSASignature.cs │ │ │ │ │ ├── EthECDSASignatureFactory.cs │ │ │ │ │ ├── EthECKey.cs │ │ │ │ │ ├── EthECKeyExternalSigner.cs │ │ │ │ │ ├── EthereumMessageSigner.cs │ │ │ │ │ ├── IEthExternalSigner.cs │ │ │ │ │ ├── IEthExternalSignerBase.cs │ │ │ │ │ ├── ISignedTransaction.cs │ │ │ │ │ ├── LICENSE.md │ │ │ │ │ ├── LegacyTransaction.cs │ │ │ │ │ ├── LegacyTransactionChainId.cs │ │ │ │ │ ├── LegacyTransactionSigner.cs │ │ │ │ │ ├── MessageSigner.cs │ │ │ │ │ ├── RLPDecoder.cs │ │ │ │ │ ├── RLPEncoder.cs │ │ │ │ │ ├── RLPSigner.cs │ │ │ │ │ ├── SignedData.cs │ │ │ │ │ ├── SignedLegacyTransaction.cs │ │ │ │ │ ├── SignedTransaction.cs │ │ │ │ │ ├── SignedTransactionBase.cs │ │ │ │ │ ├── SignedTypeTransaction.cs │ │ │ │ │ ├── Transaction1559.cs │ │ │ │ │ ├── Transaction1559Encoder.cs │ │ │ │ │ ├── TransactionFactory.cs │ │ │ │ │ ├── TransactionType.cs │ │ │ │ │ └── TransactionVerificationAndRecovery.cs │ │ │ │ ├── Nethereum.Util │ │ │ │ │ ├── AddressExtensions.cs │ │ │ │ │ ├── AddressUtil.cs │ │ │ │ │ ├── BigDecimal.Formatter.cs │ │ │ │ │ ├── BigDecimal.cs │ │ │ │ │ ├── BigIntegerExtensions.cs │ │ │ │ │ ├── ByteUtil.cs │ │ │ │ │ ├── ContractUtils.cs │ │ │ │ │ ├── EnumerableExtensions.cs │ │ │ │ │ ├── FormattingExtensions.cs │ │ │ │ │ ├── IWaitStrategy.cs │ │ │ │ │ ├── Keccak │ │ │ │ │ │ └── KeccakDigest.cs │ │ │ │ │ ├── NumberFormatting.cs │ │ │ │ │ ├── PredicateBuilder.cs │ │ │ │ │ ├── Properties │ │ │ │ │ │ └── AssemblyInfo.cs │ │ │ │ │ ├── Sha3Keccack.cs │ │ │ │ │ ├── TransactionUtils.cs │ │ │ │ │ ├── UnitConversion.cs │ │ │ │ │ └── WaitStrategy.cs │ │ │ │ └── Nethereum.Web3 │ │ │ │ │ ├── IWeb3.cs │ │ │ │ │ ├── IpfsHttpService.cs │ │ │ │ │ └── Web3.cs │ │ │ └── Utility │ │ │ │ ├── EthConvert.cs │ │ │ │ └── EthUnitEnum.cs │ │ ├── Flow │ │ │ ├── BloctoWalletProvider.cs │ │ │ ├── IBloctoWalletProvider.cs │ │ │ ├── Model │ │ │ │ ├── ConnectWalletConfig.cs │ │ │ │ ├── ConnectWalletPayload.cs │ │ │ │ ├── InteractionPropertyEnum.cs │ │ │ │ ├── MessagePropertyEnum.cs │ │ │ │ ├── SignablePropertyEnum.cs │ │ │ │ └── VoucherPropertyEnum.cs │ │ │ └── Utility │ │ │ │ ├── EncodeUtility.cs │ │ │ │ └── ResolveUtility.cs │ │ ├── LICENSE │ │ ├── Readme.md │ │ └── Solana │ │ │ ├── BloctoWalletProvider.cs │ │ │ ├── Converts │ │ │ └── EncodingConverter.cs │ │ │ ├── Extensions │ │ │ └── TransactionExtensions.cs │ │ │ ├── Model │ │ │ ├── ActionNameEnum.cs │ │ │ ├── CreateRawTxRequest.cs │ │ │ ├── CreateRawTxResponse.cs │ │ │ ├── RawTxAppendData.cs │ │ │ ├── RawTxExtendData.cs │ │ │ ├── SendTransactionPreRequest.cs │ │ │ └── SendTransactionPreResponse.cs │ │ │ └── Solana.Net │ │ │ ├── LICENSE │ │ │ ├── Solnet.Programs │ │ │ ├── Abstract │ │ │ │ ├── BaseClient.cs │ │ │ │ ├── BaseProgram.cs │ │ │ │ ├── ByteFlag.cs │ │ │ │ ├── Flag.cs │ │ │ │ ├── IntFlag.cs │ │ │ │ ├── LongFlag.cs │ │ │ │ ├── Program.cs │ │ │ │ ├── ShortFlag.cs │ │ │ │ └── TransactionalBaseClient.cs │ │ │ ├── AuthorityType.cs │ │ │ ├── InstructionDecoder.cs │ │ │ ├── MemoProgram.cs │ │ │ ├── Models │ │ │ │ ├── DecodedInstruction.cs │ │ │ │ ├── NameService │ │ │ │ │ ├── RecordBase.cs │ │ │ │ │ ├── RecordHeader.cs │ │ │ │ │ ├── ReverseNameRecord.cs │ │ │ │ │ ├── ReverseTokenNameRecord.cs │ │ │ │ │ ├── ReverseTwitteRecord.cs │ │ │ │ │ ├── TokenData.cs │ │ │ │ │ └── TokenNameRecord.cs │ │ │ │ ├── NonceAccount.cs │ │ │ │ ├── ResultWrapper.cs │ │ │ │ └── TokenProgram │ │ │ │ │ ├── MultiSignatureAccount.cs │ │ │ │ │ ├── TokenAccount.cs │ │ │ │ │ └── TokenMint.cs │ │ │ ├── NameServiceInstructions.cs │ │ │ ├── SharedMemoryProgram.cs │ │ │ ├── Stake │ │ │ │ ├── StakeProgram.cs │ │ │ │ ├── StakeProgramData.cs │ │ │ │ ├── StakeProgramInstructions.cs │ │ │ │ └── State.cs │ │ │ ├── SysVars.cs │ │ │ ├── SystemProgram.cs │ │ │ ├── SystemProgramData.cs │ │ │ ├── SystemProgramInstructions.cs │ │ │ ├── TokenProgram.cs │ │ │ ├── TokenProgramData.cs │ │ │ ├── TokenProgramInstructions.cs │ │ │ ├── TokenSwap │ │ │ │ ├── Models │ │ │ │ │ ├── ConstantProductCurve.cs │ │ │ │ │ ├── CurveCalculator.cs │ │ │ │ │ ├── CurveType.cs │ │ │ │ │ ├── Fees.cs │ │ │ │ │ ├── SwapCurve.cs │ │ │ │ │ └── TokenSwapAccount.cs │ │ │ │ ├── TokenSwapProgramData.cs │ │ │ │ └── TokenSwapProgramInstructions.cs │ │ │ └── Utilities │ │ │ │ ├── Deserialization.cs │ │ │ │ ├── Serialization.cs │ │ │ │ └── SolHelper.cs │ │ │ ├── Solnet.Rpc │ │ │ ├── Builders │ │ │ │ ├── MessageBuilder.cs │ │ │ │ ├── TransactionBuilder.cs │ │ │ │ └── TransactionInstructionFactory.cs │ │ │ ├── ClientFactory.cs │ │ │ ├── Cluster.cs │ │ │ ├── Core │ │ │ │ ├── Http │ │ │ │ │ ├── ConfigObject.cs │ │ │ │ │ ├── IRequestResult.cs │ │ │ │ │ ├── JsonRpcClient.cs │ │ │ │ │ └── RequestResult.cs │ │ │ │ ├── IdGenerator.cs │ │ │ │ └── Sockets │ │ │ │ │ ├── IWebSocket.cs │ │ │ │ │ ├── StreamingRpcClient.cs │ │ │ │ │ ├── SubscriptionChannel.cs │ │ │ │ │ ├── SubscriptionEvent.cs │ │ │ │ │ ├── SubscriptionState.cs │ │ │ │ │ ├── SubscriptionStatus.cs │ │ │ │ │ └── WebSocketWrapper.cs │ │ │ ├── IRpcClient.cs │ │ │ ├── IStreamingRpcClient.cs │ │ │ ├── Messages │ │ │ │ ├── JsonRpcBase.cs │ │ │ │ ├── JsonRpcBatchRequest.cs │ │ │ │ ├── JsonRpcBatchResponse.cs │ │ │ │ ├── JsonRpcBatchResponseItem.cs │ │ │ │ ├── JsonRpcRequest.cs │ │ │ │ ├── JsonRpcResponse.cs │ │ │ │ └── JsonRpcStreamResponse.cs │ │ │ ├── Models │ │ │ │ ├── AccountData.cs │ │ │ │ ├── AccountInfo.cs │ │ │ │ ├── AccountKeysList.cs │ │ │ │ ├── AccountMeta.cs │ │ │ │ ├── Block.cs │ │ │ │ ├── BlockProductionInfo.cs │ │ │ │ ├── ClusterNode.cs │ │ │ │ ├── Epoch.cs │ │ │ │ ├── ErrorResult.cs │ │ │ │ ├── Fees.cs │ │ │ │ ├── Filters.cs │ │ │ │ ├── Identity.cs │ │ │ │ ├── Inflation.cs │ │ │ │ ├── InstructionError.cs │ │ │ │ ├── Logs.cs │ │ │ │ ├── Message.cs │ │ │ │ ├── Performance.cs │ │ │ │ ├── ProgramInfo.cs │ │ │ │ ├── Signature.cs │ │ │ │ ├── SlotInfo.cs │ │ │ │ ├── SnapshotSlotInfo.cs │ │ │ │ ├── StakeActivation.cs │ │ │ │ ├── Supply.cs │ │ │ │ ├── TokenAccount.cs │ │ │ │ ├── Transaction.cs │ │ │ │ ├── TransactionError.cs │ │ │ │ ├── TransactionInstruction.cs │ │ │ │ ├── Version.cs │ │ │ │ └── VoteAccount.cs │ │ │ ├── SolanaRpcClient.cs │ │ │ ├── SolanaStreamingRpcClient.cs │ │ │ ├── TransactionUtils.cs │ │ │ ├── Types │ │ │ │ ├── AccountFilterType.cs │ │ │ │ ├── BatchAutoExecuteMode.cs │ │ │ │ ├── BatchRequestException.cs │ │ │ │ ├── BinaryEncoding.cs │ │ │ │ ├── Commitment.cs │ │ │ │ ├── ConnectionStats.cs │ │ │ │ ├── IConnectionStatistics.cs │ │ │ │ ├── LogsSubscriptionType.cs │ │ │ │ ├── TransactionDetails.cs │ │ │ │ └── TransactionDetailsFilterType.cs │ │ │ └── Utilities │ │ │ │ ├── IRateLimiter.cs │ │ │ │ ├── RateLimiter.cs │ │ │ │ └── ShortVectorEncoding.cs │ │ │ └── Solnet.Wallet │ │ │ ├── Account.cs │ │ │ ├── Bip39 │ │ │ ├── HardcodedWordListSource.cs │ │ │ ├── IWordListSource.cs │ │ │ ├── KdTable.cs │ │ │ ├── Language.cs │ │ │ ├── Mnemonic.cs │ │ │ ├── WordCount.cs │ │ │ └── WordList.cs │ │ │ ├── Ed25519Bip32.cs │ │ │ ├── PrivateKey.cs │ │ │ ├── PublicKey.cs │ │ │ ├── SeedMode.cs │ │ │ ├── Utilities │ │ │ ├── ArrayHelpers.cs │ │ │ ├── Base58Encoder.cs │ │ │ ├── Base58Encoding.cs │ │ │ ├── BitWriter.cs │ │ │ ├── ByteExtension.cs │ │ │ ├── DataEncoder.cs │ │ │ ├── Ed25519Extensions.cs │ │ │ ├── RandomUtils.cs │ │ │ └── Utils.cs │ │ │ └── Wallet.cs │ ├── Dll │ │ ├── BouncyCastle.Crypto.dll │ │ ├── Chaos.NaCl.dll │ │ ├── Microsoft.Extensions.Logging.Abstractions.dll │ │ └── System.ComponentModel.Annotations.dll │ ├── Flow │ │ ├── FCL │ │ │ ├── Config │ │ │ │ └── Config.cs │ │ │ ├── Extensions │ │ │ │ ├── ConvertExtension.cs │ │ │ │ ├── JObjectExtension.cs │ │ │ │ └── UrlExtension.cs │ │ │ ├── FlowClientLibrary.cs │ │ │ ├── Models │ │ │ │ ├── AccountProofData.cs │ │ │ │ ├── AuthenticateData.cs │ │ │ │ ├── AuthenticateResponse.cs │ │ │ │ ├── Authn │ │ │ │ │ ├── AuthnAdapterResponse.cs │ │ │ │ │ ├── AuthnParams.cs │ │ │ │ │ ├── Local.cs │ │ │ │ │ └── Updates.cs │ │ │ │ ├── Authz │ │ │ │ │ ├── Account.cs │ │ │ │ │ ├── Argument.cs │ │ │ │ │ ├── AuthInformation.cs │ │ │ │ │ ├── AuthorizationUpdates.cs │ │ │ │ │ ├── AuthorizerData.cs │ │ │ │ │ ├── AuthzAdapterResponse.cs │ │ │ │ │ ├── AuthzLocal.cs │ │ │ │ │ ├── BaseAccount.cs │ │ │ │ │ ├── BaseArgument.cs │ │ │ │ │ ├── Interaction.cs │ │ │ │ │ ├── Message.cs │ │ │ │ │ ├── NonCustodialAuthzResponse.cs │ │ │ │ │ ├── PreAuthzAdapterResponse.cs │ │ │ │ │ ├── ProposalKey.cs │ │ │ │ │ ├── Role.cs │ │ │ │ │ └── Voucher.cs │ │ │ │ ├── CompositeSignature.cs │ │ │ │ ├── CurrentUser.cs │ │ │ │ ├── ExecuteResult.cs │ │ │ │ ├── FclService.cs │ │ │ │ ├── FclServiceData.cs │ │ │ │ ├── IResponse.cs │ │ │ │ ├── Identity.cs │ │ │ │ ├── ResponseStatusEnum.cs │ │ │ │ ├── ServiceTypeEnum.cs │ │ │ │ ├── SignMessageResponse.cs │ │ │ │ ├── Signature.cs │ │ │ │ ├── SignatureResponse.cs │ │ │ │ └── User.cs │ │ │ ├── Transaction.cs │ │ │ ├── UtilFactory.cs │ │ │ ├── Utility │ │ │ │ ├── AppUtility.cs │ │ │ │ ├── IEncodeUtility.cs │ │ │ │ ├── IResolveUtility.cs │ │ │ │ ├── IWebRequestUtils.cs │ │ │ │ ├── KeyGenerator.cs │ │ │ │ └── WebRquestUtils.cs │ │ │ └── WalletProvider │ │ │ │ └── IWalletProvider.cs │ │ ├── Flow.Net.Sdk.Client.Unity │ │ │ ├── Constants.cs │ │ │ ├── Extensions │ │ │ │ └── FlowApiExtension.cs │ │ │ ├── FlowApiV1.cs │ │ │ ├── FlowUnityWebRequest.cs │ │ │ ├── Models │ │ │ │ ├── Apis │ │ │ │ │ ├── Account.cs │ │ │ │ │ ├── AccountPublicKey.cs │ │ │ │ │ ├── AggregatedSignature.cs │ │ │ │ │ ├── ApiException.cs │ │ │ │ │ ├── Block.cs │ │ │ │ │ ├── BlockEvents.cs │ │ │ │ │ ├── BlockHeader.cs │ │ │ │ │ ├── BlockPayload.cs │ │ │ │ │ ├── BlockSeal.cs │ │ │ │ │ ├── Chunk.cs │ │ │ │ │ ├── Collection.cs │ │ │ │ │ ├── CollectionGuarantee.cs │ │ │ │ │ ├── Error.cs │ │ │ │ │ ├── Event.cs │ │ │ │ │ ├── ExecutionResult.cs │ │ │ │ │ ├── Links.cs │ │ │ │ │ ├── ObjectResponseResult.cs │ │ │ │ │ ├── ProposalKey.cs │ │ │ │ │ ├── Response.cs │ │ │ │ │ ├── ScriptBody.cs │ │ │ │ │ ├── Transaction.cs │ │ │ │ │ ├── TransactionBody.cs │ │ │ │ │ ├── TransactionResult.cs │ │ │ │ │ ├── TransactionSignature.cs │ │ │ │ │ ├── _expandable.cs │ │ │ │ │ ├── _expandable2.cs │ │ │ │ │ ├── _expandable3.cs │ │ │ │ │ └── _expandable4.cs │ │ │ │ └── Enums │ │ │ │ │ ├── HashingAlgorithm.cs │ │ │ │ │ └── SigningAlgorithm.cs │ │ │ └── ScriptValueConverter.cs │ │ ├── Flow.Net.Sdk.Core │ │ │ ├── Cadence │ │ │ │ ├── Cadence.cs │ │ │ │ ├── CadenceAddress.cs │ │ │ │ ├── CadenceArray.cs │ │ │ │ ├── CadenceBool.cs │ │ │ │ ├── CadenceCapability.cs │ │ │ │ ├── CadenceComposite.cs │ │ │ │ ├── CadenceConverter.cs │ │ │ │ ├── CadenceDictionary.cs │ │ │ │ ├── CadenceExtensions.cs │ │ │ │ ├── CadenceLink.cs │ │ │ │ ├── CadenceNumber.cs │ │ │ │ ├── CadenceOptional.cs │ │ │ │ ├── CadencePath.cs │ │ │ │ ├── CadenceString.cs │ │ │ │ ├── CadenceTypeValue.cs │ │ │ │ ├── CadenceVoid.cs │ │ │ │ ├── Enums.cs │ │ │ │ ├── ICadence.cs │ │ │ │ └── Types │ │ │ │ │ ├── CadenceCapabilityType.cs │ │ │ │ │ ├── CadenceCompositeType.cs │ │ │ │ │ ├── CadenceConstantSizedArrayType.cs │ │ │ │ │ ├── CadenceDictionaryType.cs │ │ │ │ │ ├── CadenceEnumType.cs │ │ │ │ │ ├── CadenceFieldType.cs │ │ │ │ │ ├── CadenceFunctionType.cs │ │ │ │ │ ├── CadenceInitializerType.cs │ │ │ │ │ ├── CadenceOptionalType.cs │ │ │ │ │ ├── CadenceParameterType.cs │ │ │ │ │ ├── CadenceReferenceType.cs │ │ │ │ │ ├── CadenceRepeatedTypeConverter.cs │ │ │ │ │ ├── CadenceRestrictedType.cs │ │ │ │ │ ├── CadenceType.cs │ │ │ │ │ ├── CadenceTypeConverter.cs │ │ │ │ │ ├── CadenceTypeValueAsString.cs │ │ │ │ │ ├── CadenceTypeValueAsStringConverter.cs │ │ │ │ │ ├── CadenceVariableSizedArrayType.cs │ │ │ │ │ └── ICadenceType.cs │ │ │ ├── Client │ │ │ │ └── IFlowClient.cs │ │ │ ├── Constants.cs │ │ │ ├── Crypto │ │ │ │ ├── Ecdsa │ │ │ │ │ ├── Signer.cs │ │ │ │ │ └── Utilities.cs │ │ │ │ ├── Hasher.cs │ │ │ │ └── ISigner.cs │ │ │ ├── DomainTag.cs │ │ │ ├── Enums.cs │ │ │ ├── Exceptions │ │ │ │ └── FlowException.cs │ │ │ ├── Extensions.cs │ │ │ ├── Models │ │ │ │ ├── FlowAccount.cs │ │ │ │ ├── FlowAccountKey.cs │ │ │ │ ├── FlowAddress.cs │ │ │ │ ├── FlowBlock.cs │ │ │ │ ├── FlowBlockEvent.cs │ │ │ │ ├── FlowCollection.cs │ │ │ │ ├── FlowConfig.cs │ │ │ │ ├── FlowContract.cs │ │ │ │ ├── FlowEvent.cs │ │ │ │ ├── FlowEventConverter.cs │ │ │ │ ├── FlowExecutionResult.cs │ │ │ │ ├── FlowInteractionBase.cs │ │ │ │ ├── FlowProposalKey.cs │ │ │ │ ├── FlowProtocolStateSnapshot.cs │ │ │ │ ├── FlowScript.cs │ │ │ │ ├── FlowSignature.cs │ │ │ │ ├── FlowTransaction.cs │ │ │ │ ├── FlowTransactionBase.cs │ │ │ │ ├── FlowTransactionId.cs │ │ │ │ ├── FlowTransactionResponse.cs │ │ │ │ └── FlowTransactionResult.cs │ │ │ ├── Rlp.cs │ │ │ ├── Templates │ │ │ │ └── AccountTemplates.cs │ │ │ ├── UserMessage.cs │ │ │ └── Utilities.cs │ │ ├── Flow.Net.Sdk.Utility │ │ │ ├── ConvertorForRLPEncodingExtensions.cs │ │ │ └── NEthereum │ │ │ │ ├── Hex │ │ │ │ ├── ByteExtension.cs │ │ │ │ └── HexByteConvertorExtensions.cs │ │ │ │ └── RLP │ │ │ │ ├── IRLPElement.cs │ │ │ │ ├── RLP.cs │ │ │ │ ├── RLPCollection.cs │ │ │ │ └── RLPItem.cs │ │ └── Readme.md │ └── iOS │ │ └── UnityIosPlugin │ │ ├── BloctoAppController.mm │ │ ├── Editor │ │ └── SwiftPostProcess.cs │ │ └── Source │ │ ├── UnityPlugin-Bridgin-Header.h │ │ ├── UnityPluginBridge.mm │ │ ├── UniversalLink.h │ │ ├── UniversalLink.mm │ │ ├── UrlOpening.swift │ │ ├── WebAuthenticationSessionHelper.swift │ │ ├── WebAuthenticationSessionLoader.h │ │ └── WebAuthenticationSessionLoader.mm ├── Scenes │ ├── AptosScene.unity │ ├── EvmScene.unity │ ├── FlowScene.unity │ ├── MainScene.unity │ └── SolanaScene.unity ├── Script │ ├── AptosController.cs │ ├── EvmController.cs │ ├── FlowController.cs │ ├── MainController.cs │ ├── Model │ │ ├── Aptos │ │ │ └── ValueResource.cs │ │ ├── ChainInformation.cs │ │ ├── ContractInformation.cs │ │ ├── EthSignSample.cs │ │ ├── EvmChain.cs │ │ ├── TextButton.cs │ │ └── ValueProgram.cs │ └── SolanaController.cs └── icons │ ├── hyperlink.png │ └── link.png ├── Flow-unity-sdk.sln.DotSettings ├── LICENSE ├── Packages ├── manifest.json └── packages-lock.json ├── ProjectSettings ├── AudioManager.asset ├── BurstAotSettings_Android.json ├── BurstAotSettings_iOS.json ├── ClusterInputManager.asset ├── CommonBurstAotSettings.json ├── DynamicsManager.asset ├── EditorBuildSettings.asset ├── EditorSettings.asset ├── GraphicsSettings.asset ├── InputManager.asset ├── MemorySettings.asset ├── NavMeshAreas.asset ├── NetworkManager.asset ├── PackageManagerSettings.asset ├── Physics2DSettings.asset ├── PresetManager.asset ├── ProjectSettings.asset ├── ProjectVersion.txt ├── QualitySettings.asset ├── SceneTemplateSettings.json ├── TagManager.asset ├── TimeManager.asset ├── UnityConnectSettings.asset ├── VFXManager.asset ├── VersionControlSettings.asset ├── XRSettings.asset └── boot.config ├── Readme.md └── shell └── build.sh /Assets/Editor/BuildProfile.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using UnityEngine; 3 | 4 | /// 5 | /// 打包配置表 6 | /// 7 | [CreateAssetMenu(fileName = "New Build Profile", menuName = "Build Profile")] 8 | public sealed class BuildProfile : ScriptableObject 9 | { 10 | /// 11 | /// 打包任務列表 12 | /// 13 | public List BuildTasks = new List(0); 14 | } -------------------------------------------------------------------------------- /Assets/Editor/ExportTypeEnum.cs: -------------------------------------------------------------------------------- 1 | namespace Editor 2 | { 3 | public enum ExportTypeEnum 4 | { 5 | FCL = 0, 6 | BloctoUnitySDK = 1, 7 | Core, 8 | Solana, 9 | Evm, 10 | Flow, 11 | Aptos, 12 | iOS, 13 | Android 14 | } 15 | } -------------------------------------------------------------------------------- /Assets/Editor/Models/ChainEnum.cs: -------------------------------------------------------------------------------- 1 | namespace Editor.Models 2 | { 3 | public enum ChainEnum 4 | { 5 | Evm, 6 | Solana, 7 | Flow, 8 | Aptos 9 | } 10 | } -------------------------------------------------------------------------------- /Assets/Plugins/Android/gradleTemplate.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx**JVM_HEAP_SIZE**M -Dfile.encoding=UTF-8 2 | org.gradle.parallel=true 3 | android.enableR8=**MINIFY_WITH_R_EIGHT** 4 | android.useAndroidX=true 5 | unityStreamingAssets=**STREAMING_ASSETS** 6 | **ADDITIONAL_PROPERTIES** 7 | -------------------------------------------------------------------------------- /Assets/Plugins/Android/unity-release.aar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blocto/blocto-unity-sdk/7b011c7c0f61279b9fef28555da8541edc797955/Assets/Plugins/Android/unity-release.aar -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Aptos/Libs/DLLs/Mirage.AptosSerializationCore.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blocto/blocto-unity-sdk/7b011c7c0f61279b9fef28555da8541edc797955/Assets/Plugins/Blocto.Sdk/Aptos/Libs/DLLs/Mirage.AptosSerializationCore.dll -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Aptos/Model/AbiParameterType.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Blocto.Sdk.Aptos.Model 4 | { 5 | public class AbiParameterType 6 | { 7 | [JsonProperty("params")] 8 | public string[] Params { get; set; } 9 | 10 | [JsonProperty("return")] 11 | public string[] Return { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Aptos/Model/Code.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Blocto.Sdk.Aptos.Model 4 | { 5 | public class Code 6 | { 7 | [JsonProperty("bytecode")] 8 | public string ByteCode { get; set; } 9 | 10 | [JsonProperty("abi")] 11 | public AbiPayload Abi { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Aptos/Model/EntryFunctionTransactionPayload.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Blocto.Sdk.Aptos.Model 4 | { 5 | public class EntryFunctionTransactionPayload : TransactonPayload 6 | { 7 | public EntryFunctionTransactionPayload() 8 | { 9 | Type = "entry_function_payload"; 10 | Function = "0x1::coin::transfer"; 11 | MaxGasAmount = "50000"; 12 | } 13 | 14 | [JsonProperty("type")] 15 | public string Type { get; private set; } 16 | 17 | [JsonProperty("function")] 18 | public string Function { get; set; } 19 | } 20 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Aptos/Model/PublicKey.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Newtonsoft.Json; 3 | 4 | namespace Blocto.Sdk.Aptos.Model 5 | { 6 | public class PublicKey 7 | { 8 | [JsonProperty("public_keys")] 9 | public List Keys { get; set; } 10 | 11 | [JsonProperty("sequence_number")] 12 | public long SequenceNumber { get; set; } 13 | } 14 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Aptos/Model/ScriptPayload.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Blocto.Sdk.Aptos.Model 4 | { 5 | public class ScriptPayload 6 | { 7 | [JsonProperty("bytecode")] 8 | public string ByteCode { get; set; } 9 | 10 | [JsonProperty("abi?")] 11 | public AbiPayload[] Abi { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Aptos/Model/ScriptTransactionOutershell.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Blocto.Sdk.Aptos.Model 4 | { 5 | public class ScriptTransactionOutershell 6 | { 7 | [JsonProperty("transaction")] 8 | public ScriptTransactionPayload Payload { get; set; } 9 | } 10 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Aptos/Model/ScriptTransactionPayload.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Blocto.Sdk.Aptos.Model 4 | { 5 | public class ScriptTransactionPayload : TransactonPayload 6 | { 7 | public ScriptTransactionPayload() 8 | { 9 | Type = "script_payload"; 10 | MaxGasAmount = "50000"; 11 | } 12 | 13 | [JsonProperty("type")] 14 | public string Type { get; set; } 15 | 16 | [JsonProperty("code")] 17 | public Code Code { get; set; } 18 | } 19 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Aptos/Model/TransactionPreRequest.cs: -------------------------------------------------------------------------------- 1 | namespace Blocto.Sdk.Aptos.Model 2 | { 3 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Aptos/Model/TransactonPayload.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Blocto.Sdk.Aptos.Model 4 | { 5 | public class TransactonPayload 6 | { 7 | [JsonProperty("from")] 8 | public string Address { get; set; } 9 | 10 | [JsonProperty("arguments")] 11 | public object[] Arguments { get; set; } 12 | 13 | [JsonProperty("type_arguments")] 14 | public string[] TypeArguments { get; set; } 15 | 16 | [JsonProperty("max_gas_amount")] 17 | public string MaxGasAmount { get; set; } 18 | } 19 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Core/Extension/BigIntegerExtensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Globalization; 3 | using System.Numerics; 4 | 5 | namespace Blocto.Sdk.Core.Extension 6 | { 7 | public static class BigIntegerExtensions 8 | { 9 | public static int NumberOfDigits(this BigInteger value) 10 | { 11 | return (value * value.Sign).ToString().Length; 12 | } 13 | 14 | public static BigInteger ParseInvariant(string value) 15 | { 16 | if (value == null) throw new ArgumentNullException(nameof(value)); 17 | 18 | return BigInteger.Parse(value, CultureInfo.InvariantCulture); 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Core/Extension/FormattingExtensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Globalization; 3 | 4 | namespace Blocto.Sdk.Core.Extension 5 | { 6 | public static class FormattingExtensions 7 | { 8 | public static string ToStringInvariant(this T formattable) where T : IFormattable 9 | { 10 | if (formattable == null) throw new ArgumentNullException(nameof(formattable)); 11 | 12 | return formattable.ToString(null, CultureInfo.InvariantCulture); 13 | } 14 | } 15 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Core/Extension/HexStringUTF8ConvertorExtensions.cs: -------------------------------------------------------------------------------- 1 | using System.Text; 2 | 3 | namespace Blocto.Sdk.Core.Extension 4 | { 5 | public static class HexStringUTF8ConvertorExtensions 6 | { 7 | public static string ToHexUTF8(this string value) 8 | { 9 | return "0x" + Encoding.UTF8.GetBytes(value).ToHex(); 10 | } 11 | 12 | 13 | public static string HexToUTF8String(this string hex) 14 | { 15 | var bytes = hex.HexToBytes(); 16 | return Encoding.UTF8.GetString(bytes, 0, bytes.Length); 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Core/Extension/LogExtension.cs: -------------------------------------------------------------------------------- 1 | using UnityEngine; 2 | 3 | namespace Blocto.Sdk.Core.Extension 4 | { 5 | public static class LogExtension 6 | { 7 | public static bool EnableDebugMode { get; set; } 8 | 9 | static LogExtension() 10 | { 11 | EnableDebugMode = true; 12 | } 13 | 14 | public static void ToLog(this string logContent) 15 | { 16 | logContent = $"---------- DEBUG - {logContent}"; 17 | if(EnableDebugMode) 18 | { 19 | Debug.Log(logContent); 20 | } 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Core/Model/EnvEnum.cs: -------------------------------------------------------------------------------- 1 | namespace Blocto.Sdk.Core.Model 2 | { 3 | public enum EnvEnum 4 | { 5 | Mainnet, 6 | Testnet, 7 | Devnet, 8 | } 9 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Core/Model/ObjectResponseResult.cs: -------------------------------------------------------------------------------- 1 | namespace Blocto.Sdk.Core.Model 2 | { 3 | public struct ObjectResponseResult 4 | { 5 | public ObjectResponseResult(T responseObject, string responseText) 6 | { 7 | Object = responseObject; 8 | Text = responseText; 9 | } 10 | 11 | public T Object { get; } 12 | 13 | public string Text { get; } 14 | } 15 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Core/Model/SignMessagePreResponse.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Blocto.Sdk.Core.Model 4 | { 5 | public class SignMessagePreResponse 6 | { 7 | [JsonProperty("status")] 8 | public string Status { get; set; } 9 | 10 | [JsonProperty("signatureId")] 11 | public string SignatureId { get; set; } 12 | 13 | [JsonProperty("reason")] 14 | public string Reason { get; set; } 15 | } 16 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Core/Model/TransactionPreResponse.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Blocto.Sdk.Core.Model 4 | { 5 | public class TransactionPreResponse 6 | { 7 | [JsonProperty("authorizationId")] 8 | public string AuthorizationId { get; set; } 9 | 10 | [JsonProperty("status")] 11 | public string Status { get; set; } 12 | 13 | [JsonProperty("reason")] 14 | public string Reason { get; set; } 15 | } 16 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Model/AbiResult.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Blocto.Sdk.Evm.Model 4 | { 5 | public class AbiResult 6 | { 7 | [JsonProperty("status")] 8 | public string Status { get; set; } 9 | 10 | [JsonProperty("message")] 11 | public string Message { get; set; } 12 | 13 | [JsonProperty("result")] 14 | public string Result { get; set; } 15 | } 16 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Model/ChainEnum.cs: -------------------------------------------------------------------------------- 1 | namespace Blocto.Sdk.Evm.Model 2 | { 3 | public enum ChainEnum 4 | { 5 | Ethereum, 6 | BSC, 7 | Polygon, 8 | Avalanche, 9 | Optimism, 10 | Arbitrum 11 | } 12 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Model/Hex/HexBigIntegerBigEndianConvertor.cs: -------------------------------------------------------------------------------- 1 | using System.Numerics; 2 | using Blocto.Sdk.Core.Extension; 3 | 4 | namespace Blocto.Sdk.Evm.Model.Hex 5 | { 6 | public class HexBigIntegerBigEndianConvertor : IHexConvertor 7 | { 8 | public string ConvertToHex(BigInteger newValue) 9 | { 10 | return newValue.ToHex(false); 11 | } 12 | 13 | public BigInteger ConvertFromHex(string hex) 14 | { 15 | return hex.HexToBigInteger(false); 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Model/Hex/HexUTF8String.cs: -------------------------------------------------------------------------------- 1 | using Blocto.Sdk.Evm.Model.Hex.Util; 2 | using Newtonsoft.Json; 3 | 4 | namespace Blocto.Sdk.Evm.Model.Hex 5 | { 6 | [JsonConverter(typeof(HexRPCTypeJsonConverter))] 7 | public class HexUTF8String : HexRPCType 8 | { 9 | private HexUTF8String() : base(new HexUTF8StringConvertor()) 10 | { 11 | } 12 | 13 | public HexUTF8String(string value) : base(value, new HexUTF8StringConvertor()) 14 | { 15 | } 16 | 17 | public static HexUTF8String CreateFromHex(string hex) 18 | { 19 | return new HexUTF8String {HexValue = hex}; 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Model/Hex/HexUTF8StringConvertor.cs: -------------------------------------------------------------------------------- 1 | using Blocto.Sdk.Core.Extension; 2 | 3 | namespace Blocto.Sdk.Evm.Model.Hex 4 | { 5 | public class HexUTF8StringConvertor : IHexConvertor 6 | { 7 | public string ConvertToHex(string value) 8 | { 9 | return value.ToHexUTF8(); 10 | } 11 | 12 | public string ConvertFromHex(string hex) 13 | { 14 | return hex.HexToUTF8String(); 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Model/Hex/IHexConvertor.cs: -------------------------------------------------------------------------------- 1 | namespace Blocto.Sdk.Evm.Model.Hex 2 | { 3 | public interface IHexConvertor 4 | { 5 | string ConvertToHex(T value); 6 | T ConvertFromHex(string value); 7 | } 8 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Model/Rpc/AccessList.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Newtonsoft.Json; 3 | 4 | namespace Blocto.Sdk.Evm.Model.Rpc 5 | { 6 | public class AccessList 7 | { 8 | [JsonProperty(PropertyName = "address")] 9 | public string Address { get; set; } 10 | [JsonProperty(PropertyName = "storageKeys")] 11 | public List StorageKeys { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Model/Rpc/RpcRequest.cs: -------------------------------------------------------------------------------- 1 | namespace Blocto.Sdk.Evm.Model.Rpc 2 | { 3 | public class RpcRequest 4 | { 5 | public RpcRequest(object id, string method, params object[] parameterList) 6 | { 7 | Id = id; 8 | Method = method; 9 | RawParameters = parameterList; 10 | } 11 | 12 | public object Id { get; set; } 13 | public string Method { get; private set; } 14 | public object[] RawParameters { get; private set; } 15 | } 16 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Model/Rpc/RpcResponseException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Blocto.Sdk.Evm.Model.Rpc.Rpc 4 | { 5 | public class RpcResponseException : Exception 6 | { 7 | public RpcResponseException(RpcError rpcError) : base(rpcError.Message) 8 | { 9 | RpcError = rpcError; 10 | } 11 | 12 | public RpcError RpcError { get; } 13 | } 14 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Model/SignMessagePreRequest.cs: -------------------------------------------------------------------------------- 1 | using Blocto.Sdk.Evm.Model.Eth; 2 | using Newtonsoft.Json; 3 | 4 | namespace Blocto.Sdk.Evm.Model 5 | { 6 | public class SignMessagePreRequest 7 | { 8 | [JsonProperty("from")] 9 | public string From { get; set; } 10 | 11 | [JsonProperty("message")] 12 | public string Message { get; set; } 13 | 14 | [JsonProperty("method")] 15 | public string Method { get; set; } 16 | } 17 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Model/SignTypeEnum.cs: -------------------------------------------------------------------------------- 1 | using System.ComponentModel; 2 | 3 | namespace Blocto.Sdk.Evm.Model 4 | { 5 | public enum SignTypeEnum 6 | { 7 | [Description("sign")] 8 | Eth_Sign, 9 | 10 | [Description("personal_sign")] 11 | Personal_Sign, 12 | 13 | [Description("typed_data_sign")] 14 | SignTypedData, 15 | 16 | [Description("typed_data_sign_v3")] 17 | SignTypedDataV3, 18 | 19 | [Description("typed_data_sign_v4")] 20 | SignTypedDataV4, 21 | } 22 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.ABI/ABIValue.cs: -------------------------------------------------------------------------------- 1 | namespace Nethereum.ABI 2 | { 3 | public class ABIValue 4 | { 5 | public ABIValue(ABIType abiType, object value) 6 | { 7 | ABIType = abiType; 8 | Value = value; 9 | } 10 | 11 | public ABIValue(string abiType, object value) 12 | { 13 | ABIType = ABIType.CreateABIType(abiType); 14 | Value = value; 15 | } 16 | 17 | public ABIType ABIType { get; set; } 18 | public object Value { get; set; } 19 | } 20 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.ABI/AddressType.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.ABI.Decoders; 2 | using Nethereum.ABI.Encoders; 3 | 4 | namespace Nethereum.ABI 5 | { 6 | public class AddressType : ABIType 7 | { 8 | public AddressType() : base("address") 9 | { 10 | //this will need to be only a string type one, converting to hex 11 | Decoder = new AddressTypeDecoder(); 12 | Encoder = new AddressTypeEncoder(); 13 | } 14 | } 15 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.ABI/BoolType.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.ABI.Decoders; 2 | using Nethereum.ABI.Encoders; 3 | 4 | namespace Nethereum.ABI 5 | { 6 | public class BoolType : ABIType 7 | { 8 | public BoolType() : base("bool") 9 | { 10 | Decoder = new BoolTypeDecoder(); 11 | Encoder = new BoolTypeEncoder(); 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.ABI/ByteCodeConstants.cs: -------------------------------------------------------------------------------- 1 | namespace Nethereum.ABI 2 | { 3 | public static class ByteCodeConstants 4 | { 5 | public static readonly string LIBRARY_PLACEHOLDER_PREFIX = "__$"; 6 | public static readonly string LIBRARY_PLACEHOLDER_SUFFIX = "$__"; 7 | } 8 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.ABI/Bytes32Type.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.ABI.Decoders; 2 | using Nethereum.ABI.Encoders; 3 | 4 | namespace Nethereum.ABI 5 | { 6 | public class Bytes32Type : ABIType 7 | { 8 | public Bytes32Type(string name) : base(name) 9 | { 10 | Decoder = new Bytes32TypeDecoder(); 11 | Encoder = new Bytes32TypeEncoder(); 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.ABI/BytesElementaryType.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.ABI.Decoders; 2 | using Nethereum.ABI.Encoders; 3 | 4 | namespace Nethereum.ABI 5 | { 6 | public class BytesElementaryType : ABIType 7 | { 8 | public BytesElementaryType(string name, int size) : base(name) 9 | { 10 | Decoder = new BytesElementaryTypeDecoder(size); 11 | Encoder = new BytesElementaryTypeEncoder(size); 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.ABI/BytesType.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.ABI.Decoders; 2 | using Nethereum.ABI.Encoders; 3 | 4 | namespace Nethereum.ABI 5 | { 6 | public class BytesType : ABIType 7 | { 8 | public BytesType() : base("bytes") 9 | { 10 | Decoder = new BytesTypeDecoder(); 11 | Encoder = new BytesTypeEncoder(); 12 | } 13 | 14 | public override int FixedSize => -1; 15 | } 16 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.ABI/Decoders/DynamicArrayTypeDecoder.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Linq; 3 | 4 | namespace Nethereum.ABI.Decoders 5 | { 6 | public class DynamicArrayTypeDecoder : ArrayTypeDecoder 7 | { 8 | public DynamicArrayTypeDecoder(ABIType elementType) : base(elementType, -1) 9 | { 10 | } 11 | 12 | public override object Decode(byte[] encoded, Type type) 13 | { 14 | var size = new IntTypeDecoder().DecodeInt(encoded.Take(32).ToArray()); 15 | //Skip the length of the array, just pass the array values 16 | return Decode(encoded.Skip(32).ToArray(), type, size); 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.ABI/Decoders/IRawDecoder.cs: -------------------------------------------------------------------------------- 1 | namespace Nethereum.ABI.Decoders 2 | { 3 | public interface ICustomRawDecoder 4 | { 5 | T Decode(byte[] output); 6 | } 7 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.ABI/Decoders/ITypeDecoder.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Nethereum.ABI.Decoders 4 | { 5 | public interface ITypeDecoder 6 | { 7 | object Decode(byte[] encoded, Type type); 8 | 9 | T Decode(byte[] encoded); 10 | 11 | object Decode(string hexString, Type type); 12 | 13 | T Decode(string hexString); 14 | Type GetDefaultDecodingType(); 15 | bool IsSupportedType(Type type); 16 | } 17 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.ABI/Decoders/StringBytes32Decoder.cs: -------------------------------------------------------------------------------- 1 | using System.Linq; 2 | 3 | namespace Nethereum.ABI.Decoders 4 | { 5 | public class StringBytes32Decoder : ICustomRawDecoder 6 | { 7 | public string Decode(byte[] output) 8 | { 9 | if (output.Length > 32) 10 | //assuming that first 32 is the data index as this is the raw data 11 | return new StringTypeDecoder().Decode(output.Skip(32).ToArray()); 12 | return new Bytes32TypeDecoder().Decode(output); 13 | } 14 | } 15 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.ABI/DynamicArrayType.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.ABI.Decoders; 2 | using Nethereum.ABI.Encoders; 3 | 4 | namespace Nethereum.ABI 5 | { 6 | public class DynamicArrayType : ArrayType 7 | { 8 | public DynamicArrayType(string name) : base(name) 9 | { 10 | Decoder = new DynamicArrayTypeDecoder(ElementType); 11 | Encoder = new DynamicArrayTypeEncoder(ElementType); 12 | } 13 | 14 | public override string CanonicalName => ElementType.CanonicalName + "[]"; 15 | 16 | public override int FixedSize => -1; 17 | } 18 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.ABI/EIP712/MemberDescription.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.ABI; 2 | using Nethereum.ABI.FunctionEncoding.Attributes; 3 | using Nethereum.ABI.Model; 4 | using Newtonsoft.Json; 5 | using System; 6 | using System.Collections.Generic; 7 | using System.Linq; 8 | using System.Reflection; 9 | 10 | namespace Nethereum.ABI.EIP712 11 | { 12 | public class MemberDescription 13 | { 14 | [JsonProperty(PropertyName = "name")] 15 | public string Name { get; set; } 16 | 17 | [JsonProperty(PropertyName = "type")] 18 | public string Type { get; set; } 19 | } 20 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.ABI/EIP712/MemberValue.cs: -------------------------------------------------------------------------------- 1 | namespace Nethereum.ABI.EIP712 2 | { 3 | 4 | public class MemberValue 5 | { 6 | public string TypeName { get; set; } 7 | 8 | public object Value { get; set; } 9 | } 10 | 11 | public class Member 12 | { 13 | public Member() { } 14 | public Member(MemberDescription memberDescription, MemberValue memberValue) 15 | { 16 | MemberDescription = memberDescription; 17 | MemberValue = memberValue; 18 | } 19 | 20 | public MemberDescription MemberDescription { get; set; } 21 | public MemberValue MemberValue { get; set; } 22 | } 23 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.ABI/EIP712/TypedDataRaw.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | using System.Collections.Generic; 3 | 4 | namespace Nethereum.ABI.EIP712 5 | { 6 | [JsonObject(MemberSerialization.OptIn)] 7 | public class TypedDataRaw 8 | { 9 | [JsonProperty(PropertyName = "types")] 10 | public IDictionary Types { get; set; } 11 | 12 | [JsonProperty(PropertyName = "primaryType")] 13 | public string PrimaryType { get; set; } 14 | public MemberValue[] Message { get; set; } 15 | public MemberValue[] DomainRawValues { get; set; } 16 | } 17 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.ABI/EncoderDecoderHelpers.cs: -------------------------------------------------------------------------------- 1 | using System.Linq; 2 | using Nethereum.ABI.Decoders; 3 | 4 | namespace Nethereum.ABI 5 | { 6 | public class EncoderDecoderHelpers 7 | { 8 | public static int GetNumberOfBytes(byte[] encoded) 9 | { 10 | var intDecoder = new IntTypeDecoder(); 11 | var numberOfBytesEncoded = encoded.Take(32); 12 | return intDecoder.DecodeInt(numberOfBytesEncoded.ToArray()); 13 | } 14 | } 15 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.ABI/Encoders/ITypeEncoder.cs: -------------------------------------------------------------------------------- 1 | namespace Nethereum.ABI.Encoders 2 | { 3 | public interface ITypeEncoder 4 | { 5 | byte[] Encode(object value); 6 | byte[] EncodePacked(object value); 7 | } 8 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.ABI/FunctionEncoding/AbiEncodingException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Nethereum.ABI.FunctionEncoding 4 | { 5 | public class AbiEncodingException:Exception 6 | { 7 | public AbiEncodingException(int order, ABIType abiType, object value, string message, Exception innerException):base(message, innerException) 8 | { 9 | Order = order; 10 | ABIType = abiType; 11 | Value = value; 12 | } 13 | 14 | public int Order { get;} 15 | public ABIType ABIType { get; } 16 | public object Value { get; } 17 | } 18 | } 19 | 20 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.ABI/FunctionEncoding/AttributeEncoding/ParameterAttributeValue.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using Nethereum.ABI.FunctionEncoding.Attributes; 3 | 4 | namespace Nethereum.ABI.FunctionEncoding.AttributeEncoding 5 | { 6 | public class ParameterAttributeValue 7 | { 8 | public ParameterAttribute ParameterAttribute { get; set; } 9 | public object Value { get; set; } 10 | public PropertyInfo PropertyInfo { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.ABI/FunctionEncoding/AttributeEncoding/ParameterOutputProperty.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Reflection; 3 | 4 | namespace Nethereum.ABI.FunctionEncoding.AttributeEncoding 5 | { 6 | public class ParameterOutputProperty : ParameterOutput 7 | { 8 | public PropertyInfo PropertyInfo { get; set; } 9 | 10 | public List ChildrenProperties { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.ABI/FunctionEncoding/Attributes/FunctionOutputAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Reflection; 3 | 4 | namespace Nethereum.ABI.FunctionEncoding.Attributes 5 | { 6 | [AttributeUsage(AttributeTargets.Class)] 7 | public class FunctionOutputAttribute : Attribute 8 | { 9 | public static FunctionOutputAttribute GetAttribute() 10 | { 11 | var type = typeof(T); 12 | return type.GetTypeInfo().GetCustomAttribute(true); 13 | } 14 | 15 | public static bool IsFunctionType() 16 | { 17 | return GetAttribute() != null; 18 | } 19 | } 20 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.ABI/FunctionEncoding/Attributes/IErrorDTO.cs: -------------------------------------------------------------------------------- 1 | namespace Nethereum.ABI.FunctionEncoding.Attributes 2 | { 3 | /// 4 | /// Interface to decorate a class as Error to enable the related extensions 5 | /// 6 | public interface IErrorDTO 7 | { 8 | 9 | } 10 | 11 | /// 12 | /// Class to extend a class as an Error to enable the related extensions (Simplification for FSharp) 13 | /// 14 | public class ErrorDTO : IErrorDTO 15 | { 16 | 17 | } 18 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.ABI/FunctionEncoding/Attributes/IEventDTO.cs: -------------------------------------------------------------------------------- 1 | namespace Nethereum.ABI.FunctionEncoding.Attributes 2 | { 3 | /// 4 | /// Interface to decorate a class as Event to enable the related extensions 5 | /// 6 | public interface IEventDTO 7 | { 8 | 9 | } 10 | 11 | /// 12 | /// Class to extend a class as an Event to enable the related extensions (Simplification for FSharp) 13 | /// 14 | public class EventDTO : IEventDTO 15 | { 16 | 17 | } 18 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.ABI/FunctionEncoding/Attributes/IFunctionOutputDTO.cs: -------------------------------------------------------------------------------- 1 | namespace Nethereum.ABI.FunctionEncoding.Attributes 2 | { 3 | /// 4 | /// Interface to decorate a class as a FunctionOutput to enable 5 | /// the decoding extensions 6 | /// 7 | public interface IFunctionOutputDTO 8 | { 9 | 10 | } 11 | 12 | /// 13 | /// Class to extend a class as a FunctionOutput to enable the decoding extensions (Simplification for FSharp) 14 | /// 15 | public class FunctionOutputDTO : IFunctionOutputDTO 16 | { 17 | 18 | } 19 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.ABI/FunctionEncoding/DecodedValue.cs: -------------------------------------------------------------------------------- 1 | namespace Nethereum.ABI.FunctionEncoding 2 | { 3 | public class DecodedValue 4 | { 5 | public string AbiName { get; set; } 6 | public string AbiType { get; set; } 7 | public object Value { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.ABI/FunctionEncoding/ErrorFunction.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.ABI.FunctionEncoding.Attributes; 2 | 3 | namespace Nethereum.ABI.FunctionEncoding 4 | { 5 | [Function("Error")] 6 | public class ErrorFunction 7 | { 8 | public const string ERROR_FUNCTION_ID = "0x08c379a0"; 9 | 10 | [Parameter("string")] 11 | public string Message { get; set; } 12 | 13 | public static bool IsErrorData(string dataHex) 14 | { 15 | return dataHex.StartsWith(ERROR_FUNCTION_ID); 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.ABI/FunctionEncoding/ParameterExtensions.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.ABI.Model; 2 | 3 | namespace Nethereum.ABI.FunctionEncoding 4 | { 5 | public static class ParameterExtensions 6 | { 7 | public static string GetParameterNameUsingDefaultIfNotSet(this Parameter parameter) 8 | { 9 | if(!string.IsNullOrEmpty(parameter.Name)) return parameter.Name; 10 | return "param_" + parameter.Order + "_" + parameter.Type; 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.ABI/FunctionEncoding/ParameterOutput.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Nethereum.ABI.Model; 3 | 4 | namespace Nethereum.ABI.FunctionEncoding 5 | { 6 | public class ParameterOutput 7 | { 8 | public Parameter Parameter { get; set; } 9 | public int DataIndexStart { get; set; } 10 | public object Result { get; set; } 11 | 12 | } 13 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.ABI/Model/ConstructorABI.cs: -------------------------------------------------------------------------------- 1 | namespace Nethereum.ABI.Model 2 | { 3 | public class ConstructorABI 4 | { 5 | public Parameter[] InputParameters { get; set; } 6 | } 7 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.ABI/Model/ContractABI.cs: -------------------------------------------------------------------------------- 1 | namespace Nethereum.ABI.Model 2 | { 3 | public class ContractABI 4 | { 5 | public FunctionABI[] Functions { get; set; } 6 | public ConstructorABI Constructor { get; set; } 7 | public EventABI[] Events { get; set; } 8 | public ErrorABI[] Errors { get; set; } 9 | } 10 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.ABI/StringType.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.ABI.Decoders; 2 | using Nethereum.ABI.Encoders; 3 | 4 | namespace Nethereum.ABI 5 | { 6 | public class StringType : ABIType 7 | { 8 | public StringType() : base("string") 9 | { 10 | Decoder = new StringTypeDecoder(); 11 | Encoder = new StringTypeEncoder(); 12 | } 13 | 14 | public override int FixedSize => -1; 15 | } 16 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.ABI/Util/ByteUtil.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blocto/blocto-unity-sdk/7b011c7c0f61279b9fef28555da8541edc797955/Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.ABI/Util/ByteUtil.cs -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Contracts/Constants/CommonAddresses.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Nethereum.Contracts.Constants 6 | { 7 | public class CommonAddresses 8 | { 9 | public const string MULTICALL_ADDRESS = "0xcA11bde05977b3631167028862bE2a173976CA11"; 10 | public const string ENS_REGISTRY_ADDRESS = "0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"; 11 | public const string PROOF_OF_HUMANITY_PROXY_ADDRESS = "0x1dAD862095d40d43c2109370121cf087632874dB"; 12 | public const string PROOF_OF_HUMANITY_CONTRACT_ADDRESS = "0xc5e9ddebb09cd64dfacab4011a0d5cedaf7c9bdb"; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Contracts/ContractDeploymentMessage.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.Contracts.CQS; 2 | namespace Nethereum.Contracts 3 | { 4 | public class ContractDeploymentMessage : ContractMessageBase 5 | { 6 | 7 | public ContractDeploymentMessage(string byteCode) 8 | { 9 | ByteCode = byteCode; 10 | } 11 | 12 | /// 13 | /// ByteCode (Compiled code) used for deployment 14 | /// 15 | public string ByteCode { get; internal set; } 16 | 17 | } 18 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Contracts/ContractOperationType.cs: -------------------------------------------------------------------------------- 1 | namespace Nethereum.Contracts.TransactionHandlers.MultiSend 2 | { 3 | public enum ContractOperationType 4 | { 5 | Call = 0, 6 | DelegateCall = 1 7 | } 8 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Contracts/DeploymentHandlers/IDeploymentEstimatorHandler.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Nethereum.Hex.HexTypes; 3 | 4 | namespace Nethereum.Contracts.DeploymentHandlers 5 | { 6 | public interface IDeploymentEstimatorHandler where TContractDeploymentMessage : ContractDeploymentMessage, new() 7 | { 8 | Task EstimateGasAsync(TContractDeploymentMessage deploymentMessage); 9 | } 10 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Contracts/DeploymentHandlers/IDeploymentSigner.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | 3 | namespace Nethereum.Contracts.DeploymentHandlers 4 | { 5 | public interface IDeploymentSigner where TContractDeploymentMessage : ContractDeploymentMessage, new() 6 | { 7 | Task SignTransactionAsync(TContractDeploymentMessage deploymentMessage); 8 | } 9 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Contracts/DeploymentHandlers/IDeploymentTransactionSenderHandler.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | 3 | namespace Nethereum.Contracts.DeploymentHandlers 4 | { 5 | public interface IDeploymentTransactionSenderHandler where TContractDeploymentMessage : ContractDeploymentMessage, new() 6 | { 7 | Task SendTransactionAsync(TContractDeploymentMessage deploymentMessage = null); 8 | } 9 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Contracts/EventLog.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.RPC.Eth.DTOs; 2 | 3 | namespace Nethereum.Contracts 4 | { 5 | public class EventLog : IEventLog 6 | { 7 | public EventLog(T eventObject, FilterLog log) 8 | { 9 | Event = eventObject; 10 | Log = log; 11 | } 12 | 13 | public T Event { get; } 14 | public FilterLog Log { get; } 15 | } 16 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Contracts/Exceptions/FilterInputNotForEventException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Nethereum.Contracts 4 | { 5 | public class FilterInputNotForEventException : Exception 6 | { 7 | public FilterInputNotForEventException() : base("Invalid filter input for current event, the event signatures (abi types, names), or contract addresses do not match, please use the method CreateFilterInput from this class") 8 | { 9 | 10 | } 11 | } 12 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Contracts/Extensions/FunctionOuputDTOExtensions.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.ABI.FunctionEncoding; 2 | using Nethereum.ABI.FunctionEncoding.Attributes; 3 | 4 | namespace Nethereum.Contracts 5 | { 6 | public static class FunctionOuputDTOExtensions 7 | { 8 | private static readonly FunctionCallDecoder _functionCallDecoder = new FunctionCallDecoder(); 9 | 10 | public static TFunctionOutputDTO DecodeOutput(this TFunctionOutputDTO functionOuputDTO, string output) where TFunctionOutputDTO: IFunctionOutputDTO { 11 | return _functionCallDecoder.DecodeFunctionOutput(functionOuputDTO, output); 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Contracts/FunctionMessage.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.Contracts.CQS; 2 | 3 | namespace Nethereum.Contracts 4 | { 5 | public class FunctionMessage : ContractMessageBase 6 | { 7 | 8 | } 9 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Contracts/IEventLog.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.RPC.Eth.DTOs; 2 | 3 | namespace Nethereum.Contracts 4 | { 5 | public interface IEventLog 6 | { 7 | FilterLog Log { get; } 8 | } 9 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Contracts/QueryHandlers/IQueryHandler.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Nethereum.RPC.Eth.DTOs; 3 | 4 | namespace Nethereum.Contracts.QueryHandlers 5 | { 6 | public interface IQueryHandler 7 | where TFunctionMessage : FunctionMessage, new() 8 | { 9 | Task QueryAsync( 10 | string contractAddress, 11 | TFunctionMessage functionMessage = null, 12 | BlockParameter block = null); 13 | } 14 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Contracts/QueryHandlers/MultiCall/IMulticallInputOutput.cs: -------------------------------------------------------------------------------- 1 | using System.Numerics; 2 | 3 | namespace Nethereum.Contracts.QueryHandlers.MultiCall 4 | { 5 | public interface IMulticallInputOutput 6 | { 7 | string Target { get; set; } 8 | byte[] GetCallData(); 9 | void Decode(byte[] output); 10 | bool Success { get; set; } 11 | bool AllowFailure { get; set; } 12 | BigInteger Value { get; set; } 13 | } 14 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Contracts/Services/IEthGetTransactionErrorReason.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | 3 | namespace Nethereum.Contracts.Services 4 | { 5 | public interface IEthGetContractTransactionErrorReason 6 | { 7 | #if !DOTNET35 8 | Task SendRequestAsync(string transactionHash); 9 | #endif 10 | } 11 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Contracts/Standards/ENS/AbiTypeContentType.cs: -------------------------------------------------------------------------------- 1 | namespace Nethereum.Contracts.Standards.ENS 2 | { 3 | public enum AbiTypeContentType 4 | { 5 | JSON = 1, 6 | Zlib_JSON = 2, 7 | CBOR = 4, 8 | Url = 8 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Contracts/Standards/ENS/TextDataKey.cs: -------------------------------------------------------------------------------- 1 | namespace Nethereum.Contracts.Standards.ENS 2 | { 3 | public enum TextDataKey 4 | { 5 | email, 6 | url, 7 | avatar, 8 | description, 9 | notice, 10 | keywords, 11 | vnd_twitter, 12 | vnd_github 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Contracts/Standards/ENS/TextDataKeyExtensions.cs: -------------------------------------------------------------------------------- 1 | namespace Nethereum.Contracts.Standards.ENS 2 | { 3 | public static class TextDataKeyExtensions 4 | { 5 | public static string GetDataKeyAsString(this TextDataKey textDataKey) 6 | { 7 | return textDataKey.ToString().Replace("_", "."); 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Contracts/Standards/ERC1155/NFT1155Metadata.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.Contracts.Standards.ERC721; 2 | using Newtonsoft.Json; 3 | 4 | namespace Nethereum.Contracts.Standards.ERC1155 5 | { 6 | public class NFT1155Metadata : NftMetadata 7 | { 8 | 9 | [JsonProperty("decimals")] 10 | public int Decimals { get; set; } 11 | 12 | } 13 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Contracts/Standards/ERC20/TokenList/Root.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace Nethereum.Contracts.Standards.ERC20.TokenList 5 | { 6 | public class Root 7 | { 8 | public string Name { get; set; } 9 | public DateTime Timestamp { get; set; } 10 | public List Keywords { get; set; } 11 | public Version Version { get; set; } 12 | public List Tokens { get; set; } 13 | 14 | } 15 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Contracts/Standards/ERC20/TokenList/Token.cs: -------------------------------------------------------------------------------- 1 | namespace Nethereum.Contracts.Standards.ERC20.TokenList 2 | { 3 | public class Token 4 | { 5 | public int ChainId { get; set; } 6 | public string Address { get; set; } 7 | public string Symbol { get; set; } 8 | public string Name { get; set; } 9 | public int Decimals { get; set; } 10 | public string LogoURI { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Contracts/Standards/ERC20/TokenList/Version.cs: -------------------------------------------------------------------------------- 1 | namespace Nethereum.Contracts.Standards.ERC20.TokenList 2 | { 3 | public class Version 4 | { 5 | public int Major { get; set; } 6 | public int Minor { get; set; } 7 | public int Patch { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Contracts/Standards/ERC20/TokenOwnerBalance.cs: -------------------------------------------------------------------------------- 1 | using System.Numerics; 2 | 3 | namespace Nethereum.Contracts.Standards.ERC20 4 | { 5 | public class TokenOwnerBalance 6 | { 7 | public string ContractAddress { get; set; } 8 | public BigInteger Balance { get; set; } 9 | public string Owner { get; set; } 10 | } 11 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Contracts/Standards/ERC721/ERC721TokenOwnerInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Numerics; 2 | 3 | namespace Nethereum.Contracts.Standards.ERC721 4 | { 5 | public class ERC721TokenOwnerInfo 6 | { 7 | public string Owner { get; set; } 8 | public string ContractAddress { get; set; } 9 | public BigInteger TokenId { get; set; } 10 | public string MetadataUrl { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Contracts/Standards/ERC721/NFTMetadata.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Nethereum.Contracts.Standards.ERC721 4 | { 5 | public class NftMetadata 6 | { 7 | [JsonProperty("name")] 8 | public string Name { get; set; } 9 | [JsonProperty("description")] 10 | public string Description { get; set; } 11 | [JsonProperty("external_url")] 12 | public string ExternalUrl { get; set; } 13 | [JsonProperty("image")] 14 | public string Image { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Contracts/Standards/ProofOfHumanity/Model/Registration.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Nethereum.Fx.Nethereum.Contracts.Standards.ProofOfHumanity.Model 4 | { 5 | public partial class Registration 6 | { 7 | [JsonProperty("fileURI")] 8 | public string FileUri { get; set; } 9 | 10 | [JsonProperty("name")] 11 | public string Name { get; set; } 12 | } 13 | } 14 | 15 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Contracts/TransactionHandlers/ITransactionEstimatorHandler.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Nethereum.Hex.HexTypes; 3 | 4 | namespace Nethereum.Contracts.TransactionHandlers 5 | { 6 | public interface ITransactionEstimatorHandler where TFunctionMessage : FunctionMessage, new() 7 | { 8 | Task EstimateGasAsync(string contractAddress, TFunctionMessage functionMessage = null); 9 | } 10 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Contracts/TransactionHandlers/ITransactionSenderHandler.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | 3 | namespace Nethereum.Contracts.TransactionHandlers 4 | { 5 | public interface ITransactionSenderHandler where TFunctionMessage : FunctionMessage, new() 6 | { 7 | Task SendTransactionAsync(string contractAddress, TFunctionMessage functionMessage = null); 8 | } 9 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Contracts/TransactionHandlers/ITransactionSigner.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | 3 | namespace Nethereum.Contracts.TransactionHandlers 4 | { 5 | public interface ITransactionSigner where TFunctionMessage : FunctionMessage, new() 6 | { 7 | Task SignTransactionAsync(string contractAddress, TFunctionMessage functionMessage = null); 8 | } 9 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Hex/HexConvertors/Extensions/HexStringUTF8ConvertorExtensions.cs: -------------------------------------------------------------------------------- 1 | using System.Text; 2 | 3 | namespace Nethereum.Hex.HexConvertors.Extensions 4 | { 5 | public static class HexStringUTF8ConvertorExtensions 6 | { 7 | public static string ToHexUTF8(this string value) 8 | { 9 | return "0x" + Encoding.UTF8.GetBytes(value).ToHex(); 10 | } 11 | 12 | 13 | public static string HexToUTF8String(this string hex) 14 | { 15 | var bytes = hex.HexToByteArray(); 16 | return Encoding.UTF8.GetString(bytes, 0, bytes.Length); 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Hex/HexConvertors/HexBigIntegerBigEndianConvertor.cs: -------------------------------------------------------------------------------- 1 | using System.Numerics; 2 | using Nethereum.Hex.HexConvertors.Extensions; 3 | 4 | namespace Nethereum.Hex.HexConvertors 5 | { 6 | public class HexBigIntegerBigEndianConvertor : IHexConvertor 7 | { 8 | public string ConvertToHex(BigInteger newValue) 9 | { 10 | return newValue.ToHex(false); 11 | } 12 | 13 | public BigInteger ConvertFromHex(string hex) 14 | { 15 | return hex.HexToBigInteger(false); 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Hex/HexConvertors/HexUTF8StringConvertor.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.Hex.HexConvertors.Extensions; 2 | 3 | namespace Nethereum.Hex.HexConvertors 4 | { 5 | public class HexUTF8StringConvertor : IHexConvertor 6 | { 7 | public string ConvertToHex(string value) 8 | { 9 | return value.ToHexUTF8(); 10 | } 11 | 12 | public string ConvertFromHex(string hex) 13 | { 14 | return hex.HexToUTF8String(); 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Hex/HexConvertors/IHexConvertor.cs: -------------------------------------------------------------------------------- 1 | namespace Nethereum.Hex.HexConvertors 2 | { 3 | public interface IHexConvertor 4 | { 5 | string ConvertToHex(T value); 6 | T ConvertFromHex(string value); 7 | } 8 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Hex/NethereumKey.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blocto/blocto-unity-sdk/7b011c7c0f61279b9fef28555da8541edc797955/Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Hex/NethereumKey.snk -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.JsonRpc.Client/Configuration.cs: -------------------------------------------------------------------------------- 1 | namespace Nethereum.JsonRpc.Client 2 | { 3 | public class Configuration 4 | { 5 | public static object DefaultRequestId { get; set; } = 1; 6 | } 7 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.JsonRpc.Client/IBaseClient.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | 3 | namespace Nethereum.JsonRpc.Client 4 | { 5 | public interface IBaseClient 6 | { 7 | #if !DOTNET35 8 | RequestInterceptor OverridingRequestInterceptor { get; set; } 9 | #endif 10 | Task SendRequestAsync(RpcRequest request, string route = null); 11 | Task SendRequestAsync(string method, string route = null, params object[] paramList); 12 | } 13 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.JsonRpc.Client/IClient.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | 3 | namespace Nethereum.JsonRpc.Client 4 | { 5 | public interface IClient : IBaseClient 6 | { 7 | Task SendBatchRequestAsync(RpcRequestResponseBatch rpcRequestResponseBatch); 8 | Task SendRequestAsync(RpcRequest request, string route = null); 9 | Task SendRequestAsync(string method, string route = null, params object[] paramList); 10 | } 11 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.JsonRpc.Client/IRpcRequestHandler.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.JsonRpc.Client.RpcMessages; 2 | 3 | namespace Nethereum.JsonRpc.Client 4 | { 5 | public interface IRpcRequestHandler: IRpcRequestResponse 6 | { 7 | string MethodName { get; } 8 | IClient Client { get; } 9 | TResponse DecodeResponse(RpcResponseMessage rpcResponseMessage); 10 | } 11 | 12 | public interface IRpcRequestResponse 13 | { 14 | 15 | } 16 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.JsonRpc.Client/IRpcRequestResponseBatchItem.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.JsonRpc.Client.RpcMessages; 2 | 3 | namespace Nethereum.JsonRpc.Client 4 | { 5 | public interface IRpcRequestResponseBatchItem 6 | { 7 | bool HasError { get; } 8 | object RawResponse { get; } 9 | RpcError RpcError { get; } 10 | RpcRequestMessage RpcRequestMessage { get; } 11 | void DecodeResponse(RpcResponseMessage rpcResponse); 12 | } 13 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.JsonRpc.Client/RPCResponseException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Nethereum.JsonRpc.Client 4 | { 5 | public class RpcResponseException : Exception 6 | { 7 | public RpcResponseException(RpcError rpcError) : base(rpcError.Message) 8 | { 9 | RpcError = rpcError; 10 | } 11 | 12 | public RpcError RpcError { get; } 13 | } 14 | 15 | public class RpcResponseFormatException : Exception 16 | { 17 | public RpcResponseFormatException(string message, FormatException innerException) 18 | : base(message, innerException) 19 | { 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.JsonRpc.Client/RpcClientTimeoutException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Nethereum.JsonRpc.Client 4 | { 5 | public class RpcClientTimeoutException : Exception 6 | { 7 | public RpcClientTimeoutException(string message) : base(message) 8 | { 9 | 10 | } 11 | 12 | public RpcClientTimeoutException(string message, Exception innerException) : base(message, innerException) 13 | { 14 | 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.JsonRpc.Client/RpcClientUnknownException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Nethereum.JsonRpc.Client 4 | { 5 | public class RpcClientUnknownException : Exception 6 | { 7 | public RpcClientUnknownException(string message) : base(message) 8 | { 9 | 10 | } 11 | 12 | public RpcClientUnknownException(string message, Exception innerException) : base(message, innerException) 13 | { 14 | 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.JsonRpc.Client/RpcError.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json.Linq; 2 | 3 | namespace Nethereum.JsonRpc.Client 4 | { 5 | public class RpcError 6 | { 7 | public RpcError(int code, string message, JToken data = null) 8 | { 9 | Code = code; 10 | Message = message; 11 | Data = data; 12 | } 13 | 14 | public int Code { get; private set; } 15 | public string Message { get; private set; } 16 | public JToken Data { get; private set; } 17 | } 18 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.JsonRpc.Client/RpcRequest.cs: -------------------------------------------------------------------------------- 1 | namespace Nethereum.JsonRpc.Client 2 | { 3 | public class RpcRequest 4 | { 5 | public RpcRequest(object id, string method, params object[] parameterList) 6 | { 7 | Id = id; 8 | Method = method; 9 | RawParameters = parameterList; 10 | } 11 | 12 | public object Id { get; set; } 13 | public string Method { get; private set; } 14 | public object[] RawParameters { get; private set; } 15 | } 16 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.JsonRpc.Client/Streaming/IRpcStreamingResponseHandler.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Nethereum.JsonRpc.Client.RpcMessages; 3 | 4 | namespace Nethereum.JsonRpc.Client.Streaming 5 | { 6 | public interface IRpcStreamingResponseHandler 7 | { 8 | void HandleResponse(RpcStreamingResponseMessage rpcStreamingResponse); 9 | void HandleClientError(Exception ex); 10 | void HandleClientDisconnection(); 11 | } 12 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.JsonRpc.Client/Streaming/IRpcStreamingSubscriptionHandler.cs: -------------------------------------------------------------------------------- 1 | namespace Nethereum.JsonRpc.Client.Streaming 2 | { 3 | public interface IRpcStreamingSubscriptionHandler : IRpcStreamingResponseHandler 4 | { 5 | string SubscriptionId { get; } 6 | SubscriptionState SubscriptionState { get; } 7 | } 8 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.JsonRpc.Client/Streaming/IStreamingClient.cs: -------------------------------------------------------------------------------- 1 | using System.Diagnostics; 2 | using System.Threading.Tasks; 3 | 4 | namespace Nethereum.JsonRpc.Client.Streaming 5 | { 6 | public interface IStreamingClient 7 | { 8 | bool IsStarted { get; } 9 | bool AddSubscription(string subscriptionId, IRpcStreamingResponseHandler handler); 10 | bool RemoveSubscription(string subscriptionId); 11 | Task SendRequestAsync(RpcRequest request, IRpcStreamingResponseHandler requestResponseHandler, string route = null); 12 | Task StartAsync(); 13 | Task StopAsync(); 14 | } 15 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.JsonRpc.Client/Streaming/IUnsubscribeSubscriptionRpcRequestBuilder.cs: -------------------------------------------------------------------------------- 1 | namespace Nethereum.JsonRpc.Client.Streaming 2 | { 3 | public interface IUnsubscribeSubscriptionRpcRequestBuilder 4 | { 5 | RpcRequest BuildRequest(string subscriptionId, object requestId = null); 6 | } 7 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.JsonRpc.Client/Streaming/StreamingEventArgs.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Nethereum.JsonRpc.Client.Streaming 4 | { 5 | public class StreamingEventArgs : EventArgs 6 | { 7 | public TEntity Response { get; private set; } 8 | public RpcResponseException Exception { get; private set; } 9 | 10 | public StreamingEventArgs(TEntity entity, RpcResponseException exception = null) 11 | { 12 | Response = entity; 13 | } 14 | 15 | public StreamingEventArgs(RpcResponseException exception) 16 | { 17 | Exception = exception; 18 | } 19 | 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.JsonRpc.Client/Streaming/SubscriptionState.cs: -------------------------------------------------------------------------------- 1 | namespace Nethereum.JsonRpc.Client.Streaming 2 | { 3 | 4 | public enum SubscriptionState 5 | { 6 | Idle, 7 | Subscribing, 8 | Subscribed, 9 | Unsubscribing, 10 | Unsubscribed 11 | } 12 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RLP/IRLPElement.cs: -------------------------------------------------------------------------------- 1 | namespace Nethereum.RLP 2 | { 3 | /// 4 | /// Wrapper class for decoded elements from an RLP encoded byte array. 5 | /// 6 | public interface IRLPElement 7 | { 8 | byte[] RLPData { get; } 9 | } 10 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RLP/RLPCollection.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace Nethereum.RLP 4 | { 5 | public class RLPCollection : List, IRLPElement 6 | { 7 | public byte[] RLPData { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RLP/RLPItem.cs: -------------------------------------------------------------------------------- 1 | namespace Nethereum.RLP 2 | { 3 | public class RLPItem : IRLPElement 4 | { 5 | private readonly byte[] _rlpData; 6 | 7 | public RLPItem(byte[] rlpData) 8 | { 9 | this._rlpData = rlpData; 10 | } 11 | 12 | public byte[] RLPData => GetRLPData(); 13 | 14 | private byte[] GetRLPData() 15 | { 16 | return _rlpData.Length == 0 ? null : _rlpData; 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/AccountSigning/AccountSigningService.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.JsonRpc.Client; 2 | 3 | namespace Nethereum.RPC.AccountSigning 4 | { 5 | public class AccountSigningService : RpcClientWrapper, IAccountSigningService 6 | { 7 | 8 | public IEthSignTypedDataV4 SignTypedDataV4 { get; } 9 | 10 | public IEthPersonalSign PersonalSign { get; } 11 | 12 | public AccountSigningService(IClient client) : base(client) 13 | { 14 | SignTypedDataV4 = new EthSignTypedDataV4(client); 15 | PersonalSign = new EthPersonalSign(client); 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/AccountSigning/IAccountSigningService.cs: -------------------------------------------------------------------------------- 1 | namespace Nethereum.RPC.AccountSigning 2 | { 3 | public interface IAccountSigningService 4 | { 5 | IEthSignTypedDataV4 SignTypedDataV4 { get; } 6 | IEthPersonalSign PersonalSign { get; } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/AccountSigning/IEthPersonalSign.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.Hex.HexTypes; 2 | using Nethereum.JsonRpc.Client; 3 | using System.Threading.Tasks; 4 | 5 | namespace Nethereum.RPC.AccountSigning 6 | { 7 | public interface IEthPersonalSign : IEthereumMessageSign 8 | { 9 | RpcRequest BuildRequest(byte[] value, object id = null); 10 | RpcRequest BuildRequest(HexUTF8String utf8Hex, object id = null); 11 | } 12 | 13 | public interface IEthereumMessageSign 14 | { 15 | Task SendRequestAsync(byte[] value, object id = null); 16 | Task SendRequestAsync(HexUTF8String utf8Hex, object id = null); 17 | } 18 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/AccountSigning/IEthSignTypedDataV4.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.JsonRpc.Client; 2 | using System.Threading.Tasks; 3 | 4 | namespace Nethereum.RPC.AccountSigning 5 | { 6 | public interface IEthSignTypedDataV4 : ISignTypedDataV4 7 | { 8 | RpcRequest BuildRequest(string message, object id = null); 9 | } 10 | 11 | public interface ISignTypedDataV4 12 | { 13 | Task SendRequestAsync(string jsonMessage, object id = null); 14 | } 15 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Accounts/IAccount.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.RPC.TransactionManagers; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Text; 5 | using Nethereum.RPC.NonceServices; 6 | using Nethereum.RPC.AccountSigning; 7 | 8 | namespace Nethereum.RPC.Accounts 9 | { 10 | public interface IAccount 11 | { 12 | string Address { get; } 13 | ITransactionManager TransactionManager { get; } 14 | INonceService NonceService { get; set; } 15 | IAccountSigningService AccountSigningService { get; } 16 | } 17 | 18 | 19 | 20 | 21 | 22 | } 23 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Chain/ChainDefaultFeaturesServicesRepository.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace Nethereum.RPC.Chain 4 | { 5 | public static class ChainDefaultFeaturesServicesRepository 6 | { 7 | public static List GetDefaultChainFeatures() 8 | { 9 | return new List() 10 | { 11 | new ChainFeature(){ChainId = 1, ChainName="Mainnet", SupportEIP155 = true, SupportEIP1559 = true}, 12 | }; 13 | } 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Chain/ChainFeature.cs: -------------------------------------------------------------------------------- 1 | using System.Numerics; 2 | 3 | namespace Nethereum.RPC.Chain 4 | { 5 | public class ChainFeature 6 | { 7 | public BigInteger ChainId { get; set; } 8 | public bool SupportEIP1559 { get; set; } = true; 9 | public bool SupportEIP155 { get; set; } = true; 10 | public string ChainName { get; set; } 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Constants.cs: -------------------------------------------------------------------------------- 1 | namespace Nethereum.RPC 2 | { 3 | public class Constants 4 | { 5 | // public const object DEFAULT_REQUEST_ID = "1"; 6 | } 7 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/DebugNode/DebugGetBadBlocks.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.JsonRpc.Client; 2 | using Nethereum.RPC.Eth.DTOs; 3 | using Nethereum.RPC.Infrastructure; 4 | 5 | namespace Nethereum.RPC.DebugNode 6 | { 7 | public class DebugGetBadBlocks : GenericRpcRequestResponseHandlerNoParam, IDebugGetBadBlocks 8 | { 9 | public DebugGetBadBlocks(IClient client) : base(client, ApiMethods.debug_getBadBlocks.ToString()) 10 | { 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/DebugNode/Dtos/AccountStorageValue.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.Hex.HexTypes; 2 | using Newtonsoft.Json; 3 | 4 | namespace Nethereum.RPC.DebugNode.Dtos 5 | { 6 | public class AccountStorageValue 7 | { 8 | [JsonProperty("key")] 9 | public HexBigInteger Key { get; set; } 10 | 11 | [JsonProperty("value")] 12 | public string Value { get; set; } 13 | } 14 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/DebugNode/Dtos/DebugStorageAtResult.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Newtonsoft.Json; 3 | 4 | namespace Nethereum.RPC.DebugNode.Dtos 5 | { 6 | public class DebugStorageAtResult 7 | { 8 | [JsonProperty("storage")] 9 | public Dictionary Storage { get; set; } = new Dictionary(); 10 | 11 | [JsonProperty("nextKey")] 12 | public string NextKey { get; set; } 13 | } 14 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/DebugNode/IDebugApiService.cs: -------------------------------------------------------------------------------- 1 | namespace Nethereum.RPC.DebugNode 2 | { 3 | public interface IDebugApiService 4 | { 5 | IDebugGetBadBlocks GetBadBlocks { get; } 6 | IDebugGetRawBlock GetRawBlock { get; } 7 | IDebugGetRawHeader GetRawHeader { get; } 8 | IDebugGetRawReceipts GetRawReceipts { get; } 9 | IDebugGetRawTransaction GetRawTransaction { get; } 10 | IDebugStorageRangeAt StorageRangeAt { get; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/DebugNode/IDebugGetBadBlocks.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.RPC.Eth.DTOs; 2 | using Nethereum.RPC.Infrastructure; 3 | 4 | namespace Nethereum.RPC.DebugNode 5 | { 6 | public interface IDebugGetBadBlocks : IGenericRpcRequestResponseHandlerNoParam 7 | { 8 | 9 | } 10 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/DebugNode/IDebugGetRawBlock.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.JsonRpc.Client; 2 | using Nethereum.RPC.Eth.DTOs; 3 | using System.Threading.Tasks; 4 | 5 | namespace Nethereum.RPC.DebugNode 6 | { 7 | public interface IDebugGetRawBlock 8 | { 9 | RpcRequest BuildRequest(BlockParameter block, object id = null); 10 | Task SendRequestAsync(object id = null); 11 | Task SendRequestAsync(BlockParameter block, object id = null); 12 | } 13 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/DebugNode/IDebugGetRawHeader.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.JsonRpc.Client; 2 | using Nethereum.RPC.Eth.DTOs; 3 | using System.Threading.Tasks; 4 | 5 | namespace Nethereum.RPC.DebugNode 6 | { 7 | public interface IDebugGetRawHeader 8 | { 9 | RpcRequest BuildRequest(BlockParameter block, object id = null); 10 | Task SendRequestAsync(object id = null); 11 | Task SendRequestAsync(BlockParameter block, object id = null); 12 | } 13 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/DebugNode/IDebugGetRawReceipts.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.JsonRpc.Client; 2 | using Nethereum.RPC.Eth.DTOs; 3 | using System.Threading.Tasks; 4 | 5 | namespace Nethereum.RPC.DebugNode 6 | { 7 | public interface IDebugGetRawReceipts 8 | { 9 | RpcRequest BuildRequest(BlockParameter block, object id = null); 10 | Task SendRequestAsync(object id = null); 11 | Task SendRequestAsync(BlockParameter block, object id = null); 12 | } 13 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/DebugNode/IDebugGetRawTransaction.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.JsonRpc.Client; 2 | using Nethereum.RPC.Eth.DTOs; 3 | using System.Threading.Tasks; 4 | 5 | namespace Nethereum.RPC.DebugNode 6 | { 7 | public interface IDebugGetRawTransaction 8 | { 9 | RpcRequest BuildRequest(string transactionHash, object id = null); 10 | Task SendRequestAsync(string transactionHash, object id = null); 11 | } 12 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/Blocks/IEthBlockNumber.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.Hex.HexTypes; 2 | using Nethereum.RPC.Infrastructure; 3 | 4 | namespace Nethereum.RPC.Eth.Blocks 5 | { 6 | public interface IEthBlockNumber:IGenericRpcRequestResponseHandlerNoParam 7 | { 8 | 9 | } 10 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/Blocks/IEthGetBlockTransactionCountByHash.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Nethereum.Hex.HexTypes; 3 | using Nethereum.JsonRpc.Client; 4 | 5 | namespace Nethereum.RPC.Eth.Blocks 6 | { 7 | public interface IEthGetBlockTransactionCountByHash 8 | { 9 | RpcRequest BuildRequest(string hash, object id = null); 10 | Task SendRequestAsync(string hash, object id = null); 11 | } 12 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/Blocks/IEthGetBlockTransactionCountByNumber.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Nethereum.Hex.HexTypes; 3 | using Nethereum.JsonRpc.Client; 4 | using Nethereum.RPC.Eth.DTOs; 5 | 6 | namespace Nethereum.RPC.Eth.Blocks 7 | { 8 | public interface IEthGetBlockTransactionCountByNumber 9 | { 10 | RpcRequest BuildRequest(BlockParameter block, object id = null); 11 | Task SendRequestAsync(object id = null); 12 | Task SendRequestAsync(BlockParameter block, object id = null); 13 | } 14 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/Blocks/IEthGetBlockWithTransactionsByHash.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Nethereum.JsonRpc.Client; 3 | using Nethereum.RPC.Eth.DTOs; 4 | 5 | namespace Nethereum.RPC.Eth.Blocks 6 | { 7 | public interface IEthGetBlockWithTransactionsByHash 8 | { 9 | RpcRequest BuildRequest(string blockHash, object id = null); 10 | Task SendRequestAsync(string blockHash, object id = null); 11 | } 12 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/Blocks/IEthGetBlockWithTransactionsHashesByHash.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Nethereum.JsonRpc.Client; 3 | using Nethereum.RPC.Eth.DTOs; 4 | 5 | namespace Nethereum.RPC.Eth.Blocks 6 | { 7 | public interface IEthGetBlockWithTransactionsHashesByHash 8 | { 9 | RpcRequest BuildRequest(string blockHash, object id = null); 10 | Task SendRequestAsync(string blockHash, object id = null); 11 | } 12 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/Blocks/ILastConfirmedBlockNumberService.cs: -------------------------------------------------------------------------------- 1 | using System.Numerics; 2 | using System.Threading; 3 | using System.Threading.Tasks; 4 | 5 | namespace Nethereum.RPC.Eth.Blocks 6 | { 7 | public interface ILastConfirmedBlockNumberService 8 | { 9 | Task GetLastConfirmedBlockNumberAsync(BigInteger? waitForConfirmedBlockNumber, CancellationToken cancellationToken); 10 | } 11 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/Compilation/IEthCompileLLL.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Nethereum.JsonRpc.Client; 3 | using Newtonsoft.Json.Linq; 4 | 5 | namespace Nethereum.RPC.Eth.Compilation 6 | { 7 | public interface IEthCompileLLL 8 | { 9 | RpcRequest BuildRequest(string lllcode, object id = null); 10 | Task SendRequestAsync(string lllcode, object id = null); 11 | } 12 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/Compilation/IEthCompileSerpent.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Nethereum.JsonRpc.Client; 3 | using Newtonsoft.Json.Linq; 4 | 5 | namespace Nethereum.RPC.Eth.Compilation 6 | { 7 | public interface IEthCompileSerpent 8 | { 9 | RpcRequest BuildRequest(string serpentCode, object id = null); 10 | Task SendRequestAsync(string serpentCode, object id = null); 11 | } 12 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/Compilation/IEthCompileSolidity.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Nethereum.JsonRpc.Client; 3 | using Newtonsoft.Json.Linq; 4 | 5 | namespace Nethereum.RPC.Eth.Compilation 6 | { 7 | public interface IEthCompileSolidity 8 | { 9 | RpcRequest BuildRequest(string contractCode, object id = null); 10 | Task SendRequestAsync(string contractCode, object id = null); 11 | } 12 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/Compilation/IEthGetCompilers.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.RPC.Infrastructure; 2 | using System.Threading.Tasks; 3 | 4 | namespace Nethereum.RPC.Eth.Compilation 5 | { 6 | public interface IEthGetCompilers: IGenericRpcRequestResponseHandlerNoParam 7 | { 8 | 9 | } 10 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/DTOs/AccessList.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Runtime.Serialization; 3 | using Newtonsoft.Json; 4 | 5 | namespace Nethereum.RPC.Eth.DTOs 6 | { 7 | public class AccessList 8 | { 9 | [JsonProperty(PropertyName = "address")] 10 | public string Address { get; set; } 11 | [JsonProperty(PropertyName = "storageKeys")] 12 | public List StorageKeys { get; set; } 13 | } 14 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/DTOs/BadBlock.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | namespace Nethereum.RPC.Eth.DTOs 3 | { 4 | public class BadBlock 5 | { 6 | /// 7 | /// DATA, 32 Bytes - hash of the block. 8 | /// 9 | [JsonProperty(PropertyName = "hash")] 10 | public string Hash { get; set; } 11 | 12 | [JsonProperty(PropertyName = "rlp")] 13 | public string Rlp { get; set; } 14 | 15 | [JsonProperty(PropertyName = "block")] 16 | public string Block { get; set; } 17 | } 18 | } 19 | 20 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/DTOs/BlockExtensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Nethereum.RPC.Eth.DTOs 4 | { 5 | public static class BlockExtensions 6 | { 7 | public static int TransactionCount(this BlockWithTransactions block) 8 | { 9 | return block.Transactions?.Length ?? 0; 10 | } 11 | 12 | public static int TransactionCount(this BlockWithTransactionHashes block) 13 | { 14 | return block.TransactionHashes?.Length ?? 0; 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/DTOs/BlockWithTransactionHashes.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.Serialization; 2 | using Newtonsoft.Json; 3 | 4 | namespace Nethereum.RPC.Eth.DTOs 5 | { 6 | /// 7 | /// Block including just the transaction hashes 8 | /// 9 | public class BlockWithTransactionHashes : Block 10 | { 11 | /// 12 | /// Array - Array of transaction hashes 13 | /// 14 | [JsonProperty(PropertyName = "transactions")] 15 | public string[] TransactionHashes { get; set; } 16 | } 17 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/DTOs/BlockWithTransactions.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.Serialization; 2 | using Newtonsoft.Json; 3 | 4 | namespace Nethereum.RPC.Eth.DTOs 5 | { 6 | /// 7 | /// Block including transaction objects 8 | /// 9 | 10 | public class BlockWithTransactions : Block 11 | { 12 | /// 13 | /// Array - Array of transaction objects 14 | /// 15 | [JsonProperty(PropertyName = "transactions")] 16 | public Transaction[] Transactions { get; set; } 17 | } 18 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/DTOs/ValueObjects/ContractTransaction.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.RPC.Eth.DTOs; 2 | 3 | namespace Nethereum.RPC.Eth.DTOs 4 | { 5 | public class ContractTransactionVO 6 | { 7 | public ContractTransactionVO(string contractAddress, string code, Transaction transaction) 8 | { 9 | ContractAddress = contractAddress; 10 | Code = code; 11 | Transaction = transaction; 12 | } 13 | 14 | public string ContractAddress { get; private set; } 15 | public string Code { get; private set; } 16 | public Transaction Transaction { get; private set; } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/DTOs/ValueObjects/TransactionVO.cs: -------------------------------------------------------------------------------- 1 |  2 | namespace Nethereum.RPC.Eth.DTOs 3 | { 4 | public class TransactionVO 5 | { 6 | public Transaction Transaction { get; } 7 | public Block Block { get; } 8 | 9 | public TransactionVO() 10 | { 11 | 12 | } 13 | 14 | public TransactionVO( 15 | Transaction transaction, 16 | Block block 17 | ) 18 | { 19 | Transaction = transaction; 20 | Block = block; 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/EthMaxPriorityFeePerGas.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.Hex.HexTypes; 2 | using Nethereum.JsonRpc.Client; 3 | using Nethereum.RPC.Infrastructure; 4 | 5 | namespace Nethereum.RPC.Eth 6 | { 7 | /// 8 | /// Returns the current maxPriorityFeePerGas per gas in wei. 9 | /// 10 | public class EthMaxPriorityFeePerGas: GenericRpcRequestResponseHandlerNoParam 11 | { 12 | public EthMaxPriorityFeePerGas(IClient client) : base(client, ApiMethods.eth_maxPriorityFeePerGas.ToString()) 13 | { 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/Exceptions/ContractDeploymentException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Nethereum.RPC.Eth.DTOs; 3 | 4 | namespace Nethereum.RPC.Eth.Exceptions 5 | { 6 | public class ContractDeploymentException : Exception 7 | { 8 | public ContractDeploymentException(string message, TransactionReceipt transactionReceipt) : base(message) 9 | { 10 | TransactionReceipt = transactionReceipt; 11 | } 12 | 13 | public TransactionReceipt TransactionReceipt { get; set; } 14 | } 15 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/Filters/IEthGetFilterChangesForBlockOrTransaction.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Nethereum.Hex.HexTypes; 3 | using Nethereum.JsonRpc.Client; 4 | 5 | namespace Nethereum.RPC.Eth.Filters 6 | { 7 | public interface IEthGetFilterChangesForBlockOrTransaction 8 | { 9 | RpcRequest BuildRequest(HexBigInteger filterId, object id = null); 10 | Task SendRequestAsync(HexBigInteger filterId, object id = null); 11 | } 12 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/Filters/IEthGetFilterChangesForEthNewFilter.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Nethereum.Hex.HexTypes; 3 | using Nethereum.JsonRpc.Client; 4 | using Nethereum.RPC.Eth.DTOs; 5 | 6 | namespace Nethereum.RPC.Eth.Filters 7 | { 8 | public interface IEthGetFilterChangesForEthNewFilter 9 | { 10 | RpcRequest BuildRequest(HexBigInteger filterId, object id = null); 11 | Task SendRequestAsync(HexBigInteger filterId, object id = null); 12 | } 13 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/Filters/IEthGetFilterLogsForBlockOrTransaction.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Nethereum.Hex.HexTypes; 3 | using Nethereum.JsonRpc.Client; 4 | 5 | namespace Nethereum.RPC.Eth.Filters 6 | { 7 | public interface IEthGetFilterLogsForBlockOrTransaction 8 | { 9 | RpcRequest BuildRequest(HexBigInteger filterId, object id = null); 10 | Task SendRequestAsync(HexBigInteger filterId, object id = null); 11 | } 12 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/Filters/IEthGetFilterLogsForEthNewFilter.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Nethereum.Hex.HexTypes; 3 | using Nethereum.JsonRpc.Client; 4 | using Nethereum.RPC.Eth.DTOs; 5 | 6 | namespace Nethereum.RPC.Eth.Filters 7 | { 8 | public interface IEthGetFilterLogsForEthNewFilter 9 | { 10 | RpcRequest BuildRequest(HexBigInteger filterId, object id = null); 11 | Task SendRequestAsync(HexBigInteger filterId, object id = null); 12 | } 13 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/Filters/IEthGetLogs.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Nethereum.JsonRpc.Client; 3 | using Nethereum.RPC.Eth.DTOs; 4 | 5 | namespace Nethereum.RPC.Eth.Filters 6 | { 7 | public interface IEthGetLogs 8 | { 9 | RpcRequest BuildRequest(NewFilterInput newFilter, object id = null); 10 | Task SendRequestAsync(NewFilterInput newFilter, object id = null); 11 | } 12 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/Filters/IEthNewBlockFilter.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.Hex.HexTypes; 2 | using Nethereum.RPC.Infrastructure; 3 | 4 | namespace Nethereum.RPC.Eth.Filters 5 | { 6 | public interface IEthNewBlockFilter: IGenericRpcRequestResponseHandlerNoParam 7 | { 8 | 9 | } 10 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/Filters/IEthNewFilter.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Nethereum.Hex.HexTypes; 3 | using Nethereum.JsonRpc.Client; 4 | using Nethereum.RPC.Eth.DTOs; 5 | 6 | namespace Nethereum.RPC.Eth.Filters 7 | { 8 | public interface IEthNewFilter 9 | { 10 | RpcRequest BuildRequest(NewFilterInput newFilterInput, object id = null); 11 | Task SendRequestAsync(NewFilterInput newFilterInput, object id = null); 12 | } 13 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/Filters/IEthNewPendingTransactionFilter.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.Hex.HexTypes; 2 | using Nethereum.RPC.Infrastructure; 3 | 4 | namespace Nethereum.RPC.Eth.Filters 5 | { 6 | public interface IEthNewPendingTransactionFilter : IGenericRpcRequestResponseHandlerNoParam 7 | { 8 | 9 | } 10 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/Filters/IEthUninstallFilter.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Nethereum.Hex.HexTypes; 3 | using Nethereum.JsonRpc.Client; 4 | 5 | namespace Nethereum.RPC.Eth.Filters 6 | { 7 | public interface IEthUninstallFilter 8 | { 9 | RpcRequest BuildRequest(HexBigInteger filterId, object id = null); 10 | Task SendRequestAsync(HexBigInteger filterId, object id = null); 11 | } 12 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/IDefaultBlock.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.RPC.Eth.DTOs; 2 | 3 | namespace Nethereum.RPC.Eth 4 | { 5 | public interface IDefaultBlock 6 | { 7 | BlockParameter DefaultBlock { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/IEthAccounts.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.RPC.Infrastructure; 2 | 3 | namespace Nethereum.RPC.Eth 4 | { 5 | public interface IEthAccounts : IGenericRpcRequestResponseHandlerNoParam 6 | { 7 | 8 | } 9 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/IEthChainId.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.Hex.HexTypes; 2 | using Nethereum.RPC.Infrastructure; 3 | 4 | namespace Nethereum.RPC.Eth 5 | { 6 | public interface IEthChainId : IGenericRpcRequestResponseHandlerNoParam 7 | { 8 | 9 | } 10 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/IEthCoinBase.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.RPC.Infrastructure; 2 | 3 | namespace Nethereum.RPC.Eth 4 | { 5 | public interface IEthCoinBase : IGenericRpcRequestResponseHandlerNoParam 6 | { 7 | 8 | } 9 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/IEthCreateAccessList.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.JsonRpc.Client; 2 | using Nethereum.RPC.Eth.DTOs; 3 | using System.Threading.Tasks; 4 | 5 | namespace Nethereum.RPC.Eth 6 | { 7 | public interface IEthCreateAccessList 8 | { 9 | BlockParameter DefaultBlock { get; set; } 10 | 11 | RpcRequest BuildRequest(TransactionInput transactionInput, BlockParameter block, object id = null); 12 | Task SendRequestAsync(TransactionInput transactionInput, object id = null); 13 | Task SendRequestAsync(TransactionInput transactionInput, BlockParameter block, object id = null); 14 | } 15 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/IEthGasPrice.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.Hex.HexTypes; 2 | using Nethereum.RPC.Infrastructure; 3 | 4 | namespace Nethereum.RPC.Eth 5 | { 6 | public interface IEthGasPrice : IGenericRpcRequestResponseHandlerNoParam 7 | { 8 | 9 | } 10 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/IEthGetBalance.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Nethereum.Hex.HexTypes; 3 | using Nethereum.JsonRpc.Client; 4 | using Nethereum.RPC.Eth.DTOs; 5 | 6 | namespace Nethereum.RPC.Eth 7 | { 8 | public interface IEthGetBalance 9 | { 10 | BlockParameter DefaultBlock { get; set; } 11 | 12 | RpcRequest BuildRequest(string address, BlockParameter block, object id = null); 13 | Task SendRequestAsync(string address, object id = null); 14 | Task SendRequestAsync(string address, BlockParameter block, object id = null); 15 | } 16 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/IEthGetCode.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Nethereum.JsonRpc.Client; 3 | using Nethereum.RPC.Eth.DTOs; 4 | 5 | namespace Nethereum.RPC.Eth 6 | { 7 | public interface IEthGetCode 8 | { 9 | BlockParameter DefaultBlock { get; set; } 10 | 11 | RpcRequest BuildRequest(string address, BlockParameter block, object id = null); 12 | Task SendRequestAsync(string address, object id = null); 13 | Task SendRequestAsync(string address, BlockParameter block, object id = null); 14 | } 15 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/IEthGetProof.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.JsonRpc.Client; 2 | using Nethereum.RPC.Eth.DTOs; 3 | using System.Threading.Tasks; 4 | 5 | namespace Nethereum.RPC.Eth 6 | { 7 | public interface IEthGetProof 8 | { 9 | BlockParameter DefaultBlock { get; set; } 10 | 11 | RpcRequest BuildRequest(string address, string[] storageKeys, BlockParameter block, object id = null); 12 | Task SendRequestAsync(string address, string[] storageKeys, object id = null); 13 | Task SendRequestAsync(string address, string[] storageKeys, BlockParameter block, object id = null); 14 | } 15 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/IEthGetStorageAt.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Nethereum.Hex.HexTypes; 3 | using Nethereum.JsonRpc.Client; 4 | using Nethereum.RPC.Eth.DTOs; 5 | 6 | namespace Nethereum.RPC.Eth 7 | { 8 | public interface IEthGetStorageAt 9 | { 10 | BlockParameter DefaultBlock { get; set; } 11 | 12 | RpcRequest BuildRequest(string address, HexBigInteger position, BlockParameter block, object id = null); 13 | Task SendRequestAsync(string address, HexBigInteger position, object id = null); 14 | Task SendRequestAsync(string address, HexBigInteger position, BlockParameter block, object id = null); 15 | } 16 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/IEthMaxPriorityFeePerGas.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.Hex.HexTypes; 2 | using Nethereum.RPC.Infrastructure; 3 | 4 | namespace Nethereum.RPC.Eth 5 | { 6 | public interface IEthMaxPriorityFeePerGas : IGenericRpcRequestResponseHandlerNoParam 7 | { 8 | 9 | } 10 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/IEthProtocolVersion.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.RPC.Infrastructure; 2 | 3 | namespace Nethereum.RPC.Eth 4 | { 5 | public interface IEthProtocolVersion : IGenericRpcRequestResponseHandlerNoParam 6 | { 7 | 8 | } 9 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/IEthSign.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Nethereum.JsonRpc.Client; 3 | 4 | namespace Nethereum.RPC.Eth 5 | { 6 | public interface IEthSign 7 | { 8 | RpcRequest BuildRequest(string address, string data, object id = null); 9 | Task SendRequestAsync(string address, string data, object id = null); 10 | } 11 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/IEthSyncing.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Nethereum.RPC.Eth.DTOs; 3 | using Nethereum.RPC.Infrastructure; 4 | 5 | namespace Nethereum.RPC.Eth 6 | { 7 | public interface IEthSyncing: IGenericRpcRequestResponseHandlerNoParam 8 | { 9 | #if !DOTNET35 10 | Task SendRequestAsync(object id = null); 11 | #endif 12 | } 13 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/Mining/IEthGetWork.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.RPC.Infrastructure; 2 | 3 | namespace Nethereum.RPC.Eth.Mining 4 | { 5 | public interface IEthGetWork : IGenericRpcRequestResponseHandlerNoParam 6 | { 7 | 8 | } 9 | 10 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/Mining/IEthHashrate.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.Hex.HexTypes; 2 | using Nethereum.RPC.Infrastructure; 3 | 4 | namespace Nethereum.RPC.Eth.Mining 5 | { 6 | public interface IEthHashrate : IGenericRpcRequestResponseHandlerNoParam 7 | { 8 | 9 | } 10 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/Mining/IEthMining.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.RPC.Infrastructure; 2 | 3 | namespace Nethereum.RPC.Eth.Mining 4 | { 5 | public interface IEthMining : IGenericRpcRequestResponseHandlerNoParam 6 | { 7 | 8 | } 9 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/Mining/IEthSubmitHashrate.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Nethereum.JsonRpc.Client; 3 | 4 | namespace Nethereum.RPC.Eth.Mining 5 | { 6 | public interface IEthSubmitHashrate 7 | { 8 | RpcRequest BuildRequest(string hashRate, string clientId, object id = null); 9 | Task SendRequestAsync(string hashRate, string clientId, object id = null); 10 | } 11 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/Mining/IEthSubmitWork.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Nethereum.JsonRpc.Client; 3 | 4 | namespace Nethereum.RPC.Eth.Mining 5 | { 6 | public interface IEthSubmitWork 7 | { 8 | RpcRequest BuildRequest(string nonce, string header, string mix, object id = null); 9 | Task SendRequestAsync(string nonce, string header, string mix, object id = null); 10 | } 11 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/Services/IEthApiCompilerService.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.RPC.Eth.Compilation; 2 | 3 | namespace Nethereum.RPC.Eth.Services 4 | { 5 | public interface IEthApiCompilerService 6 | { 7 | IEthCompileLLL CompileLLL { get; } 8 | IEthCompileSerpent CompileSerpent { get; } 9 | IEthCompileSolidity CompileSolidity { get; } 10 | IEthGetCompilers GetCompilers { get; } 11 | } 12 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/Services/IEthApiMiningService.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.RPC.Eth.Mining; 2 | 3 | namespace Nethereum.RPC.Eth.Services 4 | { 5 | public interface IEthApiMiningService 6 | { 7 | IEthGetWork GetWork { get; } 8 | IEthHashrate Hashrate { get; } 9 | IEthMining IsMining { get; } 10 | IEthSubmitHashrate SubmitHashrate { get; } 11 | IEthSubmitWork SubmitWork { get; } 12 | } 13 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/Services/IEthApiUncleService.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.RPC.Eth.Uncles; 2 | 3 | namespace Nethereum.RPC.Eth.Services 4 | { 5 | public interface IEthApiUncleService 6 | { 7 | IEthGetUncleByBlockHashAndIndex GetUncleByBlockHashAndIndex { get; } 8 | IEthGetUncleByBlockNumberAndIndex GetUncleByBlockNumberAndIndex { get; } 9 | IEthGetUncleCountByBlockHash GetUncleCountByBlockHash { get; } 10 | IEthGetUncleCountByBlockNumber GetUncleCountByBlockNumber { get; } 11 | } 12 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/Subscriptions/EthNewBlockHeadersSubscriptionRequestBuilder.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Nethereum.JsonRpc.Client; 3 | 4 | namespace Nethereum.RPC.Eth.Subscriptions 5 | { 6 | public class EthNewBlockHeadersSubscriptionRequestBuilder : RpcRequestBuilder 7 | { 8 | public EthNewBlockHeadersSubscriptionRequestBuilder() : base(ApiMethods.eth_subscribe.ToString()) 9 | { 10 | } 11 | 12 | public override RpcRequest BuildRequest(object id = null) 13 | { 14 | if (id == null) id = Guid.NewGuid().ToString(); 15 | return base.BuildRequest(id, "newHeads"); 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/Transactions/IEthCall.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Nethereum.JsonRpc.Client; 3 | using Nethereum.RPC.Eth.DTOs; 4 | 5 | namespace Nethereum.RPC.Eth.Transactions 6 | { 7 | public interface IEthCall 8 | { 9 | BlockParameter DefaultBlock { get; set; } 10 | 11 | RpcRequest BuildRequest(CallInput callInput, BlockParameter block, object id = null); 12 | Task SendRequestAsync(CallInput callInput, object id = null); 13 | Task SendRequestAsync(CallInput callInput, BlockParameter block, object id = null); 14 | } 15 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/Transactions/IEthEstimateGas.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Nethereum.Hex.HexTypes; 3 | using Nethereum.JsonRpc.Client; 4 | using Nethereum.RPC.Eth.DTOs; 5 | 6 | namespace Nethereum.RPC.Eth.Transactions 7 | { 8 | public interface IEthEstimateGas 9 | { 10 | RpcRequest BuildRequest(CallInput callInput, object id = null); 11 | Task SendRequestAsync(CallInput callInput, object id = null); 12 | } 13 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/Transactions/IEthGetTransactionByBlockHashAndIndex.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Nethereum.Hex.HexTypes; 3 | using Nethereum.JsonRpc.Client; 4 | using Nethereum.RPC.Eth.DTOs; 5 | 6 | namespace Nethereum.RPC.Eth.Transactions 7 | { 8 | public interface IEthGetTransactionByBlockHashAndIndex 9 | { 10 | RpcRequest BuildRequest(string blockHash, HexBigInteger transactionIndex, object id = null); 11 | Task SendRequestAsync(string blockHash, HexBigInteger transactionIndex, object id = null); 12 | } 13 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/Transactions/IEthGetTransactionByBlockNumberAndIndex.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Nethereum.Hex.HexTypes; 3 | using Nethereum.JsonRpc.Client; 4 | using Nethereum.RPC.Eth.DTOs; 5 | 6 | namespace Nethereum.RPC.Eth.Transactions 7 | { 8 | public interface IEthGetTransactionByBlockNumberAndIndex 9 | { 10 | RpcRequest BuildRequest(HexBigInteger blockNumber, HexBigInteger transactionIndex, object id = null); 11 | Task SendRequestAsync(HexBigInteger blockNumber, HexBigInteger transactionIndex, object id = null); 12 | } 13 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/Transactions/IEthGetTransactionByHash.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Nethereum.JsonRpc.Client; 3 | using Nethereum.RPC.Eth.DTOs; 4 | 5 | namespace Nethereum.RPC.Eth.Transactions 6 | { 7 | public interface IEthGetTransactionByHash 8 | { 9 | RpcRequest BuildRequest(string hashTransaction, object id = null); 10 | Task SendRequestAsync(string hashTransaction, object id = null); 11 | } 12 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/Transactions/IEthGetTransactionCount.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Nethereum.Hex.HexTypes; 3 | using Nethereum.JsonRpc.Client; 4 | using Nethereum.RPC.Eth.DTOs; 5 | 6 | namespace Nethereum.RPC.Eth.Transactions 7 | { 8 | public interface IEthGetTransactionCount 9 | { 10 | BlockParameter DefaultBlock { get; set; } 11 | 12 | RpcRequest BuildRequest(string address, BlockParameter block, object id = null); 13 | Task SendRequestAsync(string address, object id = null); 14 | Task SendRequestAsync(string address, BlockParameter block, object id = null); 15 | } 16 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/Transactions/IEthGetTransactionReceipt.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Nethereum.JsonRpc.Client; 3 | using Nethereum.RPC.Eth.DTOs; 4 | 5 | namespace Nethereum.RPC.Eth.Transactions 6 | { 7 | public interface IEthGetTransactionReceipt 8 | { 9 | RpcRequest BuildRequest(string transactionHash, object id = null); 10 | Task SendRequestAsync(string transactionHash, object id = null); 11 | } 12 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/Transactions/IEthSendRawTransaction.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Nethereum.JsonRpc.Client; 3 | 4 | namespace Nethereum.RPC.Eth.Transactions 5 | { 6 | public interface IEthSendRawTransaction 7 | { 8 | RpcRequest BuildRequest(string signedTransactionData, object id = null); 9 | Task SendRequestAsync(string signedTransactionData, object id = null); 10 | } 11 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/Transactions/IEthSendTransaction.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Nethereum.JsonRpc.Client; 3 | using Nethereum.RPC.Eth.DTOs; 4 | 5 | namespace Nethereum.RPC.Eth.Transactions 6 | { 7 | public interface IEthSendTransaction 8 | { 9 | RpcRequest BuildRequest(TransactionInput input, object id = null); 10 | Task SendRequestAsync(TransactionInput input, object id = null); 11 | } 12 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/Uncles/IEthGetUncleByBlockHashAndIndex.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Nethereum.Hex.HexTypes; 3 | using Nethereum.JsonRpc.Client; 4 | using Nethereum.RPC.Eth.DTOs; 5 | 6 | namespace Nethereum.RPC.Eth.Uncles 7 | { 8 | public interface IEthGetUncleByBlockHashAndIndex 9 | { 10 | RpcRequest BuildRequest(string blockHash, HexBigInteger uncleIndex, object id = null); 11 | Task SendRequestAsync(string blockHash, HexBigInteger uncleIndex, object id = null); 12 | } 13 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/Uncles/IEthGetUncleByBlockNumberAndIndex.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Nethereum.Hex.HexTypes; 3 | using Nethereum.JsonRpc.Client; 4 | using Nethereum.RPC.Eth.DTOs; 5 | 6 | namespace Nethereum.RPC.Eth.Uncles 7 | { 8 | public interface IEthGetUncleByBlockNumberAndIndex 9 | { 10 | RpcRequest BuildRequest(BlockParameter blockParameter, HexBigInteger uncleIndex, object id = null); 11 | Task SendRequestAsync(BlockParameter blockParameter, HexBigInteger uncleIndex, object id = null); 12 | } 13 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/Uncles/IEthGetUncleCountByBlockHash.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Nethereum.Hex.HexTypes; 3 | using Nethereum.JsonRpc.Client; 4 | 5 | namespace Nethereum.RPC.Eth.Uncles 6 | { 7 | public interface IEthGetUncleCountByBlockHash 8 | { 9 | RpcRequest BuildRequest(string hash, object id = null); 10 | Task SendRequestAsync(string hash, object id = null); 11 | } 12 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Eth/Uncles/IEthGetUncleCountByBlockNumber.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Nethereum.Hex.HexTypes; 3 | using Nethereum.JsonRpc.Client; 4 | 5 | namespace Nethereum.RPC.Eth.Uncles 6 | { 7 | public interface IEthGetUncleCountByBlockNumber 8 | { 9 | RpcRequest BuildRequest(HexBigInteger blockNumber, object id = null); 10 | Task SendRequestAsync(HexBigInteger blockNumber, object id = null); 11 | } 12 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Fee1559Suggestions/Fee1559.cs: -------------------------------------------------------------------------------- 1 | using System.Numerics; 2 | 3 | namespace Nethereum.RPC.Fee1559Suggestions 4 | { 5 | public class Fee1559 6 | { 7 | public BigInteger? BaseFee { get; set; } 8 | public BigInteger? MaxPriorityFeePerGas { get; set; } 9 | public BigInteger? MaxFeePerGas { get; set; } 10 | 11 | } 12 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Fee1559Suggestions/IFee1559SuggestionStrategy.cs: -------------------------------------------------------------------------------- 1 | using System.Numerics; 2 | using System.Threading.Tasks; 3 | 4 | namespace Nethereum.RPC.Fee1559Suggestions 5 | { 6 | 7 | public interface IFee1559SuggestionStrategy 8 | { 9 | #if !DOTNET35 10 | Task SuggestFeeAsync(BigInteger? maxPriorityFeePerGas = null); 11 | #endif 12 | } 13 | 14 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/HostWallet/IEthRequestAccounts.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.RPC.Infrastructure; 2 | 3 | namespace Nethereum.RPC.HostWallet 4 | { 5 | /// 6 | /// EIP-1102 https://eips.ethereum.org/EIPS/eip-1102 7 | /// Requests that the user provides an Ethereum address to be identified by. 8 | /// 9 | public interface IEthRequestAccounts : IGenericRpcRequestResponseHandlerNoParam 10 | { 11 | 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/HostWallet/IHostWalletService.cs: -------------------------------------------------------------------------------- 1 | namespace Nethereum.RPC.HostWallet 2 | { 3 | public interface IHostWalletService 4 | { 5 | IWalletAddEthereumChain AddEthereumChain { get; } 6 | IWalletGetPermissions GetPermissions { get; } 7 | IEthRequestAccounts RequestAccounts { get; } 8 | IWalletRequestPermissions RequestPermissions { get; } 9 | IWalletWatchAsset WatchAsset { get; } 10 | } 11 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/HostWallet/IWalletGetPermissions.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.RPC.Infrastructure; 2 | using Newtonsoft.Json.Linq; 3 | 4 | namespace Nethereum.RPC.HostWallet 5 | { 6 | public interface IWalletGetPermissions : IGenericRpcRequestResponseHandlerNoParam 7 | { 8 | 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/HostWallet/IWalletRequestPermissions.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.JsonRpc.Client; 2 | using Newtonsoft.Json.Linq; 3 | using System.Threading.Tasks; 4 | 5 | namespace Nethereum.RPC.HostWallet 6 | { 7 | public interface IWalletRequestPermissions 8 | { 9 | RpcRequest BuildRequest(string[] methods, object id = null); 10 | Task SendRequestAsync(string[] methods, object id = null); 11 | 12 | } 13 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/HostWallet/IWalletWatchAsset.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.JsonRpc.Client; 2 | using System.Threading.Tasks; 3 | 4 | namespace Nethereum.RPC.HostWallet 5 | { 6 | public interface IWalletWatchAsset 7 | { 8 | RpcRequest BuildRequest(WatchAssetParameter watchAssetParameter, object id = null); 9 | Task SendRequestAsync(WatchAssetParameter watchAssetParameter, object id = null); 10 | } 11 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/HostWallet/NativeCurrency.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Nethereum.RPC.HostWallet 4 | { 5 | public class NativeCurrency 6 | { 7 | [JsonProperty(PropertyName = "name")] 8 | public string Name { get; set; } 9 | 10 | [JsonProperty(PropertyName = "symbol")] 11 | public string Symbol { get; set; } 12 | 13 | [JsonProperty(PropertyName = "decimals")] 14 | public uint Decimals { get; set; } 15 | } 16 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/HostWallet/WalletGetPermissions.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.JsonRpc.Client; 2 | using Nethereum.RPC.Infrastructure; 3 | using Newtonsoft.Json.Linq; 4 | 5 | namespace Nethereum.RPC.HostWallet 6 | { 7 | public class WalletGetPermissions : GenericRpcRequestResponseHandlerNoParam, IWalletGetPermissions 8 | { 9 | public WalletGetPermissions() : this(null) 10 | { 11 | } 12 | 13 | public WalletGetPermissions(IClient client) : base(client, ApiMethods.wallet_getPermissions.ToString()) 14 | { 15 | 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/HostWallet/WatchAssetParameter.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Nethereum.RPC.HostWallet 4 | { 5 | public class WatchAssetParameter 6 | { 7 | /// 8 | /// The asset's interface, e.g. 'ERC20' 9 | /// 10 | [JsonProperty(PropertyName = "type")] 11 | public string Type { get; set; } = "ERC20"; 12 | 13 | [JsonProperty(PropertyName = "options")] 14 | public WatchAssetParametersOptions Options { get; set; } = new WatchAssetParametersOptions(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/INetApiService.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.RPC.Net; 2 | 3 | namespace Nethereum.RPC 4 | { 5 | public interface INetApiService 6 | { 7 | INetListening Listening { get; } 8 | INetPeerCount PeerCount { get; } 9 | INetVersion Version { get; } 10 | } 11 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/IPersonalApiService.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.RPC.Personal; 2 | 3 | namespace Nethereum.RPC 4 | { 5 | public interface IPersonalApiService 6 | { 7 | IPersonalListAccounts ListAccounts { get; } 8 | IPersonalLockAccount LockAccount { get; } 9 | IPersonalNewAccount NewAccount { get; } 10 | IPersonalSignAndSendTransaction SignAndSendTransaction { get; } 11 | IPersonalUnlockAccount UnlockAccount { get; } 12 | } 13 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/IShhApiService.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.RPC.Shh; 2 | 3 | namespace Nethereum.RPC 4 | { 5 | public interface IShhApiService 6 | { 7 | IShhKeyPair KeyPair { get; } 8 | IShhSymKey SymKey { get; } 9 | IShhMessageFilter MessageFilter { get; } 10 | IShhPost Post { get; } 11 | IShhVersion Version { get; } 12 | } 13 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Infrastructure/IGenericRpcRequestResponseHandlerNoParam.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | 3 | namespace Nethereum.RPC.Infrastructure 4 | { 5 | public interface IGenericRpcRequestResponseHandlerNoParam 6 | { 7 | Task SendRequestAsync(object id = null); 8 | } 9 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Infrastructure/IGenericRpcRequestResponseHandlerParamString.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.JsonRpc.Client; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace Nethereum.RPC.Infrastructure 8 | { 9 | public interface IGenericRpcRequestResponseHandlerParamString 10 | { 11 | Task SendRequestAsync(string str, object id = null); 12 | RpcRequest BuildRequest(string str, object id = null); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Net/INetListening.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.RPC.Infrastructure; 2 | 3 | namespace Nethereum.RPC.Net 4 | { 5 | public interface INetListening : IGenericRpcRequestResponseHandlerNoParam 6 | { 7 | 8 | } 9 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Net/INetPeerCount.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.Hex.HexTypes; 2 | using Nethereum.RPC.Infrastructure; 3 | 4 | namespace Nethereum.RPC.Net 5 | { 6 | public interface INetPeerCount : IGenericRpcRequestResponseHandlerNoParam 7 | { 8 | 9 | } 10 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Net/INetVersion.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.RPC.Infrastructure; 2 | 3 | namespace Nethereum.RPC.Net 4 | { 5 | public interface INetVersion : IGenericRpcRequestResponseHandlerNoParam 6 | { 7 | 8 | } 9 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/NetApiService.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.JsonRpc.Client; 2 | using Nethereum.RPC.Net; 3 | 4 | namespace Nethereum.RPC 5 | { 6 | public class NetApiService : RpcClientWrapper, INetApiService 7 | { 8 | public NetApiService(IClient client) : base(client) 9 | { 10 | Listening = new NetListening(client); 11 | PeerCount = new NetPeerCount(client); 12 | Version = new NetVersion(client); 13 | } 14 | 15 | public INetListening Listening { get; private set; } 16 | public INetPeerCount PeerCount { get; private set; } 17 | public INetVersion Version { get; private set; } 18 | } 19 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/NonceServices/INonceService.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Nethereum.Hex.HexTypes; 3 | using Nethereum.JsonRpc.Client; 4 | 5 | namespace Nethereum.RPC.NonceServices 6 | { 7 | public interface INonceService 8 | { 9 | IClient Client { get; set; } 10 | Task GetNextNonceAsync(); 11 | Task ResetNonceAsync(); 12 | } 13 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Personal/IPersonalListAccounts.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.RPC.Infrastructure; 2 | 3 | namespace Nethereum.RPC.Personal 4 | { 5 | public interface IPersonalListAccounts : IGenericRpcRequestResponseHandlerNoParam 6 | { 7 | 8 | } 9 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Personal/IPersonalLockAccount.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Nethereum.JsonRpc.Client; 3 | 4 | namespace Nethereum.RPC.Personal 5 | { 6 | public interface IPersonalLockAccount 7 | { 8 | RpcRequest BuildRequest(string account, object id = null); 9 | Task SendRequestAsync(string account, object id = null); 10 | } 11 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Personal/IPersonalNewAccount.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Nethereum.JsonRpc.Client; 3 | 4 | namespace Nethereum.RPC.Personal 5 | { 6 | public interface IPersonalNewAccount 7 | { 8 | RpcRequest BuildRequest(string passPhrase, object id = null); 9 | Task SendRequestAsync(string passPhrase, object id = null); 10 | } 11 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Personal/IPersonalSignAndSendTransaction.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Nethereum.JsonRpc.Client; 3 | using Nethereum.RPC.Eth.DTOs; 4 | 5 | namespace Nethereum.RPC.Personal 6 | { 7 | public interface IPersonalSignAndSendTransaction 8 | { 9 | RpcRequest BuildRequest(TransactionInput txn, string password, object id = null); 10 | Task SendRequestAsync(TransactionInput txn, string password, object id = null); 11 | } 12 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/RpcClientWrapper.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.JsonRpc.Client; 2 | 3 | namespace Nethereum.RPC 4 | { 5 | public class RpcClientWrapper 6 | { 7 | public RpcClientWrapper(IClient client) 8 | { 9 | Client = client; 10 | } 11 | 12 | public IClient Client { get; protected set; } 13 | } 14 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Shh/DTOs/ShhMessage.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Text; 4 | 5 | namespace Nethereum.RPC.Shh.DTOs 6 | { 7 | public class ShhMessage 8 | { 9 | public string Hash { get; set; } 10 | public string Padding { get; set; } 11 | public string Payload { get; set; } 12 | public decimal Pow { get; set; } 13 | public string RecipientPublicKey { get; set; } 14 | public string Sig { get; set; } 15 | public long Timestamp { get; set; } 16 | public string Topic { get; set; } 17 | public long Ttl { get; set; } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Shh/IShhKeyPair.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.RPC.Shh.KeyPair; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Text; 5 | 6 | namespace Nethereum.RPC.Shh 7 | { 8 | public interface IShhKeyPair 9 | { 10 | IShhNewKeyPair NewKeyPair { get; } 11 | IShhAddPrivateKey AddPrivateKey { get; } 12 | IShhDeleteKeyPair DeleteKeyPair { get; } 13 | IShhHasKeyPair HasKeyPair { get; } 14 | IShhGetPublicKey GetPublicKey { get; } 15 | IShhGetPrivateKey GetPrivateKey { get; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Shh/IShhMessageFilter.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.JsonRpc.Client; 2 | using Nethereum.RPC.Infrastructure; 3 | using Nethereum.RPC.Shh.DTOs; 4 | using Nethereum.RPC.Shh.MessageFilter; 5 | using System; 6 | using System.Collections.Generic; 7 | using System.Text; 8 | using System.Threading.Tasks; 9 | 10 | namespace Nethereum.RPC.Shh 11 | { 12 | public interface IShhMessageFilter 13 | { 14 | IShhNewMessageFilter NewMessageFilter { get; } 15 | IShhDeleteMessageFilter DeleteMessageFilter { get; } 16 | IShhGetFilterMessages GetFilterMessages { get; } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Shh/IShhPost.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.JsonRpc.Client; 2 | using Nethereum.RPC.Shh.DTOs; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace Nethereum.RPC.Shh 9 | { 10 | public interface IShhPost 11 | { 12 | RpcRequest BuildRequest(MessageInput input, object id = null); 13 | Task SendRequestAsync(MessageInput input, object id = null); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Shh/IShhSymKey.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.RPC.Shh.SymKey; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Text; 5 | 6 | namespace Nethereum.RPC.Shh 7 | { 8 | public interface IShhSymKey 9 | { 10 | IShhAddSymKey AddSymKey { get; } 11 | IShhDeleteSymKey DeleteSymKey { get; } 12 | IShhGenerateSymKeyFromPassword GenerateSymKeyFromPassword { get; } 13 | IShhGetSymKey GetSymKey { get; } 14 | IShhHasSymKey HasSymKey { get; } 15 | IShhNewSymKey NewSymKey { get; } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Shh/IShhVersion.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.RPC.Infrastructure; 2 | 3 | namespace Nethereum.RPC.Shh 4 | { 5 | public interface IShhVersion : IGenericRpcRequestResponseHandlerNoParam 6 | { 7 | 8 | } 9 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Shh/KeyPair/IShhAddPrivateKey.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.JsonRpc.Client; 2 | using Nethereum.RPC.Infrastructure; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace Nethereum.RPC.Shh.KeyPair 9 | { 10 | public interface IShhAddPrivateKey 11 | { 12 | Task SendRequestAsync(string privateKey, object id = null); 13 | RpcRequest BuildRequest(string privateKey, object id = null); 14 | } 15 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Shh/KeyPair/IShhDeleteKeyPair.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.JsonRpc.Client; 2 | using Nethereum.RPC.Infrastructure; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace Nethereum.RPC.Shh.KeyPair 9 | { 10 | public interface IShhDeleteKeyPair : IGenericRpcRequestResponseHandlerParamString 11 | { 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Shh/KeyPair/IShhGetPrivateKey.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.JsonRpc.Client; 2 | using Nethereum.RPC.Infrastructure; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace Nethereum.RPC.Shh.KeyPair 9 | { 10 | public interface IShhGetPrivateKey : IGenericRpcRequestResponseHandlerParamString 11 | { 12 | } 13 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Shh/KeyPair/IShhGetPublicKey.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.JsonRpc.Client; 2 | using Nethereum.RPC.Infrastructure; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace Nethereum.RPC.Shh.KeyPair 9 | { 10 | public interface IShhGetPublicKey : IGenericRpcRequestResponseHandlerParamString 11 | { 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Shh/KeyPair/IShhHasKeyPair.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.JsonRpc.Client; 2 | using Nethereum.RPC.Infrastructure; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace Nethereum.RPC.Shh.KeyPair 9 | { 10 | public interface IShhHasKeyPair : IGenericRpcRequestResponseHandlerParamString 11 | { 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Shh/KeyPair/IShhNewKeyPair.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.RPC.Infrastructure; 2 | 3 | namespace Nethereum.RPC.Shh.KeyPair 4 | { 5 | public interface IShhNewKeyPair : IGenericRpcRequestResponseHandlerNoParam 6 | { 7 | 8 | } 9 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Shh/KeyPair/ShhDeleteKeyPair.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.JsonRpc.Client; 2 | using Nethereum.RPC.Infrastructure; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace Nethereum.RPC.Shh.KeyPair 9 | { 10 | public class ShhDeleteKeyPair : GenericRpcRequestResponseHandlerParamString, IShhDeleteKeyPair 11 | { 12 | public ShhDeleteKeyPair(IClient client) : base(client, ApiMethods.shh_deleteKeyPair.ToString()) 13 | { 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Shh/KeyPair/ShhGetPrivateKey.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.JsonRpc.Client; 2 | using Nethereum.RPC.Infrastructure; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace Nethereum.RPC.Shh.KeyPair 9 | { 10 | public class ShhGetPrivateKey : GenericRpcRequestResponseHandlerParamString, IShhGetPrivateKey 11 | { 12 | public ShhGetPrivateKey(IClient client) : base(client, ApiMethods.shh_getPrivateKey.ToString()) 13 | { 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Shh/KeyPair/ShhGetPublicKey.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.JsonRpc.Client; 2 | using Nethereum.RPC.Infrastructure; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace Nethereum.RPC.Shh.KeyPair 9 | { 10 | public class ShhGetPublicKey : GenericRpcRequestResponseHandlerParamString, IShhGetPublicKey 11 | { 12 | public ShhGetPublicKey(IClient client) : base(client, ApiMethods.shh_getPublicKey.ToString()) 13 | { 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Shh/KeyPair/ShhHasKeyPair.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.Hex.HexConvertors.Extensions; 2 | using Nethereum.JsonRpc.Client; 3 | using Nethereum.RPC.Infrastructure; 4 | using Nethereum.RPC.Shh.KeyPair; 5 | using System; 6 | using System.Collections.Generic; 7 | using System.Text; 8 | using System.Threading.Tasks; 9 | 10 | namespace Nethereum.RPC.Shh.KeyPair 11 | { 12 | public class ShhHasKeyPair : GenericRpcRequestResponseHandlerParamString, IShhHasKeyPair 13 | { 14 | public ShhHasKeyPair(IClient client) : base(client, ApiMethods.shh_hasKeyPair.ToString()) 15 | { 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Shh/MessageFilter/IShhDeleteMessageFilter.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.JsonRpc.Client; 2 | using Nethereum.RPC.Infrastructure; 3 | 4 | namespace Nethereum.RPC.Shh.MessageFilter 5 | { 6 | public interface IShhDeleteMessageFilter : IGenericRpcRequestResponseHandlerParamString 7 | { 8 | 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Shh/MessageFilter/IShhGetFilterMessages.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.JsonRpc.Client; 2 | using Nethereum.RPC.Infrastructure; 3 | using Nethereum.RPC.Shh.DTOs; 4 | 5 | namespace Nethereum.RPC.Shh.MessageFilter 6 | { 7 | public interface IShhGetFilterMessages : IGenericRpcRequestResponseHandlerParamString 8 | { 9 | 10 | } 11 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Shh/MessageFilter/ShhDeleteMessageFilter.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.JsonRpc.Client; 2 | using Nethereum.RPC.Infrastructure; 3 | 4 | namespace Nethereum.RPC.Shh.MessageFilter 5 | { 6 | public class ShhDeleteMessageFilter : GenericRpcRequestResponseHandlerParamString, IShhDeleteMessageFilter 7 | { 8 | public ShhDeleteMessageFilter(IClient client) : base(client, ApiMethods.shh_deleteMessageFilter.ToString()) 9 | { 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Shh/MessageFilter/ShhGetFilterMessages.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.JsonRpc.Client; 2 | using Nethereum.RPC.Infrastructure; 3 | using Nethereum.RPC.Shh.DTOs; 4 | 5 | namespace Nethereum.RPC.Shh.MessageFilter 6 | { 7 | public class ShhGetFilterMessages : GenericRpcRequestResponseHandlerParamString, IShhGetFilterMessages 8 | { 9 | public ShhGetFilterMessages(IClient client) : base(client, ApiMethods.shh_getFilterMessages.ToString()) 10 | { 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Shh/SymKey/IShhAddSymKey.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.JsonRpc.Client; 2 | using Nethereum.RPC.Infrastructure; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace Nethereum.RPC.Shh.SymKey 9 | { 10 | public interface IShhAddSymKey : IGenericRpcRequestResponseHandlerParamString 11 | { 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Shh/SymKey/IShhDeleteSymKey.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.JsonRpc.Client; 2 | using Nethereum.RPC.Infrastructure; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace Nethereum.RPC.Shh.SymKey 9 | { 10 | public interface IShhDeleteSymKey : IGenericRpcRequestResponseHandlerParamString 11 | { 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Shh/SymKey/IShhGenerateSymKeyFromPassword.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.JsonRpc.Client; 2 | using Nethereum.RPC.Infrastructure; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace Nethereum.RPC.Shh.SymKey 9 | { 10 | public interface IShhGenerateSymKeyFromPassword : IGenericRpcRequestResponseHandlerParamString 11 | { 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Shh/SymKey/IShhGetSymKey.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.JsonRpc.Client; 2 | using Nethereum.RPC.Infrastructure; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace Nethereum.RPC.Shh.SymKey 9 | { 10 | public interface IShhGetSymKey : IGenericRpcRequestResponseHandlerParamString 11 | { 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Shh/SymKey/IShhHasSymKey.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.JsonRpc.Client; 2 | using Nethereum.RPC.Infrastructure; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace Nethereum.RPC.Shh.SymKey 9 | { 10 | public interface IShhHasSymKey : IGenericRpcRequestResponseHandlerParamString 11 | { 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Shh/SymKey/IShhNewSymKey.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.RPC.Infrastructure; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Text; 5 | 6 | namespace Nethereum.RPC.Shh.SymKey 7 | { 8 | public interface IShhNewSymKey : IGenericRpcRequestResponseHandlerNoParam 9 | { 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Shh/SymKey/ShhAddSymKey.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.JsonRpc.Client; 2 | using Nethereum.RPC.Infrastructure; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace Nethereum.RPC.Shh.SymKey 9 | { 10 | public class ShhAddSymKey : GenericRpcRequestResponseHandlerParamString, IShhAddSymKey 11 | { 12 | public ShhAddSymKey(IClient client) : base(client, ApiMethods.shh_addSymKey.ToString()) 13 | { 14 | } 15 | } 16 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Shh/SymKey/ShhDeleteSymKey.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.JsonRpc.Client; 2 | using Nethereum.RPC.Infrastructure; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Text; 6 | 7 | namespace Nethereum.RPC.Shh.SymKey 8 | { 9 | public class ShhDeleteSymKey : GenericRpcRequestResponseHandlerParamString, IShhDeleteSymKey 10 | { 11 | public ShhDeleteSymKey(IClient client) : base(client, ApiMethods.shh_deleteSymKey.ToString()) 12 | { 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Shh/SymKey/ShhGenerateSymKeyFromPassword.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.JsonRpc.Client; 2 | using Nethereum.RPC.Infrastructure; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Text; 6 | 7 | namespace Nethereum.RPC.Shh.SymKey 8 | { 9 | public class ShhGenerateSymKeyFromPassword : GenericRpcRequestResponseHandlerParamString, IShhGenerateSymKeyFromPassword 10 | { 11 | public ShhGenerateSymKeyFromPassword(IClient client) : base(client, ApiMethods.shh_generateSymKeyFromPassword.ToString()) 12 | { 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Shh/SymKey/ShhGetSymKey.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.JsonRpc.Client; 2 | using Nethereum.RPC.Infrastructure; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Text; 6 | 7 | namespace Nethereum.RPC.Shh.SymKey 8 | { 9 | public class ShhGetSymKey : GenericRpcRequestResponseHandlerParamString, IShhGetSymKey 10 | { 11 | public ShhGetSymKey(IClient client) : base(client, ApiMethods.shh_getSymKey.ToString()) 12 | { 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Shh/SymKey/ShhHasSymKey.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.JsonRpc.Client; 2 | using Nethereum.RPC.Infrastructure; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Text; 6 | 7 | namespace Nethereum.RPC.Shh.SymKey 8 | { 9 | public class ShhHasSymKey : GenericRpcRequestResponseHandlerParamString, IShhHasSymKey 10 | { 11 | public ShhHasSymKey(IClient client) : base(client, ApiMethods.shh_hasSymKey.ToString()) 12 | { 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.RPC/Shh/SymKey/ShhNewSymKey.cs: -------------------------------------------------------------------------------- 1 | using Nethereum.JsonRpc.Client; 2 | using Nethereum.RPC.Infrastructure; 3 | using System; 4 | using System.Collections.Generic; 5 | using System.Text; 6 | 7 | namespace Nethereum.RPC.Shh.SymKey 8 | { 9 | public class ShhNewSymKey : GenericRpcRequestResponseHandlerNoParam, IShhNewSymKey 10 | { 11 | public ShhNewSymKey(IClient client) : base(client, ApiMethods.shh_newSymKey.ToString()) 12 | { 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Signer/AccessListItem.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace Nethereum.Signer 4 | { 5 | public class AccessListItem 6 | { 7 | public string Address { get; set; } 8 | public List StorageKeys { get; set; } 9 | 10 | public AccessListItem() 11 | { 12 | StorageKeys = new List(); 13 | } 14 | 15 | public AccessListItem(string address, List storageKeys) 16 | { 17 | this.Address = address; 18 | this.StorageKeys = storageKeys; 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Signer/Chain.cs: -------------------------------------------------------------------------------- 1 | namespace Nethereum.Signer 2 | { 3 | public enum Chain 4 | { 5 | MainNet = 1, 6 | Morden = 2, 7 | Ropsten = 3, 8 | Rinkeby = 4, 9 | Goerli = 5, 10 | RootstockMainNet = 30, 11 | RootstockTestNet = 31, 12 | Kovan = 42, 13 | ClassicMainNet = 61, 14 | ClassicTestNet = 62, 15 | Private = 1337, 16 | Sepolia = 11155111, 17 | Optimism = 10 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Signer/IEthExternalSigner.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | using Nethereum.Signer.Crypto; 3 | 4 | namespace Nethereum.Signer 5 | { 6 | #if !DOTNET35 7 | 8 | public enum ExternalSignerTransactionFormat 9 | { 10 | RLP, 11 | Hash, 12 | Transaction 13 | } 14 | 15 | #endif 16 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Signer/ISignedTransaction.cs: -------------------------------------------------------------------------------- 1 | namespace Nethereum.Signer 2 | { 3 | public interface ISignedTransaction 4 | { 5 | TransactionType TransactionType {get; } 6 | EthECDSASignature Signature { get; } 7 | EthECKey Key { get; } 8 | byte[] RawHash { get; } 9 | byte[] Hash { get; } 10 | void Sign(EthECKey key); 11 | byte[] GetRLPEncoded(); 12 | byte[] GetRLPEncodedRaw(); 13 | } 14 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Signer/SignedTypeTransaction.cs: -------------------------------------------------------------------------------- 1 | namespace Nethereum.Signer 2 | { 3 | public abstract class SignedTypeTransaction : SignedTransaction 4 | { 5 | public override void Sign(EthECKey key) 6 | { 7 | Signature = key.SignAndCalculateYParityV(RawHash); 8 | } 9 | 10 | public override EthECKey Key => EthECKey.RecoverFromParityYSignature(Signature, RawHash); 11 | } 12 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Util/BigIntegerExtensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Globalization; 3 | using System.Numerics; 4 | 5 | namespace Nethereum.Util 6 | { 7 | public static class BigIntegerExtensions 8 | { 9 | public static int NumberOfDigits(this BigInteger value) 10 | { 11 | return (value * value.Sign).ToString().Length; 12 | } 13 | 14 | public static BigInteger ParseInvariant(string value) 15 | { 16 | if (value == null) throw new ArgumentNullException(nameof(value)); 17 | 18 | return BigInteger.Parse(value, CultureInfo.InvariantCulture); 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Util/FormattingExtensions.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Globalization; 3 | 4 | namespace Nethereum.Util 5 | { 6 | public static class FormattingExtensions 7 | { 8 | /// 9 | /// Converts formattable value to string in a culture-independent way. 10 | /// 11 | public static string ToStringInvariant(this T formattable) where T : IFormattable 12 | { 13 | if (formattable == null) throw new ArgumentNullException(nameof(formattable)); 14 | 15 | return formattable.ToString(null, CultureInfo.InvariantCulture); 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Util/IWaitStrategy.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | 3 | namespace Nethereum.Util 4 | { 5 | public interface IWaitStrategy 6 | { 7 | Task ApplyAsync(uint retryCount); 8 | } 9 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Util/TransactionUtils.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System; 3 | 4 | namespace Nethereum.Util 5 | { 6 | public static class TransactionUtils 7 | { 8 | public static string CalculateTransactionHash(string rawSignedTransaction) 9 | { 10 | var sha3 = new Sha3Keccack(); 11 | return sha3.CalculateHashFromHex(rawSignedTransaction); 12 | } 13 | } 14 | 15 | public class UniqueTransactionHashList : HashSet 16 | { 17 | public UniqueTransactionHashList() : base(StringComparer.OrdinalIgnoreCase) 18 | { 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Nethereum/Nethereum.Util/WaitStrategy.cs: -------------------------------------------------------------------------------- 1 | using System.Linq; 2 | using System.Threading.Tasks; 3 | 4 | namespace Nethereum.Util 5 | { 6 | #if !NET35 7 | public class WaitStrategy : IWaitStrategy 8 | { 9 | private static readonly int[] WaitIntervals = {1000, 2000, 5000, 10000, 15000}; 10 | 11 | public Task ApplyAsync(uint retryCount) 12 | { 13 | var intervalMs = retryCount >= WaitIntervals.Length ? WaitIntervals.Last() : WaitIntervals[retryCount]; 14 | 15 | return Task.Delay(intervalMs); 16 | } 17 | } 18 | #endif 19 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Evm/Utility/EthUnitEnum.cs: -------------------------------------------------------------------------------- 1 | namespace Blocto.Sdk.Evm.Utility 2 | { 3 | public enum EthUnitEnum 4 | { 5 | Wei, 6 | Kwei, 7 | Ada, 8 | Femtoether, 9 | Mwei, 10 | Babbage, 11 | Picoether, 12 | Gwei, 13 | Shannon, 14 | Nanoether, 15 | Nano, 16 | Szabo, 17 | Microether, 18 | Micro, 19 | Finney, 20 | Milliether, 21 | Milli, 22 | Ether, 23 | Kether, 24 | Grand, 25 | Einstein, 26 | Mether, 27 | Gether, 28 | Tether 29 | } 30 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Flow/IBloctoWalletProvider.cs: -------------------------------------------------------------------------------- 1 | 2 | namespace Blocto.Sdk.Flow 3 | { 4 | public interface IBloctoWalletProvider 5 | { 6 | public void CloseWebView(); 7 | } 8 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Flow/Model/ConnectWalletConfig.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Blocto.Sdk.Flow.Model 4 | { 5 | public class ConnectWalletConfig 6 | { 7 | [JsonProperty("appId")] 8 | public string AppId { get; set; } 9 | } 10 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Flow/Model/InteractionPropertyEnum.cs: -------------------------------------------------------------------------------- 1 | namespace Blocto.Sdk.Flow.Model 2 | { 3 | public enum InteractionPropertyEnum 4 | { 5 | tag, 6 | assigns, 7 | status, 8 | reason, 9 | accounts, 10 | arguments, 11 | message, 12 | proposer, 13 | authorizations, 14 | payer, 15 | events, 16 | account, 17 | collection, 18 | transaction, 19 | block 20 | } 21 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Flow/Model/MessagePropertyEnum.cs: -------------------------------------------------------------------------------- 1 | namespace Blocto.Sdk.Flow.Model 2 | { 3 | public enum MessagePropertyEnum 4 | { 5 | cadence, 6 | refBlock, 7 | computeLimit, 8 | arguments, 9 | proposer, 10 | payer, 11 | authorizations, 12 | } 13 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Flow/Model/SignablePropertyEnum.cs: -------------------------------------------------------------------------------- 1 | namespace Blocto.Sdk.Flow.Model 2 | { 3 | public enum SignablePropertyEnum 4 | { 5 | args, 6 | keyId, 7 | message, 8 | addr, 9 | f_type, 10 | f_vsn, 11 | roles, 12 | cadence, 13 | interaction, 14 | voucher, 15 | data, 16 | fclVersion, 17 | service, 18 | config 19 | } 20 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Flow/Model/VoucherPropertyEnum.cs: -------------------------------------------------------------------------------- 1 | namespace Blocto.Sdk.Flow.Model 2 | { 3 | public enum VoucherPropertyEnum 4 | { 5 | cadence, 6 | refBlock, 7 | computeLimit, 8 | arguments, 9 | proposalKey, 10 | payer, 11 | authorizers, 12 | payloadSigs, 13 | envelopeSigs 14 | } 15 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Solana/Extensions/TransactionExtensions.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Solnet.Rpc.Models; 3 | using Solnet.Wallet; 4 | 5 | namespace Blocto.Sdk.Solana.Extensions 6 | { 7 | public static class TransactionExtensions 8 | { 9 | public static void PartialSign(this Transaction tx, IList signers) 10 | { 11 | tx.PartialSign(signers); 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Solana/Model/ActionNameEnum.cs: -------------------------------------------------------------------------------- 1 | namespace Blocto.Sdk.Solana.Model 2 | { 3 | public enum ActionNameEnum 4 | { 5 | Request_Account, 6 | Sign_And_Send_Transaction 7 | } 8 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Solana/Model/CreateRawTxRequest.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Blocto.Sdk.Solana.Model 4 | { 5 | public class CreateRawTxRequest 6 | { 7 | [JsonProperty("sol_address")] 8 | public string Address { get; set; } 9 | 10 | [JsonProperty("raw_tx")] 11 | public string RawTx { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Solana/Model/CreateRawTxResponse.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Blocto.Sdk.Solana.Model 4 | { 5 | public class CreateRawTxResponse 6 | { 7 | [JsonProperty("raw_tx")] 8 | public string RawTx { get; set; } 9 | 10 | [JsonProperty("extra_data")] 11 | public RawTxExtendData ExtraData { get; set; } 12 | 13 | } 14 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Solana/Model/RawTxAppendData.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Blocto.Sdk.Solana.Model 4 | { 5 | public class RawTxAppendData 6 | { 7 | [JsonProperty("append_tx")] 8 | public string AppendTx { get; set; } 9 | } 10 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Solana/Model/RawTxExtendData.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Newtonsoft.Json; 3 | 4 | namespace Blocto.Sdk.Solana.Model 5 | { 6 | public class RawTxExtendData 7 | { 8 | [JsonProperty("append_tx")] 9 | public Dictionary AppendData { get; set; } 10 | } 11 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Solana/Model/SendTransactionPreResponse.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Blocto.Sdk.Solana.Model 4 | { 5 | public class SendTransactionPreResponse 6 | { 7 | [JsonProperty("status")] 8 | public string Status { get; set; } 9 | 10 | [JsonProperty("authorizationId")] 11 | public string AuthorizationId { get; set; } 12 | 13 | [JsonProperty("reason")] 14 | public string Reason { get; set; } 15 | } 16 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Solana/Solana.Net/Solnet.Programs/Abstract/Program.cs: -------------------------------------------------------------------------------- 1 | using Solnet.Wallet; 2 | using System; 3 | using System.Collections.Generic; 4 | using System.Linq; 5 | using System.Text; 6 | using System.Threading.Tasks; 7 | 8 | namespace Solnet.Programs.Abstract 9 | { 10 | /// 11 | /// Base Program interface. 12 | /// 13 | public interface Program 14 | { 15 | /// 16 | /// The program's key 17 | /// 18 | PublicKey ProgramIdKey { get; } 19 | /// 20 | /// The name of the program 21 | /// 22 | string ProgramName { get; } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Solana/Solana.Net/Solnet.Programs/TokenSwap/Models/ConstantProductCurve.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Solnet.Programs.TokenSwap.Models 4 | { 5 | /// 6 | /// Uniswap-style constant product curve, invariant = token_a_amount * token_b_amount 7 | /// 8 | public class ConstantProductCurve : CurveCalculator 9 | { 10 | 11 | /// 12 | /// Serialize the Fees 13 | /// 14 | /// Serialized Fees 15 | public ReadOnlySpan Serialize() 16 | { 17 | return new Span(new byte[0]); 18 | } 19 | 20 | } 21 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Solana/Solana.Net/Solnet.Programs/TokenSwap/Models/CurveCalculator.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace Solnet.Programs.TokenSwap.Models 4 | { 5 | /// 6 | /// A curve calculator must serialize itself to 32 bytes 7 | /// 8 | public interface CurveCalculator 9 | { 10 | /// 11 | /// Serialize this calculator type 12 | /// 13 | /// 14 | ReadOnlySpan Serialize(); 15 | } 16 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Solana/Solana.Net/Solnet.Rpc/Messages/JsonRpcBase.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Solnet.Rpc.Messages 4 | { 5 | /// 6 | /// Base JpnRpc message. 7 | /// 8 | public abstract class JsonRpcBase 9 | { 10 | /// 11 | /// The rpc version. 12 | /// 13 | [JsonProperty("jsonrpc")] 14 | public string Jsonrpc { get; protected set; } 15 | 16 | /// 17 | /// The id of the message. 18 | /// 19 | [JsonProperty("id")] 20 | public int Id { get; set; } 21 | } 22 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Solana/Solana.Net/Solnet.Rpc/Messages/JsonRpcBatchResponse.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace Solnet.Rpc.Messages 8 | { 9 | /// 10 | /// This class represents the response from a request containing a batch of JSON RPC requests 11 | /// 12 | public class JsonRpcBatchResponse : List 13 | { 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Solana/Solana.Net/Solnet.Rpc/Messages/JsonRpcStreamResponse.cs: -------------------------------------------------------------------------------- 1 | namespace Solnet.Rpc.Messages 2 | { 3 | public class JsonRpcStreamResponse 4 | { 5 | public ResponseValue result { get; set; } 6 | 7 | public int subscription { get; set; } 8 | } 9 | 10 | public class JsonRpcWrapResponse 11 | { 12 | public JsonRpcStreamResponse @params { get; set; } 13 | 14 | } 15 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Solana/Solana.Net/Solnet.Rpc/Models/ErrorResult.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Solnet.Rpc.Models 4 | { 5 | /// 6 | /// Holds an error result. 7 | /// 8 | public class ErrorResult 9 | { 10 | /// 11 | /// The error string. 12 | /// 13 | [JsonProperty("err")] 14 | public TransactionError Error { get; set; } 15 | } 16 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Solana/Solana.Net/Solnet.Rpc/Models/Identity.cs: -------------------------------------------------------------------------------- 1 | namespace Solnet.Rpc.Models 2 | { 3 | /// 4 | /// Represents the identity public key for the current node. 5 | /// 6 | public class NodeIdentity 7 | { 8 | /// 9 | /// The identity public key of the current node, as base-58 encoded string. 10 | /// 11 | public string Identity { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Solana/Solana.Net/Solnet.Rpc/Models/ProgramInfo.cs: -------------------------------------------------------------------------------- 1 | namespace Solnet.Rpc.Models 2 | { 3 | // 4 | /// Represents the program info. 5 | /// 6 | public class ProgramInfo 7 | { 8 | /// 9 | /// The base-58 encoded public key of the program. 10 | /// 11 | public string PubKey { get; set; } 12 | 13 | /// 14 | /// The account info associated with the program. 15 | /// 16 | public AccountInfo Account { get; set; } 17 | } 18 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Solana/Solana.Net/Solnet.Rpc/Models/SnapshotSlotInfo.cs: -------------------------------------------------------------------------------- 1 | namespace Solnet.Rpc.Models 2 | { 3 | /// 4 | /// The highest snapshot slot info. 5 | /// 6 | public class SnapshotSlotInfo 7 | { 8 | /// 9 | /// The highest full snapshot slot. 10 | /// 11 | public ulong Full { get; set; } 12 | 13 | /// 14 | /// The highest incremental snapshot slot based on . 15 | /// 16 | public ulong? Incremental { get; set; } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Solana/Solana.Net/Solnet.Rpc/Types/AccountFilterType.cs: -------------------------------------------------------------------------------- 1 | namespace Solnet.Rpc.Types 2 | { 3 | /// 4 | /// Represents the filter account type. 5 | /// 6 | public enum AccountFilterType 7 | { 8 | /// 9 | /// Circulating accounts. 10 | /// 11 | Circulating, 12 | /// 13 | /// Non circulating accounts. 14 | /// 15 | NonCirculating 16 | } 17 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Solana/Solana.Net/Solnet.Rpc/Types/BinaryEncoding.cs: -------------------------------------------------------------------------------- 1 | namespace Solnet.Rpc.Types 2 | { 3 | /// 4 | /// The encodings used for binary data to interact with the Solana nodes. 5 | /// 6 | public enum BinaryEncoding 7 | { 8 | /// 9 | /// Request json parsed data, when a parser is available. 10 | /// 11 | JsonParsed, 12 | /// 13 | /// Base64 encoding. 14 | /// 15 | Base64, 16 | /// 17 | /// Base64+Zstd encoding. 18 | /// 19 | Base64Zstd 20 | } 21 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Solana/Solana.Net/Solnet.Rpc/Types/LogsSubscriptionType.cs: -------------------------------------------------------------------------------- 1 | namespace Solnet.Rpc.Types 2 | { 3 | /// 4 | /// Enum with the possible vote selection parameter for the log subscription method. 5 | /// 6 | public enum LogsSubscriptionType 7 | { 8 | /// 9 | /// Subscribes to All logs. 10 | /// 11 | All, 12 | 13 | /// 14 | /// Subscribes to All logs including votes. 15 | /// 16 | AllWithVotes 17 | } 18 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Solana/Solana.Net/Solnet.Rpc/Types/TransactionDetails.cs: -------------------------------------------------------------------------------- 1 | namespace Solnet.Rpc.Types 2 | { 3 | /// 4 | /// Used to specify which block data to retrieve. 5 | /// 6 | public enum TransactionDetails 7 | { 8 | /// 9 | /// Retrieve the full block data. 10 | /// 11 | Full, 12 | /// 13 | /// Retrieve only signatures, leaving out detailed transaction data. 14 | /// 15 | Signatures, 16 | /// 17 | /// Retrieve only basic block data. 18 | /// 19 | None 20 | } 21 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Solana/Solana.Net/Solnet.Rpc/Types/TransactionDetailsFilterType.cs: -------------------------------------------------------------------------------- 1 | namespace Solnet.Rpc.Types 2 | { 3 | /// 4 | /// Represents the filter type for block data. 5 | /// 6 | public enum TransactionDetailsFilterType 7 | { 8 | /// 9 | /// Returns no transaction details. 10 | /// 11 | None, 12 | 13 | /// 14 | /// Returns only transaction signatures. 15 | /// 16 | Signatures, 17 | 18 | /// 19 | /// Returns full transaction details. 20 | /// 21 | Full 22 | } 23 | } -------------------------------------------------------------------------------- /Assets/Plugins/Blocto.Sdk/Solana/Solana.Net/Solnet.Wallet/Bip39/IWordListSource.cs: -------------------------------------------------------------------------------- 1 | using System.Threading.Tasks; 2 | 3 | namespace Solnet.Wallet.Bip39 4 | { 5 | /// 6 | /// Specifies functionality for the wordlist source. 7 | /// 8 | internal interface IWordlistSource 9 | { 10 | /// 11 | /// Load the wordlist. 12 | /// 13 | /// The name of the wordlist. 14 | /// A task that returns the wordlist. 15 | Task LoadAsync(string name); 16 | } 17 | } -------------------------------------------------------------------------------- /Assets/Plugins/Dll/BouncyCastle.Crypto.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blocto/blocto-unity-sdk/7b011c7c0f61279b9fef28555da8541edc797955/Assets/Plugins/Dll/BouncyCastle.Crypto.dll -------------------------------------------------------------------------------- /Assets/Plugins/Dll/Chaos.NaCl.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blocto/blocto-unity-sdk/7b011c7c0f61279b9fef28555da8541edc797955/Assets/Plugins/Dll/Chaos.NaCl.dll -------------------------------------------------------------------------------- /Assets/Plugins/Dll/Microsoft.Extensions.Logging.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blocto/blocto-unity-sdk/7b011c7c0f61279b9fef28555da8541edc797955/Assets/Plugins/Dll/Microsoft.Extensions.Logging.Abstractions.dll -------------------------------------------------------------------------------- /Assets/Plugins/Dll/System.ComponentModel.Annotations.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blocto/blocto-unity-sdk/7b011c7c0f61279b9fef28555da8541edc797955/Assets/Plugins/Dll/System.ComponentModel.Annotations.dll -------------------------------------------------------------------------------- /Assets/Plugins/Flow/FCL/Models/Authn/AuthnAdapterResponse.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Flow.FCL.Models.Authn 4 | { 5 | public class AuthnAdapterResponse 6 | { 7 | [JsonProperty("f_type")] 8 | public string FType { get; set; } 9 | 10 | [JsonProperty("f_vsn")] 11 | public string FVsn { get; set; } 12 | 13 | [JsonProperty("status")] 14 | public string Status { get; set; } 15 | 16 | [JsonProperty("updates")] 17 | public Updates Updates { get; set; } 18 | 19 | [JsonProperty("local")] 20 | public Local Local { get; set; } 21 | } 22 | } -------------------------------------------------------------------------------- /Assets/Plugins/Flow/FCL/Models/Authz/Argument.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | using Newtonsoft.Json.Linq; 3 | 4 | namespace Flow.FCL.Models.Authz 5 | { 6 | public class Argument 7 | { 8 | [JsonProperty("kind")] 9 | public string Kind { get; set; } 10 | 11 | [JsonProperty("tempId")] 12 | public string TempId { get; set; } 13 | 14 | [JsonProperty("value")] 15 | public object Value { get; set; } 16 | 17 | [JsonProperty("asArgument")] 18 | public BaseArgument AsBaseArgument { get; set; } 19 | 20 | [JsonProperty("xform")] 21 | public JObject XForm { get; set; } 22 | } 23 | } -------------------------------------------------------------------------------- /Assets/Plugins/Flow/FCL/Models/Authz/AuthInformation.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | using Newtonsoft.Json.Linq; 3 | 4 | namespace Flow.FCL.Models.Authz 5 | { 6 | public class AuthInformation 7 | { 8 | [JsonProperty("id")] 9 | public string id { get; set; } 10 | 11 | [JsonProperty("identity")] 12 | public Identity Identity { get; set; } 13 | 14 | [JsonProperty("method")] 15 | public string Method { get; set; } 16 | 17 | [JsonProperty("endpoint")] 18 | public string Endpoint { get; set; } 19 | 20 | [JsonProperty("params")] 21 | public JObject Params { get; set; } 22 | } 23 | } -------------------------------------------------------------------------------- /Assets/Plugins/Flow/FCL/Models/Authz/AuthorizationUpdates.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Newtonsoft.Json; 3 | using Newtonsoft.Json.Linq; 4 | 5 | namespace Flow.FCL.Models.Authz 6 | { 7 | public partial class AuthorizationUpdates 8 | { 9 | [JsonProperty("method")] 10 | public string Method { get; set; } 11 | 12 | [JsonProperty("endpoint")] 13 | public Uri Endpoint { get; set; } 14 | 15 | [JsonProperty("params")] 16 | public JObject Params { get; set; } 17 | } 18 | } -------------------------------------------------------------------------------- /Assets/Plugins/Flow/FCL/Models/Authz/BaseAccount.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Flow.FCL.Models.Authz 4 | { 5 | public class BaseAccount 6 | { 7 | [JsonProperty("addr")] 8 | public string Addr { get; set; } 9 | } 10 | } -------------------------------------------------------------------------------- /Assets/Plugins/Flow/FCL/Models/Authz/BaseArgument.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Flow.FCL.Models.Authz 4 | { 5 | public class BaseArgument 6 | { 7 | [JsonProperty("type")] 8 | public string Type { get; set; } 9 | 10 | [JsonProperty("value")] 11 | public object Value { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /Assets/Plugins/Flow/FCL/Models/Authz/NonCustodialAuthzResponse.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Flow.FCL.Models.Authz 4 | { 5 | public class NonCustodialAuthzResponse : IResponse 6 | { 7 | [JsonProperty("status")] 8 | public ResponseStatusEnum ResponseStatus { get; set; } 9 | 10 | [JsonProperty("reason")] 11 | public object Reason { get; set; } 12 | 13 | [JsonProperty("updates")] 14 | public AuthorizationUpdates AuthorizationUpdates { get; set; } 15 | 16 | [JsonProperty("local")] 17 | public AuthzLocal Local { get; set; } 18 | } 19 | } -------------------------------------------------------------------------------- /Assets/Plugins/Flow/FCL/Models/Authz/PreAuthzAdapterResponse.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Flow.FCL.Models.Authz 4 | { 5 | public class PreAuthzAdapterResponse 6 | { 7 | [JsonProperty("status")] 8 | public string Status { get; set; } 9 | 10 | [JsonProperty("data")] 11 | public AuthorizerData AuthorizerData { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /Assets/Plugins/Flow/FCL/Models/Authz/ProposalKey.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Flow.FCL.Models.Authz 4 | { 5 | public partial class ProposalKey 6 | { 7 | [JsonProperty("address")] 8 | public object Address { get; set; } 9 | 10 | [JsonProperty("keyId")] 11 | public uint KeyId { get; set; } 12 | 13 | [JsonProperty("sequenceNum")] 14 | public ulong SequenceNum { get; set; } 15 | } 16 | } -------------------------------------------------------------------------------- /Assets/Plugins/Flow/FCL/Models/Authz/Role.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Flow.FCL.Models.Authz 4 | { 5 | public class Role 6 | { 7 | [JsonProperty("proposer")] 8 | public bool Proposer { get; set; } 9 | 10 | [JsonProperty("authorizer")] 11 | public bool Authorizer { get; set; } 12 | 13 | [JsonProperty("payer")] 14 | public bool Payer { get; set; } 15 | } 16 | } -------------------------------------------------------------------------------- /Assets/Plugins/Flow/FCL/Models/ExecuteResult.cs: -------------------------------------------------------------------------------- 1 | using Flow.Net.Sdk.Core.Cadence; 2 | 3 | namespace Flow.FCL.Models 4 | { 5 | public class ExecuteResult 6 | { 7 | public TResult Data { get; set; } 8 | 9 | public bool IsSuccessed { get; set; } 10 | 11 | public string Message { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /Assets/Plugins/Flow/FCL/Models/IResponse.cs: -------------------------------------------------------------------------------- 1 | namespace Flow.FCL.Models.Authz 2 | { 3 | public interface IResponse 4 | { 5 | public ResponseStatusEnum ResponseStatus { get; set; } 6 | } 7 | } -------------------------------------------------------------------------------- /Assets/Plugins/Flow/FCL/Models/Identity.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Flow.FCL.Models 4 | { 5 | public partial class Identity 6 | { 7 | [JsonProperty("address")] 8 | public string Address { get; set; } 9 | 10 | [JsonProperty("keyId", NullValueHandling = NullValueHandling.Ignore)] 11 | public uint KeyId { get; set; } 12 | 13 | [JsonProperty("addr", NullValueHandling = NullValueHandling.Ignore)] 14 | public string Addr { get; set; } 15 | } 16 | } -------------------------------------------------------------------------------- /Assets/Plugins/Flow/FCL/Models/ResponseStatusEnum.cs: -------------------------------------------------------------------------------- 1 | namespace Flow.FCL.Models 2 | { 3 | public enum ResponseStatusEnum 4 | { 5 | APPROVED, 6 | DECLINED, 7 | PENDING, 8 | REDIRECT, 9 | NONE 10 | } 11 | } -------------------------------------------------------------------------------- /Assets/Plugins/Flow/FCL/Models/ServiceTypeEnum.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.Serialization; 2 | 3 | namespace Flow.FCL.Models 4 | { 5 | public enum ServiceTypeEnum 6 | { 7 | [EnumMember(Value = "authn")] 8 | AUTHN, 9 | 10 | [EnumMember(Value = "authz")] 11 | AUTHZ, 12 | 13 | [EnumMember(Value = "pre-authz")] 14 | PREAUTHZ, 15 | 16 | [EnumMember(Value = "user-signature")] 17 | USERSIGNATURE, 18 | 19 | [EnumMember(Value = "open-id")] 20 | OPENID, 21 | 22 | [EnumMember(Value = "account-proof")] 23 | AccountProof 24 | } 25 | } -------------------------------------------------------------------------------- /Assets/Plugins/Flow/FCL/Models/Signature.cs: -------------------------------------------------------------------------------- 1 | namespace Flow.FCL.Models 2 | { 3 | public class Signature 4 | { 5 | public string SignatureStr { get; set; } 6 | 7 | public uint KeyId { get; set; } 8 | 9 | public string Addr { get; set; } 10 | } 11 | } -------------------------------------------------------------------------------- /Assets/Plugins/Flow/FCL/Models/SignatureResponse.cs: -------------------------------------------------------------------------------- 1 | using Flow.FCL.Models.Authz; 2 | using Newtonsoft.Json; 3 | using Newtonsoft.Json.Linq; 4 | 5 | namespace Flow.FCL.Models 6 | { 7 | public class SignatureResponse : IResponse 8 | { 9 | [JsonProperty("status")] 10 | public ResponseStatusEnum ResponseStatus { get; set; } 11 | 12 | [JsonProperty("data")] 13 | public JObject Data { get; set; } 14 | } 15 | } -------------------------------------------------------------------------------- /Assets/Plugins/Flow/FCL/Models/User.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using Flow.Net.Sdk.Core.Models; 3 | 4 | namespace Flow.FCL.Models 5 | { 6 | public class User 7 | { 8 | public FlowAddress Addr { get; set; } 9 | 10 | public string Cid { get; set; } 11 | 12 | public decimal ExpiresAt { get; set; } 13 | 14 | public string F_type { get; set; } 15 | 16 | public string F_vsn { get; set; } 17 | 18 | public bool LoggedIn { get; set; } 19 | 20 | } 21 | } -------------------------------------------------------------------------------- /Assets/Plugins/Flow/FCL/Utility/IEncodeUtility.cs: -------------------------------------------------------------------------------- 1 | namespace Flow.FCL.Utility 2 | { 3 | public interface IEncodeUtility 4 | { 5 | public string GetEncodeMessage(string appIdentifier, string address, string nonce); 6 | } 7 | } -------------------------------------------------------------------------------- /Assets/Plugins/Flow/FCL/Utility/IResolveUtility.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Flow.FCL.Models.Authz; 3 | using Flow.Net.Sdk.Core.Models; 4 | using Newtonsoft.Json.Linq; 5 | 6 | namespace Flow.FCL.Utility 7 | { 8 | public interface IResolveUtility 9 | { 10 | JObject ResolvePreSignable(ref FlowTransaction tx); 11 | 12 | List ResolveSignable(ref FlowTransaction tx, AuthorizerData authorizerData, FlowAccount authorizer); 13 | 14 | JObject ResolvePayerSignable(ref FlowTransaction tx, JObject signable); 15 | 16 | JObject ResolveSignMessage(string message, string sessionId); 17 | } 18 | } -------------------------------------------------------------------------------- /Assets/Plugins/Flow/Flow.Net.Sdk.Client.Unity/Constants.cs: -------------------------------------------------------------------------------- 1 | // ReSharper disable once CheckNamespace 2 | namespace Flow.Net.SDK.Client.Unity.Unity 3 | { 4 | public static class ServerUrl 5 | { 6 | public const string EmulatorHost = "http://127.0.0.1:8888/v1"; 7 | public const string TestnetHost = "https://rest-testnet.onflow.org/v1/"; 8 | public const string MainnetHost = "https://rest-mainnet.onflow.org/v1/"; 9 | public const string CanarynetHost = "https://rest-canary.onflow.org/v1/"; 10 | } 11 | } -------------------------------------------------------------------------------- /Assets/Plugins/Flow/Flow.Net.Sdk.Client.Unity/Models/Apis/ObjectResponseResult.cs: -------------------------------------------------------------------------------- 1 | namespace Flow.Net.Sdk.Client.Unity.Models.Apis 2 | { 3 | public struct ObjectResponseResult 4 | { 5 | public ObjectResponseResult(T responseObject, string responseText) 6 | { 7 | Object = responseObject; 8 | Text = responseText; 9 | } 10 | 11 | public T Object { get; } 12 | 13 | public string Text { get; } 14 | } 15 | } -------------------------------------------------------------------------------- /Assets/Plugins/Flow/Flow.Net.Sdk.Client.Unity/Models/Enums/HashingAlgorithm.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.Serialization; 2 | 3 | namespace Blocto.Flow.Client.Http.Models.Enums 4 | { 5 | public enum HashingAlgorithm 6 | { 7 | [EnumMember(Value = @"SHA2_256")] 8 | SHA2_256 = 0, 9 | 10 | [EnumMember(Value = @"SHA2_384")] 11 | SHA2_384 = 1, 12 | 13 | [EnumMember(Value = @"SHA3_256")] 14 | SHA3_256 = 2, 15 | 16 | [EnumMember(Value = @"SHA3_384")] 17 | SHA3_384 = 3, 18 | 19 | [EnumMember(Value = @"KMAC128")] 20 | KMAC128 = 4, 21 | } 22 | } -------------------------------------------------------------------------------- /Assets/Plugins/Flow/Flow.Net.Sdk.Client.Unity/Models/Enums/SigningAlgorithm.cs: -------------------------------------------------------------------------------- 1 | using System.Runtime.Serialization; 2 | 3 | namespace Blocto.Flow.Client.Http.Models.Enums 4 | { 5 | public enum SigningAlgorithm 6 | { 7 | [EnumMember(Value = @"BLSBLS12381")] 8 | BLSBLS12381 = 0, 9 | 10 | [EnumMember(Value = @"ECDSA_P256")] 11 | ECDSA_P256 = 1, 12 | 13 | [EnumMember(Value = @"ECDSA_secp256k1")] 14 | ECDSA_secp256k1 = 2, 15 | } 16 | } -------------------------------------------------------------------------------- /Assets/Plugins/Flow/Flow.Net.Sdk.Core/Cadence/CadenceAddress.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Flow.Net.Sdk.Core.Cadence 4 | { 5 | public class CadenceAddress : Cadence 6 | { 7 | public CadenceAddress() { } 8 | public CadenceAddress(string value) 9 | { 10 | // Value = value.AddHexPrefix(); 11 | Value = value.AddHexPrefix(); 12 | } 13 | 14 | [JsonProperty("type")] 15 | public override string Type => "Address"; 16 | 17 | 18 | [JsonProperty("value")] 19 | public string Value { get; set; } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Assets/Plugins/Flow/Flow.Net.Sdk.Core/Cadence/CadenceArray.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | using System.Collections.Generic; 3 | 4 | namespace Flow.Net.Sdk.Core.Cadence 5 | { 6 | public class CadenceArray : Cadence 7 | { 8 | public CadenceArray() 9 | { 10 | Value = new List(); 11 | } 12 | 13 | public CadenceArray(IList value) 14 | { 15 | Value = value; 16 | } 17 | 18 | [JsonProperty("type")] 19 | public override string Type => "Array"; 20 | 21 | [JsonProperty("value")] 22 | public IList Value { get; set; } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Assets/Plugins/Flow/Flow.Net.Sdk.Core/Cadence/CadenceBool.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Flow.Net.Sdk.Core.Cadence 4 | { 5 | public class CadenceBool : Cadence 6 | { 7 | public CadenceBool() {} 8 | 9 | public CadenceBool(bool value) 10 | { 11 | Value = value; 12 | } 13 | 14 | [JsonProperty("type")] 15 | public override string Type => "Bool"; 16 | 17 | [JsonProperty("value")] 18 | public bool Value { get; set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Assets/Plugins/Flow/Flow.Net.Sdk.Core/Cadence/CadenceOptional.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Flow.Net.Sdk.Core.Cadence 4 | { 5 | public class CadenceOptional : Cadence 6 | { 7 | public CadenceOptional() { } 8 | 9 | public CadenceOptional(ICadence value) 10 | { 11 | Value = value; 12 | } 13 | 14 | [JsonProperty("type")] 15 | public override string Type => "Optional"; 16 | 17 | [JsonProperty("value")] 18 | public ICadence Value { get; set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Assets/Plugins/Flow/Flow.Net.Sdk.Core/Cadence/CadenceString.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Flow.Net.Sdk.Core.Cadence 4 | { 5 | public class CadenceString : Cadence 6 | { 7 | public CadenceString() { } 8 | 9 | public CadenceString(string value) 10 | { 11 | Value = value; 12 | } 13 | 14 | [JsonProperty("type")] 15 | public override string Type => "String"; 16 | 17 | [JsonProperty("value")] 18 | public string Value { get; set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Assets/Plugins/Flow/Flow.Net.Sdk.Core/Cadence/CadenceVoid.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Flow.Net.Sdk.Core.Cadence 4 | { 5 | public class CadenceVoid : Cadence 6 | { 7 | [JsonProperty("type")] 8 | public override string Type => "Void"; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Assets/Plugins/Flow/Flow.Net.Sdk.Core/Cadence/Enums.cs: -------------------------------------------------------------------------------- 1 | namespace Flow.Net.Sdk.Core.Cadence 2 | { 3 | public enum CadenceHashAlgorithm 4 | { 5 | SHA2_256 = 1, 6 | SHA2_384 = 2, 7 | SHA3_256 = 3, 8 | SHA3_384 = 4, 9 | KMAC128_BLS_BLS12_381 = 5, 10 | KECCAK_256 = 6 11 | } 12 | 13 | public enum CadenceSignatureAlgorithm 14 | { 15 | ECDSA_P256 = 1, 16 | ECDSA_secp256k1 = 2, 17 | BLS_BLS12_381 = 3 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Assets/Plugins/Flow/Flow.Net.Sdk.Core/Cadence/ICadence.cs: -------------------------------------------------------------------------------- 1 | namespace Flow.Net.Sdk.Core.Cadence 2 | { 3 | public interface ICadence 4 | { 5 | string Type { get; } 6 | 7 | string TempId { get; } 8 | 9 | string Encode(ICadence cadence); 10 | ICadence CompositeField(CadenceComposite cadenceComposite, string fieldName); 11 | T CompositeFieldAs(CadenceComposite cadenceComposite, string fieldName) where T : ICadence; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Assets/Plugins/Flow/Flow.Net.Sdk.Core/Cadence/Types/CadenceCapabilityType.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Flow.Net.Sdk.Core.Cadence.Types 4 | { 5 | public class CadenceCapabilityType : CadenceType 6 | { 7 | public CadenceCapabilityType() { } 8 | 9 | public CadenceCapabilityType(ICadenceType type) 10 | { 11 | Type = type; 12 | } 13 | 14 | [JsonProperty("kind")] 15 | public override string Kind => "Capability"; 16 | 17 | [JsonProperty("type")] 18 | public ICadenceType Type { get; set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Assets/Plugins/Flow/Flow.Net.Sdk.Core/Cadence/Types/CadenceFieldType.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Flow.Net.Sdk.Core.Cadence.Types 4 | { 5 | public class CadenceFieldType 6 | { 7 | public CadenceFieldType() { } 8 | 9 | public CadenceFieldType(string id, ICadenceType type) 10 | { 11 | Id = id; 12 | Type = type; 13 | } 14 | 15 | [JsonProperty("id")] 16 | public string Id { get; set; } 17 | 18 | [JsonProperty("type")] 19 | public ICadenceType Type { get; set; } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /Assets/Plugins/Flow/Flow.Net.Sdk.Core/Cadence/Types/CadenceOptionalType.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Flow.Net.Sdk.Core.Cadence.Types 4 | { 5 | public class CadenceOptionalType : CadenceType 6 | { 7 | public CadenceOptionalType() { } 8 | 9 | public CadenceOptionalType(ICadenceType type) 10 | { 11 | Type = type; 12 | } 13 | 14 | [JsonProperty("kind")] 15 | public override string Kind => "Optional"; 16 | 17 | [JsonProperty("type")] 18 | public ICadenceType Type { get; set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Assets/Plugins/Flow/Flow.Net.Sdk.Core/Cadence/Types/CadenceTypeValueAsString.cs: -------------------------------------------------------------------------------- 1 | namespace Flow.Net.Sdk.Core.Cadence.Types 2 | { 3 | public class CadenceTypeValueAsString : CadenceType 4 | { 5 | public CadenceTypeValueAsString() { } 6 | public CadenceTypeValueAsString(string value) 7 | { 8 | Value = value; 9 | } 10 | 11 | public override string Kind => "String Value"; 12 | 13 | public string Value { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Assets/Plugins/Flow/Flow.Net.Sdk.Core/Cadence/Types/CadenceVariableSizedArrayType.cs: -------------------------------------------------------------------------------- 1 | using Newtonsoft.Json; 2 | 3 | namespace Flow.Net.Sdk.Core.Cadence.Types 4 | { 5 | public class CadenceVariableSizedArrayType : CadenceType 6 | { 7 | public CadenceVariableSizedArrayType() { } 8 | 9 | public CadenceVariableSizedArrayType(ICadenceType type) 10 | { 11 | Type = type; 12 | } 13 | 14 | [JsonProperty("kind")] 15 | public override string Kind => "VariableSizedArray"; 16 | 17 | [JsonProperty("type")] 18 | public ICadenceType Type { get; set; } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Assets/Plugins/Flow/Flow.Net.Sdk.Core/Cadence/Types/ICadenceType.cs: -------------------------------------------------------------------------------- 1 | namespace Flow.Net.Sdk.Core.Cadence.Types 2 | { 3 | public interface ICadenceType 4 | { 5 | string Kind { get; } 6 | 7 | string Encode(ICadenceType cadenceType); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /Assets/Plugins/Flow/Flow.Net.Sdk.Core/Constants.cs: -------------------------------------------------------------------------------- 1 | namespace Flow.Net.Sdk.Core 2 | { 3 | public static class Event 4 | { 5 | public const string AccountCreated = "flow.AccountCreated"; 6 | public const string AccountKeyAdded = "flow.AccountKeyAdded"; 7 | public const string AccountKeyRemoved = "flow.AccountKeyRemoved"; 8 | public const string AccountContractAdded = "flow.AccountContractAdded"; 9 | public const string AccountContractUpdated = "flow.AccountContractUpdated"; 10 | public const string AccountContractRemoved = "flow.AccountContractRemoved"; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Assets/Plugins/Flow/Flow.Net.Sdk.Core/Crypto/ISigner.cs: -------------------------------------------------------------------------------- 1 | namespace Flow.Net.Sdk.Core.Crypto 2 | { 3 | public interface ISigner 4 | { 5 | /// 6 | /// Signs the given message. 7 | /// 8 | /// 9 | /// A signed message as [] 10 | byte[] Sign(byte[] bytes); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Assets/Plugins/Flow/Flow.Net.Sdk.Core/Exceptions/FlowException.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Runtime.Serialization; 3 | 4 | namespace Flow.Net.Sdk.Core.Exceptions 5 | { 6 | [Serializable] 7 | public class FlowException : Exception 8 | { 9 | public FlowException(string message) : base(message) { } 10 | public FlowException(string message, Exception inner) : base(message, inner) { } 11 | 12 | protected FlowException(SerializationInfo info, StreamingContext context) : base(info, context) { } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /Assets/Plugins/Flow/Flow.Net.Sdk.Core/Models/FlowAccount.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace Flow.Net.Sdk.Core.Models 4 | { 5 | /// 6 | /// A FlowAccount is an account on the Flow network. 7 | /// 8 | public class FlowAccount 9 | { 10 | public FlowAddress Address { get; set; } 11 | public string Code { get; set; } 12 | public decimal Balance { get; set; } 13 | public IList Keys { get; set; } = new List(); 14 | public IList Contracts { get; set; } = new List(); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Assets/Plugins/Flow/Flow.Net.Sdk.Core/Models/FlowAddress.cs: -------------------------------------------------------------------------------- 1 |  2 | using Flow.Net.Sdk.Utility; 3 | 4 | namespace Flow.Net.Sdk.Core.Models 5 | { 6 | public class FlowAddress 7 | { 8 | public FlowAddress(string address) 9 | { 10 | Address = address.RemoveHexPrefix(); 11 | } 12 | 13 | public string Address { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Assets/Plugins/Flow/Flow.Net.Sdk.Core/Models/FlowBlockEvent.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace Flow.Net.Sdk.Core.Models 5 | { 6 | public class FlowBlockEvent 7 | { 8 | public ulong BlockHeight { get; set; } 9 | public string BlockId { get; set; } 10 | public DateTimeOffset BlockTimestamp { get; set; } 11 | public IEnumerable Events { get; set; } = new List(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Assets/Plugins/Flow/Flow.Net.Sdk.Core/Models/FlowCollection.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace Flow.Net.Sdk.Core.Models 4 | { 5 | public class FlowCollection 6 | { 7 | public string Id { get; set; } 8 | public IList TransactionIds { get; set; } = new List(); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Assets/Plugins/Flow/Flow.Net.Sdk.Core/Models/FlowContract.cs: -------------------------------------------------------------------------------- 1 | namespace Flow.Net.Sdk.Core.Models 2 | { 3 | /// 4 | /// FlowContract is a Cadence contract. 5 | /// 6 | public class FlowContract 7 | { 8 | public string Name { get; set; } 9 | public string Source { get; set; } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Assets/Plugins/Flow/Flow.Net.Sdk.Core/Models/FlowEvent.cs: -------------------------------------------------------------------------------- 1 | using Flow.Net.Sdk.Core.Cadence; 2 | using Newtonsoft.Json; 3 | 4 | namespace Flow.Net.Sdk.Core.Models 5 | { 6 | 7 | [JsonConverter(typeof(FlowEventConverter))] 8 | public class FlowEvent 9 | { 10 | public uint EventIndex { get; set; } 11 | public ICadence Payload { get; set; } 12 | public string TransactionId { get; set; } 13 | public uint TransactionIndex { get; set; } 14 | public string Type { get; set; } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /Assets/Plugins/Flow/Flow.Net.Sdk.Core/Models/FlowProposalKey.cs: -------------------------------------------------------------------------------- 1 | namespace Flow.Net.Sdk.Core.Models 2 | { 3 | /// 4 | /// A FlowProposalKey is the key that specifies the proposal key and sequence number for a transaction. 5 | /// 6 | public class FlowProposalKey 7 | { 8 | public FlowAddress Address { get; set; } 9 | public uint KeyId { get; set; } 10 | public ulong SequenceNumber { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Assets/Plugins/Flow/Flow.Net.Sdk.Core/Models/FlowProtocolStateSnapshot.cs: -------------------------------------------------------------------------------- 1 | namespace Flow.Net.Sdk.Core.Models 2 | { 3 | public class FlowProtocolStateSnapshot 4 | { 5 | public string SerializedSnapshot { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Assets/Plugins/Flow/Flow.Net.Sdk.Core/Models/FlowScript.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace Flow.Net.Sdk.Core.Models 4 | { 5 | public class FlowScript : FlowInteractionBase 6 | { 7 | public FlowScript(Dictionary addressMap = null) 8 | : base(addressMap) 9 | { } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Assets/Plugins/Flow/Flow.Net.Sdk.Core/Models/FlowSignature.cs: -------------------------------------------------------------------------------- 1 | namespace Flow.Net.Sdk.Core.Models 2 | { 3 | /// 4 | /// A FlowSignature is a signature associated with a specific account key. 5 | /// 6 | public class FlowSignature 7 | { 8 | public FlowAddress Address { get; set; } 9 | public uint KeyId { get; set; } 10 | public byte[] Signature { get; set; } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Assets/Plugins/Flow/Flow.Net.Sdk.Core/Models/FlowTransactionId.cs: -------------------------------------------------------------------------------- 1 | namespace Flow.Net.Sdk.Core.Models 2 | { 3 | public class FlowTransactionId 4 | { 5 | public string Id { get; set; } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /Assets/Plugins/Flow/Flow.Net.Sdk.Core/Models/FlowTransactionResponse.cs: -------------------------------------------------------------------------------- 1 | namespace Flow.Net.Sdk.Core.Models 2 | { 3 | public class FlowTransactionResponse : FlowTransactionBase 4 | { 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /Assets/Plugins/Flow/Flow.Net.Sdk.Core/UserMessage.cs: -------------------------------------------------------------------------------- 1 | using Flow.Net.Sdk.Core.Crypto; 2 | 3 | namespace Flow.Net.Sdk.Core 4 | { 5 | public static class UserMessage 6 | { 7 | /// 8 | /// Signs the full user message (UserDomainTag + message). 9 | /// 10 | /// 11 | /// 12 | /// Signed message as []. 13 | public static byte[] Sign(byte[] message, ISigner signer) 14 | { 15 | message = DomainTag.AddUserDomainTag(message); 16 | return signer.Sign(message); 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Assets/Plugins/Flow/Flow.Net.Sdk.Utility/NEthereum/RLP/IRLPElement.cs: -------------------------------------------------------------------------------- 1 | namespace Flow.Net.Sdk.Utility 2 | { 3 | /// 4 | /// Wrapper class for decoded elements from an RLP encoded byte array. 5 | /// 6 | public interface IRLPElement 7 | { 8 | byte[] RLPData { get; } 9 | } 10 | } -------------------------------------------------------------------------------- /Assets/Plugins/Flow/Flow.Net.Sdk.Utility/NEthereum/RLP/RLPCollection.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace Flow.Net.Sdk.Utility 4 | { 5 | public class RLPCollection : List, IRLPElement 6 | { 7 | public byte[] RLPData { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /Assets/Plugins/Flow/Flow.Net.Sdk.Utility/NEthereum/RLP/RLPItem.cs: -------------------------------------------------------------------------------- 1 | namespace Flow.Net.Sdk.Utility 2 | { 3 | public class RLPItem : IRLPElement 4 | { 5 | private readonly byte[] _rlpData; 6 | 7 | public RLPItem(byte[] rlpData) 8 | { 9 | this._rlpData = rlpData; 10 | } 11 | 12 | public byte[] RLPData => GetRLPData(); 13 | 14 | private byte[] GetRLPData() 15 | { 16 | return _rlpData.Length == 0 ? null : _rlpData; 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /Assets/Plugins/iOS/UnityIosPlugin/Source/UnityPlugin-Bridgin-Header.h: -------------------------------------------------------------------------------- 1 | // 2 | // UnityPlugin-Bridgin-Header.h 3 | // UnityIosPlugin 4 | // 5 | // Created by Wenle Liao on 2022/6/2. 6 | // 7 | // 8 | 9 | #ifndef UnityPlugin_Bridgin_Header_h 10 | #define UnityPlugin_Bridgin_Header_h 11 | 12 | #import 13 | #import 14 | #import 15 | 16 | #endif /* UnityPlugin_Bridgin_Header_h */ 17 | -------------------------------------------------------------------------------- /Assets/Plugins/iOS/UnityIosPlugin/Source/UniversalLink.h: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | @interface UniversalLink : NSObject 4 | 5 | @property(nonatomic, strong) NSString *URL; 6 | 7 | + (UniversalLink *)instance; 8 | 9 | - (void)reset; 10 | 11 | -(NSString *)getUrl; 12 | 13 | @end 14 | -------------------------------------------------------------------------------- /Assets/Plugins/iOS/UnityIosPlugin/Source/UrlOpening.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | 3 | public protocol URLOpening { 4 | func open( 5 | _ url: URL, 6 | options: [UIApplication.OpenExternalURLOptionsKey: Any], 7 | completionHandler completion: ((Bool) -> Void)?) 8 | } 9 | 10 | extension UIApplication: URLOpening {} -------------------------------------------------------------------------------- /Assets/Plugins/iOS/UnityIosPlugin/Source/WebAuthenticationSessionLoader.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blocto/blocto-unity-sdk/7b011c7c0f61279b9fef28555da8541edc797955/Assets/Plugins/iOS/UnityIosPlugin/Source/WebAuthenticationSessionLoader.h -------------------------------------------------------------------------------- /Assets/Plugins/iOS/UnityIosPlugin/Source/WebAuthenticationSessionLoader.mm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blocto/blocto-unity-sdk/7b011c7c0f61279b9fef28555da8541edc797955/Assets/Plugins/iOS/UnityIosPlugin/Source/WebAuthenticationSessionLoader.mm -------------------------------------------------------------------------------- /Assets/Script/Model/Aptos/ValueResource.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blocto/blocto-unity-sdk/7b011c7c0f61279b9fef28555da8541edc797955/Assets/Script/Model/Aptos/ValueResource.cs -------------------------------------------------------------------------------- /Assets/Script/Model/ContractInformation.cs: -------------------------------------------------------------------------------- 1 | namespace Script.Model 2 | { 3 | public class ContractInformation 4 | { 5 | public string MainnetContractAddress { get; set; } 6 | 7 | public string TestnetContractAddress { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /Assets/Script/Model/TextButton.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blocto/blocto-unity-sdk/7b011c7c0f61279b9fef28555da8541edc797955/Assets/Script/Model/TextButton.cs -------------------------------------------------------------------------------- /Assets/icons/hyperlink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blocto/blocto-unity-sdk/7b011c7c0f61279b9fef28555da8541edc797955/Assets/icons/hyperlink.png -------------------------------------------------------------------------------- /Assets/icons/link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blocto/blocto-unity-sdk/7b011c7c0f61279b9fef28555da8541edc797955/Assets/icons/link.png -------------------------------------------------------------------------------- /Flow-unity-sdk.sln.DotSettings: -------------------------------------------------------------------------------- 1 |  2 | True 3 | True -------------------------------------------------------------------------------- /ProjectSettings/AudioManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!11 &1 4 | AudioManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Volume: 1 8 | Rolloff Scale: 1 9 | Doppler Factor: 1 10 | Default Speaker Mode: 2 11 | m_SampleRate: 0 12 | m_DSPBufferSize: 1024 13 | m_VirtualVoiceCount: 512 14 | m_RealVoiceCount: 32 15 | m_SpatializerPlugin: 16 | m_AmbisonicDecoderPlugin: 17 | m_DisableAudio: 0 18 | m_VirtualizeEffects: 1 19 | m_RequestedDSPBufferSize: 0 20 | -------------------------------------------------------------------------------- /ProjectSettings/BurstAotSettings_Android.json: -------------------------------------------------------------------------------- 1 | { 2 | "MonoBehaviour": { 3 | "Version": 4, 4 | "EnableBurstCompilation": true, 5 | "EnableOptimisations": true, 6 | "EnableSafetyChecks": false, 7 | "EnableDebugInAllBuilds": false, 8 | "CpuMinTargetX32": 0, 9 | "CpuMaxTargetX32": 0, 10 | "CpuMinTargetX64": 0, 11 | "CpuMaxTargetX64": 0, 12 | "OptimizeFor": 0 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /ProjectSettings/BurstAotSettings_iOS.json: -------------------------------------------------------------------------------- 1 | { 2 | "MonoBehaviour": { 3 | "Version": 4, 4 | "EnableBurstCompilation": true, 5 | "EnableOptimisations": true, 6 | "EnableSafetyChecks": false, 7 | "EnableDebugInAllBuilds": false, 8 | "CpuMinTargetX32": 0, 9 | "CpuMaxTargetX32": 0, 10 | "CpuMinTargetX64": 0, 11 | "CpuMaxTargetX64": 0, 12 | "OptimizeFor": 0 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /ProjectSettings/ClusterInputManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!236 &1 4 | ClusterInputManager: 5 | m_ObjectHideFlags: 0 6 | m_Inputs: [] 7 | -------------------------------------------------------------------------------- /ProjectSettings/CommonBurstAotSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "MonoBehaviour": { 3 | "Version": 4, 4 | "DisabledWarnings": "" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /ProjectSettings/EditorBuildSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1045 &1 4 | EditorBuildSettings: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_Scenes: 8 | - enabled: 1 9 | path: Assets/Scenes/SolanaScene.unity 10 | guid: b53557c203d2146f8a72d9fcb741dc82 11 | m_configObjects: {} 12 | -------------------------------------------------------------------------------- /ProjectSettings/NetworkManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!149 &1 4 | NetworkManager: 5 | m_ObjectHideFlags: 0 6 | m_DebugLevel: 0 7 | m_Sendrate: 15 8 | m_AssetToPrefab: {} 9 | -------------------------------------------------------------------------------- /ProjectSettings/PresetManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!1386491679 &1 4 | PresetManager: 5 | m_ObjectHideFlags: 0 6 | serializedVersion: 2 7 | m_DefaultPresets: {} 8 | -------------------------------------------------------------------------------- /ProjectSettings/ProjectVersion.txt: -------------------------------------------------------------------------------- 1 | m_EditorVersion: 2021.3.12f1 2 | m_EditorVersionWithRevision: 2021.3.12f1 (8af3c3e441b1) 3 | -------------------------------------------------------------------------------- /ProjectSettings/TagManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!78 &1 4 | TagManager: 5 | serializedVersion: 2 6 | tags: [] 7 | layers: 8 | - Default 9 | - TransparentFX 10 | - Ignore Raycast 11 | - 12 | - Water 13 | - UI 14 | - 15 | - 16 | - 17 | - 18 | - 19 | - 20 | - 21 | - 22 | - 23 | - 24 | - 25 | - 26 | - 27 | - 28 | - 29 | - 30 | - 31 | - 32 | - 33 | - 34 | - 35 | - 36 | - 37 | - 38 | - 39 | - 40 | m_SortingLayers: 41 | - name: Default 42 | uniqueID: 0 43 | locked: 0 44 | -------------------------------------------------------------------------------- /ProjectSettings/TimeManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!5 &1 4 | TimeManager: 5 | m_ObjectHideFlags: 0 6 | Fixed Timestep: 0.02 7 | Maximum Allowed Timestep: 0.33333334 8 | m_TimeScale: 1 9 | Maximum Particle Timestep: 0.03 10 | -------------------------------------------------------------------------------- /ProjectSettings/VFXManager.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!937362698 &1 4 | VFXManager: 5 | m_ObjectHideFlags: 0 6 | m_IndirectShader: {fileID: 0} 7 | m_CopyBufferShader: {fileID: 0} 8 | m_SortShader: {fileID: 0} 9 | m_StripUpdateShader: {fileID: 0} 10 | m_RenderPipeSettingsPath: 11 | m_FixedTimeStep: 0.016666668 12 | m_MaxDeltaTime: 0.05 13 | m_CompiledVersion: 0 14 | m_RuntimeVersion: 0 15 | -------------------------------------------------------------------------------- /ProjectSettings/VersionControlSettings.asset: -------------------------------------------------------------------------------- 1 | %YAML 1.1 2 | %TAG !u! tag:unity3d.com,2011: 3 | --- !u!890905787 &1 4 | VersionControlSettings: 5 | m_ObjectHideFlags: 0 6 | m_Mode: Visible Meta Files 7 | m_CollabEditorSettings: 8 | inProgressEnabled: 1 9 | -------------------------------------------------------------------------------- /ProjectSettings/XRSettings.asset: -------------------------------------------------------------------------------- 1 | { 2 | "m_SettingKeys": [ 3 | "VR Device Disabled", 4 | "VR Device User Alert" 5 | ], 6 | "m_SettingValues": [ 7 | "False", 8 | "False" 9 | ] 10 | } -------------------------------------------------------------------------------- /ProjectSettings/boot.config: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/blocto/blocto-unity-sdk/7b011c7c0f61279b9fef28555da8541edc797955/ProjectSettings/boot.config --------------------------------------------------------------------------------