viem 2.12.5 → 2.13.2
Sign up to get free protection for your applications and to get access to all the features.
- package/CHANGELOG.md +26 -0
- package/_cjs/accounts/index.js.map +1 -1
- package/_cjs/accounts/privateKeyToAccount.js +0 -4
- package/_cjs/accounts/privateKeyToAccount.js.map +1 -1
- package/_cjs/accounts/toAccount.js +0 -1
- package/_cjs/accounts/toAccount.js.map +1 -1
- package/_cjs/actions/index.js.map +1 -1
- package/_cjs/celo/index.js.map +1 -1
- package/_cjs/chains/definitions/avalanche.js +3 -3
- package/_cjs/chains/definitions/avalanche.js.map +1 -1
- package/_cjs/chains/definitions/avalancheFuji.js +3 -3
- package/_cjs/chains/definitions/avalancheFuji.js.map +1 -1
- package/_cjs/chains/definitions/redstone.js +23 -0
- package/_cjs/chains/definitions/redstone.js.map +1 -0
- package/_cjs/chains/definitions/scrollSepolia.js +3 -3
- package/_cjs/chains/definitions/scrollSepolia.js.map +1 -1
- package/_cjs/chains/definitions/taiko.js +32 -0
- package/_cjs/chains/definitions/taiko.js.map +1 -0
- package/_cjs/chains/index.js +7 -5
- package/_cjs/chains/index.js.map +1 -1
- package/_cjs/chains/utils.js.map +1 -1
- package/_cjs/ens/index.js.map +1 -1
- package/_cjs/errors/version.js +1 -1
- package/_cjs/experimental/eip5792/actions/writeContracts.js.map +1 -1
- package/_cjs/experimental/erc7715/actions/issuePermissions.js +74 -0
- package/_cjs/experimental/erc7715/actions/issuePermissions.js.map +1 -0
- package/_cjs/experimental/erc7715/decorators/erc7715.js +13 -0
- package/_cjs/experimental/erc7715/decorators/erc7715.js.map +1 -0
- package/_cjs/experimental/erc7715/types/permission.js +3 -0
- package/_cjs/experimental/erc7715/types/permission.js.map +1 -0
- package/_cjs/experimental/erc7715/types/signer.js +3 -0
- package/_cjs/experimental/erc7715/types/signer.js.map +1 -0
- package/_cjs/experimental/index.js +5 -15
- package/_cjs/experimental/index.js.map +1 -1
- package/_cjs/index.js.map +1 -1
- package/_cjs/node/index.js.map +1 -1
- package/_cjs/op-stack/chains.js.map +1 -1
- package/_cjs/op-stack/index.js.map +1 -1
- package/_cjs/siwe/index.js.map +1 -1
- package/_cjs/utils/accounts.js.map +1 -1
- package/_cjs/utils/hash/toEventHash.js.map +1 -1
- package/_cjs/utils/hash/toEventSignature.js.map +1 -1
- package/_cjs/utils/hash/toFunctionHash.js.map +1 -1
- package/_cjs/utils/hash/toFunctionSignature.js.map +1 -1
- package/_cjs/utils/index.js.map +1 -1
- package/_cjs/utils/promise/withTimeout.js.map +1 -1
- package/_cjs/zksync/chains.js.map +1 -1
- package/_cjs/zksync/index.js.map +1 -1
- package/_esm/accounts/index.js +1 -0
- package/_esm/accounts/index.js.map +1 -1
- package/_esm/accounts/privateKeyToAccount.js +0 -4
- package/_esm/accounts/privateKeyToAccount.js.map +1 -1
- package/_esm/accounts/toAccount.js +0 -1
- package/_esm/accounts/toAccount.js.map +1 -1
- package/_esm/actions/index.js +1 -0
- package/_esm/actions/index.js.map +1 -1
- package/_esm/celo/index.js +1 -0
- package/_esm/celo/index.js.map +1 -1
- package/_esm/chains/definitions/avalanche.js +3 -3
- package/_esm/chains/definitions/avalanche.js.map +1 -1
- package/_esm/chains/definitions/avalancheFuji.js +3 -3
- package/_esm/chains/definitions/avalancheFuji.js.map +1 -1
- package/_esm/chains/definitions/redstone.js +20 -0
- package/_esm/chains/definitions/redstone.js.map +1 -0
- package/_esm/chains/definitions/scrollSepolia.js +3 -3
- package/_esm/chains/definitions/scrollSepolia.js.map +1 -1
- package/_esm/chains/definitions/taiko.js +29 -0
- package/_esm/chains/definitions/taiko.js.map +1 -0
- package/_esm/chains/index.js +3 -1
- package/_esm/chains/index.js.map +1 -1
- package/_esm/chains/utils.js +1 -0
- package/_esm/chains/utils.js.map +1 -1
- package/_esm/ens/index.js +1 -0
- package/_esm/ens/index.js.map +1 -1
- package/_esm/errors/version.js +1 -1
- package/_esm/experimental/eip5792/actions/writeContracts.js.map +1 -1
- package/_esm/experimental/erc7715/actions/issuePermissions.js +107 -0
- package/_esm/experimental/erc7715/actions/issuePermissions.js.map +1 -0
- package/_esm/experimental/erc7715/decorators/erc7715.js +26 -0
- package/_esm/experimental/erc7715/decorators/erc7715.js.map +1 -0
- package/_esm/experimental/erc7715/types/permission.js +2 -0
- package/_esm/experimental/erc7715/types/permission.js.map +1 -0
- package/_esm/experimental/erc7715/types/signer.js +2 -0
- package/_esm/experimental/erc7715/types/signer.js.map +1 -0
- package/_esm/experimental/index.js +3 -7
- package/_esm/experimental/index.js.map +1 -1
- package/_esm/index.js +1 -0
- package/_esm/index.js.map +1 -1
- package/_esm/node/index.js +1 -0
- package/_esm/node/index.js.map +1 -1
- package/_esm/op-stack/chains.js +1 -0
- package/_esm/op-stack/chains.js.map +1 -1
- package/_esm/op-stack/index.js +2 -0
- package/_esm/op-stack/index.js.map +1 -1
- package/_esm/siwe/index.js +1 -0
- package/_esm/siwe/index.js.map +1 -1
- package/_esm/utils/accounts.js +1 -0
- package/_esm/utils/accounts.js.map +1 -1
- package/_esm/utils/hash/toEventHash.js +1 -0
- package/_esm/utils/hash/toEventHash.js.map +1 -1
- package/_esm/utils/hash/toEventSignature.js +1 -0
- package/_esm/utils/hash/toEventSignature.js.map +1 -1
- package/_esm/utils/hash/toFunctionHash.js +1 -0
- package/_esm/utils/hash/toFunctionHash.js.map +1 -1
- package/_esm/utils/hash/toFunctionSignature.js +1 -0
- package/_esm/utils/hash/toFunctionSignature.js.map +1 -1
- package/_esm/utils/index.js +1 -0
- package/_esm/utils/index.js.map +1 -1
- package/_esm/utils/promise/withTimeout.js.map +1 -1
- package/_esm/zksync/chains.js +1 -0
- package/_esm/zksync/chains.js.map +1 -1
- package/_esm/zksync/index.js +1 -0
- package/_esm/zksync/index.js.map +1 -1
- package/_types/accounts/index.d.ts.map +1 -1
- package/_types/accounts/privateKeyToAccount.d.ts.map +1 -1
- package/_types/accounts/toAccount.d.ts.map +1 -1
- package/_types/accounts/types.d.ts +2 -4
- package/_types/accounts/types.d.ts.map +1 -1
- package/_types/actions/index.d.ts.map +1 -1
- package/_types/celo/chainConfig.d.ts +76 -76
- package/_types/celo/formatters.d.ts +38 -38
- package/_types/celo/index.d.ts.map +1 -1
- package/_types/chains/definitions/ancient8.d.ts +30 -30
- package/_types/chains/definitions/ancient8Sepolia.d.ts +30 -30
- package/_types/chains/definitions/avalanche.d.ts +3 -3
- package/_types/chains/definitions/avalancheFuji.d.ts +3 -3
- package/_types/chains/definitions/base.d.ts +30 -30
- package/_types/chains/definitions/baseGoerli.d.ts +30 -30
- package/_types/chains/definitions/baseSepolia.d.ts +30 -30
- package/_types/chains/definitions/celo.d.ts +76 -76
- package/_types/chains/definitions/celoAlfajores.d.ts +76 -76
- package/_types/chains/definitions/fraxtal.d.ts +30 -30
- package/_types/chains/definitions/fraxtalTestnet.d.ts +30 -30
- package/_types/chains/definitions/funkiSepolia.d.ts +30 -30
- package/_types/chains/definitions/liskSepolia.d.ts +30 -30
- package/_types/chains/definitions/metalL2.d.ts +30 -30
- package/_types/chains/definitions/optimism.d.ts +30 -30
- package/_types/chains/definitions/optimismGoerli.d.ts +30 -30
- package/_types/chains/definitions/optimismSepolia.d.ts +30 -30
- package/_types/chains/definitions/pgn.d.ts +30 -30
- package/_types/chains/definitions/pgnTestnet.d.ts +30 -30
- package/_types/chains/definitions/{scrollTestnet.d.ts → redstone.d.ts} +10 -11
- package/_types/chains/definitions/redstone.d.ts.map +1 -0
- package/_types/chains/definitions/rss3.d.ts +30 -30
- package/_types/chains/definitions/rss3Sepolia.d.ts +30 -30
- package/_types/chains/definitions/scrollSepolia.d.ts +3 -3
- package/_types/chains/definitions/taiko.d.ts +34 -0
- package/_types/chains/definitions/taiko.d.ts.map +1 -0
- package/_types/chains/definitions/zora.d.ts +30 -30
- package/_types/chains/definitions/zoraSepolia.d.ts +30 -30
- package/_types/chains/definitions/zoraTestnet.d.ts +30 -30
- package/_types/chains/index.d.ts +2 -1
- package/_types/chains/index.d.ts.map +1 -1
- package/_types/chains/utils.d.ts.map +1 -1
- package/_types/ens/index.d.ts.map +1 -1
- package/_types/errors/version.d.ts +1 -1
- package/_types/experimental/eip5792/actions/writeContracts.d.ts +11 -3
- package/_types/experimental/eip5792/actions/writeContracts.d.ts.map +1 -1
- package/_types/experimental/erc7715/actions/issuePermissions.d.ts +73 -0
- package/_types/experimental/erc7715/actions/issuePermissions.d.ts.map +1 -0
- package/_types/experimental/erc7715/decorators/erc7715.d.ts +61 -0
- package/_types/experimental/erc7715/decorators/erc7715.d.ts.map +1 -0
- package/_types/experimental/erc7715/types/permission.d.ts +36 -0
- package/_types/experimental/erc7715/types/permission.d.ts.map +1 -0
- package/_types/experimental/erc7715/types/signer.d.ts +22 -0
- package/_types/experimental/erc7715/types/signer.d.ts.map +1 -0
- package/_types/experimental/index.d.ts +3 -8
- package/_types/experimental/index.d.ts.map +1 -1
- package/_types/index.d.ts +2 -2
- package/_types/index.d.ts.map +1 -1
- package/_types/node/index.d.ts.map +1 -1
- package/_types/op-stack/chainConfig.d.ts +30 -30
- package/_types/op-stack/chains.d.ts.map +1 -1
- package/_types/op-stack/formatters.d.ts +30 -30
- package/_types/op-stack/index.d.ts.map +1 -1
- package/_types/siwe/index.d.ts.map +1 -1
- package/_types/types/contract.d.ts +1 -1
- package/_types/types/contract.d.ts.map +1 -1
- package/_types/types/eip1193.d.ts +38 -0
- package/_types/types/eip1193.d.ts.map +1 -1
- package/_types/utils/accounts.d.ts.map +1 -1
- package/_types/utils/formatters/transaction.d.ts +1 -1
- package/_types/utils/hash/toEventHash.d.ts.map +1 -1
- package/_types/utils/hash/toEventSignature.d.ts.map +1 -1
- package/_types/utils/hash/toFunctionHash.d.ts.map +1 -1
- package/_types/utils/hash/toFunctionSignature.d.ts.map +1 -1
- package/_types/utils/index.d.ts +1 -1
- package/_types/utils/index.d.ts.map +1 -1
- package/_types/zksync/chains.d.ts.map +1 -1
- package/_types/zksync/index.d.ts.map +1 -1
- package/accounts/index.ts +2 -0
- package/accounts/privateKeyToAccount.ts +0 -4
- package/accounts/toAccount.ts +0 -1
- package/accounts/types.ts +2 -9
- package/actions/index.ts +1 -0
- package/celo/index.ts +1 -0
- package/chains/definitions/avalanche.ts +3 -3
- package/chains/definitions/avalancheFuji.ts +3 -3
- package/chains/definitions/redstone.ts +20 -0
- package/chains/definitions/scrollSepolia.ts +3 -3
- package/chains/definitions/taiko.ts +29 -0
- package/chains/index.ts +3 -1
- package/chains/utils.ts +1 -0
- package/ens/index.ts +1 -0
- package/errors/version.ts +1 -1
- package/experimental/eip5792/actions/writeContracts.ts +38 -4
- package/experimental/erc7715/actions/issuePermissions.ts +161 -0
- package/experimental/erc7715/decorators/erc7715.ts +80 -0
- package/experimental/erc7715/types/permission.ts +46 -0
- package/experimental/erc7715/types/signer.ts +25 -0
- package/experimental/index.ts +12 -44
- package/index.ts +4 -0
- package/node/index.ts +1 -0
- package/op-stack/chains.ts +1 -0
- package/op-stack/index.ts +2 -0
- package/package.json +4 -3
- package/siwe/index.ts +1 -0
- package/types/contract.ts +1 -3
- package/types/eip1193.ts +44 -0
- package/utils/accounts.ts +2 -0
- package/utils/hash/toEventHash.ts +1 -0
- package/utils/hash/toEventSignature.ts +1 -0
- package/utils/hash/toFunctionHash.ts +1 -0
- package/utils/hash/toFunctionSignature.ts +1 -0
- package/utils/index.ts +2 -0
- package/utils/promise/withTimeout.ts +1 -1
- package/zksync/chains.ts +1 -0
- package/zksync/index.ts +1 -0
- package/_cjs/chains/definitions/scrollTestnet.js +0 -24
- package/_cjs/chains/definitions/scrollTestnet.js.map +0 -1
- package/_cjs/experimental/eip3074/actions/signAuthMessage.js +0 -29
- package/_cjs/experimental/eip3074/actions/signAuthMessage.js.map +0 -1
- package/_cjs/experimental/eip3074/constants/abis.js +0 -123
- package/_cjs/experimental/eip3074/constants/abis.js.map +0 -1
- package/_cjs/experimental/eip3074/decorators/eip3074.js +0 -13
- package/_cjs/experimental/eip3074/decorators/eip3074.js.map +0 -1
- package/_cjs/experimental/eip3074/invokers/coders/batchInvokerCoder.js +0 -26
- package/_cjs/experimental/eip3074/invokers/coders/batchInvokerCoder.js.map +0 -1
- package/_cjs/experimental/eip3074/invokers/coders/defineInvokerCoder.js +0 -8
- package/_cjs/experimental/eip3074/invokers/coders/defineInvokerCoder.js.map +0 -1
- package/_cjs/experimental/eip3074/invokers/getInvoker.js +0 -64
- package/_cjs/experimental/eip3074/invokers/getInvoker.js.map +0 -1
- package/_cjs/experimental/eip3074/utils/recoverAuthMessageAddress.js +0 -12
- package/_cjs/experimental/eip3074/utils/recoverAuthMessageAddress.js.map +0 -1
- package/_cjs/experimental/eip3074/utils/signAuthMessage.js +0 -17
- package/_cjs/experimental/eip3074/utils/signAuthMessage.js.map +0 -1
- package/_cjs/experimental/eip3074/utils/toAuthMessage.js +0 -17
- package/_cjs/experimental/eip3074/utils/toAuthMessage.js.map +0 -1
- package/_cjs/experimental/eip3074/utils/verifyAuthMessage.js +0 -11
- package/_cjs/experimental/eip3074/utils/verifyAuthMessage.js.map +0 -1
- package/_esm/chains/definitions/scrollTestnet.js +0 -21
- package/_esm/chains/definitions/scrollTestnet.js.map +0 -1
- package/_esm/experimental/eip3074/actions/signAuthMessage.js +0 -78
- package/_esm/experimental/eip3074/actions/signAuthMessage.js.map +0 -1
- package/_esm/experimental/eip3074/constants/abis.js +0 -120
- package/_esm/experimental/eip3074/constants/abis.js.map +0 -1
- package/_esm/experimental/eip3074/decorators/eip3074.js +0 -26
- package/_esm/experimental/eip3074/decorators/eip3074.js.map +0 -1
- package/_esm/experimental/eip3074/invokers/coders/batchInvokerCoder.js +0 -22
- package/_esm/experimental/eip3074/invokers/coders/batchInvokerCoder.js.map +0 -1
- package/_esm/experimental/eip3074/invokers/coders/defineInvokerCoder.js +0 -4
- package/_esm/experimental/eip3074/invokers/coders/defineInvokerCoder.js.map +0 -1
- package/_esm/experimental/eip3074/invokers/getInvoker.js +0 -60
- package/_esm/experimental/eip3074/invokers/getInvoker.js.map +0 -1
- package/_esm/experimental/eip3074/utils/recoverAuthMessageAddress.js +0 -8
- package/_esm/experimental/eip3074/utils/recoverAuthMessageAddress.js.map +0 -1
- package/_esm/experimental/eip3074/utils/signAuthMessage.js +0 -16
- package/_esm/experimental/eip3074/utils/signAuthMessage.js.map +0 -1
- package/_esm/experimental/eip3074/utils/toAuthMessage.js +0 -16
- package/_esm/experimental/eip3074/utils/toAuthMessage.js.map +0 -1
- package/_esm/experimental/eip3074/utils/verifyAuthMessage.js +0 -13
- package/_esm/experimental/eip3074/utils/verifyAuthMessage.js.map +0 -1
- package/_types/chains/definitions/scrollTestnet.d.ts.map +0 -1
- package/_types/experimental/eip3074/actions/signAuthMessage.d.ts +0 -82
- package/_types/experimental/eip3074/actions/signAuthMessage.d.ts.map +0 -1
- package/_types/experimental/eip3074/constants/abis.d.ts +0 -91
- package/_types/experimental/eip3074/constants/abis.d.ts.map +0 -1
- package/_types/experimental/eip3074/decorators/eip3074.d.ts +0 -27
- package/_types/experimental/eip3074/decorators/eip3074.d.ts.map +0 -1
- package/_types/experimental/eip3074/invokers/coders/batchInvokerCoder.d.ts +0 -11
- package/_types/experimental/eip3074/invokers/coders/batchInvokerCoder.d.ts.map +0 -1
- package/_types/experimental/eip3074/invokers/coders/defineInvokerCoder.d.ts +0 -14
- package/_types/experimental/eip3074/invokers/coders/defineInvokerCoder.d.ts.map +0 -1
- package/_types/experimental/eip3074/invokers/getInvoker.d.ts +0 -48
- package/_types/experimental/eip3074/invokers/getInvoker.d.ts.map +0 -1
- package/_types/experimental/eip3074/utils/recoverAuthMessageAddress.d.ts +0 -12
- package/_types/experimental/eip3074/utils/recoverAuthMessageAddress.d.ts.map +0 -1
- package/_types/experimental/eip3074/utils/signAuthMessage.d.ts +0 -16
- package/_types/experimental/eip3074/utils/signAuthMessage.d.ts.map +0 -1
- package/_types/experimental/eip3074/utils/toAuthMessage.d.ts +0 -20
- package/_types/experimental/eip3074/utils/toAuthMessage.d.ts.map +0 -1
- package/_types/experimental/eip3074/utils/verifyAuthMessage.d.ts +0 -19
- package/_types/experimental/eip3074/utils/verifyAuthMessage.d.ts.map +0 -1
- package/chains/definitions/scrollTestnet.ts +0 -21
- package/experimental/eip3074/actions/signAuthMessage.ts +0 -151
- package/experimental/eip3074/constants/abis.ts +0 -119
- package/experimental/eip3074/decorators/eip3074.ts +0 -58
- package/experimental/eip3074/invokers/coders/batchInvokerCoder.ts +0 -46
- package/experimental/eip3074/invokers/coders/defineInvokerCoder.ts +0 -20
- package/experimental/eip3074/invokers/getInvoker.ts +0 -192
- package/experimental/eip3074/utils/recoverAuthMessageAddress.ts +0 -29
- package/experimental/eip3074/utils/signAuthMessage.ts +0 -40
- package/experimental/eip3074/utils/toAuthMessage.ts +0 -50
- package/experimental/eip3074/utils/verifyAuthMessage.ts +0 -46
@@ -1,24 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.scrollTestnet = void 0;
|
4
|
-
const defineChain_js_1 = require("../../utils/chain/defineChain.js");
|
5
|
-
exports.scrollTestnet = (0, defineChain_js_1.defineChain)({
|
6
|
-
id: 534_353,
|
7
|
-
name: 'Scroll Testnet',
|
8
|
-
nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },
|
9
|
-
rpcUrls: {
|
10
|
-
default: {
|
11
|
-
http: ['https://alpha-rpc.scroll.io/l2'],
|
12
|
-
webSocket: ['wss://alpha-rpc.scroll.io/l2/ws'],
|
13
|
-
},
|
14
|
-
},
|
15
|
-
blockExplorers: {
|
16
|
-
default: {
|
17
|
-
name: 'Blockscout',
|
18
|
-
url: 'https://blockscout.scroll.io',
|
19
|
-
apiUrl: 'https://blockscout.scroll.io/api',
|
20
|
-
},
|
21
|
-
},
|
22
|
-
testnet: true,
|
23
|
-
});
|
24
|
-
//# sourceMappingURL=scrollTestnet.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"scrollTestnet.js","sourceRoot":"","sources":["../../../chains/definitions/scrollTestnet.ts"],"names":[],"mappings":";;;AAAA,qEAA8D;AAEjD,QAAA,aAAa,GAAiB,IAAA,4BAAW,EAAC;IACrD,EAAE,EAAE,OAAO;IACX,IAAI,EAAE,gBAAgB;IACtB,cAAc,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC9D,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,CAAC,gCAAgC,CAAC;YACxC,SAAS,EAAE,CAAC,iCAAiC,CAAC;SAC/C;KACF;IACD,cAAc,EAAE;QACd,OAAO,EAAE;YACP,IAAI,EAAE,YAAY;YAClB,GAAG,EAAE,8BAA8B;YACnC,MAAM,EAAE,kCAAkC;SAC3C;KACF;IACD,OAAO,EAAE,IAAI;CACd,CAAC,CAAA"}
|
@@ -1,29 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.signAuthMessage = void 0;
|
4
|
-
const getTransactionCount_js_1 = require("../../../actions/public/getTransactionCount.js");
|
5
|
-
const account_js_1 = require("../../../errors/account.js");
|
6
|
-
const getAction_js_1 = require("../../../utils/getAction.js");
|
7
|
-
async function signAuthMessage(client, parameters) {
|
8
|
-
const { account = client.account, chain = client.chain, commit, invokerAddress, } = parameters;
|
9
|
-
if (!account)
|
10
|
-
throw new account_js_1.AccountNotFoundError({
|
11
|
-
docsPath: '/experimental/eip5792/signAuthMessage',
|
12
|
-
});
|
13
|
-
const nonce = await (() => {
|
14
|
-
if (typeof parameters.nonce === 'number')
|
15
|
-
return parameters.nonce;
|
16
|
-
return (0, getAction_js_1.getAction)(client, getTransactionCount_js_1.getTransactionCount, 'getTransactionCount')({
|
17
|
-
address: account.address,
|
18
|
-
blockTag: 'pending',
|
19
|
-
});
|
20
|
-
})();
|
21
|
-
return account.experimental_signAuthMessage({
|
22
|
-
chainId: chain.id,
|
23
|
-
commit,
|
24
|
-
invokerAddress,
|
25
|
-
nonce,
|
26
|
-
});
|
27
|
-
}
|
28
|
-
exports.signAuthMessage = signAuthMessage;
|
29
|
-
//# sourceMappingURL=signAuthMessage.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"signAuthMessage.js","sourceRoot":"","sources":["../../../../experimental/eip3074/actions/signAuthMessage.ts"],"names":[],"mappings":";;;AACA,2FAAoF;AAGpF,2DAAiE;AAUjE,8DAAuD;AA4FhD,KAAK,UAAU,eAAe,CAMnC,MAAyC,EACzC,UAKC;IAED,MAAM,EACJ,OAAO,GAAG,MAAM,CAAC,OAAO,EACxB,KAAK,GAAG,MAAM,CAAC,KAAK,EACpB,MAAM,EACN,cAAc,GACf,GAAG,UAAU,CAAA;IAEd,IAAI,CAAC,OAAO;QACV,MAAM,IAAI,iCAAoB,CAAC;YAC7B,QAAQ,EAAE,uCAAuC;SAClD,CAAC,CAAA;IAEJ,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,EAAE;QACxB,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,QAAQ;YAAE,OAAO,UAAU,CAAC,KAAK,CAAA;QACjE,OAAO,IAAA,wBAAS,EACd,MAAM,EACN,4CAAmB,EACnB,qBAAqB,CACtB,CAAC;YACA,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAA;IACJ,CAAC,CAAC,EAAE,CAAA;IAEJ,OAAO,OAAO,CAAC,4BAA6B,CAAC;QAC3C,OAAO,EAAE,KAAM,CAAC,EAAE;QAClB,MAAM;QACN,cAAc;QACd,KAAK;KACN,CAAC,CAAA;AACJ,CAAC;AA5CD,0CA4CC"}
|
@@ -1,123 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.invokerAbi = void 0;
|
4
|
-
exports.invokerAbi = [
|
5
|
-
{
|
6
|
-
type: 'function',
|
7
|
-
name: 'execute',
|
8
|
-
inputs: [
|
9
|
-
{
|
10
|
-
name: 'execData',
|
11
|
-
type: 'bytes',
|
12
|
-
internalType: 'bytes',
|
13
|
-
},
|
14
|
-
{
|
15
|
-
name: 'signature',
|
16
|
-
type: 'tuple',
|
17
|
-
internalType: 'struct Auth.Signature',
|
18
|
-
components: [
|
19
|
-
{
|
20
|
-
name: 'signer',
|
21
|
-
type: 'address',
|
22
|
-
internalType: 'address',
|
23
|
-
},
|
24
|
-
{
|
25
|
-
name: 'yParity',
|
26
|
-
type: 'uint8',
|
27
|
-
internalType: 'uint8',
|
28
|
-
},
|
29
|
-
{
|
30
|
-
name: 'r',
|
31
|
-
type: 'bytes32',
|
32
|
-
internalType: 'bytes32',
|
33
|
-
},
|
34
|
-
{
|
35
|
-
name: 's',
|
36
|
-
type: 'bytes32',
|
37
|
-
internalType: 'bytes32',
|
38
|
-
},
|
39
|
-
],
|
40
|
-
},
|
41
|
-
],
|
42
|
-
outputs: [],
|
43
|
-
stateMutability: 'nonpayable',
|
44
|
-
},
|
45
|
-
{
|
46
|
-
type: 'function',
|
47
|
-
name: 'getDigest',
|
48
|
-
inputs: [
|
49
|
-
{
|
50
|
-
name: 'execData',
|
51
|
-
type: 'bytes',
|
52
|
-
internalType: 'bytes',
|
53
|
-
},
|
54
|
-
{
|
55
|
-
name: 'nonce',
|
56
|
-
type: 'uint256',
|
57
|
-
internalType: 'uint256',
|
58
|
-
},
|
59
|
-
],
|
60
|
-
outputs: [
|
61
|
-
{
|
62
|
-
name: 'digest',
|
63
|
-
type: 'bytes32',
|
64
|
-
internalType: 'bytes32',
|
65
|
-
},
|
66
|
-
],
|
67
|
-
stateMutability: 'view',
|
68
|
-
},
|
69
|
-
{
|
70
|
-
type: 'function',
|
71
|
-
name: 'multiSend',
|
72
|
-
inputs: [
|
73
|
-
{
|
74
|
-
name: 'transactions',
|
75
|
-
type: 'bytes',
|
76
|
-
internalType: 'bytes',
|
77
|
-
},
|
78
|
-
],
|
79
|
-
outputs: [],
|
80
|
-
stateMutability: 'payable',
|
81
|
-
},
|
82
|
-
{
|
83
|
-
type: 'function',
|
84
|
-
name: 'nextNonce',
|
85
|
-
inputs: [
|
86
|
-
{
|
87
|
-
name: '',
|
88
|
-
type: 'address',
|
89
|
-
internalType: 'address',
|
90
|
-
},
|
91
|
-
],
|
92
|
-
outputs: [
|
93
|
-
{
|
94
|
-
name: '',
|
95
|
-
type: 'uint256',
|
96
|
-
internalType: 'uint256',
|
97
|
-
},
|
98
|
-
],
|
99
|
-
stateMutability: 'view',
|
100
|
-
},
|
101
|
-
{
|
102
|
-
type: 'error',
|
103
|
-
name: 'BadAuth',
|
104
|
-
inputs: [],
|
105
|
-
},
|
106
|
-
{
|
107
|
-
type: 'error',
|
108
|
-
name: 'InvalidNonce',
|
109
|
-
inputs: [
|
110
|
-
{
|
111
|
-
name: 'authority',
|
112
|
-
type: 'address',
|
113
|
-
internalType: 'address',
|
114
|
-
},
|
115
|
-
{
|
116
|
-
name: 'attempted',
|
117
|
-
type: 'uint256',
|
118
|
-
internalType: 'uint256',
|
119
|
-
},
|
120
|
-
],
|
121
|
-
},
|
122
|
-
];
|
123
|
-
//# sourceMappingURL=abis.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"abis.js","sourceRoot":"","sources":["../../../../experimental/eip3074/constants/abis.ts"],"names":[],"mappings":";;;AAAa,QAAA,UAAU,GAAG;IACxB;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,SAAS;QACf,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,OAAO;aACtB;YACD;gBACE,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,uBAAuB;gBACrC,UAAU,EAAE;oBACV;wBACE,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACxB;oBACD;wBACE,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,OAAO;wBACb,YAAY,EAAE,OAAO;qBACtB;oBACD;wBACE,IAAI,EAAE,GAAG;wBACT,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACxB;oBACD;wBACE,IAAI,EAAE,GAAG;wBACT,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACxB;iBACF;aACF;SACF;QACD,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;KAC9B;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,OAAO;aACtB;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACxB;SACF;QACD,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACxB;SACF;QACD,eAAe,EAAE,MAAM;KACxB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,OAAO;aACtB;SACF;QACD,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;KAC3B;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACxB;SACF;QACD,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACxB;SACF;QACD,eAAe,EAAE,MAAM;KACxB;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,EAAE;KACX;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACxB;YACD;gBACE,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACxB;SACF;KACF;CACO,CAAA"}
|
@@ -1,13 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.walletActionsEip3074 = void 0;
|
4
|
-
const signAuthMessage_js_1 = require("../actions/signAuthMessage.js");
|
5
|
-
function walletActionsEip3074() {
|
6
|
-
return (client) => {
|
7
|
-
return {
|
8
|
-
signAuthMessage: (parameters) => (0, signAuthMessage_js_1.signAuthMessage)(client, parameters),
|
9
|
-
};
|
10
|
-
};
|
11
|
-
}
|
12
|
-
exports.walletActionsEip3074 = walletActionsEip3074;
|
13
|
-
//# sourceMappingURL=eip3074.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"eip3074.js","sourceRoot":"","sources":["../../../../experimental/eip3074/decorators/eip3074.ts"],"names":[],"mappings":";;;AAIA,sEAIsC;AAoCtC,SAAgB,oBAAoB;IAClC,OAAO,CAKL,MAAyC,EACH,EAAE;QACxC,OAAO;YACL,eAAe,EAAE,CAAC,UAAU,EAAE,EAAE,CAC9B,IAAA,oCAAe,EAAC,MAAa,EAAE,UAAU,CAAC;SAC7C,CAAA;IACH,CAAC,CAAA;AACH,CAAC;AAbD,oDAaC"}
|
@@ -1,26 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.batchInvokerCoder = void 0;
|
4
|
-
const readContract_js_1 = require("../../../../actions/public/readContract.js");
|
5
|
-
const encodeAbiParameters_js_1 = require("../../../../utils/abi/encodeAbiParameters.js");
|
6
|
-
const encodePacked_js_1 = require("../../../../utils/abi/encodePacked.js");
|
7
|
-
const concat_js_1 = require("../../../../utils/data/concat.js");
|
8
|
-
const size_js_1 = require("../../../../utils/data/size.js");
|
9
|
-
const abis_js_1 = require("../../constants/abis.js");
|
10
|
-
const defineInvokerCoder_js_1 = require("./defineInvokerCoder.js");
|
11
|
-
function batchInvokerCoder() {
|
12
|
-
return (0, defineInvokerCoder_js_1.defineInvokerCoder)({
|
13
|
-
async toExecData(args, { authority, client, invokerAddress }) {
|
14
|
-
const nonce = await (0, readContract_js_1.readContract)(client, {
|
15
|
-
abi: abis_js_1.invokerAbi,
|
16
|
-
address: invokerAddress,
|
17
|
-
functionName: 'nextNonce',
|
18
|
-
args: [authority],
|
19
|
-
});
|
20
|
-
const calls = (0, concat_js_1.concat)(args.map(({ data = '0x', to, value = 0n }) => (0, encodePacked_js_1.encodePacked)(['uint8', 'address', 'uint256', 'uint256', 'bytes'], [2, to, value, BigInt((0, size_js_1.size)(data)), data])));
|
21
|
-
return (0, encodeAbiParameters_js_1.encodeAbiParameters)([{ type: 'uint256' }, { type: 'bytes' }], [nonce, calls]);
|
22
|
-
},
|
23
|
-
});
|
24
|
-
}
|
25
|
-
exports.batchInvokerCoder = batchInvokerCoder;
|
26
|
-
//# sourceMappingURL=batchInvokerCoder.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"batchInvokerCoder.js","sourceRoot":"","sources":["../../../../../experimental/eip3074/invokers/coders/batchInvokerCoder.ts"],"names":[],"mappings":";;;AACA,gFAAyE;AAEzE,yFAAkF;AAClF,2EAAoE;AACpE,gEAAyD;AACzD,4DAAqD;AACrD,qDAAoD;AACpD,mEAA4D;AAU5D,SAAgB,iBAAiB;IAC/B,OAAO,IAAA,0CAAkB,EAAC;QACxB,KAAK,CAAC,UAAU,CACd,IAAsB,EACtB,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE;YAErC,MAAM,KAAK,GAAG,MAAM,IAAA,8BAAY,EAAC,MAAM,EAAE;gBACvC,GAAG,EAAE,oBAAU;gBACf,OAAO,EAAE,cAAc;gBACvB,YAAY,EAAE,WAAW;gBACzB,IAAI,EAAE,CAAC,SAAS,CAAC;aAClB,CAAC,CAAA;YAEF,MAAM,KAAK,GAAG,IAAA,kBAAM,EAClB,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,EAAE,EAAE,CAC3C,IAAA,8BAAY,EACV,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EACnD,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,IAAA,cAAI,EAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CACzC,CACF,CACF,CAAA;YACD,OAAO,IAAA,4CAAmB,EACxB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EACxC,CAAC,KAAK,EAAE,KAAK,CAAC,CACf,CAAA;QACH,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AA3BD,8CA2BC"}
|
@@ -1,8 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.defineInvokerCoder = void 0;
|
4
|
-
function defineInvokerCoder(parameters) {
|
5
|
-
return parameters;
|
6
|
-
}
|
7
|
-
exports.defineInvokerCoder = defineInvokerCoder;
|
8
|
-
//# sourceMappingURL=defineInvokerCoder.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"defineInvokerCoder.js","sourceRoot":"","sources":["../../../../../experimental/eip3074/invokers/coders/defineInvokerCoder.ts"],"names":[],"mappings":";;;AAeA,SAAgB,kBAAkB,CAChC,UAA8C;IAE9C,OAAO,UAAU,CAAA;AACnB,CAAC;AAJD,gDAIC"}
|
@@ -1,64 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.getInvoker = void 0;
|
4
|
-
const getTransactionCount_js_1 = require("../../../actions/public/getTransactionCount.js");
|
5
|
-
const writeContract_js_1 = require("../../../actions/wallet/writeContract.js");
|
6
|
-
const accounts_js_1 = require("../../../utils/accounts.js");
|
7
|
-
const isAddressEqual_js_1 = require("../../../utils/address/isAddressEqual.js");
|
8
|
-
const getAction_js_1 = require("../../../utils/getAction.js");
|
9
|
-
const keccak256_js_1 = require("../../../utils/hash/keccak256.js");
|
10
|
-
const parseSignature_js_1 = require("../../../utils/signature/parseSignature.js");
|
11
|
-
const signAuthMessage_js_1 = require("../actions/signAuthMessage.js");
|
12
|
-
const abis_js_1 = require("../constants/abis.js");
|
13
|
-
function getInvoker(parameters) {
|
14
|
-
const { address, client, coder } = parameters;
|
15
|
-
return {
|
16
|
-
address,
|
17
|
-
async execute(parameters) {
|
18
|
-
const { executor: executor_ = client.account, authority: authority_, args, chain = client.chain, signature, } = parameters;
|
19
|
-
const authority = (0, accounts_js_1.parseAccount)(authority_);
|
20
|
-
const executor = (0, accounts_js_1.parseAccount)(executor_);
|
21
|
-
const execData = await coder.toExecData(args, {
|
22
|
-
authority: authority.address,
|
23
|
-
client,
|
24
|
-
invokerAddress: address,
|
25
|
-
});
|
26
|
-
const { r, s, yParity } = (0, parseSignature_js_1.parseSignature)(signature);
|
27
|
-
return (0, getAction_js_1.getAction)(client, writeContract_js_1.writeContract, 'writeContract')({
|
28
|
-
abi: abis_js_1.invokerAbi,
|
29
|
-
address,
|
30
|
-
account: executor,
|
31
|
-
chain,
|
32
|
-
functionName: 'execute',
|
33
|
-
args: [execData, { signer: authority.address, r, s, yParity }],
|
34
|
-
});
|
35
|
-
},
|
36
|
-
async sign(parameters) {
|
37
|
-
const { args, authority, executor: executor_ = client.account, chain = client.chain, } = parameters;
|
38
|
-
const executor = (0, accounts_js_1.parseAccount)(executor_);
|
39
|
-
const [execData, nonce] = await Promise.all([
|
40
|
-
await coder.toExecData(args, {
|
41
|
-
authority: authority.address,
|
42
|
-
client,
|
43
|
-
invokerAddress: address,
|
44
|
-
}),
|
45
|
-
(0, getAction_js_1.getAction)(client, getTransactionCount_js_1.getTransactionCount, 'getTransactionCount')({
|
46
|
-
address: authority.address,
|
47
|
-
blockTag: 'pending',
|
48
|
-
}),
|
49
|
-
]);
|
50
|
-
const signature = await (0, getAction_js_1.getAction)(client, signAuthMessage_js_1.signAuthMessage, 'signAuthMessage')({
|
51
|
-
account: authority,
|
52
|
-
chain,
|
53
|
-
commit: (0, keccak256_js_1.keccak256)(execData),
|
54
|
-
invokerAddress: address,
|
55
|
-
nonce: (0, isAddressEqual_js_1.isAddressEqual)(authority.address, executor.address)
|
56
|
-
? nonce + 1
|
57
|
-
: nonce,
|
58
|
-
});
|
59
|
-
return signature;
|
60
|
-
},
|
61
|
-
};
|
62
|
-
}
|
63
|
-
exports.getInvoker = getInvoker;
|
64
|
-
//# sourceMappingURL=getInvoker.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"getInvoker.js","sourceRoot":"","sources":["../../../../experimental/eip3074/invokers/getInvoker.ts"],"names":[],"mappings":";;;AACA,2FAGuD;AACvD,+EAGiD;AAQjD,4DAAyD;AACzD,gFAGiD;AACjD,8DAAuD;AACvD,mEAGyC;AACzC,kFAGmD;AACnD,sEAGsC;AACtC,kDAAiD;AA6EjD,SAAgB,UAAU,CAKxB,UAAsD;IAEtD,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,CAAA;IAC7C,OAAO;QACL,OAAO;QACP,KAAK,CAAC,OAAO,CAAC,UAAU;YACtB,MAAM,EACJ,QAAQ,EAAE,SAAS,GAAG,MAAM,CAAC,OAAO,EACpC,SAAS,EAAE,UAAU,EACrB,IAAI,EACJ,KAAK,GAAG,MAAM,CAAC,KAAK,EACpB,SAAS,GACV,GAAG,UAAU,CAAA;YACd,MAAM,SAAS,GAAG,IAAA,0BAAY,EAAC,UAAW,CAAC,CAAA;YAC3C,MAAM,QAAQ,GAAG,IAAA,0BAAY,EAAC,SAAU,CAAC,CAAA;YAEzC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE;gBAC5C,SAAS,EAAE,SAAS,CAAC,OAAO;gBAC5B,MAAM;gBACN,cAAc,EAAE,OAAO;aACxB,CAAC,CAAA;YAEF,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,IAAA,kCAAc,EAAC,SAAS,CAAC,CAAA;YACnD,OAAO,IAAA,wBAAS,EACd,MAAM,EACN,gCAAa,EACb,eAAe,CAChB,CAAC;gBACA,GAAG,EAAE,oBAAU;gBACf,OAAO;gBACP,OAAO,EAAE,QAAQ;gBACjB,KAAK;gBACL,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC;aAC/D,CAAC,CAAA;QACJ,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,UAAU;YACnB,MAAM,EACJ,IAAI,EACJ,SAAS,EACT,QAAQ,EAAE,SAAS,GAAG,MAAM,CAAC,OAAO,EACpC,KAAK,GAAG,MAAM,CAAC,KAAK,GACrB,GAAG,UAAU,CAAA;YACd,MAAM,QAAQ,GAAG,IAAA,0BAAY,EAAC,SAAU,CAAC,CAAA;YACzC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC1C,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE;oBAC3B,SAAS,EAAE,SAAS,CAAC,OAAO;oBAC5B,MAAM;oBACN,cAAc,EAAE,OAAO;iBACxB,CAAC;gBACF,IAAA,wBAAS,EACP,MAAM,EACN,4CAAmB,EACnB,qBAAqB,CACtB,CAAC;oBACA,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,QAAQ,EAAE,SAAS;iBACpB,CAAC;aACH,CAAC,CAAA;YACF,MAAM,SAAS,GAAG,MAAM,IAAA,wBAAS,EAC/B,MAAM,EACN,oCAAe,EACf,iBAAiB,CAClB,CAAC;gBACA,OAAO,EAAE,SAAS;gBAClB,KAAK;gBACL,MAAM,EAAE,IAAA,wBAAS,EAAC,QAAQ,CAAC;gBAC3B,cAAc,EAAE,OAAO;gBACvB,KAAK,EAAE,IAAA,kCAAc,EAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC;oBACxD,CAAC,CAAC,KAAK,GAAG,CAAC;oBACX,CAAC,CAAC,KAAK;aACV,CAAC,CAAA;YACF,OAAO,SAAS,CAAA;QAClB,CAAC;KACF,CAAA;AACH,CAAC;AAhFD,gCAgFC"}
|
@@ -1,12 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.recoverAuthMessageAddress = void 0;
|
4
|
-
const keccak256_js_1 = require("../../../utils/hash/keccak256.js");
|
5
|
-
const recoverAddress_js_1 = require("../../../utils/signature/recoverAddress.js");
|
6
|
-
const toAuthMessage_js_1 = require("./toAuthMessage.js");
|
7
|
-
async function recoverAuthMessageAddress({ signature, ...parameters }) {
|
8
|
-
const hash = (0, keccak256_js_1.keccak256)((0, toAuthMessage_js_1.toAuthMessage)(parameters));
|
9
|
-
return (0, recoverAddress_js_1.recoverAddress)({ hash, signature });
|
10
|
-
}
|
11
|
-
exports.recoverAuthMessageAddress = recoverAuthMessageAddress;
|
12
|
-
//# sourceMappingURL=recoverAuthMessageAddress.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"recoverAuthMessageAddress.js","sourceRoot":"","sources":["../../../../experimental/eip3074/utils/recoverAuthMessageAddress.ts"],"names":[],"mappings":";;;AAKA,mEAA4D;AAC5D,kFAGmD;AACnD,yDAAgF;AAYzE,KAAK,UAAU,yBAAyB,CAAC,EAC9C,SAAS,EACT,GAAG,UAAU,EACuB;IACpC,MAAM,IAAI,GAAG,IAAA,wBAAS,EAAC,IAAA,gCAAa,EAAC,UAAU,CAAC,CAAC,CAAA;IACjD,OAAO,IAAA,kCAAc,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;AAC5C,CAAC;AAND,8DAMC"}
|
@@ -1,17 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.signAuthMessage = void 0;
|
4
|
-
const sign_js_1 = require("../../../accounts/utils/sign.js");
|
5
|
-
const keccak256_js_1 = require("../../../utils/hash/keccak256.js");
|
6
|
-
const serializeSignature_js_1 = require("../../../utils/signature/serializeSignature.js");
|
7
|
-
const toAuthMessage_js_1 = require("./toAuthMessage.js");
|
8
|
-
async function signAuthMessage(parameters) {
|
9
|
-
const { privateKey } = parameters;
|
10
|
-
const signature = await (0, sign_js_1.sign)({
|
11
|
-
hash: (0, keccak256_js_1.keccak256)((0, toAuthMessage_js_1.toAuthMessage)(parameters)),
|
12
|
-
privateKey,
|
13
|
-
});
|
14
|
-
return (0, serializeSignature_js_1.serializeSignature)(signature);
|
15
|
-
}
|
16
|
-
exports.signAuthMessage = signAuthMessage;
|
17
|
-
//# sourceMappingURL=signAuthMessage.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"signAuthMessage.js","sourceRoot":"","sources":["../../../../experimental/eip3074/utils/signAuthMessage.ts"],"names":[],"mappings":";;;AAAA,6DAA0E;AAG1E,mEAA4D;AAC5D,0FAGuD;AACvD,yDAI2B;AAkBpB,KAAK,UAAU,eAAe,CACnC,UAAqC;IAErC,MAAM,EAAE,UAAU,EAAE,GAAG,UAAU,CAAA;IACjC,MAAM,SAAS,GAAG,MAAM,IAAA,cAAI,EAAC;QAC3B,IAAI,EAAE,IAAA,wBAAS,EAAC,IAAA,gCAAa,EAAC,UAAU,CAAC,CAAC;QAC1C,UAAU;KACX,CAAC,CAAA;IACF,OAAO,IAAA,0CAAkB,EAAC,SAAS,CAAC,CAAA;AACtC,CAAC;AATD,0CASC"}
|
@@ -1,17 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.toAuthMessage = void 0;
|
4
|
-
const encodePacked_js_1 = require("../../../utils/abi/encodePacked.js");
|
5
|
-
const pad_js_1 = require("../../../utils/data/pad.js");
|
6
|
-
const toHex_js_1 = require("../../../utils/encoding/toHex.js");
|
7
|
-
function toAuthMessage({ chainId, commit, invokerAddress, nonce, }) {
|
8
|
-
return (0, encodePacked_js_1.encodePacked)(['uint8', 'bytes32', 'uint256', 'bytes32', 'bytes32'], [
|
9
|
-
0x04,
|
10
|
-
(0, toHex_js_1.numberToHex)(chainId, { size: 32 }),
|
11
|
-
BigInt(nonce),
|
12
|
-
(0, pad_js_1.padHex)(invokerAddress, { size: 32 }),
|
13
|
-
commit,
|
14
|
-
]);
|
15
|
-
}
|
16
|
-
exports.toAuthMessage = toAuthMessage;
|
17
|
-
//# sourceMappingURL=toAuthMessage.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"toAuthMessage.js","sourceRoot":"","sources":["../../../../experimental/eip3074/utils/toAuthMessage.ts"],"names":[],"mappings":";;;AAGA,wEAG2C;AAC3C,uDAAyE;AACzE,+DAGyC;AAsBzC,SAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,MAAM,EACN,cAAc,EACd,KAAK,GACmB;IACxB,OAAO,IAAA,8BAAY,EACjB,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EACrD;QACE,IAAI;QACJ,IAAA,sBAAW,EAAC,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC;QACb,IAAA,eAAM,EAAC,cAAc,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QACpC,MAAM;KACP,CACF,CAAA;AACH,CAAC;AAhBD,sCAgBC"}
|
@@ -1,11 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.verifyAuthMessage = void 0;
|
4
|
-
const getAddress_js_1 = require("../../../utils/address/getAddress.js");
|
5
|
-
const isAddressEqual_js_1 = require("../../../utils/address/isAddressEqual.js");
|
6
|
-
const recoverAuthMessageAddress_js_1 = require("./recoverAuthMessageAddress.js");
|
7
|
-
async function verifyAuthMessage({ address, ...parameters }) {
|
8
|
-
return (0, isAddressEqual_js_1.isAddressEqual)((0, getAddress_js_1.getAddress)(address), await (0, recoverAuthMessageAddress_js_1.recoverAuthMessageAddress)(parameters));
|
9
|
-
}
|
10
|
-
exports.verifyAuthMessage = verifyAuthMessage;
|
11
|
-
//# sourceMappingURL=verifyAuthMessage.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"verifyAuthMessage.js","sourceRoot":"","sources":["../../../../experimental/eip3074/utils/verifyAuthMessage.ts"],"names":[],"mappings":";;;AAGA,wEAG6C;AAC7C,gFAGiD;AACjD,iFAIuC;AAsBhC,KAAK,UAAU,iBAAiB,CAAC,EACtC,OAAO,EACP,GAAG,UAAU,EACe;IAC5B,OAAO,IAAA,kCAAc,EACnB,IAAA,0BAAU,EAAC,OAAO,CAAC,EACnB,MAAM,IAAA,wDAAyB,EAAC,UAAU,CAAC,CAC5C,CAAA;AACH,CAAC;AARD,8CAQC"}
|
@@ -1,21 +0,0 @@
|
|
1
|
-
import { defineChain } from '../../utils/chain/defineChain.js';
|
2
|
-
export const scrollTestnet = /*#__PURE__*/ defineChain({
|
3
|
-
id: 534_353,
|
4
|
-
name: 'Scroll Testnet',
|
5
|
-
nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },
|
6
|
-
rpcUrls: {
|
7
|
-
default: {
|
8
|
-
http: ['https://alpha-rpc.scroll.io/l2'],
|
9
|
-
webSocket: ['wss://alpha-rpc.scroll.io/l2/ws'],
|
10
|
-
},
|
11
|
-
},
|
12
|
-
blockExplorers: {
|
13
|
-
default: {
|
14
|
-
name: 'Blockscout',
|
15
|
-
url: 'https://blockscout.scroll.io',
|
16
|
-
apiUrl: 'https://blockscout.scroll.io/api',
|
17
|
-
},
|
18
|
-
},
|
19
|
-
testnet: true,
|
20
|
-
});
|
21
|
-
//# sourceMappingURL=scrollTestnet.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"scrollTestnet.js","sourceRoot":"","sources":["../../../chains/definitions/scrollTestnet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAA;AAE9D,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAC,WAAW,CAAC;IACrD,EAAE,EAAE,OAAO;IACX,IAAI,EAAE,gBAAgB;IACtB,cAAc,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC9D,OAAO,EAAE;QACP,OAAO,EAAE;YACP,IAAI,EAAE,CAAC,gCAAgC,CAAC;YACxC,SAAS,EAAE,CAAC,iCAAiC,CAAC;SAC/C;KACF;IACD,cAAc,EAAE;QACd,OAAO,EAAE;YACP,IAAI,EAAE,YAAY;YAClB,GAAG,EAAE,8BAA8B;YACnC,MAAM,EAAE,kCAAkC;SAC3C;KACF;IACD,OAAO,EAAE,IAAI;CACd,CAAC,CAAA"}
|
@@ -1,78 +0,0 @@
|
|
1
|
-
import { getTransactionCount } from '../../../actions/public/getTransactionCount.js';
|
2
|
-
import { AccountNotFoundError } from '../../../errors/account.js';
|
3
|
-
import { getAction } from '../../../utils/getAction.js';
|
4
|
-
/**
|
5
|
-
* Calculates an [EIP-3074](https://eips.ethereum.org/EIPS/eip-3074) auth signature.
|
6
|
-
*
|
7
|
-
* With the calculated signature, you can:
|
8
|
-
* - pass it to an EIP-3074 compatible invoker contract,
|
9
|
-
* - use [`verifyAuthMessage`](/experimental/eip3074/verifyAuthMessage) to verify the signature,
|
10
|
-
* - use [`recoverAuthMessageAddress`](/experimental/eip3074/recoverAuthMessageAddress) to recover the signing address from a signature.
|
11
|
-
*
|
12
|
-
* @param client - Client to use
|
13
|
-
* @param parameters - {@link SignAuthMessageParameters}
|
14
|
-
* @returns The signed auth message. {@link SignAuthMessageReturnType}
|
15
|
-
*
|
16
|
-
* @example
|
17
|
-
* import { createWalletClient, http } from 'viem'
|
18
|
-
* import { privateKeyToAccount } from 'viem/accounts'
|
19
|
-
* import { mainnet } from 'viem/chains'
|
20
|
-
* import { signAuthMessage } from 'viem/experimental'
|
21
|
-
*
|
22
|
-
* const account = privateKeyToAccount('0x...')
|
23
|
-
*
|
24
|
-
* const client = createWalletClient({
|
25
|
-
* chain: mainnet,
|
26
|
-
* transport: http(),
|
27
|
-
* })
|
28
|
-
*
|
29
|
-
* const signature = await signAuthMessage(client, {
|
30
|
-
* account,
|
31
|
-
* chainId: 1,
|
32
|
-
* commit: keccak256('0x1234'),
|
33
|
-
* invokerAddress: '0x0000000000000000000000000000000000000000',
|
34
|
-
* nonce: 69,
|
35
|
-
* })
|
36
|
-
*
|
37
|
-
* @example
|
38
|
-
* // Account Hoisting
|
39
|
-
* import { createWalletClient, http } from 'viem'
|
40
|
-
* import { privateKeyToAccount } from 'viem/accounts'
|
41
|
-
* import { mainnet } from 'viem/chains'
|
42
|
-
* import { signAuthMessage } from 'viem/experimental'
|
43
|
-
*
|
44
|
-
* const client = createWalletClient({
|
45
|
-
* account: privateKeyToAccount('0x…'),
|
46
|
-
* chain: mainnet,
|
47
|
-
* transport: http(),
|
48
|
-
* })
|
49
|
-
*
|
50
|
-
* const signature = await signAuthMessage(client, {
|
51
|
-
* chainId: 1,
|
52
|
-
* commit: keccak256('0x1234'),
|
53
|
-
* invokerAddress: '0x0000000000000000000000000000000000000000',
|
54
|
-
* nonce: 69,
|
55
|
-
* })
|
56
|
-
*/
|
57
|
-
export async function signAuthMessage(client, parameters) {
|
58
|
-
const { account = client.account, chain = client.chain, commit, invokerAddress, } = parameters;
|
59
|
-
if (!account)
|
60
|
-
throw new AccountNotFoundError({
|
61
|
-
docsPath: '/experimental/eip5792/signAuthMessage',
|
62
|
-
});
|
63
|
-
const nonce = await (() => {
|
64
|
-
if (typeof parameters.nonce === 'number')
|
65
|
-
return parameters.nonce;
|
66
|
-
return getAction(client, getTransactionCount, 'getTransactionCount')({
|
67
|
-
address: account.address,
|
68
|
-
blockTag: 'pending',
|
69
|
-
});
|
70
|
-
})();
|
71
|
-
return account.experimental_signAuthMessage({
|
72
|
-
chainId: chain.id,
|
73
|
-
commit,
|
74
|
-
invokerAddress,
|
75
|
-
nonce,
|
76
|
-
});
|
77
|
-
}
|
78
|
-
//# sourceMappingURL=signAuthMessage.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"signAuthMessage.js","sourceRoot":"","sources":["../../../../experimental/eip3074/actions/signAuthMessage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gDAAgD,CAAA;AAGpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAA;AAUjE,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAuCvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAMnC,MAAyC,EACzC,UAKC;IAED,MAAM,EACJ,OAAO,GAAG,MAAM,CAAC,OAAO,EACxB,KAAK,GAAG,MAAM,CAAC,KAAK,EACpB,MAAM,EACN,cAAc,GACf,GAAG,UAAU,CAAA;IAEd,IAAI,CAAC,OAAO;QACV,MAAM,IAAI,oBAAoB,CAAC;YAC7B,QAAQ,EAAE,uCAAuC;SAClD,CAAC,CAAA;IAEJ,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,EAAE;QACxB,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,QAAQ;YAAE,OAAO,UAAU,CAAC,KAAK,CAAA;QACjE,OAAO,SAAS,CACd,MAAM,EACN,mBAAmB,EACnB,qBAAqB,CACtB,CAAC;YACA,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAA;IACJ,CAAC,CAAC,EAAE,CAAA;IAEJ,OAAO,OAAO,CAAC,4BAA6B,CAAC;QAC3C,OAAO,EAAE,KAAM,CAAC,EAAE;QAClB,MAAM;QACN,cAAc;QACd,KAAK;KACN,CAAC,CAAA;AACJ,CAAC"}
|
@@ -1,120 +0,0 @@
|
|
1
|
-
export const invokerAbi = [
|
2
|
-
{
|
3
|
-
type: 'function',
|
4
|
-
name: 'execute',
|
5
|
-
inputs: [
|
6
|
-
{
|
7
|
-
name: 'execData',
|
8
|
-
type: 'bytes',
|
9
|
-
internalType: 'bytes',
|
10
|
-
},
|
11
|
-
{
|
12
|
-
name: 'signature',
|
13
|
-
type: 'tuple',
|
14
|
-
internalType: 'struct Auth.Signature',
|
15
|
-
components: [
|
16
|
-
{
|
17
|
-
name: 'signer',
|
18
|
-
type: 'address',
|
19
|
-
internalType: 'address',
|
20
|
-
},
|
21
|
-
{
|
22
|
-
name: 'yParity',
|
23
|
-
type: 'uint8',
|
24
|
-
internalType: 'uint8',
|
25
|
-
},
|
26
|
-
{
|
27
|
-
name: 'r',
|
28
|
-
type: 'bytes32',
|
29
|
-
internalType: 'bytes32',
|
30
|
-
},
|
31
|
-
{
|
32
|
-
name: 's',
|
33
|
-
type: 'bytes32',
|
34
|
-
internalType: 'bytes32',
|
35
|
-
},
|
36
|
-
],
|
37
|
-
},
|
38
|
-
],
|
39
|
-
outputs: [],
|
40
|
-
stateMutability: 'nonpayable',
|
41
|
-
},
|
42
|
-
{
|
43
|
-
type: 'function',
|
44
|
-
name: 'getDigest',
|
45
|
-
inputs: [
|
46
|
-
{
|
47
|
-
name: 'execData',
|
48
|
-
type: 'bytes',
|
49
|
-
internalType: 'bytes',
|
50
|
-
},
|
51
|
-
{
|
52
|
-
name: 'nonce',
|
53
|
-
type: 'uint256',
|
54
|
-
internalType: 'uint256',
|
55
|
-
},
|
56
|
-
],
|
57
|
-
outputs: [
|
58
|
-
{
|
59
|
-
name: 'digest',
|
60
|
-
type: 'bytes32',
|
61
|
-
internalType: 'bytes32',
|
62
|
-
},
|
63
|
-
],
|
64
|
-
stateMutability: 'view',
|
65
|
-
},
|
66
|
-
{
|
67
|
-
type: 'function',
|
68
|
-
name: 'multiSend',
|
69
|
-
inputs: [
|
70
|
-
{
|
71
|
-
name: 'transactions',
|
72
|
-
type: 'bytes',
|
73
|
-
internalType: 'bytes',
|
74
|
-
},
|
75
|
-
],
|
76
|
-
outputs: [],
|
77
|
-
stateMutability: 'payable',
|
78
|
-
},
|
79
|
-
{
|
80
|
-
type: 'function',
|
81
|
-
name: 'nextNonce',
|
82
|
-
inputs: [
|
83
|
-
{
|
84
|
-
name: '',
|
85
|
-
type: 'address',
|
86
|
-
internalType: 'address',
|
87
|
-
},
|
88
|
-
],
|
89
|
-
outputs: [
|
90
|
-
{
|
91
|
-
name: '',
|
92
|
-
type: 'uint256',
|
93
|
-
internalType: 'uint256',
|
94
|
-
},
|
95
|
-
],
|
96
|
-
stateMutability: 'view',
|
97
|
-
},
|
98
|
-
{
|
99
|
-
type: 'error',
|
100
|
-
name: 'BadAuth',
|
101
|
-
inputs: [],
|
102
|
-
},
|
103
|
-
{
|
104
|
-
type: 'error',
|
105
|
-
name: 'InvalidNonce',
|
106
|
-
inputs: [
|
107
|
-
{
|
108
|
-
name: 'authority',
|
109
|
-
type: 'address',
|
110
|
-
internalType: 'address',
|
111
|
-
},
|
112
|
-
{
|
113
|
-
name: 'attempted',
|
114
|
-
type: 'uint256',
|
115
|
-
internalType: 'uint256',
|
116
|
-
},
|
117
|
-
],
|
118
|
-
},
|
119
|
-
];
|
120
|
-
//# sourceMappingURL=abis.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"abis.js","sourceRoot":"","sources":["../../../../experimental/eip3074/constants/abis.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,SAAS;QACf,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,OAAO;aACtB;YACD;gBACE,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,uBAAuB;gBACrC,UAAU,EAAE;oBACV;wBACE,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACxB;oBACD;wBACE,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,OAAO;wBACb,YAAY,EAAE,OAAO;qBACtB;oBACD;wBACE,IAAI,EAAE,GAAG;wBACT,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACxB;oBACD;wBACE,IAAI,EAAE,GAAG;wBACT,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACxB;iBACF;aACF;SACF;QACD,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;KAC9B;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,OAAO;aACtB;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACxB;SACF;QACD,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACxB;SACF;QACD,eAAe,EAAE,MAAM;KACxB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,OAAO;aACtB;SACF;QACD,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;KAC3B;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACxB;SACF;QACD,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACxB;SACF;QACD,eAAe,EAAE,MAAM;KACxB;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,EAAE;KACX;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACxB;YACD;gBACE,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACxB;SACF;KACF;CACO,CAAA"}
|