@cardano-sdk/projection 0.6.2 → 0.6.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/cjs/operators/Mappers/index.d.ts +1 -0
  2. package/dist/cjs/operators/Mappers/index.d.ts.map +1 -1
  3. package/dist/cjs/operators/Mappers/index.js +1 -0
  4. package/dist/cjs/operators/Mappers/index.js.map +1 -1
  5. package/dist/cjs/operators/Mappers/types.d.ts +5 -0
  6. package/dist/cjs/operators/Mappers/types.d.ts.map +1 -0
  7. package/dist/cjs/operators/Mappers/types.js +3 -0
  8. package/dist/cjs/operators/Mappers/types.js.map +1 -0
  9. package/dist/cjs/operators/Mappers/withHandles.d.ts +15 -0
  10. package/dist/cjs/operators/Mappers/withHandles.d.ts.map +1 -0
  11. package/dist/cjs/operators/Mappers/withHandles.js +60 -0
  12. package/dist/cjs/operators/Mappers/withHandles.js.map +1 -0
  13. package/dist/cjs/operators/Mappers/withMint.d.ts +5 -1
  14. package/dist/cjs/operators/Mappers/withMint.d.ts.map +1 -1
  15. package/dist/cjs/operators/Mappers/withMint.js +9 -1
  16. package/dist/cjs/operators/Mappers/withMint.js.map +1 -1
  17. package/dist/cjs/operators/Mappers/withUtxo.d.ts +2 -0
  18. package/dist/cjs/operators/Mappers/withUtxo.d.ts.map +1 -1
  19. package/dist/cjs/operators/Mappers/withUtxo.js +9 -1
  20. package/dist/cjs/operators/Mappers/withUtxo.js.map +1 -1
  21. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  22. package/dist/cjs/types.d.ts +1 -0
  23. package/dist/cjs/types.d.ts.map +1 -1
  24. package/dist/esm/operators/Mappers/index.d.ts +1 -0
  25. package/dist/esm/operators/Mappers/index.d.ts.map +1 -1
  26. package/dist/esm/operators/Mappers/index.js +1 -0
  27. package/dist/esm/operators/Mappers/index.js.map +1 -1
  28. package/dist/esm/operators/Mappers/types.d.ts +5 -0
  29. package/dist/esm/operators/Mappers/types.d.ts.map +1 -0
  30. package/dist/esm/operators/Mappers/types.js +2 -0
  31. package/dist/esm/operators/Mappers/types.js.map +1 -0
  32. package/dist/esm/operators/Mappers/withHandles.d.ts +15 -0
  33. package/dist/esm/operators/Mappers/withHandles.d.ts.map +1 -0
  34. package/dist/esm/operators/Mappers/withHandles.js +56 -0
  35. package/dist/esm/operators/Mappers/withHandles.js.map +1 -0
  36. package/dist/esm/operators/Mappers/withMint.d.ts +5 -1
  37. package/dist/esm/operators/Mappers/withMint.d.ts.map +1 -1
  38. package/dist/esm/operators/Mappers/withMint.js +7 -0
  39. package/dist/esm/operators/Mappers/withMint.js.map +1 -1
  40. package/dist/esm/operators/Mappers/withUtxo.d.ts +2 -0
  41. package/dist/esm/operators/Mappers/withUtxo.d.ts.map +1 -1
  42. package/dist/esm/operators/Mappers/withUtxo.js +7 -0
  43. package/dist/esm/operators/Mappers/withUtxo.js.map +1 -1
  44. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  45. package/dist/esm/types.d.ts +1 -0
  46. package/dist/esm/types.d.ts.map +1 -1
  47. package/package.json +8 -17
@@ -28,4 +28,5 @@ export interface StabilityWindowBuffer {
28
28
  tip$: Observable<Cardano.Block | 'origin'>;
29
29
  tail$: Observable<Cardano.Block | 'origin'>;
30
30
  }
