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
| Parameter | Type |
|---|---|
account | Account |
chainInterface | StarknetChainInterface |
directory | string |
config? | StarknetPersistentSignerConfig |
Returns
StarknetPersistentSigner
Overrides
Properties
account
readonly account: Account;
Defined in: atomiq-chain-starknet/src/starknet/wallet/StarknetSigner.ts:82
Inherited from
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
Methods
getAddress()
getAddress(): string;
Defined in: atomiq-chain-starknet/src/starknet/wallet/StarknetSigner.ts:99
Returns
string
Inherit Doc
Inherited from
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
| Parameter | Type | Description |
|---|---|---|
starknetChainId | StarknetChainId | Starknet chain ID to use for the SNIP-12 message |
appName | string | Application name to differentiate reproducible entropy generated across different apps |
Returns
object
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
| Parameter | Type | Description |
|---|---|---|
transaction | StarknetTx | A 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
| Parameter | Type | Description |
|---|---|---|
tx | StarknetTx | A 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
| Parameter | Type | Description |
|---|---|---|
tx | StarknetTxDeployAccount |
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
| Parameter | Type | Description |
|---|---|---|
tx | StarknetTxInvoke |
Returns
Promise<string>
Inherited from
signDeployAccount()
protected signDeployAccount(tx): Promise<DeployAccountContractTransaction>;
Defined in: atomiq-chain-starknet/src/starknet/wallet/StarknetSigner.ts:141
Parameters
| Parameter | Type | Description |
|---|---|---|
tx | StarknetTxDeployAccount |
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
| Parameter | Type | Description |
|---|---|---|
tx | StarknetTxInvoke |
Returns
Promise<Invocation>