@btc-vision/transaction 1.0.97 → 1.0.99
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/.babelrc +4 -7
- package/.prettierrc.json +11 -11
- package/CONTRIBUTING.md +71 -71
- package/LICENSE.md +62 -62
- package/README.md +76 -76
- package/browser/_version.d.ts +1 -1
- package/browser/bytecode/Compressor.d.ts +0 -1
- package/browser/crypto/crypto-browser.d.ts +1 -30
- package/browser/crypto/crypto.d.ts +0 -1
- package/browser/generators/AddressGenerator.d.ts +0 -1
- package/browser/generators/Generator.d.ts +0 -1
- package/browser/generators/builders/CalldataGenerator.d.ts +0 -1
- package/browser/generators/builders/DeploymentGenerator.d.ts +0 -1
- package/browser/generators/builders/MultiSignGenerator.d.ts +0 -1
- package/browser/index.js +1 -1
- package/browser/keypair/EcKeyPair.d.ts +0 -1
- package/browser/keypair/Wallet.d.ts +0 -1
- package/browser/signer/TweakedSigner.d.ts +0 -1
- package/browser/transaction/browser/BrowserSignerBase.d.ts +0 -1
- package/browser/transaction/browser/extensions/UnisatSigner.d.ts +0 -1
- package/browser/transaction/builders/DeploymentTransaction.d.ts +0 -1
- package/browser/transaction/builders/InteractionTransaction.d.ts +0 -1
- package/browser/transaction/builders/MultiSignTransaction.d.ts +0 -1
- package/browser/transaction/builders/SharedInteractionTransaction.d.ts +0 -1
- package/browser/transaction/builders/TransactionBuilder.d.ts +0 -1
- package/browser/transaction/builders/UnwrapSegwitTransaction.d.ts +0 -1
- package/browser/transaction/builders/UnwrapTransaction.d.ts +0 -1
- package/browser/transaction/builders/WrapTransaction.d.ts +0 -1
- package/browser/transaction/interfaces/ITransactionParameters.d.ts +0 -1
- package/browser/transaction/interfaces/Tap.d.ts +0 -1
- package/browser/transaction/shared/P2TR_MS.d.ts +0 -1
- package/browser/transaction/shared/TweakedTransaction.d.ts +0 -1
- package/browser/utils/BitcoinUtils.d.ts +0 -1
- package/browser/verification/TapscriptVerificator.d.ts +0 -1
- package/browser/wbtc/WrappedGenerationParameters.d.ts +0 -1
- package/build/bytecode/Compressor.d.ts +0 -1
- package/build/bytecode/Compressor.js +4 -4
- package/build/crypto/crypto.d.ts +0 -1
- package/build/generators/AddressGenerator.d.ts +0 -1
- package/build/generators/Generator.d.ts +0 -1
- package/build/generators/Generator.js +3 -5
- package/build/generators/builders/CalldataGenerator.d.ts +0 -1
- package/build/generators/builders/DeploymentGenerator.d.ts +0 -1
- package/build/generators/builders/{MultisignGenerator.d.ts → MultiSignGenerator.d.ts} +0 -1
- package/build/generators/builders/{MultisignGenerator.js → MultiSignGenerator.js} +1 -1
- package/build/keypair/EcKeyPair.d.ts +0 -1
- package/build/keypair/EcKeyPair.js +2 -2
- package/build/keypair/Wallet.d.ts +0 -1
- package/build/keypair/Wallet.js +0 -5
- package/build/metadata/ContractBaseMetadata.js +0 -1
- package/build/metadata/contracts/wBTC.js +3 -5
- package/build/metadata/tokens.js +27 -25
- package/build/signer/TweakedSigner.d.ts +0 -1
- package/build/transaction/browser/BrowserSignerBase.d.ts +0 -1
- package/build/transaction/browser/extensions/UnisatSigner.d.ts +0 -1
- package/build/transaction/browser/extensions/UnisatSigner.js +1 -6
- package/build/transaction/builders/DeploymentTransaction.d.ts +0 -1
- package/build/transaction/builders/DeploymentTransaction.js +25 -33
- package/build/transaction/builders/FundingTransaction.js +1 -3
- package/build/transaction/builders/InteractionTransaction.d.ts +0 -1
- package/build/transaction/builders/InteractionTransaction.js +2 -5
- package/build/transaction/builders/MultiSignTransaction.d.ts +0 -1
- package/build/transaction/builders/MultiSignTransaction.js +66 -73
- package/build/transaction/builders/SharedInteractionTransaction.d.ts +0 -1
- package/build/transaction/builders/SharedInteractionTransaction.js +20 -25
- package/build/transaction/builders/TransactionBuilder.d.ts +0 -1
- package/build/transaction/builders/TransactionBuilder.js +12 -21
- package/build/transaction/builders/UnwrapSegwitTransaction.d.ts +0 -1
- package/build/transaction/builders/UnwrapSegwitTransaction.js +4 -10
- package/build/transaction/builders/UnwrapTransaction.d.ts +0 -1
- package/build/transaction/builders/UnwrapTransaction.js +5 -11
- package/build/transaction/builders/WrapTransaction.d.ts +0 -1
- package/build/transaction/builders/WrapTransaction.js +5 -12
- package/build/transaction/interfaces/ITransactionParameters.d.ts +0 -1
- package/build/transaction/interfaces/Tap.d.ts +0 -1
- package/build/transaction/processor/PsbtTransaction.js +3 -4
- package/build/transaction/shared/P2TR_MS.d.ts +0 -1
- package/build/transaction/shared/TweakedTransaction.d.ts +0 -1
- package/build/transaction/shared/TweakedTransaction.js +11 -16
- package/build/utils/BitcoinUtils.d.ts +0 -1
- package/build/utxo/OPNetLimitedProvider.js +2 -3
- package/build/verification/TapscriptVerificator.d.ts +0 -1
- package/build/verification/TapscriptVerificator.js +1 -1
- package/build/wbtc/UnwrapGeneration.js +0 -2
- package/build/wbtc/WrappedGenerationParameters.d.ts +0 -1
- package/build/wbtc/WrappedGenerationParameters.js +0 -6
- package/cjs/package.json +3 -0
- package/docs/.nojekyll +1 -0
- package/docs/assets/highlight.css +43 -0
- package/docs/assets/icons.js +15 -0
- package/docs/assets/icons.svg +1 -0
- package/docs/assets/main.js +59 -0
- package/docs/assets/material-style.css +247 -0
- package/docs/assets/navigation.js +1 -0
- package/docs/assets/search.js +1 -0
- package/docs/assets/style.css +1412 -0
- package/docs/classes/AddressGenerator.html +177 -0
- package/docs/classes/AddressVerificator.html +177 -0
- package/docs/classes/BitcoinUtils.html +196 -0
- package/docs/classes/CalldataGenerator.html +213 -0
- package/docs/classes/Compressor.html +185 -0
- package/docs/classes/ContractBaseMetadata.html +182 -0
- package/docs/classes/CustomKeypair.html +189 -0
- package/docs/classes/DeploymentGenerator.html +201 -0
- package/docs/classes/DeploymentTransaction.html +465 -0
- package/docs/classes/EcKeyPair.html +280 -0
- package/docs/classes/FundingTransaction.html +425 -0
- package/docs/classes/Generator.html +199 -0
- package/docs/classes/InteractionTransaction.html +467 -0
- package/docs/classes/MultiSignGenerator.html +178 -0
- package/docs/classes/MultiSignTransaction.html +490 -0
- package/docs/classes/OPNetLimitedProvider.html +225 -0
- package/docs/classes/OPNetTokenAddressManager.html +182 -0
- package/docs/classes/P2TR_MS.html +186 -0
- package/docs/classes/PsbtTransaction.html +320 -0
- package/docs/classes/SharedInteractionTransaction.html +477 -0
- package/docs/classes/TapscriptVerificator.html +180 -0
- package/docs/classes/TransactionBuilder.html +423 -0
- package/docs/classes/TransactionFactory.html +230 -0
- package/docs/classes/TweakedSigner.html +181 -0
- package/docs/classes/TweakedTransaction.html +301 -0
- package/docs/classes/UnisatSigner.html +199 -0
- package/docs/classes/UnwrapGeneration.html +177 -0
- package/docs/classes/UnwrapTransaction.html +518 -0
- package/docs/classes/Wallet.html +204 -0
- package/docs/classes/WrapTransaction.html +509 -0
- package/docs/classes/WrappedGeneration.html +187 -0
- package/docs/classes/wBTC.html +190 -0
- package/docs/enums/ChainId.html +176 -0
- package/docs/enums/Consensus.html +204 -0
- package/docs/enums/Features.html +175 -0
- package/docs/enums/MessageType.html +176 -0
- package/docs/enums/OPNetNetwork.html +177 -0
- package/docs/enums/PSBTTypes.html +175 -0
- package/docs/enums/TransactionSequence.html +177 -0
- package/docs/enums/TransactionType.html +181 -0
- package/docs/enums/UnisatChainType.html +181 -0
- package/docs/enums/UnisatNetwork.html +177 -0
- package/docs/hierarchy.html +174 -0
- package/docs/index.html +215 -0
- package/docs/interfaces/Balance.html +177 -0
- package/docs/interfaces/BitcoinTransferResponse.html +178 -0
- package/docs/interfaces/BroadcastResponse.html +181 -0
- package/docs/interfaces/BroadcastTransactionOptions.html +176 -0
- package/docs/interfaces/BroadcastedTransaction.html +184 -0
- package/docs/interfaces/ConsensusConfig.html +182 -0
- package/docs/interfaces/ContractAddressVerificationParams.html +179 -0
- package/docs/interfaces/DeploymentResult.html +178 -0
- package/docs/interfaces/FetchUTXOParams.html +178 -0
- package/docs/interfaces/FetchUTXOParamsMultiAddress.html +178 -0
- package/docs/interfaces/FundingTransactionResponse.html +178 -0
- package/docs/interfaces/GenerationConstraints.html +182 -0
- package/docs/interfaces/IDeploymentParameters.html +186 -0
- package/docs/interfaces/IFundingTransactionParameters.html +186 -0
- package/docs/interfaces/IInteractionParameters.html +187 -0
- package/docs/interfaces/ITransactionParameters.html +184 -0
- package/docs/interfaces/ITweakedTransactionData.html +178 -0
- package/docs/interfaces/IUnwrapParameters.html +189 -0
- package/docs/interfaces/IWBTCUTXODocument.html +180 -0
- package/docs/interfaces/IWallet.html +181 -0
- package/docs/interfaces/IWrapParameters.html +190 -0
- package/docs/interfaces/MultiSignFromBase64Params.html +188 -0
- package/docs/interfaces/MultiSignParameters.html +188 -0
- package/docs/interfaces/OPNetTokenMetadata.html +179 -0
- package/docs/interfaces/PsbtInputExtended.html +194 -0
- package/docs/interfaces/PsbtOutputExtendedAddress.html +183 -0
- package/docs/interfaces/PsbtOutputExtendedScript.html +183 -0
- package/docs/interfaces/PsbtSignatureOptions.html +176 -0
- package/docs/interfaces/PsbtTransactionData.html +179 -0
- package/docs/interfaces/RawUTXOResponse.html +178 -0
- package/docs/interfaces/SharedInteractionParameters.html +187 -0
- package/docs/interfaces/TapLeafScript.html +177 -0
- package/docs/interfaces/ToSignInputAddress.html +178 -0
- package/docs/interfaces/ToSignInputPublicKey.html +178 -0
- package/docs/interfaces/TweakSettings.html +179 -0
- package/docs/interfaces/UTXO.html +178 -0
- package/docs/interfaces/Unisat.html +190 -0
- package/docs/interfaces/UnisatChainInfo.html +177 -0
- package/docs/interfaces/UnwrapResult.html +181 -0
- package/docs/interfaces/UnwrappedGenerationParameters.html +178 -0
- package/docs/interfaces/UpdateInput.html +175 -0
- package/docs/interfaces/VaultUTXOs.html +178 -0
- package/docs/interfaces/Web3Provider.html +180 -0
- package/docs/interfaces/WrapResult.html +179 -0
- package/docs/interfaces/WrappedGenerationParameters.html +184 -0
- package/docs/modules.html +289 -0
- package/docs/types/FromBase64Params.html +174 -0
- package/docs/types/IDeploymentParametersWithoutSigner.html +174 -0
- package/docs/types/IUnwrapParametersWithoutSigner.html +174 -0
- package/docs/types/IWrapParametersWithoutSigner.html +174 -0
- package/docs/types/InteractionParametersWithoutSigner.html +174 -0
- package/docs/types/PsbtOutputExtended.html +174 -0
- package/docs/types/ToSignInput.html +174 -0
- package/docs/variables/FACTORY_ADDRESS_FRACTAL.html +174 -0
- package/docs/variables/FACTORY_ADDRESS_REGTEST.html +174 -0
- package/docs/variables/FACTORY_ADDRESS_TESTNET.html +174 -0
- package/docs/variables/MOTO_ADDRESS_FRACTAL.html +174 -0
- package/docs/variables/MOTO_ADDRESS_REGTEST.html +174 -0
- package/docs/variables/MOTO_ADDRESS_TESTNET.html +174 -0
- package/docs/variables/OPNetConsensusConfig.html +174 -0
- package/docs/variables/OPNetMetadata.html +174 -0
- package/docs/variables/POOL_ADDRESS_FRACTAL.html +174 -0
- package/docs/variables/POOL_ADDRESS_REGTEST.html +174 -0
- package/docs/variables/POOL_ADDRESS_TESTNET.html +174 -0
- package/docs/variables/ROUTER_ADDRESS_FRACTAL.html +174 -0
- package/docs/variables/ROUTER_ADDRESS_REGTEST.html +174 -0
- package/docs/variables/ROUTER_ADDRESS_TESTNET.html +174 -0
- package/docs/variables/RoswellConsensus.html +174 -0
- package/docs/variables/WBTC_ADDRESS_FRACTAL.html +174 -0
- package/docs/variables/WBTC_ADDRESS_REGTEST.html +174 -0
- package/docs/variables/WBTC_ADDRESS_TESTNET.html +174 -0
- package/docs/variables/currentConsensus.html +174 -0
- package/docs/variables/currentConsensusConfig.html +174 -0
- package/docs/variables/version.html +174 -0
- package/gulpfile.js +49 -133
- package/package.json +112 -113
- package/src/bytecode/Compressor.ts +27 -27
- package/src/consensus/metadata/RoswellConsensus.ts +26 -26
- package/src/crypto/crypto.ts +1 -1
- package/src/generators/Generator.ts +75 -75
- package/src/generators/builders/MultiSignGenerator.ts +73 -73
- package/src/metadata/contracts/wBTC.ts +60 -60
- package/src/metadata/tokens.ts +135 -135
- package/src/network/ChainId.ts +6 -6
- package/src/opnet.ts +82 -82
- package/src/signer/TweakedSigner.ts +56 -56
- package/src/transaction/builders/DeploymentTransaction.ts +356 -356
- package/src/transaction/builders/MultiSignTransaction.ts +659 -659
- package/src/transaction/builders/UnwrapSegwitTransaction.ts +365 -365
- package/src/transaction/builders/UnwrapTransaction.ts +507 -507
- package/src/transaction/enums/TransactionType.ts +9 -9
- package/src/transaction/processor/PsbtTransaction.ts +173 -173
- package/src/transaction/shared/P2TR_MS.ts +42 -42
- package/src/transaction/shared/TweakedTransaction.ts +539 -539
- package/src/utils/BitcoinUtils.ts +96 -96
- package/tsconfig.base.json +27 -43
- package/tsconfig.json +15 -8
- package/tsconfig.webpack.json +22 -22
- package/EPOCH.md +0 -250
- package/VAULT_TARGET_CONSOLIDATION.md +0 -111
- package/browser/network/NetworkInformation.d.ts +0 -6
- package/browser/transaction/browser/BrowserSigner.d.ts +0 -9
- package/browser/transaction/builders/TapUnwarpTransaction.d.ts +0 -40
- package/browser/transaction/builders/UnwarpTransaction.d.ts +0 -34
- package/browser/utxo/UTXOManager.d.ts +0 -7
- package/build/Utils.d.ts +0 -0
- package/build/Utils.js +0 -1
- package/build/consensus/metadata/RoswsellConsensus.d.ts +0 -2
- package/build/consensus/metadata/RoswsellConsensus.js +0 -4
- package/build/contracts/ContractMetadataManager.d.ts +0 -0
- package/build/contracts/ContractMetadataManager.js +0 -1
- package/build/generators/OPNetAddressGenerator.d.ts +0 -0
- package/build/generators/OPNetAddressGenerator.js +0 -1
- package/build/generators/builders/DeploymentGeneratorV2.d.ts +0 -13
- package/build/generators/builders/DeploymentGeneratorV2.js +0 -57
- package/build/generators/builders/UnwrapGenerator.d.ts +0 -8
- package/build/generators/builders/UnwrapGenerator.js +0 -79
- package/build/keypair/interfaces/GeneratedWallet.d.ts +0 -5
- package/build/keypair/interfaces/GeneratedWallet.js +0 -1
- package/build/metadata/CommonContracts.d.ts +0 -6
- package/build/metadata/CommonContracts.js +0 -5
- package/build/metadata/ContractMetadataManager.d.ts +0 -1
- package/build/metadata/ContractMetadataManager.js +0 -9
- package/build/metadata/contracts/ContractBase.d.ts +0 -9
- package/build/metadata/contracts/ContractBase.js +0 -13
- package/build/metadata/contracts/ContractBaseMetadata.d.ts +0 -9
- package/build/metadata/contracts/ContractBaseMetadata.js +0 -13
- package/build/metadata/contracts/ContractMetadataManager.d.ts +0 -0
- package/build/metadata/contracts/ContractMetadataManager.js +0 -1
- package/build/network/NetworkConverter.d.ts +0 -0
- package/build/network/NetworkConverter.js +0 -14
- package/build/network/NetworkInformation.d.ts +0 -6
- package/build/network/NetworkInformation.js +0 -1
- package/build/scripts/Regtest.d.ts +0 -2
- package/build/scripts/Regtest.js +0 -15
- package/build/scripts/test.d.ts +0 -1
- package/build/scripts/test.js +0 -74
- package/build/signer/Regtest.d.ts +0 -2
- package/build/signer/Regtest.js +0 -15
- package/build/tests/Regtest.d.ts +0 -3
- package/build/tests/Regtest.js +0 -29
- package/build/tests/adaptPSBT.d.ts +0 -1
- package/build/tests/adaptPSBT.js +0 -44
- package/build/tests/btc/send.d.ts +0 -1
- package/build/tests/btc/send.js +0 -35
- package/build/tests/btc/transfer.d.ts +0 -1
- package/build/tests/btc/transfer.js +0 -35
- package/build/tests/createPairReg.d.ts +0 -1
- package/build/tests/createPairReg.js +0 -73
- package/build/tests/deploy/deployMoto.d.ts +0 -4
- package/build/tests/deploy/deployMoto.js +0 -89
- package/build/tests/deploy/deployPool.d.ts +0 -1
- package/build/tests/deploy/deployPool.js +0 -5
- package/build/tests/deploy/deployStep1.d.ts +0 -1
- package/build/tests/deploy/deployStep1.js +0 -5
- package/build/tests/deploy/deployStep2.d.ts +0 -1
- package/build/tests/deploy/deployStep2.js +0 -5
- package/build/tests/deploy/deployStep3.d.ts +0 -1
- package/build/tests/deploy/deployStep3.js +0 -5
- package/build/tests/deploy.d.ts +0 -1
- package/build/tests/deploy.js +0 -41
- package/build/tests/deployMotoRegStep1.d.ts +0 -1
- package/build/tests/deployMotoRegStep1.js +0 -85
- package/build/tests/deployReg.d.ts +0 -1
- package/build/tests/deployReg.js +0 -85
- package/build/tests/factory/createPairReg.d.ts +0 -1
- package/build/tests/factory/createPairReg.js +0 -13
- package/build/tests/gen.d.ts +0 -1
- package/build/tests/gen.js +0 -19
- package/build/tests/interaction.d.ts +0 -5
- package/build/tests/interaction.js +0 -62
- package/build/tests/massWrapReg.d.ts +0 -1
- package/build/tests/massWrapReg.js +0 -105
- package/build/tests/mineReg.d.ts +0 -1
- package/build/tests/mineReg.js +0 -19
- package/build/tests/moto/airdropToken.d.ts +0 -1
- package/build/tests/moto/airdropToken.js +0 -21
- package/build/tests/moto/airdropTokens.d.ts +0 -1
- package/build/tests/moto/airdropTokens.js +0 -60
- package/build/tests/moto/allowance.d.ts +0 -1
- package/build/tests/moto/allowance.js +0 -6
- package/build/tests/moto/approve.d.ts +0 -1
- package/build/tests/moto/approve.js +0 -10
- package/build/tests/moto/approveWBTC.d.ts +0 -1
- package/build/tests/moto/approveWBTC.js +0 -12
- package/build/tests/moto/balanceOf.d.ts +0 -1
- package/build/tests/moto/balanceOf.js +0 -12
- package/build/tests/moto/transfer.d.ts +0 -1
- package/build/tests/moto/transfer.js +0 -16
- package/build/tests/motoswap/airdropToken.d.ts +0 -11
- package/build/tests/motoswap/airdropToken.js +0 -36
- package/build/tests/motoswap/deployMoto.d.ts +0 -4
- package/build/tests/motoswap/deployMoto.js +0 -89
- package/build/tests/motoswap/deployMotoRegStep1.d.ts +0 -1
- package/build/tests/motoswap/deployMotoRegStep1.js +0 -91
- package/build/tests/motoswap/deployMotoRegStep2.d.ts +0 -1
- package/build/tests/motoswap/deployMotoRegStep2.js +0 -91
- package/build/tests/motoswap/deployPool.d.ts +0 -1
- package/build/tests/motoswap/deployPool.js +0 -5
- package/build/tests/motoswap/deployStep1.d.ts +0 -1
- package/build/tests/motoswap/deployStep1.js +0 -5
- package/build/tests/motoswap/deployStep2.d.ts +0 -1
- package/build/tests/motoswap/deployStep2.js +0 -5
- package/build/tests/motoswap/deployStep3.d.ts +0 -1
- package/build/tests/motoswap/deployStep3.js +0 -5
- package/build/tests/motoswap/interaction.d.ts +0 -3
- package/build/tests/motoswap/interaction.js +0 -63
- package/build/tests/motoswap/routerAddLiquidity.d.ts +0 -11
- package/build/tests/motoswap/routerAddLiquidity.js +0 -35
- package/build/tests/motoswap-router/addLiquidity.d.ts +0 -11
- package/build/tests/motoswap-router/addLiquidity.js +0 -36
- package/build/tests/motoswap-router/deployMoto.d.ts +0 -4
- package/build/tests/motoswap-router/deployMoto.js +0 -89
- package/build/tests/motoswap-router/deployPool.d.ts +0 -1
- package/build/tests/motoswap-router/deployPool.js +0 -5
- package/build/tests/motoswap-router/deployStep1.d.ts +0 -1
- package/build/tests/motoswap-router/deployStep1.js +0 -5
- package/build/tests/motoswap-router/deployStep2.d.ts +0 -1
- package/build/tests/motoswap-router/deployStep2.js +0 -5
- package/build/tests/motoswap-router/deployStep3.d.ts +0 -1
- package/build/tests/motoswap-router/deployStep3.js +0 -5
- package/build/tests/motoswap-router/getAmountsOut.d.ts +0 -5
- package/build/tests/motoswap-router/getAmountsOut.js +0 -34
- package/build/tests/motoswap-router/routerAddLiquidity.d.ts +0 -11
- package/build/tests/motoswap-router/routerAddLiquidity.js +0 -35
- package/build/tests/motoswap-router/swap.d.ts +0 -8
- package/build/tests/motoswap-router/swap.js +0 -24
- package/build/tests/multisign.d.ts +0 -1
- package/build/tests/multisign.js +0 -47
- package/build/tests/multisign2.d.ts +0 -1
- package/build/tests/multisign2.js +0 -27
- package/build/tests/pool/DecodePoolAddress.d.ts +0 -6
- package/build/tests/pool/DecodePoolAddress.js +0 -12
- package/build/tests/pool/decodeReserves.d.ts +0 -5
- package/build/tests/pool/decodeReserves.js +0 -13
- package/build/tests/pool/reserves.d.ts +0 -1
- package/build/tests/pool/reserves.js +0 -18
- package/build/tests/shared/Utils.d.ts +0 -2
- package/build/tests/shared/Utils.js +0 -14
- package/build/tests/shared/interaction.d.ts +0 -7
- package/build/tests/shared/interaction.js +0 -85
- package/build/tests/shared/tokens.d.ts +0 -6
- package/build/tests/shared/tokens.js +0 -5
- package/build/tests/stakeReg.d.ts +0 -1
- package/build/tests/stakeReg.js +0 -73
- package/build/tests/stakedReg.d.ts +0 -1
- package/build/tests/stakedReg.js +0 -28
- package/build/tests/test.d.ts +0 -1
- package/build/tests/test.js +0 -51
- package/build/tests/test2.d.ts +0 -1
- package/build/tests/test2.js +0 -73
- package/build/tests/testReg.d.ts +0 -1
- package/build/tests/testReg.js +0 -91
- package/build/tests/tokens.d.ts +0 -6
- package/build/tests/tokens.js +0 -5
- package/build/tests/totalRewardReg.d.ts +0 -1
- package/build/tests/totalRewardReg.js +0 -28
- package/build/tests/transfer.d.ts +0 -1
- package/build/tests/transfer.js +0 -74
- package/build/tests/transferReg.d.ts +0 -1
- package/build/tests/transferReg.js +0 -74
- package/build/tests/unStakeReg.d.ts +0 -1
- package/build/tests/unStakeReg.js +0 -72
- package/build/tests/unwrapReg.d.ts +0 -1
- package/build/tests/unwrapReg.js +0 -61
- package/build/tests/unwrapReg2.d.ts +0 -1
- package/build/tests/unwrapReg2.js +0 -56
- package/build/tests/unwrapRegSegwit.d.ts +0 -1
- package/build/tests/unwrapRegSegwit.js +0 -83
- package/build/tests/wbtc/approve.d.ts +0 -1
- package/build/tests/wbtc/approve.js +0 -6
- package/build/tests/wbtc/approveWBTC.d.ts +0 -1
- package/build/tests/wbtc/approveWBTC.js +0 -12
- package/build/tests/wbtc/massWrapReg.d.ts +0 -1
- package/build/tests/wbtc/massWrapReg.js +0 -105
- package/build/tests/wbtc/transfer.d.ts +0 -1
- package/build/tests/wbtc/transfer.js +0 -16
- package/build/tests/wbtc/transferReg.d.ts +0 -1
- package/build/tests/wbtc/transferReg.js +0 -16
- package/build/tests/wbtc/unStakeReg.d.ts +0 -1
- package/build/tests/wbtc/unStakeReg.js +0 -72
- package/build/tests/wbtc/unwrapReg.d.ts +0 -1
- package/build/tests/wbtc/unwrapReg.js +0 -60
- package/build/tests/wbtc/unwrapRegSegwit.d.ts +0 -1
- package/build/tests/wbtc/unwrapRegSegwit.js +0 -83
- package/build/tests/wbtc/withdrawalRequestReg.d.ts +0 -1
- package/build/tests/wbtc/withdrawalRequestReg.js +0 -71
- package/build/tests/wbtc/wrapReg.d.ts +0 -1
- package/build/tests/wbtc/wrapReg.js +0 -65
- package/build/tests/wbtc/wrapTest.d.ts +0 -1
- package/build/tests/wbtc/wrapTest.js +0 -66
- package/build/tests/withdrawalRequestReg.d.ts +0 -1
- package/build/tests/withdrawalRequestReg.js +0 -71
- package/build/tests/wrap.d.ts +0 -1
- package/build/tests/wrap.js +0 -65
- package/build/tests/wrapReg.d.ts +0 -1
- package/build/tests/wrapReg.js +0 -68
- package/build/tests/wrapTest.d.ts +0 -1
- package/build/tests/wrapTest.js +0 -66
- package/build/tests/wrapTestg.d.ts +0 -1
- package/build/tests/wrapTestg.js +0 -66
- package/build/tests/writers/allowance.d.ts +0 -3
- package/build/tests/writers/allowance.js +0 -10
- package/build/tests/writers/approve.d.ts +0 -4
- package/build/tests/writers/approve.js +0 -11
- package/build/transaction/TransactionBuilder.d.ts +0 -60
- package/build/transaction/TransactionBuilder.js +0 -244
- package/build/transaction/browser/BrowserSigner.d.ts +0 -11
- package/build/transaction/browser/BrowserSigner.js +0 -10
- package/build/transaction/browser/extensions/Unisat.d.ts +0 -54
- package/build/transaction/browser/extensions/Unisat.js +0 -11
- package/build/transaction/builders/DeploymentTransactionV2.d.ts +0 -36
- package/build/transaction/builders/DeploymentTransactionV2.js +0 -192
- package/build/transaction/builders/GenericTransaction.d.ts +0 -11
- package/build/transaction/builders/GenericTransaction.js +0 -23
- package/build/transaction/builders/TapUnwarpTransaction.d.ts +0 -37
- package/build/transaction/builders/TapUnwarpTransaction.js +0 -201
- package/build/transaction/builders/UnwarpSegwitTransaction.d.ts +0 -34
- package/build/transaction/builders/UnwarpSegwitTransaction.js +0 -184
- package/build/transaction/builders/UnwarpTransaction.d.ts +0 -35
- package/build/transaction/builders/UnwarpTransaction.js +0 -199
- package/build/transaction/interfaces/ITransactions.d.ts +0 -32
- package/build/transaction/interfaces/ITransactions.js +0 -1
- package/build/utxo/IUTXO.d.ts +0 -0
- package/build/utxo/IUTXO.js +0 -1
- package/build/utxo/OPNetUtils.d.ts +0 -7
- package/build/utxo/OPNetUtils.js +0 -47
- package/build/utxo/UTXOManager.d.ts +0 -7
- package/build/utxo/UTXOManager.js +0 -47
- package/build/wbtc/BroadcastResponse.d.ts +0 -0
- package/build/wbtc/BroadcastResponse.js +0 -1
- package/examples/Deploy.md +0 -188
- package/examples/Unwrap.md +0 -165
- package/examples/Wrap.md +0 -194
- package/tsconfig.cjs.json +0 -13
- /package/build/generators/{features.d.ts → Features.d.ts} +0 -0
- /package/build/generators/{features.js → Features.js} +0 -0
package/build/tests/Regtest.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { BitcoinNetwork } from '@btc-vision/bsi-common';
|
|
2
|
-
export const Regtest = {
|
|
3
|
-
wallet: {
|
|
4
|
-
address: 'bcrt1qfqsr3m7vjxheghcvw4ks0fryqxfq8qzjf8fxes',
|
|
5
|
-
publicKey: '020373626d317ae8788ce3280b491068610d840c23ecb64c14075bbb9f670af52c',
|
|
6
|
-
privateKey: 'cRCiYAgCBrU7hSaJBRuPqKVYXQqM5CKXbMfWHb25X4FDAWJ8Ai92',
|
|
7
|
-
},
|
|
8
|
-
config: {
|
|
9
|
-
BITCOIND_NETWORK: BitcoinNetwork.Regtest,
|
|
10
|
-
BITCOIND_HOST: '51.81.67.34',
|
|
11
|
-
BITCOIND_PORT: 8001,
|
|
12
|
-
BITCOIND_USERNAME: 'HJSiowseujhs',
|
|
13
|
-
BITCOIND_PASSWORD: 'YHEFHSDJ23JOIhjjef2ied9u290efu2930u90U',
|
|
14
|
-
},
|
|
15
|
-
};
|
|
16
|
-
export const Testnet = {
|
|
17
|
-
wallet: {
|
|
18
|
-
address: 'tb1qcfszz8dcvsz9mcp70ezw5zy2r3ydr0cfz60d3t',
|
|
19
|
-
privateKey: 'cSZU2QB9aUYvaL6ukU9d3DKq7QaxTRms1BCQnx5vqXbxBk4bdBc4',
|
|
20
|
-
publicKey: '026764d622f083d78f47c2f2a007ab08e96edf398de74acc0251a7bba202ffb92b',
|
|
21
|
-
},
|
|
22
|
-
config: {
|
|
23
|
-
BITCOIND_NETWORK: BitcoinNetwork.TestNet,
|
|
24
|
-
BITCOIND_HOST: '51.81.67.34',
|
|
25
|
-
BITCOIND_PORT: 9237,
|
|
26
|
-
BITCOIND_USERNAME: 'HJSiowseujhs',
|
|
27
|
-
BITCOIND_PASSWORD: 'YHEFHSDJ23JOIhjjef2ied9u290efu2930u90U',
|
|
28
|
-
},
|
|
29
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/build/tests/adaptPSBT.js
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { networks, Psbt } from 'bitcoinjs-lib';
|
|
2
|
-
import { PsbtTransaction, } from '../transaction/processor/PsbtTransaction.js';
|
|
3
|
-
import { Regtest } from './Regtest.js';
|
|
4
|
-
import { Wallet } from '../keypair/Wallet.js';
|
|
5
|
-
import { EcKeyPair } from '../keypair/EcKeyPair.js';
|
|
6
|
-
const utxos = [
|
|
7
|
-
{
|
|
8
|
-
vault: 'bcrt1ql3dff0w774f627ggw4ejt3pv04u7t73e2sjsqv5ff7qygrhlylzsdh0xna',
|
|
9
|
-
publicKeys: [
|
|
10
|
-
'AgPmjuI2/MNJM9STswWm8MdWEllHHRPs0Q3+DjdjOny+',
|
|
11
|
-
'AtOOpbDsniLbs2QGuqPFu7AnCOK9lNSSl+pvPr0m0Yx3',
|
|
12
|
-
'A4JEwTBwTx5QaLCFORTow27UQvkLQWZguhz6N+d8FczI',
|
|
13
|
-
'A7ZKMoDQJlcQNbzIikCE5MPiFC81RvHHTeTMRx2/bFiO',
|
|
14
|
-
],
|
|
15
|
-
minimum: 2,
|
|
16
|
-
utxos: [
|
|
17
|
-
{
|
|
18
|
-
hash: '82a0d11689c8a5e7155c270a031a7a192f5fcba3a4260fc3510ebd4c73bfa6aa',
|
|
19
|
-
blockId: 619n,
|
|
20
|
-
output: 'ACD8WpS93vVTpXkIdXMlxCx9eeX6OVQlADKJT4BEDv8nxQ==',
|
|
21
|
-
outputIndex: 1,
|
|
22
|
-
value: 100000000n,
|
|
23
|
-
vault: 'bcrt1ql3dff0w774f627ggw4ejt3pv04u7t73e2sjsqv5ff7qygrhlylzsdh0xna',
|
|
24
|
-
},
|
|
25
|
-
],
|
|
26
|
-
},
|
|
27
|
-
];
|
|
28
|
-
const base64 = '70736274ff010052020000000143a120458c2074a2cb6d08e8b741c18dd50615999b0448b6678748aa9a12906f0000000000fdffffff011027000000000000160014dc0d46077a225cbc9a844750f9bacb9ee5eed4f900000000000100f7020000000001014bc29a0c5878d0e34c7e0e76c97dedfa00daa56fe8210674ed31fb9e96ec16790100000000fdffffff025af601000000000022512058817b9610dc27498639d0c4ae8ca0113ba14da430ff6b78ae75292293212681275e83ec00000000225120cbe1fb2adf81b16ba4afbb38743f4738ccb28170d2efc35a3ca9366ce64ea45102483045022100a3552d46258d93b81dd9dcfaa57a6960cb9ae8d5009ff25940aca13c219eed6402202248161ab18a4741f5299fb8eab9274e2574d510f9cafac8277006a614bf308e0121020373626d317ae8788ce3280b491068610d840c23ecb64c14075bbb9f670af52c0000000001012b5af601000000000022512058817b9610dc27498639d0c4ae8ca0113ba14da430ff6b78ae752922932126810108fd9b010614dc0d46077a225cbc9a844750f9bacb9ee5eed4f9200373626d317ae8788ce3280b491068610d840c23ecb64c14075bbb9f670af52c4104964ea75ea30a5512ade2b830259a2eca4b21e1fd68699d3356b5d81ded56a5c5683236718cff2ed3e6201914039f1fb9f84ea06baa446e47854756421507258341da89e8c09e66a1fd759abe13e01bb0ecdd4fa85c2fb64fb62ea66b2ccaafbca7ceb99598f5f51485e71c55b45275c7643d5d1f757888647f0fb41a7ef9d56eab839d200373626d317ae8788ce3280b491068610d840c23ecb64c14075bbb9f670af52cad20e64ee717cbae471c72c6ed593ad376944885bcc38da475d24248fb49e2310f0dada9146be111472cff4df4c2052061c6c5929fbded8ebd88a91457d3bd43a330a6b08397e767de16fd355a882ef98874519c63036273694f1e1f8b080000000000020a6b9dbfe628033ec0be5001002ece0f292400000067516841c10373626d317ae8788ce3280b491068610d840c23ecb64c14075bbb9f670af52ce7e4d593fcb72926eedbe0d1e311f41acd6f6ef161dcba081a75168ec4dcd3790000';
|
|
29
|
-
const network = networks.regtest;
|
|
30
|
-
const wallet = new Wallet(Regtest.wallet, network);
|
|
31
|
-
const realSigner = Wallet.fromWif('cRHbWamSVDkJWwjq5vMtriuFsWcptWmA7z8Nkqotk9vJ891KMBXc', network);
|
|
32
|
-
const originalTx = Psbt.fromHex(base64, { network: network });
|
|
33
|
-
const rlSigner2 = EcKeyPair.fromPrivateKey(Buffer.from('c3878546c453bca783fd91965218242eecc32d5443764d4a7f233ff018f002e0', 'hex'), network);
|
|
34
|
-
const psbtTransactionData2 = {
|
|
35
|
-
signer: rlSigner2,
|
|
36
|
-
network: network,
|
|
37
|
-
};
|
|
38
|
-
const psbtTransaction2 = PsbtTransaction.fromBase64('AHBzYnT/AQCJAgAAAAGqpr9zTL0OUcMPJqSjy18vGXoaAwonXBXnpciJFtGgggEAAAAA/f///wLgP+4FAAAAACIAIPxalL3e9VOleQh1cyXELH155fo5VCUAMolPgEQO/yfFSgEAAAAAAAAiUSDL4fsq34Gxa6Svuzh0P0c4zLKBcNLvw1o8qTZs5k6kUQAAAAAAAQErAOH1BQAAAAAiACD8WpS93vVTpXkIdXMlxCx9eeX6OVQlADKJT4BEDv8nxSICAgPmjuI2/MNJM9STswWm8MdWEllHHRPs0Q3+DjdjOny+RzBEAiAZRgcFaRr39GY9sko5lKWov4g4i+77dNzCMKHR2WUbHQIgaPfYFjQZt0sCItEkosLeCZD94VPH4T2q/pZXP//x/luBAQMEgQAAAAEFi1IhAgPmjuI2/MNJM9STswWm8MdWEllHHRPs0Q3+DjdjOny+IQLTjqWw7J4i27NkBrqjxbuwJwjivZTUkpfqbz69JtGMdyEDgkTBMHBPHlBosIU5FOjDbtRC+QtBZmC6HPo353wVzMghA7ZKMoDQJlcQNbzIikCE5MPiFC81RvHHTeTMRx2/bFiOVK4AAAA=', psbtTransactionData2);
|
|
39
|
-
psbtTransaction2.ignoreSignatureError();
|
|
40
|
-
const s = await psbtTransaction2.attemptSignAllInputs();
|
|
41
|
-
const f = psbtTransaction2.attemptFinalizeInputs(1);
|
|
42
|
-
console.log(psbtTransaction2, s, f);
|
|
43
|
-
const newPsbt = psbtTransaction2.getTransaction().toHex();
|
|
44
|
-
console.log(newPsbt);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/build/tests/btc/send.js
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { TransactionFactory } from '../../transaction/TransactionFactory.js';
|
|
2
|
-
import { OPNetLimitedProvider } from '../../utxo/OPNetLimitedProvider.js';
|
|
3
|
-
import { Wallet } from '../../keypair/Wallet.js';
|
|
4
|
-
import { Regtest } from '../Regtest.js';
|
|
5
|
-
import { networks } from 'bitcoinjs-lib';
|
|
6
|
-
const network = networks.regtest;
|
|
7
|
-
const utxoManager = new OPNetLimitedProvider('http://localhost:9001');
|
|
8
|
-
const factory = new TransactionFactory();
|
|
9
|
-
const wallet = new Wallet(Regtest.wallet, network);
|
|
10
|
-
const amount = 100000000n;
|
|
11
|
-
const utxoSetting = {
|
|
12
|
-
addresses: [wallet.p2wpkh, wallet.p2tr],
|
|
13
|
-
minAmount: 10000n,
|
|
14
|
-
requestedAmount: amount,
|
|
15
|
-
};
|
|
16
|
-
const utxos = await utxoManager.fetchUTXOMultiAddr(utxoSetting);
|
|
17
|
-
if (!utxos) {
|
|
18
|
-
throw new Error('No UTXOs found');
|
|
19
|
-
}
|
|
20
|
-
const fundingTransactionParameters = {
|
|
21
|
-
amount: amount,
|
|
22
|
-
feeRate: 500,
|
|
23
|
-
from: wallet.p2wpkh,
|
|
24
|
-
utxos: utxos,
|
|
25
|
-
signer: wallet.keypair,
|
|
26
|
-
network: network,
|
|
27
|
-
priorityFee: 0n,
|
|
28
|
-
to: 'bcrt1pst60scy2zdyxkfzqs593aevx2jypah32zzjjx2kmz57yzf228wjq5wtyc5',
|
|
29
|
-
};
|
|
30
|
-
const fundingTx = await factory.createBTCTransfer(fundingTransactionParameters);
|
|
31
|
-
const broadcastResponse = await utxoManager.broadcastTransaction(fundingTx.tx, false);
|
|
32
|
-
if (!broadcastResponse) {
|
|
33
|
-
throw new Error('Could not broadcast transaction');
|
|
34
|
-
}
|
|
35
|
-
console.log(broadcastResponse);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { TransactionFactory } from '../../transaction/TransactionFactory.js';
|
|
2
|
-
import { OPNetLimitedProvider } from '../../utxo/OPNetLimitedProvider.js';
|
|
3
|
-
import { Wallet } from '../../keypair/Wallet.js';
|
|
4
|
-
import { Regtest } from '../Regtest.js';
|
|
5
|
-
import { networks } from 'bitcoinjs-lib';
|
|
6
|
-
const network = networks.regtest;
|
|
7
|
-
const utxoManager = new OPNetLimitedProvider('http://localhost:9001');
|
|
8
|
-
const factory = new TransactionFactory();
|
|
9
|
-
const wallet = new Wallet(Regtest.wallet, network);
|
|
10
|
-
const amount = 100000000n;
|
|
11
|
-
const utxoSetting = {
|
|
12
|
-
addresses: [wallet.p2wpkh, wallet.p2tr],
|
|
13
|
-
minAmount: 10000n,
|
|
14
|
-
requestedAmount: amount,
|
|
15
|
-
};
|
|
16
|
-
const utxos = await utxoManager.fetchUTXOMultiAddr(utxoSetting);
|
|
17
|
-
if (!utxos) {
|
|
18
|
-
throw new Error('No UTXOs found');
|
|
19
|
-
}
|
|
20
|
-
const fundingTransactionParameters = {
|
|
21
|
-
amount: amount,
|
|
22
|
-
feeRate: 500,
|
|
23
|
-
from: wallet.p2wpkh,
|
|
24
|
-
utxos: utxos,
|
|
25
|
-
signer: wallet.keypair,
|
|
26
|
-
network: network,
|
|
27
|
-
priorityFee: 0n,
|
|
28
|
-
to: 'bcrt1ppqk36azyunxdpadza7gtf568elqxnhu3lwufg98daek3kz07390swyvzd2',
|
|
29
|
-
};
|
|
30
|
-
const fundingTx = await factory.createBTCTransfer(fundingTransactionParameters);
|
|
31
|
-
const broadcastResponse = await utxoManager.broadcastTransaction(fundingTx.tx, false);
|
|
32
|
-
if (!broadcastResponse) {
|
|
33
|
-
throw new Error('Could not broadcast transaction');
|
|
34
|
-
}
|
|
35
|
-
console.log(broadcastResponse);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { wBTC } from '../metadata/contracts/wBTC.js';
|
|
2
|
-
import { Wallet } from '../keypair/Wallet.js';
|
|
3
|
-
import { Regtest } from './Regtest.js';
|
|
4
|
-
import { OPNetLimitedProvider } from '../utxo/OPNetLimitedProvider.js';
|
|
5
|
-
import { networks } from 'bitcoinjs-lib';
|
|
6
|
-
import { TransactionFactory } from '../transaction/TransactionFactory.js';
|
|
7
|
-
import { BitcoinRPC } from '@btc-vision/bsi-bitcoin-rpc';
|
|
8
|
-
import { ABICoder, BinaryWriter } from '@btc-vision/bsi-binary';
|
|
9
|
-
const network = networks.regtest;
|
|
10
|
-
const rpc = new BitcoinRPC();
|
|
11
|
-
const wBtc = new wBTC(network);
|
|
12
|
-
const wallet = new Wallet(Regtest.wallet, network);
|
|
13
|
-
const utxoManager = new OPNetLimitedProvider('http://localhost:9001');
|
|
14
|
-
const factory = new TransactionFactory();
|
|
15
|
-
const abiCoder = new ABICoder();
|
|
16
|
-
const stakeSelector = Number(`0x` + abiCoder.encodeSelector('stake'));
|
|
17
|
-
function generateCalldata(amount) {
|
|
18
|
-
const addCalldata = new BinaryWriter();
|
|
19
|
-
addCalldata.writeSelector(stakeSelector);
|
|
20
|
-
addCalldata.writeU256(amount);
|
|
21
|
-
return Buffer.from(addCalldata.getBuffer());
|
|
22
|
-
}
|
|
23
|
-
const shouldMineBlock = true;
|
|
24
|
-
async function mineBlock() {
|
|
25
|
-
const ok = await rpc.generateToAddress(1, wallet.p2wpkh, 'default');
|
|
26
|
-
if (!ok) {
|
|
27
|
-
throw new Error('Could not mine block');
|
|
28
|
-
}
|
|
29
|
-
console.log(`Mined block`, ok);
|
|
30
|
-
return !!ok.length;
|
|
31
|
-
}
|
|
32
|
-
await rpc.init(Regtest.config);
|
|
33
|
-
const requestedAmount = 1n * 100000000n;
|
|
34
|
-
const utxoSetting = {
|
|
35
|
-
addresses: [wallet.p2wpkh, wallet.p2tr],
|
|
36
|
-
minAmount: 10000n,
|
|
37
|
-
requestedAmount: requestedAmount,
|
|
38
|
-
};
|
|
39
|
-
const utxos = await utxoManager.fetchUTXOMultiAddr(utxoSetting);
|
|
40
|
-
console.log(`UTXOs:`, utxos);
|
|
41
|
-
if (!utxos) {
|
|
42
|
-
throw new Error('No UTXOs found');
|
|
43
|
-
}
|
|
44
|
-
const calldata = generateCalldata(520000n);
|
|
45
|
-
const interactionParameters = {
|
|
46
|
-
from: wallet.p2wpkh,
|
|
47
|
-
to: wBtc.getAddress(),
|
|
48
|
-
utxos: utxos,
|
|
49
|
-
signer: wallet.keypair,
|
|
50
|
-
network: network,
|
|
51
|
-
feeRate: 1000,
|
|
52
|
-
priorityFee: 100000n,
|
|
53
|
-
calldata: calldata,
|
|
54
|
-
};
|
|
55
|
-
const finalTx = factory.signInteraction(interactionParameters);
|
|
56
|
-
const firstTxBroadcast = await rpc.sendRawTransaction({
|
|
57
|
-
hexstring: finalTx[0],
|
|
58
|
-
});
|
|
59
|
-
console.log(`First transaction broadcasted: ${firstTxBroadcast}`);
|
|
60
|
-
if (!firstTxBroadcast) {
|
|
61
|
-
throw new Error('Could not broadcast first transaction');
|
|
62
|
-
}
|
|
63
|
-
const secondTxBroadcast = await rpc.sendRawTransaction({
|
|
64
|
-
hexstring: finalTx[1],
|
|
65
|
-
});
|
|
66
|
-
console.log(`Second transaction broadcasted: ${secondTxBroadcast}`);
|
|
67
|
-
if (!secondTxBroadcast) {
|
|
68
|
-
throw new Error('Could not broadcast second transaction');
|
|
69
|
-
}
|
|
70
|
-
if (shouldMineBlock) {
|
|
71
|
-
await mineBlock();
|
|
72
|
-
}
|
|
73
|
-
rpc.destroy();
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import { Wallet } from '../../keypair/Wallet.js';
|
|
2
|
-
import { Regtest } from '../Regtest.js';
|
|
3
|
-
import { OPNetLimitedProvider } from '../../utxo/OPNetLimitedProvider.js';
|
|
4
|
-
import { networks } from 'bitcoinjs-lib';
|
|
5
|
-
import { TransactionFactory } from '../../transaction/TransactionFactory.js';
|
|
6
|
-
import { BitcoinRPC } from '@btc-vision/bsi-bitcoin-rpc';
|
|
7
|
-
import * as fs from 'fs';
|
|
8
|
-
import { shuffleArray } from '../shared/Utils.js';
|
|
9
|
-
const network = networks.regtest;
|
|
10
|
-
const rpc = new BitcoinRPC();
|
|
11
|
-
const wallet = new Wallet(Regtest.wallet, network);
|
|
12
|
-
const utxoManager = new OPNetLimitedProvider('http://localhost:9001');
|
|
13
|
-
const factory = new TransactionFactory();
|
|
14
|
-
const shouldMineBlock = false;
|
|
15
|
-
async function mineBlock() {
|
|
16
|
-
const ok = await rpc.generateToAddress(1, wallet.p2wpkh, 'default');
|
|
17
|
-
if (!ok) {
|
|
18
|
-
throw new Error('Could not mine block');
|
|
19
|
-
}
|
|
20
|
-
console.log(`Mined block`, ok);
|
|
21
|
-
return !!ok.length;
|
|
22
|
-
}
|
|
23
|
-
await rpc.init(Regtest.config);
|
|
24
|
-
const requestedAmount = 100000000000n;
|
|
25
|
-
const utxoSetting = {
|
|
26
|
-
addresses: [wallet.p2wpkh, wallet.p2tr],
|
|
27
|
-
minAmount: 10000n,
|
|
28
|
-
requestedAmount: requestedAmount,
|
|
29
|
-
};
|
|
30
|
-
console.log('Fetching UTXOs');
|
|
31
|
-
const utxos = await utxoManager.fetchUTXOMultiAddr(utxoSetting);
|
|
32
|
-
if (!utxos) {
|
|
33
|
-
throw new Error('No UTXOs found');
|
|
34
|
-
}
|
|
35
|
-
console.log('Shuffling UTXOs', utxos.length);
|
|
36
|
-
shuffleArray(utxos);
|
|
37
|
-
export async function deployMoto(contracts) {
|
|
38
|
-
let deployed = [];
|
|
39
|
-
for (let contract of contracts) {
|
|
40
|
-
const bytecode = fs.readFileSync(contract);
|
|
41
|
-
for (let utxo of utxos) {
|
|
42
|
-
const deploymentParameters = {
|
|
43
|
-
from: wallet.p2wpkh,
|
|
44
|
-
utxos: [utxo],
|
|
45
|
-
signer: wallet.keypair,
|
|
46
|
-
network: network,
|
|
47
|
-
feeRate: 500,
|
|
48
|
-
priorityFee: 50000n,
|
|
49
|
-
bytecode: bytecode,
|
|
50
|
-
};
|
|
51
|
-
try {
|
|
52
|
-
const finalTx = await factory.signDeployment(deploymentParameters);
|
|
53
|
-
console.log(`Final transaction:`, finalTx);
|
|
54
|
-
let txid;
|
|
55
|
-
try {
|
|
56
|
-
txid = await utxoManager.broadcastTransaction(finalTx.transaction[0], false);
|
|
57
|
-
console.log(`Transaction ID:`, txid);
|
|
58
|
-
}
|
|
59
|
-
catch (e) {
|
|
60
|
-
continue;
|
|
61
|
-
}
|
|
62
|
-
if (!txid) {
|
|
63
|
-
continue;
|
|
64
|
-
}
|
|
65
|
-
try {
|
|
66
|
-
txid = await utxoManager.broadcastTransaction(finalTx.transaction[1], false);
|
|
67
|
-
console.log(`Transaction ID:`, txid);
|
|
68
|
-
}
|
|
69
|
-
catch (e) {
|
|
70
|
-
continue;
|
|
71
|
-
}
|
|
72
|
-
if (!txid) {
|
|
73
|
-
continue;
|
|
74
|
-
}
|
|
75
|
-
deployed.push({ contract: finalTx.contractAddress, file: contract });
|
|
76
|
-
console.log(`Contract deployed at ${finalTx.contractAddress}`);
|
|
77
|
-
}
|
|
78
|
-
catch (e) {
|
|
79
|
-
continue;
|
|
80
|
-
}
|
|
81
|
-
break;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
if (shouldMineBlock) {
|
|
85
|
-
await mineBlock();
|
|
86
|
-
}
|
|
87
|
-
rpc.destroy();
|
|
88
|
-
return deployed;
|
|
89
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { deployMoto } from './deployMoto.js';
|
|
2
|
-
console.log(`Step 1: Deploying MotoSwap contracts`);
|
|
3
|
-
const contractsToDeploy = ['./bytecode/wbtc.wasm', './bytecode/moto.wasm', './bytecode/pool.wasm'];
|
|
4
|
-
const contracts = await deployMoto(contractsToDeploy);
|
|
5
|
-
console.log(`Contracts deployed:`, contracts);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/build/tests/deploy.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/build/tests/deploy.js
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { Wallet } from '../keypair/Wallet.js';
|
|
2
|
-
import { Testnet } from './Regtest.js';
|
|
3
|
-
import { OPNetLimitedProvider } from '../utxo/OPNetLimitedProvider.js';
|
|
4
|
-
import { networks } from 'bitcoinjs-lib';
|
|
5
|
-
import { TransactionFactory } from '../transaction/TransactionFactory.js';
|
|
6
|
-
import * as fs from 'node:fs';
|
|
7
|
-
const network = networks.testnet;
|
|
8
|
-
const wallet = new Wallet(Testnet.wallet, network);
|
|
9
|
-
const utxoManager = new OPNetLimitedProvider('https://testnet.opnet.org');
|
|
10
|
-
const factory = new TransactionFactory();
|
|
11
|
-
const utxoSetting = {
|
|
12
|
-
addresses: [wallet.p2tr, wallet.p2wpkh],
|
|
13
|
-
minAmount: 10000n,
|
|
14
|
-
requestedAmount: 100000n,
|
|
15
|
-
};
|
|
16
|
-
const utxos = await utxoManager.fetchUTXOMultiAddr(utxoSetting);
|
|
17
|
-
if (!utxos) {
|
|
18
|
-
throw new Error('No UTXOs found');
|
|
19
|
-
}
|
|
20
|
-
const bytecode = fs.readFileSync('./bytecode/release.wasm');
|
|
21
|
-
const deploymentParameters = {
|
|
22
|
-
from: wallet.p2wpkh,
|
|
23
|
-
utxos: utxos,
|
|
24
|
-
signer: wallet.keypair,
|
|
25
|
-
network: network,
|
|
26
|
-
feeRate: 1000,
|
|
27
|
-
priorityFee: 50000n,
|
|
28
|
-
bytecode: bytecode,
|
|
29
|
-
};
|
|
30
|
-
const finalTx = await factory.signDeployment(deploymentParameters);
|
|
31
|
-
console.log(`Final transaction:`, finalTx);
|
|
32
|
-
const firstTxBroadcast = await utxoManager.broadcastTransaction(finalTx.transaction[0], false);
|
|
33
|
-
console.log(`First transaction broadcasted:`, firstTxBroadcast);
|
|
34
|
-
if (!firstTxBroadcast) {
|
|
35
|
-
throw new Error('Could not broadcast first transaction');
|
|
36
|
-
}
|
|
37
|
-
const secondTxBroadcast = await utxoManager.broadcastTransaction(finalTx.transaction[1], false);
|
|
38
|
-
console.log(`Second transaction broadcasted:`, secondTxBroadcast);
|
|
39
|
-
if (!secondTxBroadcast) {
|
|
40
|
-
throw new Error('Could not broadcast second transaction');
|
|
41
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { Wallet } from '../keypair/Wallet.js';
|
|
2
|
-
import { Regtest } from './Regtest.js';
|
|
3
|
-
import { OPNetLimitedProvider } from '../utxo/OPNetLimitedProvider.js';
|
|
4
|
-
import { networks } from 'bitcoinjs-lib';
|
|
5
|
-
import { TransactionFactory } from '../transaction/TransactionFactory.js';
|
|
6
|
-
import { BitcoinRPC } from '@btc-vision/bsi-bitcoin-rpc';
|
|
7
|
-
import * as fs from 'fs';
|
|
8
|
-
const network = networks.regtest;
|
|
9
|
-
const rpc = new BitcoinRPC();
|
|
10
|
-
const wallet = new Wallet(Regtest.wallet, network);
|
|
11
|
-
const utxoManager = new OPNetLimitedProvider('http://localhost:9001');
|
|
12
|
-
const factory = new TransactionFactory();
|
|
13
|
-
const shouldMineBlock = false;
|
|
14
|
-
async function mineBlock() {
|
|
15
|
-
const ok = await rpc.generateToAddress(1, wallet.p2wpkh, 'default');
|
|
16
|
-
if (!ok) {
|
|
17
|
-
throw new Error('Could not mine block');
|
|
18
|
-
}
|
|
19
|
-
console.log(`Mined block`, ok);
|
|
20
|
-
return !!ok.length;
|
|
21
|
-
}
|
|
22
|
-
await rpc.init(Regtest.config);
|
|
23
|
-
const requestedAmount = 100000000000n;
|
|
24
|
-
const utxoSetting = {
|
|
25
|
-
addresses: [wallet.p2wpkh, wallet.p2tr],
|
|
26
|
-
minAmount: 10000n,
|
|
27
|
-
requestedAmount: requestedAmount,
|
|
28
|
-
};
|
|
29
|
-
function shuffleArray(array) {
|
|
30
|
-
for (let i = array.length - 1; i > 0; i--) {
|
|
31
|
-
const j = Math.floor(Math.random() * (i + 1));
|
|
32
|
-
[array[i], array[j]] = [array[j], array[i]];
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
const utxos = await utxoManager.fetchUTXOMultiAddr(utxoSetting);
|
|
36
|
-
if (!utxos) {
|
|
37
|
-
throw new Error('No UTXOs found');
|
|
38
|
-
}
|
|
39
|
-
shuffleArray(utxos);
|
|
40
|
-
const bytecode = fs.readFileSync('./bytecode/wbtc.wasm');
|
|
41
|
-
for (let utxo of utxos) {
|
|
42
|
-
const deploymentParameters = {
|
|
43
|
-
from: wallet.p2wpkh,
|
|
44
|
-
utxos: [utxo],
|
|
45
|
-
signer: wallet.keypair,
|
|
46
|
-
network: network,
|
|
47
|
-
feeRate: 500,
|
|
48
|
-
priorityFee: 50000n,
|
|
49
|
-
bytecode: bytecode,
|
|
50
|
-
};
|
|
51
|
-
try {
|
|
52
|
-
const finalTx = factory.signDeployment(deploymentParameters);
|
|
53
|
-
console.log(`Final transaction:`, finalTx);
|
|
54
|
-
let txid;
|
|
55
|
-
try {
|
|
56
|
-
txid = await utxoManager.broadcastTransaction(finalTx.transaction[0], false);
|
|
57
|
-
console.log(`Transaction ID:`, txid);
|
|
58
|
-
}
|
|
59
|
-
catch (e) {
|
|
60
|
-
continue;
|
|
61
|
-
}
|
|
62
|
-
if (!txid) {
|
|
63
|
-
continue;
|
|
64
|
-
}
|
|
65
|
-
try {
|
|
66
|
-
txid = await utxoManager.broadcastTransaction(finalTx.transaction[1], false);
|
|
67
|
-
console.log(`Transaction ID:`, txid);
|
|
68
|
-
}
|
|
69
|
-
catch (e) {
|
|
70
|
-
continue;
|
|
71
|
-
}
|
|
72
|
-
if (!txid) {
|
|
73
|
-
continue;
|
|
74
|
-
}
|
|
75
|
-
console.log(`Contract deployed at ${finalTx.contractAddress}`);
|
|
76
|
-
}
|
|
77
|
-
catch (e) {
|
|
78
|
-
continue;
|
|
79
|
-
}
|
|
80
|
-
break;
|
|
81
|
-
}
|
|
82
|
-
if (shouldMineBlock) {
|
|
83
|
-
await mineBlock();
|
|
84
|
-
}
|
|
85
|
-
rpc.destroy();
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/build/tests/deployReg.js
DELETED
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { Wallet } from '../keypair/Wallet.js';
|
|
2
|
-
import { Regtest } from './Regtest.js';
|
|
3
|
-
import { OPNetLimitedProvider } from '../utxo/OPNetLimitedProvider.js';
|
|
4
|
-
import { networks } from 'bitcoinjs-lib';
|
|
5
|
-
import { TransactionFactory } from '../transaction/TransactionFactory.js';
|
|
6
|
-
import { BitcoinRPC } from '@btc-vision/bsi-bitcoin-rpc';
|
|
7
|
-
import * as fs from 'fs';
|
|
8
|
-
const network = networks.regtest;
|
|
9
|
-
const rpc = new BitcoinRPC();
|
|
10
|
-
const wallet = new Wallet(Regtest.wallet, network);
|
|
11
|
-
const utxoManager = new OPNetLimitedProvider('http://localhost:9001');
|
|
12
|
-
const factory = new TransactionFactory();
|
|
13
|
-
const shouldMineBlock = false;
|
|
14
|
-
async function mineBlock() {
|
|
15
|
-
const ok = await rpc.generateToAddress(1, wallet.p2wpkh, 'default');
|
|
16
|
-
if (!ok) {
|
|
17
|
-
throw new Error('Could not mine block');
|
|
18
|
-
}
|
|
19
|
-
console.log(`Mined block`, ok);
|
|
20
|
-
return !!ok.length;
|
|
21
|
-
}
|
|
22
|
-
await rpc.init(Regtest.config);
|
|
23
|
-
const requestedAmount = 100000000000n;
|
|
24
|
-
const utxoSetting = {
|
|
25
|
-
addresses: [wallet.p2wpkh, wallet.p2tr],
|
|
26
|
-
minAmount: 10000n,
|
|
27
|
-
requestedAmount: requestedAmount,
|
|
28
|
-
};
|
|
29
|
-
function shuffleArray(array) {
|
|
30
|
-
for (let i = array.length - 1; i > 0; i--) {
|
|
31
|
-
const j = Math.floor(Math.random() * (i + 1));
|
|
32
|
-
[array[i], array[j]] = [array[j], array[i]];
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
const utxos = await utxoManager.fetchUTXOMultiAddr(utxoSetting);
|
|
36
|
-
if (!utxos) {
|
|
37
|
-
throw new Error('No UTXOs found');
|
|
38
|
-
}
|
|
39
|
-
shuffleArray(utxos);
|
|
40
|
-
const bytecode = fs.readFileSync('./bytecode/wbtc.wasm');
|
|
41
|
-
for (let utxo of utxos) {
|
|
42
|
-
const deploymentParameters = {
|
|
43
|
-
from: wallet.p2wpkh,
|
|
44
|
-
utxos: [utxo],
|
|
45
|
-
signer: wallet.keypair,
|
|
46
|
-
network: network,
|
|
47
|
-
feeRate: 500,
|
|
48
|
-
priorityFee: 50000n,
|
|
49
|
-
bytecode: bytecode,
|
|
50
|
-
};
|
|
51
|
-
try {
|
|
52
|
-
const finalTx = await factory.signDeployment(deploymentParameters);
|
|
53
|
-
console.log(`Final transaction:`, finalTx);
|
|
54
|
-
let txid;
|
|
55
|
-
try {
|
|
56
|
-
txid = await utxoManager.broadcastTransaction(finalTx.transaction[0], false);
|
|
57
|
-
console.log(`Transaction ID:`, txid);
|
|
58
|
-
}
|
|
59
|
-
catch (e) {
|
|
60
|
-
continue;
|
|
61
|
-
}
|
|
62
|
-
if (!txid) {
|
|
63
|
-
continue;
|
|
64
|
-
}
|
|
65
|
-
try {
|
|
66
|
-
txid = await utxoManager.broadcastTransaction(finalTx.transaction[1], false);
|
|
67
|
-
console.log(`Transaction ID:`, txid);
|
|
68
|
-
}
|
|
69
|
-
catch (e) {
|
|
70
|
-
continue;
|
|
71
|
-
}
|
|
72
|
-
if (!txid) {
|
|
73
|
-
continue;
|
|
74
|
-
}
|
|
75
|
-
console.log(`Contract deployed at ${finalTx.contractAddress}`);
|
|
76
|
-
}
|
|
77
|
-
catch (e) {
|
|
78
|
-
continue;
|
|
79
|
-
}
|
|
80
|
-
break;
|
|
81
|
-
}
|
|
82
|
-
if (shouldMineBlock) {
|
|
83
|
-
await mineBlock();
|
|
84
|
-
}
|
|
85
|
-
rpc.destroy();
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { ABICoder, BinaryWriter } from '@btc-vision/bsi-binary';
|
|
2
|
-
import { MOTO_ADDRESS_REGTEST, WBTC_ADDRESS_REGTEST } from '../../metadata/tokens.js';
|
|
3
|
-
const abiCoder = new ABICoder();
|
|
4
|
-
const createPoolSelector = Number(`0x` + abiCoder.encodeSelector('createPool'));
|
|
5
|
-
function generateCalldata() {
|
|
6
|
-
const addCalldata = new BinaryWriter();
|
|
7
|
-
addCalldata.writeSelector(createPoolSelector);
|
|
8
|
-
addCalldata.writeAddress(WBTC_ADDRESS_REGTEST);
|
|
9
|
-
addCalldata.writeAddress(MOTO_ADDRESS_REGTEST);
|
|
10
|
-
return Buffer.from(addCalldata.getBuffer());
|
|
11
|
-
}
|
|
12
|
-
const calldata = generateCalldata();
|
|
13
|
-
console.log('createPool', calldata.toString('hex'));
|
package/build/tests/gen.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/build/tests/gen.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { networks } from 'bitcoinjs-lib';
|
|
2
|
-
import { Regtest } from './Regtest.js';
|
|
3
|
-
import { Wallet } from '../keypair/Wallet.js';
|
|
4
|
-
import { ABICoder, BinaryWriter } from '@btc-vision/bsi-binary';
|
|
5
|
-
const walletTest = new Wallet(Regtest.wallet, networks.testnet);
|
|
6
|
-
console.log(walletTest);
|
|
7
|
-
const wallet = new Wallet(Regtest.wallet, networks.regtest);
|
|
8
|
-
console.log(wallet);
|
|
9
|
-
const selector = new ABICoder().encodeSelector('approve');
|
|
10
|
-
console.log('approve', Number(`0x${selector}`), selector);
|
|
11
|
-
const balanceOf = Number('0x' + new ABICoder().encodeSelector('balanceOf'));
|
|
12
|
-
const totalSupplyS = Number('0x' + new ABICoder().encodeSelector('totalSupply'));
|
|
13
|
-
const balanceCall = new BinaryWriter();
|
|
14
|
-
balanceCall.writeSelector(balanceOf);
|
|
15
|
-
balanceCall.writeAddress('bcrt1pmc2dz8fy4rwghzmfz4hdsennusld8cwgtr0mjxl45wt8cnqcm3psssc327');
|
|
16
|
-
const totalSupply = new BinaryWriter();
|
|
17
|
-
totalSupply.writeSelector(totalSupplyS);
|
|
18
|
-
console.log('balanceOf', balanceOf, Buffer.from(balanceCall.getBuffer()).toString('hex'));
|
|
19
|
-
console.log('totalSupply', totalSupplyS, Buffer.from(totalSupply.getBuffer()).toString('hex'));
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { Wallet } from '../keypair/Wallet.js';
|
|
3
|
-
import { Address } from '@btc-vision/bsi-binary';
|
|
4
|
-
export declare const wallet: Wallet;
|
|
5
|
-
export declare function interact(contract: Address, calldata: Buffer, mine?: boolean): Promise<void>;
|