@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,18 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
import {SumParams, validation} from './configs';
|
|
3
|
-
|
|
4
|
-
export class ExampleService {
|
|
5
|
-
rpcMethods = [ExampleService.prototype.sum];
|
|
6
|
-
|
|
7
|
-
constructor() {
|
|
8
|
-
this.name = 'example';
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
sum(params: SumParams) {
|
|
12
|
-
validation.sum(params);
|
|
13
|
-
|
|
14
|
-
return params.number1 + params.number2;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export const exampleService: ExampleService = new ExampleService();
|
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
import assert from 'assert';
|
|
3
|
-
import {assertKeyType} from '../../core/validation';
|
|
4
|
-
|
|
5
|
-
export const validation = {
|
|
6
|
-
addFromJson({jsonData, password}: AddFromJsonParams) {
|
|
7
|
-
assert(typeof jsonData === 'object', 'invalid jsonData');
|
|
8
|
-
assert(typeof password === 'string', 'invalid password');
|
|
9
|
-
},
|
|
10
|
-
initialize({ss58Format, type}: InitializeParams) {
|
|
11
|
-
assert(typeof ss58Format === 'number', 'invalid ss58Format');
|
|
12
|
-
|
|
13
|
-
if (type) {
|
|
14
|
-
assertKeyType(type);
|
|
15
|
-
}
|
|
16
|
-
},
|
|
17
|
-
addFromMnemonic({mnemonic, meta, type}: AddFromMnemonicParams) {
|
|
18
|
-
assert(typeof mnemonic === 'string', 'invalid mnemonic');
|
|
19
|
-
|
|
20
|
-
if (type) {
|
|
21
|
-
assertKeyType(type);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
if (meta) {
|
|
25
|
-
assert(typeof meta === 'object', 'invalid meta');
|
|
26
|
-
}
|
|
27
|
-
},
|
|
28
|
-
getKeyringPair(params: GetKeyringParams) {
|
|
29
|
-
const {mnemonic, derivePath, meta, type} = params;
|
|
30
|
-
|
|
31
|
-
assert(
|
|
32
|
-
!params.keyPairType,
|
|
33
|
-
'invalid parameter keyPairType, you should use type instead',
|
|
34
|
-
);
|
|
35
|
-
|
|
36
|
-
assert(typeof mnemonic === 'string', 'invalid mnemonic');
|
|
37
|
-
|
|
38
|
-
if (derivePath) {
|
|
39
|
-
assert(typeof derivePath === 'string', 'invalid derivePath');
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
if (type) {
|
|
43
|
-
assertKeyType(type);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
if (meta) {
|
|
47
|
-
assert(typeof meta === 'object', 'invalid meta');
|
|
48
|
-
}
|
|
49
|
-
},
|
|
50
|
-
createFromPair(params: CreateFromPairParams) {
|
|
51
|
-
const {pair, meta, type} = params;
|
|
52
|
-
|
|
53
|
-
assert(typeof pair === 'object', 'invalid pair');
|
|
54
|
-
assert(pair.publicKey instanceof Uint8Array, 'invalid publicKey');
|
|
55
|
-
assert(pair.secretKey instanceof Uint8Array, 'invalid secretKey');
|
|
56
|
-
|
|
57
|
-
if (type) {
|
|
58
|
-
assertKeyType(type);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
if (meta) {
|
|
62
|
-
assert(typeof meta === 'object', 'invalid meta');
|
|
63
|
-
}
|
|
64
|
-
},
|
|
65
|
-
|
|
66
|
-
signData(params: SignDataParams) {
|
|
67
|
-
assert(!!params.keyPair, 'invalid keypair');
|
|
68
|
-
assert(!!params.data, 'invalid data');
|
|
69
|
-
},
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
validation.addressFromUri = validation.getKeyringPair;
|
|
73
|
-
|
|
74
|
-
export const serviceName = 'keyring';
|
|
75
|
-
|
|
76
|
-
export type GetKeyringParams = {
|
|
77
|
-
mnemonic: string,
|
|
78
|
-
meta?: any,
|
|
79
|
-
type?: string,
|
|
80
|
-
derivePath?: string,
|
|
81
|
-
};
|
|
82
|
-
|
|
83
|
-
export type CreateFromPairParams = {
|
|
84
|
-
pair: any,
|
|
85
|
-
meta?: any,
|
|
86
|
-
type?: string,
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
export type AddressFromUriParams = GetKeyringParams;
|
|
90
|
-
|
|
91
|
-
export type AddFromJsonParams = {
|
|
92
|
-
jsonData: string,
|
|
93
|
-
password: string,
|
|
94
|
-
};
|
|
95
|
-
|
|
96
|
-
export type InitializeParams = {
|
|
97
|
-
ss58Format: number,
|
|
98
|
-
type?: string,
|
|
99
|
-
};
|
|
100
|
-
|
|
101
|
-
export type AddFromMnemonicParams = {
|
|
102
|
-
mnemonic: string,
|
|
103
|
-
meta?: any,
|
|
104
|
-
type: string,
|
|
105
|
-
};
|
|
106
|
-
|
|
107
|
-
export type SignDataParams = {
|
|
108
|
-
keyPair: any,
|
|
109
|
-
data: any,
|
|
110
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {keyringService} from './service';
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import {mnemonicGenerate} from '@polkadot/util-crypto';
|
|
2
|
-
import {NetworkManager} from '../../modules/network-manager';
|
|
3
|
-
import {assertRpcService, getPromiseError} from '../test-utils';
|
|
4
|
-
import {validation} from './configs';
|
|
5
|
-
import {keyringService as service} from './service';
|
|
6
|
-
import {KeyringServiceRpc} from './service-rpc';
|
|
7
|
-
|
|
8
|
-
describe('KeyringService', () => {
|
|
9
|
-
it('ServiceRpc', () => {
|
|
10
|
-
assertRpcService(KeyringServiceRpc, service, validation);
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
describe('service', () => {
|
|
14
|
-
beforeAll(async () => {});
|
|
15
|
-
|
|
16
|
-
describe('initialize', () => {
|
|
17
|
-
it('expect to initialize keyring', async () => {
|
|
18
|
-
await service.initialize({
|
|
19
|
-
ss58Format:
|
|
20
|
-
NetworkManager.getInstance().getNetworkInfo().addressPrefix,
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
expect(service.keyring).toBeDefined();
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
it('expect to validate params', async () => {
|
|
27
|
-
const error = await getPromiseError(() => service.initialize({}));
|
|
28
|
-
expect(error.message).toBe('invalid ss58Format');
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
describe('addFromMnemonic', () => {
|
|
33
|
-
it('expect to add keypair from mnemonic', async () => {
|
|
34
|
-
await service.addFromMnemonic({
|
|
35
|
-
mnemonic: mnemonicGenerate(12),
|
|
36
|
-
});
|
|
37
|
-
|
|
38
|
-
expect(service.keyring).toBeDefined();
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
it('expect to validate params', async () => {
|
|
42
|
-
const error = await getPromiseError(() => service.addFromMnemonic({}));
|
|
43
|
-
|
|
44
|
-
expect(error.message).toBe('invalid mnemonic');
|
|
45
|
-
});
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
});
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import {RpcService} from '../rpc-service-client';
|
|
2
|
-
import {
|
|
3
|
-
AddFromJsonParams,
|
|
4
|
-
AddFromMnemonicParams,
|
|
5
|
-
AddressFromUriParams,
|
|
6
|
-
GetKeyringParams,
|
|
7
|
-
serviceName,
|
|
8
|
-
validation,
|
|
9
|
-
SignDataParams,
|
|
10
|
-
} from './configs';
|
|
11
|
-
|
|
12
|
-
export class KeyringServiceRpc extends RpcService {
|
|
13
|
-
constructor() {
|
|
14
|
-
super(serviceName);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
initialize(params: InitializeParams) {
|
|
18
|
-
validation.initialize(params);
|
|
19
|
-
return this.call('initialize', params);
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
addFromMnemonic(params: AddFromMnemonicParams) {
|
|
23
|
-
validation.addFromMnemonic(params);
|
|
24
|
-
return this.call('addFromMnemonic', params);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
addFromJson(params: AddFromJsonParams) {
|
|
28
|
-
validation.addFromJson(params);
|
|
29
|
-
return this.call('addFromJson', params);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
decryptKeyPair(params: AddFromJsonParams) {
|
|
33
|
-
validation.addFromJson(params);
|
|
34
|
-
return this.call('decryptKeyPair', params);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
getKeyringPair(params: GetKeyringParams) {
|
|
38
|
-
validation.getKeyringPair(params);
|
|
39
|
-
return this.call('getKeyringPair', params);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
getKeyringPairJSON(params: GetKeyringParams) {
|
|
43
|
-
validation.getKeyringPair(params);
|
|
44
|
-
return this.call('getKeyringPairJSON', params);
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
addressFromUri(params: AddressFromUriParams) {
|
|
48
|
-
validation.addressFromUri(params);
|
|
49
|
-
return this.call('addressFromUri', params);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
signData(params: SignDataParams) {
|
|
53
|
-
validation.signData(params);
|
|
54
|
-
return this.call('signData', params);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
import Keyring from '@polkadot/keyring';
|
|
3
|
-
import {cryptoWaitReady} from '@polkadot/util-crypto';
|
|
4
|
-
import {
|
|
5
|
-
AddFromJsonParams,
|
|
6
|
-
AddFromMnemonicParams,
|
|
7
|
-
CreateFromUriParams,
|
|
8
|
-
CreateFromPairParams,
|
|
9
|
-
InitializeParams,
|
|
10
|
-
serviceName,
|
|
11
|
-
validation,
|
|
12
|
-
SignDataParams,
|
|
13
|
-
} from './configs';
|
|
14
|
-
|
|
15
|
-
export function getKeyring() {
|
|
16
|
-
return keyringService.keyring;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export class KeyringService {
|
|
20
|
-
keyring: Keyring;
|
|
21
|
-
|
|
22
|
-
rpcMethods = [
|
|
23
|
-
KeyringService.prototype.addFromJson,
|
|
24
|
-
KeyringService.prototype.addFromMnemonic,
|
|
25
|
-
KeyringService.prototype.addressFromUri,
|
|
26
|
-
KeyringService.prototype.getKeyringPair,
|
|
27
|
-
KeyringService.prototype.getKeyringPairJSON,
|
|
28
|
-
KeyringService.prototype.initialize,
|
|
29
|
-
KeyringService.prototype.signData,
|
|
30
|
-
KeyringService.prototype.decryptKeyPair,
|
|
31
|
-
];
|
|
32
|
-
|
|
33
|
-
constructor() {
|
|
34
|
-
this.name = serviceName;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
async initialize(params: InitializeParams) {
|
|
38
|
-
await cryptoWaitReady();
|
|
39
|
-
|
|
40
|
-
validation.initialize(params);
|
|
41
|
-
|
|
42
|
-
this.keyring = new Keyring(params);
|
|
43
|
-
|
|
44
|
-
return true;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
addFromMnemonic({mnemonic, meta, type}: AddFromMnemonicParams) {
|
|
48
|
-
validation.addFromMnemonic({mnemonic, meta, type});
|
|
49
|
-
return this.keyring.addFromMnemonic(mnemonic, meta, type);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
decryptKeyPair({jsonData, password}: {keyPair: any, password: string}) {
|
|
53
|
-
validation.addFromJson({jsonData, password});
|
|
54
|
-
|
|
55
|
-
const pair = this.keyring.addFromJson(jsonData);
|
|
56
|
-
|
|
57
|
-
pair.unlock(password);
|
|
58
|
-
|
|
59
|
-
return pair;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
addFromJson({jsonData, password}: AddFromJsonParams) {
|
|
63
|
-
validation.addFromJson({jsonData, password});
|
|
64
|
-
|
|
65
|
-
const pair = this.keyring.addFromJson(jsonData);
|
|
66
|
-
|
|
67
|
-
pair.unlock(password);
|
|
68
|
-
|
|
69
|
-
return pair.toJson();
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
signData(params: SignDataParams): any {
|
|
73
|
-
validation.signData(params);
|
|
74
|
-
const account = this.keyring.addFromPair(params.keyPair);
|
|
75
|
-
return account.sign(params.data);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
getKeyringPair(params: CreateFromUriParams): KeyringPair {
|
|
79
|
-
validation.getKeyringPair(params);
|
|
80
|
-
|
|
81
|
-
const {mnemonic, meta, type, derivePath = ''} = params;
|
|
82
|
-
|
|
83
|
-
return this.keyring.createFromUri(
|
|
84
|
-
`${mnemonic.trim()}${derivePath}`,
|
|
85
|
-
meta,
|
|
86
|
-
type,
|
|
87
|
-
);
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
createFromPair(params: CreateFromPairParams): KeyringPair {
|
|
91
|
-
validation.createFromPair(params);
|
|
92
|
-
|
|
93
|
-
const {pair, meta, type} = params;
|
|
94
|
-
|
|
95
|
-
return this.keyring.createFromPair(
|
|
96
|
-
pair,
|
|
97
|
-
meta,
|
|
98
|
-
type,
|
|
99
|
-
);
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
getKeyringPairJSON(params: CreateFromUriParams): KeyringPair {
|
|
103
|
-
return this.getKeyringPair(params).toJson();
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
addressFromUri(params: CreateFromUriParams) {
|
|
107
|
-
return this.getKeyringPair(params).address;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
export const keyringService: KeyringService = new KeyringService();
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
import {assertAddress} from '../../core/validation';
|
|
3
|
-
|
|
4
|
-
export const validation = {
|
|
5
|
-
getAddressSvg({address, isAlternative}: GetAddressSvgParams) {
|
|
6
|
-
assertAddress(address);
|
|
7
|
-
},
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
export type GetAddressSvgParams = {
|
|
11
|
-
address: string,
|
|
12
|
-
isAlternative?: boolean,
|
|
13
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {polkadotService} from './service';
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import {TestFixtures} from '../../fixtures';
|
|
2
|
-
import {assertRpcService, getPromiseError} from '../test-utils';
|
|
3
|
-
import {validation} from './configs';
|
|
4
|
-
import {polkadotService as service} from './service';
|
|
5
|
-
import {PolkadotServiceRpc} from './service-rpc';
|
|
6
|
-
|
|
7
|
-
describe('PolkadotService', () => {
|
|
8
|
-
it('ServiceRpc', () => {
|
|
9
|
-
assertRpcService(PolkadotServiceRpc, service, validation);
|
|
10
|
-
});
|
|
11
|
-
|
|
12
|
-
describe('service', () => {
|
|
13
|
-
beforeAll(async () => {});
|
|
14
|
-
|
|
15
|
-
describe('getAddressSvg', () => {
|
|
16
|
-
it('expect to getAddressSvg', async () => {
|
|
17
|
-
const result = await service.getAddressSvg({
|
|
18
|
-
address: TestFixtures.account1.address,
|
|
19
|
-
});
|
|
20
|
-
expect(result).toEqual([
|
|
21
|
-
{cx: 32, cy: 32, fill: '#eee', r: 32},
|
|
22
|
-
{cx: 32, cy: 8, fill: 'hsl(118, 63%, 53%)', r: 5},
|
|
23
|
-
{cx: 32, cy: 20, fill: 'hsl(348, 63%, 35%)', r: 5},
|
|
24
|
-
{cx: 21.607695154586736, cy: 14, fill: 'hsl(225, 63%, 35%)', r: 5},
|
|
25
|
-
{cx: 11.215390309173472, cy: 20, fill: 'hsl(11, 63%, 75%)', r: 5},
|
|
26
|
-
{cx: 21.607695154586736, cy: 26, fill: 'hsl(264, 63%, 15%)', r: 5},
|
|
27
|
-
{cx: 11.215390309173472, cy: 32, fill: 'hsl(56, 63%, 15%)', r: 5},
|
|
28
|
-
{cx: 11.215390309173472, cy: 44, fill: 'hsl(95, 63%, 75%)', r: 5},
|
|
29
|
-
{cx: 21.607695154586736, cy: 38, fill: 'hsl(163, 63%, 75%)', r: 5},
|
|
30
|
-
{cx: 21.607695154586736, cy: 50, fill: 'hsl(33, 63%, 53%)', r: 5},
|
|
31
|
-
{cx: 32, cy: 56, fill: 'hsl(213, 63%, 75%)', r: 5},
|
|
32
|
-
{cx: 32, cy: 44, fill: 'hsl(281, 63%, 15%)', r: 5},
|
|
33
|
-
{cx: 42.392304845413264, cy: 50, fill: 'hsl(33, 63%, 53%)', r: 5},
|
|
34
|
-
{cx: 52.78460969082653, cy: 44, fill: 'hsl(95, 63%, 75%)', r: 5},
|
|
35
|
-
{cx: 42.392304845413264, cy: 38, fill: 'hsl(163, 63%, 75%)', r: 5},
|
|
36
|
-
{cx: 52.78460969082653, cy: 32, fill: 'hsl(56, 63%, 15%)', r: 5},
|
|
37
|
-
{cx: 52.78460969082653, cy: 20, fill: 'hsl(11, 63%, 75%)', r: 5},
|
|
38
|
-
{cx: 42.392304845413264, cy: 26, fill: 'hsl(264, 63%, 15%)', r: 5},
|
|
39
|
-
{cx: 42.392304845413264, cy: 14, fill: 'hsl(225, 63%, 35%)', r: 5},
|
|
40
|
-
{cx: 32, cy: 32, fill: 'hsl(39, 63%, 15%)', r: 5},
|
|
41
|
-
]);
|
|
42
|
-
});
|
|
43
|
-
|
|
44
|
-
it('expect to validate params', async () => {
|
|
45
|
-
const error = await getPromiseError(() =>
|
|
46
|
-
service.getAddressSvg({address: undefined}),
|
|
47
|
-
);
|
|
48
|
-
expect(error.message).toBe('invalid address: undefined');
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
});
|
|
52
|
-
});
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import {RpcService} from '../rpc-service-client';
|
|
2
|
-
import {GetAddressSvgParams, validation} from './configs';
|
|
3
|
-
|
|
4
|
-
export class PolkadotServiceRpc extends RpcService {
|
|
5
|
-
constructor() {
|
|
6
|
-
super('polkadot');
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
getAddressSvg(params: GetAddressSvgParams): Promise<any> {
|
|
10
|
-
validation.getAddressSvg(params);
|
|
11
|
-
return this.call('getAddressSvg', params);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
import {polkadotIcon} from '@polkadot/ui-shared/cjs/icons/index';
|
|
3
|
-
import {GetAddressSvgParams, validation} from './configs';
|
|
4
|
-
|
|
5
|
-
export class PolkadotService {
|
|
6
|
-
rpcMethods = [PolkadotService.prototype.getAddressSvg];
|
|
7
|
-
|
|
8
|
-
constructor() {
|
|
9
|
-
this.name = 'polkadot';
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
async getAddressSvg(params: GetAddressSvgParams) {
|
|
13
|
-
validation.getAddressSvg(params);
|
|
14
|
-
|
|
15
|
-
return polkadotIcon(params.address, {
|
|
16
|
-
isAlternative: params.isAlternative,
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export const polkadotService: PolkadotService = new PolkadotService();
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import {DOCK_TOKEN_UNIT} from '../../core/format-utils';
|
|
2
|
-
import {TestFixtures} from '../../fixtures';
|
|
3
|
-
import {once} from '../../modules/event-manager';
|
|
4
|
-
import {blockchainService} from '../blockchain/service';
|
|
5
|
-
import {mockDockService, setMockTransactionError} from '../test-utils';
|
|
6
|
-
import {signAndSend} from './api-utils';
|
|
7
|
-
import {substrateService} from './service';
|
|
8
|
-
|
|
9
|
-
describe('ApiUtils', () => {
|
|
10
|
-
let unmockDockService;
|
|
11
|
-
|
|
12
|
-
beforeAll(async () => {
|
|
13
|
-
unmockDockService = await mockDockService();
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
describe('signAndSend', () => {
|
|
17
|
-
it('expect to send tokens', async () => {
|
|
18
|
-
const account = TestFixtures.account1.getKeyring();
|
|
19
|
-
blockchainService.dock.setAccount(account);
|
|
20
|
-
const extrinsic = blockchainService.dock.api.tx.balances.transfer(
|
|
21
|
-
TestFixtures.account2.address,
|
|
22
|
-
1,
|
|
23
|
-
);
|
|
24
|
-
setMockTransactionError(null);
|
|
25
|
-
const emitter = signAndSend(account, extrinsic);
|
|
26
|
-
const [result] = await once(emitter, 'done');
|
|
27
|
-
|
|
28
|
-
console.log('tx hash', result);
|
|
29
|
-
|
|
30
|
-
expect(typeof result).toBe('string');
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
it('expect to get error: Inability to pay fees', async () => {
|
|
34
|
-
const account = TestFixtures.noBalanceAccount.getKeyring();
|
|
35
|
-
blockchainService.dock.setAccount(account);
|
|
36
|
-
const extrinsic = blockchainService.dock.api.tx.balances.transfer(
|
|
37
|
-
TestFixtures.account2.address,
|
|
38
|
-
1,
|
|
39
|
-
);
|
|
40
|
-
const errorMessage =
|
|
41
|
-
'1010: Invalid Transaction: Inability to pay some fees , e.g. account balance too low';
|
|
42
|
-
|
|
43
|
-
setMockTransactionError(errorMessage);
|
|
44
|
-
const emitter = signAndSend(account, extrinsic);
|
|
45
|
-
const error = await once(emitter, 'error');
|
|
46
|
-
|
|
47
|
-
expect(error.message).toBe(errorMessage);
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
it('expect to get error: Not enough balance', async () => {
|
|
51
|
-
const account = TestFixtures.account1.getKeyring();
|
|
52
|
-
blockchainService.dock.setAccount(account);
|
|
53
|
-
const balance = await substrateService.getAccountBalance({
|
|
54
|
-
address: TestFixtures.account1.address,
|
|
55
|
-
});
|
|
56
|
-
const extrinsic = blockchainService.dock.api.tx.balances.transfer(
|
|
57
|
-
TestFixtures.account2.address,
|
|
58
|
-
balance * 2 * DOCK_TOKEN_UNIT,
|
|
59
|
-
);
|
|
60
|
-
|
|
61
|
-
const errorMessage =
|
|
62
|
-
'balances.InsufficientBalance: Balance too low to send value';
|
|
63
|
-
|
|
64
|
-
setMockTransactionError(errorMessage);
|
|
65
|
-
const emitter = signAndSend(account, extrinsic);
|
|
66
|
-
const error = await once(emitter, 'error');
|
|
67
|
-
|
|
68
|
-
expect(error.message).toBe(errorMessage);
|
|
69
|
-
});
|
|
70
|
-
});
|
|
71
|
-
|
|
72
|
-
afterAll(() => unmockDockService);
|
|
73
|
-
});
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
import assert from 'assert';
|
|
3
|
-
import {EventEmitter} from 'events';
|
|
4
|
-
import {Logger} from '../../core/logger';
|
|
5
|
-
import {blockchainService} from '../blockchain/service';
|
|
6
|
-
|
|
7
|
-
export const extrisicErrorsFilter = ({event}) => {
|
|
8
|
-
return blockchainService.dock.api.events.system.ExtrinsicFailed.is(event);
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
export const mapEventToErrorMessage = ({event}) => {
|
|
12
|
-
assert(!!event, 'event is required');
|
|
13
|
-
|
|
14
|
-
const [error] = event.data;
|
|
15
|
-
assert(!!error, 'error is required');
|
|
16
|
-
|
|
17
|
-
if (error.isModule) {
|
|
18
|
-
// for module errors, we have the section indexed, lookup
|
|
19
|
-
const decoded = blockchainService.dock.api.registry.findMetaError(error.asModule);
|
|
20
|
-
const {docs, method, section} = decoded;
|
|
21
|
-
|
|
22
|
-
return `${section}.${method}: ${docs.join(' ')}`;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
return error.toString();
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
export const getExtrinsicErrors = ({status, events}) =>
|
|
29
|
-
events.filter(extrisicErrorsFilter).map(mapEventToErrorMessage);
|
|
30
|
-
|
|
31
|
-
export function signAndSend(account, extrinsic: any): EventEmitter {
|
|
32
|
-
const emitter = new EventEmitter();
|
|
33
|
-
|
|
34
|
-
function execute() {
|
|
35
|
-
extrinsic
|
|
36
|
-
.signAndSend(account, result => {
|
|
37
|
-
const {status} = result;
|
|
38
|
-
|
|
39
|
-
Logger.debug(`extrinsic update ${JSON.stringify(result)}`);
|
|
40
|
-
|
|
41
|
-
if (status.isInBlock || status.isFinalized) {
|
|
42
|
-
const errors = getExtrinsicErrors(result);
|
|
43
|
-
|
|
44
|
-
if (!errors.length) {
|
|
45
|
-
return emitter.emit('done', status.toHex());
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
emitter.emit('error', new Error(errors[0]));
|
|
49
|
-
emitter.emit('errors', errors);
|
|
50
|
-
} else if (status.isInvalid) {
|
|
51
|
-
emitter.emit('error', new Error('Transaction status is invalid'));
|
|
52
|
-
} else if (status.isDropped) {
|
|
53
|
-
emitter.emit('error', new Error('Transaction status dropped'));
|
|
54
|
-
} else if (status.isRetracted) {
|
|
55
|
-
emitter.emit('error', new Error('Transaction status is retracted'));
|
|
56
|
-
}
|
|
57
|
-
})
|
|
58
|
-
.catch(err => {
|
|
59
|
-
emitter.emit('error', err);
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
setTimeout(execute, 1);
|
|
64
|
-
|
|
65
|
-
return emitter;
|
|
66
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
// @ts-nocheck
|
|
2
|
-
import assert from 'assert';
|
|
3
|
-
import {isAddressValid, isNumberValid} from '../../core/validation';
|
|
4
|
-
|
|
5
|
-
const assertTransaction = ({
|
|
6
|
-
toAddress,
|
|
7
|
-
fromAddress,
|
|
8
|
-
amount,
|
|
9
|
-
}: TransactionParams) => {
|
|
10
|
-
assert(isAddressValid(toAddress), 'invalid toAddress');
|
|
11
|
-
assert(isAddressValid(fromAddress), 'invalid fromAddress');
|
|
12
|
-
assert(isNumberValid(amount), 'invalid amount');
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
export const validation = {
|
|
16
|
-
getAccountBalance({address}: GetAccountBalanceParams) {
|
|
17
|
-
assert(isAddressValid(address), `invalid address ${address}`);
|
|
18
|
-
},
|
|
19
|
-
getFeeAmount: assertTransaction,
|
|
20
|
-
sendTokens: assertTransaction,
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
export const serviceName = 'substrate';
|
|
24
|
-
|
|
25
|
-
export type GetAccountBalanceParams = {
|
|
26
|
-
address: string,
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
export type TransactionParams = {
|
|
30
|
-
toAddress: string,
|
|
31
|
-
fromAddress: string,
|
|
32
|
-
amount: number | string,
|
|
33
|
-
transferAll?: boolean,
|
|
34
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {substrateService} from './service';
|