@cogcoin/client 1.1.7 → 1.1.9

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 (284) hide show
  1. package/README.md +1 -1
  2. package/dist/bitcoind/service.js +1 -1
  3. package/dist/cli/commands/mining-read.js +1 -1
  4. package/dist/cli/commands/wallet-mutation/anchor.d.ts +2 -0
  5. package/dist/cli/commands/wallet-mutation/anchor.js +33 -0
  6. package/dist/cli/commands/wallet-mutation/bitcoin-transfer.d.ts +2 -0
  7. package/dist/cli/commands/wallet-mutation/bitcoin-transfer.js +32 -0
  8. package/dist/cli/commands/wallet-mutation/cog.d.ts +2 -0
  9. package/dist/cli/commands/wallet-mutation/cog.js +131 -0
  10. package/dist/cli/commands/wallet-mutation/context.d.ts +3 -0
  11. package/dist/cli/commands/wallet-mutation/context.js +18 -0
  12. package/dist/cli/commands/wallet-mutation/domain-admin.d.ts +2 -0
  13. package/dist/cli/commands/wallet-mutation/domain-admin.js +173 -0
  14. package/dist/cli/commands/wallet-mutation/domain-market.d.ts +2 -0
  15. package/dist/cli/commands/wallet-mutation/domain-market.js +107 -0
  16. package/dist/cli/commands/wallet-mutation/field.d.ts +2 -0
  17. package/dist/cli/commands/wallet-mutation/field.js +125 -0
  18. package/dist/cli/commands/wallet-mutation/register.d.ts +2 -0
  19. package/dist/cli/commands/wallet-mutation/register.js +38 -0
  20. package/dist/cli/commands/wallet-mutation/registry.d.ts +3 -0
  21. package/dist/cli/commands/wallet-mutation/registry.js +39 -0
  22. package/dist/cli/commands/wallet-mutation/reputation.d.ts +2 -0
  23. package/dist/cli/commands/wallet-mutation/reputation.js +57 -0
  24. package/dist/cli/commands/wallet-mutation/types.d.ts +32 -0
  25. package/dist/cli/commands/wallet-mutation/types.js +1 -0
  26. package/dist/cli/commands/wallet-mutation.js +13 -765
  27. package/dist/cli/commands/wallet-read.js +4 -4
  28. package/dist/cli/mutation-success.d.ts +0 -2
  29. package/dist/cli/output/classify.d.ts +7 -0
  30. package/dist/cli/output/classify.js +94 -0
  31. package/dist/cli/output/render.d.ts +2 -0
  32. package/dist/cli/output/render.js +13 -0
  33. package/dist/cli/output/rules/cli-surface.d.ts +2 -0
  34. package/dist/cli/output/rules/cli-surface.js +110 -0
  35. package/dist/cli/output/rules/generic.d.ts +2 -0
  36. package/dist/cli/output/rules/generic.js +13 -0
  37. package/dist/cli/output/rules/index.d.ts +2 -0
  38. package/dist/cli/output/rules/index.js +24 -0
  39. package/dist/cli/output/rules/mining-update.d.ts +2 -0
  40. package/dist/cli/output/rules/mining-update.js +68 -0
  41. package/dist/cli/output/rules/services.d.ts +2 -0
  42. package/dist/cli/output/rules/services.js +110 -0
  43. package/dist/cli/output/rules/wallet-admin.d.ts +2 -0
  44. package/dist/cli/output/rules/wallet-admin.js +224 -0
  45. package/dist/cli/output/rules/wallet-mutations.d.ts +2 -0
  46. package/dist/cli/output/rules/wallet-mutations.js +274 -0
  47. package/dist/cli/output/types.d.ts +16 -0
  48. package/dist/cli/output/types.js +1 -0
  49. package/dist/cli/output.d.ts +2 -168
  50. package/dist/cli/output.js +6 -989
  51. package/dist/cli/pagination.d.ts +15 -0
  52. package/dist/cli/pagination.js +16 -0
  53. package/dist/cli/recommendations.d.ts +4 -0
  54. package/dist/cli/recommendations.js +108 -0
  55. package/dist/cli/wallet-format/availability.d.ts +5 -0
  56. package/dist/cli/wallet-format/availability.js +96 -0
  57. package/dist/cli/wallet-format/balance.d.ts +2 -0
  58. package/dist/cli/wallet-format/balance.js +162 -0
  59. package/dist/cli/wallet-format/domains.d.ts +8 -0
  60. package/dist/cli/wallet-format/domains.js +84 -0
  61. package/dist/cli/wallet-format/fields.d.ts +6 -0
  62. package/dist/cli/wallet-format/fields.js +61 -0
  63. package/dist/cli/wallet-format/identity.d.ts +5 -0
  64. package/dist/cli/wallet-format/identity.js +19 -0
  65. package/dist/cli/wallet-format/locks.d.ts +7 -0
  66. package/dist/cli/wallet-format/locks.js +52 -0
  67. package/dist/cli/wallet-format/overview.d.ts +2 -0
  68. package/dist/cli/wallet-format/overview.js +122 -0
  69. package/dist/cli/wallet-format/pending.d.ts +13 -0
  70. package/dist/cli/wallet-format/pending.js +101 -0
  71. package/dist/cli/wallet-format/shared.d.ts +7 -0
  72. package/dist/cli/wallet-format/shared.js +31 -0
  73. package/dist/cli/wallet-format/status.d.ts +3 -0
  74. package/dist/cli/wallet-format/status.js +27 -0
  75. package/dist/cli/wallet-format.d.ts +8 -30
  76. package/dist/cli/wallet-format.js +8 -830
  77. package/dist/cli/wallet-read-helpers.d.ts +6 -0
  78. package/dist/cli/wallet-read-helpers.js +17 -0
  79. package/dist/wallet/mining/candidate.d.ts +1 -1
  80. package/dist/wallet/mining/candidate.js +3 -3
  81. package/dist/wallet/mining/constants.d.ts +2 -2
  82. package/dist/wallet/mining/constants.js +2 -2
  83. package/dist/wallet/mining/engine-state.js +10 -0
  84. package/dist/wallet/mining/sentence-protocol.d.ts +2 -2
  85. package/dist/wallet/mining/sentences.js +8 -8
  86. package/dist/wallet/mining/visualizer-sync.js +79 -15
  87. package/dist/wallet/read/context.js +1 -1
  88. package/dist/wallet/reset/artifacts.d.ts +16 -0
  89. package/dist/wallet/reset/artifacts.js +141 -0
  90. package/dist/wallet/reset/execution.d.ts +38 -0
  91. package/dist/wallet/reset/execution.js +458 -0
  92. package/dist/wallet/reset/preflight.d.ts +7 -0
  93. package/dist/wallet/reset/preflight.js +116 -0
  94. package/dist/wallet/reset/preview.d.ts +2 -0
  95. package/dist/wallet/reset/preview.js +50 -0
  96. package/dist/wallet/reset/process-cleanup.d.ts +12 -0
  97. package/dist/wallet/reset/process-cleanup.js +179 -0
  98. package/dist/wallet/reset/types.d.ts +189 -0
  99. package/dist/wallet/reset/types.js +1 -0
  100. package/dist/wallet/reset.d.ts +4 -119
  101. package/dist/wallet/reset.js +4 -882
  102. package/dist/wallet/tx/anchor/confirm.d.ts +15 -0
  103. package/dist/wallet/tx/anchor/confirm.js +60 -0
  104. package/dist/wallet/tx/anchor/draft.d.ts +39 -0
  105. package/dist/wallet/tx/anchor/draft.js +167 -0
  106. package/dist/wallet/tx/anchor/index.d.ts +5 -0
  107. package/dist/wallet/tx/anchor/index.js +148 -0
  108. package/dist/wallet/tx/anchor/intent.d.ts +61 -0
  109. package/dist/wallet/tx/anchor/intent.js +101 -0
  110. package/dist/wallet/tx/anchor/plan.d.ts +3 -0
  111. package/dist/wallet/tx/anchor/plan.js +18 -0
  112. package/dist/wallet/tx/anchor/result.d.ts +25 -0
  113. package/dist/wallet/tx/anchor/result.js +20 -0
  114. package/dist/wallet/tx/anchor.d.ts +1 -39
  115. package/dist/wallet/tx/anchor.js +1 -494
  116. package/dist/wallet/tx/bitcoin-transfer/confirm.d.ts +7 -0
  117. package/dist/wallet/tx/bitcoin-transfer/confirm.js +11 -0
  118. package/dist/wallet/tx/bitcoin-transfer/index.d.ts +5 -0
  119. package/dist/wallet/tx/bitcoin-transfer/index.js +112 -0
  120. package/dist/wallet/tx/bitcoin-transfer/intent.d.ts +52 -0
  121. package/dist/wallet/tx/bitcoin-transfer/intent.js +74 -0
  122. package/dist/wallet/tx/bitcoin-transfer/plan.d.ts +5 -0
  123. package/dist/wallet/tx/bitcoin-transfer/plan.js +21 -0
  124. package/dist/wallet/tx/bitcoin-transfer/result.d.ts +19 -0
  125. package/dist/wallet/tx/bitcoin-transfer/result.js +16 -0
  126. package/dist/wallet/tx/bitcoin-transfer.d.ts +1 -35
  127. package/dist/wallet/tx/bitcoin-transfer.js +1 -200
  128. package/dist/wallet/tx/cog/confirm.d.ts +13 -0
  129. package/dist/wallet/tx/cog/confirm.js +59 -0
  130. package/dist/wallet/tx/cog/draft.d.ts +20 -0
  131. package/dist/wallet/tx/cog/draft.js +114 -0
  132. package/dist/wallet/tx/cog/index.d.ts +6 -0
  133. package/dist/wallet/tx/cog/index.js +117 -0
  134. package/dist/wallet/tx/cog/intent.d.ts +30 -0
  135. package/dist/wallet/tx/cog/intent.js +169 -0
  136. package/dist/wallet/tx/cog/plan.d.ts +19 -0
  137. package/dist/wallet/tx/cog/plan.js +65 -0
  138. package/dist/wallet/tx/cog/result.d.ts +27 -0
  139. package/dist/wallet/tx/cog/result.js +28 -0
  140. package/dist/wallet/tx/cog/types.d.ts +186 -0
  141. package/dist/wallet/tx/cog/types.js +2 -0
  142. package/dist/wallet/tx/cog/variants/claim.d.ts +3 -0
  143. package/dist/wallet/tx/cog/variants/claim.js +92 -0
  144. package/dist/wallet/tx/cog/variants/lock.d.ts +2 -0
  145. package/dist/wallet/tx/cog/variants/lock.js +102 -0
  146. package/dist/wallet/tx/cog/variants/send.d.ts +2 -0
  147. package/dist/wallet/tx/cog/variants/send.js +77 -0
  148. package/dist/wallet/tx/cog.d.ts +1 -96
  149. package/dist/wallet/tx/cog.js +1 -824
  150. package/dist/wallet/tx/common.d.ts +14 -199
  151. package/dist/wallet/tx/common.js +10 -493
  152. package/dist/wallet/tx/domain-admin/confirm.d.ts +17 -0
  153. package/dist/wallet/tx/domain-admin/confirm.js +58 -0
  154. package/dist/wallet/tx/domain-admin/draft.d.ts +20 -0
  155. package/dist/wallet/tx/domain-admin/draft.js +161 -0
  156. package/dist/wallet/tx/domain-admin/index.d.ts +9 -0
  157. package/dist/wallet/tx/domain-admin/index.js +150 -0
  158. package/dist/wallet/tx/domain-admin/intent.d.ts +12 -0
  159. package/dist/wallet/tx/domain-admin/intent.js +61 -0
  160. package/dist/wallet/tx/domain-admin/plan.d.ts +19 -0
  161. package/dist/wallet/tx/domain-admin/plan.js +64 -0
  162. package/dist/wallet/tx/domain-admin/result.d.ts +19 -0
  163. package/dist/wallet/tx/domain-admin/result.js +33 -0
  164. package/dist/wallet/tx/domain-admin/types.d.ts +162 -0
  165. package/dist/wallet/tx/domain-admin/types.js +1 -0
  166. package/dist/wallet/tx/domain-admin/variants/canonical.d.ts +2 -0
  167. package/dist/wallet/tx/domain-admin/variants/canonical.js +22 -0
  168. package/dist/wallet/tx/domain-admin/variants/delegate.d.ts +3 -0
  169. package/dist/wallet/tx/domain-admin/variants/delegate.js +60 -0
  170. package/dist/wallet/tx/domain-admin/variants/endpoint.d.ts +3 -0
  171. package/dist/wallet/tx/domain-admin/variants/endpoint.js +102 -0
  172. package/dist/wallet/tx/domain-admin/variants/miner.d.ts +3 -0
  173. package/dist/wallet/tx/domain-admin/variants/miner.js +59 -0
  174. package/dist/wallet/tx/domain-admin.d.ts +1 -107
  175. package/dist/wallet/tx/domain-admin.js +1 -729
  176. package/dist/wallet/tx/domain-market/confirm.d.ts +6 -0
  177. package/dist/wallet/tx/domain-market/confirm.js +52 -0
  178. package/dist/wallet/tx/domain-market/draft.d.ts +43 -0
  179. package/dist/wallet/tx/domain-market/draft.js +286 -0
  180. package/dist/wallet/tx/domain-market/index.d.ts +6 -0
  181. package/dist/wallet/tx/domain-market/index.js +145 -0
  182. package/dist/wallet/tx/domain-market/intent.d.ts +15 -0
  183. package/dist/wallet/tx/domain-market/intent.js +131 -0
  184. package/dist/wallet/tx/domain-market/plan.d.ts +31 -0
  185. package/dist/wallet/tx/domain-market/plan.js +98 -0
  186. package/dist/wallet/tx/domain-market/result.d.ts +45 -0
  187. package/dist/wallet/tx/domain-market/result.js +88 -0
  188. package/dist/wallet/tx/domain-market/types.d.ts +221 -0
  189. package/dist/wallet/tx/domain-market/types.js +1 -0
  190. package/dist/wallet/tx/domain-market/variants/buy.d.ts +2 -0
  191. package/dist/wallet/tx/domain-market/variants/buy.js +103 -0
  192. package/dist/wallet/tx/domain-market/variants/sell.d.ts +2 -0
  193. package/dist/wallet/tx/domain-market/variants/sell.js +91 -0
  194. package/dist/wallet/tx/domain-market/variants/transfer.d.ts +2 -0
  195. package/dist/wallet/tx/domain-market/variants/transfer.js +105 -0
  196. package/dist/wallet/tx/domain-market.d.ts +1 -116
  197. package/dist/wallet/tx/domain-market.js +1 -1078
  198. package/dist/wallet/tx/draft-build.d.ts +60 -0
  199. package/dist/wallet/tx/draft-build.js +127 -0
  200. package/dist/wallet/tx/executor.d.ts +6 -40
  201. package/dist/wallet/tx/executor.js +6 -100
  202. package/dist/wallet/tx/fee.d.ts +30 -0
  203. package/dist/wallet/tx/fee.js +98 -0
  204. package/dist/wallet/tx/field/confirm.d.ts +11 -0
  205. package/dist/wallet/tx/field/confirm.js +19 -0
  206. package/dist/wallet/tx/field/draft.d.ts +23 -0
  207. package/dist/wallet/tx/field/draft.js +202 -0
  208. package/dist/wallet/tx/field/index.d.ts +5 -0
  209. package/dist/wallet/tx/field/index.js +140 -0
  210. package/dist/wallet/tx/field/intent.d.ts +5 -0
  211. package/dist/wallet/tx/field/intent.js +50 -0
  212. package/dist/wallet/tx/field/plan.d.ts +20 -0
  213. package/dist/wallet/tx/field/plan.js +65 -0
  214. package/dist/wallet/tx/field/result.d.ts +29 -0
  215. package/dist/wallet/tx/field/result.js +103 -0
  216. package/dist/wallet/tx/field/types.d.ts +163 -0
  217. package/dist/wallet/tx/field/types.js +1 -0
  218. package/dist/wallet/tx/field/variants/clear.d.ts +2 -0
  219. package/dist/wallet/tx/field/variants/clear.js +60 -0
  220. package/dist/wallet/tx/field/variants/create.d.ts +2 -0
  221. package/dist/wallet/tx/field/variants/create.js +67 -0
  222. package/dist/wallet/tx/field/variants/set.d.ts +2 -0
  223. package/dist/wallet/tx/field/variants/set.js +195 -0
  224. package/dist/wallet/tx/field.d.ts +1 -95
  225. package/dist/wallet/tx/field.js +1 -920
  226. package/dist/wallet/tx/mining-preemption.d.ts +6 -0
  227. package/dist/wallet/tx/mining-preemption.js +7 -0
  228. package/dist/wallet/tx/primitives.d.ts +13 -0
  229. package/dist/wallet/tx/primitives.js +42 -0
  230. package/dist/wallet/tx/psbt-assert.d.ts +14 -0
  231. package/dist/wallet/tx/psbt-assert.js +39 -0
  232. package/dist/wallet/tx/publish.d.ts +37 -0
  233. package/dist/wallet/tx/publish.js +88 -0
  234. package/dist/wallet/tx/readiness.d.ts +7 -0
  235. package/dist/wallet/tx/readiness.js +61 -0
  236. package/dist/wallet/tx/reconcile.d.ts +24 -0
  237. package/dist/wallet/tx/reconcile.js +72 -0
  238. package/dist/wallet/tx/register/confirm.d.ts +6 -0
  239. package/dist/wallet/tx/register/confirm.js +66 -0
  240. package/dist/wallet/tx/register/draft.d.ts +42 -0
  241. package/dist/wallet/tx/register/draft.js +181 -0
  242. package/dist/wallet/tx/register/index.d.ts +6 -0
  243. package/dist/wallet/tx/register/index.js +158 -0
  244. package/dist/wallet/tx/register/intent.d.ts +74 -0
  245. package/dist/wallet/tx/register/intent.js +119 -0
  246. package/dist/wallet/tx/register/plan.d.ts +43 -0
  247. package/dist/wallet/tx/register/plan.js +168 -0
  248. package/dist/wallet/tx/register/result.d.ts +78 -0
  249. package/dist/wallet/tx/register/result.js +41 -0
  250. package/dist/wallet/tx/register.d.ts +1 -70
  251. package/dist/wallet/tx/register.js +1 -681
  252. package/dist/wallet/tx/reputation/confirm.d.ts +11 -0
  253. package/dist/wallet/tx/reputation/confirm.js +51 -0
  254. package/dist/wallet/tx/reputation/draft.d.ts +20 -0
  255. package/dist/wallet/tx/reputation/draft.js +130 -0
  256. package/dist/wallet/tx/reputation/index.d.ts +4 -0
  257. package/dist/wallet/tx/reputation/index.js +162 -0
  258. package/dist/wallet/tx/reputation/intent.d.ts +36 -0
  259. package/dist/wallet/tx/reputation/intent.js +157 -0
  260. package/dist/wallet/tx/reputation/plan.d.ts +19 -0
  261. package/dist/wallet/tx/reputation/plan.js +64 -0
  262. package/dist/wallet/tx/reputation/result.d.ts +21 -0
  263. package/dist/wallet/tx/reputation/result.js +31 -0
  264. package/dist/wallet/tx/reputation/types.d.ts +130 -0
  265. package/dist/wallet/tx/reputation/types.js +1 -0
  266. package/dist/wallet/tx/reputation.d.ts +1 -74
  267. package/dist/wallet/tx/reputation.js +1 -556
  268. package/dist/wallet/tx/signing.d.ts +18 -0
  269. package/dist/wallet/tx/signing.js +31 -0
  270. package/dist/wallet/tx/state-persist.d.ts +27 -0
  271. package/dist/wallet/tx/state-persist.js +54 -0
  272. package/dist/wallet/tx/types.d.ts +44 -0
  273. package/dist/wallet/tx/types.js +1 -0
  274. package/package.json +1 -1
  275. package/dist/cli/mining-json.d.ts +0 -20
  276. package/dist/cli/mining-json.js +0 -46
  277. package/dist/cli/mutation-json.d.ts +0 -325
  278. package/dist/cli/mutation-json.js +0 -269
  279. package/dist/cli/mutation-resolved-json.d.ts +0 -117
  280. package/dist/cli/mutation-resolved-json.js +0 -123
  281. package/dist/cli/preview-json.d.ts +0 -319
  282. package/dist/cli/preview-json.js +0 -254
  283. package/dist/cli/read-json.d.ts +0 -190
  284. package/dist/cli/read-json.js +0 -627
