phantasma-sdk-ts 0.1.71
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/.eslintignore +13 -0
- package/.eslintrc.cjs +15 -0
- package/.github/workflows/npm-publish.yml +47 -0
- package/.prettierignore +13 -0
- package/.prettierrc +8 -0
- package/LICENSE +201 -0
- package/README.md +842 -0
- package/babel.config.js +6 -0
- package/core/index.d.ts +10 -0
- package/core/index.d.ts.map +1 -0
- package/core/index.js +25 -0
- package/core/interfaces/IContract.d.ts +27 -0
- package/core/interfaces/IContract.d.ts.map +1 -0
- package/core/interfaces/IContract.js +25 -0
- package/core/interfaces/IKeyPair.d.ts +7 -0
- package/core/interfaces/IKeyPair.d.ts.map +1 -0
- package/core/interfaces/IKeyPair.js +2 -0
- package/core/interfaces/ISerializable.d.ts +6 -0
- package/core/interfaces/ISerializable.d.ts.map +1 -0
- package/core/interfaces/ISerializable.js +9 -0
- package/core/interfaces/IStack.d.ts +7 -0
- package/core/interfaces/IStack.d.ts.map +1 -0
- package/core/interfaces/IStack.js +2 -0
- package/core/interfaces/IToken.d.ts +29 -0
- package/core/interfaces/IToken.d.ts.map +1 -0
- package/core/interfaces/IToken.js +22 -0
- package/core/interfaces/Signature.d.ts +21 -0
- package/core/interfaces/Signature.d.ts.map +1 -0
- package/core/interfaces/Signature.js +31 -0
- package/core/interfaces/index.d.ts +7 -0
- package/core/interfaces/index.d.ts.map +1 -0
- package/core/interfaces/index.js +22 -0
- package/core/ledger/Address-Transcode.d.ts +20 -0
- package/core/ledger/Address-Transcode.d.ts.map +1 -0
- package/core/ledger/Address-Transcode.js +70 -0
- package/core/ledger/Ledger-Commands.d.ts +76 -0
- package/core/ledger/Ledger-Commands.d.ts.map +1 -0
- package/core/ledger/Ledger-Commands.js +530 -0
- package/core/ledger/Ledger-Utils.d.ts +74 -0
- package/core/ledger/Ledger-Utils.d.ts.map +1 -0
- package/core/ledger/Ledger-Utils.js +609 -0
- package/core/ledger/LedgerConfig.d.ts +17 -0
- package/core/ledger/LedgerConfig.d.ts.map +1 -0
- package/core/ledger/LedgerConfig.js +2 -0
- package/core/ledger/Mnemonic.d.ts +35 -0
- package/core/ledger/Mnemonic.d.ts.map +1 -0
- package/core/ledger/Mnemonic.js +65 -0
- package/core/ledger/Transaction-Sign.d.ts +10 -0
- package/core/ledger/Transaction-Sign.d.ts.map +1 -0
- package/core/ledger/Transaction-Sign.js +149 -0
- package/core/ledger/Transaction-Transcode.d.ts +24 -0
- package/core/ledger/Transaction-Transcode.d.ts.map +1 -0
- package/core/ledger/Transaction-Transcode.js +47 -0
- package/core/ledger/index.d.ts +9 -0
- package/core/ledger/index.d.ts.map +1 -0
- package/core/ledger/index.js +24 -0
- package/core/ledger/interfaces/ApplicationNameResponse.d.ts +6 -0
- package/core/ledger/interfaces/ApplicationNameResponse.d.ts.map +1 -0
- package/core/ledger/interfaces/ApplicationNameResponse.js +2 -0
- package/core/ledger/interfaces/Device.d.ts +7 -0
- package/core/ledger/interfaces/Device.d.ts.map +1 -0
- package/core/ledger/interfaces/Device.js +2 -0
- package/core/ledger/interfaces/DeviceResponse.d.ts +7 -0
- package/core/ledger/interfaces/DeviceResponse.d.ts.map +1 -0
- package/core/ledger/interfaces/DeviceResponse.js +2 -0
- package/core/ledger/interfaces/Ledger.d.ts +2 -0
- package/core/ledger/interfaces/Ledger.d.ts.map +1 -0
- package/core/ledger/interfaces/Ledger.js +2 -0
- package/core/ledger/interfaces/LedgerBalanceFromLedgerResponse.d.ts +12 -0
- package/core/ledger/interfaces/LedgerBalanceFromLedgerResponse.d.ts.map +1 -0
- package/core/ledger/interfaces/LedgerBalanceFromLedgerResponse.js +2 -0
- package/core/ledger/interfaces/LedgerConfig.d.ts +17 -0
- package/core/ledger/interfaces/LedgerConfig.d.ts.map +1 -0
- package/core/ledger/interfaces/LedgerConfig.js +2 -0
- package/core/ledger/interfaces/LedgerDeviceInfoResponse.d.ts +7 -0
- package/core/ledger/interfaces/LedgerDeviceInfoResponse.d.ts.map +1 -0
- package/core/ledger/interfaces/LedgerDeviceInfoResponse.js +2 -0
- package/core/ledger/interfaces/LedgerSendTransactionResponse.d.ts +5 -0
- package/core/ledger/interfaces/LedgerSendTransactionResponse.d.ts.map +1 -0
- package/core/ledger/interfaces/LedgerSendTransactionResponse.js +2 -0
- package/core/ledger/interfaces/LedgerSigner.d.ts +6 -0
- package/core/ledger/interfaces/LedgerSigner.d.ts.map +1 -0
- package/core/ledger/interfaces/LedgerSigner.js +2 -0
- package/core/ledger/interfaces/LedgerSignerData.d.ts +8 -0
- package/core/ledger/interfaces/LedgerSignerData.d.ts.map +1 -0
- package/core/ledger/interfaces/LedgerSignerData.js +2 -0
- package/core/ledger/interfaces/PublicKeyResponse.d.ts +6 -0
- package/core/ledger/interfaces/PublicKeyResponse.d.ts.map +1 -0
- package/core/ledger/interfaces/PublicKeyResponse.js +2 -0
- package/core/ledger/interfaces/SignResponse.d.ts +6 -0
- package/core/ledger/interfaces/SignResponse.d.ts.map +1 -0
- package/core/ledger/interfaces/SignResponse.js +2 -0
- package/core/ledger/interfaces/VersionResponse.d.ts +6 -0
- package/core/ledger/interfaces/VersionResponse.d.ts.map +1 -0
- package/core/ledger/interfaces/VersionResponse.js +2 -0
- package/core/ledger/interfaces/index.d.ts +14 -0
- package/core/ledger/interfaces/index.d.ts.map +1 -0
- package/core/ledger/interfaces/index.js +29 -0
- package/core/ledger/ledger-comm.d.ts +85 -0
- package/core/ledger/ledger-comm.d.ts.map +1 -0
- package/core/ledger/ledger-comm.js +613 -0
- package/core/link/easyConnect.d.ts +23 -0
- package/core/link/easyConnect.d.ts.map +1 -0
- package/core/link/easyConnect.js +237 -0
- package/core/link/easyScript.d.ts +13 -0
- package/core/link/easyScript.d.ts.map +1 -0
- package/core/link/easyScript.js +52 -0
- package/core/link/index.d.ts +2 -0
- package/core/link/index.d.ts.map +1 -0
- package/core/link/index.js +17 -0
- package/core/link/interfaces/IAccount.d.ts +13 -0
- package/core/link/interfaces/IAccount.d.ts.map +1 -0
- package/core/link/interfaces/IAccount.js +2 -0
- package/core/link/interfaces/IFile.d.ts +7 -0
- package/core/link/interfaces/IFile.d.ts.map +1 -0
- package/core/link/interfaces/IFile.js +2 -0
- package/core/link/interfaces/ProofOfWork.d.ts +9 -0
- package/core/link/interfaces/ProofOfWork.d.ts.map +1 -0
- package/core/link/interfaces/ProofOfWork.js +12 -0
- package/core/link/interfaces/index.d.ts +4 -0
- package/core/link/interfaces/index.d.ts.map +1 -0
- package/core/link/interfaces/index.js +19 -0
- package/core/link/phantasmaLink.d.ts +41 -0
- package/core/link/phantasmaLink.d.ts.map +1 -0
- package/core/link/phantasmaLink.js +479 -0
- package/core/rpc/index.d.ts +3 -0
- package/core/rpc/index.d.ts.map +1 -0
- package/core/rpc/index.js +18 -0
- package/core/rpc/interfaces/ABIContract.d.ts +6 -0
- package/core/rpc/interfaces/ABIContract.d.ts.map +1 -0
- package/core/rpc/interfaces/ABIContract.js +2 -0
- package/core/rpc/interfaces/ABIEvent.d.ts +7 -0
- package/core/rpc/interfaces/ABIEvent.d.ts.map +1 -0
- package/core/rpc/interfaces/ABIEvent.js +2 -0
- package/core/rpc/interfaces/ABIMethod.d.ts +7 -0
- package/core/rpc/interfaces/ABIMethod.d.ts.map +1 -0
- package/core/rpc/interfaces/ABIMethod.js +2 -0
- package/core/rpc/interfaces/ABIParameter.d.ts +5 -0
- package/core/rpc/interfaces/ABIParameter.d.ts.map +1 -0
- package/core/rpc/interfaces/ABIParameter.js +2 -0
- package/core/rpc/interfaces/Account.d.ts +16 -0
- package/core/rpc/interfaces/Account.d.ts.map +1 -0
- package/core/rpc/interfaces/Account.js +2 -0
- package/core/rpc/interfaces/AccountTransactions.d.ts +6 -0
- package/core/rpc/interfaces/AccountTransactions.d.ts.map +1 -0
- package/core/rpc/interfaces/AccountTransactions.js +2 -0
- package/core/rpc/interfaces/Archive.d.ts +11 -0
- package/core/rpc/interfaces/Archive.d.ts.map +1 -0
- package/core/rpc/interfaces/Archive.js +2 -0
- package/core/rpc/interfaces/Auction.d.ts +13 -0
- package/core/rpc/interfaces/Auction.d.ts.map +1 -0
- package/core/rpc/interfaces/Auction.js +2 -0
- package/core/rpc/interfaces/Balance.d.ts +8 -0
- package/core/rpc/interfaces/Balance.d.ts.map +1 -0
- package/core/rpc/interfaces/Balance.js +2 -0
- package/core/rpc/interfaces/Block.d.ts +17 -0
- package/core/rpc/interfaces/Block.d.ts.map +1 -0
- package/core/rpc/interfaces/Block.js +2 -0
- package/core/rpc/interfaces/Chain.d.ts +10 -0
- package/core/rpc/interfaces/Chain.d.ts.map +1 -0
- package/core/rpc/interfaces/Chain.js +2 -0
- package/core/rpc/interfaces/Channel.d.ts +13 -0
- package/core/rpc/interfaces/Channel.d.ts.map +1 -0
- package/core/rpc/interfaces/Channel.js +2 -0
- package/core/rpc/interfaces/Contract.d.ts +11 -0
- package/core/rpc/interfaces/Contract.d.ts.map +1 -0
- package/core/rpc/interfaces/Contract.js +2 -0
- package/core/rpc/interfaces/Dapp.d.ts +6 -0
- package/core/rpc/interfaces/Dapp.d.ts.map +1 -0
- package/core/rpc/interfaces/Dapp.js +2 -0
- package/core/rpc/interfaces/Event.d.ts +7 -0
- package/core/rpc/interfaces/Event.d.ts.map +1 -0
- package/core/rpc/interfaces/Event.js +2 -0
- package/core/rpc/interfaces/Governance.d.ts +5 -0
- package/core/rpc/interfaces/Governance.d.ts.map +1 -0
- package/core/rpc/interfaces/Governance.js +2 -0
- package/core/rpc/interfaces/Interop.d.ts +5 -0
- package/core/rpc/interfaces/Interop.d.ts.map +1 -0
- package/core/rpc/interfaces/Interop.js +2 -0
- package/core/rpc/interfaces/KeyValue.d.ts +5 -0
- package/core/rpc/interfaces/KeyValue.d.ts.map +1 -0
- package/core/rpc/interfaces/KeyValue.js +2 -0
- package/core/rpc/interfaces/Leaderboard.d.ts +6 -0
- package/core/rpc/interfaces/Leaderboard.d.ts.map +1 -0
- package/core/rpc/interfaces/Leaderboard.js +2 -0
- package/core/rpc/interfaces/LeaderboardRow.d.ts +5 -0
- package/core/rpc/interfaces/LeaderboardRow.d.ts.map +1 -0
- package/core/rpc/interfaces/LeaderboardRow.js +2 -0
- package/core/rpc/interfaces/NFT.d.ts +14 -0
- package/core/rpc/interfaces/NFT.d.ts.map +1 -0
- package/core/rpc/interfaces/NFT.js +2 -0
- package/core/rpc/interfaces/Nexus.d.ts +14 -0
- package/core/rpc/interfaces/Nexus.d.ts.map +1 -0
- package/core/rpc/interfaces/Nexus.js +2 -0
- package/core/rpc/interfaces/Oracle.d.ts +5 -0
- package/core/rpc/interfaces/Oracle.d.ts.map +1 -0
- package/core/rpc/interfaces/Oracle.js +2 -0
- package/core/rpc/interfaces/Organization.d.ts +6 -0
- package/core/rpc/interfaces/Organization.d.ts.map +1 -0
- package/core/rpc/interfaces/Organization.js +2 -0
- package/core/rpc/interfaces/Paginated.d.ts +8 -0
- package/core/rpc/interfaces/Paginated.d.ts.map +1 -0
- package/core/rpc/interfaces/Paginated.js +2 -0
- package/core/rpc/interfaces/Peer.d.ts +8 -0
- package/core/rpc/interfaces/Peer.d.ts.map +1 -0
- package/core/rpc/interfaces/Peer.js +2 -0
- package/core/rpc/interfaces/Platform.d.ts +9 -0
- package/core/rpc/interfaces/Platform.d.ts.map +1 -0
- package/core/rpc/interfaces/Platform.js +2 -0
- package/core/rpc/interfaces/Receipt.d.ts +10 -0
- package/core/rpc/interfaces/Receipt.d.ts.map +1 -0
- package/core/rpc/interfaces/Receipt.js +2 -0
- package/core/rpc/interfaces/Script.d.ts +9 -0
- package/core/rpc/interfaces/Script.d.ts.map +1 -0
- package/core/rpc/interfaces/Script.js +2 -0
- package/core/rpc/interfaces/SendRawTx.d.ts +5 -0
- package/core/rpc/interfaces/SendRawTx.d.ts.map +1 -0
- package/core/rpc/interfaces/SendRawTx.js +2 -0
- package/core/rpc/interfaces/SignatureResult.d.ts +5 -0
- package/core/rpc/interfaces/SignatureResult.d.ts.map +1 -0
- package/core/rpc/interfaces/SignatureResult.js +2 -0
- package/core/rpc/interfaces/Stake.d.ts +6 -0
- package/core/rpc/interfaces/Stake.d.ts.map +1 -0
- package/core/rpc/interfaces/Stake.js +2 -0
- package/core/rpc/interfaces/Storage.d.ts +8 -0
- package/core/rpc/interfaces/Storage.d.ts.map +1 -0
- package/core/rpc/interfaces/Storage.js +2 -0
- package/core/rpc/interfaces/Swap.d.ts +13 -0
- package/core/rpc/interfaces/Swap.d.ts.map +1 -0
- package/core/rpc/interfaces/Swap.js +2 -0
- package/core/rpc/interfaces/Token.d.ts +19 -0
- package/core/rpc/interfaces/Token.d.ts.map +1 -0
- package/core/rpc/interfaces/Token.js +2 -0
- package/core/rpc/interfaces/TokenData.d.ts +13 -0
- package/core/rpc/interfaces/TokenData.d.ts.map +1 -0
- package/core/rpc/interfaces/TokenData.js +2 -0
- package/core/rpc/interfaces/TokenExternal.d.ts +5 -0
- package/core/rpc/interfaces/TokenExternal.d.ts.map +1 -0
- package/core/rpc/interfaces/TokenExternal.js +2 -0
- package/core/rpc/interfaces/TokenPrice.d.ts +8 -0
- package/core/rpc/interfaces/TokenPrice.d.ts.map +1 -0
- package/core/rpc/interfaces/TokenPrice.js +2 -0
- package/core/rpc/interfaces/TokenSeries.d.ts +12 -0
- package/core/rpc/interfaces/TokenSeries.d.ts.map +1 -0
- package/core/rpc/interfaces/TokenSeries.js +2 -0
- package/core/rpc/interfaces/TransactionData.d.ts +23 -0
- package/core/rpc/interfaces/TransactionData.d.ts.map +1 -0
- package/core/rpc/interfaces/TransactionData.js +2 -0
- package/core/rpc/interfaces/Validator.d.ts +5 -0
- package/core/rpc/interfaces/Validator.d.ts.map +1 -0
- package/core/rpc/interfaces/Validator.js +2 -0
- package/core/rpc/interfaces/index.d.ts +42 -0
- package/core/rpc/interfaces/index.d.ts.map +1 -0
- package/core/rpc/interfaces/index.js +57 -0
- package/core/rpc/phantasma.d.ts +89 -0
- package/core/rpc/phantasma.d.ts.map +1 -0
- package/core/rpc/phantasma.js +900 -0
- package/core/tx/SignatureKind.js +9 -0
- package/core/tx/Transaction.d.ts +28 -0
- package/core/tx/Transaction.d.ts.map +1 -0
- package/core/tx/Transaction.js +209 -0
- package/core/tx/index.d.ts +3 -0
- package/core/tx/index.d.ts.map +1 -0
- package/core/tx/index.js +18 -0
- package/core/tx/utils.d.ts +10 -0
- package/core/tx/utils.d.ts.map +1 -0
- package/core/tx/utils.js +147 -0
- package/core/types/Address.d.ts +41 -0
- package/core/types/Address.d.ts.map +1 -0
- package/core/types/Address.js +276 -0
- package/core/types/Consensus.d.ts +61 -0
- package/core/types/Consensus.d.ts.map +1 -0
- package/core/types/Consensus.js +151 -0
- package/core/types/Contract.d.ts +60 -0
- package/core/types/Contract.d.ts.map +1 -0
- package/core/types/Contract.js +342 -0
- package/core/types/DomainSettings.d.ts +87 -0
- package/core/types/DomainSettings.d.ts.map +1 -0
- package/core/types/DomainSettings.js +107 -0
- package/core/types/Ed25519Signature.d.ts +16 -0
- package/core/types/Ed25519Signature.d.ts.map +1 -0
- package/core/types/Ed25519Signature.js +78 -0
- package/core/types/Entropy.d.ts +5 -0
- package/core/types/Entropy.d.ts.map +1 -0
- package/core/types/Entropy.js +24 -0
- package/core/types/Extensions/Base16.d.ts +7 -0
- package/core/types/Extensions/Base16.d.ts.map +1 -0
- package/core/types/Extensions/Base16.js +36 -0
- package/core/types/Extensions/BinaryReader.d.ts +17 -0
- package/core/types/Extensions/BinaryReader.d.ts.map +1 -0
- package/core/types/Extensions/BinaryReader.js +192 -0
- package/core/types/Extensions/BinaryWriter.d.ts +25 -0
- package/core/types/Extensions/BinaryWriter.d.ts.map +1 -0
- package/core/types/Extensions/BinaryWriter.js +191 -0
- package/core/types/Extensions/Describer.d.ts +5 -0
- package/core/types/Extensions/Describer.d.ts.map +1 -0
- package/core/types/Extensions/Describer.js +25 -0
- package/core/types/Extensions/PBinaryReader.d.ts +42 -0
- package/core/types/Extensions/PBinaryReader.d.ts.map +1 -0
- package/core/types/Extensions/PBinaryReader.js +269 -0
- package/core/types/Extensions/PBinaryWriter.d.ts +49 -0
- package/core/types/Extensions/PBinaryWriter.d.ts.map +1 -0
- package/core/types/Extensions/PBinaryWriter.js +250 -0
- package/core/types/Extensions/TableColumns.d.ts +5 -0
- package/core/types/Extensions/TableColumns.d.ts.map +1 -0
- package/core/types/Extensions/TableColumns.js +22 -0
- package/core/types/Extensions/index.d.ts +5 -0
- package/core/types/Extensions/index.d.ts.map +1 -0
- package/core/types/Extensions/index.js +20 -0
- package/core/types/PhantasmaKeys.d.ts +19 -0
- package/core/types/PhantasmaKeys.d.ts.map +1 -0
- package/core/types/PhantasmaKeys.js +92 -0
- package/core/types/Serialization.d.ts +22 -0
- package/core/types/Serialization.d.ts.map +1 -0
- package/core/types/Serialization.js +195 -0
- package/core/types/Stack.d.ts +16 -0
- package/core/types/Stack.d.ts.map +1 -0
- package/core/types/Stack.js +42 -0
- package/core/types/Timestamp.d.ts +26 -0
- package/core/types/Timestamp.d.ts.map +1 -0
- package/core/types/Timestamp.js +74 -0
- package/core/types/index.d.ts +12 -0
- package/core/types/index.d.ts.map +1 -0
- package/core/types/index.js +27 -0
- package/core/utils/index.d.ts +25 -0
- package/core/utils/index.d.ts.map +1 -0
- package/core/utils/index.js +236 -0
- package/core/vm/Contracts.d.ts +17 -0
- package/core/vm/Contracts.d.ts.map +1 -0
- package/core/vm/Contracts.js +20 -0
- package/core/vm/Decoder.d.ts +19 -0
- package/core/vm/Decoder.d.ts.map +1 -0
- package/core/vm/Decoder.js +175 -0
- package/core/vm/EventData.d.ts +97 -0
- package/core/vm/EventData.d.ts.map +1 -0
- package/core/vm/EventData.js +134 -0
- package/core/vm/Opcode.d.ts +57 -0
- package/core/vm/Opcode.d.ts.map +1 -0
- package/core/vm/Opcode.js +69 -0
- package/core/vm/ScriptBuilder.d.ts +65 -0
- package/core/vm/ScriptBuilder.d.ts.map +1 -0
- package/core/vm/ScriptBuilder.js +592 -0
- package/core/vm/VMObject.d.ts +55 -0
- package/core/vm/VMObject.d.ts.map +1 -0
- package/core/vm/VMObject.js +1101 -0
- package/core/vm/VMType.d.ts +12 -0
- package/core/vm/VMType.d.ts.map +1 -0
- package/core/vm/VMType.js +15 -0
- package/core/vm/index.d.ts +8 -0
- package/core/vm/index.d.ts.map +1 -0
- package/core/vm/index.js +23 -0
- package/html/TestWebPage.html +187 -0
- package/html/phantasma.js +60504 -0
- package/index.d.ts +5 -0
- package/index.d.ts.map +1 -0
- package/index.js +36 -0
- package/jest.config.js +5 -0
- package/package.json +67 -0
- package/src/core/index.ts +9 -0
- package/src/core/interfaces/IContract.ts +28 -0
- package/src/core/interfaces/IKeyPair.ts +14 -0
- package/src/core/interfaces/ISerializable.ts +6 -0
- package/src/core/interfaces/IStack.ts +6 -0
- package/src/core/interfaces/IToken.ts +31 -0
- package/src/core/interfaces/Signature.ts +32 -0
- package/src/core/interfaces/index.ts +6 -0
- package/src/core/ledger/Address-Transcode.ts +44 -0
- package/src/core/ledger/Ledger-Commands.ts +463 -0
- package/src/core/ledger/Ledger-Utils.ts +549 -0
- package/src/core/ledger/Mnemonic.ts +79 -0
- package/src/core/ledger/Transaction-Sign.ts +126 -0
- package/src/core/ledger/Transaction-Transcode.ts +56 -0
- package/src/core/ledger/index.ts +8 -0
- package/src/core/ledger/interfaces/ApplicationNameResponse.ts +5 -0
- package/src/core/ledger/interfaces/Device.ts +6 -0
- package/src/core/ledger/interfaces/DeviceResponse.ts +6 -0
- package/src/core/ledger/interfaces/Ledger.ts +10 -0
- package/src/core/ledger/interfaces/LedgerBalanceFromLedgerResponse.ts +9 -0
- package/src/core/ledger/interfaces/LedgerConfig.ts +17 -0
- package/src/core/ledger/interfaces/LedgerDeviceInfoResponse.ts +7 -0
- package/src/core/ledger/interfaces/LedgerSendTransactionResponse.ts +4 -0
- package/src/core/ledger/interfaces/LedgerSigner.ts +6 -0
- package/src/core/ledger/interfaces/LedgerSignerData.ts +8 -0
- package/src/core/ledger/interfaces/PublicKeyResponse.ts +5 -0
- package/src/core/ledger/interfaces/SignResponse.ts +5 -0
- package/src/core/ledger/interfaces/VersionResponse.ts +5 -0
- package/src/core/ledger/interfaces/index.ts +13 -0
- package/src/core/link/easyConnect.ts +214 -0
- package/src/core/link/easyScript.ts +67 -0
- package/src/core/link/index.ts +1 -0
- package/src/core/link/interfaces/IAccount.ts +13 -0
- package/src/core/link/interfaces/IFile.ts +6 -0
- package/src/core/link/interfaces/ProofOfWork.ts +8 -0
- package/src/core/link/interfaces/index.ts +3 -0
- package/src/core/link/phantasmaLink.ts +561 -0
- package/src/core/rpc/index.ts +2 -0
- package/src/core/rpc/interfaces/ABIContract.ts +6 -0
- package/src/core/rpc/interfaces/ABIEvent.ts +6 -0
- package/src/core/rpc/interfaces/ABIMethod.ts +7 -0
- package/src/core/rpc/interfaces/ABIParameter.ts +4 -0
- package/src/core/rpc/interfaces/Account.ts +16 -0
- package/src/core/rpc/interfaces/AccountTransactions.ts +6 -0
- package/src/core/rpc/interfaces/Archive.ts +10 -0
- package/src/core/rpc/interfaces/Auction.ts +12 -0
- package/src/core/rpc/interfaces/Balance.ts +7 -0
- package/src/core/rpc/interfaces/Block.ts +17 -0
- package/src/core/rpc/interfaces/Chain.ts +9 -0
- package/src/core/rpc/interfaces/Channel.ts +12 -0
- package/src/core/rpc/interfaces/Contract.ts +11 -0
- package/src/core/rpc/interfaces/Dapp.ts +5 -0
- package/src/core/rpc/interfaces/Event.ts +6 -0
- package/src/core/rpc/interfaces/Governance.ts +4 -0
- package/src/core/rpc/interfaces/Interop.ts +4 -0
- package/src/core/rpc/interfaces/KeyValue.ts +4 -0
- package/src/core/rpc/interfaces/Leaderboard.ts +6 -0
- package/src/core/rpc/interfaces/LeaderboardRow.ts +4 -0
- package/src/core/rpc/interfaces/NFT.ts +14 -0
- package/src/core/rpc/interfaces/Nexus.ts +14 -0
- package/src/core/rpc/interfaces/Oracle.ts +4 -0
- package/src/core/rpc/interfaces/Organization.ts +5 -0
- package/src/core/rpc/interfaces/Paginated.ts +7 -0
- package/src/core/rpc/interfaces/Peer.ts +7 -0
- package/src/core/rpc/interfaces/Platform.ts +9 -0
- package/src/core/rpc/interfaces/Receipt.ts +9 -0
- package/src/core/rpc/interfaces/Script.ts +9 -0
- package/src/core/rpc/interfaces/SendRawTx.ts +4 -0
- package/src/core/rpc/interfaces/SignatureResult.ts +4 -0
- package/src/core/rpc/interfaces/Stake.ts +5 -0
- package/src/core/rpc/interfaces/Storage.ts +8 -0
- package/src/core/rpc/interfaces/Swap.ts +12 -0
- package/src/core/rpc/interfaces/Token.ts +19 -0
- package/src/core/rpc/interfaces/TokenData.ts +12 -0
- package/src/core/rpc/interfaces/TokenExternal.ts +4 -0
- package/src/core/rpc/interfaces/TokenPrice.ts +7 -0
- package/src/core/rpc/interfaces/TokenSeries.ts +12 -0
- package/src/core/rpc/interfaces/TransactionData.ts +23 -0
- package/src/core/rpc/interfaces/Validator.ts +4 -0
- package/src/core/rpc/interfaces/index.ts +41 -0
- package/src/core/rpc/phantasma.ts +466 -0
- package/src/core/tx/Transaction.ts +258 -0
- package/src/core/tx/index.ts +2 -0
- package/src/core/tx/utils.ts +106 -0
- package/src/core/types/Address.ts +290 -0
- package/src/core/types/Consensus.ts +181 -0
- package/src/core/types/Contract.ts +324 -0
- package/src/core/types/DomainSettings.ts +128 -0
- package/src/core/types/Ed25519Signature.ts +78 -0
- package/src/core/types/Entropy.ts +16 -0
- package/src/core/types/Extensions/Base16.ts +36 -0
- package/src/core/types/Extensions/Describer.ts +17 -0
- package/src/core/types/Extensions/PBinaryReader.ts +247 -0
- package/src/core/types/Extensions/PBinaryWriter.ts +278 -0
- package/src/core/types/Extensions/index.ts +4 -0
- package/src/core/types/PhantasmaKeys.ts +119 -0
- package/src/core/types/Serialization.ts +211 -0
- package/src/core/types/Stack.ts +46 -0
- package/src/core/types/Timestamp.ts +93 -0
- package/src/core/types/index.ts +11 -0
- package/src/core/utils/index.ts +206 -0
- package/src/core/vm/Contracts.ts +17 -0
- package/src/core/vm/Decoder.ts +162 -0
- package/src/core/vm/Disassembler.ts +1 -0
- package/src/core/vm/EventData.ts +135 -0
- package/src/core/vm/Opcode.ts +74 -0
- package/src/core/vm/ScriptBuilder.ts +588 -0
- package/src/core/vm/VMObject.ts +1162 -0
- package/src/core/vm/VMType.ts +11 -0
- package/src/core/vm/index.ts +7 -0
- package/src/core/vm/utils/DisasmMethodCall.ts +22 -0
- package/src/core/vm/utils/DisasmUtils.ts +89 -0
- package/src/core/vm/utils/index.ts +2 -0
- package/src/index.ts +7 -0
- package/tests/VMObject.test.ts +146 -0
- package/tests/ledger/Address-Transacode.test.ts +26 -0
- package/tests/tx/Transaction.test.ts +274 -0
- package/tests/types/Address.test.ts +26 -0
- package/tests/types/Consensus.test.ts +67 -0
- package/tsconfig.json +29 -0
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import bigInt from "big-integer";
|
|
2
|
+
import { ISignature, SignatureKind } from "../interfaces";
|
|
3
|
+
import { VMType } from "./VMType";
|
|
4
|
+
|
|
5
|
+
export class Decoder {
|
|
6
|
+
str: string;
|
|
7
|
+
|
|
8
|
+
constructor(str: string) {
|
|
9
|
+
this.str = str;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
isEnd() {
|
|
13
|
+
return this.str.length == 0;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
readCharPair() {
|
|
17
|
+
var res = this.str.substr(0, 2);
|
|
18
|
+
this.str = this.str.slice(2);
|
|
19
|
+
return res;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
readByte() {
|
|
23
|
+
return parseInt(this.readCharPair(), 16);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
read(numBytes: number): string {
|
|
27
|
+
var res = this.str.substr(0, numBytes * 2);
|
|
28
|
+
this.str = this.str.slice(numBytes * 2);
|
|
29
|
+
return res;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
readString(): string {
|
|
33
|
+
var len = this.readVarInt();
|
|
34
|
+
return this.readStringBytes(len);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
readStringBytes(numBytes: number) {
|
|
38
|
+
var res = "";
|
|
39
|
+
for (var i = 0; i < numBytes; ++i) {
|
|
40
|
+
res += String.fromCharCode(this.readByte());
|
|
41
|
+
}
|
|
42
|
+
return res;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
readByteArray() {
|
|
46
|
+
var res;
|
|
47
|
+
var length = this.readVarInt();
|
|
48
|
+
if (length == 0) return [];
|
|
49
|
+
|
|
50
|
+
res = this.read(length);
|
|
51
|
+
return res;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
readSignature() {
|
|
55
|
+
let kind = this.readByte() as SignatureKind;
|
|
56
|
+
let signature: ISignature = new ISignature();
|
|
57
|
+
let curve;
|
|
58
|
+
signature.kind = kind;
|
|
59
|
+
switch (kind) {
|
|
60
|
+
case SignatureKind.None:
|
|
61
|
+
return null;
|
|
62
|
+
|
|
63
|
+
case SignatureKind.Ed25519:
|
|
64
|
+
let len = this.readVarInt();
|
|
65
|
+
signature.signature = this.read(len);
|
|
66
|
+
break;
|
|
67
|
+
case SignatureKind.ECDSA:
|
|
68
|
+
curve = this.readByte();
|
|
69
|
+
signature.signature = this.readString();
|
|
70
|
+
break;
|
|
71
|
+
default:
|
|
72
|
+
throw "read signature: " + kind;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
return signature;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
readTimestamp() {
|
|
79
|
+
//var len = this.readByte();
|
|
80
|
+
let result = 0;
|
|
81
|
+
let bytes: any = this.read(4);
|
|
82
|
+
bytes
|
|
83
|
+
.match(/.{1,2}/g)
|
|
84
|
+
.reverse()
|
|
85
|
+
.forEach((c: any) => (result = result * 256 + parseInt(c, 16)));
|
|
86
|
+
return result;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
readVarInt() {
|
|
90
|
+
var len = this.readByte();
|
|
91
|
+
var res = 0;
|
|
92
|
+
if (len === 0xfd) {
|
|
93
|
+
[...(this.read(2).match(/.{1,2}/g) as any)]
|
|
94
|
+
.reverse()
|
|
95
|
+
.forEach((c) => (res = res * 256 + parseInt(c, 16)));
|
|
96
|
+
return res;
|
|
97
|
+
} else if (len === 0xfe) {
|
|
98
|
+
[...(this.read(4).match(/.{1,2}/g) as any)]
|
|
99
|
+
.reverse()
|
|
100
|
+
.forEach((c) => (res = res * 256 + parseInt(c, 16)));
|
|
101
|
+
return res;
|
|
102
|
+
} else if (len === 0xff) {
|
|
103
|
+
[...(this.read(8).match(/.{1,2}/g) as any)]
|
|
104
|
+
.reverse()
|
|
105
|
+
.forEach((c) => (res = res * 256 + parseInt(c, 16)));
|
|
106
|
+
return res;
|
|
107
|
+
}
|
|
108
|
+
return len;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
readBigInt() {
|
|
112
|
+
// TO DO: implement negative numbers
|
|
113
|
+
var len = this.readVarInt();
|
|
114
|
+
var res = 0;
|
|
115
|
+
var stringBytes = this.read(len);
|
|
116
|
+
[...(stringBytes.match(/.{1,2}/g) as any)]
|
|
117
|
+
.reverse()
|
|
118
|
+
.forEach((c) => (res = res * 256 + parseInt(c, 16)));
|
|
119
|
+
return res;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
readBigIntAccurate() {
|
|
123
|
+
var len = this.readVarInt();
|
|
124
|
+
var res = bigInt();
|
|
125
|
+
var stringBytes = this.read(len);
|
|
126
|
+
[...(stringBytes.match(/.{1,2}/g) as any)].reverse().forEach((c) => {
|
|
127
|
+
res = res.times(256).plus(parseInt(c, 16));
|
|
128
|
+
});
|
|
129
|
+
return res.toString();
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
readVmObject() {
|
|
133
|
+
const type = this.readByte();
|
|
134
|
+
console.log("type", type);
|
|
135
|
+
switch (type) {
|
|
136
|
+
case VMType.String:
|
|
137
|
+
return this.readString();
|
|
138
|
+
case VMType.Number:
|
|
139
|
+
return this.readBigIntAccurate();
|
|
140
|
+
case VMType.Bool:
|
|
141
|
+
return this.readByte() != 0;
|
|
142
|
+
case VMType.Struct:
|
|
143
|
+
const numFields = this.readVarInt();
|
|
144
|
+
let res: any = {};
|
|
145
|
+
for (let i = 0; i < numFields; ++i) {
|
|
146
|
+
const key: any = this.readVmObject();
|
|
147
|
+
console.log(" key", key);
|
|
148
|
+
const value = this.readVmObject();
|
|
149
|
+
console.log(" value", value);
|
|
150
|
+
res[key] = value;
|
|
151
|
+
}
|
|
152
|
+
return res;
|
|
153
|
+
case VMType.Enum:
|
|
154
|
+
return this.readVarInt();
|
|
155
|
+
case VMType.Object:
|
|
156
|
+
const numBytes = this.readVarInt();
|
|
157
|
+
return this.read(numBytes);
|
|
158
|
+
default:
|
|
159
|
+
return "unsupported type " + type;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export class Dissassembler {}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import bigInt from "big-integer";
|
|
2
|
+
import { isCallSignatureDeclaration } from "typescript";
|
|
3
|
+
import { Decoder } from "./Decoder";
|
|
4
|
+
import { VMType } from "./VMType";
|
|
5
|
+
|
|
6
|
+
export enum EventKind {
|
|
7
|
+
Unknown = 0,
|
|
8
|
+
ChainCreate = 1,
|
|
9
|
+
TokenCreate = 2,
|
|
10
|
+
TokenSend = 3,
|
|
11
|
+
TokenReceive = 4,
|
|
12
|
+
TokenMint = 5,
|
|
13
|
+
TokenBurn = 6,
|
|
14
|
+
TokenStake = 7,
|
|
15
|
+
TokenClaim = 8,
|
|
16
|
+
AddressRegister = 9,
|
|
17
|
+
AddressLink = 10,
|
|
18
|
+
AddressUnlink = 11,
|
|
19
|
+
OrganizationCreate = 12,
|
|
20
|
+
OrganizationAdd = 13,
|
|
21
|
+
OrganizationRemove = 14,
|
|
22
|
+
GasEscrow = 15,
|
|
23
|
+
GasPayment = 16,
|
|
24
|
+
AddressUnregister = 17,
|
|
25
|
+
OrderCreated = 18,
|
|
26
|
+
OrderCancelled = 19,
|
|
27
|
+
OrderFilled = 20,
|
|
28
|
+
OrderClosed = 21,
|
|
29
|
+
FeedCreate = 22,
|
|
30
|
+
FeedUpdate = 23,
|
|
31
|
+
FileCreate = 24,
|
|
32
|
+
FileDelete = 25,
|
|
33
|
+
ValidatorPropose = 26,
|
|
34
|
+
ValidatorElect = 27,
|
|
35
|
+
ValidatorRemove = 28,
|
|
36
|
+
ValidatorSwitch = 29,
|
|
37
|
+
PackedNFT = 30,
|
|
38
|
+
ValueCreate = 31,
|
|
39
|
+
ValueUpdate = 32,
|
|
40
|
+
PollCreated = 33,
|
|
41
|
+
PollClosed = 34,
|
|
42
|
+
PollVote = 35,
|
|
43
|
+
ChannelCreate = 36,
|
|
44
|
+
ChannelRefill = 37,
|
|
45
|
+
ChannelSettle = 38,
|
|
46
|
+
LeaderboardCreate = 39,
|
|
47
|
+
LeaderboardInsert = 40,
|
|
48
|
+
LeaderboardReset = 41,
|
|
49
|
+
PlatformCreate = 42,
|
|
50
|
+
ChainSwap = 43,
|
|
51
|
+
ContractRegister = 44,
|
|
52
|
+
ContractDeploy = 45,
|
|
53
|
+
AddressMigration = 46,
|
|
54
|
+
ContractUpgrade = 47,
|
|
55
|
+
Log = 48,
|
|
56
|
+
Inflation = 49,
|
|
57
|
+
OrderBid = 59,
|
|
58
|
+
MasterClaim = 61,
|
|
59
|
+
Custom = 64,
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export enum TypeAuction {
|
|
63
|
+
Fixed = 0,
|
|
64
|
+
Classic = 1,
|
|
65
|
+
Reserve = 2,
|
|
66
|
+
Dutch = 3,
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export function decodeVMObject(str: string) {
|
|
70
|
+
var dec = new Decoder(str);
|
|
71
|
+
return dec.readVmObject();
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export function getTokenEventData(str: string) {
|
|
75
|
+
var dec = new Decoder(str);
|
|
76
|
+
|
|
77
|
+
return {
|
|
78
|
+
symbol: dec.readString(),
|
|
79
|
+
value: dec.readBigIntAccurate(),
|
|
80
|
+
chainName: dec.readString(),
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export function getChainValueEventData(str: string) {
|
|
85
|
+
var dec = new Decoder(str);
|
|
86
|
+
return {
|
|
87
|
+
name: dec.readString,
|
|
88
|
+
value: dec.readBigInt(),
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
export function getTransactionSettleEventData(str: string) {
|
|
93
|
+
var dec = new Decoder(str);
|
|
94
|
+
return {
|
|
95
|
+
hash: dec.read(dec.readByte()),
|
|
96
|
+
platform: dec.readString(),
|
|
97
|
+
chain: dec.readString(),
|
|
98
|
+
};
|
|
99
|
+
// public readonly Hash Hash;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
export function getGasEventData(str: string) {
|
|
103
|
+
var dec = new Decoder(str);
|
|
104
|
+
return {
|
|
105
|
+
address: dec.read(dec.readByte()),
|
|
106
|
+
price: dec.readBigInt(),
|
|
107
|
+
amount: dec.readBigInt(),
|
|
108
|
+
endAmount: dec.isEnd() ? 0 : dec.readBigInt(),
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
export function getInfusionEventData(str: string) {
|
|
113
|
+
var dec = new Decoder(str);
|
|
114
|
+
return {
|
|
115
|
+
baseSymbol: dec.readString(),
|
|
116
|
+
TokenID: dec.readBigIntAccurate(),
|
|
117
|
+
InfusedSymbol: dec.readString(),
|
|
118
|
+
InfusedValue: dec.readBigIntAccurate(),
|
|
119
|
+
ChainName: dec.readString(),
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
export function getMarketEventData(str: string) {
|
|
124
|
+
var dec = new Decoder(str);
|
|
125
|
+
return {
|
|
126
|
+
baseSymbol: dec.readString(),
|
|
127
|
+
quoteSymbol: dec.readString(),
|
|
128
|
+
id: dec.readBigIntAccurate(),
|
|
129
|
+
amount: dec.readBigInt(),
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
export function getString(str: string) {
|
|
134
|
+
return new Decoder(str).readString();
|
|
135
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
export enum Opcode {
|
|
2
|
+
NOP,
|
|
3
|
+
|
|
4
|
+
// register
|
|
5
|
+
MOVE, // copy reference
|
|
6
|
+
COPY, // copy by value
|
|
7
|
+
PUSH,
|
|
8
|
+
POP,
|
|
9
|
+
SWAP,
|
|
10
|
+
|
|
11
|
+
// flow
|
|
12
|
+
CALL,
|
|
13
|
+
EXTCALL,
|
|
14
|
+
JMP,
|
|
15
|
+
JMPIF,
|
|
16
|
+
JMPNOT,
|
|
17
|
+
RET,
|
|
18
|
+
THROW,
|
|
19
|
+
|
|
20
|
+
// data
|
|
21
|
+
LOAD,
|
|
22
|
+
CAST,
|
|
23
|
+
CAT,
|
|
24
|
+
RANGE,
|
|
25
|
+
LEFT,
|
|
26
|
+
RIGHT,
|
|
27
|
+
SIZE,
|
|
28
|
+
COUNT,
|
|
29
|
+
|
|
30
|
+
// logical
|
|
31
|
+
NOT,
|
|
32
|
+
AND,
|
|
33
|
+
OR,
|
|
34
|
+
XOR,
|
|
35
|
+
EQUAL,
|
|
36
|
+
LT,
|
|
37
|
+
GT,
|
|
38
|
+
LTE,
|
|
39
|
+
GTE,
|
|
40
|
+
|
|
41
|
+
// numeric
|
|
42
|
+
INC,
|
|
43
|
+
DEC,
|
|
44
|
+
SIGN,
|
|
45
|
+
NEGATE,
|
|
46
|
+
ABS,
|
|
47
|
+
ADD,
|
|
48
|
+
SUB,
|
|
49
|
+
MUL,
|
|
50
|
+
DIV,
|
|
51
|
+
MOD,
|
|
52
|
+
SHL,
|
|
53
|
+
SHR,
|
|
54
|
+
MIN,
|
|
55
|
+
MAX,
|
|
56
|
+
POW,
|
|
57
|
+
|
|
58
|
+
// context
|
|
59
|
+
CTX,
|
|
60
|
+
SWITCH,
|
|
61
|
+
|
|
62
|
+
// array
|
|
63
|
+
PUT,
|
|
64
|
+
GET, // lookups a key and copies a reference into register
|
|
65
|
+
CLEAR, // clears a register
|
|
66
|
+
UNPACK, // unpacks serialized struct based on ref struct
|
|
67
|
+
PACK, // unused for now
|
|
68
|
+
|
|
69
|
+
// debugger
|
|
70
|
+
DEBUG,
|
|
71
|
+
|
|
72
|
+
// add
|
|
73
|
+
SUBSTR,
|
|
74
|
+
}
|