@docknetwork/wallet-sdk-wasm 1.5.8 → 1.5.10
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/core/format-utils.js +0 -28
- package/lib/core/format-utils.mjs +1 -24
- package/lib/core/validation.js +1 -24
- package/lib/core/validation.mjs +2 -21
- package/lib/index.js +13 -32
- package/lib/index.mjs +13 -32
- package/lib/rpc-server.js +13 -32
- package/lib/rpc-server.mjs +13 -32
- package/lib/rpc-util.js +14 -0
- package/lib/rpc-util.mjs +14 -0
- package/lib/services/blockchain/index.js +3 -8
- package/lib/services/blockchain/index.mjs +3 -8
- package/lib/services/blockchain/service.js +37 -80
- package/lib/services/blockchain/service.mjs +38 -81
- package/lib/services/credential/bbs-revocation.js +4 -9
- package/lib/services/credential/bbs-revocation.mjs +3 -8
- package/lib/services/credential/bound-check.js +9 -4
- package/lib/services/credential/bound-check.mjs +9 -4
- package/lib/services/credential/index.js +11 -15
- package/lib/services/credential/index.mjs +11 -15
- package/lib/services/credential/service.js +18 -20
- package/lib/services/credential/service.mjs +15 -17
- package/lib/services/credential/utils.js +65 -28
- package/lib/services/credential/utils.mjs +62 -32
- package/lib/services/dids/index.js +11 -16
- package/lib/services/dids/index.mjs +11 -16
- package/lib/services/dids/keypair-utils.js +142 -0
- package/lib/services/dids/keypair-utils.mjs +113 -0
- package/lib/services/dids/service.js +16 -37
- package/lib/services/dids/service.mjs +16 -37
- package/lib/services/edv/index.js +8 -16
- package/lib/services/edv/index.mjs +8 -16
- package/lib/services/edv/service.js +10 -24
- package/lib/services/edv/service.mjs +10 -24
- package/lib/services/index.js +13 -37
- package/lib/services/index.mjs +13 -37
- package/lib/services/pex/service.js +2 -1
- package/lib/services/pex/service.mjs +2 -1
- package/lib/services/relay-service/configs.js +0 -1
- package/lib/services/relay-service/configs.mjs +0 -1
- package/lib/services/relay-service/index.android.js +0 -1
- package/lib/services/relay-service/index.android.mjs +0 -1
- package/lib/services/relay-service/index.ios.js +0 -1
- package/lib/services/relay-service/index.ios.mjs +0 -1
- package/lib/services/relay-service/index.js +0 -1
- package/lib/services/relay-service/index.mjs +0 -1
- package/lib/services/relay-service/service-rpc.js +0 -1
- package/lib/services/relay-service/service-rpc.mjs +0 -1
- package/lib/services/relay-service/service.js +0 -1
- package/lib/services/relay-service/service.mjs +0 -1
- package/lib/services/test-utils.js +0 -239
- package/lib/services/test-utils.mjs +1 -234
- package/lib/services/util-crypto/configs.js +0 -12
- package/lib/services/util-crypto/configs.mjs +0 -12
- package/lib/services/util-crypto/index.android.js +0 -3
- package/lib/services/util-crypto/index.android.mjs +0 -3
- package/lib/services/util-crypto/index.ios.js +0 -3
- package/lib/services/util-crypto/index.ios.mjs +0 -3
- package/lib/services/util-crypto/index.js +4 -7
- package/lib/services/util-crypto/index.mjs +4 -7
- package/lib/services/util-crypto/service-rpc.js +0 -23
- package/lib/services/util-crypto/service-rpc.mjs +0 -23
- package/lib/services/util-crypto/service.js +68 -61
- package/lib/services/util-crypto/service.mjs +50 -59
- package/lib/services/wallet/configs.js +0 -63
- package/lib/services/wallet/configs.mjs +1 -64
- package/lib/services/wallet/index.android.js +0 -1
- package/lib/services/wallet/index.android.mjs +0 -1
- package/lib/services/wallet/index.ios.js +0 -1
- package/lib/services/wallet/index.ios.mjs +0 -1
- package/lib/services/wallet/index.js +2 -12
- package/lib/services/wallet/index.mjs +2 -12
- package/lib/services/wallet/service-rpc.js +0 -77
- package/lib/services/wallet/service-rpc.mjs +0 -77
- package/lib/services/wallet/service.js +1 -215
- package/lib/services/wallet/service.mjs +1 -211
- package/lib/setup-nodejs.js +13 -32
- package/lib/setup-nodejs.mjs +13 -32
- package/lib/setup-tests.js +13 -32
- package/lib/setup-tests.mjs +13 -32
- package/lib/src/core/format-utils.d.ts +0 -5
- package/lib/src/core/format-utils.d.ts.map +1 -1
- package/lib/src/core/validation.d.ts +0 -3
- package/lib/src/core/validation.d.ts.map +1 -1
- package/lib/src/rpc-util.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/credential/bbs-revocation.d.ts.map +1 -1
- package/lib/src/services/credential/bound-check.d.ts +1 -1
- package/lib/src/services/credential/bound-check.d.ts.map +1 -1
- package/lib/src/services/credential/service.d.ts.map +1 -1
- package/lib/src/services/credential/utils.d.ts +2 -1
- package/lib/src/services/credential/utils.d.ts.map +1 -1
- package/lib/src/services/dids/keypair-utils.d.ts +15 -0
- package/lib/src/services/dids/keypair-utils.d.ts.map +1 -0
- package/lib/src/services/dids/service.d.ts +6 -6
- package/lib/src/services/dids/service.d.ts.map +1 -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/src/services/util-crypto/configs.d.ts +0 -3
- package/lib/src/services/util-crypto/configs.d.ts.map +1 -1
- package/lib/src/services/util-crypto/service.d.ts +3 -8
- package/lib/src/services/util-crypto/service.d.ts.map +1 -1
- package/lib/src/services/wallet/configs.d.ts +13 -0
- package/lib/src/services/wallet/configs.d.ts.map +1 -0
- package/lib/src/services/wallet/service.d.ts +1 -44
- package/lib/src/services/wallet/service.d.ts.map +1 -1
- package/lib/test-utils.js +0 -4
- package/lib/test-utils.mjs +1 -4
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -27
- package/readme.md +0 -61
- package/src/core/format-utils.test.js +1 -28
- package/src/core/format-utils.ts +0 -33
- package/src/core/validation.test.js +1 -33
- package/src/core/validation.ts +1 -25
- package/src/rpc-server.test.js +2 -9
- package/src/rpc-util.js +14 -0
- package/src/services/blockchain/index.test.js +4 -15
- package/src/services/blockchain/service.ts +39 -98
- package/src/services/credential/bbs-revocation.ts +2 -1
- package/src/services/credential/bound-check.test.ts +6 -6
- package/src/services/credential/bound-check.ts +4 -4
- package/src/services/credential/index.test.js +0 -2
- package/src/services/credential/service.ts +5 -2
- package/src/services/credential/utils.js +65 -23
- package/src/services/dids/index.test.js +9 -20
- package/src/services/dids/keypair-utils.js +111 -0
- package/src/services/dids/service.ts +7 -26
- package/src/services/edv/service.ts +2 -9
- package/src/services/index.js +0 -8
- package/src/services/pex/service.ts +7 -1
- package/src/services/test-utils.js +0 -207
- package/src/services/util-crypto/configs.ts +0 -12
- package/src/services/util-crypto/index.test.js +6 -83
- package/src/services/util-crypto/service-rpc.js +0 -20
- package/src/services/util-crypto/service.ts +62 -75
- package/src/services/wallet/configs.ts +1 -113
- package/src/services/wallet/index.test.js +0 -159
- package/src/services/wallet/service-rpc.js +1 -88
- package/src/services/wallet/service.ts +0 -258
- package/src/test-utils.js +0 -13
- package/lib/account-8fa95046.js +0 -774
- package/lib/account-e7156c51.js +0 -764
- package/lib/core/polkadot-utils.js +0 -119
- package/lib/core/polkadot-utils.mjs +0 -94
- package/lib/core/realm-schemas.js +0 -50
- package/lib/core/realm-schemas.mjs +0 -44
- package/lib/core/subscan.js +0 -75
- package/lib/core/subscan.mjs +0 -64
- package/lib/fixtures.js +0 -56
- package/lib/fixtures.mjs +0 -52
- package/lib/modules/account.js +0 -55
- package/lib/modules/account.mjs +0 -47
- package/lib/modules/accounts.js +0 -56
- package/lib/modules/accounts.mjs +0 -47
- package/lib/modules/data-migration.js +0 -72
- package/lib/modules/data-migration.mjs +0 -68
- package/lib/modules/wallet-backup.js +0 -82
- package/lib/modules/wallet-backup.mjs +0 -71
- package/lib/modules/wallet.js +0 -56
- package/lib/modules/wallet.mjs +0 -47
- package/lib/services/example/configs.js +0 -21
- package/lib/services/example/configs.mjs +0 -13
- package/lib/services/example/index.js +0 -18
- package/lib/services/example/index.mjs +0 -14
- package/lib/services/example/service-rpc.js +0 -25
- package/lib/services/example/service-rpc.mjs +0 -21
- package/lib/services/example/service.js +0 -25
- package/lib/services/example/service.mjs +0 -20
- package/lib/services/keyring/configs.js +0 -70
- package/lib/services/keyring/configs.mjs +0 -61
- package/lib/services/keyring/index.android.js +0 -22
- package/lib/services/keyring/index.android.mjs +0 -18
- package/lib/services/keyring/index.ios.js +0 -22
- package/lib/services/keyring/index.ios.mjs +0 -18
- package/lib/services/keyring/index.js +0 -16
- package/lib/services/keyring/index.mjs +0 -8
- package/lib/services/keyring/service-rpc.js +0 -65
- package/lib/services/keyring/service-rpc.mjs +0 -61
- package/lib/services/keyring/service.js +0 -84
- package/lib/services/keyring/service.mjs +0 -74
- package/lib/services/polkadot/configs.js +0 -17
- package/lib/services/polkadot/configs.mjs +0 -13
- package/lib/services/polkadot/index.android.js +0 -22
- package/lib/services/polkadot/index.android.mjs +0 -18
- package/lib/services/polkadot/index.ios.js +0 -22
- package/lib/services/polkadot/index.ios.mjs +0 -18
- package/lib/services/polkadot/index.js +0 -15
- package/lib/services/polkadot/index.mjs +0 -7
- package/lib/services/polkadot/service-rpc.js +0 -30
- package/lib/services/polkadot/service-rpc.mjs +0 -26
- package/lib/services/polkadot/service.js +0 -28
- package/lib/services/polkadot/service.mjs +0 -23
- 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/core/polkadot-utils.d.ts +0 -11
- package/lib/src/core/polkadot-utils.d.ts.map +0 -1
- package/lib/src/modules/account.d.ts +0 -60
- package/lib/src/modules/account.d.ts.map +0 -1
- package/lib/src/modules/accounts.d.ts +0 -49
- package/lib/src/modules/accounts.d.ts.map +0 -1
- package/lib/src/modules/data-migration.d.ts +0 -7
- package/lib/src/modules/data-migration.d.ts.map +0 -1
- package/lib/src/modules/wallet-backup.d.ts +0 -12
- package/lib/src/modules/wallet-backup.d.ts.map +0 -1
- package/lib/src/modules/wallet.d.ts +0 -134
- package/lib/src/modules/wallet.d.ts.map +0 -1
- package/lib/src/services/blockchain/index.d.ts +0 -2
- package/lib/src/services/blockchain/index.d.ts.map +0 -1
- package/lib/src/services/example/configs.d.ts +0 -9
- package/lib/src/services/example/configs.d.ts.map +0 -1
- package/lib/src/services/example/service.d.ts +0 -8
- package/lib/src/services/example/service.d.ts.map +0 -1
- package/lib/src/services/keyring/configs.d.ts +0 -39
- package/lib/src/services/keyring/configs.d.ts.map +0 -1
- package/lib/src/services/keyring/index.d.ts +0 -2
- package/lib/src/services/keyring/index.d.ts.map +0 -1
- package/lib/src/services/polkadot/configs.d.ts +0 -8
- package/lib/src/services/polkadot/configs.d.ts.map +0 -1
- package/lib/src/services/polkadot/index.d.ts +0 -2
- package/lib/src/services/polkadot/index.d.ts.map +0 -1
- package/lib/src/services/polkadot/service.d.ts +0 -8
- package/lib/src/services/polkadot/service.d.ts.map +0 -1
- 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/lib/src/services/wallet/index.d.ts +0 -2
- package/lib/src/services/wallet/index.d.ts.map +0 -1
- package/lib/test/axiosMocks.js +0 -431
- package/lib/test/axiosMocks.mjs +0 -420
- package/lib/test/setup-test-state.js +0 -93
- package/lib/test/setup-test-state.mjs +0 -85
- package/src/core/polkadot-utils.js +0 -99
- package/src/core/realm-schemas.js +0 -42
- package/src/core/subscan.js +0 -62
- package/src/core/subscan.test.js +0 -56
- package/src/fixtures.js +0 -43
- package/src/modules/account.test.js +0 -56
- package/src/modules/account.ts +0 -128
- package/src/modules/accounts.test.js +0 -88
- package/src/modules/accounts.ts +0 -264
- package/src/modules/data-migration.test.js +0 -72
- package/src/modules/data-migration.ts +0 -86
- package/src/modules/wallet-backup.test.js +0 -24
- package/src/modules/wallet-backup.ts +0 -68
- package/src/modules/wallet.test.js +0 -227
- package/src/modules/wallet.ts +0 -424
- package/src/services/example/configs.js +0 -14
- package/src/services/example/index.js +0 -3
- package/src/services/example/index.test.js +0 -28
- package/src/services/example/service-rpc.js +0 -11
- package/src/services/example/service.ts +0 -18
- package/src/services/keyring/configs.ts +0 -110
- package/src/services/keyring/index.android.js +0 -3
- package/src/services/keyring/index.ios.js +0 -3
- package/src/services/keyring/index.js +0 -1
- package/src/services/keyring/index.test.js +0 -48
- package/src/services/keyring/service-rpc.js +0 -56
- package/src/services/keyring/service.ts +0 -111
- package/src/services/polkadot/configs.ts +0 -13
- package/src/services/polkadot/index.android.js +0 -3
- package/src/services/polkadot/index.ios.js +0 -3
- package/src/services/polkadot/index.js +0 -1
- package/src/services/polkadot/index.test.js +0 -52
- package/src/services/polkadot/service-rpc.js +0 -13
- package/src/services/polkadot/service.ts +0 -21
- 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
- package/src/test/axiosMocks.js +0 -20
- package/src/test/fixtures/subscan-failure.json +0 -5
- package/src/test/fixtures/subscan-success.json +0 -370
- package/src/test/fixtures/subscan-too-many-requests.json +0 -9
- package/src/test/setup-test-state.js +0 -37
- package/src/test/test-wallet.test.js +0 -15
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
import BigNumber from 'bignumber.js';
|
|
2
|
-
import {TestFixtures} from '../../fixtures';
|
|
3
|
-
import {
|
|
4
|
-
assertRpcService,
|
|
5
|
-
getPromiseError,
|
|
6
|
-
mockDockService,
|
|
7
|
-
setMockTransactionError,
|
|
8
|
-
setupTestWallet,
|
|
9
|
-
TEST_FEE_AMOUNT,
|
|
10
|
-
} from '../test-utils';
|
|
11
|
-
import {validation} from './configs';
|
|
12
|
-
import {
|
|
13
|
-
substrateService as service,
|
|
14
|
-
getFeeWithBuffer,
|
|
15
|
-
FEE_ESTIMATION_BUFFER,
|
|
16
|
-
} from './service';
|
|
17
|
-
import {SubstrateServiceRpc} from './service-rpc';
|
|
18
|
-
|
|
19
|
-
describe('ExampleService', () => {
|
|
20
|
-
it('ServiceRpc', () => {
|
|
21
|
-
assertRpcService(SubstrateServiceRpc, service, validation);
|
|
22
|
-
});
|
|
23
|
-
|
|
24
|
-
describe('service', () => {
|
|
25
|
-
let unmockDockService;
|
|
26
|
-
let testKeypairJSON;
|
|
27
|
-
|
|
28
|
-
beforeAll(async () => {
|
|
29
|
-
unmockDockService = await mockDockService();
|
|
30
|
-
testKeypairJSON = TestFixtures.account1.getKeyring().toJson('');
|
|
31
|
-
await setupTestWallet();
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
describe('getAccountBalance', () => {
|
|
35
|
-
it('expect to get account balance', async () => {
|
|
36
|
-
const balance = await service.getAccountBalance({
|
|
37
|
-
address: TestFixtures.account1.address,
|
|
38
|
-
});
|
|
39
|
-
expect(typeof balance).toBe('number');
|
|
40
|
-
});
|
|
41
|
-
|
|
42
|
-
it('expect to validate params', async () => {
|
|
43
|
-
const error = await getPromiseError(() =>
|
|
44
|
-
service.getAccountBalance({address: null}),
|
|
45
|
-
);
|
|
46
|
-
expect(error.message).toBe('invalid address null');
|
|
47
|
-
});
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
describe('getFeeAmount', () => {
|
|
51
|
-
it('expect to add buffer to the fee', () => {
|
|
52
|
-
expect(getFeeWithBuffer(new BigNumber(1)).toNumber()).toBe(
|
|
53
|
-
1 * FEE_ESTIMATION_BUFFER,
|
|
54
|
-
);
|
|
55
|
-
expect(() => getFeeWithBuffer(null)).toThrowError();
|
|
56
|
-
});
|
|
57
|
-
|
|
58
|
-
it('expect to get fee amount', async () => {
|
|
59
|
-
const fee = await service.getFeeAmount({
|
|
60
|
-
toAddress: TestFixtures.account2.address,
|
|
61
|
-
fromAddress: TestFixtures.account1.address,
|
|
62
|
-
amount: 1,
|
|
63
|
-
keyPair: testKeypairJSON,
|
|
64
|
-
});
|
|
65
|
-
expect(fee).toBe(TEST_FEE_AMOUNT * 1.1);
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
it('expect to validate params', async () => {
|
|
69
|
-
const error = await getPromiseError(() =>
|
|
70
|
-
service.getFeeAmount({
|
|
71
|
-
amount: null,
|
|
72
|
-
fromAddress: 'address',
|
|
73
|
-
toAddress: 'adress',
|
|
74
|
-
}),
|
|
75
|
-
);
|
|
76
|
-
expect(error.message).toBe('invalid amount');
|
|
77
|
-
});
|
|
78
|
-
});
|
|
79
|
-
|
|
80
|
-
describe('sendTokens', () => {
|
|
81
|
-
it('expect to send tokens', async () => {
|
|
82
|
-
setMockTransactionError(null);
|
|
83
|
-
const hash = await service.sendTokens({
|
|
84
|
-
amount: 1,
|
|
85
|
-
fromAddress: TestFixtures.account1.address,
|
|
86
|
-
toAddress: TestFixtures.account2.address,
|
|
87
|
-
keyPair: testKeypairJSON,
|
|
88
|
-
});
|
|
89
|
-
|
|
90
|
-
console.log('tx hash', hash);
|
|
91
|
-
|
|
92
|
-
expect(typeof hash).toBe('string');
|
|
93
|
-
});
|
|
94
|
-
|
|
95
|
-
it('expect to handle transaction error', async () => {
|
|
96
|
-
const errorMessage = 'some error from substrate';
|
|
97
|
-
|
|
98
|
-
setMockTransactionError(errorMessage);
|
|
99
|
-
|
|
100
|
-
const error = await getPromiseError(() =>
|
|
101
|
-
service.sendTokens({
|
|
102
|
-
amount: 1,
|
|
103
|
-
fromAddress: TestFixtures.account1.address,
|
|
104
|
-
toAddress: TestFixtures.account2.address,
|
|
105
|
-
}),
|
|
106
|
-
);
|
|
107
|
-
|
|
108
|
-
expect(error.message).toBeDefined();
|
|
109
|
-
});
|
|
110
|
-
});
|
|
111
|
-
|
|
112
|
-
afterAll(async () => {
|
|
113
|
-
await unmockDockService();
|
|
114
|
-
});
|
|
115
|
-
});
|
|
116
|
-
});
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import {RpcService} from '../rpc-service-client';
|
|
2
|
-
import {
|
|
3
|
-
GetAccountBalanceParams,
|
|
4
|
-
serviceName,
|
|
5
|
-
TransactionParams,
|
|
6
|
-
} from './configs';
|
|
7
|
-
|
|
8
|
-
export class SubstrateServiceRpc extends RpcService {
|
|
9
|
-
constructor() {
|
|
10
|
-
super(serviceName);
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
getAccountBalance(params: GetAccountBalanceParams): Promise<any> {
|
|
14
|
-
return this.call('getAccountBalance', params);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
getFeeAmount(params: TransactionParams): Promise<any> {
|
|
18
|
-
return this.call('getFeeAmount', params);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
sendTokens(params: TransactionParams): Promise<any> {
|
|
22
|
-
return this.call('sendTokens', params);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
import assert from 'assert';
|
|
3
|
-
import BigNumber from 'bignumber.js';
|
|
4
|
-
import BN from 'bn.js';
|
|
5
|
-
import {DOCK_TOKEN_UNIT, getPlainDockAmount} from '../../core/format-utils';
|
|
6
|
-
import {blockchainService} from '../blockchain/service';
|
|
7
|
-
import {signAndSend} from './api-utils';
|
|
8
|
-
import {
|
|
9
|
-
GetAccountBalanceParams,
|
|
10
|
-
serviceName,
|
|
11
|
-
TransactionParams,
|
|
12
|
-
validation,
|
|
13
|
-
} from './configs';
|
|
14
|
-
import {keyringService} from '../keyring/service';
|
|
15
|
-
|
|
16
|
-
export const FEE_ESTIMATION_BUFFER = 1.1;
|
|
17
|
-
|
|
18
|
-
export function getFeeWithBuffer(paymentFee: BigNumber) {
|
|
19
|
-
assert(!!paymentFee, 'paymentFee is required');
|
|
20
|
-
|
|
21
|
-
return new BigNumber(paymentFee).multipliedBy(FEE_ESTIMATION_BUFFER);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export class SubstrateService {
|
|
25
|
-
rpcMethods = [
|
|
26
|
-
SubstrateService.prototype.getAccountBalance,
|
|
27
|
-
SubstrateService.prototype.getFeeAmount,
|
|
28
|
-
SubstrateService.prototype.sendTokens,
|
|
29
|
-
];
|
|
30
|
-
|
|
31
|
-
constructor() {
|
|
32
|
-
this.name = serviceName;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
async getAccountBalance(params: GetAccountBalanceParams) {
|
|
36
|
-
validation.getAccountBalance(params);
|
|
37
|
-
|
|
38
|
-
console.log('ensure dock ready');
|
|
39
|
-
await blockchainService.ensureBlockchainReady();
|
|
40
|
-
|
|
41
|
-
console.log('ensure dock ready done');
|
|
42
|
-
|
|
43
|
-
const {
|
|
44
|
-
data: {free},
|
|
45
|
-
} = await blockchainService.dock.api.query.system.account(params.address);
|
|
46
|
-
|
|
47
|
-
return free.toNumber() / DOCK_TOKEN_UNIT;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
async getFeeAmount(params: TransactionParams) {
|
|
51
|
-
validation.getFeeAmount(params);
|
|
52
|
-
|
|
53
|
-
const {toAddress, keyPair} = params;
|
|
54
|
-
const amount = getPlainDockAmount(params.amount).toNumber();
|
|
55
|
-
|
|
56
|
-
const account = keyringService.decryptKeyPair({
|
|
57
|
-
jsonData: keyPair,
|
|
58
|
-
password: '',
|
|
59
|
-
});
|
|
60
|
-
|
|
61
|
-
blockchainService.dock.setAccount(account);
|
|
62
|
-
|
|
63
|
-
const extrinsic = blockchainService.dock.api.tx.balances.transfer(
|
|
64
|
-
toAddress,
|
|
65
|
-
amount,
|
|
66
|
-
);
|
|
67
|
-
const paymentInfo = await extrinsic.paymentInfo(account);
|
|
68
|
-
const fee = getFeeWithBuffer(paymentInfo.partialFee)
|
|
69
|
-
.dividedBy(DOCK_TOKEN_UNIT)
|
|
70
|
-
.toNumber();
|
|
71
|
-
|
|
72
|
-
return fee;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
async sendTokens(params: TransactionParams) {
|
|
76
|
-
validation.sendTokens(params);
|
|
77
|
-
|
|
78
|
-
let {toAddress, fromAddress, keyPair} = params;
|
|
79
|
-
let amount = getPlainDockAmount(params.amount).toNumber();
|
|
80
|
-
const account = keyringService.decryptKeyPair({
|
|
81
|
-
jsonData: keyPair,
|
|
82
|
-
password: '',
|
|
83
|
-
});
|
|
84
|
-
const {dock} = blockchainService;
|
|
85
|
-
|
|
86
|
-
dock.setAccount(account);
|
|
87
|
-
|
|
88
|
-
if (params.transferAll) {
|
|
89
|
-
const api = dock.api;
|
|
90
|
-
const balances = await api.derive.balances.all(account.address);
|
|
91
|
-
|
|
92
|
-
await api.tx.balances
|
|
93
|
-
.transfer(fromAddress, balances.availableBalance)
|
|
94
|
-
.paymentInfo(account)
|
|
95
|
-
.then(async ({partialFee}): void => {
|
|
96
|
-
const adjFee = getFeeWithBuffer(partialFee);
|
|
97
|
-
let maxTransfer = balances.availableBalance.sub(
|
|
98
|
-
new BN(adjFee.toNumber()),
|
|
99
|
-
);
|
|
100
|
-
|
|
101
|
-
if (!maxTransfer.gt(api.consts.balances.existentialDeposit)) {
|
|
102
|
-
throw new Error('balance too low');
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
amount = maxTransfer;
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
return new Promise((resolve, reject) => {
|
|
110
|
-
const extrinsic = dock.api.tx.balances.transfer(toAddress, amount);
|
|
111
|
-
|
|
112
|
-
signAndSend(account, extrinsic).on('done', resolve).on('error', reject);
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
export const substrateService: SubstrateService = new SubstrateService();
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
import assert from 'assert';
|
|
3
|
-
|
|
4
|
-
export const serviceName = 'trust-registry';
|
|
5
|
-
export const validation = {
|
|
6
|
-
getTrustRegistries: params => {
|
|
7
|
-
const {schemaId, issuerDID, verifierDID} = params;
|
|
8
|
-
assert(!!schemaId || !!issuerDID || !!verifierDID, 'no query option provider');
|
|
9
|
-
},
|
|
10
|
-
getTrustRegistryVerifiers: params => {
|
|
11
|
-
const {trustRegistryId} = params;
|
|
12
|
-
assert(!!trustRegistryId, 'trustRegistryId is required');
|
|
13
|
-
},
|
|
14
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {trustRegistryService} from './service';
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import {blockchainService} from '../blockchain/service';
|
|
2
|
-
|
|
3
|
-
import {trustRegistryService as service} from './service';
|
|
4
|
-
import {
|
|
5
|
-
TEST_SCHEMA_METADATA,
|
|
6
|
-
TEST_TRUST_REGISTRIES,
|
|
7
|
-
mockDockService,
|
|
8
|
-
} from '../test-utils';
|
|
9
|
-
|
|
10
|
-
describe('TrustRegistryService', () => {
|
|
11
|
-
let unmockDockService;
|
|
12
|
-
|
|
13
|
-
beforeAll(async () => {
|
|
14
|
-
unmockDockService = await mockDockService();
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
it('should successfully fetch trust registries', async () => {
|
|
18
|
-
const params = {
|
|
19
|
-
schemaId: 'some-schema-id',
|
|
20
|
-
issuerDID: 'did:key:z6MkhN7PBjWgSMQ24Bebdpvvw8fVRv7m6MHDqiwTKozzBgrJ',
|
|
21
|
-
verifierDID: 'did:key:z6MkhN7PBjWgSMQ24Bebdpvvw8fVRv7m6MHDqiwTKozzBgrJ',
|
|
22
|
-
};
|
|
23
|
-
const result = await service.getTrustRegistries(params);
|
|
24
|
-
|
|
25
|
-
const queryObject =
|
|
26
|
-
blockchainService.dock.trustRegistry.registriesInfo.mock.calls[0][0];
|
|
27
|
-
expect(queryObject.issuers.AnyOf).toHaveLength(1);
|
|
28
|
-
expect(queryObject.verifiers.AnyOf).toHaveLength(1);
|
|
29
|
-
expect(queryObject.schemaIds.AnyOf[0]).toEqual(
|
|
30
|
-
'0x719455878946440f05937aba69d20a84ef32a2e254a03be324d72bf81d37d19b',
|
|
31
|
-
);
|
|
32
|
-
expect(result).toEqual(TEST_TRUST_REGISTRIES);
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
it('should successfully fetch trust registry verifiers', async () => {
|
|
36
|
-
const trustRegistryId =
|
|
37
|
-
'0xc255301bad77eab2a86760a80dfac734d85f1378b95671b169e3a519aa7eadd2';
|
|
38
|
-
const params = {
|
|
39
|
-
schemaId: 'some-schema-id',
|
|
40
|
-
issuerDID: 'did:key:z6MkhN7PBjWgSMQ24Bebdpvvw8fVRv7m6MHDqiwTKozzBgrJ',
|
|
41
|
-
trustRegistryId,
|
|
42
|
-
};
|
|
43
|
-
const result = await service.getTrustRegistryVerifiers(params);
|
|
44
|
-
const queryObject =
|
|
45
|
-
blockchainService.dock.trustRegistry.registrySchemasMetadata.mock
|
|
46
|
-
.calls[0][0];
|
|
47
|
-
|
|
48
|
-
expect(
|
|
49
|
-
blockchainService.dock.trustRegistry.registrySchemasMetadata.mock
|
|
50
|
-
.calls[0][1],
|
|
51
|
-
).toEqual(trustRegistryId);
|
|
52
|
-
expect(queryObject.issuers.AnyOf).toHaveLength(1);
|
|
53
|
-
expect(queryObject.schemaIds[0]).toEqual(
|
|
54
|
-
'0x719455878946440f05937aba69d20a84ef32a2e254a03be324d72bf81d37d19b',
|
|
55
|
-
);
|
|
56
|
-
|
|
57
|
-
expect(result).toEqual(
|
|
58
|
-
TEST_SCHEMA_METADATA[
|
|
59
|
-
'0x719455878946440f05937aba69d20a84ef32a2e254a03be324d72bf81d37d19b'
|
|
60
|
-
].verifiers,
|
|
61
|
-
);
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
afterAll(async () => {
|
|
65
|
-
await unmockDockService();
|
|
66
|
-
});
|
|
67
|
-
});
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import {RpcService} from '../rpc-service-client';
|
|
2
|
-
import {serviceName} from './configs';
|
|
3
|
-
|
|
4
|
-
export class TrustRegistryServiceRpc extends RpcService {
|
|
5
|
-
constructor() {
|
|
6
|
-
super(serviceName);
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
async getTrustRegistries(params) {
|
|
10
|
-
return this.call('getTrustRegistries', params);
|
|
11
|
-
}
|
|
12
|
-
async getTrustRegistryVerifiers(params) {
|
|
13
|
-
return this.call('getTrustRegistryVerifiers', params);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
import {serviceName} from './configs';
|
|
3
|
-
import {createHash} from 'crypto';
|
|
4
|
-
import {blockchainService} from '../blockchain/service';
|
|
5
|
-
import {validation} from './configs';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
// TODO: Implement this function when the Trust Registry support is added to the SDK
|
|
9
|
-
function typedHexDID(resolver, issuerDID) {
|
|
10
|
-
return issuerDID;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
// Trust Registry Service is not supported in the current version of the SDK
|
|
14
|
-
class TrustRegistryService {
|
|
15
|
-
constructor() {
|
|
16
|
-
this.name = serviceName;
|
|
17
|
-
}
|
|
18
|
-
rpcMethods = [
|
|
19
|
-
TrustRegistryService.prototype.getTrustRegistries,
|
|
20
|
-
TrustRegistryService.prototype.getTrustRegistryVerifiers,
|
|
21
|
-
];
|
|
22
|
-
|
|
23
|
-
async getTrustRegistries({
|
|
24
|
-
schemaId,
|
|
25
|
-
issuerDID,
|
|
26
|
-
verifierDID,
|
|
27
|
-
}: {
|
|
28
|
-
schemaId?: string;
|
|
29
|
-
issuerDID?: string;
|
|
30
|
-
verifierDID?: string;
|
|
31
|
-
}) {
|
|
32
|
-
validation.getTrustRegistries({schemaId, issuerDID, verifierDID});
|
|
33
|
-
const queryOptions = {};
|
|
34
|
-
|
|
35
|
-
if (schemaId) {
|
|
36
|
-
const hashedId = createHash('sha256').update(schemaId).digest('hex');
|
|
37
|
-
const schemaIdHex = '0x' + hashedId;
|
|
38
|
-
queryOptions.schemaIds = {
|
|
39
|
-
AnyOf: [schemaIdHex],
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
if (issuerDID) {
|
|
44
|
-
const issuerDIDMethodKey = typedHexDID(blockchainService.dock.api, issuerDID);
|
|
45
|
-
queryOptions.issuers = {
|
|
46
|
-
AnyOf: [issuerDIDMethodKey],
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
if (verifierDID) {
|
|
51
|
-
const verifierDIDMethodKey = typedHexDID(
|
|
52
|
-
blockchainService.dock.api,
|
|
53
|
-
verifierDID,
|
|
54
|
-
);
|
|
55
|
-
queryOptions.verifiers = {
|
|
56
|
-
AnyOf: [verifierDIDMethodKey],
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
const registryInfo = await blockchainService.dock.trustRegistry?.registriesInfo(
|
|
61
|
-
queryOptions,
|
|
62
|
-
);
|
|
63
|
-
|
|
64
|
-
return registryInfo;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
async getTrustRegistryVerifiers({schemaId, trustRegistryId, issuerDID}) {
|
|
68
|
-
validation.getTrustRegistryVerifiers({schemaId, trustRegistryId});
|
|
69
|
-
|
|
70
|
-
const hashedId = createHash('sha256').update(schemaId).digest('hex');
|
|
71
|
-
const schemaIdHex = '0x' + hashedId;
|
|
72
|
-
|
|
73
|
-
const issuerDIDMethodKey = issuerDID
|
|
74
|
-
? typedHexDID(blockchainService.dock.api, issuerDID)
|
|
75
|
-
: null;
|
|
76
|
-
|
|
77
|
-
const metadata =
|
|
78
|
-
await blockchainService.dock.trustRegistry.registrySchemasMetadata(
|
|
79
|
-
{
|
|
80
|
-
schemaIds: [schemaIdHex],
|
|
81
|
-
...(issuerDIDMethodKey && {
|
|
82
|
-
issuers: {
|
|
83
|
-
AnyOf: [issuerDIDMethodKey],
|
|
84
|
-
},
|
|
85
|
-
}),
|
|
86
|
-
},
|
|
87
|
-
trustRegistryId,
|
|
88
|
-
);
|
|
89
|
-
|
|
90
|
-
return metadata[schemaIdHex]?.verifiers;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
export const trustRegistryService = new TrustRegistryService();
|
package/src/test/axiosMocks.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import axios from 'axios';
|
|
2
|
-
import MockAdapter from 'axios-mock-adapter';
|
|
3
|
-
import successData from './fixtures/subscan-success.json';
|
|
4
|
-
import paramsFailure from './fixtures/subscan-failure.json';
|
|
5
|
-
import requestFailure from './fixtures/subscan-too-many-requests.json';
|
|
6
|
-
import {SUBSCAN_TRANSFER_URL} from '../core/subscan';
|
|
7
|
-
|
|
8
|
-
const mockAdapter = new MockAdapter(axios);
|
|
9
|
-
|
|
10
|
-
export function mockSubscanSuccess() {
|
|
11
|
-
mockAdapter.onPost(SUBSCAN_TRANSFER_URL).replyOnce(200, successData);
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export function mockSubscanParamsFailure() {
|
|
15
|
-
mockAdapter.onPost(SUBSCAN_TRANSFER_URL).replyOnce(200, paramsFailure);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export function mockSubscanRequestFailure() {
|
|
19
|
-
mockAdapter.onPost(SUBSCAN_TRANSFER_URL).replyOnce(429, requestFailure);
|
|
20
|
-
}
|