@safe-global/protocol-kit 4.1.1 → 5.0.0
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/src/Safe.d.ts +12 -17
- package/dist/src/Safe.js +159 -112
- package/dist/src/Safe.js.map +1 -1
- package/dist/src/SafeProvider.d.ts +11 -20
- package/dist/src/SafeProvider.js +141 -90
- package/dist/src/SafeProvider.js.map +1 -1
- package/dist/src/contracts/BaseContract.d.ts +26 -6
- package/dist/src/contracts/BaseContract.js +101 -14
- package/dist/src/contracts/BaseContract.js.map +1 -1
- package/dist/src/contracts/CompatibilityFallbackHandler/CompatibilityFallbackHandlerBaseContract.d.ts +5 -4
- package/dist/src/contracts/CompatibilityFallbackHandler/CompatibilityFallbackHandlerBaseContract.js +3 -2
- package/dist/src/contracts/CompatibilityFallbackHandler/CompatibilityFallbackHandlerBaseContract.js.map +1 -1
- package/dist/src/contracts/CompatibilityFallbackHandler/v1.3.0/CompatibilityFallbackHandlerContract_v1_3_0.d.ts +4 -3
- package/dist/src/contracts/CompatibilityFallbackHandler/v1.3.0/CompatibilityFallbackHandlerContract_v1_3_0.js +5 -5
- package/dist/src/contracts/CompatibilityFallbackHandler/v1.3.0/CompatibilityFallbackHandlerContract_v1_3_0.js.map +1 -1
- package/dist/src/contracts/CompatibilityFallbackHandler/v1.4.1/CompatibilityFallbackHandlerContract_v1_4_1.d.ts +4 -3
- package/dist/src/contracts/CompatibilityFallbackHandler/v1.4.1/CompatibilityFallbackHandlerContract_v1_4_1.js +5 -5
- package/dist/src/contracts/CompatibilityFallbackHandler/v1.4.1/CompatibilityFallbackHandlerContract_v1_4_1.js.map +1 -1
- package/dist/src/contracts/CreateCall/CreateCallBaseContract.d.ts +5 -4
- package/dist/src/contracts/CreateCall/CreateCallBaseContract.js +3 -2
- package/dist/src/contracts/CreateCall/CreateCallBaseContract.js.map +1 -1
- package/dist/src/contracts/CreateCall/v1.3.0/CreateCallContract_v1_3_0.d.ts +4 -3
- package/dist/src/contracts/CreateCall/v1.3.0/CreateCallContract_v1_3_0.js +7 -9
- package/dist/src/contracts/CreateCall/v1.3.0/CreateCallContract_v1_3_0.js.map +1 -1
- package/dist/src/contracts/CreateCall/v1.4.1/CreateCallContract_v1_4_1.d.ts +4 -3
- package/dist/src/contracts/CreateCall/v1.4.1/CreateCallContract_v1_4_1.js +7 -9
- package/dist/src/contracts/CreateCall/v1.4.1/CreateCallContract_v1_4_1.js.map +1 -1
- package/dist/src/contracts/MultiSend/MultiSendBaseContract.d.ts +5 -4
- package/dist/src/contracts/MultiSend/MultiSendBaseContract.js +3 -2
- package/dist/src/contracts/MultiSend/MultiSendBaseContract.js.map +1 -1
- package/dist/src/contracts/MultiSend/MultiSendCallOnlyBaseContract.d.ts +5 -4
- package/dist/src/contracts/MultiSend/MultiSendCallOnlyBaseContract.js +3 -2
- package/dist/src/contracts/MultiSend/MultiSendCallOnlyBaseContract.js.map +1 -1
- package/dist/src/contracts/MultiSend/v1.1.1/MultiSendContract_v1_1_1.d.ts +4 -3
- package/dist/src/contracts/MultiSend/v1.1.1/MultiSendContract_v1_1_1.js +5 -5
- package/dist/src/contracts/MultiSend/v1.1.1/MultiSendContract_v1_1_1.js.map +1 -1
- package/dist/src/contracts/MultiSend/v1.3.0/MultiSendCallOnlyContract_v1_3_0.d.ts +4 -3
- package/dist/src/contracts/MultiSend/v1.3.0/MultiSendCallOnlyContract_v1_3_0.js +5 -5
- package/dist/src/contracts/MultiSend/v1.3.0/MultiSendCallOnlyContract_v1_3_0.js.map +1 -1
- package/dist/src/contracts/MultiSend/v1.3.0/MultiSendContract_v1_3_0.d.ts +4 -3
- package/dist/src/contracts/MultiSend/v1.3.0/MultiSendContract_v1_3_0.js +5 -5
- package/dist/src/contracts/MultiSend/v1.3.0/MultiSendContract_v1_3_0.js.map +1 -1
- package/dist/src/contracts/MultiSend/v1.4.1/MultiSendCallOnlyContract_v1_4_1.d.ts +4 -3
- package/dist/src/contracts/MultiSend/v1.4.1/MultiSendCallOnlyContract_v1_4_1.js +5 -5
- package/dist/src/contracts/MultiSend/v1.4.1/MultiSendCallOnlyContract_v1_4_1.js.map +1 -1
- package/dist/src/contracts/MultiSend/v1.4.1/MultiSendContract_v1_4_1.d.ts +4 -3
- package/dist/src/contracts/MultiSend/v1.4.1/MultiSendContract_v1_4_1.js +5 -5
- package/dist/src/contracts/MultiSend/v1.4.1/MultiSendContract_v1_4_1.js.map +1 -1
- package/dist/src/contracts/Safe/SafeBaseContract.d.ts +5 -4
- package/dist/src/contracts/Safe/SafeBaseContract.js +3 -2
- package/dist/src/contracts/Safe/SafeBaseContract.js.map +1 -1
- package/dist/src/contracts/Safe/v1.0.0/SafeContract_v1_0_0.d.ts +7 -11
- package/dist/src/contracts/Safe/v1.0.0/SafeContract_v1_0_0.js +64 -42
- package/dist/src/contracts/Safe/v1.0.0/SafeContract_v1_0_0.js.map +1 -1
- package/dist/src/contracts/Safe/v1.1.1/SafeContract_v1_1_1.d.ts +4 -9
- package/dist/src/contracts/Safe/v1.1.1/SafeContract_v1_1_1.js +61 -39
- package/dist/src/contracts/Safe/v1.1.1/SafeContract_v1_1_1.js.map +1 -1
- package/dist/src/contracts/Safe/v1.2.0/SafeContract_v1_2_0.d.ts +5 -10
- package/dist/src/contracts/Safe/v1.2.0/SafeContract_v1_2_0.js +63 -41
- package/dist/src/contracts/Safe/v1.2.0/SafeContract_v1_2_0.js.map +1 -1
- package/dist/src/contracts/Safe/v1.3.0/SafeContract_v1_3_0.d.ts +5 -10
- package/dist/src/contracts/Safe/v1.3.0/SafeContract_v1_3_0.js +63 -41
- package/dist/src/contracts/Safe/v1.3.0/SafeContract_v1_3_0.js.map +1 -1
- package/dist/src/contracts/Safe/v1.4.1/SafeContract_v1_4_1.d.ts +5 -10
- package/dist/src/contracts/Safe/v1.4.1/SafeContract_v1_4_1.js +63 -41
- package/dist/src/contracts/Safe/v1.4.1/SafeContract_v1_4_1.js.map +1 -1
- package/dist/src/contracts/SafeProxyFactory/SafeProxyFactoryBaseContract.d.ts +5 -7
- package/dist/src/contracts/SafeProxyFactory/SafeProxyFactoryBaseContract.js +3 -2
- package/dist/src/contracts/SafeProxyFactory/SafeProxyFactoryBaseContract.js.map +1 -1
- package/dist/src/contracts/SafeProxyFactory/v1.0.0/SafeProxyFactoryContract_v1_0_0.d.ts +5 -11
- package/dist/src/contracts/SafeProxyFactory/v1.0.0/SafeProxyFactoryContract_v1_0_0.js +9 -38
- package/dist/src/contracts/SafeProxyFactory/v1.0.0/SafeProxyFactoryContract_v1_0_0.js.map +1 -1
- package/dist/src/contracts/SafeProxyFactory/v1.1.1/SafeProxyFactoryContract_v1_1_1.d.ts +6 -12
- package/dist/src/contracts/SafeProxyFactory/v1.1.1/SafeProxyFactoryContract_v1_1_1.js +12 -41
- package/dist/src/contracts/SafeProxyFactory/v1.1.1/SafeProxyFactoryContract_v1_1_1.js.map +1 -1
- package/dist/src/contracts/SafeProxyFactory/v1.3.0/SafeProxyFactoryContract_v1_3_0.d.ts +5 -11
- package/dist/src/contracts/SafeProxyFactory/v1.3.0/SafeProxyFactoryContract_v1_3_0.js +11 -40
- package/dist/src/contracts/SafeProxyFactory/v1.3.0/SafeProxyFactoryContract_v1_3_0.js.map +1 -1
- package/dist/src/contracts/SafeProxyFactory/v1.4.1/SafeProxyFactoryContract_v1_4_1.d.ts +5 -11
- package/dist/src/contracts/SafeProxyFactory/v1.4.1/SafeProxyFactoryContract_v1_4_1.js +10 -39
- package/dist/src/contracts/SafeProxyFactory/v1.4.1/SafeProxyFactoryContract_v1_4_1.js.map +1 -1
- package/dist/src/contracts/SafeWebAuthnSharedSigner/SafeWebAuthnSharedSignerBaseContract.d.ts +5 -7
- package/dist/src/contracts/SafeWebAuthnSharedSigner/SafeWebAuthnSharedSignerBaseContract.js +3 -2
- package/dist/src/contracts/SafeWebAuthnSharedSigner/SafeWebAuthnSharedSignerBaseContract.js.map +1 -1
- package/dist/src/contracts/SafeWebAuthnSharedSigner/v0.2.1/SafeWebAuthnSharedSignerContract_v0_2_1.d.ts +4 -3
- package/dist/src/contracts/SafeWebAuthnSharedSigner/v0.2.1/SafeWebAuthnSharedSignerContract_v0_2_1.js +9 -9
- package/dist/src/contracts/SafeWebAuthnSharedSigner/v0.2.1/SafeWebAuthnSharedSignerContract_v0_2_1.js.map +1 -1
- package/dist/src/contracts/SafeWebAuthnSignerFactory/SafeWebAuthnSignerFactoryBaseContract.d.ts +5 -7
- package/dist/src/contracts/SafeWebAuthnSignerFactory/SafeWebAuthnSignerFactoryBaseContract.js +3 -2
- package/dist/src/contracts/SafeWebAuthnSignerFactory/SafeWebAuthnSignerFactoryBaseContract.js.map +1 -1
- package/dist/src/contracts/SafeWebAuthnSignerFactory/v0.2.1/SafeWebAuthnSignerFactoryContract_v0_2_1.d.ts +4 -3
- package/dist/src/contracts/SafeWebAuthnSignerFactory/v0.2.1/SafeWebAuthnSignerFactoryContract_v0_2_1.js +8 -8
- package/dist/src/contracts/SafeWebAuthnSignerFactory/v0.2.1/SafeWebAuthnSignerFactoryContract_v0_2_1.js.map +1 -1
- package/dist/src/contracts/SignMessageLib/SignMessageLibBaseContract.d.ts +5 -4
- package/dist/src/contracts/SignMessageLib/SignMessageLibBaseContract.js +3 -2
- package/dist/src/contracts/SignMessageLib/SignMessageLibBaseContract.js.map +1 -1
- package/dist/src/contracts/SignMessageLib/v1.3.0/SignMessageLibContract_v1_3_0.d.ts +4 -3
- package/dist/src/contracts/SignMessageLib/v1.3.0/SignMessageLibContract_v1_3_0.js +7 -8
- package/dist/src/contracts/SignMessageLib/v1.3.0/SignMessageLibContract_v1_3_0.js.map +1 -1
- package/dist/src/contracts/SignMessageLib/v1.4.1/SignMessageLibContract_v1_4_1.d.ts +4 -3
- package/dist/src/contracts/SignMessageLib/v1.4.1/SignMessageLibContract_v1_4_1.js +7 -8
- package/dist/src/contracts/SignMessageLib/v1.4.1/SignMessageLibContract_v1_4_1.js.map +1 -1
- package/dist/src/contracts/SimulateTxAccessor/SimulateTxAccessorBaseContract.d.ts +5 -4
- package/dist/src/contracts/SimulateTxAccessor/SimulateTxAccessorBaseContract.js +3 -2
- package/dist/src/contracts/SimulateTxAccessor/SimulateTxAccessorBaseContract.js.map +1 -1
- package/dist/src/contracts/SimulateTxAccessor/v1.3.0/SimulateTxAccessorContract_v1_3_0.d.ts +4 -3
- package/dist/src/contracts/SimulateTxAccessor/v1.3.0/SimulateTxAccessorContract_v1_3_0.js +9 -7
- package/dist/src/contracts/SimulateTxAccessor/v1.3.0/SimulateTxAccessorContract_v1_3_0.js.map +1 -1
- package/dist/src/contracts/SimulateTxAccessor/v1.4.1/SimulateTxAccessorContract_v1_4_1.d.ts +4 -3
- package/dist/src/contracts/SimulateTxAccessor/v1.4.1/SimulateTxAccessorContract_v1_4_1.js +9 -7
- package/dist/src/contracts/SimulateTxAccessor/v1.4.1/SimulateTxAccessorContract_v1_4_1.js.map +1 -1
- package/dist/src/contracts/config.d.ts +8 -1
- package/dist/src/contracts/config.js +47 -16
- package/dist/src/contracts/config.js.map +1 -1
- package/dist/src/contracts/constants.d.ts +4 -3
- package/dist/src/contracts/constants.js +2 -1
- package/dist/src/contracts/constants.js.map +1 -1
- package/dist/src/contracts/contractInstances.d.ts +13 -12
- package/dist/src/contracts/contractInstances.js +34 -34
- package/dist/src/contracts/contractInstances.js.map +1 -1
- package/dist/src/contracts/safeDeploymentContracts.d.ts +6 -5
- package/dist/src/contracts/safeDeploymentContracts.js +26 -66
- package/dist/src/contracts/safeDeploymentContracts.js.map +1 -1
- package/dist/src/contracts/utils.d.ts +35 -13
- package/dist/src/contracts/utils.js +136 -55
- package/dist/src/contracts/utils.js.map +1 -1
- package/dist/src/index.d.ts +10 -6
- package/dist/src/index.js +7 -9
- package/dist/src/index.js.map +1 -1
- package/dist/src/managers/contractManager.js +12 -17
- package/dist/src/managers/contractManager.js.map +1 -1
- package/dist/src/managers/fallbackHandlerManager.js +5 -4
- package/dist/src/managers/fallbackHandlerManager.js.map +1 -1
- package/dist/src/managers/guardManager.js +5 -4
- package/dist/src/managers/guardManager.js.map +1 -1
- package/dist/src/types/contracts.d.ts +13 -13
- package/dist/src/types/index.d.ts +0 -1
- package/dist/src/types/index.js +0 -1
- package/dist/src/types/index.js.map +1 -1
- package/dist/src/types/safeConfig.d.ts +3 -1
- package/dist/src/types/safeProvider.d.ts +33 -5
- package/dist/src/types/transactions.d.ts +1 -1
- package/dist/src/utils/address.d.ts +1 -1
- package/dist/src/utils/address.js +1 -1
- package/dist/src/utils/address.js.map +1 -1
- package/dist/src/utils/block.d.ts +6 -0
- package/dist/src/utils/block.js +14 -0
- package/dist/src/utils/block.js.map +1 -0
- package/dist/src/utils/constants.d.ts +4 -3
- package/dist/src/utils/constants.js +2 -1
- package/dist/src/utils/constants.js.map +1 -1
- package/dist/src/utils/eip-3770/index.d.ts +1 -1
- package/dist/src/utils/eip-3770/index.js +2 -3
- package/dist/src/utils/eip-3770/index.js.map +1 -1
- package/dist/src/utils/eip-712/encode.d.ts +3 -0
- package/dist/src/utils/eip-712/encode.js +127 -0
- package/dist/src/utils/eip-712/encode.js.map +1 -0
- package/dist/src/utils/eip-712/index.d.ts +1 -1
- package/dist/src/utils/eip-712/index.js +5 -7
- package/dist/src/utils/eip-712/index.js.map +1 -1
- package/dist/src/utils/erc-20/index.d.ts +1 -1
- package/dist/src/utils/erc-20/index.js +12 -5
- package/dist/src/utils/erc-20/index.js.map +1 -1
- package/dist/src/utils/messages/SafeMessage.d.ts +1 -1
- package/dist/src/utils/passkeys/PasskeyClient.d.ts +5 -0
- package/dist/src/utils/passkeys/PasskeyClient.js +156 -0
- package/dist/src/utils/passkeys/PasskeyClient.js.map +1 -0
- package/dist/src/utils/passkeys/createPasskeyDeploymentTransaction.d.ts +2 -1
- package/dist/src/utils/passkeys/createPasskeyDeploymentTransaction.js +12 -12
- package/dist/src/utils/passkeys/createPasskeyDeploymentTransaction.js.map +1 -1
- package/dist/src/utils/passkeys/extractPasskeyData.d.ts +1 -2
- package/dist/src/utils/passkeys/extractPasskeyData.js +8 -15
- package/dist/src/utils/passkeys/extractPasskeyData.js.map +1 -1
- package/dist/src/utils/passkeys/getPasskeyOwnerAddress.js +10 -3
- package/dist/src/utils/passkeys/getPasskeyOwnerAddress.js.map +1 -1
- package/dist/src/utils/passkeys/index.d.ts +1 -1
- package/dist/src/utils/passkeys/index.js +1 -1
- package/dist/src/utils/passkeys/isSharedSigner.d.ts +2 -3
- package/dist/src/utils/passkeys/isSharedSigner.js +6 -5
- package/dist/src/utils/passkeys/isSharedSigner.js.map +1 -1
- package/dist/src/utils/provider.d.ts +3 -0
- package/dist/src/utils/provider.js +12 -0
- package/dist/src/utils/provider.js.map +1 -0
- package/dist/src/utils/safeVersions.js +2 -2
- package/dist/src/utils/safeVersions.js.map +1 -1
- package/dist/src/utils/signatures/SafeSignature.d.ts +1 -1
- package/dist/src/utils/signatures/utils.d.ts +4 -4
- package/dist/src/utils/signatures/utils.js +34 -20
- package/dist/src/utils/signatures/utils.js.map +1 -1
- package/dist/src/utils/transactions/SafeTransaction.d.ts +1 -1
- package/dist/src/utils/transactions/SafeTransaction.js.map +1 -1
- package/dist/src/utils/transactions/gas.d.ts +1 -1
- package/dist/src/utils/transactions/gas.js +37 -64
- package/dist/src/utils/transactions/gas.js.map +1 -1
- package/dist/src/utils/transactions/types.d.ts +17 -1
- package/dist/src/utils/transactions/utils.d.ts +11 -2
- package/dist/src/utils/transactions/utils.js +117 -27
- package/dist/src/utils/transactions/utils.js.map +1 -1
- package/dist/src/utils/types.d.ts +4 -0
- package/dist/src/utils/types.js +59 -1
- package/dist/src/utils/types.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +25 -34
- package/dist/src/SafeFactory.d.ts +0 -15
- package/dist/src/SafeFactory.js +0 -136
- package/dist/src/SafeFactory.js.map +0 -1
- package/dist/src/types/safeFactory.d.ts +0 -31
- package/dist/src/types/safeFactory.js +0 -3
- package/dist/src/types/safeFactory.js.map +0 -1
- package/dist/src/utils/passkeys/PasskeySigner.d.ts +0 -63
- package/dist/src/utils/passkeys/PasskeySigner.js +0 -163
- package/dist/src/utils/passkeys/PasskeySigner.js.map +0 -1
|
@@ -12,12 +12,19 @@ const SafeProvider_1 = __importDefault(require("../../SafeProvider"));
|
|
|
12
12
|
* @returns {Promise<string>} Returns the passkey owner address associated with the passkey
|
|
13
13
|
*/
|
|
14
14
|
async function getPasskeyOwnerAddress(safe, passkey) {
|
|
15
|
-
const safeVersion =
|
|
15
|
+
const safeVersion = safe.getContractVersion();
|
|
16
16
|
const safeAddress = await safe.getAddress();
|
|
17
17
|
const owners = await safe.getOwners();
|
|
18
|
-
const safePasskeyProvider = await SafeProvider_1.default.init(
|
|
18
|
+
const safePasskeyProvider = await SafeProvider_1.default.init({
|
|
19
|
+
provider: safe.getSafeProvider().provider,
|
|
20
|
+
signer: passkey,
|
|
21
|
+
safeVersion,
|
|
22
|
+
contractNetworks: safe.getContractManager().contractNetworks,
|
|
23
|
+
safeAddress,
|
|
24
|
+
owners
|
|
25
|
+
});
|
|
19
26
|
const passkeySigner = await safePasskeyProvider.getExternalSigner();
|
|
20
|
-
const passkeyOwnerAddress =
|
|
27
|
+
const passkeyOwnerAddress = passkeySigner.account.address;
|
|
21
28
|
return passkeyOwnerAddress;
|
|
22
29
|
}
|
|
23
30
|
exports.default = getPasskeyOwnerAddress;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPasskeyOwnerAddress.js","sourceRoot":"","sources":["../../../../src/utils/passkeys/getPasskeyOwnerAddress.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"getPasskeyOwnerAddress.js","sourceRoot":"","sources":["../../../../src/utils/passkeys/getPasskeyOwnerAddress.ts"],"names":[],"mappings":";;;;;AACA,0FAAiE;AAGjE;;;;;;GAMG;AACH,KAAK,UAAU,sBAAsB,CAAC,IAAU,EAAE,OAAuB;IACvE,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAA;IAC7C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;IAC3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAA;IAErC,MAAM,mBAAmB,GAAG,MAAM,sBAAY,CAAC,IAAI,CAAC;QAClD,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,QAAQ;QACzC,MAAM,EAAE,OAAO;QACf,WAAW;QACX,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,gBAAgB;QAC5D,WAAW;QACX,MAAM;KACP,CAAC,CAAA;IAEF,MAAM,aAAa,GAAG,MAAM,mBAAmB,CAAC,iBAAiB,EAAE,CAAA;IAEnE,MAAM,mBAAmB,GAAG,aAAc,CAAC,OAAO,CAAC,OAAO,CAAA;IAE1D,OAAO,mBAAmB,CAAA;AAC5B,CAAC;AAED,kBAAe,sBAAsB,CAAA"}
|
|
@@ -15,6 +15,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./extractPasskeyData"), exports);
|
|
18
|
-
__exportStar(require("./
|
|
18
|
+
__exportStar(require("./PasskeyClient"), exports);
|
|
19
19
|
__exportStar(require("./getPasskeyOwnerAddress"), exports);
|
|
20
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { PasskeyArgType } from '../../types
|
|
2
|
-
import { SafeWebAuthnSharedSignerContractImplementationType } from '../../types/contracts';
|
|
1
|
+
import { PasskeyArgType, SafeWebAuthnSharedSignerContractImplementationType } from '../../types';
|
|
3
2
|
/**
|
|
4
3
|
* Returns true if the passkey signer is a shared signer
|
|
5
|
-
* @returns {Promise<
|
|
4
|
+
* @returns {Promise<boolean>} A promise that resolves to the signer's address.
|
|
6
5
|
*/
|
|
7
6
|
declare function isSharedSigner(passkey: PasskeyArgType, safeWebAuthnSharedSignerContract: SafeWebAuthnSharedSignerContractImplementationType, safeAddress: string, owners: string[], chainId: string): Promise<boolean>;
|
|
8
7
|
export default isSharedSigner;
|
|
@@ -1,22 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const extractPasskeyData_1 = require("./extractPasskeyData");
|
|
4
|
+
const types_1 = require("../../utils/types");
|
|
4
5
|
/**
|
|
5
6
|
* Returns true if the passkey signer is a shared signer
|
|
6
|
-
* @returns {Promise<
|
|
7
|
+
* @returns {Promise<boolean>} A promise that resolves to the signer's address.
|
|
7
8
|
*/
|
|
8
9
|
async function isSharedSigner(passkey, safeWebAuthnSharedSignerContract, safeAddress, owners, chainId) {
|
|
9
|
-
const sharedSignerContractAddress =
|
|
10
|
+
const sharedSignerContractAddress = safeWebAuthnSharedSignerContract.contractAddress;
|
|
10
11
|
// is a shared signer if the shared signer contract address is present in the owners and its configured in the Safe slot
|
|
11
12
|
if (safeAddress && owners.includes(sharedSignerContractAddress)) {
|
|
12
13
|
const [sharedSignerSlot] = await safeWebAuthnSharedSignerContract.getConfiguration([
|
|
13
|
-
safeAddress
|
|
14
|
+
(0, types_1.asHex)(safeAddress)
|
|
14
15
|
]);
|
|
15
16
|
const { x, y, verifiers } = sharedSignerSlot;
|
|
16
|
-
const
|
|
17
|
+
const verifierAddress = passkey.customVerifierAddress || (0, extractPasskeyData_1.getDefaultFCLP256VerifierAddress)(chainId);
|
|
17
18
|
const isSharedSigner = BigInt(passkey.coordinates.x) === x &&
|
|
18
19
|
BigInt(passkey.coordinates.y) === y &&
|
|
19
|
-
BigInt(
|
|
20
|
+
BigInt(verifierAddress) === verifiers;
|
|
20
21
|
return isSharedSigner;
|
|
21
22
|
}
|
|
22
23
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isSharedSigner.js","sourceRoot":"","sources":["../../../../src/utils/passkeys/isSharedSigner.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"isSharedSigner.js","sourceRoot":"","sources":["../../../../src/utils/passkeys/isSharedSigner.ts"],"names":[],"mappings":";;AAIA,6DAAuE;AACvE,iEAA6D;AAE7D;;;GAGG;AACH,KAAK,UAAU,cAAc,CAC3B,OAAuB,EACvB,gCAAoF,EACpF,WAAmB,EACnB,MAAgB,EAChB,OAAe;IAEf,MAAM,2BAA2B,GAAG,gCAAgC,CAAC,eAAe,CAAA;IAEpF,wHAAwH;IACxH,IAAI,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE,CAAC;QAChE,MAAM,CAAC,gBAAgB,CAAC,GAAG,MAAM,gCAAgC,CAAC,gBAAgB,CAAC;YACjF,IAAA,aAAK,EAAC,WAAW,CAAC;SACnB,CAAC,CAAA;QAEF,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,gBAAgB,CAAA;QAE5C,MAAM,eAAe,GACnB,OAAO,CAAC,qBAAqB,IAAI,IAAA,qDAAgC,EAAC,OAAO,CAAC,CAAA;QAE5E,MAAM,cAAc,GAClB,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC;YACnC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC;YACnC,MAAM,CAAC,eAAe,CAAC,KAAK,SAAS,CAAA;QAEvC,OAAO,cAAc,CAAA;IACvB,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED,kBAAe,cAAc,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isSignerPasskeyClient = exports.isPrivateKey = exports.isEip1193Provider = void 0;
|
|
4
|
+
const viem_1 = require("viem");
|
|
5
|
+
const passkeys_1 = require("./passkeys");
|
|
6
|
+
const isEip1193Provider = (provider) => typeof provider !== 'string';
|
|
7
|
+
exports.isEip1193Provider = isEip1193Provider;
|
|
8
|
+
const isPrivateKey = (signer) => typeof signer === 'string' && !(0, viem_1.isAddress)(signer);
|
|
9
|
+
exports.isPrivateKey = isPrivateKey;
|
|
10
|
+
const isSignerPasskeyClient = (signer) => !!signer && signer.key === passkeys_1.PASSKEY_CLIENT_KEY;
|
|
11
|
+
exports.isSignerPasskeyClient = isSignerPasskeyClient;
|
|
12
|
+
//# sourceMappingURL=provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/utils/provider.ts"],"names":[],"mappings":";;;AAAA,+BAAgC;AAChC,yCAA+C;AAExC,MAAM,iBAAiB,GAAG,CAAC,QAAa,EAAW,EAAE,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAA;AAA5E,QAAA,iBAAiB,qBAA2D;AAClF,MAAM,YAAY,GAAG,CAAC,MAAY,EAAW,EAAE,CACpD,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,IAAA,gBAAS,EAAC,MAAM,CAAC,CAAA;AADrC,QAAA,YAAY,gBACyB;AAC3C,MAAM,qBAAqB,GAAG,CAAC,MAAY,EAAW,EAAE,CAC7D,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,GAAG,KAAK,6BAAkB,CAAA;AADlC,QAAA,qBAAqB,yBACa"}
|
|
@@ -36,7 +36,7 @@ const hasSafeFeature = (feature, version) => {
|
|
|
36
36
|
};
|
|
37
37
|
exports.hasSafeFeature = hasSafeFeature;
|
|
38
38
|
async function isSafeContractCompatibleWithRequiredTxGas(safeContract) {
|
|
39
|
-
const safeVersion =
|
|
39
|
+
const safeVersion = safeContract.safeVersion;
|
|
40
40
|
if (!(0, exports.hasSafeFeature)(SAFE_FEATURES.REQUIRED_TXGAS, safeVersion)) {
|
|
41
41
|
throw new Error('Current version of the Safe does not support the requiredTxGas functionality');
|
|
42
42
|
}
|
|
@@ -44,7 +44,7 @@ async function isSafeContractCompatibleWithRequiredTxGas(safeContract) {
|
|
|
44
44
|
}
|
|
45
45
|
exports.isSafeContractCompatibleWithRequiredTxGas = isSafeContractCompatibleWithRequiredTxGas;
|
|
46
46
|
async function isSafeContractCompatibleWithSimulateAndRevert(safeContract) {
|
|
47
|
-
const safeVersion =
|
|
47
|
+
const safeVersion = safeContract.safeVersion;
|
|
48
48
|
if (!(0, exports.hasSafeFeature)(SAFE_FEATURES.SIMULATE_AND_REVERT, safeVersion)) {
|
|
49
49
|
throw new Error('Current version of the Safe does not support the simulateAndRevert functionality');
|
|
50
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safeVersions.js","sourceRoot":"","sources":["../../../src/utils/safeVersions.ts"],"names":[],"mappings":";;;;;;AAAA,2EAAwD;AAQxD,IAAY,aAUX;AAVD,WAAY,aAAa;IACvB,8DAA6C,CAAA;IAC7C,kDAAiC,CAAA;IACjC,gEAA+C,CAAA;IAC/C,sCAAqB,CAAA;IACrB,4DAA2C,CAAA;IAC3C,kDAAiC,CAAA;IACjC,4DAA2C,CAAA;IAC3C,kDAAiC,CAAA;IACjC,wDAAuC,CAAA;AACzC,CAAC,EAVW,aAAa,6BAAb,aAAa,QAUxB;AAED,MAAM,wBAAwB,GAAkC;IAC9D,CAAC,aAAa,CAAC,oBAAoB,CAAC,EAAE,SAAS;IAC/C,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,SAAS;IACzC,CAAC,aAAa,CAAC,qBAAqB,CAAC,EAAE,SAAS;IAChD,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,SAAS;IACnC,CAAC,aAAa,CAAC,mBAAmB,CAAC,EAAE,SAAS;IAC9C,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,SAAS;IACzC,CAAC,aAAa,CAAC,mBAAmB,CAAC,EAAE,SAAS;IAC9C,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,SAAS;IACzC,CAAC,aAAa,CAAC,iBAAiB,CAAC,EAAE,SAAS;CAC7C,CAAA;AAEM,MAAM,cAAc,GAAG,CAAC,OAAsB,EAAE,OAAe,EAAW,EAAE;IACjF,IAAI,CAAC,CAAC,OAAO,IAAI,wBAAwB,CAAC,EAAE,CAAC;QAC3C,OAAO,KAAK,CAAA;IACd,CAAC;IAED,OAAO,IAAA,mBAAe,EAAC,OAAO,EAAE,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAA;AACpE,CAAC,CAAA;AANY,QAAA,cAAc,kBAM1B;AAmBM,KAAK,UAAU,yCAAyC,CAC7D,YAA4C;IAE5C,MAAM,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"safeVersions.js","sourceRoot":"","sources":["../../../src/utils/safeVersions.ts"],"names":[],"mappings":";;;;;;AAAA,2EAAwD;AAQxD,IAAY,aAUX;AAVD,WAAY,aAAa;IACvB,8DAA6C,CAAA;IAC7C,kDAAiC,CAAA;IACjC,gEAA+C,CAAA;IAC/C,sCAAqB,CAAA;IACrB,4DAA2C,CAAA;IAC3C,kDAAiC,CAAA;IACjC,4DAA2C,CAAA;IAC3C,kDAAiC,CAAA;IACjC,wDAAuC,CAAA;AACzC,CAAC,EAVW,aAAa,6BAAb,aAAa,QAUxB;AAED,MAAM,wBAAwB,GAAkC;IAC9D,CAAC,aAAa,CAAC,oBAAoB,CAAC,EAAE,SAAS;IAC/C,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,SAAS;IACzC,CAAC,aAAa,CAAC,qBAAqB,CAAC,EAAE,SAAS;IAChD,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE,SAAS;IACnC,CAAC,aAAa,CAAC,mBAAmB,CAAC,EAAE,SAAS;IAC9C,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,SAAS;IACzC,CAAC,aAAa,CAAC,mBAAmB,CAAC,EAAE,SAAS;IAC9C,CAAC,aAAa,CAAC,cAAc,CAAC,EAAE,SAAS;IACzC,CAAC,aAAa,CAAC,iBAAiB,CAAC,EAAE,SAAS;CAC7C,CAAA;AAEM,MAAM,cAAc,GAAG,CAAC,OAAsB,EAAE,OAAe,EAAW,EAAE;IACjF,IAAI,CAAC,CAAC,OAAO,IAAI,wBAAwB,CAAC,EAAE,CAAC;QAC3C,OAAO,KAAK,CAAA;IACd,CAAC;IAED,OAAO,IAAA,mBAAe,EAAC,OAAO,EAAE,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAA;AACpE,CAAC,CAAA;AANY,QAAA,cAAc,kBAM1B;AAmBM,KAAK,UAAU,yCAAyC,CAC7D,YAA4C;IAE5C,MAAM,WAAW,GAAG,YAAY,CAAC,WAAW,CAAA;IAE5C,IAAI,CAAC,IAAA,sBAAc,EAAC,aAAa,CAAC,cAAc,EAAE,WAAW,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAA;IACjG,CAAC;IAED,OAAO,YAAuD,CAAA;AAChE,CAAC;AAVD,8FAUC;AAEM,KAAK,UAAU,6CAA6C,CACjE,YAA4C;IAE5C,MAAM,WAAW,GAAG,YAAY,CAAC,WAAW,CAAA;IAE5C,IAAI,CAAC,IAAA,sBAAc,EAAC,aAAa,CAAC,mBAAmB,EAAE,WAAW,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAA;IACH,CAAC;IAED,OAAO,YAA2D,CAAA;AACpE,CAAC;AAZD,sGAYC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import SafeProvider from '../../SafeProvider';
|
|
2
|
-
import { SafeSignature, SafeEIP712Args, SafeTransactionData } from '@safe-global/
|
|
2
|
+
import { SafeSignature, SafeEIP712Args, SafeTransactionData } from '@safe-global/types-kit';
|
|
3
3
|
import { SigningMethod } from '../../types';
|
|
4
4
|
export declare function generatePreValidatedSignature(ownerAddress: string): SafeSignature;
|
|
5
|
-
export declare function isTxHashSignedWithPrefix(txHash: string, signature: string, ownerAddress: string): boolean
|
|
5
|
+
export declare function isTxHashSignedWithPrefix(txHash: string, signature: string, ownerAddress: string): Promise<boolean>;
|
|
6
6
|
type AdjustVOverload = {
|
|
7
|
-
(signingMethod: SigningMethod.ETH_SIGN_TYPED_DATA, signature: string): string
|
|
8
|
-
(signingMethod: SigningMethod.ETH_SIGN, signature: string, safeTxHash: string, sender: string): string
|
|
7
|
+
(signingMethod: SigningMethod.ETH_SIGN_TYPED_DATA, signature: string): Promise<string>;
|
|
8
|
+
(signingMethod: SigningMethod.ETH_SIGN, signature: string, safeTxHash: string, sender: string): Promise<string>;
|
|
9
9
|
};
|
|
10
10
|
export declare const adjustVInSignature: AdjustVOverload;
|
|
11
11
|
export declare function generateSignature(safeProvider: SafeProvider, hash: string): Promise<SafeSignature>;
|
|
@@ -4,13 +4,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.calculateSafeMessageHash = exports.calculateSafeTransactionHash = exports.preimageSafeMessageHash = exports.preimageSafeTransactionHash = exports.buildSignatureBytes = exports.buildContractSignature = exports.generateEIP712Signature = exports.generateSignature = exports.adjustVInSignature = exports.isTxHashSignedWithPrefix = exports.generatePreValidatedSignature = void 0;
|
|
7
|
-
const
|
|
8
|
-
const ethereumjs_util_1 = require("ethereumjs-util");
|
|
7
|
+
const viem_1 = require("viem");
|
|
9
8
|
const satisfies_1 = __importDefault(require("semver/functions/satisfies"));
|
|
10
9
|
const address_1 = require("../address");
|
|
11
10
|
const SafeSignature_1 = require("./SafeSignature");
|
|
12
11
|
const eip_712_1 = require("../eip-712");
|
|
13
12
|
const types_1 = require("../../types");
|
|
13
|
+
const eip_712_2 = require("../eip-712");
|
|
14
|
+
const encode_1 = require("../eip-712/encode");
|
|
15
|
+
const types_2 = require("../types");
|
|
16
|
+
const constants_1 = require("../constants");
|
|
14
17
|
function generatePreValidatedSignature(ownerAddress) {
|
|
15
18
|
const signature = '0x000000000000000000000000' +
|
|
16
19
|
ownerAddress.slice(2) +
|
|
@@ -19,16 +22,13 @@ function generatePreValidatedSignature(ownerAddress) {
|
|
|
19
22
|
return new SafeSignature_1.EthSafeSignature(ownerAddress, signature);
|
|
20
23
|
}
|
|
21
24
|
exports.generatePreValidatedSignature = generatePreValidatedSignature;
|
|
22
|
-
function isTxHashSignedWithPrefix(txHash, signature, ownerAddress) {
|
|
25
|
+
async function isTxHashSignedWithPrefix(txHash, signature, ownerAddress) {
|
|
23
26
|
let hasPrefix;
|
|
24
27
|
try {
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
};
|
|
30
|
-
const recoveredData = (0, ethereumjs_util_1.ecrecover)(Buffer.from(txHash.slice(2), 'hex'), rsvSig.v, rsvSig.r, rsvSig.s);
|
|
31
|
-
const recoveredAddress = (0, ethereumjs_util_1.bufferToHex)((0, ethereumjs_util_1.pubToAddress)(recoveredData));
|
|
28
|
+
const recoveredAddress = await (0, viem_1.recoverAddress)({
|
|
29
|
+
hash: (0, types_2.asHash)(txHash),
|
|
30
|
+
signature: (0, types_2.asHex)(signature)
|
|
31
|
+
});
|
|
32
32
|
hasPrefix = !(0, address_1.sameString)(recoveredAddress, ownerAddress);
|
|
33
33
|
}
|
|
34
34
|
catch (e) {
|
|
@@ -37,7 +37,7 @@ function isTxHashSignedWithPrefix(txHash, signature, ownerAddress) {
|
|
|
37
37
|
return hasPrefix;
|
|
38
38
|
}
|
|
39
39
|
exports.isTxHashSignedWithPrefix = isTxHashSignedWithPrefix;
|
|
40
|
-
const adjustVInSignature = (signingMethod, signature, safeTxHash, signerAddress) => {
|
|
40
|
+
const adjustVInSignature = async (signingMethod, signature, safeTxHash, signerAddress) => {
|
|
41
41
|
const ETHEREUM_V_VALUES = [0, 1, 27, 28];
|
|
42
42
|
const MIN_VALID_V_VALUE_FOR_SAFE_ECDSA = 27;
|
|
43
43
|
let signatureV = parseInt(signature.slice(-2), 16);
|
|
@@ -60,7 +60,7 @@ const adjustVInSignature = (signingMethod, signature, safeTxHash, signerAddress)
|
|
|
60
60
|
signatureV += MIN_VALID_V_VALUE_FOR_SAFE_ECDSA;
|
|
61
61
|
}
|
|
62
62
|
const adjustedSignature = signature.slice(0, -2) + signatureV.toString(16);
|
|
63
|
-
const signatureHasPrefix = isTxHashSignedWithPrefix(safeTxHash, adjustedSignature, signerAddress);
|
|
63
|
+
const signatureHasPrefix = await isTxHashSignedWithPrefix(safeTxHash, adjustedSignature, signerAddress);
|
|
64
64
|
if (signatureHasPrefix) {
|
|
65
65
|
signatureV += 4;
|
|
66
66
|
}
|
|
@@ -81,7 +81,7 @@ async function generateSignature(safeProvider, hash) {
|
|
|
81
81
|
throw new Error('SafeProvider must be initialized with a signer to use this method');
|
|
82
82
|
}
|
|
83
83
|
let signature = await safeProvider.signMessage(hash);
|
|
84
|
-
signature = (0, exports.adjustVInSignature)(types_1.SigningMethod.ETH_SIGN, signature, hash, signerAddress);
|
|
84
|
+
signature = await (0, exports.adjustVInSignature)(types_1.SigningMethod.ETH_SIGN, signature, hash, signerAddress);
|
|
85
85
|
return new SafeSignature_1.EthSafeSignature(signerAddress, signature);
|
|
86
86
|
}
|
|
87
87
|
exports.generateSignature = generateSignature;
|
|
@@ -92,7 +92,7 @@ async function generateEIP712Signature(safeProvider, safeEIP712Args, methodVersi
|
|
|
92
92
|
}
|
|
93
93
|
//@ts-expect-error: Evaluate removal of methodVersion and use v4
|
|
94
94
|
let signature = await safeProvider.signTypedData(safeEIP712Args, methodVersion);
|
|
95
|
-
signature = (0, exports.adjustVInSignature)(types_1.SigningMethod.ETH_SIGN_TYPED_DATA, signature);
|
|
95
|
+
signature = await (0, exports.adjustVInSignature)(types_1.SigningMethod.ETH_SIGN_TYPED_DATA, signature);
|
|
96
96
|
return new SafeSignature_1.EthSafeSignature(signerAddress, signature);
|
|
97
97
|
}
|
|
98
98
|
exports.generateEIP712Signature = generateEIP712Signature;
|
|
@@ -104,7 +104,7 @@ exports.buildContractSignature = buildContractSignature;
|
|
|
104
104
|
const buildSignatureBytes = (signatures) => {
|
|
105
105
|
const SIGNATURE_LENGTH_BYTES = 65;
|
|
106
106
|
signatures.sort((left, right) => left.signer.toLowerCase().localeCompare(right.signer.toLowerCase()));
|
|
107
|
-
let signatureBytes =
|
|
107
|
+
let signatureBytes = constants_1.EMPTY_DATA;
|
|
108
108
|
let dynamicBytes = '';
|
|
109
109
|
for (const signature of signatures) {
|
|
110
110
|
if (signature.isContractSignature) {
|
|
@@ -134,12 +134,21 @@ const buildSignatureBytes = (signatures) => {
|
|
|
134
134
|
exports.buildSignatureBytes = buildSignatureBytes;
|
|
135
135
|
const preimageSafeTransactionHash = (safeAddress, safeTx, safeVersion, chainId) => {
|
|
136
136
|
const safeTxTypes = (0, eip_712_1.getEip712TxTypes)(safeVersion);
|
|
137
|
-
|
|
137
|
+
const message = safeTx;
|
|
138
|
+
return (0, encode_1.encodeTypedData)({
|
|
139
|
+
domain: { verifyingContract: safeAddress, chainId: Number(chainId) },
|
|
140
|
+
types: { SafeTx: safeTxTypes.SafeTx },
|
|
141
|
+
message
|
|
142
|
+
});
|
|
138
143
|
};
|
|
139
144
|
exports.preimageSafeTransactionHash = preimageSafeTransactionHash;
|
|
140
145
|
const preimageSafeMessageHash = (safeAddress, message, safeVersion, chainId) => {
|
|
141
146
|
const safeMessageTypes = (0, eip_712_1.getEip712MessageTypes)(safeVersion);
|
|
142
|
-
return
|
|
147
|
+
return (0, encode_1.encodeTypedData)({
|
|
148
|
+
domain: { verifyingContract: safeAddress, chainId: Number(chainId) },
|
|
149
|
+
types: { SafeMessage: safeMessageTypes.SafeMessage },
|
|
150
|
+
message: { message }
|
|
151
|
+
});
|
|
143
152
|
};
|
|
144
153
|
exports.preimageSafeMessageHash = preimageSafeMessageHash;
|
|
145
154
|
const EQ_OR_GT_1_3_0 = '>=1.3.0';
|
|
@@ -147,14 +156,19 @@ const calculateSafeTransactionHash = (safeAddress, safeTx, safeVersion, chainId)
|
|
|
147
156
|
const safeTxTypes = (0, eip_712_1.getEip712TxTypes)(safeVersion);
|
|
148
157
|
const domain = { verifyingContract: safeAddress };
|
|
149
158
|
if ((0, satisfies_1.default)(safeVersion, EQ_OR_GT_1_3_0)) {
|
|
150
|
-
domain.chainId = chainId;
|
|
159
|
+
domain.chainId = Number(chainId);
|
|
151
160
|
}
|
|
152
|
-
|
|
161
|
+
const message = safeTx;
|
|
162
|
+
return (0, eip_712_2.hashTypedData)({ domain, types: { SafeTx: safeTxTypes.SafeTx }, message });
|
|
153
163
|
};
|
|
154
164
|
exports.calculateSafeTransactionHash = calculateSafeTransactionHash;
|
|
155
165
|
const calculateSafeMessageHash = (safeAddress, message, safeVersion, chainId) => {
|
|
156
166
|
const safeMessageTypes = (0, eip_712_1.getEip712MessageTypes)(safeVersion);
|
|
157
|
-
return
|
|
167
|
+
return (0, eip_712_2.hashTypedData)({
|
|
168
|
+
domain: { verifyingContract: safeAddress, chainId: Number(chainId) },
|
|
169
|
+
types: { SafeMessage: safeMessageTypes.SafeMessage },
|
|
170
|
+
message: { message }
|
|
171
|
+
});
|
|
158
172
|
};
|
|
159
173
|
exports.calculateSafeMessageHash = calculateSafeMessageHash;
|
|
160
174
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/utils/signatures/utils.ts"],"names":[],"mappings":";;;;;;AAAA
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/utils/signatures/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SafeSignature, SafeTransaction, SafeTransactionData } from '@safe-global/
|
|
1
|
+
import { SafeSignature, SafeTransaction, SafeTransactionData } from '@safe-global/types-kit';
|
|
2
2
|
declare class EthSafeTransaction implements SafeTransaction {
|
|
3
3
|
data: SafeTransactionData;
|
|
4
4
|
signatures: Map<string, SafeSignature>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SafeTransaction.js","sourceRoot":"","sources":["../../../../src/utils/transactions/SafeTransaction.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"SafeTransaction.js","sourceRoot":"","sources":["../../../../src/utils/transactions/SafeTransaction.ts"],"names":[],"mappings":";;AACA,8CAAmD;AAEnD,MAAM,kBAAkB;IAItB,YAAY,IAAyB;QAFrC,eAAU,GAA+B,IAAI,GAAG,EAAE,CAAA;QAGhD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,YAAY,CAAC,MAAc;QACzB,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAA;IAClD,CAAC;IAED,YAAY,CAAC,SAAwB;QACnC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,SAAS,CAAC,CAAA;IAChE,CAAC;IAED,iBAAiB;QACf,OAAO,IAAA,gCAAmB,EAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IAClE,CAAC;CACF;AAED,kBAAe,kBAAkB,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { OperationType, SafeVersion, SafeTransaction } from '@safe-global/
|
|
1
|
+
import { OperationType, SafeVersion, SafeTransaction } from '@safe-global/types-kit';
|
|
2
2
|
import Safe from '../../Safe';
|
|
3
3
|
import SafeProvider from '../../SafeProvider';
|
|
4
4
|
import { ContractNetworksConfig, SafeContractImplementationType } from '../../types';
|
|
@@ -4,11 +4,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.estimateSafeDeploymentGas = exports.estimateSafeTxGas = exports.estimateTxBaseGas = exports.estimateTxGas = exports.estimateGas = void 0;
|
|
7
|
-
const
|
|
7
|
+
const viem_1 = require("viem");
|
|
8
|
+
const types_kit_1 = require("@safe-global/types-kit");
|
|
8
9
|
const satisfies_1 = __importDefault(require("semver/functions/satisfies"));
|
|
9
10
|
const constants_1 = require("../constants");
|
|
10
11
|
const safeDeploymentContracts_1 = require("../../contracts/safeDeploymentContracts");
|
|
11
12
|
const safeVersions_1 = require("../safeVersions");
|
|
13
|
+
const types_1 = require("../types");
|
|
12
14
|
// Every byte == 00 -> 4 Gas cost
|
|
13
15
|
const CALL_DATA_ZERO_BYTE_GAS_COST = 4;
|
|
14
16
|
// Every byte != 00 -> 16 Gas cost (68 before Istanbul)
|
|
@@ -50,12 +52,12 @@ async function estimateGas(safeVersion, safeContract, safeProvider, to, valueInW
|
|
|
50
52
|
const transactionDataToEstimate = simulateTxAccessorContract.encode('simulate', [
|
|
51
53
|
to,
|
|
52
54
|
BigInt(valueInWei),
|
|
53
|
-
data,
|
|
55
|
+
(0, types_1.asHex)(data),
|
|
54
56
|
operation
|
|
55
57
|
]);
|
|
56
58
|
const safeContractContractCompatibleWithSimulateAndRevert = await (0, safeVersions_1.isSafeContractCompatibleWithSimulateAndRevert)(safeContract);
|
|
57
|
-
const safeFunctionToEstimate = safeContractContractCompatibleWithSimulateAndRevert.encode('simulateAndRevert', [
|
|
58
|
-
const safeAddress =
|
|
59
|
+
const safeFunctionToEstimate = safeContractContractCompatibleWithSimulateAndRevert.encode('simulateAndRevert', [simulateTxAccessorContract.getAddress(), (0, types_1.asHex)(transactionDataToEstimate)]);
|
|
60
|
+
const safeAddress = safeContract.getAddress();
|
|
59
61
|
const transactionToEstimateGas = {
|
|
60
62
|
to: safeAddress,
|
|
61
63
|
value: '0',
|
|
@@ -72,46 +74,7 @@ async function estimateGas(safeVersion, safeContract, safeProvider, to, valueInW
|
|
|
72
74
|
}
|
|
73
75
|
exports.estimateGas = estimateGas;
|
|
74
76
|
async function estimateTxGas(safeContract, safeProvider, to, valueInWei, data, operation) {
|
|
75
|
-
|
|
76
|
-
const safeAddress = await safeContract.getAddress();
|
|
77
|
-
const safeContractCompatibleWithRequiredTxGas = await (0, safeVersions_1.isSafeContractCompatibleWithRequiredTxGas)(safeContract);
|
|
78
|
-
const estimateData = safeContractCompatibleWithRequiredTxGas.encode('requiredTxGas', [
|
|
79
|
-
to,
|
|
80
|
-
BigInt(valueInWei),
|
|
81
|
-
data,
|
|
82
|
-
operation
|
|
83
|
-
]);
|
|
84
|
-
try {
|
|
85
|
-
const estimateResponse = await safeProvider.estimateGas({
|
|
86
|
-
to: safeAddress,
|
|
87
|
-
from: safeAddress,
|
|
88
|
-
data: estimateData
|
|
89
|
-
});
|
|
90
|
-
txGasEstimation = Number('0x' + estimateResponse.substring(138)) + 10000;
|
|
91
|
-
}
|
|
92
|
-
catch (error) { }
|
|
93
|
-
if (txGasEstimation > 0) {
|
|
94
|
-
const dataGasEstimation = estimateDataGasCosts(estimateData);
|
|
95
|
-
let additionalGas = 10000;
|
|
96
|
-
for (let i = 0; i < 10; i++) {
|
|
97
|
-
try {
|
|
98
|
-
const estimateResponse = await safeProvider.call({
|
|
99
|
-
to: safeAddress,
|
|
100
|
-
from: safeAddress,
|
|
101
|
-
data: estimateData,
|
|
102
|
-
gasPrice: '0',
|
|
103
|
-
gasLimit: (txGasEstimation + dataGasEstimation + additionalGas).toString()
|
|
104
|
-
});
|
|
105
|
-
if (estimateResponse !== '0x') {
|
|
106
|
-
break;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
catch (error) { }
|
|
110
|
-
txGasEstimation = txGasEstimation + additionalGas;
|
|
111
|
-
additionalGas *= 2;
|
|
112
|
-
}
|
|
113
|
-
return (txGasEstimation + additionalGas).toString();
|
|
114
|
-
}
|
|
77
|
+
const safeAddress = safeContract.getAddress();
|
|
115
78
|
try {
|
|
116
79
|
const estimateGas = await safeProvider.estimateGas({
|
|
117
80
|
to,
|
|
@@ -122,7 +85,7 @@ async function estimateTxGas(safeContract, safeProvider, to, valueInWei, data, o
|
|
|
122
85
|
return estimateGas;
|
|
123
86
|
}
|
|
124
87
|
catch (error) {
|
|
125
|
-
if (operation ===
|
|
88
|
+
if (operation === types_kit_1.OperationType.DelegateCall) {
|
|
126
89
|
return '0';
|
|
127
90
|
}
|
|
128
91
|
return Promise.reject(error);
|
|
@@ -158,7 +121,7 @@ async function estimateTxBaseGas(safe, safeTransaction) {
|
|
|
158
121
|
const encodeGasToken = gasToken || constants_1.ZERO_ADDRESS;
|
|
159
122
|
const encodeRefundReceiver = refundReceiver || constants_1.ZERO_ADDRESS;
|
|
160
123
|
const signatures = '0x';
|
|
161
|
-
const safeVersion =
|
|
124
|
+
const safeVersion = safe.getContractVersion();
|
|
162
125
|
const safeProvider = safe.getSafeProvider();
|
|
163
126
|
const isL1SafeSingleton = safe.getContractManager().isL1SafeSingleton;
|
|
164
127
|
const chainId = await safe.getChainId();
|
|
@@ -214,7 +177,7 @@ exports.estimateTxBaseGas = estimateTxBaseGas;
|
|
|
214
177
|
*
|
|
215
178
|
*/
|
|
216
179
|
async function estimateSafeTxGas(safe, safeTransaction) {
|
|
217
|
-
const safeVersion =
|
|
180
|
+
const safeVersion = safe.getContractVersion();
|
|
218
181
|
if ((0, satisfies_1.default)(safeVersion, '>=1.3.0')) {
|
|
219
182
|
const safeTxGas = await estimateSafeTxGasWithSimulate(safe, safeTransaction);
|
|
220
183
|
return addExtraGasForSafety(safeTxGas);
|
|
@@ -250,7 +213,7 @@ function addExtraGasForSafety(safeTxGas) {
|
|
|
250
213
|
async function estimateSafeTxGasWithRequiredTxGas(safe, safeTransaction) {
|
|
251
214
|
const isSafeDeployed = await safe.isSafeDeployed();
|
|
252
215
|
const safeAddress = await safe.getAddress();
|
|
253
|
-
const safeVersion =
|
|
216
|
+
const safeVersion = safe.getContractVersion();
|
|
254
217
|
const safeProvider = safe.getSafeProvider();
|
|
255
218
|
const isL1SafeSingleton = safe.getContractManager().isL1SafeSingleton;
|
|
256
219
|
const chainId = await safe.getChainId();
|
|
@@ -265,10 +228,10 @@ async function estimateSafeTxGasWithRequiredTxGas(safe, safeTransaction) {
|
|
|
265
228
|
const transactionDataToEstimate = safeContractCompatibleWithRequiredTxGas.encode('requiredTxGas', [
|
|
266
229
|
safeTransaction.data.to,
|
|
267
230
|
BigInt(safeTransaction.data.value),
|
|
268
|
-
safeTransaction.data.data,
|
|
231
|
+
(0, types_1.asHex)(safeTransaction.data.data),
|
|
269
232
|
safeTransaction.data.operation
|
|
270
233
|
]);
|
|
271
|
-
const to = isSafeDeployed ? safeAddress :
|
|
234
|
+
const to = isSafeDeployed ? safeAddress : safeSingletonContract.getAddress();
|
|
272
235
|
const transactionToEstimateGas = {
|
|
273
236
|
to,
|
|
274
237
|
value: '0',
|
|
@@ -308,6 +271,15 @@ function decodeSafeTxGas(encodedDataResponse) {
|
|
|
308
271
|
const data = '0x' + encodedSafeTxGas;
|
|
309
272
|
return Number('0x' + data.slice(184).slice(0, 10)).toString();
|
|
310
273
|
}
|
|
274
|
+
function isEthersError(error) {
|
|
275
|
+
return error.data != null;
|
|
276
|
+
}
|
|
277
|
+
function isViemError(error) {
|
|
278
|
+
return error instanceof viem_1.BaseError;
|
|
279
|
+
}
|
|
280
|
+
function isGnosisChainEstimationError(error) {
|
|
281
|
+
return error.info.error.data != null;
|
|
282
|
+
}
|
|
311
283
|
/**
|
|
312
284
|
* Parses the SafeTxGas estimation response from different providers.
|
|
313
285
|
* It extracts and decodes the SafeTxGas value from the Error object.
|
|
@@ -318,26 +290,27 @@ function decodeSafeTxGas(encodedDataResponse) {
|
|
|
318
290
|
*/
|
|
319
291
|
function parseSafeTxGasErrorResponse(error) {
|
|
320
292
|
// Ethers v6
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
return decodeSafeTxGas(ethersData);
|
|
293
|
+
if (isEthersError(error)) {
|
|
294
|
+
return decodeSafeTxGas(error.data);
|
|
324
295
|
}
|
|
325
296
|
// viem
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
297
|
+
if (isViemError(error)) {
|
|
298
|
+
const cause = error.walk();
|
|
299
|
+
if (typeof cause?.data === 'string') {
|
|
300
|
+
return decodeSafeTxGas(cause?.data);
|
|
301
|
+
}
|
|
329
302
|
}
|
|
330
303
|
// gnosis-chain
|
|
331
|
-
|
|
332
|
-
|
|
304
|
+
if (isGnosisChainEstimationError(error)) {
|
|
305
|
+
const gnosisChainProviderData = error.info.error.data;
|
|
333
306
|
const isString = typeof gnosisChainProviderData === 'string';
|
|
334
307
|
const encodedDataResponse = isString ? gnosisChainProviderData : gnosisChainProviderData.data;
|
|
335
308
|
return decodeSafeTxGas(encodedDataResponse);
|
|
336
309
|
}
|
|
337
310
|
// Error message
|
|
338
|
-
const isEncodedDataPresent = error
|
|
311
|
+
const isEncodedDataPresent = error.message.includes('0x');
|
|
339
312
|
if (isEncodedDataPresent) {
|
|
340
|
-
return decodeSafeTxGas(error
|
|
313
|
+
return decodeSafeTxGas(error.message);
|
|
341
314
|
}
|
|
342
315
|
throw new Error('Could not parse SafeTxGas from Estimation response, Details: ' + error?.message);
|
|
343
316
|
}
|
|
@@ -355,7 +328,7 @@ function parseSafeTxGasErrorResponse(error) {
|
|
|
355
328
|
async function estimateSafeTxGasWithSimulate(safe, safeTransaction) {
|
|
356
329
|
const isSafeDeployed = await safe.isSafeDeployed();
|
|
357
330
|
const safeAddress = await safe.getAddress();
|
|
358
|
-
const safeVersion =
|
|
331
|
+
const safeVersion = safe.getContractVersion();
|
|
359
332
|
const safeProvider = safe.getSafeProvider();
|
|
360
333
|
const chainId = await safe.getChainId();
|
|
361
334
|
const customContracts = safe.getContractManager().contractNetworks?.[chainId.toString()];
|
|
@@ -375,13 +348,13 @@ async function estimateSafeTxGasWithSimulate(safe, safeTransaction) {
|
|
|
375
348
|
const transactionDataToEstimate = simulateTxAccessorContract.encode('simulate', [
|
|
376
349
|
safeTransaction.data.to,
|
|
377
350
|
BigInt(safeTransaction.data.value),
|
|
378
|
-
safeTransaction.data.data,
|
|
351
|
+
(0, types_1.asHex)(safeTransaction.data.data),
|
|
379
352
|
safeTransaction.data.operation
|
|
380
353
|
]);
|
|
381
354
|
// if the Safe is not deployed we can use the singleton address to simulate
|
|
382
|
-
const to = isSafeDeployed ? safeAddress :
|
|
355
|
+
const to = isSafeDeployed ? safeAddress : safeSingletonContract.getAddress();
|
|
383
356
|
const SafeContractCompatibleWithSimulateAndRevert = await (0, safeVersions_1.isSafeContractCompatibleWithSimulateAndRevert)(safeSingletonContract);
|
|
384
|
-
const safeFunctionToEstimate = SafeContractCompatibleWithSimulateAndRevert.encode('simulateAndRevert', [
|
|
357
|
+
const safeFunctionToEstimate = SafeContractCompatibleWithSimulateAndRevert.encode('simulateAndRevert', [simulateTxAccessorContract.getAddress(), (0, types_1.asHex)(transactionDataToEstimate)]);
|
|
385
358
|
const transactionToEstimateGas = {
|
|
386
359
|
to,
|
|
387
360
|
value: '0',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gas.js","sourceRoot":"","sources":["../../../../src/utils/transactions/gas.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gas.js","sourceRoot":"","sources":["../../../../src/utils/transactions/gas.ts"],"names":[],"mappings":";;;;;;AAAA,+BAA8E;AAC9E,sDAAoF;AACpF,2EAAwD;AAOxD,4CAA2C;AAC3C,qFAGgD;AAChD,kDAGwB;AACxB,oCAAgC;AAEhC,kCAAkC;AAClC,MAAM,4BAA4B,GAAG,CAAC,CAAA;AAEtC,uDAAuD;AACvD,MAAM,uBAAuB,GAAG,EAAE,CAAA;AAElC,oCAAoC;AACpC,MAAM,oBAAoB,GAAG,KAAM,CAAA;AAEnC,2BAA2B;AAC3B,MAAM,wBAAwB,GAAG,IAAK,CAAA;AAEtC,uDAAuD;AACvD,MAAM,wBAAwB,GAAG,IAAK,CAAA;AAEtC,oDAAoD;AACpD,MAAM,kBAAkB,GAAG,IAAK,CAAA;AAEhC,oBAAoB;AACpB,MAAM,kBAAkB,GAAG,KAAM,CAAA;AAEjC,iFAAiF;AACjF,mFAAmF;AACnF,+BAA+B;AAC/B,mEAAmE;AACnE,MAAM,sBAAsB,GAC1B,CAAC,GAAG,uBAAuB,GAAG,CAAC,GAAG,EAAE,GAAG,uBAAuB,GAAG,kBAAkB,CAAA;AAErF,SAAS,oBAAoB,CAAC,IAAY;IACxC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAa,CAAA;IAE7C,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,OAAe,EAAE,WAAmB,EAAE,EAAE;QAC3D,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,OAAO,OAAO,GAAG,CAAC,CAAA;QACpB,CAAC;QAED,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,OAAO,OAAO,GAAG,4BAA4B,CAAA;QAC/C,CAAC;QAED,OAAO,OAAO,GAAG,uBAAuB,CAAA;IAC1C,CAAC,EAAE,CAAC,CAAC,CAAA;AACP,CAAC;AAEM,KAAK,UAAU,WAAW,CAC/B,WAAwB,EACxB,YAA4C,EAC5C,YAA0B,EAC1B,EAAU,EACV,UAAkB,EAClB,IAAY,EACZ,SAAwB,EACxB,eAAwC;IAExC,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,CAAA;IAC/C,MAAM,0BAA0B,GAAG,MAAM,IAAA,uDAA6B,EAAC;QACrE,YAAY;QACZ,WAAW;QACX,eAAe,EAAE,eAAe,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;KACvD,CAAC,CAAA;IAEF,MAAM,yBAAyB,GAAG,0BAA0B,CAAC,MAAM,CAAC,UAAU,EAAE;QAC9E,EAAE;QACF,MAAM,CAAC,UAAU,CAAC;QAClB,IAAA,aAAK,EAAC,IAAI,CAAC;QACX,SAAS;KACV,CAAC,CAAA;IAEF,MAAM,mDAAmD,GACvD,MAAM,IAAA,4DAA6C,EAAC,YAAY,CAAC,CAAA;IAEnE,MAAM,sBAAsB,GAAG,mDAAmD,CAAC,MAAM,CACvF,mBAAmB,EACnB,CAAC,0BAA0B,CAAC,UAAU,EAAE,EAAE,IAAA,aAAK,EAAC,yBAAyB,CAAC,CAAC,CAC5E,CAAA;IACD,MAAM,WAAW,GAAG,YAAY,CAAC,UAAU,EAAE,CAAA;IAC7C,MAAM,wBAAwB,GAAG;QAC/B,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,WAAW;KAClB,CAAA;IAED,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;QAEzE,OAAO,eAAe,CAAC,eAAe,CAAC,CAAA;IACzC,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,2BAA2B,CAAC,KAAK,CAAC,CAAA;IAC3C,CAAC;AACH,CAAC;AA9CD,kCA8CC;AAEM,KAAK,UAAU,aAAa,CACjC,YAA4C,EAC5C,YAA0B,EAC1B,EAAU,EACV,UAAkB,EAClB,IAAY,EACZ,SAAwB;IAExB,MAAM,WAAW,GAAG,YAAY,CAAC,UAAU,EAAE,CAAA;IAC7C,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC;YACjD,EAAE;YACF,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,UAAU;YACjB,IAAI;SACL,CAAC,CAAA;QACF,OAAO,WAAW,CAAA;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,SAAS,KAAK,yBAAa,CAAC,YAAY,EAAE,CAAC;YAC7C,OAAO,GAAG,CAAA;QACZ,CAAC;QACD,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;AACH,CAAC;AAvBD,sCAuBC;AAED;;;;;;;;;;;;;;;;GAgBG;AACI,KAAK,UAAU,iBAAiB,CACrC,IAAU,EACV,eAAgC;IAEhC,MAAM,mBAAmB,GAAG,eAAe,CAAC,IAAI,CAAA;IAChD,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,mBAAmB,CAAA;IAE/F,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;IAC/C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAA;IAEvC,MAAM,iBAAiB,GAAG,aAAa,GAAG,sBAAsB,CAAA;IAEhE,MAAM,eAAe,GAAG,SAAS,IAAI,CAAC,CAAA;IACtC,MAAM,aAAa,GAAG,CAAC,CAAA;IACvB,MAAM,QAAQ,GAAG,CAAC,CAAA;IAClB,MAAM,cAAc,GAAG,QAAQ,IAAI,wBAAY,CAAA;IAC/C,MAAM,oBAAoB,GAAG,cAAc,IAAI,wBAAY,CAAA;IAC3D,MAAM,UAAU,GAAG,IAAI,CAAA;IAEvB,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAA;IAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAA;IAC3C,MAAM,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC,iBAAiB,CAAA;IACrE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;IACvC,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;IAExF,MAAM,qBAAqB,GAAG,MAAM,IAAA,yCAAe,EAAC;QAClD,YAAY;QACZ,WAAW;QACX,iBAAiB;QACjB,eAAe;KAChB,CAAC,CAAA;IAEF,wEAAwE;IACxE,kDAAkD;IAClD,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,MAAM,CAAC,iBAAiB,EAAE;QAC1E,EAAE;QACF,MAAM,CAAC,KAAK,CAAC;QACb,IAAI;QACJ,SAAS;QACT,eAAe;QACf,aAAa;QACb,QAAQ;QACR,cAAc;QACd,oBAAoB;QACpB,UAAU;KACX,CAAC,CAAA;IAEF,qDAAqD;IACrD,MAAM,iBAAiB,GAAG,SAAS,KAAK,CAAC,CAAA;IACzC,MAAM,qBAAqB,GAAG,iBAAiB,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,oBAAoB,CAAA;IAEjG,IAAI,OAAO,GACT,iBAAiB;QACjB,oBAAoB,CAAC,mBAAmB,CAAC;QACzC,qBAAqB;QACrB,wBAAwB,CAAA;IAE1B,2BAA2B;IAC3B,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,GAAG,CAAC,CAAA;IAEpD,mCAAmC;IACnC,OAAO,IAAI,kBAAkB,CAAA;IAE7B,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAA;AAC3B,CAAC;AAhED,8CAgEC;AAED;;;;;;;;;;;;;;;GAeG;AACI,KAAK,UAAU,iBAAiB,CACrC,IAAU,EACV,eAAgC;IAEhC,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAA;IAE7C,IAAI,IAAA,mBAAe,EAAC,WAAW,EAAE,SAAS,CAAC,EAAE,CAAC;QAC5C,MAAM,SAAS,GAAG,MAAM,6BAA6B,CAAC,IAAI,EAAE,eAAe,CAAC,CAAA;QAE5E,OAAO,oBAAoB,CAAC,SAAS,CAAC,CAAA;IACxC,CAAC;IAED,oEAAoE;IACpE,MAAM,SAAS,GAAG,MAAM,kCAAkC,CAAC,IAAI,EAAE,eAAe,CAAC,CAAA;IAEjF,OAAO,oBAAoB,CAAC,SAAS,CAAC,CAAA;AACxC,CAAC;AAhBD,8CAgBC;AAED;;;;;;GAMG;AACH,SAAS,oBAAoB,CAAC,SAAiB;IAC7C,MAAM,mBAAmB,GAAG,IAAI,CAAA,CAAC,8CAA8C;IAE/E,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,mBAAmB,CAAC,CAAC,QAAQ,EAAE,CAAA;AACvE,CAAC;AAED;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,kCAAkC,CAC/C,IAAU,EACV,eAAgC;IAEhC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;IAClD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;IAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAA;IAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAA;IAC3C,MAAM,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC,iBAAiB,CAAA;IACrE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;IACvC,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;IAExF,MAAM,qBAAqB,GAAG,MAAM,IAAA,yCAAe,EAAC;QAClD,YAAY;QACZ,WAAW;QACX,iBAAiB;QACjB,eAAe;KAChB,CAAC,CAAA;IAEF,MAAM,uCAAuC,GAC3C,MAAM,IAAA,wDAAyC,EAAC,qBAAqB,CAAC,CAAA;IAExE,MAAM,yBAAyB,GAAW,uCAAuC,CAAC,MAAM,CACtF,eAAe,EACf;QACE,eAAe,CAAC,IAAI,CAAC,EAAE;QACvB,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;QAClC,IAAA,aAAK,EAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;QAChC,eAAe,CAAC,IAAI,CAAC,SAAS;KAC/B,CACF,CAAA;IAED,MAAM,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,qBAAqB,CAAC,UAAU,EAAE,CAAA;IAE5E,MAAM,wBAAwB,GAAG;QAC/B,EAAE;QACF,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,yBAAyB;QAC/B,IAAI,EAAE,WAAW;KAClB,CAAA;IACD,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;QAEzE,MAAM,SAAS,GAAG,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAA;QAEnD,OAAO,SAAS,CAAA;QAEhB,iEAAiE;IACnE,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAA;YAE3C,IAAI,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBACrD,MAAM,CAAC,EAAE,SAAS,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;gBAEnD,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAA;YACrC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,GAAG,CAAA;QACZ,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAA;AACZ,CAAC;AAED,0BAA0B;AAC1B;;;;;;IAMI;AACJ,SAAS,eAAe,CAAC,mBAA2B;IAClD,MAAM,CAAC,EAAE,gBAAgB,CAAC,GAAG,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC5D,MAAM,IAAI,GAAG,IAAI,GAAG,gBAAgB,CAAA;IAEpC,OAAO,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;AAC/D,CAAC;AAWD,SAAS,aAAa,CAAC,KAAsB;IAC3C,OAAQ,KAA+B,CAAC,IAAI,IAAI,IAAI,CAAA;AACtD,CAAC;AAED,SAAS,WAAW,CAAC,KAAsB;IACzC,OAAO,KAAK,YAAY,gBAAS,CAAA;AACnC,CAAC;AAED,SAAS,4BAA4B,CAAC,KAAsB;IAC1D,OAAQ,KAAoC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAA;AACtE,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,2BAA2B,CAAC,KAAsB;IACzD,YAAY;IACZ,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACpC,CAAC;IAED,OAAO;IACP,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAA0B,CAAA;QAClD,IAAI,OAAO,KAAK,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpC,OAAO,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QACrC,CAAC;IACH,CAAC;IAED,eAAe;IACf,IAAI,4BAA4B,CAAC,KAAK,CAAC,EAAE,CAAC;QACxC,MAAM,uBAAuB,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAA;QACrD,MAAM,QAAQ,GAAG,OAAO,uBAAuB,KAAK,QAAQ,CAAA;QAE5D,MAAM,mBAAmB,GAAG,QAAQ,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAA;QAC7F,OAAO,eAAe,CAAC,mBAAmB,CAAC,CAAA;IAC7C,CAAC;IAED,gBAAgB;IAChB,MAAM,oBAAoB,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAEzD,IAAI,oBAAoB,EAAE,CAAC;QACzB,OAAO,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACvC,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,+DAA+D,GAAG,KAAK,EAAE,OAAO,CAAC,CAAA;AACnG,CAAC;AAED;;;;;;;;;;GAUG;AACH,KAAK,UAAU,6BAA6B,CAC1C,IAAU,EACV,eAAgC;IAEhC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;IAClD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;IAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAA;IAC7C,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAA;IAC3C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;IACvC,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC,gBAAgB,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;IACxF,MAAM,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC,iBAAiB,CAAA;IAErE,MAAM,qBAAqB,GAAG,MAAM,IAAA,yCAAe,EAAC;QAClD,YAAY;QACZ,WAAW;QACX,iBAAiB;QACjB,eAAe;KAChB,CAAC,CAAA;IAEF,gCAAgC;IAChC,MAAM,0BAA0B,GAAG,MAAM,IAAA,uDAA6B,EAAC;QACrE,YAAY;QACZ,WAAW;QACX,eAAe;KAChB,CAAC,CAAA;IAEF,MAAM,yBAAyB,GAAW,0BAA0B,CAAC,MAAM,CAAC,UAAU,EAAE;QACtF,eAAe,CAAC,IAAI,CAAC,EAAE;QACvB,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;QAClC,IAAA,aAAK,EAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;QAChC,eAAe,CAAC,IAAI,CAAC,SAAS;KAC/B,CAAC,CAAA;IAEF,2EAA2E;IAC3E,MAAM,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,qBAAqB,CAAC,UAAU,EAAE,CAAA;IAE5E,MAAM,2CAA2C,GAC/C,MAAM,IAAA,4DAA6C,EAAC,qBAAqB,CAAC,CAAA;IAE5E,MAAM,sBAAsB,GAAW,2CAA2C,CAAC,MAAM,CACvF,mBAAmB,EACnB,CAAC,0BAA0B,CAAC,UAAU,EAAE,EAAE,IAAA,aAAK,EAAC,yBAAyB,CAAC,CAAC,CAC5E,CAAA;IAED,MAAM,wBAAwB,GAAG;QAC/B,EAAE;QACF,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,WAAW;KAClB,CAAA;IAED,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;QAEzE,MAAM,SAAS,GAAG,eAAe,CAAC,eAAe,CAAC,CAAA;QAElD,OAAO,SAAS,CAAA;QAEhB,iEAAiE;IACnE,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,2BAA2B,CAAC,KAAK,CAAC,CAAA;IAC3C,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACI,KAAK,UAAU,yBAAyB,CAAC,IAAU;IACxD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAA;IAElD,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAA;IAC3C,MAAM,yBAAyB,GAAG,MAAM,IAAI,CAAC,+BAA+B,EAAE,CAAA;IAE9E,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC;QAChD,GAAG,yBAAyB;QAC5B,IAAI,EAAE,wBAAY,CAAC,wEAAwE;KAC5F,CAAC,CAAA;IAEF,OAAO,UAAU,CAAA;AACnB,CAAC;AAhBD,8DAgBC"}
|