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