@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.
Files changed (105) hide show
  1. package/assets/.templates/smart-contract/builtin-libs/backtrace.scrypt.map +1 -1
  2. package/assets/.templates/smart-contract/builtin-libs/backtrace.scrypt.tpl +4 -0
  3. package/assets/.templates/smart-contract/builtin-libs/genesis.scrypt.map +1 -0
  4. package/assets/.templates/smart-contract/builtin-libs/genesis.scrypt.tpl +42 -0
  5. package/assets/.templates/smart-contract/builtin-libs/genesis.transformer.json +9 -0
  6. package/assets/.templates/smart-contract/builtin-libs/p2pk.scrypt.map +1 -1
  7. package/assets/.templates/smart-contract/builtin-libs/p2pk.scrypt.tpl +3 -0
  8. package/assets/.templates/smart-contract/builtin-libs/p2pkh.scrypt.map +1 -1
  9. package/assets/.templates/smart-contract/builtin-libs/p2pkh.scrypt.tpl +3 -0
  10. package/assets/smart-contract/builtin-libs/backtrace.scrypt +16 -12
  11. package/assets/smart-contract/builtin-libs/byteStringReader.scrypt +5 -5
  12. package/assets/smart-contract/builtin-libs/byteStringWriter.scrypt +6 -6
  13. package/assets/smart-contract/builtin-libs/contextUtils.scrypt +16 -16
  14. package/assets/smart-contract/builtin-libs/genesis.scrypt +44 -0
  15. package/assets/smart-contract/builtin-libs/p2pk.scrypt +4 -1
  16. package/assets/smart-contract/builtin-libs/p2pkh.scrypt +4 -1
  17. package/assets/smart-contract/builtin-libs/stateLib.scrypt +1 -1
  18. package/assets/smart-contract/builtin-libs/stateUtils.scrypt +1 -1
  19. package/assets/smart-contract/builtin-libs/stdUtils.scrypt +12 -12
  20. package/assets/smart-contract/builtin-libs/txHashPreimageUtils.scrypt +7 -7
  21. package/assets/smart-contract/builtin-libs/txUtils.scrypt +12 -12
  22. package/assets/smart-contract/types/structs.scrypt +8 -8
  23. package/dist/cjs/features/deployGenesis.cjs +84 -31
  24. package/dist/cjs/features/deployGenesis.js.map +1 -1
  25. package/dist/cjs/providers/dryRunProvider.cjs +57 -0
  26. package/dist/cjs/providers/dryRunProvider.js.map +1 -0
  27. package/dist/cjs/providers/dummyProvider.cjs +10 -0
  28. package/dist/cjs/providers/dummyProvider.js.map +1 -1
  29. package/dist/cjs/providers/index.cjs +4 -1
  30. package/dist/cjs/providers/index.js.map +1 -1
  31. package/dist/cjs/providers/mempoolProvider.cjs +44 -0
  32. package/dist/cjs/providers/mempoolProvider.js.map +1 -1
  33. package/dist/cjs/providers/rpcProvider.cjs +46 -3
  34. package/dist/cjs/providers/rpcProvider.js.map +1 -1
  35. package/dist/cjs/providers/utxoProvider.cjs +9 -1
  36. package/dist/cjs/providers/utxoProvider.js.map +1 -1
  37. package/dist/cjs/psbt/extPsbt.cjs +8 -1
  38. package/dist/cjs/psbt/extPsbt.js.map +1 -1
  39. package/dist/cjs/psbt/psbt.cjs +3 -1
  40. package/dist/cjs/psbt/psbt.js.map +1 -1
  41. package/dist/cjs/smart-contract/builtin-libs/backtrace.cjs +59 -2
  42. package/dist/cjs/smart-contract/builtin-libs/backtrace.js.map +1 -1
  43. package/dist/cjs/smart-contract/builtin-libs/genesis.cjs +553 -0
  44. package/dist/cjs/smart-contract/builtin-libs/genesis.js.map +1 -0
  45. package/dist/cjs/smart-contract/builtin-libs/index.cjs +5 -1
  46. package/dist/cjs/smart-contract/builtin-libs/index.js.map +1 -1
  47. package/dist/cjs/smart-contract/smartContract.cjs +22 -0
  48. package/dist/cjs/smart-contract/smartContract.js.map +1 -1
  49. package/dist/esm/features/deployGenesis.js +84 -31
  50. package/dist/esm/features/deployGenesis.js.map +1 -1
  51. package/dist/esm/providers/dryRunProvider.js +53 -0
  52. package/dist/esm/providers/dryRunProvider.js.map +1 -0
  53. package/dist/esm/providers/dummyProvider.js +10 -0
  54. package/dist/esm/providers/dummyProvider.js.map +1 -1
  55. package/dist/esm/providers/index.js +2 -1
  56. package/dist/esm/providers/index.js.map +1 -1
  57. package/dist/esm/providers/mempoolProvider.js +44 -0
  58. package/dist/esm/providers/mempoolProvider.js.map +1 -1
  59. package/dist/esm/providers/rpcProvider.js +45 -2
  60. package/dist/esm/providers/rpcProvider.js.map +1 -1
  61. package/dist/esm/providers/utxoProvider.js +7 -0
  62. package/dist/esm/providers/utxoProvider.js.map +1 -1
  63. package/dist/esm/psbt/extPsbt.js +8 -1
  64. package/dist/esm/psbt/extPsbt.js.map +1 -1
  65. package/dist/esm/psbt/psbt.js +3 -1
  66. package/dist/esm/psbt/psbt.js.map +1 -1
  67. package/dist/esm/smart-contract/builtin-libs/backtrace.js +61 -4
  68. package/dist/esm/smart-contract/builtin-libs/backtrace.js.map +1 -1
  69. package/dist/esm/smart-contract/builtin-libs/genesis.js +549 -0
  70. package/dist/esm/smart-contract/builtin-libs/genesis.js.map +1 -0
  71. package/dist/esm/smart-contract/builtin-libs/index.js +1 -0
  72. package/dist/esm/smart-contract/builtin-libs/index.js.map +1 -1
  73. package/dist/esm/smart-contract/smartContract.js +23 -1
  74. package/dist/esm/smart-contract/smartContract.js.map +1 -1
  75. package/dist/types/features/deployGenesis.d.ts +39 -12
  76. package/dist/types/features/deployGenesis.d.ts.map +1 -1
  77. package/dist/types/providers/chainProvider.d.ts +12 -0
  78. package/dist/types/providers/chainProvider.d.ts.map +1 -1
  79. package/dist/types/providers/dryRunProvider.d.ts +4 -0
  80. package/dist/types/providers/dryRunProvider.d.ts.map +1 -0
  81. package/dist/types/providers/dummyProvider.d.ts +4 -2
  82. package/dist/types/providers/dummyProvider.d.ts.map +1 -1
  83. package/dist/types/providers/index.d.ts +2 -1
  84. package/dist/types/providers/index.d.ts.map +1 -1
  85. package/dist/types/providers/mempoolProvider.d.ts +4 -2
  86. package/dist/types/providers/mempoolProvider.d.ts.map +1 -1
  87. package/dist/types/providers/rpcProvider.d.ts +4 -2
  88. package/dist/types/providers/rpcProvider.d.ts.map +1 -1
  89. package/dist/types/providers/utxoProvider.d.ts +3 -0
  90. package/dist/types/providers/utxoProvider.d.ts.map +1 -1
  91. package/dist/types/psbt/extPsbt.d.ts.map +1 -1
  92. package/dist/types/psbt/psbt.d.ts.map +1 -1
  93. package/dist/types/smart-contract/builtin-libs/backtrace.d.ts +49 -0
  94. package/dist/types/smart-contract/builtin-libs/backtrace.d.ts.map +1 -1
  95. package/dist/types/smart-contract/builtin-libs/genesis.d.ts +252 -0
  96. package/dist/types/smart-contract/builtin-libs/genesis.d.ts.map +1 -0
  97. package/dist/types/smart-contract/builtin-libs/index.d.ts +1 -0
  98. package/dist/types/smart-contract/builtin-libs/index.d.ts.map +1 -1
  99. package/dist/types/smart-contract/smartContract.d.ts +20 -0
  100. package/dist/types/smart-contract/smartContract.d.ts.map +1 -1
  101. package/package.json +5 -3
  102. package/scrypt.index.json +4 -0
  103. package/src/smart-contract/builtin-libs/backtrace.ts +62 -3
  104. package/src/smart-contract/builtin-libs/genesis.ts +569 -0
  105. 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