@@ -0,0 +1,54 @@
1
+ import { saveWalletState } from "../state/storage.js";
2
+ import { createWalletSecretReference, } from "../state/provider.js";
3
+ import { outpointKey } from "./primitives.js";
4
+ export async function saveWalletStatePreservingUnlock(options) {
5
+ const secretReference = createWalletSecretReference(options.state.walletRootId);
6
+ await saveWalletState({
7
+ primaryPath: options.paths.walletStatePath,
8
+ backupPath: options.paths.walletStateBackupPath,
9
+ }, options.state, {
10
+ provider: options.provider,
11
+ secretReference,
12
+ });
13
+ }
14
+ export function updateMutationRecord(mutation, status, nowUnixMs, options = {}) {
15
+ return {
16
+ ...mutation,
17
+ status,
18
+ lastUpdatedAtUnixMs: nowUnixMs,
19
+ attemptedTxid: options.attemptedTxid ?? mutation.attemptedTxid,
20
+ attemptedWtxid: options.attemptedWtxid ?? mutation.attemptedWtxid,
21
+ temporaryBuilderLockedOutpoints: options.temporaryBuilderLockedOutpoints ?? mutation.temporaryBuilderLockedOutpoints,
22
+ selectedFeeRateSatVb: options.selectedFeeRateSatVb ?? mutation.selectedFeeRateSatVb,
23
+ feeSelectionSource: options.feeSelectionSource ?? mutation.feeSelectionSource,
24
+ };
25
+ }
26
+ export async function unlockTemporaryBuilderLocks(rpc, walletName, outpoints) {
27
+ if (outpoints.length === 0 || rpc.lockUnspent === undefined) {
28
+ return;
29
+ }
30
+ await rpc.lockUnspent(walletName, true, outpoints).catch(() => undefined);
31
+ }
32
+ export function diffTemporaryLockedOutpoints(before, after) {
33
+ const beforeKeys = new Set(before.map((entry) => outpointKey(entry)));
34
+ return after
35
+ .filter((entry) => !beforeKeys.has(outpointKey(entry)))
36
+ .map((entry) => ({
37
+ txid: entry.txid,
38
+ vout: entry.vout,
39
+ }));
40
+ }
41
+ export async function persistWalletMutationState(options) {
42
+ const nextState = {
43
+ ...options.state,
44
+ stateRevision: options.state.stateRevision + 1,
45
+ lastWrittenAtUnixMs: options.nowUnixMs,
46
+ };
47
+ await saveWalletStatePreservingUnlock({
48
+ state: nextState,
49
+ provider: options.provider,
50
+ nowUnixMs: options.nowUnixMs,
51
+ paths: options.paths,
52
+ });
53
+ return nextState;
54
+ }
@@ -0,0 +1,44 @@
1
+ import type { RpcDecodedPsbt, RpcEstimateSmartFeeResult, RpcFinalizePsbtResult, RpcListUnspentEntry, RpcLockedUnspent, RpcMempoolEntry, RpcTestMempoolAcceptResult, RpcTransaction, RpcWalletTransaction, RpcWalletCreateFundedPsbtResult, RpcWalletProcessPsbtResult } from "../../bitcoind/types.js";
2
+ import type { OutpointRecord, WalletStateV1 } from "../types.js";
3
+ export interface MutationSender {
4
+ localIndex: number;
5
+ scriptPubKeyHex: string;
6
+ address: string;
7
+ }
8
+ export interface WalletMutationRpcClient {
9
+ listUnspent(walletName: string, minConf?: number): Promise<RpcListUnspentEntry[]>;
10
+ listLockUnspent?(walletName: string): Promise<RpcLockedUnspent[]>;
11
+ lockUnspent?(walletName: string, unlock: boolean, outputs: RpcLockedUnspent[]): Promise<boolean>;
12
+ getTransaction?(walletName: string, txid: string): Promise<RpcWalletTransaction>;
13
+ getRawTransaction?(txid: string, verbose?: boolean): Promise<RpcTransaction>;
14
+ getMempoolEntry?(txid: string): Promise<RpcMempoolEntry>;
15
+ estimateSmartFee?(confirmTarget: number, mode: "conservative" | "economical"): Promise<RpcEstimateSmartFeeResult>;
16
+ walletCreateFundedPsbt(walletName: string, inputs: Array<{
17
+ txid: string;
18
+ vout: number;
19
+ }>, outputs: unknown[], locktime: number, options: Record<string, unknown>, bip32Derivs?: boolean): Promise<RpcWalletCreateFundedPsbtResult>;
20
+ decodePsbt(psbt: string): Promise<RpcDecodedPsbt>;
21
+ walletPassphrase(walletName: string, passphrase: string, timeoutSeconds: number): Promise<null>;
22
+ walletProcessPsbt(walletName: string, psbt: string, sign?: boolean, sighashType?: string): Promise<RpcWalletProcessPsbtResult>;
23
+ walletLock(walletName: string): Promise<null>;
24
+ finalizePsbt(psbt: string, extract?: boolean): Promise<RpcFinalizePsbtResult>;
25
+ decodeRawTransaction(hex: string): Promise<RpcTransaction>;
26
+ testMempoolAccept(rawTransactions: string[]): Promise<RpcTestMempoolAcceptResult[]>;
27
+ }
28
+ export interface BuiltWalletMutationTransaction {
29
+ funded: RpcWalletCreateFundedPsbtResult;
30
+ decoded: RpcDecodedPsbt;
31
+ psbt: string;
32
+ rawHex: string;
33
+ txid: string;
34
+ wtxid: string | null;
35
+ temporaryBuilderLockedOutpoints: OutpointRecord[];
36
+ }
37
+ export interface FixedWalletInput extends OutpointRecord {
38
+ }
39
+ export type WalletMutationReadyReadState = {
40
+ localState: {
41
+ availability: "ready";
42
+ state: WalletStateV1;
43
+ };
44
+ };
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cogcoin/client",
3
- "version": "1.1.7",
3
+ "version": "1.1.9",
4
4
  "description": "Store-backed Cogcoin client with wallet flows, SQLite persistence, and managed Bitcoin Core integration.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -1,20 +0,0 @@
