zksync-sso 0.4.3 → 0.5.0-beta.2

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.
@@ -12,21 +12,35 @@ const addOidcAccount = async (client, args) => {
12
12
  functionName: "addOidcAccount",
13
13
  args: [args.oidcDigest, args.iss],
14
14
  });
15
- const sendTransactionArgs = {
15
+ const baseTxArgs = {
16
16
  account: client.account,
17
17
  to: args.contracts.recoveryOidc,
18
- paymaster: args.paymaster?.address,
19
- paymasterInput: args.paymaster?.address ? (args.paymaster?.paymasterInput || (0, zksync_1.getGeneralPaymasterInput)({ innerInput: "0x" })) : undefined,
20
18
  data: callData,
21
19
  gas: 10000000n,
22
20
  };
23
- const transactionHash = await (0, zksync_1.sendTransaction)(client, sendTransactionArgs);
21
+ let transactionHash;
22
+ if (args.paymaster?.address) {
23
+ const primaryTxArgs = {
24
+ ...baseTxArgs,
25
+ paymaster: args.paymaster.address,
26
+ paymasterInput: args.paymaster?.paymasterInput || (0, zksync_1.getGeneralPaymasterInput)({ innerInput: "0x" }),
27
+ };
28
+ try {
29
+ transactionHash = await (0, zksync_1.sendTransaction)(client, primaryTxArgs);
30
+ }
31
+ catch {
32
+ transactionHash = await (0, zksync_1.sendTransaction)(client, baseTxArgs);
33
+ }
34
+ }
35
+ else {
36
+ transactionHash = await (0, zksync_1.sendTransaction)(client, baseTxArgs);
37
+ }
24
38
  if (args.onTransactionSent) {
25
39
  (0, helpers_js_1.noThrow)(() => args.onTransactionSent?.(transactionHash));
26
40
  }
27
41
  const transactionReceipt = await (0, actions_1.waitForTransactionReceipt)(client, { hash: transactionHash });
28
42
  if (transactionReceipt.status !== "success")
29
- throw new Error("addOidcAccount transaction reverted");
43
+ throw new Error(`addOidcAccount transaction reverted: status=${transactionReceipt.status}, transactionHash=${transactionReceipt.transactionHash}, blockHash=${transactionReceipt.blockHash}`);
30
44
  return {
31
45
  transactionReceipt,
32
46
  };
@@ -1 +1 @@
1
- {"version":3,"file":"oidc.js","sourceRoot":"","sources":["../../../../../src/client/recovery/actions/oidc.ts"],"names":[],"mappings":";;;AAAA,+BAWc;AACd,0CAAyD;AACzD,wCAGqB;AAErB,oDAAiE;AACjE,0DAAoD;AAiB7C,MAAM,cAAc,GAAG,KAAK,EAIjC,MAAyC,EAAE,IAAkC,EAA+C,EAAE;IAC9H,MAAM,QAAQ,GAAG,IAAA,yBAAkB,EAAC;QAClC,GAAG,EAAE,mCAAwB;QAC7B,YAAY,EAAE,gBAAgB;QAC9B,IAAI,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC;KAClC,CAAC,CAAC;IAEH,MAAM,mBAAmB,GAAG;QAC1B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY;QAC/B,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO;QAClC,cAAc,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,IAAI,IAAA,iCAAwB,EAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QACxI,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,SAAW;KAEV,CAAC;IAET,MAAM,eAAe,GAAG,MAAM,IAAA,wBAAe,EAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC3E,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,IAAA,oBAAO,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,kBAAkB,GAAG,MAAM,IAAA,mCAAyB,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;IAC9F,IAAI,kBAAkB,CAAC,MAAM,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAEpG,OAAO;QACL,kBAAkB;KACnB,CAAC;AACJ,CAAC,CAAC;AAhCW,QAAA,cAAc,kBAgCzB;AAQK,MAAM,iBAAiB,GAAG,KAAK,EAIpC,MAAyC,EAAE,IAAqC,EAA+B,EAAE;IACjH,MAAM,QAAQ,GAAG,IAAA,yBAAkB,EAAC;QAClC,GAAG,EAAE,mCAAwB;QAC7B,YAAY,EAAE,mBAAmB;QACjC,IAAI,EAAE,EAAE;KACT,CAAC,CAAC;IAEH,MAAM,mBAAmB,GAAG;QAC1B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY;QAC/B,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,SAAW;QAChB,IAAI,EAAE,QAAQ;KAER,CAAC;IAET,MAAM,eAAe,GAAG,MAAM,IAAA,wBAAe,EAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAE3E,MAAM,kBAAkB,GAAG,MAAM,IAAA,mCAAyB,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;IAC9F,IAAI,kBAAkB,CAAC,MAAM,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAEvG,OAAO,kBAAkB,CAAC;AAC5B,CAAC,CAAC;AA1BW,QAAA,iBAAiB,qBA0B5B"}
1
+ {"version":3,"file":"oidc.js","sourceRoot":"","sources":["../../../../../src/client/recovery/actions/oidc.ts"],"names":[],"mappings":"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"}
@@ -9,22 +9,39 @@ export const addOidcAccount = async (client, args) => {
9
9
  functionName: "addOidcAccount",
10
10
  args: [args.oidcDigest, args.iss],
11
11
  });
