@opcat-labs/scrypt-ts-opcat 2.0.2 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/.templates/smart-contract/builtin-libs/backtrace.scrypt.map +1 -1
- package/assets/.templates/smart-contract/builtin-libs/backtrace.scrypt.tpl +4 -0
- package/assets/.templates/smart-contract/builtin-libs/genesis.scrypt.map +1 -0
- package/assets/.templates/smart-contract/builtin-libs/genesis.scrypt.tpl +42 -0
- package/assets/.templates/smart-contract/builtin-libs/genesis.transformer.json +9 -0
- package/assets/.templates/smart-contract/builtin-libs/p2pk.scrypt.map +1 -1
- package/assets/.templates/smart-contract/builtin-libs/p2pk.scrypt.tpl +3 -0
- package/assets/.templates/smart-contract/builtin-libs/p2pkh.scrypt.map +1 -1
- package/assets/.templates/smart-contract/builtin-libs/p2pkh.scrypt.tpl +3 -0
- package/assets/smart-contract/builtin-libs/backtrace.scrypt +16 -12
- package/assets/smart-contract/builtin-libs/byteStringReader.scrypt +5 -5
- package/assets/smart-contract/builtin-libs/byteStringWriter.scrypt +6 -6
- package/assets/smart-contract/builtin-libs/contextUtils.scrypt +16 -16
- package/assets/smart-contract/builtin-libs/genesis.scrypt +44 -0
- package/assets/smart-contract/builtin-libs/p2pk.scrypt +4 -1
- package/assets/smart-contract/builtin-libs/p2pkh.scrypt +4 -1
- package/assets/smart-contract/builtin-libs/stateLib.scrypt +1 -1
- package/assets/smart-contract/builtin-libs/stateUtils.scrypt +1 -1
- package/assets/smart-contract/builtin-libs/stdUtils.scrypt +12 -12
- package/assets/smart-contract/builtin-libs/txHashPreimageUtils.scrypt +7 -7
- package/assets/smart-contract/builtin-libs/txUtils.scrypt +12 -12
- package/assets/smart-contract/types/structs.scrypt +8 -8
- package/dist/cjs/features/deployGenesis.cjs +84 -31
- package/dist/cjs/features/deployGenesis.js.map +1 -1
- package/dist/cjs/providers/dryRunProvider.cjs +57 -0
- package/dist/cjs/providers/dryRunProvider.js.map +1 -0
- package/dist/cjs/providers/dummyProvider.cjs +10 -0
- package/dist/cjs/providers/dummyProvider.js.map +1 -1
- package/dist/cjs/providers/index.cjs +4 -1
- package/dist/cjs/providers/index.js.map +1 -1
- package/dist/cjs/providers/mempoolProvider.cjs +44 -0
- package/dist/cjs/providers/mempoolProvider.js.map +1 -1
- package/dist/cjs/providers/rpcProvider.cjs +46 -3
- package/dist/cjs/providers/rpcProvider.js.map +1 -1
- package/dist/cjs/providers/utxoProvider.cjs +9 -1
- package/dist/cjs/providers/utxoProvider.js.map +1 -1
- package/dist/cjs/psbt/extPsbt.cjs +8 -1
- package/dist/cjs/psbt/extPsbt.js.map +1 -1
- package/dist/cjs/psbt/psbt.cjs +3 -1
- package/dist/cjs/psbt/psbt.js.map +1 -1
- package/dist/cjs/smart-contract/builtin-libs/backtrace.cjs +59 -2
- package/dist/cjs/smart-contract/builtin-libs/backtrace.js.map +1 -1
- package/dist/cjs/smart-contract/builtin-libs/genesis.cjs +553 -0
- package/dist/cjs/smart-contract/builtin-libs/genesis.js.map +1 -0
- package/dist/cjs/smart-contract/builtin-libs/index.cjs +5 -1
- package/dist/cjs/smart-contract/builtin-libs/index.js.map +1 -1
- package/dist/cjs/smart-contract/smartContract.cjs +22 -0
- package/dist/cjs/smart-contract/smartContract.js.map +1 -1
- package/dist/esm/features/deployGenesis.js +84 -31
- package/dist/esm/features/deployGenesis.js.map +1 -1
- package/dist/esm/providers/dryRunProvider.js +53 -0
- package/dist/esm/providers/dryRunProvider.js.map +1 -0
- package/dist/esm/providers/dummyProvider.js +10 -0
- package/dist/esm/providers/dummyProvider.js.map +1 -1
- package/dist/esm/providers/index.js +2 -1
- package/dist/esm/providers/index.js.map +1 -1
- package/dist/esm/providers/mempoolProvider.js +44 -0
- package/dist/esm/providers/mempoolProvider.js.map +1 -1
- package/dist/esm/providers/rpcProvider.js +45 -2
- package/dist/esm/providers/rpcProvider.js.map +1 -1
- package/dist/esm/providers/utxoProvider.js +7 -0
- package/dist/esm/providers/utxoProvider.js.map +1 -1
- package/dist/esm/psbt/extPsbt.js +8 -1
- package/dist/esm/psbt/extPsbt.js.map +1 -1
- package/dist/esm/psbt/psbt.js +3 -1
- package/dist/esm/psbt/psbt.js.map +1 -1
- package/dist/esm/smart-contract/builtin-libs/backtrace.js +61 -4
- package/dist/esm/smart-contract/builtin-libs/backtrace.js.map +1 -1
- package/dist/esm/smart-contract/builtin-libs/genesis.js +549 -0
- package/dist/esm/smart-contract/builtin-libs/genesis.js.map +1 -0
- package/dist/esm/smart-contract/builtin-libs/index.js +1 -0
- package/dist/esm/smart-contract/builtin-libs/index.js.map +1 -1
- package/dist/esm/smart-contract/smartContract.js +23 -1
- package/dist/esm/smart-contract/smartContract.js.map +1 -1
- package/dist/types/features/deployGenesis.d.ts +39 -12
- package/dist/types/features/deployGenesis.d.ts.map +1 -1
- package/dist/types/providers/chainProvider.d.ts +12 -0
- package/dist/types/providers/chainProvider.d.ts.map +1 -1
- package/dist/types/providers/dryRunProvider.d.ts +4 -0
- package/dist/types/providers/dryRunProvider.d.ts.map +1 -0
- package/dist/types/providers/dummyProvider.d.ts +4 -2
- package/dist/types/providers/dummyProvider.d.ts.map +1 -1
- package/dist/types/providers/index.d.ts +2 -1
- package/dist/types/providers/index.d.ts.map +1 -1
- package/dist/types/providers/mempoolProvider.d.ts +4 -2
- package/dist/types/providers/mempoolProvider.d.ts.map +1 -1
- package/dist/types/providers/rpcProvider.d.ts +4 -2
- package/dist/types/providers/rpcProvider.d.ts.map +1 -1
- package/dist/types/providers/utxoProvider.d.ts +3 -0
- package/dist/types/providers/utxoProvider.d.ts.map +1 -1
- package/dist/types/psbt/extPsbt.d.ts.map +1 -1
- package/dist/types/psbt/psbt.d.ts.map +1 -1
- package/dist/types/smart-contract/builtin-libs/backtrace.d.ts +49 -0
- package/dist/types/smart-contract/builtin-libs/backtrace.d.ts.map +1 -1
- package/dist/types/smart-contract/builtin-libs/genesis.d.ts +252 -0
- package/dist/types/smart-contract/builtin-libs/genesis.d.ts.map +1 -0
- package/dist/types/smart-contract/builtin-libs/index.d.ts +1 -0
- package/dist/types/smart-contract/builtin-libs/index.d.ts.map +1 -1
- package/dist/types/smart-contract/smartContract.d.ts +20 -0
- package/dist/types/smart-contract/smartContract.d.ts.map +1 -1
- package/package.json +5 -3
- package/scrypt.index.json +4 -0
- package/src/smart-contract/builtin-libs/backtrace.ts +62 -3
- package/src/smart-contract/builtin-libs/genesis.ts +569 -0
- package/src/smart-contract/builtin-libs/index.ts +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smartContract.js","sourceRoot":"","sources":["../../../src/smart-contract/smartContract.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"smartContract.js","sourceRoot":"","sources":["../../../src/smart-contract/smartContract.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,55 +1,108 @@
|
|
|
1
|
-
import { Transaction } from '@opcat-labs/opcat';
|
|
2
1
|
import { markSpent } from '../providers/utxoProvider.js';
|
|
3
2
|
import { ExtPsbt } from '../psbt/extPsbt.js';
|
|
4
3
|
import { toGenesisOutpoint } from '../utils/proof.js';
|
|
4
|
+
import { Genesis, genesisCheckDeploy } from '../smart-contract/builtin-libs/genesis.js';
|
|
5
|
+
import { toByteString } from '../smart-contract/fns/index.js';
|
|
5
6
|
/**
|
|
6
|
-
*
|
|
7
|
+
* Default postage amount for Genesis contract output (in satoshis).
|
|
8
|
+
* Set to minimum value since Genesis is consumed immediately in step 2.
|
|
9
|
+
*/
|
|
10
|
+
const GENESIS_POSTAGE = 1;
|
|
11
|
+
/**
|
|
12
|
+
* Deploys a smart contract, which can be traced back to genesis, to the blockchain.
|
|
13
|
+
*
|
|
14
|
+
* **IMPORTANT**: This function performs TWO blockchain transactions sequentially:
|
|
15
|
+
* 1. First deploys a Genesis contract (requires fees + 1 sat postage)
|
|
16
|
+
* 2. Then deploys the target contract using the Genesis contract as input (requires additional fees)
|
|
17
|
+
*
|
|
18
|
+
* ## Fee Implications
|
|
19
|
+
* Total cost = Genesis transaction fees + Deploy transaction fees + 1 sat Genesis postage
|
|
20
|
+
* The Genesis postage (1 sat) is consumed when the Genesis UTXO is spent in step 2.
|
|
21
|
+
*
|
|
22
|
+
* ## Atomicity Warning
|
|
23
|
+
* These two transactions are NOT atomic. If step 2 fails after step 1 broadcasts:
|
|
24
|
+
* - The Genesis UTXO will exist on-chain but remain unspent
|
|
25
|
+
* - The target contract will NOT be deployed
|
|
26
|
+
* - Manual recovery is possible by creating a new deploy transaction using the Genesis UTXO
|
|
7
27
|
*
|
|
8
|
-
*
|
|
28
|
+
* ## Error Recovery
|
|
29
|
+
* If an error occurs during step 2:
|
|
30
|
+
* - The Genesis transaction is already broadcast and cannot be reverted
|
|
31
|
+
* - The Genesis UTXO at `genesisPsbt.getUtxo(0)` can be used for retry
|
|
32
|
+
* - Provider state may be inconsistent (Genesis marked spent but deploy failed)
|
|
33
|
+
*
|
|
34
|
+
* @param signer - The signer used to sign both transactions
|
|
9
35
|
* @param provider - The provider for chain and UTXO data
|
|
10
36
|
* @param createContract - Factory function to create the contract instance with genesis outpoint
|
|
11
|
-
* @param satoshis - Amount of satoshis to lock in the contract (default: 1)
|
|
12
|
-
* @
|
|
37
|
+
* @param satoshis - Amount of satoshis to lock in the target contract (default: 1)
|
|
38
|
+
* @param metadata - Optional metadata (hex string) to attach to the Genesis contract output
|
|
39
|
+
* @returns Promise resolving to the deploy PSBT and deployed contract instance
|
|
40
|
+
*
|
|
41
|
+
* @throws {Error} If signing fails for either transaction
|
|
42
|
+
* @throws {Error} If broadcast fails for either transaction
|
|
43
|
+
* @throws {Error} If insufficient UTXOs are available
|
|
13
44
|
*
|
|
14
|
-
* @
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```typescript
|
|
47
|
+
* const { psbt, contract } = await deployGenesis(
|
|
48
|
+
* signer,
|
|
49
|
+
* provider,
|
|
50
|
+
* (genesisOutpoint) => new MyContract(genesisOutpoint),
|
|
51
|
+
* 1000 // lock 1000 sats in contract
|
|
52
|
+
* );
|
|
53
|
+
* ```
|
|
20
54
|
*/
|
|
21
|
-
export async function deployGenesis(signer, provider, createContract,
|
|
22
|
-
satoshis = 1) {
|
|
55
|
+
export async function deployGenesis(signer, provider, createContract, satoshis = 1, metadata) {
|
|
23
56
|
const address = await signer.getAddress();
|
|
24
57
|
const utxos = await provider.getUtxos(address);
|
|
25
58
|
const feeRate = await provider.getFeeRate();
|
|
26
59
|
const network = await provider.getNetwork();
|
|
27
|
-
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
60
|
+
// Step 1: Create and deploy Genesis contract
|
|
61
|
+
const genesis = new Genesis();
|
|
62
|
+
if (metadata) {
|
|
63
|
+
genesis.data = toByteString(metadata);
|
|
64
|
+
}
|
|
65
|
+
const genesisPsbt = new ExtPsbt({ network });
|
|
66
|
+
genesisPsbt
|
|
67
|
+
.spendUTXO(utxos.slice(0, 10))
|
|
68
|
+
.addContractOutput(genesis, GENESIS_POSTAGE)
|
|
69
|
+
.change(address, feeRate)
|
|
70
|
+
.seal();
|
|
71
|
+
const signedGenesisPsbt = await signer.signPsbt(genesisPsbt.toHex(), genesisPsbt.psbtOptions());
|
|
72
|
+
genesisPsbt.combine(ExtPsbt.fromHex(signedGenesisPsbt)).finalizeAllInputs();
|
|
73
|
+
// Broadcast genesis transaction
|
|
74
|
+
const genesisTx = genesisPsbt.extractTransaction();
|
|
75
|
+
await provider.broadcast(genesisTx.toHex());
|
|
76
|
+
markSpent(provider, genesisTx);
|
|
77
|
+
// Step 2: Create target contract with genesis outpoint
|
|
78
|
+
const genesisUtxo = genesisPsbt.getUtxo(0);
|
|
79
|
+
const genesisOutpoint = toGenesisOutpoint(genesisUtxo);
|
|
80
|
+
const contract = createContract(genesisOutpoint);
|
|
81
|
+
// Bind Genesis contract to its UTXO
|
|
82
|
+
genesis.bindToUtxo(genesisUtxo);
|
|
83
|
+
// Step 3: Deploy target contract using Genesis as input
|
|
84
|
+
const deployPsbt = new ExtPsbt({ network });
|
|
85
|
+
// Genesis must be at input index 0, so add it first
|
|
86
|
+
deployPsbt.addContractInput(genesis, genesisCheckDeploy());
|
|
87
|
+
// Add fee UTXO after Genesis input
|
|
88
|
+
const genesisChangeUtxo = genesisPsbt.getChangeUTXO();
|
|
89
|
+
if (genesisChangeUtxo) {
|
|
90
|
+
deployPsbt.spendUTXO(genesisChangeUtxo);
|
|
36
91
|
}
|
|
37
|
-
|
|
92
|
+
deployPsbt
|
|
38
93
|
.addContractOutput(contract, satoshis)
|
|
39
94
|
.change(address, feeRate)
|
|
40
95
|
.seal();
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
//
|
|
44
|
-
|
|
45
|
-
// broadcast the psbts
|
|
46
|
-
const deployTx = psbt.extractTransaction();
|
|
96
|
+
const signedDeployPsbt = await signer.signPsbt(deployPsbt.toHex(), deployPsbt.psbtOptions());
|
|
97
|
+
deployPsbt.combine(ExtPsbt.fromHex(signedDeployPsbt)).finalizeAllInputs();
|
|
98
|
+
// Broadcast deploy transaction
|
|
99
|
+
const deployTx = deployPsbt.extractTransaction();
|
|
47
100
|
await provider.broadcast(deployTx.toHex());
|
|
48
101
|
markSpent(provider, deployTx);
|
|
49
|
-
const changeUTXO =
|
|
102
|
+
const changeUTXO = deployPsbt.getChangeUTXO();
|
|
50
103
|
if (changeUTXO) {
|
|
51
104
|
provider.addNewUTXO(changeUTXO);
|
|
52
105
|
}
|
|
53
|
-
return { psbt, contract };
|
|
106
|
+
return { psbt: deployPsbt, contract };
|
|
54
107
|
}
|
|
55
108
|
//# sourceMappingURL=deployGenesis.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deployGenesis.js","sourceRoot":"","sources":["../../../src/features/deployGenesis.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"deployGenesis.js","sourceRoot":"","sources":["../../../src/features/deployGenesis.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { cloneDeep, duplicateFilter, uint8ArrayToHex } from "../utils/common.js";
|
|
2
|
+
import { Script, Transaction } from "@opcat-labs/opcat";
|
|
3
|
+
import { ExtPsbt } from "../psbt/extPsbt.js";
|
|
4
|
+
import { getUtxoKey } from "./utxoProvider.js";
|
|
5
|
+
export function createDryRunProvider(provider) {
|
|
6
|
+
const clonedProvider = cloneDeep(provider);
|
|
7
|
+
const broadcastedTxs = new Map();
|
|
8
|
+
const spentUTXOs = new Set();
|
|
9
|
+
const newUTXOs = new Map();
|
|
10
|
+
function isUnSpent(txId, vout) {
|
|
11
|
+
const key = getUtxoKey({ txId, outputIndex: vout, script: '', satoshis: 0, data: '' });
|
|
12
|
+
return !spentUTXOs.has(key);
|
|
13
|
+
}
|
|
14
|
+
clonedProvider.broadcast = async (txHex) => {
|
|
15
|
+
const tx = new Transaction(txHex);
|
|
16
|
+
broadcastedTxs.set(tx.id, txHex);
|
|
17
|
+
return tx.id;
|
|
18
|
+
};
|
|
19
|
+
clonedProvider.broadcastPsbt = async (psbtBase64, metadata) => {
|
|
20
|
+
const psbt = ExtPsbt.fromBase64(psbtBase64);
|
|
21
|
+
const txHex = psbt.extractTransaction().toHex();
|
|
22
|
+
return clonedProvider.broadcast(txHex);
|
|
23
|
+
};
|
|
24
|
+
clonedProvider.getRawTransaction = async (txId) => {
|
|
25
|
+
let txHex = broadcastedTxs.get(txId);
|
|
26
|
+
if (txHex) {
|
|
27
|
+
return txHex;
|
|
28
|
+
}
|
|
29
|
+
return provider.getRawTransaction(txId);
|
|
30
|
+
};
|
|
31
|
+
clonedProvider.getUtxos = async (address) => {
|
|
32
|
+
const script = uint8ArrayToHex(Script.fromAddress(address).toBuffer());
|
|
33
|
+
const utxos = await provider.getUtxos(address);
|
|
34
|
+
return utxos
|
|
35
|
+
.concat(Array.from(newUTXOs.values()))
|
|
36
|
+
.filter((utxo) => isUnSpent(utxo.txId, utxo.outputIndex))
|
|
37
|
+
.filter(duplicateFilter((utxo) => `${utxo.txId}:${utxo.outputIndex}`))
|
|
38
|
+
.filter(utxo => utxo.script === script)
|
|
39
|
+
.sort((a, b) => a.satoshis - b.satoshis);
|
|
40
|
+
};
|
|
41
|
+
clonedProvider.markSpent = (txId, vout) => {
|
|
42
|
+
const key = getUtxoKey({ txId, outputIndex: vout, script: '', satoshis: 0, data: '' });
|
|
43
|
+
if (newUTXOs.has(key)) {
|
|
44
|
+
newUTXOs.delete(key);
|
|
45
|
+
}
|
|
46
|
+
spentUTXOs.add(key);
|
|
47
|
+
};
|
|
48
|
+
clonedProvider.addNewUTXO = (utxo) => {
|
|
49
|
+
newUTXOs.set(getUtxoKey(utxo), utxo);
|
|
50
|
+
};
|
|
51
|
+
return clonedProvider;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=dryRunProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dryRunProvider.js","sourceRoot":"","sources":["../../../src/providers/dryRunProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { getUtxoKey } from './utxoProvider.js';
|
|
2
2
|
import * as utils from '@noble/hashes/utils';
|
|
3
3
|
import { Script, Transaction } from '@opcat-labs/opcat';
|
|
4
|
+
import { ExtPsbt } from '../psbt/extPsbt.js';
|
|
4
5
|
/**
|
|
5
6
|
* A DummyProvider is build for test purpose only, it always returns a dummy utxo for `getUtxos` request.
|
|
6
7
|
* @category Provider
|
|
@@ -66,6 +67,11 @@ export class DummyProvider {
|
|
|
66
67
|
this.broadcastedTxs.set(tx.id, txHex);
|
|
67
68
|
return tx.id;
|
|
68
69
|
}
|
|
70
|
+
async broadcastPsbt(psbtBase64, metadata) {
|
|
71
|
+
const psbt = ExtPsbt.fromBase64(psbtBase64);
|
|
72
|
+
const txHex = psbt.extractTransaction().toHex();
|
|
73
|
+
return this.broadcast(txHex);
|
|
74
|
+
}
|
|
69
75
|
async getRawTransaction(txId) {
|
|
70
76
|
const txHex = this.broadcastedTxs.get(txId);
|
|
71
77
|
if (!txHex) {
|
|
@@ -73,5 +79,9 @@ export class DummyProvider {
|
|
|
73
79
|
}
|
|
74
80
|
return txHex;
|
|
75
81
|
}
|
|
82
|
+
async getMedianTime() {
|
|
83
|
+
// Return current timestamp minus 10 minutes (600 seconds)
|
|
84
|
+
return Math.floor(Date.now() / 1000) - 600;
|
|
85
|
+
}
|
|
76
86
|
}
|
|
77
87
|
//# sourceMappingURL=dummyProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dummyProvider.js","sourceRoot":"","sources":["../../../src/providers/dummyProvider.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkC,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,KAAK,KAAK,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"dummyProvider.js","sourceRoot":"","sources":["../../../src/providers/dummyProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
export { markSpent, getUtxoKey } from './utxoProvider.js';
|
|
1
|
+
export { markSpent, getUtxoKey, addChangeUtxoToProvider } from './utxoProvider.js';
|
|
2
2
|
export { MempoolProvider } from './mempoolProvider.js';
|
|
3
3
|
export { RPCProvider } from './rpcProvider.js';
|
|
4
4
|
export { DummyProvider } from './dummyProvider.js';
|
|
5
|
+
export { createDryRunProvider } from './dryRunProvider.js';
|
|
5
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/index.ts"],"names":[],"mappings":"AACA,OAAO,EAA4C,SAAS,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/providers/index.ts"],"names":[],"mappings":"AACA,OAAO,EAA4C,SAAS,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAE7H,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -2,6 +2,7 @@ import fetch from 'cross-fetch';
|
|
|
2
2
|
import { getUtxoKey } from './utxoProvider.js';
|
|
3
3
|
import { uint8ArrayToHex, duplicateFilter } from '../utils/common.js';
|
|
4
4
|
import { Script } from '@opcat-labs/opcat';
|
|
5
|
+
import { ExtPsbt } from '../psbt/extPsbt.js';
|
|
5
6
|
/**
|
|
6
7
|
* The MempoolProvider is backed by [Mempool]{@link https://opcatlabs.io}
|
|
7
8
|
* @category Provider
|
|
@@ -170,6 +171,11 @@ export class MempoolProvider {
|
|
|
170
171
|
this.broadcastedTxs.set(res, txHex);
|
|
171
172
|
return res;
|
|
172
173
|
}
|
|
174
|
+
async broadcastPsbt(psbtBase64, metadata) {
|
|
175
|
+
const psbt = ExtPsbt.fromBase64(psbtBase64);
|
|
176
|
+
const txHex = psbt.extractTransaction().toHex();
|
|
177
|
+
return this.broadcast(txHex);
|
|
178
|
+
}
|
|
173
179
|
async getRawTransaction(txId) {
|
|
174
180
|
let txHex = this.broadcastedTxs.get(txId);
|
|
175
181
|
if (!txHex) {
|
|
@@ -197,5 +203,43 @@ export class MempoolProvider {
|
|
|
197
203
|
return e;
|
|
198
204
|
});
|
|
199
205
|
}
|
|
206
|
+
async getMedianTime() {
|
|
207
|
+
// First get the tip block hash
|
|
208
|
+
const tipHashUrl = `${this.getMempoolApiHost()}/api/blocks/tip/hash`;
|
|
209
|
+
const tipHash = await fetch(tipHashUrl, {})
|
|
210
|
+
.then((res) => {
|
|
211
|
+
if (res.status !== 200) {
|
|
212
|
+
throw new Error(`invalid http response code: ${res.status}`);
|
|
213
|
+
}
|
|
214
|
+
return res.text();
|
|
215
|
+
})
|
|
216
|
+
.catch((e) => {
|
|
217
|
+
throw new Error(`Failed to get tip block hash: ${e.message}`);
|
|
218
|
+
});
|
|
219
|
+
// Then get the block data to extract mediantime
|
|
220
|
+
const blockUrl = `${this.getMempoolApiHost()}/api/block/${tipHash}`;
|
|
221
|
+
return fetch(blockUrl, {})
|
|
222
|
+
.then((res) => {
|
|
223
|
+
if (res.status !== 200) {
|
|
224
|
+
throw new Error(`invalid http response code: ${res.status}`);
|
|
225
|
+
}
|
|
226
|
+
const contentType = res.headers.get('content-type');
|
|
227
|
+
if (contentType.includes('json')) {
|
|
228
|
+
return res.json();
|
|
229
|
+
}
|
|
230
|
+
else {
|
|
231
|
+
throw new Error(`invalid http content type: ${contentType}`);
|
|
232
|
+
}
|
|
233
|
+
})
|
|
234
|
+
.then((blockData) => {
|
|
235
|
+
if (typeof blockData.mediantime !== 'number') {
|
|
236
|
+
throw new Error(`Invalid block data: mediantime not found`);
|
|
237
|
+
}
|
|
238
|
+
return blockData.mediantime;
|
|
239
|
+
})
|
|
240
|
+
.catch((e) => {
|
|
241
|
+
throw new Error(`Failed to get median time: ${e.message}`);
|
|
242
|
+
});
|
|
243
|
+
}
|
|
200
244
|
}
|
|
201
245
|
//# sourceMappingURL=mempoolProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mempoolProvider.js","sourceRoot":"","sources":["../../../src/providers/mempoolProvider.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,aAAa,CAAC;AAChC,OAAO,EAAkC,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"mempoolProvider.js","sourceRoot":"","sources":["../../../src/providers/mempoolProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,8 @@ import Decimal from 'decimal.js';
|
|
|
3
3
|
import { getUtxoKey } from './utxoProvider.js';
|
|
4
4
|
import * as tools from 'uint8array-tools';
|
|
5
5
|
import { duplicateFilter, uint8ArrayToHex } from '../utils/common.js';
|
|
6
|
-
import { Script } from '
|
|
6
|
+
import { Script } from '@opcat-labs/opcat';
|
|
7
|
+
import { ExtPsbt } from '../psbt/extPsbt.js';
|
|
7
8
|
/**
|
|
8
9
|
* The RPCProvider is backed by opcat RPC
|
|
9
10
|
* @category Provider
|
|
@@ -158,6 +159,11 @@ export class RPCProvider {
|
|
|
158
159
|
this.broadcastedTxs.set(res, txHex);
|
|
159
160
|
return res;
|
|
160
161
|
}
|
|
162
|
+
async broadcastPsbt(psbtBase64, metadata) {
|
|
163
|
+
const psbt = ExtPsbt.fromBase64(psbtBase64);
|
|
164
|
+
const txHex = psbt.extractTransaction().toHex();
|
|
165
|
+
return this.broadcast(txHex);
|
|
166
|
+
}
|
|
161
167
|
async getRawTransaction(txId) {
|
|
162
168
|
let txHex = this.broadcastedTxs.get(txId);
|
|
163
169
|
if (!txHex) {
|
|
@@ -249,7 +255,7 @@ export class RPCProvider {
|
|
|
249
255
|
.filter((utxo) => this.isUnSpent(utxo.txId, utxo.outputIndex))
|
|
250
256
|
.filter(duplicateFilter((utxo) => `${utxo.txId}:${utxo.outputIndex}`))
|
|
251
257
|
.filter(utxo => utxo.script === script)
|
|
252
|
-
.sort((a, b) => a.
|
|
258
|
+
.sort((a, b) => a.satoshis - b.satoshis);
|
|
253
259
|
}
|
|
254
260
|
isUnSpent(txId, vout) {
|
|
255
261
|
const key = `${txId}:${vout}`;
|
|
@@ -265,5 +271,42 @@ export class RPCProvider {
|
|
|
265
271
|
addNewUTXO(utxo) {
|
|
266
272
|
this.newUTXOs.set(getUtxoKey(utxo), utxo);
|
|
267
273
|
}
|
|
274
|
+
async getMedianTime() {
|
|
275
|
+
const Authorization = `Basic ${tools.toBase64(tools.fromUtf8(`${this.getRpcUser()}:${this.getRpcPassword()}`))}`;
|
|
276
|
+
return fetch(this.getRpcUrl(null), {
|
|
277
|
+
method: 'POST',
|
|
278
|
+
headers: {
|
|
279
|
+
'Content-Type': 'application/json',
|
|
280
|
+
Authorization,
|
|
281
|
+
},
|
|
282
|
+
body: JSON.stringify({
|
|
283
|
+
jsonrpc: '2.0',
|
|
284
|
+
id: 'cat-cli',
|
|
285
|
+
method: 'getblockchaininfo',
|
|
286
|
+
params: [],
|
|
287
|
+
}),
|
|
288
|
+
})
|
|
289
|
+
.then((res) => {
|
|
290
|
+
const contentType = res.headers.get('content-type');
|
|
291
|
+
if (contentType.includes('json')) {
|
|
292
|
+
return res.json();
|
|
293
|
+
}
|
|
294
|
+
else {
|
|
295
|
+
throw new Error(`invalid http content type : ${contentType}, status: ${res.status}`);
|
|
296
|
+
}
|
|
297
|
+
})
|
|
298
|
+
.then((res) => {
|
|
299
|
+
if (res.result === null) {
|
|
300
|
+
throw new Error(JSON.stringify(res));
|
|
301
|
+
}
|
|
302
|
+
if (typeof res.result.mediantime !== 'number') {
|
|
303
|
+
throw new Error(`Invalid blockchain info: mediantime not found`);
|
|
304
|
+
}
|
|
305
|
+
return res.result.mediantime;
|
|
306
|
+
})
|
|
307
|
+
.catch((e) => {
|
|
308
|
+
throw new Error(`Failed to get median time: ${e.message}`);
|
|
309
|
+
});
|
|
310
|
+
}
|
|
268
311
|
}
|
|
269
312
|
//# sourceMappingURL=rpcProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpcProvider.js","sourceRoot":"","sources":["../../../src/providers/rpcProvider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rpcProvider.js","sourceRoot":"","sources":["../../../src/providers/rpcProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,13 @@ export function markSpent(utxoProvider, tx) {
|
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
13
|
/** @ignore */
|
|
14
|
+
export function addChangeUtxoToProvider(utxoProvider, psbt) {
|
|
15
|
+
const changeUtxo = psbt.getChangeUTXO();
|
|
16
|
+
if (changeUtxo) {
|
|
17
|
+
utxoProvider.addNewUTXO(changeUtxo);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
/** @ignore */
|
|
14
21
|
export function getUtxoKey(utxo) {
|
|
15
22
|
return `${utxo.txId}:${utxo.outputIndex}`;
|
|
16
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utxoProvider.js","sourceRoot":"","sources":["../../../src/providers/utxoProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"utxoProvider.js","sourceRoot":"","sources":["../../../src/providers/utxoProvider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AA4C7C;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,YAA0B,EAAE,EAAe;IACnE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3B,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAED,cAAc;AACd,MAAM,UAAU,uBAAuB,CAAC,YAA0B,EAAE,IAAa;IAC/E,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;IACxC,IAAI,UAAU,EAAE,CAAC;QACf,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC;AACH,CAAC;AAED,cAAc;AACd,MAAM,UAAU,UAAU,CAAC,IAAU;IACnC,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;AAC5C,CAAC"}
|
package/dist/esm/psbt/extPsbt.js
CHANGED
|
@@ -372,10 +372,17 @@ export class ExtPsbt extends Psbt {
|
|
|
372
372
|
*/
|
|
373
373
|
addContractOutput(contract, satoshis) {
|
|
374
374
|
const Contract = Object.getPrototypeOf(contract).constructor;
|
|
375
|
+
let dataHex = '';
|
|
376
|
+
if (contract.getStateType() !== undefined) {
|
|
377
|
+
dataHex = Contract.serializeState(contract.state);
|
|
378
|
+
}
|
|
379
|
+
else if (contract.data && contract.data.length > 0) {
|
|
380
|
+
dataHex = contract.data;
|
|
381
|
+
}
|
|
375
382
|
this.addOutput({
|
|
376
383
|
script: contract.lockingScript.toBuffer(),
|
|
377
384
|
value: BigInt(satoshis),
|
|
378
|
-
data:
|
|
385
|
+
data: hexToUint8Array(dataHex),
|
|
379
386
|
});
|
|
380
387
|
const outputIndex = this.txOutputs.length - 1;
|
|
381
388
|
this._outputContracts.set(outputIndex, contract);
|