### Account Static Methods (Starknet) Source: https://pub.dev/documentation/starknet/latest/starknet/Account/declare Explains the static methods provided by the Account class, such as deploying an account or getting resource bounds. ```Python account.deployAccount(private_key) resource_bounds = account.getResourceBounds(resource_type) ``` -------------------------------- ### Get sessionKeyGuid Property (Dart) Source: https://pub.dev/documentation/starknet/latest/starknet/OnChainSession/sessionKeyGuid This snippet shows how to access the sessionKeyGuid property, which returns the GUID of the session key. It is inherited and returns a Felt type. ```dart Felt get sessionKeyGuid => throw _privateConstructorUsedError; ``` -------------------------------- ### StarkNet Account Class - Constructors Source: https://pub.dev/documentation/starknet/latest/starknet/Account/deployAccount This snippet covers the constructors for the StarkNet Account class, including the default constructor and methods to create an account from a mnemonic phrase. ```starknet Account( provider: Provider, signer: Signer, feederGatewayUrl: String, gatewayUrl: String, accountAddress: String, chainId: StarknetChainId, supportedTxVersion: StarknetVersion ) Account.fromMnemonic(mnemonic: String, provider: Provider, signer: Signer, feederGatewayUrl: String, gatewayUrl: String, accountAddress: String, chainId: StarknetChainId, supportedTxVersion: StarknetVersion ) ``` -------------------------------- ### Get executeBefore Property (Dart) Source: https://pub.dev/documentation/starknet/latest/starknet/OutsideExecutionMessageV1/executeBefore This snippet shows how to get the 'executeBefore' property from the OutsideExecutionMessageV1 class. It returns a String and is an inherited property. ```dart String get executeBefore => throw _privateConstructorUsedError; ``` -------------------------------- ### Account Class Constructors (Starknet) Source: https://pub.dev/documentation/starknet/latest/starknet/Account/declare Demonstrates the constructors available for the Account class, including creating a new account or from a mnemonic phrase. ```Python account = Account() account = Account.fromMnemonic(mnemonic_phrase) ``` -------------------------------- ### Get Selector Property - Starknet Dart Source: https://pub.dev/documentation/starknet/latest/starknet/DeprecatedCairoEntryPoint/selector This snippet shows how to get the selector property from the Starknet package. It is part of the DeprecatedCairoEntryPoint class and is implemented in Dart. ```dart Felt get selector => throw _privateConstructorUsedError; ``` -------------------------------- ### Starknet Core Concepts and Methods Source: https://pub.dev/documentation/starknet/latest/starknet/Devnet-class Details on Starknet constructors, properties, methods, and operators, including static methods for accessing predeployed accounts and minting transactions. ```Dart class Starknet { // Constructors Starknet(); Starknet.new(); // Properties // Example: String get networkId => 'mainnet'; // Methods // Example: void toString() { ... } // Example: dynamic noSuchMethod(Invocation invocation) { ... } // Operators // Example: bool operator ==(Object other) => false; // Static Methods static Future> getPredeployedAccounts() async { // Implementation details... return []; } static Future mintTransaction(BigInt amount, Address recipient) async { // Implementation details... throw UnimplementedError(); } } ``` -------------------------------- ### Dart Hash Code Example Source: https://pub.dev/documentation/starknet/latest/starknet/OutsideExecutionTypedDataV2/hash This example demonstrates how to generate a hash code for a custom object in Dart using Object.hash. It includes the equality operator and the hashCode getter. ```Dart class SomeObject { final Object a, b, c; SomeObject(this.a, this.b, this.c); bool operator ==(Object other) => other is SomeObject && a == other.a && b == other.b && c == other.c; int get hashCode => Object.hash(a, b, c); } ``` -------------------------------- ### Starknet Library Classes Overview Source: https://pub.dev/documentation/starknet/latest/starknet/SierraL1HandlerAbiEntry-class Provides a comprehensive list of classes available in the Starknet library, covering accounts, contracts, transactions, and utility types. ```Python class Account class AccountBalance class AccountBalances class AccountDerivation class AllowedMethod class ArgentSessionKey class ArgentXAccountDerivation class ArgentXGuardianAccountSigner class BaseAccountSigner class BaseSigner class BraavosAccountDerivation class CASMCompiledContract class CASMEntryPoint class CASMEntryPointsByType class CompiledContract class Contract class DeprecatedCairoEntryPoint class DeprecatedCairoEntryPointsByType class DeprecatedCompiledContract class DeprecatedConstructorAbiEntry class DeprecatedContractAbiEntry class DeprecatedEventAbiEntry class DeprecatedFunctionAbiEntry class DeprecatedStructAbiEntry class Devnet class EntryPointsByType class EntryPointsHashes class ERC20 class FeeEstimations class Felt class FlattenSierraContractClass class ICompiledContract class InputParameter class IToCalldata class MemberParameter class MerkleTree class MetadataTxFee class MintRequest class MintResponse class MintResult class OffChainSession class OnChainSession class OpenzeppelinAccountDerivation class OutputParameter class OutsideExecutionCallV1 class OutsideExecutionCallV2 class OutsideExecutionMessage class OutsideExecutionMessageV1 class OutsideExecutionMessageV2 class OutsideExecutionTypedDataV2 class PedersenParams class PredeployedAccount class PythonicJsonEncoder class SessionMetadata class SessionToken class SessionTypedData class SierraCompiledContract class SierraConstructorAbiEntry class SierraContractAbiEntry class SierraEntryPoint class SierraEnumAbiEntry class SierraEventAbi class SierraEventAbiEntry class SierraEventAbiEnum class SierraEventAbiEnumVariant class SierraEventAbiInstance class SierraEventAbiStruct class SierraEventAbiStructMember class SierraFunctionAbiEntry class SierraImplAbiEntry class SierraInterfaceAbiEntry class SierraL1HandlerAbiEntry class SierraStructAbiEntry class Signature class Signer class SNIP12TypedParameter class StarkAccountSigner class StarknetChainId class StarkSigner class StructMember class TransactionHashPrefix class TypedData class TypedDataDomain class TypedParameter class Uint256 class VariantParameter ``` -------------------------------- ### Get Selector Property - Starknet Dart Source: https://pub.dev/documentation/starknet/latest/starknet/SierraEntryPoint/selector This code snippet shows how to get the selector property from a Starknet entry point. It is defined within the starknet.dart package and is part of the SierraEntryPoint class. ```dart Felt get selector => throw _privateConstructorUsedError; ``` -------------------------------- ### Starknet Library Classes Overview Source: https://pub.dev/documentation/starknet/latest/starknet/EntryPointsHashes-class Provides a comprehensive list of classes available in the Starknet library, covering accounts, contracts, transactions, and utility types. ```Python class Account class AccountBalance class AccountBalances class AccountDerivation class AllowedMethod class ArgentSessionKey class ArgentXAccountDerivation class ArgentXGuardianAccountSigner class BaseAccountSigner class BaseSigner class BraavosAccountDerivation class CASMCompiledContract class CASMEntryPoint class CASMEntryPointsByType class CompiledContract class Contract class DeprecatedCairoEntryPoint class DeprecatedCairoEntryPointsByType class DeprecatedCompiledContract class DeprecatedConstructorAbiEntry class DeprecatedContractAbiEntry class DeprecatedEventAbiEntry class DeprecatedFunctionAbiEntry class DeprecatedStructAbiEntry class Devnet class EntryPointsByType class EntryPointsHashes class ERC20 class FeeEstimations class Felt class FlattenSierraContractClass class ICompiledContract class InputParameter class IToCalldata class MemberParameter class MerkleTree class MetadataTxFee class MintRequest class MintResponse class MintResult class OffChainSession class OnChainSession class OpenzeppelinAccountDerivation class OutputParameter class OutsideExecutionCallV1 class OutsideExecutionCallV2 class OutsideExecutionMessage class OutsideExecutionMessageV1 class OutsideExecutionMessageV2 class OutsideExecutionTypedDataV2 class PedersenParams class PredeployedAccount class PythonicJsonEncoder class SessionMetadata class SessionToken class SessionTypedData class SierraCompiledContract class SierraConstructorAbiEntry class SierraContractAbiEntry class SierraEntryPoint class SierraEnumAbiEntry class SierraEventAbi class SierraEventAbiEntry class SierraEventAbiEnum class SierraEventAbiEnumVariant class SierraEventAbiInstance class SierraEventAbiStruct class SierraEventAbiStructMember class SierraFunctionAbiEntry class SierraImplAbiEntry class SierraInterfaceAbiEntry class SierraL1HandlerAbiEntry class SierraStructAbiEntry class Signature class Signer class SNIP12TypedParameter class StarkAccountSigner class StarknetChainId class StarkSigner class StructMember class TransactionHashPrefix class TypedData class TypedDataDomain class TypedParameter class Uint256 class VariantParameter ``` -------------------------------- ### Get type property in Starknet Dart Source: https://pub.dev/documentation/starknet/latest/starknet/SierraEventAbiEnum/type This code snippet demonstrates how to get the 'type' property from the SierraEventAbiEnum class in Starknet Dart. It shows the implementation of the getter which returns the type as a String. ```Dart String get type => throw _privateConstructorUsedError; ``` -------------------------------- ### Starknet Library Classes Overview Source: https://pub.dev/documentation/starknet/latest/starknet/computeMerkleTreeRoot Provides a comprehensive list of classes available in the Starknet library, covering accounts, contracts, transactions, and utility types. ```Python class Account class AccountBalance class AccountBalances class AccountDerivation class AllowedMethod class ArgentSessionKey class ArgentXAccountDerivation class ArgentXGuardianAccountSigner class BaseAccountSigner class BaseSigner class BraavosAccountDerivation class CASMCompiledContract class CASMEntryPoint class CASMEntryPointsByType class CompiledContract class Contract class DeprecatedCairoEntryPoint class DeprecatedCairoEntryPointsByType class DeprecatedCompiledContract class DeprecatedConstructorAbiEntry class DeprecatedContractAbiEntry class DeprecatedEventAbiEntry class DeprecatedFunctionAbiEntry class DeprecatedStructAbiEntry class Devnet class EntryPointsByType class EntryPointsHashes class ERC20 class FeeEstimations class Felt class FlattenSierraContractClass class ICompiledContract class InputParameter class IToCalldata class MemberParameter class MerkleTree class MetadataTxFee class MintRequest class MintResponse class MintResult class OffChainSession class OnChainSession class OpenzeppelinAccountDerivation class OutputParameter class OutsideExecutionCallV1 class OutsideExecutionCallV2 class OutsideExecutionMessage class OutsideExecutionMessageV1 class OutsideExecutionMessageV2 class OutsideExecutionTypedDataV2 class PedersenParams class PredeployedAccount class PythonicJsonEncoder class SessionMetadata class SessionToken class SessionTypedData class SierraCompiledContract class SierraConstructorAbiEntry class SierraContractAbiEntry class SierraEntryPoint class SierraEnumAbiEntry class SierraEventAbi class SierraEventAbiEntry class SierraEventAbiEnum class SierraEventAbiEnumVariant class SierraEventAbiInstance class SierraEventAbiStruct class SierraEventAbiStructMember class SierraFunctionAbiEntry class SierraImplAbiEntry class SierraInterfaceAbiEntry class SierraL1HandlerAbiEntry class SierraStructAbiEntry class Signature class Signer class SNIP12TypedParameter class StarkAccountSigner class StarknetChainId class StarkSigner class StructMember class TransactionHashPrefix class TypedData class TypedDataDomain class TypedParameter class Uint256 class VariantParameter ``` -------------------------------- ### Get Address Property - Dart Source: https://pub.dev/documentation/starknet/latest/starknet/PredeployedAccount/address This code snippet demonstrates how to get the address property from a PredeployedAccount object in Dart. The 'address' property is of type Felt and represents the account's address. ```Dart Felt get address => throw _privateConstructorUsedError; ``` -------------------------------- ### Starknet Library Classes Overview Source: https://pub.dev/documentation/starknet/latest/starknet/orderlen Provides a comprehensive list of classes available in the Starknet library, covering accounts, contracts, transactions, and utility types. ```Python class Account class AccountBalance class AccountBalances class AccountDerivation class AllowedMethod class ArgentSessionKey class ArgentXAccountDerivation class ArgentXGuardianAccountSigner class BaseAccountSigner class BaseSigner class BraavosAccountDerivation class CASMCompiledContract class CASMEntryPoint class CASMEntryPointsByType class CompiledContract class Contract class DeprecatedCairoEntryPoint class DeprecatedCairoEntryPointsByType class DeprecatedCompiledContract class DeprecatedConstructorAbiEntry class DeprecatedContractAbiEntry class DeprecatedEventAbiEntry class DeprecatedFunctionAbiEntry class DeprecatedStructAbiEntry class Devnet class EntryPointsByType class EntryPointsHashes class ERC20 class FeeEstimations class Felt class FlattenSierraContractClass class ICompiledContract class InputParameter class IToCalldata class MemberParameter class MerkleTree class MetadataTxFee class MintRequest class MintResponse class MintResult class OffChainSession class OnChainSession class OpenzeppelinAccountDerivation class OutputParameter class OutsideExecutionCallV1 class OutsideExecutionCallV2 class OutsideExecutionMessage class OutsideExecutionMessageV1 class OutsideExecutionMessageV2 class OutsideExecutionTypedDataV2 class PedersenParams class PredeployedAccount class PythonicJsonEncoder class SessionMetadata class SessionToken class SessionTypedData class SierraCompiledContract class SierraConstructorAbiEntry class SierraContractAbiEntry class SierraEntryPoint class SierraEnumAbiEntry class SierraEventAbi class SierraEventAbiEntry class SierraEventAbiEnum class SierraEventAbiEnumVariant class SierraEventAbiInstance class SierraEventAbiStruct class SierraEventAbiStructMember class SierraFunctionAbiEntry class SierraImplAbiEntry class SierraInterfaceAbiEntry class SierraL1HandlerAbiEntry class SierraStructAbiEntry class Signature class Signer class SNIP12TypedParameter class StarkAccountSigner class StarknetChainId class StarkSigner class StructMember class TransactionHashPrefix class TypedData class TypedDataDomain class TypedParameter class Uint256 class VariantParameter ``` -------------------------------- ### Get privateKey Property - Starknet Dart Source: https://pub.dev/documentation/starknet/latest/starknet/PredeployedAccount/privateKey This code snippet shows how to get the privateKey property from the PredeployedAccount class. It returns a Felt type and is inherited from a parent class. The implementation throws an unimplemented error. ```Dart Felt get privateKey => throw _privateConstructorUsedError; ``` -------------------------------- ### Get Selector Property Implementation (Dart) Source: https://pub.dev/documentation/starknet/latest/starknet/AllowedMethod/selector This snippet shows the abstract implementation of the 'get selector' property, which is expected to return a Felt type. It indicates that this is an abstract method that needs to be implemented by concrete classes. ```dart Felt get selector => throw _privateConstructorUsedError; ``` -------------------------------- ### Starknet Library Classes Overview Source: https://pub.dev/documentation/starknet/latest/starknet/EntryPointsByType-class Provides a comprehensive list of classes available in the Starknet library, covering accounts, contracts, transactions, and utility types. ```Python class Account class AccountBalance class AccountBalances class AccountDerivation class AllowedMethod class ArgentSessionKey class ArgentXAccountDerivation class ArgentXGuardianAccountSigner class BaseAccountSigner class BaseSigner class BraavosAccountDerivation class CASMCompiledContract class CASMEntryPoint class CASMEntryPointsByType class CompiledContract class Contract class DeprecatedCairoEntryPoint class DeprecatedCairoEntryPointsByType class DeprecatedCompiledContract class DeprecatedConstructorAbiEntry class DeprecatedContractAbiEntry class DeprecatedEventAbiEntry class DeprecatedFunctionAbiEntry class DeprecatedStructAbiEntry class Devnet class EntryPointsByType class EntryPointsHashes class ERC20 class FeeEstimations class Felt class FlattenSierraContractClass class ICompiledContract class InputParameter class IToCalldata class MemberParameter class MerkleTree class MetadataTxFee class MintRequest class MintResponse class MintResult class OffChainSession class OnChainSession class OpenzeppelinAccountDerivation class OutputParameter class OutsideExecutionCallV1 class OutsideExecutionCallV2 class OutsideExecutionMessage class OutsideExecutionMessageV1 class OutsideExecutionMessageV2 class OutsideExecutionTypedDataV2 class PedersenParams class PredeployedAccount class PythonicJsonEncoder class SessionMetadata class SessionToken class SessionTypedData class SierraCompiledContract class SierraConstructorAbiEntry class SierraContractAbiEntry class SierraEntryPoint class SierraEnumAbiEntry class SierraEventAbi class SierraEventAbiEntry class SierraEventAbiEnum class SierraEventAbiEnumVariant class SierraEventAbiInstance class SierraEventAbiStruct class SierraEventAbiStructMember class SierraFunctionAbiEntry class SierraImplAbiEntry class SierraInterfaceAbiEntry class SierraL1HandlerAbiEntry class SierraStructAbiEntry class Signature class Signer class SNIP12TypedParameter class StarkAccountSigner class StarknetChainId class StarkSigner class StructMember class TransactionHashPrefix class TypedData class TypedDataDomain class TypedParameter class Uint256 class VariantParameter ``` -------------------------------- ### Dart Object.hash example Source: https://pub.dev/documentation/starknet/latest/starknet/TypedData/hash This Dart example demonstrates how to implement the 'hashCode' getter for a custom object 'SomeObject'. It utilizes the Object.hash method to combine the hash codes of its properties (a, b, c) for efficient hashing. ```dart class SomeObject { final Object a, b, c; SomeObject(this.a, this.b, this.c); bool operator ==(Object other) => other is SomeObject && a == other.a && b == other.b && c == other.c; int get hashCode => Object.hash(a, b, c); } ``` -------------------------------- ### Starknet Library Classes Overview Source: https://pub.dev/documentation/starknet/latest/starknet/SierraEventAbiInstance-class Provides a comprehensive list of classes available in the Starknet library, covering accounts, contracts, transactions, and utility types. ```Python class Account class AccountBalance class AccountBalances class AccountDerivation class AllowedMethod class ArgentSessionKey class ArgentXAccountDerivation class ArgentXGuardianAccountSigner class BaseAccountSigner class BaseSigner class BraavosAccountDerivation class CASMCompiledContract class CASMEntryPoint class CASMEntryPointsByType class CompiledContract class Contract class DeprecatedCairoEntryPoint class DeprecatedCairoEntryPointsByType class DeprecatedCompiledContract class DeprecatedConstructorAbiEntry class DeprecatedContractAbiEntry class DeprecatedEventAbiEntry class DeprecatedFunctionAbiEntry class DeprecatedStructAbiEntry class Devnet class EntryPointsByType class EntryPointsHashes class ERC20 class FeeEstimations class Felt class FlattenSierraContractClass class ICompiledContract class InputParameter class IToCalldata class MemberParameter class MerkleTree class MetadataTxFee class MintRequest class MintResponse class MintResult class OffChainSession class OnChainSession class OpenzeppelinAccountDerivation class OutputParameter class OutsideExecutionCallV1 class OutsideExecutionCallV2 class OutsideExecutionMessage class OutsideExecutionMessageV1 class OutsideExecutionMessageV2 class OutsideExecutionTypedDataV2 class PedersenParams class PredeployedAccount class PythonicJsonEncoder class SessionMetadata class SessionToken class SessionTypedData class SierraCompiledContract class SierraConstructorAbiEntry class SierraContractAbiEntry class SierraEntryPoint class SierraEnumAbiEntry class SierraEventAbi class SierraEventAbiEntry class SierraEventAbiEnum class SierraEventAbiEnumVariant class SierraEventAbiInstance class SierraEventAbiStruct class SierraEventAbiStructMember class SierraFunctionAbiEntry class SierraImplAbiEntry class SierraInterfaceAbiEntry class SierraL1HandlerAbiEntry class SierraStructAbiEntry class Signature class Signer class SNIP12TypedParameter class StarkAccountSigner class StarknetChainId class StarkSigner class StructMember class TransactionHashPrefix class TypedData class TypedDataDomain class TypedParameter class Uint256 class VariantParameter ``` -------------------------------- ### Starknet Contract Deployment Source: https://pub.dev/documentation/starknet/latest/starknet/Account-class Shows how to deploy a Starknet contract using an account. This involves providing the compiled contract class hash and constructor arguments. ```Dart await account.deploy(classHash: classHash, constructorCalldata: constructorCalldata); ``` -------------------------------- ### Get sessionAuthorization Property (Dart) Source: https://pub.dev/documentation/starknet/latest/starknet/SessionToken/sessionAuthorization This code snippet shows the implementation of the get sessionAuthorization getter in Dart. It is part of the SessionToken class and is used to retrieve a valid account signature over the session. It inherits from an unspecified base class. ```Dart List get sessionAuthorization => throw _privateConstructorUsedError; ``` -------------------------------- ### Deploy StarkNet Account (Dart) Source: https://pub.dev/documentation/starknet/latest/starknet/OpenzeppelinAccountDerivation/deploy The `deploy` method in StarkNet facilitates the deployment of an account. It requires an `Account` object which contains the signer and provider. The method constructs the deployment transaction using the account's public key for the salt and calculates the constructor calldata. It then returns the transaction hash of the successful deployment or throws an exception if it fails. ```dart Future deploy({required Account account}) async { final tx = await Account.deployAccount( accountSigner: account.signer, provider: account.provider, constructorCalldata: constructorCalldata( publicKey: account.signer.publicKey, ), classHash: proxyClassHash, contractAddressSalt: account.signer.publicKey, ); final deployTxHash = tx.when( result: (result) { stdout.writeln( 'Account is deployed at ${result.contractAddress.toHexString()} (tx: ${result.transactionHash.toHexString()})', ); return result.transactionHash; }, error: (error) { throw Exception('Account deploy failed: ${error.code} ${error.message}' '${error.errorData != null ? ' ${error.errorData}' : ''}'); }, ); return deployTxHash; } ``` -------------------------------- ### Starknet: Get Runtime Type Source: https://pub.dev/documentation/starknet/latest/starknet/BraavosAccountDerivation-class Returns the runtime type of the object. Standard Dart method for introspection. ```Dart Type runtimeType; ``` -------------------------------- ### Get Outputs Property - Dart Source: https://pub.dev/documentation/starknet/latest/starknet/SierraFunctionAbiEntry/outputs Retrieves the list of output parameters for a SierraFunctionAbiEntry. This is a getter that returns a List. ```Dart List get outputs; ``` -------------------------------- ### Starknet Library Classes Overview Source: https://pub.dev/documentation/starknet/latest/starknet/getPoint Provides a comprehensive list of classes available in the Starknet library, covering accounts, contracts, transactions, and utility types. ```Python class Account class AccountBalance class AccountBalances class AccountDerivation class AllowedMethod class ArgentSessionKey class ArgentXAccountDerivation class ArgentXGuardianAccountSigner class BaseAccountSigner class BaseSigner class BraavosAccountDerivation class CASMCompiledContract class CASMEntryPoint class CASMEntryPointsByType class CompiledContract class Contract class DeprecatedCairoEntryPoint class DeprecatedCairoEntryPointsByType class DeprecatedCompiledContract class DeprecatedConstructorAbiEntry class DeprecatedContractAbiEntry class DeprecatedEventAbiEntry class DeprecatedFunctionAbiEntry class DeprecatedStructAbiEntry class Devnet class EntryPointsByType class EntryPointsHashes class ERC20 class FeeEstimations class Felt class FlattenSierraContractClass class ICompiledContract class InputParameter class IToCalldata class MemberParameter class MerkleTree class MetadataTxFee class MintRequest class MintResponse class MintResult class OffChainSession class OnChainSession class OpenzeppelinAccountDerivation class OutputParameter class OutsideExecutionCallV1 class OutsideExecutionCallV2 class OutsideExecutionMessage class OutsideExecutionMessageV1 class OutsideExecutionMessageV2 class OutsideExecutionTypedDataV2 class PedersenParams class PredeployedAccount class PythonicJsonEncoder class SessionMetadata class SessionToken class SessionTypedData class SierraCompiledContract class SierraConstructorAbiEntry class SierraContractAbiEntry class SierraEntryPoint class SierraEnumAbiEntry class SierraEventAbi class SierraEventAbiEntry class SierraEventAbiEnum class SierraEventAbiEnumVariant class SierraEventAbiInstance class SierraEventAbiStruct class SierraEventAbiStructMember class SierraFunctionAbiEntry class SierraImplAbiEntry class SierraInterfaceAbiEntry class SierraL1HandlerAbiEntry class SierraStructAbiEntry class Signature class Signer class SNIP12TypedParameter class StarkAccountSigner class StarknetChainId class StarkSigner class StructMember class TransactionHashPrefix class TypedData class TypedDataDomain class TypedParameter class Uint256 class VariantParameter ``` -------------------------------- ### Deploy Starknet Account (V1 and V3) Source: https://pub.dev/documentation/starknet/latest/starknet/Account/deployAccount Deploys a Starknet account using the `deployAccount` static method. It handles both V1 and V3 transaction types, allowing for different fee mechanisms and data availability modes. The method requires an account signer, provider, class hash, and constructor call data, with optional parameters for fee limits, nonce, and contract address salt. ```dart static Future deployAccount({ required BaseAccountSigner accountSigner, required Provider provider, required List constructorCalldata, required Felt classHash, Felt? contractAddressSalt, Felt? max_fee, Felt? nonce, bool? useSTRKFee = false, Felt? l1MaxAmount, Felt? l1MaxPricePerUnit, Felt? l2MaxAmount, Felt? l2MaxPricePerUnit, Felt? contractAddress, List? accountDeploymentData, List? paymasterData, Felt? tip, String? feeDataAvailabilityMode = 'L1', String? nonceDataAvailabilityMode = 'L1', }) async { final chainId = (await provider.chainId()).when( result: Felt.fromHexString, error: (error) => StarknetChainId.testNet, ); max_fee = max_fee ?? defaultMaxFee; nonce = nonce ?? defaultNonce; contractAddressSalt = contractAddressSalt ?? accountSigner.publicKey; if (useSTRKFee!) { contractAddress = contractAddress ?? Felt.zero; l1MaxAmount ??= Felt.zero; l1MaxPricePerUnit ??= Felt.zero; l2MaxAmount ??= Felt.zero; l2MaxPricePerUnit ??= Felt.zero; accountDeploymentData ??= []; paymasterData ??= []; tip ??= Felt.zero; final resourceBounds = getResourceBounds( l1MaxAmount, l1MaxPricePerUnit, l2MaxAmount, l2MaxPricePerUnit, ); final signature = await accountSigner.signDeployAccountTransactionV3( contractAddress: contractAddress, resourceBounds: resourceBounds, tip: tip, paymasterData: paymasterData, chainId: chainId, nonce: nonce, feeDataAvailabilityMode: feeDataAvailabilityMode!, nonceDataAvailabilityMode: nonceDataAvailabilityMode!, constructorCalldata: constructorCalldata, classHash: classHash, contractAddressSalt: contractAddressSalt, ); return provider.addDeployAccountTransaction( DeployAccountTransactionRequest( deployAccountTransaction: DeployAccountTransactionV3( classHash: classHash, constructorCalldata: constructorCalldata, contractAddressSalt: contractAddressSalt, feeDataAvailabilityMode: feeDataAvailabilityMode, nonce: nonce, nonceDataAvailabilityMode: nonceDataAvailabilityMode, paymasterData: paymasterData, resourceBounds: resourceBounds, signature: signature, tip: tip.toHexString(), ), ), ); } else { final signature = await accountSigner.signDeployAccountTransactionV1( contractAddressSalt: contractAddressSalt, classHash: classHash, constructorCalldata: constructorCalldata, chainId: chainId, nonce: nonce, maxFee: max_fee, ); return provider.addDeployAccountTransaction( DeployAccountTransactionRequest( deployAccountTransaction: DeployAccountTransactionV1( classHash: classHash, signature: signature, maxFee: max_fee, nonce: nonce, contractAddressSalt: contractAddressSalt, constructorCalldata: constructorCalldata, ), ), ); } } ``` -------------------------------- ### Get Nonce Source: https://pub.dev/documentation/starknet/latest/starknet/Account-class Fetches the current nonce for the account at a specified block ID. Defaults to the latest block. ```dart getNonce([BlockId blockId = BlockId.latest]) → Future ``` -------------------------------- ### Starknet Library Properties Overview Source: https://pub.dev/documentation/starknet/latest/starknet/lowPartBits-constant Lists the properties and default values available in the Starknet library, often used for configuration and default settings. ```Python account0 account1 account2 account3 account9 ALLOWED_METHOD_HASH_REV_1 balanceClassHash balanceContractAddress defaultMaxFee defaultNonce defaultVersion devnetAccount0Address devnetAccount0PrivateKey devnetAccount0PublicKey devnetAccount1Address devnetAccount1PrivateKey devnetAccount1PublicKey devnetAccount2Address devnetAccount2PrivateKey devnetAccount2PublicKey devnetAccount3Address devnetAccount3PrivateKey devnetAccount3PublicKey devnetAccount9Address devnetAccount9PrivateKey devnetAccount9PublicKey devnetAccountClassHash devnetAccountSalt devnetOpenZeppelinAccountClassHash devnetUri DOMAIN_TYPE_HASH_V0 DOMAIN_TYPE_HASH_V1 ethAddress generatorPoint infuraGoerliTestnetUri infuraMainnetUri keccakDigest lowPartMask mask250 maxHash MESSAGE_PREFIX_VALUE minusShiftPoint ozAccountClassHash ozAccountUpgradableClassHash ozProxyClassHash p0 p1 p2 p3 pedersenParams poseidonHasher revisionConfiguration rNumber SESSION_TYPE_HASH_REV_1 shiftPoint starknetCurve starknetECDomainParams starknetSignatureECDomainParams strkAddress udcAddress v010PathfinderGoerliTestnetUri ``` -------------------------------- ### Get StarkNet Version (Dart) Source: https://pub.dev/documentation/starknet/latest/starknet/TypedDataDomain/version Retrieves the version of the StarkNet Dart package. This is a getter method that returns the version as a String. ```dart String get version => throw _privateConstructorUsedError; ``` -------------------------------- ### Starknet Library Classes Overview Source: https://pub.dev/documentation/starknet/latest/starknet/lowPartBits-constant Provides a comprehensive list of classes available in the Starknet library, covering accounts, contracts, transactions, and utility types. ```Python class Account class AccountBalance class AccountBalances class AccountDerivation class AllowedMethod class ArgentSessionKey class ArgentXAccountDerivation class ArgentXGuardianAccountSigner class BaseAccountSigner class BaseSigner class BraavosAccountDerivation class CASMCompiledContract class CASMEntryPoint class CASMEntryPointsByType class CompiledContract class Contract class DeprecatedCairoEntryPoint class DeprecatedCairoEntryPointsByType class DeprecatedCompiledContract class DeprecatedConstructorAbiEntry class DeprecatedContractAbiEntry class DeprecatedEventAbiEntry class DeprecatedFunctionAbiEntry class DeprecatedStructAbiEntry class Devnet class EntryPointsByType class EntryPointsHashes class ERC20 class FeeEstimations class Felt class FlattenSierraContractClass class ICompiledContract class InputParameter class IToCalldata class MemberParameter class MerkleTree class MetadataTxFee class MintRequest class MintResponse class MintResult class OffChainSession class OnChainSession class OpenzeppelinAccountDerivation class OutputParameter class OutsideExecutionCallV1 class OutsideExecutionCallV2 class OutsideExecutionMessage class OutsideExecutionMessageV1 class OutsideExecutionMessageV2 class OutsideExecutionTypedDataV2 class PedersenParams class PredeployedAccount class PythonicJsonEncoder class SessionMetadata class SessionToken class SessionTypedData class SierraCompiledContract class SierraConstructorAbiEntry class SierraContractAbiEntry class SierraEntryPoint class SierraEnumAbiEntry class SierraEventAbi class SierraEventAbiEntry class SierraEventAbiEnum class SierraEventAbiEnumVariant class SierraEventAbiInstance class SierraEventAbiStruct class SierraEventAbiStructMember class SierraFunctionAbiEntry class SierraImplAbiEntry class SierraInterfaceAbiEntry class SierraL1HandlerAbiEntry class SierraStructAbiEntry class Signature class Signer class SNIP12TypedParameter class StarkAccountSigner class StarknetChainId class StarkSigner class StructMember class TransactionHashPrefix class TypedData class TypedDataDomain class TypedParameter class Uint256 class VariantParameter ``` -------------------------------- ### Starknet: Get Provider Source: https://pub.dev/documentation/starknet/latest/starknet/BraavosAccountDerivation-class Returns the Starknet provider instance used to interact with the network. Manages communication with Starknet nodes. ```Dart Provider provider; ``` -------------------------------- ### Starknet Library Classes Overview Source: https://pub.dev/documentation/starknet/latest/starknet/account3 Provides a comprehensive list of classes available in the Starknet library, covering accounts, contracts, transactions, and utility types. ```Python class Account class AccountBalance class AccountBalances class AccountDerivation class AllowedMethod class ArgentSessionKey class ArgentXAccountDerivation class ArgentXGuardianAccountSigner class BaseAccountSigner class BaseSigner class BraavosAccountDerivation class CASMCompiledContract class CASMEntryPoint class CASMEntryPointsByType class CompiledContract class Contract class DeprecatedCairoEntryPoint class DeprecatedCairoEntryPointsByType class DeprecatedCompiledContract class DeprecatedConstructorAbiEntry class DeprecatedContractAbiEntry class DeprecatedEventAbiEntry class DeprecatedFunctionAbiEntry class DeprecatedStructAbiEntry class Devnet class EntryPointsByType class EntryPointsHashes class ERC20 class FeeEstimations class Felt class FlattenSierraContractClass class ICompiledContract class InputParameter class IToCalldata class MemberParameter class MerkleTree class MetadataTxFee class MintRequest class MintResponse class MintResult class OffChainSession class OnChainSession class OpenzeppelinAccountDerivation class OutputParameter class OutsideExecutionCallV1 class OutsideExecutionCallV2 class OutsideExecutionMessage class OutsideExecutionMessageV1 class OutsideExecutionMessageV2 class OutsideExecutionTypedDataV2 class PedersenParams class PredeployedAccount class PythonicJsonEncoder class SessionMetadata class SessionToken class SessionTypedData class SierraCompiledContract class SierraConstructorAbiEntry class SierraContractAbiEntry class SierraEntryPoint class SierraEnumAbiEntry class SierraEventAbi class SierraEventAbiEntry class SierraEventAbiEnum class SierraEventAbiEnumVariant class SierraEventAbiInstance class SierraEventAbiStruct class SierraEventAbiStructMember class SierraFunctionAbiEntry class SierraImplAbiEntry class SierraInterfaceAbiEntry class SierraL1HandlerAbiEntry class SierraStructAbiEntry class Signature class Signer class SNIP12TypedParameter class StarkAccountSigner class StarknetChainId class StarkSigner class StructMember class TransactionHashPrefix class TypedData class TypedDataDomain class TypedParameter class Uint256 class VariantParameter ``` -------------------------------- ### Starknet: Get Implementation Class Hash Source: https://pub.dev/documentation/starknet/latest/starknet/BraavosAccountDerivation-class Retrieves the class hash of the implementation contract, relevant for proxy patterns in Starknet. ```Dart String implementationClassHash; ``` -------------------------------- ### Starknet Library Properties Overview Source: https://pub.dev/documentation/starknet/latest/starknet/SierraL1HandlerAbiEntry-class Lists the properties and default values available in the Starknet library, often used for configuration and default settings. ```Python account0 account1 account2 account3 account9 ALLOWED_METHOD_HASH_REV_1 balanceClassHash balanceContractAddress defaultMaxFee defaultNonce defaultVersion devnetAccount0Address devnetAccount0PrivateKey devnetAccount0PublicKey devnetAccount1Address devnetAccount1PrivateKey devnetAccount1PublicKey devnetAccount2Address devnetAccount2PrivateKey devnetAccount2PublicKey devnetAccount3Address devnetAccount3PrivateKey devnetAccount3PublicKey devnetAccount9Address devnetAccount9PrivateKey devnetAccount9PublicKey devnetAccountClassHash devnetAccountSalt devnetOpenZeppelinAccountClassHash devnetUri DOMAIN_TYPE_HASH_V0 DOMAIN_TYPE_HASH_V1 ethAddress generatorPoint infuraGoerliTestnetUri infuraMainnetUri keccakDigest lowPartMask mask250 maxHash MESSAGE_PREFIX_VALUE minusShiftPoint ozAccountClassHash ozAccountUpgradableClassHash ozProxyClassHash p0 p1 p2 p3 pedersenParams poseidonHasher revisionConfiguration rNumber SESSION_TYPE_HASH_REV_1 shiftPoint starknetCurve starknetECDomainParams starknetSignatureECDomainParams strkAddress udcAddress v010PathfinderGoerliTestnetUri ``` -------------------------------- ### Starknet: Get Chain ID Source: https://pub.dev/documentation/starknet/latest/starknet/BraavosAccountDerivation-class Retrieves the unique identifier for the Starknet network chain. Necessary for signing transactions correctly. ```Dart int chainId; ``` -------------------------------- ### Get CASMCompiledContract compilerVersion (Dart) Source: https://pub.dev/documentation/starknet/latest/starknet/CASMCompiledContract/compilerVersion Retrieves the compiler version from a CASMCompiledContract instance. This property is inherited and returns the version as a String. ```Dart String get compilerVersion => throw _privateConstructorUsedError; ``` -------------------------------- ### Starknet Library Properties Overview Source: https://pub.dev/documentation/starknet/latest/starknet/getPoint Lists the properties and default values available in the Starknet library, often used for configuration and default settings. ```Python account0 account1 account2 account3 account9 ALLOWED_METHOD_HASH_REV_1 balanceClassHash balanceContractAddress defaultMaxFee defaultNonce defaultVersion devnetAccount0Address devnetAccount0PrivateKey devnetAccount0PublicKey devnetAccount1Address devnetAccount1PrivateKey devnetAccount1PublicKey devnetAccount2Address devnetAccount2PrivateKey devnetAccount2PublicKey devnetAccount3Address devnetAccount3PrivateKey devnetAccount3PublicKey devnetAccount9Address devnetAccount9PrivateKey devnetAccount9PublicKey devnetAccountClassHash devnetAccountSalt devnetOpenZeppelinAccountClassHash devnetUri DOMAIN_TYPE_HASH_V0 DOMAIN_TYPE_HASH_V1 ethAddress generatorPoint infuraGoerliTestnetUri infuraMainnetUri keccakDigest lowPartMask mask250 maxHash MESSAGE_PREFIX_VALUE minusShiftPoint ozAccountClassHash ozAccountUpgradableClassHash ozProxyClassHash p0 p1 p2 p3 pedersenParams poseidonHasher revisionConfiguration rNumber SESSION_TYPE_HASH_REV_1 shiftPoint starknetCurve starknetECDomainParams starknetSignatureECDomainParams strkAddress udcAddress v010PathfinderGoerliTestnetUri ``` -------------------------------- ### Starknet Library Classes Overview Source: https://pub.dev/documentation/starknet/latest/starknet/account0 Provides a comprehensive list of classes available in the Starknet library, covering accounts, contracts, transactions, and utility types. ```Python class Account class AccountBalance class AccountBalances class AccountDerivation class AllowedMethod class ArgentSessionKey class ArgentXAccountDerivation class ArgentXGuardianAccountSigner class BaseAccountSigner class BaseSigner class BraavosAccountDerivation class CASMCompiledContract class CASMEntryPoint class CASMEntryPointsByType class CompiledContract class Contract class DeprecatedCairoEntryPoint class DeprecatedCairoEntryPointsByType class DeprecatedCompiledContract class DeprecatedConstructorAbiEntry class DeprecatedContractAbiEntry class DeprecatedEventAbiEntry class DeprecatedFunctionAbiEntry class DeprecatedStructAbiEntry class Devnet class EntryPointsByType class EntryPointsHashes class ERC20 class FeeEstimations class Felt class FlattenSierraContractClass class ICompiledContract class InputParameter class IToCalldata class MemberParameter class MerkleTree class MetadataTxFee class MintRequest class MintResponse class MintResult class OffChainSession class OnChainSession class OpenzeppelinAccountDerivation class OutputParameter class OutsideExecutionCallV1 class OutsideExecutionCallV2 class OutsideExecutionMessage class OutsideExecutionMessageV1 class OutsideExecutionMessageV2 class OutsideExecutionTypedDataV2 class PedersenParams class PredeployedAccount class PythonicJsonEncoder class SessionMetadata class SessionToken class SessionTypedData class SierraCompiledContract class SierraConstructorAbiEntry class SierraContractAbiEntry class SierraEntryPoint class SierraEnumAbiEntry class SierraEventAbi class SierraEventAbiEntry class SierraEventAbiEnum class SierraEventAbiEnumVariant class SierraEventAbiInstance class SierraEventAbiStruct class SierraEventAbiStructMember class SierraFunctionAbiEntry class SierraImplAbiEntry class SierraInterfaceAbiEntry class SierraL1HandlerAbiEntry class SierraStructAbiEntry class Signature class Signer class SNIP12TypedParameter class StarkAccountSigner class StarknetChainId class StarkSigner class StructMember class TransactionHashPrefix class TypedData class TypedDataDomain class TypedParameter class Uint256 class VariantParameter ``` -------------------------------- ### Starknet: Signer Interface Source: https://pub.dev/documentation/starknet/latest/starknet/TransactionHashPrefix-class Defines the interface for Starknet signers, likely used for transaction authorization. Includes GUID for identification. ```Dart StarkSignerGUID ``` -------------------------------- ### Get String Representation of SierraContractAbiEntry (Dart) Source: https://pub.dev/documentation/starknet/latest/starknet/SierraL1HandlerAbiEntry-class The `toString` method provides a human-readable string representation of the SierraContractAbiEntry object, useful for debugging and logging. ```Dart String toString() ```