31
+ export declare type BaseProjectionEvent = Omit<RollForwardEvent<BootstrapExtraProps>, 'requestNext'> | Omit<RollBackwardEvent<BootstrapExtraProps & WithBlock>, 'requestNext'> | Omit<ProjectionEvent<{}>, 'requestNext'>;
31
32
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACrG,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,oBAAY,gBAAgB,CAAC,UAAU,GAAG,EAAE,IAAI,UAAU,GAAG,oBAAoB,CAAC;AAElF,oBAAY,iBAAiB,CAAC,UAAU,GAAG,EAAE,IAAI,UAAU,GAAG,qBAAqB,CAAC;AAEpF,oBAAY,iBAAiB,CAAC,qBAAqB,GAAG,EAAE,EAAE,sBAAsB,GAAG,EAAE,IACjF,gBAAgB,CAAC,qBAAqB,CAAC,GACvC,iBAAiB,CAAC,sBAAsB,CAAC,CAAC;AAE9C,oBAAY,sBAAsB,CAAC,qBAAqB,GAAG,EAAE,EAAE,sBAAsB,GAAG,EAAE,IAAI,UAAU,CACtG,iBAAiB,CAAC,qBAAqB,EAAE,sBAAsB,CAAC,CACjE,CAAC;AAEF,oBAAY,oBAAoB,CAC9B,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,yBAAyB,IACvB,CACF,IAAI,EAAE,sBAAsB,CAAC,uBAAuB,EAAE,wBAAwB,CAAC,KAC5E,UAAU,CACb,iBAAiB,CACf,uBAAuB,GAAG,wBAAwB,EAClD,wBAAwB,GAAG,yBAAyB,CACrD,CACF,CAAC;AAEF,oBAAY,SAAS,GAAG,IAAI,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;AAC5D,oBAAY,2BAA2B,CAAC,YAAY,EAAE,aAAa,IAAI,oBAAoB,CACzF,YAAY,EACZ,YAAY,GAAG,SAAS,EACxB,aAAa,EACb,aAAa,CACd,CAAC;AACF,oBAAY,wBAAwB,CAAC,UAAU,IAAI,iBAAiB,CAAC,UAAU,EAAE,UAAU,GAAG,SAAS,CAAC,CAAC;AACzG,oBAAY,6BAA6B,CAAC,UAAU,IAAI,sBAAsB,CAAC,UAAU,EAAE,UAAU,GAAG,SAAS,CAAC,CAAC;AAGnH,oBAAY,iBAAiB,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAC5G,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAChC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AAElC,oBAAY,eAAe,GAAG;IAC5B,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,iBAAiB,EAAE,OAAO,CAAC,cAAc,CAAC;CAC3C,CAAC;AAEF,oBAAY,WAAW,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAA;CAAE,CAAC;AAEvD,oBAAY,iBAAiB,GAAG;IAAE,kBAAkB,EAAE,OAAO,CAAA;CAAE,CAAC;AAEhE,oBAAY,mBAAmB,GAAG,eAAe,GAAG,WAAW,GAAG,iBAAiB,CAAC;AAEpF,oBAAY,eAAe,CAAC,UAAU,GAAG,EAAE,IAAI,wBAAwB,CAAC,mBAAmB,GAAG,UAAU,CAAC,CAAC;AAE1G,oBAAY,kBAAkB,CAAC,YAAY,EAAE,aAAa,GAAG,EAAE,IAAI,2BAA2B,CAC5F,mBAAmB,GAAG,YAAY,EAClC,aAAa,CACd,CAAC;AAYF,MAAM,WAAW,qBAAqB;IAMpC,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC;IAK3C,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC;CAC7C"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export * from './certificates';
2
2
  export * from './withUtxo';
3
3
  export * from './withMint';
4
+ export * from './withHandles';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/operators/Mappers/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/operators/Mappers/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export * from './certificates';
2
2
  export * from './withUtxo';
