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.
- package/dist/_cjs/client/recovery/actions/oidc.js +19 -5
- package/dist/_cjs/client/recovery/actions/oidc.js.map +1 -1
- package/dist/_esm/client/recovery/actions/oidc.js +22 -5
- package/dist/_esm/client/recovery/actions/oidc.js.map +1 -1
- package/dist/_types/client/recovery/actions/oidc.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/client/recovery/actions/oidc.ts +22 -6
|
@@ -12,21 +12,35 @@ const addOidcAccount = async (client, args) => {
|
|
|
12
12
|
functionName: "addOidcAccount",
|
|
13
13
|
args: [args.oidcDigest, args.iss],
|
|
14
14
|
});
|
|
15
|
-
const
|
|
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
|
-
|
|
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(
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
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;
|
|
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,
|
|
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
|
@@ -44,24 +44,40 @@ export const addOidcAccount = async <
|
|
|
44
44
|
functionName: "addOidcAccount",
|
|
45
45
|
args: [args.oidcDigest, args.iss],
|
|
46
46
|
});
|
|
47
|
-
|
|
48
|
-
const
|
|
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
|
-
|
|
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(
|
|
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,
|