Interface Account
-
- All Implemented Interfaces:
public interface Account
An account interface.
Implementers of this interface provide methods for signing transactions.
-
-
Method Summary
Modifier and Type Method Description InvokeTransactionV3
signV3(Call call, InvokeParamsV3 params, Boolean forFeeEstimate)
Sign a version 3 invoke transaction. InvokeTransactionV3
signV3(Call call, InvokeParamsV3 params)
Sign a version 3 invoke transaction. abstract InvokeTransactionV3
signV3(List<Call> calls, InvokeParamsV3 params, Boolean forFeeEstimate)
Sign multiple calls as a single version 3 invoke transaction. InvokeTransactionV3
signV3(List<Call> calls, InvokeParamsV3 params)
Sign multiple calls as a single version 3 invoke transaction. abstract DeployAccountTransactionV3
signDeployAccountV3(Felt classHash, List<Felt> calldata, Felt salt, DeployAccountParamsV3 params, Boolean forFeeEstimate)
Sign version 3 deploy account transaction. DeployAccountTransactionV3
signDeployAccountV3(Felt classHash, List<Felt> calldata, Felt salt, ResourceBoundsMapping resourceBounds, Boolean forFeeEstimate)
Sign version 3 deploy account transaction. DeployAccountTransactionV3
signDeployAccountV3(Felt classHash, List<Felt> calldata, Felt salt, ResourceBoundsMapping resourceBounds)
Sign version 3 deploy account transaction. abstract DeclareTransactionV3
signDeclareV3(Cairo1ContractDefinition sierraContractDefinition, CasmContractDefinition casmContractDefinition, DeclareParamsV3 params, Boolean forFeeEstimate)
Sign a version 3 declare transaction. DeclareTransactionV3
signDeclareV3(Cairo1ContractDefinition sierraContractDefinition, CasmContractDefinition casmContractDefinition, DeclareParamsV3 params)
Sign a version 3 declare transaction. abstract List<Felt>
signTypedData(TypedData typedData)
Sign TypedData for off-chain usage with this account privateKey abstract Request<Boolean>
verifyTypedDataSignature(TypedData typedData, List<Felt> signature)
Verify a signature of TypedData on Starknet abstract Request<InvokeFunctionResponse>
executeV3(List<Call> calls, ResourceBoundsMapping resourceBounds)
Execute a list of calls using version 3 invoke transaction. abstract Request<InvokeFunctionResponse>
executeV3(Call call, ResourceBoundsMapping resourceBounds)
Execute single call using version 3 invoke transaction. abstract Request<InvokeFunctionResponse>
executeV3(List<Call> calls, Double estimateAmountMultiplier, Double estimateUnitPriceMultiplier)
Execute a list of calls using version 3 invoke transaction with automatically estimated fee that will be multiplied by the specified multipliers when resource bounds are calculated. abstract Request<InvokeFunctionResponse>
executeV3(Call call, Double estimateAmountMultiplier, Double estimateUnitPriceMultiplier)
Execute single call using version 3 invoke transaction with automatically estimated fee that will be multiplied by the specified multipliers when resource bounds are calculated. abstract Request<InvokeFunctionResponse>
executeV3(List<Call> calls)
Execute a list of calls with automatically estimated fee using version 3 invoke transaction. abstract Request<InvokeFunctionResponse>
executeV3(Call call)
Execute single call with automatically estimated fee using version 3 invoke transaction. abstract Request<EstimateFeeResponseList>
estimateFeeV3(Call call)
Estimate fee for a call as a version 3 invoke transaction. abstract Request<EstimateFeeResponseList>
estimateFeeV3(Call call, Boolean skipValidate)
Estimate fee for a call as a version 3 invoke transaction. abstract Request<EstimateFeeResponseList>
estimateFeeV3(Call call, BlockTag blockTag)
Estimate fee for a call as a version 3 invoke transaction. abstract Request<EstimateFeeResponseList>
estimateFeeV3(Call call, BlockTag blockTag, Boolean skipValidate)
Estimate fee for a call as a version 3 invoke transaction. abstract Request<EstimateFeeResponseList>
estimateFeeV3(List<Call> calls)
Estimate fee for a list of calls as a version 3 invoke transaction. abstract Request<EstimateFeeResponseList>
estimateFeeV3(List<Call> calls, Boolean skipValidate)
Estimate fee for a list of calls as a version 3 invoke transaction. abstract Request<EstimateFeeResponseList>
estimateFeeV3(List<Call> calls, BlockTag blockTag)
Estimate fee for a list of calls. abstract Request<EstimateFeeResponseList>
estimateFeeV3(List<Call> calls, BlockTag blockTag, Boolean skipValidate)
Estimate fee for a list of calls. abstract Request<Boolean>
isValidOutsideExecutionNonce(Felt nonce)
Check is nonce valid for signOutsideExecutionCallV2 abstract Felt
getOutsideExecutionNonce()
Get nonce valid for signOutsideExecutionCallV2 abstract Felt
getOutsideExecutionNonce(Integer retryLimit)
Get nonce valid for signOutsideExecutionCallV2Method tries to generate random valid nonce see isValidOutsideExecutionNonce, using no more than retryLimit attempts abstract Call
signOutsideExecutionCallV2(Felt caller, Felt executeAfter, Felt executeBefore, List<Call> calls, Felt nonce)
abstract Call
signOutsideExecutionCallV2(Felt caller, Felt executeAfter, Felt executeBefore, Call call, Felt nonce)
abstract Call
signOutsideExecutionCallV2(Felt caller, Felt executeAfter, Felt executeBefore, List<Call> calls)
abstract Call
signOutsideExecutionCallV2(Felt caller, Felt executeAfter, Felt executeBefore, Call call)
abstract Request<Felt>
getNonce()
Get account nonce. abstract Request<Felt>
getNonce(BlockTag blockTag)
Get account nonce. abstract Request<Felt>
getNonce(Felt blockHash)
Get account nonce. abstract Request<Felt>
getNonce(Integer blockNumber)
Get account nonce. abstract Felt
getAddress()
abstract StarknetChainId
getChainId()
-
-
Method Detail
-
signV3
InvokeTransactionV3 signV3(Call call, InvokeParamsV3 params, Boolean forFeeEstimate)
Sign a version 3 invoke transaction.
Sign a transaction to be executed on Starknet.
- Parameters:
call
- a call to be signedparams
- additional execution parameters for the transactionforFeeEstimate
- when set totrue
, it changes the version to2^128+version
so the signed transaction can only be used for fee estimation
-
signV3
InvokeTransactionV3 signV3(Call call, InvokeParamsV3 params)
Sign a version 3 invoke transaction.
Sign a transaction to be executed on Starknet.
- Parameters:
call
- a call to be signedparams
- additional execution parameters for the transaction
-
signV3
abstract InvokeTransactionV3 signV3(List<Call> calls, InvokeParamsV3 params, Boolean forFeeEstimate)
Sign multiple calls as a single version 3 invoke transaction.
Sign a list of calls to be executed on Starknet.
- Parameters:
calls
- a list of calls to be signedparams
- additional execution parameters for the transactionforFeeEstimate
- when set totrue
, it changes the version to2^128+version
so the signed transaction can only be used for fee estimation
-
signV3
InvokeTransactionV3 signV3(List<Call> calls, InvokeParamsV3 params)
Sign multiple calls as a single version 3 invoke transaction.
Sign a list of calls to be executed on Starknet.
- Parameters:
calls
- a list of calls to be signedparams
- additional execution parameters for the transaction
-
signDeployAccountV3
abstract DeployAccountTransactionV3 signDeployAccountV3(Felt classHash, List<Felt> calldata, Felt salt, DeployAccountParamsV3 params, Boolean forFeeEstimate)
Sign version 3 deploy account transaction.
Sign a deploy account transaction that requires prefunding said account.
- Parameters:
classHash
- hash of the contract that will be deployedcalldata
- constructor calldata for the contract deploymentsalt
- salt used to calculate address of the new contractparams
- additional params for the transactionforFeeEstimate
- when set totrue
, it changes the version to2^128+version
so the signed transaction can only be used for fee estimation
-
signDeployAccountV3
DeployAccountTransactionV3 signDeployAccountV3(Felt classHash, List<Felt> calldata, Felt salt, ResourceBoundsMapping resourceBounds, Boolean forFeeEstimate)
Sign version 3 deploy account transaction.
Sign a deploy account transaction that requires prefunding deployed address.
- Parameters:
classHash
- hash of the contract that will be deployed.calldata
- constructor calldata for the contract deploymentsalt
- salt used to calculate address of the new contractresourceBounds
- resource bounds for the transaction executionforFeeEstimate
- when set totrue
, it changes the version to2^128+version
so the signed transaction can only be used for fee estimation
-
signDeployAccountV3
DeployAccountTransactionV3 signDeployAccountV3(Felt classHash, List<Felt> calldata, Felt salt, ResourceBoundsMapping resourceBounds)
Sign version 3 deploy account transaction.
Sign a deploy account transaction that requires prefunding deployed address.
- Parameters:
classHash
- hash of the contract that will be deployed.calldata
- constructor calldata for the contract deploymentsalt
- salt used to calculate address of the new contractresourceBounds
- resource bounds for the transaction execution
-
signDeclareV3
abstract DeclareTransactionV3 signDeclareV3(Cairo1ContractDefinition sierraContractDefinition, CasmContractDefinition casmContractDefinition, DeclareParamsV3 params, Boolean forFeeEstimate)
Sign a version 3 declare transaction.
Prepare and sign a version 3 declare transaction to be executed on Starknet.
- Parameters:
sierraContractDefinition
- a cairo 1/2 sierra compiled definition of the contract to be declaredcasmContractDefinition
- a casm representation of cairo 1/2 compiled contract to be declaredparams
- additional parameters for the transactionforFeeEstimate
- when set totrue
, it changes the version to2^128+version
so the signed transaction can only be used for fee estimation
-
signDeclareV3
DeclareTransactionV3 signDeclareV3(Cairo1ContractDefinition sierraContractDefinition, CasmContractDefinition casmContractDefinition, DeclareParamsV3 params)
Sign a version 3 declare transaction.
Prepare and sign a version 3 declare transaction to be executed on Starknet.
- Parameters:
sierraContractDefinition
- a cairo 1/2 sierra compiled definition of the contract to be declaredcasmContractDefinition
- a casm representation of cairo 1/2 compiled contract to be declaredparams
- additional parameters for the transaction
-
signTypedData
abstract List<Felt> signTypedData(TypedData typedData)
Sign TypedData for off-chain usage with this account privateKey
- Parameters:
typedData
- a TypedData instance to sign
-
verifyTypedDataSignature
abstract Request<Boolean> verifyTypedDataSignature(TypedData typedData, List<Felt> signature)
Verify a signature of TypedData on Starknet
- Parameters:
typedData
- a TypedData instance which signature will be verifiedsignature
- a signature of typedData
-
executeV3
abstract Request<InvokeFunctionResponse> executeV3(List<Call> calls, ResourceBoundsMapping resourceBounds)
Execute a list of calls using version 3 invoke transaction.
Execute list of calls on Starknet.
- Parameters:
calls
- a list of calls to be executed.resourceBounds
- resource bounds for the transaction execution
-
executeV3
abstract Request<InvokeFunctionResponse> executeV3(Call call, ResourceBoundsMapping resourceBounds)
Execute single call using version 3 invoke transaction.
Execute single call on Starknet.
- Parameters:
call
- a call to be executed.resourceBounds
- resource bounds for the transaction execution
-
executeV3
abstract Request<InvokeFunctionResponse> executeV3(List<Call> calls, Double estimateAmountMultiplier, Double estimateUnitPriceMultiplier)
Execute a list of calls using version 3 invoke transaction with automatically estimated fee that will be multiplied by the specified multipliers when resource bounds are calculated.
- Parameters:
calls
- a list of calls to be executed.estimateAmountMultiplier
- how big multiplier should be used for the estimated amount.estimateUnitPriceMultiplier
- how big multiplier should be used for the estimated unit price.
-
executeV3
abstract Request<InvokeFunctionResponse> executeV3(Call call, Double estimateAmountMultiplier, Double estimateUnitPriceMultiplier)
Execute single call using version 3 invoke transaction with automatically estimated fee that will be multiplied by the specified multipliers when resource bounds are calculated.
- Parameters:
call
- a call to be executed.estimateAmountMultiplier
- how big multiplier should be used for the estimated amount.estimateUnitPriceMultiplier
- how big multiplier should be used for the estimated unit price.
-
executeV3
abstract Request<InvokeFunctionResponse> executeV3(List<Call> calls)
Execute a list of calls with automatically estimated fee using version 3 invoke transaction.
- Parameters:
calls
- a list of calls to be executed.
-
executeV3
abstract Request<InvokeFunctionResponse> executeV3(Call call)
Execute single call with automatically estimated fee using version 3 invoke transaction.
- Parameters:
call
- a call to be executed.
-
estimateFeeV3
abstract Request<EstimateFeeResponseList> estimateFeeV3(Call call)
Estimate fee for a call as a version 3 invoke transaction.
Estimate fee for a signed call on Starknet.
- Parameters:
call
- a call used to estimate a fee.
-
estimateFeeV3
abstract Request<EstimateFeeResponseList> estimateFeeV3(Call call, Boolean skipValidate)
Estimate fee for a call as a version 3 invoke transaction.
Estimate fee for a signed call on Starknet.
- Parameters:
call
- a call used to estimate a fee.skipValidate
- when set totrue
, the validation part of the transaction is skipped.
-
estimateFeeV3
abstract Request<EstimateFeeResponseList> estimateFeeV3(Call call, BlockTag blockTag)
Estimate fee for a call as a version 3 invoke transaction.
Estimate fee for a signed call on Starknet for specified block tag.
- Parameters:
call
- a call used to estimate a fee.blockTag
- a tag of the block in respect to what the query will be made.
-
estimateFeeV3
abstract Request<EstimateFeeResponseList> estimateFeeV3(Call call, BlockTag blockTag, Boolean skipValidate)
Estimate fee for a call as a version 3 invoke transaction.
Estimate fee for a signed call on Starknet for specified block tag.
- Parameters:
call
- a call used to estimate a fee.blockTag
- a tag of the block in respect to what the query will be made.skipValidate
- when set totrue
, the validation part of the transaction is skipped.
-
estimateFeeV3
abstract Request<EstimateFeeResponseList> estimateFeeV3(List<Call> calls)
Estimate fee for a list of calls as a version 3 invoke transaction.
Estimate fee for a signed list of calls on Starknet.
- Parameters:
calls
- a list of calls used to estimate a fee.
-
estimateFeeV3
abstract Request<EstimateFeeResponseList> estimateFeeV3(List<Call> calls, Boolean skipValidate)
Estimate fee for a list of calls as a version 3 invoke transaction.
Estimate fee for a signed list of calls on Starknet.
- Parameters:
calls
- a list of calls used to estimate a fee.skipValidate
- when set totrue
, the validation part of the transaction is skipped.
-
estimateFeeV3
abstract Request<EstimateFeeResponseList> estimateFeeV3(List<Call> calls, BlockTag blockTag)
Estimate fee for a list of calls.
Estimate fee for a signed list of calls on Starknet.
- Parameters:
calls
- a list of calls used to estimate a fee.blockTag
- a tag of the block in respect to what the query will be made.
-
estimateFeeV3
abstract Request<EstimateFeeResponseList> estimateFeeV3(List<Call> calls, BlockTag blockTag, Boolean skipValidate)
Estimate fee for a list of calls.
Estimate fee for a signed list of calls on Starknet.
- Parameters:
calls
- a list of calls used to estimate a fee.blockTag
- a tag of the block in respect to what the query will be made.skipValidate
- when set totrue
, the validation part of the transaction is skipped.
-
isValidOutsideExecutionNonce
abstract Request<Boolean> isValidOutsideExecutionNonce(Felt nonce)
Check is nonce valid for signOutsideExecutionCallV2
- Parameters:
nonce
- nonce used for check.
-
getOutsideExecutionNonce
abstract Felt getOutsideExecutionNonce()
Get nonce valid for signOutsideExecutionCallV2
-
getOutsideExecutionNonce
abstract Felt getOutsideExecutionNonce(Integer retryLimit)
Get nonce valid for signOutsideExecutionCallV2
Method tries to generate random valid nonce see isValidOutsideExecutionNonce, using no more than retryLimit attempts
- Parameters:
retryLimit
- maximum attempts for generate
-
signOutsideExecutionCallV2
abstract Call signOutsideExecutionCallV2(Felt caller, Felt executeAfter, Felt executeBefore, List<Call> calls, Felt nonce)
- Parameters:
caller
- authorized executor of the transaction(s): Hex address or Felt.executeAfter
- unix second timestamp of the beginning of the timeframecalls
- the usual calls to be executed by the accountnonce
- this is different from the account’s usual nonce, it is used to prevent signature reuse across executions and doesn’t need to be incremental as long as it’s unique.
-
signOutsideExecutionCallV2
abstract Call signOutsideExecutionCallV2(Felt caller, Felt executeAfter, Felt executeBefore, Call call, Felt nonce)
- Parameters:
caller
- authorized executor of the transaction(s): Hex address or Felt.executeAfter
- unix second timestamp of the beginning of the timeframecall
- the usual call to be executed by the accountnonce
- this is different from the account’s usual nonce, it is used to prevent signature reuse across executions and doesn’t need to be incremental as long as it’s unique.
-
signOutsideExecutionCallV2
abstract Call signOutsideExecutionCallV2(Felt caller, Felt executeAfter, Felt executeBefore, List<Call> calls)
- Parameters:
caller
- authorized executor of the transaction(s): Hex address or Felt.executeAfter
- unix second timestamp of the beginning of the timeframecalls
- the usual calls to be executed by the account
-
signOutsideExecutionCallV2
abstract Call signOutsideExecutionCallV2(Felt caller, Felt executeAfter, Felt executeBefore, Call call)
- Parameters:
caller
- authorized executor of the transaction(s): Hex address or Felt.executeAfter
- unix second timestamp of the beginning of the timeframecall
- the usual call to be executed by the account
-
getNonce
abstract Request<Felt> getNonce(BlockTag blockTag)
Get account nonce.
Get account nonce for specified block tag.
- Parameters:
blockTag
- block tag used for returning this value.
-
getNonce
abstract Request<Felt> getNonce(Felt blockHash)
Get account nonce.
Get account nonce for specified block hash.
- Parameters:
blockHash
- block hash used for returning this value.
-
getNonce
abstract Request<Felt> getNonce(Integer blockNumber)
Get account nonce.
Get account nonce for specified block number.
- Parameters:
blockNumber
- block number used for returning this value.
-
getAddress
abstract Felt getAddress()
-
getChainId
abstract StarknetChainId getChainId()
-
-
-
-