Class: Polymesh
api/client/Polymesh.Polymesh
Main entry point of the Polymesh SDK
Properties
accountManagement
• accountManagement: AccountManagement
A set of methods for managing a Polymesh Identity's Accounts and their permissions
Defined in
assets
• assets: Assets
A set of methods for interacting with Assets
Defined in
claims
• claims: Claims
A set of methods to deal with Claims
Defined in
identities
• identities: Identities
A set of methods for interacting with Polymesh Identities.
Defined in
network
• network: Network
A set of methods to interact with the Polymesh network. This includes transferring POLYX, reading network properties and querying for historical events
Defined in
settlements
• settlements: Settlements
A set of methods for exchanging Assets
Defined in
Accessors
_middlewareApi
• get
_middlewareApi(): ApolloClient
<NormalizedCacheObject
>
Middleware client
Returns
ApolloClient
<NormalizedCacheObject
>
_middlewareApiV2
• get
_middlewareApiV2(): ApolloClient
<NormalizedCacheObject
>
MiddlewareV2 client
Returns
ApolloClient
<NormalizedCacheObject
>
_polkadotApi
• get
_polkadotApi(): ApiPromise
Polkadot client
Returns
ApiPromise
_signingAddress
• get
_signingAddress(): string
signing address (to manually submit transactions with the polkadot API)
Returns
string
Methods
createTransactionBatch
▸ createTransactionBatch<ReturnValues
>(args
, opts?
): Promise
<GenericPolymeshTransaction
<ReturnValues
, ReturnValues
>>
Create a batch transaction from a list of separate transactions. The list can contain batch transactions as well.
The result of running this transaction will be an array of the results of each transaction in the list, in the same order.
Transactions with no return value will produce undefined
in the resulting array
Example
Batching 3 ticker reservation transactions
const tx1 = await sdk.assets.reserveTicker({ ticker: 'FOO' });
const tx2 = await sdk.assets.reserveTicker({ ticker: 'BAR' });
const tx3 = await sdk.assets.reserveTicker({ ticker: 'BAZ' });
const batch = sdk.createTransactionBatch({ transactions: [tx1, tx2, tx3] as const });
const [res1, res2, res3] = await batch.run();
Example
Specifying the signer account for the whole batch
const batch = sdk.createTransactionBatch({ transactions: [tx1, tx2, tx3] as const }, { signingAccount: 'someAddress' });
const [res1, res2, res3] = await batch.run();
Note
it is mandatory to use the as const
type assertion when passing in the transaction array to the method in order to get the correct types
for the results of running the batch
Note
if a signing Account is not specified, the default one will be used (the one returned by sdk.accountManagement.getSigningAccount()
)
Note
all fees in the resulting batch must be paid by the calling Account, regardless of any exceptions that would normally be made for the individual transactions (such as subsidies or accepting invitations to join an Identity)
Note
this method is of type CreateTransactionBatchProcedureMethod, which means you can call createTransactionBatch.checkAuthorization on it to see whether the signing Account and Identity have the required roles and permissions to run it
Type parameters
Name | Type |
---|---|
ReturnValues | extends readonly unknown [] |
Parameters
Name | Type |
---|---|
args | CreateTransactionBatchParams <ReturnValues > |
opts? | ProcedureOpts |
Returns
Promise
<GenericPolymeshTransaction
<ReturnValues
, ReturnValues
>>
disconnect
▸ disconnect(): Promise
<void
>
Disconnect the client and close all open connections and subscriptions
Note
the SDK will become unusable after this operation. It will throw an error when attempting to access any chain or middleware data. If you wish to continue using the SDK, you must create a new instance by calling connect
Returns
Promise
<void
>
getSigningIdentity
▸ getSigningIdentity(): Promise
<null
| Identity
>
Retrieve the Identity associated to the signing Account (null if there is none)
Throws
if there is no signing Account associated to the SDK
Returns
Promise
<null
| Identity
>
onConnectionError
▸ onConnectionError(callback
): UnsubCallback
Handle connection errors
Parameters
Name | Type |
---|---|
callback | (...args : unknown []) => unknown |
Returns
an unsubscribe callback
onDisconnect
▸ onDisconnect(callback
): UnsubCallback
Handle disconnection
Parameters
Name | Type |
---|---|
callback | (...args : unknown []) => unknown |
Returns
an unsubscribe callback
setSigningAccount
▸ setSigningAccount(signer
): Promise
<void
>
Set the SDK's signing Account to the provided one
Throws
if the passed Account is not present in the Signing Manager (or there is no Signing Manager)
Parameters
Name | Type |
---|---|
signer | string | Account |
Returns
Promise
<void
>
setSigningManager
▸ setSigningManager(signingManager
): Promise
<void
>
Set the SDK's Signing Manager to the provided one.
Note
Pass null
to unset the current signing manager
Parameters
Name | Type |
---|---|
signingManager | null | SigningManager |
Returns
Promise
<void
>
connect
▸ Static
connect(params
): Promise
<Polymesh
>
Create an SDK instance and connect to a Polymesh node
Parameters
Name | Type |
---|---|
params | ConnectParams |
Returns
Promise
<Polymesh
>