@1sat/actions 0.0.45 → 0.0.46
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/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/opns/index.d.ts.map +1 -1
- package/dist/opns/index.js +1 -21
- package/dist/opns/index.js.map +1 -1
- package/dist/sync/index.d.ts +4 -1
- package/dist/sync/index.d.ts.map +1 -1
- package/dist/sync/index.js +28 -229
- package/dist/sync/index.js.map +1 -1
- package/dist/sync/syncMessages.d.ts +20 -0
- package/dist/sync/syncMessages.d.ts.map +1 -0
- package/dist/sync/syncMessages.js +94 -0
- package/dist/sync/syncMessages.js.map +1 -0
- package/dist/utils/internalizeBeef.d.ts +45 -0
- package/dist/utils/internalizeBeef.d.ts.map +1 -0
- package/dist/utils/internalizeBeef.js +252 -0
- package/dist/utils/internalizeBeef.js.map +1 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ export { signP2PKHInput } from './utils/signP2PKH';
|
|
|
11
11
|
export { completeSignedAction, type CompleteSignedActionResult, type SigningCallback } from './utils/completeSignedAction';
|
|
12
12
|
export { createTrackedAction, randomActionId } from './utils/createTrackedAction';
|
|
13
13
|
export { resolveBeef, extractIdTag } from './utils/resolveBeef';
|
|
14
|
+
export { internalizeBeef, type InternalizeBeefOptions, type InternalizeBeefResult, type OutputDerivation } from './utils/internalizeBeef';
|
|
14
15
|
export * from './addresses';
|
|
15
16
|
export * from './payments';
|
|
16
17
|
export * from './ordinals';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACN,KAAK,MAAM,EACX,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,aAAa,GACb,MAAM,SAAS,CAAA;AAGhB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,KAAK,OAAO,EAAE,MAAM,YAAY,CAAA;AAGzE,cAAc,aAAa,CAAA;AAG3B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,oBAAoB,EAAE,KAAK,0BAA0B,EAAE,KAAK,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC1H,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AACjF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACN,KAAK,MAAM,EACX,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,aAAa,GACb,MAAM,SAAS,CAAA;AAGhB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,KAAK,OAAO,EAAE,MAAM,YAAY,CAAA;AAGzE,cAAc,aAAa,CAAA;AAG3B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,oBAAoB,EAAE,KAAK,0BAA0B,EAAE,KAAK,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC1H,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AACjF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,KAAK,sBAAsB,EAAE,KAAK,qBAAqB,EAAE,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAGzI,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,QAAQ,CAAA;AAGtB,cAAc,SAAS,CAAA;AAGvB,cAAc,QAAQ,CAAA;AA4BtB,YAAY,EACX,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,YAAY,GACZ,MAAM,UAAU,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -15,6 +15,7 @@ export { signP2PKHInput } from './utils/signP2PKH';
|
|
|
15
15
|
export { completeSignedAction } from './utils/completeSignedAction';
|
|
16
16
|
export { createTrackedAction, randomActionId } from './utils/createTrackedAction';
|
|
17
17
|
export { resolveBeef, extractIdTag } from './utils/resolveBeef';
|
|
18
|
+
export { internalizeBeef } from './utils/internalizeBeef';
|
|
18
19
|
// Export module actions and types
|
|
19
20
|
export * from './addresses';
|
|
20
21
|
export * from './payments';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,kCAAkC;AAClC,OAAO,EAON,aAAa,GACb,MAAM,SAAS,CAAA;AAEhB,yBAAyB;AACzB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAgB,MAAM,YAAY,CAAA;AAEzE,mBAAmB;AACnB,cAAc,aAAa,CAAA;AAE3B,0BAA0B;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,oBAAoB,EAAyD,MAAM,8BAA8B,CAAA;AAC1H,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AACjF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,kCAAkC;AAClC,OAAO,EAON,aAAa,GACb,MAAM,SAAS,CAAA;AAEhB,yBAAyB;AACzB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAgB,MAAM,YAAY,CAAA;AAEzE,mBAAmB;AACnB,cAAc,aAAa,CAAA;AAE3B,0BAA0B;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,oBAAoB,EAAyD,MAAM,8BAA8B,CAAA;AAC1H,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AACjF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAkF,MAAM,yBAAyB,CAAA;AAEzI,kCAAkC;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,QAAQ,CAAA;AAEtB,gEAAgE;AAChE,cAAc,SAAS,CAAA;AAEvB,qBAAqB;AACrB,cAAc,QAAQ,CAAA;AAEtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,cAAc,CAAC,WAAW,CAAC;IAC1B,GAAG,gBAAgB;IACnB,GAAG,eAAe;IAClB,GAAG,eAAe;IAClB,GAAG,aAAa;IAChB,GAAG,mBAAmB;IACtB,GAAG,YAAY;IACf,GAAG,cAAc;IACjB,GAAG,YAAY;IACf,GAAG,WAAW;IACd,GAAG,WAAW;CACd,CAAC,CAAA"}
|
package/dist/opns/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/opns/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAGlD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAUtC,MAAM,WAAW,mBAAmB;IACnC,6DAA6D;IAC7D,OAAO,EAAE,YAAY,CAAA;IACrB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,qBAAqB;IACrC,+DAA+D;IAC/D,OAAO,EAAE,YAAY,CAAA;IACrB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,qBAAqB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAMD,oCAAoC;AACpC,MAAM,WAAW,iBAAiB;IACjC,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAA;CACf;AAED,sCAAsC;AACtC,MAAM,WAAW,kBAAkB;IAClC,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,IAAI,CAAC,EAAE,IAAI,CAAA;CACX;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,CAiCtE,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAChC,mBAAmB,EACnB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/opns/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAGlD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAUtC,MAAM,WAAW,mBAAmB;IACnC,6DAA6D;IAC7D,OAAO,EAAE,YAAY,CAAA;IACrB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,qBAAqB;IACrC,+DAA+D;IAC/D,OAAO,EAAE,YAAY,CAAA;IACrB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,qBAAqB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAMD,oCAAoC;AACpC,MAAM,WAAW,iBAAiB;IACjC,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAA;CACf;AAED,sCAAsC;AACtC,MAAM,WAAW,kBAAkB;IAClC,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,IAAI,CAAC,EAAE,IAAI,CAAA;CACX;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,CAiCtE,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAChC,mBAAmB,EACnB,qBAAqB,CAkGrB,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAClC,qBAAqB,EACrB,qBAAqB,CAwFrB,CAAA;AAMD,oCAAoC;AACpC,eAAO,MAAM,WAAW,wGAA+C,CAAA"}
|
package/dist/opns/index.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Registers/deregisters identity public keys on OpNS tokens via MAP metadata.
|
|
6
6
|
*/
|
|
7
7
|
import { buildTransferOrdinals } from '../ordinals';
|
|
8
|
-
import {
|
|
8
|
+
import { OPNS_BASKET } from '../constants';
|
|
9
9
|
import { completeSignedAction } from '../utils/completeSignedAction';
|
|
10
10
|
import { createTrackedAction } from '../utils/createTrackedAction';
|
|
11
11
|
import { resolveBeef } from '../utils/resolveBeef';
|
|
@@ -118,16 +118,6 @@ export const opnsRegister = {
|
|
|
118
118
|
throw new Error(unlocking.error);
|
|
119
119
|
return { 0: { unlockingScript: unlocking } };
|
|
120
120
|
});
|
|
121
|
-
if (ctx.debug && ctx.log) {
|
|
122
|
-
ctx.log({
|
|
123
|
-
timestamp: new Date().toISOString(),
|
|
124
|
-
action: 'opnsRegister',
|
|
125
|
-
input: { outpoint: ordinal.outpoint },
|
|
126
|
-
txid: result.txid,
|
|
127
|
-
rawtx: result.rawtx,
|
|
128
|
-
outputs: [{ index: 0, protocolID: ONESAT_PROTOCOL, keyID: ordinal.outpoint, basket: OPNS_BASKET, satoshis: 1 }],
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
121
|
return result;
|
|
132
122
|
}
|
|
133
123
|
catch (error) {
|
|
@@ -209,16 +199,6 @@ export const opnsDeregister = {
|
|
|
209
199
|
throw new Error(unlocking.error);
|
|
210
200
|
return { 0: { unlockingScript: unlocking } };
|
|
211
201
|
});
|
|
212
|
-
if (ctx.debug && ctx.log) {
|
|
213
|
-
ctx.log({
|
|
214
|
-
timestamp: new Date().toISOString(),
|
|
215
|
-
action: 'opnsDeregister',
|
|
216
|
-
input: { outpoint: ordinal.outpoint },
|
|
217
|
-
txid: result.txid,
|
|
218
|
-
rawtx: result.rawtx,
|
|
219
|
-
outputs: [{ index: 0, protocolID: ONESAT_PROTOCOL, keyID: ordinal.outpoint, basket: OPNS_BASKET, satoshis: 1 }],
|
|
220
|
-
});
|
|
221
|
-
}
|
|
222
202
|
return result;
|
|
223
203
|
}
|
|
224
204
|
catch (error) {
|
package/dist/opns/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/opns/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/opns/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAE1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AA4CnD;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAkD;IAC1E,IAAI,EAAE;QACL,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,uDAAuD;QACpE,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACX,KAAK,EAAE;oBACN,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,oCAAoC;iBACjD;gBACD,MAAM,EAAE;oBACP,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,oCAAoC;iBACjD;aACD;SACD;KACD;IACD,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK;QACvB,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC;YAC3C,MAAM,EAAE,WAAW;YACnB,WAAW,EAAE,IAAI;YACjB,yBAAyB,EAAE,IAAI;YAC/B,OAAO,EAAE,qBAAqB;YAC9B,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,GAAG;YACzB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC;SACzB,CAAC,CAAA;QACF,OAAO;YACN,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,IAAI,EAAE,MAAM,CAAC,IAAI;SACjB,CAAA;IACF,CAAC;CACD,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAGrB;IACH,IAAI,EAAE;QACL,IAAI,EAAE,cAAc;QACpB,WAAW,EACV,wDAAwD;QACzD,QAAQ,EAAE,MAAM;QAChB,gBAAgB,EAAE,IAAI;QACtB,WAAW,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACX,OAAO,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mDAAmD;iBAChE;gBACD,SAAS,EAAE;oBACV,IAAI,EAAE,OAAO;oBACb,WAAW,EACV,2DAA2D;iBAC5D;aACD;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;SACrB;KACD;IACD,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK;QACvB,IAAI,CAAC;YACJ,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;gBACnB,OAAO,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAA;YACtC,CAAC;YAED,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAA;YACzB,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,MAAM,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;YAExF,mCAAmC;YACnC,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC;gBACnE,WAAW,EAAE,IAAI;aACjB,CAAC,CAAA;YAEF,6CAA6C;YAC7C,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,GAAG,EAAE;gBAC/C,SAAS,EAAE;oBACV;wBACC,OAAO;wBACP,YAAY,EAAE,MAAM;wBACpB,GAAG,EAAE;4BACJ,YAAY,EAAE,cAAc;yBAC5B;wBACD,SAAS,EAAE,CAAC,gBAAgB,CAAC;qBAC7B;iBACD;gBACD,SAAS;aACT,CAAC,CAAA;YAEF,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;gBACvB,OAAO,MAAM,CAAA;YACd,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,MAAM,EAAE;gBAC1D,GAAG,MAAM;gBACT,OAAO,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE;aAC3D,CAAC,CAAA;YAEF,IAAI,OAAO,IAAI,YAAY,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;gBACnD,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAA;YAC7C,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;gBACjC,OAAO,EAAE,KAAK,EAAE,6BAA6B,EAAE,CAAA;YAChD,CAAC;YACD,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAA;YAEpE,MAAM,MAAM,GAAG,MAAM,oBAAoB,CACxC,GAAG,CAAC,MAAM,EACV,YAAY,EACZ,SAAS,EACT,KAAK,EAAE,EAAE,EAAE,EAAE;gBACZ,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,CAAA;gBACrE,IAAI,OAAO,SAAS,KAAK,QAAQ;oBAAE,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;gBACnE,OAAO,EAAE,CAAC,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,EAAE,CAAA;YAC7C,CAAC,CACD,CAAA;YAED,OAAO,MAAM,CAAA;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAA;YACtC,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;gBAC1B,GAAG,CAAC,GAAG,CAAC;oBACP,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,MAAM,EAAE,cAAc;oBACtB,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE;oBAC3C,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;iBAC/D,CAAC,CAAA;YACH,CAAC;YACD,OAAO;gBACN,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAC/D,CAAA;QACF,CAAC;IACF,CAAC;CACD,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAGvB;IACH,IAAI,EAAE;QACL,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACV,+CAA+C;QAChD,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACX,OAAO,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,mDAAmD;iBAChE;gBACD,SAAS,EAAE;oBACV,IAAI,EAAE,OAAO;oBACb,WAAW,EACV,2DAA2D;iBAC5D;aACD;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;SACrB;KACD;IACD,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK;QACvB,IAAI,CAAC;YACJ,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAA;YACzB,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,MAAM,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;YAExF,yEAAyE;YACzE,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,GAAG,EAAE;gBAC/C,SAAS,EAAE;oBACV;wBACC,OAAO;wBACP,YAAY,EAAE,MAAM;wBACpB,GAAG,EAAE;4BACJ,YAAY,EAAE,EAAE;yBAChB;wBACD,SAAS,EAAE,EAAE;qBACb;iBACD;gBACD,SAAS;aACT,CAAC,CAAA;YAEF,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;gBACvB,OAAO,MAAM,CAAA;YACd,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,MAAM,EAAE;gBAC1D,GAAG,MAAM;gBACT,OAAO,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE;aAC3D,CAAC,CAAA;YAEF,IAAI,OAAO,IAAI,YAAY,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;gBACnD,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAA;YAC7C,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;gBACjC,OAAO,EAAE,KAAK,EAAE,6BAA6B,EAAE,CAAA;YAChD,CAAC;YACD,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAA;YAEpE,MAAM,MAAM,GAAG,MAAM,oBAAoB,CACxC,GAAG,CAAC,MAAM,EACV,YAAY,EACZ,SAAS,EACT,KAAK,EAAE,EAAE,EAAE,EAAE;gBACZ,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,CAAA;gBACrE,IAAI,OAAO,SAAS,KAAK,QAAQ;oBAAE,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;gBACnE,OAAO,EAAE,CAAC,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,EAAE,CAAA;YAC7C,CAAC,CACD,CAAA;YAED,OAAO,MAAM,CAAA;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAA;YACxC,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;gBAC1B,GAAG,CAAC,GAAG,CAAC;oBACP,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,MAAM,EAAE,gBAAgB;oBACxB,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE;oBAC3C,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;iBAC/D,CAAC,CAAA;YACH,CAAC;YACD,OAAO;gBACN,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAC/D,CAAA;QACF,CAAC;IACF,CAAC;CACD,CAAA;AAED,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E,oCAAoC;AACpC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,cAAc,CAAC,CAAA"}
|
package/dist/sync/index.d.ts
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import type { SyncProgress } from '@1sat/types';
|
|
9
9
|
import type { Action } from '../types';
|
|
10
|
+
import { syncMessages } from './syncMessages';
|
|
10
11
|
export interface SyncAddressesInput {
|
|
11
12
|
/** BRC-29 derivation prefix (e.g., "yours", "mcp", "1sat") */
|
|
12
13
|
prefix: string;
|
|
@@ -28,8 +29,10 @@ export interface SyncAddressesResult {
|
|
|
28
29
|
addresses: string[];
|
|
29
30
|
}
|
|
30
31
|
export declare const syncAddresses: Action<SyncAddressesInput, SyncAddressesResult>;
|
|
32
|
+
export { syncMessages };
|
|
33
|
+
export type { SyncMessagesInput, SyncMessagesResult } from './syncMessages';
|
|
31
34
|
/** All sync actions for registry */
|
|
32
|
-
export declare const syncActions: Action<SyncAddressesInput, SyncAddressesResult>[];
|
|
35
|
+
export declare const syncActions: (Action<import("./syncMessages").SyncMessagesInput, import("./syncMessages").SyncMessagesResult> | Action<SyncAddressesInput, SyncAddressesResult>)[];
|
|
33
36
|
export { type ProcessedTxStore } from './ProcessedTxStore';
|
|
34
37
|
export { ProcessedTxStoreIdb } from './ProcessedTxStoreIdb';
|
|
35
38
|
export { ProcessedTxStoreSqlite } from './ProcessedTxStoreSqlite';
|
package/dist/sync/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAc,YAAY,EAAE,MAAM,aAAa,CAAA;AAE3D,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,UAAU,CAAA;AAKrD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AA4B7C,MAAM,WAAW,kBAAkB;IAClC,8DAA8D;IAC9D,MAAM,EAAE,MAAM,CAAA;IACd,iDAAiD;IACjD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,0EAA0E;IAC1E,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAA;CAC7C;AAED,MAAM,WAAW,mBAAmB;IACnC,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAA;IACjB,wDAAwD;IACxD,MAAM,EAAE,MAAM,CAAA;IACd,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAA;IACjB,iCAAiC;IACjC,SAAS,EAAE,MAAM,EAAE,CAAA;CACnB;AA0BD,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,kBAAkB,EAAE,mBAAmB,CAkIzE,CAAA;AA0CD,OAAO,EAAE,YAAY,EAAE,CAAA;AACvB,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAE3E,oCAAoC;AACpC,eAAO,MAAM,WAAW,uJAAgC,CAAA;AAExD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA"}
|
package/dist/sync/index.js
CHANGED
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
* with the indexer pipeline, and internalizes them into the wallet.
|
|
7
7
|
*/
|
|
8
8
|
import { BRC29_PROTOCOL_ID } from '@1sat/types';
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
9
|
+
import { PublicKey, Utils } from '@bsv/sdk';
|
|
10
|
+
import { internalizeBeef, } from '../utils/internalizeBeef';
|
|
11
|
+
import { syncMessages } from './syncMessages';
|
|
12
12
|
import { ProcessedTxStoreIdb } from './ProcessedTxStoreIdb';
|
|
13
13
|
import { ProcessedTxStoreSqlite } from './ProcessedTxStoreSqlite';
|
|
14
14
|
const REORG_SAFE_DEPTH = 6;
|
|
@@ -104,19 +104,7 @@ export const syncAddresses = {
|
|
|
104
104
|
// 3. Get current block height and last score
|
|
105
105
|
const { height: currentHeight } = await ctx.wallet.getHeight({});
|
|
106
106
|
const lastScore = await store.getLastScore();
|
|
107
|
-
// 4.
|
|
108
|
-
const owners = new Set(addresses);
|
|
109
|
-
const network = ctx.chain === 'main' ? 'mainnet' : 'testnet';
|
|
110
|
-
const indexers = [
|
|
111
|
-
new FundIndexer(owners, network),
|
|
112
|
-
new InscriptionIndexer(owners, network),
|
|
113
|
-
new Bsv21Indexer(owners, network, services),
|
|
114
|
-
new OriginIndexer(owners, network, services),
|
|
115
|
-
new OpNSIndexer(owners, network),
|
|
116
|
-
new SigmaIndexer(owners, network),
|
|
117
|
-
new MapIndexer(owners, network),
|
|
118
|
-
];
|
|
119
|
-
// 5. Fetch sync stream and group outputs by txid
|
|
107
|
+
// 4. Fetch sync stream and group outputs by txid
|
|
120
108
|
const outputsByTxid = new Map();
|
|
121
109
|
let maxSafeScore = lastScore;
|
|
122
110
|
for await (const output of services.owner.sync(addresses, lastScore || undefined, onProgress)) {
|
|
@@ -133,7 +121,7 @@ export const syncAddresses = {
|
|
|
133
121
|
}
|
|
134
122
|
}
|
|
135
123
|
}
|
|
136
|
-
//
|
|
124
|
+
// 5. Process each txid
|
|
137
125
|
let processed = 0;
|
|
138
126
|
let failed = 0;
|
|
139
127
|
for (const [txid, outputs] of outputsByTxid) {
|
|
@@ -141,7 +129,7 @@ export const syncAddresses = {
|
|
|
141
129
|
if (await store.has(txid))
|
|
142
130
|
continue;
|
|
143
131
|
try {
|
|
144
|
-
await processTxid(txid, outputs, ctx, services,
|
|
132
|
+
await processTxid(txid, outputs, ctx, services, addressMap);
|
|
145
133
|
await store.add(txid);
|
|
146
134
|
processed++;
|
|
147
135
|
}
|
|
@@ -150,7 +138,7 @@ export const syncAddresses = {
|
|
|
150
138
|
failed++;
|
|
151
139
|
}
|
|
152
140
|
}
|
|
153
|
-
//
|
|
141
|
+
// 6. Update last score
|
|
154
142
|
if (maxSafeScore > lastScore) {
|
|
155
143
|
await store.setLastScore(maxSafeScore);
|
|
156
144
|
}
|
|
@@ -162,226 +150,37 @@ export const syncAddresses = {
|
|
|
162
150
|
},
|
|
163
151
|
};
|
|
164
152
|
// ============================================================================
|
|
165
|
-
// Transaction processing
|
|
153
|
+
// Transaction processing
|
|
166
154
|
// ============================================================================
|
|
167
|
-
async function processTxid(txid, outputs, ctx, services,
|
|
168
|
-
|
|
169
|
-
if (outputs.every((o) => !!o.spendTxid && !isNewOutput(o))) {
|
|
155
|
+
async function processTxid(txid, outputs, ctx, services, addressMap) {
|
|
156
|
+
if (outputs.every((o) => !!o.spendTxid)) {
|
|
170
157
|
return;
|
|
171
158
|
}
|
|
172
|
-
// Load BEEF
|
|
173
159
|
const beef = await services.beef.getBeef(txid);
|
|
174
160
|
if (!beef) {
|
|
175
161
|
throw new Error(`Failed to load BEEF for ${txid}`);
|
|
176
162
|
}
|
|
177
|
-
|
|
178
|
-
const
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
input.sourceTransaction = Transaction.fromBinary(Array.from(rawTx));
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
// Parse transaction with indexers
|
|
190
|
-
const parseCtx = await parseTransaction(btx.tx, indexers);
|
|
191
|
-
// Build InternalizeOutput entries for owned outputs
|
|
192
|
-
const internalizeOutputs = [];
|
|
193
|
-
const ownedTxos = [];
|
|
194
|
-
const actionId = randomActionId();
|
|
195
|
-
for (const txo of parseCtx.txos) {
|
|
196
|
-
if (!txo.owner)
|
|
197
|
-
continue;
|
|
198
|
-
const derivation = addressMap.get(txo.owner);
|
|
199
|
-
if (!derivation)
|
|
200
|
-
continue;
|
|
201
|
-
const internalizeOutput = buildInternalizeOutput(txo, derivation, actionId);
|
|
202
|
-
if (internalizeOutput) {
|
|
203
|
-
internalizeOutputs.push(internalizeOutput);
|
|
204
|
-
ownedTxos.push(txo);
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
if (internalizeOutputs.length === 0)
|
|
208
|
-
return;
|
|
209
|
-
const args = {
|
|
210
|
-
tx: Array.from(beef),
|
|
211
|
-
outputs: internalizeOutputs,
|
|
212
|
-
description: buildDescription(ownedTxos),
|
|
213
|
-
};
|
|
214
|
-
await ctx.wallet.internalizeAction(args);
|
|
215
|
-
}
|
|
216
|
-
function isNewOutput(output) {
|
|
217
|
-
// An output with only a spendTxid and no indication of being a new output
|
|
218
|
-
// is a spend notification, not a new output to internalize
|
|
219
|
-
return !output.spendTxid;
|
|
220
|
-
}
|
|
221
|
-
async function parseTransaction(tx, indexers) {
|
|
222
|
-
const txid = tx.id('hex');
|
|
223
|
-
const ctx = {
|
|
224
|
-
tx,
|
|
225
|
-
txid,
|
|
226
|
-
txos: [],
|
|
227
|
-
spends: [],
|
|
228
|
-
summary: {},
|
|
229
|
-
indexers,
|
|
230
|
-
};
|
|
231
|
-
// Parse inputs into spends
|
|
232
|
-
for (let vin = 0; vin < tx.inputs.length; vin++) {
|
|
233
|
-
const input = tx.inputs[vin];
|
|
234
|
-
if (!input.sourceTransaction) {
|
|
235
|
-
throw new Error(`Missing sourceTransaction for input ${vin}`);
|
|
236
|
-
}
|
|
237
|
-
const sourceTxid = input.sourceTransaction.id('hex');
|
|
238
|
-
const txo = {
|
|
239
|
-
output: input.sourceTransaction.outputs[input.sourceOutputIndex],
|
|
240
|
-
outpoint: new Outpoint(sourceTxid, input.sourceOutputIndex),
|
|
241
|
-
data: {},
|
|
242
|
-
};
|
|
243
|
-
for (const indexer of indexers) {
|
|
244
|
-
const result = await indexer.parse(txo);
|
|
245
|
-
if (result) {
|
|
246
|
-
txo.data[indexer.tag] = {
|
|
247
|
-
data: result.data,
|
|
248
|
-
tags: result.tags,
|
|
249
|
-
content: result.content,
|
|
250
|
-
};
|
|
251
|
-
if (result.owner && !txo.owner)
|
|
252
|
-
txo.owner = result.owner;
|
|
253
|
-
if (result.basket && !txo.basket)
|
|
254
|
-
txo.basket = result.basket;
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
ctx.spends.push(txo);
|
|
258
|
-
}
|
|
259
|
-
// Parse each output
|
|
260
|
-
for (let vout = 0; vout < tx.outputs.length; vout++) {
|
|
261
|
-
const output = tx.outputs[vout];
|
|
262
|
-
const txo = {
|
|
263
|
-
output,
|
|
264
|
-
outpoint: new Outpoint(txid, vout),
|
|
265
|
-
data: {},
|
|
266
|
-
};
|
|
267
|
-
for (const indexer of indexers) {
|
|
268
|
-
const result = await indexer.parse(txo);
|
|
269
|
-
if (result) {
|
|
270
|
-
txo.data[indexer.tag] = {
|
|
271
|
-
data: result.data,
|
|
272
|
-
tags: result.tags,
|
|
273
|
-
content: result.content,
|
|
274
|
-
};
|
|
275
|
-
if (result.owner && !txo.owner)
|
|
276
|
-
txo.owner = result.owner;
|
|
277
|
-
if (result.basket && !txo.basket)
|
|
278
|
-
txo.basket = result.basket;
|
|
279
|
-
if (result.protocol && !txo.protocol)
|
|
280
|
-
txo.protocol = result.protocol;
|
|
281
|
-
}
|
|
282
|
-
}
|
|
283
|
-
ctx.txos.push(txo);
|
|
284
|
-
}
|
|
285
|
-
// Summarize phase
|
|
286
|
-
for (const indexer of indexers) {
|
|
287
|
-
const summary = await indexer.summarize(ctx, true);
|
|
288
|
-
if (summary) {
|
|
289
|
-
ctx.summary[indexer.tag] = summary;
|
|
290
|
-
}
|
|
291
|
-
}
|
|
292
|
-
return ctx;
|
|
293
|
-
}
|
|
294
|
-
function buildInternalizeOutput(txo, derivation, actionId) {
|
|
295
|
-
const vout = txo.outpoint.vout;
|
|
296
|
-
const protocol = txo.protocol || 'wallet payment';
|
|
297
|
-
const idTag = `id:${actionId}`;
|
|
298
|
-
if (protocol === 'basket insertion') {
|
|
299
|
-
const basket = txo.basket || 'custom';
|
|
300
|
-
const tags = [...collectTags(txo), idTag];
|
|
301
|
-
const nameTag = tags.find((t) => t.startsWith('name:'));
|
|
302
|
-
return {
|
|
303
|
-
outputIndex: vout,
|
|
304
|
-
protocol: 'basket insertion',
|
|
305
|
-
insertionRemittance: {
|
|
306
|
-
basket,
|
|
307
|
-
tags,
|
|
308
|
-
customInstructions: JSON.stringify({
|
|
309
|
-
derivationPrefix: derivation.derivationPrefix,
|
|
310
|
-
derivationSuffix: derivation.derivationSuffix,
|
|
311
|
-
senderIdentityKey: derivation.senderIdentityKey,
|
|
312
|
-
...(nameTag && { name: nameTag.slice(5).slice(0, 64) }),
|
|
313
|
-
}),
|
|
314
|
-
},
|
|
315
|
-
};
|
|
316
|
-
}
|
|
317
|
-
// P2PKH ordinals/tokens: basket insertion so they don't get consumed as change
|
|
318
|
-
if (txo.basket && txo.basket !== 'fund') {
|
|
319
|
-
const tags = [...collectTags(txo), idTag];
|
|
320
|
-
const nameTag = tags.find((t) => t.startsWith('name:'));
|
|
321
|
-
return {
|
|
322
|
-
outputIndex: vout,
|
|
323
|
-
protocol: 'basket insertion',
|
|
324
|
-
insertionRemittance: {
|
|
325
|
-
basket: txo.basket,
|
|
326
|
-
tags,
|
|
327
|
-
customInstructions: JSON.stringify({
|
|
328
|
-
protocolID: BRC29_PROTOCOL_ID,
|
|
329
|
-
keyID: `${derivation.derivationPrefix} ${derivation.derivationSuffix}`,
|
|
330
|
-
...(nameTag && { name: nameTag.slice(5).slice(0, 64) }),
|
|
331
|
-
}),
|
|
332
|
-
},
|
|
333
|
-
};
|
|
334
|
-
}
|
|
335
|
-
// P2PKH funding output
|
|
336
|
-
return {
|
|
337
|
-
outputIndex: vout,
|
|
338
|
-
protocol: 'wallet payment',
|
|
339
|
-
paymentRemittance: {
|
|
340
|
-
derivationPrefix: derivation.derivationPrefix,
|
|
341
|
-
derivationSuffix: derivation.derivationSuffix,
|
|
342
|
-
senderIdentityKey: derivation.senderIdentityKey,
|
|
343
|
-
},
|
|
344
|
-
};
|
|
345
|
-
}
|
|
346
|
-
function collectTags(txo) {
|
|
347
|
-
const tags = [];
|
|
348
|
-
for (const indexData of Object.values(txo.data)) {
|
|
349
|
-
tags.push(...indexData.tags);
|
|
350
|
-
}
|
|
351
|
-
return tags;
|
|
352
|
-
}
|
|
353
|
-
function buildDescription(ownedTxos) {
|
|
354
|
-
const parts = [];
|
|
355
|
-
let sats = 0;
|
|
356
|
-
for (const txo of ownedTxos) {
|
|
357
|
-
if (txo.data.bsv21) {
|
|
358
|
-
const token = txo.data.bsv21.data;
|
|
359
|
-
const sym = token.sym || 'tokens';
|
|
360
|
-
const amt = Number(token.amt) / 10 ** token.dec;
|
|
361
|
-
parts.push(`${amt} ${sym}`);
|
|
362
|
-
}
|
|
363
|
-
else if (txo.basket === '1sat') {
|
|
364
|
-
parts.push('ordinal');
|
|
365
|
-
}
|
|
366
|
-
else if (txo.basket === 'opns') {
|
|
367
|
-
parts.push('OPNS name');
|
|
368
|
-
}
|
|
369
|
-
else if (txo.basket === 'fund') {
|
|
370
|
-
sats += Number(txo.output.satoshis || 0);
|
|
371
|
-
}
|
|
372
|
-
}
|
|
373
|
-
if (sats > 0) {
|
|
374
|
-
parts.push(`${sats} sats`);
|
|
163
|
+
// Build address → derivation map for the indexer-based owner matching
|
|
164
|
+
const addrDerivations = new Map();
|
|
165
|
+
for (const [address, d] of addressMap) {
|
|
166
|
+
addrDerivations.set(address, {
|
|
167
|
+
outputIndex: 0, // not used in address mode
|
|
168
|
+
derivationPrefix: d.derivationPrefix,
|
|
169
|
+
derivationSuffix: d.derivationSuffix,
|
|
170
|
+
senderIdentityKey: d.senderIdentityKey,
|
|
171
|
+
});
|
|
375
172
|
}
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
173
|
+
await internalizeBeef({
|
|
174
|
+
beef,
|
|
175
|
+
addressDerivations: addrDerivations,
|
|
176
|
+
wallet: ctx.wallet,
|
|
177
|
+
services,
|
|
178
|
+
chain: ctx.chain,
|
|
179
|
+
});
|
|
382
180
|
}
|
|
181
|
+
export { syncMessages };
|
|
383
182
|
/** All sync actions for registry */
|
|
384
|
-
export const syncActions = [syncAddresses];
|
|
183
|
+
export const syncActions = [syncAddresses, syncMessages];
|
|
385
184
|
export { ProcessedTxStoreIdb } from './ProcessedTxStoreIdb';
|
|
386
185
|
export { ProcessedTxStoreSqlite } from './ProcessedTxStoreSqlite';
|
|
387
186
|
//# sourceMappingURL=index.js.map
|
package/dist/sync/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sync/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Message Box Sync Action
|
|
3
|
+
*
|
|
4
|
+
* Polls the message box for incoming paymail payments,
|
|
5
|
+
* internalizes each one via the shared BEEF pipeline,
|
|
6
|
+
* and acknowledges only after successful internalization.
|
|
7
|
+
*/
|
|
8
|
+
import type { Action } from '../types';
|
|
9
|
+
export interface SyncMessagesInput {
|
|
10
|
+
/** Message box name to poll (default: "payment_inbox") */
|
|
11
|
+
messageBox?: string;
|
|
12
|
+
}
|
|
13
|
+
export interface SyncMessagesResult {
|
|
14
|
+
/** Number of messages successfully internalized */
|
|
15
|
+
processed: number;
|
|
16
|
+
/** Number of messages that failed to internalize */
|
|
17
|
+
failed: number;
|
|
18
|
+
}
|
|
19
|
+
export declare const syncMessages: Action<SyncMessagesInput, SyncMessagesResult>;
|
|
20
|
+
//# sourceMappingURL=syncMessages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"syncMessages.d.ts","sourceRoot":"","sources":["../../src/sync/syncMessages.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAUtC,MAAM,WAAW,iBAAiB;IACjC,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,kBAAkB;IAClC,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAA;IACjB,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAA;CACd;AA+BD,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,CA0GtE,CAAA"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Message Box Sync Action
|
|
3
|
+
*
|
|
4
|
+
* Polls the message box for incoming paymail payments,
|
|
5
|
+
* internalizes each one via the shared BEEF pipeline,
|
|
6
|
+
* and acknowledges only after successful internalization.
|
|
7
|
+
*/
|
|
8
|
+
import { Utils } from '@bsv/sdk';
|
|
9
|
+
import { AuthFetch } from '@bsv/sdk/auth';
|
|
10
|
+
import { internalizeBeef, } from '../utils/internalizeBeef';
|
|
11
|
+
// ============================================================================
|
|
12
|
+
// Action
|
|
13
|
+
// ============================================================================
|
|
14
|
+
export const syncMessages = {
|
|
15
|
+
meta: {
|
|
16
|
+
name: 'syncMessages',
|
|
17
|
+
description: 'Sync incoming paymail payments from the message box into the wallet',
|
|
18
|
+
category: 'sync',
|
|
19
|
+
inputSchema: {
|
|
20
|
+
type: 'object',
|
|
21
|
+
properties: {
|
|
22
|
+
messageBox: {
|
|
23
|
+
type: 'string',
|
|
24
|
+
description: 'Message box name to poll (default: "payment_inbox")',
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
requiresServices: true,
|
|
29
|
+
},
|
|
30
|
+
async execute(ctx, input) {
|
|
31
|
+
const services = ctx.services;
|
|
32
|
+
if (!services) {
|
|
33
|
+
throw new Error('syncMessages requires services in context');
|
|
34
|
+
}
|
|
35
|
+
const messageBox = input.messageBox || 'payment_inbox';
|
|
36
|
+
const messageboxUrl = `${services.baseUrl}/1sat/messagebox`;
|
|
37
|
+
const authFetch = new AuthFetch(ctx.wallet);
|
|
38
|
+
// 1. List pending messages
|
|
39
|
+
const listResponse = await authFetch.fetch(`${messageboxUrl}/listMessages`, {
|
|
40
|
+
method: 'POST',
|
|
41
|
+
headers: { 'Content-Type': 'application/json' },
|
|
42
|
+
body: JSON.stringify({ messageBox }),
|
|
43
|
+
});
|
|
44
|
+
if (!listResponse.ok) {
|
|
45
|
+
throw new Error(`Failed to list messages: ${listResponse.status} ${listResponse.statusText}`);
|
|
46
|
+
}
|
|
47
|
+
const { messages } = (await listResponse.json());
|
|
48
|
+
if (!messages || messages.length === 0) {
|
|
49
|
+
return { processed: 0, failed: 0 };
|
|
50
|
+
}
|
|
51
|
+
// 2. Process each message
|
|
52
|
+
let processed = 0;
|
|
53
|
+
let failed = 0;
|
|
54
|
+
const acknowledgedIds = [];
|
|
55
|
+
for (const msg of messages) {
|
|
56
|
+
try {
|
|
57
|
+
const payment = JSON.parse(msg.body);
|
|
58
|
+
const beefBytes = new Uint8Array(Utils.toArray(payment.beef, 'hex'));
|
|
59
|
+
const outputDerivation = {
|
|
60
|
+
outputIndex: payment.outputIndex,
|
|
61
|
+
derivationPrefix: payment.derivationPrefix,
|
|
62
|
+
derivationSuffix: payment.derivationSuffix,
|
|
63
|
+
senderIdentityKey: payment.senderIdentityKey,
|
|
64
|
+
};
|
|
65
|
+
await internalizeBeef({
|
|
66
|
+
beef: beefBytes,
|
|
67
|
+
outputs: [outputDerivation],
|
|
68
|
+
wallet: ctx.wallet,
|
|
69
|
+
services,
|
|
70
|
+
chain: ctx.chain,
|
|
71
|
+
});
|
|
72
|
+
acknowledgedIds.push(msg.messageId);
|
|
73
|
+
processed++;
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
console.error(`[syncMessages] Failed to process message ${msg.messageId}:`, error instanceof Error ? error.message : String(error));
|
|
77
|
+
failed++;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
// 3. Acknowledge successfully internalized messages
|
|
81
|
+
if (acknowledgedIds.length > 0) {
|
|
82
|
+
const ackResponse = await authFetch.fetch(`${messageboxUrl}/acknowledgeMessage`, {
|
|
83
|
+
method: 'POST',
|
|
84
|
+
headers: { 'Content-Type': 'application/json' },
|
|
85
|
+
body: JSON.stringify({ messageIds: acknowledgedIds }),
|
|
86
|
+
});
|
|
87
|
+
if (!ackResponse.ok) {
|
|
88
|
+
console.error(`[syncMessages] Failed to acknowledge messages: ${ackResponse.status}`);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return { processed, failed };
|
|
92
|
+
},
|
|
93
|
+
};
|
|
94
|
+
//# sourceMappingURL=syncMessages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"syncMessages.js","sourceRoot":"","sources":["../../src/sync/syncMessages.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared BEEF internalization pipeline.
|
|
3
|
+
*
|
|
4
|
+
* Takes raw BEEF bytes, parses the transaction with indexers to determine
|
|
5
|
+
* basket/tags/protocol, builds InternalizeOutput entries, and calls
|
|
6
|
+
* wallet.internalizeAction().
|
|
7
|
+
*
|
|
8
|
+
* Used by both address sync (external deposits) and message box sync (paymail payments).
|
|
9
|
+
*/
|
|
10
|
+
import type { OneSatServices } from '@1sat/client';
|
|
11
|
+
import { type WalletInterface } from '@bsv/sdk';
|
|
12
|
+
/** A single output to internalize, with its derivation info. */
|
|
13
|
+
export interface OutputDerivation {
|
|
14
|
+
outputIndex: number;
|
|
15
|
+
derivationPrefix: string;
|
|
16
|
+
derivationSuffix: string;
|
|
17
|
+
senderIdentityKey: string;
|
|
18
|
+
}
|
|
19
|
+
export interface InternalizeBeefOptions {
|
|
20
|
+
/** Raw BEEF bytes */
|
|
21
|
+
beef: Uint8Array;
|
|
22
|
+
/** Wallet for calling internalizeAction */
|
|
23
|
+
wallet: WalletInterface;
|
|
24
|
+
/** Services for loading source transactions and running indexers */
|
|
25
|
+
services: OneSatServices;
|
|
26
|
+
/** Network chain */
|
|
27
|
+
chain: 'main' | 'test';
|
|
28
|
+
/**
|
|
29
|
+
* Explicit output derivations by vout index (message box sync).
|
|
30
|
+
* Provide either `outputs` or `addressDerivations`, not both.
|
|
31
|
+
*/
|
|
32
|
+
outputs?: OutputDerivation[];
|
|
33
|
+
/**
|
|
34
|
+
* Address-based derivation lookup (address sync).
|
|
35
|
+
* Maps owner address → derivation info. After indexer parsing,
|
|
36
|
+
* txo.owner is matched against this map.
|
|
37
|
+
*/
|
|
38
|
+
addressDerivations?: Map<string, OutputDerivation>;
|
|
39
|
+
}
|
|
40
|
+
export interface InternalizeBeefResult {
|
|
41
|
+
txid: string;
|
|
42
|
+
internalized: number;
|
|
43
|
+
}
|
|
44
|
+
export declare function internalizeBeef(opts: InternalizeBeefOptions): Promise<InternalizeBeefResult>;
|
|
45
|
+
//# sourceMappingURL=internalizeBeef.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internalizeBeef.d.ts","sourceRoot":"","sources":["../../src/utils/internalizeBeef.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAElD,OAAO,EAKN,KAAK,eAAe,EACpB,MAAM,UAAU,CAAA;AAkBjB,gEAAgE;AAChE,MAAM,WAAW,gBAAgB;IAChC,WAAW,EAAE,MAAM,CAAA;IACnB,gBAAgB,EAAE,MAAM,CAAA;IACxB,gBAAgB,EAAE,MAAM,CAAA;IACxB,iBAAiB,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,sBAAsB;IACtC,qBAAqB;IACrB,IAAI,EAAE,UAAU,CAAA;IAChB,2CAA2C;IAC3C,MAAM,EAAE,eAAe,CAAA;IACvB,oEAAoE;IACpE,QAAQ,EAAE,cAAc,CAAA;IACxB,oBAAoB;IACpB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;IACtB;;;OAGG;IACH,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAC5B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;CAClD;AAED,MAAM,WAAW,qBAAqB;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,MAAM,CAAA;CACpB;AAMD,wBAAsB,eAAe,CACpC,IAAI,EAAE,sBAAsB,GAC1B,OAAO,CAAC,qBAAqB,CAAC,CAoFhC"}
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared BEEF internalization pipeline.
|
|
3
|
+
*
|
|
4
|
+
* Takes raw BEEF bytes, parses the transaction with indexers to determine
|
|
5
|
+
* basket/tags/protocol, builds InternalizeOutput entries, and calls
|
|
6
|
+
* wallet.internalizeAction().
|
|
7
|
+
*
|
|
8
|
+
* Used by both address sync (external deposits) and message box sync (paymail payments).
|
|
9
|
+
*/
|
|
10
|
+
import { Beef, Transaction, } from '@bsv/sdk';
|
|
11
|
+
import { Bsv21Indexer, FundIndexer, InscriptionIndexer, MapIndexer, OpNSIndexer, Outpoint, OriginIndexer, SigmaIndexer, } from '@1sat/wallet';
|
|
12
|
+
import { BRC29_PROTOCOL_ID } from '@1sat/types';
|
|
13
|
+
import { randomActionId } from './createTrackedAction';
|
|
14
|
+
// ============================================================================
|
|
15
|
+
// Main function
|
|
16
|
+
// ============================================================================
|
|
17
|
+
export async function internalizeBeef(opts) {
|
|
18
|
+
const { beef, wallet, services, chain, outputs, addressDerivations } = opts;
|
|
19
|
+
if (!outputs && !addressDerivations) {
|
|
20
|
+
throw new Error('Either outputs or addressDerivations must be provided');
|
|
21
|
+
}
|
|
22
|
+
const beefObj = Beef.fromBinary(Array.from(beef));
|
|
23
|
+
const txids = beefObj.txs
|
|
24
|
+
.filter((btx) => btx.tx != null)
|
|
25
|
+
.map((btx) => btx.tx.id('hex'));
|
|
26
|
+
const mainTxid = txids[txids.length - 1];
|
|
27
|
+
const btx = beefObj.findTxid(mainTxid);
|
|
28
|
+
if (!btx?.tx) {
|
|
29
|
+
throw new Error(`Transaction not found in BEEF`);
|
|
30
|
+
}
|
|
31
|
+
// Ensure source transactions are loaded for inputs
|
|
32
|
+
for (const input of btx.tx.inputs) {
|
|
33
|
+
if (!input.sourceTransaction && input.sourceTXID) {
|
|
34
|
+
const rawTx = await services.beef.getRawTx(input.sourceTXID);
|
|
35
|
+
input.sourceTransaction = Transaction.fromBinary(Array.from(rawTx));
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
// Build vout lookup for explicit output mode
|
|
39
|
+
const derivationByVout = new Map();
|
|
40
|
+
if (outputs) {
|
|
41
|
+
for (const out of outputs) {
|
|
42
|
+
derivationByVout.set(out.outputIndex, out);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
// Build indexers
|
|
46
|
+
const owners = new Set(addressDerivations ? addressDerivations.keys() : []);
|
|
47
|
+
const network = chain === 'main' ? 'mainnet' : 'testnet';
|
|
48
|
+
const indexers = [
|
|
49
|
+
new FundIndexer(owners, network),
|
|
50
|
+
new InscriptionIndexer(owners, network),
|
|
51
|
+
new Bsv21Indexer(owners, network, services),
|
|
52
|
+
new OriginIndexer(owners, network, services),
|
|
53
|
+
new OpNSIndexer(owners, network),
|
|
54
|
+
new SigmaIndexer(owners, network),
|
|
55
|
+
new MapIndexer(owners, network),
|
|
56
|
+
];
|
|
57
|
+
// Parse transaction with indexers
|
|
58
|
+
const parseCtx = await parseTransaction(btx.tx, indexers);
|
|
59
|
+
// Build InternalizeOutput entries
|
|
60
|
+
const internalizeOutputs = [];
|
|
61
|
+
const ownedTxos = [];
|
|
62
|
+
const actionId = randomActionId();
|
|
63
|
+
for (const txo of parseCtx.txos) {
|
|
64
|
+
// Resolve derivation: explicit vout match OR owner-address match
|
|
65
|
+
const derivation = derivationByVout.get(txo.outpoint.vout) ||
|
|
66
|
+
(txo.owner && addressDerivations?.get(txo.owner)) ||
|
|
67
|
+
null;
|
|
68
|
+
if (!derivation)
|
|
69
|
+
continue;
|
|
70
|
+
const result = buildInternalizeOutput(txo, derivation, actionId);
|
|
71
|
+
if (result) {
|
|
72
|
+
internalizeOutputs.push(result);
|
|
73
|
+
ownedTxos.push(txo);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
if (internalizeOutputs.length === 0) {
|
|
77
|
+
return { txid: mainTxid, internalized: 0 };
|
|
78
|
+
}
|
|
79
|
+
const args = {
|
|
80
|
+
tx: Array.from(beef),
|
|
81
|
+
outputs: internalizeOutputs,
|
|
82
|
+
description: buildDescription(ownedTxos),
|
|
83
|
+
};
|
|
84
|
+
await wallet.internalizeAction(args);
|
|
85
|
+
return { txid: mainTxid, internalized: internalizeOutputs.length };
|
|
86
|
+
}
|
|
87
|
+
// ============================================================================
|
|
88
|
+
// Internals
|
|
89
|
+
// ============================================================================
|
|
90
|
+
async function parseTransaction(tx, indexers) {
|
|
91
|
+
const txid = tx.id('hex');
|
|
92
|
+
const ctx = {
|
|
93
|
+
tx,
|
|
94
|
+
txid,
|
|
95
|
+
txos: [],
|
|
96
|
+
spends: [],
|
|
97
|
+
summary: {},
|
|
98
|
+
indexers,
|
|
99
|
+
};
|
|
100
|
+
// Parse inputs into spends
|
|
101
|
+
for (let vin = 0; vin < tx.inputs.length; vin++) {
|
|
102
|
+
const input = tx.inputs[vin];
|
|
103
|
+
if (!input.sourceTransaction) {
|
|
104
|
+
throw new Error(`Missing sourceTransaction for input ${vin}`);
|
|
105
|
+
}
|
|
106
|
+
const sourceTxid = input.sourceTransaction.id('hex');
|
|
107
|
+
const txo = {
|
|
108
|
+
output: input.sourceTransaction.outputs[input.sourceOutputIndex],
|
|
109
|
+
outpoint: new Outpoint(sourceTxid, input.sourceOutputIndex),
|
|
110
|
+
data: {},
|
|
111
|
+
};
|
|
112
|
+
for (const indexer of indexers) {
|
|
113
|
+
const result = await indexer.parse(txo);
|
|
114
|
+
if (result) {
|
|
115
|
+
txo.data[indexer.tag] = {
|
|
116
|
+
data: result.data,
|
|
117
|
+
tags: result.tags,
|
|
118
|
+
content: result.content,
|
|
119
|
+
};
|
|
120
|
+
if (result.owner && !txo.owner)
|
|
121
|
+
txo.owner = result.owner;
|
|
122
|
+
if (result.basket && !txo.basket)
|
|
123
|
+
txo.basket = result.basket;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
ctx.spends.push(txo);
|
|
127
|
+
}
|
|
128
|
+
// Parse each output
|
|
129
|
+
for (let vout = 0; vout < tx.outputs.length; vout++) {
|
|
130
|
+
const output = tx.outputs[vout];
|
|
131
|
+
const txo = {
|
|
132
|
+
output,
|
|
133
|
+
outpoint: new Outpoint(txid, vout),
|
|
134
|
+
data: {},
|
|
135
|
+
};
|
|
136
|
+
for (const indexer of indexers) {
|
|
137
|
+
const result = await indexer.parse(txo);
|
|
138
|
+
if (result) {
|
|
139
|
+
txo.data[indexer.tag] = {
|
|
140
|
+
data: result.data,
|
|
141
|
+
tags: result.tags,
|
|
142
|
+
content: result.content,
|
|
143
|
+
};
|
|
144
|
+
if (result.owner && !txo.owner)
|
|
145
|
+
txo.owner = result.owner;
|
|
146
|
+
if (result.basket && !txo.basket)
|
|
147
|
+
txo.basket = result.basket;
|
|
148
|
+
if (result.protocol && !txo.protocol)
|
|
149
|
+
txo.protocol = result.protocol;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
ctx.txos.push(txo);
|
|
153
|
+
}
|
|
154
|
+
// Summarize phase
|
|
155
|
+
for (const indexer of indexers) {
|
|
156
|
+
const summary = await indexer.summarize(ctx, true);
|
|
157
|
+
if (summary) {
|
|
158
|
+
ctx.summary[indexer.tag] = summary;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
return ctx;
|
|
162
|
+
}
|
|
163
|
+
function buildInternalizeOutput(txo, derivation, actionId) {
|
|
164
|
+
const vout = txo.outpoint.vout;
|
|
165
|
+
const protocol = txo.protocol || 'wallet payment';
|
|
166
|
+
const idTag = `id:${actionId}`;
|
|
167
|
+
if (protocol === 'basket insertion') {
|
|
168
|
+
const basket = txo.basket || 'custom';
|
|
169
|
+
const tags = [...collectTags(txo), idTag];
|
|
170
|
+
const nameTag = tags.find((t) => t.startsWith('name:'));
|
|
171
|
+
return {
|
|
172
|
+
outputIndex: vout,
|
|
173
|
+
protocol: 'basket insertion',
|
|
174
|
+
insertionRemittance: {
|
|
175
|
+
basket,
|
|
176
|
+
tags,
|
|
177
|
+
customInstructions: JSON.stringify({
|
|
178
|
+
derivationPrefix: derivation.derivationPrefix,
|
|
179
|
+
derivationSuffix: derivation.derivationSuffix,
|
|
180
|
+
senderIdentityKey: derivation.senderIdentityKey,
|
|
181
|
+
...(nameTag && { name: nameTag.slice(5).slice(0, 64) }),
|
|
182
|
+
}),
|
|
183
|
+
},
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
// P2PKH ordinals/tokens: basket insertion so they don't get consumed as change
|
|
187
|
+
if (txo.basket && txo.basket !== 'fund') {
|
|
188
|
+
const tags = [...collectTags(txo), idTag];
|
|
189
|
+
const nameTag = tags.find((t) => t.startsWith('name:'));
|
|
190
|
+
return {
|
|
191
|
+
outputIndex: vout,
|
|
192
|
+
protocol: 'basket insertion',
|
|
193
|
+
insertionRemittance: {
|
|
194
|
+
basket: txo.basket,
|
|
195
|
+
tags,
|
|
196
|
+
customInstructions: JSON.stringify({
|
|
197
|
+
protocolID: BRC29_PROTOCOL_ID,
|
|
198
|
+
keyID: `${derivation.derivationPrefix} ${derivation.derivationSuffix}`,
|
|
199
|
+
...(nameTag && { name: nameTag.slice(5).slice(0, 64) }),
|
|
200
|
+
}),
|
|
201
|
+
},
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
// P2PKH funding output
|
|
205
|
+
return {
|
|
206
|
+
outputIndex: vout,
|
|
207
|
+
protocol: 'wallet payment',
|
|
208
|
+
paymentRemittance: {
|
|
209
|
+
derivationPrefix: derivation.derivationPrefix,
|
|
210
|
+
derivationSuffix: derivation.derivationSuffix,
|
|
211
|
+
senderIdentityKey: derivation.senderIdentityKey,
|
|
212
|
+
},
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
function collectTags(txo) {
|
|
216
|
+
const tags = [];
|
|
217
|
+
for (const indexData of Object.values(txo.data)) {
|
|
218
|
+
tags.push(...indexData.tags);
|
|
219
|
+
}
|
|
220
|
+
return tags;
|
|
221
|
+
}
|
|
222
|
+
function buildDescription(ownedTxos) {
|
|
223
|
+
const parts = [];
|
|
224
|
+
let sats = 0;
|
|
225
|
+
for (const txo of ownedTxos) {
|
|
226
|
+
if (txo.data.bsv21) {
|
|
227
|
+
const token = txo.data.bsv21.data;
|
|
228
|
+
const sym = token.sym || 'tokens';
|
|
229
|
+
const amt = Number(token.amt) / 10 ** token.dec;
|
|
230
|
+
parts.push(`${amt} ${sym}`);
|
|
231
|
+
}
|
|
232
|
+
else if (txo.basket === '1sat') {
|
|
233
|
+
parts.push('ordinal');
|
|
234
|
+
}
|
|
235
|
+
else if (txo.basket === 'opns') {
|
|
236
|
+
parts.push('OPNS name');
|
|
237
|
+
}
|
|
238
|
+
else if (txo.basket === 'fund') {
|
|
239
|
+
sats += Number(txo.output.satoshis || 0);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
if (sats > 0) {
|
|
243
|
+
parts.push(`${sats} sats`);
|
|
244
|
+
}
|
|
245
|
+
if (parts.length === 0)
|
|
246
|
+
return 'Received via sync';
|
|
247
|
+
const desc = `Received ${parts.join(' + ')}`;
|
|
248
|
+
if (desc.length <= 50)
|
|
249
|
+
return desc;
|
|
250
|
+
return `${desc.slice(0, 47)}...`;
|
|
251
|
+
}
|
|
252
|
+
//# sourceMappingURL=internalizeBeef.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internalizeBeef.js","sourceRoot":"","sources":["../../src/utils/internalizeBeef.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,EACN,IAAI,EAGJ,WAAW,GAEX,MAAM,UAAU,CAAA;AACjB,OAAO,EACN,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,UAAU,EACV,WAAW,EACX,QAAQ,EACR,aAAa,EACb,YAAY,GACZ,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAyCtD,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E,MAAM,CAAC,KAAK,UAAU,eAAe,CACpC,IAA4B;IAE5B,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAA;IAE3E,IAAI,CAAC,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;IACzE,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IACjD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG;SACvB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC;SAC/B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IACjC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAExC,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IACtC,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;IACjD,CAAC;IAED,mDAAmD;IACnD,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,iBAAiB,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YAClD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;YAC5D,KAAK,CAAC,iBAAiB,GAAG,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;QACpE,CAAC;IACF,CAAC;IAED,6CAA6C;IAC7C,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA4B,CAAA;IAC5D,IAAI,OAAO,EAAE,CAAC;QACb,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC3B,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAA;QAC3C,CAAC;IACF,CAAC;IAED,iBAAiB;IACjB,MAAM,MAAM,GAAG,IAAI,GAAG,CACrB,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CACnD,CAAA;IACD,MAAM,OAAO,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;IACxD,MAAM,QAAQ,GAAc;QAC3B,IAAI,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC;QAChC,IAAI,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC;QACvC,IAAI,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;QAC3C,IAAI,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;QAC5C,IAAI,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC;QAChC,IAAI,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC;QACjC,IAAI,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC;KAC/B,CAAA;IAED,kCAAkC;IAClC,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;IAEzD,kCAAkC;IAClC,MAAM,kBAAkB,GAAwB,EAAE,CAAA;IAClD,MAAM,SAAS,GAAU,EAAE,CAAA;IAC3B,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAA;IAEjC,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;QACjC,iEAAiE;QACjE,MAAM,UAAU,GACf,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;YACvC,CAAC,GAAG,CAAC,KAAK,IAAI,kBAAkB,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACjD,IAAI,CAAA;QACL,IAAI,CAAC,UAAU;YAAE,SAAQ;QAEzB,MAAM,MAAM,GAAG,sBAAsB,CAAC,GAAG,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAA;QAChE,IAAI,MAAM,EAAE,CAAC;YACZ,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAC/B,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACpB,CAAC;IACF,CAAC;IAED,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,EAAE,CAAA;IAC3C,CAAC;IAED,MAAM,IAAI,GAA0B;QACnC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;QACpB,OAAO,EAAE,kBAAkB;QAC3B,WAAW,EAAE,gBAAgB,CAAC,SAAS,CAAC;KACxC,CAAA;IAED,MAAM,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;IACpC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,kBAAkB,CAAC,MAAM,EAAE,CAAA;AACnE,CAAC;AAED,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E,KAAK,UAAU,gBAAgB,CAC9B,EAAe,EACf,QAAmB;IAEnB,MAAM,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;IAEzB,MAAM,GAAG,GAAiB;QACzB,EAAE;QACF,IAAI;QACJ,IAAI,EAAE,EAAE;QACR,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,EAAE;QACX,QAAQ;KACR,CAAA;IAED,2BAA2B;IAC3B,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAC5B,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,uCAAuC,GAAG,EAAE,CAAC,CAAA;QAC9D,CAAC;QACD,MAAM,UAAU,GAAG,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;QACpD,MAAM,GAAG,GAAQ;YAChB,MAAM,EAAE,KAAK,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC;YAChE,QAAQ,EAAE,IAAI,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,iBAAiB,CAAC;YAC3D,IAAI,EAAE,EAAE;SACR,CAAA;QAED,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACvC,IAAI,MAAM,EAAE,CAAC;gBACZ,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG;oBACvB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,OAAO,EAAE,MAAM,CAAC,OAAO;iBACvB,CAAA;gBACD,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,KAAK;oBAAE,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;gBACxD,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM;oBAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;YAC7D,CAAC;QACF,CAAC;QAED,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACrB,CAAC;IAED,oBAAoB;IACpB,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAC/B,MAAM,GAAG,GAAQ;YAChB,MAAM;YACN,QAAQ,EAAE,IAAI,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;YAClC,IAAI,EAAE,EAAE;SACR,CAAA;QAED,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACvC,IAAI,MAAM,EAAE,CAAC;gBACZ,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG;oBACvB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,OAAO,EAAE,MAAM,CAAC,OAAO;iBACvB,CAAA;gBACD,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,KAAK;oBAAE,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;gBACxD,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM;oBAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;gBAC5D,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ;oBAAE,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;YACrE,CAAC;QACF,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACnB,CAAC;IAED,kBAAkB;IAClB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QAClD,IAAI,OAAO,EAAE,CAAC;YACb,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAA;QACnC,CAAC;IACF,CAAC;IAED,OAAO,GAAG,CAAA;AACX,CAAC;AAED,SAAS,sBAAsB,CAC9B,GAAQ,EACR,UAA4B,EAC5B,QAAgB;IAEhB,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAA;IAC9B,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,gBAAgB,CAAA;IACjD,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE,CAAA;IAE9B,IAAI,QAAQ,KAAK,kBAAkB,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,QAAQ,CAAA;QACrC,MAAM,IAAI,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAA;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAA;QAEvD,OAAO;YACN,WAAW,EAAE,IAAI;YACjB,QAAQ,EAAE,kBAAkB;YAC5B,mBAAmB,EAAE;gBACpB,MAAM;gBACN,IAAI;gBACJ,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC;oBAClC,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;oBAC7C,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;oBAC7C,iBAAiB,EAAE,UAAU,CAAC,iBAAiB;oBAC/C,GAAG,CAAC,OAAO,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;iBACvD,CAAC;aACF;SACD,CAAA;IACF,CAAC;IAED,+EAA+E;IAC/E,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAA;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAA;QAEvD,OAAO;YACN,WAAW,EAAE,IAAI;YACjB,QAAQ,EAAE,kBAAkB;YAC5B,mBAAmB,EAAE;gBACpB,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,IAAI;gBACJ,kBAAkB,EAAE,IAAI,CAAC,SAAS,CAAC;oBAClC,UAAU,EAAE,iBAAiB;oBAC7B,KAAK,EAAE,GAAG,UAAU,CAAC,gBAAgB,IAAI,UAAU,CAAC,gBAAgB,EAAE;oBACtE,GAAG,CAAC,OAAO,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;iBACvD,CAAC;aACF;SACD,CAAA;IACF,CAAC;IAED,uBAAuB;IACvB,OAAO;QACN,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,gBAAgB;QAC1B,iBAAiB,EAAE;YAClB,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;YAC7C,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;YAC7C,iBAAiB,EAAE,UAAU,CAAC,iBAAiB;SAC/C;KACD,CAAA;AACF,CAAC;AAED,SAAS,WAAW,CAAC,GAAQ;IAC5B,MAAM,IAAI,GAAa,EAAE,CAAA;IACzB,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC;IACD,OAAO,IAAI,CAAA;AACZ,CAAC;AAED,SAAS,gBAAgB,CAAC,SAAgB;IACzC,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,IAAI,IAAI,GAAG,CAAC,CAAA;IAEZ,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC7B,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAI5B,CAAA;YACD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,QAAQ,CAAA;YACjC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,KAAK,CAAC,GAAG,CAAA;YAC/C,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC,CAAA;QAC5B,CAAC;aAAM,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACtB,CAAC;aAAM,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QACxB,CAAC;aAAM,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAClC,IAAI,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAA;QACzC,CAAC;IACF,CAAC;IAED,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,CAAA;IAC3B,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,mBAAmB,CAAA;IAElD,MAAM,IAAI,GAAG,YAAY,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAA;IAC5C,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE;QAAE,OAAO,IAAI,CAAA;IAClC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAA;AACjC,CAAC"}
|