Skip to main content

StarknetPersistentSigner

Defined in: atomiq-chain-starknet/src/starknet/wallet/StarknetPersistentSigner.ts:54

A complex starknet signer implementation with internal nonce management, with race condition preventions, automatic transaction rebroadcasting and failovers. Uses the NodeJS fs library to persist transaction data across application restarts, hence this doesn't work on frontends and is intended to be used as a robust backend wallet implementation.

Extends

Constructors

Constructor

new StarknetPersistentSigner(
account,
chainInterface,
directory,
config?): StarknetPersistentSigner;

Defined in: atomiq-chain-starknet/src/starknet/wallet/StarknetPersistentSigner.ts:76

Parameters

ParameterType
accountAccount
chainInterfaceStarknetChainInterface
directorystring
config?StarknetPersistentSignerConfig

Returns

StarknetPersistentSigner

Overrides

StarknetSigner.constructor

Properties

account

readonly account: Account;

Defined in: atomiq-chain-starknet/src/starknet/wallet/StarknetSigner.ts:82

Inherited from

StarknetSigner.account


isManagingNoncesInternally

readonly isManagingNoncesInternally: boolean;

Defined in: atomiq-chain-starknet/src/starknet/wallet/StarknetSigner.ts:81

Inherited from

StarknetSigner.isManagingNoncesInternally


type

type: "AtomiqAbstractSigner";

Defined in: atomiq-chain-starknet/src/starknet/wallet/StarknetSigner.ts:79

Inherited from

StarknetSigner.type

Methods

getAddress()

getAddress(): string;

Defined in: atomiq-chain-starknet/src/starknet/wallet/StarknetSigner.ts:99

Returns

string

Inherit Doc

Inherited from

StarknetSigner.getAddress


getDeployPayload()

getDeployPayload(): Promise<any>;

Defined in: atomiq-chain-starknet/src/starknet/wallet/StarknetSigner.ts:187

Returns the payload for deploying the signer account's contract on Starknet

Returns

Promise<any>

Inherited from

StarknetSigner.getDeployPayload


getReproducibleEntropyMessage()

static getReproducibleEntropyMessage(starknetChainId, appName): object;

Defined in: atomiq-chain-starknet/src/starknet/wallet/StarknetSigner.ts:49

Returns a SNIP-12 message to be signed for extracting reproducible entropy. Works when wallets use signing with deterministic nonce, such that signature over the same message always yields the same signature (same entropy).

Parameters

ParameterTypeDescription
starknetChainIdStarknetChainIdStarknet chain ID to use for the SNIP-12 message
appNamestringApplication name to differentiate reproducible entropy generated across different apps

Returns

object

NameTypeDefault valueDefined in
domainobject-atomiq-chain-starknet/src/starknet/wallet/StarknetSigner.ts:66
domain.chainIdany-atomiq-chain-starknet/src/starknet/wallet/StarknetSigner.ts:69
domain.namestringappNameatomiq-chain-starknet/src/starknet/wallet/StarknetSigner.ts:67
domain.revisionstring'1'atomiq-chain-starknet/src/starknet/wallet/StarknetSigner.ts:70
domain.versionstring'1'atomiq-chain-starknet/src/starknet/wallet/StarknetSigner.ts:68
messageobject-atomiq-chain-starknet/src/starknet/wallet/StarknetSigner.ts:72
message.Messagestringmessageatomiq-chain-starknet/src/starknet/wallet/StarknetSigner.ts:73
message.Warningstringwarningatomiq-chain-starknet/src/starknet/wallet/StarknetSigner.ts:74
primaryTypestring'Message'atomiq-chain-starknet/src/starknet/wallet/StarknetSigner.ts:65
typesobject-atomiq-chain-starknet/src/starknet/wallet/StarknetSigner.ts:53
types.Messageobject[]-atomiq-chain-starknet/src/starknet/wallet/StarknetSigner.ts:60
types.StarknetDomainobject[]-atomiq-chain-starknet/src/starknet/wallet/StarknetSigner.ts:54

Inherited from

StarknetSigner.getReproducibleEntropyMessage


init()

init(): Promise<void>;

Defined in: atomiq-chain-starknet/src/starknet/wallet/StarknetPersistentSigner.ts:295

Returns

Promise<void>

Inherit Doc


sendTransaction()

sendTransaction(transaction, onBeforePublish?): Promise<string>;

Defined in: atomiq-chain-starknet/src/starknet/wallet/StarknetPersistentSigner.ts:331

Signs and sends the starknet transaction, the onBeforePublish callback is called after the transaction is signed and before it is broadcast. Ensures that transactions are always sent in order by using a "single-threaded" promise queue, and no nonce collision happen.

Parameters

ParameterTypeDescription
transactionStarknetTxA transaction to sign and send
onBeforePublish?(txId, rawTx) => Promise<void>A callback that is called before the transaction gets broadcasted

Returns

Promise<string>

Overrides

StarknetSigner.sendTransaction


signTransaction()?

optional signTransaction(tx): Promise<StarknetTx>;

Defined in: atomiq-chain-starknet/src/starknet/wallet/StarknetSigner.ts:124

Signs the provided starknet transaction and returns its signed version

Parameters

ParameterTypeDescription
txStarknetTxA starknet transaction to sign

Returns

Promise<StarknetTx>

Inherited from

StarknetSigner.signTransaction


stop()

stop(): Promise<void>;

Defined in: atomiq-chain-starknet/src/starknet/wallet/StarknetPersistentSigner.ts:312

Returns

Promise<void>

Inherit Doc


sendDeployAccount()

protected sendDeployAccount(tx): Promise<string>;

Defined in: atomiq-chain-starknet/src/starknet/wallet/StarknetSigner.ts:179

Parameters

ParameterTypeDescription
txStarknetTxDeployAccount

Returns

Promise<string>

Inherited from

StarknetSigner.sendDeployAccount


sendInvoke()

protected sendInvoke(tx): Promise<string>;

Defined in: atomiq-chain-starknet/src/starknet/wallet/StarknetSigner.ts:169

Parameters

ParameterTypeDescription
txStarknetTxInvoke

Returns

Promise<string>

Inherited from

StarknetSigner.sendInvoke


signDeployAccount()

protected signDeployAccount(tx): Promise<DeployAccountContractTransaction>;

Defined in: atomiq-chain-starknet/src/starknet/wallet/StarknetSigner.ts:141

Parameters

ParameterTypeDescription
txStarknetTxDeployAccount

Returns

Promise<DeployAccountContractTransaction>

Inherited from

StarknetSigner.signDeployAccount


signInvoke()

protected signInvoke(tx): Promise<Invocation>;

Defined in: atomiq-chain-starknet/src/starknet/wallet/StarknetSigner.ts:133

Parameters

ParameterTypeDescription
txStarknetTxInvoke

Returns

Promise<Invocation>

Inherited from

StarknetSigner.signInvoke