@idos-network/kwil-infra 1.1.0 → 1.2.0

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.
@@ -1,9 +1,9 @@
1
1
 
2
2
  
3
- > @idos-network/kwil-infra@1.0.0-rc.1.1 build /Users/strnadj/Projects/idos/idos-sdk-js/packages/kwil-infra
3
+ > @idos-network/kwil-infra@1.1.1 build /Users/strnadj/Projects/idos/idos-sdk-js/packages/kwil-infra
4
4
  > tsdown
5
5
 
6
- ℹ tsdown v0.21.7 powered by rolldown v1.0.0-rc.12
6
+ ℹ tsdown v0.22.0 powered by rolldown v1.0.0
7
7
  ℹ config file: /Users/strnadj/Projects/idos/idos-sdk-js/packages/kwil-infra/tsdown.config.ts
8
8
  ℹ entry: ./src/index.ts, ./src/actions/index.ts, ./src/signature-verification/index.ts, ./src/xrp/utils.ts, ./src/facesign/index.ts, ./src/xrpl-credentials/index.ts
9
9
  ℹ tsconfig: tsconfig.json
@@ -20,17 +20,17 @@ Detected dependencies in bundle:
20
20
  ℹ dist/actions/index.mjs 37.28 kB │ gzip: 5.51 kB
21
21
  ℹ dist/index.mjs 15.28 kB │ gzip: 4.28 kB
22
22
  ℹ dist/xrpl-credentials/index.mjs  8.13 kB │ gzip: 2.22 kB
23
- ℹ dist/signature-verification/index.mjs  5.25 kB │ gzip: 1.44 kB
23
+ ℹ dist/signature-verification/index.mjs  5.42 kB │ gzip: 1.48 kB
24
24
  ℹ dist/xrp/utils.mjs  3.42 kB │ gzip: 1.14 kB
25
25
  ℹ dist/facesign/index.mjs  0.11 kB │ gzip: 0.10 kB
26
- ℹ dist/actions/index.mjs.map 80.23 kB │ gzip: 9.53 kB
26
+ ℹ dist/actions/index.mjs.map 80.23 kB │ gzip: 9.52 kB
27
27
  ℹ dist/xrp/utils.d.mts.map 43.87 kB │ gzip: 10.14 kB
28
- ℹ dist/index.mjs.map 33.79 kB │ gzip: 9.16 kB
28
+ ℹ dist/index.mjs.map 33.79 kB │ gzip: 9.09 kB
29
29
  ℹ dist/index-Ci6QhKJo.d.mts.map 19.55 kB │ gzip: 2.69 kB
30
- ℹ dist/xrpl-credentials/index.mjs.map 14.52 kB │ gzip: 3.66 kB
31
- ℹ dist/facesign-signer-BY9Nti9F.mjs.map 14.00 kB │ gzip: 3.70 kB
32
- ℹ dist/signature-verification/index.mjs.map 11.35 kB │ gzip: 3.13 kB
33
- ℹ dist/xrp/utils.mjs.map  7.76 kB │ gzip: 2.52 kB
30
+ ℹ dist/xrpl-credentials/index.mjs.map 14.54 kB │ gzip: 3.66 kB
31
+ ℹ dist/facesign-signer-BY9Nti9F.mjs.map 14.08 kB │ gzip: 3.73 kB
32
+ ℹ dist/signature-verification/index.mjs.map 11.84 kB │ gzip: 3.27 kB
33
+ ℹ dist/xrp/utils.mjs.map  7.77 kB │ gzip: 2.48 kB
34
34
  ℹ dist/facesign-signer-BY9Nti9F.mjs  7.12 kB │ gzip: 1.84 kB
35
35
  ℹ dist/xrpl-credentials/index.d.mts.map  0.94 kB │ gzip: 0.43 kB
36
36
  ℹ dist/facesign-signer-ADd4EASX.d.mts.map  0.52 kB │ gzip: 0.28 kB
@@ -43,5 +43,5 @@ Detected dependencies in bundle:
43
43
  ℹ dist/facesign/index.d.mts  0.23 kB │ gzip: 0.14 kB
44
44
  ℹ dist/index-Ci6QhKJo.d.mts 36.45 kB │ gzip: 6.43 kB
45
45
  ℹ dist/facesign-signer-ADd4EASX.d.mts  0.82 kB │ gzip: 0.39 kB
46
- ℹ 26 files, total: 400.94 kB
47
- ✔ Build complete in 543ms
46
+ ℹ 26 files, total: 401.70 kB
47
+ ✔ Build complete in 948ms
@@ -1,5 +1,5 @@
1
1
 
2
2
  
3
- > @idos-network/kwil-infra@1.0.0-rc.1.1 typecheck /Users/strnadj/Projects/idos/idos-sdk-js/packages/kwil-infra
3
+ > @idos-network/kwil-infra@1.1.1 typecheck /Users/strnadj/Projects/idos/idos-sdk-js/packages/kwil-infra
4
4
  > tsc --noEmit
5
5
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # @idos-network/kwil-infra
2
2
 
3
+ ## 1.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - a9a7547: Replace online-first EVM validation to offline one
8
+
9
+ ### Patch Changes
10
+
11
+ - @idos-network/utils@1.2.0
12
+
13
+ ## 1.1.1
14
+
15
+ ### Patch Changes
16
+
17
+ - Updated dependencies [e5df318]
18
+ - @idos-network/utils@1.1.1
19
+
3
20
  ## 1.1.0
4
21
 
5
22
  ### Minor Changes
package/README.md CHANGED
@@ -32,7 +32,7 @@ pnpm add @idos-network/kwil-infra
32
32
 
33
33
  Some features require optional peer dependencies:
34
34
 
35
- - `@wagmi/core` (EVM)
35
+ - `viem` (EVM)
36
36
  - `near-api-js`, `@near-wallet-selector/core` (NEAR)
37
37
  - `@stellar/stellar-sdk` (Stellar)
38
38
  - `ripple-keypairs`, `xrpl` (XRPL)
