@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
|
@@ -1,91 +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 contracts = ['./bytecode/wbtc.wasm', './bytecode/wbtc.wasm'];
|
|
41
|
-
let deployed = [];
|
|
42
|
-
for (let contract of contracts) {
|
|
43
|
-
const bytecode = fs.readFileSync(contract);
|
|
44
|
-
for (let utxo of utxos) {
|
|
45
|
-
const deploymentParameters = {
|
|
46
|
-
from: wallet.p2wpkh,
|
|
47
|
-
utxos: [utxo],
|
|
48
|
-
signer: wallet.keypair,
|
|
49
|
-
network: network,
|
|
50
|
-
feeRate: 500,
|
|
51
|
-
priorityFee: 50000n,
|
|
52
|
-
bytecode: bytecode,
|
|
53
|
-
};
|
|
54
|
-
try {
|
|
55
|
-
const finalTx = factory.signDeployment(deploymentParameters);
|
|
56
|
-
console.log(`Final transaction:`, finalTx);
|
|
57
|
-
let txid;
|
|
58
|
-
try {
|
|
59
|
-
txid = await utxoManager.broadcastTransaction(finalTx.transaction[0], false);
|
|
60
|
-
console.log(`Transaction ID:`, txid);
|
|
61
|
-
}
|
|
62
|
-
catch (e) {
|
|
63
|
-
continue;
|
|
64
|
-
}
|
|
65
|
-
if (!txid) {
|
|
66
|
-
continue;
|
|
67
|
-
}
|
|
68
|
-
try {
|
|
69
|
-
txid = await utxoManager.broadcastTransaction(finalTx.transaction[1], false);
|
|
70
|
-
console.log(`Transaction ID:`, txid);
|
|
71
|
-
}
|
|
72
|
-
catch (e) {
|
|
73
|
-
continue;
|
|
74
|
-
}
|
|
75
|
-
if (!txid) {
|
|
76
|
-
continue;
|
|
77
|
-
}
|
|
78
|
-
deployed.push({ contract: finalTx.contractAddress, file: contract });
|
|
79
|
-
console.log(`Contract deployed at ${finalTx.contractAddress}`);
|
|
80
|
-
}
|
|
81
|
-
catch (e) {
|
|
82
|
-
continue;
|
|
83
|
-
}
|
|
84
|
-
break;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
console.log(deployed);
|
|
88
|
-
if (shouldMineBlock) {
|
|
89
|
-
await mineBlock();
|
|
90
|
-
}
|
|
91
|
-
rpc.destroy();
|
|
@@ -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 {};
|
|
@@ -1,63 +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
|
-
const network = networks.regtest;
|
|
8
|
-
const rpc = new BitcoinRPC();
|
|
9
|
-
const wallet = new Wallet(Regtest.wallet, network);
|
|
10
|
-
const utxoManager = new OPNetLimitedProvider('http://localhost:9001');
|
|
11
|
-
const factory = new TransactionFactory();
|
|
12
|
-
const shouldMineBlock = true;
|
|
13
|
-
async function mineBlock() {
|
|
14
|
-
const ok = await rpc.generateToAddress(1, wallet.p2wpkh, 'default');
|
|
15
|
-
if (!ok) {
|
|
16
|
-
throw new Error('Could not mine block');
|
|
17
|
-
}
|
|
18
|
-
console.log(`Mined block`, ok);
|
|
19
|
-
return !!ok.length;
|
|
20
|
-
}
|
|
21
|
-
await rpc.init(Regtest.config);
|
|
22
|
-
const requestedAmount = 1n * 100000000n;
|
|
23
|
-
const utxoSetting = {
|
|
24
|
-
addresses: [wallet.p2wpkh, wallet.p2tr],
|
|
25
|
-
minAmount: 10000n,
|
|
26
|
-
requestedAmount: requestedAmount,
|
|
27
|
-
};
|
|
28
|
-
const utxos = await utxoManager.fetchUTXOMultiAddr(utxoSetting);
|
|
29
|
-
console.log(`UTXOs:`, utxos);
|
|
30
|
-
if (!utxos) {
|
|
31
|
-
throw new Error('No UTXOs found');
|
|
32
|
-
}
|
|
33
|
-
export async function interact(contract, calldata) {
|
|
34
|
-
const interactionParameters = {
|
|
35
|
-
from: wallet.p2wpkh,
|
|
36
|
-
to: contract,
|
|
37
|
-
utxos: utxos,
|
|
38
|
-
signer: wallet.keypair,
|
|
39
|
-
network: network,
|
|
40
|
-
feeRate: 1000,
|
|
41
|
-
priorityFee: 100000n,
|
|
42
|
-
calldata: calldata,
|
|
43
|
-
};
|
|
44
|
-
const finalTx = factory.signInteraction(interactionParameters);
|
|
45
|
-
const firstTxBroadcast = await rpc.sendRawTransaction({
|
|
46
|
-
hexstring: finalTx[0],
|
|
47
|
-
});
|
|
48
|
-
console.log(`First transaction broadcasted: ${firstTxBroadcast}`);
|
|
49
|
-
if (!firstTxBroadcast) {
|
|
50
|
-
throw new Error('Could not broadcast first transaction');
|
|
51
|
-
}
|
|
52
|
-
const secondTxBroadcast = await rpc.sendRawTransaction({
|
|
53
|
-
hexstring: finalTx[1],
|
|
54
|
-
});
|
|
55
|
-
console.log(`Second transaction broadcasted: ${secondTxBroadcast}`, finalTx[1]);
|
|
56
|
-
if (!secondTxBroadcast) {
|
|
57
|
-
throw new Error('Could not broadcast second transaction');
|
|
58
|
-
}
|
|
59
|
-
if (shouldMineBlock) {
|
|
60
|
-
await mineBlock();
|
|
61
|
-
}
|
|
62
|
-
rpc.destroy();
|
|
63
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Address } from '@btc-vision/bsi-binary';
|
|
2
|
-
export interface AddLiquidityParameters {
|
|
3
|
-
readonly tokenA: Address;
|
|
4
|
-
readonly tokenB: Address;
|
|
5
|
-
readonly amountADesired: bigint;
|
|
6
|
-
readonly amountBDesired: bigint;
|
|
7
|
-
readonly amountAMin: bigint;
|
|
8
|
-
readonly amountBMin: bigint;
|
|
9
|
-
readonly to: Address;
|
|
10
|
-
readonly deadline: bigint;
|
|
11
|
-
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { ABICoder, BinaryWriter } from '@btc-vision/bsi-binary';
|
|
2
|
-
import { wallet } from '../shared/interaction.js';
|
|
3
|
-
import { wBTC } from '../../metadata/contracts/wBTC.js';
|
|
4
|
-
import { networks } from 'bitcoinjs-lib';
|
|
5
|
-
import { MOTO_ADDRESS_REGTEST } from '../../metadata/tokens.js';
|
|
6
|
-
import { expandToDecimals } from '../shared/Utils.js';
|
|
7
|
-
const abiCoder = new ABICoder();
|
|
8
|
-
const addLiquiditySelector = Number(`0x` + abiCoder.encodeSelector('addLiquidity'));
|
|
9
|
-
function addLiquidity(parameters) {
|
|
10
|
-
const calldata = new BinaryWriter();
|
|
11
|
-
calldata.writeSelector(addLiquiditySelector);
|
|
12
|
-
calldata.writeAddress(parameters.tokenA);
|
|
13
|
-
calldata.writeAddress(parameters.tokenB);
|
|
14
|
-
calldata.writeU256(parameters.amountADesired);
|
|
15
|
-
calldata.writeU256(parameters.amountBDesired);
|
|
16
|
-
calldata.writeU256(parameters.amountAMin);
|
|
17
|
-
calldata.writeU256(parameters.amountBMin);
|
|
18
|
-
calldata.writeAddress(parameters.to);
|
|
19
|
-
calldata.writeU64(parameters.deadline);
|
|
20
|
-
return Buffer.from(calldata.getBuffer());
|
|
21
|
-
}
|
|
22
|
-
const token0Amount = expandToDecimals(1000, 8n);
|
|
23
|
-
const token1Amount = 600000n;
|
|
24
|
-
const receiver = wallet.p2tr;
|
|
25
|
-
const calldata = addLiquidity({
|
|
26
|
-
tokenA: MOTO_ADDRESS_REGTEST,
|
|
27
|
-
tokenB: wBTC.getAddress(networks.regtest),
|
|
28
|
-
amountADesired: token0Amount,
|
|
29
|
-
amountBDesired: token1Amount,
|
|
30
|
-
amountAMin: 0n,
|
|
31
|
-
amountBMin: 0n,
|
|
32
|
-
to: receiver,
|
|
33
|
-
deadline: 5000n,
|
|
34
|
-
});
|
|
35
|
-
console.log('add liquidity:', calldata.toString('hex'));
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Address } from '@btc-vision/bsi-binary';
|
|
2
|
-
export interface AddLiquidityParameters {
|
|
3
|
-
readonly tokenA: Address;
|
|
4
|
-
readonly tokenB: Address;
|
|
5
|
-
readonly amountADesired: bigint;
|
|
6
|
-
readonly amountBDesired: bigint;
|
|
7
|
-
readonly amountAMin: bigint;
|
|
8
|
-
readonly amountBMin: bigint;
|
|
9
|
-
readonly to: Address;
|
|
10
|
-
readonly deadline: bigint;
|
|
11
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { ABICoder, BinaryWriter } from '@btc-vision/bsi-binary';
|
|
2
|
-
import { interact, wallet } from '../shared/interaction.js';
|
|
3
|
-
import { wBTC } from '../../metadata/contracts/wBTC.js';
|
|
4
|
-
import { networks } from 'bitcoinjs-lib';
|
|
5
|
-
import { MOTO_ADDRESS_REGTEST, ROUTER_ADDRESS_REGTEST } from '../../metadata/tokens.js';
|
|
6
|
-
import { expandToDecimals } from '../shared/Utils.js';
|
|
7
|
-
const abiCoder = new ABICoder();
|
|
8
|
-
const addLiquiditySelector = Number(`0x` + abiCoder.encodeSelector('addLiquidity'));
|
|
9
|
-
function addLiquidity(parameters) {
|
|
10
|
-
const calldata = new BinaryWriter();
|
|
11
|
-
calldata.writeSelector(addLiquiditySelector);
|
|
12
|
-
calldata.writeAddress(parameters.tokenA);
|
|
13
|
-
calldata.writeAddress(parameters.tokenB);
|
|
14
|
-
calldata.writeU256(parameters.amountADesired);
|
|
15
|
-
calldata.writeU256(parameters.amountBDesired);
|
|
16
|
-
calldata.writeU256(parameters.amountAMin);
|
|
17
|
-
calldata.writeU256(parameters.amountBMin);
|
|
18
|
-
calldata.writeAddress(parameters.to);
|
|
19
|
-
calldata.writeU64(parameters.deadline);
|
|
20
|
-
return Buffer.from(calldata.getBuffer());
|
|
21
|
-
}
|
|
22
|
-
const token0Amount = expandToDecimals(1000, 8n);
|
|
23
|
-
const token1Amount = 600000n;
|
|
24
|
-
const receiver = wallet.p2tr;
|
|
25
|
-
const calldata = addLiquidity({
|
|
26
|
-
tokenA: MOTO_ADDRESS_REGTEST,
|
|
27
|
-
tokenB: wBTC.getAddress(networks.regtest),
|
|
28
|
-
amountADesired: token0Amount,
|
|
29
|
-
amountBDesired: token1Amount,
|
|
30
|
-
amountAMin: 0n,
|
|
31
|
-
amountBMin: 0n,
|
|
32
|
-
to: receiver,
|
|
33
|
-
deadline: 5000n,
|
|
34
|
-
});
|
|
35
|
-
console.log('add liquidity:', calldata.toString('hex'));
|
|
36
|
-
await interact(ROUTER_ADDRESS_REGTEST, calldata);
|
|
@@ -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 {};
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { ABICoder, BinaryWriter } from '@btc-vision/bsi-binary';
|
|
2
|
-
import { expandToDecimals } from '../shared/Utils.js';
|
|
3
|
-
import { MOTO_ADDRESS_REGTEST, WBTC_ADDRESS_REGTEST } from '../../metadata/tokens.js';
|
|
4
|
-
const abiCoder = new ABICoder();
|
|
5
|
-
const getAmountsOutSelector = Number(`0x` + abiCoder.encodeSelector('getAmountsOut'));
|
|
6
|
-
const quoteSelector = Number(`0x` + abiCoder.encodeSelector('quote'));
|
|
7
|
-
function getAmountsOut(parameters) {
|
|
8
|
-
console.log(parameters);
|
|
9
|
-
const calldata = new BinaryWriter();
|
|
10
|
-
calldata.writeSelector(getAmountsOutSelector);
|
|
11
|
-
calldata.writeU256(parameters.amount);
|
|
12
|
-
calldata.writeAddressArray(parameters.path);
|
|
13
|
-
return Buffer.from(calldata.getBuffer());
|
|
14
|
-
}
|
|
15
|
-
const token0Amount = 1000n;
|
|
16
|
-
const path = [WBTC_ADDRESS_REGTEST, MOTO_ADDRESS_REGTEST];
|
|
17
|
-
const calldata = getAmountsOut({ path, amount: token0Amount });
|
|
18
|
-
console.log('calldata', calldata.toString('hex'));
|
|
19
|
-
function quote(parameters) {
|
|
20
|
-
console.log(parameters);
|
|
21
|
-
const calldata = new BinaryWriter();
|
|
22
|
-
calldata.writeSelector(quoteSelector);
|
|
23
|
-
calldata.writeU256(parameters.amountA);
|
|
24
|
-
calldata.writeU256(parameters.reserveA);
|
|
25
|
-
calldata.writeU256(parameters.reserveB);
|
|
26
|
-
return Buffer.from(calldata.getBuffer());
|
|
27
|
-
}
|
|
28
|
-
const quoteParams = {
|
|
29
|
-
amountA: token0Amount,
|
|
30
|
-
reserveA: expandToDecimals(1, 8n),
|
|
31
|
-
reserveB: expandToDecimals(1000, 18n),
|
|
32
|
-
};
|
|
33
|
-
const quoteCalldata = quote(quoteParams);
|
|
34
|
-
console.log('quoteCalldata', quoteCalldata.toString('hex'));
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Address } from '@btc-vision/bsi-binary';
|
|
2
|
-
export interface AddLiquidityParameters {
|
|
3
|
-
readonly tokenA: Address;
|
|
4
|
-
readonly tokenB: Address;
|
|
5
|
-
readonly amountADesired: bigint;
|
|
6
|
-
readonly amountBDesired: bigint;
|
|
7
|
-
readonly amountAMin: bigint;
|
|
8
|
-
readonly amountBMin: bigint;
|
|
9
|
-
readonly to: Address;
|
|
10
|
-
readonly deadline: bigint;
|
|
11
|
-
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { ABICoder, BinaryWriter } from '@btc-vision/bsi-binary';
|
|
2
|
-
import { wallet } from '../shared/interaction.js';
|
|
3
|
-
import { wBTC } from '../../metadata/contracts/wBTC.js';
|
|
4
|
-
import { networks } from 'bitcoinjs-lib';
|
|
5
|
-
import { MOTO_ADDRESS_REGTEST } from '../../metadata/tokens.js';
|
|
6
|
-
import { expandToDecimals } from '../shared/Utils.js';
|
|
7
|
-
const abiCoder = new ABICoder();
|
|
8
|
-
const addLiquiditySelector = Number(`0x` + abiCoder.encodeSelector('addLiquidity'));
|
|
9
|
-
function addLiquidity(parameters) {
|
|
10
|
-
const calldata = new BinaryWriter();
|
|
11
|
-
calldata.writeSelector(addLiquiditySelector);
|
|
12
|
-
calldata.writeAddress(parameters.tokenA);
|
|
13
|
-
calldata.writeAddress(parameters.tokenB);
|
|
14
|
-
calldata.writeU256(parameters.amountADesired);
|
|
15
|
-
calldata.writeU256(parameters.amountBDesired);
|
|
16
|
-
calldata.writeU256(parameters.amountAMin);
|
|
17
|
-
calldata.writeU256(parameters.amountBMin);
|
|
18
|
-
calldata.writeAddress(parameters.to);
|
|
19
|
-
calldata.writeU64(parameters.deadline);
|
|
20
|
-
return Buffer.from(calldata.getBuffer());
|
|
21
|
-
}
|
|
22
|
-
const token0Amount = expandToDecimals(1000, 8n);
|
|
23
|
-
const token1Amount = 600000n;
|
|
24
|
-
const receiver = wallet.p2tr;
|
|
25
|
-
const calldata = addLiquidity({
|
|
26
|
-
tokenA: MOTO_ADDRESS_REGTEST,
|
|
27
|
-
tokenB: wBTC.getAddress(networks.regtest),
|
|
28
|
-
amountADesired: token0Amount,
|
|
29
|
-
amountBDesired: token1Amount,
|
|
30
|
-
amountAMin: 0n,
|
|
31
|
-
amountBMin: 0n,
|
|
32
|
-
to: receiver,
|
|
33
|
-
deadline: 5000n,
|
|
34
|
-
});
|
|
35
|
-
console.log('add liquidity:', calldata.toString('hex'));
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { ABICoder, BinaryWriter } from '@btc-vision/bsi-binary';
|
|
2
|
-
import { wallet } from '../shared/interaction.js';
|
|
3
|
-
import { MOTO_ADDRESS_REGTEST, WBTC_ADDRESS_REGTEST } from '../../metadata/tokens.js';
|
|
4
|
-
import { expandToDecimals } from '../shared/Utils.js';
|
|
5
|
-
const abiCoder = new ABICoder();
|
|
6
|
-
const swapSelector = Number(`0x` + abiCoder.encodeSelector('swap'));
|
|
7
|
-
function generateSwap(parameters) {
|
|
8
|
-
const calldata = new BinaryWriter();
|
|
9
|
-
calldata.writeSelector(swapSelector);
|
|
10
|
-
calldata.writeU256(parameters.amountIn);
|
|
11
|
-
calldata.writeU256(parameters.amountOutMin);
|
|
12
|
-
calldata.writeAddressArray(parameters.path);
|
|
13
|
-
calldata.writeAddress(parameters.to);
|
|
14
|
-
calldata.writeU64(parameters.deadline);
|
|
15
|
-
return Buffer.from(calldata.getBuffer());
|
|
16
|
-
}
|
|
17
|
-
const calldata = generateSwap({
|
|
18
|
-
amountIn: expandToDecimals(0.01, 8n),
|
|
19
|
-
amountOutMin: 0n,
|
|
20
|
-
path: [WBTC_ADDRESS_REGTEST, MOTO_ADDRESS_REGTEST],
|
|
21
|
-
to: wallet.p2tr,
|
|
22
|
-
deadline: 10000n,
|
|
23
|
-
});
|
|
24
|
-
console.log('swap:', calldata.toString('hex'));
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/build/tests/multisign.js
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { networks, Psbt } from 'bitcoinjs-lib';
|
|
2
|
-
import { Regtest } from './Regtest.js';
|
|
3
|
-
import { Wallet } from '../keypair/Wallet.js';
|
|
4
|
-
import { MultiSignTransaction, } from '../transaction/builders/MultiSignTransaction.js';
|
|
5
|
-
import { EcKeyPair } from '../keypair/EcKeyPair.js';
|
|
6
|
-
const base64 = 'cHNidP8BAFICAAAAASNIxwwrZsoFQXkT+/iZFGZfE3nASG6UKlzzp/GqP9aYAAAAAAD9////ARAnAAAAAAAAFgAU3A1GB3oiXLyahEdQ+brLnuXu1PkAAAAAAAEA9wIAAAAAAQEEp9c4x0mHzuAx2zITbeG/URike79ng12YAsPWhjeVMQEAAAAA/f///wJa9gEAAAAAACJRIJydkNXcZzrZZbyLbPYkpFoAcRisalctr79rPmez8uPUtMs2kwAAAAAiUSDL4fsq34Gxa6Svuzh0P0c4zLKBcNLvw1o8qTZs5k6kUQJIMEUCIQDDhiqYy+HKDXywY3kHHNYirdVCcuOnaOJsaHrHoFg1/QIgd1TXcUzslGOAdvTSpvuTCh1mWlUGQyXK4p1Pgs8qWZwBIQIDc2JtMXroeIzjKAtJEGhhDYQMI+y2TBQHW7ufZwr1LAAAAAABASta9gEAAAAAACJRIJydkNXcZzrZZbyLbPYkpFoAcRisalctr79rPmez8uPUAQj9mwEGFNwNRgd6Ily8moRHUPm6y57l7tT5IANzYm0xeuh4jOMoC0kQaGENhAwj7LZMFAdbu59nCvUsQWnmKwWlC3PzllTD3UronjfKtL59X3OaJioXxozhodCWtPNSXzdT5dQcS3R4PssChqtXhsr87NaJjVlbePJlHS2DQecQkmGe3r7lcT5nGv6XIvtUpkc2ZdQ0RXiY2g5AYh42Aq8T1EJh4VB7j1z9c135oTxlkuXmAikGlrmhxEuysCCDnSADc2JtMXroeIzjKAtJEGhhDYQMI+y2TBQHW7ufZwr1LK0gKezyFtE0GBZRLpSp/uGv1o4OVHTiXfBiHSd+K6+SnZytqRRr4RFHLP9N9MIFIGHGxZKfve2OvYipFFfTvUOjMKawg5fnZ94W/TVaiC75iHRRnGMDYnNpTx4fiwgAAAAAAAIKa52/5igDPsC+UAEALs4PKSQAAABnUWhBwANzYm0xeuh4jOMoC0kQaGENhAwj7LZMFAdbu59nCvUs5+TVk/y3KSbu2+DR4xH0Gs1vbvFh3LoIGnUWjsTc03kAAA==';
|
|
7
|
-
const network = networks.regtest;
|
|
8
|
-
const wallet = new Wallet(Regtest.wallet, network);
|
|
9
|
-
const pubkeys = [
|
|
10
|
-
'AgPmjuI2/MNJM9STswWm8MdWEllHHRPs0Q3+DjdjOny+',
|
|
11
|
-
'AtOOpbDsniLbs2QGuqPFu7AnCOK9lNSSl+pvPr0m0Yx3',
|
|
12
|
-
'A7ZKMoDQJlcQNbzIikCE5MPiFC81RvHHTeTMRx2/bFiO',
|
|
13
|
-
'A4JEwTBwTx5QaLCFORTow27UQvkLQWZguhz6N+d8FczI',
|
|
14
|
-
].map((key) => Buffer.from(key, 'base64'));
|
|
15
|
-
const utxos = [
|
|
16
|
-
{
|
|
17
|
-
transactionId: '19ad15c5a73dd2b591d3269337025c7cda5d619eb872cf543bff531a2946a245',
|
|
18
|
-
outputIndex: 1,
|
|
19
|
-
value: 100000000n,
|
|
20
|
-
scriptPubKey: {
|
|
21
|
-
address: 'bcrt1pc6vdqqscqu4j8ktrc0558p4cmw8c3glqx4f80eflmtgwgu9r275svkax55',
|
|
22
|
-
hex: Buffer.from('USDGmNACGAcrI9ljw+lDhrjbj4ij4DVSd+U/2tDkcKNXqQ==', 'base64').toString('hex'),
|
|
23
|
-
},
|
|
24
|
-
},
|
|
25
|
-
];
|
|
26
|
-
const realSigner = Wallet.fromWif('cRHbWamSVDkJWwjq5vMtriuFsWcptWmA7z8Nkqotk9vJ891KMBXc', network);
|
|
27
|
-
const rlSigner2 = EcKeyPair.fromPrivateKey(Buffer.from('c3878546c453bca783fd91965218242eecc32d5443764d4a7f233ff018f002e0', 'hex'), network);
|
|
28
|
-
const multiSignParams = {
|
|
29
|
-
network: network,
|
|
30
|
-
utxos: utxos,
|
|
31
|
-
pubkeys: pubkeys,
|
|
32
|
-
minimumSignatures: 2,
|
|
33
|
-
feeRate: 100,
|
|
34
|
-
refundVault: 'bcrt1pc6vdqqscqu4j8ktrc0558p4cmw8c3glqx4f80eflmtgwgu9r275svkax55',
|
|
35
|
-
receiver: wallet.p2tr,
|
|
36
|
-
requestedAmount: 600000n,
|
|
37
|
-
};
|
|
38
|
-
const multiSign = new MultiSignTransaction(multiSignParams);
|
|
39
|
-
const signed = await multiSign.signPSBT();
|
|
40
|
-
const signed3 = MultiSignTransaction.signPartial(signed, rlSigner2, 0, [2]);
|
|
41
|
-
console.log(`Signed`, signed3, signed.toHex());
|
|
42
|
-
const signed2 = MultiSignTransaction.signPartial(signed, realSigner.keypair, 0, [2]);
|
|
43
|
-
console.log(`Signed`, signed2, signed.toHex());
|
|
44
|
-
const cloned2 = Psbt.fromBase64(signed.toBase64(), { network: network });
|
|
45
|
-
console.dir(cloned2, { depth: 10, colors: true });
|
|
46
|
-
const finalized = MultiSignTransaction.attemptFinalizeInputs(cloned2, 0, [], true);
|
|
47
|
-
console.log(`Signed`, cloned2.extractTransaction(false).toHex(), finalized);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { networks } from 'bitcoinjs-lib';
|
|
2
|
-
import { Testnet } from './Regtest.js';
|
|
3
|
-
import { Wallet } from '../keypair/Wallet.js';
|
|
4
|
-
import { EcKeyPair } from '../keypair/EcKeyPair.js';
|
|
5
|
-
const base64 = 'cHNidP8BAFICAAAAASNIxwwrZsoFQXkT+/iZFGZfE3nASG6UKlzzp/GqP9aYAAAAAAD9////ARAnAAAAAAAAFgAU3A1GB3oiXLyahEdQ+brLnuXu1PkAAAAAAAEA9wIAAAAAAQEEp9c4x0mHzuAx2zITbeG/URike79ng12YAsPWhjeVMQEAAAAA/f///wJa9gEAAAAAACJRIJydkNXcZzrZZbyLbPYkpFoAcRisalctr79rPmez8uPUtMs2kwAAAAAiUSDL4fsq34Gxa6Svuzh0P0c4zLKBcNLvw1o8qTZs5k6kUQJIMEUCIQDDhiqYy+HKDXywY3kHHNYirdVCcuOnaOJsaHrHoFg1/QIgd1TXcUzslGOAdvTSpvuTCh1mWlUGQyXK4p1Pgs8qWZwBIQIDc2JtMXroeIzjKAtJEGhhDYQMI+y2TBQHW7ufZwr1LAAAAAABASta9gEAAAAAACJRIJydkNXcZzrZZbyLbPYkpFoAcRisalctr79rPmez8uPUAQj9mwEGFNwNRgd6Ily8moRHUPm6y57l7tT5IANzYm0xeuh4jOMoC0kQaGENhAwj7LZMFAdbu59nCvUsQWnmKwWlC3PzllTD3UronjfKtL59X3OaJioXxozhodCWtPNSXzdT5dQcS3R4PssChqtXhsr87NaJjVlbePJlHS2DQecQkmGe3r7lcT5nGv6XIvtUpkc2ZdQ0RXiY2g5AYh42Aq8T1EJh4VB7j1z9c135oTxlkuXmAikGlrmhxEuysCCDnSADc2JtMXroeIzjKAtJEGhhDYQMI+y2TBQHW7ufZwr1LK0gKezyFtE0GBZRLpSp/uGv1o4OVHTiXfBiHSd+K6+SnZytqRRr4RFHLP9N9MIFIGHGxZKfve2OvYipFFfTvUOjMKawg5fnZ94W/TVaiC75iHRRnGMDYnNpTx4fiwgAAAAAAAIKa52/5igDPsC+UAEALs4PKSQAAABnUWhBwANzYm0xeuh4jOMoC0kQaGENhAwj7LZMFAdbu59nCvUs5+TVk/y3KSbu2+DR4xH0Gs1vbvFh3LoIGnUWjsTc03kAAA==';
|
|
6
|
-
const network = networks.testnet;
|
|
7
|
-
const wallet = new Wallet(Testnet.wallet, network);
|
|
8
|
-
const pubkeys = [
|
|
9
|
-
'AgPmjuI2/MNJM9STswWm8MdWEllHHRPs0Q3+DjdjOny+',
|
|
10
|
-
'AtOOpbDsniLbs2QGuqPFu7AnCOK9lNSSl+pvPr0m0Yx3',
|
|
11
|
-
'A4JEwTBwTx5QaLCFORTow27UQvkLQWZguhz6N+d8FczI',
|
|
12
|
-
'A7ZKMoDQJlcQNbzIikCE5MPiFC81RvHHTeTMRx2/bFiO',
|
|
13
|
-
].map((key) => Buffer.from(key, 'base64'));
|
|
14
|
-
const utxos = [
|
|
15
|
-
{
|
|
16
|
-
transactionId: '2d05a02d5e3650f993ca75fe5e8a170fd4fe32347998bf3ee5eda089c259ae16',
|
|
17
|
-
outputIndex: 1,
|
|
18
|
-
value: 100000000n,
|
|
19
|
-
scriptPubKey: {
|
|
20
|
-
address: 'bcrt1ptksjlcd4ch722978mzggv8a6ywqqn64a25u6fz6syl0c37mg6q3s9rgu0k',
|
|
21
|
-
hex: Buffer.from('USBdoS/htcX8pRfH2JCGH7ojgAnqvVU5pItQJ9+I+2jQIw==', 'base64').toString('hex'),
|
|
22
|
-
},
|
|
23
|
-
},
|
|
24
|
-
];
|
|
25
|
-
const realSigner = Wallet.fromWif('cRHbWamSVDkJWwjq5vMtriuFsWcptWmA7z8Nkqotk9vJ891KMBXc', network);
|
|
26
|
-
const idk = EcKeyPair.generateMultiSigAddress(pubkeys, 2, network);
|
|
27
|
-
console.log(idk, wallet.p2tr);
|