@powerhousedao/contributor-billing 0.0.8 → 0.0.10
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/dist/document-models/invoice/gen/document-model.d.ts.map +1 -1
- package/dist/document-models/invoice/gen/document-model.js +27 -5
- package/dist/document-models/invoice/gen/general/actions.d.ts +5 -3
- package/dist/document-models/invoice/gen/general/actions.d.ts.map +1 -1
- package/dist/document-models/invoice/gen/general/creators.d.ts +5 -3
- package/dist/document-models/invoice/gen/general/creators.d.ts.map +1 -1
- package/dist/document-models/invoice/gen/general/creators.js +3 -1
- package/dist/document-models/invoice/gen/general/object.d.ts +4 -2
- package/dist/document-models/invoice/gen/general/object.d.ts.map +1 -1
- package/dist/document-models/invoice/gen/general/object.js +9 -3
- package/dist/document-models/invoice/gen/general/operations.d.ts +4 -2
- package/dist/document-models/invoice/gen/general/operations.d.ts.map +1 -1
- package/dist/document-models/invoice/gen/reducer.d.ts.map +1 -1
- package/dist/document-models/invoice/gen/reducer.js +11 -3
- package/dist/document-models/invoice/gen/schema/types.d.ts +13 -6
- package/dist/document-models/invoice/gen/schema/types.d.ts.map +1 -1
- package/dist/document-models/invoice/gen/schema/zod.d.ts +4 -2
- package/dist/document-models/invoice/gen/schema/zod.d.ts.map +1 -1
- package/dist/document-models/invoice/gen/schema/zod.js +19 -8
- package/dist/document-models/invoice/gen/utils.js +1 -1
- package/dist/document-models/invoice/index.d.ts +3 -1
- package/dist/document-models/invoice/index.d.ts.map +1 -1
- package/dist/document-models/invoice/src/reducers/general.d.ts.map +1 -1
- package/dist/document-models/invoice/src/reducers/general.js +30 -2
- package/dist/document-models/invoice/src/reducers/items.d.ts.map +1 -1
- package/dist/document-models/invoice/src/reducers/items.js +17 -10
- package/dist/document-models/invoice/src/tests/general.test.js +2 -2
- package/dist/editors/invoice/InvoicePDF.d.ts.map +1 -1
- package/dist/editors/invoice/InvoicePDF.js +11 -12
- package/dist/editors/invoice/editor.d.ts.map +1 -1
- package/dist/editors/invoice/editor.js +6 -17
- package/dist/editors/invoice/ingestPDF.js +1 -1
- package/dist/editors/invoice/invoiceToGnosis.d.ts.map +1 -1
- package/dist/editors/invoice/invoiceToGnosis.js +4 -25
- package/dist/editors/invoice/lineItemTags/lineItemTags.d.ts +20 -0
- package/dist/editors/invoice/lineItemTags/lineItemTags.d.ts.map +1 -0
- package/dist/editors/invoice/lineItemTags/lineItemTags.js +47 -0
- package/dist/editors/invoice/lineItemTags/tagMapping.d.ts +3 -0
- package/dist/editors/invoice/lineItemTags/tagMapping.d.ts.map +1 -0
- package/dist/editors/invoice/lineItemTags/tagMapping.js +62 -0
- package/dist/editors/invoice/lineItems.d.ts +7 -2
- package/dist/editors/invoice/lineItems.d.ts.map +1 -1
- package/dist/editors/invoice/lineItems.js +44 -15
- package/dist/editors/invoice/requestFinance.js +1 -1
- package/dist/editors/invoice/uploadPdfChunked.js +1 -1
- package/dist/scripts/invoice/exampleBatchTxn.js +1 -1
- package/dist/scripts/invoice/gnosisTransactionBuilder.d.ts +1 -1
- package/dist/scripts/invoice/gnosisTransactionBuilder.d.ts.map +1 -1
- package/dist/scripts/invoice/gnosisTransactionBuilder.js +26 -1
- package/dist/style.css +13 -0
- package/dist/subgraphs/invoice/customResolvers.d.ts +1 -1
- package/dist/subgraphs/invoice/customResolvers.d.ts.map +1 -1
- package/dist/subgraphs/invoice/customResolvers.js +4 -5
- package/dist/subgraphs/invoice/resolvers.d.ts.map +1 -1
- package/dist/subgraphs/invoice/resolvers.js +16 -2
- package/dist/subgraphs/invoice/schema.d.ts.map +1 -1
- package/dist/subgraphs/invoice/schema.js +24 -7
- package/dist/tailwind.config.js +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gnosisTransactionBuilder.d.ts","sourceRoot":"","sources":["../../../scripts/invoice/gnosisTransactionBuilder.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,WAAW,CAAC;IACzB,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,IAAI,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,aAAa,EAAE,CAAC;CACjC;
|
|
1
|
+
{"version":3,"file":"gnosisTransactionBuilder.d.ts","sourceRoot":"","sources":["../../../scripts/invoice/gnosisTransactionBuilder.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,WAAW,CAAC;IACzB,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,IAAI,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,aAAa,EAAE,CAAC;CACjC;AA6BD,iBAAe,uBAAuB,CACpC,SAAS,EAAE,MAAM,EACjB,mBAAmB,EAAE,aAAa,GAAG,aAAa,EAAE,GACnD,OAAO,CAAC,cAAc,CAAC,CAqFzB;AAED,OAAO,EAAE,uBAAuB,EAAE,CAAA"}
|
|
@@ -4,8 +4,33 @@ import { OperationType } from '@safe-global/types-kit';
|
|
|
4
4
|
import { ethers, AbiCoder } from 'ethers';
|
|
5
5
|
import dotenv from 'dotenv';
|
|
6
6
|
dotenv.config();
|
|
7
|
+
const safeAddress = process.env.DEV_STAGING_SAFE_ADDRESS;
|
|
8
|
+
if (!safeAddress) {
|
|
9
|
+
throw new Error('Missing SAFE_ADDRESS in .env');
|
|
10
|
+
}
|
|
11
|
+
const payerWallets = {
|
|
12
|
+
BASE: {
|
|
13
|
+
rpc: "https://base.llamarpc.com",
|
|
14
|
+
chainName: "Base",
|
|
15
|
+
chainId: "8453",
|
|
16
|
+
address: safeAddress, // Safe address
|
|
17
|
+
},
|
|
18
|
+
ETHEREUM: {
|
|
19
|
+
rpc: "https://eth.llamarpc.com",
|
|
20
|
+
chainName: "Ethereum",
|
|
21
|
+
chainId: "1",
|
|
22
|
+
address: safeAddress, // Safe address
|
|
23
|
+
},
|
|
24
|
+
"ARBITRUM ONE": {
|
|
25
|
+
rpc: "https://arb1.arbitrum.io/rpc",
|
|
26
|
+
chainName: "Arbitrum One",
|
|
27
|
+
chainId: "42161",
|
|
28
|
+
address: safeAddress, // Safe address
|
|
29
|
+
},
|
|
30
|
+
};
|
|
7
31
|
// --- Implementation ---
|
|
8
|
-
async function executeTransferProposal(
|
|
32
|
+
async function executeTransferProposal(chainName, paymentDetailsInput) {
|
|
33
|
+
const payerWallet = payerWallets[chainName.toUpperCase()];
|
|
9
34
|
const paymentDetails = Array.isArray(paymentDetailsInput)
|
|
10
35
|
? paymentDetailsInput
|
|
11
36
|
: [paymentDetailsInput];
|
package/dist/style.css
CHANGED
|
@@ -406,6 +406,9 @@
|
|
|
406
406
|
.flex-1 {
|
|
407
407
|
flex: 1;
|
|
408
408
|
}
|
|
409
|
+
.table-fixed {
|
|
410
|
+
table-layout: fixed;
|
|
411
|
+
}
|
|
409
412
|
.border-collapse {
|
|
410
413
|
border-collapse: collapse;
|
|
411
414
|
}
|
|
@@ -448,6 +451,9 @@
|
|
|
448
451
|
.justify-center {
|
|
449
452
|
justify-content: center;
|
|
450
453
|
}
|
|
454
|
+
.justify-end {
|
|
455
|
+
justify-content: flex-end;
|
|
456
|
+
}
|
|
451
457
|
.gap-2 {
|
|
452
458
|
gap: calc(var(--spacing) * 2);
|
|
453
459
|
}
|
|
@@ -607,6 +613,9 @@
|
|
|
607
613
|
.bg-yellow-100 {
|
|
608
614
|
background-color: var(--color-yellow-100);
|
|
609
615
|
}
|
|
616
|
+
.p-2 {
|
|
617
|
+
padding: calc(var(--spacing) * 2);
|
|
618
|
+
}
|
|
610
619
|
.p-3 {
|
|
611
620
|
padding: calc(var(--spacing) * 3);
|
|
612
621
|
}
|
|
@@ -655,6 +664,10 @@
|
|
|
655
664
|
.font-mono {
|
|
656
665
|
font-family: var(--font-mono);
|
|
657
666
|
}
|
|
667
|
+
.text-2xl {
|
|
668
|
+
font-size: var(--text-2xl);
|
|
669
|
+
line-height: var(--tw-leading, var(--text-2xl--line-height));
|
|
670
|
+
}
|
|
658
671
|
.text-3xl {
|
|
659
672
|
font-size: var(--text-3xl);
|
|
660
673
|
line-height: var(--tw-leading, var(--text-3xl--line-height));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"customResolvers.d.ts","sourceRoot":"","sources":["../../../subgraphs/invoice/customResolvers.ts"],"names":[],"mappings":"AAOA,QAAA,IAAI,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,
|
|
1
|
+
{"version":3,"file":"customResolvers.d.ts","sourceRoot":"","sources":["../../../subgraphs/invoice/customResolvers.ts"],"names":[],"mappings":"AAOA,QAAA,IAAI,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,GAAG,CAAC;IACpB,SAAS,EAAE,MAAM,CAAA;CACpB,CAAM,CAAC;AAyBR,eAAO,MAAM,4BAA4B,GAAU,GAAG,GAAG,EAAE,MAAM,GAAG;;;;;;;;EA8CnE,CAAC;AAEF,eAAO,MAAM,mCAAmC,GAAU,GAAG,GAAG,EAAE,MAAM,GAAG;;;;;;;;;;;EAkC1E,CAAA;AAED,eAAO,MAAM,6BAA6B,GAAU,GAAG,GAAG,EAAE,MAAM,GAAG;;;;;;;;;;;;;;;;;EAsDpE,CAAA;AAGD,eAAO,MAAM,UAAU,GAAI,iBAAiB,GAAG,SAE9C,CAAC;AAGF,OAAO,EAAE,mBAAmB,EAAE,CAAC;AAG/B,eAAO,MAAM,6BAA6B,YAyBzC,CAAA;AAwCD,eAAO,MAAM,aAAa,GAAU,KAAK,GAAG,EAAE,KAAK,GAAG,iBAkJrD,CAAA"}
|
|
@@ -12,16 +12,15 @@ const fileChunksMap = new Map();
|
|
|
12
12
|
let reactor;
|
|
13
13
|
export const Invoice_processGnosisPayment = async (_, args) => {
|
|
14
14
|
try {
|
|
15
|
-
const {
|
|
15
|
+
const { chainName, paymentDetails, invoiceNo } = args;
|
|
16
16
|
// Cast payerWallet to any to access its properties
|
|
17
|
-
const typedPayerWallet = payerWallet;
|
|
18
17
|
console.log("Processing gnosis payment:", {
|
|
19
|
-
|
|
18
|
+
chainName,
|
|
20
19
|
invoiceNo,
|
|
21
20
|
paymentDetails
|
|
22
21
|
});
|
|
23
22
|
// Import and call the executeTransferProposal function
|
|
24
|
-
const result = await executeTransferProposal(
|
|
23
|
+
const result = await executeTransferProposal(chainName, paymentDetails);
|
|
25
24
|
console.log("Token transfer result:", result);
|
|
26
25
|
// Store the transaction information for later matching with webhook
|
|
27
26
|
if (result.success && result.txHash) {
|
|
@@ -30,7 +29,7 @@ export const Invoice_processGnosisPayment = async (_, args) => {
|
|
|
30
29
|
// Store the transaction with all the details needed for matching
|
|
31
30
|
pendingTransactions[transactionId] = {
|
|
32
31
|
invoiceNo,
|
|
33
|
-
|
|
32
|
+
chainName,
|
|
34
33
|
paymentDetails,
|
|
35
34
|
timestamp: Date.now()
|
|
36
35
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolvers.d.ts","sourceRoot":"","sources":["../../../subgraphs/invoice/resolvers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAQ3D,eAAO,MAAM,YAAY,GAAI,UAAU,QAAQ,KAAG,MAAM,CAAC,MAAM,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"resolvers.d.ts","sourceRoot":"","sources":["../../../subgraphs/invoice/resolvers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAQ3D,eAAO,MAAM,YAAY,GAAI,UAAU,QAAQ,KAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAyUnE,CAAC"}
|
|
@@ -99,11 +99,25 @@ export const getResolvers = (subgraph) => {
|
|
|
99
99
|
await reactor.addAction(driveId, docId, actions.deleteRef({ ...args.input }));
|
|
100
100
|
return doc.revision.global + 1;
|
|
101
101
|
},
|
|
102
|
-
|
|
102
|
+
Invoice_addPaymentAccount: async (_, args) => {
|
|
103
103
|
const driveId = args.driveId || DEFAULT_DRIVE_ID;
|
|
104
104
|
const docId = args.docId || "";
|
|
105
105
|
const doc = await reactor.getDocument(driveId, docId);
|
|
106
|
-
await reactor.addAction(driveId, docId, actions.
|
|
106
|
+
await reactor.addAction(driveId, docId, actions.addPaymentAccount({ ...args.input }));
|
|
107
|
+
return doc.revision.global + 1;
|
|
108
|
+
},
|
|
109
|
+
Invoice_editPaymentAccount: async (_, args) => {
|
|
110
|
+
const driveId = args.driveId || DEFAULT_DRIVE_ID;
|
|
111
|
+
const docId = args.docId || "";
|
|
112
|
+
const doc = await reactor.getDocument(driveId, docId);
|
|
113
|
+
await reactor.addAction(driveId, docId, actions.editPaymentAccount({ ...args.input }));
|
|
114
|
+
return doc.revision.global + 1;
|
|
115
|
+
},
|
|
116
|
+
Invoice_deletePaymentAccount: async (_, args) => {
|
|
117
|
+
const driveId = args.driveId || DEFAULT_DRIVE_ID;
|
|
118
|
+
const docId = args.docId || "";
|
|
119
|
+
const doc = await reactor.getDocument(driveId, docId);
|
|
120
|
+
await reactor.addAction(driveId, docId, actions.deletePaymentAccount({ ...args.input }));
|
|
107
121
|
return doc.revision.global + 1;
|
|
108
122
|
},
|
|
109
123
|
Invoice_editIssuer: async (_, args) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../subgraphs/invoice/schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,eAAO,MAAM,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../subgraphs/invoice/schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,eAAO,MAAM,MAAM,EAAE,YA2dpB,CAAC"}
|
|
@@ -16,7 +16,7 @@ export const schema = gql `
|
|
|
16
16
|
lineItems: [InvoiceLineItem!]!
|
|
17
17
|
totalPriceTaxExcl: Float!
|
|
18
18
|
totalPriceTaxIncl: Float!
|
|
19
|
-
|
|
19
|
+
paymentAccounts: [String!]
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
type Ref {
|
|
@@ -102,7 +102,7 @@ export const schema = gql `
|
|
|
102
102
|
unitPriceTaxIncl: Float!
|
|
103
103
|
totalPriceTaxExcl: Float!
|
|
104
104
|
totalPriceTaxIncl: Float!
|
|
105
|
-
lineItemTag: [InvoiceLineItemTag!]
|
|
105
|
+
lineItemTag: [InvoiceLineItemTag!]
|
|
106
106
|
}
|
|
107
107
|
|
|
108
108
|
type InvoiceLineItemTag {
|
|
@@ -191,10 +191,20 @@ export const schema = gql `
|
|
|
191
191
|
docId: PHID
|
|
192
192
|
input: Invoice_DeleteRefInput
|
|
193
193
|
): Int
|
|
194
|
-
|
|
194
|
+
Invoice_addPaymentAccount(
|
|
195
195
|
driveId: String
|
|
196
196
|
docId: PHID
|
|
197
|
-
input:
|
|
197
|
+
input: Invoice_AddPaymentAccountInput
|
|
198
|
+
): Int
|
|
199
|
+
Invoice_editPaymentAccount(
|
|
200
|
+
driveId: String
|
|
201
|
+
docId: PHID
|
|
202
|
+
input: Invoice_EditPaymentAccountInput
|
|
203
|
+
): Int
|
|
204
|
+
Invoice_deletePaymentAccount(
|
|
205
|
+
driveId: String
|
|
206
|
+
docId: PHID
|
|
207
|
+
input: Invoice_DeletePaymentAccountInput
|
|
198
208
|
): Int
|
|
199
209
|
Invoice_editIssuer(
|
|
200
210
|
driveId: String
|
|
@@ -257,7 +267,7 @@ export const schema = gql `
|
|
|
257
267
|
paymentData: JSON!
|
|
258
268
|
): CreateRequestFinancePaymentResult!
|
|
259
269
|
Invoice_processGnosisPayment(
|
|
260
|
-
|
|
270
|
+
chainName: String!
|
|
261
271
|
paymentDetails: JSON!
|
|
262
272
|
invoiceNo: String!
|
|
263
273
|
): ProcessGnosisPaymentResult
|
|
@@ -316,7 +326,14 @@ export const schema = gql `
|
|
|
316
326
|
input Invoice_DeleteRefInput {
|
|
317
327
|
id: OID!
|
|
318
328
|
}
|
|
319
|
-
input
|
|
329
|
+
input Invoice_AddPaymentAccountInput {
|
|
330
|
+
paymentAccount: String!
|
|
331
|
+
}
|
|
332
|
+
input Invoice_EditPaymentAccountInput {
|
|
333
|
+
existingPaymentAccount: String!
|
|
334
|
+
newPaymentAccount: String!
|
|
335
|
+
}
|
|
336
|
+
input Invoice_DeletePaymentAccountInput {
|
|
320
337
|
paymentAccount: String!
|
|
321
338
|
}
|
|
322
339
|
|
|
@@ -452,7 +469,7 @@ export const schema = gql `
|
|
|
452
469
|
id: OID!
|
|
453
470
|
}
|
|
454
471
|
input Invoice_SetLineItemTagInput {
|
|
455
|
-
|
|
472
|
+
lineItemId: OID!
|
|
456
473
|
dimension: String!
|
|
457
474
|
value: String!
|
|
458
475
|
label: String
|
package/dist/tailwind.config.js
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@powerhousedao/contributor-billing",
|
|
3
3
|
"description": "Document models that help contributors of open organisations get paid anonymously for their work on a monthly basis.",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.10",
|
|
5
5
|
"license": "AGPL-3.0-only",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"files": [
|