web3modal_flutter library
web3modal_flutter
Classes
-
AbiType<
T> - A type that can be encoded and decoded as specified in the solidity ABI, available at https://solidity.readthedocs.io/en/develop/abi-spec.html
- AddressType
- Solidity address type
- AddressUtils
- AdvancedFileOutput
- Accumulates logs in a buffer to reduce frequent disk, writes while optionally switching to a new log file if it reaches a certain size.
- AnsiColor
- This class handles colorizing of terminal output.
- ApproveResponse
- AttestationResponse
- AuthApiValidators
- AuthClient
- AuthPayloadParams
- AuthPublicKey
- AuthRequest
- AuthRequestCompleter
- AuthRequestParams
- AuthRequestResponse
- AuthResponse
- AuthSignature
- AuthUtils
-
BaseArrayType<
T> - Base class for (non-byte) arrays in solidity.
- BlockInformation
- BlockNum
- For operations that are reading data from the blockchain without making a transaction that would modify it, the Ethereum client can read that data from previous states of the blockchain as well. This class specifies which state to use.
- BoolType
- Solidity bool type
- Cacao
- CacaoHeader
- CacaoPayload
- CacaoRequestPayload
- CacaoSignature
- CompositeFunctionParameter
- A function parameter that includes other named parameter instead of just wrapping single types.
- ConnectionMetadata
- ConnectResponse
- ConsoleOutput
- Default implementation of LogOutput.
- ContractAbi
- Defines the abi of a deployed Ethereum contract. The abi contains information about the functions defined in that contract.
- ContractEvent
- An event that can be emitted by a smart contract during a transaction.
- ContractFunction
- A function defined in the ABI of an compiled contract.
- Core
- CreateResponse
- Credentials
- Anything that can sign payloads with a private key.
- CredentialsWithKnownAddress
- Credentials where the address is known synchronously.
- CustomTransactionSender
- Interface for Credentials that don't sign transactions locally, for instance because the private key is not known to this library.
- DateTimeFormat
-
DecodingResult<
T> - Decoding Result.
- DeployedContract
- Helper class that defines a contract with a known ABI that has been deployed on a Ethereum blockchain.
- DevelopmentFilter
-
Prints all logs with
level >= Logger.level
while in development mode (eg whenassert
s are evaluated, Flutter calls this debug mode). - DynamicBytes
- The solidity bytes type, which decodes byte arrays of arbitrary length.
-
DynamicLengthArray<
T> - The solidity T[] type for arrays with an dynamic length.
- EncodingLengthInfo
- Information about whether the length of an encoding depends on the data (dynamic) or is fixed (static). If it's static, also contains information about the length of the encoding.
- ErrorEvent
- ErrorOpeningWallet
- Errors
- EtherAmount
- Utility class to easily convert amounts of Ether into different units of quantities.
- EthereumAddress
- Represents an Ethereum address.
- EthPrivateKey
- Credentials that can sign payloads with an Ethereum private key.
-
Event<
T extends EventArgs> - Represents an Event as some number of handlers (subscribers) that can be notified when a condition occurs, by using the broadcast method.
- EventArgs
- An abstract representation of the (optional) arguments provided to handlers when an Event occurs.
-
EventComponent<
T> - A FunctionParameter that is a component of an event. Contains additional information about whether the parameter is indexed.
- EventsConstants
- ExpirationEvent
- FileOutput
- FilterEvent
- A log event emitted in a transaction.
- FilterOptions
- Options for event filters created with Web3Client.events.
- FixedBytes
- The bytes
-
FixedLengthArray<
T> - The solidity T[k] type for arrays whose length is known.
-
FunctionParameter<
T> - The parameter of a function with its name and the expected type.
- FunctionType
- Function Type
- GeneratedContract
- Base classes for generated contracts.
- HistoryEvent
- HybridPrinter
- A decorator for a LogPrinter that allows for the composition of different printers to handle different log messages. Provide it's constructor with a base printer, but include named parameters for any levels that have a different printer:
- IAuthClient
- IAuthEngine
- ICore
- IntType
- The solidity int
- IPairingStore
- ISignClient
- ISignEngine
- IWeb3App
- IWeb3Wallet
- JsonRPC
- Json RPC Service.
- JsonRpcError
- JsonRpcRecord
- JsonRpcRequest
-
JsonRpcResponse<
T> - LengthTrackingByteSink
- LogEvent
- LogFilter
- An abstract filter of log messages.
- LogfmtPrinter
- Outputs a logfmt message:
- Logger
- Use instances of logger to send log messages to the LogPrinter.
- LogOutput
- Log output receives a OutputEvent from LogPrinter and sends it to the desired destination.
- LogPrinter
- An abstract handler of log events.
- MemoryOutput
- Buffers OutputEvents.
- MessageEvent
- MethodConstants
- MethodsConstants
- ModalConnect
- ModalDisconnect
- ModalError
- ModalNetworkChange
- MsgSignature
- Signatures used to sign Ethereum transactions and messages.
- MultiOutput
- Logs simultaneously to multiple LogOutput outputs.
- Namespace
- NamespaceUtils
- OutputEvent
- PairingActivateEvent
- PairingEvent
- PairingInfo
- PairingInvalidEvent
- PairingMetadata
- PendingAuthRequest
- PendingSessionAuthRequest
- PrefixPrinter
- A decorator for a LogPrinter that allows for the prepending of every line in the log output with a string for the level of that log. For example:
- PrettyPrinter
- Default implementation of LogPrinter.
- ProductionFilter
-
Prints all logs with
level >= Logger.level
even in production. - ProposalData
- ProposalExpire
- ReceiverPublicKey
- Redirect
- RegisteredFunction
- Relay
- RequiredNamespace
- RespondParams
- RpcOptions
- RPCResponse
- Response from the server to an rpc request. Contains the id of the request and the corresponding result as sent by the server.
- RpcService
- RPC Service base class.
- SessionAuthenticateCompleter
- SessionAuthPayload
- SessionAuthRequest
- SessionAuthRequestParams
- SessionAuthRequestResponse
- SessionAuthResponse
- SessionConnect
- SessionData
- SessionDelete
- SessionEvent
- SessionEventParams
- SessionExpire
- SessionExtend
- SessionPing
- SessionProposal
- SessionProposalCompleter
- SessionProposalErrorEvent
- SessionProposalEvent
- SessionRequest
- SessionRequestEvent
- SessionRequestParams
- Sessions
- SessionUpdate
- Wraps NSUserDefaults (on iOS) and SharedPreferences (on Android), providing a persistent store for simple data.
- Provides a persistent store for simple data.
- Provides a persistent store for simple data.
- Options necessary to create a SharedPreferencesWithCache.
- SignClient
- SimplePrinter
- Outputs simple log messages:
- SIWEConfig
- SIWECreateMessageArgs
- SIWEMessageArgs
- SIWESession
- SIWEVerifyMessageArgs
-
StoreCreateEvent<
T> - StoredCacao
-
StoreDeleteEvent<
T> - StoreSyncEvent
-
StoreUpdateEvent<
T> - StoreVersions
- StreamOutput
- StringType
- The solidity string type, which utf-8 encodes strings
- SubscriptionDeletionEvent
- SubscriptionEvent
- SyncInformation
- When the client is currently syncing its blockchain with the network, this representation can be used to find information about at which block the node was before the sync, at which node it currently is and at which block the node will complete its sync.
- Transaction
- TransactionInformation
- TransactionReceipt
- TupleType
- Tuple Type
- UintType
- The solidity uint
- URIParseResult
- URIV1ParsedData
- URIV2ParsedData
- UserRejectedConnection
-
Value<
T> - Represents an EventArgs derived class with one (generic) value.
-
Values<
T1, T2> - Represents an EventArgs derived class with two (generic) values.
- VerifyContext
- W3MAccountButton
- W3MBlockExplorer
- W3MChainInfo
- W3MChainPresets
- W3MConnectWalletButton
- W3MNamespace
- W3MNetworkSelectButton
- W3MService
-
Either a
projectId
andmetadata
must be provided or an already created web3App. optionalNamespaces is mostly not needed, if you use it, the values set here will override every optionalNamespaces set in evey chain - W3MSession
- W3MWalletInfo
- Wallet
- Represents a wallet file. Wallets are used to securely store credentials like a private key belonging to an Ethereum address. The private key in a wallet is encrypted with a secret password that needs to be known in order to obtain the private key.
- WalletConnectConstants
- WalletConnectError
- WalletConnectErrorSilent
- ERRORS
- WalletConnectUtils
- WalletNotInstalled
- WcAuthRequestRequest
- WcAuthRequestResult
- WcPairingDeleteRequest
- WcPairingPingRequest
- WcSessionAuthRequestParams
- WcSessionAuthRequestResult
- WcSessionDeleteRequest
- WcSessionEventRequest
- WcSessionExtendRequest
- WcSessionPingRequest
- WcSessionProposeRequest
- WcSessionProposeResponse
- WcSessionRequestRequest
- WcSessionSettleRequest
- WcSessionUpdateRequest
- Web3App
- Web3Client
- Class for sending requests over an HTTP JSON-RPC API endpoint to Ethereum clients. This library won't use the accounts feature of clients to use them to create transactions, you will instead have to obtain private keys of accounts yourself.
- Web3ModalColors
- Web3ModalRadiuses
- Web3ModalTheme
- Web3ModalThemeData
- Web3Wallet
- WebSocketErrors
- WhenWhy
- An EventArgs derived class that includes the date/time the Event was broadcast, and an optional description.
Enums
- ContractFunctionType
- Contract Function Type
- EtherUnit
- Level
- Levels to control logging output. Logging can be enabled to include all levels above certain Level.
- LogLevel
- ProtocolType
- StateMutability
- The state mutability of a contract function defines how that function interacts with the blockchain.
- TransportType
- URIVersion
- Validation
- W3MSessionService
Extensions
- AddressUtilsExtension on String
- EtheraAmountExtension on String?
- TransactionExtension on Transaction
-
TransactionExtension2
on Map<
String, dynamic> - UriExtension on String
- W3MChainInfoExtension on W3MChainInfo
- W3MNamespaceExtension on W3MNamespace
- W3MSessionExtension on W3MSession
- W3MWalletInfoExtension on W3MWalletInfo
- Web3ModalColorsExtension on Web3ModalColors
- Web3ModalRadiusesExtension on Web3ModalRadiuses
Constants
- packageVersion → const String
- sizeUnitBytes → const int
- The length of the encoding of a solidity type is always a multiplicative of this unit size.
Properties
- keccakDigest → KeccakDigest
-
final
Functions
-
bytesToHex(
List< int> bytes, {bool include0x = false, int? forcePadLength, bool padToEvenLength = false}) → String -
Converts the
bytes
given as a list of integers into a hexadecimal representation. -
bytesToInt(
List< int> bytes) → BigInt - Converts the bytes from that list (big endian) to a (potentially signed) BigInt.
-
bytesToUnsignedInt(
Uint8List bytes) → BigInt -
calculatePadLength(
int bodyLength, {bool allowEmpty = false}) → int -
Calculates the amount of padding bytes needed so that the length of the
padding plus the
bodyLength
is a multiplicative of sizeUnitBytes. IfallowEmpty
(defaults to false) is true, an empty length is allowed. Otherwise an emptybodyLength
will be given a full sizeUnitBytes padding. -
compressPublicKey(
Uint8List compressedPubKey) → Uint8List - Given a byte array computes its compressed version and returns it as a byte array, including the leading 02 or 03
-
decompressPublicKey(
Uint8List compressedPubKey) → Uint8List - Given a byte array computes its expanded version and returns it as a byte array, including the leading 04
-
ecRecover(
Uint8List messageHash, MsgSignature signatureData) → Uint8List - Given an arbitrary message hash and an Ethereum message signature encoded in bytes, returns the public key that was used to sign it. https://github.com/web3j/web3j/blob/c0b7b9c2769a466215d416696021aa75127c2ff1/crypto/src/main/java/org/web3j/crypto/Sign.java#L241
-
encode(
dynamic value) → List< int> -
encodeList(
List list, LengthTrackingByteSink builder) → void -
generateNewPrivateKey(
Random random) → BigInt - Generates a new private key using the random instance provided. Please make sure you're using a cryptographically secure generator.
-
hexToBytes(
String hexStr) → Uint8List - Converts the hexadecimal string, which can be prefixed with 0x, to a byte sequence.
-
hexToDartInt(
String hex) → int - Converts the hexadecimal input and creates an int.
-
hexToInt(
String hex) → BigInt - Takes the hexadecimal input and creates a BigInt.
-
intToBytes(
BigInt number) → Uint8List -
isValidSignature(
Uint8List messageHash, MsgSignature signatureData, Uint8List publicKey) → bool - Given an arbitrary message hash, an Ethereum message signature encoded in bytes and a public key encoded in bytes, confirms whether that public key was used to sign the message or not.
-
keccak256(
Uint8List input) → Uint8List -
keccakAscii(
String input) → Uint8List -
keccakUtf8(
String input) → Uint8List -
padUint8ListTo32(
Uint8List data) → Uint8List -
parseAbiType(
String name) → AbiType - Parses an ABI type from its AbiType.name.
-
prependTransactionType(
int type, Uint8List transaction) → Uint8List -
privateKeyBytesToPublic(
Uint8List privateKey) → Uint8List - Generates a public key for the given private key using the ecdsa curve which Ethereum uses.
-
privateKeyToPublic(
BigInt privateKey) → Uint8List - Generates a public key for the given private key using the ecdsa curve which Ethereum uses.
-
publicKeyToAddress(
Uint8List publicKey) → Uint8List - Constructs the Ethereum address associated with the given public key by taking the lower 160 bits of the key's sha3 hash.
-
sign(
Uint8List messageHash, Uint8List privateKey) → MsgSignature -
Signs the hashed data in
messageHash
using the given private key. -
signTransactionRaw(
Transaction transaction, Credentials c, {int? chainId = 1}) → Uint8List -
strip0x(
String hex) → String - If present, removes the 0x from the start of a hex-string.
-
uint8ListFromList(
List< int> data) → Uint8List -
unsignedIntToBytes(
BigInt number) → Uint8List
Typedefs
- DateTimeFormatter = String Function(DateTime time)
-
EventHandler<
T extends EventArgs> = void Function(T? args) - Defines the function (callback) signature of an Event handler. It is a function that takes an argument of type EventArgs, or one derived from it.
- LogCallback = void Function(LogEvent event)
- OutputCallback = void Function(OutputEvent event)
-
SocketConnector
= StreamChannel<
String> Function() - Signature for a function that opens a socket on which json-rpc operations can be performed.
Exceptions / Errors
- AttestationNotFound
- RPCError
- Exception thrown when an the server returns an error code to an rpc request.
- W3MServiceException