3
3
  export * from './withMint';
4
+ export * from './withHandles';
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/operators/Mappers/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/operators/Mappers/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { Cardano } from '@cardano-sdk/core';
2
+ export interface FilterByPolicyIds {
3
+ policyIds: Cardano.PolicyId[];
4
+ }
5
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/operators/Mappers/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;CAC/B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/operators/Mappers/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ import { Cardano } from '@cardano-sdk/core';
2
+ import { FilterByPolicyIds } from './types';
3
+ import { ProjectionOperator } from '../../types';
4
+ export interface Handle {
5
+ handle: string;
6
+ latestOwnerAddress: Cardano.PaymentAddress | null;
7
+ assetId: Cardano.AssetId;
8
+ policyId: Cardano.PolicyId;
9
+ datum?: Cardano.Datum;
10
+ }
11
+ export interface WithHandles {
12
+ handles: Handle[];
13
+ }
14
+ export declare const withHandles: <PropsIn>({ policyIds }: FilterByPolicyIds) => ProjectionOperator<PropsIn, WithHandles>;
15
+ //# sourceMappingURL=withHandles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withHandles.d.ts","sourceRoot":"","sources":["../../../../src/operators/Mappers/withHandles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGjD,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,CAAC;IAQf,kBAAkB,EAAE,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAClD,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AA6CD,eAAO,MAAM,WAAW,2BACG,iBAAiB,6CAiBvC,CAAC"}
@@ -0,0 +1,56 @@
1
+ import { Cardano } from '@cardano-sdk/core';
2
+ import { map } from 'rxjs';
3
+ const handleFromAssetId = (assetId) => Buffer.from(Cardano.AssetId.getAssetName(assetId), 'hex').toString('utf8');
4
+ const getOutputHandles = (outputs, policyIds) => {
5
+ const handles = {};
6
+ for (const { address, value, datum } of outputs) {
7
+ if (!value.assets)
8
+ continue;
9
+ for (const [assetId] of value.assets.entries()) {
10
+ const policyId = Cardano.AssetId.getPolicyId(assetId);
11
+ if (!policyIds.includes(policyId))
12
+ continue;
13
+ const handle = handleFromAssetId(assetId);
14
+ handles[handle] = {
15
+ assetId,
16
+ datum,
17
+ handle,
18
+ latestOwnerAddress: address,
19
+ policyId
20
+ };
21
+ }
22
+ }
23
+ return handles;
24
+ };
25
+ const getBurnedHandles = (mint, policyIds) => {
26
+ if (!mint)
27
+ return;
28
+ const handles = {};
29
+ for (const [assetId, quantity] of mint.entries()) {
30
+ if (quantity < 0n) {
31
+ const policyId = Cardano.AssetId.getPolicyId(assetId);
32
+ if (!policyIds.includes(policyId))
33
+ continue;
34
+ const handle = handleFromAssetId(assetId);
35
+ handles[handle] = {
36
+ assetId,
37
+ handle,
38
+ latestOwnerAddress: null,
39
+ policyId
40
+ };
41
+ }
42
+ }
43
+ return handles;
44
+ };
45
+ export const withHandles = ({ policyIds }) => (evt$) => evt$.pipe(map((evt) => {
46
+ const handleMap = evt.block.body.reduce((handles, { body: { outputs, mint } }) => ({
47
+ ...handles,
48
+ ...getOutputHandles(outputs, policyIds),
49
+ ...getBurnedHandles(mint, policyIds)
50
+ }), {});
51
+ return {
52
+ ...evt,
53
+ handles: [...Object.values(handleMap)]
54
+ };
55
+ }));
56
+ //# sourceMappingURL=withHandles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withHandles.js","sourceRoot":"","sources":["../../../../src/operators/Mappers/withHandles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG5C,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAqB3B,MAAM,iBAAiB,GAAG,CAAC,OAAwB,EAAE,EAAE,CACrD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAE7E,MAAM,gBAAgB,GAAG,CAAC,OAAwB,EAAE,SAAyC,EAAE,EAAE;IAC/F,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,KAAK,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,OAAO,EAAE;QAC/C,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,SAAS;QAC5B,KAAK,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE;YAC9C,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACtD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,SAAS;YAC5C,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC1C,OAAO,CAAC,MAAM,CAAC,GAAG;gBAChB,OAAO;gBACP,KAAK;gBACL,MAAM;gBACN,kBAAkB,EAAE,OAAO;gBAC3B,QAAQ;aACT,CAAC;SACH;KACF;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,IAAkC,EAAE,SAAyC,EAAE,EAAE;IACzG,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE;QAEhD,IAAI,QAAQ,GAAG,EAAE,EAAE;YACjB,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACtD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,SAAS;YAC5C,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAC1C,OAAO,CAAC,MAAM,CAAC,GAAG;gBAChB,OAAO;gBACP,MAAM;gBACN,kBAAkB,EAAE,IAAI;gBACxB,QAAQ;aACT,CAAC;SACH;KACF;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GACtB,CAAU,EAAE,SAAS,EAAqB,EAA4C,EAAE,CACxF,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,IAAI,CACP,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;IACV,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CACrC,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACzC,GAAG,OAAO;QACV,GAAG,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC;QACvC,GAAG,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC;KACrC,CAAC,EACF,EAA4B,CAC7B,CAAC;IACF,OAAO;QACL,GAAG,GAAG;QACN,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;KACvC,CAAC;AACJ,CAAC,CAAC,CACH,CAAC"}
@@ -1,11 +1,15 @@
1
1
  import { Cardano } from '@cardano-sdk/core';
