@deserialize/multi-vm-wallet 1.3.0 → 1.3.1

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.
@@ -4,7 +4,9 @@
4
4
  "Bash(tree:*)",
5
5
  "Bash(cat:*)",
6
6
  "Bash(npm run build:*)",
7
- "Bash(timeout 60 npm run build:*)"
7
+ "Bash(timeout 60 npm run build:*)",
8
+ "Bash(npx ts-node:*)",
9
+ "Bash(npm install:*)"
8
10
  ],
9
11
  "deny": [],
10
12
  "ask": []
@@ -33,7 +33,7 @@ export declare class EVMSmartWallet {
33
33
  * Initialize the smart wallet
34
34
  * Creates the Kernel account and sets up delegation if needed
35
35
  */
36
- initialize(): Promise<void>;
36
+ initialize(): Promise<EVMSmartWallet>;
37
37
  /**
38
38
  * Get the smart account address
39
39
  */
@@ -70,6 +70,7 @@ class EVMSmartWallet {
70
70
  entryPointVersion: this.options.entryPointVersion
71
71
  });
72
72
  console.log(`Smart wallet initialized: ${this.kernelAccount.address}`);
73
+ return this;
73
74
  }
74
75
  catch (error) {
75
76
  throw new smartWallet_types_1.SmartWalletError(`Failed to initialize smart wallet: ${error instanceof Error ? error.message : 'Unknown error'}`, 'INIT_ERROR');
@@ -1 +1 @@
1
- {"version":3,"file":"smartWallet.js","sourceRoot":"","sources":["../../utils/evm/smartWallet.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAGH,4CAAuE;AAGvE,2DAmB6B;AAE7B,0CAA0C;AAC1C,mFAAsF;AACtF,oEAGyC;AAOzC;;;;;;;;;;;GAWG;AACH,MAAa,cAAc;IACf,SAAS,GAAqC,IAAI,CAAC;IACnD,aAAa,GAAiC,IAAI,CAAC;IACnD,YAAY,CAAoB;IAChC,KAAK,CAAQ;IACb,OAAO,CAAqB;IAC5B,cAAc,GAAQ,IAAI,CAAC;IAC3B,eAAe,GAA2B,IAAI,CAAC;IAC/C,UAAU,CAAS;IAE3B,YACI,UAAkB,EAClB,KAAY,EACZ,UAAkB,EAClB,UAA8B,EAAE;QAEhC,IAAI,CAAC,YAAY,GAAG,IAAA,8BAAmB,EAAC,UAAiB,CAAC,CAAC;QAC3D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG;YACX,iBAAiB,EAAE,KAAK;YACxB,cAAc,EAAE,IAAI;YACpB,GAAG,OAAO;SACb,CAAC;QAEF,4BAA4B;QAC5B,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC,eAAe,GAAG;gBACnB,YAAY,EAAE,OAAO,CAAC,YAAY;aACrC,CAAC;QACN,CAAC;IACL,CAAC;IAED,+CAA+C;IAC/C,eAAe;IACf,+CAA+C;IAE/C;;;OAGG;IACH,KAAK,CAAC,UAAU;QACZ,IAAI,CAAC;YACD,0DAA0D;YAC1D,IAAI,CAAC,SAAS,GAAG,+CAAyB,CAAC,WAAW,CAAC;gBACnD,eAAe,EAAE,QAAQ;gBACzB,gBAAgB,EAAE,IAAI,CAAC,UAAU;aACpC,CAAC,CAAC;YAEH,wBAAwB;YACxB,IAAI,CAAC,aAAa,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;gBACpD,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,KAAK,EAAE,IAAI,CAAC,YAAY;gBACxB,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB;aACpD,CAAC,CAAC;YAEH,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,oCAAgB,CACtB,sCAAsC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,EAChG,YAAY,CACf,CAAC;QACN,CAAC;IACL,CAAC;IAED;;OAEG;IACH,UAAU;QACN,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,MAAM,IAAI,oCAAgB,CAAC,8BAA8B,EAAE,iBAAiB,CAAC,CAAC;QAClF,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,OAAc,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc;QAChB,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACzC,MAAM,IAAI,oCAAgB,CAAC,8BAA8B,EAAE,iBAAiB,CAAC,CAAC;QAClF,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CACvD,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,KAAK,CACb,CAAC;QAEF,OAAO;YACH,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,OAAc;YAC1C,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,OAAc;YAC9C,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAkB;YAClD,WAAW;YACX,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;SAC9C,CAAC;IACN,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACZ,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACzC,MAAM,IAAI,oCAAgB,CAAC,8BAA8B,EAAE,iBAAiB,CAAC,CAAC;QAClF,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAEpE,OAAO;YACH,OAAO,EAAE,OAAc;YACvB,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI;SACpC,CAAC;IACN,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB;QACpB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAClB,MAAM,IAAI,oCAAgB,CAAC,8BAA8B,EAAE,iBAAiB,CAAC,CAAC;QAClF,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAClF,CAAC;IAED,+CAA+C;IAC/C,sBAAsB;IACtB,+CAA+C;IAE/C;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,eAAe,CACjB,EAAO,EACP,QAAgB,EAAE,EAClB,OAAY,IAAI;QAEhB,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACzC,MAAM,IAAI,oCAAgB,CAAC,8BAA8B,EAAE,iBAAiB,CAAC,CAAC;QAClF,CAAC;QAED,IAAI,CAAC;YACD,iEAAiE;YACjE,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,aAAa,CAAC;YAE1D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;gBACpD,OAAO;gBACP,EAAE;gBACF,KAAK;gBACL,IAAI;aACP,CAAC,CAAC;YAEH,mBAAmB;YACnB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;gBAChD,UAAU;gBACV,KAAK,EAAE,IAAI,CAAC,KAAK;aACpB,CAAC,CAAC;YAEH,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,UAAU;gBACV,eAAe,EAAE,OAAO,CAAC,eAAe;aAC3C,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC1E,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,UAAU,EAAE,IAAW;gBACvB,KAAK,EAAE,QAAQ;aAClB,CAAC;QACN,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,oBAAoB,CAAC,KAAa;QACpC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACzC,MAAM,IAAI,oCAAgB,CAAC,8BAA8B,EAAE,iBAAiB,CAAC,CAAC;QAClF,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,oCAAgB,CAAC,+CAA+C,CAAC,CAAC;QAChF,CAAC;QAED,IAAI,CAAC;YACD,oCAAoC;YACpC,MAAM,OAAO,GAAa,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACzC,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;aAClB,CAAC,CAAC,CAAC;YAEJ,iEAAiE;YACjE,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,aAAa,CAAC;YAE1D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC;gBACzD,OAAO;gBACP,KAAK,EAAE,OAAO;aACjB,CAAC,CAAC;YAEH,mBAAmB;YACnB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;gBAChD,UAAU;gBACV,KAAK,EAAE,IAAI,CAAC,KAAK;aACpB,CAAC,CAAC;YAEH,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,UAAU;gBACV,eAAe,EAAE,OAAO,CAAC,eAAe;aAC3C,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC1E,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,UAAU,EAAE,IAAW;gBACvB,KAAK,EAAE,QAAQ;aAClB,CAAC;QACN,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,EAAO,EAAE,QAAgB,EAAE,EAAE,OAAY,IAAI;QACrD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,+CAA+C;IAC/C,sBAAsB;IACtB,+CAA+C;IAE/C;;;;;;;;;;OAUG;IACH,KAAK,CAAC,kBAAkB;QACpB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAClB,MAAM,IAAI,oCAAgB,CAAC,8BAA8B,EAAE,iBAAiB,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,CAAC;YACD,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAC;QACrD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,mCAAe,CACrB,mCAAmC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAChG,CAAC;QACN,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,kBAAkB,CAAC,UAAe;QACpC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAClB,MAAM,IAAI,oCAAgB,CAAC,8BAA8B,EAAE,iBAAiB,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,CAAC;YACD,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,mCAAe,CACrB,mCAAmC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAChG,CAAC;QACN,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,iBAAiB,CAAC,OAAkC;QACtD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAClB,MAAM,IAAI,oCAAgB,CAAC,8BAA8B,EAAE,iBAAiB,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,CAAC;YACD,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC;gBACjD,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;gBAC5C,KAAK,EAAE,IAAI,CAAC,YAAY;gBACxB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB;gBACjD,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,WAAW,EAAE,OAAO,CAAC,WAAW;aACnC,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,mCAAe,CACrB,kCAAkC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAC/F,CAAC;QACN,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,aAAa,CAAC,OAA+B;QAC/C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAClB,MAAM,IAAI,oCAAgB,CAAC,8BAA8B,EAAE,iBAAiB,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,CAAC;YACD,IAAI,CAAC,cAAc,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC;gBAC7D,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;gBAC1C,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB;aACpD,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,IAAI,mCAAe,CACrB,8BAA8B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAC3F,CAAC;QACN,CAAC;IACL,CAAC;IAED;;OAEG;IACH,eAAe;QACX,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,iBAAiB;QACb,OAAO,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC;IACxC,CAAC;IAED;;;;;;OAMG;IACH,oBAAoB,CAAC,WAAgB,EAAE,SAAiB;QACpD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAClB,MAAM,IAAI,oCAAgB,CAAC,8BAA8B,EAAE,iBAAiB,CAAC,CAAC;QAClF,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,4BAA4B,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC/E,CAAC;IAED;;;;;OAKG;IACH,mBAAmB,CAAC,QAAgB;QAChC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAClB,MAAM,IAAI,oCAAgB,CAAC,8BAA8B,EAAE,iBAAiB,CAAC,CAAC;QAClF,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IAChE,CAAC;IAED,+CAA+C;IAC/C,4BAA4B;IAC5B,+CAA+C;IAE/C;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,aAAa,CAAC,OAA6B;QAC7C,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACzC,MAAM,IAAI,oCAAgB,CAAC,8BAA8B,EAAE,iBAAiB,CAAC,CAAC;QAClF,CAAC;QAED,IAAI,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;gBAClD,OAAO,EAAE,IAAI,CAAC,aAAa;gBAC3B,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC7B,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;gBAChD,UAAU;gBACV,KAAK,EAAE,IAAI,CAAC,KAAK;aACpB,CAAC,CAAC;YAEH,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,UAAU;gBACV,eAAe,EAAE,OAAO,CAAC,eAAe;aAC3C,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC1E,MAAM,IAAI,+BAAW,CAAC,6BAA6B,QAAQ,EAAE,CAAC,CAAC;QACnE,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,eAAe,CAAC,OAA+B;QACjD,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACzC,MAAM,IAAI,oCAAgB,CAAC,8BAA8B,EAAE,iBAAiB,CAAC,CAAC;QAClF,CAAC;QAED,IAAI,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;gBACpD,OAAO,EAAE,IAAI,CAAC,aAAa;gBAC3B,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,aAAa,EAAE,OAAO,CAAC,aAAa;gBACpC,UAAU,EAAE,OAAO,CAAC,UAAU;aACjC,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;gBAChD,UAAU;gBACV,KAAK,EAAE,IAAI,CAAC,KAAK;aACpB,CAAC,CAAC;YAEH,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,UAAU;gBACV,eAAe,EAAE,OAAO,CAAC,eAAe;aAC3C,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC1E,MAAM,IAAI,+BAAW,CAAC,+BAA+B,QAAQ,EAAE,CAAC,CAAC;QACrE,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,iBAAiB,CAAC,UAAsB,EAAE,aAAkB;QAC9D,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACzC,MAAM,IAAI,oCAAgB,CAAC,8BAA8B,EAAE,iBAAiB,CAAC,CAAC;QAClF,CAAC;QAED,IAAI,CAAC;YACD,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;gBAC1C,OAAO,EAAE,IAAI,CAAC,aAAa;gBAC3B,UAAU;gBACV,aAAa;aAChB,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,oBAAoB,CAAC,OAA6B;QAC9C,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACzC,MAAM,IAAI,oCAAgB,CAAC,8BAA8B,EAAE,iBAAiB,CAAC,CAAC;QAClF,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC;YAC/C,OAAO,EAAE,IAAI,CAAC,aAAa;YAC3B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC7B,CAAC,CAAC;QAEH,OAAO;YACH,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,MAAM,CAAC,IAAI;SACpB,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACH,sBAAsB,CAAC,OAA+B;QAClD,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACzC,MAAM,IAAI,oCAAgB,CAAC,8BAA8B,EAAE,iBAAiB,CAAC,CAAC;QAClF,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,sBAAsB,CAAC;YACjD,OAAO,EAAE,IAAI,CAAC,aAAa;YAC3B,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,UAAU,EAAE,OAAO,CAAC,UAAU;SACjC,CAAC,CAAC;QAEH,OAAO;YACH,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,MAAM,CAAC,IAAI;SACpB,CAAC;IACN,CAAC;IAED,+CAA+C;IAC/C,oBAAoB;IACpB,+CAA+C;IAE/C;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,cAAc,CAAC,MAAsB;QACvC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACzC,MAAM,IAAI,oCAAgB,CAAC,8BAA8B,EAAE,iBAAiB,CAAC,CAAC;QAClF,CAAC;QAED,IAAI,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC;gBAC7D,OAAO,EAAE,IAAI,CAAC,aAAa;gBAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,SAAS,EAAE,MAAM,CAAC,SAAS;aAC9B,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;gBAChD,UAAU;gBACV,KAAK,EAAE,IAAI,CAAC,KAAK;aACpB,CAAC,CAAC;YAEH,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,UAAU;gBACV,eAAe,EAAE,OAAO,CAAC,eAAe;aAC3C,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC1E,MAAM,IAAI,oCAAgB,CAAC,+BAA+B,QAAQ,EAAE,EAAE,gBAAgB,CAAC,CAAC;QAC5F,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,YAAY,CAAC,YAAoB,EAAE,OAAa;QAC5C,IAAI,CAAC,eAAe,GAAG;YACnB,YAAY;YACZ,OAAO;SACV,CAAC;IACN,CAAC;IAED;;OAEG;IACH,cAAc;QACV,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,YAAY;QACR,OAAO,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,cAAc;QACV,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAClB,OAAO;gBACH,QAAQ,EAAE,QAAQ;gBAClB,GAAG,EAAE,IAAI,CAAC,UAAU;aACvB,CAAC;QACN,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,+CAA+C;IAC/C,oCAAoC;IACpC,+CAA+C;IAE/C;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,6BAA6B,CAC/B,KAAa,EACb,kBAAuB;QAEvB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAClB,MAAM,IAAI,oCAAgB,CACtB,wDAAwD,EACxD,iBAAiB,CACpB,CAAC;QACN,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,MAAM,IAAI,oCAAgB,CACtB,yEAAyE,EACzE,mBAAmB,CACtB,CAAC;QACN,CAAC;QAED,IAAI,CAAC;YACD,wCAAwC;YACxC,MAAM,aAAa,GAAG,MAAM,IAAA,0CAAyB,EAAC;gBAClD,KAAK,EAAE,IAAI,CAAC,YAAY;gBACxB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;aAC/D,CAAC,CAAC;YAEH,IAAI,CAAC,aAAa,EAAE,CAAC;gBACjB,MAAM,IAAI,oCAAgB,CACtB,0DAA0D,EAC1D,sBAAsB,CACzB,CAAC;YACN,CAAC;YAED,2CAA2C;YAC3C,MAAM,MAAM,GAAG,MAAM,IAAA,8CAA6B,EAAC;gBAC/C,kBAAkB,EAAE,aAAa;gBACjC,KAAK;gBACL,kBAAkB;gBAClB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,YAAY,EAAE,IAAI,CAAC,eAAe,EAAE,YAAY;gBAChD,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB;aACpD,CAAC,CAAC;YAEH,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,eAAe,EAAE,MAAM,CAAC,eAAe;aAC1C,CAAC;QACN,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;YAC5D,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,UAAU,EAAE,IAAW;gBACvB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;aAC3E,CAAC;QACN,CAAC;IACL,CAAC;IAED;;OAEG;IACH,UAAU;QACN,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;QAChC,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC/B,CAAC;CACJ;AApuBD,wCAouBC"}
1
+ {"version":3,"file":"smartWallet.js","sourceRoot":"","sources":["../../utils/evm/smartWallet.ts"],"names":[],"mappings":"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"}
package/dist/test.d.ts CHANGED
@@ -1 +1,5 @@
1
1
  export {};
2
+ /**
3
+ * Fetches and logs the token metadata for a given mint address.
4
+ * @param mintAddress - The mint address of the token.
5
+ */
package/dist/test.js CHANGED
@@ -6,8 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const bs58_1 = __importDefault(require("bs58"));
7
7
  const web3_js_1 = require("@solana/web3.js");
8
8
  const evm_1 = require("./evm");
9
- const transactionParsing_1 = require("./evm/transactionParsing");
10
- const viem_1 = require("viem");
11
9
  const chains_1 = require("viem/chains");
12
10
  // const mnemonic = GenerateNewMnemonic()
13
11
  // console.log('mnemonic: ', mnemonic);
@@ -18,6 +16,8 @@ const testUserKeyPair = web3_js_1.Keypair.fromSecretKey(bs58_1.default.decode(pK
18
16
  const evePrivateKey = "0x4c0883a69102937d6231471b5dbb6204fe5129617082792ae468d01a3f362318";
19
17
  const evmPrivateKey2 = "0x0123456789012345678901234567890123456789012345678901234567890123";
20
18
  const ogPrivKey = "d2d3f7117aa9a4c6e5d4affedd8a5ea624ffd82b2a1de81509e5913709b1ea72";
19
+ const evmPrivKey = "0xc9ca95aa5f40bae8b0f741ec89acc07b837590b2f9f818d3439df98c6e4f8dbe";
20
+ const evmPrivateKeyExposed = "0x92cccc7792024dcac5992e5d2986dade41770acfd3dab0fe98ee953ed1bf0c3a";
21
21
  // const vm = new SVMVM(seed)
22
22
  // const vmFromMnemonic = SVMVM.fromMnemonic(mnemonic)
23
23
  // const keyFromMnemonic = vmFromMnemonic.generatePrivateKey(0)
@@ -36,8 +36,9 @@ const chainConfig = {
36
36
  };
37
37
  const evmChainConfig = {
38
38
  chainId: 8453,
39
- name: "Ethereum",
40
- rpcUrl: "https://eth-mainnet.g.alchemy.com/v2/lhoyb3hc9ccT9NA_y2cfA",
39
+ name: "Base",
40
+ // rpcUrl: "https://eth-mainnet.g.alchemy.com/v2/lhoyb3hc9ccT9NA_y2cfA",
41
+ rpcUrl: chains_1.base.rpcUrls.default.http[0],
41
42
  explorerUrl: "https://explorer.ethereum.com",
42
43
  nativeToken: { name: "Ethereum", symbol: "ETH", decimals: 18 },
43
44
  confirmationNo: 1,
@@ -55,13 +56,36 @@ const OgChainConfig = {
55
56
  logoUrl: ""
56
57
  };
57
58
  // const wallet = new SVMChainWallet(chainConfig, testUserKeyPair, 0)
58
- const wallet = new evm_1.EVMChainWallet(OgChainConfig, ogPrivKey, 0);
59
- wallet.getNativeBalance().then(console.log);
59
+ // const wallet = new EVMChainWallet(evmChainConfig, evmPrivateKeyExposed, 0)
60
+ //IIFE
61
+ const walletA = new evm_1.EVMChainWallet(evmChainConfig, evmPrivateKeyExposed, 0); //wallet that has gas
62
+ const walletB = new evm_1.EVMChainWallet(evmChainConfig, evmPrivKey, 0); // wallet that wants its transactions sponsored
63
+ const USDC_ADDRESS = '0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238';
64
+ const bundlerUrl = `https://api.pimlico.io/v2/${evmChainConfig.chainId}/rpc?apikey=pim_3UEhbTpS98H1XFm8p9kRxg`;
65
+ (async () => {
66
+ //GET TOKEN LOGO using @solana/spl-token-metadata
67
+ const walletANativeBalance = await walletA.getNativeBalance();
68
+ console.log('walletA native balance: ', walletANativeBalance);
69
+ const walletBNativeBalance = await walletB.getNativeBalance();
70
+ console.log('walletB native balance: ', walletBNativeBalance);
71
+ //wallet B USDC balance
72
+ const walletBUSDCBalance = await walletB.getTokenBalance(USDC_ADDRESS);
73
+ console.log('walletB USDC balance: ', walletBUSDCBalance);
74
+ //extend wallet A wallet to a smart wallet with AA support
75
+ const extendedWalletA = await walletA.extend({
76
+ bundlerUrl: bundlerUrl
77
+ });
78
+ console.log('extendedWalletA: ', extendedWalletA);
79
+ const initializedExtendedWalletA = await extendedWalletA.initialize();
80
+ console.log('initializedExtendedWalletA: ', initializedExtendedWalletA);
81
+ //sponsor a transaction for wallet B from extended wallet A
82
+ // const result = await initializedExtendedWalletA.sendSponsoredBatchTransaction({
83
+ // })
84
+ })();
60
85
  // console.log('wallet: ', wallet);
61
86
  // getTokenInfo(new PublicKey("9BB6NFEcjBCtnNLFko2FqVQBq8HHM13kCyYcdQbgpump"), wallet.connection!).then(e => console.log('token info: ', e))
62
87
  // wallet.discoverToken().then(e => console.log('discovered tokens: ', e))
63
88
  // wallet.getNativeBalance().then(e => console.log('native balance: ', e))
64
- console.log('address: ', wallet.address);
65
89
  // const toBuy = new PublicKey("9BB6NFEcjBCtnNLFko2FqVQBq8HHM13kCyYcdQbgpump")
66
90
  // wallet.swap({
67
91
  // name: NATIVE_MINT.toBase58(),
@@ -93,18 +117,18 @@ const connection = new web3_js_1.Connection(RPC_URL);
93
117
  // }).catch((error: any) => {
94
118
  // console.error("Error fetching transaction history:", error);
95
119
  // });
96
- const client = (0, viem_1.createPublicClient)({
97
- chain: chains_1.base,
98
- transport: (0, viem_1.http)(chains_1.base.rpcUrls.default.http[0]),
99
- });
100
- (0, transactionParsing_1.getEVMTransactionHistory)(client, "0x9C82CE0e125F61AdE50BC0c19638F6Ba93d71D5e", {
101
- startBlock: BigInt(37427020)
102
- // before: "0xabc..."
103
- }).then((history) => {
104
- console.log("EVM Transaction History:", history);
105
- }).catch((error) => {
106
- console.error("Error fetching EVM transaction history:", error);
107
- });
120
+ // const client = createPublicClient({
121
+ // chain: base,
122
+ // transport: http(base.rpcUrls.default.http[0]),
123
+ // })
124
+ // getEVMTransactionHistory(client as PublicClient, "0x9C82CE0e125F61AdE50BC0c19638F6Ba93d71D5e", {
125
+ // startBlock: BigInt(37427020)
126
+ // // before: "0xabc..."
127
+ // }).then((history: any) => {
128
+ // console.log("EVM Transaction History:", history);
129
+ // }).catch((error: any) => {
130
+ // console.error("Error fetching EVM transaction history:", error);
131
+ // });
108
132
  // discoverNFTs("0x498581ff718922c3f8e6a244956af099b2652b2b", evmChainConfig).then(nfts => {
109
133
  // console.log("Discovered NFTs:", nfts);
110
134
  // }).catch(error => {
package/dist/test.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"test.js","sourceRoot":"","sources":["../utils/test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../utils/test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deserialize/multi-vm-wallet",
3
- "version": "1.3.0",
3
+ "version": "1.3.1",
4
4
  "devDependencies": {
5
5
  "@types/bn.js": "^5.2.0",
6
6
  "@types/crypto-js": "^4.2.2",
@@ -18,6 +18,7 @@
18
18
  "@scure/bip39": "^2.0.1",
19
19
  "@solana/spl-token": "^0.4.13",
20
20
  "@solana/web3.js": "^1.98.4",
21
+ "@zerodev/permissions": "^5.6.3",
21
22
  "bignumber.js": "^9.3.1",
22
23
  "bn.js": "^5.2.2",
23
24
  "bs58": "^6.0.0",
@@ -25,6 +26,7 @@
25
26
  "debonk-evm-sever-sdk": "^1.4.0",
26
27
  "ethers": "^6.15.0",
27
28
  "promise-retry": "^2.0.1",
29
+ "tslib": "^2.8.1",
28
30
  "tweetnacl": "^1.0.3",
29
31
  "viem": "^2.43.4"
30
32
  },
@@ -95,7 +95,7 @@ export class EVMSmartWallet {
95
95
  * Initialize the smart wallet
96
96
  * Creates the Kernel account and sets up delegation if needed
97
97
  */
98
- async initialize(): Promise<void> {
98
+ async initialize(): Promise<EVMSmartWallet> {
99
99
  try {
100
100
  // Initialize AA service singleton with custom bundler URL
101
101
  this.aaService = AccountAbstractionService.getInstance({
@@ -111,6 +111,8 @@ export class EVMSmartWallet {
111
111
  });
112
112
 
113
113
  console.log(`Smart wallet initialized: ${this.kernelAccount.address}`);
114
+
115
+ return this
114
116
  } catch (error) {
115
117
  throw new SmartWalletError(
116
118
  `Failed to initialize smart wallet: ${error instanceof Error ? error.message : 'Unknown error'}`,
package/utils/test.ts CHANGED
@@ -11,7 +11,7 @@ import { ChainWalletConfig } from "./types";
11
11
  import { discoverNFTs, EVMChainWallet } from "./evm";
12
12
  import { } from "./svm/transactionParsing";
13
13
  import { getEVMTransactionHistory } from "./evm/transactionParsing";
14
- import { createPublicClient, http, PublicClient } from "viem";
14
+ import { createPublicClient, Hex, http, PublicClient } from "viem";
15
15
  import { base, baseGoerli } from "viem/chains";
16
16
  import { discoverTokens, fetchWalletNfts, getTokenInfo } from "./svm/utils";
17
17
  import { JsonRpcProvider } from "ethers";
@@ -31,6 +31,8 @@ const evePrivateKey = "0x4c0883a69102937d6231471b5dbb6204fe5129617082792ae468d01
31
31
  const evmPrivateKey2 = "0x0123456789012345678901234567890123456789012345678901234567890123"
32
32
  const ogPrivKey = "d2d3f7117aa9a4c6e5d4affedd8a5ea624ffd82b2a1de81509e5913709b1ea72"
33
33
 
34
+ const evmPrivKey = "0xc9ca95aa5f40bae8b0f741ec89acc07b837590b2f9f818d3439df98c6e4f8dbe"
35
+ const evmPrivateKeyExposed = "0x92cccc7792024dcac5992e5d2986dade41770acfd3dab0fe98ee953ed1bf0c3a"
34
36
  // const vm = new SVMVM(seed)
35
37
 
36
38
 
@@ -53,8 +55,9 @@ const chainConfig: ChainWalletConfig = {
53
55
 
54
56
  const evmChainConfig: ChainWalletConfig = {
55
57
  chainId: 8453,
56
- name: "Ethereum",
57
- rpcUrl: "https://eth-mainnet.g.alchemy.com/v2/lhoyb3hc9ccT9NA_y2cfA",
58
+ name: "Base",
59
+ // rpcUrl: "https://eth-mainnet.g.alchemy.com/v2/lhoyb3hc9ccT9NA_y2cfA",
60
+ rpcUrl: base.rpcUrls.default.http[0],
58
61
  explorerUrl: "https://explorer.ethereum.com",
59
62
  nativeToken: { name: "Ethereum", symbol: "ETH", decimals: 18 },
60
63
  confirmationNo: 1,
@@ -76,13 +79,50 @@ const OgChainConfig: ChainWalletConfig = {
76
79
 
77
80
 
78
81
  // const wallet = new SVMChainWallet(chainConfig, testUserKeyPair, 0)
79
- const wallet = new EVMChainWallet(OgChainConfig, ogPrivKey, 0)
80
- wallet.getNativeBalance().then(console.log)
82
+ // const wallet = new EVMChainWallet(evmChainConfig, evmPrivateKeyExposed, 0)
83
+
84
+ //IIFE
85
+ const walletA = new EVMChainWallet(evmChainConfig, evmPrivateKeyExposed, 0); //wallet that has gas
86
+ const walletB = new EVMChainWallet(evmChainConfig, evmPrivKey, 0); // wallet that wants its transactions sponsored
87
+ const USDC_ADDRESS = '0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238' as Hex;
88
+ const bundlerUrl = `https://api.pimlico.io/v2/${evmChainConfig.chainId}/rpc?apikey=pim_3UEhbTpS98H1XFm8p9kRxg`;
89
+ (async () => {
90
+ //GET TOKEN LOGO using @solana/spl-token-metadata
91
+ const walletANativeBalance = await walletA.getNativeBalance();
92
+ console.log('walletA native balance: ', walletANativeBalance);
93
+
94
+ const walletBNativeBalance = await walletB.getNativeBalance();
95
+ console.log('walletB native balance: ', walletBNativeBalance);
96
+
97
+ //wallet B USDC balance
98
+ const walletBUSDCBalance = await walletB.getTokenBalance(USDC_ADDRESS);
99
+ console.log('walletB USDC balance: ', walletBUSDCBalance);
100
+
101
+ //extend wallet A wallet to a smart wallet with AA support
102
+ const extendedWalletA = await walletA.extend({
103
+ bundlerUrl: bundlerUrl
104
+ })
105
+
106
+ console.log('extendedWalletA: ', extendedWalletA);
107
+ const initializedExtendedWalletA = await extendedWalletA.initialize()
108
+
109
+ console.log('initializedExtendedWalletA: ', initializedExtendedWalletA);
110
+
111
+ //sponsor a transaction for wallet B from extended wallet A
112
+ // const result = await initializedExtendedWalletA.sendSponsoredBatchTransaction({
113
+
114
+ // })
115
+
116
+
117
+ })();
118
+
119
+
120
+
81
121
  // console.log('wallet: ', wallet);
82
122
  // getTokenInfo(new PublicKey("9BB6NFEcjBCtnNLFko2FqVQBq8HHM13kCyYcdQbgpump"), wallet.connection!).then(e => console.log('token info: ', e))
83
123
  // wallet.discoverToken().then(e => console.log('discovered tokens: ', e))
84
124
  // wallet.getNativeBalance().then(e => console.log('native balance: ', e))
85
- console.log('address: ', wallet.address);
125
+
86
126
  // const toBuy = new PublicKey("9BB6NFEcjBCtnNLFko2FqVQBq8HHM13kCyYcdQbgpump")
87
127
  // wallet.swap({
88
128
  // name: NATIVE_MINT.toBase58(),
@@ -125,19 +165,19 @@ const connection = new Connection(RPC_URL);
125
165
  // }).catch((error: any) => {
126
166
  // console.error("Error fetching transaction history:", error);
127
167
  // });
128
- const client = createPublicClient({
129
- chain: base,
130
- transport: http(base.rpcUrls.default.http[0]),
131
- })
132
-
133
- getEVMTransactionHistory(client as PublicClient, "0x9C82CE0e125F61AdE50BC0c19638F6Ba93d71D5e", {
134
- startBlock: BigInt(37427020)
135
- // before: "0xabc..."
136
- }).then((history: any) => {
137
- console.log("EVM Transaction History:", history);
138
- }).catch((error: any) => {
139
- console.error("Error fetching EVM transaction history:", error);
140
- });
168
+ // const client = createPublicClient({
169
+ // chain: base,
170
+ // transport: http(base.rpcUrls.default.http[0]),
171
+ // })
172
+
173
+ // getEVMTransactionHistory(client as PublicClient, "0x9C82CE0e125F61AdE50BC0c19638F6Ba93d71D5e", {
174
+ // startBlock: BigInt(37427020)
175
+ // // before: "0xabc..."
176
+ // }).then((history: any) => {
177
+ // console.log("EVM Transaction History:", history);
178
+ // }).catch((error: any) => {
179
+ // console.error("Error fetching EVM transaction history:", error);
180
+ // });
141
181
 
142
182
  // discoverNFTs("0x498581ff718922c3f8e6a244956af099b2652b2b", evmChainConfig).then(nfts => {
143
183
  // console.log("Discovered NFTs:", nfts);
@@ -1,591 +0,0 @@
1
- /**
2
- * Smart Wallet Usage Examples
3
- *
4
- * Comprehensive examples demonstrating all smart wallet features
5
- */
6
-
7
- import { EVMChainWallet } from "./evm";
8
- import { parseEther, parseUnits, encodeFunctionData, parseAbi } from "viem";
9
- import { ChainWalletConfig } from "../types";
10
-
11
- // ============================================
12
- // Example 1: Basic Smart Wallet Setup
13
- // ============================================
14
-
15
- async function example1_BasicSetup() {
16
- console.log("\n=== Example 1: Basic Setup ===\n");
17
-
18
- // Create regular EVM wallet
19
- const config: ChainWalletConfig = {
20
- name: "Sepolia",
21
- chainId: 11155111,
22
- rpcUrl: "https://sepolia.infura.io/v3/YOUR_INFURA_KEY",
23
- explorerUrl: "https://sepolia.etherscan.io",
24
- nativeToken: {
25
- name: "Ethereum",
26
- symbol: "ETH",
27
- decimals: 18,
28
- address: "native"
29
- }
30
- };
31
-
32
- const privateKey = "0x..."; // Your private key
33
- const evmWallet = new EVMChainWallet(config, privateKey, 0);
34
-
35
- console.log("EOA Address:", evmWallet.address);
36
-
37
- // Extend with smart wallet capabilities
38
- const smartWallet = await evmWallet.extend({
39
- bundlerProvider: "pimlico",
40
- apiKey: process.env.PIMLICO_API_KEY!
41
- });
42
-
43
- console.log("Smart Wallet Address:", smartWallet.getAddress());
44
-
45
- // Get account info
46
- const info = await smartWallet.getAccountInfo();
47
- console.log("Account Info:", {
48
- address: info.address,
49
- owner: info.ownerAddress,
50
- chain: info.chain.name,
51
- delegated: info.isDelegated,
52
- balance: info.balance.toString()
53
- });
54
- }
55
-
56
- // ============================================
57
- // Example 2: Single Transaction
58
- // ============================================
59
-
60
- async function example2_SingleTransaction(smartWallet: any) {
61
- console.log("\n=== Example 2: Single Transaction ===\n");
62
-
63
- const recipient = "0x742d35Cc6634C0532925a3b844Bc454e4438f44e";
64
- const amount = parseEther("0.01");
65
-
66
- const result = await smartWallet.sendTransaction(recipient, amount);
67
-
68
- if (result.success) {
69
- console.log("✅ Transaction successful!");
70
- console.log("UserOp Hash:", result.userOpHash);
71
- console.log("Transaction Hash:", result.transactionHash);
72
- } else {
73
- console.error("❌ Transaction failed:", result.error);
74
- }
75
- }
76
-
77
- // ============================================
78
- // Example 3: Batch Transactions
79
- // ============================================
80
-
81
- async function example3_BatchTransactions(smartWallet: any) {
82
- console.log("\n=== Example 3: Batch Transactions ===\n");
83
-
84
- // Send ETH to multiple recipients in ONE transaction
85
- const recipients = [
86
- "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
87
- "0x5B38Da6a701c568545dCfcB03FcB875f56beddC4",
88
- "0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2"
89
- ];
90
-
91
- const calls = recipients.map((recipient, i) =>
92
- smartWallet.prepareCall(
93
- recipient,
94
- parseEther(`0.0${i + 1}`) // 0.01, 0.02, 0.03 ETH
95
- )
96
- );
97
-
98
- console.log(`Sending to ${recipients.length} recipients in one transaction...`);
99
-
100
- const result = await smartWallet.sendBatchTransaction(calls);
101
-
102
- if (result.success) {
103
- console.log("✅ Batch transaction successful!");
104
- console.log("Transaction Hash:", result.transactionHash);
105
- console.log("💰 Gas saved: ~80% compared to individual transactions");
106
- } else {
107
- console.error("❌ Batch transaction failed:", result.error);
108
- }
109
- }
110
-
111
- // ============================================
112
- // Example 4: Batch with Contract Interactions
113
- // ============================================
114
-
115
- async function example4_BatchWithContracts(smartWallet: any) {
116
- console.log("\n=== Example 4: Batch with Contracts ===\n");
117
-
118
- const USDC_ADDRESS = "0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238"; // Sepolia USDC
119
- const recipient = "0x742d35Cc6634C0532925a3b844Bc454e4438f44e";
120
-
121
- // Prepare USDC transfer calldata
122
- const transferCalldata = encodeFunctionData({
123
- abi: parseAbi(["function transfer(address to, uint256 amount)"]),
124
- functionName: "transfer",
125
- args: [recipient, parseUnits("10", 6)] // 10 USDC
126
- });
127
-
128
- // Batch: Send ETH + Send USDC in one transaction
129
- const calls = [
130
- smartWallet.prepareCall(recipient, parseEther("0.01")),
131
- smartWallet.prepareCall(USDC_ADDRESS, 0n, transferCalldata)
132
- ];
133
-
134
- console.log("Sending ETH + USDC in one transaction...");
135
-
136
- const result = await smartWallet.sendBatchTransaction(calls);
137
-
138
- if (result.success) {
139
- console.log("✅ Batch successful!");
140
- console.log("Sent 0.01 ETH + 10 USDC in one transaction");
141
- }
142
- }
143
-
144
- // ============================================
145
- // Example 5: Session Keys - Complete Workflow
146
- // ============================================
147
-
148
- async function example5_SessionKeys(smartWallet: any) {
149
- console.log("\n=== Example 5: Session Keys ===\n");
150
-
151
- // STEP 1: Agent generates session key
152
- console.log("Step 1: Agent generates session key");
153
- const sessionKey = await smartWallet.generateSessionKey();
154
-
155
- console.log("Session Key Address:", sessionKey.address);
156
- console.log("Session Key Private Key:", sessionKey.privateKey);
157
- console.log("⚠️ Store private key securely!");
158
-
159
- // STEP 2: Owner approves session key with permissions
160
- console.log("\nStep 2: Owner approves session key");
161
-
162
- const USDC_ADDRESS = "0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238";
163
-
164
- const approval = await smartWallet.approveSessionKey({
165
- sessionKeyAddress: sessionKey.address,
166
- permissions: [
167
- // Max 100 USDC per transfer
168
- smartWallet.createUSDCPermission(USDC_ADDRESS, "100"),
169
- // Max 0.1 ETH per transfer
170
- smartWallet.createETHPermission("0.1")
171
- ]
172
- });
173
-
174
- console.log("✅ Session key approved!");
175
- console.log("Approval string length:", approval.length);
176
- console.log("Share this approval with the agent →", approval.substring(0, 50) + "...");
177
-
178
- // STEP 3: Agent uses session key
179
- console.log("\nStep 3: Agent uses session key");
180
-
181
- // Recreate session key from private key
182
- const recreatedKey = await smartWallet.recreateSessionKey(sessionKey.privateKey);
183
-
184
- // Use the session key
185
- await smartWallet.useSessionKey({
186
- approval,
187
- sessionKeySigner: recreatedKey.signer
188
- });
189
-
190
- console.log("✅ Now using session key");
191
- console.log("Session key active:", smartWallet.isUsingSessionKey());
192
-
193
- // Agent can now send transactions within limits
194
- const recipient = "0x742d35Cc6634C0532925a3b844Bc454e4438f44e";
195
-
196
- const result = await smartWallet.sendTransaction(
197
- recipient,
198
- parseEther("0.05") // Within 0.1 ETH limit
199
- );
200
-
201
- if (result.success) {
202
- console.log("✅ Transaction sent with session key!");
203
- }
204
-
205
- // STEP 4: Clear session key
206
- smartWallet.clearSessionKey();
207
- console.log("\nSession key cleared:", !smartWallet.isUsingSessionKey());
208
- }
209
-
210
- // ============================================
211
- // Example 6: Session Keys - Sudo Mode
212
- // ============================================
213
-
214
- async function example6_SessionKeysSudo(smartWallet: any) {
215
- console.log("\n=== Example 6: Session Keys (Sudo Mode) ===\n");
216
-
217
- const sessionKey = await smartWallet.generateSessionKey();
218
-
219
- // Approve with unrestricted sudo access
220
- // ⚠️ Only use for testing or trusted agents!
221
- const approval = await smartWallet.approveSessionKey({
222
- sessionKeyAddress: sessionKey.address,
223
- useSudoPolicy: true // Unrestricted access
224
- });
225
-
226
- console.log("✅ Session key approved with SUDO access");
227
- console.log("⚠️ This session key has UNRESTRICTED access!");
228
-
229
- await smartWallet.useSessionKey({
230
- approval,
231
- sessionKeySigner: sessionKey.signer
232
- });
233
-
234
- console.log("Session key can now perform any transaction");
235
- }
236
-
237
- // ============================================
238
- // Example 7: Module Management
239
- // ============================================
240
-
241
- async function example7_ModuleManagement(smartWallet: any) {
242
- console.log("\n=== Example 7: Module Management ===\n");
243
-
244
- const validatorAddress = "0x..."; // Your validator module address
245
-
246
- // Check if module is installed
247
- const isInstalled = await smartWallet.isModuleInstalled(
248
- "validator",
249
- validatorAddress
250
- );
251
-
252
- console.log("Module installed:", isInstalled);
253
-
254
- if (!isInstalled) {
255
- // Install module
256
- console.log("Installing module...");
257
-
258
- const result = await smartWallet.installModule({
259
- moduleType: "validator",
260
- moduleAddress: validatorAddress,
261
- initData: "0x" // Module-specific init data
262
- });
263
-
264
- if (result.success) {
265
- console.log("✅ Module installed!");
266
- }
267
- } else {
268
- // Uninstall module
269
- console.log("Uninstalling module...");
270
-
271
- const result = await smartWallet.uninstallModule({
272
- moduleType: "validator",
273
- moduleAddress: validatorAddress
274
- });
275
-
276
- if (result.success) {
277
- console.log("✅ Module uninstalled!");
278
- }
279
- }
280
- }
281
-
282
- // ============================================
283
- // Example 8: Batch Module Operations
284
- // ============================================
285
-
286
- async function example8_BatchModules(smartWallet: any) {
287
- console.log("\n=== Example 8: Batch Module Operations ===\n");
288
-
289
- const validator1 = "0x...";
290
- const validator2 = "0x...";
291
- const hook1 = "0x...";
292
-
293
- // Install multiple modules in one transaction
294
- const calls = [
295
- smartWallet.prepareInstallModule({
296
- moduleType: "validator",
297
- moduleAddress: validator1
298
- }),
299
- smartWallet.prepareInstallModule({
300
- moduleType: "validator",
301
- moduleAddress: validator2
302
- }),
303
- smartWallet.prepareInstallModule({
304
- moduleType: "hook",
305
- moduleAddress: hook1
306
- })
307
- ];
308
-
309
- console.log("Installing 3 modules in one transaction...");
310
-
311
- const result = await smartWallet.sendBatchTransaction(calls);
312
-
313
- if (result.success) {
314
- console.log("✅ All modules installed!");
315
- }
316
- }
317
-
318
- // ============================================
319
- // Example 9: Multi-Signature
320
- // ============================================
321
-
322
- async function example9_MultiSignature(smartWallet: any) {
323
- console.log("\n=== Example 9: Multi-Signature ===\n");
324
-
325
- const owner1 = "0x742d35Cc6634C0532925a3b844Bc454e4438f44e";
326
- const owner2 = "0x5B38Da6a701c568545dCfcB03FcB875f56beddC4";
327
- const owner3 = "0xAb8483F64d9C6d1EcF9b849Ae677dD3315835cb2";
328
-
329
- // Enable 2-of-3 multi-sig
330
- const result = await smartWallet.enableMultiSig({
331
- owners: [owner1, owner2, owner3],
332
- threshold: 2 // Require 2 signatures
333
- });
334
-
335
- if (result.success) {
336
- console.log("✅ Multi-sig enabled!");
337
- console.log("Threshold: 2 of 3 owners required");
338
- }
339
- }
340
-
341
- // ============================================
342
- // Example 10: Gas Sponsorship (Paymaster)
343
- // ============================================
344
-
345
- async function example10_Paymaster(smartWallet: any) {
346
- console.log("\n=== Example 10: Gas Sponsorship ===\n");
347
-
348
- const paymasterUrl = "https://api.pimlico.io/v2/sepolia/paymaster";
349
-
350
- // Enable paymaster
351
- smartWallet.setPaymaster(paymasterUrl);
352
-
353
- console.log("✅ Paymaster enabled");
354
- console.log("Has paymaster:", smartWallet.hasPaymaster());
355
-
356
- // User doesn't pay gas!
357
- const result = await smartWallet.sendTransaction(
358
- "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
359
- parseEther("0.01")
360
- );
361
-
362
- if (result.success) {
363
- console.log("✅ Transaction sponsored! User paid $0 in gas");
364
- }
365
-
366
- // Disable paymaster
367
- smartWallet.clearPaymaster();
368
- console.log("Paymaster disabled");
369
- }
370
-
371
- // ============================================
372
- // Example 11: Check Account Status
373
- // ============================================
374
-
375
- async function example11_AccountStatus(smartWallet: any) {
376
- console.log("\n=== Example 11: Account Status ===\n");
377
-
378
- // Get full account info
379
- const info = await smartWallet.getAccountInfo();
380
-
381
- console.log("Account Information:");
382
- console.log(" Address:", info.address);
383
- console.log(" Owner:", info.ownerAddress);
384
- console.log(" Chain:", info.chain.name, `(${info.chain.id})`);
385
- console.log(" EntryPoint:", info.entryPointVersion);
386
- console.log(" Delegated:", info.isDelegated);
387
- console.log(" Balance:", info.balance.toString(), "wei");
388
-
389
- // Get balance
390
- const balance = await smartWallet.getBalance();
391
- console.log("\nBalance:", balance.formatted, "ETH");
392
-
393
- // Check delegation
394
- const isDelegated = await smartWallet.isAccountDelegated();
395
- console.log("Account delegated:", isDelegated);
396
-
397
- // Get bundler info
398
- const bundlerInfo = smartWallet.getBundlerInfo();
399
- console.log("\nBundler:");
400
- console.log(" Provider:", bundlerInfo.provider);
401
- console.log(" URL:", bundlerInfo.url);
402
-
403
- // Check session key status
404
- console.log("\nSession key active:", smartWallet.isUsingSessionKey());
405
-
406
- // Check paymaster status
407
- console.log("Paymaster enabled:", smartWallet.hasPaymaster());
408
- }
409
-
410
- // ============================================
411
- // Example 12: Dual Mode (EOA + Smart Wallet)
412
- // ============================================
413
-
414
- async function example12_DualMode() {
415
- console.log("\n=== Example 12: Dual Mode ===\n");
416
-
417
- const config: ChainWalletConfig = {
418
- name: "Sepolia",
419
- chainId: 11155111,
420
- rpcUrl: "https://sepolia.infura.io/v3/YOUR_INFURA_KEY",
421
- explorerUrl: "https://sepolia.etherscan.io",
422
- nativeToken: {
423
- name: "Ethereum",
424
- symbol: "ETH",
425
- decimals: 18,
426
- address: "native"
427
- }
428
- };
429
-
430
- const privateKey = "0x...";
431
- const evmWallet = new EVMChainWallet(config, privateKey, 0);
432
-
433
- // Enable smart wallet
434
- const smartWallet = await evmWallet.extend({
435
- bundlerProvider: "pimlico",
436
- apiKey: process.env.PIMLICO_API_KEY!
437
- });
438
-
439
- console.log("EOA Address:", evmWallet.address);
440
- console.log("Smart Wallet Address:", smartWallet.getAddress());
441
-
442
- // Both modes work simultaneously!
443
-
444
- // Use regular EOA for simple transfers
445
- console.log("\n1. Using EOA (regular transaction):");
446
- await evmWallet.transferNative("0x...", 0.01);
447
- console.log("✅ EOA transaction sent");
448
-
449
- // Use smart wallet for batch operations
450
- console.log("\n2. Using Smart Wallet (batched UserOp):");
451
- const calls = [
452
- smartWallet.prepareCall("0x...", parseEther("0.01")),
453
- smartWallet.prepareCall("0x...", parseEther("0.02"))
454
- ];
455
- await smartWallet.sendBatchTransaction(calls);
456
- console.log("✅ Smart wallet batch sent");
457
-
458
- // Use regular EOA for swaps
459
- console.log("\n3. Using EOA (swap):");
460
- await evmWallet.swap(
461
- { address: "0xTokenIn", name: "TokenIn", symbol: "TKN", decimals: 18 },
462
- "0xTokenOut",
463
- 1
464
- );
465
- console.log("✅ EOA swap executed");
466
-
467
- console.log("\n✨ Both EOA and Smart Wallet work together!");
468
- }
469
-
470
- // ============================================
471
- // Example 13: Error Handling
472
- // ============================================
473
-
474
- async function example13_ErrorHandling(smartWallet: any) {
475
- console.log("\n=== Example 13: Error Handling ===\n");
476
-
477
- try {
478
- const result = await smartWallet.sendTransaction(
479
- "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
480
- parseEther("1000") // Insufficient balance
481
- );
482
-
483
- if (result.success) {
484
- console.log("✅ Success:", result.transactionHash);
485
- } else {
486
- console.log("❌ Transaction failed:", result.error);
487
-
488
- // Handle specific errors
489
- if (result.error?.includes("insufficient funds")) {
490
- console.log("→ Account needs more ETH");
491
- } else if (result.error?.includes("AA23")) {
492
- console.log("→ UserOperation validation failed");
493
- } else if (result.error?.includes("AA21")) {
494
- console.log("→ UserOperation expired");
495
- }
496
- }
497
- } catch (error: any) {
498
- console.error("Unexpected error:", error.message);
499
- }
500
- }
501
-
502
- // ============================================
503
- // Example 14: Automated Trading Bot
504
- // ============================================
505
-
506
- async function example14_TradingBot(smartWallet: any) {
507
- console.log("\n=== Example 14: Automated Trading Bot ===\n");
508
-
509
- // Generate session key for bot
510
- const sessionKey = await smartWallet.generateSessionKey();
511
-
512
- console.log("Bot session key:", sessionKey.address);
513
-
514
- // Owner approves with trading limits
515
- const approval = await smartWallet.approveSessionKey({
516
- sessionKeyAddress: sessionKey.address,
517
- permissions: [
518
- smartWallet.createUSDCPermission(
519
- "0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238",
520
- "1000" // Max 1000 USDC per trade
521
- ),
522
- smartWallet.createETHPermission("1.0") // Max 1 ETH per trade
523
- ]
524
- });
525
-
526
- console.log("✅ Trading bot approved with limits");
527
-
528
- // Bot uses session key
529
- const botKey = await smartWallet.recreateSessionKey(sessionKey.privateKey);
530
- await smartWallet.useSessionKey({
531
- approval,
532
- sessionKeySigner: botKey.signer
533
- });
534
-
535
- // Bot executes trades
536
- console.log("\n🤖 Bot executing automated trades...");
537
-
538
- const dexAddress = "0x..."; // DEX router address
539
- const swapCalldata = "0x..."; // Swap transaction data
540
-
541
- const result = await smartWallet.sendTransaction(dexAddress, 0n, swapCalldata);
542
-
543
- if (result.success) {
544
- console.log("✅ Bot trade executed:", result.transactionHash);
545
- }
546
-
547
- console.log("\n💡 Bot can trade within limits without owner approval!");
548
- }
549
-
550
- // ============================================
551
- // Main Runner
552
- // ============================================
553
-
554
- async function runAllExamples() {
555
- console.log("🚀 Smart Wallet Examples\n");
556
-
557
- try {
558
- // await example1_BasicSetup();
559
-
560
- // Note: Uncomment individual examples to run them
561
- // Make sure to provide valid private keys and API keys
562
-
563
- console.log("\n✅ All examples completed!");
564
- console.log("\nTo run an example:");
565
- console.log("1. Uncomment the example in runAllExamples()");
566
- console.log("2. Set your private key and API key");
567
- console.log("3. Run: npx tsx SMART_WALLET_EXAMPLES.ts");
568
- } catch (error) {
569
- console.error("Error:", error);
570
- }
571
- }
572
-
573
- // Uncomment to run
574
- // runAllExamples();
575
-
576
- export {
577
- example1_BasicSetup,
578
- example2_SingleTransaction,
579
- example3_BatchTransactions,
580
- example4_BatchWithContracts,
581
- example5_SessionKeys,
582
- example6_SessionKeysSudo,
583
- example7_ModuleManagement,
584
- example8_BatchModules,
585
- example9_MultiSignature,
586
- example10_Paymaster,
587
- example11_AccountStatus,
588
- example12_DualMode,
589
- example13_ErrorHandling,
590
- example14_TradingBot
591
- };