@ckb-ccc/core 0.1.1 → 1.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/CHANGELOG.md +12 -0
- package/dist/barrel.d.ts +1 -1
- package/dist/barrel.d.ts.map +1 -1
- package/dist/barrel.js +1 -1
- package/dist/bytes/index.d.ts +14 -0
- package/dist/bytes/index.d.ts.map +1 -1
- package/dist/bytes/index.js +29 -0
- package/dist/ckb/advanced.d.ts +0 -1
- package/dist/ckb/advanced.d.ts.map +1 -1
- package/dist/ckb/advanced.js +0 -1
- package/dist/ckb/script.d.ts +17 -58
- package/dist/ckb/script.d.ts.map +1 -1
- package/dist/ckb/script.js +31 -78
- package/dist/ckb/transaction.d.ts +114 -260
- package/dist/ckb/transaction.d.ts.map +1 -1
- package/dist/ckb/transaction.js +162 -358
- package/dist/molecule/barrel.d.ts +4 -0
- package/dist/molecule/barrel.d.ts.map +1 -0
- package/dist/molecule/barrel.js +3 -0
- package/dist/molecule/codec.d.ts.map +1 -1
- package/dist/molecule/codec.js +6 -3
- package/dist/molecule/entity.d.ts +98 -0
- package/dist/molecule/entity.d.ts.map +1 -0
- package/dist/molecule/entity.js +113 -0
- package/dist/molecule/index.d.ts +1 -2
- package/dist/molecule/index.d.ts.map +1 -1
- package/dist/molecule/index.js +1 -2
- package/dist/molecule/predefined.d.ts +13 -20
- package/dist/molecule/predefined.d.ts.map +1 -1
- package/dist/molecule/predefined.js +14 -54
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist.commonjs/address/address.advanced.js +28 -23
- package/dist.commonjs/address/advanced.js +17 -1
- package/dist.commonjs/address/index.js +15 -11
- package/dist.commonjs/advanced.js +31 -2
- package/dist.commonjs/advancedBarrel.js +21 -5
- package/dist.commonjs/barrel.d.ts +1 -1
- package/dist.commonjs/barrel.d.ts.map +1 -1
- package/dist.commonjs/barrel.js +28 -12
- package/dist.commonjs/bytes/advanced.js +2 -1
- package/dist.commonjs/bytes/index.d.ts +14 -0
- package/dist.commonjs/bytes/index.d.ts.map +1 -1
- package/dist.commonjs/bytes/index.js +42 -7
- package/dist.commonjs/ckb/advanced.d.ts +0 -1
- package/dist.commonjs/ckb/advanced.d.ts.map +1 -1
- package/dist.commonjs/ckb/advanced.js +18 -3
- package/dist.commonjs/ckb/index.js +19 -3
- package/dist.commonjs/ckb/script.advanced.js +6 -3
- package/dist.commonjs/ckb/script.d.ts +17 -58
- package/dist.commonjs/ckb/script.d.ts.map +1 -1
- package/dist.commonjs/ckb/script.js +49 -90
- package/dist.commonjs/ckb/transaction.advanced.js +6 -3
- package/dist.commonjs/ckb/transaction.d.ts +114 -260
- package/dist.commonjs/ckb/transaction.d.ts.map +1 -1
- package/dist.commonjs/ckb/transaction.js +249 -434
- package/dist.commonjs/ckb/transactionLumos.js +2 -1
- package/dist.commonjs/client/advanced.js +22 -6
- package/dist.commonjs/client/cache/advanced.js +17 -1
- package/dist.commonjs/client/cache/cache.js +7 -3
- package/dist.commonjs/client/cache/index.js +18 -2
- package/dist.commonjs/client/cache/memory.advanced.js +28 -21
- package/dist.commonjs/client/cache/memory.js +23 -19
- package/dist.commonjs/client/client.js +25 -21
- package/dist.commonjs/client/clientPublicMainnet.advanced.js +25 -22
- package/dist.commonjs/client/clientPublicMainnet.js +15 -8
- package/dist.commonjs/client/clientPublicTestnet.advanced.js +25 -22
- package/dist.commonjs/client/clientPublicTestnet.js +15 -8
- package/dist.commonjs/client/clientTypes.advanced.js +6 -3
- package/dist.commonjs/client/clientTypes.js +43 -29
- package/dist.commonjs/client/index.js +22 -6
- package/dist.commonjs/client/jsonRpc/advanced.js +18 -2
- package/dist.commonjs/client/jsonRpc/index.js +41 -37
- package/dist.commonjs/client/jsonRpc/transformers.js +61 -57
- package/dist.commonjs/client/jsonRpc/types.js +2 -1
- package/dist.commonjs/client/transports/advanced.js +25 -8
- package/dist.commonjs/client/transports/http.js +5 -1
- package/dist.commonjs/client/transports/transport.js +2 -1
- package/dist.commonjs/client/transports/webSocket.js +10 -3
- package/dist.commonjs/fixedPoint/index.js +9 -4
- package/dist.commonjs/hasher/advanced.js +4 -1
- package/dist.commonjs/hasher/hasher.js +2 -1
- package/dist.commonjs/hasher/hasherCkb.js +20 -14
- package/dist.commonjs/hasher/hasherKeecak256.js +11 -7
- package/dist.commonjs/hasher/index.js +19 -3
- package/dist.commonjs/hex/index.js +6 -3
- package/dist.commonjs/index.js +31 -2
- package/dist.commonjs/keystore/index.js +25 -21
- package/dist.commonjs/molecule/barrel.d.ts +4 -0
- package/dist.commonjs/molecule/barrel.d.ts.map +1 -0
- package/dist.commonjs/molecule/barrel.js +19 -0
- package/dist.commonjs/molecule/codec.d.ts.map +1 -1
- package/dist.commonjs/molecule/codec.js +69 -51
- package/dist.commonjs/molecule/entity.d.ts +98 -0
- package/dist.commonjs/molecule/entity.d.ts.map +1 -0
- package/dist.commonjs/molecule/entity.js +118 -0
- package/dist.commonjs/molecule/index.d.ts +1 -2
- package/dist.commonjs/molecule/index.d.ts.map +1 -1
- package/dist.commonjs/molecule/index.js +27 -2
- package/dist.commonjs/molecule/predefined.d.ts +13 -20
- package/dist.commonjs/molecule/predefined.d.ts.map +1 -1
- package/dist.commonjs/molecule/predefined.js +54 -91
- package/dist.commonjs/num/index.js +29 -17
- package/dist.commonjs/signer/btc/index.js +19 -3
- package/dist.commonjs/signer/btc/signerBtc.js +24 -20
- package/dist.commonjs/signer/btc/signerBtcPublicKeyReadonly.js +8 -4
- package/dist.commonjs/signer/btc/verify.js +26 -17
- package/dist.commonjs/signer/ckb/index.js +21 -5
- package/dist.commonjs/signer/ckb/signerCkbPrivateKey.js +20 -16
- package/dist.commonjs/signer/ckb/signerCkbPublicKey.js +24 -20
- package/dist.commonjs/signer/ckb/signerCkbScriptReadonly.js +12 -8
- package/dist.commonjs/signer/ckb/verifyCkbSecp256k1.js +16 -12
- package/dist.commonjs/signer/ckb/verifyJoyId.js +8 -5
- package/dist.commonjs/signer/doge/index.js +20 -4
- package/dist.commonjs/signer/doge/signerDoge.js +26 -19
- package/dist.commonjs/signer/doge/signerDogeAddressReadonly.js +6 -2
- package/dist.commonjs/signer/doge/signerDogePrivateKey.js +17 -13
- package/dist.commonjs/signer/doge/verify.js +15 -12
- package/dist.commonjs/signer/dummy/alwaysError.js +6 -2
- package/dist.commonjs/signer/dummy/dummy.js +7 -3
- package/dist.commonjs/signer/dummy/index.js +19 -3
- package/dist.commonjs/signer/dummy/openLink.js +6 -2
- package/dist.commonjs/signer/evm/index.js +19 -3
- package/dist.commonjs/signer/evm/signerEvm.js +35 -31
- package/dist.commonjs/signer/evm/signerEvmAddressReadonly.js +8 -4
- package/dist.commonjs/signer/evm/verify.js +7 -4
- package/dist.commonjs/signer/index.js +23 -7
- package/dist.commonjs/signer/nostr/index.js +18 -2
- package/dist.commonjs/signer/nostr/signerNostr.js +25 -21
- package/dist.commonjs/signer/nostr/verify.js +16 -12
- package/dist.commonjs/signer/signer/index.js +25 -19
- package/dist.commonjs/utils/index.d.ts +3 -0
- package/dist.commonjs/utils/index.d.ts.map +1 -1
- package/dist.commonjs/utils/index.js +12 -6
- package/package.json +1 -2
- package/src/barrel.ts +1 -1
- package/src/bytes/index.ts +34 -0
- package/src/ckb/advanced.ts +0 -1
- package/src/ckb/script.ts +22 -85
- package/src/ckb/transaction.ts +134 -412
- package/src/molecule/barrel.ts +3 -0
- package/src/molecule/codec.ts +9 -5
- package/src/molecule/entity.ts +163 -0
- package/src/molecule/index.ts +1 -2
- package/src/molecule/predefined.ts +20 -69
- package/src/utils/index.ts +5 -0
- package/dist/ckb/molecule.advanced/generated.d.ts +0 -355
- package/dist/ckb/molecule.advanced/generated.d.ts.map +0 -1
- package/dist/ckb/molecule.advanced/generated.js +0 -1468
- package/dist/ckb/molecule.advanced/index.d.ts +0 -6
- package/dist/ckb/molecule.advanced/index.d.ts.map +0 -1
- package/dist/ckb/molecule.advanced/index.js +0 -7
- package/dist.commonjs/ckb/molecule.advanced/generated.d.ts +0 -355
- package/dist.commonjs/ckb/molecule.advanced/generated.d.ts.map +0 -1
- package/dist.commonjs/ckb/molecule.advanced/generated.js +0 -1468
- package/dist.commonjs/ckb/molecule.advanced/index.d.ts +0 -6
- package/dist.commonjs/ckb/molecule.advanced/index.d.ts.map +0 -1
- package/dist.commonjs/ckb/molecule.advanced/index.js +0 -7
- package/src/ckb/molecule.advanced/blockchain.mol +0 -118
- package/src/ckb/molecule.advanced/generated.d.ts +0 -444
- package/src/ckb/molecule.advanced/generated.js +0 -1804
- package/src/ckb/molecule.advanced/index.ts +0 -11
package/src/ckb/advanced.ts
CHANGED
package/src/ckb/script.ts
CHANGED
|
@@ -1,14 +1,19 @@
|
|
|
1
1
|
import { Bytes, BytesLike, bytesFrom } from "../bytes/index.js";
|
|
2
2
|
import { Client, KnownScript } from "../client/index.js";
|
|
3
|
-
import { hashCkb } from "../hasher/index.js";
|
|
4
3
|
import { Hex, HexLike, hexFrom } from "../hex/index.js";
|
|
5
|
-
import
|
|
4
|
+
import { mol } from "../molecule/index.js";
|
|
6
5
|
import {
|
|
7
6
|
HASH_TYPES,
|
|
8
7
|
HASH_TYPE_TO_NUM,
|
|
9
8
|
NUM_TO_HASH_TYPE,
|
|
10
9
|
} from "./script.advanced.js";
|
|
11
10
|
|
|
11
|
+
export const HashTypeCodec: mol.Codec<HashTypeLike, HashType> = mol.Codec.from({
|
|
12
|
+
byteLength: 1,
|
|
13
|
+
encode: hashTypeToBytes,
|
|
14
|
+
decode: hashTypeFromBytes,
|
|
15
|
+
});
|
|
16
|
+
|
|
12
17
|
/**
|
|
13
18
|
* @public
|
|
14
19
|
*/
|
|
@@ -102,7 +107,16 @@ export type ScriptLike = {
|
|
|
102
107
|
/**
|
|
103
108
|
* @public
|
|
104
109
|
*/
|
|
105
|
-
|
|
110
|
+
@mol.codec(
|
|
111
|
+
mol
|
|
112
|
+
.table({
|
|
113
|
+
codeHash: mol.Byte32,
|
|
114
|
+
hashType: HashTypeCodec,
|
|
115
|
+
args: mol.Bytes,
|
|
116
|
+
})
|
|
117
|
+
.map({ outMap: (decoded) => Script.from(decoded) }),
|
|
118
|
+
)
|
|
119
|
+
export class Script extends mol.Entity.Base<ScriptLike, Script>() {
|
|
106
120
|
/**
|
|
107
121
|
* Creates an instance of Script.
|
|
108
122
|
*
|
|
@@ -114,7 +128,9 @@ export class Script {
|
|
|
114
128
|
public codeHash: Hex,
|
|
115
129
|
public hashType: HashType,
|
|
116
130
|
public args: Hex,
|
|
117
|
-
) {
|
|
131
|
+
) {
|
|
132
|
+
super();
|
|
133
|
+
}
|
|
118
134
|
|
|
119
135
|
get occupiedSize(): number {
|
|
120
136
|
return 33 + bytesFrom(this.args).length;
|
|
@@ -194,85 +210,6 @@ export class Script {
|
|
|
194
210
|
*
|
|
195
211
|
* @returns An object representing the script in molecule data format.
|
|
196
212
|
*/
|
|
197
|
-
|
|
198
|
-
_toMolData() {
|
|
199
|
-
return {
|
|
200
|
-
codeHash: bytesFrom(this.codeHash),
|
|
201
|
-
hashType: hashTypeToBytes(this.hashType),
|
|
202
|
-
args: bytesFrom(this.args),
|
|
203
|
-
};
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
/**
|
|
207
|
-
* Converts the Script instance to bytes.
|
|
208
|
-
*
|
|
209
|
-
* @returns A Uint8Array containing the script bytes.
|
|
210
|
-
*
|
|
211
|
-
* @example
|
|
212
|
-
* ```typescript
|
|
213
|
-
* const scriptBytes = script.toBytes();
|
|
214
|
-
* ```
|
|
215
|
-
*/
|
|
216
|
-
|
|
217
|
-
toBytes(): Bytes {
|
|
218
|
-
return bytesFrom(mol.SerializeScript(this._toMolData()));
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
/**
|
|
222
|
-
* Get hash of a script
|
|
223
|
-
*
|
|
224
|
-
* @returns Hash of this script
|
|
225
|
-
*
|
|
226
|
-
* @example
|
|
227
|
-
* ```typescript
|
|
228
|
-
* const hash = script.hash();
|
|
229
|
-
* ```
|
|
230
|
-
*/
|
|
231
|
-
hash(): Hex {
|
|
232
|
-
return hashCkb(this.toBytes());
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
/**
|
|
236
|
-
* Creates a Script instance from a byte-like value or molecule Script.
|
|
237
|
-
*
|
|
238
|
-
* @param bytes - The byte-like value or molecule Script to convert.
|
|
239
|
-
* @returns A Script instance.
|
|
240
|
-
*
|
|
241
|
-
* @example
|
|
242
|
-
* ```typescript
|
|
243
|
-
* const script = Script.fromBytes(new Uint8Array([/* script bytes *\/]));
|
|
244
|
-
* ```
|
|
245
|
-
*/
|
|
246
|
-
|
|
247
|
-
static fromBytes(bytes: BytesLike | mol.Script): Script {
|
|
248
|
-
const view =
|
|
249
|
-
bytes instanceof mol.Script ? bytes : new mol.Script(bytesFrom(bytes));
|
|
250
|
-
|
|
251
|
-
return new Script(
|
|
252
|
-
hexFrom(view.getCodeHash().raw()),
|
|
253
|
-
hashTypeFromBytes([view.getHashType()]),
|
|
254
|
-
hexFrom(view.getArgs().raw()),
|
|
255
|
-
);
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
/**
|
|
259
|
-
* Compares the current Script instance with another ScriptLike object for equality.
|
|
260
|
-
*
|
|
261
|
-
* @param val - The ScriptLike object to compare with.
|
|
262
|
-
* @returns True if the scripts are equal, otherwise false.
|
|
263
|
-
*
|
|
264
|
-
* @example
|
|
265
|
-
* ```typescript
|
|
266
|
-
* const isEqual = script.eq(anotherScript);
|
|
267
|
-
* ```
|
|
268
|
-
*/
|
|
269
|
-
|
|
270
|
-
eq(val: ScriptLike): boolean {
|
|
271
|
-
const script = Script.from(val);
|
|
272
|
-
return (
|
|
273
|
-
this.codeHash === script.codeHash &&
|
|
274
|
-
this.args === script.args &&
|
|
275
|
-
this.hashType === script.hashType
|
|
276
|
-
);
|
|
277
|
-
}
|
|
278
213
|
}
|
|
214
|
+
|
|
215
|
+
export const ScriptOpt = mol.option(Script);
|