@boostxyz/sdk 5.3.1 → 6.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/Actions/Action.cjs +1 -1
- package/dist/Actions/Action.js +3 -3
- package/dist/Actions/EventAction.cjs +1 -1
- package/dist/Actions/EventAction.cjs.map +1 -1
- package/dist/Actions/EventAction.d.ts +13 -3
- package/dist/Actions/EventAction.d.ts.map +1 -1
- package/dist/Actions/EventAction.js +216 -193
- package/dist/Actions/EventAction.js.map +1 -1
- package/dist/AllowLists/AllowList.cjs +1 -1
- package/dist/AllowLists/AllowList.js +2 -2
- package/dist/AllowLists/SimpleAllowList.cjs +1 -1
- package/dist/AllowLists/SimpleAllowList.cjs.map +1 -1
- package/dist/AllowLists/SimpleAllowList.js +24 -24
- package/dist/AllowLists/SimpleAllowList.js.map +1 -1
- package/dist/AllowLists/SimpleDenyList.cjs +1 -1
- package/dist/AllowLists/SimpleDenyList.js +3 -3
- package/dist/Auth/PassthroughAuth.cjs +1 -1
- package/dist/Auth/PassthroughAuth.cjs.map +1 -1
- package/dist/Auth/PassthroughAuth.js +14 -14
- package/dist/Boost.cjs.map +1 -1
- package/dist/Boost.js.map +1 -1
- package/dist/BoostCore.cjs +2 -2
- package/dist/BoostCore.cjs.map +1 -1
- package/dist/BoostCore.d.ts +247 -0
- package/dist/BoostCore.d.ts.map +1 -1
- package/dist/BoostCore.js +421 -259
- package/dist/BoostCore.js.map +1 -1
- package/dist/BoostRegistry.cjs +1 -1
- package/dist/BoostRegistry.cjs.map +1 -1
- package/dist/BoostRegistry.js +43 -43
- package/dist/BoostRegistry.js.map +1 -1
- package/dist/Budget-DMbfdTom.cjs +2 -0
- package/dist/{Budget-AoNx7uFd.cjs.map → Budget-DMbfdTom.cjs.map} +1 -1
- package/dist/Budget-DO6sGTIR.js +463 -0
- package/dist/{Budget-DYIV9iNK.js.map → Budget-DO6sGTIR.js.map} +1 -1
- package/dist/Budgets/Budget.cjs +1 -1
- package/dist/Budgets/Budget.js +2 -2
- package/dist/Budgets/ManagedBudget.cjs +1 -1
- package/dist/Budgets/ManagedBudget.cjs.map +1 -1
- package/dist/Budgets/ManagedBudget.js +53 -53
- package/dist/Budgets/ManagedBudgetWithFees.d.ts +26 -0
- package/dist/Budgets/ManagedBudgetWithFees.d.ts.map +1 -1
- package/dist/Deployable/DeployableTarget.cjs +1 -1
- package/dist/Deployable/DeployableTarget.js +1 -1
- package/dist/Deployable/DeployableTargetWithRBAC.cjs +1 -1
- package/dist/Deployable/DeployableTargetWithRBAC.js +15 -15
- package/dist/Incentive-Boviez4z.js +1036 -0
- package/dist/Incentive-Boviez4z.js.map +1 -0
- package/dist/Incentive-wM4zizTH.cjs +2 -0
- package/dist/Incentive-wM4zizTH.cjs.map +1 -0
- package/dist/Incentives/AllowListIncentive.cjs +1 -1
- package/dist/Incentives/AllowListIncentive.cjs.map +1 -1
- package/dist/Incentives/AllowListIncentive.d.ts +9 -1
- package/dist/Incentives/AllowListIncentive.d.ts.map +1 -1
- package/dist/Incentives/AllowListIncentive.js +64 -47
- package/dist/Incentives/AllowListIncentive.js.map +1 -1
- package/dist/Incentives/CGDAIncentive.cjs +1 -1
- package/dist/Incentives/CGDAIncentive.cjs.map +1 -1
- package/dist/Incentives/CGDAIncentive.d.ts +12 -1
- package/dist/Incentives/CGDAIncentive.d.ts.map +1 -1
- package/dist/Incentives/CGDAIncentive.js +64 -33
- package/dist/Incentives/CGDAIncentive.js.map +1 -1
- package/dist/Incentives/ERC20Incentive.cjs +1 -1
- package/dist/Incentives/ERC20Incentive.cjs.map +1 -1
- package/dist/Incentives/ERC20Incentive.d.ts +37 -1
- package/dist/Incentives/ERC20Incentive.d.ts.map +1 -1
- package/dist/Incentives/ERC20Incentive.js +73 -49
- package/dist/Incentives/ERC20Incentive.js.map +1 -1
- package/dist/Incentives/ERC20PeggedIncentive.d.ts +35 -0
- package/dist/Incentives/ERC20PeggedIncentive.d.ts.map +1 -1
- package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.d.ts +35 -0
- package/dist/Incentives/ERC20PeggedVariableCriteriaIncentive.d.ts.map +1 -1
- package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs +1 -1
- package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs.map +1 -1
- package/dist/Incentives/ERC20VariableCriteriaIncentive.d.ts +25 -0
- package/dist/Incentives/ERC20VariableCriteriaIncentive.d.ts.map +1 -1
- package/dist/Incentives/ERC20VariableCriteriaIncentive.js +24 -24
- package/dist/Incentives/ERC20VariableCriteriaIncentive.js.map +1 -1
- package/dist/Incentives/ERC20VariableIncentive.cjs +1 -1
- package/dist/Incentives/ERC20VariableIncentive.cjs.map +1 -1
- package/dist/Incentives/ERC20VariableIncentive.d.ts +35 -0
- package/dist/Incentives/ERC20VariableIncentive.d.ts.map +1 -1
- package/dist/Incentives/ERC20VariableIncentive.js +55 -38
- package/dist/Incentives/ERC20VariableIncentive.js.map +1 -1
- package/dist/Incentives/Incentive.cjs +1 -1
- package/dist/Incentives/Incentive.d.ts +25 -0
- package/dist/Incentives/Incentive.d.ts.map +1 -1
- package/dist/Incentives/Incentive.js +2 -2
- package/dist/Incentives/PointsIncentive.cjs +1 -1
- package/dist/Incentives/PointsIncentive.cjs.map +1 -1
- package/dist/Incentives/PointsIncentive.d.ts +8 -0
- package/dist/Incentives/PointsIncentive.d.ts.map +1 -1
- package/dist/Incentives/PointsIncentive.js +50 -28
- package/dist/Incentives/PointsIncentive.js.map +1 -1
- package/dist/SimpleDenyList-CW4RwwRw.js +133 -0
- package/dist/{SimpleDenyList-ByAr4X1r.js.map → SimpleDenyList-CW4RwwRw.js.map} +1 -1
- package/dist/SimpleDenyList-Cybtz7AK.cjs +2 -0
- package/dist/{SimpleDenyList-CsRXJPwm.cjs.map → SimpleDenyList-Cybtz7AK.cjs.map} +1 -1
- package/dist/Validators/LimitedSignerValidator.cjs +1 -1
- package/dist/Validators/LimitedSignerValidator.cjs.map +1 -1
- package/dist/Validators/LimitedSignerValidator.js +33 -33
- package/dist/Validators/LimitedSignerValidator.js.map +1 -1
- package/dist/Validators/SignerValidator.cjs +1 -1
- package/dist/Validators/SignerValidator.cjs.map +1 -1
- package/dist/Validators/SignerValidator.js +26 -26
- package/dist/Validators/SignerValidator.js.map +1 -1
- package/dist/Validators/Validator.cjs +1 -1
- package/dist/Validators/Validator.js +3 -3
- package/dist/deployments-CIXw_WKk.cjs +2 -0
- package/dist/deployments-CIXw_WKk.cjs.map +1 -0
- package/dist/{deployments-D0fs26TV.js → deployments-DqjtOTUr.js} +47 -47
- package/dist/{deployments-D0fs26TV.js.map → deployments-DqjtOTUr.js.map} +1 -1
- package/dist/deployments.json +24 -24
- package/dist/generated-DgXPUgXl.cjs +3 -0
- package/dist/generated-DgXPUgXl.cjs.map +1 -0
- package/dist/{generated-Cyvr_Tjx.js → generated-pJZHmRCK.js} +728 -459
- package/dist/generated-pJZHmRCK.js.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +137 -136
- package/package.json +1 -1
- package/src/Actions/EventAction.ts +108 -27
- package/src/BoostCore.test.ts +124 -2
- package/src/BoostCore.ts +227 -0
- package/src/Incentives/AllowListIncentive.ts +17 -0
- package/src/Incentives/CGDAIncentive.ts +31 -0
- package/src/Incentives/ERC20Incentive.ts +27 -0
- package/src/Incentives/ERC20PeggedIncentive.ts +18 -0
- package/src/Incentives/ERC20PeggedVariableCriteriaIncentive.ts +26 -0
- package/src/Incentives/ERC20VariableIncentive.ts +18 -0
- package/src/Incentives/PointsIncentive.ts +22 -0
- package/dist/Budget-AoNx7uFd.cjs +0 -2
- package/dist/Budget-DYIV9iNK.js +0 -463
- package/dist/Incentive-BbkfwGOb.cjs +0 -2
- package/dist/Incentive-BbkfwGOb.cjs.map +0 -1
- package/dist/Incentive-qlnv5kQB.js +0 -991
- package/dist/Incentive-qlnv5kQB.js.map +0 -1
- package/dist/SimpleDenyList-ByAr4X1r.js +0 -133
- package/dist/SimpleDenyList-CsRXJPwm.cjs +0 -2
- package/dist/deployments-DoIOqxco.cjs +0 -2
- package/dist/deployments-DoIOqxco.cjs.map +0 -1
- package/dist/generated-Cyvr_Tjx.js.map +0 -1
- package/dist/generated-DtYPHhtX.cjs +0 -3
- package/dist/generated-DtYPHhtX.cjs.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E=require("./BoostRegistry.cjs"),d=require("./BoostCore.cjs"),C=require("./Boost.cjs"),u=require("./Actions/Action.cjs"),a=require("./Actions/EventAction.cjs"),g=require("./AllowLists/AllowList.cjs"),y=require("./AllowLists/SimpleAllowList.cjs"),I=require("./SimpleDenyList-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E=require("./BoostRegistry.cjs"),d=require("./BoostCore.cjs"),C=require("./Boost.cjs"),u=require("./Actions/Action.cjs"),a=require("./Actions/EventAction.cjs"),g=require("./AllowLists/AllowList.cjs"),y=require("./AllowLists/SimpleAllowList.cjs"),I=require("./SimpleDenyList-Cybtz7AK.cjs"),l=require("./Budget-DMbfdTom.cjs"),o=require("./Budgets/ManagedBudget.cjs"),B=require("./Deployable/Deployable.cjs"),T=require("./Deployable/Contract.cjs"),V=require("./Deployable/DeployableTarget.cjs"),v=require("./Deployable/DeployableTargetWithRBAC.cjs"),P=require("./Incentives/AllowListIncentive.cjs"),R=require("./Incentives/CGDAIncentive.cjs"),S=require("./Incentives/ERC20Incentive.cjs"),t=require("./Incentive-wM4zizTH.cjs"),m=require("./Incentives/ERC20VariableIncentive.cjs"),A=require("./Incentives/ERC20VariableCriteriaIncentive.cjs"),b=require("./Incentives/PointsIncentive.cjs"),s=require("./Validators/SignerValidator.cjs"),p=require("./Validators/LimitedSignerValidator.cjs"),c=require("./Validators/Validator.cjs"),e=require("./errors.cjs"),i=require("./utils.cjs"),D=require("./claiming.cjs"),n=require("./transfers.cjs"),F=require("./Auth/PassthroughAuth.cjs"),r=require("./generated-DgXPUgXl.cjs");exports.BOOST_REGISTRY_ADDRESS=E.BOOST_REGISTRY_ADDRESS;exports.BOOST_REGISTRY_ADDRESSES=E.BOOST_REGISTRY_ADDRESSES;exports.BoostRegistry=E.BoostRegistry;exports.BOOST_CORE_ADDRESS=d.BOOST_CORE_ADDRESS;exports.BOOST_CORE_ADDRESSES=d.BOOST_CORE_ADDRESSES;exports.BoostCore=d.BoostCore;exports.FEE_DENOMINATOR=d.FEE_DENOMINATOR;exports.Boost=C.Boost;exports.prepareBoostPayload=C.prepareBoostPayload;exports.ActionByComponentInterface=u.ActionByComponentInterface;exports.actionFromAddress=u.actionFromAddress;exports.EventAction=a.EventAction;exports.FilterType=a.FilterType;exports.PrimitiveType=a.PrimitiveType;exports.SignatureType=a.SignatureType;exports.anyActionParameter=a.anyActionParameter;exports.decodeAndReorderLogArgs=a.decodeAndReorderLogArgs;exports.detectSignatureType=a.detectSignatureType;exports.isEventActionPayloadSimple=a.isEventActionPayloadSimple;exports.packFieldIndexes=a.packFieldIndexes;exports.prepareEventActionPayload=a.prepareEventActionPayload;exports.transactionSenderClaimant=a.transactionSenderClaimant;exports.unpackFieldIndexes=a.unpackFieldIndexes;exports.AllowListByComponentInterface=g.AllowListByComponentInterface;exports.OpenAllowList=g.OpenAllowList;exports.allowListFromAddress=g.allowListFromAddress;exports.LIST_MANAGER_ROLE=y.LIST_MANAGER_ROLE;exports.SimpleAllowList=y.SimpleAllowList;exports.prepareSimpleAllowListPayload=y.prepareSimpleAllowListPayload;exports.SimpleDenyList=I.SimpleDenyList;exports.prepareSimpleDenyListPayload=I.prepareSimpleDenyListPayload;exports.BudgetByComponentInterface=l.BudgetByComponentInterface;exports.ManagedBudgetWithFees=l.ManagedBudgetWithFees;exports.budgetFromAddress=l.budgetFromAddress;exports.prepareManagedBudgetWithFeesPayload=l.prepareManagedBudgetWithFeesPayload;exports.ManagedBudget=o.ManagedBudget;exports.ManagedBudgetRoles=o.ManagedBudgetRoles;exports.isERC1155TransferPayload=o.isERC1155TransferPayload;exports.isFungibleTransfer=o.isFungibleTransfer;exports.prepareManagedBudgetPayload=o.prepareManagedBudgetPayload;exports.prepareTransfer=o.prepareTransfer;exports.Deployable=B.Deployable;exports.Contract=T.Contract;exports.DeployableTarget=V.DeployableTarget;exports.DeployableTargetWithRBAC=v.DeployableTargetWithRBAC;exports.Roles=v.Roles;exports.AllowListIncentive=P.AllowListIncentive;exports.prepareAllowListIncentivePayload=P.prepareAllowListIncentivePayload;exports.CGDAIncentive=R.CGDAIncentive;exports.prepareCGDAIncentivePayload=R.prepareCGDAIncentivePayload;exports.ERC20Incentive=S.ERC20Incentive;exports.prepareERC20IncentivePayload=S.prepareERC20IncentivePayload;exports.ERC20PeggedIncentive=t.ERC20PeggedIncentive;exports.ERC20PeggedVariableCriteriaIncentive=t.ERC20PeggedVariableCriteriaIncentive;exports.IncentiveByComponentInterface=t.IncentiveByComponentInterface;exports.incentiveFromAddress=t.incentiveFromAddress;exports.prepareERC20PeggedIncentivePayload=t.prepareERC20PeggedIncentivePayload;exports.prepareERC20PeggedVariableCriteriaIncentivePayload=t.prepareERC20PeggedVariableCriteriaIncentivePayload;exports.ERC20VariableIncentive=m.ERC20VariableIncentive;exports.prepareERC20VariableIncentivePayload=m.prepareERC20VariableIncentivePayload;exports.ERC20VariableCriteriaIncentive=A.ERC20VariableCriteriaIncentive;exports.gasRebateIncentiveCriteria=A.gasRebateIncentiveCriteria;exports.prepareERC20VariableCriteriaIncentivePayload=A.prepareERC20VariableCriteriaIncentivePayload;exports.PointsIncentive=b.PointsIncentive;exports.preparePointsIncentivePayload=b.preparePointsIncentivePayload;exports.SignerValidator=s.SignerValidator;exports.prepareSignerValidatorClaimDataPayload=s.prepareSignerValidatorClaimDataPayload;exports.prepareSignerValidatorInputParams=s.prepareSignerValidatorInputParams;exports.prepareSignerValidatorPayload=s.prepareSignerValidatorPayload;exports.LimitedSignerValidator=p.LimitedSignerValidator;exports.prepareLimitedSignerValidatorClaimDataPayload=p.prepareLimitedSignerValidatorClaimDataPayload;exports.prepareLimitedSignerValidatorInputParams=p.prepareLimitedSignerValidatorInputParams;exports.prepareLimitedSignerValidatorPayload=p.prepareLimitedSignerValidatorPayload;exports.BoostValidatorEOA=c.BoostValidatorEOA;exports.ValidatorByComponentInterface=c.ValidatorByComponentInterface;exports.decodeClaimData=c.decodeClaimData;exports.validatorFromAddress=c.validatorFromAddress;exports.BoostCoreNoIdentifierEmitted=e.BoostCoreNoIdentifierEmitted;exports.BoostNotFoundError=e.BoostNotFoundError;exports.BudgetMustAuthorizeBoostCore=e.BudgetMustAuthorizeBoostCore;exports.ContractAddressRequiredError=e.ContractAddressRequiredError;exports.DecodedArgsError=e.DecodedArgsError;exports.DecodedArgsMalformedError=e.DecodedArgsMalformedError;exports.DeployableAlreadyDeployedError=e.DeployableAlreadyDeployedError;exports.DeployableBuildParametersUnspecifiedError=e.DeployableBuildParametersUnspecifiedError;exports.DeployableMissingPayloadError=e.DeployableMissingPayloadError;exports.DeployableUnknownOwnerProvidedError=e.DeployableUnknownOwnerProvidedError;exports.DeployableWagmiConfigurationRequiredError=e.DeployableWagmiConfigurationRequiredError;exports.FieldActionValidationError=e.FieldActionValidationError;exports.FieldValueNotComparableError=e.FieldValueNotComparableError;exports.FieldValueUndefinedError=e.FieldValueUndefinedError;exports.FunctionDataDecodeError=e.FunctionDataDecodeError;exports.IncentiveCriteriaNotFoundError=e.IncentiveCriteriaNotFoundError;exports.IncentiveNotCloneableError=e.IncentiveNotCloneableError;exports.InvalidComponentInterfaceError=e.InvalidComponentInterfaceError;exports.InvalidCriteriaTypeError=e.InvalidCriteriaTypeError;exports.InvalidNumericalCriteriaError=e.InvalidNumericalCriteriaError;exports.InvalidProtocolChainIdError=e.InvalidProtocolChainIdError;exports.InvalidTupleDecodingError=e.InvalidTupleDecodingError;exports.InvalidTupleEncodingError=e.InvalidTupleEncodingError;exports.MustInitializeBudgetError=e.MustInitializeBudgetError;exports.NoConnectedChainIdError=e.NoConnectedChainIdError;exports.NoContractAddressUponReceiptError=e.NoContractAddressUponReceiptError;exports.NoEventActionStepsProvidedError=e.NoEventActionStepsProvidedError;exports.NoMatchingLogsError=e.NoMatchingLogsError;exports.TooManyEventActionStepsProvidedError=e.TooManyEventActionStepsProvidedError;exports.UnknownTransferPayloadSupplied=e.UnknownTransferPayloadSupplied;exports.UnparseableAbiParamError=e.UnparseableAbiParamError;exports.UnrecognizedFilterTypeError=e.UnrecognizedFilterTypeError;exports.ValidationAbiMissingError=e.ValidationAbiMissingError;exports.CheatCodes=i.CheatCodes;exports.RegistryType=i.RegistryType;exports.TRANSFER_SIGNATURE=i.TRANSFER_SIGNATURE;exports.assertValidAddressByChainId=i.assertValidAddressByChainId;exports.awaitResult=i.awaitResult;exports.bytes4=i.bytes4;exports.getDeployedContractAddress=i.getDeployedContractAddress;exports.getErc20Balance=i.getErc20Balance;exports.StrategyType=D.StrategyType;exports.prepareClaimPayload=D.prepareClaimPayload;exports.AssetType=n.AssetType;exports.prepareERC1155Payload=n.prepareERC1155Payload;exports.prepareERC1155Transfer=n.prepareERC1155Transfer;exports.prepareFungiblePayload=n.prepareFungiblePayload;exports.prepareFungibleTransfer=n.prepareFungibleTransfer;exports.prepareTransferPayload=n.prepareTransferPayload;exports.PassthroughAuth=F.PassthroughAuth;exports.allowListIncentiveAbi=r.H;exports.boostCoreAbi=r.g;exports.boostRegistryAbi=r.be;exports.cgdaIncentiveAbi=r.N;exports.erc20IncentiveAbi=r.m;exports.erc20PeggedIncentiveAbi=r.f;exports.erc20PeggedVariableCriteriaIncentiveAbi=r.y;exports.erc20VariableCriteriaIncentiveAbi=r.d;exports.erc20VariableIncentiveAbi=r.A;exports.limitedSignerValidatorAbi=r.S;exports.managedBudgetAbi=r.h;exports.managedBudgetWithFeesAbi=r.p;exports.passthroughAuthAbi=r.$e;exports.pointsIncentiveAbi=r.R;exports.rbacAbi=r.V;exports.signerValidatorAbi=r._;exports.simpleAllowListAbi=r.z;exports.simpleDenyListAbi=r.B;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.js
CHANGED
|
@@ -1,177 +1,178 @@
|
|
|
1
1
|
import { BOOST_REGISTRY_ADDRESS as a, BOOST_REGISTRY_ADDRESSES as o, BoostRegistry as i } from "./BoostRegistry.js";
|
|
2
|
-
import { BOOST_CORE_ADDRESS as n, BOOST_CORE_ADDRESSES as d, BoostCore as
|
|
2
|
+
import { BOOST_CORE_ADDRESS as n, BOOST_CORE_ADDRESSES as d, BoostCore as p, FEE_DENOMINATOR as l } from "./BoostCore.js";
|
|
3
3
|
import { Boost as c, prepareBoostPayload as m } from "./Boost.js";
|
|
4
|
-
import { ActionByComponentInterface as
|
|
5
|
-
import { EventAction as C, FilterType as I, PrimitiveType as b, SignatureType as f, anyActionParameter as v, decodeAndReorderLogArgs as P,
|
|
6
|
-
import { AllowListByComponentInterface as
|
|
7
|
-
import { LIST_MANAGER_ROLE as
|
|
8
|
-
import { S as
|
|
9
|
-
import { B as
|
|
10
|
-
import { ManagedBudget as
|
|
4
|
+
import { ActionByComponentInterface as E, actionFromAddress as A } from "./Actions/Action.js";
|
|
5
|
+
import { EventAction as C, FilterType as I, PrimitiveType as b, SignatureType as f, anyActionParameter as v, decodeAndReorderLogArgs as P, detectSignatureType as R, isEventActionPayloadSimple as S, packFieldIndexes as u, prepareEventActionPayload as B, transactionSenderClaimant as x, unpackFieldIndexes as D } from "./Actions/EventAction.js";
|
|
6
|
+
import { AllowListByComponentInterface as V, OpenAllowList as F, allowListFromAddress as L } from "./AllowLists/AllowList.js";
|
|
7
|
+
import { LIST_MANAGER_ROLE as N, SimpleAllowList as O, prepareSimpleAllowListPayload as M } from "./AllowLists/SimpleAllowList.js";
|
|
8
|
+
import { S as _, p as U } from "./SimpleDenyList-CW4RwwRw.js";
|
|
9
|
+
import { B as W, M as k, b as z, p as q } from "./Budget-DO6sGTIR.js";
|
|
10
|
+
import { ManagedBudget as H, ManagedBudgetRoles as $, isERC1155TransferPayload as j, isFungibleTransfer as J, prepareManagedBudgetPayload as K, prepareTransfer as Q } from "./Budgets/ManagedBudget.js";
|
|
11
11
|
import { Deployable as Z } from "./Deployable/Deployable.js";
|
|
12
|
-
import { Contract as
|
|
13
|
-
import { DeployableTarget as
|
|
14
|
-
import { DeployableTargetWithRBAC as
|
|
15
|
-
import { AllowListIncentive as
|
|
16
|
-
import { CGDAIncentive as
|
|
17
|
-
import { ERC20Incentive as Ee, prepareERC20IncentivePayload as
|
|
18
|
-
import { E as
|
|
19
|
-
import { ERC20VariableIncentive as
|
|
20
|
-
import { ERC20VariableCriteriaIncentive as
|
|
21
|
-
import { PointsIncentive as
|
|
22
|
-
import { SignerValidator as
|
|
23
|
-
import { LimitedSignerValidator as
|
|
24
|
-
import { BoostValidatorEOA as
|
|
25
|
-
import { BoostCoreNoIdentifierEmitted as Je, BoostNotFoundError as Ke, BudgetMustAuthorizeBoostCore as Qe, ContractAddressRequiredError as Xe, DecodedArgsError as Ze, DecodedArgsMalformedError as
|
|
26
|
-
import { CheatCodes as
|
|
27
|
-
import { StrategyType as
|
|
28
|
-
import { AssetType as
|
|
12
|
+
import { Contract as re } from "./Deployable/Contract.js";
|
|
13
|
+
import { DeployableTarget as oe } from "./Deployable/DeployableTarget.js";
|
|
14
|
+
import { DeployableTargetWithRBAC as te, Roles as ne } from "./Deployable/DeployableTargetWithRBAC.js";
|
|
15
|
+
import { AllowListIncentive as pe, prepareAllowListIncentivePayload as le } from "./Incentives/AllowListIncentive.js";
|
|
16
|
+
import { CGDAIncentive as ce, prepareCGDAIncentivePayload as me } from "./Incentives/CGDAIncentive.js";
|
|
17
|
+
import { ERC20Incentive as Ee, prepareERC20IncentivePayload as Ae } from "./Incentives/ERC20Incentive.js";
|
|
18
|
+
import { E as Ce, a as Ie, I as be, i as fe, p as ve, b as Pe } from "./Incentive-Boviez4z.js";
|
|
19
|
+
import { ERC20VariableIncentive as Se, prepareERC20VariableIncentivePayload as ue } from "./Incentives/ERC20VariableIncentive.js";
|
|
20
|
+
import { ERC20VariableCriteriaIncentive as xe, gasRebateIncentiveCriteria as De, prepareERC20VariableCriteriaIncentivePayload as Te } from "./Incentives/ERC20VariableCriteriaIncentive.js";
|
|
21
|
+
import { PointsIncentive as Fe, preparePointsIncentivePayload as Le } from "./Incentives/PointsIncentive.js";
|
|
22
|
+
import { SignerValidator as Ne, prepareSignerValidatorClaimDataPayload as Oe, prepareSignerValidatorInputParams as Me, prepareSignerValidatorPayload as we } from "./Validators/SignerValidator.js";
|
|
23
|
+
import { LimitedSignerValidator as Ue, prepareLimitedSignerValidatorClaimDataPayload as Ge, prepareLimitedSignerValidatorInputParams as We, prepareLimitedSignerValidatorPayload as ke } from "./Validators/LimitedSignerValidator.js";
|
|
24
|
+
import { BoostValidatorEOA as qe, ValidatorByComponentInterface as Ye, decodeClaimData as He, validatorFromAddress as $e } from "./Validators/Validator.js";
|
|
25
|
+
import { BoostCoreNoIdentifierEmitted as Je, BoostNotFoundError as Ke, BudgetMustAuthorizeBoostCore as Qe, ContractAddressRequiredError as Xe, DecodedArgsError as Ze, DecodedArgsMalformedError as er, DeployableAlreadyDeployedError as rr, DeployableBuildParametersUnspecifiedError as ar, DeployableMissingPayloadError as or, DeployableUnknownOwnerProvidedError as ir, DeployableWagmiConfigurationRequiredError as tr, FieldActionValidationError as nr, FieldValueNotComparableError as dr, FieldValueUndefinedError as pr, FunctionDataDecodeError as lr, IncentiveCriteriaNotFoundError as sr, IncentiveNotCloneableError as cr, InvalidComponentInterfaceError as mr, InvalidCriteriaTypeError as gr, InvalidNumericalCriteriaError as Er, InvalidProtocolChainIdError as Ar, InvalidTupleDecodingError as yr, InvalidTupleEncodingError as Cr, MustInitializeBudgetError as Ir, NoConnectedChainIdError as br, NoContractAddressUponReceiptError as fr, NoEventActionStepsProvidedError as vr, NoMatchingLogsError as Pr, TooManyEventActionStepsProvidedError as Rr, UnknownTransferPayloadSupplied as Sr, UnparseableAbiParamError as ur, UnrecognizedFilterTypeError as Br, ValidationAbiMissingError as xr } from "./errors.js";
|
|
26
|
+
import { CheatCodes as Tr, RegistryType as Vr, TRANSFER_SIGNATURE as Fr, assertValidAddressByChainId as Lr, awaitResult as hr, bytes4 as Nr, getDeployedContractAddress as Or, getErc20Balance as Mr } from "./utils.js";
|
|
27
|
+
import { StrategyType as _r, prepareClaimPayload as Ur } from "./claiming.js";
|
|
28
|
+
import { AssetType as Wr, prepareERC1155Payload as kr, prepareERC1155Transfer as zr, prepareFungiblePayload as qr, prepareFungibleTransfer as Yr, prepareTransferPayload as Hr } from "./transfers.js";
|
|
29
29
|
import { PassthroughAuth as jr } from "./Auth/PassthroughAuth.js";
|
|
30
|
-
import {
|
|
30
|
+
import { H as Kr, g as Qr, b as Xr, N as Zr, m as ea, f as ra, y as aa, d as oa, A as ia, S as ta, h as na, p as da, $ as pa, R as la, V as sa, _ as ca, z as ma, B as ga } from "./generated-pJZHmRCK.js";
|
|
31
31
|
export {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
E as ActionByComponentInterface,
|
|
33
|
+
V as AllowListByComponentInterface,
|
|
34
|
+
pe as AllowListIncentive,
|
|
35
|
+
Wr as AssetType,
|
|
36
36
|
n as BOOST_CORE_ADDRESS,
|
|
37
37
|
d as BOOST_CORE_ADDRESSES,
|
|
38
38
|
a as BOOST_REGISTRY_ADDRESS,
|
|
39
39
|
o as BOOST_REGISTRY_ADDRESSES,
|
|
40
40
|
c as Boost,
|
|
41
|
-
|
|
41
|
+
p as BoostCore,
|
|
42
42
|
Je as BoostCoreNoIdentifierEmitted,
|
|
43
43
|
Ke as BoostNotFoundError,
|
|
44
44
|
i as BoostRegistry,
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
qe as BoostValidatorEOA,
|
|
46
|
+
W as BudgetByComponentInterface,
|
|
47
47
|
Qe as BudgetMustAuthorizeBoostCore,
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
48
|
+
ce as CGDAIncentive,
|
|
49
|
+
Tr as CheatCodes,
|
|
50
|
+
re as Contract,
|
|
51
51
|
Xe as ContractAddressRequiredError,
|
|
52
52
|
Ze as DecodedArgsError,
|
|
53
|
-
|
|
53
|
+
er as DecodedArgsMalformedError,
|
|
54
54
|
Z as Deployable,
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
55
|
+
rr as DeployableAlreadyDeployedError,
|
|
56
|
+
ar as DeployableBuildParametersUnspecifiedError,
|
|
57
|
+
or as DeployableMissingPayloadError,
|
|
58
|
+
oe as DeployableTarget,
|
|
59
|
+
te as DeployableTargetWithRBAC,
|
|
60
|
+
ir as DeployableUnknownOwnerProvidedError,
|
|
61
|
+
tr as DeployableWagmiConfigurationRequiredError,
|
|
62
62
|
Ee as ERC20Incentive,
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
63
|
+
Ce as ERC20PeggedIncentive,
|
|
64
|
+
Ie as ERC20PeggedVariableCriteriaIncentive,
|
|
65
|
+
xe as ERC20VariableCriteriaIncentive,
|
|
66
|
+
Se as ERC20VariableIncentive,
|
|
67
67
|
C as EventAction,
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
68
|
+
l as FEE_DENOMINATOR,
|
|
69
|
+
nr as FieldActionValidationError,
|
|
70
|
+
dr as FieldValueNotComparableError,
|
|
71
|
+
pr as FieldValueUndefinedError,
|
|
72
72
|
I as FilterType,
|
|
73
73
|
lr as FunctionDataDecodeError,
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
74
|
+
be as IncentiveByComponentInterface,
|
|
75
|
+
sr as IncentiveCriteriaNotFoundError,
|
|
76
|
+
cr as IncentiveNotCloneableError,
|
|
77
|
+
mr as InvalidComponentInterfaceError,
|
|
78
|
+
gr as InvalidCriteriaTypeError,
|
|
79
79
|
Er as InvalidNumericalCriteriaError,
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
80
|
+
Ar as InvalidProtocolChainIdError,
|
|
81
|
+
yr as InvalidTupleDecodingError,
|
|
82
|
+
Cr as InvalidTupleEncodingError,
|
|
83
|
+
N as LIST_MANAGER_ROLE,
|
|
84
|
+
Ue as LimitedSignerValidator,
|
|
85
|
+
H as ManagedBudget,
|
|
86
|
+
$ as ManagedBudgetRoles,
|
|
87
|
+
k as ManagedBudgetWithFees,
|
|
88
|
+
Ir as MustInitializeBudgetError,
|
|
89
|
+
br as NoConnectedChainIdError,
|
|
90
|
+
fr as NoContractAddressUponReceiptError,
|
|
91
|
+
vr as NoEventActionStepsProvidedError,
|
|
92
|
+
Pr as NoMatchingLogsError,
|
|
93
|
+
F as OpenAllowList,
|
|
94
94
|
jr as PassthroughAuth,
|
|
95
|
-
|
|
95
|
+
Fe as PointsIncentive,
|
|
96
96
|
b as PrimitiveType,
|
|
97
|
-
|
|
98
|
-
|
|
97
|
+
Vr as RegistryType,
|
|
98
|
+
ne as Roles,
|
|
99
99
|
f as SignatureType,
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
100
|
+
Ne as SignerValidator,
|
|
101
|
+
O as SimpleAllowList,
|
|
102
|
+
_ as SimpleDenyList,
|
|
103
|
+
_r as StrategyType,
|
|
104
|
+
Fr as TRANSFER_SIGNATURE,
|
|
105
|
+
Rr as TooManyEventActionStepsProvidedError,
|
|
106
|
+
Sr as UnknownTransferPayloadSupplied,
|
|
107
|
+
ur as UnparseableAbiParamError,
|
|
108
|
+
Br as UnrecognizedFilterTypeError,
|
|
109
|
+
xr as ValidationAbiMissingError,
|
|
110
|
+
Ye as ValidatorByComponentInterface,
|
|
111
111
|
A as actionFromAddress,
|
|
112
|
-
|
|
112
|
+
L as allowListFromAddress,
|
|
113
113
|
Kr as allowListIncentiveAbi,
|
|
114
114
|
v as anyActionParameter,
|
|
115
|
-
|
|
116
|
-
|
|
115
|
+
Lr as assertValidAddressByChainId,
|
|
116
|
+
hr as awaitResult,
|
|
117
117
|
Qr as boostCoreAbi,
|
|
118
118
|
Xr as boostRegistryAbi,
|
|
119
|
-
|
|
120
|
-
|
|
119
|
+
z as budgetFromAddress,
|
|
120
|
+
Nr as bytes4,
|
|
121
121
|
Zr as cgdaIncentiveAbi,
|
|
122
122
|
P as decodeAndReorderLogArgs,
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
ea as
|
|
126
|
-
ra as
|
|
127
|
-
aa as
|
|
128
|
-
oa as
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
Or as
|
|
132
|
-
|
|
123
|
+
He as decodeClaimData,
|
|
124
|
+
R as detectSignatureType,
|
|
125
|
+
ea as erc20IncentiveAbi,
|
|
126
|
+
ra as erc20PeggedIncentiveAbi,
|
|
127
|
+
aa as erc20PeggedVariableCriteriaIncentiveAbi,
|
|
128
|
+
oa as erc20VariableCriteriaIncentiveAbi,
|
|
129
|
+
ia as erc20VariableIncentiveAbi,
|
|
130
|
+
De as gasRebateIncentiveCriteria,
|
|
131
|
+
Or as getDeployedContractAddress,
|
|
132
|
+
Mr as getErc20Balance,
|
|
133
|
+
fe as incentiveFromAddress,
|
|
133
134
|
j as isERC1155TransferPayload,
|
|
134
|
-
|
|
135
|
+
S as isEventActionPayloadSimple,
|
|
135
136
|
J as isFungibleTransfer,
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
137
|
+
ta as limitedSignerValidatorAbi,
|
|
138
|
+
na as managedBudgetAbi,
|
|
139
|
+
da as managedBudgetWithFeesAbi,
|
|
140
|
+
u as packFieldIndexes,
|
|
141
|
+
pa as passthroughAuthAbi,
|
|
141
142
|
la as pointsIncentiveAbi,
|
|
142
143
|
le as prepareAllowListIncentivePayload,
|
|
143
144
|
m as prepareBoostPayload,
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
145
|
+
me as prepareCGDAIncentivePayload,
|
|
146
|
+
Ur as prepareClaimPayload,
|
|
147
|
+
kr as prepareERC1155Payload,
|
|
148
|
+
zr as prepareERC1155Transfer,
|
|
149
|
+
Ae as prepareERC20IncentivePayload,
|
|
150
|
+
ve as prepareERC20PeggedIncentivePayload,
|
|
151
|
+
Pe as prepareERC20PeggedVariableCriteriaIncentivePayload,
|
|
152
|
+
Te as prepareERC20VariableCriteriaIncentivePayload,
|
|
153
|
+
ue as prepareERC20VariableIncentivePayload,
|
|
154
|
+
B as prepareEventActionPayload,
|
|
155
|
+
qr as prepareFungiblePayload,
|
|
156
|
+
Yr as prepareFungibleTransfer,
|
|
157
|
+
Ge as prepareLimitedSignerValidatorClaimDataPayload,
|
|
158
|
+
We as prepareLimitedSignerValidatorInputParams,
|
|
159
|
+
ke as prepareLimitedSignerValidatorPayload,
|
|
159
160
|
K as prepareManagedBudgetPayload,
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
161
|
+
q as prepareManagedBudgetWithFeesPayload,
|
|
162
|
+
Le as preparePointsIncentivePayload,
|
|
163
|
+
Oe as prepareSignerValidatorClaimDataPayload,
|
|
164
|
+
Me as prepareSignerValidatorInputParams,
|
|
165
|
+
we as prepareSignerValidatorPayload,
|
|
166
|
+
M as prepareSimpleAllowListPayload,
|
|
167
|
+
U as prepareSimpleDenyListPayload,
|
|
167
168
|
Q as prepareTransfer,
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
169
|
+
Hr as prepareTransferPayload,
|
|
170
|
+
sa as rbacAbi,
|
|
171
|
+
ca as signerValidatorAbi,
|
|
172
|
+
ma as simpleAllowListAbi,
|
|
173
|
+
ga as simpleDenyListAbi,
|
|
174
|
+
x as transactionSenderClaimant,
|
|
175
|
+
D as unpackFieldIndexes,
|
|
176
|
+
$e as validatorFromAddress
|
|
176
177
|
};
|
|
177
178
|
//# sourceMappingURL=index.js.map
|
package/package.json
CHANGED
|
@@ -26,7 +26,9 @@ import {
|
|
|
26
26
|
fromHex,
|
|
27
27
|
isAddress,
|
|
28
28
|
isAddressEqual,
|
|
29
|
+
pad,
|
|
29
30
|
toEventSelector,
|
|
31
|
+
trim,
|
|
30
32
|
zeroAddress,
|
|
31
33
|
zeroHash,
|
|
32
34
|
} from 'viem';
|
|
@@ -92,8 +94,8 @@ export enum PrimitiveType {
|
|
|
92
94
|
ADDRESS = 1,
|
|
93
95
|
BYTES = 2,
|
|
94
96
|
STRING = 3,
|
|
95
|
-
// Note: TUPLE remains in the enum but is no longer handled directly by `validateFieldAgainstCriteria`.
|
|
96
97
|
TUPLE = 4,
|
|
98
|
+
INT = 5,
|
|
97
99
|
}
|
|
98
100
|
|
|
99
101
|
/**
|
|
@@ -157,7 +159,7 @@ export interface ActionClaimant {
|
|
|
157
159
|
*
|
|
158
160
|
* @type {SignatureType}
|
|
159
161
|
*/
|
|
160
|
-
signatureType
|
|
162
|
+
signatureType?: SignatureType;
|
|
161
163
|
/**
|
|
162
164
|
* The 4 byte signature of the event or function
|
|
163
165
|
*
|
|
@@ -202,7 +204,7 @@ export interface ActionStep {
|
|
|
202
204
|
*
|
|
203
205
|
* @type {SignatureType}
|
|
204
206
|
*/
|
|
205
|
-
signatureType
|
|
207
|
+
signatureType?: SignatureType;
|
|
206
208
|
/**
|
|
207
209
|
* The type of action being performed.
|
|
208
210
|
*
|
|
@@ -829,9 +831,9 @@ export class EventAction extends DeployableTarget<
|
|
|
829
831
|
const filteredLogs = receipt.logs.filter(
|
|
830
832
|
(log) => log.topics[0] === TRANSFER_SIGNATURE,
|
|
831
833
|
);
|
|
832
|
-
const event =
|
|
833
|
-
'Transfer(address indexed,address indexed,uint256 indexed)'
|
|
834
|
-
|
|
834
|
+
const event = structuredClone(
|
|
835
|
+
abi['Transfer(address indexed,address indexed,uint256 indexed)'],
|
|
836
|
+
) as AbiEvent;
|
|
835
837
|
|
|
836
838
|
// ERC721
|
|
837
839
|
try {
|
|
@@ -1066,6 +1068,10 @@ export class EventAction extends DeployableTarget<
|
|
|
1066
1068
|
PrimitiveType.UINT,
|
|
1067
1069
|
() => BigInt(fieldValue) !== BigInt(criteria.filterData),
|
|
1068
1070
|
)
|
|
1071
|
+
.with(
|
|
1072
|
+
PrimitiveType.INT,
|
|
1073
|
+
() => BigInt(fieldValue) !== BigInt(criteria.filterData),
|
|
1074
|
+
)
|
|
1069
1075
|
.with(
|
|
1070
1076
|
PrimitiveType.STRING,
|
|
1071
1077
|
() => fieldValue !== fromHex(criteria.filterData, 'string'),
|
|
@@ -1073,7 +1079,10 @@ export class EventAction extends DeployableTarget<
|
|
|
1073
1079
|
.otherwise(() => fieldValue !== criteria.filterData);
|
|
1074
1080
|
|
|
1075
1081
|
case FilterType.GREATER_THAN:
|
|
1076
|
-
if (
|
|
1082
|
+
if (
|
|
1083
|
+
fieldType === PrimitiveType.UINT ||
|
|
1084
|
+
fieldType === PrimitiveType.INT
|
|
1085
|
+
) {
|
|
1077
1086
|
return BigInt(fieldValue) > BigInt(criteria.filterData);
|
|
1078
1087
|
}
|
|
1079
1088
|
throw new InvalidNumericalCriteriaError({
|
|
@@ -1083,7 +1092,10 @@ export class EventAction extends DeployableTarget<
|
|
|
1083
1092
|
});
|
|
1084
1093
|
|
|
1085
1094
|
case FilterType.GREATER_THAN_OR_EQUAL:
|
|
1086
|
-
if (
|
|
1095
|
+
if (
|
|
1096
|
+
fieldType === PrimitiveType.UINT ||
|
|
1097
|
+
fieldType === PrimitiveType.INT
|
|
1098
|
+
) {
|
|
1087
1099
|
return BigInt(fieldValue) >= BigInt(criteria.filterData);
|
|
1088
1100
|
}
|
|
1089
1101
|
throw new InvalidNumericalCriteriaError({
|
|
@@ -1093,7 +1105,10 @@ export class EventAction extends DeployableTarget<
|
|
|
1093
1105
|
});
|
|
1094
1106
|
|
|
1095
1107
|
case FilterType.LESS_THAN:
|
|
1096
|
-
if (
|
|
1108
|
+
if (
|
|
1109
|
+
fieldType === PrimitiveType.UINT ||
|
|
1110
|
+
fieldType === PrimitiveType.INT
|
|
1111
|
+
) {
|
|
1097
1112
|
return BigInt(fieldValue) < BigInt(criteria.filterData);
|
|
1098
1113
|
}
|
|
1099
1114
|
throw new InvalidNumericalCriteriaError({
|
|
@@ -1103,7 +1118,10 @@ export class EventAction extends DeployableTarget<
|
|
|
1103
1118
|
});
|
|
1104
1119
|
|
|
1105
1120
|
case FilterType.LESS_THAN_OR_EQUAL:
|
|
1106
|
-
if (
|
|
1121
|
+
if (
|
|
1122
|
+
fieldType === PrimitiveType.UINT ||
|
|
1123
|
+
fieldType === PrimitiveType.INT
|
|
1124
|
+
) {
|
|
1107
1125
|
return BigInt(fieldValue) <= BigInt(criteria.filterData);
|
|
1108
1126
|
}
|
|
1109
1127
|
throw new InvalidNumericalCriteriaError({
|
|
@@ -1313,9 +1331,12 @@ function abiTypeToPrimitiveType(
|
|
|
1313
1331
|
): Exclude<PrimitiveType, PrimitiveType.TUPLE> {
|
|
1314
1332
|
const lower = abiType.toLowerCase();
|
|
1315
1333
|
|
|
1316
|
-
if (lower.startsWith('uint')
|
|
1334
|
+
if (lower.startsWith('uint')) {
|
|
1317
1335
|
return PrimitiveType.UINT;
|
|
1318
1336
|
}
|
|
1337
|
+
if (lower.startsWith('int')) {
|
|
1338
|
+
return PrimitiveType.INT;
|
|
1339
|
+
}
|
|
1319
1340
|
if (lower === 'address') {
|
|
1320
1341
|
return PrimitiveType.ADDRESS;
|
|
1321
1342
|
}
|
|
@@ -1377,6 +1398,72 @@ function _isEventActionPayloadSimple(
|
|
|
1377
1398
|
return Array.isArray((opts as EventActionPayloadSimple).actionSteps);
|
|
1378
1399
|
}
|
|
1379
1400
|
|
|
1401
|
+
/**
|
|
1402
|
+
* Determines whether a signature is an event or function signature based on its format.
|
|
1403
|
+
* - 32-byte signatures (0x + 64 chars) that don't start with 28 zeros are event signatures
|
|
1404
|
+
* - 4-byte signatures (0x + 8 chars) or 32-byte signatures with 28 leading zeros are function signatures
|
|
1405
|
+
*
|
|
1406
|
+
* @param {Hex} signature - The signature to check
|
|
1407
|
+
* @returns {SignatureType} The detected signature type
|
|
1408
|
+
*/
|
|
1409
|
+
export function detectSignatureType(signature: Hex): SignatureType {
|
|
1410
|
+
const hexWithoutPrefix = signature.slice(2);
|
|
1411
|
+
|
|
1412
|
+
// 4-byte function selectors (8 hex chars)
|
|
1413
|
+
if (hexWithoutPrefix.length === 8) {
|
|
1414
|
+
return SignatureType.FUNC;
|
|
1415
|
+
}
|
|
1416
|
+
|
|
1417
|
+
// 32-byte selectors (64 hex chars)
|
|
1418
|
+
if (hexWithoutPrefix.length === 64) {
|
|
1419
|
+
// Check if it starts with 28 bytes (56 chars) of zeros
|
|
1420
|
+
const leadingPart = hexWithoutPrefix.slice(0, 56);
|
|
1421
|
+
if (leadingPart === '0'.repeat(56)) {
|
|
1422
|
+
return SignatureType.FUNC;
|
|
1423
|
+
}
|
|
1424
|
+
return SignatureType.EVENT;
|
|
1425
|
+
}
|
|
1426
|
+
|
|
1427
|
+
throw new Error('Invalid signature format');
|
|
1428
|
+
}
|
|
1429
|
+
|
|
1430
|
+
/**
|
|
1431
|
+
* Normalizes a hex value to ensure proper byte padding.
|
|
1432
|
+
* This prevents viem's automatic padding which can change the value.
|
|
1433
|
+
* For example:
|
|
1434
|
+
* - "0x1" -> "0x01"
|
|
1435
|
+
* - "0xabc" -> "0x0abc"
|
|
1436
|
+
* - "0xabcd" -> "0xabcd"
|
|
1437
|
+
*
|
|
1438
|
+
* @param {Hex} value - The hex value to normalize
|
|
1439
|
+
* @returns {Hex} The normalized hex string
|
|
1440
|
+
*/
|
|
1441
|
+
function normalizeUintValue(value: Hex): Hex {
|
|
1442
|
+
return trim(pad(value));
|
|
1443
|
+
}
|
|
1444
|
+
|
|
1445
|
+
/**
|
|
1446
|
+
* Helper function to prepare an action step for encoding
|
|
1447
|
+
*
|
|
1448
|
+
* @param {ActionStep} step - The action step to prepare
|
|
1449
|
+
* @returns {ActionStep} The prepared action step
|
|
1450
|
+
*/
|
|
1451
|
+
function prepareActionStep(step: ActionStep) {
|
|
1452
|
+
return {
|
|
1453
|
+
..._toRawActionStep(step),
|
|
1454
|
+
signatureType: step.signatureType ?? detectSignatureType(step.signature),
|
|
1455
|
+
signature: pad(step.signature),
|
|
1456
|
+
actionType: step.actionType || 0,
|
|
1457
|
+
actionParameter:
|
|
1458
|
+
step.actionParameter.fieldType === PrimitiveType.UINT
|
|
1459
|
+
? {
|
|
1460
|
+
...step.actionParameter,
|
|
1461
|
+
filterData: normalizeUintValue(step.actionParameter.filterData),
|
|
1462
|
+
}
|
|
1463
|
+
: step.actionParameter,
|
|
1464
|
+
};
|
|
1465
|
+
}
|
|
1466
|
+
|
|
1380
1467
|
/**
|
|
1381
1468
|
* Function to properly encode an event action payload.
|
|
1382
1469
|
*
|
|
@@ -1502,23 +1589,17 @@ export function prepareEventActionPayload({
|
|
|
1502
1589
|
],
|
|
1503
1590
|
[
|
|
1504
1591
|
{
|
|
1505
|
-
actionClaimant:
|
|
1506
|
-
|
|
1507
|
-
|
|
1508
|
-
|
|
1509
|
-
|
|
1510
|
-
|
|
1511
|
-
..._toRawActionStep(actionStepTwo),
|
|
1512
|
-
actionType: actionStepTwo.actionType || 0,
|
|
1513
|
-
},
|
|
1514
|
-
actionStepThree: {
|
|
1515
|
-
..._toRawActionStep(actionStepThree),
|
|
1516
|
-
actionType: actionStepThree.actionType || 0,
|
|
1517
|
-
},
|
|
1518
|
-
actionStepFour: {
|
|
1519
|
-
..._toRawActionStep(actionStepFour),
|
|
1520
|
-
actionType: actionStepFour.actionType || 0,
|
|
1592
|
+
actionClaimant: {
|
|
1593
|
+
..._toRawActionStep(actionClaimant),
|
|
1594
|
+
signatureType:
|
|
1595
|
+
actionClaimant.signatureType ??
|
|
1596
|
+
detectSignatureType(actionClaimant.signature),
|
|
1597
|
+
signature: pad(actionClaimant.signature),
|
|
1521
1598
|
},
|
|
1599
|
+
actionStepOne: prepareActionStep(actionStepOne),
|
|
1600
|
+
actionStepTwo: prepareActionStep(actionStepTwo),
|
|
1601
|
+
actionStepThree: prepareActionStep(actionStepThree),
|
|
1602
|
+
actionStepFour: prepareActionStep(actionStepFour),
|
|
1522
1603
|
},
|
|
1523
1604
|
],
|
|
1524
1605
|
);
|