@capxul/cli 4.20.0-beta.14 → 4.20.0-beta.17
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/README.md +16 -5
- package/dist/browser/signer.js +405 -60
- package/dist/browser/signer.js.map +1 -1
- package/dist/main.mjs +2692 -2140
- package/dist/main.mjs.map +1 -1
- package/package.json +6 -5
package/README.md
CHANGED
|
@@ -126,17 +126,28 @@ In a terminal, omit required fields for guided flags and annotation input.
|
|
|
126
126
|
```sh
|
|
127
127
|
capxul document get --document-hash H --content-hash C --json
|
|
128
128
|
capxul document verify --document-hash H --content-hash C --json
|
|
129
|
-
capxul document render --document-hash H --content-hash C
|
|
129
|
+
capxul document render --document-hash H --content-hash C
|
|
130
|
+
capxul document render --document-hash H --content-hash C --output-dir ./documents --json
|
|
130
131
|
capxul document export --document-hash H --content-hash C --out original.bin
|
|
131
132
|
```
|
|
132
133
|
|
|
133
134
|
Each command uses the current authenticated session. Add `--email EMAIL` to
|
|
134
135
|
select a saved session. In a terminal, omit required fields to enter them.
|
|
135
|
-
`get` returns
|
|
136
|
-
reports `ok: false` when verification fails. `render`
|
|
137
|
-
|
|
136
|
+
`get` returns document metadata and saves a PDF. It does not print source bytes.
|
|
137
|
+
`verify` reports `ok: false` when verification fails. `render` saves a PDF and its
|
|
138
|
+
self-contained HTML source in the `documents` directory next to CLI settings.
|
|
139
|
+
Use `--output-dir` to change this directory. Human and JSON output contain
|
|
140
|
+
file metadata. Each render uses a new private directory and preserves earlier
|
|
141
|
+
files. `export` writes the original bytes to a new file.
|
|
138
142
|
It refuses an existing output file.
|
|
139
143
|
|
|
144
|
+
Personal and Organization Payment `send`, `get`, `wait`, `retry`, and `list`
|
|
145
|
+
also save available documents as PDFs. Activity detail and Payroll results
|
|
146
|
+
save available documents in the same directory. Their results include
|
|
147
|
+
document output metadata.
|
|
148
|
+
Pending or unavailable documents retain that state. A document failure does
|
|
149
|
+
not change the Payment result or start another Payment.
|
|
150
|
+
|
|
140
151
|
## Contact commands
|
|
141
152
|
|
|
142
153
|
```sh
|
|
@@ -252,7 +263,7 @@ capxul org payment send
|
|
|
252
263
|
```
|
|
253
264
|
|
|
254
265
|
The Organization input adds its exact Budget ID as `permissionId`. It supports
|
|
255
|
-
the same recipient, amount, and
|
|
266
|
+
the same recipient, amount, and document fields as Personal send. It rejects
|
|
256
267
|
`timing` and payload actor, Organization, key, and lineage overrides. Scripted
|
|
257
268
|
calls require an explicit Organization, request identity, and `--confirm`.
|
|
258
269
|
A human terminal collects missing input and previews the selected actor, exact
|
package/dist/browser/signer.js
CHANGED
|
@@ -18772,6 +18772,7 @@
|
|
|
18772
18772
|
moneyExecution: {
|
|
18773
18773
|
abandonPaymentExecution: "moneyExecution.abandonPaymentExecution",
|
|
18774
18774
|
prepareOrganizationPaymentExecution: "moneyExecution.prepareOrganizationPaymentExecution",
|
|
18775
|
+
prepareRequestPaymentExecution: "moneyExecution.prepareRequestPaymentExecution",
|
|
18775
18776
|
preparePaymentExecution: "moneyExecution.preparePaymentExecution",
|
|
18776
18777
|
preparePaymentLifecycleExecution: "moneyExecution.preparePaymentLifecycleExecution",
|
|
18777
18778
|
prepareInvitationConfiguration: "moneyExecution.prepareInvitationConfiguration",
|
|
@@ -18789,6 +18790,7 @@
|
|
|
18789
18790
|
},
|
|
18790
18791
|
inbox: {
|
|
18791
18792
|
approve: "inbox.approve",
|
|
18793
|
+
fulfill: "inbox.fulfill",
|
|
18792
18794
|
decline: "inbox.decline",
|
|
18793
18795
|
list: "inbox.list"
|
|
18794
18796
|
},
|
|
@@ -20718,6 +20720,7 @@
|
|
|
20718
20720
|
cancel: "financialOps/requestsInbox:cancel",
|
|
20719
20721
|
decline: "financialOps/requestsInbox:decline",
|
|
20720
20722
|
get: "financialOps/requestsInbox:get",
|
|
20723
|
+
getByLink: "financialOps/requestsInbox:getByLink",
|
|
20721
20724
|
inboxList: "financialOps/requestsInbox:inboxList",
|
|
20722
20725
|
issue: "financialOps/requestsInbox:issue",
|
|
20723
20726
|
list: "financialOps/requestsInbox:list"
|
|
@@ -20753,6 +20756,7 @@
|
|
|
20753
20756
|
preparePaymentLifecycleExecution: "moneyExecution/paymentCommandActions:preparePaymentLifecycleExecution",
|
|
20754
20757
|
prepareScopedPaymentLifecycleExecution: "moneyExecution/paymentCommandActions:prepareScopedPaymentLifecycleExecution",
|
|
20755
20758
|
prepareOrganizationPaymentExecution: "moneyExecution/paymentCommandActions:prepareOrganizationPaymentExecution",
|
|
20759
|
+
prepareRequestPaymentExecution: "moneyExecution/paymentCommandActions:prepareRequestPaymentExecution",
|
|
20756
20760
|
submitPaymentCommandExecution: "moneyExecution/paymentCommandActions:submitPaymentCommandExecution"
|
|
20757
20761
|
},
|
|
20758
20762
|
"moneyExecution/providerSendWitness": { read: "moneyExecution/providerSendWitness:read" },
|
|
@@ -21126,6 +21130,23 @@
|
|
|
21126
21130
|
signature: optional(SignatureV3Schema)
|
|
21127
21131
|
})
|
|
21128
21132
|
]);
|
|
21133
|
+
const PAYMENT_DOCUMENT_V4_SALT = "0x9fcb24a0f8fe0f0d90d5c0be51afbed1dc31d4d27bf4d189be42f34f897f1c0d";
|
|
21134
|
+
const SupportedPaymentDocumentEnvelopeSchema = Union([PaymentDocumentEnvelopeV3Schema, Struct({
|
|
21135
|
+
protocol: Literal("capxul.payment-document"),
|
|
21136
|
+
version: Literal(4),
|
|
21137
|
+
domain: Struct({
|
|
21138
|
+
...PaymentDocumentDomainV3Schema.fields,
|
|
21139
|
+
version: Literal("4"),
|
|
21140
|
+
salt: Literal(PAYMENT_DOCUMENT_V4_SALT)
|
|
21141
|
+
}),
|
|
21142
|
+
primaryType: Literal("Invoice"),
|
|
21143
|
+
message: Struct({
|
|
21144
|
+
...InvoiceV3Schema.fields,
|
|
21145
|
+
note: NoteV3Schema,
|
|
21146
|
+
discountMinor: Uint256StringSchema$1
|
|
21147
|
+
}),
|
|
21148
|
+
signature: optional(SignatureV3Schema)
|
|
21149
|
+
})]);
|
|
21129
21150
|
function decodedBase64Size(value) {
|
|
21130
21151
|
const padding = value.endsWith("==") ? 2 : value.endsWith("=") ? 1 : 0;
|
|
21131
21152
|
return value.length / 4 * 3 - padding;
|
|
@@ -21137,6 +21158,8 @@
|
|
|
21137
21158
|
payerRef: AssertionV3Schema,
|
|
21138
21159
|
payeeRef: AssertionV3Schema,
|
|
21139
21160
|
dueAt: Uint64V3Schema,
|
|
21161
|
+
note: optional(NoteV3Schema),
|
|
21162
|
+
discountMinor: optional(Uint256StringSchema$1),
|
|
21140
21163
|
lineItems: ArraySchema(LineItemV3Schema).check(makeFilter((items) => items.length <= 100))
|
|
21141
21164
|
});
|
|
21142
21165
|
const PaymentInstructionInputSchema = Union([
|
|
@@ -21185,7 +21208,11 @@
|
|
|
21185
21208
|
"payslip",
|
|
21186
21209
|
"receipt"
|
|
21187
21210
|
]),
|
|
21188
|
-
format: Literals([
|
|
21211
|
+
format: Literals([
|
|
21212
|
+
"envelope-v3",
|
|
21213
|
+
"envelope-v4",
|
|
21214
|
+
"artifact"
|
|
21215
|
+
]),
|
|
21189
21216
|
role: Literals([
|
|
21190
21217
|
"instruction",
|
|
21191
21218
|
"movement",
|
|
@@ -21245,7 +21272,7 @@
|
|
|
21245
21272
|
]);
|
|
21246
21273
|
const PaymentDocumentBundleV3Schema = Struct({
|
|
21247
21274
|
originId: CanonicalBytes32V3Schema,
|
|
21248
|
-
envelope:
|
|
21275
|
+
envelope: SupportedPaymentDocumentEnvelopeSchema,
|
|
21249
21276
|
lineItems: optional(ArraySchema(LineItemV3Schema).check(makeFilter((items) => items.length <= 100))),
|
|
21250
21277
|
adjustments: optional(ArraySchema(AdjustmentV3Schema).check(makeFilter((items) => items.length <= 100))),
|
|
21251
21278
|
supportingDocuments: ArraySchema(DocumentRefV3Schema)
|
|
@@ -21556,10 +21583,11 @@
|
|
|
21556
21583
|
kind: Literal("account"),
|
|
21557
21584
|
accountId: nonEmpty("accountId")
|
|
21558
21585
|
});
|
|
21559
|
-
const
|
|
21586
|
+
const OrganizationActorRefSchema = Struct({
|
|
21560
21587
|
kind: Literal("organization"),
|
|
21561
21588
|
orgId: nonEmpty("orgId")
|
|
21562
|
-
})
|
|
21589
|
+
});
|
|
21590
|
+
const ActorRefSchema = Union([AccountActorRefSchema, OrganizationActorRefSchema]);
|
|
21563
21591
|
const hasActorBoundPermission = (actor, orgId, permissionId) => actor.kind === "organization" ? orgId === actor.orgId && permissionId !== void 0 : orgId === void 0 && permissionId === void 0;
|
|
21564
21592
|
const ActorOrDestinationRefSchema = Union([ActorRefSchema, Struct({
|
|
21565
21593
|
kind: Literal("destination"),
|
|
@@ -22615,19 +22643,50 @@
|
|
|
22615
22643
|
items: ArraySchema(OrganizationPaymentExecutionItemSchema).check(makeFilter((items) => is(PaymentDocumentOptionsBatchSchema)(items))),
|
|
22616
22644
|
lineage: optional(PaymentCommandLineageSchema)
|
|
22617
22645
|
});
|
|
22646
|
+
const RequestPaymentConfirmationFields = {
|
|
22647
|
+
requestId: nonEmpty("requestId"),
|
|
22648
|
+
release: ReleaseTermsSchema,
|
|
22649
|
+
issuerSafe: SafeAddressSchema,
|
|
22650
|
+
amount: FinancialOpsAssetAmount,
|
|
22651
|
+
instruction: DocumentRefV3Schema
|
|
22652
|
+
};
|
|
22653
|
+
const RequestPaymentConfirmationSchema = Union([Struct({
|
|
22654
|
+
...RequestPaymentConfirmationFields,
|
|
22655
|
+
payer: Struct({ kind: Literal("account") }),
|
|
22656
|
+
permissionId: optional(Never)
|
|
22657
|
+
}), Struct({
|
|
22658
|
+
...RequestPaymentConfirmationFields,
|
|
22659
|
+
payer: OrganizationActorRefSchema,
|
|
22660
|
+
permissionId: PermissionIdSchema
|
|
22661
|
+
})]);
|
|
22662
|
+
Struct({
|
|
22663
|
+
confirmation: RequestPaymentConfirmationSchema,
|
|
22664
|
+
signerAddress: AddressSchema
|
|
22665
|
+
});
|
|
22666
|
+
const RequestPaymentExecutionEvidenceSchema = Struct({
|
|
22667
|
+
kind: Literal("payment_request"),
|
|
22668
|
+
confirmation: RequestPaymentConfirmationSchema,
|
|
22669
|
+
actor: ActorRefSchema,
|
|
22670
|
+
requestKey: nonEmpty("requestKey"),
|
|
22671
|
+
items: ArraySchema(PaymentBirthItemSchema)
|
|
22672
|
+
});
|
|
22618
22673
|
const PreparedPaymentCommandExecutionSchema = Struct({
|
|
22619
22674
|
recipientObservations: ArraySchema(RecipientObservationSchema),
|
|
22620
22675
|
emitPaymentInitiated: Boolean$1,
|
|
22621
22676
|
executionId: MoneyExecutionIdSchema,
|
|
22622
22677
|
commandId: PaymentCommandIdSchema,
|
|
22623
22678
|
paymentIds: ArraySchema(PaymentIdSchema),
|
|
22624
|
-
request: Union([
|
|
22625
|
-
|
|
22626
|
-
|
|
22627
|
-
|
|
22628
|
-
|
|
22629
|
-
|
|
22630
|
-
|
|
22679
|
+
request: Union([
|
|
22680
|
+
RequestPaymentExecutionEvidenceSchema,
|
|
22681
|
+
PaymentLifecycleExecutionIntentSchema,
|
|
22682
|
+
Struct({
|
|
22683
|
+
orgId: nonEmpty("orgId"),
|
|
22684
|
+
permissionId: PermissionIdSchema,
|
|
22685
|
+
requestKey: nonEmpty("requestKey"),
|
|
22686
|
+
items: ArraySchema(OrganizationPaymentExecutionItemSchema),
|
|
22687
|
+
lineage: optional(PaymentCommandLineageSchema)
|
|
22688
|
+
})
|
|
22689
|
+
]),
|
|
22631
22690
|
chainId: BaseSepoliaChainIdSchema,
|
|
22632
22691
|
signerAddress: AddressSchema,
|
|
22633
22692
|
userOpSenderSafe: SafeAddressSchema,
|
|
@@ -22645,7 +22704,26 @@
|
|
|
22645
22704
|
documentHash: NonzeroDocumentHashSchema
|
|
22646
22705
|
})),
|
|
22647
22706
|
documentBundles: optional(ArraySchema(PaymentDocumentBundleV3Schema))
|
|
22648
|
-
})
|
|
22707
|
+
}).check(makeFilter((execution) => {
|
|
22708
|
+
if (!("kind" in execution.request) || execution.request.kind !== "payment_request") return true;
|
|
22709
|
+
const source = execution.sourceCommand;
|
|
22710
|
+
const prepared = execution.preparedCommand;
|
|
22711
|
+
if (source?.kind !== "birth" || prepared === void 0 || source.lineage?.kind !== "payment_request") return false;
|
|
22712
|
+
if (source.lineage.requestId !== execution.request.confirmation.requestId || source.requestKey !== execution.request.requestKey || source.requestKey !== execution.request.confirmation.requestId || execution.userOperation === void 0) return false;
|
|
22713
|
+
if ([
|
|
22714
|
+
source.items.length,
|
|
22715
|
+
execution.request.items.length,
|
|
22716
|
+
execution.paymentIds.length,
|
|
22717
|
+
execution.sourcePaymentIds?.length,
|
|
22718
|
+
execution.sourceRecipientSafes?.length,
|
|
22719
|
+
execution.documentBundles?.length,
|
|
22720
|
+
prepared.items.length,
|
|
22721
|
+
prepared.documentBundles?.length,
|
|
22722
|
+
prepared.instructionDocuments?.length
|
|
22723
|
+
].some((length) => length !== 1)) return false;
|
|
22724
|
+
const item = prepared.items[0];
|
|
22725
|
+
return "recipientSafe" in item && item.operation === source.items[0].operation && item.operation === execution.request.items[0].operation && item.paymentId === execution.paymentIds[0] && item.paymentId === execution.sourcePaymentIds?.[0] && item.recipientSafe === execution.sourceRecipientSafes?.[0];
|
|
22726
|
+
}));
|
|
22649
22727
|
const StoredPermissionIntentSchema = Union([Struct({
|
|
22650
22728
|
type: Literal("budget"),
|
|
22651
22729
|
asset: AssetIdSchema,
|
|
@@ -23218,6 +23296,240 @@
|
|
|
23218
23296
|
decimals: nonNegativeInteger("decimals"),
|
|
23219
23297
|
effectiveFrom: nonNegativeInteger("effectiveFrom")
|
|
23220
23298
|
});
|
|
23299
|
+
/** Version 3 field order is fixed by the accepted Documents contract. */
|
|
23300
|
+
const PAYMENT_DOCUMENT_V3_EIP712_TYPES = {
|
|
23301
|
+
EIP712Domain: [
|
|
23302
|
+
{
|
|
23303
|
+
name: "name",
|
|
23304
|
+
type: "string"
|
|
23305
|
+
},
|
|
23306
|
+
{
|
|
23307
|
+
name: "version",
|
|
23308
|
+
type: "string"
|
|
23309
|
+
},
|
|
23310
|
+
{
|
|
23311
|
+
name: "chainId",
|
|
23312
|
+
type: "uint256"
|
|
23313
|
+
},
|
|
23314
|
+
{
|
|
23315
|
+
name: "salt",
|
|
23316
|
+
type: "bytes32"
|
|
23317
|
+
}
|
|
23318
|
+
],
|
|
23319
|
+
ExactAssetV3: [
|
|
23320
|
+
{
|
|
23321
|
+
name: "asset",
|
|
23322
|
+
type: "string"
|
|
23323
|
+
},
|
|
23324
|
+
{
|
|
23325
|
+
name: "minorUnits",
|
|
23326
|
+
type: "uint256"
|
|
23327
|
+
},
|
|
23328
|
+
{
|
|
23329
|
+
name: "decimals",
|
|
23330
|
+
type: "uint8"
|
|
23331
|
+
}
|
|
23332
|
+
],
|
|
23333
|
+
ReceiptAmountV3: [
|
|
23334
|
+
{
|
|
23335
|
+
name: "denomination",
|
|
23336
|
+
type: "uint8"
|
|
23337
|
+
},
|
|
23338
|
+
{
|
|
23339
|
+
name: "currency",
|
|
23340
|
+
type: "string"
|
|
23341
|
+
},
|
|
23342
|
+
{
|
|
23343
|
+
name: "asset",
|
|
23344
|
+
type: "string"
|
|
23345
|
+
},
|
|
23346
|
+
{
|
|
23347
|
+
name: "minorUnits",
|
|
23348
|
+
type: "uint256"
|
|
23349
|
+
},
|
|
23350
|
+
{
|
|
23351
|
+
name: "decimals",
|
|
23352
|
+
type: "uint8"
|
|
23353
|
+
}
|
|
23354
|
+
],
|
|
23355
|
+
Memo: [
|
|
23356
|
+
{
|
|
23357
|
+
name: "kind",
|
|
23358
|
+
type: "uint8"
|
|
23359
|
+
},
|
|
23360
|
+
{
|
|
23361
|
+
name: "originId",
|
|
23362
|
+
type: "bytes32"
|
|
23363
|
+
},
|
|
23364
|
+
{
|
|
23365
|
+
name: "issuedAt",
|
|
23366
|
+
type: "uint64"
|
|
23367
|
+
},
|
|
23368
|
+
{
|
|
23369
|
+
name: "basis",
|
|
23370
|
+
type: "uint8"
|
|
23371
|
+
},
|
|
23372
|
+
{
|
|
23373
|
+
name: "reference",
|
|
23374
|
+
type: "string"
|
|
23375
|
+
},
|
|
23376
|
+
{
|
|
23377
|
+
name: "note",
|
|
23378
|
+
type: "string"
|
|
23379
|
+
},
|
|
23380
|
+
{
|
|
23381
|
+
name: "amount",
|
|
23382
|
+
type: "ExactAssetV3"
|
|
23383
|
+
},
|
|
23384
|
+
{
|
|
23385
|
+
name: "source",
|
|
23386
|
+
type: "address"
|
|
23387
|
+
},
|
|
23388
|
+
{
|
|
23389
|
+
name: "destination",
|
|
23390
|
+
type: "address"
|
|
23391
|
+
},
|
|
23392
|
+
{
|
|
23393
|
+
name: "movementRef",
|
|
23394
|
+
type: "string"
|
|
23395
|
+
}
|
|
23396
|
+
],
|
|
23397
|
+
Invoice: [
|
|
23398
|
+
{
|
|
23399
|
+
name: "kind",
|
|
23400
|
+
type: "uint8"
|
|
23401
|
+
},
|
|
23402
|
+
{
|
|
23403
|
+
name: "originId",
|
|
23404
|
+
type: "bytes32"
|
|
23405
|
+
},
|
|
23406
|
+
{
|
|
23407
|
+
name: "issuedAt",
|
|
23408
|
+
type: "uint64"
|
|
23409
|
+
},
|
|
23410
|
+
{
|
|
23411
|
+
name: "invoiceNumber",
|
|
23412
|
+
type: "string"
|
|
23413
|
+
},
|
|
23414
|
+
{
|
|
23415
|
+
name: "payerRef",
|
|
23416
|
+
type: "string"
|
|
23417
|
+
},
|
|
23418
|
+
{
|
|
23419
|
+
name: "payeeRef",
|
|
23420
|
+
type: "string"
|
|
23421
|
+
},
|
|
23422
|
+
{
|
|
23423
|
+
name: "amount",
|
|
23424
|
+
type: "ExactAssetV3"
|
|
23425
|
+
},
|
|
23426
|
+
{
|
|
23427
|
+
name: "target",
|
|
23428
|
+
type: "address"
|
|
23429
|
+
},
|
|
23430
|
+
{
|
|
23431
|
+
name: "dueAt",
|
|
23432
|
+
type: "uint64"
|
|
23433
|
+
},
|
|
23434
|
+
{
|
|
23435
|
+
name: "lineItemsHash",
|
|
23436
|
+
type: "bytes32"
|
|
23437
|
+
}
|
|
23438
|
+
],
|
|
23439
|
+
Payslip: [
|
|
23440
|
+
{
|
|
23441
|
+
name: "kind",
|
|
23442
|
+
type: "uint8"
|
|
23443
|
+
},
|
|
23444
|
+
{
|
|
23445
|
+
name: "originId",
|
|
23446
|
+
type: "bytes32"
|
|
23447
|
+
},
|
|
23448
|
+
{
|
|
23449
|
+
name: "issuedAt",
|
|
23450
|
+
type: "uint64"
|
|
23451
|
+
},
|
|
23452
|
+
{
|
|
23453
|
+
name: "runId",
|
|
23454
|
+
type: "string"
|
|
23455
|
+
},
|
|
23456
|
+
{
|
|
23457
|
+
name: "itemIndex",
|
|
23458
|
+
type: "uint64"
|
|
23459
|
+
},
|
|
23460
|
+
{
|
|
23461
|
+
name: "employerRef",
|
|
23462
|
+
type: "string"
|
|
23463
|
+
},
|
|
23464
|
+
{
|
|
23465
|
+
name: "employeeRef",
|
|
23466
|
+
type: "string"
|
|
23467
|
+
},
|
|
23468
|
+
{
|
|
23469
|
+
name: "periodStart",
|
|
23470
|
+
type: "uint64"
|
|
23471
|
+
},
|
|
23472
|
+
{
|
|
23473
|
+
name: "periodEnd",
|
|
23474
|
+
type: "uint64"
|
|
23475
|
+
},
|
|
23476
|
+
{
|
|
23477
|
+
name: "gross",
|
|
23478
|
+
type: "ExactAssetV3"
|
|
23479
|
+
},
|
|
23480
|
+
{
|
|
23481
|
+
name: "net",
|
|
23482
|
+
type: "ExactAssetV3"
|
|
23483
|
+
},
|
|
23484
|
+
{
|
|
23485
|
+
name: "target",
|
|
23486
|
+
type: "address"
|
|
23487
|
+
},
|
|
23488
|
+
{
|
|
23489
|
+
name: "adjustmentsHash",
|
|
23490
|
+
type: "bytes32"
|
|
23491
|
+
}
|
|
23492
|
+
],
|
|
23493
|
+
Receipt: [
|
|
23494
|
+
{
|
|
23495
|
+
name: "kind",
|
|
23496
|
+
type: "uint8"
|
|
23497
|
+
},
|
|
23498
|
+
{
|
|
23499
|
+
name: "originId",
|
|
23500
|
+
type: "bytes32"
|
|
23501
|
+
},
|
|
23502
|
+
{
|
|
23503
|
+
name: "issuedAt",
|
|
23504
|
+
type: "uint64"
|
|
23505
|
+
},
|
|
23506
|
+
{
|
|
23507
|
+
name: "reference",
|
|
23508
|
+
type: "string"
|
|
23509
|
+
},
|
|
23510
|
+
{
|
|
23511
|
+
name: "issuerRef",
|
|
23512
|
+
type: "string"
|
|
23513
|
+
},
|
|
23514
|
+
{
|
|
23515
|
+
name: "recipientRef",
|
|
23516
|
+
type: "string"
|
|
23517
|
+
},
|
|
23518
|
+
{
|
|
23519
|
+
name: "amount",
|
|
23520
|
+
type: "ReceiptAmountV3"
|
|
23521
|
+
},
|
|
23522
|
+
{
|
|
23523
|
+
name: "paidAt",
|
|
23524
|
+
type: "uint64"
|
|
23525
|
+
},
|
|
23526
|
+
{
|
|
23527
|
+
name: "note",
|
|
23528
|
+
type: "string"
|
|
23529
|
+
}
|
|
23530
|
+
]
|
|
23531
|
+
};
|
|
23532
|
+
({ ...PAYMENT_DOCUMENT_V3_EIP712_TYPES }), [...PAYMENT_DOCUMENT_V3_EIP712_TYPES.Invoice];
|
|
23221
23533
|
ArraySchema(LineItemV3Schema).check(makeFilter((items) => items.length <= 100));
|
|
23222
23534
|
ArraySchema(AdjustmentV3Schema).check(makeFilter((items) => items.length <= 100));
|
|
23223
23535
|
//#endregion
|
|
@@ -23406,50 +23718,83 @@
|
|
|
23406
23718
|
amount: AmountV2Schema
|
|
23407
23719
|
}));
|
|
23408
23720
|
`
|
|
23409
|
-
|
|
23410
|
-
|
|
23411
|
-
color:var(--ink);background
|
|
23412
|
-
|
|
23413
|
-
line-height:1.
|
|
23721
|
+
@page{size:A4;margin:14mm}
|
|
23722
|
+
.capxul-doc{--ink:#171717;--muted:#737373;--line:#e5e5e5;--accent:#f97316;
|
|
23723
|
+
box-sizing:border-box;font-family:Geist,Arial,sans-serif;color:var(--ink);background:#fafafa;
|
|
23724
|
+
width:100%;max-width:550px;min-height:778px;margin:0 auto;padding:8px;
|
|
23725
|
+
border:1px solid #d4d4d4;border-radius:16px;line-height:1.4;font-size:10px;
|
|
23726
|
+
overflow-wrap:anywhere;word-break:break-word}
|
|
23414
23727
|
.capxul-doc *{box-sizing:border-box;min-width:0}
|
|
23415
|
-
.capxul-doc .doc-header{display:flex;flex-
|
|
23416
|
-
.capxul-doc .doc-brand{display:flex;align-items:center;
|
|
23417
|
-
.capxul-doc .doc-brand-mark{font-size:
|
|
23418
|
-
.capxul-doc .doc-
|
|
23419
|
-
.capxul-doc .doc-
|
|
23420
|
-
.capxul-doc .doc-
|
|
23421
|
-
.capxul-doc .doc-
|
|
23422
|
-
|
|
23423
|
-
.capxul-doc .doc-parties{display:grid;grid-template-columns:1fr 1fr;gap:
|
|
23424
|
-
.capxul-doc .doc-party{display:flex;flex-direction:column;gap
|
|
23425
|
-
.capxul-doc .doc-party-
|
|
23426
|
-
.capxul-doc .doc-party-
|
|
23427
|
-
.capxul-doc .doc-
|
|
23428
|
-
.capxul-doc .doc-meta
|
|
23429
|
-
.capxul-doc .doc-meta-
|
|
23430
|
-
.capxul-doc .doc-meta-value{
|
|
23431
|
-
.capxul-doc
|
|
23432
|
-
.capxul-doc .doc-line-items{
|
|
23433
|
-
.capxul-doc .doc-line-items
|
|
23434
|
-
|
|
23435
|
-
.capxul-doc .doc-line-items
|
|
23436
|
-
.capxul-doc .doc-
|
|
23437
|
-
.capxul-doc .doc-li-
|
|
23438
|
-
.capxul-doc .doc-
|
|
23439
|
-
.capxul-doc .doc-
|
|
23440
|
-
.capxul-doc .doc-
|
|
23441
|
-
.capxul-doc .doc-
|
|
23442
|
-
.capxul-doc .doc-
|
|
23443
|
-
.capxul-doc .doc-total-
|
|
23444
|
-
.capxul-doc .doc-
|
|
23445
|
-
.capxul-doc .doc-
|
|
23446
|
-
.capxul-doc .doc-
|
|
23447
|
-
.capxul-doc .doc-
|
|
23448
|
-
.capxul-doc .doc-
|
|
23449
|
-
.capxul-doc .doc-
|
|
23450
|
-
.capxul-doc .doc-footer{
|
|
23451
|
-
.capxul-doc code{font-family:
|
|
23452
|
-
|
|
23728
|
+
.capxul-doc .doc-header{display:flex;align-items:flex-start;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--line)}
|
|
23729
|
+
.capxul-doc .doc-brand{display:flex;gap:4px;align-items:center;color:var(--accent);font-weight:600}
|
|
23730
|
+
.capxul-doc .doc-brand-mark{font-size:16px}
|
|
23731
|
+
.capxul-doc .doc-headline{flex:1}
|
|
23732
|
+
.capxul-doc .doc-title{font-size:16px;font-weight:500;margin:0 0 4px}
|
|
23733
|
+
.capxul-doc .doc-badge{color:var(--muted);font-size:10px}
|
|
23734
|
+
.capxul-doc .doc-header-meta{display:flex;gap:16px;max-width:50%;font-size:10px}
|
|
23735
|
+
.capxul-doc .doc-header-meta .doc-meta-row{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
|
|
23736
|
+
.capxul-doc .doc-parties{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:8px 0;margin-bottom:16px;border-bottom:1px solid var(--line);break-inside:avoid}
|
|
23737
|
+
.capxul-doc .doc-party{padding:8px;display:flex;flex-direction:column;gap:8px}
|
|
23738
|
+
.capxul-doc .doc-party:first-child{background:rgba(234,88,12,.03);border-radius:8px}
|
|
23739
|
+
.capxul-doc .doc-party-label,.capxul-doc .doc-meta-label,.capxul-doc .doc-total-label,.capxul-doc .doc-hero-label{color:var(--muted);font-size:10px}
|
|
23740
|
+
.capxul-doc .doc-party-name{font-size:16px;font-weight:500}
|
|
23741
|
+
.capxul-doc .doc-meta{margin:16px 8px}
|
|
23742
|
+
.capxul-doc .doc-meta-row{display:flex;justify-content:space-between;gap:16px;margin-bottom:6px}
|
|
23743
|
+
.capxul-doc .doc-meta-value{text-align:right}
|
|
23744
|
+
.capxul-doc .doc-line-items{width:100%;border-collapse:collapse;table-layout:fixed;margin:8px 0 16px}
|
|
23745
|
+
.capxul-doc .doc-line-items thead{display:table-header-group}
|
|
23746
|
+
.capxul-doc .doc-line-items tr{break-inside:avoid}
|
|
23747
|
+
.capxul-doc .doc-line-items th{font-weight:500;font-size:10px;color:var(--muted);text-align:right;padding:8px}
|
|
23748
|
+
.capxul-doc .doc-line-items th:first-child{text-align:left;width:46%}
|
|
23749
|
+
.capxul-doc .doc-line-items td{padding:12px 8px;border-bottom:1px solid var(--line);vertical-align:top}
|
|
23750
|
+
.capxul-doc .doc-li-qty,.capxul-doc .doc-li-unit,.capxul-doc .doc-li-total{text-align:right;font-variant-numeric:tabular-nums}
|
|
23751
|
+
.capxul-doc .doc-summary{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;margin-bottom:16px}
|
|
23752
|
+
.capxul-doc .doc-body{padding:8px}
|
|
23753
|
+
.capxul-doc .doc-section-title{font-size:12px;font-weight:500;margin:0 0 8px}
|
|
23754
|
+
.capxul-doc .doc-note{margin:0;white-space:pre-wrap;line-height:1.6}
|
|
23755
|
+
.capxul-doc .doc-totals{grid-column:2;padding:8px;break-inside:avoid}
|
|
23756
|
+
.capxul-doc .doc-total-line{display:flex;justify-content:space-between;gap:12px;padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid var(--line)}
|
|
23757
|
+
.capxul-doc .doc-total-label{flex-shrink:0}
|
|
23758
|
+
.capxul-doc .doc-total-grand{border:0;font-size:14px}
|
|
23759
|
+
.capxul-doc .doc-amount-value{font-weight:500;font-variant-numeric:tabular-nums;text-align:right}
|
|
23760
|
+
.capxul-doc .doc-payment{padding:12px;background:#f5f5f5;border-radius:8px;break-inside:avoid}
|
|
23761
|
+
.capxul-doc .doc-hero{padding:16px;background:#f5f5f5;border-radius:8px;margin-bottom:16px;break-inside:avoid}
|
|
23762
|
+
.capxul-doc .doc-hero-amount{font-size:24px;margin-top:4px;font-weight:500}
|
|
23763
|
+
.capxul-doc .doc-footer{padding:8px;margin-top:16px;border-top:1px solid var(--line);color:var(--muted)}
|
|
23764
|
+
.capxul-doc code,.capxul-doc .doc-dest-address{font-family:Geist,Arial,sans-serif;font-size:10px;word-break:break-all}
|
|
23765
|
+
.capxul-doc--invoice .doc-header{padding:8px;gap:24px}
|
|
23766
|
+
.capxul-doc--invoice .doc-title{font-size:10px;color:var(--muted);margin:0 0 2px}
|
|
23767
|
+
.capxul-doc--invoice .doc-badge{color:var(--ink);font-weight:500}
|
|
23768
|
+
.capxul-doc--invoice .doc-header-meta{gap:24px}
|
|
23769
|
+
.capxul-doc--invoice{display:flex;flex-direction:column;gap:8px;font-weight:500}
|
|
23770
|
+
.capxul-doc--invoice .doc-header{border:0}
|
|
23771
|
+
.capxul-doc--invoice .doc-parties{gap:8px;padding:0;margin:0;border-top:1px solid var(--line);min-height:189px}
|
|
23772
|
+
.capxul-doc--invoice .doc-party{justify-content:flex-start}
|
|
23773
|
+
.capxul-doc--invoice .doc-header .doc-meta-row{margin-bottom:0}
|
|
23774
|
+
.capxul-doc--invoice .doc-party + .doc-party{border-left:1px solid var(--line)}
|
|
23775
|
+
.capxul-doc .doc-party-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid #d4d4d4;border-radius:8px;background:#fafafa}
|
|
23776
|
+
.capxul-doc .doc-party-icon img{width:20px;height:20px}
|
|
23777
|
+
.capxul-doc--invoice .doc-line-items{margin:0}
|
|
23778
|
+
.capxul-doc--invoice .doc-summary{gap:8px;margin:0}
|
|
23779
|
+
.capxul-doc--invoice .doc-section-title{font-size:10px;color:#525252;margin-bottom:6px}
|
|
23780
|
+
.capxul-doc--invoice .doc-note{font-weight:400;color:var(--muted)}
|
|
23781
|
+
.capxul-doc--invoice .doc-total-grand{font-size:12px}
|
|
23782
|
+
.capxul-doc--invoice .doc-payment{margin-top:auto;padding:8px}
|
|
23783
|
+
.capxul-doc .doc-powered{border-top:1px solid var(--line);padding-top:8px;color:var(--muted);font-size:10px}
|
|
23784
|
+
.capxul-doc .doc-powered span{color:var(--accent)}
|
|
23785
|
+
.capxul-doc--invoice .doc-payment-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:12px}
|
|
23786
|
+
.capxul-doc--invoice .doc-payment-heading h2{margin:0;font-size:12px;font-weight:500;color:#525252}
|
|
23787
|
+
.capxul-doc--invoice .doc-payment-content{display:grid;grid-template-columns:minmax(0,1fr) 149px;gap:8px;align-items:center;margin-bottom:12px}
|
|
23788
|
+
.capxul-doc--invoice .doc-payment-fields{display:flex;flex-direction:column;gap:12px;padding-right:8px}
|
|
23789
|
+
.capxul-doc--invoice .doc-payment-field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}
|
|
23790
|
+
.capxul-doc--invoice .doc-payment-selection{display:flex;align-items:center;gap:4px;padding:8px 12px;border:1px solid #d4d4d4;border-radius:8px;background:#fafafa;color:#525252;box-shadow:0 1px 4px #0000001a}
|
|
23791
|
+
.capxul-doc--invoice .doc-payment-selection .doc-chevron{margin-left:auto}
|
|
23792
|
+
.capxul-doc--invoice .doc-payment-address{display:flex;flex-direction:column;gap:4px;align-self:start;padding-top:4px}
|
|
23793
|
+
.capxul-doc--invoice .doc-payment-address>span{color:var(--accent)}
|
|
23794
|
+
.capxul-doc--invoice .doc-party-reference{display:flex;flex-direction:column;font-size:10px;color:var(--muted);gap:0}
|
|
23795
|
+
.capxul-doc--invoice .doc-party-email{font-size:12px;color:#525252;margin-bottom:8px}
|
|
23796
|
+
@media screen and (max-width:440px){.capxul-doc .doc-header{flex-wrap:wrap}.capxul-doc .doc-header-meta{max-width:100%}}
|
|
23797
|
+
@media print{.capxul-doc{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
|
|
23453
23798
|
`.trim();
|
|
23454
23799
|
//#endregion
|
|
23455
23800
|
//#region ../../packages/wire/src/client-authorization.ts
|
|
@@ -24370,11 +24715,8 @@
|
|
|
24370
24715
|
} });
|
|
24371
24716
|
}
|
|
24372
24717
|
createApi();
|
|
24373
|
-
CAPXUL_FUNCTIONS["financialOps/addressBook"].list, CAPXUL_FUNCTIONS["financialOps/addressBook"].get, CAPXUL_FUNCTIONS["financialOps/addressBook"].add, CAPXUL_FUNCTIONS["financialOps/addressBook"].hide, CAPXUL_FUNCTIONS["financialOps/addressBook"].unhide, CAPXUL_FUNCTIONS["financialOps/addressBook"].label, CAPXUL_FUNCTIONS["financialOps/requestsInbox"].issue, CAPXUL_FUNCTIONS["financialOps/requestsInbox"].list, CAPXUL_FUNCTIONS["financialOps/requestsInbox"].get, CAPXUL_FUNCTIONS["financialOps/requestsInbox"].cancel, CAPXUL_FUNCTIONS["financialOps/requestsInbox"].inboxList, CAPXUL_FUNCTIONS["financialOps/requestsInbox"].approve, CAPXUL_FUNCTIONS["financialOps/requestsInbox"].decline;
|
|
24374
|
-
CAPXUL_FUNCTIONS["
|
|
24375
|
-
CAPXUL_FUNCTIONS["moneyExecution/actions"].preparePermissionReplacementExecution, CAPXUL_FUNCTIONS["moneyExecution/actions"].abandonPaymentExecution, CAPXUL_FUNCTIONS["moneyExecution/actions"].prepareInvitationConfiguration, CAPXUL_FUNCTIONS["moneyExecution/actions"].preparePermissionExecution, CAPXUL_FUNCTIONS["moneyExecution/actions"].preparePaymentExecution, CAPXUL_FUNCTIONS["moneyExecution/paymentCommandActions"].prepareOrganizationPaymentExecution, CAPXUL_FUNCTIONS["moneyExecution/paymentCommandActions"].preparePaymentLifecycleExecution, CAPXUL_FUNCTIONS["moneyExecution/paymentCommandActions"].prepareScopedPaymentLifecycleExecution, CAPXUL_FUNCTIONS["moneyExecution/actions"].submitPaymentExecution, CAPXUL_FUNCTIONS["moneyExecution/actions"].submitInvitationConfigurationExecution, CAPXUL_FUNCTIONS["moneyExecution/actions"].submitPermissionExecution, CAPXUL_FUNCTIONS["moneyExecution/paymentCommandActions"].submitPaymentCommandExecution;
|
|
24376
|
-
TaggedError("IndexerReadError");
|
|
24377
|
-
Service()("@capxul/sdk/ports/IndexerReadPort");
|
|
24718
|
+
CAPXUL_FUNCTIONS["financialOps/addressBook"].list, CAPXUL_FUNCTIONS["financialOps/addressBook"].get, CAPXUL_FUNCTIONS["financialOps/addressBook"].add, CAPXUL_FUNCTIONS["financialOps/addressBook"].hide, CAPXUL_FUNCTIONS["financialOps/addressBook"].unhide, CAPXUL_FUNCTIONS["financialOps/addressBook"].label, CAPXUL_FUNCTIONS["financialOps/requestsInbox"].issue, CAPXUL_FUNCTIONS["financialOps/requestsInbox"].list, CAPXUL_FUNCTIONS["financialOps/requestsInbox"].get, CAPXUL_FUNCTIONS["financialOps/requestsInbox"].getByLink, CAPXUL_FUNCTIONS["financialOps/requestsInbox"].cancel, CAPXUL_FUNCTIONS["financialOps/requestsInbox"].inboxList, CAPXUL_FUNCTIONS["financialOps/requestsInbox"].approve, CAPXUL_FUNCTIONS["financialOps/requestsInbox"].decline;
|
|
24719
|
+
CAPXUL_FUNCTIONS["moneyExecution/paymentCommandActions"].prepareRequestPaymentExecution, CAPXUL_FUNCTIONS["moneyExecution/actions"].preparePermissionReplacementExecution, CAPXUL_FUNCTIONS["moneyExecution/actions"].abandonPaymentExecution, CAPXUL_FUNCTIONS["moneyExecution/actions"].prepareInvitationConfiguration, CAPXUL_FUNCTIONS["moneyExecution/actions"].preparePermissionExecution, CAPXUL_FUNCTIONS["moneyExecution/actions"].preparePaymentExecution, CAPXUL_FUNCTIONS["moneyExecution/paymentCommandActions"].prepareOrganizationPaymentExecution, CAPXUL_FUNCTIONS["moneyExecution/paymentCommandActions"].preparePaymentLifecycleExecution, CAPXUL_FUNCTIONS["moneyExecution/paymentCommandActions"].prepareScopedPaymentLifecycleExecution, CAPXUL_FUNCTIONS["moneyExecution/actions"].submitPaymentExecution, CAPXUL_FUNCTIONS["moneyExecution/actions"].submitInvitationConfigurationExecution, CAPXUL_FUNCTIONS["moneyExecution/actions"].submitPermissionExecution, CAPXUL_FUNCTIONS["moneyExecution/paymentCommandActions"].submitPaymentCommandExecution;
|
|
24378
24720
|
//#endregion
|
|
24379
24721
|
//#region ../../packages/sdk/src/surface/_shared/money-telemetry.ts
|
|
24380
24722
|
/** Fire-and-forget emit through an optional port; never throws. */
|
|
@@ -24402,6 +24744,9 @@
|
|
|
24402
24744
|
function isMoneyTelemetryDebugEnabled() {
|
|
24403
24745
|
return globalThis.process?.env?.CAPXUL_DEBUG_TELEMETRY === "1";
|
|
24404
24746
|
}
|
|
24747
|
+
CAPXUL_FUNCTIONS["financialOps/queries"].me, CAPXUL_FUNCTIONS["financialOps/queries"].depositInstructions, CAPXUL_FUNCTIONS["financialOps/queries"].resolveRecipient, CAPXUL_FUNCTIONS["financialOps/destinations"].add, CAPXUL_FUNCTIONS["financialOps/destinations"].list, CAPXUL_FUNCTIONS["financialOps/destinations"].remove, CAPXUL_FUNCTIONS["financialOps/queries"].listPayments, CAPXUL_FUNCTIONS["financialOps/queries"].getPayment, CAPXUL_FUNCTIONS["financialOps/queries"].listOrganizationPayments, CAPXUL_FUNCTIONS["financialOps/queries"].getOrganizationPayment, CAPXUL_FUNCTIONS["financialOps/queries"].previewOrganizationPaymentRetry, CAPXUL_FUNCTIONS["movement/activity"].list, CAPXUL_FUNCTIONS["movement/activity"].summary, CAPXUL_FUNCTIONS["movement/activity"].get, CAPXUL_FUNCTIONS["movement/activity"].annotate, CAPXUL_FUNCTIONS["movement/annotations"].overlay, CAPXUL_FUNCTIONS["financialOps/queries"].getPaymentDocument, CAPXUL_FUNCTIONS["financialOps/queries"].verifyPaymentDocument, CAPXUL_FUNCTIONS["financialOps/queries"].renderStoredDocument;
|
|
24748
|
+
TaggedError("IndexerReadError");
|
|
24749
|
+
Service()("@capxul/sdk/ports/IndexerReadPort");
|
|
24405
24750
|
Struct({
|
|
24406
24751
|
orgId: String$1,
|
|
24407
24752
|
payment: Unknown
|