1
- import type { MiningControlPlaneView, MiningDomainPromptMutationResult } from "../wallet/mining/index.js";
2
- export declare function buildMineSetupData(view: MiningControlPlaneView): {
3
- resultType: "state-change";
4
- stateChange: {
5
- kind: string;
6
- before: Record<string, unknown> | null;
7
- after: Record<string, unknown> | null;
8
- };
9
- state: Record<string, unknown>;
10
- };
11
- export declare function buildMinePromptData(result: MiningDomainPromptMutationResult): {
12
- domain: {
13
- name: string;
14
- domainId: number | null;
15
- };
16
- previousPrompt: string | null;
17
- prompt: string | null;
18
- status: "updated" | "cleared";
19
- fallbackPromptConfigured: boolean;
20
- };
@@ -1,46 +0,0 @@
1
- import { buildStateChangeData } from "./mutation-json.js";
2
- function summarizeRuntime(snapshot) {
3
- if (snapshot === null) {
4
- return null;
5
- }
6
- return {
7
- runMode: snapshot.runMode,
8
- miningState: snapshot.miningState,
9
- currentPhase: snapshot.currentPhase,
10
- backgroundWorkerPid: snapshot.backgroundWorkerPid,
11
- backgroundWorkerRunId: snapshot.backgroundWorkerRunId,
12
- note: snapshot.note,
13
- };
14
- }
15
- export function buildMineSetupData(view) {
16
- const after = {
17
- provider: {
18
- configured: view.provider.configured,
19
- provider: view.provider.provider,
20
- status: view.provider.status,
21
- modelId: view.provider.modelId,
22
- modelOverride: view.provider.modelOverride,
23
- modelSelectionSource: view.provider.modelSelectionSource,
24
- effectiveModel: view.provider.effectiveModel,
25
- usingDefaultModel: view.provider.usingDefaultModel,
26
- extraPromptConfigured: view.provider.extraPromptConfigured,
27
- estimatedDailyCostUsd: view.provider.estimatedDailyCostUsd,
28
- estimatedDailyCostDisplay: view.provider.estimatedDailyCostDisplay,
29
- },
30
- runtime: summarizeRuntime(view.runtime),
31
- };
32
- return buildStateChangeData({
33
- kind: "mine-setup",
34
- state: after,
35
- after,
36
- });
37
- }
38
- export function buildMinePromptData(result) {
39
- return {
40
- domain: result.domain,
41
- previousPrompt: result.previousPrompt,
42
- prompt: result.prompt,
43
- status: result.status,
44
- fallbackPromptConfigured: result.fallbackPromptConfigured,
45
- };
46
- }
@@ -1,325 +0,0 @@
1
- import type { AnchorDomainResult, BitcoinTransferResult, CogMutationResult, DomainAdminMutationResult, DomainMarketMutationResult, FieldMutationResult, RegisterDomainResult, ReputationMutationResult, WalletMutationFeeSummary } from "../wallet/tx/index.js";
2
- import type { WalletInitializationResult, WalletRepairResult, WalletResetResult } from "../wallet/lifecycle.js";
3
- export declare function buildSingleTxMutationData(options: {
4
- kind: string;
5
- localStatus: string;
6
- txid: string | null | undefined;
7
- wtxid?: string | null | undefined;
8
- reusedExisting: boolean;
9
- intent: Record<string, unknown>;
10
- fees: WalletMutationFeeSummary;
11
- journalKind?: string | null;
12
- intentFingerprintHex?: string | null;
13
- }): {
14
- resultType: "single-tx-mutation";
15
- mutation: {
16
- kind: string;
17
- journalKind: string;
18
- localStatus: string;
19
- reusedExisting: boolean;
20
- intentFingerprintHex: string | null;
21
- };
22
- transaction: {
23
- txid: string | null;
24
- wtxid: string | null;
25
- };
26
- fees: WalletMutationFeeSummary;
27
- intent: Record<string, unknown>;
28
- };
29
- export declare function buildStateChangeData(options: {
30
- kind: string;
31
- state: Record<string, unknown>;
32
- before?: Record<string, unknown> | null;
33
- after?: Record<string, unknown> | null;
34
- }): {
35
- resultType: "state-change";
36
- stateChange: {
37
- kind: string;
38
- before: Record<string, unknown> | null;
39
- after: Record<string, unknown> | null;
40
- };
41
- state: Record<string, unknown>;
42
- };
43
- export declare function buildOperationData(options: {
44
- kind: string;
45
- state?: Record<string, unknown> | null;
46
- operation: Record<string, unknown>;
47
- }): {
48
- resultType: "operation";
49
- operation: {
50
- kind: string;
51
- };
52
- state: Record<string, unknown> | null;
53
- };
54
- export declare function buildBitcoinTransferData(result: BitcoinTransferResult): {
55
- resultType: "operation";
56
- operation: {
57
- kind: string;
58
- };
59
- state: Record<string, unknown> | null;
60
- };
61
- export declare function buildRegisterMutationData(result: RegisterDomainResult, options: {
62
- forceRace: boolean;
63
- }): {
64
- resolved: {
65
- path: "root" | "subdomain";
66
- parentDomainName: string | null;
67
- sender: {
68
- selector: string;
69
- localIndex: number;
70
- scriptPubKeyHex: string;
71
- address: string;
72
- };
73
- economicEffect: {
74
- kind: "treasury-payment" | "cog-burn";
75
- amount: string | null;
76
- };
77
- };
78
- resultType: "single-tx-mutation";
79
- mutation: {
80
- kind: string;
81
- journalKind: string;
82
- localStatus: string;
83
- reusedExisting: boolean;
84
- intentFingerprintHex: string | null;
85
- };
86
- transaction: {
87
- txid: string | null;
88
- wtxid: string | null;
89
- };
90
- fees: WalletMutationFeeSummary;
91
- intent: Record<string, unknown>;
92
- };
93
- export declare function buildDomainMarketMutationData(result: DomainMarketMutationResult, options: {
94
- commandKind: "transfer" | "sell" | "unsell" | "buy";
95
- }): {
96
- resolved: {
97
- buyer: {
98
- selector: string;
99
- localIndex: number;
100
- scriptPubKeyHex: string;
101
- address: string;
102
- } | null;
103
- seller: {
104
- scriptPubKeyHex: string;
105
- address: string | null;
106
- } | null;
107
- sender?: undefined;
108
- recipient?: undefined;
109
- economicEffect?: undefined;
110
- } | {
111
- sender: {
112
- selector: string;
113
- localIndex: number;
114
- scriptPubKeyHex: string;
115
- address: string;
116
- };
117
- recipient: {
118
- scriptPubKeyHex: string;
119
- address: string | null;
120
- opaque: boolean;
121
- } | null;
122
- economicEffect: {
123
- kind: "ownership-transfer";
124
- clearsListing: boolean;
125
- listedPriceCogtoshi?: undefined;
126
- } | {
127
- kind: "listing-set" | "listing-clear";
128
- listedPriceCogtoshi: string;
129
- clearsListing?: undefined;
130
- };
131
- buyer?: undefined;
132
- seller?: undefined;
133
- } | null;
134
- resultType: "single-tx-mutation";
135
- mutation: {
136
- kind: string;
137
- journalKind: string;
138
- localStatus: string;
139
- reusedExisting: boolean;
140
- intentFingerprintHex: string | null;
141
- };
142
- transaction: {
143
- txid: string | null;
144
- wtxid: string | null;
145
- };
146
- fees: WalletMutationFeeSummary;
147
- intent: Record<string, unknown>;
148
- };
149
- export declare function buildCogMutationData(result: CogMutationResult, options: {
150
- commandKind: "send" | "claim" | "reclaim" | "cog-lock";
151
- timeoutBlocksOrDuration?: string | null;
152
- timeoutHeight?: string | null;
153
- conditionHex?: string | null;
154
- }): {
155
- resolved: {
156
- claimPath?: import("../wallet/tx/cog.js").CogResolvedClaimPath | null | undefined;
157
- sender: {
158
- selector: string;
159
- localIndex: number;
160
- scriptPubKeyHex: string;
161
- address: string;
162
- };
163
- };
164
- resultType: "single-tx-mutation";
165
- mutation: {
166
- kind: string;
167
- journalKind: string;
168
- localStatus: string;
169
- reusedExisting: boolean;
170
- intentFingerprintHex: string | null;
171
- };
172
- transaction: {
173
- txid: string | null;
174
- wtxid: string | null;
175
- };
176
- fees: WalletMutationFeeSummary;
177
- intent: Record<string, unknown>;
178
- };
179
- export declare function buildAnchorMutationData(result: AnchorDomainResult, options: {
180
- foundingMessageText: string | null;
181
- }): {
182
- resultType: "single-tx-mutation";
183
- mutation: {
184
- kind: string;
185
- journalKind: string;
186
- localStatus: string;
187
- reusedExisting: boolean;
188
- intentFingerprintHex: string | null;
189
- };
190
- transaction: {
191
- txid: string | null;
192
- wtxid: string | null;
193
- };
194
- fees: WalletMutationFeeSummary;
195
- intent: Record<string, unknown>;
196
- };
197
- export declare function buildResetMutationData(result: WalletResetResult): {
198
- resultType: "operation";
199
- operation: {
200
- kind: string;
201
- };
202
- state: Record<string, unknown> | null;
203
- };
204
- export declare function buildDomainAdminMutationData(result: DomainAdminMutationResult, options: {
205
- commandKind: "domain-endpoint-set" | "domain-endpoint-clear" | "domain-delegate-set" | "domain-delegate-clear" | "domain-miner-set" | "domain-miner-clear" | "domain-canonical";
206
- }): {
207
- resolved: {
208
- sender: {
209
- selector: string;
210
- localIndex: number;
211
- scriptPubKeyHex: string;
212
- address: string;
213
- };
214
- target: {
215
- scriptPubKeyHex: string;
216
- address: string | null;
217
- opaque: boolean;
218
- } | null;
219
- effect: {
220
- kind: "endpoint-set";
221
- byteLength: number;
222
- } | {
223
- kind: "endpoint-clear" | "delegate-set" | "delegate-clear" | "miner-set" | "miner-clear" | "canonicalize-owner";
224
- byteLength?: undefined;
225
- };
226
- } | null;
227
- resultType: "single-tx-mutation";
228
- mutation: {
229
- kind: string;
230
- journalKind: string;
231
- localStatus: string;
232
- reusedExisting: boolean;
233
- intentFingerprintHex: string | null;
234
- };
235
- transaction: {
236
- txid: string | null;
237
- wtxid: string | null;
238
- };
239
- fees: WalletMutationFeeSummary;
240
- intent: Record<string, unknown>;
241
- };
242
- export declare function buildFieldMutationData(result: FieldMutationResult): {
243
- resolved: {
244
- sender: {
245
- selector: string;
246
- localIndex: number;
247
- scriptPubKeyHex: string;
248
- address: string;
249
- };
250
- path: import("../wallet/tx/field.js").FieldResolvedPath;
251
- value: {
252
- format: number;
253
- byteLength: number;
254
- } | null;
255
- effect: {
256
- kind: "create-empty-field" | "write-field-value" | "clear-field-value";
257
- burnCogtoshi: "0" | "1" | "100";
258
- };
259
- } | null;
260
- resultType: "single-tx-mutation";
261
- mutation: {
262
- kind: string;
263
- journalKind: string;
264
- localStatus: string;
265
- reusedExisting: boolean;
266
- intentFingerprintHex: string | null;
267
- };
268
- transaction: {
269
- txid: string | null;
270
- wtxid: string | null;
271
- };
272
- fees: WalletMutationFeeSummary;
273
- intent: Record<string, unknown>;
274
- };
275
- export declare function buildReputationMutationData(result: ReputationMutationResult): {
276
- resolved: {
277
- sender: {
278
- selector: string;
279
- localIndex: number;
280
- scriptPubKeyHex: string;
281
- address: string;
282
- };
283
- effect: {
284
- kind: "give-support" | "revoke-support";
285
- burnCogtoshi: string;
286
- };
287
- review: {
288
- included: boolean;
289
- byteLength: number | null;
290
- };
291
- selfStake: boolean;
292
- } | null;
293
- resultType: "single-tx-mutation";
294
- mutation: {
295
- kind: string;
296
- journalKind: string;
297
- localStatus: string;
298
- reusedExisting: boolean;
299
- intentFingerprintHex: string | null;
300
- };
301
- transaction: {
302
- txid: string | null;
303
- wtxid: string | null;
304
- };
305
- fees: WalletMutationFeeSummary;
306
- intent: Record<string, unknown>;
307
- };
308
- export declare function buildInitMutationData(result: WalletInitializationResult): {
309
- resultType: "state-change";
310
- stateChange: {
311
- kind: string;
312
- before: Record<string, unknown> | null;
313
- after: Record<string, unknown> | null;
314
- };
315
- state: Record<string, unknown>;
316
- };
317
- export declare function buildRepairMutationData(result: WalletRepairResult): {
318
- resultType: "state-change";
319
- stateChange: {
320
- kind: string;
321
- before: Record<string, unknown> | null;
322
- after: Record<string, unknown> | null;
323
- };
324
- state: Record<string, unknown>;
325
- };