@ckb-lumos/helpers
Advanced tools
Comparing version 0.23.0-next.0 to 0.23.0-next.1
@@ -124,2 +124,3 @@ import { Address, Cell, CellDep, CellProvider, Hash, HexString, PackedSince, Script, Transaction, OutPoint } from "@ckb-lumos/base"; | ||
export { refreshTypeIdCellDeps } from "./refresh"; | ||
export * from "./models"; | ||
//# sourceMappingURL=index.d.ts.map |
@@ -6,2 +6,24 @@ "use strict"; | ||
}); | ||
var _exportNames = { | ||
minimalScriptCapacity: true, | ||
minimalScriptCapacityCompatible: true, | ||
minimalCellCapacity: true, | ||
minimalCellCapacityCompatible: true, | ||
locateCellDep: true, | ||
generateAddress: true, | ||
scriptToAddress: true, | ||
generateSecp256k1Blake160Address: true, | ||
generateSecp256k1Blake160MultisigAddress: true, | ||
parseAddress: true, | ||
addressToScript: true, | ||
encodeToAddress: true, | ||
encodeToConfigAddress: true, | ||
TransactionSkeleton: true, | ||
createTransactionFromSkeleton: true, | ||
createTransactionSkeleton: true, | ||
sealTransaction: true, | ||
transactionSkeletonToObject: true, | ||
objectToTransactionSkeleton: true, | ||
refreshTypeIdCellDeps: true | ||
}; | ||
exports.addressToScript = exports.TransactionSkeleton = void 0; | ||
@@ -42,2 +64,14 @@ exports.createTransactionFromSkeleton = createTransactionFromSkeleton; | ||
var _refresh = require("./refresh"); | ||
var _models = require("./models"); | ||
Object.keys(_models).forEach(function (key) { | ||
if (key === "default" || key === "__esModule") return; | ||
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; | ||
if (key in exports && exports[key] === _models[key]) return; | ||
Object.defineProperty(exports, key, { | ||
enumerable: true, | ||
get: function () { | ||
return _models[key]; | ||
} | ||
}); | ||
}); | ||
const { | ||
@@ -44,0 +78,0 @@ bytify, |
{ | ||
"name": "@ckb-lumos/helpers", | ||
"version": "0.23.0-next.0", | ||
"version": "0.23.0-next.1", | ||
"description": "Helper functions for working with CKB", | ||
@@ -29,7 +29,7 @@ "author": "Xuejie Xiao <xxuejie@gmail.com>", | ||
"dependencies": { | ||
"@ckb-lumos/base": "0.23.0-next.0", | ||
"@ckb-lumos/bi": "0.23.0-next.0", | ||
"@ckb-lumos/codec": "0.23.0-next.0", | ||
"@ckb-lumos/config-manager": "0.23.0-next.0", | ||
"@ckb-lumos/toolkit": "0.23.0-next.0", | ||
"@ckb-lumos/base": "0.23.0-next.1", | ||
"@ckb-lumos/bi": "0.23.0-next.1", | ||
"@ckb-lumos/codec": "0.23.0-next.1", | ||
"@ckb-lumos/config-manager": "0.23.0-next.1", | ||
"@ckb-lumos/toolkit": "0.23.0-next.1", | ||
"bech32": "^2.0.0", | ||
@@ -36,0 +36,0 @@ "immutable": "^4.3.0" |
@@ -10,3 +10,7 @@ # `@ckb-lumos/helpers` | ||
```javascript | ||
const { minimalCellCapacity, generateAddress, parseAddress } = require("@ckb-lumos/helpers") | ||
const { | ||
minimalCellCapacity, | ||
generateAddress, | ||
parseAddress, | ||
} = require("@ckb-lumos/helpers"); | ||
@@ -29,3 +33,3 @@ // Get cell minimal capacity. | ||
outPoint: null, | ||
}) | ||
}); | ||
@@ -40,13 +44,16 @@ // result will be 6100000000n shannons. | ||
args: "0x36c329ed630d6ce750712a477543672adab57f4c", | ||
}) | ||
}); | ||
// Then you will get mainnet address "ckb1qyqrdsefa43s6m882pcj53m4gdnj4k440axqdt9rtd", or you can generate testnet address by | ||
const { predefined } = require("@ckb-lumos/config-manager") | ||
const { predefined } = require("@ckb-lumos/config-manager"); | ||
const address = generateAddress({ | ||
codeHash: | ||
"0x9bd7e06f3ecf4be0f2fcd2188b23f1b9fcc88e5d4b65a8637b17723bbda3cce8", | ||
hashType: "type", | ||
args: "0x36c329ed630d6ce750712a477543672adab57f4c", | ||
}, { config: predefined.AGGRON4 }) | ||
const address = generateAddress( | ||
{ | ||
codeHash: | ||
"0x9bd7e06f3ecf4be0f2fcd2188b23f1b9fcc88e5d4b65a8637b17723bbda3cce8", | ||
hashType: "type", | ||
args: "0x36c329ed630d6ce750712a477543672adab57f4c", | ||
}, | ||
{ config: predefined.AGGRON4 } | ||
); | ||
@@ -56,3 +63,3 @@ // Will get testnet address "ckt1qyqrdsefa43s6m882pcj53m4gdnj4k440axqswmu83". | ||
// Use `parseAddress` to get lock script from an address. | ||
const script = parseAddress("ckb1qyqrdsefa43s6m882pcj53m4gdnj4k440axqdt9rtd") | ||
const script = parseAddress("ckb1qyqrdsefa43s6m882pcj53m4gdnj4k440axqdt9rtd"); | ||
@@ -62,9 +69,34 @@ // TransactionSkeleton <=> Object | ||
// Convert TransactionSkeleton to js object | ||
const obj = transactionSkeletonToObject(txSkeleton) | ||
const obj = transactionSkeletonToObject(txSkeleton); | ||
// then your can write to json file | ||
fs.writeFileSync("your file", JSON.stringify(obj)) | ||
fs.writeFileSync("your file", JSON.stringify(obj)); | ||
// Or convert js object to TransactionSkeleton | ||
// If your object is from json file, make sure `cellProvider` is working properly. | ||
const txSkeleton = objectToTransactionSkeleton(obj) | ||
const txSkeleton = objectToTransactionSkeleton(obj); | ||
``` | ||
### ModelHelpers | ||
The `ModelHelper` provides a set of common methods, such as `create`, `hash`, `clone`, and `equals`, for CKB-related objects. | ||
This helper is designed to work with a `ModelLike` object for convenience, allowing developers to work with ambiguous objects instead of just the strict object. | ||
```ts | ||
export type ModelHelper<Model, ModelLike = Model> = { | ||
create(modelLike: ModelLike): Model; | ||
equals(modelLike: ModelLike, modelR: ModelLike): boolean; | ||
hash(modelLike: ModelLike): Uint8Array; | ||
clone(model: ModelLike): Model; | ||
}; | ||
``` | ||
```javascript | ||
import { cellHelper } from "@ckb-lumos/helpers"; | ||
const cell = cellHelper.create({ | ||
lock: "ckb1qzda0cr08m85hc8jlnfp3zer7xulejywt49kt2rr0vthywaa50xwsqgqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq5m759c", | ||
}); | ||
const _61CKB = 61 * 10 ** 8; | ||
asserts(BI.from(cell.cellOutput.capacity).eq(_61CKB)); // 61 CKB | ||
``` |
@@ -535,1 +535,2 @@ import { bytes } from "@ckb-lumos/codec"; | ||
export { refreshTypeIdCellDeps } from "./refresh"; | ||
export * from "./models"; |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
125377
48
1800
98
+ Added@ckb-lumos/base@0.23.0-next.1(transitive)
+ Added@ckb-lumos/bi@0.23.0-next.1(transitive)
+ Added@ckb-lumos/codec@0.23.0-next.1(transitive)
+ Added@ckb-lumos/config-manager@0.23.0-next.1(transitive)
+ Added@ckb-lumos/rpc@0.23.0-next.1(transitive)
+ Added@ckb-lumos/toolkit@0.23.0-next.1(transitive)
- Removed@ckb-lumos/base@0.23.0-next.0(transitive)
- Removed@ckb-lumos/bi@0.23.0-next.0(transitive)
- Removed@ckb-lumos/codec@0.23.0-next.0(transitive)
- Removed@ckb-lumos/config-manager@0.23.0-next.0(transitive)
- Removed@ckb-lumos/rpc@0.23.0-next.0(transitive)
- Removed@ckb-lumos/toolkit@0.23.0-next.0(transitive)
Updated@ckb-lumos/bi@0.23.0-next.1