@bsv/wallet-toolbox 2.4.0 → 2.4.2
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/CHANGELOG.md +42 -0
- package/README.md +45 -0
- package/docs/client.md +493 -168
- package/docs/managed-change-policy.md +79 -0
- package/docs/services.md +61 -26
- package/docs/storage.md +417 -69
- package/docs/wallet.md +465 -155
- package/out/src/Wallet.d.ts +5 -1
- package/out/src/Wallet.d.ts.map +1 -1
- package/out/src/Wallet.js +14 -8
- package/out/src/Wallet.js.map +1 -1
- package/out/src/WalletPermissionsManager.d.ts +18 -0
- package/out/src/WalletPermissionsManager.d.ts.map +1 -1
- package/out/src/WalletPermissionsManager.js +56 -9
- package/out/src/WalletPermissionsManager.js.map +1 -1
- package/out/src/monitor/tasks/TaskArcSSE.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskArcSSE.js +46 -18
- package/out/src/monitor/tasks/TaskArcSSE.js.map +1 -1
- package/out/src/monitor/tasks/TaskCheckForProofs.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskCheckForProofs.js +10 -10
- package/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -1
- package/out/src/monitor/tasks/TaskReviewStatus.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskReviewStatus.js +7 -2
- package/out/src/monitor/tasks/TaskReviewStatus.js.map +1 -1
- package/out/src/monitor/tasks/TaskUnFail.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskUnFail.js +2 -57
- package/out/src/monitor/tasks/TaskUnFail.js.map +1 -1
- package/out/src/sdk/WalletServices.interfaces.d.ts +1 -0
- package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -1
- package/out/src/sdk/WalletStorage.interfaces.d.ts +10 -4
- package/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -1
- package/out/src/sdk/types.d.ts +10 -1
- package/out/src/sdk/types.d.ts.map +1 -1
- package/out/src/sdk/types.js +16 -2
- package/out/src/sdk/types.js.map +1 -1
- package/out/src/services/Services.d.ts.map +1 -1
- package/out/src/services/Services.js +39 -19
- package/out/src/services/Services.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +8 -0
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js +4 -0
- package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +2 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +2 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +1 -0
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +1 -1
- package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -1
- package/out/src/services/createDefaultWalletServicesOptions.js +17 -3
- package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
- package/out/src/services/networkConfig.d.ts +29 -0
- package/out/src/services/networkConfig.d.ts.map +1 -0
- package/out/src/services/networkConfig.js +54 -0
- package/out/src/services/networkConfig.js.map +1 -0
- package/out/src/services/providers/Arcade.d.ts +1 -0
- package/out/src/services/providers/Arcade.d.ts.map +1 -1
- package/out/src/services/providers/Arcade.js +45 -14
- package/out/src/services/providers/Arcade.js.map +1 -1
- package/out/src/services/providers/SdkWhatsOnChain.d.ts +1 -1
- package/out/src/services/providers/SdkWhatsOnChain.d.ts.map +1 -1
- package/out/src/services/providers/SdkWhatsOnChain.js +12 -4
- package/out/src/services/providers/SdkWhatsOnChain.js.map +1 -1
- package/out/src/signer/methods/buildSignableTransaction.d.ts.map +1 -1
- package/out/src/signer/methods/buildSignableTransaction.js +3 -1
- package/out/src/signer/methods/buildSignableTransaction.js.map +1 -1
- package/out/src/signer/methods/completeSignedTransaction.d.ts.map +1 -1
- package/out/src/signer/methods/completeSignedTransaction.js +5 -3
- package/out/src/signer/methods/completeSignedTransaction.js.map +1 -1
- package/out/src/signer/methods/createAction.d.ts.map +1 -1
- package/out/src/signer/methods/createAction.js +12 -5
- package/out/src/signer/methods/createAction.js.map +1 -1
- package/out/src/signer/methods/internalizeAction.d.ts +6 -4
- package/out/src/signer/methods/internalizeAction.d.ts.map +1 -1
- package/out/src/signer/methods/internalizeAction.js +12 -7
- package/out/src/signer/methods/internalizeAction.js.map +1 -1
- package/out/src/signer/methods/resultBeef.d.ts +4 -0
- package/out/src/signer/methods/resultBeef.d.ts.map +1 -0
- package/out/src/signer/methods/resultBeef.js +12 -0
- package/out/src/signer/methods/resultBeef.js.map +1 -0
- package/out/src/signer/methods/signAction.d.ts.map +1 -1
- package/out/src/signer/methods/signAction.js +6 -1
- package/out/src/signer/methods/signAction.js.map +1 -1
- package/out/src/storage/StorageIdb.d.ts +2 -1
- package/out/src/storage/StorageIdb.d.ts.map +1 -1
- package/out/src/storage/StorageIdb.js +12 -5
- package/out/src/storage/StorageIdb.js.map +1 -1
- package/out/src/storage/StorageKnex.d.ts +2 -1
- package/out/src/storage/StorageKnex.d.ts.map +1 -1
- package/out/src/storage/StorageKnex.js +27 -2
- package/out/src/storage/StorageKnex.js.map +1 -1
- package/out/src/storage/StorageProvider.d.ts +17 -0
- package/out/src/storage/StorageProvider.d.ts.map +1 -1
- package/out/src/storage/StorageProvider.js +206 -13
- package/out/src/storage/StorageProvider.js.map +1 -1
- package/out/src/storage/index.all.d.ts +2 -0
- package/out/src/storage/index.all.d.ts.map +1 -1
- package/out/src/storage/index.all.js +2 -0
- package/out/src/storage/index.all.js.map +1 -1
- package/out/src/storage/index.client.d.ts +1 -0
- package/out/src/storage/index.client.d.ts.map +1 -1
- package/out/src/storage/index.client.js +1 -0
- package/out/src/storage/index.client.js.map +1 -1
- package/out/src/storage/methods/ListOutputsSpecOp.d.ts +2 -0
- package/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -1
- package/out/src/storage/methods/ListOutputsSpecOp.js +13 -1
- package/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -1
- package/out/src/storage/methods/createAction.d.ts.map +1 -1
- package/out/src/storage/methods/createAction.js +23 -10
- package/out/src/storage/methods/createAction.js.map +1 -1
- package/out/src/storage/methods/getBeefForTransaction.d.ts.map +1 -1
- package/out/src/storage/methods/getBeefForTransaction.js +47 -24
- package/out/src/storage/methods/getBeefForTransaction.js.map +1 -1
- package/out/src/storage/methods/internalizeAction.d.ts +6 -4
- package/out/src/storage/methods/internalizeAction.d.ts.map +1 -1
- package/out/src/storage/methods/internalizeAction.js +26 -15
- package/out/src/storage/methods/internalizeAction.js.map +1 -1
- package/out/src/storage/methods/listOutputsIdb.d.ts.map +1 -1
- package/out/src/storage/methods/listOutputsIdb.js +21 -3
- package/out/src/storage/methods/listOutputsIdb.js.map +1 -1
- package/out/src/storage/methods/listOutputsKnex.d.ts.map +1 -1
- package/out/src/storage/methods/listOutputsKnex.js +14 -0
- package/out/src/storage/methods/listOutputsKnex.js.map +1 -1
- package/out/src/storage/methods/managedChange.d.ts +26 -0
- package/out/src/storage/methods/managedChange.d.ts.map +1 -0
- package/out/src/storage/methods/managedChange.js +43 -0
- package/out/src/storage/methods/managedChange.js.map +1 -0
- package/out/src/storage/methods/processAction.d.ts.map +1 -1
- package/out/src/storage/methods/processAction.js +5 -4
- package/out/src/storage/methods/processAction.js.map +1 -1
- package/out/src/storage/remoting/BinaryJson.d.ts +10 -0
- package/out/src/storage/remoting/BinaryJson.d.ts.map +1 -0
- package/out/src/storage/remoting/BinaryJson.js +172 -0
- package/out/src/storage/remoting/BinaryJson.js.map +1 -0
- package/out/src/storage/remoting/KnexSessionManager.d.ts +37 -0
- package/out/src/storage/remoting/KnexSessionManager.d.ts.map +1 -0
- package/out/src/storage/remoting/KnexSessionManager.js +198 -0
- package/out/src/storage/remoting/KnexSessionManager.js.map +1 -0
- package/out/src/storage/remoting/StorageClient.d.ts +2 -2
- package/out/src/storage/remoting/StorageClient.d.ts.map +1 -1
- package/out/src/storage/remoting/StorageClient.js +14 -5
- package/out/src/storage/remoting/StorageClient.js.map +1 -1
- package/out/src/storage/remoting/StorageClientBase.d.ts +11 -1
- package/out/src/storage/remoting/StorageClientBase.d.ts.map +1 -1
- package/out/src/storage/remoting/StorageClientBase.js +4 -1
- package/out/src/storage/remoting/StorageClientBase.js.map +1 -1
- package/out/src/storage/remoting/StorageMobile.d.ts +2 -2
- package/out/src/storage/remoting/StorageMobile.d.ts.map +1 -1
- package/out/src/storage/remoting/StorageMobile.js +14 -5
- package/out/src/storage/remoting/StorageMobile.js.map +1 -1
- package/out/src/storage/remoting/StorageServer.d.ts +10 -0
- package/out/src/storage/remoting/StorageServer.d.ts.map +1 -1
- package/out/src/storage/remoting/StorageServer.js +48 -21
- package/out/src/storage/remoting/StorageServer.js.map +1 -1
- package/out/src/storage/schema/KnexMigrations.d.ts +2 -0
- package/out/src/storage/schema/KnexMigrations.d.ts.map +1 -1
- package/out/src/storage/schema/KnexMigrations.js +34 -1
- package/out/src/storage/schema/KnexMigrations.js.map +1 -1
- package/out/src/storage/schema/tables/TableAuthSession.d.ts +20 -0
- package/out/src/storage/schema/tables/TableAuthSession.d.ts.map +1 -0
- package/out/src/storage/schema/tables/TableAuthSession.js +15 -0
- package/out/src/storage/schema/tables/TableAuthSession.js.map +1 -0
- package/out/src/storage/schema/tables/index.d.ts +1 -0
- package/out/src/storage/schema/tables/index.d.ts.map +1 -1
- package/out/src/storage/schema/tables/index.js +1 -0
- package/out/src/storage/schema/tables/index.js.map +1 -1
- package/out/src/storage/storageProviderHelpers.d.ts +5 -4
- package/out/src/storage/storageProviderHelpers.d.ts.map +1 -1
- package/out/src/storage/storageProviderHelpers.js +7 -6
- package/out/src/storage/storageProviderHelpers.js.map +1 -1
- package/out/src/utility/utilityHelpers.d.ts.map +1 -1
- package/out/src/utility/utilityHelpers.js +2 -0
- package/out/src/utility/utilityHelpers.js.map +1 -1
- package/package.json +6 -5
|
@@ -4,7 +4,6 @@ exports.getBeefForTransaction = getBeefForTransaction;
|
|
|
4
4
|
const sdk_1 = require("@bsv/sdk");
|
|
5
5
|
const EntityProvenTx_1 = require("../schema/entities/EntityProvenTx");
|
|
6
6
|
const WERR_errors_1 = require("../../sdk/WERR_errors");
|
|
7
|
-
const utilityHelpers_1 = require("../../utility/utilityHelpers");
|
|
8
7
|
/**
|
|
9
8
|
* Creates a `Beef` to support the validity of a transaction identified by its `txid`.
|
|
10
9
|
*
|
|
@@ -24,15 +23,47 @@ const utilityHelpers_1 = require("../../utility/utilityHelpers");
|
|
|
24
23
|
* @param options
|
|
25
24
|
*/
|
|
26
25
|
async function getBeefForTransaction(storage, txid, options) {
|
|
27
|
-
const beef =
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
26
|
+
const beef = options.mergeToBeef instanceof sdk_1.Beef
|
|
27
|
+
? options.mergeToBeef
|
|
28
|
+
: options.mergeToBeef != null
|
|
29
|
+
? sdk_1.Beef.fromBinary(options.mergeToBeef)
|
|
30
|
+
: new sdk_1.Beef();
|
|
31
|
+
const knownTxids = new Set(options.knownTxids ?? []);
|
|
32
|
+
const scheduled = new Set([txid]);
|
|
33
|
+
let frontier = [{ txid, depth: 0 }];
|
|
34
|
+
const requestedConcurrency = options.maxConcurrency ?? 8;
|
|
35
|
+
const concurrency = Number.isFinite(requestedConcurrency)
|
|
36
|
+
? Math.max(1, Math.min(32, Math.floor(requestedConcurrency)))
|
|
37
|
+
: 8;
|
|
38
|
+
while (frontier.length > 0) {
|
|
39
|
+
const current = frontier.filter(item => beef.findTxid(item.txid) == null);
|
|
40
|
+
const resolved = await mapWithConcurrency(current, concurrency, async (item) => await resolveBeefForTransaction(storage, item.txid, options, knownTxids, item.depth));
|
|
41
|
+
const next = [];
|
|
42
|
+
for (let i = 0; i < resolved.length; i++) {
|
|
43
|
+
const result = resolved[i];
|
|
44
|
+
beef.mergeBeef(result.beef);
|
|
45
|
+
for (const dependency of result.dependencies) {
|
|
46
|
+
if (!scheduled.has(dependency) && beef.findTxid(dependency) == null) {
|
|
47
|
+
scheduled.add(dependency);
|
|
48
|
+
next.push({ txid: dependency, depth: current[i].depth + 1 });
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
frontier = next;
|
|
53
|
+
}
|
|
34
54
|
return beef;
|
|
35
55
|
}
|
|
56
|
+
async function mapWithConcurrency(values, concurrency, mapper) {
|
|
57
|
+
const results = new Array(values.length);
|
|
58
|
+
let cursor = 0;
|
|
59
|
+
await Promise.all(Array.from({ length: Math.min(concurrency, values.length) }, async () => {
|
|
60
|
+
while (cursor < values.length) {
|
|
61
|
+
const index = cursor++;
|
|
62
|
+
results[index] = await mapper(values[index]);
|
|
63
|
+
}
|
|
64
|
+
}));
|
|
65
|
+
return results;
|
|
66
|
+
}
|
|
36
67
|
/**
|
|
37
68
|
* @returns rawTx if txid known to network, if merkle proof available then also proven result is valid.
|
|
38
69
|
*/
|
|
@@ -43,22 +74,23 @@ async function getProvenOrRawTxFromServices(storage, txid, options) {
|
|
|
43
74
|
}
|
|
44
75
|
return { proven: por.proven?.toApi(), rawTx: por.rawTx };
|
|
45
76
|
}
|
|
46
|
-
async function
|
|
77
|
+
async function resolveBeefForTransaction(storage, txid, options, knownTxids, recursionDepth) {
|
|
47
78
|
const maxDepth = storage.maxRecursionDepth;
|
|
48
79
|
if (maxDepth && maxDepth <= recursionDepth) {
|
|
49
80
|
throw new WERR_errors_1.WERR_INVALID_OPERATION(`Maximum BEEF depth exceeded. Limit is ${storage.maxRecursionDepth}`);
|
|
50
81
|
}
|
|
51
|
-
|
|
82
|
+
const beef = new sdk_1.Beef();
|
|
83
|
+
if (knownTxids.has(txid)) {
|
|
52
84
|
// This txid is one of the txids the caller claims to already know are valid...
|
|
53
85
|
beef.mergeTxidOnly(txid);
|
|
54
|
-
return beef;
|
|
86
|
+
return { beef, dependencies: [] };
|
|
55
87
|
}
|
|
56
88
|
if (!options.ignoreStorage) {
|
|
57
89
|
// if we can use storage, ask storage if it has the txid
|
|
58
90
|
const requiredLevels = options.minProofLevel === undefined ? undefined : options.minProofLevel + recursionDepth;
|
|
59
91
|
const knownBeef = await storage.getValidBeefForTxid(txid, beef, options.trustSelf, options.knownTxids, undefined, requiredLevels, options.chainTracker, options.skipInvalidProofs);
|
|
60
92
|
if (knownBeef != null)
|
|
61
|
-
return knownBeef;
|
|
93
|
+
return { beef: knownBeef, dependencies: [] };
|
|
62
94
|
}
|
|
63
95
|
if (options.ignoreServices) {
|
|
64
96
|
throw new WERR_errors_1.WERR_INVALID_PARAMETER(`txid ${txid}`, `valid transaction on chain ${storage.chain}`);
|
|
@@ -88,22 +120,13 @@ async function mergeBeefForTransactionRecurse(beef, storage, txid, options, recu
|
|
|
88
120
|
if (r.proven != null) {
|
|
89
121
|
beef.mergeRawTx(r.proven.rawTx);
|
|
90
122
|
beef.mergeBump(mp);
|
|
91
|
-
return beef;
|
|
123
|
+
return { beef, dependencies: [] };
|
|
92
124
|
}
|
|
93
125
|
}
|
|
94
126
|
if (r.rawTx == null)
|
|
95
127
|
throw new WERR_errors_1.WERR_INVALID_PARAMETER(`txid ${txid}`, `valid transaction on chain ${storage.chain}`);
|
|
96
128
|
// merge the raw transaction and recurse over its inputs.
|
|
97
|
-
beef.mergeRawTx(r.rawTx);
|
|
98
|
-
|
|
99
|
-
const tx = (0, utilityHelpers_1.asBsvSdkTx)(r.rawTx);
|
|
100
|
-
for (const input of tx.inputs) {
|
|
101
|
-
const inputTxid = (0, utilityHelpers_1.verifyTruthy)(input.sourceTXID);
|
|
102
|
-
if (beef.findTxid(inputTxid) == null) {
|
|
103
|
-
// Only if the txid is not already in the list of beef transactions.
|
|
104
|
-
await mergeBeefForTransactionRecurse(beef, storage, inputTxid, options, recursionDepth + 1);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
return beef;
|
|
129
|
+
const beefTx = beef.mergeRawTx(r.rawTx);
|
|
130
|
+
return { beef, dependencies: beefTx.inputTxids };
|
|
108
131
|
}
|
|
109
132
|
//# sourceMappingURL=getBeefForTransaction.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getBeefForTransaction.js","sourceRoot":"","sources":["../../../../src/storage/methods/getBeefForTransaction.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"getBeefForTransaction.js","sourceRoot":"","sources":["../../../../src/storage/methods/getBeefForTransaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -89,12 +89,14 @@ export declare function restoreInputsToSpendable(storage: StorageProvider, trans
|
|
|
89
89
|
*
|
|
90
90
|
* "basket insertion" Merge Rules:
|
|
91
91
|
* 1. The "default" basket may not be specified as the insertion basket.
|
|
92
|
-
* 2.
|
|
93
|
-
* 3.
|
|
92
|
+
* 2. Managed change may not be reclassified as a basket insertion.
|
|
93
|
+
* 3. Basket insertions do not affect wallet balance and are typed "custom".
|
|
94
94
|
*
|
|
95
95
|
* "wallet payment" Merge Rules:
|
|
96
|
-
* 1.
|
|
97
|
-
* 2.
|
|
96
|
+
* 1. Targeting an existing managed output is idempotent.
|
|
97
|
+
* 2. Targeting an existing custom output converts it to managed BRC-29
|
|
98
|
+
* change and increases wallet balance. This includes verified recovery of
|
|
99
|
+
* a legacy custom row that was incorrectly placed in the default basket.
|
|
98
100
|
*/
|
|
99
101
|
export declare function internalizeAction(storage: StorageProvider, auth: AuthId, args: InternalizeActionArgs): Promise<StorageInternalizeActionResult>;
|
|
100
102
|
//# sourceMappingURL=internalizeAction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internalizeAction.d.ts","sourceRoot":"","sources":["../../../../src/storage/methods/internalizeAction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,IAAI,cAAc,EAG7B,qBAAqB,EAOtB,MAAM,UAAU,CAAA;AAEjB,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,8BAA8B,EAAsB,MAAM,oCAAoC,CAAA;
|
|
1
|
+
{"version":3,"file":"internalizeAction.d.ts","sourceRoot":"","sources":["../../../../src/storage/methods/internalizeAction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,IAAI,cAAc,EAG7B,qBAAqB,EAOtB,MAAM,UAAU,CAAA;AAEjB,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,8BAA8B,EAAsB,MAAM,oCAAoC,CAAA;AAY/G;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAA;IAChB,yEAAyE;IACzE,UAAU,EAAE,OAAO,CAAA;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,cAAc,EAClB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,oBAAoB,EAAE,CAAC,CA0BjC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,eAAe,EACxB,WAAW,EAAE,oBAAoB,EAAE,GAClC,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,eAAe,EACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,8BAA8B,CAAC,CAQzC"}
|
|
@@ -9,6 +9,7 @@ const WERR_errors_1 = require("../../sdk/WERR_errors");
|
|
|
9
9
|
const utilityHelpers_1 = require("../../utility/utilityHelpers");
|
|
10
10
|
const EntityProvenTxReq_1 = require("../schema/entities/EntityProvenTxReq");
|
|
11
11
|
const blockHeaderUtilities_1 = require("../../services/chaintracker/chaintracks/util/blockHeaderUtilities");
|
|
12
|
+
const managedChange_1 = require("./managedChange");
|
|
12
13
|
/**
|
|
13
14
|
* Mark every storage row at each consumed-input outpoint as spent — across
|
|
14
15
|
* all users that track that outpoint. An on-chain spend invalidates the UTXO
|
|
@@ -126,12 +127,14 @@ async function restoreInputsToSpendable(storage, transitions) {
|
|
|
126
127
|
*
|
|
127
128
|
* "basket insertion" Merge Rules:
|
|
128
129
|
* 1. The "default" basket may not be specified as the insertion basket.
|
|
129
|
-
* 2.
|
|
130
|
-
* 3.
|
|
130
|
+
* 2. Managed change may not be reclassified as a basket insertion.
|
|
131
|
+
* 3. Basket insertions do not affect wallet balance and are typed "custom".
|
|
131
132
|
*
|
|
132
133
|
* "wallet payment" Merge Rules:
|
|
133
|
-
* 1.
|
|
134
|
-
* 2.
|
|
134
|
+
* 1. Targeting an existing managed output is idempotent.
|
|
135
|
+
* 2. Targeting an existing custom output converts it to managed BRC-29
|
|
136
|
+
* change and increases wallet balance. This includes verified recovery of
|
|
137
|
+
* a legacy custom row that was incorrectly placed in the default basket.
|
|
135
138
|
*/
|
|
136
139
|
async function internalizeAction(storage, auth, args) {
|
|
137
140
|
const ctx = new InternalizeActionContext(storage, auth, args);
|
|
@@ -208,6 +211,9 @@ class InternalizeActionContext {
|
|
|
208
211
|
this.r.satoshis = v;
|
|
209
212
|
}
|
|
210
213
|
async getBasket(basketName) {
|
|
214
|
+
if (basketName === 'default') {
|
|
215
|
+
throw new WERR_errors_1.WERR_INVALID_PARAMETER('insertionRemittance.basket', 'a non-default basket');
|
|
216
|
+
}
|
|
211
217
|
let b = this.baskets[basketName];
|
|
212
218
|
if (b)
|
|
213
219
|
return b;
|
|
@@ -217,7 +223,7 @@ class InternalizeActionContext {
|
|
|
217
223
|
}
|
|
218
224
|
async asyncSetup() {
|
|
219
225
|
;
|
|
220
|
-
({ ab: this.ab, tx: this.tx, txid: this.txid } = await this.validateAtomicBeef(
|
|
226
|
+
({ ab: this.ab, tx: this.tx, txid: this.txid } = await this.validateAtomicBeef(this.args.tx));
|
|
221
227
|
for (const o of this.args.outputs) {
|
|
222
228
|
if (o.outputIndex < 0 || o.outputIndex >= this.tx.outputs.length) {
|
|
223
229
|
throw new WERR_errors_1.WERR_INVALID_PARAMETER('outputIndex', `a valid output index in range 0 to ${this.tx.outputs.length - 1}`);
|
|
@@ -228,6 +234,9 @@ class InternalizeActionContext {
|
|
|
228
234
|
if ((o.insertionRemittance == null) || (o.paymentRemittance != null)) {
|
|
229
235
|
throw new WERR_errors_1.WERR_INVALID_PARAMETER('basket insertion', 'valid insertionRemittance and no paymentRemittance');
|
|
230
236
|
}
|
|
237
|
+
if (o.insertionRemittance.basket === 'default') {
|
|
238
|
+
throw new WERR_errors_1.WERR_INVALID_PARAMETER('insertionRemittance.basket', 'a non-default basket');
|
|
239
|
+
}
|
|
231
240
|
this.basketInsertions.push({
|
|
232
241
|
...o.insertionRemittance,
|
|
233
242
|
txo,
|
|
@@ -277,23 +286,25 @@ class InternalizeActionContext {
|
|
|
277
286
|
}
|
|
278
287
|
for (const basket of this.basketInsertions) {
|
|
279
288
|
if (this.isMerge && (basket.eo != null)) {
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
// converting a change output to a user basket custom output
|
|
283
|
-
this.satoshis -= basket.txo.satoshis;
|
|
289
|
+
if ((0, managedChange_1.isManagedChangeOutput)(basket.eo)) {
|
|
290
|
+
throw new WERR_errors_1.WERR_INVALID_PARAMETER('outputs', `output ${basket.vout} is wallet-managed change and cannot be reclassified as a basket insertion`);
|
|
284
291
|
}
|
|
292
|
+
// An incompatible legacy row in the default basket may be moved to a
|
|
293
|
+
// non-default recovery basket. It was not part of managed balance, so
|
|
294
|
+
// this metadata repair has no satoshi adjustment.
|
|
285
295
|
}
|
|
286
296
|
}
|
|
287
297
|
for (const payment of this.walletPayments) {
|
|
288
298
|
if (this.isMerge) {
|
|
289
299
|
if (payment.eo != null) {
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
// ignore attempts to internalize an existing change output.
|
|
300
|
+
if ((0, managedChange_1.isManagedChangeOutput)(payment.eo) && payment.eo.basketId === this.changeBasket.basketId) {
|
|
301
|
+
// Re-internalizing managed change is idempotent.
|
|
293
302
|
payment.ignore = true;
|
|
294
303
|
}
|
|
295
304
|
else {
|
|
296
|
-
//
|
|
305
|
+
// Verified signer processing established that this is BRC-29.
|
|
306
|
+
// Promote a custom row (including legacy custom-in-default rows)
|
|
307
|
+
// to managed change and add it to balance.
|
|
297
308
|
this.satoshis += payment.txo.satoshis;
|
|
298
309
|
}
|
|
299
310
|
}
|
|
@@ -324,7 +335,7 @@ class InternalizeActionContext {
|
|
|
324
335
|
* @returns
|
|
325
336
|
*/
|
|
326
337
|
async validateAtomicBeef(atomicBeef) {
|
|
327
|
-
const ab = sdk_1.Beef.fromBinary(atomicBeef);
|
|
338
|
+
const ab = atomicBeef instanceof Uint8Array ? sdk_1.Beef.fromBinaryView(atomicBeef) : sdk_1.Beef.fromBinary(atomicBeef);
|
|
328
339
|
const txValid = await ab.verify(await this.storage.getServices().getChainTracker(), false);
|
|
329
340
|
if (!txValid || !ab.atomicTxid)
|
|
330
341
|
throw new WERR_errors_1.WERR_INVALID_PARAMETER('tx', 'valid AtomicBEEF');
|
|
@@ -521,7 +532,7 @@ class InternalizeActionContext {
|
|
|
521
532
|
// The beef may contain additional unbroadcast transactions which
|
|
522
533
|
// we don't care about.
|
|
523
534
|
const r = {
|
|
524
|
-
beef:
|
|
535
|
+
beef: this.ab,
|
|
525
536
|
details: [{ txid: this.txid, status: 'readyToSend', req: pr.req }]
|
|
526
537
|
};
|
|
527
538
|
const { swr, ndr } = await (0, processAction_1.shareReqsWithWorld)(this.storage, this.userId, [], false, r);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internalizeAction.js","sourceRoot":"","sources":["../../../../src/storage/methods/internalizeAction.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"internalizeAction.js","sourceRoot":"","sources":["../../../../src/storage/methods/internalizeAction.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listOutputsIdb.d.ts","sourceRoot":"","sources":["../../../../src/storage/methods/listOutputsIdb.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,iBAAiB,EAAE,uCAAuC,EAAgB,UAAU,EAAE,MAAM,UAAU,CAAA;AAErH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,MAAM,EAAmB,MAAM,oCAAoC,CAAA;
|
|
1
|
+
{"version":3,"file":"listOutputsIdb.d.ts","sourceRoot":"","sources":["../../../../src/storage/methods/listOutputsIdb.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,iBAAiB,EAAE,uCAAuC,EAAgB,UAAU,EAAE,MAAM,UAAU,CAAA;AAErH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,MAAM,EAAmB,MAAM,oCAAoC,CAAA;AAO5E,wBAAsB,cAAc,CAClC,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,UAAU,CAAC,oBAAoB,EACtC,UAAU,CAAC,EAAE,uCAAuC,GACnD,OAAO,CAAC,iBAAiB,CAAC,CAkM5B"}
|
|
@@ -5,6 +5,7 @@ const sdk_1 = require("@bsv/sdk");
|
|
|
5
5
|
const ListOutputsSpecOp_1 = require("./ListOutputsSpecOp");
|
|
6
6
|
const utilityHelpers_1 = require("../../utility/utilityHelpers");
|
|
7
7
|
const utilityHelpers_noBuffer_1 = require("../../utility/utilityHelpers.noBuffer");
|
|
8
|
+
const managedChange_1 = require("./managedChange");
|
|
8
9
|
async function listOutputsIdb(storage, auth, vargs, originator) {
|
|
9
10
|
const userId = (0, utilityHelpers_1.verifyId)(auth.userId);
|
|
10
11
|
const limit = vargs.limit;
|
|
@@ -93,16 +94,33 @@ async function listOutputsIdb(storage, auth, vargs, originator) {
|
|
|
93
94
|
partial: {
|
|
94
95
|
userId,
|
|
95
96
|
basketId,
|
|
96
|
-
spendable: includeSpent ? undefined : true
|
|
97
|
+
spendable: includeSpent ? undefined : true,
|
|
98
|
+
...(specOp?.managedChangeOnly ? managedChange_1.managedChangeOutputFields : {})
|
|
97
99
|
},
|
|
98
100
|
txStatus: stati,
|
|
99
101
|
noScript: true,
|
|
100
102
|
orderDescending
|
|
101
103
|
};
|
|
102
|
-
|
|
104
|
+
// IndexedDB partial matching cannot express the non-empty derivation and
|
|
105
|
+
// unspent constraints. For the managed-UTXO operation, filter the complete
|
|
106
|
+
// candidate set before applying pagination so `totalOutputs` stays exact.
|
|
107
|
+
const pageManagedChange = specOp?.managedChangeOnly === true && specOp.ignoreLimit !== true;
|
|
108
|
+
if (!specOp?.ignoreLimit && !pageManagedChange)
|
|
103
109
|
args.paged = { limit, offset };
|
|
104
110
|
let outputs = await storage.findOutputs(args, tagIds, isQueryModeAll);
|
|
105
|
-
if (
|
|
111
|
+
if (specOp?.managedChangeOnly) {
|
|
112
|
+
outputs = outputs.filter(o => (0, managedChange_1.isManagedChangeOutput)(o) && o.spentBy == null);
|
|
113
|
+
}
|
|
114
|
+
if (pageManagedChange) {
|
|
115
|
+
const totalManagedOutputs = outputs.length;
|
|
116
|
+
outputs = outputs.slice(offset, offset + limit);
|
|
117
|
+
// Preserve listOutputs' existing page semantics: it reports the complete
|
|
118
|
+
// count only for a full page, otherwise the current page length. In
|
|
119
|
+
// particular, a page beyond the tail must report zero so iterative callers
|
|
120
|
+
// such as balanceAndUtxos terminate.
|
|
121
|
+
r.totalOutputs = outputs.length === limit ? totalManagedOutputs : outputs.length;
|
|
122
|
+
}
|
|
123
|
+
else if (outputs.length === vargs.limit) {
|
|
106
124
|
args.paged = undefined;
|
|
107
125
|
r.totalOutputs = await storage.countOutputs(args, tagIds, isQueryModeAll);
|
|
108
126
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listOutputsIdb.js","sourceRoot":"","sources":["../../../../src/storage/methods/listOutputsIdb.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"listOutputsIdb.js","sourceRoot":"","sources":["../../../../src/storage/methods/listOutputsIdb.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listOutputsKnex.d.ts","sourceRoot":"","sources":["../../../../src/storage/methods/listOutputsKnex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,iBAAiB,EAAE,uCAAuC,EAAgB,UAAU,EAAE,MAAM,UAAU,CAAA;AACrH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAGjD,OAAO,EAAE,MAAM,EAAY,MAAM,oCAAoC,CAAA;
|
|
1
|
+
{"version":3,"file":"listOutputsKnex.d.ts","sourceRoot":"","sources":["../../../../src/storage/methods/listOutputsKnex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,iBAAiB,EAAE,uCAAuC,EAAgB,UAAU,EAAE,MAAM,UAAU,CAAA;AACrH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAGjD,OAAO,EAAE,MAAM,EAAY,MAAM,oCAAoC,CAAA;AAOrE,wBAAsB,WAAW,CAC/B,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,UAAU,CAAC,oBAAoB,EACtC,UAAU,CAAC,EAAE,uCAAuC,GACnD,OAAO,CAAC,iBAAiB,CAAC,CAqT5B"}
|
|
@@ -5,6 +5,7 @@ const sdk_1 = require("@bsv/sdk");
|
|
|
5
5
|
const ListOutputsSpecOp_1 = require("./ListOutputsSpecOp");
|
|
6
6
|
const utilityHelpers_1 = require("../../utility/utilityHelpers");
|
|
7
7
|
const utilityHelpers_noBuffer_1 = require("../../utility/utilityHelpers.noBuffer");
|
|
8
|
+
const managedChange_1 = require("./managedChange");
|
|
8
9
|
async function listOutputs(dsk, auth, vargs, originator) {
|
|
9
10
|
const trx = undefined;
|
|
10
11
|
const userId = (0, utilityHelpers_1.verifyId)(auth.userId);
|
|
@@ -121,6 +122,19 @@ async function listOutputs(dsk, auth, vargs, originator) {
|
|
|
121
122
|
q.where('o.basketId', basketId);
|
|
122
123
|
if (!includeSpent)
|
|
123
124
|
q.where('o.spendable', true);
|
|
125
|
+
if (specOp?.managedChangeOnly) {
|
|
126
|
+
q.where({
|
|
127
|
+
'o.type': managedChange_1.managedChangeOutputFields.type,
|
|
128
|
+
'o.change': managedChange_1.managedChangeOutputFields.change,
|
|
129
|
+
'o.providedBy': managedChange_1.managedChangeOutputFields.providedBy,
|
|
130
|
+
'o.purpose': managedChange_1.managedChangeOutputFields.purpose
|
|
131
|
+
})
|
|
132
|
+
.whereNotNull('o.derivationPrefix')
|
|
133
|
+
.whereNot('o.derivationPrefix', '')
|
|
134
|
+
.whereNotNull('o.derivationSuffix')
|
|
135
|
+
.whereNot('o.derivationSuffix', '')
|
|
136
|
+
.whereNull('o.spentBy');
|
|
137
|
+
}
|
|
124
138
|
};
|
|
125
139
|
const makeWithTagsQuery = () => {
|
|
126
140
|
const q = k('outputs as o');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listOutputsKnex.js","sourceRoot":"","sources":["../../../../src/storage/methods/listOutputsKnex.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"listOutputsKnex.js","sourceRoot":"","sources":["../../../../src/storage/methods/listOutputsKnex.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { TableOutput } from '../schema/tables/TableOutput';
|
|
2
|
+
/**
|
|
3
|
+
* Fields that identify an output as wallet-managed BRC-29 change.
|
|
4
|
+
*
|
|
5
|
+
* `type: 'P2PKH'` is historical terminology. In this storage model it does
|
|
6
|
+
* not merely describe the locking script. It selects the wallet's BRC-29
|
|
7
|
+
* unlocking path, so the accompanying derivation fields are also required.
|
|
8
|
+
*/
|
|
9
|
+
export declare const managedChangeOutputFields: {
|
|
10
|
+
readonly type: "P2PKH";
|
|
11
|
+
readonly change: true;
|
|
12
|
+
readonly providedBy: "storage";
|
|
13
|
+
readonly purpose: "change";
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* True when an output has all metadata required to use the wallet-managed
|
|
17
|
+
* BRC-29 signing path. `senderIdentityKey` is optional: wallet-created change
|
|
18
|
+
* uses the client's change public key when it is absent, while received
|
|
19
|
+
* BRC-29 payments record the sender's identity key.
|
|
20
|
+
*/
|
|
21
|
+
export declare function isManagedChangeOutput(output: TableOutput | undefined): output is TableOutput;
|
|
22
|
+
/**
|
|
23
|
+
* True when managed change is currently eligible for automatic allocation.
|
|
24
|
+
*/
|
|
25
|
+
export declare function isAutoSpendableChangeOutput(output: TableOutput | undefined): output is TableOutput;
|
|
26
|
+
//# sourceMappingURL=managedChange.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"managedChange.d.ts","sourceRoot":"","sources":["../../../../src/storage/methods/managedChange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAE1D;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB;;;;;CAK5B,CAAA;AAMV;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAE,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,IAAI,WAAW,CAQ7F;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAE,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,IAAI,WAAW,CAEnG"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.managedChangeOutputFields = void 0;
|
|
4
|
+
exports.isManagedChangeOutput = isManagedChangeOutput;
|
|
5
|
+
exports.isAutoSpendableChangeOutput = isAutoSpendableChangeOutput;
|
|
6
|
+
/**
|
|
7
|
+
* Fields that identify an output as wallet-managed BRC-29 change.
|
|
8
|
+
*
|
|
9
|
+
* `type: 'P2PKH'` is historical terminology. In this storage model it does
|
|
10
|
+
* not merely describe the locking script. It selects the wallet's BRC-29
|
|
11
|
+
* unlocking path, so the accompanying derivation fields are also required.
|
|
12
|
+
*/
|
|
13
|
+
exports.managedChangeOutputFields = {
|
|
14
|
+
type: 'P2PKH',
|
|
15
|
+
change: true,
|
|
16
|
+
providedBy: 'storage',
|
|
17
|
+
purpose: 'change'
|
|
18
|
+
};
|
|
19
|
+
function isNonEmptyString(value) {
|
|
20
|
+
return typeof value === 'string' && value.length > 0;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* True when an output has all metadata required to use the wallet-managed
|
|
24
|
+
* BRC-29 signing path. `senderIdentityKey` is optional: wallet-created change
|
|
25
|
+
* uses the client's change public key when it is absent, while received
|
|
26
|
+
* BRC-29 payments record the sender's identity key.
|
|
27
|
+
*/
|
|
28
|
+
function isManagedChangeOutput(output) {
|
|
29
|
+
return output != null &&
|
|
30
|
+
output.type === exports.managedChangeOutputFields.type &&
|
|
31
|
+
output.change === exports.managedChangeOutputFields.change &&
|
|
32
|
+
output.providedBy === exports.managedChangeOutputFields.providedBy &&
|
|
33
|
+
output.purpose === exports.managedChangeOutputFields.purpose &&
|
|
34
|
+
isNonEmptyString(output.derivationPrefix) &&
|
|
35
|
+
isNonEmptyString(output.derivationSuffix);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* True when managed change is currently eligible for automatic allocation.
|
|
39
|
+
*/
|
|
40
|
+
function isAutoSpendableChangeOutput(output) {
|
|
41
|
+
return isManagedChangeOutput(output) && output.spendable && output.spentBy == null;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=managedChange.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"managedChange.js","sourceRoot":"","sources":["../../../../src/storage/methods/managedChange.ts"],"names":[],"mappings":";;;AA0BA,sDAQC;AAKD,kEAEC;AAvCD;;;;;;GAMG;AACU,QAAA,yBAAyB,GAAG;IACvC,IAAI,EAAE,OAAO;IACb,MAAM,EAAE,IAAI;IACZ,UAAU,EAAE,SAAS;IACrB,OAAO,EAAE,QAAQ;CACT,CAAA;AAEV,SAAS,gBAAgB,CAAE,KAAc;IACvC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA;AACtD,CAAC;AAED;;;;;GAKG;AACH,SAAgB,qBAAqB,CAAE,MAA+B;IACpE,OAAO,MAAM,IAAI,IAAI;QACnB,MAAM,CAAC,IAAI,KAAK,iCAAyB,CAAC,IAAI;QAC9C,MAAM,CAAC,MAAM,KAAK,iCAAyB,CAAC,MAAM;QAClD,MAAM,CAAC,UAAU,KAAK,iCAAyB,CAAC,UAAU;QAC1D,MAAM,CAAC,OAAO,KAAK,iCAAyB,CAAC,OAAO;QACpD,gBAAgB,CAAC,MAAM,CAAC,gBAAgB,CAAC;QACzC,gBAAgB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;AAC7C,CAAC;AAED;;GAEG;AACH,SAAgB,2BAA2B,CAAE,MAA+B;IAC1E,OAAO,qBAAqB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,OAAO,IAAI,IAAI,CAAA;AACpF,CAAC"}
|