@pax2pay/model-banking 0.1.367 → 0.1.369

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/Balance.ts +11 -0
  2. package/Counterbalance.ts +2 -0
  3. package/Operation/Changes.ts +14 -2
  4. package/Operation/Creatable.ts +30 -3
  5. package/Operation/index.ts +4 -8
  6. package/Rail/Address/Card.ts +1 -1
  7. package/Rail/Address/internal.ts +4 -0
  8. package/Rule/State/Transaction.ts +9 -2
  9. package/Rule/State/index.ts +4 -3
  10. package/Transaction/Note.ts +2 -2
  11. package/Treasury/Snapshot/Warning/Counterbalance.ts +17 -0
  12. package/Treasury/Snapshot/Warning/index.ts +10 -3
  13. package/dist/Balance.d.ts +1 -0
  14. package/dist/Balance.js +12 -0
  15. package/dist/Balance.js.map +1 -1
  16. package/dist/Counterbalance.d.ts +1 -0
  17. package/dist/Counterbalance.js +1 -0
  18. package/dist/Counterbalance.js.map +1 -1
  19. package/dist/Operation/Changes.d.ts +5 -0
  20. package/dist/Operation/Changes.js +12 -2
  21. package/dist/Operation/Changes.js.map +1 -1
  22. package/dist/Operation/Creatable.d.ts +1 -1
  23. package/dist/Operation/Creatable.js +25 -3
  24. package/dist/Operation/Creatable.js.map +1 -1
  25. package/dist/Operation/index.d.ts +3 -2
  26. package/dist/Operation/index.js +3 -6
  27. package/dist/Operation/index.js.map +1 -1
  28. package/dist/Rail/Address/Card.d.ts +1 -1
  29. package/dist/Rail/Address/internal.d.ts +2 -0
  30. package/dist/Rail/Address/internal.js +4 -0
  31. package/dist/Rail/Address/internal.js.map +1 -1
  32. package/dist/Rule/State/Transaction.d.ts +6 -2
  33. package/dist/Rule/State/Transaction.js +3 -1
  34. package/dist/Rule/State/Transaction.js.map +1 -1
  35. package/dist/Rule/State/index.d.ts +5 -2
  36. package/dist/Rule/State/index.js +1 -1
  37. package/dist/Rule/State/index.js.map +1 -1
  38. package/dist/Transaction/Note.d.ts +1 -1
  39. package/dist/Transaction/Note.js +1 -2
  40. package/dist/Transaction/Note.js.map +1 -1
  41. package/dist/Treasury/Snapshot/Warning/Counterbalance.d.ts +11 -0
  42. package/dist/Treasury/Snapshot/Warning/Counterbalance.js +11 -0
  43. package/dist/Treasury/Snapshot/Warning/Counterbalance.js.map +1 -0
  44. package/dist/Treasury/Snapshot/Warning/index.d.ts +4 -2
  45. package/dist/Treasury/Snapshot/Warning/index.js +4 -2
  46. package/dist/Treasury/Snapshot/Warning/index.js.map +1 -1
  47. package/package.json +1 -1
package/Balance.ts CHANGED
@@ -64,4 +64,15 @@ export namespace Balance {
64
64
  const reserved = computeReserved(currency, balance)[1]
65
65
  return [currency, isoly.Currency.add(currency, balance.available ?? 0, reserved)]
66
66
  }
67
+ export function add(addendee: Extended, addend: Extended, currency: isoly.Currency): Extended {
68
+ const updated = [update(currency, addendee), update(currency, addend)]
69
+ return update(currency, {
70
+ available: isoly.Currency.add(currency, updated[0].available ?? 0, updated[1].available ?? 0),
71
+ reserved: {
72
+ buffer: isoly.Currency.add(currency, updated[0].reserved?.buffer ?? 0, updated[1].reserved?.buffer ?? 0),
73
+ incoming: isoly.Currency.add(currency, updated[0].reserved?.incoming ?? 0, updated[1].reserved?.incoming ?? 0),
74
+ outgoing: isoly.Currency.add(currency, updated[0].reserved?.outgoing ?? 0, updated[1].reserved?.outgoing ?? 0),
75
+ },
76
+ })
77
+ }
67
78
  }
package/Counterbalance.ts CHANGED
@@ -4,6 +4,7 @@ import { isly } from "isly"
4
4
  export type Counterbalance = {
5
5
  minted: Partial<Record<Counterbalance.Source, number>>
6
6
  burned: Partial<Record<Counterbalance.Sink, number>>
7
+ internal?: Partial<Record<string, number>>
7
8
  }
