koilib 2.2.0 → 2.5.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 +17 -8
- package/dist/koinos.js +5862 -5750
- package/dist/koinos.min.js +1 -1
- package/dist/koinos.min.js.LICENSE.txt +1 -10
- package/lib/Contract.d.ts +47 -152
- package/lib/Contract.js +61 -148
- package/lib/Contract.js.map +1 -1
- package/lib/Provider.d.ts +8 -9
- package/lib/Provider.js +67 -16
- package/lib/Provider.js.map +1 -1
- package/lib/Serializer.d.ts +81 -0
- package/lib/Serializer.js +169 -0
- package/lib/Serializer.js.map +1 -0
- package/lib/Signer.d.ts +130 -24
- package/lib/Signer.js +162 -59
- package/lib/Signer.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/index2.js +2 -0
- package/lib/index2.js.map +1 -1
- package/lib/interface.d.ts +179 -24
- package/lib/{krc20-proto.json → jsonDescriptors/krc20-proto.json} +1 -1
- package/lib/{protocol-proto.json → jsonDescriptors/protocol-proto.json} +22 -18
- package/lib/utils.d.ts +250 -2
- package/lib/utils.js +15 -20
- package/lib/utils.js.map +1 -1
- package/package.json +7 -9
package/lib/utils.js
CHANGED
|
@@ -22,11 +22,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
22
22
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
23
|
};
|
|
24
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
-
exports.Krc20Abi = exports.parseUnits = exports.formatUnits = exports.bitcoinAddress = exports.bitcoinDecode = exports.
|
|
25
|
+
exports.ProtocolTypes = exports.Krc20Abi = exports.parseUnits = exports.formatUnits = exports.bitcoinAddress = exports.bitcoinDecode = exports.bitcoinEncode = exports.decodeBase64 = exports.encodeBase64 = exports.decodeBase58 = exports.encodeBase58 = exports.toHexString = exports.toUint8Array = void 0;
|
|
26
26
|
const multibase = __importStar(require("multibase"));
|
|
27
|
-
const
|
|
28
|
-
const
|
|
29
|
-
const krc20_proto_json_1 = __importDefault(require("./krc20-proto.json"));
|
|
27
|
+
const sha256_1 = require("@noble/hashes/lib/sha256");
|
|
28
|
+
const ripemd160_1 = require("@noble/hashes/lib/ripemd160");
|
|
29
|
+
const krc20_proto_json_1 = __importDefault(require("./jsonDescriptors/krc20-proto.json"));
|
|
30
|
+
const protocol_proto_json_1 = __importDefault(require("./jsonDescriptors/protocol-proto.json"));
|
|
30
31
|
/**
|
|
31
32
|
* Converts an hex string to Uint8Array
|
|
32
33
|
*/
|
|
@@ -111,22 +112,15 @@ function bitcoinEncode(buffer, type, compressed = false) {
|
|
|
111
112
|
prefixBuffer[0] = 128;
|
|
112
113
|
}
|
|
113
114
|
prefixBuffer.set(buffer, 1);
|
|
114
|
-
const firstHash =
|
|
115
|
-
const doubleHash =
|
|
116
|
-
const checksum =
|
|
115
|
+
const firstHash = sha256_1.sha256(prefixBuffer);
|
|
116
|
+
const doubleHash = sha256_1.sha256(firstHash);
|
|
117
|
+
const checksum = new Uint8Array(4);
|
|
118
|
+
checksum.set(doubleHash.slice(0, 4));
|
|
117
119
|
bufferCheck.set(buffer, 1);
|
|
118
120
|
bufferCheck.set(checksum, offsetChecksum);
|
|
119
121
|
return encodeBase58(bufferCheck);
|
|
120
122
|
}
|
|
121
123
|
exports.bitcoinEncode = bitcoinEncode;
|
|
122
|
-
function copyUint8Array(source, target, targetStart, sourceStart, sourceEnd) {
|
|
123
|
-
for (let cursorSource = sourceStart; cursorSource < sourceEnd; cursorSource += 1) {
|
|
124
|
-
const cursorTarget = targetStart + cursorSource - sourceStart;
|
|
125
|
-
/* eslint-disable-next-line no-param-reassign */
|
|
126
|
-
target[cursorTarget] = source[cursorSource];
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
exports.copyUint8Array = copyUint8Array;
|
|
130
124
|
/**
|
|
131
125
|
* Decodes a public or private key formatted in base58 using
|
|
132
126
|
* the bitcoin format (see [Bitcoin Base58Check encoding](https://en.bitcoin.it/wiki/Base58Check_encoding)
|
|
@@ -140,13 +134,13 @@ function bitcoinDecode(value) {
|
|
|
140
134
|
const privateKey = new Uint8Array(32);
|
|
141
135
|
const checksum = new Uint8Array(4);
|
|
142
136
|
// const prefix = buffer[0];
|
|
143
|
-
|
|
137
|
+
privateKey.set(buffer.slice(1, 33));
|
|
144
138
|
if (value[0] !== "5") {
|
|
145
139
|
// compressed
|
|
146
|
-
|
|
140
|
+
checksum.set(buffer.slice(34, 38));
|
|
147
141
|
}
|
|
148
142
|
else {
|
|
149
|
-
|
|
143
|
+
checksum.set(buffer.slice(33, 37));
|
|
150
144
|
}
|
|
151
145
|
// TODO: verify prefix and checksum
|
|
152
146
|
return privateKey;
|
|
@@ -158,8 +152,8 @@ exports.bitcoinDecode = bitcoinDecode;
|
|
|
158
152
|
* address = bitcoinEncode( ripemd160 ( sha256 ( publicKey ) ) )
|
|
159
153
|
*/
|
|
160
154
|
function bitcoinAddress(publicKey) {
|
|
161
|
-
const hash =
|
|
162
|
-
const hash160 =
|
|
155
|
+
const hash = sha256_1.sha256(publicKey);
|
|
156
|
+
const hash160 = ripemd160_1.ripemd160(hash);
|
|
163
157
|
return bitcoinEncode(hash160, "public");
|
|
164
158
|
}
|
|
165
159
|
exports.bitcoinAddress = bitcoinAddress;
|
|
@@ -254,4 +248,5 @@ exports.Krc20Abi = {
|
|
|
254
248
|
},
|
|
255
249
|
types: krc20_proto_json_1.default,
|
|
256
250
|
};
|
|
251
|
+
exports.ProtocolTypes = protocol_proto_json_1.default;
|
|
257
252
|
//# sourceMappingURL=utils.js.map
|
package/lib/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAAuC;AACvC,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "koilib",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.5.0",
|
|
4
4
|
"description": "JS Koinos Library",
|
|
5
5
|
"author": "Julian Gonzalez",
|
|
6
6
|
"repository": {
|
|
@@ -16,16 +16,14 @@
|
|
|
16
16
|
],
|
|
17
17
|
"main": "./lib/index.js",
|
|
18
18
|
"types": "./lib/index.d.ts",
|
|
19
|
-
"browser": "./
|
|
19
|
+
"browser": "./lib/index.js",
|
|
20
20
|
"scripts": {
|
|
21
21
|
"audit": "audit-ci",
|
|
22
22
|
"build": "rimraf lib && tsc",
|
|
23
23
|
"bundle": "yarn bundle:no-min && yarn bundle:min",
|
|
24
24
|
"bundle:min": "webpack --mode=production --config webpack.prod.config.js",
|
|
25
25
|
"bundle:no-min": "webpack --mode=production --config webpack.dev.config.js",
|
|
26
|
-
"docs": "
|
|
27
|
-
"docs:generate": "typedoc src/index.ts --includeVersion",
|
|
28
|
-
"docs:post": "node -e \"require('fs').rename('docs/index.html', 'docs/main.html', console.log)\" && copyfiles -f tests/index.html docs && copyfiles -f tests/assets-index/* docs/assets-index && copyfiles -f dist/koinos.min.js docs/assets-index",
|
|
26
|
+
"docs": "typedoc src/index.ts --includeVersion",
|
|
29
27
|
"clean": "rimraf dist coverage",
|
|
30
28
|
"lint": "yarn lint:prettier && yarn lint:eslint && yarn lint:tsc",
|
|
31
29
|
"lint:prettier": "prettier . --check",
|
|
@@ -35,18 +33,18 @@
|
|
|
35
33
|
"proto": "node generateJsonKoinosProto.js",
|
|
36
34
|
"test": "jest",
|
|
37
35
|
"test:unit": "jest wallet.spec.ts",
|
|
38
|
-
"test:e2e": "jest wallet.e2e-spec.ts"
|
|
36
|
+
"test:e2e": "jest wallet.e2e-spec.ts",
|
|
37
|
+
"test:chain": "jest chain.e2e-spec.ts"
|
|
39
38
|
},
|
|
40
39
|
"exports": {
|
|
41
40
|
"./package.json": "./package.json",
|
|
42
41
|
".": "./lib/index.js"
|
|
43
42
|
},
|
|
44
43
|
"dependencies": {
|
|
44
|
+
"@noble/hashes": "^0.4.3",
|
|
45
|
+
"@noble/secp256k1": "^1.3.0",
|
|
45
46
|
"axios": "^0.21.1",
|
|
46
|
-
"js-sha256": "^0.9.0",
|
|
47
47
|
"multibase": "^4.0.4",
|
|
48
|
-
"noble-ripemd160": "^0.2.0",
|
|
49
|
-
"noble-secp256k1": "^1.2.9",
|
|
50
48
|
"protobufjs": "^6.11.2"
|
|
51
49
|
},
|
|
52
50
|
"devDependencies": {
|