@misofm/platform 0.25.0 → 0.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +144 -45
- package/dist/auth.d.ts +8 -13
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +78 -59
- package/dist/auth.js.map +1 -1
- package/dist/catalog.d.ts +5 -5
- package/dist/catalog.d.ts.map +1 -1
- package/dist/catalog.js +33 -21
- package/dist/catalog.js.map +1 -1
- package/dist/client.d.ts +17 -30
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +53 -75
- package/dist/client.js.map +1 -1
- package/dist/cover.d.ts +4 -3
- package/dist/cover.d.ts.map +1 -1
- package/dist/cover.js +28 -17
- package/dist/cover.js.map +1 -1
- package/dist/credits.d.ts +12 -10
- package/dist/credits.d.ts.map +1 -1
- package/dist/credits.js +60 -33
- package/dist/credits.js.map +1 -1
- package/dist/deployments.d.ts +21 -13
- package/dist/deployments.d.ts.map +1 -1
- package/dist/deployments.js +84 -37
- package/dist/deployments.js.map +1 -1
- package/dist/errors.d.ts +91 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +111 -0
- package/dist/errors.js.map +1 -0
- package/dist/execute.d.ts +3 -1
- package/dist/execute.d.ts.map +1 -1
- package/dist/execute.js +9 -4
- package/dist/execute.js.map +1 -1
- package/dist/genre.d.ts +25 -41
- package/dist/genre.d.ts.map +1 -1
- package/dist/genre.js +71 -20
- package/dist/genre.js.map +1 -1
- package/dist/party/client.d.ts +16 -13
- package/dist/party/client.d.ts.map +1 -1
- package/dist/party/client.js +33 -22
- package/dist/party/client.js.map +1 -1
- package/dist/party/extensions/links.d.ts +2 -1
- package/dist/party/extensions/links.d.ts.map +1 -1
- package/dist/party/extensions/links.js +2 -1
- package/dist/party/extensions/links.js.map +1 -1
- package/dist/party/queries.d.ts +12 -11
- package/dist/party/queries.d.ts.map +1 -1
- package/dist/party/queries.js +63 -57
- package/dist/party/queries.js.map +1 -1
- package/dist/party/types.d.ts +31 -20
- package/dist/party/types.d.ts.map +1 -1
- package/dist/party/types.js +82 -1
- package/dist/party/types.js.map +1 -1
- package/dist/pressing.d.ts +55 -35
- package/dist/pressing.d.ts.map +1 -1
- package/dist/pressing.js +99 -76
- package/dist/pressing.js.map +1 -1
- package/dist/queries.d.ts +1 -1
- package/dist/queries.d.ts.map +1 -1
- package/dist/queries.js +5 -4
- package/dist/queries.js.map +1 -1
- package/dist/read/artist.d.ts +6 -4
- package/dist/read/artist.d.ts.map +1 -1
- package/dist/read/artist.js +29 -27
- package/dist/read/artist.js.map +1 -1
- package/dist/read/catalog.d.ts +20 -17
- package/dist/read/catalog.d.ts.map +1 -1
- package/dist/read/catalog.js +120 -141
- package/dist/read/catalog.js.map +1 -1
- package/dist/read/client.d.ts +10 -9
- package/dist/read/client.d.ts.map +1 -1
- package/dist/read/client.js.map +1 -1
- package/dist/read/genres.d.ts +5 -3
- package/dist/read/genres.d.ts.map +1 -1
- package/dist/read/genres.js +18 -15
- package/dist/read/genres.js.map +1 -1
- package/dist/read/index.d.ts.map +1 -1
- package/dist/read/index.js +7 -1
- package/dist/read/index.js.map +1 -1
- package/dist/read/receipts.d.ts +15 -6
- package/dist/read/receipts.d.ts.map +1 -1
- package/dist/read/receipts.js +73 -60
- package/dist/read/receipts.js.map +1 -1
- package/dist/read/wallet.d.ts +11 -9
- package/dist/read/wallet.d.ts.map +1 -1
- package/dist/read/wallet.js +117 -132
- package/dist/read/wallet.js.map +1 -1
- package/dist/read/works.d.ts +9 -16
- package/dist/read/works.d.ts.map +1 -1
- package/dist/read/works.js +48 -117
- package/dist/read/works.js.map +1 -1
- package/dist/recording-extensions.d.ts +8 -7
- package/dist/recording-extensions.d.ts.map +1 -1
- package/dist/recording-extensions.js +30 -63
- package/dist/recording-extensions.js.map +1 -1
- package/dist/release-extensions.d.ts +3 -2
- package/dist/release-extensions.d.ts.map +1 -1
- package/dist/release-extensions.js +9 -10
- package/dist/release-extensions.js.map +1 -1
- package/dist/royalty.d.ts +51 -51
- package/dist/royalty.d.ts.map +1 -1
- package/dist/royalty.js +93 -11
- package/dist/royalty.js.map +1 -1
- package/dist/share.d.ts +7 -6
- package/dist/share.d.ts.map +1 -1
- package/dist/share.js +37 -30
- package/dist/share.js.map +1 -1
- package/dist/vault.d.ts +20 -8
- package/dist/vault.d.ts.map +1 -1
- package/dist/vault.js +31 -15
- package/dist/vault.js.map +1 -1
- package/package.json +11 -4
- package/src/auth.ts +89 -70
- package/src/catalog.ts +33 -49
- package/src/client.ts +117 -97
- package/src/cover.ts +17 -26
- package/src/credits.ts +43 -75
- package/src/deployments.ts +103 -69
- package/src/errors.ts +156 -0
- package/src/execute.ts +10 -6
- package/src/genre.ts +38 -23
- package/src/party/client.ts +35 -23
- package/src/party/extensions/links.ts +3 -2
- package/src/party/queries.ts +77 -65
- package/src/party/types.ts +52 -48
- package/src/pressing.ts +158 -161
- package/src/queries.ts +5 -5
- package/src/read/artist.ts +47 -42
- package/src/read/catalog.ts +200 -223
- package/src/read/client.ts +12 -11
- package/src/read/genres.ts +24 -16
- package/src/read/index.ts +7 -1
- package/src/read/receipts.ts +128 -67
- package/src/read/wallet.ts +194 -162
- package/src/read/works.ts +75 -194
- package/src/recording-extensions.ts +38 -92
- package/src/release-extensions.ts +7 -12
- package/src/royalty.ts +117 -20
- package/src/share.ts +44 -29
- package/src/vault.ts +47 -24
package/dist/read/genres.js
CHANGED
|
@@ -4,6 +4,9 @@
|
|
|
4
4
|
// Genre name resolution. `party.getGenres` returns `Genre` OBJECT IDS; each Genre
|
|
5
5
|
// object carries a screaming-snake name ("HIP_HOP"). There is no id→name table
|
|
6
6
|
// anywhere off-chain, so the names are read from the objects and humanized.
|
|
7
|
+
import { Effect } from "effect";
|
|
8
|
+
import { getObjectsContent } from "@misofm/effect";
|
|
9
|
+
import { Genre as GenreBcs } from "../contracts/genre/genre.js";
|
|
7
10
|
/** "HIP_HOP" → "Hip Hop". */
|
|
8
11
|
function humanize(name) {
|
|
9
12
|
return name
|
|
@@ -14,25 +17,25 @@ function humanize(name) {
|
|
|
14
17
|
}
|
|
15
18
|
/**
|
|
16
19
|
* Resolve `Genre` object ids to display names. Best-effort: an id that fails to
|
|
17
|
-
* read
|
|
20
|
+
* read, or whose content does not parse as a `Genre`, is dropped rather than
|
|
21
|
+
* failing the artist page around it.
|
|
18
22
|
*/
|
|
19
|
-
export
|
|
23
|
+
export const resolveGenreNames = Effect.fn("resolveGenreNames")(function* (ids) {
|
|
20
24
|
if (ids.length === 0)
|
|
21
25
|
return [];
|
|
22
|
-
|
|
23
|
-
const { objects } = await client.protocol.core.getObjects({ objectIds: ids, include: { json: true } });
|
|
26
|
+
return yield* getObjectsContent(ids).pipe(Effect.map((contentById) => {
|
|
24
27
|
const out = [];
|
|
25
|
-
for (const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
for (const { content } of contentById.values()) {
|
|
29
|
+
try {
|
|
30
|
+
const name = GenreBcs.parse(content).name;
|
|
31
|
+
if (name)
|
|
32
|
+
out.push(humanize(name));
|
|
33
|
+
}
|
|
34
|
+
catch {
|
|
35
|
+
// Malformed content — drop this genre rather than fail the page.
|
|
36
|
+
}
|
|
31
37
|
}
|
|
32
38
|
return out;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
return [];
|
|
36
|
-
}
|
|
37
|
-
}
|
|
39
|
+
}), Effect.catch(() => Effect.succeed([])));
|
|
40
|
+
});
|
|
38
41
|
//# sourceMappingURL=genres.js.map
|
package/dist/read/genres.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"genres.js","sourceRoot":"","sources":["../../src/read/genres.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AACtC,EAAE;AACF,kFAAkF;AAClF,+EAA+E;AAC/E,4EAA4E;
|
|
1
|
+
{"version":3,"file":"genres.js","sourceRoot":"","sources":["../../src/read/genres.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AACtC,EAAE;AACF,kFAAkF;AAClF,+EAA+E;AAC/E,4EAA4E;AAE5E,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAkB,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEhE,6BAA6B;AAC7B,SAAS,QAAQ,CAAC,IAAY;IAC5B,OAAO,IAAI;SACR,KAAK,CAAC,GAAG,CAAC;SACV,MAAM,CAAC,OAAO,CAAC;SACf,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SAClD,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,EACvE,GAAa;IAEb,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAChC,OAAO,KAAK,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,IAAI,CACvC,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;QACzB,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,KAAK,MAAM,EAAE,OAAO,EAAE,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;YAC/C,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;gBAC1C,IAAI,IAAI;oBAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YACrC,CAAC;YAAC,MAAM,CAAC;gBACP,iEAAiE;YACnE,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,EACF,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CACvC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
package/dist/read/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/read/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/read/index.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,YAAY,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEvE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtD,YAAY,EACV,UAAU,EACV,mBAAmB,EACnB,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,WAAW,GACZ,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,sBAAsB,GACvB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EACL,UAAU,EACV,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,YAAY,EACZ,SAAS,EACT,UAAU,GACX,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,SAAS,EACT,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,eAAe,CAAC;AAEvB,mBAAmB,YAAY,CAAC"}
|
package/dist/read/index.js
CHANGED
|
@@ -10,9 +10,15 @@
|
|
|
10
10
|
//
|
|
11
11
|
// Browser- and server-compatible. The HTTP API is a thin cached transport over
|
|
12
12
|
// this same surface; direct clients can use it without going through the API.
|
|
13
|
+
// Every read returns `Effect<A, E, SuiClient | SuiGraphQL>`; `createMisoClient`
|
|
14
|
+
// bundles the transport, config, and Party client — provide its `sui`/`graphqlRaw`
|
|
15
|
+
// as the Effect services once, at your program's boundary:
|
|
13
16
|
//
|
|
14
17
|
// const miso = createMisoClient({ network: "testnet" })
|
|
15
|
-
// const
|
|
18
|
+
// const layer = Layer.mergeAll(SuiClient.layer(miso.sui), SuiGraphQL.layer(miso.graphqlRaw))
|
|
19
|
+
// const pressing = await Effect.runPromise(
|
|
20
|
+
// getPressingDetail(pressingId, miso.config).pipe(Effect.provide(layer)),
|
|
21
|
+
// )
|
|
16
22
|
export { createMisoClient } from "./client.js";
|
|
17
23
|
export { misoConfig, networkFrom } from "./config.js";
|
|
18
24
|
export { currencyInfo, getDiscoverShelf, getListingView, getPressingDetail, getPressingView, getPressingSaleDetail, getPressingPreview, getRecordAlbum, getReleaseDetail, getReleaseResources, getTrackCredits, getSaleDetail, primaryArtistNames, readReleaseCover, } from "./catalog.js";
|
package/dist/read/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/read/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AACtC,EAAE;AACF,mEAAmE;AACnE,EAAE;AACF,iFAAiF;AACjF,sEAAsE;AACtE,iFAAiF;AACjF,gBAAgB;AAChB,EAAE;AACF,+EAA+E;AAC/E,8EAA8E;AAC9E,EAAE;AACF,0DAA0D;AAC1D,+
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/read/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AACtC,EAAE;AACF,mEAAmE;AACnE,EAAE;AACF,iFAAiF;AACjF,sEAAsE;AACtE,iFAAiF;AACjF,gBAAgB;AAChB,EAAE;AACF,+EAA+E;AAC/E,8EAA8E;AAC9E,gFAAgF;AAChF,mFAAmF;AACnF,2DAA2D;AAC3D,EAAE;AACF,0DAA0D;AAC1D,+FAA+F;AAC/F,8CAA8C;AAC9C,8EAA8E;AAC9E,MAAM;AAEN,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG/C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAUtD,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAUtB,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,GACf,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EACL,UAAU,EACV,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,YAAY,EACZ,SAAS,EACT,UAAU,GACX,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,SAAS,EACT,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,eAAe,CAAC"}
|
package/dist/read/receipts.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { SuiClient, SuiGraphQL, SuiRpcError, type BcsDecodeError, type ObjectTypeMismatchError } from "@misofm/effect";
|
|
3
|
+
import { MalformedRecordSoldEventError, ReceiptNotFoundError, ReleaseNotFoundError, RecordPurchaseNotFoundError } from "../errors.ts";
|
|
4
|
+
import type { MisoConfig } from "./config.ts";
|
|
2
5
|
import type { PressingDetail, PurchaseReceipt, RecordSale, TrackRoyalty } from "./types.ts";
|
|
3
|
-
export declare class MalformedRecordSoldEventError extends Error {
|
|
4
|
-
readonly name = "MalformedRecordSoldEventError";
|
|
5
|
-
}
|
|
6
6
|
/** Composition royalty rate (bps) per recording id. Sparse — an unresolved parent has no entry. */
|
|
7
7
|
type CompositionRates = Record<string, number | undefined>;
|
|
8
8
|
/**
|
|
@@ -32,10 +32,19 @@ export declare function findRecordSale(events: Parameters<typeof findRecordSales
|
|
|
32
32
|
* are the numbers paid.
|
|
33
33
|
*/
|
|
34
34
|
export declare function breakdown(tracks: PressingDetail["release"]["tracks"], paid: string, compositionRates: CompositionRates): TrackRoyalty[];
|
|
35
|
+
/**
|
|
36
|
+
* The receipt for `txDigest`. The event identifies the exact immutable Pressing
|
|
37
|
+
* and Listing; callers cannot accidentally reinterpret a Pressing id as an
|
|
38
|
+
* obsolete sale-object id.
|
|
39
|
+
*
|
|
40
|
+
* The sale identifies the Pressing before its detail is fetched. `null` only when
|
|
41
|
+
* that immutable Pressing cannot be read; it is never superseded or destroyed.
|
|
42
|
+
*/
|
|
43
|
+
type ReceiptError = ReceiptNotFoundError | RecordPurchaseNotFoundError | MalformedRecordSoldEventError | ObjectTypeMismatchError | ReleaseNotFoundError | BcsDecodeError | SuiRpcError;
|
|
35
44
|
/** Read and hydrate every canonical Record sale in transaction event order. */
|
|
36
|
-
export declare
|
|
45
|
+
export declare const getPurchaseReceipts: (txDigest: string, config: MisoConfig) => Effect.Effect<PurchaseReceipt[], ReceiptError, SuiClient | SuiGraphQL>;
|
|
37
46
|
/** Read one canonical receipt selected by its Record ID. Selection is mandatory:
|
|
38
47
|
* one transaction may purchase multiple Records from the same Pressing. */
|
|
39
|
-
export declare
|
|
48
|
+
export declare const getPurchaseReceipt: (txDigest: string, recordId: string, config: MisoConfig) => Effect.Effect<PurchaseReceipt | null, ReceiptError, SuiClient | SuiGraphQL>;
|
|
40
49
|
export {};
|
|
41
50
|
//# sourceMappingURL=receipts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"receipts.d.ts","sourceRoot":"","sources":["../../src/read/receipts.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"receipts.d.ts","sourceRoot":"","sources":["../../src/read/receipts.ts"],"names":[],"mappings":"AA4BA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,cAAc,EAAE,KAAK,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAIvH,OAAO,EAAE,6BAA6B,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AACtI,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAS,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAgBnG,mGAAmG;AACnG,KAAK,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAsG3D;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,mBAAmB,EAAE,MAAM,GAC1B,MAAM,GAAG,IAAI,CAwBf;AAED,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAET;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE;IACN,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,UAAU,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;CACtC,EAAE,EACH,mBAAmB,EAAE,MAAM,GAC1B,UAAU,EAAE,CAgDd;AAED,gFAAgF;AAChF,wBAAgB,cAAc,CAC5B,MAAM,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC,CAAC,EAC7C,mBAAmB,EAAE,MAAM,EAC3B,QAAQ,EAAE,MAAM,GACf,UAAU,GAAG,IAAI,CAKnB;AA4KD;;;;;GAKG;AACH,wBAAgB,SAAS,CACvB,MAAM,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,EAC3C,IAAI,EAAE,MAAM,EACZ,gBAAgB,EAAE,gBAAgB,GACjC,YAAY,EAAE,CAgBhB;AAED;;;;;;;GAOG;AACH,KAAK,YAAY,GACb,oBAAoB,GACpB,2BAA2B,GAC3B,6BAA6B,GAC7B,uBAAuB,GACvB,oBAAoB,GACpB,cAAc,GACd,WAAW,CAAC;AA2BhB,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB,kHAY9B,CAAC;AAEH;2EAC2E;AAC3E,eAAO,MAAM,kBAAkB,yIAS7B,CAAC"}
|
package/dist/read/receipts.js
CHANGED
|
@@ -22,9 +22,12 @@
|
|
|
22
22
|
import * as listingContract from "../contracts/record_shop/listing.js";
|
|
23
23
|
import { extractTypeParams2, getCompositionsByIds, } from "@misofm/musicos";
|
|
24
24
|
import { normalizeStructTag, normalizeSuiAddress } from "@mysten/sui/utils";
|
|
25
|
+
import { Effect } from "effect";
|
|
26
|
+
import { SuiClient, SuiGraphQL, SuiRpcError } from "@misofm/effect";
|
|
25
27
|
import { getPressingDetail } from "./catalog.js";
|
|
26
28
|
import { int } from "./internal/scalars.js";
|
|
27
29
|
import { requireRecordSalesDeployment } from "../deployments.js";
|
|
30
|
+
import { MalformedRecordSoldEventError, ReceiptNotFoundError, ReleaseNotFoundError, RecordPurchaseNotFoundError } from "../errors.js";
|
|
28
31
|
import { getWorkAddressesByShareTypes } from "./works.js";
|
|
29
32
|
const BPS = 10000n;
|
|
30
33
|
const U64_MAX = (1n << 64n) - 1n;
|
|
@@ -36,9 +39,6 @@ const RECORD_SOLD_EVENT_NAME = "listing::RecordSoldEvent";
|
|
|
36
39
|
* digest the node genuinely doesn't have.
|
|
37
40
|
*/
|
|
38
41
|
const FULLNODE_WAIT_MS = 5_000;
|
|
39
|
-
export class MalformedRecordSoldEventError extends Error {
|
|
40
|
-
name = "MalformedRecordSoldEventError";
|
|
41
|
-
}
|
|
42
42
|
function coerceU64(v) {
|
|
43
43
|
const value = typeof v === "bigint"
|
|
44
44
|
? v
|
|
@@ -190,7 +190,7 @@ export function findRecordSales(events, recordShopPackageId) {
|
|
|
190
190
|
if (!pricing || embeddedCurrency !== currencyType ||
|
|
191
191
|
!validPricingRelationship(purchasePrice, pricing) ||
|
|
192
192
|
s.edition <= 0 || s.number <= 0)
|
|
193
|
-
throw new MalformedRecordSoldEventError("malformed canonical RecordSoldEvent");
|
|
193
|
+
throw new MalformedRecordSoldEventError({ reason: "malformed canonical RecordSoldEvent" });
|
|
194
194
|
sales.push({
|
|
195
195
|
listingId: s.listing_id,
|
|
196
196
|
pressingId: s.pressing_id,
|
|
@@ -212,12 +212,14 @@ export function findRecordSales(events, recordShopPackageId) {
|
|
|
212
212
|
if (e.bcs.length > 0) {
|
|
213
213
|
if (error instanceof MalformedRecordSoldEventError)
|
|
214
214
|
throw error;
|
|
215
|
-
throw new MalformedRecordSoldEventError(
|
|
215
|
+
throw new MalformedRecordSoldEventError({
|
|
216
|
+
reason: `malformed canonical RecordSoldEvent BCS: ${error instanceof Error ? error.message : String(error)}`,
|
|
217
|
+
});
|
|
216
218
|
}
|
|
217
219
|
}
|
|
218
220
|
const fromJson = e.json && saleFromJson(e.json, currencyType);
|
|
219
221
|
if (!fromJson)
|
|
220
|
-
throw new MalformedRecordSoldEventError("malformed canonical RecordSoldEvent JSON");
|
|
222
|
+
throw new MalformedRecordSoldEventError({ reason: "malformed canonical RecordSoldEvent JSON" });
|
|
221
223
|
sales.push(fromJson);
|
|
222
224
|
}
|
|
223
225
|
return sales;
|
|
@@ -228,21 +230,30 @@ export function findRecordSale(events, recordShopPackageId, recordId) {
|
|
|
228
230
|
return sales.find((sale) => normalizeSuiAddress(sale.recordId) === normalizeSuiAddress(recordId)) ?? null;
|
|
229
231
|
}
|
|
230
232
|
/** Every canonical sale, read from the fullnode in event order. */
|
|
231
|
-
|
|
232
|
-
const
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
233
|
+
const salesFromFullnode = Effect.fn("salesFromFullnode")(function* (txDigest, config) {
|
|
234
|
+
const client = yield* SuiClient;
|
|
235
|
+
const result = yield* Effect.tryPromise({
|
|
236
|
+
try: (signal) => client.core.waitForTransaction({
|
|
237
|
+
digest: txDigest,
|
|
238
|
+
include: { events: true },
|
|
239
|
+
timeout: FULLNODE_WAIT_MS,
|
|
240
|
+
signal,
|
|
241
|
+
}),
|
|
242
|
+
catch: (cause) => new SuiRpcError({ operation: "waitForTransaction", cause }),
|
|
236
243
|
});
|
|
237
244
|
if (result.$kind !== "Transaction" || !result.Transaction.status.success) {
|
|
238
|
-
|
|
245
|
+
return yield* new ReceiptNotFoundError({ digest: txDigest });
|
|
239
246
|
}
|
|
240
|
-
const sales = requireRecordSalesDeployment(
|
|
241
|
-
|
|
247
|
+
const sales = requireRecordSalesDeployment(config.recordSales);
|
|
248
|
+
// `findRecordSales` only ever throws `MalformedRecordSoldEventError`.
|
|
249
|
+
const found = yield* Effect.try({
|
|
250
|
+
try: () => findRecordSales(result.Transaction.events, sales.recordShopPackageId),
|
|
251
|
+
catch: (cause) => cause,
|
|
252
|
+
});
|
|
242
253
|
if (found.length === 0)
|
|
243
|
-
|
|
254
|
+
return yield* new RecordPurchaseNotFoundError({ digest: txDigest });
|
|
244
255
|
return found;
|
|
245
|
-
}
|
|
256
|
+
});
|
|
246
257
|
const TX_EVENTS_QUERY = `query TransactionEvents($digest: String!) {
|
|
247
258
|
transaction(digest: $digest) {
|
|
248
259
|
effects {
|
|
@@ -252,19 +263,27 @@ const TX_EVENTS_QUERY = `query TransactionEvents($digest: String!) {
|
|
|
252
263
|
}
|
|
253
264
|
}`;
|
|
254
265
|
/** Every canonical sale, read from the GraphQL indexer in event order. */
|
|
255
|
-
|
|
256
|
-
const
|
|
257
|
-
|
|
258
|
-
|
|
266
|
+
const salesFromIndexer = Effect.fn("salesFromIndexer")(function* (txDigest, config) {
|
|
267
|
+
const client = yield* SuiGraphQL;
|
|
268
|
+
const { data, errors } = yield* Effect.tryPromise({
|
|
269
|
+
try: () => client.query({
|
|
270
|
+
query: TX_EVENTS_QUERY,
|
|
271
|
+
variables: { digest: txDigest },
|
|
272
|
+
}),
|
|
273
|
+
catch: (cause) => new SuiRpcError({ operation: "transactionEvents", cause }),
|
|
259
274
|
});
|
|
260
|
-
if (errors?.length)
|
|
261
|
-
|
|
275
|
+
if (errors?.length) {
|
|
276
|
+
return yield* new SuiRpcError({
|
|
277
|
+
operation: "transactionEvents",
|
|
278
|
+
cause: new AggregateError(errors.map((e) => new Error(e.message)), "Transaction events query failed"),
|
|
279
|
+
});
|
|
280
|
+
}
|
|
262
281
|
const effects = data?.transaction?.effects;
|
|
263
282
|
if (!effects)
|
|
264
|
-
|
|
283
|
+
return yield* new ReceiptNotFoundError({ digest: txDigest });
|
|
265
284
|
if (effects.status !== "SUCCESS")
|
|
266
|
-
|
|
267
|
-
const salesDeployment = requireRecordSalesDeployment(
|
|
285
|
+
return yield* new ReceiptNotFoundError({ digest: txDigest });
|
|
286
|
+
const salesDeployment = requireRecordSalesDeployment(config.recordSales);
|
|
268
287
|
const sales = [];
|
|
269
288
|
for (const node of effects.events?.nodes ?? []) {
|
|
270
289
|
const contents = node.contents;
|
|
@@ -277,20 +296,16 @@ async function salesFromIndexer(client, txDigest) {
|
|
|
277
296
|
? saleFromJson(contents.json, currencyType)
|
|
278
297
|
: null;
|
|
279
298
|
if (!sale)
|
|
280
|
-
|
|
299
|
+
return yield* new MalformedRecordSoldEventError({ digest: txDigest, reason: "malformed canonical RecordSoldEvent JSON" });
|
|
281
300
|
sales.push(sale);
|
|
282
301
|
}
|
|
283
302
|
if (sales.length > 0)
|
|
284
303
|
return sales;
|
|
285
|
-
|
|
286
|
-
}
|
|
287
|
-
|
|
288
|
-
return salesFromFullnode(
|
|
289
|
-
|
|
290
|
-
throw error;
|
|
291
|
-
return salesFromIndexer(client, txDigest);
|
|
292
|
-
});
|
|
293
|
-
}
|
|
304
|
+
return yield* new RecordPurchaseNotFoundError({ digest: txDigest });
|
|
305
|
+
});
|
|
306
|
+
const salesFromChain = Effect.fn("salesFromChain")(function* (txDigest, config) {
|
|
307
|
+
return yield* salesFromFullnode(txDigest, config).pipe(Effect.catchIf((error) => error._tag !== "MalformedRecordSoldEventError", () => salesFromIndexer(txDigest, config)));
|
|
308
|
+
});
|
|
294
309
|
/**
|
|
295
310
|
* Each recording's parent composition royalty rate, in basis points, keyed by
|
|
296
311
|
* recording id.
|
|
@@ -302,11 +317,15 @@ async function salesFromChain(client, txDigest) {
|
|
|
302
317
|
* Best-effort by design: any failure returns the rates resolved so far, and the
|
|
303
318
|
* receipt drops to a track-level breakdown rather than failing the whole page.
|
|
304
319
|
*/
|
|
305
|
-
|
|
320
|
+
const compositionRatesByRecording = Effect.fn("compositionRatesByRecording")(function* (recordingIds, config) {
|
|
306
321
|
if (recordingIds.length === 0)
|
|
307
322
|
return {};
|
|
323
|
+
const client = yield* SuiClient;
|
|
308
324
|
const shareTypeByRecording = {};
|
|
309
|
-
const { objects } =
|
|
325
|
+
const { objects } = yield* Effect.tryPromise({
|
|
326
|
+
try: (signal) => client.core.getObjects({ objectIds: [...new Set(recordingIds)], signal }),
|
|
327
|
+
catch: (cause) => new SuiRpcError({ operation: "getObjects", cause }),
|
|
328
|
+
});
|
|
310
329
|
for (const obj of objects) {
|
|
311
330
|
if (obj instanceof Error || !obj.type)
|
|
312
331
|
continue;
|
|
@@ -321,9 +340,9 @@ async function compositionRatesByRecording(client, recordingIds) {
|
|
|
321
340
|
const shareTypes = Object.values(shareTypeByRecording);
|
|
322
341
|
if (shareTypes.length === 0)
|
|
323
342
|
return {};
|
|
324
|
-
const addresses =
|
|
343
|
+
const addresses = yield* getWorkAddressesByShareTypes({ compositions: shareTypes, recordings: [] }, config.deployment.musicos);
|
|
325
344
|
const compositionIds = Object.values(addresses.compositions).filter((id) => !!id);
|
|
326
|
-
const compositions =
|
|
345
|
+
const compositions = yield* getCompositionsByIds(compositionIds);
|
|
327
346
|
const rates = {};
|
|
328
347
|
for (const [recordingId, shareType] of Object.entries(shareTypeByRecording)) {
|
|
329
348
|
const compositionId = addresses.compositions[shareType];
|
|
@@ -332,7 +351,7 @@ async function compositionRatesByRecording(client, recordingIds) {
|
|
|
332
351
|
rates[recordingId] = int(composition.royaltyRate.value);
|
|
333
352
|
}
|
|
334
353
|
return rates;
|
|
335
|
-
}
|
|
354
|
+
});
|
|
336
355
|
/**
|
|
337
356
|
* Split `paid` across the release's tracks by their `splitBps`, then split each
|
|
338
357
|
* track's share between its composition and its recording. All BigInt — the same
|
|
@@ -357,42 +376,36 @@ export function breakdown(tracks, paid, compositionRates) {
|
|
|
357
376
|
return { ...base, composition: composition.toString(), recording: (amount - composition).toString() };
|
|
358
377
|
});
|
|
359
378
|
}
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
* and Listing; callers cannot accidentally reinterpret a Pressing id as an
|
|
363
|
-
* obsolete sale-object id.
|
|
364
|
-
*
|
|
365
|
-
* The sale identifies the Pressing before its detail is fetched. `null` only when
|
|
366
|
-
* that immutable Pressing cannot be read; it is never superseded or destroyed.
|
|
367
|
-
*/
|
|
368
|
-
async function hydratePurchaseReceipt(client, sale) {
|
|
369
|
-
const detail = await getPressingDetail(client, sale.pressingId);
|
|
379
|
+
const hydratePurchaseReceipt = Effect.fn("hydratePurchaseReceipt")(function* (sale, config) {
|
|
380
|
+
const detail = yield* getPressingDetail(sale.pressingId, config);
|
|
370
381
|
if (!detail)
|
|
371
382
|
return null;
|
|
372
383
|
// Best-effort: a failed composition lookup costs the sub-rows, not the page.
|
|
373
|
-
const rates =
|
|
384
|
+
const rates = yield* compositionRatesByRecording(detail.release.tracks.map((t) => t.recordingId), config).pipe(Effect.catch(() => Effect.succeed({})));
|
|
374
385
|
return {
|
|
375
386
|
sale,
|
|
376
387
|
detail,
|
|
377
388
|
price: sale.pricing.amount,
|
|
378
389
|
tracks: breakdown(detail.release.tracks, sale.purchasePrice, rates),
|
|
379
390
|
};
|
|
380
|
-
}
|
|
391
|
+
});
|
|
381
392
|
/** Read and hydrate every canonical Record sale in transaction event order. */
|
|
382
|
-
export
|
|
383
|
-
const sales =
|
|
384
|
-
const hydrated =
|
|
393
|
+
export const getPurchaseReceipts = Effect.fn("getPurchaseReceipts")(function* (txDigest, config) {
|
|
394
|
+
const sales = yield* salesFromChain(txDigest, config);
|
|
395
|
+
const hydrated = yield* Effect.forEach(sales, (sale) => hydratePurchaseReceipt(sale, config), {
|
|
396
|
+
concurrency: "unbounded",
|
|
397
|
+
});
|
|
385
398
|
if (hydrated.some((receipt) => receipt === null)) {
|
|
386
399
|
throw new Error(`A canonical Record sale in transaction ${txDigest} references an unreadable Pressing`);
|
|
387
400
|
}
|
|
388
401
|
return hydrated;
|
|
389
|
-
}
|
|
402
|
+
});
|
|
390
403
|
/** Read one canonical receipt selected by its Record ID. Selection is mandatory:
|
|
391
404
|
* one transaction may purchase multiple Records from the same Pressing. */
|
|
392
|
-
export
|
|
393
|
-
const sales =
|
|
405
|
+
export const getPurchaseReceipt = Effect.fn("getPurchaseReceipt")(function* (txDigest, recordId, config) {
|
|
406
|
+
const sales = yield* salesFromChain(txDigest, config);
|
|
394
407
|
const wanted = normalizeSuiAddress(recordId);
|
|
395
408
|
const sale = sales.find((candidate) => normalizeSuiAddress(candidate.recordId) === wanted);
|
|
396
|
-
return sale ? hydratePurchaseReceipt(
|
|
397
|
-
}
|
|
409
|
+
return sale ? yield* hydratePurchaseReceipt(sale, config) : null;
|
|
410
|
+
});
|
|
398
411
|
//# sourceMappingURL=receipts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"receipts.js","sourceRoot":"","sources":["../../src/read/receipts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"receipts.js","sourceRoot":"","sources":["../../src/read/receipts.ts"],"names":[],"mappings":"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"}
|
package/dist/read/wallet.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Effect } from "effect";
|
|
2
|
+
import { SuiClient, SuiGraphQL, SuiRpcError, type BcsDecodeError, type ObjectNotFoundError, type ObjectTypeMismatchError } from "@misofm/effect";
|
|
3
|
+
import type { MisoConfig } from "./config.ts";
|
|
2
4
|
import type { Balance, OwnedParty, OwnedRecord, OwnedWork, Ownership, PendingMembership, WorkDetail } from "./types.ts";
|
|
3
5
|
type WorkAdminCapType = {
|
|
4
6
|
kind: "composition";
|
|
@@ -17,14 +19,14 @@ export declare function classifyVaultedWorkAdminCapType(type: string, vaultPacka
|
|
|
17
19
|
* The server-side type filter and exact local check deliberately exclude records
|
|
18
20
|
* from any retired package namespace.
|
|
19
21
|
*/
|
|
20
|
-
export declare
|
|
22
|
+
export declare const getOwnedRecords: (owner: string, config: MisoConfig) => Effect.Effect<OwnedRecord[], SuiRpcError, SuiClient>;
|
|
21
23
|
/**
|
|
22
24
|
* The parties `owner` administers. A wallet "owns" a party iff it holds the
|
|
23
25
|
* party's `PartyAdminCap`, so this is one owned-objects listing filtered to the
|
|
24
26
|
* cap type plus a name resolve. Caps are transferable, which is why this is
|
|
25
27
|
* authoritative in a way that remembering created parties client-side is not.
|
|
26
28
|
*/
|
|
27
|
-
export declare
|
|
29
|
+
export declare const getOwnedParties: (owner: string, config: MisoConfig) => Effect.Effect<OwnedParty[], BcsDecodeError | ObjectTypeMismatchError | SuiRpcError, SuiClient>;
|
|
28
30
|
/**
|
|
29
31
|
* Pending group invitations for every individual party the wallet administers.
|
|
30
32
|
*
|
|
@@ -33,7 +35,7 @@ export declare function getOwnedParties(client: MisoClient, owner: string): Prom
|
|
|
33
35
|
* names are resolved in one batch so the API can render an inbox without extra
|
|
34
36
|
* browser reads.
|
|
35
37
|
*/
|
|
36
|
-
export declare
|
|
38
|
+
export declare const getPendingMemberships: (owner: string, config: MisoConfig) => Effect.Effect<PendingMembership[], BcsDecodeError | ObjectTypeMismatchError | SuiRpcError, SuiClient>;
|
|
37
39
|
/**
|
|
38
40
|
* Every work the wallet administers, keyed by its ADMIN CAP id (the studio
|
|
39
41
|
* catalog's routing unit — caps are what control means here).
|
|
@@ -44,15 +46,15 @@ export declare function getPendingMemberships(client: MisoClient, owner: string)
|
|
|
44
46
|
* the GraphQL hop entirely — `ReleaseAdminCap` is not generic and carries
|
|
45
47
|
* `release_id` directly.
|
|
46
48
|
*/
|
|
47
|
-
export declare
|
|
49
|
+
export declare const getOwnedWorks: (owner: string, config: MisoConfig) => Effect.Effect<OwnedWork[], BcsDecodeError | SuiRpcError, SuiClient | SuiGraphQL>;
|
|
48
50
|
/** Classify a direct or vaulted cap by its on-chain type, then resolve its work. */
|
|
49
|
-
export declare
|
|
51
|
+
export declare const getWorkByCap: (capId: string, config: MisoConfig) => Effect.Effect<WorkDetail | null, BcsDecodeError | ObjectNotFoundError | SuiRpcError, SuiClient | SuiGraphQL>;
|
|
50
52
|
/**
|
|
51
53
|
* A wallet's balance in one currency. Keep the aggregate and both Sui storage
|
|
52
54
|
* classes: callers using a `FundsWithdrawal` must never mistake coin-object
|
|
53
55
|
* value for immediately withdrawable address balance.
|
|
54
56
|
*/
|
|
55
|
-
export declare
|
|
57
|
+
export declare const getBalance: (address: string, config: MisoConfig, coinType?: string | undefined) => Effect.Effect<Balance, SuiRpcError, SuiClient>;
|
|
56
58
|
/**
|
|
57
59
|
* Whether `address` controls a party — i.e. holds its `PartyAdminCap`. The cap is
|
|
58
60
|
* a DERIVED object of the party, so this is one `getObject` on a computed id, no
|
|
@@ -62,13 +64,13 @@ export declare function getBalance(client: MisoClient, address: string, coinType
|
|
|
62
64
|
* A failed read means "can't confirm", which resolves to `false` — the editor
|
|
63
65
|
* stays hidden rather than being offered and then rejected on submit.
|
|
64
66
|
*/
|
|
65
|
-
export declare
|
|
67
|
+
export declare const ownsParty: (address: string, partyId: string, config: MisoConfig) => Effect.Effect<Ownership, never, SuiClient>;
|
|
66
68
|
/**
|
|
67
69
|
* Whether `address` owns a record. Records are address-owned objects, so this is
|
|
68
70
|
* one `getObject` and an owner compare. Presentation gating only — it decides
|
|
69
71
|
* whether the Snapshots tab appears, and a non-owner has no snapshot content to
|
|
70
72
|
* fetch regardless.
|
|
71
73
|
*/
|
|
72
|
-
export declare
|
|
74
|
+
export declare const ownsRecord: (address: string, recordId: string) => Effect.Effect<Ownership, never, SuiClient>;
|
|
73
75
|
export {};
|
|
74
76
|
//# sourceMappingURL=wallet.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/read/wallet.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/read/wallet.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAC;AAUxC,OAAO,EAGL,SAAS,EACT,UAAU,EACV,WAAW,EACX,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC7B,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAM9C,OAAO,KAAK,EACV,OAAO,EACP,UAAU,EACV,WAAW,EACX,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,UAAU,EACX,MAAM,YAAY,CAAC;AAUpB,KAAK,gBAAgB,GACjB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAsDxB,mFAAmF;AACnF,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,GACpB,gBAAgB,GAAG,IAAI,CAmBzB;AA4DD;;;;;GAKG;AACH,eAAO,MAAM,eAAe,6FA0C1B,CAAC;AAIH;;;;;GAKG;AACH,eAAO,MAAM,eAAe,uIA4B1B,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,8IA0BhC,CAAC;AA8GH;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,yHAwDxB,CAAC;AAEH,oFAAoF;AACpF,eAAO,MAAM,YAAY,qJAoGvB,CAAC;AAkCH;;;;GAIG;AACH,eAAO,MAAM,UAAU,wHAyBrB,CAAC;AAWH;;;;;;;;GAQG;AACH,eAAO,MAAM,SAAS,sGAepB,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,UAAU,mFAarB,CAAC"}
|