@docknetwork/wallet-sdk-wasm 1.5.6 → 1.5.9
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/lib/{account-bf00e5c0.js → account-357ab05d.js} +1 -23
- package/lib/{account-e48dc9b6.js → account-399e6053.js} +1 -23
- package/lib/index.js +0 -9
- package/lib/index.mjs +0 -9
- package/lib/modules/account.js +5 -12
- package/lib/modules/account.mjs +5 -12
- package/lib/modules/accounts.js +4 -11
- package/lib/modules/accounts.mjs +4 -11
- package/lib/modules/network-manager.js +4 -4
- package/lib/modules/network-manager.mjs +4 -4
- package/lib/modules/wallet.js +1 -8
- package/lib/modules/wallet.mjs +1 -8
- package/lib/rpc-server.js +0 -9
- package/lib/rpc-server.mjs +0 -9
- package/lib/services/blockchain/index.js +0 -2
- package/lib/services/blockchain/index.mjs +0 -2
- package/lib/services/blockchain/service.js +33 -74
- package/lib/services/blockchain/service.mjs +34 -75
- package/lib/services/credential/bbs-revocation.js +0 -2
- package/lib/services/credential/bbs-revocation.mjs +0 -2
- package/lib/services/credential/index.js +0 -2
- package/lib/services/credential/index.mjs +0 -2
- package/lib/services/credential/service.js +0 -2
- package/lib/services/credential/service.mjs +0 -2
- package/lib/services/dids/index.js +0 -2
- package/lib/services/dids/index.mjs +0 -2
- package/lib/services/dids/service.js +1 -3
- package/lib/services/dids/service.mjs +1 -3
- package/lib/services/edv/hmac.js +1 -2
- package/lib/services/edv/hmac.mjs +1 -2
- package/lib/services/edv/index.js +1 -3
- package/lib/services/edv/index.mjs +1 -3
- package/lib/services/edv/service-rpc.js +4 -0
- package/lib/services/edv/service-rpc.mjs +4 -0
- package/lib/services/edv/service.js +9 -6
- package/lib/services/edv/service.mjs +9 -5
- package/lib/services/index.js +0 -12
- package/lib/services/index.mjs +0 -12
- package/lib/services/pex/service.js +2 -1
- package/lib/services/pex/service.mjs +2 -1
- package/lib/services/test-utils.js +3 -198
- package/lib/services/test-utils.mjs +4 -194
- package/lib/setup-nodejs.js +0 -9
- package/lib/setup-nodejs.mjs +0 -9
- package/lib/setup-tests.js +0 -9
- package/lib/setup-tests.mjs +0 -9
- package/lib/src/modules/accounts.d.ts +0 -1
- package/lib/src/modules/accounts.d.ts.map +1 -1
- package/lib/src/services/blockchain/service.d.ts +7 -3
- package/lib/src/services/blockchain/service.d.ts.map +1 -1
- package/lib/src/services/edv/hmac.d.ts +1 -1
- package/lib/src/services/edv/hmac.d.ts.map +1 -1
- package/lib/src/services/edv/service.d.ts +3 -1
- package/lib/src/services/edv/service.d.ts.map +1 -1
- package/lib/src/services/pex/service.d.ts.map +1 -1
- package/lib/test/setup-test-state.js +8 -20
- package/lib/test/setup-test-state.mjs +8 -20
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -8
- package/src/modules/accounts.test.js +0 -25
- package/src/modules/accounts.ts +0 -33
- package/src/modules/data-migration.test.js +0 -11
- package/src/modules/network-manager.ts +4 -4
- package/src/modules/wallet.test.js +0 -11
- package/src/modules/wallet.ts +1 -1
- package/src/services/blockchain/index.test.js +4 -15
- package/src/services/blockchain/service.ts +38 -98
- package/src/services/dids/index.test.js +1 -1
- package/src/services/dids/service.ts +1 -1
- package/src/services/edv/hmac.ts +2 -3
- package/src/services/edv/index.test.js +7 -2
- package/src/services/edv/service-rpc.js +4 -0
- package/src/services/edv/service.ts +9 -3
- package/src/services/index.js +0 -4
- package/src/services/pex/service.ts +7 -1
- package/src/services/test-utils.js +0 -178
- package/src/test/setup-test-state.js +1 -3
- package/lib/services/substrate/api-utils.js +0 -85
- package/lib/services/substrate/api-utils.mjs +0 -74
- package/lib/services/substrate/configs.js +0 -30
- package/lib/services/substrate/configs.mjs +0 -21
- package/lib/services/substrate/index.android.js +0 -22
- package/lib/services/substrate/index.android.mjs +0 -18
- package/lib/services/substrate/index.ios.js +0 -22
- package/lib/services/substrate/index.ios.mjs +0 -18
- package/lib/services/substrate/index.js +0 -37
- package/lib/services/substrate/index.mjs +0 -29
- package/lib/services/substrate/service-rpc.js +0 -37
- package/lib/services/substrate/service-rpc.mjs +0 -33
- package/lib/services/substrate/service.js +0 -115
- package/lib/services/substrate/service.mjs +0 -102
- package/lib/services/trust-registry/configs.js +0 -25
- package/lib/services/trust-registry/configs.mjs +0 -16
- package/lib/services/trust-registry/index.android.js +0 -19
- package/lib/services/trust-registry/index.android.mjs +0 -15
- package/lib/services/trust-registry/index.ios.js +0 -19
- package/lib/services/trust-registry/index.ios.mjs +0 -15
- package/lib/services/trust-registry/index.js +0 -33
- package/lib/services/trust-registry/index.mjs +0 -25
- package/lib/services/trust-registry/service-rpc.js +0 -29
- package/lib/services/trust-registry/service-rpc.mjs +0 -25
- package/lib/services/trust-registry/service.js +0 -89
- package/lib/services/trust-registry/service.mjs +0 -85
- package/lib/src/services/substrate/api-utils.d.ts +0 -14
- package/lib/src/services/substrate/api-utils.d.ts.map +0 -1
- package/lib/src/services/substrate/configs.d.ts +0 -16
- package/lib/src/services/substrate/configs.d.ts.map +0 -1
- package/lib/src/services/substrate/index.d.ts +0 -2
- package/lib/src/services/substrate/index.d.ts.map +0 -1
- package/lib/src/services/substrate/service.d.ts +0 -13
- package/lib/src/services/substrate/service.d.ts.map +0 -1
- package/lib/src/services/trust-registry/configs.d.ts +0 -6
- package/lib/src/services/trust-registry/configs.d.ts.map +0 -1
- package/lib/src/services/trust-registry/service.d.ts +0 -25
- package/lib/src/services/trust-registry/service.d.ts.map +0 -1
- package/src/services/substrate/api-utils.test.js +0 -73
- package/src/services/substrate/api-utils.ts +0 -66
- package/src/services/substrate/configs.ts +0 -34
- package/src/services/substrate/index.android.js +0 -3
- package/src/services/substrate/index.ios.js +0 -3
- package/src/services/substrate/index.js +0 -1
- package/src/services/substrate/index.test.js +0 -116
- package/src/services/substrate/service-rpc.js +0 -24
- package/src/services/substrate/service.ts +0 -117
- package/src/services/trust-registry/configs.ts +0 -14
- package/src/services/trust-registry/index.android.js +0 -3
- package/src/services/trust-registry/index.ios.js +0 -3
- package/src/services/trust-registry/index.js +0 -1
- package/src/services/trust-registry/index.test.js +0 -67
- package/src/services/trust-registry/service-rpc.js +0 -15
- package/src/services/trust-registry/service.ts +0 -94
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
import {cryptoWaitReady} from '@polkadot/util-crypto';
|
|
2
2
|
import assert from 'assert';
|
|
3
|
-
import BigNumber from 'bignumber.js';
|
|
4
|
-
import {DOCK_TOKEN_UNIT} from '../core/format-utils';
|
|
5
3
|
import {TestFixtures} from '../fixtures';
|
|
6
4
|
import {NetworkManager} from '../modules/network-manager';
|
|
7
5
|
import {keyringService} from './keyring';
|
|
8
6
|
import {RpcService} from './rpc-service-client';
|
|
9
7
|
import {walletService} from './wallet';
|
|
10
|
-
import Keyring from '@polkadot/keyring';
|
|
11
|
-
import {blockchainService} from './blockchain/service';
|
|
12
8
|
|
|
13
9
|
export async function initializeWalletService() {
|
|
14
10
|
await cryptoWaitReady();
|
|
@@ -34,105 +30,6 @@ export const TEST_SCHEMA_METADATA = {
|
|
|
34
30
|
},
|
|
35
31
|
};
|
|
36
32
|
|
|
37
|
-
let mockTransactionError;
|
|
38
|
-
|
|
39
|
-
export const setMockTransactionError = error => {
|
|
40
|
-
mockTransactionError = error;
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
export async function mockDockService() {
|
|
44
|
-
await cryptoWaitReady();
|
|
45
|
-
|
|
46
|
-
await keyringService.initialize({
|
|
47
|
-
ss58Format: NetworkManager.getInstance().getNetworkInfo().addressPrefix,
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
let sdkMock;
|
|
51
|
-
|
|
52
|
-
if (API_MOCK_DISABLED) {
|
|
53
|
-
return blockchainService.init({
|
|
54
|
-
address: NetworkManager.getInstance().getNetworkInfo().substrateUrl,
|
|
55
|
-
});
|
|
56
|
-
} else {
|
|
57
|
-
sdkMock = mockDockSdkConnection();
|
|
58
|
-
await blockchainService.init({
|
|
59
|
-
address: NetworkManager.getInstance().getNetworkInfo().substrateUrl,
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
const _dockSdk = blockchainService.dock;
|
|
64
|
-
|
|
65
|
-
blockchainService.isDockReady = true;
|
|
66
|
-
|
|
67
|
-
blockchainService.dock = {
|
|
68
|
-
api: {
|
|
69
|
-
events: {
|
|
70
|
-
system: {
|
|
71
|
-
ExtrinsicFailed: {
|
|
72
|
-
is: event => !!mockTransactionError,
|
|
73
|
-
},
|
|
74
|
-
},
|
|
75
|
-
},
|
|
76
|
-
query: {
|
|
77
|
-
system: {
|
|
78
|
-
account: jest.fn().mockImplementation(() => ({
|
|
79
|
-
data: {
|
|
80
|
-
free: BigNumber(TestFixtures.account1.balance * DOCK_TOKEN_UNIT),
|
|
81
|
-
},
|
|
82
|
-
})),
|
|
83
|
-
},
|
|
84
|
-
},
|
|
85
|
-
revocation: {
|
|
86
|
-
getIsRevoked: jest.fn().mockImplementation(() => false),
|
|
87
|
-
},
|
|
88
|
-
tx: {
|
|
89
|
-
balances: {
|
|
90
|
-
transfer: jest.fn().mockImplementation(() => ({
|
|
91
|
-
paymentInfo: () => ({
|
|
92
|
-
partialFee: BigNumber(TEST_FEE_AMOUNT * DOCK_TOKEN_UNIT),
|
|
93
|
-
}),
|
|
94
|
-
signAndSend: (account, callback) => {
|
|
95
|
-
callback({
|
|
96
|
-
status: {
|
|
97
|
-
isInBlock: true,
|
|
98
|
-
isFinalized: true,
|
|
99
|
-
toHex: () => 'hash',
|
|
100
|
-
},
|
|
101
|
-
events: [
|
|
102
|
-
{
|
|
103
|
-
event: {
|
|
104
|
-
data: [mockTransactionError],
|
|
105
|
-
},
|
|
106
|
-
},
|
|
107
|
-
],
|
|
108
|
-
});
|
|
109
|
-
|
|
110
|
-
return Promise.resolve({});
|
|
111
|
-
},
|
|
112
|
-
})),
|
|
113
|
-
},
|
|
114
|
-
},
|
|
115
|
-
},
|
|
116
|
-
trustRegistry: {
|
|
117
|
-
registriesInfo: jest.fn().mockImplementation(() => TEST_TRUST_REGISTRIES),
|
|
118
|
-
registrySchemasMetadata: jest
|
|
119
|
-
.fn()
|
|
120
|
-
.mockImplementation(() => TEST_SCHEMA_METADATA),
|
|
121
|
-
},
|
|
122
|
-
init: jest.fn().mockImplementation(() => Promise.resolve({})),
|
|
123
|
-
disconnect: jest.fn(),
|
|
124
|
-
setAccount: jest.fn(),
|
|
125
|
-
};
|
|
126
|
-
|
|
127
|
-
return () => {
|
|
128
|
-
blockchainService.dock = _dockSdk;
|
|
129
|
-
if (sdkMock) {
|
|
130
|
-
sdkMock.clear();
|
|
131
|
-
}
|
|
132
|
-
blockchainService.disconnect();
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
|
|
136
33
|
let walletCreated;
|
|
137
34
|
|
|
138
35
|
export async function setupTestWallet() {
|
|
@@ -162,81 +59,6 @@ export async function setupTestWallet() {
|
|
|
162
59
|
walletCreated = true;
|
|
163
60
|
}
|
|
164
61
|
|
|
165
|
-
export function mockDockSdkConnection(connectionError) {
|
|
166
|
-
const result = 'result';
|
|
167
|
-
const dock = blockchainService.dock;
|
|
168
|
-
const mocks = [
|
|
169
|
-
jest.spyOn(dock, 'init').mockImplementation(() => {
|
|
170
|
-
if (connectionError) {
|
|
171
|
-
return Promise.reject(connectionError);
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
return Promise.resolve(result);
|
|
175
|
-
}),
|
|
176
|
-
jest.spyOn(dock, 'disconnect').mockReturnValue(Promise.resolve(true)),
|
|
177
|
-
];
|
|
178
|
-
|
|
179
|
-
let currentAccount;
|
|
180
|
-
|
|
181
|
-
blockchainService.dock = {
|
|
182
|
-
...dock,
|
|
183
|
-
setAccount(account) {
|
|
184
|
-
currentAccount = account;
|
|
185
|
-
},
|
|
186
|
-
did: {
|
|
187
|
-
new: () => {
|
|
188
|
-
if (
|
|
189
|
-
currentAccount &&
|
|
190
|
-
currentAccount.address === TestFixtures.noBalanceAccount.address
|
|
191
|
-
) {
|
|
192
|
-
throw new Error(
|
|
193
|
-
'1010: Invalid Transaction: Inability to pay some fees , e.g. account balance too low',
|
|
194
|
-
);
|
|
195
|
-
}
|
|
196
|
-
return {
|
|
197
|
-
txHash: 'hash',
|
|
198
|
-
};
|
|
199
|
-
},
|
|
200
|
-
getDocument: () => ({
|
|
201
|
-
'@context': ['https://www.w3.org/ns/did/v1'],
|
|
202
|
-
assertionMethod: [
|
|
203
|
-
'did:dock:5HL5XB7CHcHT2ZUKjY2SCJvDAK11qoa1exgfVnVTHRbmjJQi#keys-1',
|
|
204
|
-
],
|
|
205
|
-
authentication: [
|
|
206
|
-
'did:dock:5HL5XB7CHcHT2ZUKjY2SCJvDAK11qoa1exgfVnVTHRbmjJQi#keys-1',
|
|
207
|
-
],
|
|
208
|
-
capabilityInvocation: [
|
|
209
|
-
'did:dock:5HL5XB7CHcHT2ZUKjY2SCJvDAK11qoa1exgfVnVTHRbmjJQi#keys-1',
|
|
210
|
-
],
|
|
211
|
-
controller: [
|
|
212
|
-
'did:dock:5HL5XB7CHcHT2ZUKjY2SCJvDAK11qoa1exgfVnVTHRbmjJQi',
|
|
213
|
-
],
|
|
214
|
-
id: 'did:dock:5HL5XB7CHcHT2ZUKjY2SCJvDAK11qoa1exgfVnVTHRbmjJQi',
|
|
215
|
-
publicKey: [
|
|
216
|
-
{
|
|
217
|
-
controller:
|
|
218
|
-
'did:dock:5HL5XB7CHcHT2ZUKjY2SCJvDAK11qoa1exgfVnVTHRbmjJQi',
|
|
219
|
-
id: 'did:dock:5HL5XB7CHcHT2ZUKjY2SCJvDAK11qoa1exgfVnVTHRbmjJQi#keys-1',
|
|
220
|
-
publicKeyBase58: '8UDojkFBh5RopLKZredz8uVZV5U579voUwQFyYDmgBM3',
|
|
221
|
-
type: 'Sr25519VerificationKey2020',
|
|
222
|
-
},
|
|
223
|
-
],
|
|
224
|
-
}),
|
|
225
|
-
},
|
|
226
|
-
keyring: {
|
|
227
|
-
createFromPair: jest.fn(() => {
|
|
228
|
-
const kr = new Keyring();
|
|
229
|
-
return kr.createFromUri('//Alice');
|
|
230
|
-
}),
|
|
231
|
-
},
|
|
232
|
-
};
|
|
233
|
-
|
|
234
|
-
return {
|
|
235
|
-
result,
|
|
236
|
-
clear: () => mocks.forEach(mock => mock.mockClear()),
|
|
237
|
-
};
|
|
238
|
-
}
|
|
239
|
-
|
|
240
62
|
export async function getPromiseError(func) {
|
|
241
63
|
try {
|
|
242
64
|
return await func();
|
|
@@ -2,14 +2,12 @@ import {TestFixtures} from '../fixtures';
|
|
|
2
2
|
import {NetworkManager} from '../modules/network-manager';
|
|
3
3
|
import {Wallet} from '../modules/wallet';
|
|
4
4
|
import {blockchainService} from '../services/blockchain';
|
|
5
|
-
import {mockDockService} from '../services/test-utils';
|
|
6
5
|
import promiseMemoize from 'promise-memoize';
|
|
7
6
|
import {setStorage} from '../core/storage';
|
|
8
7
|
|
|
9
8
|
export const getTestWallet: Wallet = promiseMemoize(async () => {
|
|
10
9
|
setStorage(global.localStorage);
|
|
11
10
|
|
|
12
|
-
await mockDockService();
|
|
13
11
|
const wallet = Wallet.getInstance();
|
|
14
12
|
|
|
15
13
|
await wallet.load();
|
|
@@ -30,7 +28,7 @@ export const getTestWallet: Wallet = promiseMemoize(async () => {
|
|
|
30
28
|
});
|
|
31
29
|
|
|
32
30
|
await blockchainService.init({
|
|
33
|
-
|
|
31
|
+
cheqdApiUrl: NetworkManager.getInstance().getNetworkInfo().cheqdApiUrl,
|
|
34
32
|
});
|
|
35
33
|
|
|
36
34
|
return wallet;
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var assert = require('assert');
|
|
6
|
-
var events = require('events');
|
|
7
|
-
var core_logger = require('../../core/logger.js');
|
|
8
|
-
var services_blockchain_service = require('../blockchain/service.js');
|
|
9
|
-
require('@cosmjs/proto-signing');
|
|
10
|
-
require('@docknetwork/cheqd-blockchain-api');
|
|
11
|
-
require('@docknetwork/cheqd-blockchain-modules');
|
|
12
|
-
require('@docknetwork/credential-sdk/modules');
|
|
13
|
-
require('@docknetwork/credential-sdk/resolver');
|
|
14
|
-
require('@docknetwork/crypto-wasm-ts/lib/index');
|
|
15
|
-
require('@docknetwork/dock-blockchain-api');
|
|
16
|
-
require('@docknetwork/dock-blockchain-modules');
|
|
17
|
-
require('../../modules/event-manager.js');
|
|
18
|
-
require('../util-crypto/service.js');
|
|
19
|
-
require('@polkadot/keyring');
|
|
20
|
-
require('@polkadot/util');
|
|
21
|
-
require('@polkadot/util-crypto');
|
|
22
|
-
require('../util-crypto/configs.js');
|
|
23
|
-
require('../../core/validation.js');
|
|
24
|
-
require('bignumber.js');
|
|
25
|
-
require('../../types.js');
|
|
26
|
-
require('@docknetwork/credential-sdk/types');
|
|
27
|
-
|
|
28
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
29
|
-
|
|
30
|
-
var assert__default = /*#__PURE__*/_interopDefaultLegacy(assert);
|
|
31
|
-
|
|
32
|
-
// @ts-nocheck
|
|
33
|
-
const extrisicErrorsFilter = ({ event }) => {
|
|
34
|
-
return services_blockchain_service.blockchainService.dock.api.events.system.ExtrinsicFailed.is(event);
|
|
35
|
-
};
|
|
36
|
-
const mapEventToErrorMessage = ({ event }) => {
|
|
37
|
-
assert__default["default"](!!event, 'event is required');
|
|
38
|
-
const [error] = event.data;
|
|
39
|
-
assert__default["default"](!!error, 'error is required');
|
|
40
|
-
if (error.isModule) {
|
|
41
|
-
// for module errors, we have the section indexed, lookup
|
|
42
|
-
const decoded = services_blockchain_service.blockchainService.dock.api.registry.findMetaError(error.asModule);
|
|
43
|
-
const { docs, method, section } = decoded;
|
|
44
|
-
return `${section}.${method}: ${docs.join(' ')}`;
|
|
45
|
-
}
|
|
46
|
-
return error.toString();
|
|
47
|
-
};
|
|
48
|
-
const getExtrinsicErrors = ({ status, events }) => events.filter(extrisicErrorsFilter).map(mapEventToErrorMessage);
|
|
49
|
-
function signAndSend(account, extrinsic) {
|
|
50
|
-
const emitter = new events.EventEmitter();
|
|
51
|
-
function execute() {
|
|
52
|
-
extrinsic
|
|
53
|
-
.signAndSend(account, result => {
|
|
54
|
-
const { status } = result;
|
|
55
|
-
core_logger.Logger.debug(`extrinsic update ${JSON.stringify(result)}`);
|
|
56
|
-
if (status.isInBlock || status.isFinalized) {
|
|
57
|
-
const errors = getExtrinsicErrors(result);
|
|
58
|
-
if (!errors.length) {
|
|
59
|
-
return emitter.emit('done', status.toHex());
|
|
60
|
-
}
|
|
61
|
-
emitter.emit('error', new Error(errors[0]));
|
|
62
|
-
emitter.emit('errors', errors);
|
|
63
|
-
}
|
|
64
|
-
else if (status.isInvalid) {
|
|
65
|
-
emitter.emit('error', new Error('Transaction status is invalid'));
|
|
66
|
-
}
|
|
67
|
-
else if (status.isDropped) {
|
|
68
|
-
emitter.emit('error', new Error('Transaction status dropped'));
|
|
69
|
-
}
|
|
70
|
-
else if (status.isRetracted) {
|
|
71
|
-
emitter.emit('error', new Error('Transaction status is retracted'));
|
|
72
|
-
}
|
|
73
|
-
})
|
|
74
|
-
.catch(err => {
|
|
75
|
-
emitter.emit('error', err);
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
setTimeout(execute, 1);
|
|
79
|
-
return emitter;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
exports.extrisicErrorsFilter = extrisicErrorsFilter;
|
|
83
|
-
exports.getExtrinsicErrors = getExtrinsicErrors;
|
|
84
|
-
exports.mapEventToErrorMessage = mapEventToErrorMessage;
|
|
85
|
-
exports.signAndSend = signAndSend;
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import assert from 'assert';
|
|
2
|
-
import { EventEmitter } from 'events';
|
|
3
|
-
import { Logger } from '../../core/logger.mjs';
|
|
4
|
-
import { blockchainService } from '../blockchain/service.mjs';
|
|
5
|
-
import '@cosmjs/proto-signing';
|
|
6
|
-
import '@docknetwork/cheqd-blockchain-api';
|
|
7
|
-
import '@docknetwork/cheqd-blockchain-modules';
|
|
8
|
-
import '@docknetwork/credential-sdk/modules';
|
|
9
|
-
import '@docknetwork/credential-sdk/resolver';
|
|
10
|
-
import '@docknetwork/crypto-wasm-ts/lib/index';
|
|
11
|
-
import '@docknetwork/dock-blockchain-api';
|
|
12
|
-
import '@docknetwork/dock-blockchain-modules';
|
|
13
|
-
import '../../modules/event-manager.mjs';
|
|
14
|
-
import '../util-crypto/service.mjs';
|
|
15
|
-
import '@polkadot/keyring';
|
|
16
|
-
import '@polkadot/util';
|
|
17
|
-
import '@polkadot/util-crypto';
|
|
18
|
-
import '../util-crypto/configs.mjs';
|
|
19
|
-
import '../../core/validation.mjs';
|
|
20
|
-
import 'bignumber.js';
|
|
21
|
-
import '../../types.mjs';
|
|
22
|
-
import '@docknetwork/credential-sdk/types';
|
|
23
|
-
|
|
24
|
-
// @ts-nocheck
|
|
25
|
-
const extrisicErrorsFilter = ({ event }) => {
|
|
26
|
-
return blockchainService.dock.api.events.system.ExtrinsicFailed.is(event);
|
|
27
|
-
};
|
|
28
|
-
const mapEventToErrorMessage = ({ event }) => {
|
|
29
|
-
assert(!!event, 'event is required');
|
|
30
|
-
const [error] = event.data;
|
|
31
|
-
assert(!!error, 'error is required');
|
|
32
|
-
if (error.isModule) {
|
|
33
|
-
// for module errors, we have the section indexed, lookup
|
|
34
|
-
const decoded = blockchainService.dock.api.registry.findMetaError(error.asModule);
|
|
35
|
-
const { docs, method, section } = decoded;
|
|
36
|
-
return `${section}.${method}: ${docs.join(' ')}`;
|
|
37
|
-
}
|
|
38
|
-
return error.toString();
|
|
39
|
-
};
|
|
40
|
-
const getExtrinsicErrors = ({ status, events }) => events.filter(extrisicErrorsFilter).map(mapEventToErrorMessage);
|
|
41
|
-
function signAndSend(account, extrinsic) {
|
|
42
|
-
const emitter = new EventEmitter();
|
|
43
|
-
function execute() {
|
|
44
|
-
extrinsic
|
|
45
|
-
.signAndSend(account, result => {
|
|
46
|
-
const { status } = result;
|
|
47
|
-
Logger.debug(`extrinsic update ${JSON.stringify(result)}`);
|
|
48
|
-
if (status.isInBlock || status.isFinalized) {
|
|
49
|
-
const errors = getExtrinsicErrors(result);
|
|
50
|
-
if (!errors.length) {
|
|
51
|
-
return emitter.emit('done', status.toHex());
|
|
52
|
-
}
|
|
53
|
-
emitter.emit('error', new Error(errors[0]));
|
|
54
|
-
emitter.emit('errors', errors);
|
|
55
|
-
}
|
|
56
|
-
else if (status.isInvalid) {
|
|
57
|
-
emitter.emit('error', new Error('Transaction status is invalid'));
|
|
58
|
-
}
|
|
59
|
-
else if (status.isDropped) {
|
|
60
|
-
emitter.emit('error', new Error('Transaction status dropped'));
|
|
61
|
-
}
|
|
62
|
-
else if (status.isRetracted) {
|
|
63
|
-
emitter.emit('error', new Error('Transaction status is retracted'));
|
|
64
|
-
}
|
|
65
|
-
})
|
|
66
|
-
.catch(err => {
|
|
67
|
-
emitter.emit('error', err);
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
setTimeout(execute, 1);
|
|
71
|
-
return emitter;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
export { extrisicErrorsFilter, getExtrinsicErrors, mapEventToErrorMessage, signAndSend };
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var assert = require('assert');
|
|
6
|
-
var core_validation = require('../../core/validation.js');
|
|
7
|
-
require('bignumber.js');
|
|
8
|
-
require('../../types.js');
|
|
9
|
-
|
|
10
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
11
|
-
|
|
12
|
-
var assert__default = /*#__PURE__*/_interopDefaultLegacy(assert);
|
|
13
|
-
|
|
14
|
-
// @ts-nocheck
|
|
15
|
-
const assertTransaction = ({ toAddress, fromAddress, amount, }) => {
|
|
16
|
-
assert__default["default"](core_validation.isAddressValid(toAddress), 'invalid toAddress');
|
|
17
|
-
assert__default["default"](core_validation.isAddressValid(fromAddress), 'invalid fromAddress');
|
|
18
|
-
assert__default["default"](core_validation.isNumberValid(amount), 'invalid amount');
|
|
19
|
-
};
|
|
20
|
-
const validation = {
|
|
21
|
-
getAccountBalance({ address }) {
|
|
22
|
-
assert__default["default"](core_validation.isAddressValid(address), `invalid address ${address}`);
|
|
23
|
-
},
|
|
24
|
-
getFeeAmount: assertTransaction,
|
|
25
|
-
sendTokens: assertTransaction,
|
|
26
|
-
};
|
|
27
|
-
const serviceName = 'substrate';
|
|
28
|
-
|
|
29
|
-
exports.serviceName = serviceName;
|
|
30
|
-
exports.validation = validation;
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import assert from 'assert';
|
|
2
|
-
import { isAddressValid, isNumberValid } from '../../core/validation.mjs';
|
|
3
|
-
import 'bignumber.js';
|
|
4
|
-
import '../../types.mjs';
|
|
5
|
-
|
|
6
|
-
// @ts-nocheck
|
|
7
|
-
const assertTransaction = ({ toAddress, fromAddress, amount, }) => {
|
|
8
|
-
assert(isAddressValid(toAddress), 'invalid toAddress');
|
|
9
|
-
assert(isAddressValid(fromAddress), 'invalid fromAddress');
|
|
10
|
-
assert(isNumberValid(amount), 'invalid amount');
|
|
11
|
-
};
|
|
12
|
-
const validation = {
|
|
13
|
-
getAccountBalance({ address }) {
|
|
14
|
-
assert(isAddressValid(address), `invalid address ${address}`);
|
|
15
|
-
},
|
|
16
|
-
getFeeAmount: assertTransaction,
|
|
17
|
-
sendTokens: assertTransaction,
|
|
18
|
-
};
|
|
19
|
-
const serviceName = 'substrate';
|
|
20
|
-
|
|
21
|
-
export { serviceName, validation };
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var services_substrate_serviceRpc = require('./service-rpc.js');
|
|
6
|
-
require('../rpc-service-client.js');
|
|
7
|
-
require('assert');
|
|
8
|
-
require('../../rpc-client.js');
|
|
9
|
-
require('json-rpc-2.0');
|
|
10
|
-
require('../../core/crypto.js');
|
|
11
|
-
require('crypto');
|
|
12
|
-
require('../../core/logger.js');
|
|
13
|
-
require('../../logger.js');
|
|
14
|
-
require('../../rpc-util.js');
|
|
15
|
-
require('./configs.js');
|
|
16
|
-
require('../../core/validation.js');
|
|
17
|
-
require('bignumber.js');
|
|
18
|
-
require('../../types.js');
|
|
19
|
-
|
|
20
|
-
const substrateService = new services_substrate_serviceRpc.SubstrateServiceRpc();
|
|
21
|
-
|
|
22
|
-
exports.substrateService = substrateService;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { SubstrateServiceRpc } from './service-rpc.mjs';
|
|
2
|
-
import '../rpc-service-client.mjs';
|
|
3
|
-
import 'assert';
|
|
4
|
-
import '../../rpc-client.mjs';
|
|
5
|
-
import 'json-rpc-2.0';
|
|
6
|
-
import '../../core/crypto.mjs';
|
|
7
|
-
import 'crypto';
|
|
8
|
-
import '../../core/logger.mjs';
|
|
9
|
-
import '../../logger.mjs';
|
|
10
|
-
import '../../rpc-util.mjs';
|
|
11
|
-
import './configs.mjs';
|
|
12
|
-
import '../../core/validation.mjs';
|
|
13
|
-
import 'bignumber.js';
|
|
14
|
-
import '../../types.mjs';
|
|
15
|
-
|
|
16
|
-
const substrateService = new SubstrateServiceRpc();
|
|
17
|
-
|
|
18
|
-
export { substrateService };
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var services_substrate_serviceRpc = require('./service-rpc.js');
|
|
6
|
-
require('../rpc-service-client.js');
|
|
7
|
-
require('assert');
|
|
8
|
-
require('../../rpc-client.js');
|
|
9
|
-
require('json-rpc-2.0');
|
|
10
|
-
require('../../core/crypto.js');
|
|
11
|
-
require('crypto');
|
|
12
|
-
require('../../core/logger.js');
|
|
13
|
-
require('../../logger.js');
|
|
14
|
-
require('../../rpc-util.js');
|
|
15
|
-
require('./configs.js');
|
|
16
|
-
require('../../core/validation.js');
|
|
17
|
-
require('bignumber.js');
|
|
18
|
-
require('../../types.js');
|
|
19
|
-
|
|
20
|
-
const substrateService = new services_substrate_serviceRpc.SubstrateServiceRpc();
|
|
21
|
-
|
|
22
|
-
exports.substrateService = substrateService;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { SubstrateServiceRpc } from './service-rpc.mjs';
|
|
2
|
-
import '../rpc-service-client.mjs';
|
|
3
|
-
import 'assert';
|
|
4
|
-
import '../../rpc-client.mjs';
|
|
5
|
-
import 'json-rpc-2.0';
|
|
6
|
-
import '../../core/crypto.mjs';
|
|
7
|
-
import 'crypto';
|
|
8
|
-
import '../../core/logger.mjs';
|
|
9
|
-
import '../../logger.mjs';
|
|
10
|
-
import '../../rpc-util.mjs';
|
|
11
|
-
import './configs.mjs';
|
|
12
|
-
import '../../core/validation.mjs';
|
|
13
|
-
import 'bignumber.js';
|
|
14
|
-
import '../../types.mjs';
|
|
15
|
-
|
|
16
|
-
const substrateService = new SubstrateServiceRpc();
|
|
17
|
-
|
|
18
|
-
export { substrateService };
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var services_substrate_service = require('./service.js');
|
|
6
|
-
require('assert');
|
|
7
|
-
require('bignumber.js');
|
|
8
|
-
require('bn.js');
|
|
9
|
-
require('../../core/format-utils.js');
|
|
10
|
-
require('../../core/validation.js');
|
|
11
|
-
require('../../types.js');
|
|
12
|
-
require('../blockchain/service.js');
|
|
13
|
-
require('@cosmjs/proto-signing');
|
|
14
|
-
require('@docknetwork/cheqd-blockchain-api');
|
|
15
|
-
require('@docknetwork/cheqd-blockchain-modules');
|
|
16
|
-
require('@docknetwork/credential-sdk/modules');
|
|
17
|
-
require('@docknetwork/credential-sdk/resolver');
|
|
18
|
-
require('@docknetwork/crypto-wasm-ts/lib/index');
|
|
19
|
-
require('@docknetwork/dock-blockchain-api');
|
|
20
|
-
require('@docknetwork/dock-blockchain-modules');
|
|
21
|
-
require('events');
|
|
22
|
-
require('../../core/logger.js');
|
|
23
|
-
require('../../modules/event-manager.js');
|
|
24
|
-
require('../util-crypto/service.js');
|
|
25
|
-
require('@polkadot/keyring');
|
|
26
|
-
require('@polkadot/util');
|
|
27
|
-
require('@polkadot/util-crypto');
|
|
28
|
-
require('../util-crypto/configs.js');
|
|
29
|
-
require('@docknetwork/credential-sdk/types');
|
|
30
|
-
require('./api-utils.js');
|
|
31
|
-
require('./configs.js');
|
|
32
|
-
require('../keyring/service.js');
|
|
33
|
-
require('../keyring/configs.js');
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
exports.substrateService = services_substrate_service.substrateService;
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
export { substrateService } from './service.mjs';
|
|
2
|
-
import 'assert';
|
|
3
|
-
import 'bignumber.js';
|
|
4
|
-
import 'bn.js';
|
|
5
|
-
import '../../core/format-utils.mjs';
|
|
6
|
-
import '../../core/validation.mjs';
|
|
7
|
-
import '../../types.mjs';
|
|
8
|
-
import '../blockchain/service.mjs';
|
|
9
|
-
import '@cosmjs/proto-signing';
|
|
10
|
-
import '@docknetwork/cheqd-blockchain-api';
|
|
11
|
-
import '@docknetwork/cheqd-blockchain-modules';
|
|
12
|
-
import '@docknetwork/credential-sdk/modules';
|
|
13
|
-
import '@docknetwork/credential-sdk/resolver';
|
|
14
|
-
import '@docknetwork/crypto-wasm-ts/lib/index';
|
|
15
|
-
import '@docknetwork/dock-blockchain-api';
|
|
16
|
-
import '@docknetwork/dock-blockchain-modules';
|
|
17
|
-
import 'events';
|
|
18
|
-
import '../../core/logger.mjs';
|
|
19
|
-
import '../../modules/event-manager.mjs';
|
|
20
|
-
import '../util-crypto/service.mjs';
|
|
21
|
-
import '@polkadot/keyring';
|
|
22
|
-
import '@polkadot/util';
|
|
23
|
-
import '@polkadot/util-crypto';
|
|
24
|
-
import '../util-crypto/configs.mjs';
|
|
25
|
-
import '@docknetwork/credential-sdk/types';
|
|
26
|
-
import './api-utils.mjs';
|
|
27
|
-
import './configs.mjs';
|
|
28
|
-
import '../keyring/service.mjs';
|
|
29
|
-
import '../keyring/configs.mjs';
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var services_rpcServiceClient = require('../rpc-service-client.js');
|
|
6
|
-
var services_substrate_configs = require('./configs.js');
|
|
7
|
-
require('assert');
|
|
8
|
-
require('../../rpc-client.js');
|
|
9
|
-
require('json-rpc-2.0');
|
|
10
|
-
require('../../core/crypto.js');
|
|
11
|
-
require('crypto');
|
|
12
|
-
require('../../core/logger.js');
|
|
13
|
-
require('../../logger.js');
|
|
14
|
-
require('../../rpc-util.js');
|
|
15
|
-
require('../../core/validation.js');
|
|
16
|
-
require('bignumber.js');
|
|
17
|
-
require('../../types.js');
|
|
18
|
-
|
|
19
|
-
class SubstrateServiceRpc extends services_rpcServiceClient.RpcService {
|
|
20
|
-
constructor() {
|
|
21
|
-
super(services_substrate_configs.serviceName);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
getAccountBalance(params ) {
|
|
25
|
-
return this.call('getAccountBalance', params);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
getFeeAmount(params ) {
|
|
29
|
-
return this.call('getFeeAmount', params);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
sendTokens(params ) {
|
|
33
|
-
return this.call('sendTokens', params);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
exports.SubstrateServiceRpc = SubstrateServiceRpc;
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { RpcService } from '../rpc-service-client.mjs';
|
|
2
|
-
import { serviceName } from './configs.mjs';
|
|
3
|
-
import 'assert';
|
|
4
|
-
import '../../rpc-client.mjs';
|
|
5
|
-
import 'json-rpc-2.0';
|
|
6
|
-
import '../../core/crypto.mjs';
|
|
7
|
-
import 'crypto';
|
|
8
|
-
import '../../core/logger.mjs';
|
|
9
|
-
import '../../logger.mjs';
|
|
10
|
-
import '../../rpc-util.mjs';
|
|
11
|
-
import '../../core/validation.mjs';
|
|
12
|
-
import 'bignumber.js';
|
|
13
|
-
import '../../types.mjs';
|
|
14
|
-
|
|
15
|
-
class SubstrateServiceRpc extends RpcService {
|
|
16
|
-
constructor() {
|
|
17
|
-
super(serviceName);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
getAccountBalance(params ) {
|
|
21
|
-
return this.call('getAccountBalance', params);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
getFeeAmount(params ) {
|
|
25
|
-
return this.call('getFeeAmount', params);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
sendTokens(params ) {
|
|
29
|
-
return this.call('sendTokens', params);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
export { SubstrateServiceRpc };
|