koilib 2.6.1 → 3.0.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 +66 -12
- package/dist/koinos.js +8533 -274
- package/dist/koinos.min.js +1 -1
- package/lib/Contract.d.ts +53 -16
- package/lib/Contract.js +99 -31
- package/lib/Contract.js.map +1 -1
- package/lib/Provider.d.ts +39 -19
- package/lib/Provider.js +119 -87
- package/lib/Provider.js.map +1 -1
- package/lib/Serializer.d.ts +8 -3
- package/lib/Serializer.js +60 -41
- package/lib/Serializer.js.map +1 -1
- package/lib/Signer.d.ts +53 -39
- package/lib/Signer.js +320 -91
- package/lib/Signer.js.map +1 -1
- package/lib/browser/Contract.d.ts +53 -16
- package/lib/browser/Contract.js +99 -31
- package/lib/browser/Contract.js.map +1 -1
- package/lib/browser/Provider.d.ts +39 -19
- package/lib/browser/Provider.js +119 -87
- package/lib/browser/Provider.js.map +1 -1
- package/lib/browser/Serializer.d.ts +8 -3
- package/lib/browser/Serializer.js +60 -41
- package/lib/browser/Serializer.js.map +1 -1
- package/lib/browser/Signer.d.ts +53 -39
- package/lib/browser/Signer.js +320 -91
- package/lib/browser/Signer.js.map +1 -1
- package/lib/browser/index.d.ts +1 -1
- package/lib/browser/index.js +1 -1
- package/lib/browser/index.js.map +1 -1
- package/lib/browser/indexUtils.d.ts +2 -0
- package/lib/browser/indexUtils.js +15 -0
- package/lib/browser/indexUtils.js.map +1 -0
- package/lib/browser/interface.d.ts +242 -65
- package/lib/browser/jsonDescriptors/chain-proto.json +676 -0
- package/lib/browser/jsonDescriptors/krc20-proto.json +47 -4
- package/lib/browser/protoModules/protocol-proto.d.ts +2 -0
- package/lib/browser/protoModules/protocol-proto.js +6336 -0
- package/lib/browser/protoModules/protocol-proto.js.map +1 -0
- package/lib/browser/utils.d.ts +18 -254
- package/lib/browser/utils.js +140 -12
- package/lib/browser/utils.js.map +1 -1
- package/lib/browser/utilsNode.d.ts +1021 -0
- package/lib/browser/utilsNode.js +346 -0
- package/lib/browser/utilsNode.js.map +1 -0
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/indexUtils.d.ts +2 -0
- package/lib/indexUtils.js +15 -0
- package/lib/indexUtils.js.map +1 -0
- package/lib/interface.d.ts +242 -65
- package/lib/jsonDescriptors/chain-proto.json +676 -0
- package/lib/jsonDescriptors/krc20-proto.json +47 -4
- package/lib/protoModules/protocol-proto.d.ts +2 -0
- package/lib/protoModules/protocol-proto.js +6336 -0
- package/lib/protoModules/protocol-proto.js.map +1 -0
- package/lib/utils.d.ts +18 -254
- package/lib/utils.js +140 -12
- package/lib/utils.js.map +1 -1
- package/lib/utilsNode.d.ts +1021 -0
- package/lib/utilsNode.js +346 -0
- package/lib/utilsNode.js.map +1 -0
- package/package.json +1 -1
- package/lib/browser/jsonDescriptors/protocol-proto.json +0 -246
- package/lib/jsonDescriptors/protocol-proto.json +0 -246
package/lib/Signer.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { Provider } from "./Provider";
|
|
2
|
-
import { TransactionJson,
|
|
3
|
-
import { Serializer } from "./Serializer";
|
|
2
|
+
import { TransactionJson, TransactionJsonWait, BlockJson, RecoverPublicKeyOptions, Abi } from "./interface";
|
|
4
3
|
export interface SignerInterface {
|
|
5
4
|
provider?: Provider;
|
|
6
|
-
serializer?: Serializer;
|
|
7
5
|
getAddress: (compressed?: boolean) => string;
|
|
8
6
|
getPrivateKey: (format: "wif" | "hex", compressed?: boolean) => string;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
7
|
+
signHash(hash: Uint8Array): Promise<Uint8Array>;
|
|
8
|
+
signTransaction: (tx: TransactionJson | TransactionJsonWait, abis?: Record<string, Abi>) => Promise<TransactionJson>;
|
|
9
|
+
sendTransaction: (tx: TransactionJson | TransactionJsonWait, abis?: Record<string, Abi>) => Promise<TransactionJsonWait>;
|
|
10
|
+
prepareTransaction: (tx: TransactionJson) => Promise<TransactionJson>;
|
|
11
|
+
prepareBlock: (block: BlockJson) => Promise<BlockJson>;
|
|
12
|
+
signBlock: (block: BlockJson) => Promise<BlockJson>;
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
15
15
|
* The Signer Class contains the private key needed to sign transactions.
|
|
@@ -78,13 +78,13 @@ export declare class Signer implements SignerInterface {
|
|
|
78
78
|
*/
|
|
79
79
|
address: string;
|
|
80
80
|
/**
|
|
81
|
-
*
|
|
81
|
+
* Chain id
|
|
82
82
|
*/
|
|
83
|
-
|
|
83
|
+
chainId: string;
|
|
84
84
|
/**
|
|
85
|
-
*
|
|
85
|
+
* Provider to connect with the blockchain
|
|
86
86
|
*/
|
|
87
|
-
|
|
87
|
+
provider?: Provider;
|
|
88
88
|
/**
|
|
89
89
|
* The constructor receives de private key as hexstring, bigint or Uint8Array.
|
|
90
90
|
* See also the functions [[Signer.fromWif]] and [[Signer.fromSeed]]
|
|
@@ -104,14 +104,8 @@ export declare class Signer implements SignerInterface {
|
|
|
104
104
|
constructor(c: {
|
|
105
105
|
privateKey: string | number | bigint | Uint8Array;
|
|
106
106
|
compressed?: boolean;
|
|
107
|
+
chainId?: string;
|
|
107
108
|
provider?: Provider;
|
|
108
|
-
/**
|
|
109
|
-
* Set this option if you can not use _eval_ functions
|
|
110
|
-
* in the current environment. In such cases, the
|
|
111
|
-
* serializer must come from an environment where it
|
|
112
|
-
* is able to use those functions.
|
|
113
|
-
*/
|
|
114
|
-
serializer?: Serializer;
|
|
115
109
|
});
|
|
116
110
|
/**
|
|
117
111
|
* Function to import a private key from the WIF
|
|
@@ -124,7 +118,7 @@ export declare class Signer implements SignerInterface {
|
|
|
124
118
|
* ```
|
|
125
119
|
* @returns Signer object
|
|
126
120
|
*/
|
|
127
|
-
static fromWif(wif: string): Signer;
|
|
121
|
+
static fromWif(wif: string, compressed?: boolean): Signer;
|
|
128
122
|
/**
|
|
129
123
|
* Function to import a private key from the seed
|
|
130
124
|
* @param seed - Seed words
|
|
@@ -163,13 +157,26 @@ export declare class Signer implements SignerInterface {
|
|
|
163
157
|
* ```
|
|
164
158
|
*/
|
|
165
159
|
getPrivateKey(format?: "wif" | "hex", compressed?: boolean): string;
|
|
160
|
+
/**
|
|
161
|
+
* Function to sign a hash value. It returns the bytes signature.
|
|
162
|
+
* The signature is in compact format with the recovery byte
|
|
163
|
+
* @param hash - Hash value. Also known as digest
|
|
164
|
+
*/
|
|
165
|
+
signHash(hash: Uint8Array): Promise<Uint8Array>;
|
|
166
166
|
/**
|
|
167
167
|
* Function to sign a transaction. It's important to remark that
|
|
168
168
|
* the transaction parameter is modified inside this function.
|
|
169
169
|
* @param tx - Unsigned transaction
|
|
170
|
-
* @returns
|
|
171
170
|
*/
|
|
172
|
-
signTransaction(tx: TransactionJson): Promise<TransactionJson>;
|
|
171
|
+
signTransaction(tx: TransactionJson | TransactionJsonWait, _abis?: Record<string, Abi>): Promise<TransactionJson>;
|
|
172
|
+
/**
|
|
173
|
+
* Function to sign a block for federated consensus. That is,
|
|
174
|
+
* just the ecdsa signature. For other algorithms, like PoW,
|
|
175
|
+
* you have to sign the block and then process the signature
|
|
176
|
+
* to add the extra data (nonce in the case of PoW).
|
|
177
|
+
* @param block - Unsigned block
|
|
178
|
+
*/
|
|
179
|
+
signBlock(block: BlockJson): Promise<BlockJson>;
|
|
173
180
|
/**
|
|
174
181
|
* Function to sign and send a transaction. It internally uses
|
|
175
182
|
* [[Provider.sendTransaction]]
|
|
@@ -179,15 +186,22 @@ export declare class Signer implements SignerInterface {
|
|
|
179
186
|
* transaction. This parameter is optional.
|
|
180
187
|
* @returns
|
|
181
188
|
*/
|
|
182
|
-
sendTransaction(tx: TransactionJson, _abis?: Record<string, Abi>): Promise<
|
|
189
|
+
sendTransaction(tx: TransactionJson | TransactionJsonWait, _abis?: Record<string, Abi>): Promise<TransactionJsonWait>;
|
|
190
|
+
/**
|
|
191
|
+
* Function to recover the public key from hash and signature
|
|
192
|
+
* @param hash - hash sha256
|
|
193
|
+
* @param signature - compact signature
|
|
194
|
+
* @param compressed - default true
|
|
195
|
+
*/
|
|
196
|
+
static recoverPublicKey(hash: Uint8Array, signature: Uint8Array, compressed?: boolean): string;
|
|
183
197
|
/**
|
|
184
|
-
* Function to recover the
|
|
198
|
+
* Function to recover the publics keys from a signed
|
|
185
199
|
* transaction or block.
|
|
186
200
|
* The output format can be compressed (default) or uncompressed.
|
|
187
201
|
*
|
|
188
202
|
* @example
|
|
189
203
|
* ```ts
|
|
190
|
-
* const
|
|
204
|
+
* const publicKeys = await Signer.recoverPublicKeys(tx);
|
|
191
205
|
* ```
|
|
192
206
|
*
|
|
193
207
|
* If the signature data contains more data, like in the
|
|
@@ -221,7 +235,7 @@ export declare class Signer implements SignerInterface {
|
|
|
221
235
|
* defaultTypeName: "pow_signature_data",
|
|
222
236
|
* });
|
|
223
237
|
*
|
|
224
|
-
* const
|
|
238
|
+
* const publicKeys = await signer.recoverPublicKeys(block, {
|
|
225
239
|
* transformSignature: async (signatureData) => {
|
|
226
240
|
* const powSignatureData = await serializer.deserialize(signatureData);
|
|
227
241
|
* return powSignatureData.recoverable_signature;
|
|
@@ -229,14 +243,14 @@ export declare class Signer implements SignerInterface {
|
|
|
229
243
|
* });
|
|
230
244
|
* ```
|
|
231
245
|
*/
|
|
232
|
-
|
|
246
|
+
recoverPublicKeys(txOrBlock: TransactionJson | BlockJson, opts?: RecoverPublicKeyOptions): Promise<string[]>;
|
|
233
247
|
/**
|
|
234
|
-
* Function to recover the signer
|
|
248
|
+
* Function to recover the signer addresses from a signed
|
|
235
249
|
* transaction or block.
|
|
236
250
|
* The output format can be compressed (default) or uncompressed.
|
|
237
251
|
* @example
|
|
238
252
|
* ```ts
|
|
239
|
-
* const
|
|
253
|
+
* const addresses = await signer.recoverAddress(tx);
|
|
240
254
|
* ```
|
|
241
255
|
*
|
|
242
256
|
* If the signature data contains more data, like in the
|
|
@@ -270,7 +284,7 @@ export declare class Signer implements SignerInterface {
|
|
|
270
284
|
* defaultTypeName: "pow_signature_data",
|
|
271
285
|
* });
|
|
272
286
|
*
|
|
273
|
-
* const
|
|
287
|
+
* const addresses = await signer.recoverAddress(block, {
|
|
274
288
|
* transformSignature: async (signatureData) => {
|
|
275
289
|
* const powSignatureData = await serializer.deserialize(signatureData);
|
|
276
290
|
* return powSignatureData.recoverable_signature;
|
|
@@ -278,19 +292,19 @@ export declare class Signer implements SignerInterface {
|
|
|
278
292
|
* });
|
|
279
293
|
* ```
|
|
280
294
|
*/
|
|
281
|
-
|
|
295
|
+
recoverAddresses(txOrBlock: TransactionJson | BlockJson, opts?: RecoverPublicKeyOptions): Promise<string[]>;
|
|
282
296
|
/**
|
|
283
|
-
* Function to
|
|
284
|
-
* @param
|
|
285
|
-
*
|
|
286
|
-
*
|
|
287
|
-
* @returns A transaction encoded. The active field is encoded in
|
|
288
|
-
* base64url
|
|
297
|
+
* Function to prepare a transaction
|
|
298
|
+
* @param tx - Do not set the nonce to get it from the blockchain
|
|
299
|
+
* using the provider. The rc_limit is 1e8 by default.
|
|
300
|
+
* @returns A prepared transaction. ()
|
|
289
301
|
*/
|
|
290
|
-
|
|
302
|
+
prepareTransaction(tx: TransactionJson): Promise<TransactionJson>;
|
|
291
303
|
/**
|
|
292
|
-
* Function to
|
|
304
|
+
* Function to prepare a block
|
|
305
|
+
* @param block -
|
|
306
|
+
* @returns A prepared block. ()
|
|
293
307
|
*/
|
|
294
|
-
|
|
308
|
+
prepareBlock(block: BlockJson): Promise<BlockJson>;
|
|
295
309
|
}
|
|
296
310
|
export default Signer;
|