providers/classes/PrivateKeyProvider.md
A wallet provider over a private key. Always ready to sign: connect() / disconnect() only
toggle isConnected().
is connected
Example
const provider = new PrivateKeyProvider(process.env.PRIVATE_KEY!);
const signature = await provider.signMessage('Hello');
const signer = provider.getSigner(); // native GalaChain signing
Implements
wallet provider
Constructors
Constructor
new PrivateKeyProvider(
privateKey):PrivateKeyProvider
Parameters
| Parameter | Type | Description |
|---|---|---|
privateKey | string | 0x plus 64 hex digits, or the 64 digits (any case). |
Returns
PrivateKeyProvider
Throws
GalaSDKError INVALID_PRIVATE_KEY (bad_encoding, not_on_curve). The key is never
part of the error.
private key provider invalid bad encoding not on curve
Properties
| Property | Modifier | Type | Description |
|---|---|---|---|
providerType | readonly | WalletProviderType | Whether the provider holds a raw key (privateKey) or signs in a wallet (external). |
provider type wallet private key
Methods
connect()
connect():
Promise<string>
Marks the provider connected (it always can sign) and returns its account.
Returns
Promise<string>
Implementation of
wallet provider
disconnect()
disconnect():
Promise<void>
Marks the provider disconnected; it can still sign.
Returns
Promise<void>
Implementation of
wallet provider
exportPrivateKey()
exportPrivateKey():
string
The key, synchronously: 0x plus 64 lower-case hex digits. For code that must build its own
signer from it (an ethers Wallet) in a synchronous path.
Returns
string
export private key
getAddress()
getAddress():
Promise<string>
The key's account: 0x plus the EIP-55 digits.
Returns
Promise<string>
Implementation of
get address wallet provider
getGalaAddress()
getGalaAddress():
Promise<string>
The key's account as GalaChain spells it: eth| plus the EIP-55 digits.
Returns
Promise<string>
Implementation of
get gala address wallet provider
getPrivateKey()
getPrivateKey():
Promise<string>
The key: 0x plus 64 lower-case hex digits.
Returns
Promise<string>
Implementation of
get private key wallet provider
getSigner()
getSigner():
GalaChainSigner
The core PrivateKeySigner (native GalaChain signing) over this key.
Returns
Implementation of
get signer gala chain wallet provider
isConnected()
isConnected():
boolean
True until disconnect() (again after connect()).
Returns
boolean
Implementation of
is connected wallet provider
onAccountChanged()
onAccountChanged(
listener): () =>void
Calls listener with the account on connect() and null on disconnect().
Parameters
| Parameter | Type |
|---|---|
listener | AccountListener |
Returns
The function that stops the calls.
() => void
Implementation of
WalletProvider.onAccountChanged
on account changed listener wallet provider
signMessage()
signMessage(
message):Promise<string>
Signs message as personal_sign does (EIP-191 over its UTF-8 bytes).
Parameters
| Parameter | Type |
|---|---|
message | string |
Returns
Promise<string>
Throws
GalaSDKError SIGNING_FAILED for a message with a lone surrogate (it has no UTF-8
encoding; a wallet would sign U+FFFD instead of what was shown).
Implementation of
sign message personal signing failed wallet provider
signTypedData()
signTypedData(
domain,types,value):Promise<string>
Signs EIP-712 typed data (eth_signTypedData_v4) with core's encoder, which fails closed on a
value ethers would have coerced (TYPED_DATA_*).
Parameters
| Parameter | Type |
|---|---|
domain | TypedDataDomain |
types | Record<string, TypedDataField[]> |
value | Record<string, unknown> |
Returns
Promise<string>
Throws
GalaSDKError TYPED_DATA_* for typed data the encoder refuses, SIGNING_FAILED.
Implementation of
sign typed data eth v4 domain field signing failed wallet provider
fromWallet()
staticfromWallet(wallet):PrivateKeyProvider
A provider over the key an ethers Wallet (or any { privateKey }) holds.
Parameters
| Parameter | Type |
|---|---|
wallet | { privateKey: string; } |
wallet.privateKey | string |
Returns
PrivateKeyProvider
from wallet private key provider