@@ -1,2 +1,2 @@
1
- import { $ as DwgMessageInputSchema, $n as checkBalance, $t as GetUserAsInserterOutputSchema, A as AddWalletInputSchema, An as ShareAttributeInput, Ar as removeCredential, At as GetCredentialOwnedOutput, B as CredentialExistAsInserterInputSchema, Bn as WALLET_TYPES, Br as upsertWalletAsInserter, Bt as GetCredentialsSharedByUserOutput, C as AddDelegateAsOwnerInput, Cn as RequestBalanceWithdrawalInputSchema, Cr as getUser, Ct as GetAccessGrantsOwnedOutputSchema, D as AddUserAsInserterInput, Dn as RescindSharedCredentialInputSchema, Dr as hasLockedAccessGrants, Dt as GetAttributesOutputSchema, E as AddInserterAsOwnerInputSchema, En as RescindSharedCredentialInput, Er as getWallets, Et as GetAttributesOutput, F as CreateAgByDagForCopyInput, Fn as UpdateUserPubKeyAsInserterInputSchema, Fr as revokeAccessGrant, Ft as GetCredentialSharedOutputSchema, G as DagMessageOutput, Gn as actionSchema, Gt as GetIssuerFeeOutputSchema, H as CredentialExistAsInserterOutputSchema, Hn as actionCostingFee, Ht as GetIssuerFeeInput, I as CreateAgByDagForCopyInputSchema, In as UpsertCredentialAsInserterInput, Ir as shareAttribute, It as GetCredentialsOutput, J as DeleteDelegateAsOwnerInput, Jn as addCredential, Jt as GetSiblingCredentialIdOutput, K as DagMessageOutputSchema, Kn as addAttribute, Kt as GetSiblingCredentialIdInput, L as CreateCredentialsByDwgInput, Ln as UpsertCredentialAsInserterInputSchema, Lr as shareCredential, Lt as GetCredentialsOutputSchema, M as CheckBalanceInputSchema, Mn as ShareCredentialInput, Mr as requestBalanceWithdrawal, Mt as GetCredentialSharedInput, N as CheckBalanceOutput, Nn as ShareCredentialInputSchema, Nr as requestWithdrawal, Nt as GetCredentialSharedInputSchema, O as AddUserAsInserterInputSchema, On as RevokeAccessGrantInput, Or as hasProfile, Ot as GetCredentialOwnedInput, P as CheckBalanceOutputSchema, Pn as UpdateUserPubKeyAsInserterInput, Pr as rescindSharedCredential, Pt as GetCredentialSharedOutput, Q as DwgMessageInput, Qn as addWallet, Qt as GetUserAsInserterOutput, R as CreateCredentialsByDwgInputSchema, Rn as UpsertWalletAsInserterInput, Rr as updateUserPubKeyAsInserter, Rt as GetCredentialsSharedByUserInput, S as AddCredentialInputSchema, Sn as RequestBalanceWithdrawalInput, Sr as getSiblingCredentialId, St as GetAccessGrantsOwnedOutput, T as AddInserterAsOwnerInput, Tn as RequestWithdrawalInputSchema, Tr as getWalletWithBalance, Tt as GetAllowanceOutputSchema, U as DagMessageInput, Un as actionCostingGas, Ut as GetIssuerFeeInputSchema, V as CredentialExistAsInserterOutput, Vn as WalletType, Vr as walletTypeSchema, Vt as GetCredentialsSharedByUserOutputSchema, W as DagMessageInputSchema, Wn as actionCostingIdosToken, Wt as GetIssuerFeeOutput, X as DeleteInserterAsOwnerInput, Xn as addInserterAsOwner, Xt as GetUserAsInserterInput, Y as DeleteDelegateAsOwnerInputSchema, Yn as addDelegateAsOwner, Yt as GetSiblingCredentialIdOutputSchema, Z as DeleteInserterAsOwnerInputSchema, Zn as addUserAsInserter, Zt as GetUserAsInserterInputSchema, _ as AddAttributeAsInserterInput, _n as RemoveAttributeInputSchema, _r as getCredentialOwned, _t as GetAccessGrantsGrantedCountOutputSchema, a as idOSCredentialListItem, an as GetWalletWithBalanceOutputSchema, ar as deleteInserterAsOwner, at as EditCredentialInput, b as AddAttributeInputSchema, bn as RemoveWalletInput, br as getCredentialsSharedByUser, bt as GetAccessGrantsGrantedOutput, c as idOSUser, cn as HasLockedAccessGrantsInput, cr as editCredential, ct as EditPublicNotesAsIssuerInputSchema, d as removeWallets, dn as HasLockedAccessGrantsOutputSchema, dr as getAccessGrantsForCredential, dt as GetAccessGrantsForCredentialInputSchema, en as GetUserOutput, er as createAgByDagForCopy, et as DwgMessageOutput, f as ActionCostingFeeInput, fn as HasProfileInput, fr as getAccessGrantsGranted, ft as GetAccessGrantsForCredentialOutput, g as ActionSchemaElement, gn as RemoveAttributeInput, gr as getAttributes, gt as GetAccessGrantsGrantedCountOutput, h as ActionCostingIdosTokenInputSchema, hn as HasProfileOutputSchema, hr as getAllowance, ht as GetAccessGrantsGrantedCountInputSchema, i as idOSCredential, in as GetWalletWithBalanceOutput, ir as deleteDelegateAsOwner, it as EditAttributeInputSchema, j as CheckBalanceInput, jn as ShareAttributeInputSchema, jr as removeWallet, jt as GetCredentialOwnedOutputSchema, k as AddWalletInput, kn as RevokeAccessGrantInputSchema, kr as removeAttribute, kt as GetCredentialOwnedInputSchema, l as idOSUserAttribute, ln as HasLockedAccessGrantsInputSchema, lr as editPublicNotesAsIssuer, lt as EncryptionPasswordStore, m as ActionCostingIdosTokenInput, mn as HasProfileOutput, mr as getAccessGrantsOwned, mt as GetAccessGrantsGrantedCountInput, n as addWallets, nn as GetWalletWithBalanceInput, nr as credentialExistAsInserter, nt as ENCRYPTION_PASSWORD_STORES, o as idOSDelegatedWriteGrant, on as GetWalletsOutput, or as dwgMessage, ot as EditCredentialInputSchema, p as ActionCostingFeeInputSchema, pn as HasProfileInputSchema, pr as getAccessGrantsGrantedCount, pt as GetAccessGrantsForCredentialOutputSchema, q as DataType, qn as addAttributeAsInserter, qt as GetSiblingCredentialIdInputSchema, r as getGrants, rn as GetWalletWithBalanceInputSchema, rr as dagMessage, rt as EditAttributeInput, s as idOSGrant, sn as GetWalletsOutputSchema, sr as editAttribute, st as EditPublicNotesAsIssuerInput, t as GET_GRANTS_DEFAULT_RECORDS_PER_PAGE, tn as GetUserOutputSchema, tr as createCredentialsByDwg, tt as DwgMessageOutputSchema, u as idOSWallet, un as HasLockedAccessGrantsOutput, ur as encryptionPasswordStoreSchema, ut as GetAccessGrantsForCredentialInput, v as AddAttributeAsInserterInputSchema, vn as RemoveCredentialInput, vr as getCredentialShared, vt as GetAccessGrantsGrantedInput, w as AddDelegateAsOwnerInputSchema, wn as RequestWithdrawalInput, wr as getUserAsInserter, wt as GetAllowanceOutput, x as AddCredentialInput, xn as RemoveWalletInputSchema, xr as getIssuerFee, xt as GetAccessGrantsGrantedOutputSchema, y as AddAttributeInput, yn as RemoveCredentialInputSchema, yr as getCredentials, yt as GetAccessGrantsGrantedInputSchema, z as CredentialExistAsInserterInput, zn as UpsertWalletAsInserterInputSchema, zr as upsertCredentialAsInserter, zt as GetCredentialsSharedByUserInputSchema } from "../index-Ci6QhKJo.mjs";
1
+ import { $ as DwgMessageInputSchema, $n as checkBalance, $t as GetUserAsInserterOutputSchema, A as AddWalletInputSchema, An as ShareAttributeInput, Ar as removeCredential, At as GetCredentialOwnedOutput, B as CredentialExistAsInserterInputSchema, Bn as WALLET_TYPES, Br as upsertWalletAsInserter, Bt as GetCredentialsSharedByUserOutput, C as AddDelegateAsOwnerInput, Cn as RequestBalanceWithdrawalInputSchema, Cr as getUser, Ct as GetAccessGrantsOwnedOutputSchema, D as AddUserAsInserterInput, Dn as RescindSharedCredentialInputSchema, Dr as hasLockedAccessGrants, Dt as GetAttributesOutputSchema, E as AddInserterAsOwnerInputSchema, En as RescindSharedCredentialInput, Er as getWallets, Et as GetAttributesOutput, F as CreateAgByDagForCopyInput, Fn as UpdateUserPubKeyAsInserterInputSchema, Fr as revokeAccessGrant, Ft as GetCredentialSharedOutputSchema, G as DagMessageOutput, Gn as actionSchema, Gt as GetIssuerFeeOutputSchema, H as CredentialExistAsInserterOutputSchema, Hn as actionCostingFee, Ht as GetIssuerFeeInput, I as CreateAgByDagForCopyInputSchema, In as UpsertCredentialAsInserterInput, Ir as shareAttribute, It as GetCredentialsOutput, J as DeleteDelegateAsOwnerInput, Jn as addCredential, Jt as GetSiblingCredentialIdOutput, K as DagMessageOutputSchema, Kn as addAttribute, Kt as GetSiblingCredentialIdInput, L as CreateCredentialsByDwgInput, Ln as UpsertCredentialAsInserterInputSchema, Lr as shareCredential, Lt as GetCredentialsOutputSchema, M as CheckBalanceInputSchema, Mn as ShareCredentialInput, Mr as requestBalanceWithdrawal, Mt as GetCredentialSharedInput, N as CheckBalanceOutput, Nn as ShareCredentialInputSchema, Nr as requestWithdrawal, Nt as GetCredentialSharedInputSchema, O as AddUserAsInserterInputSchema, On as RevokeAccessGrantInput, Or as hasProfile, Ot as GetCredentialOwnedInput, P as CheckBalanceOutputSchema, Pn as UpdateUserPubKeyAsInserterInput, Pr as rescindSharedCredential, Pt as GetCredentialSharedOutput, Q as DwgMessageInput, Qn as addWallet, Qt as GetUserAsInserterOutput, R as CreateCredentialsByDwgInputSchema, Rn as UpsertWalletAsInserterInput, Rr as updateUserPubKeyAsInserter, Rt as GetCredentialsSharedByUserInput, S as AddCredentialInputSchema, Sn as RequestBalanceWithdrawalInput, Sr as getSiblingCredentialId, St as GetAccessGrantsOwnedOutput, T as AddInserterAsOwnerInput, Tn as RequestWithdrawalInputSchema, Tr as getWalletWithBalance, Tt as GetAllowanceOutputSchema, U as DagMessageInput, Un as actionCostingGas, Ut as GetIssuerFeeInputSchema, V as CredentialExistAsInserterOutput, Vn as WalletType, Vr as walletTypeSchema, Vt as GetCredentialsSharedByUserOutputSchema, W as DagMessageInputSchema, Wn as actionCostingIdosToken, Wt as GetIssuerFeeOutput, X as DeleteInserterAsOwnerInput, Xn as addInserterAsOwner, Xt as GetUserAsInserterInput, Y as DeleteDelegateAsOwnerInputSchema, Yn as addDelegateAsOwner, Yt as GetSiblingCredentialIdOutputSchema, Z as DeleteInserterAsOwnerInputSchema, Zn as addUserAsInserter, Zt as GetUserAsInserterInputSchema, _ as AddAttributeAsInserterInput, _n as RemoveAttributeInputSchema, _r as getCredentialOwned, _t as GetAccessGrantsGrantedCountOutputSchema, a as idOSCredentialListItem, an as GetWalletWithBalanceOutputSchema, ar as deleteInserterAsOwner, at as EditCredentialInput, b as AddAttributeInputSchema, bn as RemoveWalletInput, br as getCredentialsSharedByUser, bt as GetAccessGrantsGrantedOutput, c as idOSUser, cn as HasLockedAccessGrantsInput, cr as editCredential, ct as EditPublicNotesAsIssuerInputSchema, d as removeWallets, dn as HasLockedAccessGrantsOutputSchema, dr as getAccessGrantsForCredential, dt as GetAccessGrantsForCredentialInputSchema, en as GetUserOutput, er as createAgByDagForCopy, et as DwgMessageOutput, f as ActionCostingFeeInput, fn as HasProfileInput, fr as getAccessGrantsGranted, ft as GetAccessGrantsForCredentialOutput, g as ActionSchemaElement, gn as RemoveAttributeInput, gr as getAttributes, gt as GetAccessGrantsGrantedCountOutput, h as ActionCostingIdosTokenInputSchema, hn as HasProfileOutputSchema, hr as getAllowance, ht as GetAccessGrantsGrantedCountInputSchema, i as idOSCredential, in as GetWalletWithBalanceOutput, ir as deleteDelegateAsOwner, it as EditAttributeInputSchema, j as CheckBalanceInput, jn as ShareAttributeInputSchema, jr as removeWallet, jt as GetCredentialOwnedOutputSchema, k as AddWalletInput, kn as RevokeAccessGrantInputSchema, kr as removeAttribute, kt as GetCredentialOwnedInputSchema, l as idOSUserAttribute, ln as HasLockedAccessGrantsInputSchema, lr as editPublicNotesAsIssuer, lt as EncryptionPasswordStore, m as ActionCostingIdosTokenInput, mn as HasProfileOutput, mr as getAccessGrantsOwned, mt as GetAccessGrantsGrantedCountInput, n as addWallets, nn as GetWalletWithBalanceInput, nr as credentialExistAsInserter, nt as ENCRYPTION_PASSWORD_STORES, o as idOSDelegatedWriteGrant, on as GetWalletsOutput, or as dwgMessage, ot as EditCredentialInputSchema, p as ActionCostingFeeInputSchema, pn as HasProfileInputSchema, pr as getAccessGrantsGrantedCount, pt as GetAccessGrantsForCredentialOutputSchema, q as DataType, qn as addAttributeAsInserter, qt as GetSiblingCredentialIdInputSchema, r as getGrants, rn as GetWalletWithBalanceInputSchema, rr as dagMessage, rt as EditAttributeInput, s as idOSGrant, sn as GetWalletsOutputSchema, sr as editAttribute, st as EditPublicNotesAsIssuerInput, t as GET_GRANTS_DEFAULT_RECORDS_PER_PAGE, tn as GetUserOutputSchema, tr as createCredentialsByDwg, tt as DwgMessageOutputSchema, u as idOSWallet, un as HasLockedAccessGrantsOutput, ur as encryptionPasswordStoreSchema, ut as GetAccessGrantsForCredentialInput, v as AddAttributeAsInserterInputSchema, vn as RemoveCredentialInput, vr as getCredentialShared, vt as GetAccessGrantsGrantedInput, w as AddDelegateAsOwnerInputSchema, wn as RequestWithdrawalInput, wr as getUserAsInserter, wt as GetAllowanceOutput, x as AddCredentialInput, xn as RemoveWalletInputSchema, xr as getIssuerFee, xt as GetAccessGrantsGrantedOutputSchema, y as AddAttributeInput, yn as RemoveCredentialInputSchema, yr as getCredentials, yt as GetAccessGrantsGrantedInputSchema, z as CredentialExistAsInserterInput, zn as UpsertWalletAsInserterInputSchema, zr as upsertCredentialAsInserter, zt as GetCredentialsSharedByUserInputSchema } from "../index-UFgWkjYP.mjs";
2
2
  export { ActionCostingFeeInput, ActionCostingFeeInputSchema, ActionCostingIdosTokenInput, ActionCostingIdosTokenInputSchema, ActionSchemaElement, AddAttributeAsInserterInput, AddAttributeAsInserterInputSchema, AddAttributeInput, AddAttributeInputSchema, AddCredentialInput, AddCredentialInputSchema, AddDelegateAsOwnerInput, AddDelegateAsOwnerInputSchema, AddInserterAsOwnerInput, AddInserterAsOwnerInputSchema, AddUserAsInserterInput, AddUserAsInserterInputSchema, AddWalletInput, AddWalletInputSchema, CheckBalanceInput, CheckBalanceInputSchema, CheckBalanceOutput, CheckBalanceOutputSchema, CreateAgByDagForCopyInput, CreateAgByDagForCopyInputSchema, CreateCredentialsByDwgInput, CreateCredentialsByDwgInputSchema, CredentialExistAsInserterInput, CredentialExistAsInserterInputSchema, CredentialExistAsInserterOutput, CredentialExistAsInserterOutputSchema, DagMessageInput, DagMessageInputSchema, DagMessageOutput, DagMessageOutputSchema, DataType, DeleteDelegateAsOwnerInput, DeleteDelegateAsOwnerInputSchema, DeleteInserterAsOwnerInput, DeleteInserterAsOwnerInputSchema, DwgMessageInput, DwgMessageInputSchema, DwgMessageOutput, DwgMessageOutputSchema, ENCRYPTION_PASSWORD_STORES, EditAttributeInput, EditAttributeInputSchema, EditCredentialInput, EditCredentialInputSchema, EditPublicNotesAsIssuerInput, EditPublicNotesAsIssuerInputSchema, EncryptionPasswordStore, GET_GRANTS_DEFAULT_RECORDS_PER_PAGE, GetAccessGrantsForCredentialInput, GetAccessGrantsForCredentialInputSchema, GetAccessGrantsForCredentialOutput, GetAccessGrantsForCredentialOutputSchema, GetAccessGrantsGrantedCountInput, GetAccessGrantsGrantedCountInputSchema, GetAccessGrantsGrantedCountOutput, GetAccessGrantsGrantedCountOutputSchema, GetAccessGrantsGrantedInput, GetAccessGrantsGrantedInputSchema, GetAccessGrantsGrantedOutput, GetAccessGrantsGrantedOutputSchema, GetAccessGrantsOwnedOutput, GetAccessGrantsOwnedOutputSchema, GetAllowanceOutput, GetAllowanceOutputSchema, GetAttributesOutput, GetAttributesOutputSchema, GetCredentialOwnedInput, GetCredentialOwnedInputSchema, GetCredentialOwnedOutput, GetCredentialOwnedOutputSchema, GetCredentialSharedInput, GetCredentialSharedInputSchema, GetCredentialSharedOutput, GetCredentialSharedOutputSchema, GetCredentialsOutput, GetCredentialsOutputSchema, GetCredentialsSharedByUserInput, GetCredentialsSharedByUserInputSchema, GetCredentialsSharedByUserOutput, GetCredentialsSharedByUserOutputSchema, GetIssuerFeeInput, GetIssuerFeeInputSchema, GetIssuerFeeOutput, GetIssuerFeeOutputSchema, GetSiblingCredentialIdInput, GetSiblingCredentialIdInputSchema, GetSiblingCredentialIdOutput, GetSiblingCredentialIdOutputSchema, GetUserAsInserterInput, GetUserAsInserterInputSchema, GetUserAsInserterOutput, GetUserAsInserterOutputSchema, GetUserOutput, GetUserOutputSchema, GetWalletWithBalanceInput, GetWalletWithBalanceInputSchema, GetWalletWithBalanceOutput, GetWalletWithBalanceOutputSchema, GetWalletsOutput, GetWalletsOutputSchema, HasLockedAccessGrantsInput, HasLockedAccessGrantsInputSchema, HasLockedAccessGrantsOutput, HasLockedAccessGrantsOutputSchema, HasProfileInput, HasProfileInputSchema, HasProfileOutput, HasProfileOutputSchema, RemoveAttributeInput, RemoveAttributeInputSchema, RemoveCredentialInput, RemoveCredentialInputSchema, RemoveWalletInput, RemoveWalletInputSchema, RequestBalanceWithdrawalInput, RequestBalanceWithdrawalInputSchema, RequestWithdrawalInput, RequestWithdrawalInputSchema, RescindSharedCredentialInput, RescindSharedCredentialInputSchema, RevokeAccessGrantInput, RevokeAccessGrantInputSchema, ShareAttributeInput, ShareAttributeInputSchema, ShareCredentialInput, ShareCredentialInputSchema, UpdateUserPubKeyAsInserterInput, UpdateUserPubKeyAsInserterInputSchema, UpsertCredentialAsInserterInput, UpsertCredentialAsInserterInputSchema, UpsertWalletAsInserterInput, UpsertWalletAsInserterInputSchema, WALLET_TYPES, WalletType, actionCostingFee, actionCostingGas, actionCostingIdosToken, actionSchema, addAttribute, addAttributeAsInserter, addCredential, addDelegateAsOwner, addInserterAsOwner, addUserAsInserter, addWallet, addWallets, checkBalance, createAgByDagForCopy, createCredentialsByDwg, credentialExistAsInserter, dagMessage, deleteDelegateAsOwner, deleteInserterAsOwner, dwgMessage, editAttribute, editCredential, editPublicNotesAsIssuer, encryptionPasswordStoreSchema, getAccessGrantsForCredential, getAccessGrantsGranted, getAccessGrantsGrantedCount, getAccessGrantsOwned, getAllowance, getAttributes, getCredentialOwned, getCredentialShared, getCredentials, getCredentialsSharedByUser, getGrants, getIssuerFee, getSiblingCredentialId, getUser, getUserAsInserter, getWalletWithBalance, getWallets, hasLockedAccessGrants, hasProfile, idOSCredential, idOSCredentialListItem, idOSDelegatedWriteGrant, idOSGrant, idOSUser, idOSUserAttribute, idOSWallet, removeAttribute, removeCredential, removeWallet, removeWallets, requestBalanceWithdrawal, requestWithdrawal, rescindSharedCredential, revokeAccessGrant, shareAttribute, shareCredential, updateUserPubKeyAsInserter, upsertCredentialAsInserter, upsertWalletAsInserter, walletTypeSchema };
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":[],"sources":["../../src/actions/actions.ts","../../src/actions/index.ts"],"sourcesContent":["import { Utils } from \"@idos-network/kwil-js\";\nimport * as z from \"zod\";\n\nimport type { KwilActionClient } from \"../\";\n\n// This file is generated by the generator. Do not edit it manually.\nexport const DataType: typeof Utils.DataType = Utils.DataType;\nexport const WALLET_TYPES = [\"EVM\", \"NEAR\", \"XRPL\", \"Stellar\", \"FaceSign\"] as const;\n\nexport type WalletType = (typeof WALLET_TYPES)[number];\n\nexport const walletTypeSchema: z.ZodType<WalletType> = z.enum(WALLET_TYPES);\nexport const ENCRYPTION_PASSWORD_STORES = [\"user\", \"mpc\"] as const;\n\nexport type EncryptionPasswordStore = (typeof ENCRYPTION_PASSWORD_STORES)[number];\n\nexport const encryptionPasswordStoreSchema: z.ZodType<EncryptionPasswordStore> = z.enum(\n ENCRYPTION_PASSWORD_STORES,\n);\n\nexport type ActionSchemaElement = {\n name: string;\n type: typeof DataType.Uuid | typeof DataType.Text | typeof DataType.Int | typeof DataType.Boolean;\n};\n\nexport const actionSchema: Record<string, ActionSchemaElement[]> = {\n add_inserter_as_owner: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"name\",\n type: DataType.Text,\n },\n ],\n delete_inserter_as_owner: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n ],\n add_delegate_as_owner: [\n {\n name: \"address\",\n type: DataType.Text,\n },\n {\n name: \"inserter_id\",\n type: DataType.Uuid,\n },\n ],\n delete_delegate_as_owner: [\n {\n name: \"address\",\n type: DataType.Text,\n },\n ],\n add_user_as_inserter: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"recipient_encryption_public_key\",\n type: DataType.Text,\n },\n {\n name: \"encryption_password_store\",\n type: DataType.Text,\n },\n ],\n update_user_pub_key_as_inserter: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"recipient_encryption_public_key\",\n type: DataType.Text,\n },\n {\n name: \"encryption_password_store\",\n type: DataType.Text,\n },\n ],\n get_user: [],\n get_user_as_inserter: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n ],\n upsert_wallet_as_inserter: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"user_id\",\n type: DataType.Uuid,\n },\n {\n name: \"address\",\n type: DataType.Text,\n },\n {\n name: \"public_key\",\n type: DataType.Text,\n },\n {\n name: \"wallet_type\",\n type: DataType.Text,\n },\n {\n name: \"message\",\n type: DataType.Text,\n },\n {\n name: \"signature\",\n type: DataType.Text,\n },\n ],\n add_wallet: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"address\",\n type: DataType.Text,\n },\n {\n name: \"public_key\",\n type: DataType.Text,\n },\n {\n name: \"wallet_type\",\n type: DataType.Text,\n },\n {\n name: \"message\",\n type: DataType.Text,\n },\n {\n name: \"signature\",\n type: DataType.Text,\n },\n ],\n get_wallets: [],\n remove_wallet: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n ],\n upsert_credential_as_inserter: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"user_id\",\n type: DataType.Uuid,\n },\n {\n name: \"issuer_auth_public_key\",\n type: DataType.Text,\n },\n {\n name: \"encryptor_public_key\",\n type: DataType.Text,\n },\n {\n name: \"content\",\n type: DataType.Text,\n },\n {\n name: \"public_notes\",\n type: DataType.Text,\n },\n {\n name: \"public_notes_signature\",\n type: DataType.Text,\n },\n {\n name: \"broader_signature\",\n type: DataType.Text,\n },\n ],\n add_credential: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"issuer_auth_public_key\",\n type: DataType.Text,\n },\n {\n name: \"encryptor_public_key\",\n type: DataType.Text,\n },\n {\n name: \"content\",\n type: DataType.Text,\n },\n {\n name: \"public_notes\",\n type: DataType.Text,\n },\n {\n name: \"public_notes_signature\",\n type: DataType.Text,\n },\n {\n name: \"broader_signature\",\n type: DataType.Text,\n },\n ],\n get_credentials: [],\n get_credentials_shared_by_user: [\n {\n name: \"user_id\",\n type: DataType.Uuid,\n },\n {\n name: \"original_issuer_auth_public_key\",\n type: DataType.Text,\n },\n ],\n edit_credential: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"public_notes\",\n type: DataType.Text,\n },\n {\n name: \"public_notes_signature\",\n type: DataType.Text,\n },\n {\n name: \"broader_signature\",\n type: DataType.Text,\n },\n {\n name: \"content\",\n type: DataType.Text,\n },\n {\n name: \"encryptor_public_key\",\n type: DataType.Text,\n },\n {\n name: \"issuer_auth_public_key\",\n type: DataType.Text,\n },\n ],\n edit_public_notes_as_issuer: [\n {\n name: \"public_notes_id\",\n type: DataType.Text,\n },\n {\n name: \"public_notes\",\n type: DataType.Text,\n },\n ],\n remove_credential: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n ],\n rescind_shared_credential: [\n {\n name: \"credential_id\",\n type: DataType.Uuid,\n },\n ],\n share_credential: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"original_credential_id\",\n type: DataType.Uuid,\n },\n {\n name: \"public_notes\",\n type: DataType.Text,\n },\n {\n name: \"public_notes_signature\",\n type: DataType.Text,\n },\n {\n name: \"broader_signature\",\n type: DataType.Text,\n },\n {\n name: \"content\",\n type: DataType.Text,\n },\n {\n name: \"content_hash\",\n type: DataType.Text,\n },\n {\n name: \"encryptor_public_key\",\n type: DataType.Text,\n },\n {\n name: \"issuer_auth_public_key\",\n type: DataType.Text,\n },\n {\n name: \"grantee_wallet_identifier\",\n type: DataType.Text,\n },\n {\n name: \"locked_until\",\n type: DataType.Int,\n },\n ],\n create_credentials_by_dwg: [\n {\n name: \"issuer_auth_public_key\",\n type: DataType.Text,\n },\n {\n name: \"original_encryptor_public_key\",\n type: DataType.Text,\n },\n {\n name: \"original_credential_id\",\n type: DataType.Uuid,\n },\n {\n name: \"original_content\",\n type: DataType.Text,\n },\n {\n name: \"original_public_notes\",\n type: DataType.Text,\n },\n {\n name: \"original_public_notes_signature\",\n type: DataType.Text,\n },\n {\n name: \"original_broader_signature\",\n type: DataType.Text,\n },\n {\n name: \"copy_encryptor_public_key\",\n type: DataType.Text,\n },\n {\n name: \"copy_credential_id\",\n type: DataType.Uuid,\n },\n {\n name: \"copy_content\",\n type: DataType.Text,\n },\n {\n name: \"copy_public_notes_signature\",\n type: DataType.Text,\n },\n {\n name: \"copy_broader_signature\",\n type: DataType.Text,\n },\n {\n name: \"content_hash\",\n type: DataType.Text,\n },\n {\n name: \"dwg_owner\",\n type: DataType.Text,\n },\n {\n name: \"dwg_grantee\",\n type: DataType.Text,\n },\n {\n name: \"dwg_issuer_public_key\",\n type: DataType.Text,\n },\n {\n name: \"dwg_id\",\n type: DataType.Uuid,\n },\n {\n name: \"dwg_access_grant_timelock\",\n type: DataType.Text,\n },\n {\n name: \"dwg_not_before\",\n type: DataType.Text,\n },\n {\n name: \"dwg_not_after\",\n type: DataType.Text,\n },\n {\n name: \"dwg_signature\",\n type: DataType.Text,\n },\n ],\n credential_exist_as_inserter: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n ],\n get_credential_owned: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n ],\n get_credential_shared: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n ],\n get_sibling_credential_id: [\n {\n name: \"content_hash\",\n type: DataType.Text,\n },\n ],\n add_attribute_as_inserter: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"user_id\",\n type: DataType.Uuid,\n },\n {\n name: \"attribute_key\",\n type: DataType.Text,\n },\n {\n name: \"value\",\n type: DataType.Text,\n },\n ],\n add_attribute: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"attribute_key\",\n type: DataType.Text,\n },\n {\n name: \"value\",\n type: DataType.Text,\n },\n ],\n get_attributes: [],\n edit_attribute: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"attribute_key\",\n type: DataType.Text,\n },\n {\n name: \"value\",\n type: DataType.Text,\n },\n ],\n remove_attribute: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n ],\n share_attribute: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"original_attribute_id\",\n type: DataType.Uuid,\n },\n {\n name: \"attribute_key\",\n type: DataType.Text,\n },\n {\n name: \"value\",\n type: DataType.Text,\n },\n ],\n dwg_message: [\n {\n name: \"owner_wallet_identifier\",\n type: DataType.Text,\n },\n {\n name: \"grantee_wallet_identifier\",\n type: DataType.Text,\n },\n {\n name: \"issuer_public_key\",\n type: DataType.Text,\n },\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"access_grant_timelock\",\n type: DataType.Text,\n },\n {\n name: \"not_usable_before\",\n type: DataType.Text,\n },\n {\n name: \"not_usable_after\",\n type: DataType.Text,\n },\n ],\n revoke_access_grant: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n ],\n get_access_grants_owned: [],\n get_access_grants_granted: [\n {\n name: \"user_id\",\n type: DataType.Uuid,\n },\n {\n name: \"page\",\n type: DataType.Int,\n },\n {\n name: \"size\",\n type: DataType.Int,\n },\n ],\n get_access_grants_granted_count: [\n {\n name: \"user_id\",\n type: DataType.Uuid,\n },\n ],\n has_locked_access_grants: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n ],\n dag_message: [\n {\n name: \"dag_owner_wallet_identifier\",\n type: DataType.Text,\n },\n {\n name: \"dag_grantee_wallet_identifier\",\n type: DataType.Text,\n },\n {\n name: \"dag_data_id\",\n type: DataType.Uuid,\n },\n {\n name: \"dag_locked_until\",\n type: DataType.Int,\n },\n {\n name: \"dag_content_hash\",\n type: DataType.Text,\n },\n ],\n create_ag_by_dag_for_copy: [\n {\n name: \"dag_owner_wallet_identifier\",\n type: DataType.Text,\n },\n {\n name: \"dag_grantee_wallet_identifier\",\n type: DataType.Text,\n },\n {\n name: \"dag_data_id\",\n type: DataType.Uuid,\n },\n {\n name: \"dag_locked_until\",\n type: DataType.Int,\n },\n {\n name: \"dag_content_hash\",\n type: DataType.Text,\n },\n {\n name: \"dag_signature\",\n type: DataType.Text,\n },\n ],\n get_access_grants_for_credential: [\n {\n name: \"credential_id\",\n type: DataType.Uuid,\n },\n ],\n has_profile: [\n {\n name: \"address\",\n type: DataType.Text,\n },\n ],\n check_balance: [\n {\n name: \"address\",\n type: DataType.Text,\n },\n {\n name: \"token\",\n type: DataType.Text,\n },\n ],\n get_wallet_with_balance: [\n {\n name: \"token\",\n type: DataType.Text,\n },\n ],\n request_withdrawal: [\n {\n name: \"token\",\n type: DataType.Text,\n },\n ],\n get_allowance: [],\n action_costing_gas: [],\n action_costing_idos_token: [\n {\n name: \"amount\",\n type: DataType.Int,\n },\n ],\n get_issuer_fee: [\n {\n name: \"credential_id\",\n type: DataType.Uuid,\n },\n ],\n action_costing_fee: [\n {\n name: \"credential_id\",\n type: DataType.Uuid,\n },\n ],\n request_balance_withdrawal: [\n {\n name: \"token\",\n type: DataType.Text,\n },\n {\n name: \"evm_address_to\",\n type: DataType.Text,\n },\n ],\n};\nexport const AddInserterAsOwnerInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n name: z.ZodString;\n}> = z.object({\n id: z.uuid(),\n name: z.string(),\n});\n\nexport type AddInserterAsOwnerInput = z.infer<typeof AddInserterAsOwnerInputSchema>;\n\n/** INSERTER AND DELEGATE ACTIONS */\nexport async function addInserterAsOwner(\n kwilClient: KwilActionClient,\n params: AddInserterAsOwnerInput,\n): Promise<void> {\n const inputs = AddInserterAsOwnerInputSchema.parse(params);\n await kwilClient.execute({\n name: \"add_inserter_as_owner\",\n inputs,\n description: \"Add inserter as owner\",\n });\n}\n\nexport const DeleteInserterAsOwnerInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n}> = z.object({\n id: z.uuid(),\n});\n\nexport type DeleteInserterAsOwnerInput = z.infer<typeof DeleteInserterAsOwnerInputSchema>;\n\nexport async function deleteInserterAsOwner(\n kwilClient: KwilActionClient,\n params: DeleteInserterAsOwnerInput,\n): Promise<void> {\n const inputs = DeleteInserterAsOwnerInputSchema.parse(params);\n await kwilClient.execute({\n name: \"delete_inserter_as_owner\",\n inputs,\n description: \"Delete inserter as owner\",\n });\n}\n\nexport const AddDelegateAsOwnerInputSchema: z.ZodObject<{\n address: z.ZodString;\n inserter_id: z.ZodUUID;\n}> = z.object({\n address: z.string(),\n inserter_id: z.uuid(),\n});\n\nexport type AddDelegateAsOwnerInput = z.infer<typeof AddDelegateAsOwnerInputSchema>;\n\nexport async function addDelegateAsOwner(\n kwilClient: KwilActionClient,\n params: AddDelegateAsOwnerInput,\n): Promise<void> {\n const inputs = AddDelegateAsOwnerInputSchema.parse(params);\n await kwilClient.execute({\n name: \"add_delegate_as_owner\",\n inputs,\n description: \"Add a delegate as owner\",\n });\n}\n\nexport const DeleteDelegateAsOwnerInputSchema: z.ZodObject<{\n address: z.ZodString;\n}> = z.object({\n address: z.string(),\n});\n\nexport type DeleteDelegateAsOwnerInput = z.infer<typeof DeleteDelegateAsOwnerInputSchema>;\n\nexport async function deleteDelegateAsOwner(\n kwilClient: KwilActionClient,\n params: DeleteDelegateAsOwnerInput,\n): Promise<void> {\n const inputs = DeleteDelegateAsOwnerInputSchema.parse(params);\n await kwilClient.execute({\n name: \"delete_delegate_as_owner\",\n inputs,\n description: \"Delete a delegate from idOS\",\n });\n}\n\nexport const AddUserAsInserterInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n recipient_encryption_public_key: z.ZodString;\n encryption_password_store: z.ZodType<EncryptionPasswordStore>;\n}> = z.object({\n id: z.uuid(),\n recipient_encryption_public_key: z.string(),\n encryption_password_store: encryptionPasswordStoreSchema,\n});\n\nexport type AddUserAsInserterInput = z.infer<typeof AddUserAsInserterInputSchema>;\n\n/** USER ACTIONS */\nexport async function addUserAsInserter(\n kwilClient: KwilActionClient,\n params: AddUserAsInserterInput,\n): Promise<void> {\n const inputs = AddUserAsInserterInputSchema.parse(params);\n await kwilClient.execute({\n name: \"add_user_as_inserter\",\n inputs,\n description: \"Add a user to idOS\",\n });\n}\n\nexport const UpdateUserPubKeyAsInserterInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n recipient_encryption_public_key: z.ZodString;\n encryption_password_store: z.ZodType<EncryptionPasswordStore>;\n}> = z.object({\n id: z.uuid(),\n recipient_encryption_public_key: z.string(),\n encryption_password_store: encryptionPasswordStoreSchema,\n});\n\nexport type UpdateUserPubKeyAsInserterInput = z.infer<typeof UpdateUserPubKeyAsInserterInputSchema>;\n\nexport async function updateUserPubKeyAsInserter(\n kwilClient: KwilActionClient,\n params: UpdateUserPubKeyAsInserterInput,\n): Promise<void> {\n const inputs = UpdateUserPubKeyAsInserterInputSchema.parse(params);\n await kwilClient.execute({\n name: \"update_user_pub_key_as_inserter\",\n inputs,\n description:\n \"Update user's encryption key and password store in idOS as inserter (profile creator)\",\n });\n}\n\nexport const GetUserOutputSchema: z.ZodObject<{\n id: z.ZodUUID;\n recipient_encryption_public_key: z.ZodString;\n encryption_password_store: z.ZodType<EncryptionPasswordStore>;\n}> = z.object({\n id: z.uuid(),\n recipient_encryption_public_key: z.string(),\n encryption_password_store: encryptionPasswordStoreSchema,\n});\n\nexport type GetUserOutput = z.infer<typeof GetUserOutputSchema>;\n\nexport async function getUser(kwilClient: KwilActionClient): Promise<GetUserOutput> {\n return await kwilClient\n .call<GetUserOutput[]>({\n name: \"get_user\",\n inputs: {},\n })\n .then((result) => result[0]);\n}\n\nexport const GetUserAsInserterInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n}> = z.object({\n id: z.uuid(),\n});\n\nexport type GetUserAsInserterInput = z.infer<typeof GetUserAsInserterInputSchema>;\n\nexport const GetUserAsInserterOutputSchema: z.ZodObject<{\n id: z.ZodUUID;\n recipient_encryption_public_key: z.ZodString;\n encryption_password_store: z.ZodType<EncryptionPasswordStore>;\n inserter: z.ZodString;\n}> = z.object({\n id: z.uuid(),\n recipient_encryption_public_key: z.string(),\n encryption_password_store: encryptionPasswordStoreSchema,\n inserter: z.string(),\n});\n\nexport type GetUserAsInserterOutput = z.infer<typeof GetUserAsInserterOutputSchema>;\n\nexport async function getUserAsInserter(\n kwilClient: KwilActionClient,\n params: GetUserAsInserterInput,\n): Promise<GetUserAsInserterOutput> {\n const inputs = GetUserAsInserterInputSchema.parse(params);\n return await kwilClient\n .call<GetUserAsInserterOutput[]>({\n name: \"get_user_as_inserter\",\n inputs,\n })\n .then((result) => result[0]);\n}\n\nexport const UpsertWalletAsInserterInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n user_id: z.ZodUUID;\n address: z.ZodString;\n public_key: z.ZodNullable<z.ZodString>;\n wallet_type: z.ZodType<WalletType>;\n message: z.ZodString;\n signature: z.ZodString;\n}> = z.object({\n id: z.uuid(),\n user_id: z.uuid(),\n address: z.string(),\n public_key: z.string().nullable(),\n wallet_type: walletTypeSchema,\n message: z.string(),\n signature: z.string(),\n});\n\nexport type UpsertWalletAsInserterInput = z.infer<typeof UpsertWalletAsInserterInputSchema>;\n\n/** WALLET ACTIONS */\nexport async function upsertWalletAsInserter(\n kwilClient: KwilActionClient,\n params: UpsertWalletAsInserterInput,\n): Promise<void> {\n const inputs = UpsertWalletAsInserterInputSchema.parse(params);\n await kwilClient.execute({\n name: \"upsert_wallet_as_inserter\",\n inputs,\n description: \"Add a wallet to idOS by inserter (profile creator)\",\n });\n}\n\nexport const AddWalletInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n address: z.ZodString;\n public_key: z.ZodNullable<z.ZodString>;\n wallet_type: z.ZodType<WalletType>;\n message: z.ZodString;\n signature: z.ZodString;\n}> = z.object({\n id: z.uuid(),\n address: z.string(),\n public_key: z.string().nullable(),\n wallet_type: walletTypeSchema,\n message: z.string(),\n signature: z.string(),\n});\n\nexport type AddWalletInput = z.infer<typeof AddWalletInputSchema>;\n\nexport async function addWallet(\n kwilClient: KwilActionClient,\n params: AddWalletInput,\n): Promise<void> {\n const inputs = AddWalletInputSchema.parse(params);\n await kwilClient.execute({\n name: \"add_wallet\",\n inputs,\n description: \"Add a wallet to idOS\",\n });\n}\n\nexport const GetWalletsOutputSchema: z.ZodObject<{\n id: z.ZodUUID;\n user_id: z.ZodUUID;\n address: z.ZodString;\n public_key: z.ZodNullable<z.ZodString>;\n wallet_type: z.ZodType<WalletType>;\n message: z.ZodString;\n signature: z.ZodString;\n inserter: z.ZodNullable<z.ZodString>;\n}> = z.object({\n id: z.uuid(),\n user_id: z.uuid(),\n address: z.string(),\n public_key: z.string().nullable(),\n wallet_type: walletTypeSchema,\n message: z.string(),\n signature: z.string(),\n inserter: z.string().nullable(),\n});\n\nexport type GetWalletsOutput = z.infer<typeof GetWalletsOutputSchema>;\n\nexport async function getWallets(kwilClient: KwilActionClient): Promise<GetWalletsOutput[]> {\n return await kwilClient.call<GetWalletsOutput[]>({\n name: \"get_wallets\",\n inputs: {},\n });\n}\n\nexport const RemoveWalletInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n}> = z.object({\n id: z.uuid(),\n});\n\nexport type RemoveWalletInput = z.infer<typeof RemoveWalletInputSchema>;\n\nexport async function removeWallet(\n kwilClient: KwilActionClient,\n params: RemoveWalletInput,\n): Promise<void> {\n const inputs = RemoveWalletInputSchema.parse(params);\n await kwilClient.execute({\n name: \"remove_wallet\",\n inputs,\n description: \"Remove a wallet from idOS\",\n });\n}\n\nexport const UpsertCredentialAsInserterInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n user_id: z.ZodUUID;\n issuer_auth_public_key: z.ZodString;\n encryptor_public_key: z.ZodString;\n content: z.ZodString;\n public_notes: z.ZodString;\n public_notes_signature: z.ZodString;\n broader_signature: z.ZodString;\n}> = z.object({\n id: z.uuid(),\n user_id: z.uuid(),\n issuer_auth_public_key: z.string(),\n encryptor_public_key: z.string(),\n content: z.string(),\n public_notes: z.string(),\n public_notes_signature: z.string(),\n broader_signature: z.string(),\n});\n\nexport type UpsertCredentialAsInserterInput = z.infer<typeof UpsertCredentialAsInserterInputSchema>;\n\n/**\n * CREDENTIAL ACTIONS\n * throw an error if not authorized\n */\nexport async function upsertCredentialAsInserter(\n kwilClient: KwilActionClient,\n params: UpsertCredentialAsInserterInput,\n): Promise<void> {\n const inputs = UpsertCredentialAsInserterInputSchema.parse(params);\n await kwilClient.execute({\n name: \"upsert_credential_as_inserter\",\n inputs,\n description:\n \"Add or update a credential in idOS on behalf of a user by permissioned profile creator (inserter) \",\n });\n}\n\nexport const AddCredentialInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n issuer_auth_public_key: z.ZodString;\n encryptor_public_key: z.ZodString;\n content: z.ZodString;\n public_notes: z.ZodString;\n public_notes_signature: z.ZodString;\n broader_signature: z.ZodString;\n}> = z.object({\n id: z.uuid(),\n issuer_auth_public_key: z.string(),\n encryptor_public_key: z.string(),\n content: z.string(),\n public_notes: z.string(),\n public_notes_signature: z.string(),\n broader_signature: z.string(),\n});\n\nexport type AddCredentialInput = z.infer<typeof AddCredentialInputSchema>;\n\nexport async function addCredential(\n kwilClient: KwilActionClient,\n params: AddCredentialInput,\n): Promise<void> {\n const inputs = AddCredentialInputSchema.parse(params);\n await kwilClient.execute({\n name: \"add_credential\",\n inputs,\n description: \"Add a new credential\",\n });\n}\n\nexport const GetCredentialsOutputSchema: z.ZodObject<{\n id: z.ZodUUID;\n user_id: z.ZodUUID;\n public_notes: z.ZodString;\n issuer_auth_public_key: z.ZodString;\n inserter: z.ZodNullable<z.ZodString>;\n original_id: z.ZodNullable<z.ZodUUID>;\n}> = z.object({\n id: z.uuid(),\n user_id: z.uuid(),\n public_notes: z.string(),\n issuer_auth_public_key: z.string(),\n inserter: z.string().nullable(),\n original_id: z.uuid().nullable(),\n});\n\nexport type GetCredentialsOutput = z.infer<typeof GetCredentialsOutputSchema>;\n\nexport async function getCredentials(\n kwilClient: KwilActionClient,\n): Promise<GetCredentialsOutput[]> {\n return await kwilClient.call<GetCredentialsOutput[]>({\n name: \"get_credentials\",\n inputs: {},\n });\n}\n\nexport const GetCredentialsSharedByUserInputSchema: z.ZodObject<{\n user_id: z.ZodUUID;\n original_issuer_auth_public_key: z.ZodNullable<z.ZodString>;\n}> = z.object({\n user_id: z.uuid(),\n original_issuer_auth_public_key: z.string().nullable(),\n});\n\nexport type GetCredentialsSharedByUserInput = z.infer<typeof GetCredentialsSharedByUserInputSchema>;\n\nexport const GetCredentialsSharedByUserOutputSchema: z.ZodObject<{\n id: z.ZodUUID;\n user_id: z.ZodUUID;\n public_notes: z.ZodString;\n encryptor_public_key: z.ZodString;\n issuer_auth_public_key: z.ZodString;\n inserter: z.ZodNullable<z.ZodString>;\n original_id: z.ZodNullable<z.ZodUUID>;\n}> = z.object({\n id: z.uuid(),\n user_id: z.uuid(),\n public_notes: z.string(),\n encryptor_public_key: z.string(),\n issuer_auth_public_key: z.string(),\n inserter: z.string().nullable(),\n original_id: z.uuid().nullable(),\n});\n\nexport type GetCredentialsSharedByUserOutput = z.infer<\n typeof GetCredentialsSharedByUserOutputSchema\n>;\n\nexport async function getCredentialsSharedByUser(\n kwilClient: KwilActionClient,\n params: GetCredentialsSharedByUserInput,\n): Promise<GetCredentialsSharedByUserOutput[]> {\n const inputs = GetCredentialsSharedByUserInputSchema.parse(params);\n return await kwilClient.call<GetCredentialsSharedByUserOutput[]>({\n name: \"get_credentials_shared_by_user\",\n inputs,\n });\n}\n\nexport const EditCredentialInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n public_notes: z.ZodString;\n public_notes_signature: z.ZodString;\n broader_signature: z.ZodString;\n content: z.ZodString;\n encryptor_public_key: z.ZodString;\n issuer_auth_public_key: z.ZodString;\n}> = z.object({\n id: z.uuid(),\n public_notes: z.string(),\n public_notes_signature: z.string(),\n broader_signature: z.string(),\n content: z.string(),\n encryptor_public_key: z.string(),\n issuer_auth_public_key: z.string(),\n});\n\nexport type EditCredentialInput = z.infer<typeof EditCredentialInputSchema>;\n\n/**\n * we forbid to edit a copy\n * only copies can have AGs, so data_id in AGs is id of a copy\n * if $id is shared_credentials.copy_id - it is a copy\n */\nexport async function editCredential(\n kwilClient: KwilActionClient,\n params: EditCredentialInput,\n): Promise<void> {\n const inputs = EditCredentialInputSchema.parse(params);\n await kwilClient.execute({\n name: \"edit_credential\",\n inputs,\n description: \"Edit a credential\",\n });\n}\n\nexport const EditPublicNotesAsIssuerInputSchema: z.ZodObject<{\n public_notes_id: z.ZodString;\n public_notes: z.ZodString;\n}> = z.object({\n public_notes_id: z.string(),\n public_notes: z.string(),\n});\n\nexport type EditPublicNotesAsIssuerInput = z.infer<typeof EditPublicNotesAsIssuerInputSchema>;\n\n/**\n * Be aware that @caller here is ed25519 public key, hex encoded.\n * All other @caller in the schema are either secp256k1 or nep413\n * This action can't be called by kwil-cli (as kwil-cli uses secp256k1 only)\n */\nexport async function editPublicNotesAsIssuer(\n kwilClient: KwilActionClient,\n params: EditPublicNotesAsIssuerInput,\n): Promise<void> {\n const inputs = EditPublicNotesAsIssuerInputSchema.parse(params);\n await kwilClient.execute({\n name: \"edit_public_notes_as_issuer\",\n inputs,\n description: \"Edit public notes in a credential as issuer\",\n });\n}\n\nexport const RemoveCredentialInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n}> = z.object({\n id: z.uuid(),\n});\n\nexport type RemoveCredentialInput = z.infer<typeof RemoveCredentialInputSchema>;\n\nexport async function removeCredential(\n kwilClient: KwilActionClient,\n params: RemoveCredentialInput,\n): Promise<void> {\n const inputs = RemoveCredentialInputSchema.parse(params);\n await kwilClient.execute({\n name: \"remove_credential\",\n inputs,\n description: \"Remove a credential from your idOS profile\",\n });\n}\n\nexport const RescindSharedCredentialInputSchema: z.ZodObject<{\n credential_id: z.ZodUUID;\n}> = z.object({\n credential_id: z.uuid(),\n});\n\nexport type RescindSharedCredentialInput = z.infer<typeof RescindSharedCredentialInputSchema>;\n\nexport async function rescindSharedCredential(\n kwilClient: KwilActionClient,\n params: RescindSharedCredentialInput,\n): Promise<void> {\n const inputs = RescindSharedCredentialInputSchema.parse(params);\n await kwilClient.execute({\n name: \"rescind_shared_credential\",\n inputs,\n description: \"Rescind a shared credential as a grantee\",\n });\n}\n\nexport const ShareCredentialInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n original_credential_id: z.ZodUUID;\n public_notes: z.ZodString;\n public_notes_signature: z.ZodString;\n broader_signature: z.ZodString;\n content: z.ZodString;\n content_hash: z.ZodString;\n encryptor_public_key: z.ZodString;\n issuer_auth_public_key: z.ZodString;\n grantee_wallet_identifier: z.ZodString;\n locked_until: z.ZodNumber;\n}> = z.object({\n id: z.uuid(),\n original_credential_id: z.uuid(),\n public_notes: z.string(),\n public_notes_signature: z.string(),\n broader_signature: z.string(),\n content: z.string(),\n content_hash: z.string(),\n encryptor_public_key: z.string(),\n issuer_auth_public_key: z.string(),\n grantee_wallet_identifier: z.string(),\n locked_until: z.number(),\n});\n\nexport type ShareCredentialInput = z.infer<typeof ShareCredentialInputSchema>;\n\nexport async function shareCredential(\n kwilClient: KwilActionClient,\n params: ShareCredentialInput,\n): Promise<void> {\n const inputs = ShareCredentialInputSchema.parse(params);\n await kwilClient.execute({\n name: \"share_credential\",\n inputs,\n description: \"Share a credential with creating AG\",\n });\n}\n\nexport const CreateCredentialsByDwgInputSchema: z.ZodObject<{\n issuer_auth_public_key: z.ZodString;\n original_encryptor_public_key: z.ZodString;\n original_credential_id: z.ZodUUID;\n original_content: z.ZodString;\n original_public_notes: z.ZodString;\n original_public_notes_signature: z.ZodString;\n original_broader_signature: z.ZodString;\n copy_encryptor_public_key: z.ZodString;\n copy_credential_id: z.ZodUUID;\n copy_content: z.ZodString;\n copy_public_notes_signature: z.ZodString;\n copy_broader_signature: z.ZodString;\n content_hash: z.ZodString;\n dwg_owner: z.ZodString;\n dwg_grantee: z.ZodString;\n dwg_issuer_public_key: z.ZodString;\n dwg_id: z.ZodUUID;\n dwg_access_grant_timelock: z.ZodString;\n dwg_not_before: z.ZodString;\n dwg_not_after: z.ZodString;\n dwg_signature: z.ZodString;\n}> = z.object({\n issuer_auth_public_key: z.string(),\n original_encryptor_public_key: z.string(),\n original_credential_id: z.uuid(),\n original_content: z.string(),\n original_public_notes: z.string(),\n original_public_notes_signature: z.string(),\n original_broader_signature: z.string(),\n copy_encryptor_public_key: z.string(),\n copy_credential_id: z.uuid(),\n copy_content: z.string(),\n copy_public_notes_signature: z.string(),\n copy_broader_signature: z.string(),\n content_hash: z.string(),\n dwg_owner: z.string(),\n dwg_grantee: z.string(),\n dwg_issuer_public_key: z.string(),\n dwg_id: z.uuid(),\n dwg_access_grant_timelock: z.string(),\n dwg_not_before: z.string(),\n dwg_not_after: z.string(),\n dwg_signature: z.string(),\n});\n\nexport type CreateCredentialsByDwgInput = z.infer<typeof CreateCredentialsByDwgInputSchema>;\n\n/**\n * Delegated write credential actions\n * For access grant\n * Check the content creator (encryptor) of credentials is the issuer that user delegated to issue the credentials\n * Get the wallet type and public key for XRPL/NEAR wallets from database\n * Will fail if not in the RFC3339 format\n * Check the format and precedence\n * Check if current block timestamp in time range allowed by write grant.\n * @block_timestamp is a timestamp of previous block, which is can be a few seconds earlier\n * (max is 6 seconds in current network consensus settings) then a time on a requester's machine.\n * Also, if requester's machine has wrong time, it can be an issue.\n * Insert original credential\n * Insert copy credential\n */\nexport async function createCredentialsByDwg(\n kwilClient: KwilActionClient,\n params: CreateCredentialsByDwgInput,\n): Promise<void> {\n const inputs = CreateCredentialsByDwgInputSchema.parse(params);\n await kwilClient.execute({\n name: \"create_credentials_by_dwg\",\n inputs,\n description:\n \"Add original credential and copy credential with AG on behalf of a user (using delegated write grant given by the user)\",\n });\n}\n\nexport const CredentialExistAsInserterInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n}> = z.object({\n id: z.uuid(),\n});\n\nexport type CredentialExistAsInserterInput = z.infer<typeof CredentialExistAsInserterInputSchema>;\n\nexport const CredentialExistAsInserterOutputSchema: z.ZodObject<{\n credential_exist: z.ZodBoolean;\n}> = z.object({\n credential_exist: z.boolean(),\n});\n\nexport type CredentialExistAsInserterOutput = z.infer<typeof CredentialExistAsInserterOutputSchema>;\n\nexport async function credentialExistAsInserter(\n kwilClient: KwilActionClient,\n params: CredentialExistAsInserterInput,\n): Promise<CredentialExistAsInserterOutput> {\n const inputs = CredentialExistAsInserterInputSchema.parse(params);\n return await kwilClient\n .call<CredentialExistAsInserterOutput[]>({\n name: \"credential_exist_as_inserter\",\n inputs,\n })\n .then((result) => result[0]);\n}\n\nexport const GetCredentialOwnedInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n}> = z.object({\n id: z.uuid(),\n});\n\nexport type GetCredentialOwnedInput = z.infer<typeof GetCredentialOwnedInputSchema>;\n\nexport const GetCredentialOwnedOutputSchema: z.ZodObject<{\n id: z.ZodUUID;\n user_id: z.ZodUUID;\n public_notes: z.ZodString;\n content: z.ZodString;\n encryptor_public_key: z.ZodString;\n issuer_auth_public_key: z.ZodString;\n inserter: z.ZodNullable<z.ZodString>;\n}> = z.object({\n id: z.uuid(),\n user_id: z.uuid(),\n public_notes: z.string(),\n content: z.string(),\n encryptor_public_key: z.string(),\n issuer_auth_public_key: z.string(),\n inserter: z.string().nullable(),\n});\n\nexport type GetCredentialOwnedOutput = z.infer<typeof GetCredentialOwnedOutputSchema>;\n\nexport async function getCredentialOwned(\n kwilClient: KwilActionClient,\n params: GetCredentialOwnedInput,\n): Promise<GetCredentialOwnedOutput[]> {\n const inputs = GetCredentialOwnedInputSchema.parse(params);\n return await kwilClient.call<GetCredentialOwnedOutput[]>({\n name: \"get_credential_owned\",\n inputs,\n });\n}\n\nexport const GetCredentialSharedInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n}> = z.object({\n id: z.uuid(),\n});\n\nexport type GetCredentialSharedInput = z.infer<typeof GetCredentialSharedInputSchema>;\n\nexport const GetCredentialSharedOutputSchema: z.ZodObject<{\n id: z.ZodUUID;\n user_id: z.ZodUUID;\n public_notes: z.ZodString;\n content: z.ZodString;\n encryptor_public_key: z.ZodString;\n issuer_auth_public_key: z.ZodString;\n inserter: z.ZodNullable<z.ZodString>;\n}> = z.object({\n id: z.uuid(),\n user_id: z.uuid(),\n public_notes: z.string(),\n content: z.string(),\n encryptor_public_key: z.string(),\n issuer_auth_public_key: z.string(),\n inserter: z.string().nullable(),\n});\n\nexport type GetCredentialSharedOutput = z.infer<typeof GetCredentialSharedOutputSchema>;\n\n/** As a credential copy doesn't contain PUBLIC notes, we return respective original credential PUBLIC notes */\nexport async function getCredentialShared(\n kwilClient: KwilActionClient,\n params: GetCredentialSharedInput,\n): Promise<GetCredentialSharedOutput[]> {\n const inputs = GetCredentialSharedInputSchema.parse(params);\n return await kwilClient.call<GetCredentialSharedOutput[]>({\n name: \"get_credential_shared\",\n inputs,\n });\n}\n\nexport const GetSiblingCredentialIdInputSchema: z.ZodObject<{\n content_hash: z.ZodString;\n}> = z.object({\n content_hash: z.string(),\n});\n\nexport type GetSiblingCredentialIdInput = z.infer<typeof GetSiblingCredentialIdInputSchema>;\n\nexport const GetSiblingCredentialIdOutputSchema: z.ZodObject<{\n id: z.ZodUUID;\n}> = z.object({\n id: z.uuid(),\n});\n\nexport type GetSiblingCredentialIdOutput = z.infer<typeof GetSiblingCredentialIdOutputSchema>;\n\nexport async function getSiblingCredentialId(\n kwilClient: KwilActionClient,\n params: GetSiblingCredentialIdInput,\n): Promise<GetSiblingCredentialIdOutput> {\n const inputs = GetSiblingCredentialIdInputSchema.parse(params);\n return await kwilClient\n .call<GetSiblingCredentialIdOutput[]>({\n name: \"get_sibling_credential_id\",\n inputs,\n })\n .then((result) => result[0]);\n}\n\nexport const AddAttributeAsInserterInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n user_id: z.ZodUUID;\n attribute_key: z.ZodString;\n value: z.ZodString;\n}> = z.object({\n id: z.uuid(),\n user_id: z.uuid(),\n attribute_key: z.string(),\n value: z.string(),\n});\n\nexport type AddAttributeAsInserterInput = z.infer<typeof AddAttributeAsInserterInputSchema>;\n\n/** ATTRIBUTE ACTIONS */\nexport async function addAttributeAsInserter(\n kwilClient: KwilActionClient,\n params: AddAttributeAsInserterInput,\n): Promise<void> {\n const inputs = AddAttributeAsInserterInputSchema.parse(params);\n await kwilClient.execute({\n name: \"add_attribute_as_inserter\",\n inputs,\n description: \"Add a new attribute as inserter\",\n });\n}\n\nexport const AddAttributeInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n attribute_key: z.ZodString;\n value: z.ZodString;\n}> = z.object({\n id: z.uuid(),\n attribute_key: z.string(),\n value: z.string(),\n});\n\nexport type AddAttributeInput = z.infer<typeof AddAttributeInputSchema>;\n\nexport async function addAttribute(\n kwilClient: KwilActionClient,\n params: AddAttributeInput,\n): Promise<void> {\n const inputs = AddAttributeInputSchema.parse(params);\n await kwilClient.execute({\n name: \"add_attribute\",\n inputs,\n description: \"Create a new attribute in your idOS profile\",\n });\n}\n\nexport const GetAttributesOutputSchema: z.ZodObject<{\n id: z.ZodUUID;\n user_id: z.ZodUUID;\n attribute_key: z.ZodString;\n value: z.ZodString;\n original_id: z.ZodUUID;\n}> = z.object({\n id: z.uuid(),\n user_id: z.uuid(),\n attribute_key: z.string(),\n value: z.string(),\n original_id: z.uuid(),\n});\n\nexport type GetAttributesOutput = z.infer<typeof GetAttributesOutputSchema>;\n\nexport async function getAttributes(kwilClient: KwilActionClient): Promise<GetAttributesOutput[]> {\n return await kwilClient.call<GetAttributesOutput[]>({\n name: \"get_attributes\",\n inputs: {},\n });\n}\n\nexport const EditAttributeInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n attribute_key: z.ZodString;\n value: z.ZodString;\n}> = z.object({\n id: z.uuid(),\n attribute_key: z.string(),\n value: z.string(),\n});\n\nexport type EditAttributeInput = z.infer<typeof EditAttributeInputSchema>;\n\nexport async function editAttribute(\n kwilClient: KwilActionClient,\n params: EditAttributeInput,\n): Promise<void> {\n const inputs = EditAttributeInputSchema.parse(params);\n await kwilClient.execute({\n name: \"edit_attribute\",\n inputs,\n description: \"Edit an existing attribute\",\n });\n}\n\nexport const RemoveAttributeInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n}> = z.object({\n id: z.uuid(),\n});\n\nexport type RemoveAttributeInput = z.infer<typeof RemoveAttributeInputSchema>;\n\nexport async function removeAttribute(\n kwilClient: KwilActionClient,\n params: RemoveAttributeInput,\n): Promise<void> {\n const inputs = RemoveAttributeInputSchema.parse(params);\n await kwilClient.execute({\n name: \"remove_attribute\",\n inputs,\n description: \"Remove an existing attribute\",\n });\n}\n\nexport const ShareAttributeInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n original_attribute_id: z.ZodUUID;\n attribute_key: z.ZodString;\n value: z.ZodString;\n}> = z.object({\n id: z.uuid(),\n original_attribute_id: z.uuid(),\n attribute_key: z.string(),\n value: z.string(),\n});\n\nexport type ShareAttributeInput = z.infer<typeof ShareAttributeInputSchema>;\n\nexport async function shareAttribute(\n kwilClient: KwilActionClient,\n params: ShareAttributeInput,\n): Promise<void> {\n const inputs = ShareAttributeInputSchema.parse(params);\n await kwilClient.execute({\n name: \"share_attribute\",\n inputs,\n description: \"Share an attribute\",\n });\n}\n\nexport const DwgMessageInputSchema: z.ZodObject<{\n owner_wallet_identifier: z.ZodString;\n grantee_wallet_identifier: z.ZodString;\n issuer_public_key: z.ZodString;\n id: z.ZodUUID;\n access_grant_timelock: z.ZodString;\n not_usable_before: z.ZodString;\n not_usable_after: z.ZodString;\n}> = z.object({\n owner_wallet_identifier: z.string(),\n grantee_wallet_identifier: z.string(),\n issuer_public_key: z.string(),\n id: z.uuid(),\n access_grant_timelock: z.string(),\n not_usable_before: z.string(),\n not_usable_after: z.string(),\n});\n\nexport type DwgMessageInput = z.infer<typeof DwgMessageInputSchema>;\n\nexport const DwgMessageOutputSchema: z.ZodObject<{\n message: z.ZodString;\n}> = z.object({\n message: z.string(),\n});\n\nexport type DwgMessageOutput = z.infer<typeof DwgMessageOutputSchema>;\n\n/**\n * WRITE GRANTS ACTIONS\n * Must be in yyyy-mm-ddThh:mm:ssZ format\n * Must be in yyyy-mm-ddThh:mm:ssZ format\n * Must be in yyyy-mm-ddThh:mm:ssZ format\n * Will fail if not in the yyyy-mm-ddThh:mm:ssZ format, and not comply to RFC3339\n * Check the format and precedence\n */\nexport async function dwgMessage(\n kwilClient: KwilActionClient,\n params: DwgMessageInput,\n): Promise<DwgMessageOutput> {\n const inputs = DwgMessageInputSchema.parse(params);\n return await kwilClient\n .call<DwgMessageOutput[]>({\n name: \"dwg_message\",\n inputs,\n })\n .then((result) => result[0]);\n}\n\nexport const RevokeAccessGrantInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n}> = z.object({\n id: z.uuid(),\n});\n\nexport type RevokeAccessGrantInput = z.infer<typeof RevokeAccessGrantInputSchema>;\n\n/** ACCESS GRANTS ACTIONS */\nexport async function revokeAccessGrant(\n kwilClient: KwilActionClient,\n params: RevokeAccessGrantInput,\n): Promise<void> {\n const inputs = RevokeAccessGrantInputSchema.parse(params);\n await kwilClient.execute({\n name: \"revoke_access_grant\",\n inputs,\n description: \"Revoke an Access Grant from idOS\",\n });\n}\n\nexport const GetAccessGrantsOwnedOutputSchema: z.ZodObject<{\n id: z.ZodUUID;\n ag_owner_user_id: z.ZodUUID;\n ag_grantee_wallet_identifier: z.ZodString;\n data_id: z.ZodUUID;\n locked_until: z.ZodNumber;\n content_hash: z.ZodNullable<z.ZodString>;\n inserter_type: z.ZodString;\n inserter_id: z.ZodString;\n}> = z.object({\n id: z.uuid(),\n ag_owner_user_id: z.uuid(),\n ag_grantee_wallet_identifier: z.string(),\n data_id: z.uuid(),\n locked_until: z.number(),\n content_hash: z.string().nullable(),\n inserter_type: z.string(),\n inserter_id: z.string(),\n});\n\nexport type GetAccessGrantsOwnedOutput = z.infer<typeof GetAccessGrantsOwnedOutputSchema>;\n\nexport async function getAccessGrantsOwned(\n kwilClient: KwilActionClient,\n): Promise<GetAccessGrantsOwnedOutput[]> {\n return await kwilClient.call<GetAccessGrantsOwnedOutput[]>({\n name: \"get_access_grants_owned\",\n inputs: {},\n });\n}\n\nexport const GetAccessGrantsGrantedInputSchema: z.ZodObject<{\n user_id: z.ZodNullable<z.ZodUUID>;\n page: z.ZodNumber;\n size: z.ZodNumber;\n}> = z.object({\n user_id: z.uuid().nullable(),\n page: z.number(),\n size: z.number(),\n});\n\nexport type GetAccessGrantsGrantedInput = z.infer<typeof GetAccessGrantsGrantedInputSchema>;\n\nexport const GetAccessGrantsGrantedOutputSchema: z.ZodObject<{\n id: z.ZodUUID;\n ag_owner_user_id: z.ZodUUID;\n ag_grantee_wallet_identifier: z.ZodString;\n data_id: z.ZodUUID;\n locked_until: z.ZodNumber;\n content_hash: z.ZodNullable<z.ZodString>;\n inserter_type: z.ZodString;\n inserter_id: z.ZodString;\n}> = z.object({\n id: z.uuid(),\n ag_owner_user_id: z.uuid(),\n ag_grantee_wallet_identifier: z.string(),\n data_id: z.uuid(),\n locked_until: z.number(),\n content_hash: z.string().nullable(),\n inserter_type: z.string(),\n inserter_id: z.string(),\n});\n\nexport type GetAccessGrantsGrantedOutput = z.infer<typeof GetAccessGrantsGrantedOutputSchema>;\n\n/**\n * As arguments can be undefined (user can not send them at all), we have to have default values: page=1, size=20\n * Page number starts from 1, as UI usually shows to user in pagination element\n * Ordering is consistent because we use height as first ordering parameter\n */\nexport async function getAccessGrantsGranted(\n kwilClient: KwilActionClient,\n params: GetAccessGrantsGrantedInput,\n): Promise<GetAccessGrantsGrantedOutput[]> {\n const inputs = GetAccessGrantsGrantedInputSchema.parse(params);\n return await kwilClient.call<GetAccessGrantsGrantedOutput[]>({\n name: \"get_access_grants_granted\",\n inputs,\n });\n}\n\nexport const GetAccessGrantsGrantedCountInputSchema: z.ZodObject<{\n user_id: z.ZodNullable<z.ZodUUID>;\n}> = z.object({\n user_id: z.uuid().nullable(),\n});\n\nexport type GetAccessGrantsGrantedCountInput = z.infer<\n typeof GetAccessGrantsGrantedCountInputSchema\n>;\n\nexport const GetAccessGrantsGrantedCountOutputSchema: z.ZodObject<{\n count: z.ZodNumber;\n}> = z.object({\n count: z.number(),\n});\n\nexport type GetAccessGrantsGrantedCountOutput = z.infer<\n typeof GetAccessGrantsGrantedCountOutputSchema\n>;\n\nexport async function getAccessGrantsGrantedCount(\n kwilClient: KwilActionClient,\n params: GetAccessGrantsGrantedCountInput,\n): Promise<GetAccessGrantsGrantedCountOutput> {\n const inputs = GetAccessGrantsGrantedCountInputSchema.parse(params);\n return await kwilClient\n .call<GetAccessGrantsGrantedCountOutput[]>({\n name: \"get_access_grants_granted_count\",\n inputs,\n })\n .then((result) => result[0]);\n}\n\nexport const HasLockedAccessGrantsInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n}> = z.object({\n id: z.uuid(),\n});\n\nexport type HasLockedAccessGrantsInput = z.infer<typeof HasLockedAccessGrantsInputSchema>;\n\nexport const HasLockedAccessGrantsOutputSchema: z.ZodObject<{\n has: z.ZodBoolean;\n}> = z.object({\n has: z.boolean(),\n});\n\nexport type HasLockedAccessGrantsOutput = z.infer<typeof HasLockedAccessGrantsOutputSchema>;\n\nexport async function hasLockedAccessGrants(\n kwilClient: KwilActionClient,\n params: HasLockedAccessGrantsInput,\n): Promise<HasLockedAccessGrantsOutput> {\n const inputs = HasLockedAccessGrantsInputSchema.parse(params);\n return await kwilClient\n .call<HasLockedAccessGrantsOutput[]>({\n name: \"has_locked_access_grants\",\n inputs,\n })\n .then((result) => result[0]);\n}\n\nexport const DagMessageInputSchema: z.ZodObject<{\n dag_owner_wallet_identifier: z.ZodString;\n dag_grantee_wallet_identifier: z.ZodString;\n dag_data_id: z.ZodUUID;\n dag_locked_until: z.ZodNumber;\n dag_content_hash: z.ZodString;\n}> = z.object({\n dag_owner_wallet_identifier: z.string(),\n dag_grantee_wallet_identifier: z.string(),\n dag_data_id: z.uuid(),\n dag_locked_until: z.number(),\n dag_content_hash: z.string(),\n});\n\nexport type DagMessageInput = z.infer<typeof DagMessageInputSchema>;\n\nexport const DagMessageOutputSchema: z.ZodObject<{\n message: z.ZodString;\n}> = z.object({\n message: z.string(),\n});\n\nexport type DagMessageOutput = z.infer<typeof DagMessageOutputSchema>;\n\nexport async function dagMessage(\n kwilClient: KwilActionClient,\n params: DagMessageInput,\n): Promise<DagMessageOutput> {\n const inputs = DagMessageInputSchema.parse(params);\n return await kwilClient\n .call<DagMessageOutput[]>({\n name: \"dag_message\",\n inputs,\n })\n .then((result) => result[0]);\n}\n\nexport const CreateAgByDagForCopyInputSchema: z.ZodObject<{\n dag_owner_wallet_identifier: z.ZodString;\n dag_grantee_wallet_identifier: z.ZodString;\n dag_data_id: z.ZodUUID;\n dag_locked_until: z.ZodNumber;\n dag_content_hash: z.ZodString;\n dag_signature: z.ZodString;\n}> = z.object({\n dag_owner_wallet_identifier: z.string(),\n dag_grantee_wallet_identifier: z.string(),\n dag_data_id: z.uuid(),\n dag_locked_until: z.number(),\n dag_content_hash: z.string(),\n dag_signature: z.string(),\n});\n\nexport type CreateAgByDagForCopyInput = z.infer<typeof CreateAgByDagForCopyInputSchema>;\n\n/**\n * Get the wallet type and public key for XRPL/NEAR wallets from database\n * This works for EVM-compatible signatures only\n */\nexport async function createAgByDagForCopy(\n kwilClient: KwilActionClient,\n params: CreateAgByDagForCopyInput,\n): Promise<void> {\n const inputs = CreateAgByDagForCopyInputSchema.parse(params);\n await kwilClient.execute({\n name: \"create_ag_by_dag_for_copy\",\n inputs,\n description: \"Create an Access Grant in idOS\",\n });\n}\n\nexport const GetAccessGrantsForCredentialInputSchema: z.ZodObject<{\n credential_id: z.ZodUUID;\n}> = z.object({\n credential_id: z.uuid(),\n});\n\nexport type GetAccessGrantsForCredentialInput = z.infer<\n typeof GetAccessGrantsForCredentialInputSchema\n>;\n\nexport const GetAccessGrantsForCredentialOutputSchema: z.ZodObject<{\n id: z.ZodUUID;\n ag_owner_user_id: z.ZodUUID;\n ag_grantee_wallet_identifier: z.ZodString;\n data_id: z.ZodUUID;\n locked_until: z.ZodNumber;\n content_hash: z.ZodNullable<z.ZodString>;\n inserter_type: z.ZodString;\n inserter_id: z.ZodString;\n}> = z.object({\n id: z.uuid(),\n ag_owner_user_id: z.uuid(),\n ag_grantee_wallet_identifier: z.string(),\n data_id: z.uuid(),\n locked_until: z.number(),\n content_hash: z.string().nullable(),\n inserter_type: z.string(),\n inserter_id: z.string(),\n});\n\nexport type GetAccessGrantsForCredentialOutput = z.infer<\n typeof GetAccessGrantsForCredentialOutputSchema\n>;\n\nexport async function getAccessGrantsForCredential(\n kwilClient: KwilActionClient,\n params: GetAccessGrantsForCredentialInput,\n): Promise<GetAccessGrantsForCredentialOutput[]> {\n const inputs = GetAccessGrantsForCredentialInputSchema.parse(params);\n return await kwilClient.call<GetAccessGrantsForCredentialOutput[]>({\n name: \"get_access_grants_for_credential\",\n inputs,\n });\n}\n\nexport const HasProfileInputSchema: z.ZodObject<{\n address: z.ZodString;\n}> = z.object({\n address: z.string(),\n});\n\nexport type HasProfileInput = z.infer<typeof HasProfileInputSchema>;\n\nexport const HasProfileOutputSchema: z.ZodObject<{\n has_profile: z.ZodBoolean;\n}> = z.object({\n has_profile: z.boolean(),\n});\n\nexport type HasProfileOutput = z.infer<typeof HasProfileOutputSchema>;\n\n/**\n * OTHER ACTIONS\n * Should we improve it to work with near wallets too?\n */\nexport async function hasProfile(\n kwilClient: KwilActionClient,\n params: HasProfileInput,\n): Promise<HasProfileOutput> {\n const inputs = HasProfileInputSchema.parse(params);\n return await kwilClient\n .call<HasProfileOutput[]>(\n {\n name: \"has_profile\",\n inputs,\n },\n undefined, // Signer is not required here\n )\n .then((result) => result[0]);\n}\n\nexport const CheckBalanceInputSchema: z.ZodObject<{\n address: z.ZodString;\n token: z.ZodString;\n}> = z.object({\n address: z.string(),\n token: z.string(),\n});\n\nexport type CheckBalanceInput = z.infer<typeof CheckBalanceInputSchema>;\n\nexport const CheckBalanceOutputSchema: z.ZodObject<{\n balance: z.ZodNumber;\n}> = z.object({\n balance: z.number(),\n});\n\nexport type CheckBalanceOutput = z.infer<typeof CheckBalanceOutputSchema>;\n\n/** GAS AND FEES */\nexport async function checkBalance(\n kwilClient: KwilActionClient,\n params: CheckBalanceInput,\n): Promise<CheckBalanceOutput> {\n const inputs = CheckBalanceInputSchema.parse(params);\n return await kwilClient\n .call<CheckBalanceOutput[]>({\n name: \"check_balance\",\n inputs,\n })\n .then((result) => result[0]);\n}\n\nexport const GetWalletWithBalanceInputSchema: z.ZodObject<{\n token: z.ZodString;\n}> = z.object({\n token: z.string(),\n});\n\nexport type GetWalletWithBalanceInput = z.infer<typeof GetWalletWithBalanceInputSchema>;\n\nexport const GetWalletWithBalanceOutputSchema: z.ZodObject<{\n wallet_address: z.ZodString;\n}> = z.object({\n wallet_address: z.string(),\n});\n\nexport type GetWalletWithBalanceOutput = z.infer<typeof GetWalletWithBalanceOutputSchema>;\n\n/**\n * even if the @caller is not EVM address, there is no harm to try to get the balance, it will return nothing\n * because bridge.balance can only have records with EVM addresses (it is filled from EVM-compatible contract events)\n */\nexport async function getWalletWithBalance(\n kwilClient: KwilActionClient,\n params: GetWalletWithBalanceInput,\n): Promise<GetWalletWithBalanceOutput> {\n const inputs = GetWalletWithBalanceInputSchema.parse(params);\n return await kwilClient\n .call<GetWalletWithBalanceOutput[]>({\n name: \"get_wallet_with_balance\",\n inputs,\n })\n .then((result) => result[0]);\n}\n\nexport const RequestWithdrawalInputSchema: z.ZodObject<{\n token: z.ZodString;\n}> = z.object({\n token: z.string(),\n});\n\nexport type RequestWithdrawalInput = z.infer<typeof RequestWithdrawalInputSchema>;\n\n/** we use lock_admin()+issue() because bridge() is tied to @caller */\nexport async function requestWithdrawal(\n kwilClient: KwilActionClient,\n params: RequestWithdrawalInput,\n): Promise<void> {\n const inputs = RequestWithdrawalInputSchema.parse(params);\n await kwilClient.execute({\n name: \"request_withdrawal\",\n inputs,\n description: \"Request a withdrawal of all tokens from idOS to user's EVM wallet\",\n });\n}\n\nexport const GetAllowanceOutputSchema: z.ZodObject<{\n gas_allowance: z.ZodNumber;\n}> = z.object({\n gas_allowance: z.number(),\n});\n\nexport type GetAllowanceOutput = z.infer<typeof GetAllowanceOutputSchema>;\n\n/** FaceSign should not be able to call this */\nexport async function getAllowance(kwilClient: KwilActionClient): Promise<GetAllowanceOutput> {\n return await kwilClient\n .call<GetAllowanceOutput[]>({\n name: \"get_allowance\",\n inputs: {},\n })\n .then((result) => result[0]);\n}\n\nexport async function actionCostingGas(kwilClient: KwilActionClient): Promise<void> {\n await kwilClient.execute({\n name: \"action_costing_gas\",\n inputs: {},\n description: \"Get cost of action for 1.2 gas\",\n });\n}\n\nexport const ActionCostingIdosTokenInputSchema: z.ZodObject<{\n amount: z.ZodNumber;\n}> = z.object({\n amount: z.number(),\n});\n\nexport type ActionCostingIdosTokenInput = z.infer<typeof ActionCostingIdosTokenInputSchema>;\n\nexport async function actionCostingIdosToken(\n kwilClient: KwilActionClient,\n params: ActionCostingIdosTokenInput,\n): Promise<void> {\n const inputs = ActionCostingIdosTokenInputSchema.parse(params);\n await kwilClient.execute({\n name: \"action_costing_idos_token\",\n inputs,\n description: \"Action that captures IDOS tokens from the caller\",\n });\n}\n\nexport const GetIssuerFeeInputSchema: z.ZodObject<{\n credential_id: z.ZodUUID;\n}> = z.object({\n credential_id: z.uuid(),\n});\n\nexport type GetIssuerFeeInput = z.infer<typeof GetIssuerFeeInputSchema>;\n\nexport const GetIssuerFeeOutputSchema: z.ZodObject<{\n issuer_fee: z.ZodNumber;\n}> = z.object({\n issuer_fee: z.number(),\n});\n\nexport type GetIssuerFeeOutput = z.infer<typeof GetIssuerFeeOutputSchema>;\n\nexport async function getIssuerFee(\n kwilClient: KwilActionClient,\n params: GetIssuerFeeInput,\n): Promise<GetIssuerFeeOutput> {\n const inputs = GetIssuerFeeInputSchema.parse(params);\n return await kwilClient\n .call<GetIssuerFeeOutput[]>({\n name: \"get_issuer_fee\",\n inputs,\n })\n .then((result) => result[0]);\n}\n\nexport const ActionCostingFeeInputSchema: z.ZodObject<{\n credential_id: z.ZodUUID;\n}> = z.object({\n credential_id: z.uuid(),\n});\n\nexport type ActionCostingFeeInput = z.infer<typeof ActionCostingFeeInputSchema>;\n\nexport async function actionCostingFee(\n kwilClient: KwilActionClient,\n params: ActionCostingFeeInput,\n): Promise<void> {\n const inputs = ActionCostingFeeInputSchema.parse(params);\n await kwilClient.execute({\n name: \"action_costing_fee\",\n inputs,\n description: \"Capture fee from credentials\",\n });\n}\n\nexport const RequestBalanceWithdrawalInputSchema: z.ZodObject<{\n token: z.ZodString;\n evm_address_to: z.ZodString;\n}> = z.object({\n token: z.string(),\n evm_address_to: z.string(),\n});\n\nexport type RequestBalanceWithdrawalInput = z.infer<typeof RequestBalanceWithdrawalInputSchema>;\n\nexport async function requestBalanceWithdrawal(\n kwilClient: KwilActionClient,\n params: RequestBalanceWithdrawalInput,\n): Promise<void> {\n const inputs = RequestBalanceWithdrawalInputSchema.parse(params);\n await kwilClient.execute({\n name: \"request_balance_withdrawal\",\n inputs,\n description: \"Request a withdrawal of all tokens from idOS to specified EVM address\",\n });\n}\n","import type { KwilActionClient } from \"..\";\n\nimport {\n type AddUserAsInserterInput,\n type AddWalletInput,\n addWallet,\n type DwgMessageInput,\n type GetAccessGrantsGrantedInput,\n type GetAccessGrantsGrantedOutput,\n type GetAttributesOutput,\n type GetCredentialSharedOutput,\n type GetCredentialsOutput,\n getAccessGrantsGranted,\n removeWallet,\n type UpsertWalletAsInserterInput,\n} from \"./actions\";\n\nexport * from \"./actions\";\n\n// Name aliases for a better developer experience\nexport type idOSUser = AddUserAsInserterInput;\nexport type idOSGrant = GetAccessGrantsGrantedOutput;\nexport type idOSCredential = GetCredentialSharedOutput;\nexport type idOSCredentialListItem = GetCredentialsOutput;\nexport type idOSUserAttribute = GetAttributesOutput;\nexport type idOSWallet = UpsertWalletAsInserterInput;\nexport type idOSDelegatedWriteGrant = DwgMessageInput;\n\nexport async function addWallets(\n kwilClient: KwilActionClient,\n wallets: AddWalletInput[],\n): Promise<void> {\n await Promise.all(wallets.map((wallet) => addWallet(kwilClient, wallet)));\n}\n\nexport async function removeWallets(kwilClient: KwilActionClient, ids: string[]): Promise<void> {\n await Promise.all(ids.map((id) => removeWallet(kwilClient, { id })));\n}\n\nexport const GET_GRANTS_DEFAULT_RECORDS_PER_PAGE = 10;\n\nexport async function getGrants(\n kwilClient: KwilActionClient,\n params: Partial<GetAccessGrantsGrantedInput> = {\n page: 1,\n size: GET_GRANTS_DEFAULT_RECORDS_PER_PAGE,\n user_id: null,\n },\n): Promise<idOSGrant[]> {\n return getAccessGrantsGranted(kwilClient, {\n page: params.page ?? 1,\n size: params.size ?? 10,\n user_id: params.user_id ?? null,\n });\n}\n"],"mappings":";;;AAMA,MAAa,WAAkC,MAAM;AACrD,MAAa,eAAe;CAAC;CAAO;CAAQ;CAAQ;CAAW;CAAW;AAI1E,MAAa,mBAA0C,EAAE,KAAK,aAAa;AAC3E,MAAa,6BAA6B,CAAC,QAAQ,MAAM;AAIzD,MAAa,gCAAoE,EAAE,KACjF,2BACD;AAOD,MAAa,eAAsD;CACjE,uBAAuB,CACrB;EACE,MAAM;EACN,MAAM,SAAS;EAChB,EACD;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,0BAA0B,CACxB;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,uBAAuB,CACrB;EACE,MAAM;EACN,MAAM,SAAS;EAChB,EACD;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,0BAA0B,CACxB;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,sBAAsB;EACpB;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACF;CACD,iCAAiC;EAC/B;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACF;CACD,UAAU,EAAE;CACZ,sBAAsB,CACpB;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,2BAA2B;EACzB;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACF;CACD,YAAY;EACV;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACF;CACD,aAAa,EAAE;CACf,eAAe,CACb;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,+BAA+B;EAC7B;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACF;CACD,gBAAgB;EACd;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACF;CACD,iBAAiB,EAAE;CACnB,gCAAgC,CAC9B;EACE,MAAM;EACN,MAAM,SAAS;EAChB,EACD;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,iBAAiB;EACf;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACF;CACD,6BAA6B,CAC3B;EACE,MAAM;EACN,MAAM,SAAS;EAChB,EACD;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,mBAAmB,CACjB;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,2BAA2B,CACzB;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,kBAAkB;EAChB;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACF;CACD,2BAA2B;EACzB;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACF;CACD,8BAA8B,CAC5B;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,sBAAsB,CACpB;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,uBAAuB,CACrB;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,2BAA2B,CACzB;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,2BAA2B;EACzB;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACF;CACD,eAAe;EACb;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACF;CACD,gBAAgB,EAAE;CAClB,gBAAgB;EACd;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACF;CACD,kBAAkB,CAChB;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,iBAAiB;EACf;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACF;CACD,aAAa;EACX;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACF;CACD,qBAAqB,CACnB;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,yBAAyB,EAAE;CAC3B,2BAA2B;EACzB;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACF;CACD,iCAAiC,CAC/B;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,0BAA0B,CACxB;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,aAAa;EACX;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACF;CACD,2BAA2B;EACzB;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACF;CACD,kCAAkC,CAChC;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,aAAa,CACX;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,eAAe,CACb;EACE,MAAM;EACN,MAAM,SAAS;EAChB,EACD;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,yBAAyB,CACvB;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,oBAAoB,CAClB;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,eAAe,EAAE;CACjB,oBAAoB,EAAE;CACtB,2BAA2B,CACzB;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,gBAAgB,CACd;EACE,MAAM;EACN,MAAM,SAAS;EAChB,C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"}
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../src/actions/actions.ts","../../src/actions/index.ts"],"sourcesContent":["import { Utils } from \"@idos-network/kwil-js\";\nimport * as z from \"zod\";\n\nimport type { KwilActionClient } from \"../\";\n\n// This file is generated by the generator. Do not edit it manually.\nexport const DataType: typeof Utils.DataType = Utils.DataType;\nexport const WALLET_TYPES = [\"EVM\", \"NEAR\", \"XRPL\", \"Stellar\", \"FaceSign\"] as const;\n\nexport type WalletType = (typeof WALLET_TYPES)[number];\n\nexport const walletTypeSchema: z.ZodType<WalletType> = z.enum(WALLET_TYPES);\nexport const ENCRYPTION_PASSWORD_STORES = [\"user\", \"mpc\"] as const;\n\nexport type EncryptionPasswordStore = (typeof ENCRYPTION_PASSWORD_STORES)[number];\n\nexport const encryptionPasswordStoreSchema: z.ZodType<EncryptionPasswordStore> = z.enum(\n ENCRYPTION_PASSWORD_STORES,\n);\n\nexport type ActionSchemaElement = {\n name: string;\n type: typeof DataType.Uuid | typeof DataType.Text | typeof DataType.Int | typeof DataType.Boolean;\n};\n\nexport const actionSchema: Record<string, ActionSchemaElement[]> = {\n add_inserter_as_owner: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"name\",\n type: DataType.Text,\n },\n ],\n delete_inserter_as_owner: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n ],\n add_delegate_as_owner: [\n {\n name: \"address\",\n type: DataType.Text,\n },\n {\n name: \"inserter_id\",\n type: DataType.Uuid,\n },\n ],\n delete_delegate_as_owner: [\n {\n name: \"address\",\n type: DataType.Text,\n },\n ],\n add_user_as_inserter: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"recipient_encryption_public_key\",\n type: DataType.Text,\n },\n {\n name: \"encryption_password_store\",\n type: DataType.Text,\n },\n ],\n update_user_pub_key_as_inserter: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"recipient_encryption_public_key\",\n type: DataType.Text,\n },\n {\n name: \"encryption_password_store\",\n type: DataType.Text,\n },\n ],\n get_user: [],\n get_user_as_inserter: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n ],\n upsert_wallet_as_inserter: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"user_id\",\n type: DataType.Uuid,\n },\n {\n name: \"address\",\n type: DataType.Text,\n },\n {\n name: \"public_key\",\n type: DataType.Text,\n },\n {\n name: \"wallet_type\",\n type: DataType.Text,\n },\n {\n name: \"message\",\n type: DataType.Text,\n },\n {\n name: \"signature\",\n type: DataType.Text,\n },\n ],\n add_wallet: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"address\",\n type: DataType.Text,\n },\n {\n name: \"public_key\",\n type: DataType.Text,\n },\n {\n name: \"wallet_type\",\n type: DataType.Text,\n },\n {\n name: \"message\",\n type: DataType.Text,\n },\n {\n name: \"signature\",\n type: DataType.Text,\n },\n ],\n get_wallets: [],\n remove_wallet: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n ],\n upsert_credential_as_inserter: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"user_id\",\n type: DataType.Uuid,\n },\n {\n name: \"issuer_auth_public_key\",\n type: DataType.Text,\n },\n {\n name: \"encryptor_public_key\",\n type: DataType.Text,\n },\n {\n name: \"content\",\n type: DataType.Text,\n },\n {\n name: \"public_notes\",\n type: DataType.Text,\n },\n {\n name: \"public_notes_signature\",\n type: DataType.Text,\n },\n {\n name: \"broader_signature\",\n type: DataType.Text,\n },\n ],\n add_credential: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"issuer_auth_public_key\",\n type: DataType.Text,\n },\n {\n name: \"encryptor_public_key\",\n type: DataType.Text,\n },\n {\n name: \"content\",\n type: DataType.Text,\n },\n {\n name: \"public_notes\",\n type: DataType.Text,\n },\n {\n name: \"public_notes_signature\",\n type: DataType.Text,\n },\n {\n name: \"broader_signature\",\n type: DataType.Text,\n },\n ],\n get_credentials: [],\n get_credentials_shared_by_user: [\n {\n name: \"user_id\",\n type: DataType.Uuid,\n },\n {\n name: \"original_issuer_auth_public_key\",\n type: DataType.Text,\n },\n ],\n edit_credential: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"public_notes\",\n type: DataType.Text,\n },\n {\n name: \"public_notes_signature\",\n type: DataType.Text,\n },\n {\n name: \"broader_signature\",\n type: DataType.Text,\n },\n {\n name: \"content\",\n type: DataType.Text,\n },\n {\n name: \"encryptor_public_key\",\n type: DataType.Text,\n },\n {\n name: \"issuer_auth_public_key\",\n type: DataType.Text,\n },\n ],\n edit_public_notes_as_issuer: [\n {\n name: \"public_notes_id\",\n type: DataType.Text,\n },\n {\n name: \"public_notes\",\n type: DataType.Text,\n },\n ],\n remove_credential: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n ],\n rescind_shared_credential: [\n {\n name: \"credential_id\",\n type: DataType.Uuid,\n },\n ],\n share_credential: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"original_credential_id\",\n type: DataType.Uuid,\n },\n {\n name: \"public_notes\",\n type: DataType.Text,\n },\n {\n name: \"public_notes_signature\",\n type: DataType.Text,\n },\n {\n name: \"broader_signature\",\n type: DataType.Text,\n },\n {\n name: \"content\",\n type: DataType.Text,\n },\n {\n name: \"content_hash\",\n type: DataType.Text,\n },\n {\n name: \"encryptor_public_key\",\n type: DataType.Text,\n },\n {\n name: \"issuer_auth_public_key\",\n type: DataType.Text,\n },\n {\n name: \"grantee_wallet_identifier\",\n type: DataType.Text,\n },\n {\n name: \"locked_until\",\n type: DataType.Int,\n },\n ],\n create_credentials_by_dwg: [\n {\n name: \"issuer_auth_public_key\",\n type: DataType.Text,\n },\n {\n name: \"original_encryptor_public_key\",\n type: DataType.Text,\n },\n {\n name: \"original_credential_id\",\n type: DataType.Uuid,\n },\n {\n name: \"original_content\",\n type: DataType.Text,\n },\n {\n name: \"original_public_notes\",\n type: DataType.Text,\n },\n {\n name: \"original_public_notes_signature\",\n type: DataType.Text,\n },\n {\n name: \"original_broader_signature\",\n type: DataType.Text,\n },\n {\n name: \"copy_encryptor_public_key\",\n type: DataType.Text,\n },\n {\n name: \"copy_credential_id\",\n type: DataType.Uuid,\n },\n {\n name: \"copy_content\",\n type: DataType.Text,\n },\n {\n name: \"copy_public_notes_signature\",\n type: DataType.Text,\n },\n {\n name: \"copy_broader_signature\",\n type: DataType.Text,\n },\n {\n name: \"content_hash\",\n type: DataType.Text,\n },\n {\n name: \"dwg_owner\",\n type: DataType.Text,\n },\n {\n name: \"dwg_grantee\",\n type: DataType.Text,\n },\n {\n name: \"dwg_issuer_public_key\",\n type: DataType.Text,\n },\n {\n name: \"dwg_id\",\n type: DataType.Uuid,\n },\n {\n name: \"dwg_access_grant_timelock\",\n type: DataType.Text,\n },\n {\n name: \"dwg_not_before\",\n type: DataType.Text,\n },\n {\n name: \"dwg_not_after\",\n type: DataType.Text,\n },\n {\n name: \"dwg_signature\",\n type: DataType.Text,\n },\n ],\n credential_exist_as_inserter: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n ],\n get_credential_owned: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n ],\n get_credential_shared: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n ],\n get_sibling_credential_id: [\n {\n name: \"content_hash\",\n type: DataType.Text,\n },\n ],\n add_attribute_as_inserter: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"user_id\",\n type: DataType.Uuid,\n },\n {\n name: \"attribute_key\",\n type: DataType.Text,\n },\n {\n name: \"value\",\n type: DataType.Text,\n },\n ],\n add_attribute: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"attribute_key\",\n type: DataType.Text,\n },\n {\n name: \"value\",\n type: DataType.Text,\n },\n ],\n get_attributes: [],\n edit_attribute: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"attribute_key\",\n type: DataType.Text,\n },\n {\n name: \"value\",\n type: DataType.Text,\n },\n ],\n remove_attribute: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n ],\n share_attribute: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"original_attribute_id\",\n type: DataType.Uuid,\n },\n {\n name: \"attribute_key\",\n type: DataType.Text,\n },\n {\n name: \"value\",\n type: DataType.Text,\n },\n ],\n dwg_message: [\n {\n name: \"owner_wallet_identifier\",\n type: DataType.Text,\n },\n {\n name: \"grantee_wallet_identifier\",\n type: DataType.Text,\n },\n {\n name: \"issuer_public_key\",\n type: DataType.Text,\n },\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n {\n name: \"access_grant_timelock\",\n type: DataType.Text,\n },\n {\n name: \"not_usable_before\",\n type: DataType.Text,\n },\n {\n name: \"not_usable_after\",\n type: DataType.Text,\n },\n ],\n revoke_access_grant: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n ],\n get_access_grants_owned: [],\n get_access_grants_granted: [\n {\n name: \"user_id\",\n type: DataType.Uuid,\n },\n {\n name: \"page\",\n type: DataType.Int,\n },\n {\n name: \"size\",\n type: DataType.Int,\n },\n ],\n get_access_grants_granted_count: [\n {\n name: \"user_id\",\n type: DataType.Uuid,\n },\n ],\n has_locked_access_grants: [\n {\n name: \"id\",\n type: DataType.Uuid,\n },\n ],\n dag_message: [\n {\n name: \"dag_owner_wallet_identifier\",\n type: DataType.Text,\n },\n {\n name: \"dag_grantee_wallet_identifier\",\n type: DataType.Text,\n },\n {\n name: \"dag_data_id\",\n type: DataType.Uuid,\n },\n {\n name: \"dag_locked_until\",\n type: DataType.Int,\n },\n {\n name: \"dag_content_hash\",\n type: DataType.Text,\n },\n ],\n create_ag_by_dag_for_copy: [\n {\n name: \"dag_owner_wallet_identifier\",\n type: DataType.Text,\n },\n {\n name: \"dag_grantee_wallet_identifier\",\n type: DataType.Text,\n },\n {\n name: \"dag_data_id\",\n type: DataType.Uuid,\n },\n {\n name: \"dag_locked_until\",\n type: DataType.Int,\n },\n {\n name: \"dag_content_hash\",\n type: DataType.Text,\n },\n {\n name: \"dag_signature\",\n type: DataType.Text,\n },\n ],\n get_access_grants_for_credential: [\n {\n name: \"credential_id\",\n type: DataType.Uuid,\n },\n ],\n has_profile: [\n {\n name: \"address\",\n type: DataType.Text,\n },\n ],\n check_balance: [\n {\n name: \"address\",\n type: DataType.Text,\n },\n {\n name: \"token\",\n type: DataType.Text,\n },\n ],\n get_wallet_with_balance: [\n {\n name: \"token\",\n type: DataType.Text,\n },\n ],\n request_withdrawal: [\n {\n name: \"token\",\n type: DataType.Text,\n },\n ],\n get_allowance: [],\n action_costing_gas: [],\n action_costing_idos_token: [\n {\n name: \"amount\",\n type: DataType.Int,\n },\n ],\n get_issuer_fee: [\n {\n name: \"credential_id\",\n type: DataType.Uuid,\n },\n ],\n action_costing_fee: [\n {\n name: \"credential_id\",\n type: DataType.Uuid,\n },\n ],\n request_balance_withdrawal: [\n {\n name: \"token\",\n type: DataType.Text,\n },\n {\n name: \"evm_address_to\",\n type: DataType.Text,\n },\n ],\n};\nexport const AddInserterAsOwnerInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n name: z.ZodString;\n}> = z.object({\n id: z.uuid(),\n name: z.string(),\n});\n\nexport type AddInserterAsOwnerInput = z.infer<typeof AddInserterAsOwnerInputSchema>;\n\n/** INSERTER AND DELEGATE ACTIONS */\nexport async function addInserterAsOwner(\n kwilClient: KwilActionClient,\n params: AddInserterAsOwnerInput,\n): Promise<void> {\n const inputs = AddInserterAsOwnerInputSchema.parse(params);\n await kwilClient.execute({\n name: \"add_inserter_as_owner\",\n inputs,\n description: \"Add inserter as owner\",\n });\n}\n\nexport const DeleteInserterAsOwnerInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n}> = z.object({\n id: z.uuid(),\n});\n\nexport type DeleteInserterAsOwnerInput = z.infer<typeof DeleteInserterAsOwnerInputSchema>;\n\nexport async function deleteInserterAsOwner(\n kwilClient: KwilActionClient,\n params: DeleteInserterAsOwnerInput,\n): Promise<void> {\n const inputs = DeleteInserterAsOwnerInputSchema.parse(params);\n await kwilClient.execute({\n name: \"delete_inserter_as_owner\",\n inputs,\n description: \"Delete inserter as owner\",\n });\n}\n\nexport const AddDelegateAsOwnerInputSchema: z.ZodObject<{\n address: z.ZodString;\n inserter_id: z.ZodUUID;\n}> = z.object({\n address: z.string(),\n inserter_id: z.uuid(),\n});\n\nexport type AddDelegateAsOwnerInput = z.infer<typeof AddDelegateAsOwnerInputSchema>;\n\nexport async function addDelegateAsOwner(\n kwilClient: KwilActionClient,\n params: AddDelegateAsOwnerInput,\n): Promise<void> {\n const inputs = AddDelegateAsOwnerInputSchema.parse(params);\n await kwilClient.execute({\n name: \"add_delegate_as_owner\",\n inputs,\n description: \"Add a delegate as owner\",\n });\n}\n\nexport const DeleteDelegateAsOwnerInputSchema: z.ZodObject<{\n address: z.ZodString;\n}> = z.object({\n address: z.string(),\n});\n\nexport type DeleteDelegateAsOwnerInput = z.infer<typeof DeleteDelegateAsOwnerInputSchema>;\n\nexport async function deleteDelegateAsOwner(\n kwilClient: KwilActionClient,\n params: DeleteDelegateAsOwnerInput,\n): Promise<void> {\n const inputs = DeleteDelegateAsOwnerInputSchema.parse(params);\n await kwilClient.execute({\n name: \"delete_delegate_as_owner\",\n inputs,\n description: \"Delete a delegate from idOS\",\n });\n}\n\nexport const AddUserAsInserterInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n recipient_encryption_public_key: z.ZodString;\n encryption_password_store: z.ZodType<EncryptionPasswordStore>;\n}> = z.object({\n id: z.uuid(),\n recipient_encryption_public_key: z.string(),\n encryption_password_store: encryptionPasswordStoreSchema,\n});\n\nexport type AddUserAsInserterInput = z.infer<typeof AddUserAsInserterInputSchema>;\n\n/** USER ACTIONS */\nexport async function addUserAsInserter(\n kwilClient: KwilActionClient,\n params: AddUserAsInserterInput,\n): Promise<void> {\n const inputs = AddUserAsInserterInputSchema.parse(params);\n await kwilClient.execute({\n name: \"add_user_as_inserter\",\n inputs,\n description: \"Add a user to idOS\",\n });\n}\n\nexport const UpdateUserPubKeyAsInserterInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n recipient_encryption_public_key: z.ZodString;\n encryption_password_store: z.ZodType<EncryptionPasswordStore>;\n}> = z.object({\n id: z.uuid(),\n recipient_encryption_public_key: z.string(),\n encryption_password_store: encryptionPasswordStoreSchema,\n});\n\nexport type UpdateUserPubKeyAsInserterInput = z.infer<typeof UpdateUserPubKeyAsInserterInputSchema>;\n\nexport async function updateUserPubKeyAsInserter(\n kwilClient: KwilActionClient,\n params: UpdateUserPubKeyAsInserterInput,\n): Promise<void> {\n const inputs = UpdateUserPubKeyAsInserterInputSchema.parse(params);\n await kwilClient.execute({\n name: \"update_user_pub_key_as_inserter\",\n inputs,\n description:\n \"Update user's encryption key and password store in idOS as inserter (profile creator)\",\n });\n}\n\nexport const GetUserOutputSchema: z.ZodObject<{\n id: z.ZodUUID;\n recipient_encryption_public_key: z.ZodString;\n encryption_password_store: z.ZodType<EncryptionPasswordStore>;\n}> = z.object({\n id: z.uuid(),\n recipient_encryption_public_key: z.string(),\n encryption_password_store: encryptionPasswordStoreSchema,\n});\n\nexport type GetUserOutput = z.infer<typeof GetUserOutputSchema>;\n\nexport async function getUser(kwilClient: KwilActionClient): Promise<GetUserOutput> {\n return await kwilClient\n .call<GetUserOutput[]>({\n name: \"get_user\",\n inputs: {},\n })\n .then((result) => result[0]);\n}\n\nexport const GetUserAsInserterInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n}> = z.object({\n id: z.uuid(),\n});\n\nexport type GetUserAsInserterInput = z.infer<typeof GetUserAsInserterInputSchema>;\n\nexport const GetUserAsInserterOutputSchema: z.ZodObject<{\n id: z.ZodUUID;\n recipient_encryption_public_key: z.ZodString;\n encryption_password_store: z.ZodType<EncryptionPasswordStore>;\n inserter: z.ZodString;\n}> = z.object({\n id: z.uuid(),\n recipient_encryption_public_key: z.string(),\n encryption_password_store: encryptionPasswordStoreSchema,\n inserter: z.string(),\n});\n\nexport type GetUserAsInserterOutput = z.infer<typeof GetUserAsInserterOutputSchema>;\n\nexport async function getUserAsInserter(\n kwilClient: KwilActionClient,\n params: GetUserAsInserterInput,\n): Promise<GetUserAsInserterOutput> {\n const inputs = GetUserAsInserterInputSchema.parse(params);\n return await kwilClient\n .call<GetUserAsInserterOutput[]>({\n name: \"get_user_as_inserter\",\n inputs,\n })\n .then((result) => result[0]);\n}\n\nexport const UpsertWalletAsInserterInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n user_id: z.ZodUUID;\n address: z.ZodString;\n public_key: z.ZodNullable<z.ZodString>;\n wallet_type: z.ZodType<WalletType>;\n message: z.ZodString;\n signature: z.ZodString;\n}> = z.object({\n id: z.uuid(),\n user_id: z.uuid(),\n address: z.string(),\n public_key: z.string().nullable(),\n wallet_type: walletTypeSchema,\n message: z.string(),\n signature: z.string(),\n});\n\nexport type UpsertWalletAsInserterInput = z.infer<typeof UpsertWalletAsInserterInputSchema>;\n\n/** WALLET ACTIONS */\nexport async function upsertWalletAsInserter(\n kwilClient: KwilActionClient,\n params: UpsertWalletAsInserterInput,\n): Promise<void> {\n const inputs = UpsertWalletAsInserterInputSchema.parse(params);\n await kwilClient.execute({\n name: \"upsert_wallet_as_inserter\",\n inputs,\n description: \"Add a wallet to idOS by inserter (profile creator)\",\n });\n}\n\nexport const AddWalletInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n address: z.ZodString;\n public_key: z.ZodNullable<z.ZodString>;\n wallet_type: z.ZodType<WalletType>;\n message: z.ZodString;\n signature: z.ZodString;\n}> = z.object({\n id: z.uuid(),\n address: z.string(),\n public_key: z.string().nullable(),\n wallet_type: walletTypeSchema,\n message: z.string(),\n signature: z.string(),\n});\n\nexport type AddWalletInput = z.infer<typeof AddWalletInputSchema>;\n\nexport async function addWallet(\n kwilClient: KwilActionClient,\n params: AddWalletInput,\n): Promise<void> {\n const inputs = AddWalletInputSchema.parse(params);\n await kwilClient.execute({\n name: \"add_wallet\",\n inputs,\n description: \"Add a wallet to idOS\",\n });\n}\n\nexport const GetWalletsOutputSchema: z.ZodObject<{\n id: z.ZodUUID;\n user_id: z.ZodUUID;\n address: z.ZodString;\n public_key: z.ZodNullable<z.ZodString>;\n wallet_type: z.ZodType<WalletType>;\n message: z.ZodString;\n signature: z.ZodString;\n inserter: z.ZodNullable<z.ZodString>;\n}> = z.object({\n id: z.uuid(),\n user_id: z.uuid(),\n address: z.string(),\n public_key: z.string().nullable(),\n wallet_type: walletTypeSchema,\n message: z.string(),\n signature: z.string(),\n inserter: z.string().nullable(),\n});\n\nexport type GetWalletsOutput = z.infer<typeof GetWalletsOutputSchema>;\n\nexport async function getWallets(kwilClient: KwilActionClient): Promise<GetWalletsOutput[]> {\n return await kwilClient.call<GetWalletsOutput[]>({\n name: \"get_wallets\",\n inputs: {},\n });\n}\n\nexport const RemoveWalletInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n}> = z.object({\n id: z.uuid(),\n});\n\nexport type RemoveWalletInput = z.infer<typeof RemoveWalletInputSchema>;\n\nexport async function removeWallet(\n kwilClient: KwilActionClient,\n params: RemoveWalletInput,\n): Promise<void> {\n const inputs = RemoveWalletInputSchema.parse(params);\n await kwilClient.execute({\n name: \"remove_wallet\",\n inputs,\n description: \"Remove a wallet from idOS\",\n });\n}\n\nexport const UpsertCredentialAsInserterInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n user_id: z.ZodUUID;\n issuer_auth_public_key: z.ZodString;\n encryptor_public_key: z.ZodString;\n content: z.ZodString;\n public_notes: z.ZodString;\n public_notes_signature: z.ZodString;\n broader_signature: z.ZodString;\n}> = z.object({\n id: z.uuid(),\n user_id: z.uuid(),\n issuer_auth_public_key: z.string(),\n encryptor_public_key: z.string(),\n content: z.string(),\n public_notes: z.string(),\n public_notes_signature: z.string(),\n broader_signature: z.string(),\n});\n\nexport type UpsertCredentialAsInserterInput = z.infer<typeof UpsertCredentialAsInserterInputSchema>;\n\n/**\n * CREDENTIAL ACTIONS\n * throw an error if not authorized\n */\nexport async function upsertCredentialAsInserter(\n kwilClient: KwilActionClient,\n params: UpsertCredentialAsInserterInput,\n): Promise<void> {\n const inputs = UpsertCredentialAsInserterInputSchema.parse(params);\n await kwilClient.execute({\n name: \"upsert_credential_as_inserter\",\n inputs,\n description:\n \"Add or update a credential in idOS on behalf of a user by permissioned profile creator (inserter) \",\n });\n}\n\nexport const AddCredentialInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n issuer_auth_public_key: z.ZodString;\n encryptor_public_key: z.ZodString;\n content: z.ZodString;\n public_notes: z.ZodString;\n public_notes_signature: z.ZodString;\n broader_signature: z.ZodString;\n}> = z.object({\n id: z.uuid(),\n issuer_auth_public_key: z.string(),\n encryptor_public_key: z.string(),\n content: z.string(),\n public_notes: z.string(),\n public_notes_signature: z.string(),\n broader_signature: z.string(),\n});\n\nexport type AddCredentialInput = z.infer<typeof AddCredentialInputSchema>;\n\nexport async function addCredential(\n kwilClient: KwilActionClient,\n params: AddCredentialInput,\n): Promise<void> {\n const inputs = AddCredentialInputSchema.parse(params);\n await kwilClient.execute({\n name: \"add_credential\",\n inputs,\n description: \"Add a new credential\",\n });\n}\n\nexport const GetCredentialsOutputSchema: z.ZodObject<{\n id: z.ZodUUID;\n user_id: z.ZodUUID;\n public_notes: z.ZodString;\n issuer_auth_public_key: z.ZodString;\n inserter: z.ZodNullable<z.ZodString>;\n original_id: z.ZodNullable<z.ZodUUID>;\n}> = z.object({\n id: z.uuid(),\n user_id: z.uuid(),\n public_notes: z.string(),\n issuer_auth_public_key: z.string(),\n inserter: z.string().nullable(),\n original_id: z.uuid().nullable(),\n});\n\nexport type GetCredentialsOutput = z.infer<typeof GetCredentialsOutputSchema>;\n\nexport async function getCredentials(\n kwilClient: KwilActionClient,\n): Promise<GetCredentialsOutput[]> {\n return await kwilClient.call<GetCredentialsOutput[]>({\n name: \"get_credentials\",\n inputs: {},\n });\n}\n\nexport const GetCredentialsSharedByUserInputSchema: z.ZodObject<{\n user_id: z.ZodUUID;\n original_issuer_auth_public_key: z.ZodNullable<z.ZodString>;\n}> = z.object({\n user_id: z.uuid(),\n original_issuer_auth_public_key: z.string().nullable(),\n});\n\nexport type GetCredentialsSharedByUserInput = z.infer<typeof GetCredentialsSharedByUserInputSchema>;\n\nexport const GetCredentialsSharedByUserOutputSchema: z.ZodObject<{\n id: z.ZodUUID;\n user_id: z.ZodUUID;\n public_notes: z.ZodString;\n encryptor_public_key: z.ZodString;\n issuer_auth_public_key: z.ZodString;\n inserter: z.ZodNullable<z.ZodString>;\n original_id: z.ZodNullable<z.ZodUUID>;\n}> = z.object({\n id: z.uuid(),\n user_id: z.uuid(),\n public_notes: z.string(),\n encryptor_public_key: z.string(),\n issuer_auth_public_key: z.string(),\n inserter: z.string().nullable(),\n original_id: z.uuid().nullable(),\n});\n\nexport type GetCredentialsSharedByUserOutput = z.infer<\n typeof GetCredentialsSharedByUserOutputSchema\n>;\n\nexport async function getCredentialsSharedByUser(\n kwilClient: KwilActionClient,\n params: GetCredentialsSharedByUserInput,\n): Promise<GetCredentialsSharedByUserOutput[]> {\n const inputs = GetCredentialsSharedByUserInputSchema.parse(params);\n return await kwilClient.call<GetCredentialsSharedByUserOutput[]>({\n name: \"get_credentials_shared_by_user\",\n inputs,\n });\n}\n\nexport const EditCredentialInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n public_notes: z.ZodString;\n public_notes_signature: z.ZodString;\n broader_signature: z.ZodString;\n content: z.ZodString;\n encryptor_public_key: z.ZodString;\n issuer_auth_public_key: z.ZodString;\n}> = z.object({\n id: z.uuid(),\n public_notes: z.string(),\n public_notes_signature: z.string(),\n broader_signature: z.string(),\n content: z.string(),\n encryptor_public_key: z.string(),\n issuer_auth_public_key: z.string(),\n});\n\nexport type EditCredentialInput = z.infer<typeof EditCredentialInputSchema>;\n\n/**\n * we forbid to edit a copy\n * only copies can have AGs, so data_id in AGs is id of a copy\n * if $id is shared_credentials.copy_id - it is a copy\n */\nexport async function editCredential(\n kwilClient: KwilActionClient,\n params: EditCredentialInput,\n): Promise<void> {\n const inputs = EditCredentialInputSchema.parse(params);\n await kwilClient.execute({\n name: \"edit_credential\",\n inputs,\n description: \"Edit a credential\",\n });\n}\n\nexport const EditPublicNotesAsIssuerInputSchema: z.ZodObject<{\n public_notes_id: z.ZodString;\n public_notes: z.ZodString;\n}> = z.object({\n public_notes_id: z.string(),\n public_notes: z.string(),\n});\n\nexport type EditPublicNotesAsIssuerInput = z.infer<typeof EditPublicNotesAsIssuerInputSchema>;\n\n/**\n * Be aware that @caller here is ed25519 public key, hex encoded.\n * All other @caller in the schema are either secp256k1 or nep413\n * This action can't be called by kwil-cli (as kwil-cli uses secp256k1 only)\n */\nexport async function editPublicNotesAsIssuer(\n kwilClient: KwilActionClient,\n params: EditPublicNotesAsIssuerInput,\n): Promise<void> {\n const inputs = EditPublicNotesAsIssuerInputSchema.parse(params);\n await kwilClient.execute({\n name: \"edit_public_notes_as_issuer\",\n inputs,\n description: \"Edit public notes in a credential as issuer\",\n });\n}\n\nexport const RemoveCredentialInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n}> = z.object({\n id: z.uuid(),\n});\n\nexport type RemoveCredentialInput = z.infer<typeof RemoveCredentialInputSchema>;\n\nexport async function removeCredential(\n kwilClient: KwilActionClient,\n params: RemoveCredentialInput,\n): Promise<void> {\n const inputs = RemoveCredentialInputSchema.parse(params);\n await kwilClient.execute({\n name: \"remove_credential\",\n inputs,\n description: \"Remove a credential from your idOS profile\",\n });\n}\n\nexport const RescindSharedCredentialInputSchema: z.ZodObject<{\n credential_id: z.ZodUUID;\n}> = z.object({\n credential_id: z.uuid(),\n});\n\nexport type RescindSharedCredentialInput = z.infer<typeof RescindSharedCredentialInputSchema>;\n\nexport async function rescindSharedCredential(\n kwilClient: KwilActionClient,\n params: RescindSharedCredentialInput,\n): Promise<void> {\n const inputs = RescindSharedCredentialInputSchema.parse(params);\n await kwilClient.execute({\n name: \"rescind_shared_credential\",\n inputs,\n description: \"Rescind a shared credential as a grantee\",\n });\n}\n\nexport const ShareCredentialInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n original_credential_id: z.ZodUUID;\n public_notes: z.ZodString;\n public_notes_signature: z.ZodString;\n broader_signature: z.ZodString;\n content: z.ZodString;\n content_hash: z.ZodString;\n encryptor_public_key: z.ZodString;\n issuer_auth_public_key: z.ZodString;\n grantee_wallet_identifier: z.ZodString;\n locked_until: z.ZodNumber;\n}> = z.object({\n id: z.uuid(),\n original_credential_id: z.uuid(),\n public_notes: z.string(),\n public_notes_signature: z.string(),\n broader_signature: z.string(),\n content: z.string(),\n content_hash: z.string(),\n encryptor_public_key: z.string(),\n issuer_auth_public_key: z.string(),\n grantee_wallet_identifier: z.string(),\n locked_until: z.number(),\n});\n\nexport type ShareCredentialInput = z.infer<typeof ShareCredentialInputSchema>;\n\nexport async function shareCredential(\n kwilClient: KwilActionClient,\n params: ShareCredentialInput,\n): Promise<void> {\n const inputs = ShareCredentialInputSchema.parse(params);\n await kwilClient.execute({\n name: \"share_credential\",\n inputs,\n description: \"Share a credential with creating AG\",\n });\n}\n\nexport const CreateCredentialsByDwgInputSchema: z.ZodObject<{\n issuer_auth_public_key: z.ZodString;\n original_encryptor_public_key: z.ZodString;\n original_credential_id: z.ZodUUID;\n original_content: z.ZodString;\n original_public_notes: z.ZodString;\n original_public_notes_signature: z.ZodString;\n original_broader_signature: z.ZodString;\n copy_encryptor_public_key: z.ZodString;\n copy_credential_id: z.ZodUUID;\n copy_content: z.ZodString;\n copy_public_notes_signature: z.ZodString;\n copy_broader_signature: z.ZodString;\n content_hash: z.ZodString;\n dwg_owner: z.ZodString;\n dwg_grantee: z.ZodString;\n dwg_issuer_public_key: z.ZodString;\n dwg_id: z.ZodUUID;\n dwg_access_grant_timelock: z.ZodString;\n dwg_not_before: z.ZodString;\n dwg_not_after: z.ZodString;\n dwg_signature: z.ZodString;\n}> = z.object({\n issuer_auth_public_key: z.string(),\n original_encryptor_public_key: z.string(),\n original_credential_id: z.uuid(),\n original_content: z.string(),\n original_public_notes: z.string(),\n original_public_notes_signature: z.string(),\n original_broader_signature: z.string(),\n copy_encryptor_public_key: z.string(),\n copy_credential_id: z.uuid(),\n copy_content: z.string(),\n copy_public_notes_signature: z.string(),\n copy_broader_signature: z.string(),\n content_hash: z.string(),\n dwg_owner: z.string(),\n dwg_grantee: z.string(),\n dwg_issuer_public_key: z.string(),\n dwg_id: z.uuid(),\n dwg_access_grant_timelock: z.string(),\n dwg_not_before: z.string(),\n dwg_not_after: z.string(),\n dwg_signature: z.string(),\n});\n\nexport type CreateCredentialsByDwgInput = z.infer<typeof CreateCredentialsByDwgInputSchema>;\n\n/**\n * Delegated write credential actions\n * For access grant\n * Check the content creator (encryptor) of credentials is the issuer that user delegated to issue the credentials\n * Get the wallet type and public key for XRPL/NEAR wallets from database\n * Will fail if not in the RFC3339 format\n * Check the format and precedence\n * Check if current block timestamp in time range allowed by write grant.\n * @block_timestamp is a timestamp of previous block, which is can be a few seconds earlier\n * (max is 6 seconds in current network consensus settings) then a time on a requester's machine.\n * Also, if requester's machine has wrong time, it can be an issue.\n * Insert original credential\n * Insert copy credential\n */\nexport async function createCredentialsByDwg(\n kwilClient: KwilActionClient,\n params: CreateCredentialsByDwgInput,\n): Promise<void> {\n const inputs = CreateCredentialsByDwgInputSchema.parse(params);\n await kwilClient.execute({\n name: \"create_credentials_by_dwg\",\n inputs,\n description:\n \"Add original credential and copy credential with AG on behalf of a user (using delegated write grant given by the user)\",\n });\n}\n\nexport const CredentialExistAsInserterInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n}> = z.object({\n id: z.uuid(),\n});\n\nexport type CredentialExistAsInserterInput = z.infer<typeof CredentialExistAsInserterInputSchema>;\n\nexport const CredentialExistAsInserterOutputSchema: z.ZodObject<{\n credential_exist: z.ZodBoolean;\n}> = z.object({\n credential_exist: z.boolean(),\n});\n\nexport type CredentialExistAsInserterOutput = z.infer<typeof CredentialExistAsInserterOutputSchema>;\n\nexport async function credentialExistAsInserter(\n kwilClient: KwilActionClient,\n params: CredentialExistAsInserterInput,\n): Promise<CredentialExistAsInserterOutput> {\n const inputs = CredentialExistAsInserterInputSchema.parse(params);\n return await kwilClient\n .call<CredentialExistAsInserterOutput[]>({\n name: \"credential_exist_as_inserter\",\n inputs,\n })\n .then((result) => result[0]);\n}\n\nexport const GetCredentialOwnedInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n}> = z.object({\n id: z.uuid(),\n});\n\nexport type GetCredentialOwnedInput = z.infer<typeof GetCredentialOwnedInputSchema>;\n\nexport const GetCredentialOwnedOutputSchema: z.ZodObject<{\n id: z.ZodUUID;\n user_id: z.ZodUUID;\n public_notes: z.ZodString;\n content: z.ZodString;\n encryptor_public_key: z.ZodString;\n issuer_auth_public_key: z.ZodString;\n inserter: z.ZodNullable<z.ZodString>;\n}> = z.object({\n id: z.uuid(),\n user_id: z.uuid(),\n public_notes: z.string(),\n content: z.string(),\n encryptor_public_key: z.string(),\n issuer_auth_public_key: z.string(),\n inserter: z.string().nullable(),\n});\n\nexport type GetCredentialOwnedOutput = z.infer<typeof GetCredentialOwnedOutputSchema>;\n\nexport async function getCredentialOwned(\n kwilClient: KwilActionClient,\n params: GetCredentialOwnedInput,\n): Promise<GetCredentialOwnedOutput[]> {\n const inputs = GetCredentialOwnedInputSchema.parse(params);\n return await kwilClient.call<GetCredentialOwnedOutput[]>({\n name: \"get_credential_owned\",\n inputs,\n });\n}\n\nexport const GetCredentialSharedInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n}> = z.object({\n id: z.uuid(),\n});\n\nexport type GetCredentialSharedInput = z.infer<typeof GetCredentialSharedInputSchema>;\n\nexport const GetCredentialSharedOutputSchema: z.ZodObject<{\n id: z.ZodUUID;\n user_id: z.ZodUUID;\n public_notes: z.ZodString;\n content: z.ZodString;\n encryptor_public_key: z.ZodString;\n issuer_auth_public_key: z.ZodString;\n inserter: z.ZodNullable<z.ZodString>;\n}> = z.object({\n id: z.uuid(),\n user_id: z.uuid(),\n public_notes: z.string(),\n content: z.string(),\n encryptor_public_key: z.string(),\n issuer_auth_public_key: z.string(),\n inserter: z.string().nullable(),\n});\n\nexport type GetCredentialSharedOutput = z.infer<typeof GetCredentialSharedOutputSchema>;\n\n/** As a credential copy doesn't contain PUBLIC notes, we return respective original credential PUBLIC notes */\nexport async function getCredentialShared(\n kwilClient: KwilActionClient,\n params: GetCredentialSharedInput,\n): Promise<GetCredentialSharedOutput[]> {\n const inputs = GetCredentialSharedInputSchema.parse(params);\n return await kwilClient.call<GetCredentialSharedOutput[]>({\n name: \"get_credential_shared\",\n inputs,\n });\n}\n\nexport const GetSiblingCredentialIdInputSchema: z.ZodObject<{\n content_hash: z.ZodString;\n}> = z.object({\n content_hash: z.string(),\n});\n\nexport type GetSiblingCredentialIdInput = z.infer<typeof GetSiblingCredentialIdInputSchema>;\n\nexport const GetSiblingCredentialIdOutputSchema: z.ZodObject<{\n id: z.ZodUUID;\n}> = z.object({\n id: z.uuid(),\n});\n\nexport type GetSiblingCredentialIdOutput = z.infer<typeof GetSiblingCredentialIdOutputSchema>;\n\nexport async function getSiblingCredentialId(\n kwilClient: KwilActionClient,\n params: GetSiblingCredentialIdInput,\n): Promise<GetSiblingCredentialIdOutput> {\n const inputs = GetSiblingCredentialIdInputSchema.parse(params);\n return await kwilClient\n .call<GetSiblingCredentialIdOutput[]>({\n name: \"get_sibling_credential_id\",\n inputs,\n })\n .then((result) => result[0]);\n}\n\nexport const AddAttributeAsInserterInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n user_id: z.ZodUUID;\n attribute_key: z.ZodString;\n value: z.ZodString;\n}> = z.object({\n id: z.uuid(),\n user_id: z.uuid(),\n attribute_key: z.string(),\n value: z.string(),\n});\n\nexport type AddAttributeAsInserterInput = z.infer<typeof AddAttributeAsInserterInputSchema>;\n\n/** ATTRIBUTE ACTIONS */\nexport async function addAttributeAsInserter(\n kwilClient: KwilActionClient,\n params: AddAttributeAsInserterInput,\n): Promise<void> {\n const inputs = AddAttributeAsInserterInputSchema.parse(params);\n await kwilClient.execute({\n name: \"add_attribute_as_inserter\",\n inputs,\n description: \"Add a new attribute as inserter\",\n });\n}\n\nexport const AddAttributeInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n attribute_key: z.ZodString;\n value: z.ZodString;\n}> = z.object({\n id: z.uuid(),\n attribute_key: z.string(),\n value: z.string(),\n});\n\nexport type AddAttributeInput = z.infer<typeof AddAttributeInputSchema>;\n\nexport async function addAttribute(\n kwilClient: KwilActionClient,\n params: AddAttributeInput,\n): Promise<void> {\n const inputs = AddAttributeInputSchema.parse(params);\n await kwilClient.execute({\n name: \"add_attribute\",\n inputs,\n description: \"Create a new attribute in your idOS profile\",\n });\n}\n\nexport const GetAttributesOutputSchema: z.ZodObject<{\n id: z.ZodUUID;\n user_id: z.ZodUUID;\n attribute_key: z.ZodString;\n value: z.ZodString;\n original_id: z.ZodUUID;\n}> = z.object({\n id: z.uuid(),\n user_id: z.uuid(),\n attribute_key: z.string(),\n value: z.string(),\n original_id: z.uuid(),\n});\n\nexport type GetAttributesOutput = z.infer<typeof GetAttributesOutputSchema>;\n\nexport async function getAttributes(kwilClient: KwilActionClient): Promise<GetAttributesOutput[]> {\n return await kwilClient.call<GetAttributesOutput[]>({\n name: \"get_attributes\",\n inputs: {},\n });\n}\n\nexport const EditAttributeInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n attribute_key: z.ZodString;\n value: z.ZodString;\n}> = z.object({\n id: z.uuid(),\n attribute_key: z.string(),\n value: z.string(),\n});\n\nexport type EditAttributeInput = z.infer<typeof EditAttributeInputSchema>;\n\nexport async function editAttribute(\n kwilClient: KwilActionClient,\n params: EditAttributeInput,\n): Promise<void> {\n const inputs = EditAttributeInputSchema.parse(params);\n await kwilClient.execute({\n name: \"edit_attribute\",\n inputs,\n description: \"Edit an existing attribute\",\n });\n}\n\nexport const RemoveAttributeInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n}> = z.object({\n id: z.uuid(),\n});\n\nexport type RemoveAttributeInput = z.infer<typeof RemoveAttributeInputSchema>;\n\nexport async function removeAttribute(\n kwilClient: KwilActionClient,\n params: RemoveAttributeInput,\n): Promise<void> {\n const inputs = RemoveAttributeInputSchema.parse(params);\n await kwilClient.execute({\n name: \"remove_attribute\",\n inputs,\n description: \"Remove an existing attribute\",\n });\n}\n\nexport const ShareAttributeInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n original_attribute_id: z.ZodUUID;\n attribute_key: z.ZodString;\n value: z.ZodString;\n}> = z.object({\n id: z.uuid(),\n original_attribute_id: z.uuid(),\n attribute_key: z.string(),\n value: z.string(),\n});\n\nexport type ShareAttributeInput = z.infer<typeof ShareAttributeInputSchema>;\n\nexport async function shareAttribute(\n kwilClient: KwilActionClient,\n params: ShareAttributeInput,\n): Promise<void> {\n const inputs = ShareAttributeInputSchema.parse(params);\n await kwilClient.execute({\n name: \"share_attribute\",\n inputs,\n description: \"Share an attribute\",\n });\n}\n\nexport const DwgMessageInputSchema: z.ZodObject<{\n owner_wallet_identifier: z.ZodString;\n grantee_wallet_identifier: z.ZodString;\n issuer_public_key: z.ZodString;\n id: z.ZodUUID;\n access_grant_timelock: z.ZodString;\n not_usable_before: z.ZodString;\n not_usable_after: z.ZodString;\n}> = z.object({\n owner_wallet_identifier: z.string(),\n grantee_wallet_identifier: z.string(),\n issuer_public_key: z.string(),\n id: z.uuid(),\n access_grant_timelock: z.string(),\n not_usable_before: z.string(),\n not_usable_after: z.string(),\n});\n\nexport type DwgMessageInput = z.infer<typeof DwgMessageInputSchema>;\n\nexport const DwgMessageOutputSchema: z.ZodObject<{\n message: z.ZodString;\n}> = z.object({\n message: z.string(),\n});\n\nexport type DwgMessageOutput = z.infer<typeof DwgMessageOutputSchema>;\n\n/**\n * WRITE GRANTS ACTIONS\n * Must be in yyyy-mm-ddThh:mm:ssZ format\n * Must be in yyyy-mm-ddThh:mm:ssZ format\n * Must be in yyyy-mm-ddThh:mm:ssZ format\n * Will fail if not in the yyyy-mm-ddThh:mm:ssZ format, and not comply to RFC3339\n * Check the format and precedence\n */\nexport async function dwgMessage(\n kwilClient: KwilActionClient,\n params: DwgMessageInput,\n): Promise<DwgMessageOutput> {\n const inputs = DwgMessageInputSchema.parse(params);\n return await kwilClient\n .call<DwgMessageOutput[]>({\n name: \"dwg_message\",\n inputs,\n })\n .then((result) => result[0]);\n}\n\nexport const RevokeAccessGrantInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n}> = z.object({\n id: z.uuid(),\n});\n\nexport type RevokeAccessGrantInput = z.infer<typeof RevokeAccessGrantInputSchema>;\n\n/** ACCESS GRANTS ACTIONS */\nexport async function revokeAccessGrant(\n kwilClient: KwilActionClient,\n params: RevokeAccessGrantInput,\n): Promise<void> {\n const inputs = RevokeAccessGrantInputSchema.parse(params);\n await kwilClient.execute({\n name: \"revoke_access_grant\",\n inputs,\n description: \"Revoke an Access Grant from idOS\",\n });\n}\n\nexport const GetAccessGrantsOwnedOutputSchema: z.ZodObject<{\n id: z.ZodUUID;\n ag_owner_user_id: z.ZodUUID;\n ag_grantee_wallet_identifier: z.ZodString;\n data_id: z.ZodUUID;\n locked_until: z.ZodNumber;\n content_hash: z.ZodNullable<z.ZodString>;\n inserter_type: z.ZodString;\n inserter_id: z.ZodString;\n}> = z.object({\n id: z.uuid(),\n ag_owner_user_id: z.uuid(),\n ag_grantee_wallet_identifier: z.string(),\n data_id: z.uuid(),\n locked_until: z.number(),\n content_hash: z.string().nullable(),\n inserter_type: z.string(),\n inserter_id: z.string(),\n});\n\nexport type GetAccessGrantsOwnedOutput = z.infer<typeof GetAccessGrantsOwnedOutputSchema>;\n\nexport async function getAccessGrantsOwned(\n kwilClient: KwilActionClient,\n): Promise<GetAccessGrantsOwnedOutput[]> {\n return await kwilClient.call<GetAccessGrantsOwnedOutput[]>({\n name: \"get_access_grants_owned\",\n inputs: {},\n });\n}\n\nexport const GetAccessGrantsGrantedInputSchema: z.ZodObject<{\n user_id: z.ZodNullable<z.ZodUUID>;\n page: z.ZodNumber;\n size: z.ZodNumber;\n}> = z.object({\n user_id: z.uuid().nullable(),\n page: z.number(),\n size: z.number(),\n});\n\nexport type GetAccessGrantsGrantedInput = z.infer<typeof GetAccessGrantsGrantedInputSchema>;\n\nexport const GetAccessGrantsGrantedOutputSchema: z.ZodObject<{\n id: z.ZodUUID;\n ag_owner_user_id: z.ZodUUID;\n ag_grantee_wallet_identifier: z.ZodString;\n data_id: z.ZodUUID;\n locked_until: z.ZodNumber;\n content_hash: z.ZodNullable<z.ZodString>;\n inserter_type: z.ZodString;\n inserter_id: z.ZodString;\n}> = z.object({\n id: z.uuid(),\n ag_owner_user_id: z.uuid(),\n ag_grantee_wallet_identifier: z.string(),\n data_id: z.uuid(),\n locked_until: z.number(),\n content_hash: z.string().nullable(),\n inserter_type: z.string(),\n inserter_id: z.string(),\n});\n\nexport type GetAccessGrantsGrantedOutput = z.infer<typeof GetAccessGrantsGrantedOutputSchema>;\n\n/**\n * As arguments can be undefined (user can not send them at all), we have to have default values: page=1, size=20\n * Page number starts from 1, as UI usually shows to user in pagination element\n * Ordering is consistent because we use height as first ordering parameter\n */\nexport async function getAccessGrantsGranted(\n kwilClient: KwilActionClient,\n params: GetAccessGrantsGrantedInput,\n): Promise<GetAccessGrantsGrantedOutput[]> {\n const inputs = GetAccessGrantsGrantedInputSchema.parse(params);\n return await kwilClient.call<GetAccessGrantsGrantedOutput[]>({\n name: \"get_access_grants_granted\",\n inputs,\n });\n}\n\nexport const GetAccessGrantsGrantedCountInputSchema: z.ZodObject<{\n user_id: z.ZodNullable<z.ZodUUID>;\n}> = z.object({\n user_id: z.uuid().nullable(),\n});\n\nexport type GetAccessGrantsGrantedCountInput = z.infer<\n typeof GetAccessGrantsGrantedCountInputSchema\n>;\n\nexport const GetAccessGrantsGrantedCountOutputSchema: z.ZodObject<{\n count: z.ZodNumber;\n}> = z.object({\n count: z.number(),\n});\n\nexport type GetAccessGrantsGrantedCountOutput = z.infer<\n typeof GetAccessGrantsGrantedCountOutputSchema\n>;\n\nexport async function getAccessGrantsGrantedCount(\n kwilClient: KwilActionClient,\n params: GetAccessGrantsGrantedCountInput,\n): Promise<GetAccessGrantsGrantedCountOutput> {\n const inputs = GetAccessGrantsGrantedCountInputSchema.parse(params);\n return await kwilClient\n .call<GetAccessGrantsGrantedCountOutput[]>({\n name: \"get_access_grants_granted_count\",\n inputs,\n })\n .then((result) => result[0]);\n}\n\nexport const HasLockedAccessGrantsInputSchema: z.ZodObject<{\n id: z.ZodUUID;\n}> = z.object({\n id: z.uuid(),\n});\n\nexport type HasLockedAccessGrantsInput = z.infer<typeof HasLockedAccessGrantsInputSchema>;\n\nexport const HasLockedAccessGrantsOutputSchema: z.ZodObject<{\n has: z.ZodBoolean;\n}> = z.object({\n has: z.boolean(),\n});\n\nexport type HasLockedAccessGrantsOutput = z.infer<typeof HasLockedAccessGrantsOutputSchema>;\n\nexport async function hasLockedAccessGrants(\n kwilClient: KwilActionClient,\n params: HasLockedAccessGrantsInput,\n): Promise<HasLockedAccessGrantsOutput> {\n const inputs = HasLockedAccessGrantsInputSchema.parse(params);\n return await kwilClient\n .call<HasLockedAccessGrantsOutput[]>({\n name: \"has_locked_access_grants\",\n inputs,\n })\n .then((result) => result[0]);\n}\n\nexport const DagMessageInputSchema: z.ZodObject<{\n dag_owner_wallet_identifier: z.ZodString;\n dag_grantee_wallet_identifier: z.ZodString;\n dag_data_id: z.ZodUUID;\n dag_locked_until: z.ZodNumber;\n dag_content_hash: z.ZodString;\n}> = z.object({\n dag_owner_wallet_identifier: z.string(),\n dag_grantee_wallet_identifier: z.string(),\n dag_data_id: z.uuid(),\n dag_locked_until: z.number(),\n dag_content_hash: z.string(),\n});\n\nexport type DagMessageInput = z.infer<typeof DagMessageInputSchema>;\n\nexport const DagMessageOutputSchema: z.ZodObject<{\n message: z.ZodString;\n}> = z.object({\n message: z.string(),\n});\n\nexport type DagMessageOutput = z.infer<typeof DagMessageOutputSchema>;\n\nexport async function dagMessage(\n kwilClient: KwilActionClient,\n params: DagMessageInput,\n): Promise<DagMessageOutput> {\n const inputs = DagMessageInputSchema.parse(params);\n return await kwilClient\n .call<DagMessageOutput[]>({\n name: \"dag_message\",\n inputs,\n })\n .then((result) => result[0]);\n}\n\nexport const CreateAgByDagForCopyInputSchema: z.ZodObject<{\n dag_owner_wallet_identifier: z.ZodString;\n dag_grantee_wallet_identifier: z.ZodString;\n dag_data_id: z.ZodUUID;\n dag_locked_until: z.ZodNumber;\n dag_content_hash: z.ZodString;\n dag_signature: z.ZodString;\n}> = z.object({\n dag_owner_wallet_identifier: z.string(),\n dag_grantee_wallet_identifier: z.string(),\n dag_data_id: z.uuid(),\n dag_locked_until: z.number(),\n dag_content_hash: z.string(),\n dag_signature: z.string(),\n});\n\nexport type CreateAgByDagForCopyInput = z.infer<typeof CreateAgByDagForCopyInputSchema>;\n\n/**\n * Get the wallet type and public key for XRPL/NEAR wallets from database\n * This works for EVM-compatible signatures only\n */\nexport async function createAgByDagForCopy(\n kwilClient: KwilActionClient,\n params: CreateAgByDagForCopyInput,\n): Promise<void> {\n const inputs = CreateAgByDagForCopyInputSchema.parse(params);\n await kwilClient.execute({\n name: \"create_ag_by_dag_for_copy\",\n inputs,\n description: \"Create an Access Grant in idOS\",\n });\n}\n\nexport const GetAccessGrantsForCredentialInputSchema: z.ZodObject<{\n credential_id: z.ZodUUID;\n}> = z.object({\n credential_id: z.uuid(),\n});\n\nexport type GetAccessGrantsForCredentialInput = z.infer<\n typeof GetAccessGrantsForCredentialInputSchema\n>;\n\nexport const GetAccessGrantsForCredentialOutputSchema: z.ZodObject<{\n id: z.ZodUUID;\n ag_owner_user_id: z.ZodUUID;\n ag_grantee_wallet_identifier: z.ZodString;\n data_id: z.ZodUUID;\n locked_until: z.ZodNumber;\n content_hash: z.ZodNullable<z.ZodString>;\n inserter_type: z.ZodString;\n inserter_id: z.ZodString;\n}> = z.object({\n id: z.uuid(),\n ag_owner_user_id: z.uuid(),\n ag_grantee_wallet_identifier: z.string(),\n data_id: z.uuid(),\n locked_until: z.number(),\n content_hash: z.string().nullable(),\n inserter_type: z.string(),\n inserter_id: z.string(),\n});\n\nexport type GetAccessGrantsForCredentialOutput = z.infer<\n typeof GetAccessGrantsForCredentialOutputSchema\n>;\n\nexport async function getAccessGrantsForCredential(\n kwilClient: KwilActionClient,\n params: GetAccessGrantsForCredentialInput,\n): Promise<GetAccessGrantsForCredentialOutput[]> {\n const inputs = GetAccessGrantsForCredentialInputSchema.parse(params);\n return await kwilClient.call<GetAccessGrantsForCredentialOutput[]>({\n name: \"get_access_grants_for_credential\",\n inputs,\n });\n}\n\nexport const HasProfileInputSchema: z.ZodObject<{\n address: z.ZodString;\n}> = z.object({\n address: z.string(),\n});\n\nexport type HasProfileInput = z.infer<typeof HasProfileInputSchema>;\n\nexport const HasProfileOutputSchema: z.ZodObject<{\n has_profile: z.ZodBoolean;\n}> = z.object({\n has_profile: z.boolean(),\n});\n\nexport type HasProfileOutput = z.infer<typeof HasProfileOutputSchema>;\n\n/**\n * OTHER ACTIONS\n * Should we improve it to work with near wallets too?\n */\nexport async function hasProfile(\n kwilClient: KwilActionClient,\n params: HasProfileInput,\n): Promise<HasProfileOutput> {\n const inputs = HasProfileInputSchema.parse(params);\n return await kwilClient\n .call<HasProfileOutput[]>(\n {\n name: \"has_profile\",\n inputs,\n },\n undefined, // Signer is not required here\n )\n .then((result) => result[0]);\n}\n\nexport const CheckBalanceInputSchema: z.ZodObject<{\n address: z.ZodString;\n token: z.ZodString;\n}> = z.object({\n address: z.string(),\n token: z.string(),\n});\n\nexport type CheckBalanceInput = z.infer<typeof CheckBalanceInputSchema>;\n\nexport const CheckBalanceOutputSchema: z.ZodObject<{\n balance: z.ZodNumber;\n}> = z.object({\n balance: z.number(),\n});\n\nexport type CheckBalanceOutput = z.infer<typeof CheckBalanceOutputSchema>;\n\n/** GAS AND FEES */\nexport async function checkBalance(\n kwilClient: KwilActionClient,\n params: CheckBalanceInput,\n): Promise<CheckBalanceOutput> {\n const inputs = CheckBalanceInputSchema.parse(params);\n return await kwilClient\n .call<CheckBalanceOutput[]>({\n name: \"check_balance\",\n inputs,\n })\n .then((result) => result[0]);\n}\n\nexport const GetWalletWithBalanceInputSchema: z.ZodObject<{\n token: z.ZodString;\n}> = z.object({\n token: z.string(),\n});\n\nexport type GetWalletWithBalanceInput = z.infer<typeof GetWalletWithBalanceInputSchema>;\n\nexport const GetWalletWithBalanceOutputSchema: z.ZodObject<{\n wallet_address: z.ZodString;\n}> = z.object({\n wallet_address: z.string(),\n});\n\nexport type GetWalletWithBalanceOutput = z.infer<typeof GetWalletWithBalanceOutputSchema>;\n\n/**\n * even if the @caller is not EVM address, there is no harm to try to get the balance, it will return nothing\n * because bridge.balance can only have records with EVM addresses (it is filled from EVM-compatible contract events)\n */\nexport async function getWalletWithBalance(\n kwilClient: KwilActionClient,\n params: GetWalletWithBalanceInput,\n): Promise<GetWalletWithBalanceOutput> {\n const inputs = GetWalletWithBalanceInputSchema.parse(params);\n return await kwilClient\n .call<GetWalletWithBalanceOutput[]>({\n name: \"get_wallet_with_balance\",\n inputs,\n })\n .then((result) => result[0]);\n}\n\nexport const RequestWithdrawalInputSchema: z.ZodObject<{\n token: z.ZodString;\n}> = z.object({\n token: z.string(),\n});\n\nexport type RequestWithdrawalInput = z.infer<typeof RequestWithdrawalInputSchema>;\n\n/** we use lock_admin()+issue() because bridge() is tied to @caller */\nexport async function requestWithdrawal(\n kwilClient: KwilActionClient,\n params: RequestWithdrawalInput,\n): Promise<void> {\n const inputs = RequestWithdrawalInputSchema.parse(params);\n await kwilClient.execute({\n name: \"request_withdrawal\",\n inputs,\n description: \"Request a withdrawal of all tokens from idOS to user's EVM wallet\",\n });\n}\n\nexport const GetAllowanceOutputSchema: z.ZodObject<{\n gas_allowance: z.ZodNumber;\n}> = z.object({\n gas_allowance: z.number(),\n});\n\nexport type GetAllowanceOutput = z.infer<typeof GetAllowanceOutputSchema>;\n\n/** FaceSign should not be able to call this */\nexport async function getAllowance(kwilClient: KwilActionClient): Promise<GetAllowanceOutput> {\n return await kwilClient\n .call<GetAllowanceOutput[]>({\n name: \"get_allowance\",\n inputs: {},\n })\n .then((result) => result[0]);\n}\n\nexport async function actionCostingGas(kwilClient: KwilActionClient): Promise<void> {\n await kwilClient.execute({\n name: \"action_costing_gas\",\n inputs: {},\n description: \"Get cost of action for 1.2 gas\",\n });\n}\n\nexport const ActionCostingIdosTokenInputSchema: z.ZodObject<{\n amount: z.ZodNumber;\n}> = z.object({\n amount: z.number(),\n});\n\nexport type ActionCostingIdosTokenInput = z.infer<typeof ActionCostingIdosTokenInputSchema>;\n\nexport async function actionCostingIdosToken(\n kwilClient: KwilActionClient,\n params: ActionCostingIdosTokenInput,\n): Promise<void> {\n const inputs = ActionCostingIdosTokenInputSchema.parse(params);\n await kwilClient.execute({\n name: \"action_costing_idos_token\",\n inputs,\n description: \"Action that captures IDOS tokens from the caller\",\n });\n}\n\nexport const GetIssuerFeeInputSchema: z.ZodObject<{\n credential_id: z.ZodUUID;\n}> = z.object({\n credential_id: z.uuid(),\n});\n\nexport type GetIssuerFeeInput = z.infer<typeof GetIssuerFeeInputSchema>;\n\nexport const GetIssuerFeeOutputSchema: z.ZodObject<{\n issuer_fee: z.ZodNumber;\n}> = z.object({\n issuer_fee: z.number(),\n});\n\nexport type GetIssuerFeeOutput = z.infer<typeof GetIssuerFeeOutputSchema>;\n\nexport async function getIssuerFee(\n kwilClient: KwilActionClient,\n params: GetIssuerFeeInput,\n): Promise<GetIssuerFeeOutput> {\n const inputs = GetIssuerFeeInputSchema.parse(params);\n return await kwilClient\n .call<GetIssuerFeeOutput[]>({\n name: \"get_issuer_fee\",\n inputs,\n })\n .then((result) => result[0]);\n}\n\nexport const ActionCostingFeeInputSchema: z.ZodObject<{\n credential_id: z.ZodUUID;\n}> = z.object({\n credential_id: z.uuid(),\n});\n\nexport type ActionCostingFeeInput = z.infer<typeof ActionCostingFeeInputSchema>;\n\nexport async function actionCostingFee(\n kwilClient: KwilActionClient,\n params: ActionCostingFeeInput,\n): Promise<void> {\n const inputs = ActionCostingFeeInputSchema.parse(params);\n await kwilClient.execute({\n name: \"action_costing_fee\",\n inputs,\n description: \"Capture fee from credentials\",\n });\n}\n\nexport const RequestBalanceWithdrawalInputSchema: z.ZodObject<{\n token: z.ZodString;\n evm_address_to: z.ZodString;\n}> = z.object({\n token: z.string(),\n evm_address_to: z.string(),\n});\n\nexport type RequestBalanceWithdrawalInput = z.infer<typeof RequestBalanceWithdrawalInputSchema>;\n\nexport async function requestBalanceWithdrawal(\n kwilClient: KwilActionClient,\n params: RequestBalanceWithdrawalInput,\n): Promise<void> {\n const inputs = RequestBalanceWithdrawalInputSchema.parse(params);\n await kwilClient.execute({\n name: \"request_balance_withdrawal\",\n inputs,\n description: \"Request a withdrawal of all tokens from idOS to specified EVM address\",\n });\n}\n","import type { KwilActionClient } from \"..\";\n\nimport {\n type AddUserAsInserterInput,\n type AddWalletInput,\n addWallet,\n type DwgMessageInput,\n type GetAccessGrantsGrantedInput,\n type GetAccessGrantsGrantedOutput,\n type GetAttributesOutput,\n type GetCredentialSharedOutput,\n type GetCredentialsOutput,\n getAccessGrantsGranted,\n removeWallet,\n type UpsertWalletAsInserterInput,\n} from \"./actions\";\n\nexport * from \"./actions\";\n\n// Name aliases for a better developer experience\nexport type idOSUser = AddUserAsInserterInput;\nexport type idOSGrant = GetAccessGrantsGrantedOutput;\nexport type idOSCredential = GetCredentialSharedOutput;\nexport type idOSCredentialListItem = GetCredentialsOutput;\nexport type idOSUserAttribute = GetAttributesOutput;\nexport type idOSWallet = UpsertWalletAsInserterInput;\nexport type idOSDelegatedWriteGrant = DwgMessageInput;\n\nexport async function addWallets(\n kwilClient: KwilActionClient,\n wallets: AddWalletInput[],\n): Promise<void> {\n await Promise.all(wallets.map((wallet) => addWallet(kwilClient, wallet)));\n}\n\nexport async function removeWallets(kwilClient: KwilActionClient, ids: string[]): Promise<void> {\n await Promise.all(ids.map((id) => removeWallet(kwilClient, { id })));\n}\n\nexport const GET_GRANTS_DEFAULT_RECORDS_PER_PAGE = 10;\n\nexport async function getGrants(\n kwilClient: KwilActionClient,\n params: Partial<GetAccessGrantsGrantedInput> = {\n page: 1,\n size: GET_GRANTS_DEFAULT_RECORDS_PER_PAGE,\n user_id: null,\n },\n): Promise<idOSGrant[]> {\n return getAccessGrantsGranted(kwilClient, {\n page: params.page ?? 1,\n size: params.size ?? 10,\n user_id: params.user_id ?? null,\n });\n}\n"],"mappings":";;;AAMA,MAAa,WAAkC,MAAM;AACrD,MAAa,eAAe;CAAC;CAAO;CAAQ;CAAQ;CAAW;CAAW;AAI1E,MAAa,mBAA0C,EAAE,KAAK,aAAa;AAC3E,MAAa,6BAA6B,CAAC,QAAQ,MAAM;AAIzD,MAAa,gCAAoE,EAAE,KACjF,2BACD;AAOD,MAAa,eAAsD;CACjE,uBAAuB,CACrB;EACE,MAAM;EACN,MAAM,SAAS;EAChB,EACD;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,0BAA0B,CACxB;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,uBAAuB,CACrB;EACE,MAAM;EACN,MAAM,SAAS;EAChB,EACD;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,0BAA0B,CACxB;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,sBAAsB;EACpB;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACF;CACD,iCAAiC;EAC/B;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACF;CACD,UAAU,EAAE;CACZ,sBAAsB,CACpB;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,2BAA2B;EACzB;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACF;CACD,YAAY;EACV;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACF;CACD,aAAa,EAAE;CACf,eAAe,CACb;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,+BAA+B;EAC7B;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACF;CACD,gBAAgB;EACd;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACF;CACD,iBAAiB,EAAE;CACnB,gCAAgC,CAC9B;EACE,MAAM;EACN,MAAM,SAAS;EAChB,EACD;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,iBAAiB;EACf;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACF;CACD,6BAA6B,CAC3B;EACE,MAAM;EACN,MAAM,SAAS;EAChB,EACD;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,mBAAmB,CACjB;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,2BAA2B,CACzB;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,kBAAkB;EAChB;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACF;CACD,2BAA2B;EACzB;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACF;CACD,8BAA8B,CAC5B;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,sBAAsB,CACpB;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,uBAAuB,CACrB;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,2BAA2B,CACzB;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,2BAA2B;EACzB;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACF;CACD,eAAe;EACb;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACF;CACD,gBAAgB,EAAE;CAClB,gBAAgB;EACd;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACF;CACD,kBAAkB,CAChB;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,iBAAiB;EACf;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACF;CACD,aAAa;EACX;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACF;CACD,qBAAqB,CACnB;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,yBAAyB,EAAE;CAC3B,2BAA2B;EACzB;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACF;CACD,iCAAiC,CAC/B;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,0BAA0B,CACxB;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,aAAa;EACX;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACF;CACD,2BAA2B;EACzB;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACD;GACE,MAAM;GACN,MAAM,SAAS;GAChB;EACF;CACD,kCAAkC,CAChC;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,aAAa,CACX;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,eAAe,CACb;EACE,MAAM;EACN,MAAM,SAAS;EAChB,EACD;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,yBAAyB,CACvB;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,oBAAoB,CAClB;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,eAAe,EAAE;CACjB,oBAAoB,EAAE;CACtB,2BAA2B,CACzB;EACE,MAAM;EACN,MAAM,SAAS;EAChB,CACF;CACD,gBAAgB,CACd;EACE,MAAM;EACN,MAAM,SAAS;EAChB,C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"}
@@ -1 +1 @@
1
- {"version":3,"file":"facesign-signer-BY9Nti9F.mjs","names":["#metadata","#enclaveUrl","#enclaveOrigin","#messageListenerInitialized","#messageListener","#hasKey","#resolveOpenEnclave","#resolveSignMessage","#rejectSignMessage","#resolveSessionProposal","#rejectSessionProposal","#resolveAddressRequest","#setupMessageListener","#ensureEnclave","#sessionProposal","#iframe","#proposalId","#showEnclave","#hideEnclave","#cancelPendingProposals","#destroyEnclave","#container","#createContainer"],"sources":["../src/facesign/facesign-signer.ts"],"sourcesContent":["// Buffer after showing the iframe before posting a message, giving the enclave time to be ready.\nconst POST_MESSAGE_DELAY_MS = 300;\n// Safety net: reject proposals if the enclave doesn't respond within this window.\nconst PROPOSAL_TIMEOUT_MS = 10 * 60 * 1000; // 10 minutes\n\nexport interface FaceSignMetadata {\n name: string;\n description: string;\n}\n\nexport interface FaceSignSignerProviderOptions {\n metadata: FaceSignMetadata;\n enclaveUrl: string;\n}\n\ninterface SessionResponse {\n address: string;\n}\n\nexport class FaceSignSignerProvider {\n #iframe: HTMLIFrameElement | null = null;\n #container: HTMLDialogElement | null = null;\n\n #resolveOpenEnclave: (() => void) | null = null;\n #resolveSignMessage: ((signature: Uint8Array) => void) | null = null;\n #rejectSignMessage: ((error: Error) => void) | null = null;\n #resolveSessionProposal: ((response: SessionResponse) => void) | null = null;\n #rejectSessionProposal: ((error: Error) => void) | null = null;\n #resolveAddressRequest: ((address: string | null) => void) | null = null;\n\n #messageListener: ((event: MessageEvent) => void) | null = null;\n #messageListenerInitialized = false;\n #proposalId = 0;\n #hasKey: boolean | null = null;\n #metadata: FaceSignMetadata;\n #enclaveUrl: string;\n #enclaveOrigin: string;\n\n signatureType = \"ed25519\";\n walletType = \"FaceSign\";\n publicAddress = \"\";\n publicKey = \"\";\n\n constructor(options: FaceSignSignerProviderOptions) {\n this.#metadata = options.metadata;\n this.#enclaveUrl = options.enclaveUrl;\n this.#enclaveOrigin = new URL(options.enclaveUrl).origin;\n }\n\n #setupMessageListener(): void {\n if (this.#messageListenerInitialized) {\n return;\n }\n\n this.#messageListener = (event: MessageEvent) => {\n if (event.origin !== this.#enclaveOrigin) return;\n\n if (event.data?.type === \"facesign_ready\") {\n this.#hasKey = !!event.data.hasKey;\n this.#resolveOpenEnclave?.();\n }\n\n if (event.data?.type === \"sign_proposal_response\") {\n const payload = event.data.data;\n if (!payload) return;\n\n if (payload.signature) {\n this.#resolveSignMessage?.(new Uint8Array(payload.signature));\n } else {\n this.#rejectSignMessage?.(new Error(\"Sign request rejected by user\"));\n }\n }\n\n if (event.data?.type === \"session_proposal_response\") {\n const payload = event.data.data;\n if (!payload) return;\n\n if (payload.approved && payload.address) {\n this.#resolveSessionProposal?.({ address: payload.address });\n } else {\n this.#rejectSessionProposal?.(new Error(\"Session request rejected by user\"));\n }\n }\n\n if (event.data?.type === \"address_response\") {\n const payload = event.data.data;\n this.#resolveAddressRequest?.(payload?.address ?? null);\n }\n };\n\n window.addEventListener(\"message\", this.#messageListener);\n this.#messageListenerInitialized = true;\n }\n\n async preload(): Promise<{ hasKey: boolean }> {\n this.#setupMessageListener();\n await this.#ensureEnclave();\n return { hasKey: this.#hasKey ?? false };\n }\n\n async init(): Promise<string> {\n this.#setupMessageListener();\n\n const sessionProposal = await this.#sessionProposal();\n\n this.publicKey = sessionProposal.address;\n this.publicAddress = sessionProposal.address;\n\n return sessionProposal.address;\n }\n\n async getAddress(): Promise<string | null> {\n this.#setupMessageListener();\n await this.#ensureEnclave();\n\n if (!this.#hasKey) return null;\n\n return new Promise<string | null>((resolve) => {\n const timer = setTimeout(() => resolve(null), PROPOSAL_TIMEOUT_MS);\n\n this.#resolveAddressRequest = (address) => {\n clearTimeout(timer);\n this.#resolveAddressRequest = null;\n if (address) {\n this.publicKey = address;\n this.publicAddress = address;\n }\n resolve(address);\n };\n\n this.#iframe?.contentWindow?.postMessage(\n { type: \"address_request\", data: { id: ++this.#proposalId } },\n this.#enclaveUrl,\n );\n });\n }\n\n get signer(): this {\n return this;\n }\n\n async signMessage(message: Uint8Array | string): Promise<Uint8Array> {\n await this.#ensureEnclave();\n this.#showEnclave();\n\n const messageToSign = typeof message === \"string\" ? new TextEncoder().encode(message) : message;\n\n try {\n return await new Promise<Uint8Array>((resolve, reject) => {\n const timer = setTimeout(() => {\n reject(new Error(\"FaceSign sign request timed out\"));\n }, PROPOSAL_TIMEOUT_MS);\n\n this.#resolveSignMessage = (sig) => {\n clearTimeout(timer);\n resolve(sig);\n };\n this.#rejectSignMessage = (err) => {\n clearTimeout(timer);\n reject(err);\n };\n\n setTimeout(() => {\n this.#iframe?.contentWindow?.postMessage(\n {\n type: \"sign_proposal\",\n data: {\n id: ++this.#proposalId,\n data: messageToSign,\n metadata: this.#metadata,\n },\n },\n this.#enclaveUrl,\n );\n }, POST_MESSAGE_DELAY_MS);\n });\n } finally {\n this.#resolveSignMessage = null;\n this.#rejectSignMessage = null;\n this.#hideEnclave();\n }\n }\n\n async #sessionProposal(): Promise<SessionResponse> {\n await this.#ensureEnclave();\n this.#showEnclave();\n\n try {\n return await new Promise<SessionResponse>((resolve, reject) => {\n const timer = setTimeout(() => {\n reject(new Error(\"FaceSign session proposal timed out\"));\n }, PROPOSAL_TIMEOUT_MS);\n\n this.#resolveSessionProposal = (res) => {\n clearTimeout(timer);\n resolve(res);\n };\n this.#rejectSessionProposal = (err) => {\n clearTimeout(timer);\n reject(err);\n };\n\n setTimeout(() => {\n this.#iframe?.contentWindow?.postMessage(\n {\n type: \"session_proposal\",\n data: {\n id: ++this.#proposalId,\n metadata: this.#metadata,\n },\n },\n this.#enclaveUrl,\n );\n }, POST_MESSAGE_DELAY_MS);\n });\n } finally {\n this.#resolveSessionProposal = null;\n this.#rejectSessionProposal = null;\n this.#hideEnclave();\n }\n }\n\n hide(): void {\n this.#cancelPendingProposals();\n this.#hideEnclave();\n }\n\n #cancelPendingProposals(): void {\n const cancelError = new Error(\"FaceSign operation cancelled\");\n\n if (this.#rejectSignMessage) {\n this.#rejectSignMessage(cancelError);\n this.#resolveSignMessage = null;\n this.#rejectSignMessage = null;\n }\n\n if (this.#rejectSessionProposal) {\n this.#rejectSessionProposal(cancelError);\n this.#resolveSessionProposal = null;\n this.#rejectSessionProposal = null;\n }\n }\n\n destroy(): void {\n this.#cancelPendingProposals();\n if (this.#messageListener) {\n window.removeEventListener(\"message\", this.#messageListener);\n this.#messageListener = null;\n }\n this.#destroyEnclave();\n }\n\n #createContainer(): HTMLDialogElement {\n const container = document.createElement(\"dialog\");\n Object.assign(container.style, {\n position: \"fixed\",\n inset: \"0\",\n width: \"100%\",\n height: \"100%\",\n maxWidth: \"100%\",\n maxHeight: \"100%\",\n margin: \"0\",\n padding: \"0\",\n border: \"none\",\n zIndex: \"99999\",\n background: \"#0a0a0a\",\n });\n document.body.appendChild(container);\n return container;\n }\n\n #ensureEnclave(): Promise<void> {\n if (this.#iframe?.contentWindow) {\n return Promise.resolve();\n }\n\n return new Promise<void>((resolve, reject) => {\n const timer = setTimeout(() => {\n reject(new Error(\"FaceSign enclave failed to load\"));\n }, PROPOSAL_TIMEOUT_MS);\n\n if (!this.#container) {\n this.#container = this.#createContainer();\n }\n\n this.#iframe = document.createElement(\"iframe\");\n this.#iframe.src = this.#enclaveUrl;\n this.#iframe.title = \"FaceSign Enclave\";\n this.#iframe.allow = \"camera; fullscreen\";\n this.#iframe.style.cssText = \"width:100%;height:100%;border:none;\";\n\n this.#container.appendChild(this.#iframe);\n\n this.#resolveOpenEnclave = () => {\n console.log(\"resolveOpenEnclave\");\n clearTimeout(timer);\n resolve();\n };\n });\n }\n\n #showEnclave(): void {\n const el = this.#container;\n\n if (el && !el.open) {\n el.showModal();\n }\n }\n\n #hideEnclave(): void {\n const el = this.#container;\n if (el?.open) {\n el.close();\n }\n }\n\n #destroyEnclave(): void {\n if (this.#iframe) {\n this.#iframe.remove();\n this.#iframe = null;\n }\n if (this.#container) {\n this.#container.remove();\n this.#container = null;\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"facesign-signer-BY9Nti9F.mjs","names":["#metadata","#enclaveUrl","#enclaveOrigin","#messageListenerInitialized","#messageListener","#hasKey","#resolveOpenEnclave","#resolveSignMessage","#rejectSignMessage","#resolveSessionProposal","#rejectSessionProposal","#resolveAddressRequest","#setupMessageListener","#ensureEnclave","#sessionProposal","#iframe","#proposalId","#showEnclave","#hideEnclave","#cancelPendingProposals","#destroyEnclave","#container","#createContainer"],"sources":["../src/facesign/facesign-signer.ts"],"sourcesContent":["// Buffer after showing the iframe before posting a message, giving the enclave time to be ready.\nconst POST_MESSAGE_DELAY_MS = 300;\n// Safety net: reject proposals if the enclave doesn't respond within this window.\nconst PROPOSAL_TIMEOUT_MS = 10 * 60 * 1000; // 10 minutes\n\nexport interface FaceSignMetadata {\n name: string;\n description: string;\n}\n\nexport interface FaceSignSignerProviderOptions {\n metadata: FaceSignMetadata;\n enclaveUrl: string;\n}\n\ninterface SessionResponse {\n address: string;\n}\n\nexport class FaceSignSignerProvider {\n #iframe: HTMLIFrameElement | null = null;\n #container: HTMLDialogElement | null = null;\n\n #resolveOpenEnclave: (() => void) | null = null;\n #resolveSignMessage: ((signature: Uint8Array) => void) | null = null;\n #rejectSignMessage: ((error: Error) => void) | null = null;\n #resolveSessionProposal: ((response: SessionResponse) => void) | null = null;\n #rejectSessionProposal: ((error: Error) => void) | null = null;\n #resolveAddressRequest: ((address: string | null) => void) | null = null;\n\n #messageListener: ((event: MessageEvent) => void) | null = null;\n #messageListenerInitialized = false;\n #proposalId = 0;\n #hasKey: boolean | null = null;\n #metadata: FaceSignMetadata;\n #enclaveUrl: string;\n #enclaveOrigin: string;\n\n signatureType = \"ed25519\";\n walletType = \"FaceSign\";\n publicAddress = \"\";\n publicKey = \"\";\n\n constructor(options: FaceSignSignerProviderOptions) {\n this.#metadata = options.metadata;\n this.#enclaveUrl = options.enclaveUrl;\n this.#enclaveOrigin = new URL(options.enclaveUrl).origin;\n }\n\n #setupMessageListener(): void {\n if (this.#messageListenerInitialized) {\n return;\n }\n\n this.#messageListener = (event: MessageEvent) => {\n if (event.origin !== this.#enclaveOrigin) return;\n\n if (event.data?.type === \"facesign_ready\") {\n this.#hasKey = !!event.data.hasKey;\n this.#resolveOpenEnclave?.();\n }\n\n if (event.data?.type === \"sign_proposal_response\") {\n const payload = event.data.data;\n if (!payload) return;\n\n if (payload.signature) {\n this.#resolveSignMessage?.(new Uint8Array(payload.signature));\n } else {\n this.#rejectSignMessage?.(new Error(\"Sign request rejected by user\"));\n }\n }\n\n if (event.data?.type === \"session_proposal_response\") {\n const payload = event.data.data;\n if (!payload) return;\n\n if (payload.approved && payload.address) {\n this.#resolveSessionProposal?.({ address: payload.address });\n } else {\n this.#rejectSessionProposal?.(new Error(\"Session request rejected by user\"));\n }\n }\n\n if (event.data?.type === \"address_response\") {\n const payload = event.data.data;\n this.#resolveAddressRequest?.(payload?.address ?? null);\n }\n };\n\n window.addEventListener(\"message\", this.#messageListener);\n this.#messageListenerInitialized = true;\n }\n\n async preload(): Promise<{ hasKey: boolean }> {\n this.#setupMessageListener();\n await this.#ensureEnclave();\n return { hasKey: this.#hasKey ?? false };\n }\n\n async init(): Promise<string> {\n this.#setupMessageListener();\n\n const sessionProposal = await this.#sessionProposal();\n\n this.publicKey = sessionProposal.address;\n this.publicAddress = sessionProposal.address;\n\n return sessionProposal.address;\n }\n\n async getAddress(): Promise<string | null> {\n this.#setupMessageListener();\n await this.#ensureEnclave();\n\n if (!this.#hasKey) return null;\n\n return new Promise<string | null>((resolve) => {\n const timer = setTimeout(() => resolve(null), PROPOSAL_TIMEOUT_MS);\n\n this.#resolveAddressRequest = (address) => {\n clearTimeout(timer);\n this.#resolveAddressRequest = null;\n if (address) {\n this.publicKey = address;\n this.publicAddress = address;\n }\n resolve(address);\n };\n\n this.#iframe?.contentWindow?.postMessage(\n { type: \"address_request\", data: { id: ++this.#proposalId } },\n this.#enclaveUrl,\n );\n });\n }\n\n get signer(): this {\n return this;\n }\n\n async signMessage(message: Uint8Array | string): Promise<Uint8Array> {\n await this.#ensureEnclave();\n this.#showEnclave();\n\n const messageToSign = typeof message === \"string\" ? new TextEncoder().encode(message) : message;\n\n try {\n return await new Promise<Uint8Array>((resolve, reject) => {\n const timer = setTimeout(() => {\n reject(new Error(\"FaceSign sign request timed out\"));\n }, PROPOSAL_TIMEOUT_MS);\n\n this.#resolveSignMessage = (sig) => {\n clearTimeout(timer);\n resolve(sig);\n };\n this.#rejectSignMessage = (err) => {\n clearTimeout(timer);\n reject(err);\n };\n\n setTimeout(() => {\n this.#iframe?.contentWindow?.postMessage(\n {\n type: \"sign_proposal\",\n data: {\n id: ++this.#proposalId,\n data: messageToSign,\n metadata: this.#metadata,\n },\n },\n this.#enclaveUrl,\n );\n }, POST_MESSAGE_DELAY_MS);\n });\n } finally {\n this.#resolveSignMessage = null;\n this.#rejectSignMessage = null;\n this.#hideEnclave();\n }\n }\n\n async #sessionProposal(): Promise<SessionResponse> {\n await this.#ensureEnclave();\n this.#showEnclave();\n\n try {\n return await new Promise<SessionResponse>((resolve, reject) => {\n const timer = setTimeout(() => {\n reject(new Error(\"FaceSign session proposal timed out\"));\n }, PROPOSAL_TIMEOUT_MS);\n\n this.#resolveSessionProposal = (res) => {\n clearTimeout(timer);\n resolve(res);\n };\n this.#rejectSessionProposal = (err) => {\n clearTimeout(timer);\n reject(err);\n };\n\n setTimeout(() => {\n this.#iframe?.contentWindow?.postMessage(\n {\n type: \"session_proposal\",\n data: {\n id: ++this.#proposalId,\n metadata: this.#metadata,\n },\n },\n this.#enclaveUrl,\n );\n }, POST_MESSAGE_DELAY_MS);\n });\n } finally {\n this.#resolveSessionProposal = null;\n this.#rejectSessionProposal = null;\n this.#hideEnclave();\n }\n }\n\n hide(): void {\n this.#cancelPendingProposals();\n this.#hideEnclave();\n }\n\n #cancelPendingProposals(): void {\n const cancelError = new Error(\"FaceSign operation cancelled\");\n\n if (this.#rejectSignMessage) {\n this.#rejectSignMessage(cancelError);\n this.#resolveSignMessage = null;\n this.#rejectSignMessage = null;\n }\n\n if (this.#rejectSessionProposal) {\n this.#rejectSessionProposal(cancelError);\n this.#resolveSessionProposal = null;\n this.#rejectSessionProposal = null;\n }\n }\n\n destroy(): void {\n this.#cancelPendingProposals();\n if (this.#messageListener) {\n window.removeEventListener(\"message\", this.#messageListener);\n this.#messageListener = null;\n }\n this.#destroyEnclave();\n }\n\n #createContainer(): HTMLDialogElement {\n const container = document.createElement(\"dialog\");\n Object.assign(container.style, {\n position: \"fixed\",\n inset: \"0\",\n width: \"100%\",\n height: \"100%\",\n maxWidth: \"100%\",\n maxHeight: \"100%\",\n margin: \"0\",\n padding: \"0\",\n border: \"none\",\n zIndex: \"99999\",\n background: \"#0a0a0a\",\n });\n document.body.appendChild(container);\n return container;\n }\n\n #ensureEnclave(): Promise<void> {\n if (this.#iframe?.contentWindow) {\n return Promise.resolve();\n }\n\n return new Promise<void>((resolve, reject) => {\n const timer = setTimeout(() => {\n reject(new Error(\"FaceSign enclave failed to load\"));\n }, PROPOSAL_TIMEOUT_MS);\n\n if (!this.#container) {\n this.#container = this.#createContainer();\n }\n\n this.#iframe = document.createElement(\"iframe\");\n this.#iframe.src = this.#enclaveUrl;\n this.#iframe.title = \"FaceSign Enclave\";\n this.#iframe.allow = \"camera; fullscreen\";\n this.#iframe.style.cssText = \"width:100%;height:100%;border:none;\";\n\n this.#container.appendChild(this.#iframe);\n\n this.#resolveOpenEnclave = () => {\n console.log(\"resolveOpenEnclave\");\n clearTimeout(timer);\n resolve();\n };\n });\n }\n\n #showEnclave(): void {\n const el = this.#container;\n\n if (el && !el.open) {\n el.showModal();\n }\n }\n\n #hideEnclave(): void {\n const el = this.#container;\n if (el?.open) {\n el.close();\n }\n }\n\n #destroyEnclave(): void {\n if (this.#iframe) {\n this.#iframe.remove();\n this.#iframe = null;\n }\n if (this.#container) {\n this.#container.remove();\n this.#container = null;\n }\n }\n}\n"],"mappings":"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"}