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 when asserts 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
SharedPreferences
Wraps NSUserDefaults (on iOS) and SharedPreferences (on Android), providing a persistent store for simple data.
SharedPreferencesAsync
Provides a persistent store for simple data.
SharedPreferencesWithCache
Provides a persistent store for simple data.
SharedPreferencesWithCacheOptions
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 and metadata 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

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. If allowEmpty (defaults to false) is true, an empty length is allowed. Otherwise an empty bodyLength 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