2
+ import { FilterByPolicyIds } from './types';
3
+ import { ProjectionOperator } from '../../types';
2
4
  export interface Mint {
3
5
  assetId: Cardano.AssetId;
6
+ policyId: Cardano.PolicyId;
4
7
  quantity: bigint;
5
8
  compactTxId: number;
6
9
  }
7
10
  export interface WithMint {
8
11
  mint: Mint[];
9
12
  }
10
- export declare const withMint: <SourceExtraRollForwardPropsIn extends {}, SourceExtraRollBackwardPropsIn extends import("../..").WithBlock>() => import("../..").ExtChainSyncOperator<SourceExtraRollForwardPropsIn, SourceExtraRollBackwardPropsIn, WithMint, WithMint>;
13
+ export declare const withMint: <SourceExtraRollForwardPropsIn extends {}, SourceExtraRollBackwardPropsIn extends import("../../types").WithBlock>() => import("../../types").ExtChainSyncOperator<SourceExtraRollForwardPropsIn, SourceExtraRollBackwardPropsIn, WithMint, WithMint>;
14
+ export declare const filterMintByPolicyIds: <PropsIn extends WithMint>({ policyIds }: FilterByPolicyIds) => ProjectionOperator<PropsIn, {}>;
11
15
  //# sourceMappingURL=withMint.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"withMint.d.ts","sourceRoot":"","sources":["../../../../src/operators/Mappers/withMint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAI5C,MAAM,WAAW,IAAI;IACnB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,IAAI,EAAE,CAAC;CACd;AAED,eAAO,MAAM,QAAQ,2OAWlB,CAAC"}
