@pax2pay/model-banking 0.1.259 → 0.1.261

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 (36) hide show
  1. package/CounterBalances/Counterbalance.ts +0 -1
  2. package/Counterbalance2.ts +38 -0
  3. package/Counterbalances2.ts +19 -0
  4. package/Operation/Changes.ts +27 -7
  5. package/Operation/index.ts +3 -0
  6. package/Treasury/Snapshot/Emoney.ts +11 -0
  7. package/Treasury/Snapshot/Fragment.ts +7 -3
  8. package/Treasury/Snapshot/index.ts +2 -0
  9. package/Treasury/index.ts +1 -0
  10. package/dist/CounterBalances/Counterbalance.js.map +1 -1
  11. package/dist/Counterbalance2.d.ts +18 -0
  12. package/dist/Counterbalance2.js +33 -0
  13. package/dist/Counterbalance2.js.map +1 -0
  14. package/dist/Counterbalances2.d.ts +8 -0
  15. package/dist/Counterbalances2.js +16 -0
  16. package/dist/Counterbalances2.js.map +1 -0
  17. package/dist/Operation/Changes.d.ts +8 -5
  18. package/dist/Operation/Changes.js +14 -4
  19. package/dist/Operation/Changes.js.map +1 -1
  20. package/dist/Operation/index.d.ts +3 -0
  21. package/dist/Operation/index.js.map +1 -1
  22. package/dist/Treasury/Snapshot/Emoney.d.ts +10 -0
  23. package/dist/Treasury/Snapshot/Emoney.js +2 -0
  24. package/dist/Treasury/Snapshot/Emoney.js.map +1 -0
  25. package/dist/Treasury/Snapshot/Fragment.d.ts +2 -1
  26. package/dist/Treasury/Snapshot/Fragment.js +2 -1
  27. package/dist/Treasury/Snapshot/Fragment.js.map +1 -1
  28. package/dist/Treasury/Snapshot/index.d.ts +2 -0
  29. package/dist/Treasury/Snapshot/index.js.map +1 -1
  30. package/dist/Treasury/index.d.ts +1 -0
  31. package/dist/Treasury/index.js.map +1 -1
  32. package/dist/pax2pay.d.ts +2 -0
  33. package/dist/pax2pay.js +1 -0
  34. package/dist/pax2pay.js.map +1 -1
  35. package/package.json +1 -1
  36. package/pax2pay.ts +2 -0
@@ -5,7 +5,6 @@ import { Batch } from "../Settlement/Batch"
5
5
  import { Supplier } from "../Supplier"
6
6
 
7
7
  export type Counterbalance = Partial<Record<Counterbalance.Entry, number>>
