@pax2pay/model-banking 0.1.326 → 0.1.328
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Authorization/index.ts +5 -1
- package/Treasury/Snapshot/Fragment.ts +12 -0
- package/dist/Authorization/index.js +1 -0
- package/dist/Authorization/index.js.map +1 -1
- package/dist/Treasury/Snapshot/Fragment.d.ts +3 -0
- package/dist/Treasury/Snapshot/Fragment.js +14 -0
- package/dist/Treasury/Snapshot/Fragment.js.map +1 -1
- package/package.json +1 -1
package/Authorization/index.ts
CHANGED
|
@@ -71,13 +71,17 @@ export namespace Authorization {
|
|
|
71
71
|
card: Card | gracely.Error,
|
|
72
72
|
transaction: Transaction | gracely.Error
|
|
73
73
|
): Authorization {
|
|
74
|
-
const partial: Pick<
|
|
74
|
+
const partial: Pick<
|
|
75
|
+
Authorization,
|
|
76
|
+
"created" | "amount" | "merchant" | "acquirer" | "reference" | "description" | "exchange"
|
|
77
|
+
> = {
|
|
75
78
|
created: isoly.DateTime.now(),
|
|
76
79
|
amount: creatable.amount,
|
|
77
80
|
merchant: creatable.merchant,
|
|
78
81
|
acquirer: creatable.acquirer,
|
|
79
82
|
reference: creatable.reference,
|
|
80
83
|
description: creatable.description,
|
|
84
|
+
exchange: creatable.exchange,
|
|
81
85
|
}
|
|
82
86
|
let result: Authorization
|
|
83
87
|
if (gracely.Error.is(card))
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isoly } from "isoly"
|
|
1
2
|
import { isly } from "isly"
|
|
2
3
|
import { Balances } from "../../Balances"
|
|
3
4
|
import { Account } from "../Account"
|
|
@@ -35,6 +36,9 @@ export namespace Fragment {
|
|
|
35
36
|
export namespace Burned {
|
|
36
37
|
export const type = isly.record<Burned>(isly.string(), Fragment.Coinage.change)
|
|
37
38
|
}
|
|
39
|
+
export function sum(currency: isoly.Currency, coinage: Burned | Minted): number {
|
|
40
|
+
return Object.values(coinage).reduce((result, change) => isoly.Currency.add(currency, result, change.amount), 0)
|
|
41
|
+
}
|
|
38
42
|
}
|
|
39
43
|
export const type = isly.object<Fragment>({
|
|
40
44
|
warnings: Warning.type.array(),
|
|
@@ -50,4 +54,12 @@ export namespace Fragment {
|
|
|
50
54
|
accounts: Account.type.array(),
|
|
51
55
|
}),
|
|
52
56
|
})
|
|
57
|
+
export function validate(currency: isoly.Currency, fragment: Fragment): boolean {
|
|
58
|
+
const issuable = fragment.fiat.total
|
|
59
|
+
const actual = fragment.emoney.actual ?? 0
|
|
60
|
+
const burned = Coinage.sum(currency, fragment.burned)
|
|
61
|
+
const minted = Coinage.sum(currency, fragment.minted)
|
|
62
|
+
const total = isoly.Currency.subtract(currency, isoly.Currency.add(currency, actual, burned), minted)
|
|
63
|
+
return issuable == total
|
|
64
|
+
}
|
|
53
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"../","sources":["Authorization/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAA;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAGtC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,EAAE,SAAS,IAAI,sBAAsB,EAAE,MAAM,aAAa,CAAA;AACjE,OAAO,EAAE,QAAQ,IAAI,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAC9D,OAAO,EAAE,MAAM,IAAI,mBAAmB,EAAE,MAAM,UAAU,CAAA;AA0BxD,MAAM,KAAW,aAAa,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"../","sources":["Authorization/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isoly } from "isoly";
|
|
1
2
|
import { isly } from "isly";
|
|
2
3
|
import { Balances } from "../../Balances";
|
|
3
4
|
import { Account } from "../Account";
|
|
@@ -34,7 +35,9 @@ export declare namespace Fragment {
|
|
|
34
35
|
export namespace Burned {
|
|
35
36
|
const type: isly.Type<Burned>;
|
|
36
37
|
}
|
|
38
|
+
export function sum(currency: isoly.Currency, coinage: Burned | Minted): number;
|
|
37
39
|
export {};
|
|
38
40
|
}
|
|
39
41
|
const type: isly.object.ExtendableType<Fragment>;
|
|
42
|
+
function validate(currency: isoly.Currency, fragment: Fragment): boolean;
|
|
40
43
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isoly } from "isoly";
|
|
1
2
|
import { isly } from "isly";
|
|
2
3
|
import { Balances } from "../../Balances";
|
|
3
4
|
import { Account } from "../Account";
|
|
@@ -18,6 +19,10 @@ export var Fragment;
|
|
|
18
19
|
(function (Burned) {
|
|
19
20
|
Burned.type = isly.record(isly.string(), Fragment.Coinage.change);
|
|
20
21
|
})(Burned = Coinage.Burned || (Coinage.Burned = {}));
|
|
22
|
+
function sum(currency, coinage) {
|
|
23
|
+
return Object.values(coinage).reduce((result, change) => isoly.Currency.add(currency, result, change.amount), 0);
|
|
24
|
+
}
|
|
25
|
+
Coinage.sum = sum;
|
|
21
26
|
})(Coinage = Fragment.Coinage || (Fragment.Coinage = {}));
|
|
22
27
|
Fragment.type = isly.object({
|
|
23
28
|
warnings: Warning.type.array(),
|
|
@@ -33,5 +38,14 @@ export var Fragment;
|
|
|
33
38
|
accounts: Account.type.array(),
|
|
34
39
|
}),
|
|
35
40
|
});
|
|
41
|
+
function validate(currency, fragment) {
|
|
42
|
+
const issuable = fragment.fiat.total;
|
|
43
|
+
const actual = fragment.emoney.actual ?? 0;
|
|
44
|
+
const burned = Coinage.sum(currency, fragment.burned);
|
|
45
|
+
const minted = Coinage.sum(currency, fragment.minted);
|
|
46
|
+
const total = isoly.Currency.subtract(currency, isoly.Currency.add(currency, actual, burned), minted);
|
|
47
|
+
return issuable == total;
|
|
48
|
+
}
|
|
49
|
+
Fragment.validate = validate;
|
|
36
50
|
})(Fragment || (Fragment = {}));
|
|
37
51
|
//# sourceMappingURL=Fragment.js.map
|
|
@@ -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;AAgBnC,MAAM,KAAW,QAAQ,
|
|
1
|
+
{"version":3,"file":"Fragment.js","sourceRoot":"../","sources":["Treasury/Snapshot/Fragment.ts"],"names":[],"mappings":"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"}
|