@taquito/michel-codec 11.1.0 → 12.0.0-beta-RC.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/README.md +54 -20
- package/dist/lib/base58.js +143 -133
- package/dist/lib/base58.js.map +1 -1
- package/dist/lib/binary.js +678 -887
- package/dist/lib/binary.js.map +1 -1
- package/dist/lib/formatters.js +35 -20
- package/dist/lib/formatters.js.map +1 -1
- package/dist/lib/global-constants.js +4 -1
- package/dist/lib/global-constants.js.map +1 -1
- package/dist/lib/macros.js +284 -348
- package/dist/lib/macros.js.map +1 -1
- package/dist/lib/micheline-emitter.js +64 -151
- package/dist/lib/micheline-emitter.js.map +1 -1
- package/dist/lib/micheline-parser.js +137 -229
- package/dist/lib/micheline-parser.js.map +1 -1
- package/dist/lib/micheline.js +1 -1
- package/dist/lib/michelson-contract.js +44 -61
- package/dist/lib/michelson-contract.js.map +1 -1
- package/dist/lib/michelson-typecheck.js +1146 -1337
- package/dist/lib/michelson-typecheck.js.map +1 -1
- package/dist/lib/michelson-types.js +9 -5
- package/dist/lib/michelson-types.js.map +1 -1
- package/dist/lib/michelson-validator.js +324 -293
- package/dist/lib/michelson-validator.js.map +1 -1
- package/dist/lib/scan.js +99 -170
- package/dist/lib/scan.js.map +1 -1
- package/dist/lib/utils.js +103 -194
- package/dist/lib/utils.js.map +1 -1
- package/dist/lib/version.js +2 -4
- package/dist/lib/version.js.map +1 -1
- package/dist/taquito-michel-codec.es6.js +5495 -0
- package/dist/taquito-michel-codec.es6.js.map +1 -0
- package/dist/taquito-michel-codec.umd.js +5542 -6087
- package/dist/taquito-michel-codec.umd.js.map +1 -1
- package/dist/types/binary.d.ts +4 -4
- package/dist/types/formatters.d.ts +3 -3
- package/dist/types/macros.d.ts +2 -2
- package/dist/types/micheline-emitter.d.ts +1 -1
- package/dist/types/michelson-contract.d.ts +4 -4
- package/dist/types/michelson-typecheck.d.ts +4 -4
- package/dist/types/michelson-types.d.ts +60 -52
- package/dist/types/michelson-validator.d.ts +7 -7
- package/dist/types/scan.d.ts +1 -1
- package/dist/types/taquito-michel-codec.d.ts +12 -12
- package/dist/types/utils.d.ts +8 -8
- package/package.json +17 -17
- package/signature.json +7 -27
- package/dist/taquito-michel-codec.es5.js +0 -6040
- package/dist/taquito-michel-codec.es5.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
# Taquito michel-codec package
|
|
1
|
+
# Taquito michel-codec package
|
|
2
2
|
|
|
3
3
|
`@taquito/michel-codec` Converts and validates Michelson expressions between JSON based Michelson and Micheline.
|
|
4
4
|
|
|
5
5
|
This package can:
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
- Retrieve Michelson in JSON form from the Tezos Node RPC and convert it to plain Michelson.
|
|
8
|
+
- Parse plain Michelson (including Macros) and expand/convert it to JSON Michelson suitable for injection into the Tezo Blockchain.
|
|
9
|
+
- Validate Michelson to ensure correctness
|
|
10
10
|
|
|
11
11
|
See the top-level project [https://github.com/ecadlabs/taquito](https://github.com/ecadlabs/taquito) for details on reporting issues, contributing and versioning.
|
|
12
12
|
|
|
@@ -15,25 +15,57 @@ See the top-level project [https://github.com/ecadlabs/taquito](https://github.c
|
|
|
15
15
|
### Michelson expression to JSON
|
|
16
16
|
|
|
17
17
|
```js
|
|
18
|
-
|
|
18
|
+
const code = `(Pair
|
|
19
19
|
(Pair { Elt 1 (Pair (Pair "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN" "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx") 0x0501000000026869)}
|
|
20
20
|
10000000)
|
|
21
21
|
(Pair 2 333)
|
|
22
22
|
)`;
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
const p = new Parser();
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
const result = p.parseMichelineExpression(code);
|
|
27
|
+
console.log(JSON.stringify(result));
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
Output:
|
|
31
31
|
|
|
32
32
|
```json
|
|
33
|
-
{
|
|
33
|
+
{
|
|
34
|
+
"prim": "Pair",
|
|
35
|
+
"args": [
|
|
36
|
+
{
|
|
37
|
+
"prim": "Pair",
|
|
38
|
+
"args": [
|
|
39
|
+
[
|
|
40
|
+
{
|
|
41
|
+
"prim": "Elt",
|
|
42
|
+
"args": [
|
|
43
|
+
{ "int": "1" },
|
|
44
|
+
{
|
|
45
|
+
"prim": "Pair",
|
|
46
|
+
"args": [
|
|
47
|
+
{
|
|
48
|
+
"prim": "Pair",
|
|
49
|
+
"args": [
|
|
50
|
+
{ "string": "tz1gjaF81ZRRvdzjobyfVNsAeSC6PScjfQwN" },
|
|
51
|
+
{ "string": "tz1KqTpEZ7Yob7QbPE4Hy4Wo8fHG8LhKxZSx" }
|
|
52
|
+
]
|
|
53
|
+
},
|
|
54
|
+
{ "bytes": "0501000000026869" }
|
|
55
|
+
]
|
|
56
|
+
}
|
|
57
|
+
]
|
|
58
|
+
}
|
|
59
|
+
],
|
|
60
|
+
{ "int": "10000000" }
|
|
61
|
+
]
|
|
62
|
+
},
|
|
63
|
+
{ "prim": "Pair", "args": [{ "int": "2" }, { "int": "333" }] }
|
|
64
|
+
]
|
|
65
|
+
}
|
|
34
66
|
```
|
|
35
67
|
|
|
36
|
-
### Pretty Print a Michelson contract
|
|
68
|
+
### Pretty Print a Michelson contract
|
|
37
69
|
|
|
38
70
|
```js
|
|
39
71
|
const contract = await Tezos.contract.at('KT1EctCuorV2NfVb1XTQgvzJ88MQtWP8cMMv')
|
|
@@ -51,11 +83,11 @@ Type definition allows some types like `timestamp` and `address` and other base5
|
|
|
51
83
|
|
|
52
84
|
```js
|
|
53
85
|
const data: MichelsonData = {
|
|
54
|
-
|
|
86
|
+
string: 'KT1RvkwF4F7pz1gCoxkyZrG1RkrxQy3gmFTv%foo',
|
|
55
87
|
};
|
|
56
88
|
|
|
57
89
|
const typ: MichelsonType = {
|
|
58
|
-
|
|
90
|
+
prim: 'address',
|
|
59
91
|
};
|
|
60
92
|
|
|
61
93
|
const packed = packData(data, typ);
|
|
@@ -67,9 +99,10 @@ const packedBytes = packDataBytes(data, typ);
|
|
|
67
99
|
```
|
|
68
100
|
|
|
69
101
|
Without a type definition the base58 encoded address will be treated as a string
|
|
102
|
+
|
|
70
103
|
```js
|
|
71
104
|
const data: MichelsonData = {
|
|
72
|
-
|
|
105
|
+
string: 'KT1RvkwF4F7pz1gCoxkyZrG1RkrxQy3gmFTv%foo',
|
|
73
106
|
};
|
|
74
107
|
|
|
75
108
|
const packed = packData(data);
|
|
@@ -78,7 +111,7 @@ const packed = packData(data);
|
|
|
78
111
|
// alternatively
|
|
79
112
|
const packedBytes = packDataBytes(data);
|
|
80
113
|
// {
|
|
81
|
-
// bytes: "0501000000284b543152766b7746344637707a3167436f786b795a724731526b7278517933676d46547625666f6f"
|
|
114
|
+
// bytes: "0501000000284b543152766b7746344637707a3167436f786b795a724731526b7278517933676d46547625666f6f"
|
|
82
115
|
// }
|
|
83
116
|
```
|
|
84
117
|
|
|
@@ -92,7 +125,7 @@ Type definition allows some types like `timestamp` and `address` and other types
|
|
|
92
125
|
const src = [0x05, 0x00, 0xa7, 0xe8, 0xe4, 0xd8, 0x0b];
|
|
93
126
|
|
|
94
127
|
const typ: MichelsonType = {
|
|
95
|
-
|
|
128
|
+
prim: 'timestamp',
|
|
96
129
|
};
|
|
97
130
|
|
|
98
131
|
const data = unpackData(src, typ);
|
|
@@ -100,11 +133,12 @@ const data = unpackData(src, typ);
|
|
|
100
133
|
```
|
|
101
134
|
|
|
102
135
|
Alternatively
|
|
136
|
+
|
|
103
137
|
```js
|
|
104
|
-
const src = { bytes:
|
|
138
|
+
const src = { bytes: '0500a7e8e4d80b' };
|
|
105
139
|
|
|
106
140
|
const typ: MichelsonType = {
|
|
107
|
-
|
|
141
|
+
prim: 'timestamp',
|
|
108
142
|
};
|
|
109
143
|
|
|
110
144
|
const data = unpackDataBytes(src, typ);
|
|
@@ -112,6 +146,7 @@ const data = unpackDataBytes(src, typ);
|
|
|
112
146
|
```
|
|
113
147
|
|
|
114
148
|
Same binary data without a type definition
|
|
149
|
+
|
|
115
150
|
```js
|
|
116
151
|
const src = [0x05, 0x00, 0xa7, 0xe8, 0xe4, 0xd8, 0x0b];
|
|
117
152
|
|
|
@@ -120,8 +155,9 @@ const data = unpackData(src);
|
|
|
120
155
|
```
|
|
121
156
|
|
|
122
157
|
Alternatively
|
|
158
|
+
|
|
123
159
|
```js
|
|
124
|
-
const src = { bytes:
|
|
160
|
+
const src = { bytes: '0500a7e8e4d80b' };
|
|
125
161
|
|
|
126
162
|
const data = unpackDataBytes(src);
|
|
127
163
|
// { int: "1569495591" }
|
|
@@ -134,5 +170,3 @@ TypeDoc style documentation is available on-line [here](https://tezostaquito.io/
|
|
|
134
170
|
## Disclaimer
|
|
135
171
|
|
|
136
172
|
THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
137
|
-
|
|
138
|
-
|
package/dist/lib/base58.js
CHANGED
|
@@ -1,38 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
3
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
4
|
-
if (!m) return o;
|
|
5
|
-
var i = m.call(o), r, ar = [], e;
|
|
6
|
-
try {
|
|
7
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
8
|
-
}
|
|
9
|
-
catch (error) { e = { error: error }; }
|
|
10
|
-
finally {
|
|
11
|
-
try {
|
|
12
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
13
|
-
}
|
|
14
|
-
finally { if (e) throw e.error; }
|
|
15
|
-
}
|
|
16
|
-
return ar;
|
|
17
|
-
};
|
|
18
|
-
var __spread = (this && this.__spread) || function () {
|
|
19
|
-
for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i]));
|
|
20
|
-
return ar;
|
|
21
|
-
};
|
|
22
|
-
var __values = (this && this.__values) || function(o) {
|
|
23
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
24
|
-
if (m) return m.call(o);
|
|
25
|
-
if (o && typeof o.length === "number") return {
|
|
26
|
-
next: function () {
|
|
27
|
-
if (o && i >= o.length) o = void 0;
|
|
28
|
-
return { value: o && o[i++], done: !o };
|
|
29
|
-
}
|
|
30
|
-
};
|
|
31
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
32
|
-
};
|
|
33
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
34
3
|
exports.encodeBase58Check = exports.decodeBase58Check = exports.encodeBase58 = exports.decodeBase58 = void 0;
|
|
35
|
-
|
|
4
|
+
const H = [
|
|
36
5
|
0x6a09e667 | 0,
|
|
37
6
|
0xbb67ae85 | 0,
|
|
38
7
|
0x3c6ef372 | 0,
|
|
@@ -40,61 +9,124 @@ var H = [
|
|
|
40
9
|
0x510e527f | 0,
|
|
41
10
|
0x9b05688c | 0,
|
|
42
11
|
0x1f83d9ab | 0,
|
|
43
|
-
0x5be0cd19 | 0
|
|
12
|
+
0x5be0cd19 | 0,
|
|
44
13
|
];
|
|
45
|
-
|
|
46
|
-
0x428a2f98 | 0,
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
14
|
+
const K = [
|
|
15
|
+
0x428a2f98 | 0,
|
|
16
|
+
0x71374491 | 0,
|
|
17
|
+
0xb5c0fbcf | 0,
|
|
18
|
+
0xe9b5dba5 | 0,
|
|
19
|
+
0x3956c25b | 0,
|
|
20
|
+
0x59f111f1 | 0,
|
|
21
|
+
0x923f82a4 | 0,
|
|
22
|
+
0xab1c5ed5 | 0,
|
|
23
|
+
0xd807aa98 | 0,
|
|
24
|
+
0x12835b01 | 0,
|
|
25
|
+
0x243185be | 0,
|
|
26
|
+
0x550c7dc3 | 0,
|
|
27
|
+
0x72be5d74 | 0,
|
|
28
|
+
0x80deb1fe | 0,
|
|
29
|
+
0x9bdc06a7 | 0,
|
|
30
|
+
0xc19bf174 | 0,
|
|
31
|
+
0xe49b69c1 | 0,
|
|
32
|
+
0xefbe4786 | 0,
|
|
33
|
+
0x0fc19dc6 | 0,
|
|
34
|
+
0x240ca1cc | 0,
|
|
35
|
+
0x2de92c6f | 0,
|
|
36
|
+
0x4a7484aa | 0,
|
|
37
|
+
0x5cb0a9dc | 0,
|
|
38
|
+
0x76f988da | 0,
|
|
39
|
+
0x983e5152 | 0,
|
|
40
|
+
0xa831c66d | 0,
|
|
41
|
+
0xb00327c8 | 0,
|
|
42
|
+
0xbf597fc7 | 0,
|
|
43
|
+
0xc6e00bf3 | 0,
|
|
44
|
+
0xd5a79147 | 0,
|
|
45
|
+
0x06ca6351 | 0,
|
|
46
|
+
0x14292967 | 0,
|
|
47
|
+
0x27b70a85 | 0,
|
|
48
|
+
0x2e1b2138 | 0,
|
|
49
|
+
0x4d2c6dfc | 0,
|
|
50
|
+
0x53380d13 | 0,
|
|
51
|
+
0x650a7354 | 0,
|
|
52
|
+
0x766a0abb | 0,
|
|
53
|
+
0x81c2c92e | 0,
|
|
54
|
+
0x92722c85 | 0,
|
|
55
|
+
0xa2bfe8a1 | 0,
|
|
56
|
+
0xa81a664b | 0,
|
|
57
|
+
0xc24b8b70 | 0,
|
|
58
|
+
0xc76c51a3 | 0,
|
|
59
|
+
0xd192e819 | 0,
|
|
60
|
+
0xd6990624 | 0,
|
|
61
|
+
0xf40e3585 | 0,
|
|
62
|
+
0x106aa070 | 0,
|
|
63
|
+
0x19a4c116 | 0,
|
|
64
|
+
0x1e376c08 | 0,
|
|
65
|
+
0x2748774c | 0,
|
|
66
|
+
0x34b0bcb5 | 0,
|
|
67
|
+
0x391c0cb3 | 0,
|
|
68
|
+
0x4ed8aa4a | 0,
|
|
69
|
+
0x5b9cca4f | 0,
|
|
70
|
+
0x682e6ff3 | 0,
|
|
71
|
+
0x748f82ee | 0,
|
|
72
|
+
0x78a5636f | 0,
|
|
73
|
+
0x84c87814 | 0,
|
|
74
|
+
0x8cc70208 | 0,
|
|
75
|
+
0x90befffa | 0,
|
|
76
|
+
0xa4506ceb | 0,
|
|
77
|
+
0xbef9a3f7 | 0,
|
|
78
|
+
0xc67178f2 | 0,
|
|
54
79
|
];
|
|
55
80
|
// https://tools.ietf.org/html/rfc6234
|
|
56
81
|
function sha256(msg) {
|
|
57
|
-
var e_1, _a;
|
|
58
82
|
// pad the message
|
|
59
|
-
|
|
60
|
-
|
|
83
|
+
const r = (msg.length + 9) % 64;
|
|
84
|
+
const pad = r === 0 ? 0 : 64 - r;
|
|
61
85
|
if (msg.length > 268435455) {
|
|
62
|
-
throw new Error(
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
86
|
+
throw new Error(`sha256: message length is too big: ${msg.length}`);
|
|
87
|
+
}
|
|
88
|
+
const l = msg.length << 3;
|
|
89
|
+
const buffer = [
|
|
90
|
+
...msg,
|
|
91
|
+
0x80,
|
|
92
|
+
...new Array(pad).fill(0),
|
|
93
|
+
0,
|
|
94
|
+
0,
|
|
95
|
+
0,
|
|
96
|
+
0,
|
|
97
|
+
(l >> 24) & 0xff,
|
|
98
|
+
(l >> 16) & 0xff,
|
|
99
|
+
(l >> 8) & 0xff,
|
|
100
|
+
l & 0xff,
|
|
101
|
+
];
|
|
70
102
|
function ror(x, n) {
|
|
71
103
|
return (x >>> n) | (x << (32 - n));
|
|
72
104
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
for (
|
|
77
|
-
|
|
78
|
-
|
|
105
|
+
const h = [...H];
|
|
106
|
+
const w = new Array(64);
|
|
107
|
+
const v = new Array(8);
|
|
108
|
+
for (let offset = 0; offset < buffer.length; offset += 64) {
|
|
109
|
+
let q = offset;
|
|
110
|
+
let i = 0;
|
|
79
111
|
while (i < 16) {
|
|
80
112
|
w[i] = (buffer[q] << 24) | (buffer[q + 1] << 16) | (buffer[q + 2] << 8) | buffer[q + 3];
|
|
81
113
|
q += 4;
|
|
82
114
|
i++;
|
|
83
115
|
}
|
|
84
116
|
while (i < 64) {
|
|
85
|
-
|
|
86
|
-
|
|
117
|
+
const s0 = ror(w[i - 15], 7) ^ ror(w[i - 15], 18) ^ (w[i - 15] >>> 3);
|
|
118
|
+
const s1 = ror(w[i - 2], 17) ^ ror(w[i - 2], 19) ^ (w[i - 2] >>> 10);
|
|
87
119
|
w[i] = ((s1 | 0) + w[i - 7] + s0 + w[i - 16]) | 0;
|
|
88
120
|
i++;
|
|
89
121
|
}
|
|
90
|
-
for (
|
|
91
|
-
v[
|
|
122
|
+
for (let i = 0; i < 8; i++) {
|
|
123
|
+
v[i] = h[i];
|
|
92
124
|
}
|
|
93
|
-
for (
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
125
|
+
for (let i = 0; i < 64; i++) {
|
|
126
|
+
const b0 = ror(v[0], 2) ^ ror(v[0], 13) ^ ror(v[0], 22);
|
|
127
|
+
const b1 = ror(v[4], 6) ^ ror(v[4], 11) ^ ror(v[4], 25);
|
|
128
|
+
const t1 = (v[7] + b1 + ((v[4] & v[5]) ^ (~v[4] & v[6])) + K[i] + w[i]) | 0;
|
|
129
|
+
const t2 = (b0 + ((v[0] & v[1]) ^ (v[0] & v[2]) ^ (v[1] & v[2]))) | 0;
|
|
98
130
|
v[7] = v[6];
|
|
99
131
|
v[6] = v[5];
|
|
100
132
|
v[5] = v[4];
|
|
@@ -104,76 +136,54 @@ function sha256(msg) {
|
|
|
104
136
|
v[1] = v[0];
|
|
105
137
|
v[0] = (t1 + t2) | 0;
|
|
106
138
|
}
|
|
107
|
-
for (
|
|
108
|
-
h[
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
var digest = [];
|
|
112
|
-
try {
|
|
113
|
-
for (var h_1 = __values(h), h_1_1 = h_1.next(); !h_1_1.done; h_1_1 = h_1.next()) {
|
|
114
|
-
var v_1 = h_1_1.value;
|
|
115
|
-
digest.push((v_1 >> 24) & 0xff);
|
|
116
|
-
digest.push((v_1 >> 16) & 0xff);
|
|
117
|
-
digest.push((v_1 >> 8) & 0xff);
|
|
118
|
-
digest.push(v_1 & 0xff);
|
|
139
|
+
for (let i = 0; i < 8; i++) {
|
|
140
|
+
h[i] = (h[i] + v[i]) | 0;
|
|
119
141
|
}
|
|
120
142
|
}
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
143
|
+
const digest = [];
|
|
144
|
+
for (const v of h) {
|
|
145
|
+
digest.push((v >> 24) & 0xff);
|
|
146
|
+
digest.push((v >> 16) & 0xff);
|
|
147
|
+
digest.push((v >> 8) & 0xff);
|
|
148
|
+
digest.push(v & 0xff);
|
|
127
149
|
}
|
|
128
150
|
return digest;
|
|
129
151
|
}
|
|
130
|
-
|
|
131
|
-
0, 1, 2, 3, 4, 5, 6,
|
|
132
|
-
|
|
133
|
-
-1,
|
|
134
|
-
16, -1, 17, 18, 19, 20, 21, -1,
|
|
135
|
-
22, 23, 24, 25, 26, 27, 28, 29,
|
|
136
|
-
30, 31, 32, -1, -1, -1, -1, -1,
|
|
137
|
-
-1, 33, 34, 35, 36, 37, 38, 39,
|
|
138
|
-
40, 41, 42, 43, -1, 44, 45, 46,
|
|
139
|
-
47, 48, 49, 50, 51, 52, 53, 54,
|
|
140
|
-
55, 56, 57
|
|
152
|
+
const base58alphabetFwd = [
|
|
153
|
+
0, 1, 2, 3, 4, 5, 6, 7, 8, -1, -1, -1, -1, -1, -1, -1, 9, 10, 11, 12, 13, 14, 15, 16, -1, 17, 18,
|
|
154
|
+
19, 20, 21, -1, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, -1, -1, -1, -1, -1, 33, 34, 35,
|
|
155
|
+
36, 37, 38, 39, 40, 41, 42, 43, -1, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
|
|
141
156
|
];
|
|
142
|
-
|
|
143
|
-
0, 1, 2, 3, 4, 5, 6, 7,
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
33, 34, 35, 36, 37, 38, 39, 40,
|
|
147
|
-
41, 48, 49, 50, 51, 52, 53, 54,
|
|
148
|
-
55, 56, 57, 58, 60, 61, 62, 63,
|
|
149
|
-
64, 65, 66, 67, 68, 69, 70, 71,
|
|
150
|
-
72, 73
|
|
157
|
+
const base58alphabetBwd = [
|
|
158
|
+
0, 1, 2, 3, 4, 5, 6, 7, 8, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 31, 32, 33, 34, 35,
|
|
159
|
+
36, 37, 38, 39, 40, 41, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 60, 61, 62, 63, 64, 65, 66,
|
|
160
|
+
67, 68, 69, 70, 71, 72, 73,
|
|
151
161
|
];
|
|
152
162
|
function byteAt(src, i) {
|
|
153
|
-
|
|
163
|
+
const c = src.charCodeAt(i) - 49;
|
|
154
164
|
if (c >= base58alphabetFwd.length || base58alphabetFwd[c] === -1) {
|
|
155
|
-
throw new Error(
|
|
165
|
+
throw new Error(`Base58 decoding error: unexpected character at position ${i}: ${src[i]}`);
|
|
156
166
|
}
|
|
157
167
|
return base58alphabetFwd[c];
|
|
158
168
|
}
|
|
159
169
|
function decodeBase58(src) {
|
|
160
|
-
|
|
161
|
-
|
|
170
|
+
const acc = [];
|
|
171
|
+
let i = 0;
|
|
162
172
|
// count and skip leading zeros
|
|
163
173
|
while (i < src.length && byteAt(src, i) === 0) {
|
|
164
174
|
i++;
|
|
165
175
|
}
|
|
166
|
-
|
|
176
|
+
let zeros = i;
|
|
167
177
|
while (i < src.length) {
|
|
168
|
-
|
|
178
|
+
let carry = byteAt(src, i++);
|
|
169
179
|
/*
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
180
|
+
for every symbol x
|
|
181
|
+
acc = acc * 58 + x
|
|
182
|
+
where acc is a little endian arbitrary length integer
|
|
183
|
+
*/
|
|
184
|
+
let ii = 0;
|
|
175
185
|
while (carry !== 0 || ii < acc.length) {
|
|
176
|
-
|
|
186
|
+
const m = (acc[ii] || 0) * 58 + carry;
|
|
177
187
|
acc[ii++] = m % 256;
|
|
178
188
|
carry = Math.floor(m / 256);
|
|
179
189
|
}
|
|
@@ -185,18 +195,18 @@ function decodeBase58(src) {
|
|
|
185
195
|
}
|
|
186
196
|
exports.decodeBase58 = decodeBase58;
|
|
187
197
|
function encodeBase58(src) {
|
|
188
|
-
|
|
189
|
-
|
|
198
|
+
const acc = [];
|
|
199
|
+
let i = 0;
|
|
190
200
|
// count and skip leading zeros
|
|
191
201
|
while (i < src.length && src[i] === 0) {
|
|
192
202
|
i++;
|
|
193
203
|
}
|
|
194
|
-
|
|
204
|
+
let zeros = i;
|
|
195
205
|
while (i < src.length) {
|
|
196
|
-
|
|
197
|
-
|
|
206
|
+
let carry = src[i++];
|
|
207
|
+
let ii = 0;
|
|
198
208
|
while (carry !== 0 || ii < acc.length) {
|
|
199
|
-
|
|
209
|
+
const m = (acc[ii] || 0) * 256 + carry;
|
|
200
210
|
acc[ii++] = m % 58;
|
|
201
211
|
carry = Math.floor(m / 58);
|
|
202
212
|
}
|
|
@@ -205,29 +215,29 @@ function encodeBase58(src) {
|
|
|
205
215
|
acc.push(0);
|
|
206
216
|
}
|
|
207
217
|
acc.reverse();
|
|
208
|
-
return String.fromCharCode
|
|
218
|
+
return String.fromCharCode(...acc.map((v) => base58alphabetBwd[v] + 49));
|
|
209
219
|
}
|
|
210
220
|
exports.encodeBase58 = encodeBase58;
|
|
211
221
|
function decodeBase58Check(src) {
|
|
212
|
-
|
|
222
|
+
const buffer = decodeBase58(src);
|
|
213
223
|
if (buffer.length < 4) {
|
|
214
|
-
throw new Error(
|
|
224
|
+
throw new Error(`Base58Check decoding error: data is too short ${buffer.length}`);
|
|
215
225
|
}
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
226
|
+
const data = buffer.slice(0, buffer.length - 4);
|
|
227
|
+
const sum = buffer.slice(buffer.length - 4);
|
|
228
|
+
const computed = sha256(sha256(data));
|
|
219
229
|
if (sum[0] !== computed[0] ||
|
|
220
230
|
sum[1] !== computed[1] ||
|
|
221
231
|
sum[2] !== computed[2] ||
|
|
222
232
|
sum[3] !== computed[3]) {
|
|
223
|
-
throw new Error(
|
|
233
|
+
throw new Error('Base58Check decoding error: invalid checksum');
|
|
224
234
|
}
|
|
225
235
|
return data;
|
|
226
236
|
}
|
|
227
237
|
exports.decodeBase58Check = decodeBase58Check;
|
|
228
238
|
function encodeBase58Check(src) {
|
|
229
|
-
|
|
230
|
-
return encodeBase58(
|
|
239
|
+
const sum = sha256(sha256(src));
|
|
240
|
+
return encodeBase58([...src, ...sum.slice(0, 4)]);
|
|
231
241
|
}
|
|
232
242
|
exports.encodeBase58Check = encodeBase58Check;
|
|
233
243
|
//# sourceMappingURL=base58.js.map
|
package/dist/lib/base58.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base58.js","sourceRoot":"","sources":["../../src/base58.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"base58.js","sourceRoot":"","sources":["../../src/base58.ts"],"names":[],"mappings":";;;AAAA,MAAM,CAAC,GAAG;IACR,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;CACf,CAAC;AAEF,MAAM,CAAC,GAAG;IACR,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UAAU,GAAG,CAAC;IACd,UA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"}
|