zksync-sso 0.0.0-beta.7 → 0.0.0-beta.8

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.
@@ -7,6 +7,7 @@ const passkey_js_1 = require("../../utils/passkey.js");
7
7
  const account_js_1 = require("./account.js");
8
8
  const passkey_js_2 = require("./actions/passkey.js");
9
9
  const passkey_js_3 = require("./decorators/passkey.js");
10
+ const wallet_js_1 = require("./decorators/wallet.js");
10
11
  function createZksyncPasskeyClient(_parameters) {
11
12
  const parameters = {
12
13
  ..._parameters,
@@ -38,7 +39,8 @@ function createZksyncPasskeyClient(_parameters) {
38
39
  .extend(viem_1.publicActions)
39
40
  .extend(viem_1.walletActions)
40
41
  .extend((0, zksync_1.eip712WalletActions)())
41
- .extend(passkey_js_3.zksyncSsoPasskeyActions);
42
+ .extend(passkey_js_3.zksyncSsoPasskeyActions)
43
+ .extend(wallet_js_1.zksyncSsoPasskeyWalletActions);
42
44
  return client;
43
45
  }
44
46
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/client/passkey/client.ts"],"names":[],"mappings":";;AAQA,8DA2CC;AAnDD,+BAA+R;AAC/R,wCAAkD;AAElD,uDAA4E;AAC5E,6CAAgD;AAChD,qDAAoE;AACpE,wDAAgG;AAEhG,SAAgB,yBAAyB,CAIvC,WAAsE;IAEtE,MAAM,UAAU,GAGZ;QACF,GAAG,WAAW;QACd,OAAO,EAAE,IAAA,iBAAU,EAAC,WAAW,CAAC,OAAO,CAAC;QACxC,GAAG,EAAE,WAAW,CAAC,GAAG,IAAI,2BAA2B;QACnD,IAAI,EAAE,WAAW,CAAC,IAAI,IAAI,2BAA2B;KACtD,CAAC;IAEF,MAAM,OAAO,GAAG,IAAA,6BAAgB,EAAC;QAC/B,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;YACvB,MAAM,gBAAgB,GAAG,MAAM,IAAA,yCAA4B,EAAC;gBAC1D,SAAS,EAAE,IAAI;gBACf,mBAAmB,EAAE,UAAU,CAAC,mBAAmB;aACpD,CAAC,CAAC;YAEH,OAAO,IAAA,+CAAkC,EAAC,gBAAgB,CAAC,6BAA6B,CAAC,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;QAC3H,CAAC;KACF,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,IAAA,mBAAY,EAAuC;QAChE,GAAG,UAAU;QACb,OAAO;QACP,IAAI,EAAE,cAAc;KACrB,CAAC;SACC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QACb,mBAAmB,EAAE,UAAU,CAAC,mBAAmB;QACnD,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,eAAe,EAAE,UAAU,CAAC,eAAe;QAC3C,SAAS,EAAE,UAAU,CAAC,SAAS;KAChC,CAAC,CAAC;SACF,MAAM,CAAC,oBAAa,CAAC;SACrB,MAAM,CAAC,oBAAa,CAAC;SACrB,MAAM,CAAC,IAAA,4BAAmB,GAAE,CAAC;SAC7B,MAAM,CAAC,oCAAuB,CAAC,CAAC;IACnC,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/client/passkey/client.ts"],"names":[],"mappings":";;AASA,8DA4CC;AArDD,+BAA+R;AAC/R,wCAAkD;AAElD,uDAA4E;AAC5E,6CAAgD;AAChD,qDAAoE;AACpE,wDAAgG;AAChG,sDAAuE;AAEvE,SAAgB,yBAAyB,CAIvC,WAAsE;IAEtE,MAAM,UAAU,GAGZ;QACF,GAAG,WAAW;QACd,OAAO,EAAE,IAAA,iBAAU,EAAC,WAAW,CAAC,OAAO,CAAC;QACxC,GAAG,EAAE,WAAW,CAAC,GAAG,IAAI,2BAA2B;QACnD,IAAI,EAAE,WAAW,CAAC,IAAI,IAAI,2BAA2B;KACtD,CAAC;IAEF,MAAM,OAAO,GAAG,IAAA,6BAAgB,EAAC;QAC/B,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;YACvB,MAAM,gBAAgB,GAAG,MAAM,IAAA,yCAA4B,EAAC;gBAC1D,SAAS,EAAE,IAAI;gBACf,mBAAmB,EAAE,UAAU,CAAC,mBAAmB;aACpD,CAAC,CAAC;YAEH,OAAO,IAAA,+CAAkC,EAAC,gBAAgB,CAAC,6BAA6B,CAAC,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;QAC3H,CAAC;KACF,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,IAAA,mBAAY,EAAuC;QAChE,GAAG,UAAU;QACb,OAAO;QACP,IAAI,EAAE,cAAc;KACrB,CAAC;SACC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QACb,mBAAmB,EAAE,UAAU,CAAC,mBAAmB;QACnD,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,eAAe,EAAE,UAAU,CAAC,eAAe;QAC3C,SAAS,EAAE,UAAU,CAAC,SAAS;KAChC,CAAC,CAAC;SACF,MAAM,CAAC,oBAAa,CAAC;SACrB,MAAM,CAAC,oBAAa,CAAC;SACrB,MAAM,CAAC,IAAA,4BAAmB,GAAE,CAAC;SAC7B,MAAM,CAAC,oCAAuB,CAAC;SAC/B,MAAM,CAAC,yCAA6B,CAAC,CAAC;IACzC,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.zksyncSsoPasskeyWalletActions = zksyncSsoPasskeyWalletActions;
4
+ const viem_1 = require("viem");
5
+ const actions_1 = require("viem/actions");
6
+ const zksync_1 = require("viem/zksync");
7
+ const sendEip712Transaction_js_1 = require("../../session/actions/sendEip712Transaction.js");
8
+ function zksyncSsoPasskeyWalletActions(client) {
9
+ return {
10
+ deployContract: (args) => (0, actions_1.deployContract)(client, args),
11
+ getAddresses: () => (0, actions_1.getAddresses)(client),
12
+ getChainId: () => (0, actions_1.getChainId)(client),
13
+ sendRawTransaction: (args) => (0, actions_1.sendRawTransaction)(client, args),
14
+ sendTransaction: async (args) => {
15
+ const unformattedTx = Object.assign({}, args);
16
+ if ("eip712Meta" in unformattedTx) {
17
+ const eip712Meta = unformattedTx.eip712Meta;
18
+ unformattedTx.gasPerPubdata = eip712Meta.gasPerPubdata ? BigInt(eip712Meta.gasPerPubdata) : undefined;
19
+ unformattedTx.factoryDeps = eip712Meta.factoryDeps;
20
+ unformattedTx.customSignature = eip712Meta.customSignature;
21
+ unformattedTx.paymaster = eip712Meta.paymasterParams?.paymaster;
22
+ unformattedTx.paymasterInput = eip712Meta.paymasterParams?.paymasterInput ? (0, viem_1.bytesToHex)(new Uint8Array(eip712Meta.paymasterParams?.paymasterInput)) : undefined;
23
+ delete unformattedTx.eip712Meta;
24
+ }
25
+ const formatters = client.chain?.formatters;
26
+ const format = formatters?.transaction?.format || viem_1.formatTransaction;
27
+ const tx = {
28
+ ...format(unformattedTx),
29
+ type: "eip712",
30
+ };
31
+ return await (0, sendEip712Transaction_js_1.sendEip712Transaction)(client, tx);
32
+ },
33
+ signMessage: (args) => (0, actions_1.signMessage)(client, args),
34
+ signTransaction: (args) => (0, zksync_1.signTransaction)(client, args),
35
+ signTypedData: (args) => (0, actions_1.signTypedData)(client, args),
36
+ writeContract: (args) => (0, actions_1.writeContract)(client, args),
37
+ };
38
+ }
39
+ //# sourceMappingURL=wallet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../../../../src/client/passkey/decorators/wallet.ts"],"names":[],"mappings":";;AAWA,sEAwCC;AAnDD,+BAAmH;AACnH,0CAAuI;AACvI,wCAAqE;AAErE,6FAAuF;AAOvF,SAAgB,6BAA6B,CAI3C,MAAwD;IACxD,OAAO;QACL,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,wBAAc,EAAC,MAAM,EAAE,IAAI,CAAC;QACtD,YAAY,EAAE,GAAG,EAAE,CAAC,IAAA,sBAAY,EAAC,MAAM,CAAC;QACxC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAA,oBAAU,EAAC,MAAM,CAAC;QACpC,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,4BAAkB,EAAC,MAAM,EAAE,IAAI,CAAC;QAC9D,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YAE9B,MAAM,aAAa,GAAQ,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAEnD,IAAI,YAAY,IAAI,aAAa,EAAE,CAAC;gBAClC,MAAM,UAAU,GAAG,aAAa,CAAC,UAA8B,CAAC;gBAChE,aAAa,CAAC,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACtG,aAAa,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;gBACnD,aAAa,CAAC,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC;gBAC3D,aAAa,CAAC,SAAS,GAAG,UAAU,CAAC,eAAe,EAAE,SAAS,CAAC;gBAChE,aAAa,CAAC,cAAc,GAAG,UAAU,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC,CAAC,IAAA,iBAAU,EAAC,IAAI,UAAU,CAAC,UAAU,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC/J,OAAO,aAAa,CAAC,UAAU,CAAC;YAClC,CAAC;YAED,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC;YAC5C,MAAM,MAAM,GAAG,UAAU,EAAE,WAAW,EAAE,MAAM,IAAI,wBAAiB,CAAC;YAEpE,MAAM,EAAE,GAAG;gBACT,GAAG,MAAM,CAAC,aAAa,CAAC;gBACxB,IAAI,EAAE,QAAQ;aACf,CAAC;YAEF,OAAO,MAAM,IAAA,gDAAqB,EAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACjD,CAAC;QACD,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,qBAAW,EAAC,MAAM,EAAE,IAAI,CAAC;QAEhD,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,wBAAe,EAAC,MAAM,EAAE,IAAW,CAAC;QAC/D,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,uBAAa,EAAC,MAAM,EAAE,IAAI,CAAC;QACpD,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,uBAAa,EAAC,MAAM,EAAE,IAAI,CAAC;KACrD,CAAC;AACJ,CAAC"}
@@ -4,6 +4,7 @@ import { passkeyHashSignatureResponseFormat } from "../../utils/passkey.js";
4
4
  import { toPasskeyAccount } from "./account.js";
5
5
  import { requestPasskeyAuthentication } from "./actions/passkey.js";
6
6
  import { zksyncSsoPasskeyActions } from "./decorators/passkey.js";
7
+ import { zksyncSsoPasskeyWalletActions } from "./decorators/wallet.js";
7
8
  export function createZksyncPasskeyClient(_parameters) {
8
9
  const parameters = {
9
10
  ..._parameters,
@@ -35,7 +36,8 @@ export function createZksyncPasskeyClient(_parameters) {
35
36
  .extend(publicActions)
36
37
  .extend(walletActions)
37
38
  .extend(eip712WalletActions())
38
- .extend(zksyncSsoPasskeyActions);
39
+ .extend(zksyncSsoPasskeyActions)
40
+ .extend(zksyncSsoPasskeyWalletActions);
39
41
  return client;
40
42
  }
41
43
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/client/passkey/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuD,YAAY,EAAE,UAAU,EAAqC,aAAa,EAA4E,aAAa,EAAiD,MAAM,MAAM,CAAC;AAC/R,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,kCAAkC,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAgC,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAEhG,MAAM,UAAU,yBAAyB,CAIvC,WAAsE;IAEtE,MAAM,UAAU,GAGZ;QACF,GAAG,WAAW;QACd,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC;QACxC,GAAG,EAAE,WAAW,CAAC,GAAG,IAAI,2BAA2B;QACnD,IAAI,EAAE,WAAW,CAAC,IAAI,IAAI,2BAA2B;KACtD,CAAC;IAEF,MAAM,OAAO,GAAG,gBAAgB,CAAC;QAC/B,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;YACvB,MAAM,gBAAgB,GAAG,MAAM,4BAA4B,CAAC;gBAC1D,SAAS,EAAE,IAAI;gBACf,mBAAmB,EAAE,UAAU,CAAC,mBAAmB;aACpD,CAAC,CAAC;YAEH,OAAO,kCAAkC,CAAC,gBAAgB,CAAC,6BAA6B,CAAC,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;QAC3H,CAAC;KACF,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,YAAY,CAAuC;QAChE,GAAG,UAAU;QACb,OAAO;QACP,IAAI,EAAE,cAAc;KACrB,CAAC;SACC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QACb,mBAAmB,EAAE,UAAU,CAAC,mBAAmB;QACnD,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,eAAe,EAAE,UAAU,CAAC,eAAe;QAC3C,SAAS,EAAE,UAAU,CAAC,SAAS;KAChC,CAAC,CAAC;SACF,MAAM,CAAC,aAAa,CAAC;SACrB,MAAM,CAAC,aAAa,CAAC;SACrB,MAAM,CAAC,mBAAmB,EAAE,CAAC;SAC7B,MAAM,CAAC,uBAAuB,CAAC,CAAC;IACnC,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/client/passkey/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuD,YAAY,EAAE,UAAU,EAAqC,aAAa,EAA4E,aAAa,EAAiD,MAAM,MAAM,CAAC;AAC/R,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,kCAAkC,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAgC,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAChG,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AAEvE,MAAM,UAAU,yBAAyB,CAIvC,WAAsE;IAEtE,MAAM,UAAU,GAGZ;QACF,GAAG,WAAW;QACd,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC;QACxC,GAAG,EAAE,WAAW,CAAC,GAAG,IAAI,2BAA2B;QACnD,IAAI,EAAE,WAAW,CAAC,IAAI,IAAI,2BAA2B;KACtD,CAAC;IAEF,MAAM,OAAO,GAAG,gBAAgB,CAAC;QAC/B,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;YACvB,MAAM,gBAAgB,GAAG,MAAM,4BAA4B,CAAC;gBAC1D,SAAS,EAAE,IAAI;gBACf,mBAAmB,EAAE,UAAU,CAAC,mBAAmB;aACpD,CAAC,CAAC;YAEH,OAAO,kCAAkC,CAAC,gBAAgB,CAAC,6BAA6B,CAAC,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;QAC3H,CAAC;KACF,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,YAAY,CAAuC;QAChE,GAAG,UAAU;QACb,OAAO;QACP,IAAI,EAAE,cAAc;KACrB,CAAC;SACC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QACb,mBAAmB,EAAE,UAAU,CAAC,mBAAmB;QACnD,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,eAAe,EAAE,UAAU,CAAC,eAAe;QAC3C,SAAS,EAAE,UAAU,CAAC,SAAS;KAChC,CAAC,CAAC;SACF,MAAM,CAAC,aAAa,CAAC;SACrB,MAAM,CAAC,aAAa,CAAC;SACrB,MAAM,CAAC,mBAAmB,EAAE,CAAC;SAC7B,MAAM,CAAC,uBAAuB,CAAC;SAC/B,MAAM,CAAC,6BAA6B,CAAC,CAAC;IACzC,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { bytesToHex, formatTransaction } from "viem";
2
+ import { deployContract, getAddresses, getChainId, sendRawTransaction, signMessage, signTypedData, writeContract } from "viem/actions";
3
+ import { signTransaction } from "viem/zksync";
4
+ import { sendEip712Transaction } from "../../session/actions/sendEip712Transaction.js";
5
+ export function zksyncSsoPasskeyWalletActions(client) {
6
+ return {
7
+ deployContract: (args) => deployContract(client, args),
8
+ getAddresses: () => getAddresses(client),
9
+ getChainId: () => getChainId(client),
10
+ sendRawTransaction: (args) => sendRawTransaction(client, args),
11
+ sendTransaction: async (args) => {
12
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
13
+ const unformattedTx = Object.assign({}, args);
14
+ if ("eip712Meta" in unformattedTx) {
15
+ const eip712Meta = unformattedTx.eip712Meta;
16
+ unformattedTx.gasPerPubdata = eip712Meta.gasPerPubdata ? BigInt(eip712Meta.gasPerPubdata) : undefined;
17
+ unformattedTx.factoryDeps = eip712Meta.factoryDeps;
18
+ unformattedTx.customSignature = eip712Meta.customSignature;
19
+ unformattedTx.paymaster = eip712Meta.paymasterParams?.paymaster;
20
+ unformattedTx.paymasterInput = eip712Meta.paymasterParams?.paymasterInput ? bytesToHex(new Uint8Array(eip712Meta.paymasterParams?.paymasterInput)) : undefined;
21
+ delete unformattedTx.eip712Meta;
22
+ }
23
+ const formatters = client.chain?.formatters;
24
+ const format = formatters?.transaction?.format || formatTransaction;
25
+ const tx = {
26
+ ...format(unformattedTx),
27
+ type: "eip712",
28
+ };
29
+ return await sendEip712Transaction(client, tx);
30
+ },
31
+ signMessage: (args) => signMessage(client, args),
32
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
33
+ signTransaction: (args) => signTransaction(client, args),
34
+ signTypedData: (args) => signTypedData(client, args),
35
+ writeContract: (args) => writeContract(client, args),
36
+ };
37
+ }
38
+ //# sourceMappingURL=wallet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../../../../src/client/passkey/decorators/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,UAAU,EAAc,iBAAiB,EAAsC,MAAM,MAAM,CAAC;AACnH,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACvI,OAAO,EAAE,eAAe,EAAyB,MAAM,aAAa,CAAC;AAErE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AAOvF,MAAM,UAAU,6BAA6B,CAI3C,MAAwD;IACxD,OAAO;QACL,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC;QACtD,YAAY,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC;QACxC,UAAU,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;QACpC,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC;QAC9D,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YAC9B,8DAA8D;YAC9D,MAAM,aAAa,GAAQ,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAEnD,IAAI,YAAY,IAAI,aAAa,EAAE,CAAC;gBAClC,MAAM,UAAU,GAAG,aAAa,CAAC,UAA8B,CAAC;gBAChE,aAAa,CAAC,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACtG,aAAa,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;gBACnD,aAAa,CAAC,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC;gBAC3D,aAAa,CAAC,SAAS,GAAG,UAAU,CAAC,eAAe,EAAE,SAAS,CAAC;gBAChE,aAAa,CAAC,cAAc,GAAG,UAAU,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC/J,OAAO,aAAa,CAAC,UAAU,CAAC;YAClC,CAAC;YAED,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC;YAC5C,MAAM,MAAM,GAAG,UAAU,EAAE,WAAW,EAAE,MAAM,IAAI,iBAAiB,CAAC;YAEpE,MAAM,EAAE,GAAG;gBACT,GAAG,MAAM,CAAC,aAAa,CAAC;gBACxB,IAAI,EAAE,QAAQ;aACf,CAAC;YAEF,OAAO,MAAM,qBAAqB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACjD,CAAC;QACD,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC;QAChD,8DAA8D;QAC9D,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,IAAW,CAAC;QAC/D,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC;QACpD,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC;KACrD,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/client/passkey/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,MAAM,EAA4B,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAiB,KAAK,eAAe,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,aAAa,EAAiB,KAAK,kBAAkB,EAAE,KAAK,eAAe,EAAE,MAAM,MAAM,CAAC;AAM/R,OAAO,EAAE,KAAK,uBAAuB,EAA2B,MAAM,yBAAyB,CAAC;AAEhG,wBAAgB,yBAAyB,CACvC,SAAS,SAAS,SAAS,EAC3B,KAAK,SAAS,KAAK,EACnB,SAAS,SAAS,SAAS,GAAG,SAAS,GAAG,SAAS,EACnD,WAAW,EAAE,4BAA4B,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,GAAG,sBAAsB,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,CAuC7H;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AACF,KAAK,oBAAoB,GAAG;IAC1B,mBAAmB,EAAE,UAAU,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,wBAAwB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,8BAA8B,CACxC,SAAS,SAAS,SAAS,GAAG,SAAS,EACvC,KAAK,SAAS,KAAK,GAAG,KAAK,IACzB,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,oBAAoB,CAAC;AAE7D,MAAM,MAAM,sBAAsB,CAChC,SAAS,SAAS,SAAS,GAAG,SAAS,EACvC,KAAK,SAAS,KAAK,GAAG,KAAK,EAC3B,SAAS,SAAS,SAAS,GAAG,SAAS,GAAG,SAAS,EACnD,OAAO,SAAS,OAAO,GAAG,OAAO,IAC/B,QAAQ,CACV,MAAM,CACJ,SAAS,EACT,KAAK,EACL,OAAO,EACP,SAAS,SAAS,SAAS,GACvB,CAAC,GAAG,eAAe,EAAE,GAAG,eAAe,EAAE,GAAG,SAAS,CAAC,GACtD,CAAC,GAAG,eAAe,EAAE,GAAG,eAAe,CAAC,EAC5C,aAAa,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,uBAAuB,CACnG,GAAG,oBAAoB,CACzB,CAAC;AAEF,MAAM,WAAW,4BAA4B,CAC3C,SAAS,SAAS,SAAS,GAAG,SAAS,EACvC,KAAK,SAAS,KAAK,GAAG,KAAK,EAC3B,SAAS,SAAS,SAAS,GAAG,SAAS,GAAG,SAAS,CACnD,SAAQ,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC;IACjF,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,mBAAmB,EAAE,UAAU,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,wBAAwB,CAAC;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/client/passkey/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,MAAM,EAA4B,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAiB,KAAK,eAAe,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,aAAa,EAAiB,KAAK,kBAAkB,EAAE,KAAK,eAAe,EAAE,MAAM,MAAM,CAAC;AAM/R,OAAO,EAAE,KAAK,uBAAuB,EAA2B,MAAM,yBAAyB,CAAC;AAGhG,wBAAgB,yBAAyB,CACvC,SAAS,SAAS,SAAS,EAC3B,KAAK,SAAS,KAAK,EACnB,SAAS,SAAS,SAAS,GAAG,SAAS,GAAG,SAAS,EACnD,WAAW,EAAE,4BAA4B,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,GAAG,sBAAsB,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,CAwC7H;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AACF,KAAK,oBAAoB,GAAG;IAC1B,mBAAmB,EAAE,UAAU,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,wBAAwB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,8BAA8B,CACxC,SAAS,SAAS,SAAS,GAAG,SAAS,EACvC,KAAK,SAAS,KAAK,GAAG,KAAK,IACzB,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,oBAAoB,CAAC;AAE7D,MAAM,MAAM,sBAAsB,CAChC,SAAS,SAAS,SAAS,GAAG,SAAS,EACvC,KAAK,SAAS,KAAK,GAAG,KAAK,EAC3B,SAAS,SAAS,SAAS,GAAG,SAAS,GAAG,SAAS,EACnD,OAAO,SAAS,OAAO,GAAG,OAAO,IAC/B,QAAQ,CACV,MAAM,CACJ,SAAS,EACT,KAAK,EACL,OAAO,EACP,SAAS,SAAS,SAAS,GACvB,CAAC,GAAG,eAAe,EAAE,GAAG,eAAe,EAAE,GAAG,SAAS,CAAC,GACtD,CAAC,GAAG,eAAe,EAAE,GAAG,eAAe,CAAC,EAC5C,aAAa,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,uBAAuB,CACnG,GAAG,oBAAoB,CACzB,CAAC;AAEF,MAAM,WAAW,4BAA4B,CAC3C,SAAS,SAAS,SAAS,GAAG,SAAS,EACvC,KAAK,SAAS,KAAK,GAAG,KAAK,EAC3B,SAAS,SAAS,SAAS,GAAG,SAAS,GAAG,SAAS,CACnD,SAAQ,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC;IACjF,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,mBAAmB,EAAE,UAAU,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,wBAAwB,CAAC;IACpC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
@@ -0,0 +1,5 @@
1
+ import { type Account, type Chain, type Transport, type WalletActions } from "viem";
2
+ import type { ClientWithZksyncSsoPasskeyData } from "../client.js";
3
+ export type ZksyncSsoPasskeyWalletActions<chain extends Chain, account extends Account> = Omit<WalletActions<chain, account>, "addChain" | "getPermissions" | "requestAddresses" | "requestPermissions" | "switchChain" | "watchAsset" | "prepareTransactionRequest">;
4
+ export declare function zksyncSsoPasskeyWalletActions<transport extends Transport, chain extends Chain, account extends Account>(client: ClientWithZksyncSsoPasskeyData<transport, chain>): ZksyncSsoPasskeyWalletActions<chain, account>;
5
+ //# sourceMappingURL=wallet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../../../../src/client/passkey/decorators/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAc,KAAK,KAAK,EAAqB,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,MAAM,CAAC;AAKnH,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,cAAc,CAAC;AAEnE,MAAM,MAAM,6BAA6B,CAAC,KAAK,SAAS,KAAK,EAAE,OAAO,SAAS,OAAO,IAAI,IAAI,CAC5F,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,oBAAoB,GAAG,aAAa,GAAG,YAAY,GAAG,2BAA2B,CACtK,CAAC;AAEF,wBAAgB,6BAA6B,CAC3C,SAAS,SAAS,SAAS,EAC3B,KAAK,SAAS,KAAK,EACnB,OAAO,SAAS,OAAO,EACvB,MAAM,EAAE,8BAA8B,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,6BAA6B,CAAC,KAAK,EAAE,OAAO,CAAC,CAoCzG"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "zksync-sso",
3
3
  "description": "ZKsync Smart Sign On SDK",
4
- "version": "0.0.0-beta.7",
4
+ "version": "0.0.0-beta.8",
5
5
  "license": "MIT",
6
6
  "author": "Matter Labs",
7
7
  "repository": {
@@ -5,6 +5,7 @@ import { passkeyHashSignatureResponseFormat } from "../../utils/passkey.js";
5
5
  import { toPasskeyAccount } from "./account.js";
6
6
  import { requestPasskeyAuthentication } from "./actions/passkey.js";
7
7
  import { type ZksyncSsoPasskeyActions, zksyncSsoPasskeyActions } from "./decorators/passkey.js";
8
+ import { zksyncSsoPasskeyWalletActions } from "./decorators/wallet.js";
8
9
 
9
10
  export function createZksyncPasskeyClient<
10
11
  transport extends Transport,
@@ -47,7 +48,8 @@ export function createZksyncPasskeyClient<
47
48
  .extend(publicActions)
48
49
  .extend(walletActions)
49
50
  .extend(eip712WalletActions())
50
- .extend(zksyncSsoPasskeyActions);
51
+ .extend(zksyncSsoPasskeyActions)
52
+ .extend(zksyncSsoPasskeyWalletActions);
51
53
  return client;
52
54
  }
53
55
 
@@ -0,0 +1,52 @@
1
+ import { type Account, bytesToHex, type Chain, formatTransaction, type Transport, type WalletActions } from "viem";
2
+ import { deployContract, getAddresses, getChainId, sendRawTransaction, signMessage, signTypedData, writeContract } from "viem/actions";
3
+ import { signTransaction, type ZksyncEip712Meta } from "viem/zksync";
4
+
5
+ import { sendEip712Transaction } from "../../session/actions/sendEip712Transaction.js";
6
+ import type { ClientWithZksyncSsoPasskeyData } from "../client.js";
7
+
8
+ export type ZksyncSsoPasskeyWalletActions<chain extends Chain, account extends Account> = Omit<
9
+ WalletActions<chain, account>, "addChain" | "getPermissions" | "requestAddresses" | "requestPermissions" | "switchChain" | "watchAsset" | "prepareTransactionRequest"
10
+ >;
11
+
12
+ export function zksyncSsoPasskeyWalletActions<
13
+ transport extends Transport,
14
+ chain extends Chain,
15
+ account extends Account,
16
+ >(client: ClientWithZksyncSsoPasskeyData<transport, chain>): ZksyncSsoPasskeyWalletActions<chain, account> {
17
+ return {
18
+ deployContract: (args) => deployContract(client, args),
19
+ getAddresses: () => getAddresses(client),
20
+ getChainId: () => getChainId(client),
21
+ sendRawTransaction: (args) => sendRawTransaction(client, args),
22
+ sendTransaction: async (args) => {
23
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
24
+ const unformattedTx: any = Object.assign({}, args);
25
+
26
+ if ("eip712Meta" in unformattedTx) {
27
+ const eip712Meta = unformattedTx.eip712Meta as ZksyncEip712Meta;
28
+ unformattedTx.gasPerPubdata = eip712Meta.gasPerPubdata ? BigInt(eip712Meta.gasPerPubdata) : undefined;
29
+ unformattedTx.factoryDeps = eip712Meta.factoryDeps;
30
+ unformattedTx.customSignature = eip712Meta.customSignature;
31
+ unformattedTx.paymaster = eip712Meta.paymasterParams?.paymaster;
32
+ unformattedTx.paymasterInput = eip712Meta.paymasterParams?.paymasterInput ? bytesToHex(new Uint8Array(eip712Meta.paymasterParams?.paymasterInput)) : undefined;
33
+ delete unformattedTx.eip712Meta;
34
+ }
35
+
36
+ const formatters = client.chain?.formatters;
37
+ const format = formatters?.transaction?.format || formatTransaction;
38
+
39
+ const tx = {
40
+ ...format(unformattedTx),
41
+ type: "eip712",
42
+ };
43
+
44
+ return await sendEip712Transaction(client, tx);
45
+ },
46
+ signMessage: (args) => signMessage(client, args),
47
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
48
+ signTransaction: (args) => signTransaction(client, args as any),
49
+ signTypedData: (args) => signTypedData(client, args),
50
+ writeContract: (args) => writeContract(client, args),
51
+ };
52
+ }