8
9
  export namespace Counterbalance {
9
10
  export type Source = string
@@ -13,6 +14,7 @@ export namespace Counterbalance {
13
14
  export const type = isly.object<Counterbalance>({
14
15
  minted: isly.record<Counterbalance["minted"]>(Source, isly.number()),
15
16
  burned: isly.record<Counterbalance["burned"]>(Sink, isly.number()),
17
+ internal: isly.record<Required<Counterbalance>["internal"]>(isly.string(), isly.number()).optional(),
16
18
  })
17
19
  export type Link = Source | Sink
18
20
  export const Link = isly.string()
@@ -60,8 +60,8 @@ export namespace Changes {
60
60
  export type Counterbalance = `${CounterbalanceOperation.Link}-${isoly.DateTime}`
61
61
  export function split(counterbalance: Counterbalance): [CounterbalanceOperation.Link, isoly.DateTime] {
62
62
  const split = counterbalance.split("-")
63
- const [realm, supplier, account, hour] = [split[0], split[1], split[2], split.slice(3).join("-")]
64
- return [`${realm}-${supplier}-${account}`, hour]
63
+ const hour = split.splice(-3, split.length - 1).join("-")
64
+ return [split.join("-"), hour]
65
65
  }
66
66
  export type Balance = typeof Balance.values[number]
67
67
  export namespace Balance {
@@ -69,4 +69,16 @@ export namespace Changes {
69
69
  export const type = isly.string<Balance>(values)
70
70
  }
71
71
  }
72
+ export function fromCapture(
73
+ settlement: string | undefined, // FIXME: remove | undefined when we're sure we send the id
74
+ amounts: { net: number; fee: number; charge?: number }
75
+ ): Changes {
76
+ return {
77
+ [`${settlement}-net`]: { type: "add" as const, amount: amounts.net, status: "pending" as const },
78
+ [`${settlement}-fee`]: { type: "add" as const, amount: amounts.fee, status: "pending" as const },
79
+ ...(amounts.charge && {
80
+ [`${settlement}-charge`]: { type: "add" as const, amount: amounts.charge, status: "pending" as const },
81
+ }),
82
+ }
83
+ }
72
84
  }
@@ -38,11 +38,16 @@ export namespace Creatable {
38
38
  })
39
39
  export const is = type.is
40
40
  export const flaw = type.flaw
41
- export function fromRefund(account: string, entry: Settlement.Entry.Refund.Creatable, charge: number): Creatable {
41
+ export function fromRefund(
42
+ account: string,
43
+ settlement: string,
44
+ entry: Settlement.Entry.Refund.Creatable,
45
+ charge: number
46
+ ): Creatable {
42
47
  // The Entry.Refund.Creatable has negative amount and fee
43
48
  // The operation amounts should always be positive
44
49
  const [currency, entryAmount] = entry.amount
45
- const operationAmount = Math.abs(entryAmount)
50
+ const operationNet = Math.abs(entryAmount)
46
51
  const operationFee = Math.abs(entry.fee.other[currency] ?? 0)
47
52
  return {
48
53
  account: account,
@@ -51,9 +56,31 @@ export namespace Creatable {
51
56
  changes: {
52
57
  incomingReserved: {
53
58
  type: "add",
54
- amount: isoly.Currency.add(currency, operationAmount, operationFee),
59
+ amount: isoly.Currency.add(currency, operationNet, operationFee),
55
60
  status: "pending",
56
61
  },
62
+ [`${settlement}-net`]: {
63
+ type: "subtract" as const,
64
+ amount: operationNet,
65
+ status: "pending" as const,
66
+ },
67
+ [`${settlement}-fee`]: {
68
+ type: "subtract" as const,
69
+ amount: operationFee,
70
+ status: "pending" as const,
71
+ },
72
+ ...(charge > 0 && {
73
+ [`${settlement}-charge`]: {
74
+ type: "add" as const,
75
+ amount: charge,
76
+ status: "pending" as const,
77
+ },
78
+ available: {
79
+ type: "subtract" as const,
80
+ amount: charge,
81
+ status: "pending" as const,
82
+ },
83
+ }),
57
84
  },
58
85
  }
59
86
  }
@@ -1,5 +1,6 @@
1
1
  import { isoly } from "isoly"
2
2
  import { isly } from "isly"
3
+ import { Change as OperationChange } from "./Change"
3
4
  import { Changes as OperationChanges } from "./Changes"
4
5
  import { Creatable as OperationCreatable } from "./Creatable"
5
6
  import { Signer as OperationSigner } from "./Signer"
@@ -30,9 +31,9 @@ export namespace Operation {
30
31
  return result
31
32
  }
32
33
  export const Signer = OperationSigner
33
- export type Creatable = OperationCreatable
34
- export const Creatable = OperationCreatable
34
+ export import Creatable = OperationCreatable
35
35
  export import Changes = OperationChanges
36
+ export import Change = OperationChange
36
37
  export const type = OperationCreatable.type.extend<Operation>({
37
38
  transaction: isly.string(),
38
39
  counter: isly.number(),
@@ -43,11 +44,6 @@ export namespace Operation {
43
44
  export const is = type.is
44
45
  export const flaw = type.flaw
45
46
  export function fromCreatable(transaction: string, creatable: Creatable): Operation {
46
- return {
47
- ...creatable,
48
- transaction,
49
- counter: 0,
50
- created: isoly.DateTime.now(),
51
- }
47
+ return { ...creatable, transaction, counter: 0, created: isoly.DateTime.now() }
52
48
  }
53
49
  }
@@ -2,7 +2,7 @@ import { isly } from "isly"
2
2
  import { Acquirer } from "../../Acquirer"
3
3
  import { Card as ModelCard } from "../../Card"
4
4
  import { Merchant } from "../../Merchant"
5
- import { Rule } from "../../Rule"
5
+ import type { Rule } from "../../Rule"
6
6
 
7
7
  export interface Card {
8
8
  type: "card"
@@ -1,5 +1,6 @@
1
1
  import { cryptly } from "cryptly"
2
2
  import { isly } from "isly"
3
+ import { Realm } from "../../Realm"
3
4
 
4
5
  export interface Internal {
5
6
  type: "internal"
@@ -17,4 +18,7 @@ export namespace Internal {
17
18
  })
18
19
  export const is = type.is
19
20
  export const flaw = type.flaw
21
+ export function toLink(internal: Internal, realm: Realm): string {
22
+ return `${realm}-internal-${internal.identifier}`
23
+ }
20
24
  }
@@ -1,20 +1,27 @@
1
1
  import { isoly } from "isoly"
2
- import type { Transaction as ModelTransaction } from "../../Transaction"
2
+ import type { Address } from "../../Rail/Address"
3
+ import { Transaction as ModelTransaction } from "../../Transaction"
3
4
  import { Rule } from "../Rule"
4
5
 
5
6
  export interface Transaction extends Omit<ModelTransaction.Creatable, "currency" | "amount"> {
6
7
  kind: Rule.Base.Kind
7
8
  amount: number
9
+ type: ModelTransaction.Types
8
10
  fee?: number
9
11
  risk?: number
10
12
  original: { currency: isoly.Currency; amount: number }
11
13
  }
12
14
  export namespace Transaction {
13
- export function from(transaction: ModelTransaction.Creatable, kind: Rule.Base.Kind): Transaction {
15
+ export function from(
16
+ accountName: string,
17
+ transaction: ModelTransaction.Creatable & { counterpart: Address },
18
+ kind: Rule.Base.Kind
19
+ ): Transaction {
14
20
  return {
15
21
  ...transaction,
16
22
  kind,
17
23
  amount: Math.abs(transaction.amount),
24
+ type: ModelTransaction.getType(transaction.counterpart, accountName),
18
25
  original: { currency: transaction.currency, amount: Math.abs(transaction.amount) },
19
26
  }
20
27
  }
@@ -1,6 +1,7 @@
1
1
  import { isly } from "isly"
2
2
  import { Account as ModelAccount } from "../../Account"
3
- import { Transaction as ModelTransaction } from "../../Transaction"
3
+ import type { Address } from "../../Rail/Address"
4
+ import type { Transaction as ModelTransaction } from "../../Transaction"
4
5
  import { Rule } from "../Rule"
5
6
  import { Account as StateAccount } from "./Account"
6
7
  import { Authorization as StateAuthorization } from "./Authorization"
@@ -42,7 +43,7 @@ export namespace State {
42
43
  account: ModelAccount,
43
44
  transactions: Account.Transactions,
44
45
  days: Account.Days,
45
- transaction: ModelTransaction.Creatable,
46
+ transaction: ModelTransaction.Creatable & { counterpart: Address },
46
47
  kind: Rule.Base.Kind,
47
48
  authorization?: Authorization,
48
49
  card?: Card,
@@ -51,7 +52,7 @@ export namespace State {
51
52
  return {
52
53
  data,
53
54
  account: Account.from(account, transactions, days),
54
- transaction: Transaction.from(transaction, kind),
55
+ transaction: Transaction.from(account.name, transaction, kind),
55
56
  authorization,
56
57
  card,
57
58
  organization,
@@ -1,6 +1,6 @@
1
1
  import { isoly } from "isoly"
2
2
  import { isly } from "isly"
3
- import { Rule } from "../Rule"
3
+ import type { Rule } from "../Rule"
4
4
 
5
5
  export interface Note extends Note.Creatable {
6
6
  author: string
@@ -22,7 +22,7 @@ export namespace Note {
22
22
  text: isly.string().optional(),
23
23
  action: isly.string(["approve", "reject"]).optional(),
24
24
  flags: isly.string().array().optional(),
25
- rule: Rule.type.optional(),
25
+ rule: isly.any().optional(),
26
26
  })
27
27
  export const is = type.is
28
28
  }
@@ -0,0 +1,17 @@
1
+ import { isoly } from "isoly"
2
+ import { isly } from "isly"
3
+
4
+ export interface Counterbalance {
5
+ type: "counterbalance"
6
+ account: string
7
+ currency: isoly.Currency
8
+ counterbalance: string[]
9
+ }
10
+ export namespace Counterbalance {
11
+ export const type = isly.object<Counterbalance>({
12
+ type: isly.string("counterbalance"),
13
+ account: isly.string(),
14
+ currency: isly.string(),
15
+ counterbalance: isly.string().array(),
16
+ })
17
+ }
@@ -1,13 +1,20 @@
1
1
  import { isly } from "isly"
2
2
  import { Buffer as WarningBuffer } from "./Buffer"
3
+ import { Counterbalance as WarningCounterbalance } from "./Counterbalance"
3
4
  import { Overdraft as WarningOverdraft } from "./Overdraft"
4
5
  import { Unguarded as WarningUnguarded } from "./Unguarded"
5
6
 
6
- export type Warning = Warning.Overdraft | Warning.Unguarded | Warning.Buffer
7
+ export type Warning = Warning.Overdraft | Warning.Unguarded | Warning.Buffer | Warning.Counterbalance
7
8
 
8
9
  export namespace Warning {
10
+ export import Buffer = WarningBuffer
11
+ export import Counterbalance = WarningCounterbalance
9
12
  export import Overdraft = WarningOverdraft
10
13
  export import Unguarded = WarningUnguarded
11
- export import Buffer = WarningBuffer
12
- export const type = isly.union<Warning, Overdraft, Unguarded, Buffer>(Overdraft.type, Unguarded.type, Buffer.type)
14
+ export const type = isly.union<Warning, Overdraft, Unguarded, Buffer, Counterbalance>(
15
+ Overdraft.type,
16
+ Unguarded.type,
17
+ Buffer.type,
18
+ Counterbalance.type
19
+ )
13
20
  }
package/dist/Balance.d.ts CHANGED
@@ -31,4 +31,5 @@ export declare namespace Balance {
31
31
  function update(currency: isoly.Currency, balance: MaybeLegacy): Extended;
32
32
  function computeReserved(currency: isoly.Currency, balance: Balance): Amount;
33
33
  function computeActual(currency: isoly.Currency, balance: Balance): Amount;
34
+ function add(addendee: Extended, addend: Extended, currency: isoly.Currency): Extended;
34
35
  }
package/dist/Balance.js CHANGED
@@ -57,5 +57,17 @@ export var Balance;
57
57
  return [currency, isoly.Currency.add(currency, balance.available ?? 0, reserved)];
58
58
  }
59
59
  Balance.computeActual = computeActual;
60
+ function add(addendee, addend, currency) {
61
+ const updated = [update(currency, addendee), update(currency, addend)];
62
+ return update(currency, {
63
+ available: isoly.Currency.add(currency, updated[0].available ?? 0, updated[1].available ?? 0),
64
+ reserved: {
65
+ buffer: isoly.Currency.add(currency, updated[0].reserved?.buffer ?? 0, updated[1].reserved?.buffer ?? 0),
66
+ incoming: isoly.Currency.add(currency, updated[0].reserved?.incoming ?? 0, updated[1].reserved?.incoming ?? 0),
67
+ outgoing: isoly.Currency.add(currency, updated[0].reserved?.outgoing ?? 0, updated[1].reserved?.outgoing ?? 0),
68
+ },
69
+ });
70
+ }
71
+ Balance.add = add;
60
72
  })(Balance || (Balance = {}));
61
73
  //# sourceMappingURL=Balance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Balance.js","sourceRoot":"../","sources":["Balance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Balance.js","sourceRoot":"../","sources":["Balance.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { isly } from "isly";
3
3
  export type Counterbalance = {
4
4
  minted: Partial<Record<Counterbalance.Source, number>>;
5
5
  burned: Partial<Record<Counterbalance.Sink, number>>;
6
+ internal?: Partial<Record<string, number>>;
6
7
  };
7
8
  export declare namespace Counterbalance {
8
9
  type Source = string;
@@ -7,6 +7,7 @@ export var Counterbalance;
7
7
  Counterbalance.type = isly.object({
8
8
  minted: isly.record(Counterbalance.Source, isly.number()),
9
9
  burned: isly.record(Counterbalance.Sink, isly.number()),
10
+ internal: isly.record(isly.string(), isly.number()).optional(),
10
11
  });
11
12
  Counterbalance.Link = isly.string();
12
13
  function add(currency, addendee, addend) {
@@ -1 +1 @@
1
- {"version":3,"file":"Counterbalance.js","sourceRoot":"../","sources":["Counterbalance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAM3B,MAAM,KAAW,cAAc,CAqB9B;AArBD,WAAiB,cAAc;IAEjB,qBAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;IAEtB,mBAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;IACpB,mBAAI,GAAG,IAAI,CAAC,MAAM,CAAiB;QAC/C,MAAM,EAAE,IAAI,CAAC,MAAM,CAA2B,eAAA,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QACpE,MAAM,EAAE,IAAI,CAAC,MAAM,CAA2B,eAAA,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;KAClE,CAAC,CAAA;IAEW,mBAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;IACjC,SAAgB,GAAG,CAAC,QAAwB,EAAE,QAAwB,EAAE,MAAsB;QAC7F,MAAM,MAAM,GAAmB,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAA;QAC7F,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAuB,EAAE,CAAC;YACxF,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;QACnG,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAqB,EAAE,CAAC;YACpF,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QAC/F,CAAC;QACD,OAAO,MAAM,CAAA;IACd,CAAC;IATe,kBAAG,MASlB,CAAA;AACF,CAAC,EArBgB,cAAc,KAAd,cAAc,QAqB9B"}
1
+ {"version":3,"file":"Counterbalance.js","sourceRoot":"../","sources":["Counterbalance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAO3B,MAAM,KAAW,cAAc,CAsB9B;AAtBD,WAAiB,cAAc;IAEjB,qBAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;IAEtB,mBAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;IACpB,mBAAI,GAAG,IAAI,CAAC,MAAM,CAAiB;QAC/C,MAAM,EAAE,IAAI,CAAC,MAAM,CAA2B,eAAA,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QACpE,MAAM,EAAE,IAAI,CAAC,MAAM,CAA2B,eAAA,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QAClE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAuC,IAAI,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;KACpG,CAAC,CAAA;IAEW,mBAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;IACjC,SAAgB,GAAG,CAAC,QAAwB,EAAE,QAAwB,EAAE,MAAsB;QAC7F,MAAM,MAAM,GAAmB,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAA;QAC7F,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAuB,EAAE,CAAC;YACxF,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;QACnG,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAqB,EAAE,CAAC;YACpF,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QAC/F,CAAC;QACD,OAAO,MAAM,CAAA;IACd,CAAC;IATe,kBAAG,MASlB,CAAA;AACF,CAAC,EAtBgB,cAAc,KAAd,cAAc,QAsB9B"}
@@ -35,4 +35,9 @@ export declare namespace Changes {
35
35
  const type: isly.Type<"available" | "incomingReserved" | "outgoingReserved" | "bufferReserved">;
36
36
  }
37
37
  }
38
+ function fromCapture(settlement: string | undefined, amounts: {
39
+ net: number;
40
+ fee: number;
41
+ charge?: number;
42
+ }): Changes;
38
43
  }
@@ -39,8 +39,8 @@ export var Changes;
39
39
  Entry.type = isly.string();
40
40
  function split(counterbalance) {
41
41
  const split = counterbalance.split("-");
42
- const [realm, supplier, account, hour] = [split[0], split[1], split[2], split.slice(3).join("-")];
43
- return [`${realm}-${supplier}-${account}`, hour];
42
+ const hour = split.splice(-3, split.length - 1).join("-");
43
+ return [split.join("-"), hour];
44
44
  }
45
45
  Entry.split = split;
46
46
  let Balance;
@@ -49,5 +49,15 @@ export var Changes;
49
49
  Balance.type = isly.string(Balance.values);
50
50
  })(Balance = Entry.Balance || (Entry.Balance = {}));
51
51
  })(Entry = Changes.Entry || (Changes.Entry = {}));
52
+ function fromCapture(settlement, amounts) {
53
+ return {
54
+ [`${settlement}-net`]: { type: "add", amount: amounts.net, status: "pending" },
55
+ [`${settlement}-fee`]: { type: "add", amount: amounts.fee, status: "pending" },
56
+ ...(amounts.charge && {
57
+ [`${settlement}-charge`]: { type: "add", amount: amounts.charge, status: "pending" },
58
+ }),
59
+ };
60
+ }
61
+ Changes.fromCapture = fromCapture;
52
62
  })(Changes || (Changes = {}));
53
63
  //# sourceMappingURL=Changes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Changes.js","sourceRoot":"../","sources":["Operation/Changes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Changes.js","sourceRoot":"../","sources":["Operation/Changes.ts"],"names":[],"mappings":"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"}
@@ -15,5 +15,5 @@ export declare namespace Creatable {
15
15
  const type: isly.object.ExtendableType<Creatable>;
16
16
  const is: isly.Type.IsFunction<Creatable>;
17
17
  const flaw: isly.Type.FlawFunction;
18
- function fromRefund(account: string, entry: Settlement.Entry.Refund.Creatable, charge: number): Creatable;
18
+ function fromRefund(account: string, settlement: string, entry: Settlement.Entry.Refund.Creatable, charge: number): Creatable;
19
19
  }
@@ -29,9 +29,9 @@ export var Creatable;
29
29
  });