8
-
9
8
  export namespace Counterbalance {
10
9
  export type Entry = Entry.Internal | Entry.Settlement
11
10
  export namespace Entry {
@@ -0,0 +1,38 @@
1
+ import { isoly } from "isoly"
2
+ import { isly } from "isly"
3
+ import { Supplier } from "./Supplier"
4
+
5
+ export type Counterbalance2 = {
6
+ minted: Partial<Record<Counterbalance2.Source, number>>
7
+ burned: Partial<Record<Counterbalance2.Sink, number>>
8
+ }
9
+ export namespace Counterbalance2 {
10
+ export const sources = [...Supplier.names, "internal"] as const
11
+ export type Source = `${typeof sources[number]}-${string}` // string: fiat account identifier
12
+ export const Source = isly.fromIs<Source>("Source", (value: any | Source) => {
13
+ const result = !value ? false : typeof value == "string" && value.split("-")
14
+ return result && result.length == 2 && sources.includes(result[0] as any) && typeof result[1] == "string"
15
+ })
16
+ export const sinks = [...Supplier.names, "internal"] as const
17
+ export type Sink = `${typeof sinks[number]}-${string}` // string: fiat account identifier
18
+ export const Sink = isly.fromIs<Sink>("Sink", (value: any | Sink) => {
19
+ const result = !value ? false : typeof value == "string" && value.split("-")
20
+ return result && result.length == 2 && sinks.includes(result[0] as any) && typeof result[1] == "string"
21
+ })
22
+ export const type = isly.object<Counterbalance2>({
23
+ minted: isly.record<Counterbalance2["minted"]>(Source, isly.number()),
24
+ burned: isly.record<Counterbalance2["burned"]>(Sink, isly.number()),
25
+ })
26
+ export type Link = Source | Sink
27
+ export const Link = isly.union<Link, Source, Sink>(Source, Sink)
28
+ export function add(currency: isoly.Currency, addendee: Counterbalance2, addend: Counterbalance2): Counterbalance2 {
29
+ const result: Counterbalance2 = { minted: { ...addend.minted }, burned: { ...addend.burned } }
30
+ for (const [source, value] of Object.entries(addendee["minted"]) as [Source, number][]) {
31
+ result["minted"][source] = isoly.Currency.add(currency, value ?? 0, addend["minted"][source] ?? 0)
32
+ }
33
+ for (const [sink, value] of Object.entries(addendee["burned"]) as [Sink, number][]) {
34
+ result["burned"][sink] = isoly.Currency.add(currency, value ?? 0, addend["burned"][sink] ?? 0)
35
+ }
36
+ return result
37
+ }
38
+ }
@@ -0,0 +1,19 @@
1
+ import { isoly } from "isoly"
2
+ import { isly } from "isly"
3
+ import { Counterbalance2 } from "./Counterbalance2"
4
+
5
+ export type Counterbalances2 = Partial<Record<isoly.Currency, Counterbalance2>>
6
+
7
+ export namespace Counterbalances {
8
+ export function add(addendee: Counterbalances2, addend: Counterbalances2): Counterbalances2 {
9
+ const result: Counterbalances2 = {}
10
+ for (const [currency, Counterbalance] of Object.entries(addendee) as [isoly.Currency, Counterbalance2][]) {
11
+ result[currency] = Counterbalance2.add(currency, Counterbalance, addend[currency] ?? { minted: {}, burned: {} })
12
+ }
13
+ return result
14
+ }
15
+ export const type = isly.record<Counterbalances2>(
16
+ isly.fromIs("isoly.Currency", isoly.Currency.is),
17
+ Counterbalance2.type
18
+ )
19
+ }
@@ -1,19 +1,39 @@
1
+ import { isoly } from "isoly"
1
2
  import { isly } from "isly"
2
3
  import { Balances } from "../Balances"
4
+ import { Counterbalance2 } from "../Counterbalance2"
3
5
  import { Counterbalances } from "../CounterBalances"
4
- import { Change as Change } from "./Change"
6
+ import { Change } from "./Change"
5
7
 
6
- export type Changes = Partial<Record<Changes.Entry | Counterbalances.Counterbalance.Entry.Internal, Change>> &
7
- Record<Counterbalances.Counterbalance.Entry.Settlement, Change>
8
+ // TODO: remove old counterbalances
9
+ export type Changes = Partial<Record<Balances.Balance.Entry, Change>> &
10
+ Record<Counterbalances.Counterbalance.Entry.Settlement | Changes.Entry.Counterbalance, Change>
8
11
 
9
12
  export namespace Changes {
10
- export type Entry = Balances.Balance.Entry
11
13
  export namespace Entry {
12
- export const values = [...Balances.Balance.Entry.values, ...Counterbalances.Counterbalance.Entry.values]
13
- export const type = isly.string(values)
14
+ export type Counterbalance = `${Counterbalance2.Link}-${isoly.DateTime}`
15
+ export const Counterbalance = isly.fromIs<Counterbalance>(
16
+ "Changes.Entry.Counterbalance",
17
+ (value: any | Counterbalance) => {
18
+ const result = !value ? false : typeof value == "string" && value.split("-")
19
+ return (
20
+ result && Counterbalance2.Link.is(`${result[0]}-${result[1]}`) && isoly.DateTime.is(result.slice(2).join("-"))
21
+ )
22
+ }
23
+ )
24
+ export function split(counterbalance: Counterbalance): [Counterbalance2.Link, isoly.DateTime] {
25
+ const split = counterbalance.split("-")
26
+ const [supplier, account, hour] = [split[0], split[1], split.slice(2).join("-")]
27
+ return [`${supplier}-${account}` as Counterbalance2.Link, hour]
28
+ }
14
29
  }
30
+ export type Entry = Balances.Balance.Entry | Entry.Counterbalance | Counterbalances.Counterbalance.Entry.Settlement
15
31
  export const type = isly.record<Changes>(
16
- isly.union(Entry.type, Counterbalances.Counterbalance.Entry.type),
32
+ isly.union<Entry, Balances.Balance.Entry, Entry.Counterbalance, Counterbalances.Counterbalance.Entry>(
33
+ Balances.Balance.Entry.type,
34
+ Entry.Counterbalance,
35
+ Counterbalances.Counterbalance.Entry.type
36
+ ),
17
37
  Change.type
18
38
  )
19
39
  export const is = type.is
@@ -19,6 +19,9 @@ export namespace Operation {
19
19
  export const Changes = OperationChanges
20
20
  export namespace Changes {
21
21
  export type Entry = OperationChanges.Entry
22
+ export namespace Entry {
23
+ export type Counterbalance = OperationChanges.Entry.Counterbalance
24
+ }
22
25
  }
23
26
  export const type = OperationCreatable.type.extend<Operation>({
24
27
  transaction: isly.string(),
@@ -0,0 +1,11 @@
1
+ import { isoly } from "isoly"
2
+ import { Balances } from "../../Balances"
3
+ import { Counterbalances2 } from "../../Counterbalances2"
4
+
5
+ export interface Emoney {
6
+ organization: string
7
+ account: string
8
+ timestamp: isoly.DateTime
9
+ balances: Balances
10
+ counterbalances: Counterbalances2
11
+ }
@@ -1,11 +1,12 @@
1
1
  import { isly } from "isly"
2
2
  import { Balances } from "../../Balances"
3
+ import { Counterbalance2 } from "../../Counterbalance2"
3
4
  import { Account } from "../Account"
4
5
  import { Warning } from "./Warning"
5
6
 
6
7
  export interface Fragment {
7
8
  warnings: Warning[]
8
- emoney: Balances.Balance
9
+ emoney: Balances.Balance & Counterbalance2
9
10
  fiat: {
10
11
  safe: number
11
12
  unsafe: number
@@ -15,11 +16,14 @@ export interface Fragment {
15
16
  accounts: Account[]
16
17
  }
17
18
  }
18
-
19
19
  export namespace Fragment {
20
20
  export const type = isly.object<Fragment>({
21
21
  warnings: Warning.type.array(),
22
- emoney: Balances.Balance.type,
22
+ // there is a problem with isly.intersection, but isly.union works for this case
23
+ emoney: isly.union<Fragment["emoney"], Balances.Balance, Counterbalance2>(
24
+ Balances.Balance.type,
25
+ Counterbalance2.type
26
+ ),
23
27
  fiat: isly.object({
24
28
  safe: isly.number(),
25
29
  unsafe: isly.number(),
@@ -1,5 +1,6 @@
1
1
  import { isoly } from "isoly"
2
2
  import { isly } from "isly"
3
+ import { Emoney as SnapshotEmoney } from "./Emoney"
3
4
  import { Fragment as SnapshotFragment } from "./Fragment"
4
5
  import { Warning as SnapshotWarning } from "./Warning"
5
6
 
@@ -10,5 +11,6 @@ export namespace Snapshot {
10
11
  export const Fragment = SnapshotFragment
11
12
  export type Warning = SnapshotWarning
12
13
  export const Warning = SnapshotWarning
14
+ export type Emoney = SnapshotEmoney
13
15
  export const type = isly.record(isly.fromIs("Currency", isoly.Currency.is), Fragment.type)
14
16
  }
package/Treasury/index.ts CHANGED
@@ -22,6 +22,7 @@ export namespace Treasury {
22
22
  export namespace Snapshot {
23
23
  export type Fragment = TreasurySnapshot.Fragment
24
24
  export type Warning = TreasurySnapshot.Warning
25
+ export type Emoney = TreasurySnapshot.Emoney
25
26
  }
26
27
  export namespace Account {
27
28
  export type Creatable = TreasuryAccount.Creatable
@@ -1 +1 @@
1
- {"version":3,"file":"Counterbalance.js","sourceRoot":"../","sources":["CounterBalances/Counterbalance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAItC,MAAM,KAAW,cAAc,CA+B9B;AA/BD,WAAiB,cAAc;IAE9B,IAAiB,KAAK,CAgBrB;IAhBD,WAAiB,KAAK;QAGR,YAAM,GAAG;YACrB,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,CAAU,CAAC;YAC3E,mBAAmB;YACnB,mBAAmB;YACnB,WAAW;SACF,CAAA;QACV,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,MAAA,MAAM,CAAC,CAAA;QACxB,UAAI,GAAG,IAAI,CAAC,KAAK,CAC7B,SAAS,EACT,IAAI,CAAC,MAAM,CAAa,IAAI,MAAM,CAAC,6BAA6B,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAC/F,CAAA;QACY,QAAE,GAAG,MAAA,IAAI,CAAC,EAAE,CAAA;QACZ,UAAI,GAAG,MAAA,IAAI,CAAC,IAAI,CAAA;IAC9B,CAAC,EAhBgB,KAAK,GAAL,oBAAK,KAAL,oBAAK,QAgBrB;IACY,mBAAI,GAAG,IAAI,CAAC,MAAM,CAAiB,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAA;IACxE,iBAAE,GAAG,eAAA,IAAI,CAAC,EAAE,CAAA;IACZ,mBAAI,GAAG,eAAA,IAAI,CAAC,IAAI,CAAA;IAC7B,SAAgB,GAAG,CAAC,QAAwB,EAAE,MAAsB,EAAE,QAAwB;QAC7F,OAAQ,MAAM,CAAC,OAAO,CAAC,MAAM,CAAuB,CAAC,MAAM,CAC1D,CAAC,CAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YACxC,GAAG,CAAC;YACJ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;SACnE,CAAC,EACF,QAAQ,CACR,CAAA;IACF,CAAC;IARe,kBAAG,MAQlB,CAAA;AACF,CAAC,EA/BgB,cAAc,KAAd,cAAc,QA+B9B"}
1
+ {"version":3,"file":"Counterbalance.js","sourceRoot":"../","sources":["CounterBalances/Counterbalance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAGtC,MAAM,KAAW,cAAc,CA+B9B;AA/BD,WAAiB,cAAc;IAE9B,IAAiB,KAAK,CAgBrB;IAhBD,WAAiB,KAAK;QAGR,YAAM,GAAG;YACrB,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,CAAU,CAAC;YAC3E,mBAAmB;YACnB,mBAAmB;YACnB,WAAW;SACF,CAAA;QACV,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,MAAA,MAAM,CAAC,CAAA;QACxB,UAAI,GAAG,IAAI,CAAC,KAAK,CAC7B,SAAS,EACT,IAAI,CAAC,MAAM,CAAa,IAAI,MAAM,CAAC,6BAA6B,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAC/F,CAAA;QACY,QAAE,GAAG,MAAA,IAAI,CAAC,EAAE,CAAA;QACZ,UAAI,GAAG,MAAA,IAAI,CAAC,IAAI,CAAA;IAC9B,CAAC,EAhBgB,KAAK,GAAL,oBAAK,KAAL,oBAAK,QAgBrB;IACY,mBAAI,GAAG,IAAI,CAAC,MAAM,CAAiB,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAA;IACxE,iBAAE,GAAG,eAAA,IAAI,CAAC,EAAE,CAAA;IACZ,mBAAI,GAAG,eAAA,IAAI,CAAC,IAAI,CAAA;IAC7B,SAAgB,GAAG,CAAC,QAAwB,EAAE,MAAsB,EAAE,QAAwB;QAC7F,OAAQ,MAAM,CAAC,OAAO,CAAC,MAAM,CAAuB,CAAC,MAAM,CAC1D,CAAC,CAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YACxC,GAAG,CAAC;YACJ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;SACnE,CAAC,EACF,QAAQ,CACR,CAAA;IACF,CAAC;IARe,kBAAG,MAQlB,CAAA;AACF,CAAC,EA/BgB,cAAc,KAAd,cAAc,QA+B9B"}
@@ -0,0 +1,18 @@
1
+ import { isoly } from "isoly";
2
+ import { isly } from "isly";
3
+ export type Counterbalance2 = {
4
+ minted: Partial<Record<Counterbalance2.Source, number>>;
5
+ burned: Partial<Record<Counterbalance2.Sink, number>>;
6
+ };
7
+ export declare namespace Counterbalance2 {
8
+ const sources: readonly ["paxgiro", "clearbank", "internal"];
9
+ type Source = `${typeof sources[number]}-${string}`;
10
+ const Source: isly.Type<`paxgiro-${string}` | `clearbank-${string}` | `internal-${string}`>;
11
+ const sinks: readonly ["paxgiro", "clearbank", "internal"];
12
+ type Sink = `${typeof sinks[number]}-${string}`;
13
+ const Sink: isly.Type<`paxgiro-${string}` | `clearbank-${string}` | `internal-${string}`>;
14
+ const type: isly.object.ExtendableType<Counterbalance2>;
15
+ type Link = Source | Sink;
16
+ const Link: isly.Type<Link>;
17
+ function add(currency: isoly.Currency, addendee: Counterbalance2, addend: Counterbalance2): Counterbalance2;
18
+ }
@@ -0,0 +1,33 @@
1
+ import { isoly } from "isoly";
2
+ import { isly } from "isly";
3
+ import { Supplier } from "./Supplier";
4
+ export var Counterbalance2;
5
+ (function (Counterbalance2) {
6
+ Counterbalance2.sources = [...Supplier.names, "internal"];
7
+ Counterbalance2.Source = isly.fromIs("Source", (value) => {
8
+ const result = !value ? false : typeof value == "string" && value.split("-");
9
+ return result && result.length == 2 && Counterbalance2.sources.includes(result[0]) && typeof result[1] == "string";
10
+ });
11
+ Counterbalance2.sinks = [...Supplier.names, "internal"];
12
+ Counterbalance2.Sink = isly.fromIs("Sink", (value) => {
13
+ const result = !value ? false : typeof value == "string" && value.split("-");
14
+ return result && result.length == 2 && Counterbalance2.sinks.includes(result[0]) && typeof result[1] == "string";
15
+ });
16
+ Counterbalance2.type = isly.object({
17
+ minted: isly.record(Counterbalance2.Source, isly.number()),
18
+ burned: isly.record(Counterbalance2.Sink, isly.number()),
19
+ });
20
+ Counterbalance2.Link = isly.union(Counterbalance2.Source, Counterbalance2.Sink);
21
+ function add(currency, addendee, addend) {
22
+ const result = { minted: { ...addend.minted }, burned: { ...addend.burned } };
23
+ for (const [source, value] of Object.entries(addendee["minted"])) {
24
+ result["minted"][source] = isoly.Currency.add(currency, value ?? 0, addend["minted"][source] ?? 0);
25
+ }
26
+ for (const [sink, value] of Object.entries(addendee["burned"])) {
27
+ result["burned"][sink] = isoly.Currency.add(currency, value ?? 0, addend["burned"][sink] ?? 0);
28
+ }
29
+ return result;
30
+ }
31
+ Counterbalance2.add = add;
32
+ })(Counterbalance2 || (Counterbalance2 = {}));
33
+ //# sourceMappingURL=Counterbalance2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Counterbalance2.js","sourceRoot":"../","sources":["Counterbalance2.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { isoly } from "isoly";
2
+ import { isly } from "isly";
3
+ import { Counterbalance2 } from "./Counterbalance2";
4
+ export type Counterbalances2 = Partial<Record<isoly.Currency, Counterbalance2>>;
5
+ export declare namespace Counterbalances {
6
+ function add(addendee: Counterbalances2, addend: Counterbalances2): Counterbalances2;
7
+ const type: isly.Type<Partial<Record<"BTN" | "CHE" | "MKD" | "AED" | "AFN" | "ALL" | "AMD" | "ANG" | "AOA" | "ARS" | "AUD" | "AWG" | "AZN" | "BAM" | "BBD" | "BDT" | "BGN" | "BHD" | "BIF" | "BMD" | "BND" | "BOB" | "BOV" | "BRL" | "BSD" | "BWP" | "BYN" | "BZD" | "CAD" | "CDF" | "CHF" | "CHW" | "CLF" | "CLP" | "CNY" | "COP" | "COU" | "CRC" | "CUC" | "CUP" | "CVE" | "CZK" | "DJF" | "DKK" | "DOP" | "DZD" | "EGP" | "ERN" | "ETB" | "EUR" | "FJD" | "FKP" | "GBP" | "GEL" | "GHS" | "GIP" | "GMD" | "GNF" | "GTQ" | "GYD" | "HKD" | "HNL" | "HRK" | "HTG" | "HUF" | "IDR" | "ILS" | "INR" | "IQD" | "IRR" | "ISK" | "JMD" | "JOD" | "JPY" | "KES" | "KGS" | "KHR" | "KMF" | "KPW" | "KRW" | "KWD" | "KYD" | "KZT" | "LAK" | "LBP" | "LKR" | "LRD" | "LSL" | "LYD" | "MAD" | "MDL" | "MGA" | "MMK" | "MNT" | "MOP" | "MRU" | "MUR" | "MVR" | "MWK" | "MXN" | "MXV" | "MYR" | "MZN" | "NAD" | "NGN" | "NIO" | "NOK" | "NPR" | "NZD" | "OMR" | "PAB" | "PEN" | "PGK" | "PHP" | "PKR" | "PLN" | "PYG" | "QAR" | "RON" | "RSD" | "RUB" | "RWF" | "SAR" | "SBD" | "SCR" | "SDG" | "SEK" | "SGD" | "SHP" | "SLL" | "SOS" | "SRD" | "SSP" | "STN" | "SVC" | "SYP" | "SZL" | "THB" | "TJS" | "TMT" | "TND" | "TOP" | "TRY" | "TTD" | "TWD" | "TZS" | "UAH" | "UGX" | "USD" | "USN" | "UYI" | "UYU" | "UYW" | "UZS" | "VES" | "VND" | "VUV" | "WST" | "XAF" | "XAG" | "XAU" | "XBA" | "XBB" | "XBC" | "XBD" | "XCD" | "XDR" | "XOF" | "XPD" | "XPF" | "XPT" | "XSU" | "XTS" | "XUA" | "XXX" | "YER" | "ZAR" | "ZMW" | "ZWL", Counterbalance2>>>;
8
+ }
@@ -0,0 +1,16 @@
1
+ import { isoly } from "isoly";
2
+ import { isly } from "isly";
3
+ import { Counterbalance2 } from "./Counterbalance2";
4
+ export var Counterbalances;
5
+ (function (Counterbalances) {
6
+ function add(addendee, addend) {
7
+ const result = {};
8
+ for (const [currency, Counterbalance] of Object.entries(addendee)) {
9
+ result[currency] = Counterbalance2.add(currency, Counterbalance, addend[currency] ?? { minted: {}, burned: {} });
10
+ }
11
+ return result;
12
+ }
13
+ Counterbalances.add = add;
14
+ Counterbalances.type = isly.record(isly.fromIs("isoly.Currency", isoly.Currency.is), Counterbalance2.type);
15
+ })(Counterbalances || (Counterbalances = {}));
16
+ //# sourceMappingURL=Counterbalances2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Counterbalances2.js","sourceRoot":"../","sources":["Counterbalances2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAInD,MAAM,KAAW,eAAe,CAY/B;AAZD,WAAiB,eAAe;IAC/B,SAAgB,GAAG,CAAC,QAA0B,EAAE,MAAwB;QACvE,MAAM,MAAM,GAAqB,EAAE,CAAA;QACnC,KAAK,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAwC,EAAE,CAAC;YAC1G,MAAM,CAAC,QAAQ,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAA;QACjH,CAAC;QACD,OAAO,MAAM,CAAA;IACd,CAAC;IANe,mBAAG,MAMlB,CAAA;IACY,oBAAI,GAAG,IAAI,CAAC,MAAM,CAC9B,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAChD,eAAe,CAAC,IAAI,CACpB,CAAA;AACF,CAAC,EAZgB,eAAe,KAAf,eAAe,QAY/B"}
@@ -1,14 +1,17 @@
1
+ import { isoly } from "isoly";
1
2
  import { isly } from "isly";
2
3
  import { Balances } from "../Balances";
4
+ import { Counterbalance2 } from "../Counterbalance2";
3
5
  import { Counterbalances } from "../CounterBalances";
4
- import { Change as Change } from "./Change";
5
- export type Changes = Partial<Record<Changes.Entry | Counterbalances.Counterbalance.Entry.Internal, Change>> & Record<Counterbalances.Counterbalance.Entry.Settlement, Change>;
6
+ import { Change } from "./Change";
7
+ export type Changes = Partial<Record<Balances.Balance.Entry, Change>> & Record<Counterbalances.Counterbalance.Entry.Settlement | Changes.Entry.Counterbalance, Change>;
6
8
  export declare namespace Changes {
7
- type Entry = Balances.Balance.Entry;
8
9
  namespace Entry {
9
- const values: ("actual" | "incomingReserved" | "outgoingReserved" | "incoming_paxgiro" | "incoming_clearbank" | "outgoing_paxgiro" | "outgoing_clearbank" | "incoming_internal" | "outgoing_internal" | "fee_other")[];
10
- const type: isly.Type<"actual" | "incomingReserved" | "outgoingReserved" | "incoming_paxgiro" | "incoming_clearbank" | "outgoing_paxgiro" | "outgoing_clearbank" | "incoming_internal" | "outgoing_internal" | "fee_other">;
10
+ type Counterbalance = `${Counterbalance2.Link}-${isoly.DateTime}`;
11
+ const Counterbalance: isly.Type<`paxgiro-${string}-${string}` | `clearbank-${string}-${string}` | `internal-${string}-${string}`>;
12
+ function split(counterbalance: Counterbalance): [Counterbalance2.Link, isoly.DateTime];
11
13
  }
14
+ type Entry = Balances.Balance.Entry | Entry.Counterbalance | Counterbalances.Counterbalance.Entry.Settlement;
12
15
  const type: isly.Type<Changes>;
13
16
  const is: isly.Type.IsFunction<Changes>;
14
17
  const flaw: isly.Type.FlawFunction;
@@ -1,15 +1,25 @@
1
+ import { isoly } from "isoly";
1
2
  import { isly } from "isly";
2
3
  import { Balances } from "../Balances";
4
+ import { Counterbalance2 } from "../Counterbalance2";
3
5
  import { Counterbalances } from "../CounterBalances";
4
- import { Change as Change } from "./Change";
6
+ import { Change } from "./Change";
5
7
  export var Changes;
6
8
  (function (Changes) {
7
9
  let Entry;
8
10
  (function (Entry) {
9
- Entry.values = [...Balances.Balance.Entry.values, ...Counterbalances.Counterbalance.Entry.values];
10
- Entry.type = isly.string(Entry.values);
11
+ Entry.Counterbalance = isly.fromIs("Changes.Entry.Counterbalance", (value) => {
12
+ const result = !value ? false : typeof value == "string" && value.split("-");
13
+ return (result && Counterbalance2.Link.is(`${result[0]}-${result[1]}`) && isoly.DateTime.is(result.slice(2).join("-")));
14
+ });
15
+ function split(counterbalance) {
16
+ const split = counterbalance.split("-");
17
+ const [supplier, account, hour] = [split[0], split[1], split.slice(2).join("-")];
18
+ return [`${supplier}-${account}`, hour];
19
+ }
20
+ Entry.split = split;
11
21
  })(Entry = Changes.Entry || (Changes.Entry = {}));
12
- Changes.type = isly.record(isly.union(Entry.type, Counterbalances.Counterbalance.Entry.type), Change.type);
22
+ Changes.type = isly.record(isly.union(Balances.Balance.Entry.type, Entry.Counterbalance, Counterbalances.Counterbalance.Entry.type), Change.type);
13
23
  Changes.is = Changes.type.is;
14
24
  Changes.flaw = Changes.type.flaw;
15
25
  })(Changes || (Changes = {}));
@@ -1 +1 @@
1
- {"version":3,"file":"Changes.js","sourceRoot":"../","sources":["Operation/Changes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,UAAU,CAAA;AAK3C,MAAM,KAAW,OAAO,CAYvB;AAZD,WAAiB,OAAO;IAEvB,IAAiB,KAAK,CAGrB;IAHD,WAAiB,KAAK;QACR,YAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,eAAe,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAC3F,UAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAA,MAAM,CAAC,CAAA;IACxC,CAAC,EAHgB,KAAK,GAAL,aAAK,KAAL,aAAK,QAGrB;IACY,YAAI,GAAG,IAAI,CAAC,MAAM,CAC9B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,EACjE,MAAM,CAAC,IAAI,CACX,CAAA;IACY,UAAE,GAAG,QAAA,IAAI,CAAC,EAAE,CAAA;IACZ,YAAI,GAAG,QAAA,IAAI,CAAC,IAAI,CAAA;AAC9B,CAAC,EAZgB,OAAO,KAAP,OAAO,QAYvB"}
1
+ {"version":3,"file":"Changes.js","sourceRoot":"../","sources":["Operation/Changes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAMjC,MAAM,KAAW,OAAO,CA6BvB;AA7BD,WAAiB,OAAO;IACvB,IAAiB,KAAK,CAgBrB;IAhBD,WAAiB,KAAK;QAER,oBAAc,GAAG,IAAI,CAAC,MAAM,CACxC,8BAA8B,EAC9B,CAAC,KAA2B,EAAE,EAAE;YAC/B,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC5E,OAAO,CACN,MAAM,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAC9G,CAAA;QACF,CAAC,CACD,CAAA;QACD,SAAgB,KAAK,CAAC,cAA8B;YACnD,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACvC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;YAChF,OAAO,CAAC,GAAG,QAAQ,IAAI,OAAO,EAA0B,EAAE,IAAI,CAAC,CAAA;QAChE,CAAC;QAJe,WAAK,QAIpB,CAAA;IACF,CAAC,EAhBgB,KAAK,GAAL,aAAK,KAAL,aAAK,QAgBrB;IAEY,YAAI,GAAG,IAAI,CAAC,MAAM,CAC9B,IAAI,CAAC,KAAK,CACT,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAC3B,KAAK,CAAC,cAAc,EACpB,eAAe,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CACzC,EACD,MAAM,CAAC,IAAI,CACX,CAAA;IACY,UAAE,GAAG,QAAA,IAAI,CAAC,EAAE,CAAA;IACZ,YAAI,GAAG,QAAA,IAAI,CAAC,IAAI,CAAA;AAC9B,CAAC,EA7BgB,OAAO,KAAP,OAAO,QA6BvB"}
@@ -18,6 +18,9 @@ export declare namespace Operation {
18
18
  const Changes: typeof OperationChanges;
19
19
  namespace Changes {
20
20
  type Entry = OperationChanges.Entry;
21
+ namespace Entry {
22
+ type Counterbalance = OperationChanges.Entry.Counterbalance;
23
+ }
21
24
  }
22
25
  const type: isly.object.ExtendableType<Operation>;
23
26
  const is: isly.Type.IsFunction<Operation>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../","sources":["Operation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,WAAW,CAAA;AACvD,OAAO,EAAE,SAAS,IAAI,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAC7D,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,UAAU,CAAA;AASpD,MAAM,KAAW,SAAS,CA0BzB;AA1BD,WAAiB,SAAS;IACZ,gBAAM,GAAG,eAAe,CAAA;IAExB,mBAAS,GAAG,kBAAkB,CAAA;IAE9B,iBAAO,GAAG,gBAAgB,CAAA;IAI1B,cAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAY;QAC7D,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE;QAC1B,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE;QACtB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzD,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACnC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAClC,CAAC,CAAA;IACW,YAAE,GAAG,UAAA,IAAI,CAAC,EAAE,CAAA;IACZ,cAAI,GAAG,UAAA,IAAI,CAAC,IAAI,CAAA;IAC7B,SAAgB,aAAa,CAAC,WAAmB,EAAE,SAAoB;QACtE,OAAO;YACN,GAAG,SAAS;YACZ,WAAW;YACX,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE;SAC7B,CAAA;IACF,CAAC;IAPe,uBAAa,gBAO5B,CAAA;AACF,CAAC,EA1BgB,SAAS,KAAT,SAAS,QA0BzB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"../","sources":["Operation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,WAAW,CAAA;AACvD,OAAO,EAAE,SAAS,IAAI,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAC7D,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,UAAU,CAAA;AASpD,MAAM,KAAW,SAAS,CA6BzB;AA7BD,WAAiB,SAAS;IACZ,gBAAM,GAAG,eAAe,CAAA;IAExB,mBAAS,GAAG,kBAAkB,CAAA;IAE9B,iBAAO,GAAG,gBAAgB,CAAA;IAO1B,cAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAY;QAC7D,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE;QAC1B,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE;QACtB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzD,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACnC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAClC,CAAC,CAAA;IACW,YAAE,GAAG,UAAA,IAAI,CAAC,EAAE,CAAA;IACZ,cAAI,GAAG,UAAA,IAAI,CAAC,IAAI,CAAA;IAC7B,SAAgB,aAAa,CAAC,WAAmB,EAAE,SAAoB;QACtE,OAAO;YACN,GAAG,SAAS;YACZ,WAAW;YACX,OAAO,EAAE,CAAC;YACV,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE;SAC7B,CAAA;IACF,CAAC;IAPe,uBAAa,gBAO5B,CAAA;AACF,CAAC,EA7BgB,SAAS,KAAT,SAAS,QA6BzB"}
@@ -0,0 +1,10 @@
1
+ import { isoly } from "isoly";
2
+ import { Balances } from "../../Balances";
3
+ import { Counterbalances2 } from "../../Counterbalances2";
4
+ export interface Emoney {
5
+ organization: string;
6
+ account: string;
7
+ timestamp: isoly.DateTime;
8
+ balances: Balances;
9
+ counterbalances: Counterbalances2;
10
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Emoney.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Emoney.js","sourceRoot":"../","sources":["Treasury/Snapshot/Emoney.ts"],"names":[],"mappings":""}
@@ -1,10 +1,11 @@
1
1
  import { isly } from "isly";
2
2
  import { Balances } from "../../Balances";
3
+ import { Counterbalance2 } from "../../Counterbalance2";
3
4
  import { Account } from "../Account";
4
5
  import { Warning } from "./Warning";
5
6
  export interface Fragment {
6
7
  warnings: Warning[];
7
- emoney: Balances.Balance;
8
+ emoney: Balances.Balance & Counterbalance2;
8
9
  fiat: {
9
10
  safe: number;
10
11
  unsafe: number;
@@ -1,12 +1,13 @@
1
1
  import { isly } from "isly";
2
2
  import { Balances } from "../../Balances";
3
+ import { Counterbalance2 } from "../../Counterbalance2";
3
4
  import { Account } from "../Account";
4
5
  import { Warning } from "./Warning";
5
6
  export var Fragment;
6
7
  (function (Fragment) {
7
8
  Fragment.type = isly.object({
8
9
  warnings: Warning.type.array(),
9
- emoney: Balances.Balance.type,
10
+ emoney: isly.union(Balances.Balance.type, Counterbalance2.type),
10
11
  fiat: isly.object({
11
12
  safe: isly.number(),
12
13
  unsafe: isly.number(),
@@ -1 +1 @@
1
- {"version":3,"file":"Fragment.js","sourceRoot":"../","sources":["Treasury/Snapshot/Fragment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAenC,MAAM,KAAW,QAAQ,CAaxB;AAbD,WAAiB,QAAQ;IACX,aAAI,GAAG,IAAI,CAAC,MAAM,CAAW;QACzC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE;QAC9B,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI;QAC7B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;YACjB,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;YACrB,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;YACpB,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;YACpB,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;YACrB,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE;SAC9B,CAAC;KACF,CAAC,CAAA;AACH,CAAC,EAbgB,QAAQ,KAAR,QAAQ,QAaxB"}
1
+ {"version":3,"file":"Fragment.js","sourceRoot":"../","sources":["Treasury/Snapshot/Fragment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAcnC,MAAM,KAAW,QAAQ,CAiBxB;AAjBD,WAAiB,QAAQ;IACX,aAAI,GAAG,IAAI,CAAC,MAAM,CAAW;QACzC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE;QAE9B,MAAM,EAAE,IAAI,CAAC,KAAK,CACjB,QAAQ,CAAC,OAAO,CAAC,IAAI,EACrB,eAAe,CAAC,IAAI,CACpB;QACD,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;YACjB,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;YACrB,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;YACpB,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE;YACpB,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;YACrB,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE;SAC9B,CAAC;KACF,CAAC,CAAA;AACH,CAAC,EAjBgB,QAAQ,KAAR,QAAQ,QAiBxB"}
@@ -1,5 +1,6 @@
1
1
  import { isoly } from "isoly";
2
2
  import { isly } from "isly";
3
+ import { Emoney as SnapshotEmoney } from "./Emoney";
3
4
  import { Fragment as SnapshotFragment } from "./Fragment";
4
5
  import { Warning as SnapshotWarning } from "./Warning";
5
6
  export type Snapshot = Partial<Record<isoly.Currency, Snapshot.Fragment>>;
@@ -8,6 +9,7 @@ export declare namespace Snapshot {
8
9
  const Fragment: typeof SnapshotFragment;
9
10
  type Warning = SnapshotWarning;
10
11
  const Warning: typeof SnapshotWarning;
12
+ type Emoney = SnapshotEmoney;
11
13
  const type: isly.Type<{
12
14
  BTN: any;
13
15
  CHE: any;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../","sources":["Treasury/Snapshot/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,QAAQ,IAAI,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACzD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,WAAW,CAAA;AAItD,MAAM,KAAW,QAAQ,CAMxB;AAND,WAAiB,QAAQ;IAEX,iBAAQ,GAAG,gBAAgB,CAAA;IAE3B,gBAAO,GAAG,eAAe,CAAA;IACzB,aAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,SAAA,QAAQ,CAAC,IAAI,CAAC,CAAA;AAC3F,CAAC,EANgB,QAAQ,KAAR,QAAQ,QAMxB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"../","sources":["Treasury/Snapshot/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,EAAE,QAAQ,IAAI,gBAAgB,EAAE,MAAM,YAAY,CAAA;AACzD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,WAAW,CAAA;AAItD,MAAM,KAAW,QAAQ,CAOxB;AAPD,WAAiB,QAAQ;IAEX,iBAAQ,GAAG,gBAAgB,CAAA;IAE3B,gBAAO,GAAG,eAAe,CAAA;IAEzB,aAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,SAAA,QAAQ,CAAC,IAAI,CAAC,CAAA;AAC3F,CAAC,EAPgB,QAAQ,KAAR,QAAQ,QAOxB"}
@@ -14,6 +14,7 @@ export declare namespace Treasury {
14
14
  namespace Snapshot {
15
15
  type Fragment = TreasurySnapshot.Fragment;
16
16
  type Warning = TreasurySnapshot.Warning;
17
+ type Emoney = TreasurySnapshot.Emoney;
17
18
  }
18
19
  namespace Account {
19
20
  type Creatable = TreasuryAccount.Creatable;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../","sources":["Treasury/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,WAAW,CAAA;AACtD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,WAAW,CAAA;AACtD,OAAO,EAAE,QAAQ,IAAI,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAGzD,MAAM,KAAW,QAAQ,CAgCxB;AAhCD,WAAiB,QAAQ;IACxB,SAAgB,GAAG,CAAC,IAAqB;QACxC,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAA;QAChC,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;QAC1F,OAAO,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAC7B,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EACxG,OAAO,CACP,CAAA;IACF,CAAC;IAPe,YAAG,MAOlB,CAAA;IAIY,gBAAO,GAAG,eAAe,CAAA;IAEzB,iBAAQ,GAAG,gBAAgB,CAAA;IAKxC,IAAiB,OAAO,CAYvB;IAZD,WAAiB,OAAO;QAEV,iBAAS,GAAG,eAAe,CAAC,SAAS,CAAA;QAErC,gBAAQ,GAAG,eAAe,CAAC,QAAQ,CAAA;QAEnC,iBAAS,GAAG,eAAe,CAAC,SAAS,CAAA;QAErC,kBAAU,GAAG,eAAe,CAAC,UAAU,CAAA;QAEvC,gBAAQ,GAAG,eAAe,CAAC,QAAQ,CAAA;QACnC,UAAE,GAAG,eAAe,CAAC,EAAE,CAAA;IACrC,CAAC,EAZgB,OAAO,GAAP,gBAAO,KAAP,gBAAO,QAYvB;AACF,CAAC,EAhCgB,QAAQ,KAAR,QAAQ,QAgCxB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"../","sources":["Treasury/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,WAAW,CAAA;AACtD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,WAAW,CAAA;AACtD,OAAO,EAAE,QAAQ,IAAI,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAGzD,MAAM,KAAW,QAAQ,CAiCxB;AAjCD,WAAiB,QAAQ;IACxB,SAAgB,GAAG,CAAC,IAAqB;QACxC,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAA;QAChC,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;QAC1F,OAAO,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAC7B,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,EACxG,OAAO,CACP,CAAA;IACF,CAAC;IAPe,YAAG,MAOlB,CAAA;IAIY,gBAAO,GAAG,eAAe,CAAA;IAEzB,iBAAQ,GAAG,gBAAgB,CAAA;IAMxC,IAAiB,OAAO,CAYvB;IAZD,WAAiB,OAAO;QAEV,iBAAS,GAAG,eAAe,CAAC,SAAS,CAAA;QAErC,gBAAQ,GAAG,eAAe,CAAC,QAAQ,CAAA;QAEnC,iBAAS,GAAG,eAAe,CAAC,SAAS,CAAA;QAErC,kBAAU,GAAG,eAAe,CAAC,UAAU,CAAA;QAEvC,gBAAQ,GAAG,eAAe,CAAC,QAAQ,CAAA;QACnC,UAAE,GAAG,eAAe,CAAC,EAAE,CAAA;IACrC,CAAC,EAZgB,OAAO,GAAP,gBAAO,KAAP,gBAAO,QAYvB;AACF,CAAC,EAjCgB,QAAQ,KAAR,QAAQ,QAiCxB"}
package/dist/pax2pay.d.ts CHANGED
@@ -16,6 +16,8 @@ export { Merchant } from "./Merchant";
16
16
  export { Rule } from "./Rule";
17
17
  export { Authorization } from "./Authorization";
18
18
  export { Counterbalances } from "./CounterBalances";
19
+ export { Counterbalance2 } from "./Counterbalance2";
20
+ export { Counterbalances2 } from "./Counterbalances2";
19
21
  export { Identifier } from "./Identifier";
20
22
  export { Amount } from "./Amount";
21
23
  export { Amounts } from "./Amounts";
package/dist/pax2pay.js CHANGED
@@ -16,6 +16,7 @@ export { Merchant } from "./Merchant";
16
16
  export { Rule } from "./Rule";
17
17
  export { Authorization } from "./Authorization";
18
18
  export { Counterbalances } from "./CounterBalances";
19
+ export { Counterbalance2 } from "./Counterbalance2";
19
20
  export { Identifier } from "./Identifier";
20
21
  export { Amount } from "./Amount";
21
22
  export { Amounts } from "./Amounts";
@@ -1 +1 @@
1
- {"version":3,"file":"pax2pay.js","sourceRoot":"../","sources":["pax2pay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"pax2pay.js","sourceRoot":"../","sources":["pax2pay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pax2pay/model-banking",
3
- "version": "0.1.259",
3
+ "version": "0.1.261",
4
4
  "description": "Library containing data model types and functions for the Pax2Pay Banking API.",
5
5
  "author": "Pax2Pay Ltd",
6
6
  "license": "MIT",
package/pax2pay.ts CHANGED
@@ -16,6 +16,8 @@ export { Merchant } from "./Merchant"
16
16
  export { Rule } from "./Rule"
17
17
  export { Authorization } from "./Authorization"
18
18
  export { Counterbalances } from "./CounterBalances"
19
+ export { Counterbalance2 } from "./Counterbalance2"
20
+ export { Counterbalances2 } from "./Counterbalances2"
19
21
  export { Identifier } from "./Identifier"
20
22
  export { Amount } from "./Amount"
21
23
  export { Amounts } from "./Amounts"