@opcat-labs/scrypt-ts-opcat 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/assets/.templates/smart-contract/builtin-libs/TxHashPreimageUtils.scrypt.map +1 -0
- package/assets/.templates/smart-contract/builtin-libs/TxHashPreimageUtils.scrypt.tpl +18 -0
- package/assets/.templates/smart-contract/builtin-libs/TxHashPreimageUtils.transformer.json +7 -0
- package/assets/.templates/smart-contract/builtin-libs/backtrace.scrypt.map +1 -0
- package/assets/.templates/smart-contract/builtin-libs/backtrace.scrypt.tpl +36 -0
- package/assets/.templates/smart-contract/builtin-libs/backtrace.transformer.json +7 -0
- package/assets/.templates/smart-contract/builtin-libs/byteStringReader.scrypt.map +1 -0
- package/assets/.templates/smart-contract/builtin-libs/byteStringReader.scrypt.tpl +64 -0
- package/assets/.templates/smart-contract/builtin-libs/byteStringReader.transformer.json +7 -0
- package/assets/.templates/smart-contract/builtin-libs/byteStringWriter.scrypt.map +1 -0
- package/assets/.templates/smart-contract/builtin-libs/byteStringWriter.scrypt.tpl +48 -0
- package/assets/.templates/smart-contract/builtin-libs/byteStringWriter.transformer.json +7 -0
- package/assets/.templates/smart-contract/builtin-libs/contextUtils.scrypt.map +1 -0
- package/assets/.templates/smart-contract/builtin-libs/contextUtils.scrypt.tpl +101 -0
- package/assets/.templates/smart-contract/builtin-libs/contextUtils.transformer.json +7 -0
- package/assets/.templates/smart-contract/builtin-libs/p2pk.scrypt.map +1 -0
- package/assets/.templates/smart-contract/builtin-libs/p2pk.scrypt.tpl +7 -0
- package/assets/.templates/smart-contract/builtin-libs/p2pk.transformer.json +7 -0
- package/assets/.templates/smart-contract/builtin-libs/p2pkh.scrypt.map +1 -0
- package/assets/.templates/smart-contract/builtin-libs/p2pkh.scrypt.tpl +8 -0
- package/assets/.templates/smart-contract/builtin-libs/p2pkh.transformer.json +7 -0
- package/assets/.templates/smart-contract/builtin-libs/stateLib.scrypt.map +1 -0
- package/assets/.templates/smart-contract/builtin-libs/stateLib.scrypt.tpl +3 -0
- package/assets/.templates/smart-contract/builtin-libs/stateLib.transformer.json +7 -0
- package/assets/.templates/smart-contract/builtin-libs/stateUtils.scrypt.map +1 -0
- package/assets/.templates/smart-contract/builtin-libs/stateUtils.scrypt.tpl +7 -0
- package/assets/.templates/smart-contract/builtin-libs/stateUtils.transformer.json +7 -0
- package/assets/.templates/smart-contract/builtin-libs/stdUtils.scrypt.map +1 -0
- package/assets/.templates/smart-contract/builtin-libs/stdUtils.scrypt.tpl +89 -0
- package/assets/.templates/smart-contract/builtin-libs/stdUtils.transformer.json +7 -0
- package/assets/.templates/smart-contract/builtin-libs/txUtils.scrypt.map +1 -0
- package/assets/.templates/smart-contract/builtin-libs/txUtils.scrypt.tpl +42 -0
- package/assets/.templates/smart-contract/builtin-libs/txUtils.transformer.json +7 -0
- package/assets/.templates/smart-contract/types/structs.scrypt.map +1 -0
- package/assets/.templates/smart-contract/types/structs.scrypt.tpl +48 -0
- package/assets/.templates/smart-contract/types/structs.transformer.json +7 -0
- package/assets/smart-contract/builtin-libs/TxHashPreimageUtils.scrypt +20 -0
- package/assets/smart-contract/builtin-libs/backtrace.scrypt +38 -0
- package/assets/smart-contract/builtin-libs/byteStringReader.scrypt +66 -0
- package/assets/smart-contract/builtin-libs/byteStringWriter.scrypt +50 -0
- package/assets/smart-contract/builtin-libs/contextUtils.scrypt +103 -0
- package/assets/smart-contract/builtin-libs/p2pk.scrypt +9 -0
- package/assets/smart-contract/builtin-libs/p2pkh.scrypt +10 -0
- package/assets/smart-contract/builtin-libs/stateLib.scrypt +5 -0
- package/assets/smart-contract/builtin-libs/stateUtils.scrypt +9 -0
- package/assets/smart-contract/builtin-libs/stdUtils.scrypt +91 -0
- package/assets/smart-contract/builtin-libs/txUtils.scrypt +44 -0
- package/assets/smart-contract/types/structs.scrypt +50 -0
- package/dist/cjs/features/call.cjs +38 -0
- package/dist/cjs/features/call.js.map +1 -0
- package/dist/cjs/features/deploy.cjs +33 -0
- package/dist/cjs/features/deploy.js.map +1 -0
- package/dist/cjs/features/index.cjs +8 -0
- package/dist/cjs/features/index.js.map +1 -0
- package/dist/cjs/globalTypes.cjs +3 -0
- package/dist/cjs/globalTypes.js.map +1 -0
- package/dist/cjs/index.cjs +55 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/networks.cjs +69 -0
- package/dist/cjs/networks.js.map +1 -0
- package/dist/cjs/providers/chainProvider.cjs +3 -0
- package/dist/cjs/providers/chainProvider.js.map +1 -0
- package/dist/cjs/providers/dummyProvider.cjs +87 -0
- package/dist/cjs/providers/dummyProvider.js.map +1 -0
- package/dist/cjs/providers/index.cjs +13 -0
- package/dist/cjs/providers/index.js.map +1 -0
- package/dist/cjs/providers/mempoolProvider.cjs +207 -0
- package/dist/cjs/providers/mempoolProvider.js.map +1 -0
- package/dist/cjs/providers/rpcProvider.cjs +296 -0
- package/dist/cjs/providers/rpcProvider.js.map +1 -0
- package/dist/cjs/providers/utxoProvider.cjs +18 -0
- package/dist/cjs/providers/utxoProvider.js.map +1 -0
- package/dist/cjs/psbt/bip66.cjs +182 -0
- package/dist/cjs/psbt/bip66.js.map +1 -0
- package/dist/cjs/psbt/bufferutils.cjs +186 -0
- package/dist/cjs/psbt/bufferutils.js.map +1 -0
- package/dist/cjs/psbt/contextProvider.cjs +111 -0
- package/dist/cjs/psbt/contextProvider.js.map +1 -0
- package/dist/cjs/psbt/extPsbt.cjs +589 -0
- package/dist/cjs/psbt/extPsbt.js.map +1 -0
- package/dist/cjs/psbt/psbt.cjs +973 -0
- package/dist/cjs/psbt/psbt.js.map +1 -0
- package/dist/cjs/psbt/psbtutils.cjs +140 -0
- package/dist/cjs/psbt/psbtutils.js.map +1 -0
- package/dist/cjs/psbt/signatureutils.cjs +230 -0
- package/dist/cjs/psbt/signatureutils.js.map +1 -0
- package/dist/cjs/psbt/types.cjs +3 -0
- package/dist/cjs/psbt/types.js.map +1 -0
- package/dist/cjs/signer.cjs +3 -0
- package/dist/cjs/signer.js.map +1 -0
- package/dist/cjs/signers/defaultSigner.cjs +68 -0
- package/dist/cjs/signers/defaultSigner.js.map +1 -0
- package/dist/cjs/signers/index.cjs +8 -0
- package/dist/cjs/signers/index.js.map +1 -0
- package/dist/cjs/signers/unisatSigner.cjs +38 -0
- package/dist/cjs/signers/unisatSigner.js.map +1 -0
- package/dist/cjs/smart-contract/abi.cjs +380 -0
- package/dist/cjs/smart-contract/abi.js.map +1 -0
- package/dist/cjs/smart-contract/abiutils.cjs +183 -0
- package/dist/cjs/smart-contract/abiutils.js.map +1 -0
- package/dist/cjs/smart-contract/abstractContract.cjs +25 -0
- package/dist/cjs/smart-contract/abstractContract.js.map +1 -0
- package/dist/cjs/smart-contract/builtin-libs/backtrace.cjs +102 -0
- package/dist/cjs/smart-contract/builtin-libs/backtrace.js.map +1 -0
- package/dist/cjs/smart-contract/builtin-libs/byteStringReader.cjs +138 -0
- package/dist/cjs/smart-contract/builtin-libs/byteStringReader.js.map +1 -0
- package/dist/cjs/smart-contract/builtin-libs/byteStringWriter.cjs +109 -0
- package/dist/cjs/smart-contract/builtin-libs/byteStringWriter.js.map +1 -0
- package/dist/cjs/smart-contract/builtin-libs/contextUtils.cjs +304 -0
- package/dist/cjs/smart-contract/builtin-libs/contextUtils.js.map +1 -0
- package/dist/cjs/smart-contract/builtin-libs/index.cjs +18 -0
- package/dist/cjs/smart-contract/builtin-libs/index.js.map +1 -0
- package/dist/cjs/smart-contract/builtin-libs/p2pk.cjs +74 -0
- package/dist/cjs/smart-contract/builtin-libs/p2pk.js.map +1 -0
- package/dist/cjs/smart-contract/builtin-libs/p2pkh.cjs +80 -0
- package/dist/cjs/smart-contract/builtin-libs/p2pkh.js.map +1 -0
- package/dist/cjs/smart-contract/builtin-libs/stateLib.cjs +65 -0
- package/dist/cjs/smart-contract/builtin-libs/stateLib.js.map +1 -0
- package/dist/cjs/smart-contract/builtin-libs/stateUtils.cjs +42 -0
- package/dist/cjs/smart-contract/builtin-libs/stateUtils.js.map +1 -0
- package/dist/cjs/smart-contract/builtin-libs/stdUtils.cjs +192 -0
- package/dist/cjs/smart-contract/builtin-libs/stdUtils.js.map +1 -0
- package/dist/cjs/smart-contract/builtin-libs/txHashPreimageUtils.cjs +56 -0
- package/dist/cjs/smart-contract/builtin-libs/txHashPreimageUtils.js.map +1 -0
- package/dist/cjs/smart-contract/builtin-libs/txUtils.cjs +183 -0
- package/dist/cjs/smart-contract/builtin-libs/txUtils.js.map +1 -0
- package/dist/cjs/smart-contract/consts.cjs +100 -0
- package/dist/cjs/smart-contract/consts.js.map +1 -0
- package/dist/cjs/smart-contract/decorators.cjs +83 -0
- package/dist/cjs/smart-contract/decorators.js.map +1 -0
- package/dist/cjs/smart-contract/fns/assert.cjs +17 -0
- package/dist/cjs/smart-contract/fns/assert.js.map +1 -0
- package/dist/cjs/smart-contract/fns/bitwise.cjs +141 -0
- package/dist/cjs/smart-contract/fns/bitwise.js.map +1 -0
- package/dist/cjs/smart-contract/fns/byteString.cjs +106 -0
- package/dist/cjs/smart-contract/fns/byteString.js.map +1 -0
- package/dist/cjs/smart-contract/fns/equals.cjs +66 -0
- package/dist/cjs/smart-contract/fns/equals.js.map +1 -0
- package/dist/cjs/smart-contract/fns/fill.cjs +19 -0
- package/dist/cjs/smart-contract/fns/fill.js.map +1 -0
- package/dist/cjs/smart-contract/fns/hashes.cjs +81 -0
- package/dist/cjs/smart-contract/fns/hashes.js.map +1 -0
- package/dist/cjs/smart-contract/fns/index.cjs +37 -0
- package/dist/cjs/smart-contract/fns/index.js.map +1 -0
- package/dist/cjs/smart-contract/fns/math.cjs +52 -0
- package/dist/cjs/smart-contract/fns/math.js.map +1 -0
- package/dist/cjs/smart-contract/fns/pubKey2Addr.cjs +17 -0
- package/dist/cjs/smart-contract/fns/pubKey2Addr.js.map +1 -0
- package/dist/cjs/smart-contract/methods/backtraceToGenensis.cjs +41 -0
- package/dist/cjs/smart-contract/methods/backtraceToGenensis.js.map +1 -0
- package/dist/cjs/smart-contract/methods/buildOutput.cjs +41 -0
- package/dist/cjs/smart-contract/methods/buildOutput.js.map +1 -0
- package/dist/cjs/smart-contract/methods/checkCtx.cjs +58 -0
- package/dist/cjs/smart-contract/methods/checkCtx.js.map +1 -0
- package/dist/cjs/smart-contract/methods/checkInputState.cjs +16 -0
- package/dist/cjs/smart-contract/methods/checkInputState.js.map +1 -0
- package/dist/cjs/smart-contract/methods/checkInputStateHashes.cjs +16 -0
- package/dist/cjs/smart-contract/methods/checkInputStateHashes.js.map +1 -0
- package/dist/cjs/smart-contract/methods/checkSHPreimage.cjs +17 -0
- package/dist/cjs/smart-contract/methods/checkSHPreimage.js.map +1 -0
- package/dist/cjs/smart-contract/methods/checkSig.cjs +77 -0
- package/dist/cjs/smart-contract/methods/checkSig.js.map +1 -0
- package/dist/cjs/smart-contract/serializer.cjs +145 -0
- package/dist/cjs/smart-contract/serializer.js.map +1 -0
- package/dist/cjs/smart-contract/smartContract.cjs +568 -0
- package/dist/cjs/smart-contract/smartContract.js.map +1 -0
- package/dist/cjs/smart-contract/smartContractLib.cjs +46 -0
- package/dist/cjs/smart-contract/smartContractLib.js.map +1 -0
- package/dist/cjs/smart-contract/stateSerializer.cjs +134 -0
- package/dist/cjs/smart-contract/stateSerializer.js.map +1 -0
- package/dist/cjs/smart-contract/types/abi.cjs +69 -0
- package/dist/cjs/smart-contract/types/abi.js.map +1 -0
- package/dist/cjs/smart-contract/types/artifact.cjs +16 -0
- package/dist/cjs/smart-contract/types/artifact.js.map +1 -0
- package/dist/cjs/smart-contract/types/bn.cjs +117 -0
- package/dist/cjs/smart-contract/types/bn.js.map +1 -0
- package/dist/cjs/smart-contract/types/context.cjs +3 -0
- package/dist/cjs/smart-contract/types/context.js.map +1 -0
- package/dist/cjs/smart-contract/types/index.cjs +16 -0
- package/dist/cjs/smart-contract/types/index.js.map +1 -0
- package/dist/cjs/smart-contract/types/opCode.cjs +754 -0
- package/dist/cjs/smart-contract/types/opCode.js.map +1 -0
- package/dist/cjs/smart-contract/types/primitives.cjs +108 -0
- package/dist/cjs/smart-contract/types/primitives.js.map +1 -0
- package/dist/cjs/smart-contract/types/script.cjs +43 -0
- package/dist/cjs/smart-contract/types/script.js.map +1 -0
- package/dist/cjs/smart-contract/types/structs.cjs +3 -0
- package/dist/cjs/smart-contract/types/structs.js.map +1 -0
- package/dist/cjs/smart-contract/types/utils.cjs +21 -0
- package/dist/cjs/smart-contract/types/utils.js.map +1 -0
- package/dist/cjs/utils/bvm.cjs +30 -0
- package/dist/cjs/utils/bvm.js.map +1 -0
- package/dist/cjs/utils/checkIntegrity.cjs +49 -0
- package/dist/cjs/utils/checkIntegrity.js.map +1 -0
- package/dist/cjs/utils/common.cjs +228 -0
- package/dist/cjs/utils/common.js.map +1 -0
- package/dist/cjs/utils/constants.cjs +5 -0
- package/dist/cjs/utils/constants.js.map +1 -0
- package/dist/cjs/utils/index.cjs +45 -0
- package/dist/cjs/utils/index.js.map +1 -0
- package/dist/cjs/utils/preimage.cjs +93 -0
- package/dist/cjs/utils/preimage.js.map +1 -0
- package/dist/cjs/utils/proof.cjs +110 -0
- package/dist/cjs/utils/proof.js.map +1 -0
- package/dist/cjs/utils/script_number.cjs +107 -0
- package/dist/cjs/utils/script_number.js.map +1 -0
- package/dist/esm/features/call.js +34 -0
- package/dist/esm/features/call.js.map +1 -0
- package/dist/esm/features/deploy.js +29 -0
- package/dist/esm/features/deploy.js.map +1 -0
- package/dist/esm/features/index.js +3 -0
- package/dist/esm/features/index.js.map +1 -0
- package/dist/esm/globalTypes.js +2 -0
- package/dist/esm/globalTypes.js.map +1 -0
- package/dist/esm/index.js +23 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/networks.js +41 -0
- package/dist/esm/networks.js.map +1 -0
- package/dist/esm/providers/chainProvider.js +2 -0
- package/dist/esm/providers/chainProvider.js.map +1 -0
- package/dist/esm/providers/dummyProvider.js +60 -0
- package/dist/esm/providers/dummyProvider.js.map +1 -0
- package/dist/esm/providers/index.js +5 -0
- package/dist/esm/providers/index.js.map +1 -0
- package/dist/esm/providers/mempoolProvider.js +200 -0
- package/dist/esm/providers/mempoolProvider.js.map +1 -0
- package/dist/esm/providers/rpcProvider.js +266 -0
- package/dist/esm/providers/rpcProvider.js.map +1 -0
- package/dist/esm/providers/utxoProvider.js +13 -0
- package/dist/esm/providers/utxoProvider.js.map +1 -0
- package/dist/esm/psbt/bip66.js +175 -0
- package/dist/esm/psbt/bip66.js.map +1 -0
- package/dist/esm/psbt/bufferutils.js +156 -0
- package/dist/esm/psbt/bufferutils.js.map +1 -0
- package/dist/esm/psbt/contextProvider.js +84 -0
- package/dist/esm/psbt/contextProvider.js.map +1 -0
- package/dist/esm/psbt/extPsbt.js +562 -0
- package/dist/esm/psbt/extPsbt.js.map +1 -0
- package/dist/esm/psbt/psbt.js +945 -0
- package/dist/esm/psbt/psbt.js.map +1 -0
- package/dist/esm/psbt/psbtutils.js +110 -0
- package/dist/esm/psbt/psbtutils.js.map +1 -0
- package/dist/esm/psbt/signatureutils.js +199 -0
- package/dist/esm/psbt/signatureutils.js.map +1 -0
- package/dist/esm/psbt/types.js +2 -0
- package/dist/esm/psbt/types.js.map +1 -0
- package/dist/esm/signer.js +2 -0
- package/dist/esm/signer.js.map +1 -0
- package/dist/esm/signers/defaultSigner.js +63 -0
- package/dist/esm/signers/defaultSigner.js.map +1 -0
- package/dist/esm/signers/index.js +3 -0
- package/dist/esm/signers/index.js.map +1 -0
- package/dist/esm/signers/unisatSigner.js +34 -0
- package/dist/esm/signers/unisatSigner.js.map +1 -0
- package/dist/esm/smart-contract/abi.js +373 -0
- package/dist/esm/smart-contract/abi.js.map +1 -0
- package/dist/esm/smart-contract/abiutils.js +171 -0
- package/dist/esm/smart-contract/abiutils.js.map +1 -0
- package/dist/esm/smart-contract/abstractContract.js +21 -0
- package/dist/esm/smart-contract/abstractContract.js.map +1 -0
- package/dist/esm/smart-contract/builtin-libs/backtrace.js +98 -0
- package/dist/esm/smart-contract/builtin-libs/backtrace.js.map +1 -0
- package/dist/esm/smart-contract/builtin-libs/byteStringReader.js +134 -0
- package/dist/esm/smart-contract/builtin-libs/byteStringReader.js.map +1 -0
- package/dist/esm/smart-contract/builtin-libs/byteStringWriter.js +105 -0
- package/dist/esm/smart-contract/builtin-libs/byteStringWriter.js.map +1 -0
- package/dist/esm/smart-contract/builtin-libs/contextUtils.js +300 -0
- package/dist/esm/smart-contract/builtin-libs/contextUtils.js.map +1 -0
- package/dist/esm/smart-contract/builtin-libs/index.js +8 -0
- package/dist/esm/smart-contract/builtin-libs/index.js.map +1 -0
- package/dist/esm/smart-contract/builtin-libs/p2pk.js +70 -0
- package/dist/esm/smart-contract/builtin-libs/p2pk.js.map +1 -0
- package/dist/esm/smart-contract/builtin-libs/p2pkh.js +76 -0
- package/dist/esm/smart-contract/builtin-libs/p2pkh.js.map +1 -0
- package/dist/esm/smart-contract/builtin-libs/stateLib.js +61 -0
- package/dist/esm/smart-contract/builtin-libs/stateLib.js.map +1 -0
- package/dist/esm/smart-contract/builtin-libs/stateUtils.js +38 -0
- package/dist/esm/smart-contract/builtin-libs/stateUtils.js.map +1 -0
- package/dist/esm/smart-contract/builtin-libs/stdUtils.js +188 -0
- package/dist/esm/smart-contract/builtin-libs/stdUtils.js.map +1 -0
- package/dist/esm/smart-contract/builtin-libs/txHashPreimageUtils.js +52 -0
- package/dist/esm/smart-contract/builtin-libs/txHashPreimageUtils.js.map +1 -0
- package/dist/esm/smart-contract/builtin-libs/txUtils.js +179 -0
- package/dist/esm/smart-contract/builtin-libs/txUtils.js.map +1 -0
- package/dist/esm/smart-contract/consts.js +97 -0
- package/dist/esm/smart-contract/consts.js.map +1 -0
- package/dist/esm/smart-contract/decorators.js +78 -0
- package/dist/esm/smart-contract/decorators.js.map +1 -0
- package/dist/esm/smart-contract/fns/assert.js +13 -0
- package/dist/esm/smart-contract/fns/assert.js.map +1 -0
- package/dist/esm/smart-contract/fns/bitwise.js +109 -0
- package/dist/esm/smart-contract/fns/bitwise.js.map +1 -0
- package/dist/esm/smart-contract/fns/byteString.js +97 -0
- package/dist/esm/smart-contract/fns/byteString.js.map +1 -0
- package/dist/esm/smart-contract/fns/equals.js +62 -0
- package/dist/esm/smart-contract/fns/equals.js.map +1 -0
- package/dist/esm/smart-contract/fns/fill.js +15 -0
- package/dist/esm/smart-contract/fns/fill.js.map +1 -0
- package/dist/esm/smart-contract/fns/hashes.js +73 -0
- package/dist/esm/smart-contract/fns/hashes.js.map +1 -0
- package/dist/esm/smart-contract/fns/index.js +9 -0
- package/dist/esm/smart-contract/fns/index.js.map +1 -0
- package/dist/esm/smart-contract/fns/math.js +45 -0
- package/dist/esm/smart-contract/fns/math.js.map +1 -0
- package/dist/esm/smart-contract/fns/pubKey2Addr.js +13 -0
- package/dist/esm/smart-contract/fns/pubKey2Addr.js.map +1 -0
- package/dist/esm/smart-contract/methods/backtraceToGenensis.js +36 -0
- package/dist/esm/smart-contract/methods/backtraceToGenensis.js.map +1 -0
- package/dist/esm/smart-contract/methods/buildOutput.js +36 -0
- package/dist/esm/smart-contract/methods/buildOutput.js.map +1 -0
- package/dist/esm/smart-contract/methods/checkCtx.js +31 -0
- package/dist/esm/smart-contract/methods/checkCtx.js.map +1 -0
- package/dist/esm/smart-contract/methods/checkInputState.js +12 -0
- package/dist/esm/smart-contract/methods/checkInputState.js.map +1 -0
- package/dist/esm/smart-contract/methods/checkInputStateHashes.js +12 -0
- package/dist/esm/smart-contract/methods/checkInputStateHashes.js.map +1 -0
- package/dist/esm/smart-contract/methods/checkSHPreimage.js +13 -0
- package/dist/esm/smart-contract/methods/checkSHPreimage.js.map +1 -0
- package/dist/esm/smart-contract/methods/checkSig.js +73 -0
- package/dist/esm/smart-contract/methods/checkSig.js.map +1 -0
- package/dist/esm/smart-contract/serializer.js +112 -0
- package/dist/esm/smart-contract/serializer.js.map +1 -0
- package/dist/esm/smart-contract/smartContract.js +564 -0
- package/dist/esm/smart-contract/smartContract.js.map +1 -0
- package/dist/esm/smart-contract/smartContractLib.js +42 -0
- package/dist/esm/smart-contract/smartContractLib.js.map +1 -0
- package/dist/esm/smart-contract/stateSerializer.js +129 -0
- package/dist/esm/smart-contract/stateSerializer.js.map +1 -0
- package/dist/esm/smart-contract/types/abi.js +63 -0
- package/dist/esm/smart-contract/types/abi.js.map +1 -0
- package/dist/esm/smart-contract/types/artifact.js +13 -0
- package/dist/esm/smart-contract/types/artifact.js.map +1 -0
- package/dist/esm/smart-contract/types/bn.js +89 -0
- package/dist/esm/smart-contract/types/bn.js.map +1 -0
- package/dist/esm/smart-contract/types/context.js +2 -0
- package/dist/esm/smart-contract/types/context.js.map +1 -0
- package/dist/esm/smart-contract/types/index.js +3 -0
- package/dist/esm/smart-contract/types/index.js.map +1 -0
- package/dist/esm/smart-contract/types/opCode.js +750 -0
- package/dist/esm/smart-contract/types/opCode.js.map +1 -0
- package/dist/esm/smart-contract/types/primitives.js +95 -0
- package/dist/esm/smart-contract/types/primitives.js.map +1 -0
- package/dist/esm/smart-contract/types/script.js +16 -0
- package/dist/esm/smart-contract/types/script.js.map +1 -0
- package/dist/esm/smart-contract/types/structs.js +2 -0
- package/dist/esm/smart-contract/types/structs.js.map +1 -0
- package/dist/esm/smart-contract/types/utils.js +17 -0
- package/dist/esm/smart-contract/types/utils.js.map +1 -0
- package/dist/esm/utils/bvm.js +26 -0
- package/dist/esm/utils/bvm.js.map +1 -0
- package/dist/esm/utils/checkIntegrity.js +41 -0
- package/dist/esm/utils/checkIntegrity.js.map +1 -0
- package/dist/esm/utils/common.js +188 -0
- package/dist/esm/utils/common.js.map +1 -0
- package/dist/esm/utils/constants.js +2 -0
- package/dist/esm/utils/constants.js.map +1 -0
- package/dist/esm/utils/index.js +7 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/esm/utils/preimage.js +65 -0
- package/dist/esm/utils/preimage.js.map +1 -0
- package/dist/esm/utils/proof.js +98 -0
- package/dist/esm/utils/proof.js.map +1 -0
- package/dist/esm/utils/script_number.js +79 -0
- package/dist/esm/utils/script_number.js.map +1 -0
- package/dist/types/features/call.d.ts +21 -0
- package/dist/types/features/call.d.ts.map +1 -0
- package/dist/types/features/deploy.d.ts +16 -0
- package/dist/types/features/deploy.d.ts.map +1 -0
- package/dist/types/features/index.d.ts +3 -0
- package/dist/types/features/index.d.ts.map +1 -0
- package/dist/types/globalTypes.d.ts +37 -0
- package/dist/types/globalTypes.d.ts.map +1 -0
- package/dist/types/index.d.ts +18 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/networks.d.ts +19 -0
- package/dist/types/networks.d.ts.map +1 -0
- package/dist/types/providers/chainProvider.d.ts +31 -0
- package/dist/types/providers/chainProvider.d.ts.map +1 -0
- package/dist/types/providers/dummyProvider.d.ts +23 -0
- package/dist/types/providers/dummyProvider.d.ts.map +1 -0
- package/dist/types/providers/index.d.ts +6 -0
- package/dist/types/providers/index.d.ts.map +1 -0
- package/dist/types/providers/mempoolProvider.d.ts +28 -0
- package/dist/types/providers/mempoolProvider.d.ts.map +1 -0
- package/dist/types/providers/rpcProvider.d.ts +34 -0
- package/dist/types/providers/rpcProvider.d.ts.map +1 -0
- package/dist/types/providers/utxoProvider.d.ts +43 -0
- package/dist/types/providers/utxoProvider.d.ts.map +1 -0
- package/dist/types/psbt/bip66.d.ts +28 -0
- package/dist/types/psbt/bip66.d.ts.map +1 -0
- package/dist/types/psbt/bufferutils.d.ts +47 -0
- package/dist/types/psbt/bufferutils.d.ts.map +1 -0
- package/dist/types/psbt/contextProvider.d.ts +15 -0
- package/dist/types/psbt/contextProvider.d.ts.map +1 -0
- package/dist/types/psbt/extPsbt.d.ts +131 -0
- package/dist/types/psbt/extPsbt.d.ts.map +1 -0
- package/dist/types/psbt/psbt.d.ts +194 -0
- package/dist/types/psbt/psbt.d.ts.map +1 -0
- package/dist/types/psbt/psbtutils.d.ts +37 -0
- package/dist/types/psbt/psbtutils.d.ts.map +1 -0
- package/dist/types/psbt/signatureutils.d.ts +52 -0
- package/dist/types/psbt/signatureutils.d.ts.map +1 -0
- package/dist/types/psbt/types.d.ts +63 -0
- package/dist/types/psbt/types.d.ts.map +1 -0
- package/dist/types/signer.d.ts +48 -0
- package/dist/types/signer.d.ts.map +1 -0
- package/dist/types/signers/defaultSigner.d.ts +30 -0
- package/dist/types/signers/defaultSigner.d.ts.map +1 -0
- package/dist/types/signers/index.d.ts +4 -0
- package/dist/types/signers/index.d.ts.map +1 -0
- package/dist/types/signers/unisatSigner.d.ts +32 -0
- package/dist/types/signers/unisatSigner.d.ts.map +1 -0
- package/dist/types/smart-contract/abi.d.ts +43 -0
- package/dist/types/smart-contract/abi.d.ts.map +1 -0
- package/dist/types/smart-contract/abiutils.d.ts +51 -0
- package/dist/types/smart-contract/abiutils.d.ts.map +1 -0
- package/dist/types/smart-contract/abstractContract.d.ts +115 -0
- package/dist/types/smart-contract/abstractContract.d.ts.map +1 -0
- package/dist/types/smart-contract/builtin-libs/backtrace.d.ts +43 -0
- package/dist/types/smart-contract/builtin-libs/backtrace.d.ts.map +1 -0
- package/dist/types/smart-contract/builtin-libs/byteStringReader.d.ts +32 -0
- package/dist/types/smart-contract/builtin-libs/byteStringReader.d.ts.map +1 -0
- package/dist/types/smart-contract/builtin-libs/byteStringWriter.d.ts +29 -0
- package/dist/types/smart-contract/builtin-libs/byteStringWriter.d.ts.map +1 -0
- package/dist/types/smart-contract/builtin-libs/contextUtils.d.ts +53 -0
- package/dist/types/smart-contract/builtin-libs/contextUtils.d.ts.map +1 -0
- package/dist/types/smart-contract/builtin-libs/index.d.ts +8 -0
- package/dist/types/smart-contract/builtin-libs/index.d.ts.map +1 -0
- package/dist/types/smart-contract/builtin-libs/p2pk.d.ts +8 -0
- package/dist/types/smart-contract/builtin-libs/p2pk.d.ts.map +1 -0
- package/dist/types/smart-contract/builtin-libs/p2pkh.d.ts +8 -0
- package/dist/types/smart-contract/builtin-libs/p2pkh.d.ts.map +1 -0
- package/dist/types/smart-contract/builtin-libs/stateLib.d.ts +27 -0
- package/dist/types/smart-contract/builtin-libs/stateLib.d.ts.map +1 -0
- package/dist/types/smart-contract/builtin-libs/stateUtils.d.ts +18 -0
- package/dist/types/smart-contract/builtin-libs/stateUtils.d.ts.map +1 -0
- package/dist/types/smart-contract/builtin-libs/stdUtils.d.ts +44 -0
- package/dist/types/smart-contract/builtin-libs/stdUtils.d.ts.map +1 -0
- package/dist/types/smart-contract/builtin-libs/txHashPreimageUtils.d.ts +8 -0
- package/dist/types/smart-contract/builtin-libs/txHashPreimageUtils.d.ts.map +1 -0
- package/dist/types/smart-contract/builtin-libs/txUtils.d.ts +69 -0
- package/dist/types/smart-contract/builtin-libs/txUtils.d.ts.map +1 -0
- package/dist/types/smart-contract/consts.d.ts +97 -0
- package/dist/types/smart-contract/consts.d.ts.map +1 -0
- package/dist/types/smart-contract/decorators.d.ts +40 -0
- package/dist/types/smart-contract/decorators.d.ts.map +1 -0
- package/dist/types/smart-contract/fns/assert.d.ts +8 -0
- package/dist/types/smart-contract/fns/assert.d.ts.map +1 -0
- package/dist/types/smart-contract/fns/bitwise.d.ts +50 -0
- package/dist/types/smart-contract/fns/bitwise.d.ts.map +1 -0
- package/dist/types/smart-contract/fns/byteString.d.ts +56 -0
- package/dist/types/smart-contract/fns/byteString.d.ts.map +1 -0
- package/dist/types/smart-contract/fns/equals.d.ts +8 -0
- package/dist/types/smart-contract/fns/equals.d.ts.map +1 -0
- package/dist/types/smart-contract/fns/fill.d.ts +11 -0
- package/dist/types/smart-contract/fns/fill.d.ts.map +1 -0
- package/dist/types/smart-contract/fns/hashes.d.ts +60 -0
- package/dist/types/smart-contract/fns/hashes.d.ts.map +1 -0
- package/dist/types/smart-contract/fns/index.d.ts +9 -0
- package/dist/types/smart-contract/fns/index.d.ts.map +1 -0
- package/dist/types/smart-contract/fns/math.d.ts +38 -0
- package/dist/types/smart-contract/fns/math.d.ts.map +1 -0
- package/dist/types/smart-contract/fns/pubKey2Addr.d.ts +11 -0
- package/dist/types/smart-contract/fns/pubKey2Addr.d.ts.map +1 -0
- package/dist/types/smart-contract/methods/backtraceToGenensis.d.ts +20 -0
- package/dist/types/smart-contract/methods/backtraceToGenensis.d.ts.map +1 -0
- package/dist/types/smart-contract/methods/buildOutput.d.ts +25 -0
- package/dist/types/smart-contract/methods/buildOutput.d.ts.map +1 -0
- package/dist/types/smart-contract/methods/checkCtx.d.ts +18 -0
- package/dist/types/smart-contract/methods/checkCtx.d.ts.map +1 -0
- package/dist/types/smart-contract/methods/checkInputState.d.ts +9 -0
- package/dist/types/smart-contract/methods/checkInputState.d.ts.map +1 -0
- package/dist/types/smart-contract/methods/checkInputStateHashes.d.ts +10 -0
- package/dist/types/smart-contract/methods/checkInputStateHashes.d.ts.map +1 -0
- package/dist/types/smart-contract/methods/checkSHPreimage.d.ts +10 -0
- package/dist/types/smart-contract/methods/checkSHPreimage.d.ts.map +1 -0
- package/dist/types/smart-contract/methods/checkSig.d.ts +11 -0
- package/dist/types/smart-contract/methods/checkSig.d.ts.map +1 -0
- package/dist/types/smart-contract/serializer.d.ts +48 -0
- package/dist/types/smart-contract/serializer.d.ts.map +1 -0
- package/dist/types/smart-contract/smartContract.d.ts +274 -0
- package/dist/types/smart-contract/smartContract.d.ts.map +1 -0
- package/dist/types/smart-contract/smartContractLib.d.ts +26 -0
- package/dist/types/smart-contract/smartContractLib.d.ts.map +1 -0
- package/dist/types/smart-contract/stateSerializer.d.ts +8 -0
- package/dist/types/smart-contract/stateSerializer.d.ts.map +1 -0
- package/dist/types/smart-contract/types/abi.d.ts +55 -0
- package/dist/types/smart-contract/types/abi.d.ts.map +1 -0
- package/dist/types/smart-contract/types/artifact.d.ts +108 -0
- package/dist/types/smart-contract/types/artifact.d.ts.map +1 -0
- package/dist/types/smart-contract/types/bn.d.ts +3 -0
- package/dist/types/smart-contract/types/bn.d.ts.map +1 -0
- package/dist/types/smart-contract/types/context.d.ts +126 -0
- package/dist/types/smart-contract/types/context.d.ts.map +1 -0
- package/dist/types/smart-contract/types/index.d.ts +4 -0
- package/dist/types/smart-contract/types/index.d.ts.map +1 -0
- package/dist/types/smart-contract/types/opCode.d.ts +747 -0
- package/dist/types/smart-contract/types/opCode.d.ts.map +1 -0
- package/dist/types/smart-contract/types/primitives.d.ts +217 -0
- package/dist/types/smart-contract/types/primitives.d.ts.map +1 -0
- package/dist/types/smart-contract/types/script.d.ts +14 -0
- package/dist/types/smart-contract/types/script.d.ts.map +1 -0
- package/dist/types/smart-contract/types/structs.d.ts +206 -0
- package/dist/types/smart-contract/types/structs.d.ts.map +1 -0
- package/dist/types/smart-contract/types/utils.d.ts +5 -0
- package/dist/types/smart-contract/types/utils.d.ts.map +1 -0
- package/dist/types/utils/bvm.d.ts +9 -0
- package/dist/types/utils/bvm.d.ts.map +1 -0
- package/dist/types/utils/checkIntegrity.d.ts +46 -0
- package/dist/types/utils/checkIntegrity.d.ts.map +1 -0
- package/dist/types/utils/common.d.ts +61 -0
- package/dist/types/utils/common.d.ts.map +1 -0
- package/dist/types/utils/constants.d.ts +3 -0
- package/dist/types/utils/constants.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +7 -0
- package/dist/types/utils/index.d.ts.map +1 -0
- package/dist/types/utils/preimage.d.ts +31 -0
- package/dist/types/utils/preimage.d.ts.map +1 -0
- package/dist/types/utils/proof.d.ts +31 -0
- package/dist/types/utils/proof.d.ts.map +1 -0
- package/dist/types/utils/script_number.d.ts +19 -0
- package/dist/types/utils/script_number.d.ts.map +1 -0
- package/package.json +79 -0
- package/scrypt.index.json +85 -0
- package/src/smart-contract/builtin-libs/backtrace.ts +116 -0
- package/src/smart-contract/builtin-libs/byteStringReader.ts +111 -0
- package/src/smart-contract/builtin-libs/byteStringWriter.ts +86 -0
- package/src/smart-contract/builtin-libs/contextUtils.ts +270 -0
- package/src/smart-contract/builtin-libs/index.ts +7 -0
- package/src/smart-contract/builtin-libs/p2pk.ts +58 -0
- package/src/smart-contract/builtin-libs/p2pkh.ts +67 -0
- package/src/smart-contract/builtin-libs/stateLib.ts +82 -0
- package/src/smart-contract/builtin-libs/stateUtils.ts +37 -0
- package/src/smart-contract/builtin-libs/stdUtils.ts +156 -0
- package/src/smart-contract/builtin-libs/txHashPreimageUtils.ts +34 -0
- package/src/smart-contract/builtin-libs/txUtils.ts +152 -0
- package/src/smart-contract/types/structs.ts +244 -0
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deserializeState = exports.serializeState = void 0;
|
|
4
|
+
const common_js_1 = require('../utils/common.cjs');
|
|
5
|
+
const abi_js_1 = require('./abi.cjs');
|
|
6
|
+
const index_js_1 = require('./fns/index.cjs');
|
|
7
|
+
const consts_js_1 = require('./consts.cjs');
|
|
8
|
+
const abiutils_js_1 = require('./abiutils.cjs');
|
|
9
|
+
const FIELD_LEN_BYTES = 2n;
|
|
10
|
+
/**
|
|
11
|
+
* @ignore
|
|
12
|
+
*/
|
|
13
|
+
function serializeState(artifact, stateType, state) {
|
|
14
|
+
const abiCoder = new abi_js_1.ABICoder(artifact);
|
|
15
|
+
const stateStruct = abiCoder.artifact.structs.find((struct) => (0, abiutils_js_1.getUnRenamedSymbol)(struct.name) === (0, abiutils_js_1.getUnRenamedSymbol)(stateType));
|
|
16
|
+
if (!stateStruct) {
|
|
17
|
+
throw new Error(`Struct ${stateType} is not defined in artifact of contract ${artifact.contract}!`);
|
|
18
|
+
}
|
|
19
|
+
const fields = abiCoder.flattenStruct(state, stateType);
|
|
20
|
+
if (fields.length > consts_js_1.MAX_FLAT_FIELDS_IN_STATE) {
|
|
21
|
+
// the hashes of the fields are connected on the stack, so the max length is 520 / 20 = 26.
|
|
22
|
+
throw new Error(`Too many flattened fields in the state object ${stateType}, the max is ${consts_js_1.MAX_FLAT_FIELDS_IN_STATE}`);
|
|
23
|
+
}
|
|
24
|
+
let data = (0, index_js_1.toByteString)('');
|
|
25
|
+
const fieldHashes = fields.map((field) => {
|
|
26
|
+
let val;
|
|
27
|
+
switch (typeof field.value) {
|
|
28
|
+
case 'number':
|
|
29
|
+
case 'bigint':
|
|
30
|
+
val = (0, index_js_1.intToByteString)(field.value);
|
|
31
|
+
break;
|
|
32
|
+
case 'boolean':
|
|
33
|
+
val = field.value ? '01' : '';
|
|
34
|
+
break;
|
|
35
|
+
case 'string':
|
|
36
|
+
val = field.value;
|
|
37
|
+
break;
|
|
38
|
+
default:
|
|
39
|
+
throw new Error(`Unflattened struct field: ${field.type}`);
|
|
40
|
+
}
|
|
41
|
+
const MAX_FIELD_LENGTH = 0x7fff; // INT16_MAX
|
|
42
|
+
(0, index_js_1.assert)((0, index_js_1.len)(val) <= MAX_FIELD_LENGTH, `field ${field.name} value is too large`);
|
|
43
|
+
data += ((0, index_js_1.intToByteString)((0, index_js_1.len)(val), FIELD_LEN_BYTES) + val);
|
|
44
|
+
return (0, index_js_1.hash160)(val);
|
|
45
|
+
});
|
|
46
|
+
const checkHash = (0, index_js_1.hash160)(fieldHashes.join(''));
|
|
47
|
+
data += checkHash;
|
|
48
|
+
return data;
|
|
49
|
+
}
|
|
50
|
+
exports.serializeState = serializeState;
|
|
51
|
+
function deserializeState(artifact, stateType, serializedState) {
|
|
52
|
+
const abiCoder = new abi_js_1.ABICoder(artifact);
|
|
53
|
+
const stateStruct = abiCoder.artifact.structs.find((struct) => (0, abiutils_js_1.getUnRenamedSymbol)(struct.name) === (0, abiutils_js_1.getUnRenamedSymbol)(stateType));
|
|
54
|
+
if (!stateStruct) {
|
|
55
|
+
throw new Error(`Struct ${stateType} is not defined in artifact of contract ${artifact.contract}!`);
|
|
56
|
+
}
|
|
57
|
+
const fields = abiCoder.flattenStruct(undefined, stateType, true);
|
|
58
|
+
const state = {};
|
|
59
|
+
const setFieldValue = (field, valueByteString) => {
|
|
60
|
+
const fieldNames = field.name.split('.');
|
|
61
|
+
fieldNames.shift(); // remove the first element, `flattened_struct`
|
|
62
|
+
let val;
|
|
63
|
+
switch (field.type) {
|
|
64
|
+
case 'number':
|
|
65
|
+
val = Number((0, common_js_1.byteStringToBigInt)(valueByteString));
|
|
66
|
+
break;
|
|
67
|
+
case 'bigint':
|
|
68
|
+
case 'int':
|
|
69
|
+
val = (0, common_js_1.byteStringToBigInt)(valueByteString);
|
|
70
|
+
break;
|
|
71
|
+
case 'boolean':
|
|
72
|
+
case 'bool':
|
|
73
|
+
val = valueByteString === '01';
|
|
74
|
+
break;
|
|
75
|
+
default:
|
|
76
|
+
val = valueByteString;
|
|
77
|
+
break;
|
|
78
|
+
}
|
|
79
|
+
// todo: test multi-dimensional array
|
|
80
|
+
let curObj = state;
|
|
81
|
+
fieldNames.forEach((fieldName, index) => {
|
|
82
|
+
const lBracketIndex = fieldName.indexOf('[');
|
|
83
|
+
const fieldNameHasArray = lBracketIndex !== -1;
|
|
84
|
+
const isLastField = index === fieldNames.length - 1;
|
|
85
|
+
if (fieldNameHasArray) {
|
|
86
|
+
const arrayIndexRegex = /\[\d+\]/g;
|
|
87
|
+
const arrayIndexes = fieldName.match(arrayIndexRegex).map(str => str.slice(1, -1));
|
|
88
|
+
const fieldName0 = fieldName.slice(0, lBracketIndex);
|
|
89
|
+
curObj[fieldName0] = curObj[fieldName0] || [];
|
|
90
|
+
curObj = curObj[fieldName0];
|
|
91
|
+
arrayIndexes.forEach((arrayIndex, index2) => {
|
|
92
|
+
const isLastArrayIndex = index2 === arrayIndexes.length - 1;
|
|
93
|
+
if (isLastArrayIndex) {
|
|
94
|
+
if (isLastField) {
|
|
95
|
+
curObj[arrayIndex] = val;
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
curObj[arrayIndex] = curObj[arrayIndex] || {};
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
curObj[arrayIndex] = curObj[arrayIndex] || [];
|
|
103
|
+
}
|
|
104
|
+
curObj = curObj[arrayIndex];
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
if (isLastField) {
|
|
109
|
+
curObj[fieldName] = val;
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
curObj[fieldName] = curObj[fieldName] || {};
|
|
113
|
+
}
|
|
114
|
+
curObj = curObj[fieldName];
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
};
|
|
118
|
+
let readIndex = 0n;
|
|
119
|
+
let fieldHashes = (0, index_js_1.toByteString)('');
|
|
120
|
+
for (const field of fields) {
|
|
121
|
+
const valLen = (0, common_js_1.byteStringToBigInt)((0, index_js_1.slice)(serializedState, readIndex, readIndex + FIELD_LEN_BYTES));
|
|
122
|
+
const value = (0, index_js_1.slice)(serializedState, readIndex + FIELD_LEN_BYTES, readIndex + FIELD_LEN_BYTES + valLen);
|
|
123
|
+
fieldHashes += (0, index_js_1.hash160)(value);
|
|
124
|
+
readIndex = readIndex + FIELD_LEN_BYTES + valLen;
|
|
125
|
+
setFieldValue(field, value);
|
|
126
|
+
}
|
|
127
|
+
const checkHash = (0, index_js_1.hash160)(fieldHashes);
|
|
128
|
+
const checkHashFromState = (0, index_js_1.slice)(serializedState, readIndex, readIndex + 20n);
|
|
129
|
+
(0, index_js_1.assert)(checkHash === checkHashFromState, 'check hash mismatch');
|
|
130
|
+
(0, index_js_1.assert)(readIndex + 20n === (0, index_js_1.len)(serializedState), 'serialized state is not complete');
|
|
131
|
+
return state;
|
|
132
|
+
}
|
|
133
|
+
exports.deserializeState = deserializeState;
|
|
134
|
+
//# sourceMappingURL=stateSerializer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stateSerializer.js","sourceRoot":"","sources":["../../../src/smart-contract/stateSerializer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isBytes = exports.isSubBytes = exports.isScryptType = exports.SymbolType = exports.ScryptType = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @ignore
|
|
6
|
+
*/
|
|
7
|
+
var ScryptType;
|
|
8
|
+
(function (ScryptType) {
|
|
9
|
+
ScryptType["BOOL"] = "bool";
|
|
10
|
+
ScryptType["INT"] = "int";
|
|
11
|
+
ScryptType["BYTES"] = "bytes";
|
|
12
|
+
ScryptType["PUBKEY"] = "PubKey";
|
|
13
|
+
ScryptType["PRIVKEY"] = "PrivKey";
|
|
14
|
+
ScryptType["SIG"] = "Sig";
|
|
15
|
+
ScryptType["RIPEMD160"] = "Ripemd160";
|
|
16
|
+
ScryptType["PubKeyHash"] = "PubKeyHash";
|
|
17
|
+
ScryptType["SHA1"] = "Sha1";
|
|
18
|
+
ScryptType["SHA256"] = "Sha256";
|
|
19
|
+
ScryptType["SIGHASHTYPE"] = "SigHashType";
|
|
20
|
+
ScryptType["SIGHASHPREIMAGE"] = "SigHashPreimage";
|
|
21
|
+
ScryptType["OPCODETYPE"] = "OpCodeType";
|
|
22
|
+
})(ScryptType || (exports.ScryptType = ScryptType = {}));
|
|
23
|
+
/**
|
|
24
|
+
* @ignore
|
|
25
|
+
*/
|
|
26
|
+
var SymbolType;
|
|
27
|
+
(function (SymbolType) {
|
|
28
|
+
SymbolType["ScryptType"] = "ScryptType";
|
|
29
|
+
SymbolType["Contract"] = "Contract";
|
|
30
|
+
SymbolType["Library"] = "Library";
|
|
31
|
+
SymbolType["Struct"] = "Struct";
|
|
32
|
+
SymbolType["Unknown"] = "Unknown";
|
|
33
|
+
})(SymbolType || (exports.SymbolType = SymbolType = {}));
|
|
34
|
+
/**
|
|
35
|
+
* @ignore
|
|
36
|
+
*/
|
|
37
|
+
function isScryptType(type) {
|
|
38
|
+
return Object.keys(ScryptType)
|
|
39
|
+
.map((key) => ScryptType[key])
|
|
40
|
+
.includes(type);
|
|
41
|
+
}
|
|
42
|
+
exports.isScryptType = isScryptType;
|
|
43
|
+
/**
|
|
44
|
+
* @ignore
|
|
45
|
+
*/
|
|
46
|
+
function isSubBytes(type) {
|
|
47
|
+
return [
|
|
48
|
+
ScryptType.OPCODETYPE,
|
|
49
|
+
ScryptType.PUBKEY,
|
|
50
|
+
ScryptType.RIPEMD160,
|
|
51
|
+
ScryptType.SHA1,
|
|
52
|
+
ScryptType.SHA256,
|
|
53
|
+
ScryptType.SIG,
|
|
54
|
+
ScryptType.SIGHASHPREIMAGE,
|
|
55
|
+
ScryptType.SIGHASHTYPE,
|
|
56
|
+
ScryptType.PubKeyHash,
|
|
57
|
+
]
|
|
58
|
+
.map((t) => t.toString())
|
|
59
|
+
.includes(type);
|
|
60
|
+
}
|
|
61
|
+
exports.isSubBytes = isSubBytes;
|
|
62
|
+
/**
|
|
63
|
+
* @ignore
|
|
64
|
+
*/
|
|
65
|
+
function isBytes(type) {
|
|
66
|
+
return type === ScryptType.BYTES || isSubBytes(type);
|
|
67
|
+
}
|
|
68
|
+
exports.isBytes = isBytes;
|
|
69
|
+
//# sourceMappingURL=abi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abi.js","sourceRoot":"","sources":["../../../../src/smart-contract/types/abi.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,IAAY,UAcX;AAdD,WAAY,UAAU;IACpB,2BAAa,CAAA;IACb,yBAAW,CAAA;IACX,6BAAe,CAAA;IACf,+BAAiB,CAAA;IACjB,iCAAmB,CAAA;IACnB,yBAAW,CAAA;IACX,qCAAuB,CAAA;IACvB,uCAAyB,CAAA;IACzB,2BAAa,CAAA;IACb,+BAAiB,CAAA;IACjB,yCAA2B,CAAA;IAC3B,iDAAmC,CAAA;IACnC,uCAAyB,CAAA;AAC3B,CAAC,EAdW,UAAU,0BAAV,UAAU,QAcrB;AAED;;GAEG;AACH,IAAY,UAMX;AAND,WAAY,UAAU;IACpB,uCAAyB,CAAA;IACzB,mCAAqB,CAAA;IACrB,iCAAmB,CAAA;IACnB,+BAAiB,CAAA;IACjB,iCAAmB,CAAA;AACrB,CAAC,EANW,UAAU,0BAAV,UAAU,QAMrB;AAkBD;;GAEG;AACH,SAAgB,YAAY,CAAC,IAAY;IACvC,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;SAC3B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;SAC7B,QAAQ,CAAC,IAAI,CAAC,CAAC;AACpB,CAAC;AAJD,oCAIC;AAED;;GAEG;AACH,SAAgB,UAAU,CAAC,IAAY;IACrC,OAAO;QACL,UAAU,CAAC,UAAU;QACrB,UAAU,CAAC,MAAM;QACjB,UAAU,CAAC,SAAS;QACpB,UAAU,CAAC,IAAI;QACf,UAAU,CAAC,MAAM;QACjB,UAAU,CAAC,GAAG;QACd,UAAU,CAAC,eAAe;QAC1B,UAAU,CAAC,WAAW;QACtB,UAAU,CAAC,UAAU;KACtB;SACE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;SACxB,QAAQ,CAAC,IAAI,CAAC,CAAC;AACpB,CAAC;AAdD,gCAcC;AAED;;GAEG;AACH,SAAgB,OAAO,CAAC,IAAY;IAClC,OAAO,IAAI,KAAK,UAAU,CAAC,KAAK,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;AACvD,CAAC;AAFD,0BAEC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ABIEntityType = exports.SUPPORTED_MINIMUM_VERSION = exports.CURRENT_CONTRACT_ARTIFACT_VERSION = void 0;
|
|
4
|
+
/** @ignore */
|
|
5
|
+
exports.CURRENT_CONTRACT_ARTIFACT_VERSION = 10; // add state type
|
|
6
|
+
/** @ignore */
|
|
7
|
+
exports.SUPPORTED_MINIMUM_VERSION = 8;
|
|
8
|
+
/**
|
|
9
|
+
* @ignore
|
|
10
|
+
*/
|
|
11
|
+
var ABIEntityType;
|
|
12
|
+
(function (ABIEntityType) {
|
|
13
|
+
ABIEntityType["FUNCTION"] = "function";
|
|
14
|
+
ABIEntityType["CONSTRUCTOR"] = "constructor";
|
|
15
|
+
})(ABIEntityType || (exports.ABIEntityType = ABIEntityType = {}));
|
|
16
|
+
//# sourceMappingURL=artifact.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifact.js","sourceRoot":"","sources":["../../../../src/smart-contract/types/artifact.ts"],"names":[],"mappings":";;;AAAA,cAAc;AACD,QAAA,iCAAiC,GAAG,EAAE,CAAC,CAAC,iBAAiB;AACtE,cAAc;AACD,QAAA,yBAAyB,GAAG,CAAC,CAAC;AA8C3C;;GAEG;AACH,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,sCAAqB,CAAA;IACrB,4CAA2B,CAAA;AAC7B,CAAC,EAHW,aAAa,6BAAb,aAAa,QAGxB"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.buf2BN = exports.bn2Buf = void 0;
|
|
27
|
+
const tools = __importStar(require("uint8array-tools"));
|
|
28
|
+
function bn2BigEndianBuf(bn) {
|
|
29
|
+
let hex = bn.toString(16);
|
|
30
|
+
if (hex.length % 2 !== 0) {
|
|
31
|
+
hex = '0' + hex;
|
|
32
|
+
}
|
|
33
|
+
return Uint8Array.from(hex.match(/[\da-fA-F]{2}/g).map(h => {
|
|
34
|
+
return parseInt(h, 16);
|
|
35
|
+
}));
|
|
36
|
+
}
|
|
37
|
+
function bigEndianBuf2Bn(buf) {
|
|
38
|
+
let ret = 0n;
|
|
39
|
+
const bits = 8n;
|
|
40
|
+
for (const i of buf.values()) {
|
|
41
|
+
const bi = BigInt(i);
|
|
42
|
+
ret = (ret << bits) + bi;
|
|
43
|
+
}
|
|
44
|
+
return ret;
|
|
45
|
+
}
|
|
46
|
+
function toSMBigEndian(bn) {
|
|
47
|
+
let buf;
|
|
48
|
+
if (bn < BigInt(0)) {
|
|
49
|
+
buf = bn2BigEndianBuf(-bn);
|
|
50
|
+
if (buf[0] & 0x80) {
|
|
51
|
+
buf = tools.concat([Uint8Array.from([0x80]), buf]);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
buf[0] = buf[0] | 0x80;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
buf = bn2BigEndianBuf(bn);
|
|
59
|
+
if (buf[0] & 0x80) {
|
|
60
|
+
buf = tools.concat([Uint8Array.from([0x00]), buf]);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
if (buf.length === 1 && buf[0] === 0) {
|
|
64
|
+
buf = Uint8Array.from([]);
|
|
65
|
+
}
|
|
66
|
+
return buf;
|
|
67
|
+
}
|
|
68
|
+
function bn2Buf(bn, size) {
|
|
69
|
+
const tmp = toSMBigEndian(bn);
|
|
70
|
+
if (typeof size === 'number' && size > 0) {
|
|
71
|
+
if (tmp.length > size) {
|
|
72
|
+
throw new Error(`script number overflow, cannot fit in ${size} byte[s]`);
|
|
73
|
+
}
|
|
74
|
+
else if (tmp.length < size) {
|
|
75
|
+
const padding = new Uint8Array(size - tmp.length);
|
|
76
|
+
return tools.concat([padding, tmp]).reverse();
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return toSMBigEndian(bn).reverse();
|
|
80
|
+
}
|
|
81
|
+
exports.bn2Buf = bn2Buf;
|
|
82
|
+
function buf2BN(buf, fRequireMinimal, _size) {
|
|
83
|
+
if (fRequireMinimal && buf.length > 0) {
|
|
84
|
+
// Check that the number is encoded with the minimum possible
|
|
85
|
+
// number of bytes.
|
|
86
|
+
//
|
|
87
|
+
// If the most-significant-byte - excluding the sign bit - is zero
|
|
88
|
+
// then we're not minimal. Note how this test also rejects the
|
|
89
|
+
// negative-zero encoding, 0x80.
|
|
90
|
+
if ((buf[buf.length - 1] & 0x7f) === 0) {
|
|
91
|
+
// One exception: if there's more than one byte and the most
|
|
92
|
+
// significant bit of the second-most-significant-byte is set
|
|
93
|
+
// it would conflict with the sign bit. An example of this case
|
|
94
|
+
// is +-255, which encode to 0xff00 and 0xff80 respectively.
|
|
95
|
+
// (big-endian).
|
|
96
|
+
if (buf.length <= 1 || (buf[buf.length - 2] & 0x80) === 0) {
|
|
97
|
+
throw new Error('non-minimally encoded script number');
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
if (buf.length === 0) {
|
|
102
|
+
return BigInt(0);
|
|
103
|
+
}
|
|
104
|
+
buf = buf.slice().reverse();
|
|
105
|
+
let ret = 0n;
|
|
106
|
+
if (buf[0] & 0x80) {
|
|
107
|
+
buf[0] = buf[0] & 0x7f;
|
|
108
|
+
ret = bigEndianBuf2Bn(buf);
|
|
109
|
+
ret = -ret;
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
ret = bigEndianBuf2Bn(buf);
|
|
113
|
+
}
|
|
114
|
+
return ret;
|
|
115
|
+
}
|
|
116
|
+
exports.buf2BN = buf2BN;
|
|
117
|
+
//# sourceMappingURL=bn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bn.js","sourceRoot":"","sources":["../../../../src/smart-contract/types/bn.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/smart-contract/types/context.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OpCode = exports.OpCodeType = exports.Sha256 = exports.Sha1 = exports.Addr = exports.PubKeyHash = exports.Ripemd160 = exports.Sig = exports.PubKey = exports.PrivKey = void 0;
|
|
4
|
+
var primitives_js_1 = require('./primitives.cjs');
|
|
5
|
+
Object.defineProperty(exports, "PrivKey", { enumerable: true, get: function () { return primitives_js_1.PrivKey; } });
|
|
6
|
+
Object.defineProperty(exports, "PubKey", { enumerable: true, get: function () { return primitives_js_1.PubKey; } });
|
|
7
|
+
Object.defineProperty(exports, "Sig", { enumerable: true, get: function () { return primitives_js_1.Sig; } });
|
|
8
|
+
Object.defineProperty(exports, "Ripemd160", { enumerable: true, get: function () { return primitives_js_1.Ripemd160; } });
|
|
9
|
+
Object.defineProperty(exports, "PubKeyHash", { enumerable: true, get: function () { return primitives_js_1.PubKeyHash; } });
|
|
10
|
+
Object.defineProperty(exports, "Addr", { enumerable: true, get: function () { return primitives_js_1.Addr; } });
|
|
11
|
+
Object.defineProperty(exports, "Sha1", { enumerable: true, get: function () { return primitives_js_1.Sha1; } });
|
|
12
|
+
Object.defineProperty(exports, "Sha256", { enumerable: true, get: function () { return primitives_js_1.Sha256; } });
|
|
13
|
+
Object.defineProperty(exports, "OpCodeType", { enumerable: true, get: function () { return primitives_js_1.OpCodeType; } });
|
|
14
|
+
var opCode_js_1 = require('./opCode.cjs');
|
|
15
|
+
Object.defineProperty(exports, "OpCode", { enumerable: true, get: function () { return opCode_js_1.OpCode; } });
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/smart-contract/types/index.ts"],"names":[],"mappings":";;;AAAA,iDAkByB;AAVvB,wGAAA,OAAO,OAAA;AACP,uGAAA,MAAM,OAAA;AACN,oGAAA,GAAG,OAAA;AACH,0GAAA,SAAS,OAAA;AACT,2GAAA,UAAU,OAAA;AACV,qGAAA,IAAI,OAAA;AACJ,qGAAA,IAAI,OAAA;AACJ,uGAAA,MAAM,OAAA;AAEN,2GAAA,UAAU,OAAA;AAeZ,yCAAqC;AAA5B,mGAAA,MAAM,OAAA"}
|