1
+ {"version":3,"file":"withMint.d.ts","sourceRoot":"","sources":["../../../../src/operators/Mappers/withMint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAKjD,MAAM,WAAW,IAAI;IACnB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,IAAI,EAAE,CAAC;CACd;AAED,eAAO,MAAM,QAAQ,uPAYlB,CAAC;AAEJ,eAAO,MAAM,qBAAqB,4CACU,iBAAiB,oCAOxD,CAAC"}
@@ -1,11 +1,18 @@
1
+ import { Cardano } from '@cardano-sdk/core';
1
2
  import { computeCompactTxId } from './util';
3
+ import { map } from 'rxjs';
2
4
  import { unifiedProjectorOperator } from '../utils';
3
5
  export const withMint = unifiedProjectorOperator((evt) => ({
4
6
  ...evt,
5
7
  mint: evt.block.body.flatMap(({ body: { mint } }, txIndex) => [...(mint?.entries() || [])].map(([assetId, quantity]) => ({
6
8
  assetId,
7
9
  compactTxId: computeCompactTxId(evt.block.header.blockNo, txIndex),
10
+ policyId: Cardano.AssetId.getPolicyId(assetId),
8
11
  quantity
9
12
  })))
10
13
  }));
14
+ export const filterMintByPolicyIds = ({ policyIds }) => (evt$) => evt$.pipe(map((evt) => ({
15
+ ...evt,
16
+ mint: evt.mint.filter(({ policyId }) => policyIds.includes(policyId))
17
+ })));
11
18
  //# sourceMappingURL=withMint.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"withMint.js","sourceRoot":"","sources":["../../../../src/operators/Mappers/withMint.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAYpD,MAAM,CAAC,MAAM,QAAQ,GAAG,wBAAwB,CAAe,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACvE,GAAG,GAAG;IACN,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAC3D,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAC9B,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAQ,EAAE,CAAC,CAAC;QAC9B,OAAO;QACP,WAAW,EAAE,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC;QAClE,QAAQ;KACT,CAAC,CACH,CACF;CACF,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"withMint.js","sourceRoot":"","sources":["../../../../src/operators/Mappers/withMint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAC3B,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAapD,MAAM,CAAC,MAAM,QAAQ,GAAG,wBAAwB,CAAe,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACvE,GAAG,GAAG;IACN,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAC3D,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAC9B,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAQ,EAAE,CAAC,CAAC;QAC9B,OAAO;QACP,WAAW,EAAE,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC;QAClE,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC;QAC9C,QAAQ;KACT,CAAC,CACH,CACF;CACF,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,qBAAqB,GAChC,CAA2B,EAAE,SAAS,EAAqB,EAA+B,EAAE,CAC5F,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,IAAI,CACP,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACZ,GAAG,GAAG;IACN,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;CACtE,CAAC,CAAC,CACJ,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { Cardano } from '@cardano-sdk/core';
2
+ import { FilterByPolicyIds } from './types';
2
3
  import { ProjectionOperator } from '../../types';
3
4
  export interface WithUtxo {
4
5
  utxo: {
@@ -11,4 +12,5 @@ export interface FilterByPaymentAddresses {
11
12
  addresses: Cardano.PaymentAddress[];
12
13
  }
13
14
  export declare const filterProducedUtxoByAddresses: <PropsIn extends WithUtxo>({ addresses }: FilterByPaymentAddresses) => ProjectionOperator<PropsIn, {}>;
15
+ export declare const filterProducedUtxoByAssetPolicyId: <PropsIn extends WithUtxo>({ policyIds }: FilterByPolicyIds) => ProjectionOperator<PropsIn, {}>;
14
16
  //# sourceMappingURL=withUtxo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"withUtxo.d.ts","sourceRoot":"","sources":["../../../../src/operators/Mappers/withUtxo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAIjD,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE;QACJ,QAAQ,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAI/C,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;KAC1B,CAAC;CACH;AAED,eAAO,MAAM,QAAQ,uPAgBnB,CAAC;AAEH,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC;CACrC;AAED,eAAO,MAAM,6BAA6B,4CACE,wBAAwB,oCAO/D,CAAC"}
1
+ {"version":3,"file":"withUtxo.d.ts","sourceRoot":"","sources":["../../../../src/operators/Mappers/withUtxo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAIjD,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE;QACJ,QAAQ,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAI/C,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;KAC1B,CAAC;CACH;AAED,eAAO,MAAM,QAAQ,uPAgBnB,CAAC;AAEH,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC;CACrC;AAED,eAAO,MAAM,6BAA6B,4CACE,wBAAwB,oCAO/D,CAAC;AAEN,eAAO,MAAM,iCAAiC,4CACF,iBAAiB,oCAcxD,CAAC"}
@@ -16,4 +16,11 @@ export const filterProducedUtxoByAddresses = ({ addresses }) => (evt$) => evt$.p
16
16
  ...evt,
17
17
  utxo: { ...evt.utxo, produced: evt.utxo.produced.filter(([_, { address }]) => addresses.includes(address)) }
18
18
  })));
