@cityofzion/bs-neo3 0.9.3 → 0.10.0
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/.rush/temp/operation/build/state.json +1 -1
- package/.rush/temp/package-deps_build.json +8 -7
- package/.rush/temp/shrinkwrap-deps.json +99 -18
- package/CHANGELOG.json +17 -0
- package/CHANGELOG.md +8 -1
- package/dist/BSNeo3.d.ts +5 -2
- package/dist/BSNeo3.js +21 -10
- package/dist/LedgerServiceNeo3.d.ts +12 -0
- package/dist/LedgerServiceNeo3.js +93 -0
- package/dist/RpcBDSNeo3.js +6 -2
- package/package.json +8 -8
- package/src/BSNeo3.ts +31 -9
- package/src/LedgerServiceNeo3.ts +107 -0
- package/src/RpcBDSNeo3.ts +4 -2
- package/src/__tests__/BSNeo3.spec.ts +26 -0
|
@@ -2,19 +2,20 @@
|
|
|
2
2
|
"files": {
|
|
3
3
|
"packages/bs-neo3/.eslintignore": "3ee402c88b68258919e4f4b4eef4f25e5d078d90",
|
|
4
4
|
"packages/bs-neo3/.eslintrc.cjs": "5ec0bf6332ec01b3e02beb532bb47025c4c1bf7b",
|
|
5
|
-
"packages/bs-neo3/CHANGELOG.json": "
|
|
6
|
-
"packages/bs-neo3/CHANGELOG.md": "
|
|
5
|
+
"packages/bs-neo3/CHANGELOG.json": "0688f602e3434f9ed65b1ead92b26ee7e44fc684",
|
|
6
|
+
"packages/bs-neo3/CHANGELOG.md": "b6c76db44e9267156107719375c84649dd1bb5e1",
|
|
7
7
|
"packages/bs-neo3/jest.config.ts": "d944475db93cbe41a9339187fd94b9962e411c43",
|
|
8
8
|
"packages/bs-neo3/jest.setup.ts": "9a1976a32050616d4d2ee95b1aa21041bc4daca3",
|
|
9
|
-
"packages/bs-neo3/package.json": "
|
|
10
|
-
"packages/bs-neo3/src/BSNeo3.ts": "
|
|
9
|
+
"packages/bs-neo3/package.json": "bec4d27adae5e4f00064c6d66c75b41e09befa43",
|
|
10
|
+
"packages/bs-neo3/src/BSNeo3.ts": "aba770bbc30b53f63b5dc7eb57ecdde1e75c4c64",
|
|
11
11
|
"packages/bs-neo3/src/DoraBDSNeo3.ts": "35c2e26cc2c19e41c4dceb226e00238bdca45c87",
|
|
12
12
|
"packages/bs-neo3/src/DoraESNeo3.ts": "c3d36ee5c38cda45c08f517c49976af6d69c5711",
|
|
13
13
|
"packages/bs-neo3/src/FlamingoEDSNeo3.ts": "2a67c9716bc005210dbb9c0e5208a7576af44686",
|
|
14
14
|
"packages/bs-neo3/src/GhostMarketNDSNeo3.ts": "fb7109adfc16c652c56fa06ee14bbd58b9b61ceb",
|
|
15
|
-
"packages/bs-neo3/src/
|
|
15
|
+
"packages/bs-neo3/src/LedgerServiceNeo3.ts": "afd3b243d286c53c5a37d0949bf648f4ebb1b331",
|
|
16
|
+
"packages/bs-neo3/src/RpcBDSNeo3.ts": "402c3fdaa09992e6ebc8241db8633e12b285c8c9",
|
|
16
17
|
"packages/bs-neo3/src/__tests__/BDSNeo3.spec.ts": "5dc529cc41f64df6b603821c48fae282fed99220",
|
|
17
|
-
"packages/bs-neo3/src/__tests__/BSNeo3.spec.ts": "
|
|
18
|
+
"packages/bs-neo3/src/__tests__/BSNeo3.spec.ts": "ecd2ad60cdb1123c5eb9b8001bfc5a088f4b014b",
|
|
18
19
|
"packages/bs-neo3/src/__tests__/DoraESNeo3.spec.ts": "450e087014c22b1a289e64dd80ff3e6ddfd8c932",
|
|
19
20
|
"packages/bs-neo3/src/__tests__/FlamingoEDSNeo3.spec.ts": "473b1aafe03031a28a8414dfa681b06f843acdf6",
|
|
20
21
|
"packages/bs-neo3/src/__tests__/GhostMarketNDSNeo3.spec.ts": "c1e835ab5016e8b8d7b3747cc0ed752093dbb967",
|
|
@@ -25,7 +26,7 @@
|
|
|
25
26
|
"packages/bs-neo3/src/index.ts": "bad314a9ba14b57075684c9b823a934863bac6b2",
|
|
26
27
|
"packages/bs-neo3/tsconfig.build.json": "4dc23fb9c4c5e4d19a9bc3947a47c523f4bd967c",
|
|
27
28
|
"packages/bs-neo3/tsconfig.json": "77cf2b789e9c665b62792f9992cc81ae86296ef7",
|
|
28
|
-
"packages/bs-neo3/.rush/temp/shrinkwrap-deps.json": "
|
|
29
|
+
"packages/bs-neo3/.rush/temp/shrinkwrap-deps.json": "d7141f31b9d802b7f2128a871ea0fe2b4b4f8c6b"
|
|
29
30
|
},
|
|
30
31
|
"arguments": "tsc --project tsconfig.build.json "
|
|
31
32
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"../../packages/bs-neo3": "../../packages/bs-neo3:
|
|
2
|
+
"../../packages/bs-neo3": "../../packages/bs-neo3:hPpOd6A7ug1tp/DUghV5Bau5gBlIUJLSvHGFRpTUKnk=:",
|
|
3
3
|
"/@aashutoshrathi/word-wrap@1.2.6": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==",
|
|
4
4
|
"/@ampproject/remapping@2.2.1": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==",
|
|
5
5
|
"/@babel/code-frame@7.23.5": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==",
|
|
@@ -40,13 +40,11 @@
|
|
|
40
40
|
"/@babel/types@7.23.9": "sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==",
|
|
41
41
|
"/@bcoe/v8-coverage@0.2.3": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==",
|
|
42
42
|
"/@cityofzion/dora-ts@0.0.11": "sha512-LJWGU29BHPTHkt0i/OwhNdMfUGM/rgAa4rqlDwBy95spxSoUHGSoAtOD5k4aSVKmLFwq77ghNna0Lpc7lEuHBA==",
|
|
43
|
-
"/@cityofzion/
|
|
44
|
-
"/@cityofzion/
|
|
45
|
-
"/@cityofzion/neon-
|
|
46
|
-
"/@cityofzion/neon-
|
|
47
|
-
"/@cityofzion/neon-
|
|
48
|
-
"/@cityofzion/neon-js@5.3.0": "sha512-mtKBtYJoTJjJFnGw6Lrlo0OU2XGfPR4w71XIFfDfmoroadbRrZdVDn8KLhuJRXJP+atYJB3f0DmW6e6Ptp0M6g==",
|
|
49
|
-
"/@cityofzion/neon-parser@1.6.2": "sha512-1wG6qfRR3PNYm3eFqf0/sRSjLBJLVYDnXFnaWvgc31PzTrcCifUUR9ZJr2YWINmV9qnGuGCKlL2Cz+vkFfOA1g==",
|
|
43
|
+
"/@cityofzion/neon-api@5.4.0(@cityofzion/neon-core@5.5.1)": "sha512-FHjdq2RnZLK37Hpd71yhVMkmbhl/iyPrmmAiEKb4mf5/rLtbNaKEEEJsxRkSNasio9+14cd7+BecIZ/35L1Sbg==",
|
|
44
|
+
"/@cityofzion/neon-core@5.5.1": "sha512-cqJ+RYTdUVoUl2e3I5bqgAvYFuqGd2M8lmgUgH/+kf0zS0b8EuKwliauJ2EA56fudwaXtCmmHZTfRBFs+RJ2vw==",
|
|
45
|
+
"/@cityofzion/neon-dappkit-types@0.3.1": "sha512-bQA/EBQUU6ZPmDARXB0w6I2iJqdo4S2s3xERPN91wCHd9WMkCIrtec269X1Yjd9qGoVibLMyA3xjqrOTyUBpxw==",
|
|
46
|
+
"/@cityofzion/neon-dappkit@0.4.1": "sha512-cQy1y2zoTukK9fK4r7MfIXDRWy402ITVWuY9YhaQFz/XfFB9t6XqVwe3XcpTiePqBrgBRoeyGw79P3KCg3ZgZw==",
|
|
47
|
+
"/@cityofzion/neon-js@5.5.1": "sha512-iCoE5PGKy3Kj36dR3aevkVOKK4yB1Mq/0WEUQzrzMkGOGBNJXa2+cTtmSi39tDkgxSHibvS77S5oZ6QGIXMCdg==",
|
|
50
48
|
"/@cspotcode/source-map-support@0.8.1": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==",
|
|
51
49
|
"/@eslint-community/eslint-utils@4.4.0(eslint@8.56.0)": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
|
|
52
50
|
"/@eslint-community/regexpp@4.10.0": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==",
|
|
@@ -77,9 +75,21 @@
|
|
|
77
75
|
"/@jridgewell/sourcemap-codec@1.4.15": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
|
|
78
76
|
"/@jridgewell/trace-mapping@0.3.22": "sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==",
|
|
79
77
|
"/@jridgewell/trace-mapping@0.3.9": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
|
|
78
|
+
"/@ledgerhq/devices@8.2.2": "sha512-SKahGA4p0mZ3ovypOJ2wa5mUvUkArE3HBrwWKYf+cRs+t/Licp3OJfhj+DHIxP3AfyH2xR6CFFWECYHeKwGsDQ==",
|
|
79
|
+
"/@ledgerhq/errors@6.16.3": "sha512-3w7/SJVXOPa9mpzyll7VKoKnGwDD3BzWgN1Nom8byR40DiQvOKjHX+kKQausCedTHVNBn9euzPCNsftZ9+mxfw==",
|
|
80
|
+
"/@ledgerhq/hw-transport-node-hid-noevents@6.29.5": "sha512-KzLJtH4gzt8AROQm2x9GSPrlqH+Mf7e/UlgQI3ldLcZFJQIaXZUCVjn4EyhMMTwggqjLvczEQNDwZ0zvEiXWuA==",
|
|
81
|
+
"/@ledgerhq/hw-transport-node-hid@6.28.5": "sha512-vH5fu0SiM27gE5UqRwO4aySS2qu1tiCYMf4/XkkYafac4FLwqMIg03RyU7Wp+SQ3srMeXjSCsLbijF1kPSyTKQ==",
|
|
82
|
+
"/@ledgerhq/hw-transport@6.30.5": "sha512-JMl//7BgPBvWxrWyMu82jj6JEYtsQyOyhYtonWNgtxn6KUZWht3gU4gxmLpeIRr+DiS7e50mW7m3GA+EudZmmA==",
|
|
83
|
+
"/@ledgerhq/logs@6.12.0": "sha512-ExDoj1QV5eC6TEbMdLUMMk9cfvNKhhv5gXol4SmULRVCx/3iyCPhJ74nsb3S0Vb+/f+XujBEj3vQn5+cwS0fNA==",
|
|
84
|
+
"/@noble/curves@1.0.0": "sha512-2upgEu0iLiDVDZkNLeFV2+ht0BAVgQnEmCk6JsOch9Rp8xfkMCbvbAZlA2pBHQc73dbl+vFOXfqkf4uemdn0bw==",
|
|
85
|
+
"/@noble/hashes@1.3.0": "sha512-ilHEACi9DwqJB0pw7kv+Apvh50jiiSyR/cQ3y4W7lOR5mhvn/50FLUfsnfJz0BDZtl/RR16kXvptiv6q1msYZg==",
|
|
86
|
+
"/@noble/hashes@1.3.3": "sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==",
|
|
80
87
|
"/@nodelib/fs.scandir@2.1.5": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
|
|
81
88
|
"/@nodelib/fs.stat@2.0.5": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
|
|
82
89
|
"/@nodelib/fs.walk@1.2.8": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
|
|
90
|
+
"/@scure/base@1.1.6": "sha512-ok9AWwhcgYuGG3Zfhyqg+zwl+Wn5uE+dwC0NV/2qQkx4dABbb/bx96vWu8NSj+BNjjSjno+JRYRjle1jV08k3g==",
|
|
91
|
+
"/@scure/bip32@1.3.0": "sha512-bcKpo1oj54hGholplGLpqPHRbIsnbixFtc06nwuNM5/dwSXOq/AAYoIBRsBmnZJSdfeNW5rnff7NTAz3ZCqR9Q==",
|
|
92
|
+
"/@scure/bip39@1.2.0": "sha512-SX/uKq52cuxm4YFXWFaVByaSHJh2w3BnokVSeUJVCv6K7WulT9u2BuNRBhuFl8vAuYnzx9bEu9WgpcNYTrYieg==",
|
|
83
93
|
"/@sinclair/typebox@0.27.8": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==",
|
|
84
94
|
"/@sinonjs/commons@3.0.1": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==",
|
|
85
95
|
"/@sinonjs/fake-timers@10.3.0": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==",
|
|
@@ -100,6 +110,7 @@
|
|
|
100
110
|
"/@types/node@20.2.6": "sha512-GQBWUtGoefMEOx/vu+emHEHU5aw6JdDoEtZhoBrHFPZbA/YNRFfN996XbBASEWdvmLSLyv9FKYppYGyZjCaq/g==",
|
|
101
111
|
"/@types/semver@7.5.6": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==",
|
|
102
112
|
"/@types/stack-utils@2.0.3": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==",
|
|
113
|
+
"/@types/w3c-web-usb@1.0.10": "sha512-CHgUI5kTc/QLMP8hODUHhge0D4vx+9UiAwIGiT0sTy/B2XpdX1U5rJt6JSISgr6ikRT7vxV9EVAFeYZqUnl1gQ==",
|
|
103
114
|
"/@types/yargs-parser@21.0.3": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==",
|
|
104
115
|
"/@types/yargs@17.0.32": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
|
|
105
116
|
"/@typescript-eslint/eslint-plugin@6.20.0(@typescript-eslint/parser@6.20.0)(eslint@8.56.0)(typescript@4.9.5)": "sha512-fTwGQUnjhoYHeSF6m5pWNkzmDDdsKELYrOBxhjMrofPqCkoC2k3B2wvGHFxa1CTIqkEn88nlW1HVMztjo2K8Hg==",
|
|
@@ -126,7 +137,7 @@
|
|
|
126
137
|
"/argparse@1.0.10": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
|
|
127
138
|
"/argparse@2.0.1": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
|
|
128
139
|
"/array-union@2.1.0": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
|
|
129
|
-
"/
|
|
140
|
+
"/asn1.js@4.10.1": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
|
|
130
141
|
"/asynckit@0.4.0": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
|
|
131
142
|
"/axios@0.21.4": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==",
|
|
132
143
|
"/axios@1.5.1": "sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==",
|
|
@@ -138,28 +149,37 @@
|
|
|
138
149
|
"/balanced-match@1.0.2": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
|
|
139
150
|
"/base-x@4.0.0": "sha512-FuwxlW4H5kh37X/oW59pwTzzTKRzfrrQwhmyspRM7swOEZcHtDZSCt45U6oKgtuFE+WYPblePMVIPR4RZrh/hw==",
|
|
140
151
|
"/base64-js@1.5.1": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
|
|
152
|
+
"/bindings@1.5.0": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
|
|
153
|
+
"/bl@4.1.0": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==",
|
|
141
154
|
"/bn.js@4.12.0": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
|
|
142
|
-
"/bn.js@5.2.
|
|
155
|
+
"/bn.js@5.2.1": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==",
|
|
143
156
|
"/brace-expansion@1.1.11": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
|
|
144
157
|
"/brace-expansion@2.0.1": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
|
|
145
158
|
"/braces@3.0.2": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
|
|
146
159
|
"/brorand@1.1.0": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==",
|
|
160
|
+
"/browserify-aes@1.2.0": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
|
|
161
|
+
"/browserify-cipher@1.0.1": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
|
|
162
|
+
"/browserify-des@1.0.2": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
|
|
163
|
+
"/browserify-rsa@4.1.0": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==",
|
|
164
|
+
"/browserify-sign@4.2.3": "sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==",
|
|
147
165
|
"/browserslist@4.22.3": "sha512-UAp55yfwNv0klWNapjs/ktHoguxuQNGnOzxYmfnXIS+8AsRDZkSDxg7R1AX3GKzn078SBI5dzwzj/Yx0Or0e3A==",
|
|
148
166
|
"/bs-logger@0.2.6": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==",
|
|
149
167
|
"/bs58@5.0.0": "sha512-r+ihvQJvahgYT50JD05dyJNKlmmSlMoOGwn1lCcEzanPglg7TxYjioQUYehQ9mAR/+hOSd2jRc/Z2y5UxBymvQ==",
|
|
150
168
|
"/bser@2.1.1": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==",
|
|
151
169
|
"/buffer-from@1.1.2": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
|
|
170
|
+
"/buffer-xor@1.0.3": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==",
|
|
171
|
+
"/buffer@5.7.1": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
|
|
152
172
|
"/buffer@6.0.3": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
|
|
153
173
|
"/callsites@3.1.0": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
|
|
154
174
|
"/camelcase@5.3.1": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
|
|
155
175
|
"/camelcase@6.3.0": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
|
|
156
176
|
"/caniuse-lite@1.0.30001582": "sha512-vsJG3V5vgfduaQGVxL53uSX/HUzxyr2eA8xCo36OLal7sRcSZbibJtLeh0qja4sFOr/QQGt4opB4tOy+eOgAxg==",
|
|
157
|
-
"/chai@4.3.10": "sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==",
|
|
158
177
|
"/chalk@2.4.2": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
|
|
159
178
|
"/chalk@4.1.2": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
|
|
160
179
|
"/char-regex@1.0.2": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==",
|
|
161
|
-
"/
|
|
180
|
+
"/chownr@1.1.4": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
|
|
162
181
|
"/ci-info@3.9.0": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==",
|
|
182
|
+
"/cipher-base@1.0.4": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
|
|
163
183
|
"/cjs-module-lexer@1.2.3": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==",
|
|
164
184
|
"/cliui@8.0.1": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
|
|
165
185
|
"/co@4.6.0": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==",
|
|
@@ -171,28 +191,40 @@
|
|
|
171
191
|
"/combined-stream@1.0.8": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
|
|
172
192
|
"/concat-map@0.0.1": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
|
|
173
193
|
"/convert-source-map@2.0.0": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
|
|
194
|
+
"/core-util-is@1.0.3": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
|
|
195
|
+
"/create-ecdh@4.0.4": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==",
|
|
196
|
+
"/create-hash@1.2.0": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
|
|
197
|
+
"/create-hmac@1.1.7": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
|
|
174
198
|
"/create-jest@29.7.0(@types/node@20.2.6)(ts-node@10.9.1)": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==",
|
|
175
199
|
"/create-require@1.1.1": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
|
|
176
200
|
"/cross-fetch@3.1.8": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==",
|
|
177
201
|
"/cross-spawn@7.0.3": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
|
|
202
|
+
"/crypto-browserify@3.12.0": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
|
|
178
203
|
"/crypto-js@4.1.1": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==",
|
|
179
204
|
"/debug@4.3.4": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
|
|
180
205
|
"/decode-uri-component@0.2.2": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==",
|
|
206
|
+
"/decompress-response@6.0.0": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
|
|
181
207
|
"/dedent@1.5.1": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==",
|
|
182
|
-
"/deep-
|
|
208
|
+
"/deep-extend@0.6.0": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
|
|
183
209
|
"/deep-is@0.1.4": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
|
|
184
210
|
"/deepmerge@4.3.1": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
|
|
185
211
|
"/delayed-stream@1.0.0": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
|
|
212
|
+
"/des.js@1.1.0": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==",
|
|
213
|
+
"/detect-libc@2.0.3": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==",
|
|
186
214
|
"/detect-newline@3.1.0": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==",
|
|
187
215
|
"/diff-sequences@29.6.3": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==",
|
|
188
216
|
"/diff@4.0.2": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
|
|
217
|
+
"/diffie-hellman@5.0.3": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
|
|
189
218
|
"/dir-glob@3.0.1": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
|
|
190
219
|
"/doctrine@3.0.0": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
|
|
191
220
|
"/dotenv@16.3.1": "sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==",
|
|
192
221
|
"/electron-to-chromium@1.4.654": "sha512-hjfFa+Vj4WGLRVTlCQa+IivBkpcp+boGxMQfusOC/me5Y5NfU4wX7wyw+K9p8Cw4tl0BVIZGH2n7y/jMc3w4pg==",
|
|
193
222
|
"/elliptic@6.5.4": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==",
|
|
223
|
+
"/elliptic@6.5.5": "sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw==",
|
|
224
|
+
"/emitter-component@1.1.2": "sha512-QdXO3nXOzZB4pAjM0n6ZE+R9/+kPpECA/XSELIcc54NeYVnBqIk+4DFiBgK+8QbV3mdvTG6nedl7dTYgO+5wDw==",
|
|
194
225
|
"/emittery@0.13.1": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==",
|
|
195
226
|
"/emoji-regex@8.0.0": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
|
|
227
|
+
"/end-of-stream@1.4.4": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
|
|
196
228
|
"/error-ex@1.3.2": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
|
|
197
229
|
"/escalade@3.1.1": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
|
|
198
230
|
"/escape-string-regexp@1.0.5": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
|
|
@@ -207,9 +239,13 @@
|
|
|
207
239
|
"/esrecurse@4.3.0": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
|
|
208
240
|
"/estraverse@5.3.0": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
|
|
209
241
|
"/esutils@2.0.3": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
|
|
242
|
+
"/ethereum-cryptography@2.0.0": "sha512-g25m4EtfQGjstWgVE1aIz7XYYjf3kH5kG17ULWVB5dH6uLahsoltOhACzSxyDV+fhn4gbR4xRrOXGe6r2uh4Bg==",
|
|
210
243
|
"/event-target-shim@5.0.1": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==",
|
|
244
|
+
"/events@3.3.0": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
|
|
245
|
+
"/evp_bytestokey@1.0.3": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
|
|
211
246
|
"/execa@5.1.1": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
|
|
212
247
|
"/exit@0.1.2": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==",
|
|
248
|
+
"/expand-template@2.0.3": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==",
|
|
213
249
|
"/expect@29.7.0": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==",
|
|
214
250
|
"/fast-deep-equal@3.1.3": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
|
|
215
251
|
"/fast-glob@3.3.2": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
|
|
@@ -218,6 +254,7 @@
|
|
|
218
254
|
"/fastq@1.17.0": "sha512-zGygtijUMT7jnk3h26kUms3BkSDp4IfIKjmnqI2tvx6nuBfiF1UqOxbnLfzdv+apBy+53oaImsKtMw/xYbW+1w==",
|
|
219
255
|
"/fb-watchman@2.0.2": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==",
|
|
220
256
|
"/file-entry-cache@6.0.1": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
|
|
257
|
+
"/file-uri-to-path@1.0.0": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
|
|
221
258
|
"/fill-range@7.0.1": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
|
|
222
259
|
"/filter-obj@1.1.0": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==",
|
|
223
260
|
"/find-up@4.1.0": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
|
|
@@ -226,14 +263,15 @@
|
|
|
226
263
|
"/flatted@3.2.9": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==",
|
|
227
264
|
"/follow-redirects@1.15.5": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==",
|
|
228
265
|
"/form-data@4.0.0": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
|
|
266
|
+
"/fs-constants@1.0.0": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==",
|
|
229
267
|
"/fs.realpath@1.0.0": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
|
|
230
268
|
"/fsevents@2.3.3": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
|
|
231
269
|
"/function-bind@1.1.2": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
|
|
232
270
|
"/gensync@1.0.0-beta.2": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
|
|
233
271
|
"/get-caller-file@2.0.5": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
|
|
234
|
-
"/get-func-name@2.0.2": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==",
|
|
235
272
|
"/get-package-type@0.1.0": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
|
|
236
273
|
"/get-stream@6.0.1": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
|
|
274
|
+
"/github-from-package@0.0.0": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==",
|
|
237
275
|
"/glob-parent@5.1.2": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
|
|
238
276
|
"/glob-parent@6.0.2": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
|
|
239
277
|
"/glob@7.2.3": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
|
|
@@ -244,6 +282,8 @@
|
|
|
244
282
|
"/graphemer@1.4.0": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
|
|
245
283
|
"/has-flag@3.0.0": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
|
|
246
284
|
"/has-flag@4.0.0": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
|
|
285
|
+
"/hash-base@3.0.4": "sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow==",
|
|
286
|
+
"/hash-base@3.1.0": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==",
|
|
247
287
|
"/hash.js@1.1.7": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
|
|
248
288
|
"/hasown@2.0.0": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==",
|
|
249
289
|
"/hmac-drbg@1.0.1": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==",
|
|
@@ -256,6 +296,7 @@
|
|
|
256
296
|
"/imurmurhash@0.1.4": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
|
|
257
297
|
"/inflight@1.0.6": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
|
|
258
298
|
"/inherits@2.0.4": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
|
|
299
|
+
"/ini@1.3.8": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
|
|
259
300
|
"/is-arrayish@0.2.1": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
|
|
260
301
|
"/is-core-module@2.13.1": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==",
|
|
261
302
|
"/is-extglob@2.1.1": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
|
|
@@ -265,6 +306,7 @@
|
|
|
265
306
|
"/is-number@7.0.0": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
|
|
266
307
|
"/is-path-inside@3.0.3": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
|
|
267
308
|
"/is-stream@2.0.1": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
|
|
309
|
+
"/isarray@1.0.0": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
|
|
268
310
|
"/isexe@2.0.0": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
|
|
269
311
|
"/istanbul-lib-coverage@3.2.2": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==",
|
|
270
312
|
"/istanbul-lib-instrument@5.2.1": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==",
|
|
@@ -318,26 +360,36 @@
|
|
|
318
360
|
"/lodash.merge@4.6.2": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
|
|
319
361
|
"/lodash@4.17.21": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
|
|
320
362
|
"/loglevel-plugin-prefix@0.8.4": "sha512-WpG9CcFAOjz/FtNht+QJeGpvVl/cdR6P0z6OcXSkr8wFJOsV2GRj2j10JLfjuA4aYkcKCNIEqRGCyTife9R8/g==",
|
|
321
|
-
"/loglevel@1.8.
|
|
322
|
-
"/loupe@2.3.7": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==",
|
|
363
|
+
"/loglevel@1.8.1": "sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg==",
|
|
323
364
|
"/lru-cache@5.1.1": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
|
|
324
365
|
"/lru-cache@6.0.0": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
|
|
325
366
|
"/make-dir@4.0.0": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==",
|
|
326
367
|
"/make-error@1.3.6": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
|
|
327
368
|
"/makeerror@1.0.12": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==",
|
|
369
|
+
"/md5.js@1.3.5": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
|
|
328
370
|
"/merge-stream@2.0.0": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
|
|
329
371
|
"/merge2@1.4.1": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
|
|
330
372
|
"/micromatch@4.0.5": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
|
|
373
|
+
"/miller-rabin@4.0.1": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
|
|
331
374
|
"/mime-db@1.52.0": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
|
|
332
375
|
"/mime-types@2.1.35": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
|
|
333
376
|
"/mimic-fn@2.1.0": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
|
|
377
|
+
"/mimic-response@3.1.0": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==",
|
|
334
378
|
"/minimalistic-assert@1.0.1": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
|
|
335
379
|
"/minimalistic-crypto-utils@1.0.1": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==",
|
|
336
380
|
"/minimatch@3.1.2": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
|
|
337
381
|
"/minimatch@9.0.3": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
|
|
382
|
+
"/minimist@1.2.8": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
|
|
383
|
+
"/mkdirp-classic@0.5.3": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==",
|
|
338
384
|
"/ms@2.1.2": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
|
|
385
|
+
"/napi-build-utils@1.0.2": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==",
|
|
339
386
|
"/natural-compare@1.4.0": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
|
|
387
|
+
"/node-abi@3.57.0": "sha512-Dp+A9JWxRaKuHP35H77I4kCKesDy5HUDEmScia2FyncMTOXASMyg251F5PhFoDA5uqBrDDffiLpbqnrZmNXW+g==",
|
|
388
|
+
"/node-addon-api@3.2.1": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==",
|
|
389
|
+
"/node-addon-api@6.1.0": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==",
|
|
340
390
|
"/node-fetch@2.7.0": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
|
|
391
|
+
"/node-gyp-build@4.8.0": "sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==",
|
|
392
|
+
"/node-hid@2.2.0": "sha512-vj48zh9j555DZzUhMc8tk/qw6xPFrDyPBH1ST1Z/hWaA/juBJw7IuSxPeOgpzNFNU36mGYj+THioRMt1xOdm/g==",
|
|
341
393
|
"/node-int64@0.4.0": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==",
|
|
342
394
|
"/node-releases@2.0.14": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==",
|
|
343
395
|
"/normalize-path@3.0.0": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
|
|
@@ -351,26 +403,38 @@
|
|
|
351
403
|
"/p-locate@5.0.0": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
|
|
352
404
|
"/p-try@2.2.0": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
|
|
353
405
|
"/parent-module@1.0.1": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
|
|
406
|
+
"/parse-asn1@5.1.7": "sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==",
|
|
354
407
|
"/parse-json@5.2.0": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
|
|
355
408
|
"/path-exists@4.0.0": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
|
|
356
409
|
"/path-is-absolute@1.0.1": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
|
|
357
410
|
"/path-key@3.1.1": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
|
|
358
411
|
"/path-parse@1.0.7": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
|
|
359
412
|
"/path-type@4.0.0": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
|
|
360
|
-
"/
|
|
413
|
+
"/pbkdf2@3.1.2": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==",
|
|
361
414
|
"/picocolors@1.0.0": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
|
|
362
415
|
"/picomatch@2.3.1": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
|
|
363
416
|
"/pirates@4.0.6": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==",
|
|
364
417
|
"/pkg-dir@4.2.0": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
|
|
418
|
+
"/prebuild-install@7.1.2": "sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==",
|
|
365
419
|
"/prelude-ls@1.2.1": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
|
|
366
420
|
"/pretty-format@29.7.0": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==",
|
|
421
|
+
"/process-nextick-args@2.0.1": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
|
|
422
|
+
"/process@0.11.10": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
|
|
367
423
|
"/prompts@2.4.2": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==",
|
|
368
424
|
"/proxy-from-env@1.1.0": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
|
|
425
|
+
"/public-encrypt@4.0.3": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
|
|
426
|
+
"/pump@3.0.0": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
|
|
369
427
|
"/punycode@2.3.1": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
|
|
370
428
|
"/pure-rand@6.0.4": "sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==",
|
|
371
429
|
"/query-string@7.1.3": "sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==",
|
|
372
430
|
"/queue-microtask@1.2.3": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
|
|
431
|
+
"/randombytes@2.1.0": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
|
|
432
|
+
"/randomfill@1.0.4": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
|
|
433
|
+
"/rc@1.2.8": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
|
|
373
434
|
"/react-is@18.2.0": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==",
|
|
435
|
+
"/readable-stream@2.3.8": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
|
|
436
|
+
"/readable-stream@3.6.2": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
|
|
437
|
+
"/readable-stream@4.5.2": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==",
|
|
374
438
|
"/require-directory@2.1.1": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
|
|
375
439
|
"/resolve-cwd@3.0.0": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
|
|
376
440
|
"/resolve-from@4.0.0": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
|
|
@@ -379,13 +443,19 @@
|
|
|
379
443
|
"/resolve@1.22.8": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
|
|
380
444
|
"/reusify@1.0.4": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
|
|
381
445
|
"/rimraf@3.0.2": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
|
|
446
|
+
"/ripemd160@2.0.2": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
|
|
382
447
|
"/run-parallel@1.2.0": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
|
|
383
|
-
"/
|
|
448
|
+
"/rxjs@7.8.1": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==",
|
|
449
|
+
"/safe-buffer@5.1.2": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
|
|
450
|
+
"/safe-buffer@5.2.1": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
|
|
384
451
|
"/semver@6.3.1": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
|
|
385
452
|
"/semver@7.5.4": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
|
|
453
|
+
"/sha.js@2.4.11": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
|
|
386
454
|
"/shebang-command@2.0.0": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
|
|
387
455
|
"/shebang-regex@3.0.0": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
|
|
388
456
|
"/signal-exit@3.0.7": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
|
|
457
|
+
"/simple-concat@1.0.1": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
|
|
458
|
+
"/simple-get@4.0.1": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==",
|
|
389
459
|
"/sisteransi@1.0.5": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==",
|
|
390
460
|
"/slash@3.0.0": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
|
|
391
461
|
"/source-map-support@0.5.13": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==",
|
|
@@ -393,17 +463,24 @@
|
|
|
393
463
|
"/split-on-first@1.1.0": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==",
|
|
394
464
|
"/sprintf-js@1.0.3": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
|
|
395
465
|
"/stack-utils@2.0.6": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==",
|
|
466
|
+
"/stream-browserify@3.0.0": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==",
|
|
467
|
+
"/stream@0.0.2": "sha512-gCq3NDI2P35B2n6t76YJuOp7d6cN/C7Rt0577l91wllh0sY9ZBuw9KaSGqH/b0hzn3CWWJbpbW0W0WvQ1H/Q7g==",
|
|
396
468
|
"/strict-uri-encode@2.0.0": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==",
|
|
397
469
|
"/string-length@4.0.2": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==",
|
|
398
470
|
"/string-width@4.2.3": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
|
|
471
|
+
"/string_decoder@1.1.1": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
|
|
472
|
+
"/string_decoder@1.3.0": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
|
|
399
473
|
"/strip-ansi@6.0.1": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
|
|
400
474
|
"/strip-bom@4.0.0": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
|
|
401
475
|
"/strip-final-newline@2.0.0": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
|
|
476
|
+
"/strip-json-comments@2.0.1": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==",
|
|
402
477
|
"/strip-json-comments@3.1.1": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
|
|
403
478
|
"/supports-color@5.5.0": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
|
|
404
479
|
"/supports-color@7.2.0": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
|
|
405
480
|
"/supports-color@8.1.1": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
|
|
406
481
|
"/supports-preserve-symlinks-flag@1.0.0": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
|
|
482
|
+
"/tar-fs@2.1.1": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==",
|
|
483
|
+
"/tar-stream@2.2.0": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==",
|
|
407
484
|
"/test-exclude@6.0.0": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
|
|
408
485
|
"/text-table@0.2.0": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
|
|
409
486
|
"/tmpl@1.0.5": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==",
|
|
@@ -413,6 +490,8 @@
|
|
|
413
490
|
"/ts-api-utils@1.0.3(typescript@4.9.5)": "sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==",
|
|
414
491
|
"/ts-jest@29.1.1(@babel/core@7.23.9)(jest@29.6.2)(typescript@4.9.5)": "sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA==",
|
|
415
492
|
"/ts-node@10.9.1(@types/node@20.2.6)(typescript@4.9.5)": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==",
|
|
493
|
+
"/tslib@2.6.2": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==",
|
|
494
|
+
"/tunnel-agent@0.6.0": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
|
|
416
495
|
"/type-check@0.4.0": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
|
|
417
496
|
"/type-detect@4.0.8": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
|
|
418
497
|
"/type-fest@0.20.2": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
|
|
@@ -420,6 +499,8 @@
|
|
|
420
499
|
"/typescript@4.9.5": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==",
|
|
421
500
|
"/update-browserslist-db@1.0.13(browserslist@4.22.3)": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==",
|
|
422
501
|
"/uri-js@4.4.1": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
|
|
502
|
+
"/usb@2.9.0": "sha512-G0I/fPgfHUzWH8xo2KkDxTTFruUWfppgSFJ+bQxz/kVY2x15EQ/XDB7dqD1G432G4gBG4jYQuF3U7j/orSs5nw==",
|
|
503
|
+
"/util-deprecate@1.0.2": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
|
|
423
504
|
"/v8-compile-cache-lib@3.0.1": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==",
|
|
424
505
|
"/v8-to-istanbul@9.2.0": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==",
|
|
425
506
|
"/walker@1.0.8": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==",
|
package/CHANGELOG.json
CHANGED
|
@@ -1,6 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cityofzion/bs-neo3",
|
|
3
3
|
"entries": [
|
|
4
|
+
{
|
|
5
|
+
"version": "0.10.0",
|
|
6
|
+
"tag": "@cityofzion/bs-neo3_v0.10.0",
|
|
7
|
+
"date": "Thu, 04 Apr 2024 19:52:20 GMT",
|
|
8
|
+
"comments": {
|
|
9
|
+
"minor": [
|
|
10
|
+
{
|
|
11
|
+
"comment": "Add ledger support"
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"dependency": [
|
|
15
|
+
{
|
|
16
|
+
"comment": "Updating dependency \"@cityofzion/blockchain-service\" to `0.10.0`"
|
|
17
|
+
}
|
|
18
|
+
]
|
|
19
|
+
}
|
|
20
|
+
},
|
|
4
21
|
{
|
|
5
22
|
"version": "0.9.3",
|
|
6
23
|
"tag": "@cityofzion/bs-neo3_v0.9.3",
|
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
# Change Log - @cityofzion/bs-neo3
|
|
2
2
|
|
|
3
|
-
This log was last generated on
|
|
3
|
+
This log was last generated on Thu, 04 Apr 2024 19:52:20 GMT and should not be manually modified.
|
|
4
|
+
|
|
5
|
+
## 0.10.0
|
|
6
|
+
Thu, 04 Apr 2024 19:52:20 GMT
|
|
7
|
+
|
|
8
|
+
### Minor changes
|
|
9
|
+
|
|
10
|
+
- Add ledger support
|
|
4
11
|
|
|
5
12
|
## 0.9.3
|
|
6
13
|
Wed, 28 Feb 2024 17:43:01 GMT
|
package/dist/BSNeo3.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { BlockchainDataService, BlockchainService, BSClaimable, Account, ExchangeDataService, BDSClaimable, Token, BSWithNameService, Network, PartialBy, TransferParam, BSCalculableFee, NftDataService, BSWithNft, AccountWithDerivationPath, BSWithExplorerService, ExplorerService } from '@cityofzion/blockchain-service';
|
|
2
|
-
|
|
1
|
+
import { BlockchainDataService, BlockchainService, BSClaimable, Account, ExchangeDataService, BDSClaimable, Token, BSWithNameService, Network, PartialBy, TransferParam, BSCalculableFee, NftDataService, BSWithNft, AccountWithDerivationPath, BSWithExplorerService, ExplorerService, BSWithLedger } from '@cityofzion/blockchain-service';
|
|
2
|
+
import { LedgerServiceNeo3 } from './LedgerServiceNeo3';
|
|
3
|
+
export declare class BSNeo3<BSCustomName extends string = string> implements BlockchainService, BSClaimable, BSWithNameService, BSCalculableFee, BSWithNft, BSWithExplorerService, BSWithLedger {
|
|
3
4
|
readonly blockchainName: BSCustomName;
|
|
4
5
|
readonly feeToken: Token;
|
|
5
6
|
readonly claimToken: Token;
|
|
@@ -7,6 +8,7 @@ export declare class BSNeo3<BSCustomName extends string = string> implements Blo
|
|
|
7
8
|
readonly derivationPath: string;
|
|
8
9
|
blockchainDataService: BlockchainDataService & BDSClaimable;
|
|
9
10
|
nftDataService: NftDataService;
|
|
11
|
+
ledgerService: LedgerServiceNeo3;
|
|
10
12
|
exchangeDataService: ExchangeDataService;
|
|
11
13
|
explorerService: ExplorerService;
|
|
12
14
|
tokens: Token[];
|
|
@@ -18,6 +20,7 @@ export declare class BSNeo3<BSCustomName extends string = string> implements Blo
|
|
|
18
20
|
validateKey(key: string): boolean;
|
|
19
21
|
validateNameServiceDomainFormat(domainName: string): boolean;
|
|
20
22
|
generateAccountFromMnemonic(mnemonic: string[] | string, index: number): AccountWithDerivationPath;
|
|
23
|
+
generateAccountFromPublicKey(publicKey: string): Account;
|
|
21
24
|
generateAccountFromKey(key: string): Account;
|
|
22
25
|
decrypt(encryptedKey: string, password: string): Promise<Account>;
|
|
23
26
|
encrypt(key: string, password: string): Promise<string>;
|
package/dist/BSNeo3.js
CHANGED
|
@@ -11,9 +11,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.BSNeo3 = void 0;
|
|
13
13
|
const neon_js_1 = require("@cityofzion/neon-js");
|
|
14
|
-
const
|
|
15
|
-
const neon_parser_1 = require("@cityofzion/neon-parser");
|
|
16
|
-
const neo3_parser_1 = require("@cityofzion/neo3-parser");
|
|
14
|
+
const neon_dappkit_1 = require("@cityofzion/neon-dappkit");
|
|
17
15
|
const RpcBDSNeo3_1 = require("./RpcBDSNeo3");
|
|
18
16
|
const DoraBDSNeo3_1 = require("./DoraBDSNeo3");
|
|
19
17
|
const constants_1 = require("./constants");
|
|
@@ -21,8 +19,10 @@ const FlamingoEDSNeo3_1 = require("./FlamingoEDSNeo3");
|
|
|
21
19
|
const GhostMarketNDSNeo3_1 = require("./GhostMarketNDSNeo3");
|
|
22
20
|
const bs_asteroid_sdk_1 = require("@cityofzion/bs-asteroid-sdk");
|
|
23
21
|
const DoraESNeo3_1 = require("./DoraESNeo3");
|
|
22
|
+
const LedgerServiceNeo3_1 = require("./LedgerServiceNeo3");
|
|
24
23
|
class BSNeo3 {
|
|
25
24
|
constructor(blockchainName, network) {
|
|
25
|
+
this.ledgerService = new LedgerServiceNeo3_1.LedgerServiceNeo3();
|
|
26
26
|
this.blockchainName = blockchainName;
|
|
27
27
|
this.tokens = constants_1.TOKENS[network.type];
|
|
28
28
|
this.derivationPath = constants_1.DERIVATION_PATH;
|
|
@@ -70,6 +70,16 @@ class BSNeo3 {
|
|
|
70
70
|
const { address } = new neon_js_1.wallet.Account(key);
|
|
71
71
|
return { address, key, type: 'wif', derivationPath: path };
|
|
72
72
|
}
|
|
73
|
+
generateAccountFromPublicKey(publicKey) {
|
|
74
|
+
if (!neon_js_1.wallet.isPublicKey(publicKey))
|
|
75
|
+
throw new Error('Invalid public key');
|
|
76
|
+
const account = new neon_js_1.wallet.Account(publicKey);
|
|
77
|
+
return {
|
|
78
|
+
address: account.address,
|
|
79
|
+
key: account.publicKey,
|
|
80
|
+
type: 'publicKey',
|
|
81
|
+
};
|
|
82
|
+
}
|
|
73
83
|
generateAccountFromKey(key) {
|
|
74
84
|
const type = neon_js_1.wallet.isWIF(key) ? 'wif' : neon_js_1.wallet.isPrivateKey(key) ? 'privateKey' : undefined;
|
|
75
85
|
if (!type)
|
|
@@ -101,24 +111,25 @@ class BSNeo3 {
|
|
|
101
111
|
calculateTransferFee(param) {
|
|
102
112
|
return __awaiter(this, void 0, void 0, function* () {
|
|
103
113
|
const account = new neon_js_1.wallet.Account(param.senderAccount.key);
|
|
104
|
-
const invoker = yield
|
|
114
|
+
const invoker = yield neon_dappkit_1.NeonInvoker.init({
|
|
105
115
|
rpcAddress: this.network.url,
|
|
106
116
|
account,
|
|
107
117
|
});
|
|
108
118
|
const invocations = this.buildTransferInvocation(param, account);
|
|
109
|
-
const {
|
|
119
|
+
const { total } = yield invoker.calculateFee({
|
|
110
120
|
invocations,
|
|
111
121
|
signers: [],
|
|
112
122
|
});
|
|
113
|
-
return
|
|
123
|
+
return total.toString();
|
|
114
124
|
});
|
|
115
125
|
}
|
|
116
126
|
transfer(param) {
|
|
117
127
|
return __awaiter(this, void 0, void 0, function* () {
|
|
118
128
|
const account = new neon_js_1.wallet.Account(param.senderAccount.key);
|
|
119
|
-
const invoker = yield
|
|
129
|
+
const invoker = yield neon_dappkit_1.NeonInvoker.init({
|
|
120
130
|
rpcAddress: this.network.url,
|
|
121
131
|
account,
|
|
132
|
+
signingCallback: param.isLedger ? this.ledgerService.getSigningCallback(param.ledgerTransport) : undefined,
|
|
122
133
|
});
|
|
123
134
|
const invocations = this.buildTransferInvocation(param, account);
|
|
124
135
|
const transactionHash = yield invoker.invokeFunction({
|
|
@@ -141,8 +152,8 @@ class BSNeo3 {
|
|
|
141
152
|
resolveNameServiceDomain(domainName) {
|
|
142
153
|
var _a;
|
|
143
154
|
return __awaiter(this, void 0, void 0, function* () {
|
|
144
|
-
const parser =
|
|
145
|
-
const invoker = yield
|
|
155
|
+
const parser = neon_dappkit_1.NeonParser;
|
|
156
|
+
const invoker = yield neon_dappkit_1.NeonInvoker.init({ rpcAddress: this.network.url });
|
|
146
157
|
const response = yield invoker.testInvoke({
|
|
147
158
|
invocations: [
|
|
148
159
|
{
|
|
@@ -156,7 +167,7 @@ class BSNeo3 {
|
|
|
156
167
|
throw new Error((_a = response.exception) !== null && _a !== void 0 ? _a : 'unrecognized response');
|
|
157
168
|
}
|
|
158
169
|
const parsed = parser.parseRpcResponse(response.stack[0], {
|
|
159
|
-
type:
|
|
170
|
+
type: 'Hash160',
|
|
160
171
|
});
|
|
161
172
|
const address = parser.accountInputToAddress(parsed.replace('0x', ''));
|
|
162
173
|
return address;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { LedgerService } from '@cityofzion/blockchain-service';
|
|
2
|
+
import Transport from '@ledgerhq/hw-transport';
|
|
3
|
+
import { api } from '@cityofzion/neon-js';
|
|
4
|
+
export declare class LedgerServiceNeo3 implements LedgerService {
|
|
5
|
+
getAddress(transport: Transport): Promise<string>;
|
|
6
|
+
getSigningCallback(transport: Transport): api.SigningFunction;
|
|
7
|
+
getSignature(transport: Transport, serializedTransaction: string, networkMagic: number, addressIndex?: number): Promise<string>;
|
|
8
|
+
getPublicKey(transport: Transport, addressIndex?: number): Promise<string>;
|
|
9
|
+
private toBip44Buffer;
|
|
10
|
+
private to8BitHex;
|
|
11
|
+
private derSignatureToHex;
|
|
12
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.LedgerServiceNeo3 = void 0;
|
|
13
|
+
const neon_js_1 = require("@cityofzion/neon-js");
|
|
14
|
+
const neon_dappkit_1 = require("@cityofzion/neon-dappkit");
|
|
15
|
+
class LedgerServiceNeo3 {
|
|
16
|
+
getAddress(transport) {
|
|
17
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
18
|
+
const publicKey = yield this.getPublicKey(transport);
|
|
19
|
+
const { address } = new neon_js_1.wallet.Account(publicKey);
|
|
20
|
+
return address;
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
getSigningCallback(transport) {
|
|
24
|
+
return (transaction, { witnessIndex, network }) => __awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
const publicKey = yield this.getPublicKey(transport);
|
|
26
|
+
const account = new neon_js_1.wallet.Account(publicKey);
|
|
27
|
+
const witnessScriptHash = neon_js_1.wallet.getScriptHashFromVerificationScript(transaction.witnesses[witnessIndex].verificationScript.toString());
|
|
28
|
+
if (account.scriptHash !== witnessScriptHash) {
|
|
29
|
+
throw new Error('Invalid witness script hash');
|
|
30
|
+
}
|
|
31
|
+
const signature = yield this.getSignature(transport, transaction.serialize(false), network, witnessIndex);
|
|
32
|
+
return signature;
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
getSignature(transport, serializedTransaction, networkMagic, addressIndex = 0) {
|
|
36
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
37
|
+
const bip44Buffer = this.toBip44Buffer(addressIndex);
|
|
38
|
+
yield transport.send(0x80, 0x02, 0, 0x80, bip44Buffer, [0x9000]);
|
|
39
|
+
yield transport.send(0x80, 0x02, 1, 0x80, Buffer.from(neon_dappkit_1.NeonParser.numToHex(networkMagic, 4, true), 'hex'), [0x9000]);
|
|
40
|
+
const chunks = serializedTransaction.match(/.{1,510}/g) || [];
|
|
41
|
+
for (let i = 0; i < chunks.length - 1; i++) {
|
|
42
|
+
yield transport.send(0x80, 0x02, 2 + i, 0x80, Buffer.from(chunks[i], 'hex'), [0x9000]);
|
|
43
|
+
}
|
|
44
|
+
const response = yield transport.send(0x80, 0x02, 2 + chunks.length, 0x00, Buffer.from(chunks[chunks.length - 1], 'hex'), [0x9000]);
|
|
45
|
+
if (response.length <= 2) {
|
|
46
|
+
throw new Error(`No more data but Ledger did not return signature!`);
|
|
47
|
+
}
|
|
48
|
+
return this.derSignatureToHex(response.toString('hex'));
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
getPublicKey(transport, addressIndex = 0) {
|
|
52
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
53
|
+
const bip44Buffer = this.toBip44Buffer(addressIndex);
|
|
54
|
+
const result = yield transport.send(0x80, 0x04, 0x00, 0x00, bip44Buffer, [0x9000]);
|
|
55
|
+
const publicKey = result.toString('hex').substring(0, 130);
|
|
56
|
+
return publicKey;
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
toBip44Buffer(addressIndex = 0, changeIndex = 0, accountIndex = 0) {
|
|
60
|
+
const accountHex = this.to8BitHex(accountIndex + 0x80000000);
|
|
61
|
+
const changeHex = this.to8BitHex(changeIndex);
|
|
62
|
+
const addressHex = this.to8BitHex(addressIndex);
|
|
63
|
+
return Buffer.from('8000002C' + '80000378' + accountHex + changeHex + addressHex, 'hex');
|
|
64
|
+
}
|
|
65
|
+
to8BitHex(num) {
|
|
66
|
+
const hex = num.toString(16);
|
|
67
|
+
return '0'.repeat(8 - hex.length) + hex;
|
|
68
|
+
}
|
|
69
|
+
derSignatureToHex(response) {
|
|
70
|
+
const ss = new neon_js_1.u.StringStream(response);
|
|
71
|
+
// The first byte is format. It is usually 0x30 (SEQ) or 0x31 (SET)
|
|
72
|
+
// The second byte represents the total length of the DER module.
|
|
73
|
+
ss.read(2);
|
|
74
|
+
// Now we read each field off
|
|
75
|
+
// Each field is encoded with a type byte, length byte followed by the data itself
|
|
76
|
+
ss.read(1); // Read and drop the type
|
|
77
|
+
const r = ss.readVarBytes();
|
|
78
|
+
ss.read(1);
|
|
79
|
+
const s = ss.readVarBytes();
|
|
80
|
+
// We will need to ensure both integers are 32 bytes long
|
|
81
|
+
const integers = [r, s].map(i => {
|
|
82
|
+
if (i.length < 64) {
|
|
83
|
+
i = '0'.repeat(i.length - 64) + i;
|
|
84
|
+
}
|
|
85
|
+
if (i.length > 64) {
|
|
86
|
+
i = i.substr(-64);
|
|
87
|
+
}
|
|
88
|
+
return i;
|
|
89
|
+
});
|
|
90
|
+
return integers.join('');
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
exports.LedgerServiceNeo3 = LedgerServiceNeo3;
|
package/dist/RpcBDSNeo3.js
CHANGED
|
@@ -11,7 +11,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.RPCBDSNeo3 = void 0;
|
|
13
13
|
const neon_core_1 = require("@cityofzion/neon-core");
|
|
14
|
-
const
|
|
14
|
+
const neon_dappkit_1 = require("@cityofzion/neon-dappkit");
|
|
15
15
|
const constants_1 = require("./constants");
|
|
16
16
|
class RPCBDSNeo3 {
|
|
17
17
|
constructor(network, feeToken, claimToken) {
|
|
@@ -82,7 +82,7 @@ class RPCBDSNeo3 {
|
|
|
82
82
|
try {
|
|
83
83
|
const rpcClient = new neon_core_1.rpc.RPCClient(this.network.url);
|
|
84
84
|
const contractState = yield rpcClient.getContractState(tokenHash);
|
|
85
|
-
const invoker = yield
|
|
85
|
+
const invoker = yield neon_dappkit_1.NeonInvoker.init({
|
|
86
86
|
rpcAddress: this.network.url,
|
|
87
87
|
});
|
|
88
88
|
const response = yield invoker.testInvoke({
|
|
@@ -95,6 +95,10 @@ class RPCBDSNeo3 {
|
|
|
95
95
|
{ scriptHash: tokenHash, operation: 'symbol', args: [] },
|
|
96
96
|
],
|
|
97
97
|
});
|
|
98
|
+
if (!neon_dappkit_1.TypeChecker.isStackTypeInteger(response.stack[0]))
|
|
99
|
+
throw new Error('Invalid decimals');
|
|
100
|
+
if (!neon_dappkit_1.TypeChecker.isStackTypeByteString(response.stack[1]))
|
|
101
|
+
throw new Error('Invalid symbol');
|
|
98
102
|
const decimals = Number(response.stack[0].value);
|
|
99
103
|
const symbol = neon_core_1.u.base642utf8(response.stack[1].value);
|
|
100
104
|
const token = {
|
package/package.json
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cityofzion/bs-neo3",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.0",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"repository": "https://github.com/CityOfZion/blockchain-services",
|
|
7
7
|
"author": "Coz",
|
|
8
8
|
"license": "MIT",
|
|
9
9
|
"dependencies": {
|
|
10
|
-
"@cityofzion/neon-js": "5.
|
|
11
|
-
"@cityofzion/neon-core": "5.
|
|
12
|
-
"@cityofzion/neon-invoker": "1.6.0",
|
|
13
|
-
"@cityofzion/neo3-invoker": "1.6.0",
|
|
14
|
-
"@cityofzion/neon-parser": "1.6.2",
|
|
15
|
-
"@cityofzion/neo3-parser": "1.6.0",
|
|
10
|
+
"@cityofzion/neon-js": "5.5.1",
|
|
11
|
+
"@cityofzion/neon-core": "5.5.1",
|
|
16
12
|
"@cityofzion/dora-ts": "0.0.11",
|
|
17
13
|
"axios": "1.5.1",
|
|
18
14
|
"query-string": "7.1.3",
|
|
15
|
+
"@ledgerhq/hw-transport": "~6.30.5",
|
|
16
|
+
"@cityofzion/neon-dappkit": "0.4.1",
|
|
17
|
+
"@cityofzion/neon-dappkit-types": "~0.3.1",
|
|
18
|
+
"@ledgerhq/hw-transport-node-hid": "~6.28.5",
|
|
19
19
|
"@cityofzion/bs-asteroid-sdk": "0.7.3",
|
|
20
|
-
"@cityofzion/blockchain-service": "0.
|
|
20
|
+
"@cityofzion/blockchain-service": "0.10.0"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
23
|
"@types/jest": "29.5.3",
|
package/src/BSNeo3.ts
CHANGED
|
@@ -16,14 +16,11 @@ import {
|
|
|
16
16
|
AccountWithDerivationPath,
|
|
17
17
|
BSWithExplorerService,
|
|
18
18
|
ExplorerService,
|
|
19
|
+
BSWithLedger,
|
|
19
20
|
} from '@cityofzion/blockchain-service'
|
|
20
21
|
import { api, u, wallet } from '@cityofzion/neon-js'
|
|
21
22
|
import Neon from '@cityofzion/neon-core'
|
|
22
|
-
import { NeonInvoker } from '@cityofzion/neon-
|
|
23
|
-
import { NeonParser } from '@cityofzion/neon-parser'
|
|
24
|
-
import { ABI_TYPES } from '@cityofzion/neo3-parser'
|
|
25
|
-
import { ContractInvocation } from '@cityofzion/neo3-invoker'
|
|
26
|
-
|
|
23
|
+
import { NeonInvoker, NeonParser } from '@cityofzion/neon-dappkit'
|
|
27
24
|
import { RPCBDSNeo3 } from './RpcBDSNeo3'
|
|
28
25
|
import { DoraBDSNeo3 } from './DoraBDSNeo3'
|
|
29
26
|
import { DEFAULT_URL_BY_NETWORK_TYPE, DERIVATION_PATH, NEO_NS_HASH, TOKENS } from './constants'
|
|
@@ -31,9 +28,18 @@ import { FlamingoEDSNeo3 } from './FlamingoEDSNeo3'
|
|
|
31
28
|
import { GhostMarketNDSNeo3 } from './GhostMarketNDSNeo3'
|
|
32
29
|
import { keychain } from '@cityofzion/bs-asteroid-sdk'
|
|
33
30
|
import { DoraESNeo3 } from './DoraESNeo3'
|
|
31
|
+
import { ContractInvocation } from '@cityofzion/neon-dappkit-types'
|
|
32
|
+
import { LedgerServiceNeo3 } from './LedgerServiceNeo3'
|
|
34
33
|
|
|
35
34
|
export class BSNeo3<BSCustomName extends string = string>
|
|
36
|
-
implements
|
|
35
|
+
implements
|
|
36
|
+
BlockchainService,
|
|
37
|
+
BSClaimable,
|
|
38
|
+
BSWithNameService,
|
|
39
|
+
BSCalculableFee,
|
|
40
|
+
BSWithNft,
|
|
41
|
+
BSWithExplorerService,
|
|
42
|
+
BSWithLedger
|
|
37
43
|
{
|
|
38
44
|
readonly blockchainName: BSCustomName
|
|
39
45
|
readonly feeToken: Token
|
|
@@ -43,6 +49,7 @@ export class BSNeo3<BSCustomName extends string = string>
|
|
|
43
49
|
|
|
44
50
|
blockchainDataService!: BlockchainDataService & BDSClaimable
|
|
45
51
|
nftDataService!: NftDataService
|
|
52
|
+
ledgerService: LedgerServiceNeo3 = new LedgerServiceNeo3()
|
|
46
53
|
exchangeDataService!: ExchangeDataService
|
|
47
54
|
explorerService!: ExplorerService
|
|
48
55
|
tokens: Token[]
|
|
@@ -103,6 +110,18 @@ export class BSNeo3<BSCustomName extends string = string>
|
|
|
103
110
|
return { address, key, type: 'wif', derivationPath: path }
|
|
104
111
|
}
|
|
105
112
|
|
|
113
|
+
generateAccountFromPublicKey(publicKey: string): Account {
|
|
114
|
+
if (!wallet.isPublicKey(publicKey)) throw new Error('Invalid public key')
|
|
115
|
+
|
|
116
|
+
const account = new wallet.Account(publicKey)
|
|
117
|
+
|
|
118
|
+
return {
|
|
119
|
+
address: account.address,
|
|
120
|
+
key: account.publicKey,
|
|
121
|
+
type: 'publicKey',
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
106
125
|
generateAccountFromKey(key: string): Account {
|
|
107
126
|
const type = wallet.isWIF(key) ? 'wif' : wallet.isPrivateKey(key) ? 'privateKey' : undefined
|
|
108
127
|
if (!type) throw new Error('Invalid key')
|
|
@@ -136,6 +155,7 @@ export class BSNeo3<BSCustomName extends string = string>
|
|
|
136
155
|
|
|
137
156
|
async calculateTransferFee(param: TransferParam): Promise<string> {
|
|
138
157
|
const account = new wallet.Account(param.senderAccount.key)
|
|
158
|
+
|
|
139
159
|
const invoker = await NeonInvoker.init({
|
|
140
160
|
rpcAddress: this.network.url,
|
|
141
161
|
account,
|
|
@@ -143,19 +163,21 @@ export class BSNeo3<BSCustomName extends string = string>
|
|
|
143
163
|
|
|
144
164
|
const invocations = this.buildTransferInvocation(param, account)
|
|
145
165
|
|
|
146
|
-
const {
|
|
166
|
+
const { total } = await invoker.calculateFee({
|
|
147
167
|
invocations,
|
|
148
168
|
signers: [],
|
|
149
169
|
})
|
|
150
170
|
|
|
151
|
-
return
|
|
171
|
+
return total.toString()
|
|
152
172
|
}
|
|
153
173
|
|
|
154
174
|
async transfer(param: TransferParam): Promise<string> {
|
|
155
175
|
const account = new wallet.Account(param.senderAccount.key)
|
|
176
|
+
|
|
156
177
|
const invoker = await NeonInvoker.init({
|
|
157
178
|
rpcAddress: this.network.url,
|
|
158
179
|
account,
|
|
180
|
+
signingCallback: param.isLedger ? this.ledgerService.getSigningCallback(param.ledgerTransport) : undefined,
|
|
159
181
|
})
|
|
160
182
|
|
|
161
183
|
const invocations = this.buildTransferInvocation(param, account)
|
|
@@ -197,7 +219,7 @@ export class BSNeo3<BSCustomName extends string = string>
|
|
|
197
219
|
}
|
|
198
220
|
|
|
199
221
|
const parsed = parser.parseRpcResponse(response.stack[0] as any, {
|
|
200
|
-
type:
|
|
222
|
+
type: 'Hash160',
|
|
201
223
|
})
|
|
202
224
|
const address = parser.accountInputToAddress(parsed.replace('0x', ''))
|
|
203
225
|
return address
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { LedgerService } from '@cityofzion/blockchain-service'
|
|
2
|
+
import Transport from '@ledgerhq/hw-transport'
|
|
3
|
+
import { wallet, api, u } from '@cityofzion/neon-js'
|
|
4
|
+
import { NeonParser } from '@cityofzion/neon-dappkit'
|
|
5
|
+
|
|
6
|
+
export class LedgerServiceNeo3 implements LedgerService {
|
|
7
|
+
async getAddress(transport: Transport): Promise<string> {
|
|
8
|
+
const publicKey = await this.getPublicKey(transport)
|
|
9
|
+
const { address } = new wallet.Account(publicKey)
|
|
10
|
+
|
|
11
|
+
return address
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
getSigningCallback(transport: Transport): api.SigningFunction {
|
|
15
|
+
return async (transaction, { witnessIndex, network }) => {
|
|
16
|
+
const publicKey = await this.getPublicKey(transport)
|
|
17
|
+
const account = new wallet.Account(publicKey)
|
|
18
|
+
|
|
19
|
+
const witnessScriptHash = wallet.getScriptHashFromVerificationScript(
|
|
20
|
+
transaction.witnesses[witnessIndex].verificationScript.toString()
|
|
21
|
+
)
|
|
22
|
+
|
|
23
|
+
if (account.scriptHash !== witnessScriptHash) {
|
|
24
|
+
throw new Error('Invalid witness script hash')
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const signature = await this.getSignature(transport, transaction.serialize(false), network, witnessIndex)
|
|
28
|
+
|
|
29
|
+
return signature
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
async getSignature(transport: Transport, serializedTransaction: string, networkMagic: number, addressIndex = 0) {
|
|
34
|
+
const bip44Buffer = this.toBip44Buffer(addressIndex)
|
|
35
|
+
await transport.send(0x80, 0x02, 0, 0x80, bip44Buffer, [0x9000])
|
|
36
|
+
await transport.send(0x80, 0x02, 1, 0x80, Buffer.from(NeonParser.numToHex(networkMagic, 4, true), 'hex'), [0x9000])
|
|
37
|
+
|
|
38
|
+
const chunks = serializedTransaction.match(/.{1,510}/g) || []
|
|
39
|
+
|
|
40
|
+
for (let i = 0; i < chunks.length - 1; i++) {
|
|
41
|
+
await transport.send(0x80, 0x02, 2 + i, 0x80, Buffer.from(chunks[i], 'hex'), [0x9000])
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
const response = await transport.send(
|
|
45
|
+
0x80,
|
|
46
|
+
0x02,
|
|
47
|
+
2 + chunks.length,
|
|
48
|
+
0x00,
|
|
49
|
+
Buffer.from(chunks[chunks.length - 1], 'hex'),
|
|
50
|
+
[0x9000]
|
|
51
|
+
)
|
|
52
|
+
|
|
53
|
+
if (response.length <= 2) {
|
|
54
|
+
throw new Error(`No more data but Ledger did not return signature!`)
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
return this.derSignatureToHex(response.toString('hex'))
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
async getPublicKey(transport: Transport, addressIndex = 0): Promise<string> {
|
|
61
|
+
const bip44Buffer = this.toBip44Buffer(addressIndex)
|
|
62
|
+
|
|
63
|
+
const result = await transport.send(0x80, 0x04, 0x00, 0x00, bip44Buffer, [0x9000])
|
|
64
|
+
const publicKey = result.toString('hex').substring(0, 130)
|
|
65
|
+
|
|
66
|
+
return publicKey
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
private toBip44Buffer(addressIndex = 0, changeIndex = 0, accountIndex = 0) {
|
|
70
|
+
const accountHex = this.to8BitHex(accountIndex + 0x80000000)
|
|
71
|
+
const changeHex = this.to8BitHex(changeIndex)
|
|
72
|
+
const addressHex = this.to8BitHex(addressIndex)
|
|
73
|
+
|
|
74
|
+
return Buffer.from('8000002C' + '80000378' + accountHex + changeHex + addressHex, 'hex')
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
private to8BitHex(num: number): string {
|
|
78
|
+
const hex = num.toString(16)
|
|
79
|
+
return '0'.repeat(8 - hex.length) + hex
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
private derSignatureToHex(response: string): string {
|
|
83
|
+
const ss = new u.StringStream(response)
|
|
84
|
+
// The first byte is format. It is usually 0x30 (SEQ) or 0x31 (SET)
|
|
85
|
+
// The second byte represents the total length of the DER module.
|
|
86
|
+
ss.read(2)
|
|
87
|
+
// Now we read each field off
|
|
88
|
+
// Each field is encoded with a type byte, length byte followed by the data itself
|
|
89
|
+
ss.read(1) // Read and drop the type
|
|
90
|
+
const r = ss.readVarBytes()
|
|
91
|
+
ss.read(1)
|
|
92
|
+
const s = ss.readVarBytes()
|
|
93
|
+
|
|
94
|
+
// We will need to ensure both integers are 32 bytes long
|
|
95
|
+
const integers = [r, s].map(i => {
|
|
96
|
+
if (i.length < 64) {
|
|
97
|
+
i = '0'.repeat(i.length - 64) + i
|
|
98
|
+
}
|
|
99
|
+
if (i.length > 64) {
|
|
100
|
+
i = i.substr(-64)
|
|
101
|
+
}
|
|
102
|
+
return i
|
|
103
|
+
})
|
|
104
|
+
|
|
105
|
+
return integers.join('')
|
|
106
|
+
}
|
|
107
|
+
}
|
package/src/RpcBDSNeo3.ts
CHANGED
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
TransactionsByAddressResponse,
|
|
13
13
|
} from '@cityofzion/blockchain-service'
|
|
14
14
|
import { rpc, u } from '@cityofzion/neon-core'
|
|
15
|
-
import { NeonInvoker } from '@cityofzion/neon-
|
|
15
|
+
import { NeonInvoker, TypeChecker } from '@cityofzion/neon-dappkit'
|
|
16
16
|
import { TOKENS } from './constants'
|
|
17
17
|
|
|
18
18
|
export class RPCBDSNeo3 implements BlockchainDataService, BDSClaimable {
|
|
@@ -102,8 +102,10 @@ export class RPCBDSNeo3 implements BlockchainDataService, BDSClaimable {
|
|
|
102
102
|
],
|
|
103
103
|
})
|
|
104
104
|
|
|
105
|
+
if (!TypeChecker.isStackTypeInteger(response.stack[0])) throw new Error('Invalid decimals')
|
|
106
|
+
if (!TypeChecker.isStackTypeByteString(response.stack[1])) throw new Error('Invalid symbol')
|
|
105
107
|
const decimals = Number(response.stack[0].value)
|
|
106
|
-
const symbol = u.base642utf8(response.stack[1].value
|
|
108
|
+
const symbol = u.base642utf8(response.stack[1].value)
|
|
107
109
|
const token = {
|
|
108
110
|
name: contractState.manifest.name,
|
|
109
111
|
symbol,
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { sleep } from './utils/sleep'
|
|
2
2
|
import { BSNeo3 } from '../BSNeo3'
|
|
3
3
|
import { generateMnemonic } from '@cityofzion/bs-asteroid-sdk'
|
|
4
|
+
import TransportNodeHid from '@ledgerhq/hw-transport-node-hid'
|
|
4
5
|
|
|
5
6
|
let bsNeo3: BSNeo3
|
|
6
7
|
|
|
@@ -120,6 +121,31 @@ describe('BSNeo3', () => {
|
|
|
120
121
|
expect(transactionHash).toEqual(expect.any(String))
|
|
121
122
|
})
|
|
122
123
|
|
|
124
|
+
it.skip('Should be able to transfer with ledger', async () => {
|
|
125
|
+
const transport = await TransportNodeHid.create()
|
|
126
|
+
const publicKey = await bsNeo3.ledgerService.getPublicKey(transport)
|
|
127
|
+
|
|
128
|
+
const account = bsNeo3.generateAccountFromPublicKey(publicKey)
|
|
129
|
+
|
|
130
|
+
const balance = await bsNeo3.blockchainDataService.getBalance(account.address)
|
|
131
|
+
const gasBalance = balance.find(b => b.token.symbol === bsNeo3.feeToken.symbol)
|
|
132
|
+
expect(Number(gasBalance?.amount)).toBeGreaterThan(0.00000001)
|
|
133
|
+
|
|
134
|
+
const transactionHash = await bsNeo3.transfer({
|
|
135
|
+
senderAccount: account,
|
|
136
|
+
intent: {
|
|
137
|
+
amount: '1',
|
|
138
|
+
receiverAddress: 'NPRMF5bmYuW23DeDJqsDJenhXkAPSJyuYe',
|
|
139
|
+
tokenHash: bsNeo3.feeToken.hash,
|
|
140
|
+
tokenDecimals: bsNeo3.feeToken.decimals,
|
|
141
|
+
},
|
|
142
|
+
isLedger: true,
|
|
143
|
+
ledgerTransport: transport,
|
|
144
|
+
})
|
|
145
|
+
|
|
146
|
+
expect(transactionHash).toEqual(expect.any(String))
|
|
147
|
+
}, 60000)
|
|
148
|
+
|
|
123
149
|
it.skip('Should be able to claim', async () => {
|
|
124
150
|
const account = bsNeo3.generateAccountFromKey(process.env.TESTNET_PRIVATE_KEY as string)
|
|
125
151
|
|