@pax2pay/model-banking 0.1.366 → 0.1.368

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 (44) hide show
  1. package/Analytics/Event/Ledger/User.ts +21 -0
  2. package/Analytics/Event/Ledger/index.ts +2 -0
  3. package/Analytics/Event/index.ts +1 -0
  4. package/Balance.ts +11 -0
  5. package/Counterbalance.ts +2 -0
  6. package/Operation/Changes.ts +14 -2
  7. package/Operation/Creatable.ts +30 -3
  8. package/Operation/index.ts +4 -8
  9. package/Rail/Address/internal.ts +4 -0
  10. package/Treasury/Snapshot/Warning/Counterbalance.ts +17 -0
  11. package/Treasury/Snapshot/Warning/index.ts +10 -3
  12. package/dist/Analytics/Event/Ledger/User.d.ts +13 -0
  13. package/dist/Analytics/Event/Ledger/User.js +15 -0
  14. package/dist/Analytics/Event/Ledger/User.js.map +1 -0
  15. package/dist/Analytics/Event/Ledger/index.d.ts +2 -0
  16. package/dist/Analytics/Event/Ledger/index.js +2 -0
  17. package/dist/Analytics/Event/Ledger/index.js.map +1 -1
  18. package/dist/Analytics/Event/index.d.ts +1 -1
  19. package/dist/Analytics/Event/index.js.map +1 -1
  20. package/dist/Balance.d.ts +1 -0
  21. package/dist/Balance.js +12 -0
  22. package/dist/Balance.js.map +1 -1
  23. package/dist/Counterbalance.d.ts +1 -0
  24. package/dist/Counterbalance.js +1 -0
  25. package/dist/Counterbalance.js.map +1 -1
  26. package/dist/Operation/Changes.d.ts +5 -0
  27. package/dist/Operation/Changes.js +12 -2
  28. package/dist/Operation/Changes.js.map +1 -1
  29. package/dist/Operation/Creatable.d.ts +1 -1
  30. package/dist/Operation/Creatable.js +25 -3
  31. package/dist/Operation/Creatable.js.map +1 -1
  32. package/dist/Operation/index.d.ts +3 -2
  33. package/dist/Operation/index.js +3 -6
  34. package/dist/Operation/index.js.map +1 -1
  35. package/dist/Rail/Address/internal.d.ts +2 -0
  36. package/dist/Rail/Address/internal.js +4 -0
  37. package/dist/Rail/Address/internal.js.map +1 -1
  38. package/dist/Treasury/Snapshot/Warning/Counterbalance.d.ts +11 -0
  39. package/dist/Treasury/Snapshot/Warning/Counterbalance.js +11 -0
  40. package/dist/Treasury/Snapshot/Warning/Counterbalance.js.map +1 -0
  41. package/dist/Treasury/Snapshot/Warning/index.d.ts +4 -2
  42. package/dist/Treasury/Snapshot/Warning/index.js +4 -2
  43. package/dist/Treasury/Snapshot/Warning/index.js.map +1 -1
  44. package/package.json +1 -1
@@ -0,0 +1,21 @@
1
+ import { isoly } from "isoly"
2
+ import { userwidgets } from "@userwidgets/model"
3
+ import { Realm } from "../../../Realm"
4
+ import { Base } from "./Base"
5
+
6
+ export type User = Base<userwidgets.User> & {
7
+ entity: { type: "user"; id: string }
8
+ action: "created" | "updated" | "removed"
9
+ }
10
+
11
+ export namespace User {
12
+ export function create(value: userwidgets.User, realm: Realm, action: User["action"]): User {
13
+ return {
14
+ realm,
15
+ entity: { type: "user", id: value.email },
16
+ action,
17
+ created: isoly.DateTime.now(),
18
+ value,
19
+ }
20
+ }
21
+ }
@@ -4,6 +4,7 @@ import { Operation as OperationEvent } from "./Operation"
4
4
  import { Organization as OrganizationEvent } from "./Organization"