30
30
  Creatable.is = Creatable.type.is;
31
31
  Creatable.flaw = Creatable.type.flaw;
32
- function fromRefund(account, entry, charge) {
32
+ function fromRefund(account, settlement, entry, charge) {
33
33
  const [currency, entryAmount] = entry.amount;
34
- const operationAmount = Math.abs(entryAmount);
34
+ const operationNet = Math.abs(entryAmount);
35
35
  const operationFee = Math.abs(entry.fee.other[currency] ?? 0);
36
36
  return {
37
37
  account: account,
@@ -40,9 +40,31 @@ export var Creatable;
40
40
  changes: {
41
41
  incomingReserved: {
42
42
  type: "add",
43
- amount: isoly.Currency.add(currency, operationAmount, operationFee),
43
+ amount: isoly.Currency.add(currency, operationNet, operationFee),
44
44
  status: "pending",
45
45
  },
46
+ [`${settlement}-net`]: {
47
+ type: "subtract",
48
+ amount: operationNet,
49
+ status: "pending",
50
+ },
51
+ [`${settlement}-fee`]: {
52
+ type: "subtract",
53
+ amount: operationFee,
54
+ status: "pending",
55
+ },
56
+ ...(charge > 0 && {
57
+ [`${settlement}-charge`]: {
58
+ type: "add",
59
+ amount: charge,
60
+ status: "pending",
61
+ },
62
+ available: {
63
+ type: "subtract",
64
+ amount: charge,
65
+ status: "pending",
66
+ },
67
+ }),
46
68
  },
47
69
  };
48
70
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Creatable.js","sourceRoot":"../","sources":["Operation/Creatable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AASnC,MAAM,KAAW,SAAS,CA8CzB;AA9CD,WAAiB,SAAS;IACZ,eAAK,GAAG;QACpB,UAAU;QACV,kBAAkB;QAClB,UAAU;QACV,kBAAkB;QAClB,eAAe;QACf,SAAS;QACT,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,SAAS;QACT,QAAQ;QACR,MAAM;QACN,QAAQ;QACR,cAAc;KACL,CAAA;IAEG,cAAI,GAAG,IAAI,CAAC,MAAM,CAAY;QAC1C,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACjE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1D,OAAO,EAAE,OAAO,CAAC,IAAI;QACrB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,UAAA,KAAK,CAAC;KACxB,CAAC,CAAA;IACW,YAAE,GAAG,UAAA,IAAI,CAAC,EAAE,CAAA;IACZ,cAAI,GAAG,UAAA,IAAI,CAAC,IAAI,CAAA;IAC7B,SAAgB,UAAU,CAAC,OAAe,EAAE,KAAwC,EAAE,MAAc;QAGnG,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,MAAM,CAAA;QAC5C,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7D,OAAO;YACN,OAAO,EAAE,OAAO;YAChB,QAAQ;YACR,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACR,gBAAgB,EAAE;oBACjB,IAAI,EAAE,KAAK;oBACX,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,eAAe,EAAE,YAAY,CAAC;oBACnE,MAAM,EAAE,SAAS;iBACjB;aACD;SACD,CAAA;IACF,CAAC;IAlBe,oBAAU,aAkBzB,CAAA;AACF,CAAC,EA9CgB,SAAS,KAAT,SAAS,QA8CzB"}
1
+ {"version":3,"file":"Creatable.js","sourceRoot":"../","sources":["Operation/Creatable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AASnC,MAAM,KAAW,SAAS,CAyEzB;AAzED,WAAiB,SAAS;IACZ,eAAK,GAAG;QACpB,UAAU;QACV,kBAAkB;QAClB,UAAU;QACV,kBAAkB;QAClB,eAAe;QACf,SAAS;QACT,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,QAAQ;QACR,SAAS;QACT,QAAQ;QACR,MAAM;QACN,QAAQ;QACR,cAAc;KACL,CAAA;IAEG,cAAI,GAAG,IAAI,CAAC,MAAM,CAAY;QAC1C,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACjE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1D,OAAO,EAAE,OAAO,CAAC,IAAI;QACrB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,UAAA,KAAK,CAAC;KACxB,CAAC,CAAA;IACW,YAAE,GAAG,UAAA,IAAI,CAAC,EAAE,CAAA;IACZ,cAAI,GAAG,UAAA,IAAI,CAAC,IAAI,CAAA;IAC7B,SAAgB,UAAU,CACzB,OAAe,EACf,UAAkB,EAClB,KAAwC,EACxC,MAAc;QAId,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,MAAM,CAAA;QAC5C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7D,OAAO;YACN,OAAO,EAAE,OAAO;YAChB,QAAQ;YACR,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACR,gBAAgB,EAAE;oBACjB,IAAI,EAAE,KAAK;oBACX,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC;oBAChE,MAAM,EAAE,SAAS;iBACjB;gBACD,CAAC,GAAG,UAAU,MAAM,CAAC,EAAE;oBACtB,IAAI,EAAE,UAAmB;oBACzB,MAAM,EAAE,YAAY;oBACpB,MAAM,EAAE,SAAkB;iBAC1B;gBACD,CAAC,GAAG,UAAU,MAAM,CAAC,EAAE;oBACtB,IAAI,EAAE,UAAmB;oBACzB,MAAM,EAAE,YAAY;oBACpB,MAAM,EAAE,SAAkB;iBAC1B;gBACD,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI;oBACjB,CAAC,GAAG,UAAU,SAAS,CAAC,EAAE;wBACzB,IAAI,EAAE,KAAc;wBACpB,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,SAAkB;qBAC1B;oBACD,SAAS,EAAE;wBACV,IAAI,EAAE,UAAmB;wBACzB,MAAM,EAAE,MAAM;wBACd,MAAM,EAAE,SAAkB;qBAC1B;iBACD,CAAC;aACF;SACD,CAAA;IACF,CAAC;IA7Ce,oBAAU,aA6CzB,CAAA;AACF,CAAC,EAzEgB,SAAS,KAAT,SAAS,QAyEzB"}
@@ -1,5 +1,6 @@
1
1
  import { isoly } from "isoly";
2
2
  import { isly } from "isly";
3
+ import { Change as OperationChange } from "./Change";
3
4
  import { Changes as OperationChanges } from "./Changes";
4
5
  import { Creatable as OperationCreatable } from "./Creatable";
5
6
  import { Signer as OperationSigner } from "./Signer";
@@ -14,9 +15,9 @@ export declare namespace Operation {
14
15
  function available(operation: Operation, currency: isoly.Currency): number;
15
16
  function sum(operations: Operation[]): Changes.Sum;
16
17
  const Signer: typeof OperationSigner;
17
- type Creatable = OperationCreatable;
18
- const Creatable: typeof OperationCreatable;
18
+ export import Creatable = OperationCreatable;
19
19
  export import Changes = OperationChanges;
20
+ export import Change = OperationChange;
20
21
  const type: isly.object.ExtendableType<Operation>;
21
22
  const is: isly.Type.IsFunction<Operation>;
22
23
  const flaw: isly.Type.FlawFunction;
@@ -1,5 +1,6 @@
1
1
  import { isoly } from "isoly";
2
2
  import { isly } from "isly";
3
+ import { Change as OperationChange } from "./Change";
3
4
  import { Changes as OperationChanges } from "./Changes";
4
5
  import { Creatable as OperationCreatable } from "./Creatable";
5
6
  import { Signer as OperationSigner } from "./Signer";
@@ -22,6 +23,7 @@ export var Operation;
22
23
  Operation.Signer = OperationSigner;
23
24
  Operation.Creatable = OperationCreatable;
24
25
  Operation.Changes = OperationChanges;
26
+ Operation.Change = OperationChange;
25
27
  Operation.type = OperationCreatable.type.extend({
26
28
  transaction: isly.string(),
27
29
  counter: isly.number(),
@@ -32,12 +34,7 @@ export var Operation;
32
34
  Operation.is = Operation.type.is;
33
35
  Operation.flaw = Operation.type.flaw;
34
36
  function fromCreatable(transaction, creatable) {
35
- return {
36
- ...creatable,
37
- transaction,
38
- counter: 0,
39
- created: isoly.DateTime.now(),
40
- };
37
+ return { ...creatable, transaction, counter: 0, created: isoly.DateTime.now() };
41
38
  }
42
39
  Operation.fromCreatable = fromCreatable;
43
40
  })(Operation || (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,CAuCzB;AAvCD,WAAiB,SAAS;IAEzB,SAAgB,SAAS,CAAC,SAAoB,EAAE,QAAwB;QACvE,OAAO,gBAAgB,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,OAAO,IAAI,0BAA0B,CAAC,CAAA;IAChH,CAAC;IAFe,mBAAS,YAExB,CAAA;IACD,SAAgB,GAAG,CAAC,UAAuB;QAC1C,MAAM,MAAM,GAAgB,EAAE,CAAA;QAC9B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACpC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE;gBAC7D,MAAM,CAAC,KAA8B,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CACnE,SAAS,CAAC,QAAQ,EAClB,MAAM,CAAC,KAA8B,CAAC,IAAI,CAAC,EAC3C,MAAM,CAAC,MAAM,CACb,CAAA;YACF,CAAC,CAAC,CAAA;QACH,CAAC;QACD,OAAO,MAAM,CAAA;IACd,CAAC;IAZe,aAAG,MAYlB,CAAA;IACY,gBAAM,GAAG,eAAe,CAAA;IAExB,mBAAS,GAAG,kBAAkB,CAAA;IAC7B,iBAAO,GAAG,gBAAgB,CAAA;IAC3B,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,EAvCgB,SAAS,KAAT,SAAS,QAuCzB"}
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,MAAM,IAAI,eAAe,EAAE,MAAM,UAAU,CAAA;AACpD,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,CAkCzB;AAlCD,WAAiB,SAAS;IAEzB,SAAgB,SAAS,CAAC,SAAoB,EAAE,QAAwB;QACvE,OAAO,gBAAgB,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,OAAO,IAAI,0BAA0B,CAAC,CAAA;IAChH,CAAC;IAFe,mBAAS,YAExB,CAAA;IACD,SAAgB,GAAG,CAAC,UAAuB;QAC1C,MAAM,MAAM,GAAgB,EAAE,CAAA;QAC9B,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACpC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE;gBAC7D,MAAM,CAAC,KAA8B,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CACnE,SAAS,CAAC,QAAQ,EAClB,MAAM,CAAC,KAA8B,CAAC,IAAI,CAAC,EAC3C,MAAM,CAAC,MAAM,CACb,CAAA;YACF,CAAC,CAAC,CAAA;QACH,CAAC;QACD,OAAO,MAAM,CAAA;IACd,CAAC;IAZe,aAAG,MAYlB,CAAA;IACY,gBAAM,GAAG,eAAe,CAAA;IACvB,mBAAS,GAAG,kBAAkB,CAAA;IAC9B,iBAAO,GAAG,gBAAgB,CAAA;IAC1B,gBAAM,GAAG,eAAe,CAAA;IACzB,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,EAAE,GAAG,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAA;IAChF,CAAC;IAFe,uBAAa,gBAE5B,CAAA;AACF,CAAC,EAlCgB,SAAS,KAAT,SAAS,QAkCzB"}
@@ -2,7 +2,7 @@ import { isly } from "isly";
2
2
  import { Acquirer } from "../../Acquirer";
3
3
  import { Card as ModelCard } from "../../Card";
4
4
  import { Merchant } from "../../Merchant";
5
- import { Rule } from "../../Rule";
5
+ import type { Rule } from "../../Rule";
6
6
  export interface Card {
7
7
  type: "card";
8
8
  scheme: ModelCard.Scheme;
@@ -1,5 +1,6 @@
1
1
  import { cryptly } from "cryptly";
2
2
  import { isly } from "isly";
3
+ import { Realm } from "../../Realm";
3
4
  export interface Internal {
4
5
  type: "internal";
5
6
  name?: string;
@@ -11,4 +12,5 @@ export declare namespace Internal {
11
12
  const type: isly.object.ExtendableType<Internal>;
12
13
  const is: isly.Type.IsFunction<Internal>;
13
14
  const flaw: isly.Type.FlawFunction;
15
+ function toLink(internal: Internal, realm: Realm): string;
14
16
  }
@@ -11,5 +11,9 @@ export var Internal;
11
11
  });
12
12
  Internal.is = Internal.type.is;
13
13
  Internal.flaw = Internal.type.flaw;
14
+ function toLink(internal, realm) {
15
+ return `${realm}-internal-${internal.identifier}`;
16
+ }
17
+ Internal.toLink = toLink;
14
18
  })(Internal || (Internal = {}));
15
19
  //# sourceMappingURL=internal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"../","sources":["Rail/Address/internal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAQ3B,MAAM,KAAW,QAAQ,CAUxB;AAVD,WAAiB,QAAQ;IACX,mBAAU,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAU,CAAA;IAClD,aAAI,GAAG,IAAI,CAAC,MAAM,CAAW;QACzC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;QAC7B,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC9B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5D,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACtC,CAAC,CAAA;IACW,WAAE,GAAG,SAAA,IAAI,CAAC,EAAE,CAAA;IACZ,aAAI,GAAG,SAAA,IAAI,CAAC,IAAI,CAAA;AAC9B,CAAC,EAVgB,QAAQ,KAAR,QAAQ,QAUxB"}
1
+ {"version":3,"file":"internal.js","sourceRoot":"../","sources":["Rail/Address/internal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAS3B,MAAM,KAAW,QAAQ,CAaxB;AAbD,WAAiB,QAAQ;IACX,mBAAU,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAU,CAAA;IAClD,aAAI,GAAG,IAAI,CAAC,MAAM,CAAW;QACzC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;QAC7B,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC9B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5D,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACtC,CAAC,CAAA;IACW,WAAE,GAAG,SAAA,IAAI,CAAC,EAAE,CAAA;IACZ,aAAI,GAAG,SAAA,IAAI,CAAC,IAAI,CAAA;IAC7B,SAAgB,MAAM,CAAC,QAAkB,EAAE,KAAY;QACtD,OAAO,GAAG,KAAK,aAAa,QAAQ,CAAC,UAAU,EAAE,CAAA;IAClD,CAAC;IAFe,eAAM,SAErB,CAAA;AACF,CAAC,EAbgB,QAAQ,KAAR,QAAQ,QAaxB"}
@@ -1,9 +1,11 @@
1
1
  import { isoly } from "isoly";
2
- import type { Transaction as ModelTransaction } from "../../Transaction";
2
+ import type { Address } from "../../Rail/Address";
3
+ import { Transaction as ModelTransaction } from "../../Transaction";
3
4
  import { Rule } from "../Rule";
4
5
  export interface Transaction extends Omit<ModelTransaction.Creatable, "currency" | "amount"> {
5
6
  kind: Rule.Base.Kind;
6
7
  amount: number;
8
+ type: ModelTransaction.Types;
7
9
  fee?: number;
8
10
  risk?: number;
9
11
  original: {
@@ -12,5 +14,7 @@ export interface Transaction extends Omit<ModelTransaction.Creatable, "currency"
12
14
  };
13
15
  }
14
16
  export declare namespace Transaction {
15
- function from(transaction: ModelTransaction.Creatable, kind: Rule.Base.Kind): Transaction;
17
+ function from(accountName: string, transaction: ModelTransaction.Creatable & {
18
+ counterpart: Address;
19
+ }, kind: Rule.Base.Kind): Transaction;
16
20
  }
@@ -1,10 +1,12 @@
1
+ import { Transaction as ModelTransaction } from "../../Transaction";
1
2
  export var Transaction;
2
3
  (function (Transaction) {
3
- function from(transaction, kind) {
4
+ function from(accountName, transaction, kind) {
4
5
  return {
5
6
  ...transaction,
6
7
  kind,
7
8
  amount: Math.abs(transaction.amount),
9
+ type: ModelTransaction.getType(transaction.counterpart, accountName),
8
10
  original: { currency: transaction.currency, amount: Math.abs(transaction.amount) },
9
11
  };
10
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Transaction.js","sourceRoot":"../","sources":["Rule/State/Transaction.ts"],"names":[],"mappings":"AAWA,MAAM,KAAW,WAAW,CAS3B;AATD,WAAiB,WAAW;IAC3B,SAAgB,IAAI,CAAC,WAAuC,EAAE,IAAoB;QACjF,OAAO;YACN,GAAG,WAAW;YACd,IAAI;YACJ,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC;YACpC,QAAQ,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE;SAClF,CAAA;IACF,CAAC;IAPe,gBAAI,OAOnB,CAAA;AACF,CAAC,EATgB,WAAW,KAAX,WAAW,QAS3B"}
1
+ {"version":3,"file":"Transaction.js","sourceRoot":"../","sources":["Rule/State/Transaction.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,IAAI,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAWnE,MAAM,KAAW,WAAW,CAc3B;AAdD,WAAiB,WAAW;IAC3B,SAAgB,IAAI,CACnB,WAAmB,EACnB,WAAkE,EAClE,IAAoB;QAEpB,OAAO;YACN,GAAG,WAAW;YACd,IAAI;YACJ,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC;YACpC,IAAI,EAAE,gBAAgB,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC;YACpE,QAAQ,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE;SAClF,CAAA;IACF,CAAC;IAZe,gBAAI,OAYnB,CAAA;AACF,CAAC,EAdgB,WAAW,KAAX,WAAW,QAc3B"}
@@ -1,6 +1,7 @@
1
1
  import { isly } from "isly";
2
2
  import { Account as ModelAccount } from "../../Account";
3
- import { Transaction as ModelTransaction } from "../../Transaction";
3
+ import type { Address } from "../../Rail/Address";
4
+ import type { Transaction as ModelTransaction } from "../../Transaction";
4
5
  import { Rule } from "../Rule";
5
6
  import { Account as StateAccount } from "./Account";
6
7
  import { Authorization as StateAuthorization } from "./Authorization";
@@ -36,5 +37,7 @@ export declare namespace State {
36
37
  flags: string[];
37
38
  notes: ModelTransaction.Note[];
38
39
  }
39
- function from(data: Data, account: ModelAccount, transactions: Account.Transactions, days: Account.Days, transaction: ModelTransaction.Creatable, kind: Rule.Base.Kind, authorization?: Authorization, card?: Card, organization?: Organization): State;
40
+ function from(data: Data, account: ModelAccount, transactions: Account.Transactions, days: Account.Days, transaction: ModelTransaction.Creatable & {
41
+ counterpart: Address;
42
+ }, kind: Rule.Base.Kind, authorization?: Authorization, card?: Card, organization?: Organization): State;
40
43
  }
@@ -22,7 +22,7 @@ export var State;
22
22
  return {
23
23
  data,
24
24
  account: State.Account.from(account, transactions, days),
25
- transaction: State.Transaction.from(transaction, kind),
25
+ transaction: State.Transaction.from(account.name, transaction, kind),
26
26
  authorization,
27
27
  card,
28
28
  organization,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../","sources":["Rule/State/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAI3B,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,aAAa,IAAI,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACrE,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,QAAQ,CAAA;AAE1C,OAAO,EAAE,YAAY,IAAI,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,WAAW,IAAI,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAU/D,MAAM,KAAW,KAAK,CAuCrB;AAvCD,WAAiB,KAAK;IACP,aAAO,GAAG,YAAY,CAAA;IACtB,mBAAa,GAAG,kBAAkB,CAAA;IAClC,UAAI,GAAG,SAAS,CAAA;IAChB,aAAO,GAAG,YAAY,CAAA;IACtB,iBAAW,GAAG,gBAAgB,CAAA;IAC9B,kBAAY,GAAG,iBAAiB,CAAA;IAG9C,IAAiB,OAAO,CAGvB;IAHD,WAAiB,OAAO;QACV,cAAM,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAA;QACjD,YAAI,GAAG,IAAI,CAAC,MAAM,CAAU,QAAA,MAAM,CAAC,CAAA;IACjD,CAAC,EAHgB,OAAO,GAAP,aAAO,KAAP,aAAO,QAGvB;IAOD,SAAgB,IAAI,CACnB,IAAU,EACV,OAAqB,EACrB,YAAkC,EAClC,IAAkB,EAClB,WAAuC,EACvC,IAAoB,EACpB,aAA6B,EAC7B,IAAW,EACX,YAA2B;QAE3B,OAAO;YACN,IAAI;YACJ,OAAO,EAAE,MAAA,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC;YAClD,WAAW,EAAE,MAAA,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC;YAChD,aAAa;YACb,IAAI;YACJ,YAAY;SACZ,CAAA;IACF,CAAC;IAnBe,UAAI,OAmBnB,CAAA;AACF,CAAC,EAvCgB,KAAK,KAAL,KAAK,QAuCrB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"../","sources":["Rule/State/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAK3B,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,aAAa,IAAI,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACrE,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,QAAQ,CAAA;AAE1C,OAAO,EAAE,YAAY,IAAI,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClE,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,WAAW,IAAI,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAU/D,MAAM,KAAW,KAAK,CAuCrB;AAvCD,WAAiB,KAAK;IACP,aAAO,GAAG,YAAY,CAAA;IACtB,mBAAa,GAAG,kBAAkB,CAAA;IAClC,UAAI,GAAG,SAAS,CAAA;IAChB,aAAO,GAAG,YAAY,CAAA;IACtB,iBAAW,GAAG,gBAAgB,CAAA;IAC9B,kBAAY,GAAG,iBAAiB,CAAA;IAG9C,IAAiB,OAAO,CAGvB;IAHD,WAAiB,OAAO;QACV,cAAM,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAA;QACjD,YAAI,GAAG,IAAI,CAAC,MAAM,CAAU,QAAA,MAAM,CAAC,CAAA;IACjD,CAAC,EAHgB,OAAO,GAAP,aAAO,KAAP,aAAO,QAGvB;IAOD,SAAgB,IAAI,CACnB,IAAU,EACV,OAAqB,EACrB,YAAkC,EAClC,IAAkB,EAClB,WAAkE,EAClE,IAAoB,EACpB,aAA6B,EAC7B,IAAW,EACX,YAA2B;QAE3B,OAAO;YACN,IAAI;YACJ,OAAO,EAAE,MAAA,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC;YAClD,WAAW,EAAE,MAAA,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC;YAC9D,aAAa;YACb,IAAI;YACJ,YAAY;SACZ,CAAA;IACF,CAAC;IAnBe,UAAI,OAmBnB,CAAA;AACF,CAAC,EAvCgB,KAAK,KAAL,KAAK,QAuCrB"}
@@ -1,6 +1,6 @@
1
1
  import { isoly } from "isoly";
2
2
  import { isly } from "isly";
3
- import { Rule } from "../Rule";
3
+ import type { Rule } from "../Rule";
4
4
  export interface Note extends Note.Creatable {
5
5
  author: string;
6
6
  created: isoly.DateTime;
@@ -1,6 +1,5 @@
1
1
  import { isoly } from "isoly";
2
2
  import { isly } from "isly";
3
- import { Rule } from "../Rule";
4
3
  export var Note;
5
4
  (function (Note) {
6
5
  function fromCreatable(note, author) {
@@ -13,7 +12,7 @@ export var Note;
13
12
  text: isly.string().optional(),
14
13
  action: isly.string(["approve", "reject"]).optional(),
15
14
  flags: isly.string().array().optional(),
16
- rule: Rule.type.optional(),
15
+ rule: isly.any().optional(),
17
16
  });
18
17
  Creatable.is = Creatable.type.is;
19
18
  })(Creatable = Note.Creatable || (Note.Creatable = {}));
@@ -1 +1 @@
1
- {"version":3,"file":"Note.js","sourceRoot":"../","sources":["Transaction/Note.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAO9B,MAAM,KAAW,IAAI,CAwBpB;AAxBD,WAAiB,IAAI;IACpB,SAAgB,aAAa,CAAC,IAAe,EAAE,MAAc;QAC5D,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;IAClE,CAAC;IAFe,kBAAa,gBAE5B,CAAA;IAOD,IAAiB,SAAS,CAQzB;IARD,WAAiB,SAAS;QACZ,cAAI,GAAG,IAAI,CAAC,MAAM,CAAY;YAC1C,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC9B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;YACrD,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;YACvC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;SAC1B,CAAC,CAAA;QACW,YAAE,GAAG,UAAA,IAAI,CAAC,EAAE,CAAA;IAC1B,CAAC,EARgB,SAAS,GAAT,cAAS,KAAT,cAAS,QAQzB;IACY,SAAI,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAO;QAC/C,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;QACrB,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE;KACtB,CAAC,CAAA;IACW,OAAE,GAAG,KAAA,IAAI,CAAC,EAAE,CAAA;AAC1B,CAAC,EAxBgB,IAAI,KAAJ,IAAI,QAwBpB"}
1
+ {"version":3,"file":"Note.js","sourceRoot":"../","sources":["Transaction/Note.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAQ3B,MAAM,KAAW,IAAI,CAwBpB;AAxBD,WAAiB,IAAI;IACpB,SAAgB,aAAa,CAAC,IAAe,EAAE,MAAc;QAC5D,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAA;IAClE,CAAC;IAFe,kBAAa,gBAE5B,CAAA;IAOD,IAAiB,SAAS,CAQzB;IARD,WAAiB,SAAS;QACZ,cAAI,GAAG,IAAI,CAAC,MAAM,CAAY;YAC1C,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC9B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;YACrD,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;YACvC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;SAC3B,CAAC,CAAA;QACW,YAAE,GAAG,UAAA,IAAI,CAAC,EAAE,CAAA;IAC1B,CAAC,EARgB,SAAS,GAAT,cAAS,KAAT,cAAS,QAQzB;IACY,SAAI,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAO;QAC/C,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;QACrB,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE;KACtB,CAAC,CAAA;IACW,OAAE,GAAG,KAAA,IAAI,CAAC,EAAE,CAAA;AAC1B,CAAC,EAxBgB,IAAI,KAAJ,IAAI,QAwBpB"}
@@ -0,0 +1,11 @@
1
+ import { isoly } from "isoly";
2
+ import { isly } from "isly";
3
+ export interface Counterbalance {
4
+ type: "counterbalance";
5
+ account: string;
6
+ currency: isoly.Currency;
7
+ counterbalance: string[];
8
+ }
9
+ export declare namespace Counterbalance {
10
+ const type: isly.object.ExtendableType<Counterbalance>;
11
+ }
@@ -0,0 +1,11 @@
1
+ import { isly } from "isly";
2
+ export var Counterbalance;
3
+ (function (Counterbalance) {
4
+ Counterbalance.type = isly.object({
5
+ type: isly.string("counterbalance"),
6
+ account: isly.string(),
7
+ currency: isly.string(),
8
+ counterbalance: isly.string().array(),
9
+ });
10
+ })(Counterbalance || (Counterbalance = {}));
11
+ //# sourceMappingURL=Counterbalance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Counterbalance.js","sourceRoot":"../","sources":["Treasury/Snapshot/Warning/Counterbalance.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAQ3B,MAAM,KAAW,cAAc,CAO9B;AAPD,WAAiB,cAAc;IACjB,mBAAI,GAAG,IAAI,CAAC,MAAM,CAAiB;QAC/C,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;QACnC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE;QACtB,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE;QACvB,cAAc,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE;KACrC,CAAC,CAAA;AACH,CAAC,EAPgB,cAAc,KAAd,cAAc,QAO9B"}
@@ -1,11 +1,13 @@
1
1
  import { isly } from "isly";
2
2
  import { Buffer as WarningBuffer } from "./Buffer";
3
+ import { Counterbalance as WarningCounterbalance } from "./Counterbalance";
3
4
  import { Overdraft as WarningOverdraft } from "./Overdraft";
4
5
  import { Unguarded as WarningUnguarded } from "./Unguarded";
5
- export type Warning = Warning.Overdraft | Warning.Unguarded | Warning.Buffer;
6
+ export type Warning = Warning.Overdraft | Warning.Unguarded | Warning.Buffer | Warning.Counterbalance;
6
7
  export declare namespace Warning {
8
+ export import Buffer = WarningBuffer;
9
+ export import Counterbalance = WarningCounterbalance;
7
10
  export import Overdraft = WarningOverdraft;
8
11
  export import Unguarded = WarningUnguarded;
9
- export import Buffer = WarningBuffer;
10
12
  const type: isly.Type<Warning>;
11
13
  }
@@ -1,12 +1,14 @@
1
1
  import { isly } from "isly";
2
2
  import { Buffer as WarningBuffer } from "./Buffer";
3
+ import { Counterbalance as WarningCounterbalance } from "./Counterbalance";
3
4
  import { Overdraft as WarningOverdraft } from "./Overdraft";
4
5
  import { Unguarded as WarningUnguarded } from "./Unguarded";
5
6
  export var Warning;
6
7
  (function (Warning) {
8
+ Warning.Buffer = WarningBuffer;
9
+ Warning.Counterbalance = WarningCounterbalance;
7
10
  Warning.Overdraft = WarningOverdraft;
8
11
  Warning.Unguarded = WarningUnguarded;
9
- Warning.Buffer = WarningBuffer;
10
- Warning.type = isly.union(Warning.Overdraft.type, Warning.Unguarded.type, Warning.Buffer.type);
12
+ Warning.type = isly.union(Warning.Overdraft.type, Warning.Unguarded.type, Warning.Buffer.type, Warning.Counterbalance.type);
11
13
  })(Warning || (Warning = {}));
12
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../","sources":["Treasury/Snapshot/Warning/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,UAAU,CAAA;AAClD,OAAO,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC3D,OAAO,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAI3D,MAAM,KAAW,OAAO,CAKvB;AALD,WAAiB,OAAO;IACT,iBAAS,GAAG,gBAAgB,CAAA;IAC5B,iBAAS,GAAG,gBAAgB,CAAA;IAC5B,cAAM,GAAG,aAAa,CAAA;IACvB,YAAI,GAAG,IAAI,CAAC,KAAK,CAAwC,QAAA,SAAS,CAAC,IAAI,EAAE,QAAA,SAAS,CAAC,IAAI,EAAE,QAAA,MAAM,CAAC,IAAI,CAAC,CAAA;AACnH,CAAC,EALgB,OAAO,KAAP,OAAO,QAKvB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"../","sources":["Treasury/Snapshot/Warning/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,UAAU,CAAA;AAClD,OAAO,EAAE,cAAc,IAAI,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAC1E,OAAO,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC3D,OAAO,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAI3D,MAAM,KAAW,OAAO,CAWvB;AAXD,WAAiB,OAAO;IACT,cAAM,GAAG,aAAa,CAAA;IACtB,sBAAc,GAAG,qBAAqB,CAAA;IACtC,iBAAS,GAAG,gBAAgB,CAAA;IAC5B,iBAAS,GAAG,gBAAgB,CAAA;IAC7B,YAAI,GAAG,IAAI,CAAC,KAAK,CAC7B,QAAA,SAAS,CAAC,IAAI,EACd,QAAA,SAAS,CAAC,IAAI,EACd,QAAA,MAAM,CAAC,IAAI,EACX,QAAA,cAAc,CAAC,IAAI,CACnB,CAAA;AACF,CAAC,EAXgB,OAAO,KAAP,OAAO,QAWvB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pax2pay/model-banking",
3
- "version": "0.1.367",
3
+ "version": "0.1.369",
4
4
  "description": "Library containing data model types and functions for the Pax2Pay Banking API.",
5
5
  "author": "Pax2Pay Ltd",
6
6
  "license": "MIT",