@novasamatech/product-sdk 0.7.9-0 → 0.7.9-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/accounts.d.ts +2 -2
- package/dist/accounts.js +50 -2
- package/dist/index.d.ts +1 -1
- package/package.json +2 -2
package/dist/accounts.d.ts
CHANGED
|
@@ -46,7 +46,7 @@ export declare const createAccountsProvider: (transport?: Transport) => {
|
|
|
46
46
|
* The factory is async because `PolkadotSigner.publicKey` must be a synchronous
|
|
47
47
|
* `Uint8Array` on the returned object — it is fetched up front via `host_account_get`.
|
|
48
48
|
*/
|
|
49
|
-
getProductAccountSigner(account: ProductAccount): PolkadotSigner;
|
|
49
|
+
getProductAccountSigner(account: ProductAccount, signerType?: "signPayload" | "createTransaction"): PolkadotSigner;
|
|
50
50
|
subscribeAccountConnectionStatus(callback: (status: AccountConnectionStatus) => void): Subscription<void>;
|
|
51
51
|
getLegacyAccountSigner(account: LegacyAccount): PolkadotSigner;
|
|
52
52
|
};
|
|
@@ -87,7 +87,7 @@ export declare const accounts: {
|
|
|
87
87
|
* The factory is async because `PolkadotSigner.publicKey` must be a synchronous
|
|
88
88
|
* `Uint8Array` on the returned object — it is fetched up front via `host_account_get`.
|
|
89
89
|
*/
|
|
90
|
-
getProductAccountSigner(account: ProductAccount): PolkadotSigner;
|
|
90
|
+
getProductAccountSigner(account: ProductAccount, signerType?: "signPayload" | "createTransaction"): PolkadotSigner;
|
|
91
91
|
subscribeAccountConnectionStatus(callback: (status: AccountConnectionStatus) => void): Subscription<void>;
|
|
92
92
|
getLegacyAccountSigner(account: LegacyAccount): PolkadotSigner;
|
|
93
93
|
};
|
package/dist/accounts.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CreateProofErr, GetUserIdErr, LoginErr, RequestCredentialsErr, RingLocation, SigningPayload, SigningPayloadWithoutAccount, SigningRawPayloadWithoutAccount, assertEnumVariant, createHostApi, enumValue, fromHex, isEnumVariant, toHex, } from '@novasamatech/host-api';
|
|
1
|
+
import { CreateProofErr, GetUserIdErr, LoginErr, RequestCredentialsErr, RingLocation, SigningPayload, SigningPayloadWithoutAccount, SigningRawPayload, SigningRawPayloadWithoutAccount, assertEnumVariant, createHostApi, enumValue, fromHex, isEnumVariant, toHex, } from '@novasamatech/host-api';
|
|
2
2
|
import { decAnyMetadata, unifyMetadata } from '@polkadot-api/substrate-bindings';
|
|
3
3
|
import { err, ok } from 'neverthrow';
|
|
4
4
|
import { getPolkadotSignerFromPjs } from 'polkadot-api/pjs-signer';
|
|
@@ -89,9 +89,57 @@ export const createAccountsProvider = (transport = sandboxTransport) => {
|
|
|
89
89
|
* The factory is async because `PolkadotSigner.publicKey` must be a synchronous
|
|
90
90
|
* `Uint8Array` on the returned object — it is fetched up front via `host_account_get`.
|
|
91
91
|
*/
|
|
92
|
-
getProductAccountSigner(account) {
|
|
92
|
+
getProductAccountSigner(account, signerType = 'signPayload') {
|
|
93
93
|
const hostApi = createHostApi(transport);
|
|
94
94
|
const productAccountId = [account.dotNsIdentifier, account.derivationIndex];
|
|
95
|
+
/**
|
|
96
|
+
* @deprecated added for backward compatibility
|
|
97
|
+
*/
|
|
98
|
+
if (signerType === 'signPayload') {
|
|
99
|
+
return getPolkadotSignerFromPjs(toHex(account.publicKey), async (payload) => {
|
|
100
|
+
const codecPayload = {
|
|
101
|
+
account: [account.dotNsIdentifier, account.derivationIndex],
|
|
102
|
+
payload: buildSigningPayloadFields(payload),
|
|
103
|
+
};
|
|
104
|
+
const response = await hostApi.signPayload(enumValue('v1', codecPayload));
|
|
105
|
+
return response.match(response => {
|
|
106
|
+
assertEnumVariant(response, 'v1', UNSUPPORTED_VERSION_ERROR);
|
|
107
|
+
return {
|
|
108
|
+
id: 0,
|
|
109
|
+
signature: response.value.signature,
|
|
110
|
+
signedTransaction: response.value.signedTransaction,
|
|
111
|
+
};
|
|
112
|
+
}, err => {
|
|
113
|
+
assertEnumVariant(err, 'v1', UNSUPPORTED_VERSION_ERROR);
|
|
114
|
+
throw err.value;
|
|
115
|
+
});
|
|
116
|
+
}, async (raw) => {
|
|
117
|
+
const payload = {
|
|
118
|
+
account: [account.dotNsIdentifier, account.derivationIndex],
|
|
119
|
+
payload: raw.type === 'bytes'
|
|
120
|
+
? {
|
|
121
|
+
tag: 'Bytes',
|
|
122
|
+
value: fromHex(asHex(raw.data)),
|
|
123
|
+
}
|
|
124
|
+
: {
|
|
125
|
+
tag: 'Payload',
|
|
126
|
+
value: raw.data,
|
|
127
|
+
},
|
|
128
|
+
};
|
|
129
|
+
const response = await hostApi.signRaw(enumValue('v1', payload));
|
|
130
|
+
return response.match(response => {
|
|
131
|
+
assertEnumVariant(response, 'v1', UNSUPPORTED_VERSION_ERROR);
|
|
132
|
+
return {
|
|
133
|
+
id: 0,
|
|
134
|
+
signature: response.value.signature,
|
|
135
|
+
signedTransaction: response.value.signedTransaction,
|
|
136
|
+
};
|
|
137
|
+
}, err => {
|
|
138
|
+
assertEnumVariant(err, 'v1', UNSUPPORTED_VERSION_ERROR);
|
|
139
|
+
throw err.value;
|
|
140
|
+
});
|
|
141
|
+
});
|
|
142
|
+
}
|
|
95
143
|
return {
|
|
96
144
|
publicKey: account.publicKey,
|
|
97
145
|
async signTx(callData, signedExtensions, metadata) {
|
package/dist/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export type { ChatBotRegistrationResult, ChatCustomMessageRenderer, ChatCustomMe
|
|
|
8
8
|
export { createProductChatManager, matchChatCustomRenderers } from './chat.js';
|
|
9
9
|
export type { ProductAccountId, SignedStatement, Statement, StatementTopicFilter, StatementsPage, Topic, } from './statementStore.js';
|
|
10
10
|
export { createStatementStore } from './statementStore.js';
|
|
11
|
-
export type { AccountConnectionStatus, ProductAccount } from './accounts.js';
|
|
11
|
+
export type { AccountConnectionStatus, LegacyAccount, ProductAccount } from './accounts.js';
|
|
12
12
|
export { accounts, createAccountsProvider } from './accounts.js';
|
|
13
13
|
export type { ThemeMode } from './theme.js';
|
|
14
14
|
export { createThemeProvider } from './theme.js';
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@novasamatech/product-sdk",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.7.9-
|
|
4
|
+
"version": "0.7.9-1",
|
|
5
5
|
"description": "Polkadot product SDK: integrate and run your product inside Polkadot browser.",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"repository": {
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"@polkadot/extension-inject": "^0.63.1",
|
|
29
29
|
"@polkadot-api/json-rpc-provider-proxy": "^0.4.0",
|
|
30
30
|
"@polkadot-api/substrate-bindings": "^0.20.2",
|
|
31
|
-
"@novasamatech/host-api": "0.7.9-
|
|
31
|
+
"@novasamatech/host-api": "0.7.9-1",
|
|
32
32
|
"polkadot-api": ">=2",
|
|
33
33
|
"neverthrow": "^8.2.0"
|
|
34
34
|
},
|