@powerhousedao/contributor-billing 0.0.8 → 0.0.9

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 (58) hide show
  1. package/dist/document-models/invoice/gen/document-model.d.ts.map +1 -1
  2. package/dist/document-models/invoice/gen/document-model.js +27 -5
  3. package/dist/document-models/invoice/gen/general/actions.d.ts +5 -3
  4. package/dist/document-models/invoice/gen/general/actions.d.ts.map +1 -1
  5. package/dist/document-models/invoice/gen/general/creators.d.ts +5 -3
  6. package/dist/document-models/invoice/gen/general/creators.d.ts.map +1 -1
  7. package/dist/document-models/invoice/gen/general/creators.js +3 -1
  8. package/dist/document-models/invoice/gen/general/object.d.ts +4 -2
  9. package/dist/document-models/invoice/gen/general/object.d.ts.map +1 -1
  10. package/dist/document-models/invoice/gen/general/object.js +9 -3
  11. package/dist/document-models/invoice/gen/general/operations.d.ts +4 -2
  12. package/dist/document-models/invoice/gen/general/operations.d.ts.map +1 -1
  13. package/dist/document-models/invoice/gen/reducer.d.ts.map +1 -1
  14. package/dist/document-models/invoice/gen/reducer.js +11 -3
  15. package/dist/document-models/invoice/gen/schema/types.d.ts +13 -6
  16. package/dist/document-models/invoice/gen/schema/types.d.ts.map +1 -1
  17. package/dist/document-models/invoice/gen/schema/zod.d.ts +4 -2
  18. package/dist/document-models/invoice/gen/schema/zod.d.ts.map +1 -1
  19. package/dist/document-models/invoice/gen/schema/zod.js +19 -8
  20. package/dist/document-models/invoice/gen/utils.js +1 -1
  21. package/dist/document-models/invoice/index.d.ts +3 -1
  22. package/dist/document-models/invoice/index.d.ts.map +1 -1
  23. package/dist/document-models/invoice/src/reducers/general.d.ts.map +1 -1
  24. package/dist/document-models/invoice/src/reducers/general.js +30 -2
  25. package/dist/document-models/invoice/src/reducers/items.d.ts.map +1 -1
  26. package/dist/document-models/invoice/src/reducers/items.js +17 -10
  27. package/dist/document-models/invoice/src/tests/general.test.js +2 -2
  28. package/dist/editors/invoice/InvoicePDF.d.ts.map +1 -1
  29. package/dist/editors/invoice/InvoicePDF.js +11 -12
  30. package/dist/editors/invoice/editor.d.ts.map +1 -1
  31. package/dist/editors/invoice/editor.js +6 -17
  32. package/dist/editors/invoice/ingestPDF.js +1 -1
  33. package/dist/editors/invoice/invoiceToGnosis.d.ts.map +1 -1
  34. package/dist/editors/invoice/invoiceToGnosis.js +4 -25
  35. package/dist/editors/invoice/lineItemTags/lineItemTags.d.ts +20 -0
  36. package/dist/editors/invoice/lineItemTags/lineItemTags.d.ts.map +1 -0
  37. package/dist/editors/invoice/lineItemTags/lineItemTags.js +47 -0
  38. package/dist/editors/invoice/lineItemTags/tagMapping.d.ts +3 -0
  39. package/dist/editors/invoice/lineItemTags/tagMapping.d.ts.map +1 -0
  40. package/dist/editors/invoice/lineItemTags/tagMapping.js +62 -0
  41. package/dist/editors/invoice/lineItems.d.ts +7 -2
  42. package/dist/editors/invoice/lineItems.d.ts.map +1 -1
  43. package/dist/editors/invoice/lineItems.js +44 -15
  44. package/dist/editors/invoice/requestFinance.js +1 -1
  45. package/dist/editors/invoice/uploadPdfChunked.js +1 -1
  46. package/dist/scripts/invoice/exampleBatchTxn.js +1 -1
  47. package/dist/scripts/invoice/gnosisTransactionBuilder.d.ts +1 -1
  48. package/dist/scripts/invoice/gnosisTransactionBuilder.d.ts.map +1 -1
  49. package/dist/scripts/invoice/gnosisTransactionBuilder.js +26 -1
  50. package/dist/style.css +13 -0
  51. package/dist/subgraphs/invoice/customResolvers.d.ts +1 -1
  52. package/dist/subgraphs/invoice/customResolvers.d.ts.map +1 -1
  53. package/dist/subgraphs/invoice/customResolvers.js +4 -5
  54. package/dist/subgraphs/invoice/resolvers.d.ts.map +1 -1
  55. package/dist/subgraphs/invoice/resolvers.js +16 -2
  56. package/dist/subgraphs/invoice/schema.d.ts.map +1 -1
  57. package/dist/subgraphs/invoice/schema.js +24 -7
  58. 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;AAGD,iBAAe,uBAAuB,CACpC,WAAW,EAAE,WAAW,EACxB,mBAAmB,EAAE,aAAa,GAAG,aAAa,EAAE,GACnD,OAAO,CAAC,cAAc,CAAC,CAkFzB;AAED,OAAO,EAAE,uBAAuB,EAAE,CAAA"}
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(payerWallet, paymentDetailsInput) {
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,6 +1,6 @@
1
1
  declare let pendingTransactions: Record<string, {
2
2
  invoiceNo: string;
3
- payerWallet: any;
3
+ chainName: string;
4
4
  paymentDetails: any;
5
5
  timestamp: number;
6
6
  }>;
@@ -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,WAAW,EAAE,GAAG,CAAC;IACjB,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"}
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 { payerWallet, paymentDetails, invoiceNo } = args;
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
- payerWallet,
18
+ chainName,
20
19
  invoiceNo,
21
20
  paymentDetails
22
21
  });
23
22
  // Import and call the executeTransferProposal function
24
- const result = await executeTransferProposal(payerWallet, paymentDetails);
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
- payerWallet,
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,CA6SnE,CAAC"}
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
- Invoice_setPaymentAccount: async (_, args) => {
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.setPaymentAccount({ ...args.input }));
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,YA0cpB,CAAC"}
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
- paymentAccount: String
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
- Invoice_setPaymentAccount(
194
+ Invoice_addPaymentAccount(
195
195
  driveId: String
196
196
  docId: PHID
197
- input: Invoice_SetPaymentAccountInput
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
- payerWallet: JSON!
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 Invoice_SetPaymentAccountInput {
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
- id: OID!
472
+ lineItemId: OID!
456
473
  dimension: String!
457
474
  value: String!
458
475
  label: String
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.8",
4
+ "version": "0.0.9",
5
5
  "license": "AGPL-3.0-only",
6
6
  "type": "module",
7
7
  "files": [