5
5
  import { Rule as RuleEvent } from "./Rule"
6
6
  import { Transaction as TransactionEvent } from "./Transaction"
7
+ import { User as UserEvent } from "./User"
7
8
 
8
9
  export namespace Ledger {
9
10
  export type Base<T> = EventBase<T>
@@ -12,4 +13,5 @@ export namespace Ledger {
12
13
  export import Organization = OrganizationEvent
13
14
  export import Rule = RuleEvent
14
15
  export import Operation = OperationEvent
16
+ export import User = UserEvent
15
17
  }
@@ -8,6 +8,7 @@ export type Event = (
8
8
  | Event.Ledger.Organization
9
9
  | Event.Ledger.Rule
10
10
  | Event.Ledger.Account
11
+ | Event.Ledger.User
11
12
  | Event.AuditLog
12
13
  ) & { version: string }
13
14
  export namespace Event {
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
  }
@@ -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
  }
@@ -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
  }
@@ -0,0 +1,13 @@
1
+ import { userwidgets } from "@userwidgets/model";
2
+ import { Realm } from "../../../Realm";
3
+ import { Base } from "./Base";
4
+ export type User = Base<userwidgets.User> & {
5
+ entity: {
6
+ type: "user";
7
+ id: string;
8
+ };
9
+ action: "created" | "updated" | "removed";
10
+ };
11
+ export declare namespace User {
12
+ function create(value: userwidgets.User, realm: Realm, action: User["action"]): User;
13
+ }
@@ -0,0 +1,15 @@
1
+ import { isoly } from "isoly";
2
+ export var User;
3
+ (function (User) {
4
+ function create(value, realm, action) {
5
+ return {
6
+ realm,
7
+ entity: { type: "user", id: value.email },
8
+ action,
9
+ created: isoly.DateTime.now(),
10
+ value,
11
+ };
12
+ }
13
+ User.create = create;
14
+ })(User || (User = {}));
15
+ //# sourceMappingURL=User.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"User.js","sourceRoot":"../","sources":["Analytics/Event/Ledger/User.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAU7B,MAAM,KAAW,IAAI,CAUpB;AAVD,WAAiB,IAAI;IACpB,SAAgB,MAAM,CAAC,KAAuB,EAAE,KAAY,EAAE,MAAsB;QACnF,OAAO;YACN,KAAK;YACL,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE;YACzC,MAAM;YACN,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE;YAC7B,KAAK;SACL,CAAA;IACF,CAAC;IARe,WAAM,SAQrB,CAAA;AACF,CAAC,EAVgB,IAAI,KAAJ,IAAI,QAUpB"}
@@ -4,6 +4,7 @@ import { Operation as OperationEvent } from "./Operation";
4
4
  import { Organization as OrganizationEvent } from "./Organization";
5
5
  import { Rule as RuleEvent } from "./Rule";
6
6
  import { Transaction as TransactionEvent } from "./Transaction";