12
- const sendTransactionArgs = {
12
+ // Base transaction args (used for fallback as well)
13
+ const baseTxArgs = {
13
14
  account: client.account,
14
15
  to: args.contracts.recoveryOidc,
15
- paymaster: args.paymaster?.address,
16
- paymasterInput: args.paymaster?.address ? (args.paymaster?.paymasterInput || getGeneralPaymasterInput({ innerInput: "0x" })) : undefined,
17
16
  data: callData,
18
17
  gas: 10000000n, // TODO: Remove when gas estimation is fixed
19
18
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
20
19
  };
21
- const transactionHash = await sendTransaction(client, sendTransactionArgs);
20
+ let transactionHash;
21
+ if (args.paymaster?.address) {
22
+ const primaryTxArgs = {
23
+ ...baseTxArgs,
24
+ paymaster: args.paymaster.address,
25
+ paymasterInput: args.paymaster?.paymasterInput || getGeneralPaymasterInput({ innerInput: "0x" }),
26
+ };
27
+ try {
28
+ transactionHash = await sendTransaction(client, primaryTxArgs);
29
+ }
30
+ catch {
31
+ // Paymaster transaction failed, falling back to base transaction.
32
+ transactionHash = await sendTransaction(client, baseTxArgs);
33
+ }
34
+ }
35
+ else {
36
+ transactionHash = await sendTransaction(client, baseTxArgs);
37
+ }
22
38
  if (args.onTransactionSent) {
23
39
  noThrow(() => args.onTransactionSent?.(transactionHash));
24
40
  }
25
41
  const transactionReceipt = await waitForTransactionReceipt(client, { hash: transactionHash });
26
42
  if (transactionReceipt.status !== "success")
27
- throw new Error("addOidcAccount transaction reverted");
43
+ throw new Error(`addOidcAccount transaction reverted: status=${transactionReceipt.status}, transactionHash=${transactionReceipt.transactionHash}, blockHash=${transactionReceipt.blockHash}`);
44
+ // (Optional) Could expose whether fallback was used in the future without breaking change by adding to return type.
28
45
  return {
29
46
  transactionReceipt,
30
47
  };
@@ -1 +1 @@
1
- {"version":3,"file":"oidc.js","sourceRoot":"","sources":["../../../../../src/client/recovery/actions/oidc.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,kBAAkB,GAMnB,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EACL,wBAAwB,EACxB,eAAe,GAChB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAiBpD,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAIjC,MAAyC,EAAE,IAAkC,EAA+C,EAAE;IAC9H,MAAM,QAAQ,GAAG,kBAAkB,CAAC;QAClC,GAAG,EAAE,wBAAwB;QAC7B,YAAY,EAAE,gBAAgB;QAC9B,IAAI,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC;KAClC,CAAC,CAAC;IAEH,MAAM,mBAAmB,GAAG;QAC1B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY;QAC/B,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO;QAClC,cAAc,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,IAAI,wBAAwB,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QACxI,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,SAAW,EAAE,4CAA4C;QAC9D,8DAA8D;KACxD,CAAC;IAET,MAAM,eAAe,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC3E,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC3B,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,kBAAkB,GAAG,MAAM,yBAAyB,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;IAC9F,IAAI,kBAAkB,CAAC,MAAM,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAEpG,OAAO;QACL,kBAAkB;KACnB,CAAC;AACJ,CAAC,CAAC;AAQF,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAIpC,MAAyC,EAAE,IAAqC,EAA+B,EAAE;IACjH,MAAM,QAAQ,GAAG,kBAAkB,CAAC;QAClC,GAAG,EAAE,wBAAwB;QAC7B,YAAY,EAAE,mBAAmB;QACjC,IAAI,EAAE,EAAE;KACT,CAAC,CAAC;IAEH,MAAM,mBAAmB,GAAG;QAC1B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY;QAC/B,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,SAAW,EAAE,4CAA4C;QAC9D,IAAI,EAAE,QAAQ;QACd,8DAA8D;KACxD,CAAC;IAET,MAAM,eAAe,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAE3E,MAAM,kBAAkB,GAAG,MAAM,yBAAyB,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;IAC9F,IAAI,kBAAkB,CAAC,MAAM,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAEvG,OAAO,kBAAkB,CAAC;AAC5B,CAAC,CAAC"}
1
+ {"version":3,"file":"oidc.js","sourceRoot":"","sources":["../../../../../src/client/recovery/actions/oidc.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"oidc.d.ts","sourceRoot":"","sources":["../../../../../src/client/recovery/actions/oidc.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,MAAM,EAEX,KAAK,IAAI,EACT,KAAK,GAAG,EACR,KAAK,QAAQ,EACb,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACf,MAAM,MAAM,CAAC;AAUd,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE;QACT,YAAY,EAAE,OAAO,CAAC;KACvB,CAAC;IACF,SAAS,CAAC,EAAE;QACV,OAAO,EAAE,OAAO,CAAC;QACjB,cAAc,CAAC,EAAE,GAAG,CAAC;KACtB,CAAC;IACF,UAAU,EAAE,GAAG,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;CAC1C,CAAC;AACF,MAAM,MAAM,wBAAwB,GAAG;IACrC,kBAAkB,EAAE,kBAAkB,CAAC;CACxC,CAAC;AACF,eAAO,MAAM,cAAc,GACzB,SAAS,SAAS,SAAS,EAC3B,KAAK,SAAS,KAAK,EACnB,OAAO,SAAS,OAAO,UACf,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,QAAQ,CAAC,kBAAkB,CAAC,KAAG,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CA4B3H,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,EAAE;QACT,YAAY,EAAE,OAAO,CAAC;KACvB,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,SAAS,SAAS,SAAS,EAC3B,KAAK,SAAS,KAAK,EACnB,OAAO,SAAS,OAAO,UACf,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,QAAQ,CAAC,qBAAqB,CAAC,KAAG,OAAO,CAAC,kBAAkB,CAsB9G,CAAC"}
1
+ {"version":3,"file":"oidc.d.ts","sourceRoot":"","sources":["../../../../../src/client/recovery/actions/oidc.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,MAAM,EAEX,KAAK,IAAI,EACT,KAAK,GAAG,EACR,KAAK,QAAQ,EACb,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACf,MAAM,MAAM,CAAC;AAUd,MAAM,MAAM,kBAAkB,GAAG;IAC/B,SAAS,EAAE;QACT,YAAY,EAAE,OAAO,CAAC;KACvB,CAAC;IACF,SAAS,CAAC,EAAE;QACV,OAAO,EAAE,OAAO,CAAC;QACjB,cAAc,CAAC,EAAE,GAAG,CAAC;KACtB,CAAC;IACF,UAAU,EAAE,GAAG,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;CAC1C,CAAC;AACF,MAAM,MAAM,wBAAwB,GAAG;IACrC,kBAAkB,EAAE,kBAAkB,CAAC;CACxC,CAAC;AACF,eAAO,MAAM,cAAc,GACzB,SAAS,SAAS,SAAS,EAC3B,KAAK,SAAS,KAAK,EACnB,OAAO,SAAS,OAAO,UACf,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,QAAQ,CAAC,kBAAkB,CAAC,KAAG,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CA4C3H,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,EAAE;QACT,YAAY,EAAE,OAAO,CAAC;KACvB,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,SAAS,SAAS,SAAS,EAC3B,KAAK,SAAS,KAAK,EACnB,OAAO,SAAS,OAAO,UACf,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,QAAQ,CAAC,qBAAqB,CAAC,KAAG,OAAO,CAAC,kBAAkB,CAsB9G,CAAC"}
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.4.3",
4
+ "version": "0.5.0-beta.2",
5
5
  "license": "MIT",
6
6
  "author": "Matter Labs",
7
7
  "repository": {
@@ -44,24 +44,40 @@ export const addOidcAccount = async <
44
44
  functionName: "addOidcAccount",
45
45
  args: [args.oidcDigest, args.iss],
46
46
  });
47
-
48
- const sendTransactionArgs = {
47
+ // Base transaction args (used for fallback as well)
48
+ const baseTxArgs = {
49
49
  account: client.account,
50
50
  to: args.contracts.recoveryOidc,
51
- paymaster: args.paymaster?.address,
52
- paymasterInput: args.paymaster?.address ? (args.paymaster?.paymasterInput || getGeneralPaymasterInput({ innerInput: "0x" })) : undefined,
53
51
  data: callData,
54
52
  gas: 10_000_000n, // TODO: Remove when gas estimation is fixed
55
53
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
56
54
  } as any;
57
55
 
58
- const transactionHash = await sendTransaction(client, sendTransactionArgs);
56
+ let transactionHash: Hash;
57
+ if (args.paymaster?.address) {
58
+ const primaryTxArgs = {
59
+ ...baseTxArgs,
60
+ paymaster: args.paymaster.address,
61
+ paymasterInput: args.paymaster?.paymasterInput || getGeneralPaymasterInput({ innerInput: "0x" }),
62
+ };
63
+ try {
64
+ transactionHash = await sendTransaction(client, primaryTxArgs);
65
+ } catch {
66
+ // Paymaster transaction failed, falling back to base transaction.
67
+ transactionHash = await sendTransaction(client, baseTxArgs);
68
+ }
69
+ } else {
70
+ transactionHash = await sendTransaction(client, baseTxArgs);
71
+ }
72
+
59
73
  if (args.onTransactionSent) {
60
74
  noThrow(() => args.onTransactionSent?.(transactionHash));
61
75
  }
62
76
 
63
77
  const transactionReceipt = await waitForTransactionReceipt(client, { hash: transactionHash });
64
- if (transactionReceipt.status !== "success") throw new Error("addOidcAccount transaction reverted");
78
+ if (transactionReceipt.status !== "success") throw new Error(`addOidcAccount transaction reverted: status=${transactionReceipt.status}, transactionHash=${transactionReceipt.transactionHash}, blockHash=${transactionReceipt.blockHash}`);
79
+
80
+ // (Optional) Could expose whether fallback was used in the future without breaking change by adding to return type.
65
81
 
66
82
  return {
67
83
  transactionReceipt,