19
+ export const filterProducedUtxoByAssetPolicyId = ({ policyIds }) => (evt$) => evt$.pipe(map((evt) => ({
20
+ ...evt,
21
+ utxo: {
22
+ ...evt.utxo,
23
+ produced: evt.utxo.produced.filter(([_, { value }]) => [...(value.assets?.entries() || [])].some(([assetId]) => policyIds.includes(Cardano.AssetId.getPolicyId(assetId))))
24
+ }
25
+ })));
19
26
  //# sourceMappingURL=withUtxo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"withUtxo.js","sourceRoot":"","sources":["../../../../src/operators/Mappers/withUtxo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAC3B,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAYpD,MAAM,CAAC,MAAM,QAAQ,GAAG,wBAAwB,CAAe,CAAC,GAAG,EAAE,EAAE;IACrE,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,EAAE,CACnG,CAAC,WAAW,KAAK,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CACrG,CAAC,KAAK,EAAE,WAAW,EAAiC,EAAE,CAAC;QACrD;YACE,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,EAAE;SACT;QACD,KAAK;KACN,CACF,CACF,CAAC;IACF,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CACzF,WAAW,KAAK,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CACxE,CAAC;IACF,OAAO,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC;AAClD,CAAC,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,6BAA6B,GACxC,CAA2B,EAAE,SAAS,EAA4B,EAA+B,EAAE,CACnG,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,IAAI,CACP,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACZ,GAAG,GAAG;IACN,IAAI,EAAE,EAAE,GAAG,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE;CAC7G,CAAC,CAAC,CACJ,CAAC"}
1
+ {"version":3,"file":"withUtxo.js","sourceRoot":"","sources":["../../../../src/operators/Mappers/withUtxo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG5C,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAC3B,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAYpD,MAAM,CAAC,MAAM,QAAQ,GAAG,wBAAwB,CAAe,CAAC,GAAG,EAAE,EAAE;IACrE,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,EAAE,CACnG,CAAC,WAAW,KAAK,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CACrG,CAAC,KAAK,EAAE,WAAW,EAAiC,EAAE,CAAC;QACrD;YACE,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,EAAE;SACT;QACD,KAAK;KACN,CACF,CACF,CAAC;IACF,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CACzF,WAAW,KAAK,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,IAAI,EAAE,CACxE,CAAC;IACF,OAAO,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC;AAClD,CAAC,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,6BAA6B,GACxC,CAA2B,EAAE,SAAS,EAA4B,EAA+B,EAAE,CACnG,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,IAAI,CACP,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACZ,GAAG,GAAG;IACN,IAAI,EAAE,EAAE,GAAG,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE;CAC7G,CAAC,CAAC,CACJ,CAAC;AAEN,MAAM,CAAC,MAAM,iCAAiC,GAC5C,CAA2B,EAAE,SAAS,EAAqB,EAA+B,EAAE,CAC5F,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,IAAI,CACP,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACZ,GAAG,GAAG;IACN,IAAI,EAAE;QACJ,GAAG,GAAG,CAAC,IAAI;QACX,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CACpD,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,CACtD,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CACzD,CACF;KACF;CACF,CAAC,CAAC,CACJ,CAAC"}