This version is compatible with 960f8d139940fa0814d3fac44da9a2975642f5d3
of clvm
Breaking Change
- The type of
None
is nowundefined
(Previously it wasnull
) - Removed
isSExp()
andisCLVMObject()
since these don't exist in the Python'sclvm
and they brought slightly different behaviour. run_program()
has been deprecated. Userun_chia_program
orrun_clvm
instead.
Note:run_program()
is still available, but it cannot handle new CHIP-0011 operators likesecp256k1_verify
.
Changed
- Now
op_div
does not accept negative operands. convert_atom_to_bytes()
now is able to convert an object which hastoBytes()
method.SExp
can be initialized fromLazyNode
ofclvm_wasm
(Rust version ofclvm
)- Upgraded
bls-signatures
to2.0.3
- Upgraded npm dev dependencies
- Replaced
yarn.lock
withpnpm-lock.yaml
Added
- Added
clvm_rs
(clvm_wasm
) support- Exposed
run_chia_program
- Exposed
run_clvm
- Exposed
LazyNode
- Added
toJSON()
method toLazyNode
(This is not implemented inclvm_wasm
)
- Added
- Exposed
Flag
- Exposed
serialized_length
- Exposed
node_from_bytes
- Exposed
- Added
asUint8Array()
method toStream
- Added
toJSON()
method toBytes
- Added
toJSON()
method toSExp
- Added tests
- Added example code
Known Issues
- Loading
blsjs.wasm
into a web browser from ESModule code requires to put the wasm file into url's root path.
For example, when the main (compiled) js file is loaded by
<script type='module' src="https://xxx.yyy.zzz/aaa/bbb/ccc/main.js"></script>
blsjs.wasm
will be fetched fromhttps://xxx.yyy.zzz/blsjs.wasm
.
This is module context only. if the main js file is not on module context like
<script defer src="https://xxx.yyy.zzz/aaa/bbb/ccc/main.js"></script>
,
blsjs.wasm
will be fetched fromhttps://xxx.yyy.zzz/aaa/bbb/ccc/blsjs.wasm
.
However, with clvm >= 3.0.0, most of bls operations run inside clvm_wasm_bg.wasm.
So I believe you don't need to loadblsjs.wasm
in most cases.