7
+ import { User as UserEvent } from "./User";
7
8
  export declare namespace Ledger {
8
9
  type Base<T> = EventBase<T>;
9
10
  export import Transaction = TransactionEvent;
@@ -11,4 +12,5 @@ export declare namespace Ledger {
11
12
  export import Organization = OrganizationEvent;
12
13
  export import Rule = RuleEvent;
13
14
  export import Operation = OperationEvent;
15
+ export import User = UserEvent;
14
16
  }
@@ -3,6 +3,7 @@ import { Operation as OperationEvent } from "./Operation";
3
3
  import { Organization as OrganizationEvent } from "./Organization";
4
4
  import { Rule as RuleEvent } from "./Rule";
5
5
  import { Transaction as TransactionEvent } from "./Transaction";
6
+ import { User as UserEvent } from "./User";
6
7
  export var Ledger;
7
8
  (function (Ledger) {
8
9
  Ledger.Transaction = TransactionEvent;
@@ -10,5 +11,6 @@ export var Ledger;
10
11
  Ledger.Organization = OrganizationEvent;
11
12
  Ledger.Rule = RuleEvent;
12
13
  Ledger.Operation = OperationEvent;
14
+ Ledger.User = UserEvent;
13
15
  })(Ledger || (Ledger = {}));
14
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../","sources":["Analytics/Event/Ledger/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,WAAW,CAAA;AAEnD,OAAO,EAAE,SAAS,IAAI,cAAc,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,EAAE,YAAY,IAAI,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClE,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,QAAQ,CAAA;AAC1C,OAAO,EAAE,WAAW,IAAI,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAE/D,MAAM,KAAW,MAAM,CAOtB;AAPD,WAAiB,MAAM;IAER,kBAAW,GAAG,gBAAgB,CAAA;IAC9B,cAAO,GAAG,YAAY,CAAA;IACtB,mBAAY,GAAG,iBAAiB,CAAA;IAChC,WAAI,GAAG,SAAS,CAAA;IAChB,gBAAS,GAAG,cAAc,CAAA;AACzC,CAAC,EAPgB,MAAM,KAAN,MAAM,QAOtB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"../","sources":["Analytics/Event/Ledger/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,WAAW,CAAA;AAEnD,OAAO,EAAE,SAAS,IAAI,cAAc,EAAE,MAAM,aAAa,CAAA;AACzD,OAAO,EAAE,YAAY,IAAI,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClE,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,QAAQ,CAAA;AAC1C,OAAO,EAAE,WAAW,IAAI,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAC/D,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,QAAQ,CAAA;AAE1C,MAAM,KAAW,MAAM,CAQtB;AARD,WAAiB,MAAM;IAER,kBAAW,GAAG,gBAAgB,CAAA;IAC9B,cAAO,GAAG,YAAY,CAAA;IACtB,mBAAY,GAAG,iBAAiB,CAAA;IAChC,WAAI,GAAG,SAAS,CAAA;IAChB,gBAAS,GAAG,cAAc,CAAA;IAC1B,WAAI,GAAG,SAAS,CAAA;AAC/B,CAAC,EARgB,MAAM,KAAN,MAAM,QAQtB"}
@@ -1,7 +1,7 @@
1
1
  import { AuditLog as AuditLogEvent } from "./AuditLog";
2
2
  import { Base as EventBase } from "./Base";
3
3
  import { Ledger as EventLedger } from "./Ledger";
4
- export type Event = (Event.Ledger.Transaction | Event.Ledger.Operation | Event.Ledger.Organization | Event.Ledger.Rule | Event.Ledger.Account | Event.AuditLog) & {
4
+ export type Event = (Event.Ledger.Transaction | Event.Ledger.Operation | Event.Ledger.Organization | Event.Ledger.Rule | Event.Ledger.Account | Event.Ledger.User | Event.AuditLog) & {
5
5
  version: string;
6
6
  };
7
7
  export declare namespace Event {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"../","sources":["Analytics/Event/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,YAAY,CAAA;AAEtD,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,UAAU,CAAA;AAUhD,MAAM,KAAW,KAAK,CAIrB;AAJD,WAAiB,KAAK;IAEP,YAAM,GAAG,WAAW,CAAA;IACpB,cAAQ,GAAG,aAAa,CAAA;AACvC,CAAC,EAJgB,KAAK,KAAL,KAAK,QAIrB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"../","sources":["Analytics/Event/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,YAAY,CAAA;AAEtD,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,UAAU,CAAA;AAWhD,MAAM,KAAW,KAAK,CAIrB;AAJD,WAAiB,KAAK;IAEP,YAAM,GAAG,WAAW,CAAA;IACpB,cAAQ,GAAG,aAAa,CAAA;AACvC,CAAC,EAJgB,KAAK,KAAL,KAAK,QAIrB"}
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"}
@@ -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"}
@@ -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.366",
3
+ "version": "0.1.368",
4
4
  "description": "Library containing data model types and functions for the Pax2Pay Banking API.",
5
5
  "author": "Pax2Pay Ltd",
6
6
  "license": "MIT",