- * Deploys a smart contract, which can be traced back to genesis, to the blockchain
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
- * @param signer - The signer used to sign the transaction
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
- * @returns Promise resolving to the PSBT and deployed contract instance
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
- * @remarks
15
- * This function:
16
- * 1. Creates a genesis transaction from the first available UTXO
17
- * 2. Builds and signs the contract deployment PSBT
18
- * 3. Broadcasts the transaction and updates UTXO state
19
- * 4. Returns the finalized PSBT and contract instance
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, // Function to create the contract with genesisOutpoint
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
- const psbt = new ExtPsbt({ network: network });
28
- const genesisOutpoint = toGenesisOutpoint(utxos[0]);
29
- const contract = createContract(genesisOutpoint); // Create contract with the txid of the psbt
30
- if (!('txHashPreimage' in utxos[0])) {
31
- const rawTx = await provider.getRawTransaction(utxos[0].txId);
32
- const txHashPreimage = Transaction.fromString(rawTx).toTxHashPreimage().toString('hex');
33
- Object.assign(utxos[0], {
34
- txHashPreimage: txHashPreimage
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
- psbt.spendUTXO(utxos.slice(0, 10))
92
+ deployPsbt
38
93
  .addContractOutput(contract, satoshis)
39
94
  .change(address, feeRate)
40
95
  .seal();
41
- // sign the psbts
42
- const signedPsbtHex = await signer.signPsbt(psbt.toHex(), psbt.psbtOptions());
43
- // combine and finalize the signed psbts
44
- psbt.combine(ExtPsbt.fromHex(signedPsbtHex)).finalizeAllInputs();
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 = psbt.getChangeUTXO();
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":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAI7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,MAAc,EACd,QAAsC,EACtC,cAAyD,EAAE,uDAAuD;AAClH,WAAmB,CAAC;IAKpB,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;IAC1C,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAE/C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;IAC5C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;IAC5C,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/C,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACnD,MAAM,QAAQ,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC,4CAA4C;IAG9F,IAAI,CAAC,CAAC,gBAAgB,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAE9D,MAAM,cAAc,GAAG,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAExF,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACtB,cAAc,EAAE,cAAc;SAC/B,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;SAC/B,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,CAAC;SACrC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC;SACxB,IAAI,EAAE,CAAC;IAEV,iBAAiB;IACjB,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAE9E,wCAAwC;IACxC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;IAEjE,sBAAsB;IACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC3C,MAAM,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAC3C,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAE9B,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;IAExC,IAAI,UAAU,EAAE,CAAC;QACf,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAC5B,CAAC"}
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":"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"}
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;AAEpG,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,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;AAE3C;;;GAGG;AACH,MAAM,OAAO,eAAe;IAM1B,YAA4B,OAAyB;QAAzB,YAAO,GAAP,OAAO,CAAkB;QAL7C,mBAAc,GAAwB,IAAI,GAAG,EAAE,CAAC;QAChD,eAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QAE/B,aAAQ,GAAG,IAAI,GAAG,EAAgB,CAAC;QAiGnC,sBAAiB,GAAG,GAAG,EAAE;YAC/B,IAAI,IAAI,CAAC,OAAO,KAAK,eAAe,EAAE,CAAC;gBACrC,OAAO,8BAA8B,CAAC;YACxC,CAAC;iBAAM,IAAI,IAAI,CAAC,OAAO,KAAK,eAAe,EAAE,CAAC;gBAC5C,OAAO,8BAA8B,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACxD,CAAC;QACH,CAAC,CAAC;IAvGsD,CAAC;IAEzD,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAe,EAAE,QAA2B;QACzD,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QAEvE,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,iBAAiB,EAAE,gBAAgB,OAAO,OAAO,CAAC;QAEtE,MAAM,KAAK,GAAgB,MAAM,KAAK,CAAC,GAAG,CAAC;aACxC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAClB,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YACpD,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,+BAA+B,WAAW,aAAa,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YACvF,CAAC;QACH,CAAC,CAAC;aACD,IAAI,CACH,CACE,KAME,EACF,EAAE,CACF,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACjB,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,IAAI;gBACtB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,MAAM;gBAC7B,QAAQ,EAAE,IAAI,CAAC,KAAK;gBACpB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;aACtB,CAAC;QACJ,CAAC,CAAC,CACL;aACA,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE;YACZ,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QAEL,OAAO,KAAK;aACT,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;aAC1C,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;aAC7D,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;aACrE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC;aACtC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAEO,SAAS,CAAC,IAAY,EAAE,IAAY;QAC1C,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED,SAAS,CAAC,IAAY,EAAE,IAAY;QAClC,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IACD,UAAU,CAAC,IAAU;QACnB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,UAAU;QACR,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,iBAAiB,EAAE,0BAA0B,CAAC;QAClE,OAAO,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC;aAClB,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YACZ,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YACpD,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;YACpB,CAAC;QACH,CAAC,CAAC;aACD,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACb,OAAO,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;QAC9B,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAQ,EAAE,EAAE;YAClB,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACP,CAAC;IACD,KAAK,CAAC,gBAAgB,CAAC,IAAY;QACjC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO,GAAG,CAAC,aAAa,CAAC;IAC3B,CAAC;IAYO,KAAK,CAAC,UAAU,CAAC,KAAa;QACpC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC;QACjD,OAAO,KAAK,CAAC,GAAG,EAAE;YAChB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,KAAK;SACZ,CAAC;aACC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAClB,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YACpD,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;YACpB,CAAC;QACH,CAAC,CAAC;aACD,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACnB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;gBACnD,OAAO,IAAI,CAAC;YACd,CAAC;iBAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YACxC,CAAC;iBAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;YAClC,CAAC;QACH,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACX,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,IAAY;QAO1C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,iBAAiB,EAAE,WAAW,IAAI,SAAS,CAAC;QAChE,OAAO,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC;aAClB,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YAClB,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YACpD,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;YACpB,CAAC;QACH,CAAC,CAAC;aACD,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACnB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7B,OAAO;oBACL,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC;oBAC7B,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC1C,CAAC;YACJ,CAAC;iBAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;YAClC,CAAC;QACH,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACX,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,KAAa;QAC3B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YACzB,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACpC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAAY;QAClC,IAAI,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAEhD,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CACb,+BAA+B,IAAI,uDAAuD,CAC3F,CAAC;YACJ,CAAC;YACD,KAAK,GAAG,GAAG,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,IAAY;QAC3C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,iBAAiB,EAAE,WAAW,IAAI,MAAM,CAAC;QAC7D,OAAO,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC;aAClB,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YACZ,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YAC/D,CAAC;YACD,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC,CAAC;aACD,IAAI,CAAC,CAAC,KAAa,EAAE,EAAE;YACtB,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;aAED,KAAK,CAAC,CAAC,CAAQ,EAAE,EAAE;YAClB,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;IACP,CAAC;CACF"}
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 '../index.js';
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.satoshi - b.satoshi);
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;AA2C7C;;;;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,UAAU,CAAC,IAAU;IACnC,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;AAC5C,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"}
@@ -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: contract.getStateType() !== undefined ? tools.fromHex(Contract.serializeState(contract.state)) : new Uint8Array(0),
385
+ data: hexToUint8Array(dataHex),
379
386
  });
380
387
  const outputIndex = this.txOutputs.length - 1;
381
388
  this._outputContracts.set(outputIndex, contract);