@metamask/smart-accounts-kit 1.4.0 → 1.6.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/CHANGELOG.md +57 -24
- package/dist/actions/index.cjs +9 -6
- package/dist/actions/index.cjs.map +1 -1
- package/dist/actions/index.d.cts +5 -3
- package/dist/actions/index.d.ts +5 -3
- package/dist/actions/index.mjs +8 -5
- package/dist/{caveats-BhjGBVHX.d.ts → caveats-B2OssjV4.d.ts} +1 -2
- package/dist/{caveats-CeHBbmt_.d.cts → caveats-gqMBZKkI.d.cts} +1 -2
- package/dist/{chunk-SOFB2MXG.cjs → chunk-2OS36DVV.cjs} +8 -1
- package/dist/chunk-2OS36DVV.cjs.map +1 -0
- package/dist/{chunk-6CEOFJY5.cjs → chunk-2ZOWIAP3.cjs} +266 -114
- package/dist/chunk-2ZOWIAP3.cjs.map +1 -0
- package/dist/{chunk-R2WT54GZ.mjs → chunk-AZYTTGON.mjs} +214 -62
- package/dist/chunk-AZYTTGON.mjs.map +1 -0
- package/dist/{chunk-MVBU3LRV.cjs → chunk-DCI2AN4N.cjs} +15 -17
- package/dist/chunk-DCI2AN4N.cjs.map +1 -0
- package/dist/{chunk-RR2AMG4A.cjs → chunk-EPU4O7FY.cjs} +158 -151
- package/dist/chunk-EPU4O7FY.cjs.map +1 -0
- package/dist/{chunk-QCULIK3O.mjs → chunk-GMGJRC3D.mjs} +8 -1
- package/dist/chunk-GMGJRC3D.mjs.map +1 -0
- package/dist/chunk-IMO6XNDJ.mjs +14 -0
- package/dist/chunk-IMO6XNDJ.mjs.map +1 -0
- package/dist/chunk-IQT6XFDT.cjs +14 -0
- package/dist/chunk-IQT6XFDT.cjs.map +1 -0
- package/dist/{chunk-SO5JAXGD.cjs → chunk-JKVSTPEC.cjs} +200 -18
- package/dist/chunk-JKVSTPEC.cjs.map +1 -0
- package/dist/{chunk-DVJX76J3.mjs → chunk-K7GTZGKJ.mjs} +2 -2
- package/dist/{chunk-HQHXGWNJ.mjs → chunk-L3EZCIY6.mjs} +67 -60
- package/dist/chunk-L3EZCIY6.mjs.map +1 -0
- package/dist/{chunk-XZ7UMCG3.cjs → chunk-PQPAEHJZ.cjs} +12 -12
- package/dist/{chunk-XZ7UMCG3.cjs.map → chunk-PQPAEHJZ.cjs.map} +1 -1
- package/dist/{chunk-EEIIVBNV.mjs → chunk-TNGQTVSY.mjs} +225 -53
- package/dist/chunk-TNGQTVSY.mjs.map +1 -0
- package/dist/{chunk-FG2CQGSE.mjs → chunk-UJQ3JN3U.mjs} +4 -6
- package/dist/{chunk-FG2CQGSE.mjs.map → chunk-UJQ3JN3U.mjs.map} +1 -1
- package/dist/{chunk-TMO23YRP.cjs → chunk-W6HPAK4M.cjs} +262 -90
- package/dist/chunk-W6HPAK4M.cjs.map +1 -0
- package/dist/{chunk-ZGBFPD4O.mjs → chunk-YVU66KSH.mjs} +188 -6
- package/dist/chunk-YVU66KSH.mjs.map +1 -0
- package/dist/contracts/index.cjs +5 -6
- package/dist/contracts/index.cjs.map +1 -1
- package/dist/contracts/index.d.cts +4 -3
- package/dist/contracts/index.d.ts +4 -3
- package/dist/contracts/index.mjs +4 -5
- package/dist/decodeRevertReason-CmmCpmZ_.d.cts +72 -0
- package/dist/decodeRevertReason-dOTpJx2h.d.ts +72 -0
- package/dist/experimental/index.cjs +364 -9
- package/dist/experimental/index.cjs.map +1 -1
- package/dist/experimental/index.d.cts +39 -3
- package/dist/experimental/index.d.ts +39 -3
- package/dist/experimental/index.mjs +357 -2
- package/dist/experimental/index.mjs.map +1 -1
- package/dist/index-B1Cmezvh.d.cts +61 -0
- package/dist/{index-DRKgDSZW.d.ts → index-BkgdU4LI.d.ts} +99 -92
- package/dist/{index-Cg-JakqA.d.ts → index-DUJmm8Wz.d.ts} +46 -5
- package/dist/{index-DzL9ccjU.d.cts → index-Dv4jPzhe.d.cts} +99 -92
- package/dist/index-LqiEgBjV.d.ts +61 -0
- package/dist/{index-BToRQKyJ.d.cts → index-X7Qn3JTg.d.cts} +46 -5
- package/dist/index.cjs +22 -24
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +8 -7
- package/dist/index.d.ts +8 -7
- package/dist/index.mjs +9 -11
- package/dist/index.mjs.map +1 -1
- package/dist/{delegation-CR99q1-n.d.ts → resolveCaveats-A9xC29l8.d.cts} +160 -111
- package/dist/{delegation-DoVULGYE.d.cts → resolveCaveats-A9xC29l8.d.ts} +160 -111
- package/dist/utils/index.cjs +13 -6
- package/dist/utils/index.cjs.map +1 -1
- package/dist/utils/index.d.cts +8 -4
- package/dist/utils/index.d.ts +8 -4
- package/dist/utils/index.mjs +16 -9
- package/package.json +7 -6
- package/dist/chunk-4QXIOE7F.mjs +0 -79
- package/dist/chunk-4QXIOE7F.mjs.map +0 -1
- package/dist/chunk-6CEOFJY5.cjs.map +0 -1
- package/dist/chunk-EEIIVBNV.mjs.map +0 -1
- package/dist/chunk-HQHXGWNJ.mjs.map +0 -1
- package/dist/chunk-MOHCTPYQ.cjs +0 -79
- package/dist/chunk-MOHCTPYQ.cjs.map +0 -1
- package/dist/chunk-MVBU3LRV.cjs.map +0 -1
- package/dist/chunk-QCULIK3O.mjs.map +0 -1
- package/dist/chunk-R2WT54GZ.mjs.map +0 -1
- package/dist/chunk-RR2AMG4A.cjs.map +0 -1
- package/dist/chunk-SO5JAXGD.cjs.map +0 -1
- package/dist/chunk-SOFB2MXG.cjs.map +0 -1
- package/dist/chunk-TMO23YRP.cjs.map +0 -1
- package/dist/chunk-ZGBFPD4O.mjs.map +0 -1
- package/dist/types-BWaH4KH1.d.cts +0 -155
- package/dist/types-BWaH4KH1.d.ts +0 -155
- /package/dist/{chunk-DVJX76J3.mjs.map → chunk-K7GTZGKJ.mjs.map} +0 -0
|
@@ -36,6 +36,7 @@ var ScopeType = /* @__PURE__ */ ((ScopeType2) => {
|
|
|
36
36
|
var CaveatType = /* @__PURE__ */ ((CaveatType2) => {
|
|
37
37
|
CaveatType2["AllowedMethods"] = "allowedMethods";
|
|
38
38
|
CaveatType2["AllowedTargets"] = "allowedTargets";
|
|
39
|
+
CaveatType2["ApprovalRevocation"] = "approvalRevocation";
|
|
39
40
|
CaveatType2["Deployed"] = "deployed";
|
|
40
41
|
CaveatType2["AllowedCalldata"] = "allowedCalldata";
|
|
41
42
|
CaveatType2["Erc20BalanceChange"] = "erc20BalanceChange";
|
|
@@ -228,6 +229,26 @@ var allowedTargetsBuilder = (environment, config) => {
|
|
|
228
229
|
};
|
|
229
230
|
};
|
|
230
231
|
|
|
232
|
+
// src/caveatBuilder/approvalRevocationBuilder.ts
|
|
233
|
+
import {
|
|
234
|
+
createApprovalRevocationTerms
|
|
235
|
+
} from "@metamask/delegation-core";
|
|
236
|
+
var approvalRevocation = "approvalRevocation";
|
|
237
|
+
var approvalRevocationBuilder = (environment, config) => {
|
|
238
|
+
const terms = createApprovalRevocationTerms(config);
|
|
239
|
+
const {
|
|
240
|
+
caveatEnforcers: { ApprovalRevocationEnforcer }
|
|
241
|
+
} = environment;
|
|
242
|
+
if (!ApprovalRevocationEnforcer) {
|
|
243
|
+
throw new Error("ApprovalRevocationEnforcer not found in environment");
|
|
244
|
+
}
|
|
245
|
+
return {
|
|
246
|
+
enforcer: ApprovalRevocationEnforcer,
|
|
247
|
+
terms,
|
|
248
|
+
args: "0x00"
|
|
249
|
+
};
|
|
250
|
+
};
|
|
251
|
+
|
|
231
252
|
// src/caveatBuilder/argsEqualityCheckBuilder.ts
|
|
232
253
|
import { createArgsEqualityCheckTerms } from "@metamask/delegation-core";
|
|
233
254
|
import { isHex as isHex2 } from "viem";
|
|
@@ -1041,7 +1062,7 @@ var valueLteBuilder = (environment, config) => {
|
|
|
1041
1062
|
|
|
1042
1063
|
// src/caveatBuilder/coreCaveatBuilder.ts
|
|
1043
1064
|
var createCaveatBuilder = (environment, config) => {
|
|
1044
|
-
const caveatBuilder = new CaveatBuilder(environment, config).extend(allowedMethods, allowedMethodsBuilder).extend(allowedTargets, allowedTargetsBuilder).extend(deployed, deployedBuilder).extend(allowedCalldata, allowedCalldataBuilder).extend(erc20BalanceChange, erc20BalanceChangeBuilder).extend(erc721BalanceChange, erc721BalanceChangeBuilder).extend(erc1155BalanceChange, erc1155BalanceChangeBuilder).extend(valueLte, valueLteBuilder).extend(limitedCalls, limitedCallsBuilder).extend(id, idBuilder).extend(nonce, nonceBuilder).extend(timestamp, timestampBuilder).extend(blockNumber, blockNumberBuilder).extend(erc20TransferAmount, erc20TransferAmountBuilder).extend(erc20Streaming, erc20StreamingBuilder).extend(nativeTokenStreaming, nativeTokenStreamingBuilder).extend(erc721Transfer, erc721TransferBuilder).extend(nativeTokenTransferAmount, nativeTokenTransferAmountBuilder).extend(nativeBalanceChange, nativeBalanceChangeBuilder).extend(redeemer, redeemerBuilder).extend(nativeTokenPayment, nativeTokenPaymentBuilder).extend(argsEqualityCheck, argsEqualityCheckBuilder).extend(
|
|
1065
|
+
const caveatBuilder = new CaveatBuilder(environment, config).extend(allowedMethods, allowedMethodsBuilder).extend(allowedTargets, allowedTargetsBuilder).extend(approvalRevocation, approvalRevocationBuilder).extend(deployed, deployedBuilder).extend(allowedCalldata, allowedCalldataBuilder).extend(erc20BalanceChange, erc20BalanceChangeBuilder).extend(erc721BalanceChange, erc721BalanceChangeBuilder).extend(erc1155BalanceChange, erc1155BalanceChangeBuilder).extend(valueLte, valueLteBuilder).extend(limitedCalls, limitedCallsBuilder).extend(id, idBuilder).extend(nonce, nonceBuilder).extend(timestamp, timestampBuilder).extend(blockNumber, blockNumberBuilder).extend(erc20TransferAmount, erc20TransferAmountBuilder).extend(erc20Streaming, erc20StreamingBuilder).extend(nativeTokenStreaming, nativeTokenStreamingBuilder).extend(erc721Transfer, erc721TransferBuilder).extend(nativeTokenTransferAmount, nativeTokenTransferAmountBuilder).extend(nativeBalanceChange, nativeBalanceChangeBuilder).extend(redeemer, redeemerBuilder).extend(nativeTokenPayment, nativeTokenPaymentBuilder).extend(argsEqualityCheck, argsEqualityCheckBuilder).extend(
|
|
1045
1066
|
specificActionERC20TransferBatch,
|
|
1046
1067
|
specificActionERC20TransferBatchBuilder
|
|
1047
1068
|
).extend(erc20PeriodTransfer, erc20PeriodTransferBuilder).extend(nativeTokenPeriodTransfer, nativeTokenPeriodTransferBuilder).extend(exactCalldataBatch, exactCalldataBatchBuilder).extend(exactCalldata, exactCalldataBuilder).extend(exactExecution, exactExecutionBuilder).extend(exactExecutionBatch, exactExecutionBatchBuilder).extend(multiTokenPeriod, multiTokenPeriodBuilder).extend(ownershipTransfer, ownershipTransferBuilder);
|
|
@@ -1332,9 +1353,15 @@ var createCaveatBuilderFromScope = (environment, scopeConfig) => {
|
|
|
1332
1353
|
var resolveCaveats = ({
|
|
1333
1354
|
environment,
|
|
1334
1355
|
scope,
|
|
1335
|
-
caveats
|
|
1356
|
+
caveats,
|
|
1357
|
+
isScopeOptional
|
|
1336
1358
|
}) => {
|
|
1337
|
-
|
|
1359
|
+
if (!scope && !isScopeOptional) {
|
|
1360
|
+
throw new Error("Scope is required");
|
|
1361
|
+
}
|
|
1362
|
+
const scopeCaveatBuilder = scope ? createCaveatBuilderFromScope(environment, scope) : createCaveatBuilder(environment, {
|
|
1363
|
+
allowInsecureUnrestrictedDelegation: true
|
|
1364
|
+
});
|
|
1338
1365
|
if (caveats) {
|
|
1339
1366
|
if ("build" in caveats && typeof caveats.build === "function") {
|
|
1340
1367
|
caveats.build().forEach((caveat) => {
|
|
@@ -1364,6 +1391,7 @@ import {
|
|
|
1364
1391
|
decodeERC20StreamingTerms,
|
|
1365
1392
|
decodeERC20TransferAmountTerms,
|
|
1366
1393
|
decodeERC20BalanceChangeTerms,
|
|
1394
|
+
decodeApprovalRevocationTerms,
|
|
1367
1395
|
decodeAllowedMethodsTerms,
|
|
1368
1396
|
decodeAllowedTargetsTerms,
|
|
1369
1397
|
decodeArgsEqualityCheckTerms,
|
|
@@ -1419,113 +1447,142 @@ var decodeCaveat = ({
|
|
|
1419
1447
|
}) => {
|
|
1420
1448
|
switch (enforcer.toLowerCase()) {
|
|
1421
1449
|
case caveatEnforcers.AllowedCalldataEnforcer?.toLowerCase():
|
|
1422
|
-
return {
|
|
1450
|
+
return {
|
|
1451
|
+
type: "allowedCalldata" /* AllowedCalldata */,
|
|
1452
|
+
...decodeAllowedCalldataTerms(terms)
|
|
1453
|
+
};
|
|
1423
1454
|
case caveatEnforcers.AllowedMethodsEnforcer?.toLowerCase():
|
|
1424
|
-
return {
|
|
1455
|
+
return {
|
|
1456
|
+
type: "allowedMethods" /* AllowedMethods */,
|
|
1457
|
+
...decodeAllowedMethodsTerms(terms)
|
|
1458
|
+
};
|
|
1459
|
+
case caveatEnforcers.ApprovalRevocationEnforcer?.toLowerCase():
|
|
1460
|
+
return {
|
|
1461
|
+
type: "approvalRevocation" /* ApprovalRevocation */,
|
|
1462
|
+
...decodeApprovalRevocationTerms(terms)
|
|
1463
|
+
};
|
|
1425
1464
|
case caveatEnforcers.AllowedTargetsEnforcer?.toLowerCase():
|
|
1426
|
-
return {
|
|
1465
|
+
return {
|
|
1466
|
+
type: "allowedTargets" /* AllowedTargets */,
|
|
1467
|
+
...decodeAllowedTargetsTerms(terms)
|
|
1468
|
+
};
|
|
1427
1469
|
case caveatEnforcers.ArgsEqualityCheckEnforcer?.toLowerCase():
|
|
1428
1470
|
return {
|
|
1429
|
-
type: "argsEqualityCheck"
|
|
1471
|
+
type: "argsEqualityCheck" /* ArgsEqualityCheck */,
|
|
1430
1472
|
...decodeArgsEqualityCheckTerms(terms)
|
|
1431
1473
|
};
|
|
1432
1474
|
case caveatEnforcers.BlockNumberEnforcer?.toLowerCase():
|
|
1433
|
-
return { type: "blockNumber"
|
|
1475
|
+
return { type: "blockNumber" /* BlockNumber */, ...decodeBlockNumberTerms(terms) };
|
|
1434
1476
|
case caveatEnforcers.DeployedEnforcer?.toLowerCase():
|
|
1435
|
-
return { type: "deployed"
|
|
1477
|
+
return { type: "deployed" /* Deployed */, ...decodeDeployedTerms(terms) };
|
|
1436
1478
|
case caveatEnforcers.ERC20BalanceChangeEnforcer?.toLowerCase():
|
|
1437
1479
|
return {
|
|
1438
|
-
type: "erc20BalanceChange"
|
|
1480
|
+
type: "erc20BalanceChange" /* Erc20BalanceChange */,
|
|
1439
1481
|
...decodeERC20BalanceChangeTerms(terms)
|
|
1440
1482
|
};
|
|
1441
1483
|
case caveatEnforcers.ERC20TransferAmountEnforcer?.toLowerCase():
|
|
1442
1484
|
return {
|
|
1443
|
-
type: "erc20TransferAmount"
|
|
1485
|
+
type: "erc20TransferAmount" /* Erc20TransferAmount */,
|
|
1444
1486
|
...decodeERC20TransferAmountTerms(terms)
|
|
1445
1487
|
};
|
|
1446
1488
|
case caveatEnforcers.ERC20StreamingEnforcer?.toLowerCase():
|
|
1447
|
-
return {
|
|
1489
|
+
return {
|
|
1490
|
+
type: "erc20Streaming" /* Erc20Streaming */,
|
|
1491
|
+
...decodeERC20StreamingTerms(terms)
|
|
1492
|
+
};
|
|
1448
1493
|
case caveatEnforcers.ERC721BalanceChangeEnforcer?.toLowerCase():
|
|
1449
1494
|
return {
|
|
1450
|
-
type: "erc721BalanceChange"
|
|
1495
|
+
type: "erc721BalanceChange" /* Erc721BalanceChange */,
|
|
1451
1496
|
...decodeERC721BalanceChangeTerms(terms)
|
|
1452
1497
|
};
|
|
1453
1498
|
case caveatEnforcers.ERC721TransferEnforcer?.toLowerCase():
|
|
1454
|
-
return {
|
|
1499
|
+
return {
|
|
1500
|
+
type: "erc721Transfer" /* Erc721Transfer */,
|
|
1501
|
+
...decodeERC721TransferTerms(terms)
|
|
1502
|
+
};
|
|
1455
1503
|
case caveatEnforcers.ERC1155BalanceChangeEnforcer?.toLowerCase():
|
|
1456
1504
|
return {
|
|
1457
|
-
type: "erc1155BalanceChange"
|
|
1505
|
+
type: "erc1155BalanceChange" /* Erc1155BalanceChange */,
|
|
1458
1506
|
...decodeERC1155BalanceChangeTerms(terms)
|
|
1459
1507
|
};
|
|
1460
1508
|
case caveatEnforcers.IdEnforcer?.toLowerCase():
|
|
1461
|
-
return { type: "id"
|
|
1509
|
+
return { type: "id" /* Id */, ...decodeIdTerms(terms) };
|
|
1462
1510
|
case caveatEnforcers.LimitedCallsEnforcer?.toLowerCase():
|
|
1463
|
-
return {
|
|
1511
|
+
return {
|
|
1512
|
+
type: "limitedCalls" /* LimitedCalls */,
|
|
1513
|
+
...decodeLimitedCallsTerms(terms)
|
|
1514
|
+
};
|
|
1464
1515
|
case caveatEnforcers.NonceEnforcer?.toLowerCase():
|
|
1465
|
-
return { type: "nonce"
|
|
1516
|
+
return { type: "nonce" /* Nonce */, ...decodeNonceTerms(terms) };
|
|
1466
1517
|
case caveatEnforcers.TimestampEnforcer?.toLowerCase():
|
|
1467
|
-
return { type: "timestamp"
|
|
1518
|
+
return { type: "timestamp" /* Timestamp */, ...decodeTimestampTerms(terms) };
|
|
1468
1519
|
case caveatEnforcers.ValueLteEnforcer?.toLowerCase():
|
|
1469
|
-
return { type: "valueLte"
|
|
1520
|
+
return { type: "valueLte" /* ValueLte */, ...decodeValueLteTerms(terms) };
|
|
1470
1521
|
case caveatEnforcers.NativeTokenTransferAmountEnforcer?.toLowerCase():
|
|
1471
1522
|
return {
|
|
1472
|
-
type: "nativeTokenTransferAmount"
|
|
1523
|
+
type: "nativeTokenTransferAmount" /* NativeTokenTransferAmount */,
|
|
1473
1524
|
...decodeNativeTokenTransferAmountTerms(terms)
|
|
1474
1525
|
};
|
|
1475
1526
|
case caveatEnforcers.NativeBalanceChangeEnforcer?.toLowerCase():
|
|
1476
1527
|
return {
|
|
1477
|
-
type: "nativeBalanceChange"
|
|
1528
|
+
type: "nativeBalanceChange" /* NativeBalanceChange */,
|
|
1478
1529
|
...decodeNativeBalanceChangeTerms(terms)
|
|
1479
1530
|
};
|
|
1480
1531
|
case caveatEnforcers.NativeTokenStreamingEnforcer?.toLowerCase():
|
|
1481
1532
|
return {
|
|
1482
|
-
type: "nativeTokenStreaming"
|
|
1533
|
+
type: "nativeTokenStreaming" /* NativeTokenStreaming */,
|
|
1483
1534
|
...decodeNativeTokenStreamingTerms(terms)
|
|
1484
1535
|
};
|
|
1485
1536
|
case caveatEnforcers.NativeTokenPaymentEnforcer?.toLowerCase():
|
|
1486
1537
|
return {
|
|
1487
|
-
type: "nativeTokenPayment"
|
|
1538
|
+
type: "nativeTokenPayment" /* NativeTokenPayment */,
|
|
1488
1539
|
...decodeNativeTokenPaymentTerms(terms)
|
|
1489
1540
|
};
|
|
1490
1541
|
case caveatEnforcers.RedeemerEnforcer?.toLowerCase():
|
|
1491
|
-
return { type: "redeemer"
|
|
1542
|
+
return { type: "redeemer" /* Redeemer */, ...decodeRedeemerTerms(terms) };
|
|
1492
1543
|
case caveatEnforcers.SpecificActionERC20TransferBatchEnforcer?.toLowerCase():
|
|
1493
1544
|
return {
|
|
1494
|
-
type: "specificActionERC20TransferBatch"
|
|
1545
|
+
type: "specificActionERC20TransferBatch" /* SpecificActionERC20TransferBatch */,
|
|
1495
1546
|
...decodeSpecificActionERC20TransferBatchTerms(terms)
|
|
1496
1547
|
};
|
|
1497
1548
|
case caveatEnforcers.ERC20PeriodTransferEnforcer?.toLowerCase():
|
|
1498
1549
|
return {
|
|
1499
|
-
type: "erc20PeriodTransfer"
|
|
1550
|
+
type: "erc20PeriodTransfer" /* Erc20PeriodTransfer */,
|
|
1500
1551
|
...decodeERC20TokenPeriodTransferTerms(terms)
|
|
1501
1552
|
};
|
|
1502
1553
|
case caveatEnforcers.NativeTokenPeriodTransferEnforcer?.toLowerCase():
|
|
1503
1554
|
return {
|
|
1504
|
-
type: "nativeTokenPeriodTransfer"
|
|
1555
|
+
type: "nativeTokenPeriodTransfer" /* NativeTokenPeriodTransfer */,
|
|
1505
1556
|
...decodeNativeTokenPeriodTransferTerms(terms)
|
|
1506
1557
|
};
|
|
1507
1558
|
case caveatEnforcers.ExactCalldataBatchEnforcer?.toLowerCase():
|
|
1508
1559
|
return {
|
|
1509
|
-
type: "exactCalldataBatch"
|
|
1560
|
+
type: "exactCalldataBatch" /* ExactCalldataBatch */,
|
|
1510
1561
|
...decodeExactCalldataBatchTerms(terms)
|
|
1511
1562
|
};
|
|
1512
1563
|
case caveatEnforcers.ExactCalldataEnforcer?.toLowerCase():
|
|
1513
|
-
return {
|
|
1564
|
+
return {
|
|
1565
|
+
type: "exactCalldata" /* ExactCalldata */,
|
|
1566
|
+
...decodeExactCalldataTerms(terms)
|
|
1567
|
+
};
|
|
1514
1568
|
case caveatEnforcers.ExactExecutionEnforcer?.toLowerCase():
|
|
1515
|
-
return {
|
|
1569
|
+
return {
|
|
1570
|
+
type: "exactExecution" /* ExactExecution */,
|
|
1571
|
+
...decodeExactExecutionTerms(terms)
|
|
1572
|
+
};
|
|
1516
1573
|
case caveatEnforcers.ExactExecutionBatchEnforcer?.toLowerCase():
|
|
1517
1574
|
return {
|
|
1518
|
-
type: "exactExecutionBatch"
|
|
1575
|
+
type: "exactExecutionBatch" /* ExactExecutionBatch */,
|
|
1519
1576
|
...decodeExactExecutionBatchTerms(terms)
|
|
1520
1577
|
};
|
|
1521
1578
|
case caveatEnforcers.MultiTokenPeriodEnforcer?.toLowerCase():
|
|
1522
1579
|
return {
|
|
1523
|
-
type: "multiTokenPeriod"
|
|
1580
|
+
type: "multiTokenPeriod" /* MultiTokenPeriod */,
|
|
1524
1581
|
...decodeMultiTokenPeriodTerms(terms)
|
|
1525
1582
|
};
|
|
1526
1583
|
case caveatEnforcers.OwnershipTransferEnforcer?.toLowerCase():
|
|
1527
1584
|
return {
|
|
1528
|
-
type: "ownershipTransfer"
|
|
1585
|
+
type: "ownershipTransfer" /* OwnershipTransfer */,
|
|
1529
1586
|
...decodeOwnershipTransferTerms(terms)
|
|
1530
1587
|
};
|
|
1531
1588
|
default:
|
|
@@ -1693,7 +1750,7 @@ var Sender = class {
|
|
|
1693
1750
|
};
|
|
1694
1751
|
|
|
1695
1752
|
// package.json
|
|
1696
|
-
var version = "1.
|
|
1753
|
+
var version = "1.6.0";
|
|
1697
1754
|
|
|
1698
1755
|
// src/analytics/index.ts
|
|
1699
1756
|
function isCompleteBase(value) {
|
|
@@ -1943,14 +2000,16 @@ var hashDelegation = (input) => {
|
|
|
1943
2000
|
const delegationStruct = toDelegationStruct(input);
|
|
1944
2001
|
return hashDelegationCore(delegationStruct);
|
|
1945
2002
|
};
|
|
1946
|
-
var
|
|
1947
|
-
|
|
1948
|
-
|
|
2003
|
+
var extractLeafDelegation = (permissionContext) => {
|
|
2004
|
+
const delegations = decodeDelegations(permissionContext);
|
|
2005
|
+
if (delegations.length === 0) {
|
|
2006
|
+
throw new Error("Permission context must contain at least one delegation");
|
|
1949
2007
|
}
|
|
1950
|
-
|
|
1951
|
-
|
|
2008
|
+
const leafDelegation = delegations[0];
|
|
2009
|
+
if (!leafDelegation) {
|
|
2010
|
+
throw new Error("Failed to extract leaf delegation");
|
|
1952
2011
|
}
|
|
1953
|
-
return
|
|
2012
|
+
return leafDelegation;
|
|
1954
2013
|
};
|
|
1955
2014
|
var getCaveatNames = ({
|
|
1956
2015
|
caveats,
|
|
@@ -1970,11 +2029,47 @@ var getCaveatNames = ({
|
|
|
1970
2029
|
}
|
|
1971
2030
|
return [];
|
|
1972
2031
|
};
|
|
2032
|
+
var resolveDelegationArgs = (options) => {
|
|
2033
|
+
const optionsHasParentPermissionContext = "parentPermissionContext" in options && options.parentPermissionContext;
|
|
2034
|
+
const resolvedParentDelegation = optionsHasParentPermissionContext ? extractLeafDelegation(options.parentPermissionContext) : options.parentDelegation;
|
|
2035
|
+
const authority = (() => {
|
|
2036
|
+
if (!resolvedParentDelegation) {
|
|
2037
|
+
if (!options.scope) {
|
|
2038
|
+
throw new Error(
|
|
2039
|
+
"Invalid arguments - must specify either parentDelegation, parentPermissionContext, or scope"
|
|
2040
|
+
);
|
|
2041
|
+
}
|
|
2042
|
+
return ROOT_AUTHORITY;
|
|
2043
|
+
}
|
|
2044
|
+
if (typeof resolvedParentDelegation === "string") {
|
|
2045
|
+
if (resolvedParentDelegation.toLowerCase() === ROOT_AUTHORITY.toLowerCase()) {
|
|
2046
|
+
throw new Error(
|
|
2047
|
+
`Invalid parent delegation - cannot be ${ROOT_AUTHORITY}`
|
|
2048
|
+
);
|
|
2049
|
+
}
|
|
2050
|
+
return resolvedParentDelegation;
|
|
2051
|
+
}
|
|
2052
|
+
return hashDelegation(resolvedParentDelegation);
|
|
2053
|
+
})();
|
|
2054
|
+
const hasInheritance = resolvedParentDelegation !== void 0;
|
|
2055
|
+
const caveats = resolveCaveats({
|
|
2056
|
+
environment: options.environment,
|
|
2057
|
+
scope: options.scope,
|
|
2058
|
+
caveats: options.caveats,
|
|
2059
|
+
isScopeOptional: hasInheritance
|
|
2060
|
+
});
|
|
2061
|
+
return {
|
|
2062
|
+
authority,
|
|
2063
|
+
caveats,
|
|
2064
|
+
hasInheritance,
|
|
2065
|
+
salt: options.salt ?? "0x00"
|
|
2066
|
+
};
|
|
2067
|
+
};
|
|
1973
2068
|
var createDelegation = (options) => {
|
|
1974
|
-
const caveats =
|
|
2069
|
+
const { authority, caveats, hasInheritance, salt } = resolveDelegationArgs(options);
|
|
1975
2070
|
trackSmartAccountsKitFunctionCall("createDelegation", {
|
|
1976
|
-
|
|
1977
|
-
scope: options.scope
|
|
2071
|
+
hasInheritance,
|
|
2072
|
+
scope: options.scope?.type ?? null,
|
|
1978
2073
|
caveatNames: getCaveatNames({
|
|
1979
2074
|
caveats,
|
|
1980
2075
|
environment: options.environment
|
|
@@ -1983,17 +2078,17 @@ var createDelegation = (options) => {
|
|
|
1983
2078
|
return {
|
|
1984
2079
|
delegate: options.to,
|
|
1985
2080
|
delegator: options.from,
|
|
1986
|
-
authority
|
|
2081
|
+
authority,
|
|
1987
2082
|
caveats,
|
|
1988
|
-
salt
|
|
2083
|
+
salt,
|
|
1989
2084
|
signature: "0x"
|
|
1990
2085
|
};
|
|
1991
2086
|
};
|
|
1992
2087
|
var createOpenDelegation = (options) => {
|
|
1993
|
-
const caveats =
|
|
2088
|
+
const { authority, caveats, hasInheritance, salt } = resolveDelegationArgs(options);
|
|
1994
2089
|
trackSmartAccountsKitFunctionCall("createOpenDelegation", {
|
|
1995
|
-
|
|
1996
|
-
scope: options.scope
|
|
2090
|
+
hasInheritance,
|
|
2091
|
+
scope: options.scope?.type ?? null,
|
|
1997
2092
|
caveatNames: getCaveatNames({
|
|
1998
2093
|
caveats,
|
|
1999
2094
|
environment: options.environment
|
|
@@ -2002,9 +2097,9 @@ var createOpenDelegation = (options) => {
|
|
|
2002
2097
|
return {
|
|
2003
2098
|
delegate: ANY_BENEFICIARY,
|
|
2004
2099
|
delegator: options.from,
|
|
2005
|
-
authority
|
|
2100
|
+
authority,
|
|
2006
2101
|
caveats,
|
|
2007
|
-
salt
|
|
2102
|
+
salt,
|
|
2008
2103
|
signature: "0x"
|
|
2009
2104
|
};
|
|
2010
2105
|
};
|
|
@@ -2060,6 +2155,76 @@ var signDelegation = async ({
|
|
|
2060
2155
|
});
|
|
2061
2156
|
};
|
|
2062
2157
|
|
|
2158
|
+
// src/executions.ts
|
|
2159
|
+
import {
|
|
2160
|
+
encodeAbiParameters as encodeAbiParameters2,
|
|
2161
|
+
encodePacked
|
|
2162
|
+
} from "viem";
|
|
2163
|
+
var createExecution = ({
|
|
2164
|
+
target,
|
|
2165
|
+
value = 0n,
|
|
2166
|
+
callData = "0x"
|
|
2167
|
+
}) => {
|
|
2168
|
+
return {
|
|
2169
|
+
target,
|
|
2170
|
+
value,
|
|
2171
|
+
callData
|
|
2172
|
+
};
|
|
2173
|
+
};
|
|
2174
|
+
var ExecutionMode = /* @__PURE__ */ ((ExecutionMode2) => {
|
|
2175
|
+
ExecutionMode2["SingleDefault"] = "0x0000000000000000000000000000000000000000000000000000000000000000";
|
|
2176
|
+
ExecutionMode2["SingleTry"] = "0x0001000000000000000000000000000000000000000000000000000000000000";
|
|
2177
|
+
ExecutionMode2["BatchDefault"] = "0x0100000000000000000000000000000000000000000000000000000000000000";
|
|
2178
|
+
ExecutionMode2["BatchTry"] = "0x0101000000000000000000000000000000000000000000000000000000000000";
|
|
2179
|
+
return ExecutionMode2;
|
|
2180
|
+
})(ExecutionMode || {});
|
|
2181
|
+
var EXECUTION_ABI_TYPE_COMPONENTS = [
|
|
2182
|
+
{ type: "address", name: "target" },
|
|
2183
|
+
{ type: "uint256", name: "value" },
|
|
2184
|
+
{ type: "bytes", name: "callData" }
|
|
2185
|
+
];
|
|
2186
|
+
var encodeSingleExecution = (execution) => {
|
|
2187
|
+
return encodePacked(
|
|
2188
|
+
["address", "uint256", "bytes"],
|
|
2189
|
+
[execution.target, execution.value, execution.callData]
|
|
2190
|
+
);
|
|
2191
|
+
};
|
|
2192
|
+
var encodeBatchExecution = (executions) => {
|
|
2193
|
+
return encodeAbiParameters2(
|
|
2194
|
+
[
|
|
2195
|
+
{
|
|
2196
|
+
components: EXECUTION_ABI_TYPE_COMPONENTS,
|
|
2197
|
+
name: "executions",
|
|
2198
|
+
type: "tuple[]"
|
|
2199
|
+
}
|
|
2200
|
+
],
|
|
2201
|
+
[executions]
|
|
2202
|
+
);
|
|
2203
|
+
};
|
|
2204
|
+
var encodeExecutionCalldata = (executions) => {
|
|
2205
|
+
if (executions.length === 0) {
|
|
2206
|
+
throw new Error(
|
|
2207
|
+
"Error while getting the execution calldatas, executions is empty"
|
|
2208
|
+
);
|
|
2209
|
+
}
|
|
2210
|
+
if (executions.length === 1) {
|
|
2211
|
+
const execution = executions[0];
|
|
2212
|
+
if (!execution) {
|
|
2213
|
+
throw new Error("Execution not found");
|
|
2214
|
+
}
|
|
2215
|
+
return encodeSingleExecution(execution);
|
|
2216
|
+
}
|
|
2217
|
+
return encodeBatchExecution(executions);
|
|
2218
|
+
};
|
|
2219
|
+
var encodeExecutionCalldatas = (executionsBatch) => {
|
|
2220
|
+
if (executionsBatch.length === 0) {
|
|
2221
|
+
throw new Error(
|
|
2222
|
+
"Error while getting the execution calldatas, executionsBatch is empty"
|
|
2223
|
+
);
|
|
2224
|
+
}
|
|
2225
|
+
return executionsBatch.map(encodeExecutionCalldata);
|
|
2226
|
+
};
|
|
2227
|
+
|
|
2063
2228
|
export {
|
|
2064
2229
|
__export,
|
|
2065
2230
|
trackSmartAccountsKitFunctionCall,
|
|
@@ -2071,6 +2236,7 @@ export {
|
|
|
2071
2236
|
createCaveatBuilder,
|
|
2072
2237
|
isDefined,
|
|
2073
2238
|
toHexOrThrow,
|
|
2239
|
+
resolveCaveats,
|
|
2074
2240
|
createCaveat,
|
|
2075
2241
|
decodeCaveat,
|
|
2076
2242
|
ANY_BENEFICIARY,
|
|
@@ -2090,6 +2256,12 @@ export {
|
|
|
2090
2256
|
createDelegation,
|
|
2091
2257
|
createOpenDelegation,
|
|
2092
2258
|
prepareSignDelegationTypedData,
|
|
2093
|
-
signDelegation
|
|
2259
|
+
signDelegation,
|
|
2260
|
+
createExecution,
|
|
2261
|
+
ExecutionMode,
|
|
2262
|
+
encodeSingleExecution,
|
|
2263
|
+
encodeBatchExecution,
|
|
2264
|
+
encodeExecutionCalldata,
|
|
2265
|
+
encodeExecutionCalldatas
|
|
2094
2266
|
};
|
|
2095
|
-
//# sourceMappingURL=chunk-
|
|
2267
|
+
//# sourceMappingURL=chunk-TNGQTVSY.mjs.map
|