@graphprotocol/hypergraph 0.0.7 → 0.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -19,7 +19,11 @@ export declare const safeOwnerManagerAbi: {
19
19
  type: string;
20
20
  }[];
21
21
  name: string;
22
- outputs: never[];
22
+ outputs: {
23
+ internalType: string;
24
+ name: string;
25
+ type: string;
26
+ }[];
23
27
  stateMutability: string;
24
28
  type: string;
25
29
  }[];
@@ -1 +1 @@
1
- {"version":3,"file":"abis.d.ts","sourceRoot":"","sources":["../../src/connect/abis.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,8BAA8B,CAAuB;AAC/E,OAAO,qBAAqB,MAAM,sCAAsC,CAAuB;AAE/F,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,CAAC;AAGhD,eAAO,MAAM,oBAAoB;;;;;;;;;;GA2BhC,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;GAmB/B,CAAC;AAGF,eAAO,MAAM,gBAAgB;;;;;;;;;;GAc5B,CAAC;AAGF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;GAsBvB,CAAC;AAGF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmFhB,CAAC"}
1
+ {"version":3,"file":"abis.d.ts","sourceRoot":"","sources":["../../src/connect/abis.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,8BAA8B,CAAuB;AAC/E,OAAO,qBAAqB,MAAM,sCAAsC,CAAuB;AAE/F,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,CAAC;AAGhD,eAAO,MAAM,oBAAoB;;;;;;;;;;GA2BhC,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;GAsC/B,CAAC;AAGF,eAAO,MAAM,gBAAgB;;;;;;;;;;GAc5B,CAAC;AAGF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;GAsBvB,CAAC;AAGF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmFhB,CAAC"}
@@ -37,6 +37,20 @@ export const safeOwnerManagerAbi = [{
37
37
  outputs: [],
38
38
  stateMutability: 'nonpayable',
39
39
  type: 'function'
40
+ }, {
41
+ inputs: [{
42
+ internalType: 'address',
43
+ name: 'owner',
44
+ type: 'address'
45
+ }],
46
+ name: 'isOwner',
47
+ outputs: [{
48
+ internalType: 'bool',
49
+ name: '',
50
+ type: 'bool'
51
+ }],
52
+ stateMutability: 'view',
53
+ type: 'function'
40
54
  }];
41
55
  // We only use this for revokeEnableSignature to use as a noop when creating a smart session
42
56
  export const smartSessionsAbi = [{
@@ -1 +1 @@
1
- {"version":3,"file":"abis.js","names":["mainVotingAbi","type","personalSpaceAdminAbi","safeModuleManagerAbi","inputs","internalType","name","outputs","stateMutability","safeOwnerManagerAbi","smartSessionsAbi","safe7579Abi","daoFactoryAbi","components"],"sources":["../../src/connect/abis.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,aAAa,MAAM,8BAA8B,QAAQC,IAAI,EAAE,MAAM;AAC5E,OAAOC,qBAAqB,MAAM,sCAAsC,QAAQD,IAAI,EAAE,MAAM;AAE5F,SAASD,aAAa,EAAEE,qBAAqB;AAE7C;AACA,OAAO,MAAMC,oBAAoB,GAAG,CAClC;EACEC,MAAM,EAAE,CACN;IACEC,YAAY,EAAE,SAAS;IACvBC,IAAI,EAAE,QAAQ;IACdL,IAAI,EAAE;GACP,CACF;EACDK,IAAI,EAAE,cAAc;EACpBC,OAAO,EAAE,EAAE;EACXC,eAAe,EAAE,YAAY;EAC7BP,IAAI,EAAE;CACP,EACD;EACEG,MAAM,EAAE,CACN;IACEC,YAAY,EAAE,SAAS;IACvBC,IAAI,EAAE,QAAQ;IACdL,IAAI,EAAE;GACP,CACF;EACDK,IAAI,EAAE,eAAe;EACrBC,OAAO,EAAE,EAAE;EACXC,eAAe,EAAE,YAAY;EAC7BP,IAAI,EAAE;CACP,CACF;AAED,OAAO,MAAMQ,mBAAmB,GAAG,CACjC;EACEL,MAAM,EAAE,CACN;IACEC,YAAY,EAAE,SAAS;IACvBC,IAAI,EAAE,OAAO;IACbL,IAAI,EAAE;GACP,EACD;IACEI,YAAY,EAAE,SAAS;IACvBC,IAAI,EAAE,WAAW;IACjBL,IAAI,EAAE;GACP,CACF;EACDK,IAAI,EAAE,uBAAuB;EAC7BC,OAAO,EAAE,EAAE;EACXC,eAAe,EAAE,YAAY;EAC7BP,IAAI,EAAE;CACP,CACF;AAED;AACA,OAAO,MAAMS,gBAAgB,GAAG,CAC9B;EACEN,MAAM,EAAE,CACN;IACEC,YAAY,EAAE,cAAc;IAC5BC,IAAI,EAAE,cAAc;IACpBL,IAAI,EAAE;GACP,CACF;EACDK,IAAI,EAAE,uBAAuB;EAC7BC,OAAO,EAAE,EAAE;EACXC,eAAe,EAAE,YAAY;EAC7BP,IAAI,EAAE;CACP,CACF;AAED;AACA,OAAO,MAAMU,WAAW,GAAG,CACzB;EACEV,IAAI,EAAE,UAAU;EAChBK,IAAI,EAAE,mBAAmB;EACzBF,MAAM,EAAE,CACN;IACEE,IAAI,EAAE,YAAY;IAClBL,IAAI,EAAE,SAAS;IACfI,YAAY,EAAE;GACf,EACD;IAAEC,IAAI,EAAE,QAAQ;IAAEL,IAAI,EAAE,SAAS;IAAEI,YAAY,EAAE;EAAS,CAAE,EAC5D;IAAEC,IAAI,EAAE,mBAAmB;IAAEL,IAAI,EAAE,OAAO;IAAEI,YAAY,EAAE;EAAO,CAAE,CACpE;EACDE,OAAO,EAAE,CACP;IACED,IAAI,EAAE,EAAE;IACRL,IAAI,EAAE,MAAM;IACZI,YAAY,EAAE;GACf,CACF;EACDG,eAAe,EAAE;CAClB,CACF;AAED;AACA,OAAO,MAAMI,aAAa,GAAG,CAC3B;EACER,MAAM,EAAE,CACN;IACES,UAAU,EAAE,CACV;MACER,YAAY,EAAE,SAAS;MACvBC,IAAI,EAAE,kBAAkB;MACxBL,IAAI,EAAE;KACP,EACD;MACEI,YAAY,EAAE,QAAQ;MACtBC,IAAI,EAAE,QAAQ;MACdL,IAAI,EAAE;KACP,EACD;MACEI,YAAY,EAAE,QAAQ;MACtBC,IAAI,EAAE,WAAW;MACjBL,IAAI,EAAE;KACP,EACD;MACEI,YAAY,EAAE,OAAO;MACrBC,IAAI,EAAE,UAAU;MAChBL,IAAI,EAAE;KACP,CACF;IACDI,YAAY,EAAE,+BAA+B;IAC7CC,IAAI,EAAE,cAAc;IACpBL,IAAI,EAAE;GACP,EACD;IACEY,UAAU,EAAE,CACV;MACEA,UAAU,EAAE,CACV;QACEA,UAAU,EAAE,CACV;UACER,YAAY,EAAE,OAAO;UACrBC,IAAI,EAAE,SAAS;UACfL,IAAI,EAAE;SACP,EACD;UACEI,YAAY,EAAE,QAAQ;UACtBC,IAAI,EAAE,OAAO;UACbL,IAAI,EAAE;SACP,CACF;QACDI,YAAY,EAAE,uBAAuB;QACrCC,IAAI,EAAE,YAAY;QAClBL,IAAI,EAAE;OACP,EACD;QACEI,YAAY,EAAE,qBAAqB;QACnCC,IAAI,EAAE,iBAAiB;QACvBL,IAAI,EAAE;OACP,CACF;MACDI,YAAY,EAAE,uBAAuB;MACrCC,IAAI,EAAE,gBAAgB;MACtBL,IAAI,EAAE;KACP,EACD;MACEI,YAAY,EAAE,OAAO;MACrBC,IAAI,EAAE,MAAM;MACZL,IAAI,EAAE;KACP,CACF;IACDI,YAAY,EAAE,oCAAoC;IAClDC,IAAI,EAAE,iBAAiB;IACvBL,IAAI,EAAE;GACP,CACF;EACDK,IAAI,EAAE,WAAW;EACjBC,OAAO,EAAE,CACP;IACEF,YAAY,EAAE,cAAc;IAC5BC,IAAI,EAAE,YAAY;IAClBL,IAAI,EAAE;GACP,CACF;EACDO,eAAe,EAAE,YAAY;EAC7BP,IAAI,EAAE;CACP,CACO","ignoreList":[]}
1
+ {"version":3,"file":"abis.js","names":["mainVotingAbi","type","personalSpaceAdminAbi","safeModuleManagerAbi","inputs","internalType","name","outputs","stateMutability","safeOwnerManagerAbi","smartSessionsAbi","safe7579Abi","daoFactoryAbi","components"],"sources":["../../src/connect/abis.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -12,4 +12,5 @@ export declare const wipeSyncServerSessionToken: (storage: Storage, walletAddres
12
12
  export declare const loadAccountAddress: (storage: Storage) => string | null;
13
13
  export declare const storeAccountAddress: (storage: Storage, accountId: string) => void;
14
14
  export declare const wipeAccountAddress: (storage: Storage) => void;
15
+ export declare const wipeAllAuthData: (addressStorage: Storage, keysAndTokenStorage: Storage) => void;
15
16
  //# sourceMappingURL=auth-storage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth-storage.d.ts","sourceRoot":"","sources":["../../src/connect/auth-storage.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAc,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAEzE,eAAO,MAAM,MAAM,QAAO,KAAK,GAAG,YAAY,GAAG,OAEhD,CAAC;AAEF,eAAO,MAAM,6BAA6B,cAAoC,CAAC;AAE/E,eAAO,MAAM,mBAAmB,GAAI,eAAe,MAAM,WACY,CAAC;AAEtE,eAAO,MAAM,2BAA2B,GAAI,eAAe,MAAM,WACa,CAAC;AAE/E,eAAO,MAAM,QAAQ,GAAI,SAAS,OAAO,EAAE,eAAe,MAAM,KAAG,YAAY,GAAG,IAajF,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,SAAS,OAAO,EAAE,eAAe,MAAM,EAAE,MAAM,YAAY,SAGpF,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,SAAS,OAAO,EAAE,eAAe,MAAM,SAG/D,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAI,SAAS,OAAO,EAAE,SAAS,MAAM,KAAG,MAAM,GAAG,IAIvF,CAAC;AAEF,eAAO,MAAM,2BAA2B,GAAI,SAAS,OAAO,EAAE,SAAS,MAAM,EAAE,cAAc,MAAM,SAGlG,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAI,SAAS,OAAO,EAAE,eAAe,MAAM,SAEjF,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,SAAS,OAAO,KAAG,MAAM,GAAG,IAE9D,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,SAAS,OAAO,EAAE,WAAW,MAAM,SAEtE,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,SAAS,OAAO,SAElD,CAAC"}
1
+ {"version":3,"file":"auth-storage.d.ts","sourceRoot":"","sources":["../../src/connect/auth-storage.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAc,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAEzE,eAAO,MAAM,MAAM,QAAO,KAAK,GAAG,YAAY,GAAG,OAEhD,CAAC;AAEF,eAAO,MAAM,6BAA6B,cAAoC,CAAC;AAE/E,eAAO,MAAM,mBAAmB,GAAI,eAAe,MAAM,WACY,CAAC;AAEtE,eAAO,MAAM,2BAA2B,GAAI,eAAe,MAAM,WACa,CAAC;AAE/E,eAAO,MAAM,QAAQ,GAAI,SAAS,OAAO,EAAE,eAAe,MAAM,KAAG,YAAY,GAAG,IAajF,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,SAAS,OAAO,EAAE,eAAe,MAAM,EAAE,MAAM,YAAY,SAGpF,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,SAAS,OAAO,EAAE,eAAe,MAAM,SAG/D,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAI,SAAS,OAAO,EAAE,SAAS,MAAM,KAAG,MAAM,GAAG,IAIvF,CAAC;AAEF,eAAO,MAAM,2BAA2B,GAAI,SAAS,OAAO,EAAE,SAAS,MAAM,EAAE,cAAc,MAAM,SAGlG,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAI,SAAS,OAAO,EAAE,eAAe,MAAM,SAEjF,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,SAAS,OAAO,KAAG,MAAM,GAAG,IAE9D,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,SAAS,OAAO,EAAE,WAAW,MAAM,SAEtE,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,SAAS,OAAO,SAElD,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,gBAAgB,OAAO,EAAE,qBAAqB,OAAO,SAOpF,CAAC"}
@@ -50,4 +50,12 @@ export const storeAccountAddress = (storage, accountId) => {
50
50
  export const wipeAccountAddress = storage => {
51
51
  storage.removeItem(buildAccountAddressStorageKey());
52
52
  };
53
+ export const wipeAllAuthData = (addressStorage, keysAndTokenStorage) => {
54
+ const accountAddress = loadAccountAddress(addressStorage);
55
+ wipeAccountAddress(addressStorage);
56
+ if (accountAddress) {
57
+ wipeKeys(keysAndTokenStorage, accountAddress);
58
+ wipeSyncServerSessionToken(keysAndTokenStorage, accountAddress);
59
+ }
60
+ };
53
61
  //# sourceMappingURL=auth-storage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth-storage.js","names":["Schema","deserialize","serialize","KeysSchema","getEnv","buildAccountAddressStorageKey","buildKeysStorageKey","walletAddress","buildSessionTokenStorageKey","loadKeys","storage","accessKey","val","getItem","deserialized","decodeUnknownSync","encryptionPublicKey","encryptionPrivateKey","signaturePublicKey","signaturePrivateKey","storeKeys","keys","keysMsg","encodeSync","setItem","wipeKeys","removeItem","loadSyncServerSessionToken","address","key","token","storeSyncServerSessionToken","sessionToken","wipeSyncServerSessionToken","loadAccountAddress","storeAccountAddress","accountId","wipeAccountAddress"],"sources":["../../src/connect/auth-storage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"auth-storage.js","names":["Schema","deserialize","serialize","KeysSchema","getEnv","buildAccountAddressStorageKey","buildKeysStorageKey","walletAddress","buildSessionTokenStorageKey","loadKeys","storage","accessKey","val","getItem","deserialized","decodeUnknownSync","encryptionPublicKey","encryptionPrivateKey","signaturePublicKey","signaturePrivateKey","storeKeys","keys","keysMsg","encodeSync","setItem","wipeKeys","removeItem","loadSyncServerSessionToken","address","key","token","storeSyncServerSessionToken","sessionToken","wipeSyncServerSessionToken","loadAccountAddress","storeAccountAddress","accountId","wipeAccountAddress","wipeAllAuthData","addressStorage","keysAndTokenStorage","accountAddress"],"sources":["../../src/connect/auth-storage.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,MAAM,QAAQ,QAAQ;AAC/B,SAASC,WAAW,EAAEC,SAAS,QAAQ,sBAAsB;AAC7D,SAA4BC,UAAU,QAAsB,YAAY;AAExE,OAAO,MAAMC,MAAM,GAAGA,CAAA,KAAqC;EACzD,OAAO,KAAK;AACd,CAAC;AAED,OAAO,MAAMC,6BAA6B,GAAGA,CAAA,KAAM,cAAcD,MAAM,EAAE,KAAK;AAE9E,OAAO,MAAME,mBAAmB,GAAIC,aAAqB,IACvDA,aAAa,GAAG,cAAcH,MAAM,EAAE,SAASG,aAAa,EAAE,GAAG,EAAE;AAErE,OAAO,MAAMC,2BAA2B,GAAID,aAAqB,IAC/DA,aAAa,GAAG,cAAcH,MAAM,EAAE,kBAAkBG,aAAa,EAAE,GAAG,EAAE;AAE9E,OAAO,MAAME,QAAQ,GAAGA,CAACC,OAAgB,EAAEH,aAAqB,KAAyB;EACvF,MAAMI,SAAS,GAAGL,mBAAmB,CAACC,aAAa,CAAC;EACpD,MAAMK,GAAG,GAAGF,OAAO,CAACG,OAAO,CAACF,SAAS,CAAC;EACtC,IAAI,CAACC,GAAG,EAAE;IACR,OAAO,IAAI;EACb;EACA,MAAME,YAAY,GAAGd,MAAM,CAACe,iBAAiB,CAACZ,UAAU,CAAC,CAACF,WAAW,CAACW,GAAG,CAAC,CAAC;EAC3E,OAAO;IACLI,mBAAmB,EAAEF,YAAY,CAACE,mBAAmB;IACrDC,oBAAoB,EAAEH,YAAY,CAACG,oBAAoB;IACvDC,kBAAkB,EAAEJ,YAAY,CAACI,kBAAkB;IACnDC,mBAAmB,EAAEL,YAAY,CAACK;GACnC;AACH,CAAC;AAED,OAAO,MAAMC,SAAS,GAAGA,CAACV,OAAgB,EAAEH,aAAqB,EAAEc,IAAkB,KAAI;EACvF,MAAMC,OAAO,GAAGpB,SAAS,CAACF,MAAM,CAACuB,UAAU,CAACpB,UAAU,CAAC,CAACkB,IAAI,CAAC,CAAC;EAC9DX,OAAO,CAACc,OAAO,CAAClB,mBAAmB,CAACC,aAAa,CAAC,EAAEe,OAAO,CAAC;AAC9D,CAAC;AAED,OAAO,MAAMG,QAAQ,GAAGA,CAACf,OAAgB,EAAEH,aAAqB,KAAI;EAClE;EACAG,OAAO,CAACgB,UAAU,CAACpB,mBAAmB,CAACC,aAAa,CAAC,CAAC;AACxD,CAAC;AAED,OAAO,MAAMoB,0BAA0B,GAAGA,CAACjB,OAAgB,EAAEkB,OAAe,KAAmB;EAC7F,MAAMC,GAAG,GAAGrB,2BAA2B,CAACoB,OAAO,CAAC;EAChD,MAAME,KAAK,GAAGpB,OAAO,CAACG,OAAO,CAACgB,GAAG,CAAC;EAClC,OAAOC,KAAK;AACd,CAAC;AAED,OAAO,MAAMC,2BAA2B,GAAGA,CAACrB,OAAgB,EAAEkB,OAAe,EAAEI,YAAoB,KAAI;EACrG,MAAMH,GAAG,GAAGrB,2BAA2B,CAACoB,OAAO,CAAC;EAChDlB,OAAO,CAACc,OAAO,CAACK,GAAG,EAAEG,YAAY,CAAC;AACpC,CAAC;AAED,OAAO,MAAMC,0BAA0B,GAAGA,CAACvB,OAAgB,EAAEH,aAAqB,KAAI;EACpFG,OAAO,CAACgB,UAAU,CAAClB,2BAA2B,CAACD,aAAa,CAAC,CAAC;AAChE,CAAC;AAED,OAAO,MAAM2B,kBAAkB,GAAIxB,OAAgB,IAAmB;EACpE,OAAOA,OAAO,CAACG,OAAO,CAACR,6BAA6B,EAAE,CAAC;AACzD,CAAC;AAED,OAAO,MAAM8B,mBAAmB,GAAGA,CAACzB,OAAgB,EAAE0B,SAAiB,KAAI;EACzE1B,OAAO,CAACc,OAAO,CAACnB,6BAA6B,EAAE,EAAE+B,SAAS,CAAC;AAC7D,CAAC;AAED,OAAO,MAAMC,kBAAkB,GAAI3B,OAAgB,IAAI;EACrDA,OAAO,CAACgB,UAAU,CAACrB,6BAA6B,EAAE,CAAC;AACrD,CAAC;AAED,OAAO,MAAMiC,eAAe,GAAGA,CAACC,cAAuB,EAAEC,mBAA4B,KAAI;EACvF,MAAMC,cAAc,GAAGP,kBAAkB,CAACK,cAAc,CAAC;EACzDF,kBAAkB,CAACE,cAAc,CAAC;EAClC,IAAIE,cAAc,EAAE;IAClBhB,QAAQ,CAACe,mBAAmB,EAAEC,cAAc,CAAC;IAC7CR,0BAA0B,CAACO,mBAAmB,EAAEC,cAAc,CAAC;EACjE;AACF,CAAC","ignoreList":[]}
@@ -2,19 +2,20 @@ import type { SmartAccountClient } from 'permissionless';
2
2
  import type { Address, Chain, WalletClient } from 'viem';
3
3
  import type { IdentityKeys, Signer, Storage } from './types.js';
4
4
  export declare function identityExists(accountAddress: string, syncServerUri: string): Promise<boolean>;
5
- export declare function signup(signer: Signer, walletClient: WalletClient, smartAccountClient: SmartAccountClient, accountAddress: Address, syncServerUri: string, storage: Storage, identityToken: string): Promise<{
5
+ export declare function signup(signer: Signer, walletClient: WalletClient, smartAccountClient: SmartAccountClient, accountAddress: Address, syncServerUri: string, addressStorage: Storage, keysStorage: Storage, identityToken: string, chain: Chain, rpcUrl: string): Promise<{
6
6
  accountAddress: `0x${string}`;
7
7
  keys: IdentityKeys;
8
8
  }>;
9
- export declare function restoreKeys(signer: Signer, accountAddress: Address, syncServerUri: string, storage: Storage, identityToken: string): Promise<{
9
+ export declare function restoreKeys(signer: Signer, accountAddress: Address, syncServerUri: string, addressStorage: Storage, keysStorage: Storage, identityToken: string): Promise<{
10
10
  accountAddress: `0x${string}`;
11
11
  keys: IdentityKeys;
12
12
  }>;
13
- export declare function login({ walletClient, signer, syncServerUri, storage, identityToken, rpcUrl, chain, }: {
13
+ export declare function login({ walletClient, signer, syncServerUri, addressStorage, keysStorage, identityToken, rpcUrl, chain, }: {
14
14
  walletClient: WalletClient;
15
15
  signer: Signer;
16
16
  syncServerUri: string;
17
- storage: Storage;
17
+ addressStorage: Storage;
18
+ keysStorage: Storage;
18
19
  identityToken: string;
19
20
  rpcUrl: string;
20
21
  chain: Chain;
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/connect/login.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAO,YAAY,EAAE,MAAM,MAAM,CAAC;AAc9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAEhE,wBAAsB,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,oBAKjF;AAED,wBAAsB,MAAM,CAC1B,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,kBAAkB,EAAE,kBAAkB,EACtC,cAAc,EAAE,OAAO,EACvB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,MAAM;;;GAwCtB;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,OAAO,EACvB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,MAAM;;;GAwBtB;AA6CD,wBAAsB,KAAK,CAAC,EAC1B,YAAY,EACZ,MAAM,EACN,aAAa,EACb,OAAO,EACP,aAAa,EACb,MAAM,EACN,KAAK,GACN,EAAE;IACD,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;CACd,iBAqCA"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/connect/login.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAO,YAAY,EAAE,MAAM,MAAM,CAAC;AAgB9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAEhE,wBAAsB,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,oBAKjF;AAED,wBAAsB,MAAM,CAC1B,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,YAAY,EAC1B,kBAAkB,EAAE,kBAAkB,EACtC,cAAc,EAAE,OAAO,EACvB,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,OAAO,EACvB,WAAW,EAAE,OAAO,EACpB,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM;;;GA8Cf;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,OAAO,EACvB,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,OAAO,EACvB,WAAW,EAAE,OAAO,EACpB,aAAa,EAAE,MAAM;;;GAwBtB;AAmCD,wBAAsB,KAAK,CAAC,EAC1B,YAAY,EACZ,MAAM,EACN,aAAa,EACb,cAAc,EACd,WAAW,EACX,aAAa,EACb,MAAM,EACN,KAAK,GACN,EAAE;IACD,YAAY,EAAE,YAAY,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;CACd,iBAkCA"}
@@ -1,27 +1,37 @@
1
1
  import * as Schema from 'effect/Schema';
2
+ import { privateKeyToAccount } from 'viem/accounts';
2
3
  import { proveIdentityOwnership } from '../identity/prove-ownership.js';
3
4
  import * as Messages from '../messages/index.js';
4
5
  import { store } from '../store-connect.js';
5
- import { loadAccountAddress, storeAccountAddress, storeKeys, wipeAccountAddress } from './auth-storage.js';
6
+ import { loadAccountAddress, storeAccountAddress, storeKeys } from './auth-storage.js';
6
7
  import { createIdentityKeys } from './create-identity-keys.js';
7
8
  import { decryptIdentity, encryptIdentity } from './identity-encryption.js';
8
- import { getSmartAccountWalletClient, isSmartAccountDeployed, smartAccountNeedsUpdate, updateLegacySmartAccount } from './smart-account.js';
9
+ import { addSmartAccountOwner, getSmartAccountWalletClient, isSmartAccountDeployed, smartAccountNeedsUpdate, updateLegacySmartAccount } from './smart-account.js';
9
10
  export async function identityExists(accountAddress, syncServerUri) {
10
11
  const res = await fetch(new URL(`/identity?accountAddress=${accountAddress}`, syncServerUri), {
11
12
  method: 'GET'
12
13
  });
13
14
  return res.status === 200;
14
15
  }
15
- export async function signup(signer, walletClient, smartAccountClient, accountAddress, syncServerUri, storage, identityToken) {
16
+ export async function signup(signer, walletClient, smartAccountClient, accountAddress, syncServerUri, addressStorage, keysStorage, identityToken, chain, rpcUrl) {
16
17
  const keys = createIdentityKeys();
17
18
  const {
18
19
  ciphertext,
19
20
  nonce
20
21
  } = await encryptIdentity(signer, keys);
22
+ const localAccount = privateKeyToAccount(keys.signaturePrivateKey);
23
+ // This will deploy the smart account if it's not deployed
24
+ await addSmartAccountOwner(smartAccountClient, localAccount.address, chain, rpcUrl);
25
+ const localSmartAccountClient = await getSmartAccountWalletClient({
26
+ owner: localAccount,
27
+ address: accountAddress,
28
+ rpcUrl,
29
+ chain
30
+ });
21
31
  const {
22
32
  accountProof,
23
33
  keyProof
24
- } = await proveIdentityOwnership(walletClient, smartAccountClient, accountAddress, keys);
34
+ } = await proveIdentityOwnership(localSmartAccountClient, accountAddress, keys);
25
35
  const req = {
26
36
  keyBox: {
27
37
  signer: await signer.getAddress(),
@@ -50,14 +60,14 @@ export async function signup(signer, walletClient, smartAccountClient, accountAd
50
60
  if (!decoded.success) {
51
61
  throw new Error('Error creating identity');
52
62
  }
53
- storeKeys(storage, accountAddress, keys);
54
- storeAccountAddress(storage, accountAddress);
63
+ storeKeys(keysStorage, accountAddress, keys);
64
+ storeAccountAddress(addressStorage, accountAddress);
55
65
  return {
56
66
  accountAddress,
57
67
  keys
58
68
  };
59
69
  }
60
- export async function restoreKeys(signer, accountAddress, syncServerUri, storage, identityToken) {
70
+ export async function restoreKeys(signer, accountAddress, syncServerUri, addressStorage, keysStorage, identityToken) {
61
71
  const res = await fetch(new URL('/connect/identity/encrypted', syncServerUri), {
62
72
  method: 'GET',
63
73
  headers: {
@@ -76,8 +86,8 @@ export async function restoreKeys(signer, accountAddress, syncServerUri, storage
76
86
  nonce
77
87
  } = keyBox;
78
88
  const keys = await decryptIdentity(signer, ciphertext, nonce);
79
- storeKeys(storage, accountAddress, keys);
80
- storeAccountAddress(storage, accountAddress);
89
+ storeKeys(keysStorage, accountAddress, keys);
90
+ storeAccountAddress(addressStorage, accountAddress);
81
91
  return {
82
92
  accountAddress,
83
93
  keys
@@ -85,8 +95,8 @@ export async function restoreKeys(signer, accountAddress, syncServerUri, storage
85
95
  }
86
96
  throw new Error(`Error fetching identity ${res.status}`);
87
97
  }
88
- const getAndDeploySmartAccount = async (walletClient, rpcUrl, chain, storage) => {
89
- const accountAddressFromStorage = loadAccountAddress(storage);
98
+ const getAndUpdateSmartAccount = async (walletClient, rpcUrl, chain, addressStorage) => {
99
+ const accountAddressFromStorage = loadAccountAddress(addressStorage);
90
100
  const smartAccountParams = {
91
101
  owner: walletClient,
92
102
  rpcUrl,
@@ -110,54 +120,29 @@ const getAndDeploySmartAccount = async (walletClient, rpcUrl, chain, storage) =>
110
120
  // Create the client again to ensure we have the 7579 config now
111
121
  return getSmartAccountWalletClient(smartAccountParams);
112
122
  }
113
- if (!(await isSmartAccountDeployed(smartAccountWalletClient))) {
114
- // TODO: remove this once we manage to get counterfactual signatures working
115
- console.log('sending dummy userOp to deploy smart account');
116
- if (!walletClient.account) {
117
- throw new Error('Wallet client account not found');
118
- }
119
- const tx = await smartAccountWalletClient.sendUserOperation({
120
- calls: [{
121
- to: walletClient.account.address,
122
- data: '0x'
123
- }],
124
- account: smartAccountWalletClient.account
125
- });
126
- console.log('tx', tx);
127
- const receipt = await smartAccountWalletClient.waitForUserOperationReceipt({
128
- hash: tx
129
- });
130
- console.log('receipt', receipt);
131
- }
132
123
  return smartAccountWalletClient;
133
124
  };
134
125
  export async function login({
135
126
  walletClient,
136
127
  signer,
137
128
  syncServerUri,
138
- storage,
129
+ addressStorage,
130
+ keysStorage,
139
131
  identityToken,
140
132
  rpcUrl,
141
133
  chain
142
134
  }) {
143
- let smartAccountWalletClient;
144
- try {
145
- smartAccountWalletClient = await getAndDeploySmartAccount(walletClient, rpcUrl, chain, storage);
146
- } catch (error) {
147
- wipeAccountAddress(storage);
148
- smartAccountWalletClient = await getAndDeploySmartAccount(walletClient, rpcUrl, chain, storage);
149
- }
135
+ const smartAccountWalletClient = await getAndUpdateSmartAccount(walletClient, rpcUrl, chain, addressStorage);
150
136
  if (!smartAccountWalletClient.account) {
151
137
  throw new Error('Smart account wallet client account not found');
152
138
  }
153
139
  const accountAddress = smartAccountWalletClient.account.address;
154
- // const keys = loadKeys(storage, accountAddress);
155
140
  let authData;
156
141
  const exists = await identityExists(accountAddress, syncServerUri);
157
142
  if (!exists) {
158
- authData = await signup(signer, walletClient, smartAccountWalletClient, accountAddress, syncServerUri, storage, identityToken);
143
+ authData = await signup(signer, walletClient, smartAccountWalletClient, accountAddress, syncServerUri, addressStorage, keysStorage, identityToken, chain, rpcUrl);
159
144
  } else {
160
- authData = await restoreKeys(signer, accountAddress, syncServerUri, storage, identityToken);
145
+ authData = await restoreKeys(signer, accountAddress, syncServerUri, addressStorage, keysStorage, identityToken);
161
146
  }
162
147
  store.send({
163
148
  type: 'reset'
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","names":["Schema","proveIdentityOwnership","Messages","store","loadAccountAddress","storeAccountAddress","storeKeys","wipeAccountAddress","createIdentityKeys","decryptIdentity","encryptIdentity","getSmartAccountWalletClient","isSmartAccountDeployed","smartAccountNeedsUpdate","updateLegacySmartAccount","identityExists","accountAddress","syncServerUri","res","fetch","URL","method","status","signup","signer","walletClient","smartAccountClient","storage","identityToken","keys","ciphertext","nonce","accountProof","keyProof","req","keyBox","getAddress","signaturePublicKey","encryptionPublicKey","headers","body","JSON","stringify","Error","decoded","decodeUnknownSync","ResponseConnectCreateIdentity","json","success","restoreKeys","ResponseIdentityEncrypted","getAndDeploySmartAccount","rpcUrl","chain","accountAddressFromStorage","smartAccountParams","owner","address","smartAccountWalletClient","account","console","log","tx","sendUserOperation","calls","to","data","receipt","waitForUserOperationReceipt","hash","login","error","authData","exists","send","type","sessionToken"],"sources":["../../src/connect/login.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"login.js","names":["Schema","privateKeyToAccount","proveIdentityOwnership","Messages","store","loadAccountAddress","storeAccountAddress","storeKeys","createIdentityKeys","decryptIdentity","encryptIdentity","addSmartAccountOwner","getSmartAccountWalletClient","isSmartAccountDeployed","smartAccountNeedsUpdate","updateLegacySmartAccount","identityExists","accountAddress","syncServerUri","res","fetch","URL","method","status","signup","signer","walletClient","smartAccountClient","addressStorage","keysStorage","identityToken","chain","rpcUrl","keys","ciphertext","nonce","localAccount","signaturePrivateKey","address","localSmartAccountClient","owner","accountProof","keyProof","req","keyBox","getAddress","signaturePublicKey","encryptionPublicKey","headers","body","JSON","stringify","Error","decoded","decodeUnknownSync","ResponseConnectCreateIdentity","json","success","restoreKeys","ResponseIdentityEncrypted","getAndUpdateSmartAccount","accountAddressFromStorage","smartAccountParams","smartAccountWalletClient","account","console","log","login","authData","exists","send","type","sessionToken"],"sources":["../../src/connect/login.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,MAAM,MAAM,eAAe;AAGvC,SAASC,mBAAmB,QAAQ,eAAe;AACnD,SAASC,sBAAsB,QAAQ,gCAAgC;AACvE,OAAO,KAAKC,QAAQ,MAAM,sBAAsB;AAChD,SAASC,KAAK,QAAQ,qBAAqB;AAC3C,SAASC,kBAAkB,EAAEC,mBAAmB,EAAEC,SAAS,QAAQ,mBAAmB;AACtF,SAASC,kBAAkB,QAAQ,2BAA2B;AAC9D,SAASC,eAAe,EAAEC,eAAe,QAAQ,0BAA0B;AAC3E,SAEEC,oBAAoB,EACpBC,2BAA2B,EAC3BC,sBAAsB,EACtBC,uBAAuB,EACvBC,wBAAwB,QACnB,oBAAoB;AAG3B,OAAO,eAAeC,cAAcA,CAACC,cAAsB,EAAEC,aAAqB;EAChF,MAAMC,GAAG,GAAG,MAAMC,KAAK,CAAC,IAAIC,GAAG,CAAC,4BAA4BJ,cAAc,EAAE,EAAEC,aAAa,CAAC,EAAE;IAC5FI,MAAM,EAAE;GACT,CAAC;EACF,OAAOH,GAAG,CAACI,MAAM,KAAK,GAAG;AAC3B;AAEA,OAAO,eAAeC,MAAMA,CAC1BC,MAAc,EACdC,YAA0B,EAC1BC,kBAAsC,EACtCV,cAAuB,EACvBC,aAAqB,EACrBU,cAAuB,EACvBC,WAAoB,EACpBC,aAAqB,EACrBC,KAAY,EACZC,MAAc;EAEd,MAAMC,IAAI,GAAGzB,kBAAkB,EAAE;EACjC,MAAM;IAAE0B,UAAU;IAAEC;EAAK,CAAE,GAAG,MAAMzB,eAAe,CAACe,MAAM,EAAEQ,IAAI,CAAC;EAEjE,MAAMG,YAAY,GAAGnC,mBAAmB,CAACgC,IAAI,CAACI,mBAAoC,CAAC;EACnF;EACA,MAAM1B,oBAAoB,CAACgB,kBAAkB,EAAES,YAAY,CAACE,OAAO,EAAEP,KAAK,EAAEC,MAAM,CAAC;EACnF,MAAMO,uBAAuB,GAAG,MAAM3B,2BAA2B,CAAC;IAChE4B,KAAK,EAAEJ,YAAY;IACnBE,OAAO,EAAErB,cAAc;IACvBe,MAAM;IACND;GACD,CAAC;EAEF,MAAM;IAAEU,YAAY;IAAEC;EAAQ,CAAE,GAAG,MAAMxC,sBAAsB,CAACqC,uBAAuB,EAAEtB,cAAc,EAAEgB,IAAI,CAAC;EAE9G,MAAMU,GAAG,GAA0C;IACjDC,MAAM,EAAE;MAAEnB,MAAM,EAAE,MAAMA,MAAM,CAACoB,UAAU,EAAE;MAAE5B,cAAc;MAAEiB,UAAU;MAAEC;IAAK,CAAE;IAChFM,YAAY;IACZC,QAAQ;IACRI,kBAAkB,EAAEb,IAAI,CAACa,kBAAkB;IAC3CC,mBAAmB,EAAEd,IAAI,CAACc;GAC3B;EACD,MAAM5B,GAAG,GAAG,MAAMC,KAAK,CAAC,IAAIC,GAAG,CAAC,mBAAmB,EAAEH,aAAa,CAAC,EAAE;IACnEI,MAAM,EAAE,MAAM;IACd0B,OAAO,EAAE;MACP,gBAAgB,EAAElB,aAAa;MAC/B,cAAc,EAAE;KACjB;IACDmB,IAAI,EAAEC,IAAI,CAACC,SAAS,CAACR,GAAG;GACzB,CAAC;EACF,IAAIxB,GAAG,CAACI,MAAM,KAAK,GAAG,EAAE;IACtB;IACA,MAAM,IAAI6B,KAAK,CAAC,4BAA4BjC,GAAG,CAACI,MAAM,EAAE,CAAC;EAC3D;EACA,MAAM8B,OAAO,GAAGrD,MAAM,CAACsD,iBAAiB,CAACnD,QAAQ,CAACoD,6BAA6B,CAAC,CAAC,MAAMpC,GAAG,CAACqC,IAAI,EAAE,CAAC;EAClG,IAAI,CAACH,OAAO,CAACI,OAAO,EAAE;IACpB,MAAM,IAAIL,KAAK,CAAC,yBAAyB,CAAC;EAC5C;EACA7C,SAAS,CAACsB,WAAW,EAAEZ,cAAc,EAAEgB,IAAI,CAAC;EAC5C3B,mBAAmB,CAACsB,cAAc,EAAEX,cAAc,CAAC;EACnD,OAAO;IACLA,cAAc;IACdgB;GACD;AACH;AAEA,OAAO,eAAeyB,WAAWA,CAC/BjC,MAAc,EACdR,cAAuB,EACvBC,aAAqB,EACrBU,cAAuB,EACvBC,WAAoB,EACpBC,aAAqB;EAErB,MAAMX,GAAG,GAAG,MAAMC,KAAK,CAAC,IAAIC,GAAG,CAAC,6BAA6B,EAAEH,aAAa,CAAC,EAAE;IAC7EI,MAAM,EAAE,KAAK;IACb0B,OAAO,EAAE;MACP,gBAAgB,EAAElB,aAAa;MAC/B,iBAAiB,EAAEb,cAAc;MACjC,cAAc,EAAE;;GAEnB,CAAC;EAEF,IAAIE,GAAG,CAACI,MAAM,KAAK,GAAG,EAAE;IACtB,MAAM8B,OAAO,GAAGrD,MAAM,CAACsD,iBAAiB,CAACnD,QAAQ,CAACwD,yBAAyB,CAAC,CAAC,MAAMxC,GAAG,CAACqC,IAAI,EAAE,CAAC;IAC9F,MAAM;MAAEZ;IAAM,CAAE,GAAGS,OAAO;IAC1B,MAAM;MAAEnB,UAAU;MAAEC;IAAK,CAAE,GAAGS,MAAM;IACpC,MAAMX,IAAI,GAAG,MAAMxB,eAAe,CAACgB,MAAM,EAAES,UAAU,EAAEC,KAAK,CAAC;IAC7D5B,SAAS,CAACsB,WAAW,EAAEZ,cAAc,EAAEgB,IAAI,CAAC;IAC5C3B,mBAAmB,CAACsB,cAAc,EAAEX,cAAc,CAAC;IACnD,OAAO;MACLA,cAAc;MACdgB;KACD;EACH;EACA,MAAM,IAAImB,KAAK,CAAC,2BAA2BjC,GAAG,CAACI,MAAM,EAAE,CAAC;AAC1D;AAEA,MAAMqC,wBAAwB,GAAG,MAAAA,CAC/BlC,YAA0B,EAC1BM,MAAc,EACdD,KAAY,EACZH,cAAuB,KACrB;EACF,MAAMiC,yBAAyB,GAAGxD,kBAAkB,CAACuB,cAAc,CAAQ;EAC3E,MAAMkC,kBAAkB,GAAuB;IAC7CtB,KAAK,EAAEd,YAAY;IACnBM,MAAM;IACND;GACD;EACD,IAAI8B,yBAAyB,EAAE;IAC7BC,kBAAkB,CAACxB,OAAO,GAAGuB,yBAAyB;EACxD;EACA,MAAME,wBAAwB,GAAG,MAAMnD,2BAA2B,CAACkD,kBAAkB,CAAC;EACtF,IAAI,CAACC,wBAAwB,CAACC,OAAO,EAAE;IACrC,MAAM,IAAIZ,KAAK,CAAC,uCAAuC,CAAC;EAC1D;EACAa,OAAO,CAACC,GAAG,CAAC,0BAA0B,EAAEH,wBAAwB,CAAC;EACjEE,OAAO,CAACC,GAAG,CAAC,SAAS,EAAEH,wBAAwB,CAACC,OAAO,CAAC1B,OAAO,CAAC;EAChE2B,OAAO,CAACC,GAAG,CAAC,aAAa,EAAE,MAAMrD,sBAAsB,CAACkD,wBAAwB,CAAC,CAAC;EAClF;EACA,IAAI,MAAMjD,uBAAuB,CAACiD,wBAAwB,EAAEhC,KAAK,EAAEC,MAAM,CAAC,EAAE;IAC1EiC,OAAO,CAACC,GAAG,CAAC,wBAAwB,CAAC;IACrC,MAAMnD,wBAAwB,CAACgD,wBAAwB,EAAEhC,KAAK,EAAEC,MAAM,CAAC;IACvE8B,kBAAkB,CAACxB,OAAO,GAAGyB,wBAAwB,CAACC,OAAO,CAAC1B,OAAO;IACrE;IACA,OAAO1B,2BAA2B,CAACkD,kBAAkB,CAAC;EACxD;EACA,OAAOC,wBAAwB;AACjC,CAAC;AAED,OAAO,eAAeI,KAAKA,CAAC;EAC1BzC,YAAY;EACZD,MAAM;EACNP,aAAa;EACbU,cAAc;EACdC,WAAW;EACXC,aAAa;EACbE,MAAM;EACND;AAAK,CAUN;EACC,MAAMgC,wBAAwB,GAAG,MAAMH,wBAAwB,CAAClC,YAAY,EAAEM,MAAM,EAAED,KAAK,EAAEH,cAAc,CAAC;EAC5G,IAAI,CAACmC,wBAAwB,CAACC,OAAO,EAAE;IACrC,MAAM,IAAIZ,KAAK,CAAC,+CAA+C,CAAC;EAClE;EACA,MAAMnC,cAAc,GAAG8C,wBAAwB,CAACC,OAAO,CAAC1B,OAAO;EAE/D,IAAI8B,QAGH;EACD,MAAMC,MAAM,GAAG,MAAMrD,cAAc,CAACC,cAAc,EAAEC,aAAa,CAAC;EAClE,IAAI,CAACmD,MAAM,EAAE;IACXD,QAAQ,GAAG,MAAM5C,MAAM,CACrBC,MAAM,EACNC,YAAY,EACZqC,wBAAwB,EACxB9C,cAAc,EACdC,aAAa,EACbU,cAAc,EACdC,WAAW,EACXC,aAAa,EACbC,KAAK,EACLC,MAAM,CACP;EACH,CAAC,MAAM;IACLoC,QAAQ,GAAG,MAAMV,WAAW,CAACjC,MAAM,EAAER,cAAc,EAAEC,aAAa,EAAEU,cAAc,EAAEC,WAAW,EAAEC,aAAa,CAAC;EACjH;EACA1B,KAAK,CAACkE,IAAI,CAAC;IAAEC,IAAI,EAAE;EAAO,CAAE,CAAC;EAC7BnE,KAAK,CAACkE,IAAI,CAAC;IACT,GAAGF,QAAQ;IACXI,YAAY,EAAE,OAAO;IAAE;IACvBD,IAAI,EAAE;GACP,CAAC;AACJ","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import { getSpendingLimitsPolicy, getSudoPolicy, getTimeFramePolicy, getUniversalActionPolicy, getUsageLimitPolicy, getValueLimitPolicy } from '@rhinestone/module-sdk';
2
2
  import { type SmartAccountClient } from 'permissionless';
3
- import { type Account, type Address, type Chain, type Hex, type SignableMessage, type WalletClient } from 'viem';
3
+ import { type Account, type Address, type Chain, type Hex, type PrivateKeyAccount, type SignableMessage, type WalletClient } from 'viem';
4
4
  import { type WaitForUserOperationReceiptReturnType } from 'viem/account-abstraction';
5
5
  export declare const DEFAULT_RPC_URL = "https://rpc-geo-genesis-h0q2s21xx8.t.conduit.xyz";
6
6
  export declare const TESTNET_RPC_URL = "https://rpc-geo-test-zc16z3tcvf.t.conduit.xyz";
@@ -77,7 +77,20 @@ export declare const legacySmartAccountUpdateStatus: (smartAccountClient: SmartA
77
77
  }>;
78
78
  export declare const smartAccountNeedsUpdate: (smartAccountClient: SmartAccountClient, chain: Chain, rpcUrl: string) => Promise<boolean>;
79
79
  export declare const updateLegacySmartAccount: (smartAccountClient: SmartAccountClient, chain: Chain, rpcUrl: string) => Promise<WaitForUserOperationReceiptReturnType | undefined>;
80
- export declare const createSmartSession: (owner: WalletClient, accountAddress: Hex, sessionPrivateKey: Hex, chain: Chain, rpcUrl: string, { allowCreateSpace, spaces, additionalActions, }?: {
80
+ export declare const addSmartAccountOwner: (smartAccountClient: SmartAccountClient, newOwner: Address, chain: Chain, rpcUrl: string) => Promise<{
81
+ actualGasCost: bigint;
82
+ actualGasUsed: bigint;
83
+ entryPoint: Address;
84
+ logs: import("viem").Log<bigint, number, false>[];
85
+ nonce: bigint;
86
+ paymaster?: `0x${string}` | undefined;
87
+ reason?: string | undefined | undefined;
88
+ receipt: import("viem").TransactionReceipt<bigint, number, "success" | "reverted">;
89
+ sender: Address;
90
+ success: boolean;
91
+ userOpHash: import("viem").Hash;
92
+ } | undefined>;
93
+ export declare const createSmartSession: (owner: WalletClient | PrivateKeyAccount, accountAddress: Hex, sessionPrivateKey: Hex, chain: Chain, rpcUrl: string, { allowCreateSpace, spaces, additionalActions, }?: {
81
94
  allowCreateSpace?: boolean;
82
95
  spaces?: {
83
96
  address: Hex;
@@ -1 +1 @@
1
- {"version":3,"file":"smart-account.d.ts","sourceRoot":"","sources":["../../src/connect/smart-account.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"smart-account.d.ts","sourceRoot":"","sources":["../../src/connect/smart-account.ts"],"names":[],"mappings":"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"}
@@ -442,6 +442,45 @@ const getSpaceActions = space => {
442
442
  }
443
443
  return actions;
444
444
  };
445
+ export const addSmartAccountOwner = async (smartAccountClient, newOwner, chain, rpcUrl) => {
446
+ if (!smartAccountClient.account) {
447
+ throw new Error('Invalid smart account');
448
+ }
449
+ const publicClient = createPublicClient({
450
+ transport: http(rpcUrl),
451
+ chain
452
+ });
453
+ if (await isSmartAccountDeployed(smartAccountClient)) {
454
+ const isOwner = await publicClient.readContract({
455
+ abi: safeOwnerManagerAbi,
456
+ address: smartAccountClient.account.address,
457
+ functionName: 'isOwner',
458
+ args: [newOwner]
459
+ });
460
+ if (isOwner) {
461
+ return;
462
+ }
463
+ }
464
+ const tx = await smartAccountClient.sendUserOperation({
465
+ calls: [{
466
+ to: smartAccountClient.account.address,
467
+ data: encodeFunctionData({
468
+ abi: safeOwnerManagerAbi,
469
+ functionName: 'addOwnerWithThreshold',
470
+ args: [newOwner, BigInt(1)]
471
+ }),
472
+ value: BigInt(0)
473
+ }],
474
+ account: smartAccountClient.account
475
+ });
476
+ const receipt = await smartAccountClient.waitForUserOperationReceipt({
477
+ hash: tx
478
+ });
479
+ if (!receipt.success) {
480
+ throw new Error('Transaction to add smart account owner failed');
481
+ }
482
+ return receipt;
483
+ };
445
484
  // This is the function that the Connect app uses to create a smart session and
446
485
  // enable it on the smart account.
447
486
  // It will prompt the user to sign the message to enable the session, and then
@@ -470,9 +509,6 @@ export const createSmartSession = async (owner, accountAddress, sessionPrivateKe
470
509
  if (!smartAccountClient.chain) {
471
510
  throw new Error('Invalid smart account chain');
472
511
  }
473
- if (!owner.account) {
474
- throw new Error('Invalid wallet client');
475
- }
476
512
  const sessionKeyAccount = privateKeyToAccount(sessionPrivateKey);
477
513
  const transport = http(rpcUrl);
478
514
  const publicClient = createPublicClient({
@@ -595,7 +631,7 @@ export const createSmartSession = async (owner, accountAddress, sessionPrivateKe
595
631
  message: {
596
632
  raw: sessionDetails.permissionEnableHash
597
633
  },
598
- account: owner.account.address
634
+ account: owner.account?.address ?? owner.address
599
635
  });
600
636
  console.log('session details signed');
601
637
  const smartSessions = getSmartSessionsValidator({});
@@ -1 +1 @@
1
- {"version":3,"file":"smart-account.js","names":["MAINNET","TESTNET","randomBytes","OWNABLE_VALIDATOR_ADDRESS","RHINESTONE_ATTESTER_ADDRESS","SmartSessionMode","encodeSmartSessionSignature","encodeValidationData","encodeValidatorNonce","getAccount","getEnableSessionDetails","getOwnableValidator","getOwnableValidatorMockSignature","getPermissionId","getSmartSessionsValidator","getSpendingLimitsPolicy","getSudoPolicy","getTimeFramePolicy","getUniversalActionPolicy","getUsageLimitPolicy","getValueLimitPolicy","createSmartAccountClient","encodeInstallModule","toSafeSmartAccount","getAccountNonce","erc7579Actions","createPimlicoClient","http","ContractFunctionExecutionError","createPublicClient","encodeFunctionData","getAbiItem","toBytes","toFunctionSelector","toHex","entryPoint07Address","getUserOperationHash","privateKeyToAccount","bytesToHex","daoFactoryAbi","mainVotingAbi","personalSpaceAdminAbi","safe7579Abi","safeModuleManagerAbi","safeOwnerManagerAbi","smartSessionsAbi","DEFAULT_RPC_URL","TESTNET_RPC_URL","DEFAULT_API_KEY","BUNDLER_TRANSPORT_URL_BASE","SAFE_7579_MODULE_ADDRESS","SAFE_4337_MODULE_ADDRESS","ERC7579_LAUNCHPAD_ADDRESS","SPACE_FACTORY_ADDRESS","DAO_FACTORY_ADDRESS","MODULE_TYPE_VALIDATOR","PUBLIC_SPACE_FUNCTIONS","PERSONAL_SPACE_FUNCTIONS","GEOGENESIS","id","Number","name","nativeCurrency","symbol","decimals","rpcUrls","default","public","GEO_TESTNET","getLegacySmartAccountWalletClient","owner","address","chain","rpcUrl","apiKey","transport","publicClient","safeAccountParams","client","owners","entryPoint","version","safeModuleSetupAddress","safe4337ModuleAddress","safeProxyFactoryAddress","safeSingletonAddress","multiSendAddress","multiSendCallOnlyAddress","safeAccount","bundlerTransport","paymasterClient","smartAccountClient","account","paymaster","userOperation","estimateFeesPerGas","getUserOperationGasPrice","fast","get7579SmartAccountWalletClient","console","log","ownerAddress","Error","ownableValidator","threshold","smartSessionsValidator","erc7579LaunchpadAddress","attesters","attestersThreshold","validators","context","initData","extend","isSmartAccountDeployed","isDeployed","getSmartAccountWalletClient","params","legacyClient","legacySmartAccountUpdateStatus","isSmartSessionsValidatorInstalled","readContract","abi","functionName","args","error","details","includes","has7579Module","hasSmartSessionsValidator","hasOwnableValidator","isOwnableValidatorInstalled","smartAccountNeedsUpdate","updateStatus","updateLegacySmartAccount","installValidatorsTx","modules","type","calls","push","to","data","value","BigInt","length","tx","sendUserOperation","receipt","waitForUserOperationReceipt","hash","success","getSpaceActions","space","actions","actionTarget","actionTargetSelector","actionPolicies","createSmartSession","accountAddress","sessionPrivateKey","allowCreateSpace","spaces","additionalActions","sessionKeyAccount","noOpActionPolicy","paramRules","rules","Array","fill","condition","isLimited","offset","ref","size","usage","limit","used","valueLimitPerUse","spaceFactoryAddress","toString","session","sessionValidator","sessionValidatorInitData","salt","userOpPolicies","erc7739Policies","allowedERC7739Content","erc1271Policies","chainId","permitERC4337Paymaster","sessionDetails","sessions","clients","enableSessionData","enableSession","permissionEnableSig","signMessage","message","raw","permissionEnableHash","smartSessions","nonce","entryPointAddress","key","validator","signature","prepareUserOperation","userOpHashToSign","entryPointVersion","userOpHash","getSmartSessionClient","permissionId","mode","USE"],"sources":["../../src/connect/smart-account.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"smart-account.js","names":["MAINNET","TESTNET","randomBytes","OWNABLE_VALIDATOR_ADDRESS","RHINESTONE_ATTESTER_ADDRESS","SmartSessionMode","encodeSmartSessionSignature","encodeValidationData","encodeValidatorNonce","getAccount","getEnableSessionDetails","getOwnableValidator","getOwnableValidatorMockSignature","getPermissionId","getSmartSessionsValidator","getSpendingLimitsPolicy","getSudoPolicy","getTimeFramePolicy","getUniversalActionPolicy","getUsageLimitPolicy","getValueLimitPolicy","createSmartAccountClient","encodeInstallModule","toSafeSmartAccount","getAccountNonce","erc7579Actions","createPimlicoClient","http","ContractFunctionExecutionError","createPublicClient","encodeFunctionData","getAbiItem","toBytes","toFunctionSelector","toHex","entryPoint07Address","getUserOperationHash","privateKeyToAccount","bytesToHex","daoFactoryAbi","mainVotingAbi","personalSpaceAdminAbi","safe7579Abi","safeModuleManagerAbi","safeOwnerManagerAbi","smartSessionsAbi","DEFAULT_RPC_URL","TESTNET_RPC_URL","DEFAULT_API_KEY","BUNDLER_TRANSPORT_URL_BASE","SAFE_7579_MODULE_ADDRESS","SAFE_4337_MODULE_ADDRESS","ERC7579_LAUNCHPAD_ADDRESS","SPACE_FACTORY_ADDRESS","DAO_FACTORY_ADDRESS","MODULE_TYPE_VALIDATOR","PUBLIC_SPACE_FUNCTIONS","PERSONAL_SPACE_FUNCTIONS","GEOGENESIS","id","Number","name","nativeCurrency","symbol","decimals","rpcUrls","default","public","GEO_TESTNET","getLegacySmartAccountWalletClient","owner","address","chain","rpcUrl","apiKey","transport","publicClient","safeAccountParams","client","owners","entryPoint","version","safeModuleSetupAddress","safe4337ModuleAddress","safeProxyFactoryAddress","safeSingletonAddress","multiSendAddress","multiSendCallOnlyAddress","safeAccount","bundlerTransport","paymasterClient","smartAccountClient","account","paymaster","userOperation","estimateFeesPerGas","getUserOperationGasPrice","fast","get7579SmartAccountWalletClient","console","log","ownerAddress","Error","ownableValidator","threshold","smartSessionsValidator","erc7579LaunchpadAddress","attesters","attestersThreshold","validators","context","initData","extend","isSmartAccountDeployed","isDeployed","getSmartAccountWalletClient","params","legacyClient","legacySmartAccountUpdateStatus","isSmartSessionsValidatorInstalled","readContract","abi","functionName","args","error","details","includes","has7579Module","hasSmartSessionsValidator","hasOwnableValidator","isOwnableValidatorInstalled","smartAccountNeedsUpdate","updateStatus","updateLegacySmartAccount","installValidatorsTx","modules","type","calls","push","to","data","value","BigInt","length","tx","sendUserOperation","receipt","waitForUserOperationReceipt","hash","success","getSpaceActions","space","actions","actionTarget","actionTargetSelector","actionPolicies","addSmartAccountOwner","newOwner","isOwner","createSmartSession","accountAddress","sessionPrivateKey","allowCreateSpace","spaces","additionalActions","sessionKeyAccount","noOpActionPolicy","paramRules","rules","Array","fill","condition","isLimited","offset","ref","size","usage","limit","used","valueLimitPerUse","spaceFactoryAddress","toString","session","sessionValidator","sessionValidatorInitData","salt","userOpPolicies","erc7739Policies","allowedERC7739Content","erc1271Policies","chainId","permitERC4337Paymaster","sessionDetails","sessions","clients","enableSessionData","enableSession","permissionEnableSig","signMessage","message","raw","permissionEnableHash","smartSessions","nonce","entryPointAddress","key","validator","signature","prepareUserOperation","userOpHashToSign","entryPointVersion","userOpHash","getSmartSessionClient","permissionId","mode","USE"],"sources":["../../src/connect/smart-account.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- import { type Chain, type WalletClient } from 'viem';
1
+ import { type Chain } from 'viem';
2
2
  import type { SmartAccountClient } from 'permissionless';
3
3
  import type { IdentityKeys } from './types.js';
4
4
  export declare const getAccountProofMessage: (accountAddress: string, publicKey: string) => string;
@@ -7,7 +7,7 @@ export declare const accountProofDomain: {
7
7
  name: string;
8
8
  version: string;
9
9
  };
10
- export declare const proveIdentityOwnership: (walletClient: WalletClient, smartAccountClient: SmartAccountClient, accountAddress: string, keys: IdentityKeys) => Promise<{
10
+ export declare const proveIdentityOwnership: (smartAccountClient: SmartAccountClient, accountAddress: string, keys: IdentityKeys) => Promise<{
11
11
  accountProof: string;
12
12
  keyProof: string;
13
13
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"prove-ownership.d.ts","sourceRoot":"","sources":["../../src/identity/prove-ownership.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,KAAK,EAAY,KAAK,YAAY,EAAqC,MAAM,MAAM,CAAC;AAGxG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,eAAO,MAAM,sBAAsB,GAAI,gBAAgB,MAAM,EAAE,WAAW,MAAM,KAAG,MAElF,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,gBAAgB,MAAM,EAAE,WAAW,MAAM,KAAG,MAE9E,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;CAG9B,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,cAAc,YAAY,EAC1B,oBAAoB,kBAAkB,EACtC,gBAAgB,MAAM,EACtB,MAAM,YAAY,KACjB,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAwBpD,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,gBAAgB,MAAM,EACtB,WAAW,MAAM,EACjB,cAAc,MAAM,EACpB,UAAU,MAAM,EAChB,OAAO,KAAK,EACZ,QAAQ,MAAM,KACb,OAAO,CAAC,OAAO,CA2CjB,CAAC"}
1
+ {"version":3,"file":"prove-ownership.d.ts","sourceRoot":"","sources":["../../src/identity/prove-ownership.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,KAAK,EAA+C,MAAM,MAAM,CAAC;AAGrF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,eAAO,MAAM,sBAAsB,GAAI,gBAAgB,MAAM,EAAE,WAAW,MAAM,KAAG,MAElF,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,gBAAgB,MAAM,EAAE,WAAW,MAAM,KAAG,MAE9E,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;CAG9B,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,oBAAoB,kBAAkB,EACtC,gBAAgB,MAAM,EACtB,MAAM,YAAY,KACjB,OAAO,CAAC;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAwBpD,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,gBAAgB,MAAM,EACtB,WAAW,MAAM,EACjB,cAAc,MAAM,EACpB,UAAU,MAAM,EAChB,OAAO,KAAK,EACZ,QAAQ,MAAM,KACb,OAAO,CAAC,OAAO,CA2CjB,CAAC"}
@@ -11,7 +11,7 @@ export const accountProofDomain = {
11
11
  name: 'Hypergraph',
12
12
  version: '1'
13
13
  };
14
- export const proveIdentityOwnership = async (walletClient, smartAccountClient, accountAddress, keys) => {
14
+ export const proveIdentityOwnership = async (smartAccountClient, accountAddress, keys) => {
15
15
  if (!smartAccountClient.account) {
16
16
  throw new Error('Smart account client does not have an account');
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"prove-ownership.js","names":["http","createPublicClient","verifyMessage","privateKeyToAccount","publicKeyToAddress","getAccountProofMessage","accountAddress","publicKey","getKeyProofMessage","accountProofDomain","name","version","proveIdentityOwnership","walletClient","smartAccountClient","keys","account","Error","chain","signaturePublicKey","keyProofMessage","accountProof","signTypedData","message","types","Message","type","domain","primaryType","console","log","signaturePrivateKey","keyProof","signMessage","verifyIdentityOwnership","rpcUrl","publicClient","transport","accountProofMessage","validAccountProof","verifyTypedData","address","signature","keyAddress","validKeyProof"],"sources":["../../src/identity/prove-ownership.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"prove-ownership.js","names":["http","createPublicClient","verifyMessage","privateKeyToAccount","publicKeyToAddress","getAccountProofMessage","accountAddress","publicKey","getKeyProofMessage","accountProofDomain","name","version","proveIdentityOwnership","smartAccountClient","keys","account","Error","chain","signaturePublicKey","keyProofMessage","accountProof","signTypedData","message","types","Message","type","domain","primaryType","console","log","signaturePrivateKey","keyProof","signMessage","verifyIdentityOwnership","rpcUrl","publicClient","transport","accountProofMessage","validAccountProof","verifyTypedData","address","signature","keyAddress","validKeyProof"],"sources":["../../src/identity/prove-ownership.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@graphprotocol/hypergraph",
3
- "version": "0.0.7",
3
+ "version": "0.0.9",
4
4
  "description": "SDK for building performant, type-safe, local-first dapps on top of The Graph ecosystem knowledge graphs.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -12,6 +12,22 @@
12
12
  "main": "./dist/index.js",
13
13
  "module": "./dist/index.js",
14
14
  "types": "./dist/index.d.ts",
15
+ "exports": {
16
+ ".": "./dist/index.js",
17
+ "./connect": "./dist/connect/index.js",
18
+ "./content-addressing": "./dist/content-addressing/index.js",
19
+ "./crypto": "./dist/crypto/index.js",
20
+ "./entity": "./dist/entity/index.js",
21
+ "./identity": "./dist/identity/index.js",
22
+ "./inboxes": "./dist/inboxes/index.js",
23
+ "./key": "./dist/key/index.js",
24
+ "./messages": "./dist/messages/index.js",
25
+ "./space-events": "./dist/space-events/index.js",
26
+ "./space-info": "./dist/space-info/index.js",
27
+ "./store": "./dist/store.js",
28
+ "./store-connect": "./dist/store-connect.js",
29
+ "./types": "./dist/types.js"
30
+ },
15
31
  "sideEffects": [],
16
32
  "dependencies": {
17
33
  "@automerge/automerge": "^2.2.9",
@@ -52,6 +52,25 @@ export const safeOwnerManagerAbi = [
52
52
  stateMutability: 'nonpayable',
53
53
  type: 'function',
54
54
  },
55
+ {
56
+ inputs: [
57
+ {
58
+ internalType: 'address',
59
+ name: 'owner',
60
+ type: 'address',
61
+ },
62
+ ],
63
+ name: 'isOwner',
64
+ outputs: [
65
+ {
66
+ internalType: 'bool',
67
+ name: '',
68
+ type: 'bool',
69
+ },
70
+ ],
71
+ stateMutability: 'view',
72
+ type: 'function',
73
+ },
55
74
  ];
56
75
 
57
76
  // We only use this for revokeEnableSignature to use as a noop when creating a smart session
@@ -65,3 +65,12 @@ export const storeAccountAddress = (storage: Storage, accountId: string) => {
65
65
  export const wipeAccountAddress = (storage: Storage) => {
66
66
  storage.removeItem(buildAccountAddressStorageKey());
67
67
  };
68
+
69
+ export const wipeAllAuthData = (addressStorage: Storage, keysAndTokenStorage: Storage) => {
70
+ const accountAddress = loadAccountAddress(addressStorage);
71
+ wipeAccountAddress(addressStorage);
72
+ if (accountAddress) {
73
+ wipeKeys(keysAndTokenStorage, accountAddress);
74
+ wipeSyncServerSessionToken(keysAndTokenStorage, accountAddress);
75
+ }
76
+ };
@@ -1,14 +1,16 @@
1
1
  import * as Schema from 'effect/Schema';
2
2
  import type { SmartAccountClient } from 'permissionless';
3
3
  import type { Address, Chain, Hex, WalletClient } from 'viem';
4
+ import { privateKeyToAccount } from 'viem/accounts';
4
5
  import { proveIdentityOwnership } from '../identity/prove-ownership.js';
5
6
  import * as Messages from '../messages/index.js';
6
7
  import { store } from '../store-connect.js';
7
- import { loadAccountAddress, storeAccountAddress, storeKeys, wipeAccountAddress } from './auth-storage.js';
8
+ import { loadAccountAddress, storeAccountAddress, storeKeys } from './auth-storage.js';
8
9
  import { createIdentityKeys } from './create-identity-keys.js';
9
10
  import { decryptIdentity, encryptIdentity } from './identity-encryption.js';
10
11
  import {
11
12
  type SmartAccountParams,
13
+ addSmartAccountOwner,
12
14
  getSmartAccountWalletClient,
13
15
  isSmartAccountDeployed,
14
16
  smartAccountNeedsUpdate,
@@ -29,17 +31,26 @@ export async function signup(
29
31
  smartAccountClient: SmartAccountClient,
30
32
  accountAddress: Address,
31
33
  syncServerUri: string,
32
- storage: Storage,
34
+ addressStorage: Storage,
35
+ keysStorage: Storage,
33
36
  identityToken: string,
37
+ chain: Chain,
38
+ rpcUrl: string,
34
39
  ) {
35
40
  const keys = createIdentityKeys();
36
41
  const { ciphertext, nonce } = await encryptIdentity(signer, keys);
37
- const { accountProof, keyProof } = await proveIdentityOwnership(
38
- walletClient,
39
- smartAccountClient,
40
- accountAddress,
41
- keys,
42
- );
42
+
43
+ const localAccount = privateKeyToAccount(keys.signaturePrivateKey as `0x${string}`);
44
+ // This will deploy the smart account if it's not deployed
45
+ await addSmartAccountOwner(smartAccountClient, localAccount.address, chain, rpcUrl);
46
+ const localSmartAccountClient = await getSmartAccountWalletClient({
47
+ owner: localAccount,
48
+ address: accountAddress,
49
+ rpcUrl,
50
+ chain,
51
+ });
52
+
53
+ const { accountProof, keyProof } = await proveIdentityOwnership(localSmartAccountClient, accountAddress, keys);
43
54
 
44
55
  const req: Messages.RequestConnectCreateIdentity = {
45
56
  keyBox: { signer: await signer.getAddress(), accountAddress, ciphertext, nonce },
@@ -64,8 +75,8 @@ export async function signup(
64
75
  if (!decoded.success) {
65
76
  throw new Error('Error creating identity');
66
77
  }
67
- storeKeys(storage, accountAddress, keys);
68
- storeAccountAddress(storage, accountAddress);
78
+ storeKeys(keysStorage, accountAddress, keys);
79
+ storeAccountAddress(addressStorage, accountAddress);
69
80
  return {
70
81
  accountAddress,
71
82
  keys,
@@ -76,7 +87,8 @@ export async function restoreKeys(
76
87
  signer: Signer,
77
88
  accountAddress: Address,
78
89
  syncServerUri: string,
79
- storage: Storage,
90
+ addressStorage: Storage,
91
+ keysStorage: Storage,
80
92
  identityToken: string,
81
93
  ) {
82
94
  const res = await fetch(new URL('/connect/identity/encrypted', syncServerUri), {
@@ -93,8 +105,8 @@ export async function restoreKeys(
93
105
  const { keyBox } = decoded;
94
106
  const { ciphertext, nonce } = keyBox;
95
107
  const keys = await decryptIdentity(signer, ciphertext, nonce);
96
- storeKeys(storage, accountAddress, keys);
97
- storeAccountAddress(storage, accountAddress);
108
+ storeKeys(keysStorage, accountAddress, keys);
109
+ storeAccountAddress(addressStorage, accountAddress);
98
110
  return {
99
111
  accountAddress,
100
112
  keys,
@@ -103,8 +115,13 @@ export async function restoreKeys(
103
115
  throw new Error(`Error fetching identity ${res.status}`);
104
116
  }
105
117
 
106
- const getAndDeploySmartAccount = async (walletClient: WalletClient, rpcUrl: string, chain: Chain, storage: Storage) => {
107
- const accountAddressFromStorage = loadAccountAddress(storage) as Hex;
118
+ const getAndUpdateSmartAccount = async (
119
+ walletClient: WalletClient,
120
+ rpcUrl: string,
121
+ chain: Chain,
122
+ addressStorage: Storage,
123
+ ) => {
124
+ const accountAddressFromStorage = loadAccountAddress(addressStorage) as Hex;
108
125
  const smartAccountParams: SmartAccountParams = {
109
126
  owner: walletClient,
110
127
  rpcUrl,
@@ -128,21 +145,6 @@ const getAndDeploySmartAccount = async (walletClient: WalletClient, rpcUrl: stri
128
145
  // Create the client again to ensure we have the 7579 config now
129
146
  return getSmartAccountWalletClient(smartAccountParams);
130
147
  }
131
- if (!(await isSmartAccountDeployed(smartAccountWalletClient))) {
132
- // TODO: remove this once we manage to get counterfactual signatures working
133
- console.log('sending dummy userOp to deploy smart account');
134
- if (!walletClient.account) {
135
- throw new Error('Wallet client account not found');
136
- }
137
- const tx = await smartAccountWalletClient.sendUserOperation({
138
- calls: [{ to: walletClient.account.address, data: '0x' }],
139
- account: smartAccountWalletClient.account,
140
- });
141
-
142
- console.log('tx', tx);
143
- const receipt = await smartAccountWalletClient.waitForUserOperationReceipt({ hash: tx });
144
- console.log('receipt', receipt);
145
- }
146
148
  return smartAccountWalletClient;
147
149
  };
148
150
 
@@ -150,7 +152,8 @@ export async function login({
150
152
  walletClient,
151
153
  signer,
152
154
  syncServerUri,
153
- storage,
155
+ addressStorage,
156
+ keysStorage,
154
157
  identityToken,
155
158
  rpcUrl,
156
159
  chain,
@@ -158,23 +161,18 @@ export async function login({
158
161
  walletClient: WalletClient;
159
162
  signer: Signer;
160
163
  syncServerUri: string;
161
- storage: Storage;
164
+ addressStorage: Storage;
165
+ keysStorage: Storage;
162
166
  identityToken: string;
163
167
  rpcUrl: string;
164
168
  chain: Chain;
165
169
  }) {
166
- let smartAccountWalletClient: SmartAccountClient;
167
- try {
168
- smartAccountWalletClient = await getAndDeploySmartAccount(walletClient, rpcUrl, chain, storage);
169
- } catch (error) {
170
- wipeAccountAddress(storage);
171
- smartAccountWalletClient = await getAndDeploySmartAccount(walletClient, rpcUrl, chain, storage);
172
- }
170
+ const smartAccountWalletClient = await getAndUpdateSmartAccount(walletClient, rpcUrl, chain, addressStorage);
173
171
  if (!smartAccountWalletClient.account) {
174
172
  throw new Error('Smart account wallet client account not found');
175
173
  }
176
174
  const accountAddress = smartAccountWalletClient.account.address;
177
- // const keys = loadKeys(storage, accountAddress);
175
+
178
176
  let authData: {
179
177
  accountAddress: Address;
180
178
  keys: IdentityKeys;
@@ -187,11 +185,14 @@ export async function login({
187
185
  smartAccountWalletClient,
188
186
  accountAddress,
189
187
  syncServerUri,
190
- storage,
188
+ addressStorage,
189
+ keysStorage,
191
190
  identityToken,
191
+ chain,
192
+ rpcUrl,
192
193
  );
193
194
  } else {
194
- authData = await restoreKeys(signer, accountAddress, syncServerUri, storage, identityToken);
195
+ authData = await restoreKeys(signer, accountAddress, syncServerUri, addressStorage, keysStorage, identityToken);
195
196
  }
196
197
  store.send({ type: 'reset' });
197
198
  store.send({
@@ -36,6 +36,7 @@ import {
36
36
  ContractFunctionExecutionError,
37
37
  type Hex,
38
38
  type Narrow,
39
+ type PrivateKeyAccount,
39
40
  type SignableMessage,
40
41
  type WalletClient,
41
42
  createPublicClient,
@@ -582,13 +583,61 @@ const getSpaceActions = (space: { address: Hex; type: 'personal' | 'public' }) =
582
583
  return actions;
583
584
  };
584
585
 
586
+ export const addSmartAccountOwner = async (
587
+ smartAccountClient: SmartAccountClient,
588
+ newOwner: Address,
589
+ chain: Chain,
590
+ rpcUrl: string,
591
+ ) => {
592
+ if (!smartAccountClient.account) {
593
+ throw new Error('Invalid smart account');
594
+ }
595
+ const publicClient = createPublicClient({
596
+ transport: http(rpcUrl),
597
+ chain,
598
+ });
599
+ if (await isSmartAccountDeployed(smartAccountClient)) {
600
+ const isOwner = await publicClient.readContract({
601
+ abi: safeOwnerManagerAbi,
602
+ address: smartAccountClient.account.address,
603
+ functionName: 'isOwner',
604
+ args: [newOwner],
605
+ });
606
+ if (isOwner) {
607
+ return;
608
+ }
609
+ }
610
+
611
+ const tx = await smartAccountClient.sendUserOperation({
612
+ calls: [
613
+ {
614
+ to: smartAccountClient.account.address,
615
+ data: encodeFunctionData({
616
+ abi: safeOwnerManagerAbi,
617
+ functionName: 'addOwnerWithThreshold',
618
+ args: [newOwner, BigInt(1)],
619
+ }),
620
+ value: BigInt(0),
621
+ },
622
+ ],
623
+ account: smartAccountClient.account,
624
+ });
625
+ const receipt = await smartAccountClient.waitForUserOperationReceipt({
626
+ hash: tx,
627
+ });
628
+ if (!receipt.success) {
629
+ throw new Error('Transaction to add smart account owner failed');
630
+ }
631
+ return receipt;
632
+ };
633
+
585
634
  // This is the function that the Connect app uses to create a smart session and
586
635
  // enable it on the smart account.
587
636
  // It will prompt the user to sign the message to enable the session, and then
588
637
  // execute the transaction to enable the session.
589
638
  // It will return the permissionId that can be used to create a smart session client.
590
639
  export const createSmartSession = async (
591
- owner: WalletClient,
640
+ owner: WalletClient | PrivateKeyAccount,
592
641
  accountAddress: Hex,
593
642
  sessionPrivateKey: Hex,
594
643
  chain: Chain,
@@ -624,9 +673,6 @@ export const createSmartSession = async (
624
673
  if (!smartAccountClient.chain) {
625
674
  throw new Error('Invalid smart account chain');
626
675
  }
627
- if (!owner.account) {
628
- throw new Error('Invalid wallet client');
629
- }
630
676
 
631
677
  const sessionKeyAccount = privateKeyToAccount(sessionPrivateKey);
632
678
  const transport = http(rpcUrl);
@@ -751,9 +797,9 @@ export const createSmartSession = async (
751
797
 
752
798
  console.log('signing session details');
753
799
  // This will prompt the user to sign the message to enable the session
754
- sessionDetails.enableSessionData.enableSession.permissionEnableSig = await owner.signMessage({
800
+ sessionDetails.enableSessionData.enableSession.permissionEnableSig = await (owner as WalletClient).signMessage({
755
801
  message: { raw: sessionDetails.permissionEnableHash },
756
- account: owner.account.address,
802
+ account: (owner as WalletClient).account?.address ?? (owner as PrivateKeyAccount).address,
757
803
  });
758
804
  console.log('session details signed');
759
805
  const smartSessions = getSmartSessionsValidator({});
@@ -1,4 +1,4 @@
1
- import { http, type Chain, type Hex, type WalletClient, createPublicClient, verifyMessage } from 'viem';
1
+ import { http, type Chain, type Hex, createPublicClient, verifyMessage } from 'viem';
2
2
  import { privateKeyToAccount } from 'viem/accounts';
3
3
 
4
4
  import type { SmartAccountClient } from 'permissionless';
@@ -19,7 +19,6 @@ export const accountProofDomain = {
19
19
  };
20
20
 
21
21
  export const proveIdentityOwnership = async (
22
- walletClient: WalletClient,
23
22
  smartAccountClient: SmartAccountClient,
24
23
  accountAddress: string,
25
24
  keys: IdentityKeys,