@btc-vision/transaction 1.0.59 → 1.0.61
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/.gitattributes +2 -2
- package/browser/_version.d.ts +1 -1
- package/browser/index.js +1 -1
- package/browser/transaction/builders/TapUnwarpTransaction.d.ts +40 -40
- package/browser/transaction/builders/UnwarpTransaction.d.ts +34 -34
- package/browser/utxo/UTXOManager.d.ts +7 -7
- package/build/Utils.d.ts +0 -0
- package/build/Utils.js +1 -0
- package/build/_version.d.ts +1 -1
- package/build/_version.js +1 -1
- package/build/consensus/metadata/RoswsellConsensus.d.ts +2 -0
- package/build/consensus/metadata/RoswsellConsensus.js +4 -0
- package/build/contracts/ContractMetadataManager.d.ts +0 -0
- package/build/contracts/ContractMetadataManager.js +1 -0
- package/build/generators/OPNetAddressGenerator.d.ts +0 -0
- package/build/generators/OPNetAddressGenerator.js +1 -0
- package/build/generators/builders/UnwrapGenerator.d.ts +8 -0
- package/build/generators/builders/UnwrapGenerator.js +79 -0
- package/build/keypair/interfaces/GeneratedWallet.d.ts +5 -0
- package/build/keypair/interfaces/GeneratedWallet.js +1 -0
- package/build/metadata/CommonContracts.d.ts +6 -0
- package/build/metadata/CommonContracts.js +5 -0
- package/build/metadata/ContractMetadataManager.d.ts +1 -0
- package/build/metadata/ContractMetadataManager.js +9 -0
- package/build/metadata/contracts/ContractBase.d.ts +9 -0
- package/build/metadata/contracts/ContractBase.js +13 -0
- package/build/metadata/contracts/ContractBaseMetadata.d.ts +9 -0
- package/build/metadata/contracts/ContractBaseMetadata.js +13 -0
- package/build/metadata/contracts/ContractMetadataManager.d.ts +0 -0
- package/build/metadata/contracts/ContractMetadataManager.js +1 -0
- package/build/network/NetworkConverter.d.ts +0 -0
- package/build/network/NetworkConverter.js +14 -0
- package/build/scripts/Regtest.d.ts +2 -0
- package/build/scripts/Regtest.js +15 -0
- package/build/scripts/test.d.ts +1 -0
- package/build/scripts/test.js +74 -0
- package/build/signer/Regtest.d.ts +2 -0
- package/build/signer/Regtest.js +15 -0
- package/build/tests/Regtest.d.ts +3 -0
- package/build/tests/Regtest.js +29 -0
- package/build/tests/adaptPSBT.d.ts +1 -0
- package/build/tests/adaptPSBT.js +44 -0
- package/build/tests/btc/send.d.ts +1 -0
- package/build/tests/btc/send.js +35 -0
- package/build/tests/btc/transfer.d.ts +1 -0
- package/build/tests/btc/transfer.js +35 -0
- package/build/tests/createPairReg.d.ts +1 -0
- package/build/tests/createPairReg.js +73 -0
- package/build/tests/deploy/deployMoto.d.ts +4 -0
- package/build/tests/deploy/deployMoto.js +89 -0
- package/build/tests/deploy/deployPool.d.ts +1 -0
- package/build/tests/deploy/deployPool.js +5 -0
- package/build/tests/deploy/deployStep1.d.ts +1 -0
- package/build/tests/deploy/deployStep1.js +5 -0
- package/build/tests/deploy/deployStep2.d.ts +1 -0
- package/build/tests/deploy/deployStep2.js +5 -0
- package/build/tests/deploy/deployStep3.d.ts +1 -0
- package/build/tests/deploy/deployStep3.js +5 -0
- package/build/tests/deploy.d.ts +1 -0
- package/build/tests/deploy.js +41 -0
- package/build/tests/deployMotoRegStep1.d.ts +1 -0
- package/build/tests/deployMotoRegStep1.js +85 -0
- package/build/tests/deployReg.d.ts +1 -0
- package/build/tests/deployReg.js +85 -0
- package/build/tests/factory/createPairReg.d.ts +1 -0
- package/build/tests/factory/createPairReg.js +13 -0
- package/build/tests/gen.d.ts +1 -0
- package/build/tests/gen.js +19 -0
- package/build/tests/interaction.d.ts +5 -0
- package/build/tests/interaction.js +62 -0
- package/build/tests/massWrapReg.d.ts +1 -0
- package/build/tests/massWrapReg.js +105 -0
- package/build/tests/mineReg.d.ts +1 -0
- package/build/tests/mineReg.js +19 -0
- package/build/tests/moto/airdropToken.d.ts +1 -0
- package/build/tests/moto/airdropToken.js +21 -0
- package/build/tests/moto/airdropTokens.d.ts +1 -0
- package/build/tests/moto/airdropTokens.js +60 -0
- package/build/tests/moto/allowance.d.ts +1 -0
- package/build/tests/moto/allowance.js +6 -0
- package/build/tests/moto/approve.d.ts +1 -0
- package/build/tests/moto/approve.js +10 -0
- package/build/tests/moto/approveWBTC.d.ts +1 -0
- package/build/tests/moto/approveWBTC.js +12 -0
- package/build/tests/moto/balanceOf.d.ts +1 -0
- package/build/tests/moto/balanceOf.js +12 -0
- package/build/tests/moto/transfer.d.ts +1 -0
- package/build/tests/moto/transfer.js +16 -0
- package/build/tests/motoswap/airdropToken.d.ts +11 -0
- package/build/tests/motoswap/airdropToken.js +36 -0
- package/build/tests/motoswap/deployMoto.d.ts +4 -0
- package/build/tests/motoswap/deployMoto.js +89 -0
- package/build/tests/motoswap/deployMotoRegStep1.d.ts +1 -0
- package/build/tests/motoswap/deployMotoRegStep1.js +91 -0
- package/build/tests/motoswap/deployMotoRegStep2.d.ts +1 -0
- package/build/tests/motoswap/deployMotoRegStep2.js +91 -0
- package/build/tests/motoswap/deployPool.d.ts +1 -0
- package/build/tests/motoswap/deployPool.js +5 -0
- package/build/tests/motoswap/deployStep1.d.ts +1 -0
- package/build/tests/motoswap/deployStep1.js +5 -0
- package/build/tests/motoswap/deployStep2.d.ts +1 -0
- package/build/tests/motoswap/deployStep2.js +5 -0
- package/build/tests/motoswap/deployStep3.d.ts +1 -0
- package/build/tests/motoswap/deployStep3.js +5 -0
- package/build/tests/motoswap/interaction.d.ts +3 -0
- package/build/tests/motoswap/interaction.js +63 -0
- package/build/tests/motoswap/routerAddLiquidity.d.ts +11 -0
- package/build/tests/motoswap/routerAddLiquidity.js +35 -0
- package/build/tests/motoswap-router/addLiquidity.d.ts +11 -0
- package/build/tests/motoswap-router/addLiquidity.js +36 -0
- package/build/tests/motoswap-router/deployMoto.d.ts +4 -0
- package/build/tests/motoswap-router/deployMoto.js +89 -0
- package/build/tests/motoswap-router/deployPool.d.ts +1 -0
- package/build/tests/motoswap-router/deployPool.js +5 -0
- package/build/tests/motoswap-router/deployStep1.d.ts +1 -0
- package/build/tests/motoswap-router/deployStep1.js +5 -0
- package/build/tests/motoswap-router/deployStep2.d.ts +1 -0
- package/build/tests/motoswap-router/deployStep2.js +5 -0
- package/build/tests/motoswap-router/deployStep3.d.ts +1 -0
- package/build/tests/motoswap-router/deployStep3.js +5 -0
- package/build/tests/motoswap-router/getAmountsOut.d.ts +5 -0
- package/build/tests/motoswap-router/getAmountsOut.js +34 -0
- package/build/tests/motoswap-router/routerAddLiquidity.d.ts +11 -0
- package/build/tests/motoswap-router/routerAddLiquidity.js +35 -0
- package/build/tests/motoswap-router/swap.d.ts +8 -0
- package/build/tests/motoswap-router/swap.js +24 -0
- package/build/tests/multisign.d.ts +1 -0
- package/build/tests/multisign.js +47 -0
- package/build/tests/multisign2.d.ts +1 -0
- package/build/tests/multisign2.js +27 -0
- package/build/tests/pool/DecodePoolAddress.d.ts +6 -0
- package/build/tests/pool/DecodePoolAddress.js +12 -0
- package/build/tests/pool/decodeReserves.d.ts +5 -0
- package/build/tests/pool/decodeReserves.js +13 -0
- package/build/tests/pool/reserves.d.ts +1 -0
- package/build/tests/pool/reserves.js +18 -0
- package/build/tests/shared/Utils.d.ts +2 -0
- package/build/tests/shared/Utils.js +14 -0
- package/build/tests/shared/interaction.d.ts +7 -0
- package/build/tests/shared/interaction.js +85 -0
- package/build/tests/shared/tokens.d.ts +6 -0
- package/build/tests/shared/tokens.js +5 -0
- package/build/tests/stakeReg.d.ts +1 -0
- package/build/tests/stakeReg.js +73 -0
- package/build/tests/stakedReg.d.ts +1 -0
- package/build/tests/stakedReg.js +28 -0
- package/build/tests/test.d.ts +1 -0
- package/build/tests/test.js +51 -0
- package/build/tests/test2.d.ts +1 -0
- package/build/tests/test2.js +73 -0
- package/build/tests/testReg.d.ts +1 -0
- package/build/tests/testReg.js +91 -0
- package/build/tests/tokens.d.ts +6 -0
- package/build/tests/tokens.js +5 -0
- package/build/tests/totalRewardReg.d.ts +1 -0
- package/build/tests/totalRewardReg.js +28 -0
- package/build/tests/transfer.d.ts +1 -0
- package/build/tests/transfer.js +74 -0
- package/build/tests/transferReg.d.ts +1 -0
- package/build/tests/transferReg.js +74 -0
- package/build/tests/unStakeReg.d.ts +1 -0
- package/build/tests/unStakeReg.js +72 -0
- package/build/tests/unwrapReg.d.ts +1 -0
- package/build/tests/unwrapReg.js +61 -0
- package/build/tests/unwrapReg2.d.ts +1 -0
- package/build/tests/unwrapReg2.js +56 -0
- package/build/tests/unwrapRegSegwit.d.ts +1 -0
- package/build/tests/unwrapRegSegwit.js +83 -0
- package/build/tests/wbtc/approve.d.ts +1 -0
- package/build/tests/wbtc/approve.js +6 -0
- package/build/tests/wbtc/approveWBTC.d.ts +1 -0
- package/build/tests/wbtc/approveWBTC.js +12 -0
- package/build/tests/wbtc/massWrapReg.d.ts +1 -0
- package/build/tests/wbtc/massWrapReg.js +105 -0
- package/build/tests/wbtc/transfer.d.ts +1 -0
- package/build/tests/wbtc/transfer.js +16 -0
- package/build/tests/wbtc/transferReg.d.ts +1 -0
- package/build/tests/wbtc/transferReg.js +16 -0
- package/build/tests/wbtc/unStakeReg.d.ts +1 -0
- package/build/tests/wbtc/unStakeReg.js +72 -0
- package/build/tests/wbtc/unwrapReg.d.ts +1 -0
- package/build/tests/wbtc/unwrapReg.js +60 -0
- package/build/tests/wbtc/unwrapRegSegwit.d.ts +1 -0
- package/build/tests/wbtc/unwrapRegSegwit.js +83 -0
- package/build/tests/wbtc/withdrawalRequestReg.d.ts +1 -0
- package/build/tests/wbtc/withdrawalRequestReg.js +71 -0
- package/build/tests/wbtc/wrapReg.d.ts +1 -0
- package/build/tests/wbtc/wrapReg.js +65 -0
- package/build/tests/wbtc/wrapTest.d.ts +1 -0
- package/build/tests/wbtc/wrapTest.js +66 -0
- package/build/tests/withdrawalRequestReg.d.ts +1 -0
- package/build/tests/withdrawalRequestReg.js +71 -0
- package/build/tests/wrap.d.ts +1 -0
- package/build/tests/wrap.js +65 -0
- package/build/tests/wrapReg.d.ts +1 -0
- package/build/tests/wrapReg.js +68 -0
- package/build/tests/wrapTest.d.ts +1 -0
- package/build/tests/wrapTest.js +66 -0
- package/build/tests/wrapTestg.d.ts +1 -0
- package/build/tests/wrapTestg.js +66 -0
- package/build/tests/writers/allowance.d.ts +3 -0
- package/build/tests/writers/allowance.js +10 -0
- package/build/tests/writers/approve.d.ts +4 -0
- package/build/tests/writers/approve.js +11 -0
- package/build/transaction/TransactionBuilder.d.ts +60 -0
- package/build/transaction/TransactionBuilder.js +244 -0
- package/build/transaction/TransactionFactory.js +3 -2
- package/build/transaction/browser/BrowserSigner.d.ts +11 -0
- package/build/transaction/browser/BrowserSigner.js +10 -0
- package/build/transaction/browser/extensions/Unisat.d.ts +54 -0
- package/build/transaction/browser/extensions/Unisat.js +11 -0
- package/build/transaction/builders/GenericTransaction.d.ts +11 -0
- package/build/transaction/builders/GenericTransaction.js +23 -0
- package/build/transaction/builders/TapUnwarpTransaction.d.ts +37 -0
- package/build/transaction/builders/TapUnwarpTransaction.js +201 -0
- package/build/transaction/builders/TransactionBuilder.js +1 -1
- package/build/transaction/builders/UnwarpSegwitTransaction.d.ts +34 -0
- package/build/transaction/builders/UnwarpSegwitTransaction.js +184 -0
- package/build/transaction/builders/UnwarpTransaction.d.ts +35 -0
- package/build/transaction/builders/UnwarpTransaction.js +199 -0
- package/build/transaction/interfaces/ITransactions.d.ts +32 -0
- package/build/transaction/interfaces/ITransactions.js +1 -0
- package/build/utxo/IUTXO.d.ts +0 -0
- package/build/utxo/IUTXO.js +1 -0
- package/build/utxo/OPNetUtils.d.ts +7 -0
- package/build/utxo/OPNetUtils.js +47 -0
- package/build/utxo/UTXOManager.d.ts +7 -0
- package/build/utxo/UTXOManager.js +47 -0
- package/build/wbtc/BroadcastResponse.d.ts +0 -0
- package/build/wbtc/BroadcastResponse.js +1 -0
- package/gulpfile.js +152 -152
- package/package.json +1 -1
- package/src/_version.ts +1 -1
- package/src/consensus/Consensus.ts +36 -36
- package/src/consensus/ConsensusConfig.ts +39 -39
- package/src/crypto/crypto-browser.js +75 -75
- package/src/generators/AddressGenerator.ts +24 -24
- package/src/generators/Features.ts +5 -5
- package/src/generators/Generator.ts +75 -75
- package/src/generators/builders/CalldataGenerator.ts +148 -148
- package/src/generators/builders/DeploymentGenerator.ts +66 -66
- package/src/index.ts +4 -4
- package/src/keypair/AddressVerificator.ts +40 -40
- package/src/keypair/EcKeyPair.ts +282 -282
- package/src/keypair/Wallet.ts +97 -97
- package/src/keypair/interfaces/IWallet.ts +19 -19
- package/src/metadata/ContractBaseMetadata.ts +23 -23
- package/src/network/NetworkInformation.ts +7 -7
- package/src/opnet.ts +84 -84
- package/src/transaction/TransactionFactory.ts +3 -2
- package/src/transaction/browser/BrowserSignerBase.ts +37 -37
- package/src/transaction/browser/Web3Provider.ts +46 -46
- package/src/transaction/browser/extensions/UnisatSigner.ts +218 -218
- package/src/transaction/browser/types/Unisat.ts +80 -80
- package/src/transaction/builders/FundingTransaction.ts +40 -40
- package/src/transaction/builders/InteractionTransaction.ts +38 -38
- package/src/transaction/builders/SharedInteractionTransaction.ts +368 -368
- package/src/transaction/builders/TransactionBuilder.ts +665 -665
- package/src/transaction/interfaces/Tap.ts +26 -26
- package/src/transaction/psbt/PSBTTypes.ts +3 -3
- package/src/transaction/shared/TweakedTransaction.ts +537 -537
- package/src/utxo/OPNetLimitedProvider.ts +244 -244
- package/src/utxo/interfaces/BroadcastResponse.ts +10 -10
- package/src/utxo/interfaces/IUTXO.ts +29 -29
- package/src/verification/TapscriptVerificator.ts +89 -89
- package/src/wbtc/Generate.ts +40 -40
- package/src/wbtc/UnwrapGeneration.ts +13 -13
- package/src/wbtc/WrappedGenerationParameters.ts +33 -33
- package/webpack.config.js +78 -78
- /package/build/generators/builders/{MultiSignGenerator.d.ts → MultisignGenerator.d.ts} +0 -0
- /package/build/generators/builders/{MultiSignGenerator.js → MultisignGenerator.js} +0 -0
- /package/build/generators/{Features.d.ts → features.d.ts} +0 -0
- /package/build/generators/{Features.js → features.js} +0 -0
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { Signer } from 'bitcoinjs-lib';
|
|
3
|
+
import { UTXO } from '../../utxo/interfaces/IUTXO.js';
|
|
4
|
+
import { ECPairInterface } from 'ecpair';
|
|
5
|
+
import { Network } from 'bitcoinjs-lib/src/networks.js';
|
|
6
|
+
export interface ITransactionParameters {
|
|
7
|
+
readonly from: string;
|
|
8
|
+
readonly utxos: UTXO[];
|
|
9
|
+
readonly signer: ECPairInterface;
|
|
10
|
+
readonly network: Network;
|
|
11
|
+
readonly feeRate: number;
|
|
12
|
+
readonly priorityFee: bigint;
|
|
13
|
+
}
|
|
14
|
+
export interface SewgitTransactionParameters extends ITransactionParameters {
|
|
15
|
+
}
|
|
16
|
+
export interface ITransactionDataContractInteraction extends ITransactionParameters {
|
|
17
|
+
readonly contractSecret: Buffer;
|
|
18
|
+
readonly calldata: Buffer;
|
|
19
|
+
readonly customSigner: Signer;
|
|
20
|
+
readonly pubKeys?: Buffer[];
|
|
21
|
+
readonly minimumSignatures?: number;
|
|
22
|
+
}
|
|
23
|
+
export interface ITransactionDataContractInteractionWrap extends ITransactionDataContractInteraction {
|
|
24
|
+
readonly amount: bigint;
|
|
25
|
+
readonly minimumSignatures: number;
|
|
26
|
+
readonly pubKeys: Buffer[];
|
|
27
|
+
}
|
|
28
|
+
export interface ITransactionDataContractDeployment extends ITransactionParameters {
|
|
29
|
+
readonly bytecode: Buffer;
|
|
30
|
+
readonly salt: Buffer;
|
|
31
|
+
readonly customSigner: Signer;
|
|
32
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export class UTXOManager {
|
|
2
|
+
opnetAPIUrl;
|
|
3
|
+
utxoPath = 'address/utxos';
|
|
4
|
+
constructor(opnetAPIUrl) {
|
|
5
|
+
this.opnetAPIUrl = opnetAPIUrl;
|
|
6
|
+
}
|
|
7
|
+
async fetchUTXO(settings) {
|
|
8
|
+
const params = {
|
|
9
|
+
method: 'GET',
|
|
10
|
+
headers: {
|
|
11
|
+
'Content-Type': 'application/json',
|
|
12
|
+
},
|
|
13
|
+
};
|
|
14
|
+
const url = `${this.opnetAPIUrl}/api/v1/${this.utxoPath}?address=${settings.address}`;
|
|
15
|
+
const resp = await fetch(url, params);
|
|
16
|
+
if (!resp.ok) {
|
|
17
|
+
throw new Error(`Failed to fetch UTXO data: ${resp.statusText}`);
|
|
18
|
+
}
|
|
19
|
+
const fetchedData = await resp.json();
|
|
20
|
+
if (fetchedData.length === 0) {
|
|
21
|
+
throw new Error('No UTXO found');
|
|
22
|
+
}
|
|
23
|
+
const meetCriteria = fetchedData.filter((utxo) => {
|
|
24
|
+
return BigInt(utxo.value) >= settings.minAmount;
|
|
25
|
+
});
|
|
26
|
+
if (meetCriteria.length === 0) {
|
|
27
|
+
throw new Error('No UTXO found (minAmount)');
|
|
28
|
+
}
|
|
29
|
+
let finalUTXOs = [];
|
|
30
|
+
let currentAmount = 0n;
|
|
31
|
+
const amountRequested = settings.requestedAmount;
|
|
32
|
+
for (const utxo of meetCriteria) {
|
|
33
|
+
const utxoValue = BigInt(utxo.value);
|
|
34
|
+
currentAmount += utxoValue;
|
|
35
|
+
finalUTXOs.push({
|
|
36
|
+
transactionId: utxo.transactionId,
|
|
37
|
+
outputIndex: utxo.outputIndex,
|
|
38
|
+
value: utxoValue,
|
|
39
|
+
scriptPubKey: utxo.scriptPubKey,
|
|
40
|
+
});
|
|
41
|
+
if (currentAmount + utxoValue > amountRequested) {
|
|
42
|
+
break;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return finalUTXOs;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export class UTXOManager {
|
|
2
|
+
opnetAPIUrl;
|
|
3
|
+
utxoPath = 'address/utxos';
|
|
4
|
+
constructor(opnetAPIUrl) {
|
|
5
|
+
this.opnetAPIUrl = opnetAPIUrl;
|
|
6
|
+
}
|
|
7
|
+
async fetchUTXO(settings) {
|
|
8
|
+
const params = {
|
|
9
|
+
method: 'GET',
|
|
10
|
+
headers: {
|
|
11
|
+
'Content-Type': 'application/json',
|
|
12
|
+
},
|
|
13
|
+
};
|
|
14
|
+
const url = `${this.opnetAPIUrl}/api/v1/${this.utxoPath}?address=${settings.address}`;
|
|
15
|
+
const resp = await fetch(url, params);
|
|
16
|
+
if (!resp.ok) {
|
|
17
|
+
throw new Error(`Failed to fetch UTXO data: ${resp.statusText}`);
|
|
18
|
+
}
|
|
19
|
+
const fetchedData = await resp.json();
|
|
20
|
+
if (fetchedData.length === 0) {
|
|
21
|
+
throw new Error('No UTXO found');
|
|
22
|
+
}
|
|
23
|
+
const meetCriteria = fetchedData.filter((utxo) => {
|
|
24
|
+
return BigInt(utxo.value) >= settings.minAmount;
|
|
25
|
+
});
|
|
26
|
+
if (meetCriteria.length === 0) {
|
|
27
|
+
throw new Error('No UTXO found (minAmount)');
|
|
28
|
+
}
|
|
29
|
+
let finalUTXOs = [];
|
|
30
|
+
let currentAmount = 0n;
|
|
31
|
+
const amountRequested = settings.requestedAmount;
|
|
32
|
+
for (const utxo of meetCriteria) {
|
|
33
|
+
const utxoValue = BigInt(utxo.value);
|
|
34
|
+
currentAmount += utxoValue;
|
|
35
|
+
finalUTXOs.push({
|
|
36
|
+
transactionId: utxo.transactionId,
|
|
37
|
+
outputIndex: utxo.outputIndex,
|
|
38
|
+
value: utxoValue,
|
|
39
|
+
scriptPubKey: utxo.scriptPubKey,
|
|
40
|
+
});
|
|
41
|
+
if (currentAmount + utxoValue > amountRequested) {
|
|
42
|
+
break;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return finalUTXOs;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";
|
package/gulpfile.js
CHANGED
|
@@ -1,152 +1,152 @@
|
|
|
1
|
-
process.on('uncaughtException', function (err) {
|
|
2
|
-
console.log('Caught exception: ', err);
|
|
3
|
-
});
|
|
4
|
-
|
|
5
|
-
import gulp from 'gulp';
|
|
6
|
-
import gulpcache from 'gulp-cached';
|
|
7
|
-
import logger from 'gulp-logger';
|
|
8
|
-
import ts from 'gulp-typescript';
|
|
9
|
-
|
|
10
|
-
const tsProject = ts.createProject('tsconfig.json');
|
|
11
|
-
const tsProjectCJS = ts.createProject('tsconfig.cjs.json');
|
|
12
|
-
|
|
13
|
-
function onError(e) {
|
|
14
|
-
console.log('Errored', e);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
async function build() {
|
|
18
|
-
return new Promise(async (resolve) => {
|
|
19
|
-
tsProject
|
|
20
|
-
.src()
|
|
21
|
-
.pipe(gulpcache())
|
|
22
|
-
.pipe(
|
|
23
|
-
logger({
|
|
24
|
-
before: 'Starting...',
|
|
25
|
-
after: 'Project compiled!',
|
|
26
|
-
extname: '.js',
|
|
27
|
-
showChange: true,
|
|
28
|
-
}),
|
|
29
|
-
)
|
|
30
|
-
.pipe(tsProject())
|
|
31
|
-
.on('error', onError)
|
|
32
|
-
.pipe(gulp.dest('build'))
|
|
33
|
-
.on('end', async () => {
|
|
34
|
-
resolve();
|
|
35
|
-
});
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
async function buildCJS() {
|
|
40
|
-
return new Promise(async (resolve) => {
|
|
41
|
-
tsProject
|
|
42
|
-
.src()
|
|
43
|
-
.pipe(gulpcache())
|
|
44
|
-
.pipe(
|
|
45
|
-
logger({
|
|
46
|
-
before: 'Starting...',
|
|
47
|
-
after: 'Project compiled!',
|
|
48
|
-
extname: '.js',
|
|
49
|
-
showChange: true,
|
|
50
|
-
}),
|
|
51
|
-
)
|
|
52
|
-
.pipe(tsProjectCJS())
|
|
53
|
-
.on('error', onError)
|
|
54
|
-
.pipe(gulp.dest('cjs'))
|
|
55
|
-
.on('end', async () => {
|
|
56
|
-
resolve();
|
|
57
|
-
});
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
async function buildProtoYaml() {
|
|
62
|
-
return new Promise(async (resolve) => {
|
|
63
|
-
gulp.src('./src/**/*.yaml')
|
|
64
|
-
.pipe(
|
|
65
|
-
logger({
|
|
66
|
-
before: 'Starting...',
|
|
67
|
-
after: 'Compiled yaml.',
|
|
68
|
-
extname: '.yaml',
|
|
69
|
-
showChange: true,
|
|
70
|
-
}),
|
|
71
|
-
)
|
|
72
|
-
.pipe(gulpcache())
|
|
73
|
-
.pipe(gulp.dest('./build/'))
|
|
74
|
-
.on('end', () => {
|
|
75
|
-
gulp.src('./src/**/*.proto')
|
|
76
|
-
.pipe(
|
|
77
|
-
logger({
|
|
78
|
-
before: 'Starting...',
|
|
79
|
-
after: 'Compiled protobuf.',
|
|
80
|
-
extname: '.proto',
|
|
81
|
-
showChange: true,
|
|
82
|
-
}),
|
|
83
|
-
)
|
|
84
|
-
.pipe(gulp.dest('./build/'))
|
|
85
|
-
.on('end', async () => {
|
|
86
|
-
gulp.src('./src/config/*.conf')
|
|
87
|
-
.pipe(
|
|
88
|
-
logger({
|
|
89
|
-
before: 'Starting...',
|
|
90
|
-
after: 'Compiled conf.',
|
|
91
|
-
extname: '.conf',
|
|
92
|
-
showChange: true,
|
|
93
|
-
}),
|
|
94
|
-
)
|
|
95
|
-
.pipe(gulpcache())
|
|
96
|
-
.pipe(gulp.dest('./build/config'))
|
|
97
|
-
.on('end', async () => {
|
|
98
|
-
resolve();
|
|
99
|
-
});
|
|
100
|
-
});
|
|
101
|
-
});
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
gulp.task('default', async () => {
|
|
106
|
-
await build().catch((e) => {});
|
|
107
|
-
await buildProtoYaml();
|
|
108
|
-
|
|
109
|
-
return true;
|
|
110
|
-
});
|
|
111
|
-
|
|
112
|
-
gulp.task('cjs', async () => {
|
|
113
|
-
await buildCJS().catch((e) => {});
|
|
114
|
-
await buildProtoYaml();
|
|
115
|
-
|
|
116
|
-
return true;
|
|
117
|
-
});
|
|
118
|
-
|
|
119
|
-
gulp.task('watch', () => {
|
|
120
|
-
gulp.watch(
|
|
121
|
-
['src/**/**/*.ts', 'src/**/*.ts', 'src/**/*.js', 'src/*.ts', 'src/*.js'],
|
|
122
|
-
async (cb) => {
|
|
123
|
-
await build().catch((e) => {
|
|
124
|
-
console.log('Errored 2', e);
|
|
125
|
-
});
|
|
126
|
-
|
|
127
|
-
cb();
|
|
128
|
-
},
|
|
129
|
-
);
|
|
130
|
-
|
|
131
|
-
gulp.watch(
|
|
132
|
-
[
|
|
133
|
-
'src/components/*.yaml',
|
|
134
|
-
'src/**/*.yaml',
|
|
135
|
-
'src/src/*.yaml',
|
|
136
|
-
'src/*.proto',
|
|
137
|
-
'src/**/**/*.proto',
|
|
138
|
-
'src/**/*.proto',
|
|
139
|
-
'*.proto',
|
|
140
|
-
'*.yaml',
|
|
141
|
-
'*.conf',
|
|
142
|
-
'src/config/*.conf',
|
|
143
|
-
],
|
|
144
|
-
async (cb) => {
|
|
145
|
-
await buildProtoYaml().catch((e) => {
|
|
146
|
-
console.log('Errored 2', e);
|
|
147
|
-
});
|
|
148
|
-
|
|
149
|
-
cb();
|
|
150
|
-
},
|
|
151
|
-
);
|
|
152
|
-
});
|
|
1
|
+
process.on('uncaughtException', function (err) {
|
|
2
|
+
console.log('Caught exception: ', err);
|
|
3
|
+
});
|
|
4
|
+
|
|
5
|
+
import gulp from 'gulp';
|
|
6
|
+
import gulpcache from 'gulp-cached';
|
|
7
|
+
import logger from 'gulp-logger';
|
|
8
|
+
import ts from 'gulp-typescript';
|
|
9
|
+
|
|
10
|
+
const tsProject = ts.createProject('tsconfig.json');
|
|
11
|
+
const tsProjectCJS = ts.createProject('tsconfig.cjs.json');
|
|
12
|
+
|
|
13
|
+
function onError(e) {
|
|
14
|
+
console.log('Errored', e);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
async function build() {
|
|
18
|
+
return new Promise(async (resolve) => {
|
|
19
|
+
tsProject
|
|
20
|
+
.src()
|
|
21
|
+
.pipe(gulpcache())
|
|
22
|
+
.pipe(
|
|
23
|
+
logger({
|
|
24
|
+
before: 'Starting...',
|
|
25
|
+
after: 'Project compiled!',
|
|
26
|
+
extname: '.js',
|
|
27
|
+
showChange: true,
|
|
28
|
+
}),
|
|
29
|
+
)
|
|
30
|
+
.pipe(tsProject())
|
|
31
|
+
.on('error', onError)
|
|
32
|
+
.pipe(gulp.dest('build'))
|
|
33
|
+
.on('end', async () => {
|
|
34
|
+
resolve();
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
async function buildCJS() {
|
|
40
|
+
return new Promise(async (resolve) => {
|
|
41
|
+
tsProject
|
|
42
|
+
.src()
|
|
43
|
+
.pipe(gulpcache())
|
|
44
|
+
.pipe(
|
|
45
|
+
logger({
|
|
46
|
+
before: 'Starting...',
|
|
47
|
+
after: 'Project compiled!',
|
|
48
|
+
extname: '.js',
|
|
49
|
+
showChange: true,
|
|
50
|
+
}),
|
|
51
|
+
)
|
|
52
|
+
.pipe(tsProjectCJS())
|
|
53
|
+
.on('error', onError)
|
|
54
|
+
.pipe(gulp.dest('cjs'))
|
|
55
|
+
.on('end', async () => {
|
|
56
|
+
resolve();
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
async function buildProtoYaml() {
|
|
62
|
+
return new Promise(async (resolve) => {
|
|
63
|
+
gulp.src('./src/**/*.yaml')
|
|
64
|
+
.pipe(
|
|
65
|
+
logger({
|
|
66
|
+
before: 'Starting...',
|
|
67
|
+
after: 'Compiled yaml.',
|
|
68
|
+
extname: '.yaml',
|
|
69
|
+
showChange: true,
|
|
70
|
+
}),
|
|
71
|
+
)
|
|
72
|
+
.pipe(gulpcache())
|
|
73
|
+
.pipe(gulp.dest('./build/'))
|
|
74
|
+
.on('end', () => {
|
|
75
|
+
gulp.src('./src/**/*.proto')
|
|
76
|
+
.pipe(
|
|
77
|
+
logger({
|
|
78
|
+
before: 'Starting...',
|
|
79
|
+
after: 'Compiled protobuf.',
|
|
80
|
+
extname: '.proto',
|
|
81
|
+
showChange: true,
|
|
82
|
+
}),
|
|
83
|
+
)
|
|
84
|
+
.pipe(gulp.dest('./build/'))
|
|
85
|
+
.on('end', async () => {
|
|
86
|
+
gulp.src('./src/config/*.conf')
|
|
87
|
+
.pipe(
|
|
88
|
+
logger({
|
|
89
|
+
before: 'Starting...',
|
|
90
|
+
after: 'Compiled conf.',
|
|
91
|
+
extname: '.conf',
|
|
92
|
+
showChange: true,
|
|
93
|
+
}),
|
|
94
|
+
)
|
|
95
|
+
.pipe(gulpcache())
|
|
96
|
+
.pipe(gulp.dest('./build/config'))
|
|
97
|
+
.on('end', async () => {
|
|
98
|
+
resolve();
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
gulp.task('default', async () => {
|
|
106
|
+
await build().catch((e) => {});
|
|
107
|
+
await buildProtoYaml();
|
|
108
|
+
|
|
109
|
+
return true;
|
|
110
|
+
});
|
|
111
|
+
|
|
112
|
+
gulp.task('cjs', async () => {
|
|
113
|
+
await buildCJS().catch((e) => {});
|
|
114
|
+
await buildProtoYaml();
|
|
115
|
+
|
|
116
|
+
return true;
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
gulp.task('watch', () => {
|
|
120
|
+
gulp.watch(
|
|
121
|
+
['src/**/**/*.ts', 'src/**/*.ts', 'src/**/*.js', 'src/*.ts', 'src/*.js'],
|
|
122
|
+
async (cb) => {
|
|
123
|
+
await build().catch((e) => {
|
|
124
|
+
console.log('Errored 2', e);
|
|
125
|
+
});
|
|
126
|
+
|
|
127
|
+
cb();
|
|
128
|
+
},
|
|
129
|
+
);
|
|
130
|
+
|
|
131
|
+
gulp.watch(
|
|
132
|
+
[
|
|
133
|
+
'src/components/*.yaml',
|
|
134
|
+
'src/**/*.yaml',
|
|
135
|
+
'src/src/*.yaml',
|
|
136
|
+
'src/*.proto',
|
|
137
|
+
'src/**/**/*.proto',
|
|
138
|
+
'src/**/*.proto',
|
|
139
|
+
'*.proto',
|
|
140
|
+
'*.yaml',
|
|
141
|
+
'*.conf',
|
|
142
|
+
'src/config/*.conf',
|
|
143
|
+
],
|
|
144
|
+
async (cb) => {
|
|
145
|
+
await buildProtoYaml().catch((e) => {
|
|
146
|
+
console.log('Errored 2', e);
|
|
147
|
+
});
|
|
148
|
+
|
|
149
|
+
cb();
|
|
150
|
+
},
|
|
151
|
+
);
|
|
152
|
+
});
|
package/package.json
CHANGED
package/src/_version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const version = '1.0.
|
|
1
|
+
export const version = '1.0.61';
|
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @description Target consensus updates.
|
|
3
|
-
*
|
|
4
|
-
* @description For one year, there will be a new consensus update every 3 months.
|
|
5
|
-
* @description After one year, there will be a new consensus update every 6 months.
|
|
6
|
-
* @description After two years, there will be a new consensus update every year.
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
export enum Consensus {
|
|
10
|
-
Roswell = 0, // Start of the network.
|
|
11
|
-
Rachel = 1,
|
|
12
|
-
Kecksburg = 2,
|
|
13
|
-
Phoenix = 3,
|
|
14
|
-
Aurora = 4, // End of first year.
|
|
15
|
-
Rendlesham = 5,
|
|
16
|
-
Lazar = 6, // End of second year.
|
|
17
|
-
ShagHarbor = 7,
|
|
18
|
-
Exeter = 8,
|
|
19
|
-
Stephenville = 9,
|
|
20
|
-
Valensole = 10,
|
|
21
|
-
Socorro = 11,
|
|
22
|
-
Pascagoula = 12,
|
|
23
|
-
Tehran = 13,
|
|
24
|
-
Westall = 14,
|
|
25
|
-
Hopkinsville = 15,
|
|
26
|
-
Belgium = 16,
|
|
27
|
-
Breeze = 17,
|
|
28
|
-
Flatwoods = 18,
|
|
29
|
-
Maury = 20,
|
|
30
|
-
Varginha = 21,
|
|
31
|
-
Trindade = 22,
|
|
32
|
-
Levelland = 23,
|
|
33
|
-
Wanaque = 24,
|
|
34
|
-
Coyame = 25,
|
|
35
|
-
Delphos = 26,
|
|
36
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* @description Target consensus updates.
|
|
3
|
+
*
|
|
4
|
+
* @description For one year, there will be a new consensus update every 3 months.
|
|
5
|
+
* @description After one year, there will be a new consensus update every 6 months.
|
|
6
|
+
* @description After two years, there will be a new consensus update every year.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
export enum Consensus {
|
|
10
|
+
Roswell = 0, // Start of the network.
|
|
11
|
+
Rachel = 1,
|
|
12
|
+
Kecksburg = 2,
|
|
13
|
+
Phoenix = 3,
|
|
14
|
+
Aurora = 4, // End of first year.
|
|
15
|
+
Rendlesham = 5,
|
|
16
|
+
Lazar = 6, // End of second year.
|
|
17
|
+
ShagHarbor = 7,
|
|
18
|
+
Exeter = 8,
|
|
19
|
+
Stephenville = 9,
|
|
20
|
+
Valensole = 10,
|
|
21
|
+
Socorro = 11,
|
|
22
|
+
Pascagoula = 12,
|
|
23
|
+
Tehran = 13,
|
|
24
|
+
Westall = 14,
|
|
25
|
+
Hopkinsville = 15,
|
|
26
|
+
Belgium = 16,
|
|
27
|
+
Breeze = 17,
|
|
28
|
+
Flatwoods = 18,
|
|
29
|
+
Maury = 20,
|
|
30
|
+
Varginha = 21,
|
|
31
|
+
Trindade = 22,
|
|
32
|
+
Levelland = 23,
|
|
33
|
+
Wanaque = 24,
|
|
34
|
+
Coyame = 25,
|
|
35
|
+
Delphos = 26,
|
|
36
|
+
}
|
|
@@ -1,39 +1,39 @@
|
|
|
1
|
-
import { Consensus } from './Consensus.js';
|
|
2
|
-
import { RoswellConsensus } from './metadata/RoswellConsensus.js';
|
|
3
|
-
|
|
4
|
-
export interface ConsensusConfig<T extends Consensus> {
|
|
5
|
-
// The consensus type.
|
|
6
|
-
readonly CONSENSUS: T;
|
|
7
|
-
|
|
8
|
-
// The consensus name.
|
|
9
|
-
readonly CONSENSUS_NAME: string;
|
|
10
|
-
|
|
11
|
-
// The block height at which this consensus was enabled.
|
|
12
|
-
readonly ENABLED_AT_BLOCK: bigint;
|
|
13
|
-
|
|
14
|
-
/** WBTC vaults */
|
|
15
|
-
// Defines the minimum amount that can be consolidated in a single transaction.
|
|
16
|
-
readonly VAULT_MINIMUM_AMOUNT: bigint;
|
|
17
|
-
|
|
18
|
-
// Defines the requested minimum acceptance for joining UTXOs when an unwrap is being done.
|
|
19
|
-
// If the consolidate output going back to the vault is lower than this amount, the transaction will be rejected.
|
|
20
|
-
// User must pay for the consolidation, this help the network by having fewer UTXOs.
|
|
21
|
-
readonly VAULT_NETWORK_CONSOLIDATION_ACCEPTANCE: bigint;
|
|
22
|
-
|
|
23
|
-
// Everytime an user wrap bitcoin, he prepays the fees for the consolidation at a maximum fee rate of the following determined value.
|
|
24
|
-
// If the fees are lower, the user will be refunded the difference.
|
|
25
|
-
// If the fees are higher, the user must pay the difference.
|
|
26
|
-
readonly UNWRAP_CONSOLIDATION_PREPAID_FEES: bigint;
|
|
27
|
-
|
|
28
|
-
// The maximum fee rate for the consolidation.
|
|
29
|
-
readonly UNWRAP_CONSOLIDATION_PREPAID_FEES_SAT: bigint;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
export const OPNetConsensusConfig: { [key in Consensus]?: ConsensusConfig<key> } = {
|
|
33
|
-
[Consensus.Roswell]: RoswellConsensus,
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
export const currentConsensus = Consensus.Roswell;
|
|
37
|
-
export const currentConsensusConfig = OPNetConsensusConfig[
|
|
38
|
-
currentConsensus
|
|
39
|
-
] as ConsensusConfig<Consensus.Roswell>;
|
|
1
|
+
import { Consensus } from './Consensus.js';
|
|
2
|
+
import { RoswellConsensus } from './metadata/RoswellConsensus.js';
|
|
3
|
+
|
|
4
|
+
export interface ConsensusConfig<T extends Consensus> {
|
|
5
|
+
// The consensus type.
|
|
6
|
+
readonly CONSENSUS: T;
|
|
7
|
+
|
|
8
|
+
// The consensus name.
|
|
9
|
+
readonly CONSENSUS_NAME: string;
|
|
10
|
+
|
|
11
|
+
// The block height at which this consensus was enabled.
|
|
12
|
+
readonly ENABLED_AT_BLOCK: bigint;
|
|
13
|
+
|
|
14
|
+
/** WBTC vaults */
|
|
15
|
+
// Defines the minimum amount that can be consolidated in a single transaction.
|
|
16
|
+
readonly VAULT_MINIMUM_AMOUNT: bigint;
|
|
17
|
+
|
|
18
|
+
// Defines the requested minimum acceptance for joining UTXOs when an unwrap is being done.
|
|
19
|
+
// If the consolidate output going back to the vault is lower than this amount, the transaction will be rejected.
|
|
20
|
+
// User must pay for the consolidation, this help the network by having fewer UTXOs.
|
|
21
|
+
readonly VAULT_NETWORK_CONSOLIDATION_ACCEPTANCE: bigint;
|
|
22
|
+
|
|
23
|
+
// Everytime an user wrap bitcoin, he prepays the fees for the consolidation at a maximum fee rate of the following determined value.
|
|
24
|
+
// If the fees are lower, the user will be refunded the difference.
|
|
25
|
+
// If the fees are higher, the user must pay the difference.
|
|
26
|
+
readonly UNWRAP_CONSOLIDATION_PREPAID_FEES: bigint;
|
|
27
|
+
|
|
28
|
+
// The maximum fee rate for the consolidation.
|
|
29
|
+
readonly UNWRAP_CONSOLIDATION_PREPAID_FEES_SAT: bigint;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export const OPNetConsensusConfig: { [key in Consensus]?: ConsensusConfig<key> } = {
|
|
33
|
+
[Consensus.Roswell]: RoswellConsensus,
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
export const currentConsensus = Consensus.Roswell;
|
|
37
|
+
export const currentConsensusConfig = OPNetConsensusConfig[
|
|
38
|
+
currentConsensus
|
|
39
|
+
] as ConsensusConfig<Consensus.Roswell>;
|