@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
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@docknetwork/wallet-sdk-wasm",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.10",
|
|
4
4
|
"license": "https://github.com/docknetwork/react-native-sdk/LICENSE",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -13,44 +13,23 @@
|
|
|
13
13
|
"build": "rm -rf lib && rollup -c && node ../../scripts/fix-build-imports.js ./lib"
|
|
14
14
|
},
|
|
15
15
|
"resolutions": {
|
|
16
|
-
"p-limit": "2.3.0"
|
|
17
|
-
"@polkadot/wasm-crypto": "6.3.1",
|
|
18
|
-
"@polkadot/rpc-core": "9.7.1",
|
|
19
|
-
"@polkadot/api": "9.7.1",
|
|
20
|
-
"@polkadot/keyring": "10.1.11",
|
|
21
|
-
"@polkadot/rpc-provider": "9.7.1",
|
|
22
|
-
"@polkadot/types": "9.7.1",
|
|
23
|
-
"@polkadot/types-known": "9.7.1",
|
|
24
|
-
"@polkadot/util": "10.1.11",
|
|
25
|
-
"@polkadot/util-crypto": "10.1.11"
|
|
16
|
+
"p-limit": "2.3.0"
|
|
26
17
|
},
|
|
27
18
|
"dependencies": {
|
|
19
|
+
"p-limit": "2.3.0",
|
|
28
20
|
"@astronautlabs/jsonpath": "^1.1.2",
|
|
29
21
|
"@docknetwork/universal-wallet": "^2.0.1",
|
|
30
|
-
"@docknetwork/wallet-sdk-dids": "^1.5.
|
|
22
|
+
"@docknetwork/wallet-sdk-dids": "^1.5.10",
|
|
31
23
|
"@cosmjs/proto-signing": "^0.32.4",
|
|
32
24
|
"@docknetwork/cheqd-blockchain-api": "0.36.1",
|
|
33
|
-
"@docknetwork/dock-blockchain-api": "0.23.0",
|
|
34
25
|
"@docknetwork/cheqd-blockchain-modules": "0.33.0",
|
|
35
|
-
"@
|
|
36
|
-
"@
|
|
37
|
-
"@polkadot/rpc-core": "9.7.1",
|
|
38
|
-
"@polkadot/rpc-provider": "9.7.1",
|
|
39
|
-
"@polkadot/types": "9.7.1",
|
|
40
|
-
"@polkadot/types-known": "9.7.1",
|
|
41
|
-
"@polkadot/ui-shared": "3.4.1",
|
|
42
|
-
"@polkadot/util": "10.1.11",
|
|
43
|
-
"@polkadot/util-crypto": "10.1.11",
|
|
44
|
-
"@polkadot/wasm-crypto": "6.3.1",
|
|
26
|
+
"@scure/bip39": "^1.6.0",
|
|
27
|
+
"@noble/hashes": "1.8.0",
|
|
45
28
|
"@docknetwork/credential-sdk": "0.50.0",
|
|
46
|
-
"@docknetwork/dock-blockchain-modules": "0.30.0",
|
|
47
29
|
"@sphereon/oid4vci-client": "^0.16.0",
|
|
48
30
|
"@sphereon/oid4vci-common": "^0.16.0",
|
|
49
31
|
"axios": "^0.25.0",
|
|
50
|
-
"babel-node": "^0.0.1-security",
|
|
51
|
-
"bignumber.js": "^9.0.1",
|
|
52
32
|
"json-rpc-2.0": "^0.2.16",
|
|
53
|
-
"react-native-keychain": "^8.0.0",
|
|
54
33
|
"uuid": "^8.3.2",
|
|
55
34
|
"winston": "^3.3.3",
|
|
56
35
|
"cwait": "1.1.2",
|
package/readme.md
CHANGED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
# Dock Wallet SDK
|
|
2
|
-
|
|
3
|
-
The Dock Wallet SDK provides all the required functions to build a PolkaDot Wallet on top of a [Universal Wallet 2020](https://w3c-ccg.github.io/universal-wallet-interop-spec/) document storage. It supports both Node.js and React Native.
|
|
4
|
-
|
|
5
|
-
For React Native usage please check [@docknetwork/wallet-sdk-react-native](https://www.npmjs.com/package/@docknetwork/wallet-sdk-react-native)
|
|
6
|
-
|
|
7
|
-
This is the core package and includes basic functionalities such as:
|
|
8
|
-
- Document storage following [Universal Wallet 2020 spec](https://w3c-ccg.github.io/universal-wallet-interop-spec/)
|
|
9
|
-
- Manage a wallet (CRUD)
|
|
10
|
-
- Manage accounts (CRUD)
|
|
11
|
-
- Fetch account balances
|
|
12
|
-
- Wallet/Account backup
|
|
13
|
-
- Import wallet/accounts
|
|
14
|
-
|
|
15
|
-
You might require to install extra packages depending on your needs, please refer to:
|
|
16
|
-
- [@docknetwork/wallet-sdk-react-native](https://www.npmjs.com/package/@docknetwork/wallet-sdk-react-native)
|
|
17
|
-
- [@docknetwork/wallet-sdk-dids](https://www.npmjs.com/package/@docknetwork/wallet-sdk-dids)
|
|
18
|
-
- [@docknetwork/wallet-sdk-transactions](https://www.npmjs.com/package/@docknetwork/wallet-sdk-transactions)
|
|
19
|
-
- [@docknetwork/wallet-sdk-credentials](https://www.npmjs.com/package/@docknetwork/wallet-sdk-credentials)
|
|
20
|
-
|
|
21
|
-
## Installation
|
|
22
|
-
```js
|
|
23
|
-
yarn add @docknetwork/wallet-sdk-core
|
|
24
|
-
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
## React Native Example
|
|
29
|
-
|
|
30
|
-
```js
|
|
31
|
-
import {Wallet} from '@docknetwork/wallet-sdk-core/lib/modules/wallet';
|
|
32
|
-
|
|
33
|
-
const wallet = await Wallet.create();
|
|
34
|
-
|
|
35
|
-
const account1 = await wallet.accounts.create({
|
|
36
|
-
name: 'test',
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
console.log(`Account1 address ${account1.address}`);
|
|
40
|
-
// result: Account1 address 3D1M9UnR684eBfVujjQr6ucPqvXERSxYxcVBFGAhRohhRXxq
|
|
41
|
-
|
|
42
|
-
// Create account using an existing mnemonic
|
|
43
|
-
const mnemonic =
|
|
44
|
-
'indicate mention thing discover clarify grief inherit vivid dish health market spoil';
|
|
45
|
-
const account2 = await wallet.accounts.create({
|
|
46
|
-
name: 'Test',
|
|
47
|
-
mnemonic,
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
console.log(`Account2 address ${account2.address}`);
|
|
51
|
-
|
|
52
|
-
// result: Account2 address 3FENesfZgFmBruv2H9Hc17GmobeTfxFAp8gHKXFmUtA38hcW
|
|
53
|
-
|
|
54
|
-
// Fetch accounts balance
|
|
55
|
-
const balance = await account1.getBalance();
|
|
56
|
-
|
|
57
|
-
console.log('Account1 balance', balance);
|
|
58
|
-
|
|
59
|
-
// result: Account1 balance 0
|
|
60
|
-
|
|
61
|
-
```
|
|
@@ -1,33 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
formatAddress,
|
|
3
|
-
formatCurrency,
|
|
4
|
-
formatDate,
|
|
5
|
-
getPlainDockAmount,
|
|
6
|
-
} from './format-utils';
|
|
7
|
-
|
|
8
|
-
const sr25519Address = '395pw1L5R4XiScC2BGRrSSSH6fadFuGSTfUcqA5cHPyA21eQ';
|
|
9
|
-
const ed25519Address = '38yWnWt8k3j5BuxssLAH43t5cNevxyShkCAMEx8su3nSsayh';
|
|
1
|
+
import {formatCurrency, formatDate} from './format-utils';
|
|
10
2
|
|
|
11
3
|
describe('Format util', () => {
|
|
12
|
-
it('expect to format sr25519 address', () => {
|
|
13
|
-
expect(formatAddress(sr25519Address)).toBe('395pw1L5R...5cHPyA21eQ');
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
it('expect to format ed25519Address address', () => {
|
|
17
|
-
expect(formatAddress(ed25519Address)).toBe('38yWnWt8k...8su3nSsayh');
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
it('expect to validate address length', () => {
|
|
21
|
-
expect(formatAddress(sr25519Address, sr25519Address.length + 10)).toBe(
|
|
22
|
-
sr25519Address,
|
|
23
|
-
);
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
it('getPlainDockAmount', () => {
|
|
27
|
-
const amount = getPlainDockAmount(10);
|
|
28
|
-
expect(amount.toNumber()).toBe(10000000);
|
|
29
|
-
});
|
|
30
|
-
|
|
31
4
|
it('formatCurrency', () => {
|
|
32
5
|
const result = formatCurrency(12.55);
|
|
33
6
|
expect(result).toBe('$12.55');
|
package/src/core/format-utils.ts
CHANGED
|
@@ -6,10 +6,6 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import assert from 'assert';
|
|
9
|
-
import BigNumber from 'bignumber.js';
|
|
10
|
-
import {isNumberValid} from './validation';
|
|
11
|
-
|
|
12
|
-
export const DOCK_TOKEN_UNIT = 1000000;
|
|
13
9
|
|
|
14
10
|
/**
|
|
15
11
|
* Format number as currency
|
|
@@ -44,35 +40,6 @@ export function formatCurrency(
|
|
|
44
40
|
return formatter.format(value);
|
|
45
41
|
}
|
|
46
42
|
|
|
47
|
-
export function formatAddress(address, size = 19) {
|
|
48
|
-
assert(!!address, 'address is required');
|
|
49
|
-
assert(typeof address === 'string', 'address must be a string');
|
|
50
|
-
|
|
51
|
-
if (!address || size > address.length) {
|
|
52
|
-
return address;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
const offset = size / 2;
|
|
56
|
-
|
|
57
|
-
return `${address.substring(0, offset)}...${address.substring(
|
|
58
|
-
address.length - offset,
|
|
59
|
-
)}`;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
export function formatDockAmount(value) {
|
|
63
|
-
assert(!!value, 'value is required');
|
|
64
|
-
assert(isNumberValid(value), 'value is not valid');
|
|
65
|
-
|
|
66
|
-
return BigNumber(value).dividedBy(DOCK_TOKEN_UNIT).toNumber();
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
export function getPlainDockAmount(value) {
|
|
70
|
-
assert(!!value, 'value is required');
|
|
71
|
-
assert(isNumberValid(value), 'value is not valid');
|
|
72
|
-
|
|
73
|
-
return BigNumber(value).times(DOCK_TOKEN_UNIT);
|
|
74
|
-
}
|
|
75
|
-
|
|
76
43
|
/**
|
|
77
44
|
*
|
|
78
45
|
* @param date
|
|
@@ -1,41 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
assertAddress,
|
|
4
|
-
assertTokenAmount,
|
|
5
|
-
isAddressValid,
|
|
6
|
-
isNumberValid,
|
|
7
|
-
} from './validation';
|
|
1
|
+
import {isNumberValid} from './validation';
|
|
8
2
|
|
|
9
3
|
describe('core validation', () => {
|
|
10
|
-
it('isAddressValid', () => {
|
|
11
|
-
expect(isAddressValid(' ')).toBeFalsy();
|
|
12
|
-
expect(isAddressValid(' ')).toBeFalsy();
|
|
13
|
-
expect(isAddressValid('')).toBeFalsy();
|
|
14
|
-
expect(isAddressValid(null)).toBeFalsy();
|
|
15
|
-
expect(isAddressValid(undefined)).toBeFalsy();
|
|
16
|
-
expect(isAddressValid(123)).toBeFalsy();
|
|
17
|
-
expect(isAddressValid('address')).toBeTruthy();
|
|
18
|
-
});
|
|
19
|
-
|
|
20
4
|
it('isNumberValid', () => {
|
|
21
|
-
expect(isNumberValid('100000000')).toBeTruthy();
|
|
22
5
|
expect(isNumberValid('this is not valid')).toBeFalsy();
|
|
23
6
|
expect(isNumberValid(false)).toBeFalsy();
|
|
24
7
|
expect(isNumberValid(10)).toBeTruthy();
|
|
25
|
-
expect(isNumberValid(BigNumber(1))).toBeTruthy();
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
it('assertAddress', () => {
|
|
29
|
-
expect(() => assertAddress(' ')).toThrow(`invalid address: ${' '}`);
|
|
30
|
-
expect(() => assertAddress(null)).toThrow('invalid address: null');
|
|
31
|
-
expect(() => assertAddress('address')).not.toThrow();
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
it('assertTokenAmount', () => {
|
|
35
|
-
expect(() => assertTokenAmount(' ')).toThrow('invalid token amount');
|
|
36
|
-
expect(() => assertTokenAmount('abc')).toThrow('invalid token amount');
|
|
37
|
-
expect(() => assertTokenAmount(null)).toThrow('invalid token amount');
|
|
38
|
-
expect(() => assertTokenAmount('10')).not.toThrow();
|
|
39
|
-
expect(() => assertTokenAmount(100)).not.toThrow();
|
|
40
8
|
});
|
|
41
9
|
});
|
package/src/core/validation.ts
CHANGED
|
@@ -1,16 +1,11 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
|
-
import BigNumber from 'bignumber.js';
|
|
3
2
|
import assert from 'assert';
|
|
4
3
|
import {KeypairTypes} from '../types';
|
|
5
4
|
|
|
6
5
|
export {assert};
|
|
7
6
|
|
|
8
7
|
export function isNumberValid(v: any) {
|
|
9
|
-
|
|
10
|
-
return true;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
return !isNaN(parseInt(v, 10));
|
|
8
|
+
return typeof v === 'number' && !isNaN(v);
|
|
14
9
|
}
|
|
15
10
|
|
|
16
11
|
export function assertKeyType(type) {
|
|
@@ -24,22 +19,3 @@ export function assertPassword(password) {
|
|
|
24
19
|
assert(typeof password === 'string', `invalid password: ${password}`);
|
|
25
20
|
}
|
|
26
21
|
|
|
27
|
-
export function assertTokenAmount(amount) {
|
|
28
|
-
assert(isNumberValid(amount), 'invalid token amount');
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export function assertAddress(address, name = 'address') {
|
|
32
|
-
assert(isAddressValid(address), `invalid ${name}: ${address}`);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export function isAddressValid(address) {
|
|
36
|
-
if (!address || typeof address !== 'string') {
|
|
37
|
-
return false;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
if (!address.trim()) {
|
|
41
|
-
return false;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
return true;
|
|
45
|
-
}
|
package/src/rpc-server.test.js
CHANGED
|
@@ -1,15 +1,8 @@
|
|
|
1
1
|
import {utilCryptoService} from './services/util-crypto/service';
|
|
2
|
-
import {walletService} from './services/wallet';
|
|
3
2
|
|
|
4
3
|
describe('RpcServer', () => {
|
|
5
|
-
it('expect to register walletService', async () => {
|
|
6
|
-
const timestamp = Date.now();
|
|
7
|
-
const result = await walletService.healthCheck(timestamp);
|
|
8
|
-
expect(result).toBe(`wallet: ${timestamp}`);
|
|
9
|
-
});
|
|
10
|
-
|
|
11
4
|
it('expect to register utilCrypto', async () => {
|
|
12
|
-
const result = await utilCryptoService.
|
|
13
|
-
expect(result).
|
|
5
|
+
const result = await utilCryptoService.mnemonicGenerate(12);
|
|
6
|
+
expect(result).toBeDefined();
|
|
14
7
|
});
|
|
15
8
|
});
|
package/src/rpc-util.js
CHANGED
|
@@ -3,6 +3,12 @@ import {decryptData, SECURE_JSON_RPC} from './core/crypto';
|
|
|
3
3
|
import {Logger} from './core/logger';
|
|
4
4
|
|
|
5
5
|
export function createMethodResolver({service, methodFn, methodName}) {
|
|
6
|
+
if (methodFn === undefined) {
|
|
7
|
+
throw new Error(
|
|
8
|
+
`Resolver is undefined for ${methodName} in ${service.name}`,
|
|
9
|
+
);
|
|
10
|
+
}
|
|
11
|
+
|
|
6
12
|
const methodPath = `${service.name}.${methodName}`;
|
|
7
13
|
|
|
8
14
|
return {
|
|
@@ -58,6 +64,14 @@ export function createRpcService(service) {
|
|
|
58
64
|
}
|
|
59
65
|
|
|
60
66
|
return methods.map(methodFn => {
|
|
67
|
+
if (methodFn === undefined) {
|
|
68
|
+
throw new Error(
|
|
69
|
+
`Method is undefined in ${
|
|
70
|
+
service.name
|
|
71
|
+
}, available methods: ${Object.keys(service.rpcMethods).join(', ')}`,
|
|
72
|
+
);
|
|
73
|
+
}
|
|
74
|
+
|
|
61
75
|
return createMethodResolver({
|
|
62
76
|
methodFn,
|
|
63
77
|
methodName: methodFn.name,
|
|
@@ -1,34 +1,23 @@
|
|
|
1
1
|
import {NetworkManager} from '../../modules/network-manager';
|
|
2
|
-
import {assertRpcService
|
|
2
|
+
import {assertRpcService} from '../test-utils';
|
|
3
3
|
import {validation} from './configs';
|
|
4
4
|
import {blockchainService as service} from './service';
|
|
5
5
|
import {BlockchainServiceRpc} from './service-rpc';
|
|
6
6
|
|
|
7
|
-
const doConnect = (
|
|
8
|
-
address = NetworkManager.getInstance().getNetworkInfo().substrateUrl,
|
|
9
|
-
) =>
|
|
10
|
-
service.init({
|
|
11
|
-
address,
|
|
12
|
-
});
|
|
13
|
-
|
|
14
7
|
describe('DockService', () => {
|
|
15
8
|
it('ServiceRpc', () => {
|
|
16
9
|
assertRpcService(BlockchainServiceRpc, service, validation);
|
|
17
10
|
});
|
|
18
11
|
|
|
19
12
|
describe('init', () => {
|
|
20
|
-
afterEach(async () => {
|
|
21
|
-
await service.disconnect();
|
|
22
|
-
});
|
|
23
|
-
|
|
24
13
|
it('connect and disconnect substrate node', async () => {
|
|
25
|
-
const
|
|
26
|
-
|
|
14
|
+
const result = await service.init({
|
|
15
|
+
cheqdApiUrl: NetworkManager.getInstance().getNetworkInfo().cheqdApiUrl,
|
|
16
|
+
});
|
|
27
17
|
expect(result).toBe(true);
|
|
28
18
|
expect(service.isBlockchainReady).toBeTruthy();
|
|
29
19
|
await service.disconnect();
|
|
30
20
|
expect(service.isBlockchainReady).toBeFalsy();
|
|
31
|
-
mock.clear();
|
|
32
21
|
});
|
|
33
22
|
});
|
|
34
23
|
});
|
|
@@ -12,12 +12,6 @@ import {
|
|
|
12
12
|
WILDCARD,
|
|
13
13
|
} from '@docknetwork/credential-sdk/resolver';
|
|
14
14
|
import {initializeWasm} from '@docknetwork/crypto-wasm-ts/lib/index';
|
|
15
|
-
|
|
16
|
-
import {DockAPI} from '@docknetwork/dock-blockchain-api';
|
|
17
|
-
import {
|
|
18
|
-
DockCoreModules,
|
|
19
|
-
DockDIDModule,
|
|
20
|
-
} from '@docknetwork/dock-blockchain-modules';
|
|
21
15
|
import {EventEmitter} from 'events';
|
|
22
16
|
import {Logger} from '../../core/logger';
|
|
23
17
|
import {once} from '../../modules/event-manager';
|
|
@@ -27,47 +21,25 @@ import {InitParams} from './configs';
|
|
|
27
21
|
export const universalResolverUrl = 'https://uniresolver.truvera.io';
|
|
28
22
|
|
|
29
23
|
import {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
DockAccumulatorCommon,
|
|
34
|
-
DockAccumulatorId,
|
|
35
|
-
DockAccumulatorPublicKey,
|
|
24
|
+
AccumulatorCommon,
|
|
25
|
+
AccumulatorId,
|
|
26
|
+
AccumulatorPublicKey,
|
|
36
27
|
} from '@docknetwork/credential-sdk/types';
|
|
37
28
|
|
|
38
29
|
class AnyDIDResolver extends ResolverRouter {
|
|
39
30
|
method = WILDCARD;
|
|
40
31
|
}
|
|
41
32
|
|
|
42
|
-
const {AccumulatorModule: AccumulatorModuleDock} = DockCoreModules;
|
|
43
|
-
const {AccumulatorModule: AccumulatorModuleCheqd} = CheqdCoreModules;
|
|
44
|
-
|
|
45
|
-
const TYPES_FOR_DID = {
|
|
46
|
-
dock: {
|
|
47
|
-
PublicKey: DockAccumulatorPublicKey,
|
|
48
|
-
AccumulatorId: DockAccumulatorId,
|
|
49
|
-
AccumulatorCommon: DockAccumulatorCommon,
|
|
50
|
-
AccumulatorModule: AccumulatorModuleDock,
|
|
51
|
-
},
|
|
52
|
-
cheqd: {
|
|
53
|
-
PublicKey: CheqdAccumulatorPublicKey,
|
|
54
|
-
AccumulatorId: CheqdAccumulatorId,
|
|
55
|
-
AccumulatorCommon: CheqdAccumulatorCommon,
|
|
56
|
-
AccumulatorModule: AccumulatorModuleCheqd,
|
|
57
|
-
},
|
|
58
|
-
};
|
|
59
|
-
|
|
60
33
|
/**
|
|
61
34
|
*
|
|
62
35
|
*/
|
|
63
36
|
export class BlockchainService {
|
|
64
37
|
dock;
|
|
65
38
|
modules;
|
|
66
|
-
didModule;
|
|
67
39
|
cheqdApi;
|
|
40
|
+
cheqdApiUrl;
|
|
68
41
|
isBlockchainReady = false;
|
|
69
42
|
resolver: any;
|
|
70
|
-
dockEnabled: boolean;
|
|
71
43
|
static Events = {
|
|
72
44
|
BLOCKCHAIN_READY: 'blockchain-ready',
|
|
73
45
|
};
|
|
@@ -82,32 +54,20 @@ export class BlockchainService {
|
|
|
82
54
|
|
|
83
55
|
constructor() {
|
|
84
56
|
this.name = 'blockchain';
|
|
85
|
-
this.dock = new DockAPI();
|
|
86
57
|
this.cheqdApi = new CheqdAPI();
|
|
87
|
-
this.didModule = new DockDIDModule(this.dock);
|
|
88
|
-
this.dockModules = new DockCoreModules(this.dock);
|
|
89
58
|
this.cheqdModules = new CheqdCoreModules(this.cheqdApi);
|
|
90
|
-
this.modules = new MultiApiCoreModules(
|
|
91
|
-
this.dockEnabled
|
|
92
|
-
? [this.dockModules, this.cheqdModules]
|
|
93
|
-
: [this.cheqdModules],
|
|
94
|
-
);
|
|
59
|
+
this.modules = new MultiApiCoreModules([this.cheqdModules]);
|
|
95
60
|
this.emitter = new EventEmitter();
|
|
96
61
|
this.resolver = this.createDIDResolver();
|
|
97
62
|
}
|
|
98
63
|
|
|
99
64
|
getTypesForDIDOrAccumulator(didOrRegistryId) {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
if (!types) {
|
|
106
|
-
throw new APIError(
|
|
107
|
-
`Unable to use DID type ${didType} for this operation`,
|
|
108
|
-
);
|
|
65
|
+
return {
|
|
66
|
+
PublicKey: AccumulatorPublicKey,
|
|
67
|
+
AccumulatorId,
|
|
68
|
+
AccumulatorCommon,
|
|
69
|
+
AccumulatorModule: this.modules.accumulator,
|
|
109
70
|
}
|
|
110
|
-
return types;
|
|
111
71
|
}
|
|
112
72
|
|
|
113
73
|
/**
|
|
@@ -135,63 +95,48 @@ export class BlockchainService {
|
|
|
135
95
|
* @returns
|
|
136
96
|
*/
|
|
137
97
|
async init(params: InitParams) {
|
|
138
|
-
if (
|
|
139
|
-
|
|
98
|
+
if (!params?.cheqdApiUrl) {
|
|
99
|
+
throw new Error('cheqdApiUrl is required');
|
|
140
100
|
}
|
|
141
101
|
|
|
142
102
|
if (this.cheqdApi && this.cheqdApi.isInitialized()) {
|
|
103
|
+
Logger.info('Disconnecting from cheqd');
|
|
143
104
|
await this.cheqdApi.disconnect();
|
|
144
105
|
}
|
|
145
106
|
|
|
146
|
-
|
|
107
|
+
this.modules = new MultiApiCoreModules([this.cheqdModules]);
|
|
147
108
|
|
|
148
|
-
|
|
109
|
+
const checkdApiUrl = params?.cheqdApiUrl;
|
|
110
|
+
const cheqdNetworkId = params?.networkId;
|
|
111
|
+
const cheqdMnemonic =
|
|
112
|
+
params?.cheqdMnemonic || (await utilCryptoService.mnemonicGenerate(12));
|
|
149
113
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
});
|
|
154
|
-
Logger.info(`Substrate initialized at: ${params.address}`);
|
|
155
|
-
}
|
|
114
|
+
const wallet = await DirectSecp256k1HdWallet.fromMnemonic(cheqdMnemonic, {
|
|
115
|
+
prefix: 'cheqd',
|
|
116
|
+
});
|
|
156
117
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
: [this.cheqdModules],
|
|
161
|
-
);
|
|
118
|
+
const walletAccounts = await wallet.getAccounts();
|
|
119
|
+
const [{address}] = walletAccounts;
|
|
120
|
+
console.log('Using cheqd account:', address);
|
|
162
121
|
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
params?.cheqdMnemonic || (await utilCryptoService.mnemonicGenerate(12));
|
|
122
|
+
Logger.info(
|
|
123
|
+
`Attempt to initialized cheqd at: ${checkdApiUrl} with networkId: ${cheqdNetworkId}`,
|
|
124
|
+
);
|
|
125
|
+
Logger.info(`Using cheqd account: ${address}`);
|
|
168
126
|
|
|
169
|
-
|
|
170
|
-
|
|
127
|
+
try {
|
|
128
|
+
await this.cheqdApi.init({
|
|
129
|
+
wallet,
|
|
130
|
+
url: checkdApiUrl,
|
|
131
|
+
network: cheqdNetworkId,
|
|
171
132
|
});
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
Logger.info(
|
|
178
|
-
`Attempt to initialized cheqd at: ${checkdApiUrl} with networkId: ${cheqdNetworkId}`,
|
|
179
|
-
);
|
|
180
|
-
Logger.info(`Using cheqd account: ${address}`);
|
|
181
|
-
|
|
182
|
-
try {
|
|
183
|
-
await this.cheqdApi.init({
|
|
184
|
-
wallet,
|
|
185
|
-
url: checkdApiUrl,
|
|
186
|
-
network: cheqdNetworkId,
|
|
187
|
-
});
|
|
188
|
-
Logger.info(`Cheqd initialized at: ${checkdApiUrl}`);
|
|
189
|
-
} catch (err) {
|
|
190
|
-
Logger.error(`Failed to initialize cheqd at: ${checkdApiUrl}`);
|
|
191
|
-
}
|
|
133
|
+
Logger.info(`Cheqd initialized at: ${checkdApiUrl}`);
|
|
134
|
+
} catch (err) {
|
|
135
|
+
console.error(err);
|
|
136
|
+
debugger;
|
|
137
|
+
Logger.error(`Failed to initialize cheqd at: ${checkdApiUrl}`);
|
|
192
138
|
}
|
|
193
139
|
|
|
194
|
-
this.address = params.address;
|
|
195
140
|
|
|
196
141
|
this.resolver = this.createDIDResolver();
|
|
197
142
|
|
|
@@ -214,10 +159,6 @@ export class BlockchainService {
|
|
|
214
159
|
async disconnect() {
|
|
215
160
|
let result;
|
|
216
161
|
|
|
217
|
-
if (this.dockEnabled) {
|
|
218
|
-
result = await this.dock.disconnect();
|
|
219
|
-
}
|
|
220
|
-
|
|
221
162
|
if (this.cheqdApi && this.cheqdApi.isInitialized()) {
|
|
222
163
|
result = await this.cheqdApi.disconnect();
|
|
223
164
|
}
|
|
@@ -246,7 +187,7 @@ export class BlockchainService {
|
|
|
246
187
|
}
|
|
247
188
|
|
|
248
189
|
async getAddress() {
|
|
249
|
-
return this.
|
|
190
|
+
return this.cheqdApiUrl;
|
|
250
191
|
}
|
|
251
192
|
|
|
252
193
|
_setBlockchainReady(isBlockchainReady) {
|
|
@@ -7,8 +7,9 @@ import {
|
|
|
7
7
|
VBWitnessUpdateInfo,
|
|
8
8
|
Encoder,
|
|
9
9
|
} from '@docknetwork/crypto-wasm-ts';
|
|
10
|
+
// @ts-ignore
|
|
11
|
+
import {hexToU8a} from '@docknetwork/credential-sdk/utils';
|
|
10
12
|
|
|
11
|
-
import {hexToU8a} from '@polkadot/util';
|
|
12
13
|
import {
|
|
13
14
|
blockchainService,
|
|
14
15
|
} from '../blockchain/service';
|
|
@@ -374,16 +374,16 @@ describe('Bound check', () => {
|
|
|
374
374
|
});
|
|
375
375
|
|
|
376
376
|
describe('isBase64OrDataUrl', () => {
|
|
377
|
-
it('expect to return true for base64 string', () => {
|
|
378
|
-
expect(isBase64OrDataUrl('
|
|
377
|
+
it('expect to return true for base64 string', async () => {
|
|
378
|
+
expect(await isBase64OrDataUrl('SGVsbG8gV29ybGQ=')).toBe(true);
|
|
379
379
|
});
|
|
380
380
|
|
|
381
|
-
it('expect to return true for data URL', () => {
|
|
382
|
-
expect(isBase64OrDataUrl('data:application/octet-stream;base64,base64string')).toBe(true);
|
|
381
|
+
it('expect to return true for data URL', async () => {
|
|
382
|
+
expect(await isBase64OrDataUrl('data:application/octet-stream;base64,base64string')).toBe(true);
|
|
383
383
|
});
|
|
384
384
|
|
|
385
|
-
it('expect to return false for other strings', () => {
|
|
386
|
-
expect(isBase64OrDataUrl('http://
|
|
385
|
+
it('expect to return false for other strings', async () => {
|
|
386
|
+
expect(await isBase64OrDataUrl('http://workspace.truvera.io/some-key')).toBe(false);
|
|
387
387
|
});
|
|
388
388
|
});
|
|
389
389
|
});
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {LegoProvingKey} from '@docknetwork/crypto-wasm-ts/lib/legosnark';
|
|
2
2
|
import {PresentationBuilder} from '@docknetwork/crypto-wasm-ts/lib';
|
|
3
|
-
import {isBase64} from '@polkadot/util-crypto';
|
|
4
3
|
import base64url from 'base64url';
|
|
5
4
|
import {pexToBounds} from './pex-helpers';
|
|
5
|
+
import {utilCryptoService} from '../util-crypto/service';
|
|
6
6
|
|
|
7
7
|
interface Filter {
|
|
8
8
|
type: string;
|
|
@@ -110,9 +110,9 @@ export function blobFromBase64(base64String: string): Uint8Array {
|
|
|
110
110
|
return base64url.toBuffer(cleanedBase64);
|
|
111
111
|
}
|
|
112
112
|
|
|
113
|
-
export function isBase64OrDataUrl(str: string): boolean {
|
|
113
|
+
export async function isBase64OrDataUrl(str: string): Promise<boolean> {
|
|
114
114
|
return (
|
|
115
|
-
isBase64(str) ||
|
|
115
|
+
(await utilCryptoService.isBase64(str)) ||
|
|
116
116
|
(str as string).indexOf('data:application/octet-stream') > -1
|
|
117
117
|
);
|
|
118
118
|
}
|
|
@@ -120,7 +120,7 @@ export function isBase64OrDataUrl(str: string): boolean {
|
|
|
120
120
|
export async function fetchProvingKey(proofRequest: ProofRequest) {
|
|
121
121
|
let blob: Uint8Array;
|
|
122
122
|
|
|
123
|
-
if (isBase64OrDataUrl(proofRequest.boundCheckSnarkKey)) {
|
|
123
|
+
if (await isBase64OrDataUrl(proofRequest.boundCheckSnarkKey)) {
|
|
124
124
|
console.log('Is base64');
|
|
125
125
|
blob = blobFromBase64(proofRequest.boundCheckSnarkKey);
|
|
126
126
|
} else {
|
|
@@ -3,13 +3,11 @@ import {credentialService as service} from './service';
|
|
|
3
3
|
import {validation} from './config';
|
|
4
4
|
import * as credentialUtils from '@docknetwork/credential-sdk/vc';
|
|
5
5
|
import {CredentialServiceRPC} from './service-rpc';
|
|
6
|
-
import {getTestWallet} from '../../test/setup-test-state';
|
|
7
6
|
import {OpenID4VCIClientV1_0_13} from '@sphereon/oid4vci-client';
|
|
8
7
|
import {didService} from '../dids/service';
|
|
9
8
|
|
|
10
9
|
describe('Credential Service', () => {
|
|
11
10
|
beforeAll(async () => {
|
|
12
|
-
await getTestWallet();
|
|
13
11
|
const mockAddCredentialToPresent = jest.fn(() => 0);
|
|
14
12
|
const mockAddAttributeToReveal = jest.fn();
|
|
15
13
|
const mockCreatePresentation = jest.fn();
|