@boostxyz/sdk 5.2.1 → 5.3.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/README.md +10 -0
- package/dist/Actions/Action.cjs +1 -1
- package/dist/Actions/Action.js +1 -1
- package/dist/Actions/EventAction.cjs +1 -1
- package/dist/Actions/EventAction.cjs.map +1 -1
- package/dist/Actions/EventAction.d.ts +82 -38
- package/dist/Actions/EventAction.d.ts.map +1 -1
- package/dist/Actions/EventAction.js +437 -297
- 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.js +2 -2
- 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.js +1 -1
- package/dist/BoostCore.cjs +2 -2
- package/dist/BoostCore.cjs.map +1 -1
- package/dist/BoostCore.d.ts +42 -1
- package/dist/BoostCore.d.ts.map +1 -1
- package/dist/BoostCore.js +360 -318
- package/dist/BoostCore.js.map +1 -1
- package/dist/BoostRegistry.cjs +1 -1
- package/dist/BoostRegistry.js +2 -2
- package/dist/{Budget-N0YEfSt2.cjs → Budget-AoNx7uFd.cjs} +2 -2
- package/dist/{Budget-N0YEfSt2.cjs.map → Budget-AoNx7uFd.cjs.map} +1 -1
- package/dist/{Budget-C0SMvfEl.js → Budget-DYIV9iNK.js} +3 -3
- package/dist/{Budget-C0SMvfEl.js.map → Budget-DYIV9iNK.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.js +2 -2
- 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 +2 -2
- package/dist/Incentive-BbkfwGOb.cjs +2 -0
- package/dist/Incentive-BbkfwGOb.cjs.map +1 -0
- package/dist/{Incentive-DBZHQ9Np.js → Incentive-qlnv5kQB.js} +77 -50
- package/dist/Incentive-qlnv5kQB.js.map +1 -0
- package/dist/Incentives/AllowListIncentive.cjs +1 -1
- package/dist/Incentives/AllowListIncentive.js +3 -3
- package/dist/Incentives/CGDAIncentive.cjs +1 -1
- package/dist/Incentives/CGDAIncentive.js +2 -2
- package/dist/Incentives/ERC20Incentive.cjs +1 -1
- package/dist/Incentives/ERC20Incentive.js +6 -6
- package/dist/Incentives/ERC20PeggedIncentive.d.ts +10 -1
- package/dist/Incentives/ERC20PeggedIncentive.d.ts.map +1 -1
- package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs +1 -1
- package/dist/Incentives/ERC20VariableCriteriaIncentive.js +2 -2
- package/dist/Incentives/ERC20VariableIncentive.cjs +1 -1
- package/dist/Incentives/ERC20VariableIncentive.js +2 -2
- package/dist/Incentives/Incentive.cjs +1 -1
- package/dist/Incentives/Incentive.js +2 -2
- package/dist/Incentives/PointsIncentive.cjs +1 -1
- package/dist/Incentives/PointsIncentive.js +2 -2
- package/dist/{SimpleDenyList-B8QeJthf.js → SimpleDenyList-ByAr4X1r.js} +3 -3
- package/dist/{SimpleDenyList-B8QeJthf.js.map → SimpleDenyList-ByAr4X1r.js.map} +1 -1
- package/dist/{SimpleDenyList-DIb4xX3j.cjs → SimpleDenyList-CsRXJPwm.cjs} +2 -2
- package/dist/{SimpleDenyList-DIb4xX3j.cjs.map → SimpleDenyList-CsRXJPwm.cjs.map} +1 -1
- package/dist/Validators/LimitedSignerValidator.cjs +1 -1
- package/dist/Validators/LimitedSignerValidator.js +2 -2
- package/dist/Validators/SignerValidator.cjs +1 -1
- package/dist/Validators/SignerValidator.js +2 -2
- package/dist/Validators/Validator.cjs +1 -1
- package/dist/Validators/Validator.js +1 -1
- package/dist/{deployments-COxshLqt.js → deployments-D0fs26TV.js} +16 -16
- package/dist/{deployments-COxshLqt.js.map → deployments-D0fs26TV.js.map} +1 -1
- package/dist/{deployments-BGpr4ppG.cjs → deployments-DoIOqxco.cjs} +2 -2
- package/dist/deployments-DoIOqxco.cjs.map +1 -0
- package/dist/deployments.json +3 -3
- package/dist/errors.cjs +1 -1
- package/dist/errors.cjs.map +1 -1
- package/dist/errors.d.ts +40 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +42 -16
- package/dist/errors.js.map +1 -1
- package/dist/{generated-ClbO_ULI.js → generated-Cyvr_Tjx.js} +446 -438
- package/dist/generated-Cyvr_Tjx.js.map +1 -0
- package/dist/{generated-CRD9XfOT.cjs → generated-DtYPHhtX.cjs} +2 -2
- package/dist/generated-DtYPHhtX.cjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +160 -155
- package/package.json +1 -1
- package/src/Actions/EventAction.test.ts +285 -3
- package/src/Actions/EventAction.ts +402 -124
- package/src/BoostCore.test.ts +51 -3
- package/src/BoostCore.ts +73 -0
- package/src/Incentives/ERC20PeggedIncentive.ts +33 -4
- package/src/errors.ts +50 -0
- package/dist/Incentive-BpZePiOD.cjs +0 -2
- package/dist/Incentive-BpZePiOD.cjs.map +0 -1
- package/dist/Incentive-DBZHQ9Np.js.map +0 -1
- package/dist/deployments-BGpr4ppG.cjs.map +0 -1
- package/dist/generated-CRD9XfOT.cjs.map +0 -1
- package/dist/generated-ClbO_ULI.js.map +0 -1
package/README.md
CHANGED
|
@@ -5,3 +5,13 @@ Typescript devkit for interacting with the Boost V2 Protocol
|
|
|
5
5
|
[](boost-protocol.vercel.app)
|
|
6
6
|
|
|
7
7
|
## Visit [docs.boost.xyz](https://docs.boost.xyz) for docs, guides, API and more!
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
## Event Actions
|
|
11
|
+
|
|
12
|
+
### Tuple Handling
|
|
13
|
+
When a field is declared as TUPLE in the `PrimitiveType` of an `EventAction`, we unpack its bit-packed fieldIndex to drill down through each nested level of the tuple. Each sub-index occupies 6 bits (values 0–63), and a sub-index of 63 is treated as a terminator—signaling the end of further drilling. Once we locate the leaf in the nested structure, the code infers the final (non-tuple) PrimitiveType by reading the ABI definition (address, uint256, string, etc.) at that leaf node.
|
|
14
|
+
|
|
15
|
+
1. We can store up to 5 sub-indexes (each 6 bits) in one fieldIndex.
|
|
16
|
+
1. As we parse a TUPLE, we read those sub-indexes one by one, traversing each nested tuple parameter in the ABI.
|
|
17
|
+
1. At the final, non-tuple component, we derive the actual PrimitiveType (e.g., ADDRESS, UINT, BYTES, or STRING) by inspecting that component’s type in the ABI definition.
|
package/dist/Actions/Action.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../generated-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../generated-DtYPHhtX.cjs"),s=require("../componentInterfaces-D7r9xJmt.cjs"),f=require("@wagmi/core"),u=require("../errors.cjs"),c=require("./EventAction.cjs"),e={[s.AEventAction]:c.EventAction};async function A(n,t,i){const o=await f.readContract(n.config,{abi:a.le,functionName:"getComponentInterface",address:t,...i}),r=e[o];if(!r)throw new u.InvalidComponentInterfaceError(Object.keys(e),o);return new r(n,t)}exports.EventAction=c.EventAction;exports.ActionByComponentInterface=e;exports.actionFromAddress=A;
|
|
2
2
|
//# sourceMappingURL=Action.cjs.map
|
package/dist/Actions/Action.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as i } from "../generated-
|
|
1
|
+
import { a as i } from "../generated-Cyvr_Tjx.js";
|
|
2
2
|
import { A as a } from "../componentInterfaces-PR3ijhgZ.js";
|
|
3
3
|
import { readContract as m } from "@wagmi/core";
|
|
4
4
|
import { InvalidComponentInterfaceError as f } from "../errors.js";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const C=require("../generated-CRD9XfOT.cjs"),S=require("@wagmi/core"),c=require("viem"),Y=require("../deployments-BGpr4ppG.cjs"),K=require("../Deployable/DeployableTarget.cjs"),l=require("../errors.cjs"),p=require("../utils.cjs"),V="0x60a0604052348015600e575f80fd5b50601b601f60201b60201c565b60b0565b5f602c608760201b60201c565b90508054600181161560455763f92ee8a95f526004601cfd5b8160c01c808260011c146082578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b6080516123db6100c85f395f61034a01526123db5ff3fe608060405260043610610090575f3560e01c80639bc1cf81116100585780639bc1cf811461017d578063c26624e8146101a7578063d7768c47146101e3578063dbdf21101461021f578063ddd6ab081461024957610090565b806301ffc9a71461009457806309c5eabe146100d057806328d6183b14610101578063393df8cb1461012b578063439fab9114610155575b5f80fd5b34801561009f575f80fd5b506100ba60048036038101906100b59190611385565b610273565b6040516100c791906113ca565b60405180910390f35b6100ea60048036038101906100e59190611444565b6102ec565b6040516100f89291906114ff565b60405180910390f35b34801561010c575f80fd5b50610115610321565b604051610122919061153c565b60405180910390f35b348015610136575f80fd5b5061013f610348565b60405161014c91906115cf565b60405180910390f35b348015610160575f80fd5b5061017b60048036038101906101769190611444565b61036c565b005b348015610188575f80fd5b506101916103f9565b60405161019e919061193b565b60405180910390f35b3480156101b2575f80fd5b506101cd60048036038101906101c89190611985565b610648565b6040516101da9190611a36565b60405180910390f35b3480156101ee575f80fd5b5061020960048036038101906102049190611444565b610875565b6040516102169190611a56565b60405180910390f35b34801561022a575f80fd5b506102336108a9565b6040516102409190611adc565b60405180910390f35b348015610254575f80fd5b5061025d610981565b60405161026a9190611b04565b60405180910390f35b5f7f7687b0ed000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806102e557506102e48261098d565b5b9050919050565b5f60606040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f7f7687b0ed00000000000000000000000000000000000000000000000000000000905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f610375610a06565b905080546003825580156103a75760018160011c14303b1061039e5763f92ee8a95f526004601cfd5b818160ff1b1b91505b506103bf83838101906103ba9190612002565b610a2f565b80156103f4576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b60606004805480602002602001604051908101604052809291908181526020015f905b8282101561063f578382905f5260205f2090600502016040518060c00160405290815f8201548152602001600182015f9054906101000a900460ff16600181111561046a57610469611629565b5b600181111561047c5761047b611629565b5b81526020016001820160019054906101000a900460ff1660ff1660ff1681526020016001820160029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160028201548152602001600382016040518060800160405290815f82015f9054906101000a900460ff1660078111156105305761052f611629565b5b600781111561054257610541611629565b5b81526020015f820160019054906101000a900460ff16600381111561056a57610569611629565b5b600381111561057c5761057b611629565b5b81526020015f820160029054906101000a900460ff1660ff1660ff1681526020016001820180546105ac90612076565b80601f01602080910402602001604051908101604052809291908181526020018280546105d890612076565b80156106235780601f106105fa57610100808354040283529160200191610623565b820191905f5260205f20905b81548152906001019060200180831161060657829003601f168201915b505050505081525050815250508152602001906001019061041c565b50505050905090565b610650611216565b60048281548110610664576106636120a6565b5b905f5260205f2090600502016040518060c00160405290815f8201548152602001600182015f9054906101000a900460ff1660018111156106a8576106a7611629565b5b60018111156106ba576106b9611629565b5b81526020016001820160019054906101000a900460ff1660ff1660ff1681526020016001820160029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160028201548152602001600382016040518060800160405290815f82015f9054906101000a900460ff16600781111561076e5761076d611629565b5b60078111156107805761077f611629565b5b81526020015f820160019054906101000a900460ff1660038111156107a8576107a7611629565b5b60038111156107ba576107b9611629565b5b81526020015f820160029054906101000a900460ff1660ff1660ff1681526020016001820180546107ea90612076565b80601f016020809104026020016040519081016040528092919081815260200182805461081690612076565b80156108615780601f1061083857610100808354040283529160200191610861565b820191905f5260205f20905b81548152906001019060200180831161084457829003601f168201915b505050505081525050815250509050919050565b60606040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108b161127b565b5f6040518060a00160405290815f82015f9054906101000a900460ff1660018111156108e0576108df611629565b5b60018111156108f2576108f1611629565b5b815260200160018201548152602001600282015f9054906101000a900460ff1660ff1660ff1681526020016002820160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382015481525050905090565b5f600480549050905090565b5f7fe6715795000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806109ff57506109fe82611110565b5b9050919050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b610a37611189565b805f01515f80820151815f015f6101000a81548160ff02191690836001811115610a6457610a63611629565b5b0217905550602082015181600101556040820151816002015f6101000a81548160ff021916908360ff16021790555060608201518160020160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506080820151816003015590505060048160200151908060018154018082558091505060019003905f5260205f2090600502015f909190919091505f820151815f01556020820151816001015f6101000a81548160ff02191690836001811115610b4657610b45611629565b5b021790555060408201518160010160016101000a81548160ff021916908360ff16021790555060608201518160010160026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506080820151816002015560a0820151816003015f820151815f015f6101000a81548160ff02191690836007811115610bee57610bed611629565b5b02179055506020820151815f0160016101000a81548160ff02191690836003811115610c1d57610c1c611629565b5b02179055506040820151815f0160026101000a81548160ff021916908360ff1602179055506060820151816001019081610c579190612267565b505050505060048160400151908060018154018082558091505060019003905f5260205f2090600502015f909190919091505f820151815f01556020820151816001015f6101000a81548160ff02191690836001811115610cbb57610cba611629565b5b021790555060408201518160010160016101000a81548160ff021916908360ff16021790555060608201518160010160026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506080820151816002015560a0820151816003015f820151815f015f6101000a81548160ff02191690836007811115610d6357610d62611629565b5b02179055506020820151815f0160016101000a81548160ff02191690836003811115610d9257610d91611629565b5b02179055506040820151815f0160026101000a81548160ff021916908360ff1602179055506060820151816001019081610dcc9190612267565b505050505060048160600151908060018154018082558091505060019003905f5260205f2090600502015f909190919091505f820151815f01556020820151816001015f6101000a81548160ff02191690836001811115610e3057610e2f611629565b5b021790555060408201518160010160016101000a81548160ff021916908360ff16021790555060608201518160010160026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506080820151816002015560a0820151816003015f820151815f015f6101000a81548160ff02191690836007811115610ed857610ed7611629565b5b02179055506020820151815f0160016101000a81548160ff02191690836003811115610f0757610f06611629565b5b02179055506040820151815f0160026101000a81548160ff021916908360ff1602179055506060820151816001019081610f419190612267565b505050505060048160800151908060018154018082558091505060019003905f5260205f2090600502015f909190919091505f820151815f01556020820151816001015f6101000a81548160ff02191690836001811115610fa557610fa4611629565b5b021790555060408201518160010160016101000a81548160ff021916908360ff16021790555060608201518160010160026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506080820151816002015560a0820151816003015f820151815f015f6101000a81548160ff0219169083600781111561104d5761104c611629565b5b02179055506020820151815f0160016101000a81548160ff0219169083600381111561107c5761107b611629565b5b02179055506040820151815f0160026101000a81548160ff021916908360ff16021790555060608201518160010190816110b69190612267565b50505050507ff2cd382b92e0609edafee04c969decf0c2d04013cd112d0f0818268b11e84c69815f01518260200151836040015184606001518560800151604051611105959493929190612336565b60405180910390a150565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806111825750611181826111ad565b5b9050919050565b5f611192610a06565b905080546001166111aa5763d7e6bcf85f526004601cfd5b50565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6040518060c001604052805f80191681526020015f600181111561123d5761123c611629565b5b81526020015f60ff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81526020016112756112d3565b81525090565b6040518060a001604052805f600181111561129957611298611629565b5b81526020015f80191681526020015f60ff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81525090565b60405180608001604052805f60078111156112f1576112f0611629565b5b81526020015f600381111561130957611308611629565b5b81526020015f60ff168152602001606081525090565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61136481611330565b811461136e575f80fd5b50565b5f8135905061137f8161135b565b92915050565b5f6020828403121561139a57611399611328565b5b5f6113a784828501611371565b91505092915050565b5f8115159050919050565b6113c4816113b0565b82525050565b5f6020820190506113dd5f8301846113bb565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112611404576114036113e3565b5b8235905067ffffffffffffffff811115611421576114206113e7565b5b60208301915083600182028301111561143d5761143c6113eb565b5b9250929050565b5f806020838503121561145a57611459611328565b5b5f83013567ffffffffffffffff8111156114775761147661132c565b5b611483858286016113ef565b92509250509250929050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6114d18261148f565b6114db8185611499565b93506114eb8185602086016114a9565b6114f4816114b7565b840191505092915050565b5f6040820190506115125f8301856113bb565b818103602083015261152481846114c7565b90509392505050565b61153681611330565b82525050565b5f60208201905061154f5f83018461152d565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f61159761159261158d84611555565b611574565b611555565b9050919050565b5f6115a88261157d565b9050919050565b5f6115b98261159e565b9050919050565b6115c9816115af565b82525050565b5f6020820190506115e25f8301846115c0565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f819050919050565b61162381611611565b82525050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b6002811061166757611666611629565b5b50565b5f81905061167782611656565b919050565b5f6116868261166a565b9050919050565b6116968161167c565b82525050565b5f60ff82169050919050565b6116b18161169c565b82525050565b5f6116c182611555565b9050919050565b6116d1816116b7565b82525050565b5f819050919050565b6116e9816116d7565b82525050565b60088110611700576116ff611629565b5b50565b5f819050611710826116ef565b919050565b5f61171f82611703565b9050919050565b61172f81611715565b82525050565b6004811061174657611745611629565b5b50565b5f81905061175682611735565b919050565b5f61176582611749565b9050919050565b6117758161175b565b82525050565b5f82825260208201905092915050565b5f6117958261148f565b61179f818561177b565b93506117af8185602086016114a9565b6117b8816114b7565b840191505092915050565b5f608083015f8301516117d85f860182611726565b5060208301516117eb602086018261176c565b5060408301516117fe60408601826116a8565b5060608301518482036060860152611816828261178b565b9150508091505092915050565b5f60c083015f8301516118385f86018261161a565b50602083015161184b602086018261168d565b50604083015161185e60408601826116a8565b50606083015161187160608601826116c8565b50608083015161188460808601826116e0565b5060a083015184820360a086015261189c82826117c3565b9150508091505092915050565b5f6118b48383611823565b905092915050565b5f602082019050919050565b5f6118d2826115e8565b6118dc81856115f2565b9350836020820285016118ee85611602565b805f5b85811015611929578484038952815161190a85826118a9565b9450611915836118bc565b925060208a019950506001810190506118f1565b50829750879550505050505092915050565b5f6020820190508181035f83015261195381846118c8565b905092915050565b611964816116d7565b811461196e575f80fd5b50565b5f8135905061197f8161195b565b92915050565b5f6020828403121561199a57611999611328565b5b5f6119a784828501611971565b91505092915050565b5f60c083015f8301516119c55f86018261161a565b5060208301516119d8602086018261168d565b5060408301516119eb60408601826116a8565b5060608301516119fe60608601826116c8565b506080830151611a1160808601826116e0565b5060a083015184820360a0860152611a2982826117c3565b9150508091505092915050565b5f6020820190508181035f830152611a4e81846119b0565b905092915050565b5f6020820190508181035f830152611a6e81846114c7565b905092915050565b60a082015f820151611a8a5f85018261168d565b506020820151611a9d602085018261161a565b506040820151611ab060408501826116a8565b506060820151611ac360608501826116c8565b506080820151611ad660808501826116e0565b50505050565b5f60a082019050611aef5f830184611a76565b92915050565b611afe816116d7565b82525050565b5f602082019050611b175f830184611af5565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611b57826114b7565b810181811067ffffffffffffffff82111715611b7657611b75611b21565b5b80604052505050565b5f611b8861131f565b9050611b948282611b4e565b919050565b5f80fd5b60028110611ba9575f80fd5b50565b5f81359050611bba81611b9d565b92915050565b611bc981611611565b8114611bd3575f80fd5b50565b5f81359050611be481611bc0565b92915050565b611bf38161169c565b8114611bfd575f80fd5b50565b5f81359050611c0e81611bea565b92915050565b611c1d816116b7565b8114611c27575f80fd5b50565b5f81359050611c3881611c14565b92915050565b5f60a08284031215611c5357611c52611b1d565b5b611c5d60a0611b7f565b90505f611c6c84828501611bac565b5f830152506020611c7f84828501611bd6565b6020830152506040611c9384828501611c00565b6040830152506060611ca784828501611c2a565b6060830152506080611cbb84828501611971565b60808301525092915050565b60088110611cd3575f80fd5b50565b5f81359050611ce481611cc7565b92915050565b60048110611cf6575f80fd5b50565b5f81359050611d0781611cea565b92915050565b5f80fd5b5f67ffffffffffffffff821115611d2b57611d2a611b21565b5b611d34826114b7565b9050602081019050919050565b828183375f83830152505050565b5f611d61611d5c84611d11565b611b7f565b905082815260208101848484011115611d7d57611d7c611d0d565b5b611d88848285611d41565b509392505050565b5f82601f830112611da457611da36113e3565b5b8135611db4848260208601611d4f565b91505092915050565b5f60808284031215611dd257611dd1611b1d565b5b611ddc6080611b7f565b90505f611deb84828501611cd6565b5f830152506020611dfe84828501611cf9565b6020830152506040611e1284828501611c00565b604083015250606082013567ffffffffffffffff811115611e3657611e35611b99565b5b611e4284828501611d90565b60608301525092915050565b5f60c08284031215611e6357611e62611b1d565b5b611e6d60c0611b7f565b90505f611e7c84828501611bd6565b5f830152506020611e8f84828501611bac565b6020830152506040611ea384828501611c00565b6040830152506060611eb784828501611c2a565b6060830152506080611ecb84828501611971565b60808301525060a082013567ffffffffffffffff811115611eef57611eee611b99565b5b611efb84828501611dbd565b60a08301525092915050565b5f6101208284031215611f1d57611f1c611b1d565b5b611f2760a0611b7f565b90505f611f3684828501611c3e565b5f8301525060a082013567ffffffffffffffff811115611f5957611f58611b99565b5b611f6584828501611e4e565b60208301525060c082013567ffffffffffffffff811115611f8957611f88611b99565b5b611f9584828501611e4e565b60408301525060e082013567ffffffffffffffff811115611fb957611fb8611b99565b5b611fc584828501611e4e565b60608301525061010082013567ffffffffffffffff811115611fea57611fe9611b99565b5b611ff684828501611e4e565b60808301525092915050565b5f6020828403121561201757612016611328565b5b5f82013567ffffffffffffffff8111156120345761203361132c565b5b61204084828501611f07565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061208d57607f821691505b6020821081036120a05761209f612049565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261212f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826120f4565b61213986836120f4565b95508019841693508086168417925050509392505050565b5f61216b612166612161846116d7565b611574565b6116d7565b9050919050565b5f819050919050565b61218483612151565b61219861219082612172565b848454612100565b825550505050565b5f90565b6121ac6121a0565b6121b781848461217b565b505050565b5b818110156121da576121cf5f826121a4565b6001810190506121bd565b5050565b601f82111561221f576121f0816120d3565b6121f9846120e5565b81016020851015612208578190505b61221c612214856120e5565b8301826121bc565b50505b505050565b5f82821c905092915050565b5f61223f5f1984600802612224565b1980831691505092915050565b5f6122578383612230565b9150826002028217905092915050565b6122708261148f565b67ffffffffffffffff81111561228957612288611b21565b5b6122938254612076565b61229e8282856121de565b5f60209050601f8311600181146122cf575f84156122bd578287015190505b6122c7858261224c565b86555061232e565b601f1984166122dd866120d3565b5f5b82811015612304578489015182556001820191506020850194506020810190506122df565b86831015612321578489015161231d601f891682612230565b8355505b6001600288020188555050505b505050505050565b5f6101208201905061234a5f830188611a76565b81810360a083015261235c81876119b0565b905081810360c083015261237081866119b0565b905081810360e083015261238481856119b0565b905081810361010083015261239981846119b0565b9050969550505050505056fea2646970667358221220c439b0e7103744e8335fa5fdedab4933ee347354f81aabdc240c3ec23e6a35fb64736f6c634300081a0033",m=Symbol.for("@ts-pattern/matcher"),W=Symbol.for("@ts-pattern/isVariadic"),R="@ts-pattern/anonymous-select-key",L=t=>!!(t&&typeof t=="object"),B=t=>t&&!!t[m],A=(t,f,e)=>{if(B(t)){const n=t[m](),{matched:b,selections:a}=n.match(f);return b&&a&&Object.keys(a).forEach(i=>e(i,a[i])),b}if(L(t)){if(!L(f))return!1;if(Array.isArray(t)){if(!Array.isArray(f))return!1;let n=[],b=[],a=[];for(const i of t.keys()){const r=t[i];B(r)&&r[W]?a.push(r):a.length?b.push(r):n.push(r)}if(a.length){if(a.length>1)throw new Error("Pattern error: Using `...P.array(...)` several times in a single pattern is not allowed.");if(f.length<n.length+b.length)return!1;const i=f.slice(0,n.length),r=b.length===0?[]:f.slice(-b.length),o=f.slice(n.length,b.length===0?1/0:-b.length);return n.every((u,I)=>A(u,i[I],e))&&b.every((u,I)=>A(u,r[I],e))&&(a.length===0||A(a[0],o,e))}return t.length===f.length&&t.every((i,r)=>A(i,f[r],e))}return Reflect.ownKeys(t).every(n=>{const b=t[n];return(n in f||B(a=b)&&a[m]().matcherType==="optional")&&A(b,f[n],e);var a})}return Object.is(f,t)},N=t=>{var f,e,n;return L(t)?B(t)?(f=(e=(n=t[m]()).getSelectionKeys)==null?void 0:e.call(n))!=null?f:[]:Array.isArray(t)?_(t,N):_(Object.values(t),N):[]},_=(t,f)=>t.reduce((e,n)=>e.concat(f(n)),[]);function h(t){return Object.assign(t,{optional:()=>X(t),and:f=>d(t,f),or:f=>J(t,f),select:f=>f===void 0?H(t):H(f,t)})}function X(t){return h({[m]:()=>({match:f=>{let e={};const n=(b,a)=>{e[b]=a};return f===void 0?(N(t).forEach(b=>n(b,void 0)),{matched:!0,selections:e}):{matched:A(t,f,n),selections:e}},getSelectionKeys:()=>N(t),matcherType:"optional"})})}function d(...t){return h({[m]:()=>({match:f=>{let e={};const n=(b,a)=>{e[b]=a};return{matched:t.every(b=>A(b,f,n)),selections:e}},getSelectionKeys:()=>_(t,N),matcherType:"and"})})}function J(...t){return h({[m]:()=>({match:f=>{let e={};const n=(b,a)=>{e[b]=a};return _(t,N).forEach(b=>n(b,void 0)),{matched:t.some(b=>A(b,f,n)),selections:e}},getSelectionKeys:()=>_(t,N),matcherType:"or"})})}function s(t){return{[m]:()=>({match:f=>({matched:!!t(f)})})}}function H(...t){const f=typeof t[0]=="string"?t[0]:void 0,e=t.length===2?t[1]:typeof t[0]=="string"?void 0:t[0];return h({[m]:()=>({match:n=>{let b={[f??R]:n};return{matched:e===void 0||A(e,n,(a,i)=>{b[a]=i}),selections:b}},getSelectionKeys:()=>[f??R].concat(e===void 0?[]:N(e))})})}function g(t){return typeof t=="number"}function w(t){return typeof t=="string"}function E(t){return typeof t=="bigint"}h(s(function(t){return!0}));const T=t=>Object.assign(h(t),{startsWith:f=>{return T(d(t,(e=f,s(n=>w(n)&&n.startsWith(e)))));var e},endsWith:f=>{return T(d(t,(e=f,s(n=>w(n)&&n.endsWith(e)))));var e},minLength:f=>T(d(t,(e=>s(n=>w(n)&&n.length>=e))(f))),length:f=>T(d(t,(e=>s(n=>w(n)&&n.length===e))(f))),maxLength:f=>T(d(t,(e=>s(n=>w(n)&&n.length<=e))(f))),includes:f=>{return T(d(t,(e=f,s(n=>w(n)&&n.includes(e)))));var e},regex:f=>{return T(d(t,(e=f,s(n=>w(n)&&!!n.match(e)))));var e}});T(s(w));const y=t=>Object.assign(h(t),{between:(f,e)=>y(d(t,((n,b)=>s(a=>g(a)&&n<=a&&b>=a))(f,e))),lt:f=>y(d(t,(e=>s(n=>g(n)&&n<e))(f))),gt:f=>y(d(t,(e=>s(n=>g(n)&&n>e))(f))),lte:f=>y(d(t,(e=>s(n=>g(n)&&n<=e))(f))),gte:f=>y(d(t,(e=>s(n=>g(n)&&n>=e))(f))),int:()=>y(d(t,s(f=>g(f)&&Number.isInteger(f)))),finite:()=>y(d(t,s(f=>g(f)&&Number.isFinite(f)))),positive:()=>y(d(t,s(f=>g(f)&&f>0))),negative:()=>y(d(t,s(f=>g(f)&&f<0)))});y(s(g));const v=t=>Object.assign(h(t),{between:(f,e)=>v(d(t,((n,b)=>s(a=>E(a)&&n<=a&&b>=a))(f,e))),lt:f=>v(d(t,(e=>s(n=>E(n)&&n<e))(f))),gt:f=>v(d(t,(e=>s(n=>E(n)&&n>e))(f))),lte:f=>v(d(t,(e=>s(n=>E(n)&&n<=e))(f))),gte:f=>v(d(t,(e=>s(n=>E(n)&&n>=e))(f))),positive:()=>v(d(t,s(f=>E(f)&&f>0))),negative:()=>v(d(t,s(f=>E(f)&&f<0)))});v(s(E));h(s(function(t){return typeof t=="boolean"}));h(s(function(t){return typeof t=="symbol"}));h(s(function(t){return t==null}));h(s(function(t){return t!=null}));class $ extends Error{constructor(f){let e;try{e=JSON.stringify(f)}catch{e=f}super(`Pattern matching error: no pattern matches value ${e}`),this.input=void 0,this.input=f}}const k={matched:!1,value:void 0};function M(t){return new P(t,k)}class P{constructor(f,e){this.input=void 0,this.state=void 0,this.input=f,this.state=e}with(...f){if(this.state.matched)return this;const e=f[f.length-1],n=[f[0]];let b;f.length===3&&typeof f[1]=="function"?b=f[1]:f.length>2&&n.push(...f.slice(1,f.length-1));let a=!1,i={};const r=(u,I)=>{a=!0,i[u]=I},o=!n.some(u=>A(u,this.input,r))||b&&!b(this.input)?k:{matched:!0,value:e(a?R in i?i[R]:i:this.input,this.input)};return new P(this.input,o)}when(f,e){if(this.state.matched)return this;const n=!!f(this.input);return new P(this.input,n?{matched:!0,value:e(this.input,this.input)}:k)}otherwise(f){return this.state.matched?this.state.value:f(this.input)}exhaustive(){if(this.state.matched)return this.state.value;throw new $(this.input)}run(){return this.exhaustive()}returnType(){return this}}var q=(t=>(t[t.EQUAL=0]="EQUAL",t[t.NOT_EQUAL=1]="NOT_EQUAL",t[t.GREATER_THAN=2]="GREATER_THAN",t[t.LESS_THAN=3]="LESS_THAN",t[t.CONTAINS=4]="CONTAINS",t[t.REGEX=5]="REGEX",t[t.GREATER_THAN_OR_EQUAL=6]="GREATER_THAN_OR_EQUAL",t[t.LESS_THAN_OR_EQUAL=7]="LESS_THAN_OR_EQUAL",t))(q||{}),G=(t=>(t[t.UINT=0]="UINT",t[t.ADDRESS=1]="ADDRESS",t[t.BYTES=2]="BYTES",t[t.STRING=3]="STRING",t))(G||{}),Q=(t=>(t[t.EVENT=0]="EVENT",t[t.FUNC=1]="FUNC",t))(Q||{});function j(t){return Array.isArray(t.actionSteps)}const D=class D extends K.DeployableTarget{constructor(){super(...arguments),this.abi=C.ae}async getActionStep(f,e){return(await this.getActionSteps(e)).at(f)}async getActionSteps(f){const e=await C.m6(this._config,{address:this.assertValidAddress(),...this.optionallyAttachAccount(),...f});return F(e.map(O))}async getActionStepsCount(f){return(await this.getActionSteps(f)).length}async getActionClaimant(f){const e=await C.d6(this._config,{address:this.assertValidAddress(),...this.optionallyAttachAccount(),...f});return O(e)}async execute(f,e){return await this.awaitResult(this.executeRaw(f,e))}async executeRaw(f,e){const{request:n,result:b}=await C.h6(this._config,{address:this.assertValidAddress(),...this.optionallyAttachAccount(),...e,args:[f]});return{hash:await C.A6(this._config,n),result:b}}async deriveActionClaimantFromTransaction(f,e){if(f.fieldIndex===p.CheatCodes.TX_SENDER_CLAIMANT){if("hash"in e){const b=await S.getTransaction(this._config,{...e,chainId:f.chainid});return e.notBeforeBlockNumber&&b.blockNumber<e.notBeforeBlockNumber?void 0:b.from}if("logs"in e){for(let b of e.logs)if(b.transactionHash){const a=await S.getTransaction(this._config,{...e,hash:b.transactionHash,chainId:f.chainid});return e.notBeforeBlockNumber&&a.blockNumber<e.notBeforeBlockNumber?void 0:a.from}}return}const n=f.signature;if(f.signatureType===0){let b;if(e.abiItem?b=e.abiItem:b=e.knownSignatures[n],!b)throw new l.ValidationAbiMissingError(n);let a;if("logs"in e){for(let o of e.logs){if(!c.isAddressEqual(o.address,f.targetContract))continue;let u=this.validateClaimantAgainstArgs(f,o);u&&(a=u)}return a}const i=await S.getTransactionReceipt(this._config,{...e,chainId:f.chainid});if(e.notBeforeBlockNumber&&i.blockNumber<e.notBeforeBlockNumber)return;const r=i.logs.filter(o=>o.topics[0]===c.toEventSelector(b)).map(o=>{const{eventName:u,args:I}=c.decodeEventLog({abi:[b],data:o.data,topics:o.topics});return{...o,eventName:u,args:I}});for(let o of r){if(!c.isAddressEqual(o.address,f.targetContract))continue;let u=this.validateClaimantAgainstArgs(f,o);u&&(a=u)}return a}if(f.signatureType===1&&"hash"in e){const b=await S.getTransaction(this._config,{...e,chainId:f.chainid});if(e.notBeforeBlockNumber&&b.blockNumber<e.notBeforeBlockNumber||!c.isAddressEqual(b.to,f.targetContract))return;let a;if(e.abiItem?a=e.abiItem:a=e.knownSignatures[n],!a)throw new l.ValidationAbiMissingError(f.signature);let i;try{i=c.decodeFunctionData({abi:[a],data:b.input})}catch(r){throw new l.FunctionDataDecodeError([a],r)}return this.validateClaimantAgainstArgs(f,i)}}validateClaimantAgainstArgs(f,e){if(!e||!Array.isArray(e==null?void 0:e.args)||(e==null?void 0:e.args.length)<=f.fieldIndex)return;const n=e.args.at(f.fieldIndex);if(c.isAddress(n))return n}async validateActionSteps(f){const e=await this.getActionSteps();for(const n of e)if(!await this.isActionStepValid(n,f))return!1;return!0}async isActionStepValid(f,e){if(f.signatureType===0){const n=f.signature;let b;if(e.abiItem?b=e.abiItem:b=e.knownSignatures[n],!b)throw new l.ValidationAbiMissingError(n);if(this.isArraylikeIndexed(f,b))throw new l.UnparseableAbiParamError(f.actionParameter.fieldIndex,b);if("logs"in e)return this.isActionEventValid(f,e.logs);const a=await S.getTransactionReceipt(this._config,{...e,chainId:f.chainid});if(e.notBeforeBlockNumber&&a.blockNumber<e.notBeforeBlockNumber)return!1;if(f.signature===p.TRANSFER_SIGNATURE)return this.decodeTransferLogs(a,f);const i=a.logs.filter(r=>r.topics[0]===c.toEventSelector(b)).map(r=>{const{eventName:o,args:u}=c.decodeEventLog({abi:[b],data:r.data,topics:r.topics});return{...r,eventName:o,args:u}});return this.isActionEventValid(f,i)}if(f.signatureType===1&&"hash"in e){const n=await S.getTransaction(this._config,{...e,chainId:f.chainid});return e.notBeforeBlockNumber&&n.blockNumber<e.notBeforeBlockNumber?!1:this.isActionFunctionValid(f,n,e)}return!1}isActionEventValid(f,e){const n=f.actionParameter;if(!e.length)return!1;for(let b of e)if(this.validateLogAgainstCriteria(n,b))return!0;return!1}async decodeTransferLogs(f,e){const n=f.logs.filter(b=>b.topics[0]===p.TRANSFER_SIGNATURE);try{const b=n.map(a=>{const{eventName:i,args:r}=c.decodeEventLog({abi:[{name:"Transfer",type:"event",inputs:[{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"uint256",indexed:!0}]}],data:a.data,topics:a.topics});return{...a,eventName:i,args:r}});return this.isActionEventValid(e,b)}catch{try{const b=n.map(a=>{const{eventName:i,args:r}=c.decodeEventLog({abi:[{name:"Transfer",type:"event",inputs:[{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"uint256"}]}],data:a.data,topics:a.topics});return{...a,eventName:i,args:r}});return this.isActionEventValid(e,b)}catch{throw new l.DecodedArgsError("Failed to decode transfer logs")}}}isActionFunctionValid(f,e,n){const b=f.actionParameter;let a=f.signature,i;if(n.abiItem?i=n==null?void 0:n.abiItem:i=n.knownSignatures[a],!i)throw new l.ValidationAbiMissingError(a);let r;try{r=c.decodeFunctionData({abi:[i],data:e.input})}catch(u){throw new l.FunctionDataDecodeError([i],u)}const o=r.args;return!(!o||!r||!this.validateFunctionAgainstCriteria(b,o))}validateFieldAgainstCriteria(f,e,n){if(f.filterType===0&&f.fieldType===2&&f.fieldIndex===p.CheatCodes.ANY_ACTION_PARAM)return!0;switch(f.filterType){case 0:return M(f.fieldType).with(1,()=>c.isAddressEqual(f.filterData,e)).with(0,()=>BigInt(e)===BigInt(f.filterData)).with(3,()=>e===c.fromHex(f.filterData,"string")).otherwise(()=>e===f.filterData);case 1:return M(f.fieldType).with(1,()=>!c.isAddressEqual(f.filterData,e)).with(0,()=>BigInt(e)!==BigInt(f.filterData)).with(3,()=>e!==c.fromHex(f.filterData,"string")).otherwise(()=>e!==f.filterData);case 2:if(f.fieldType===0)return BigInt(e)>BigInt(f.filterData);throw new l.InvalidNumericalCriteriaError({...n,criteria:f,fieldValue:e});case 6:if(f.fieldType===0)return BigInt(e)>=BigInt(f.filterData);throw new l.InvalidNumericalCriteriaError({...n,criteria:f,fieldValue:e});case 3:if(f.fieldType===0)return BigInt(e)<BigInt(f.filterData);throw new l.InvalidNumericalCriteriaError({...n,criteria:f,fieldValue:e});case 7:if(f.fieldType===0)return BigInt(e)<=BigInt(f.filterData);throw new l.InvalidNumericalCriteriaError({...n,criteria:f,fieldValue:e});case 4:if(f.fieldType===2||f.fieldType===3){let b;return f.fieldType===3?b=c.fromHex(f.filterData,"string"):b=f.filterData.slice(2),e.includes(b)}throw new l.FieldValueNotComparableError({...n,criteria:f,fieldValue:e});case 5:if(typeof e!="string")throw new l.FieldValueNotComparableError({...n,criteria:f,fieldValue:e});if(f.fieldType===3){const b=c.fromHex(f.filterData,"string");return new RegExp(b).test(e)}default:throw new l.UnrecognizedFilterTypeError({...n,criteria:f,fieldValue:e})}}validateLogAgainstCriteria(f,e){if(!Array.isArray(e.args)||e.args.length<=f.fieldIndex&&f.fieldIndex!==p.CheatCodes.ANY_ACTION_PARAM)throw new l.DecodedArgsMalformedError({log:e,criteria:f,fieldValue:void 0});const n=f.fieldIndex===p.CheatCodes.ANY_ACTION_PARAM?c.zeroHash:e.args.at(f.fieldIndex);if(n===void 0)throw new l.FieldValueUndefinedError({log:e,criteria:f,fieldValue:n});return this.validateFieldAgainstCriteria(f,n,{log:e})}validateFunctionAgainstCriteria(f,e){const n=f.fieldIndex===p.CheatCodes.ANY_ACTION_PARAM?c.zeroHash:e[f.fieldIndex];if(n===void 0)throw new l.FieldValueUndefinedError({criteria:f,fieldValue:n});return this.validateFieldAgainstCriteria(f,n,{decodedArgs:e})}buildParameters(f,e){const[n,b]=this.validateDeploymentConfig(f,e);let a;if(j(n)){let i=n.actionSteps.filter(o=>!!o);if(i.length===0)throw new l.NoEventActionStepsProvidedError;if(i.length>4)throw new l.TooManyEventActionStepsProvidedError;let r=Array.from({length:4},(o,u)=>i.at(u)||i.at(-1));a={actionClaimant:n.actionClaimant,actionStepOne:r[0],actionStepTwo:r[1],actionStepThree:r[2],actionStepFour:r[3]}}else a=n;return{abi:C.ae,bytecode:V,args:[z(a)],...this.optionallyAttachAccount(b.account)}}isArraylikeIndexed(f,e){var n;return!!((f.actionParameter.fieldType===3||f.actionParameter.fieldType===2)&&((n=e.inputs[f.actionParameter.fieldIndex])!=null&&n.indexed))}};D.bases={31337:void 0,...Y.EventAction},D.registryType=p.RegistryType.ACTION;let U=D;function F(t){const f=[],e={};for(let n of t){const b=JSON.stringify(n);e[b]||(f.push(n),e[b]=!0)}return f}function x(t){return{...t,chainid:BigInt(t.chainid)}}function O(t){if(t.chainid>BigInt(Number.MAX_SAFE_INTEGER))throw new Error("Chain ID exceeds max safe integer");return{...t,chainid:Number(t.chainid)}}function z({actionClaimant:t,actionStepOne:f,actionStepTwo:e,actionStepThree:n,actionStepFour:b}){return c.encodeAbiParameters([{type:"tuple",name:"initPayload",components:[{type:"tuple",name:"actionClaimant",components:[{type:"uint8",name:"signatureType"},{type:"bytes32",name:"signature"},{type:"uint8",name:"fieldIndex"},{type:"address",name:"targetContract"},{type:"uint256",name:"chainid"}]},{type:"tuple",name:"actionStepOne",components:[{type:"bytes32",name:"signature"},{type:"uint8",name:"signatureType"},{type:"uint8",name:"actionType"},{type:"address",name:"targetContract"},{type:"uint256",name:"chainid"},{type:"tuple",name:"actionParameter",components:[{type:"uint8",name:"filterType"},{type:"uint8",name:"fieldType"},{type:"uint8",name:"fieldIndex"},{type:"bytes",name:"filterData"}]}]},{type:"tuple",name:"actionStepTwo",components:[{type:"bytes32",name:"signature"},{type:"uint8",name:"signatureType"},{type:"uint8",name:"actionType"},{type:"address",name:"targetContract"},{type:"uint256",name:"chainid"},{type:"tuple",name:"actionParameter",components:[{type:"uint8",name:"filterType"},{type:"uint8",name:"fieldType"},{type:"uint8",name:"fieldIndex"},{type:"bytes",name:"filterData"}]}]},{type:"tuple",name:"actionStepThree",components:[{type:"bytes32",name:"signature"},{type:"uint8",name:"signatureType"},{type:"uint8",name:"actionType"},{type:"address",name:"targetContract"},{type:"uint256",name:"chainid"},{type:"tuple",name:"actionParameter",components:[{type:"uint8",name:"filterType"},{type:"uint8",name:"fieldType"},{type:"uint8",name:"fieldIndex"},{type:"bytes",name:"filterData"}]}]},{type:"tuple",name:"actionStepFour",components:[{type:"bytes32",name:"signature"},{type:"uint8",name:"signatureType"},{type:"uint8",name:"actionType"},{type:"address",name:"targetContract"},{type:"uint256",name:"chainid"},{type:"tuple",name:"actionParameter",components:[{type:"uint8",name:"filterType"},{type:"uint8",name:"fieldType"},{type:"uint8",name:"fieldIndex"},{type:"bytes",name:"filterData"}]}]}]}],[{actionClaimant:x(t),actionStepOne:{...x(f),actionType:f.actionType||0},actionStepTwo:{...x(e),actionType:e.actionType||0},actionStepThree:{...x(n),actionType:n.actionType||0},actionStepFour:{...x(b),actionType:b.actionType||0}}])}function Z(){return{filterType:0,fieldType:2,fieldIndex:p.CheatCodes.ANY_ACTION_PARAM,filterData:c.zeroHash}}function f0(t){return{signatureType:0,signature:c.zeroHash,fieldIndex:p.CheatCodes.TX_SENDER_CLAIMANT,targetContract:c.zeroAddress,chainid:t}}exports.EventAction=U;exports.FilterType=q;exports.PrimitiveType=G;exports.SignatureType=Q;exports.anyActionParameter=Z;exports.isEventActionPayloadSimple=j;exports.prepareEventActionPayload=z;exports.transactionSenderClaimant=f0;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const N=require("../generated-DtYPHhtX.cjs"),S=require("@wagmi/core"),d=require("viem"),Y=require("../deployments-DoIOqxco.cjs"),$=require("../Deployable/DeployableTarget.cjs"),c=require("../errors.cjs"),v=require("../utils.cjs"),J="0x60a0604052348015600e575f80fd5b50601b601f60201b60201c565b60b0565b5f602c608760201b60201c565b90508054600181161560455763f92ee8a95f526004601cfd5b8160c01c808260011c146082578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b6080516124506100c85f395f61034a01526124505ff3fe608060405260043610610090575f3560e01c80639bc1cf81116100585780639bc1cf811461017d578063c26624e8146101a7578063d7768c47146101e3578063dbdf21101461021f578063ddd6ab081461024957610090565b806301ffc9a71461009457806309c5eabe146100d057806328d6183b14610101578063393df8cb1461012b578063439fab9114610155575b5f80fd5b34801561009f575f80fd5b506100ba60048036038101906100b591906113b2565b610273565b6040516100c791906113f7565b60405180910390f35b6100ea60048036038101906100e59190611471565b6102ec565b6040516100f892919061152c565b60405180910390f35b34801561010c575f80fd5b50610115610321565b6040516101229190611569565b60405180910390f35b348015610136575f80fd5b5061013f610348565b60405161014c91906115fc565b60405180910390f35b348015610160575f80fd5b5061017b60048036038101906101769190611471565b61036c565b005b348015610188575f80fd5b506101916103f9565b60405161019e9190611986565b60405180910390f35b3480156101b2575f80fd5b506101cd60048036038101906101c891906119d0565b610651565b6040516101da9190611a81565b60405180910390f35b3480156101ee575f80fd5b5061020960048036038101906102049190611471565b610887565b6040516102169190611aa1565b60405180910390f35b34801561022a575f80fd5b506102336108bb565b6040516102409190611b27565b60405180910390f35b348015610254575f80fd5b5061025d610993565b60405161026a9190611b4f565b60405180910390f35b5f7f7687b0ed000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806102e557506102e48261099f565b5b9050919050565b5f60606040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f7f7687b0ed00000000000000000000000000000000000000000000000000000000905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f610375610a18565b905080546003825580156103a75760018160011c14303b1061039e5763f92ee8a95f526004601cfd5b818160ff1b1b91505b506103bf83838101906103ba9190612077565b610a41565b80156103f4576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b60606004805480602002602001604051908101604052809291908181526020015f905b82821015610648578382905f5260205f2090600502016040518060c00160405290815f8201548152602001600182015f9054906101000a900460ff16600181111561046a57610469611656565b5b600181111561047c5761047b611656565b5b81526020016001820160019054906101000a900460ff1660ff1660ff1681526020016001820160029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160028201548152602001600382016040518060800160405290815f82015f9054906101000a900460ff1660078111156105305761052f611656565b5b600781111561054257610541611656565b5b81526020015f820160019054906101000a900460ff16600481111561056a57610569611656565b5b600481111561057c5761057b611656565b5b81526020015f820160029054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016001820180546105b5906120eb565b80601f01602080910402602001604051908101604052809291908181526020018280546105e1906120eb565b801561062c5780601f106106035761010080835404028352916020019161062c565b820191905f5260205f20905b81548152906001019060200180831161060f57829003601f168201915b505050505081525050815250508152602001906001019061041c565b50505050905090565b610659611240565b6004828154811061066d5761066c61211b565b5b905f5260205f2090600502016040518060c00160405290815f8201548152602001600182015f9054906101000a900460ff1660018111156106b1576106b0611656565b5b60018111156106c3576106c2611656565b5b81526020016001820160019054906101000a900460ff1660ff1660ff1681526020016001820160029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160028201548152602001600382016040518060800160405290815f82015f9054906101000a900460ff16600781111561077757610776611656565b5b600781111561078957610788611656565b5b81526020015f820160019054906101000a900460ff1660048111156107b1576107b0611656565b5b60048111156107c3576107c2611656565b5b81526020015f820160029054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016001820180546107fc906120eb565b80601f0160208091040260200160405190810160405280929190818152602001828054610828906120eb565b80156108735780601f1061084a57610100808354040283529160200191610873565b820191905f5260205f20905b81548152906001019060200180831161085657829003601f168201915b505050505081525050815250509050919050565b60606040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108c36112a5565b5f6040518060a00160405290815f82015f9054906101000a900460ff1660018111156108f2576108f1611656565b5b600181111561090457610903611656565b5b815260200160018201548152602001600282015f9054906101000a900460ff1660ff1660ff1681526020016002820160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382015481525050905090565b5f600480549050905090565b5f7fe6715795000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610a115750610a108261113a565b5b9050919050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b610a496111b3565b805f01515f80820151815f015f6101000a81548160ff02191690836001811115610a7657610a75611656565b5b0217905550602082015181600101556040820151816002015f6101000a81548160ff021916908360ff16021790555060608201518160020160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506080820151816003015590505060048160200151908060018154018082558091505060019003905f5260205f2090600502015f909190919091505f820151815f01556020820151816001015f6101000a81548160ff02191690836001811115610b5857610b57611656565b5b021790555060408201518160010160016101000a81548160ff021916908360ff16021790555060608201518160010160026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506080820151816002015560a0820151816003015f820151815f015f6101000a81548160ff02191690836007811115610c0057610bff611656565b5b02179055506020820151815f0160016101000a81548160ff02191690836004811115610c2f57610c2e611656565b5b02179055506040820151815f0160026101000a81548163ffffffff021916908363ffffffff1602179055506060820151816001019081610c6f91906122dc565b505050505060048160400151908060018154018082558091505060019003905f5260205f2090600502015f909190919091505f820151815f01556020820151816001015f6101000a81548160ff02191690836001811115610cd357610cd2611656565b5b021790555060408201518160010160016101000a81548160ff021916908360ff16021790555060608201518160010160026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506080820151816002015560a0820151816003015f820151815f015f6101000a81548160ff02191690836007811115610d7b57610d7a611656565b5b02179055506020820151815f0160016101000a81548160ff02191690836004811115610daa57610da9611656565b5b02179055506040820151815f0160026101000a81548163ffffffff021916908363ffffffff1602179055506060820151816001019081610dea91906122dc565b505050505060048160600151908060018154018082558091505060019003905f5260205f2090600502015f909190919091505f820151815f01556020820151816001015f6101000a81548160ff02191690836001811115610e4e57610e4d611656565b5b021790555060408201518160010160016101000a81548160ff021916908360ff16021790555060608201518160010160026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506080820151816002015560a0820151816003015f820151815f015f6101000a81548160ff02191690836007811115610ef657610ef5611656565b5b02179055506020820151815f0160016101000a81548160ff02191690836004811115610f2557610f24611656565b5b02179055506040820151815f0160026101000a81548163ffffffff021916908363ffffffff1602179055506060820151816001019081610f6591906122dc565b505050505060048160800151908060018154018082558091505060019003905f5260205f2090600502015f909190919091505f820151815f01556020820151816001015f6101000a81548160ff02191690836001811115610fc957610fc8611656565b5b021790555060408201518160010160016101000a81548160ff021916908360ff16021790555060608201518160010160026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506080820151816002015560a0820151816003015f820151815f015f6101000a81548160ff0219169083600781111561107157611070611656565b5b02179055506020820151815f0160016101000a81548160ff021916908360048111156110a05761109f611656565b5b02179055506040820151815f0160026101000a81548163ffffffff021916908363ffffffff16021790555060608201518160010190816110e091906122dc565b50505050507fdc8145a6c863ebd27b18aa903b7f82f1015527a05a81f227ef06ab79616082b4815f0151826020015183604001518460600151856080015160405161112f9594939291906123ab565b60405180910390a150565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806111ac57506111ab826111d7565b5b9050919050565b5f6111bc610a18565b905080546001166111d45763d7e6bcf85f526004601cfd5b50565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6040518060c001604052805f80191681526020015f600181111561126757611266611656565b5b81526020015f60ff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f815260200161129f6112fd565b81525090565b6040518060a001604052805f60018111156112c3576112c2611656565b5b81526020015f80191681526020015f60ff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81525090565b60405180608001604052805f600781111561131b5761131a611656565b5b81526020015f600481111561133357611332611656565b5b81526020015f63ffffffff168152602001606081525090565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6113918161135d565b811461139b575f80fd5b50565b5f813590506113ac81611388565b92915050565b5f602082840312156113c7576113c6611355565b5b5f6113d48482850161139e565b91505092915050565b5f8115159050919050565b6113f1816113dd565b82525050565b5f60208201905061140a5f8301846113e8565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261143157611430611410565b5b8235905067ffffffffffffffff81111561144e5761144d611414565b5b60208301915083600182028301111561146a57611469611418565b5b9250929050565b5f806020838503121561148757611486611355565b5b5f83013567ffffffffffffffff8111156114a4576114a3611359565b5b6114b08582860161141c565b92509250509250929050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6114fe826114bc565b61150881856114c6565b93506115188185602086016114d6565b611521816114e4565b840191505092915050565b5f60408201905061153f5f8301856113e8565b818103602083015261155181846114f4565b90509392505050565b6115638161135d565b82525050565b5f60208201905061157c5f83018461155a565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f6115c46115bf6115ba84611582565b6115a1565b611582565b9050919050565b5f6115d5826115aa565b9050919050565b5f6115e6826115cb565b9050919050565b6115f6816115dc565b82525050565b5f60208201905061160f5f8301846115ed565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f819050919050565b6116508161163e565b82525050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b6002811061169457611693611656565b5b50565b5f8190506116a482611683565b919050565b5f6116b382611697565b9050919050565b6116c3816116a9565b82525050565b5f60ff82169050919050565b6116de816116c9565b82525050565b5f6116ee82611582565b9050919050565b6116fe816116e4565b82525050565b5f819050919050565b61171681611704565b82525050565b6008811061172d5761172c611656565b5b50565b5f81905061173d8261171c565b919050565b5f61174c82611730565b9050919050565b61175c81611742565b82525050565b6005811061177357611772611656565b5b50565b5f81905061178382611762565b919050565b5f61179282611776565b9050919050565b6117a281611788565b82525050565b5f63ffffffff82169050919050565b6117c0816117a8565b82525050565b5f82825260208201905092915050565b5f6117e0826114bc565b6117ea81856117c6565b93506117fa8185602086016114d6565b611803816114e4565b840191505092915050565b5f608083015f8301516118235f860182611753565b5060208301516118366020860182611799565b50604083015161184960408601826117b7565b506060830151848203606086015261186182826117d6565b9150508091505092915050565b5f60c083015f8301516118835f860182611647565b50602083015161189660208601826116ba565b5060408301516118a960408601826116d5565b5060608301516118bc60608601826116f5565b5060808301516118cf608086018261170d565b5060a083015184820360a08601526118e7828261180e565b9150508091505092915050565b5f6118ff838361186e565b905092915050565b5f602082019050919050565b5f61191d82611615565b611927818561161f565b9350836020820285016119398561162f565b805f5b85811015611974578484038952815161195585826118f4565b945061196083611907565b925060208a0199505060018101905061193c565b50829750879550505050505092915050565b5f6020820190508181035f83015261199e8184611913565b905092915050565b6119af81611704565b81146119b9575f80fd5b50565b5f813590506119ca816119a6565b92915050565b5f602082840312156119e5576119e4611355565b5b5f6119f2848285016119bc565b91505092915050565b5f60c083015f830151611a105f860182611647565b506020830151611a2360208601826116ba565b506040830151611a3660408601826116d5565b506060830151611a4960608601826116f5565b506080830151611a5c608086018261170d565b5060a083015184820360a0860152611a74828261180e565b9150508091505092915050565b5f6020820190508181035f830152611a9981846119fb565b905092915050565b5f6020820190508181035f830152611ab981846114f4565b905092915050565b60a082015f820151611ad55f8501826116ba565b506020820151611ae86020850182611647565b506040820151611afb60408501826116d5565b506060820151611b0e60608501826116f5565b506080820151611b21608085018261170d565b50505050565b5f60a082019050611b3a5f830184611ac1565b92915050565b611b4981611704565b82525050565b5f602082019050611b625f830184611b40565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611ba2826114e4565b810181811067ffffffffffffffff82111715611bc157611bc0611b6c565b5b80604052505050565b5f611bd361134c565b9050611bdf8282611b99565b919050565b5f80fd5b60028110611bf4575f80fd5b50565b5f81359050611c0581611be8565b92915050565b611c148161163e565b8114611c1e575f80fd5b50565b5f81359050611c2f81611c0b565b92915050565b611c3e816116c9565b8114611c48575f80fd5b50565b5f81359050611c5981611c35565b92915050565b611c68816116e4565b8114611c72575f80fd5b50565b5f81359050611c8381611c5f565b92915050565b5f60a08284031215611c9e57611c9d611b68565b5b611ca860a0611bca565b90505f611cb784828501611bf7565b5f830152506020611cca84828501611c21565b6020830152506040611cde84828501611c4b565b6040830152506060611cf284828501611c75565b6060830152506080611d06848285016119bc565b60808301525092915050565b60088110611d1e575f80fd5b50565b5f81359050611d2f81611d12565b92915050565b60058110611d41575f80fd5b50565b5f81359050611d5281611d35565b92915050565b611d61816117a8565b8114611d6b575f80fd5b50565b5f81359050611d7c81611d58565b92915050565b5f80fd5b5f67ffffffffffffffff821115611da057611d9f611b6c565b5b611da9826114e4565b9050602081019050919050565b828183375f83830152505050565b5f611dd6611dd184611d86565b611bca565b905082815260208101848484011115611df257611df1611d82565b5b611dfd848285611db6565b509392505050565b5f82601f830112611e1957611e18611410565b5b8135611e29848260208601611dc4565b91505092915050565b5f60808284031215611e4757611e46611b68565b5b611e516080611bca565b90505f611e6084828501611d21565b5f830152506020611e7384828501611d44565b6020830152506040611e8784828501611d6e565b604083015250606082013567ffffffffffffffff811115611eab57611eaa611be4565b5b611eb784828501611e05565b60608301525092915050565b5f60c08284031215611ed857611ed7611b68565b5b611ee260c0611bca565b90505f611ef184828501611c21565b5f830152506020611f0484828501611bf7565b6020830152506040611f1884828501611c4b565b6040830152506060611f2c84828501611c75565b6060830152506080611f40848285016119bc565b60808301525060a082013567ffffffffffffffff811115611f6457611f63611be4565b5b611f7084828501611e32565b60a08301525092915050565b5f6101208284031215611f9257611f91611b68565b5b611f9c60a0611bca565b90505f611fab84828501611c89565b5f8301525060a082013567ffffffffffffffff811115611fce57611fcd611be4565b5b611fda84828501611ec3565b60208301525060c082013567ffffffffffffffff811115611ffe57611ffd611be4565b5b61200a84828501611ec3565b60408301525060e082013567ffffffffffffffff81111561202e5761202d611be4565b5b61203a84828501611ec3565b60608301525061010082013567ffffffffffffffff81111561205f5761205e611be4565b5b61206b84828501611ec3565b60808301525092915050565b5f6020828403121561208c5761208b611355565b5b5f82013567ffffffffffffffff8111156120a9576120a8611359565b5b6120b584828501611f7c565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061210257607f821691505b602082108103612115576121146120be565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026121a47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612169565b6121ae8683612169565b95508019841693508086168417925050509392505050565b5f6121e06121db6121d684611704565b6115a1565b611704565b9050919050565b5f819050919050565b6121f9836121c6565b61220d612205826121e7565b848454612175565b825550505050565b5f90565b612221612215565b61222c8184846121f0565b505050565b5b8181101561224f576122445f82612219565b600181019050612232565b5050565b601f8211156122945761226581612148565b61226e8461215a565b8101602085101561227d578190505b6122916122898561215a565b830182612231565b50505b505050565b5f82821c905092915050565b5f6122b45f1984600802612299565b1980831691505092915050565b5f6122cc83836122a5565b9150826002028217905092915050565b6122e5826114bc565b67ffffffffffffffff8111156122fe576122fd611b6c565b5b61230882546120eb565b612313828285612253565b5f60209050601f831160018114612344575f8415612332578287015190505b61233c85826122c1565b8655506123a3565b601f19841661235286612148565b5f5b8281101561237957848901518255600182019150602085019450602081019050612354565b868310156123965784890151612392601f8916826122a5565b8355505b6001600288020188555050505b505050505050565b5f610120820190506123bf5f830188611ac1565b81810360a08301526123d181876119fb565b905081810360c08301526123e581866119fb565b905081810360e08301526123f981856119fb565b905081810361010083015261240e81846119fb565b9050969550505050505056fea2646970667358221220c7ff4a150897568d1b0cf381b80c7477adfb1d4a61c0f1dbe23de1a9fd54af2f64736f6c634300081a0033",m=Symbol.for("@ts-pattern/matcher"),Z=Symbol.for("@ts-pattern/isVariadic"),D="@ts-pattern/anonymous-select-key",L=t=>!!(t&&typeof t=="object"),R=t=>t&&!!t[m],y=(t,f,e)=>{if(R(t)){const n=t[m](),{matched:a,selections:b}=n.match(f);return a&&b&&Object.keys(b).forEach(r=>e(r,b[r])),a}if(L(t)){if(!L(f))return!1;if(Array.isArray(t)){if(!Array.isArray(f))return!1;let n=[],a=[],b=[];for(const r of t.keys()){const i=t[r];R(i)&&i[Z]?b.push(i):b.length?a.push(i):n.push(i)}if(b.length){if(b.length>1)throw new Error("Pattern error: Using `...P.array(...)` several times in a single pattern is not allowed.");if(f.length<n.length+a.length)return!1;const r=f.slice(0,n.length),i=a.length===0?[]:f.slice(-a.length),s=f.slice(n.length,a.length===0?1/0:-a.length);return n.every((l,C)=>y(l,r[C],e))&&a.every((l,C)=>y(l,i[C],e))&&(b.length===0||y(b[0],s,e))}return t.length===f.length&&t.every((r,i)=>y(r,f[i],e))}return Reflect.ownKeys(t).every(n=>{const a=t[n];return(n in f||R(b=a)&&b[m]().matcherType==="optional")&&y(a,f[n],e);var b})}return Object.is(f,t)},I=t=>{var f,e,n;return L(t)?R(t)?(f=(e=(n=t[m]()).getSelectionKeys)==null?void 0:e.call(n))!=null?f:[]:Array.isArray(t)?_(t,I):_(Object.values(t),I):[]},_=(t,f)=>t.reduce((e,n)=>e.concat(f(n)),[]);function h(t){return Object.assign(t,{optional:()=>f0(t),and:f=>u(t,f),or:f=>e0(t,f),select:f=>f===void 0?O(t):O(f,t)})}function f0(t){return h({[m]:()=>({match:f=>{let e={};const n=(a,b)=>{e[a]=b};return f===void 0?(I(t).forEach(a=>n(a,void 0)),{matched:!0,selections:e}):{matched:y(t,f,n),selections:e}},getSelectionKeys:()=>I(t),matcherType:"optional"})})}function u(...t){return h({[m]:()=>({match:f=>{let e={};const n=(a,b)=>{e[a]=b};return{matched:t.every(a=>y(a,f,n)),selections:e}},getSelectionKeys:()=>_(t,I),matcherType:"and"})})}function e0(...t){return h({[m]:()=>({match:f=>{let e={};const n=(a,b)=>{e[a]=b};return _(t,I).forEach(a=>n(a,void 0)),{matched:t.some(a=>y(a,f,n)),selections:e}},getSelectionKeys:()=>_(t,I),matcherType:"or"})})}function o(t){return{[m]:()=>({match:f=>({matched:!!t(f)})})}}function O(...t){const f=typeof t[0]=="string"?t[0]:void 0,e=t.length===2?t[1]:typeof t[0]=="string"?void 0:t[0];return h({[m]:()=>({match:n=>{let a={[f??D]:n};return{matched:e===void 0||y(e,n,(b,r)=>{a[b]=r}),selections:a}},getSelectionKeys:()=>[f??D].concat(e===void 0?[]:I(e))})})}function p(t){return typeof t=="number"}function A(t){return typeof t=="string"}function w(t){return typeof t=="bigint"}h(o(function(t){return!0}));const E=t=>Object.assign(h(t),{startsWith:f=>{return E(u(t,(e=f,o(n=>A(n)&&n.startsWith(e)))));var e},endsWith:f=>{return E(u(t,(e=f,o(n=>A(n)&&n.endsWith(e)))));var e},minLength:f=>E(u(t,(e=>o(n=>A(n)&&n.length>=e))(f))),length:f=>E(u(t,(e=>o(n=>A(n)&&n.length===e))(f))),maxLength:f=>E(u(t,(e=>o(n=>A(n)&&n.length<=e))(f))),includes:f=>{return E(u(t,(e=f,o(n=>A(n)&&n.includes(e)))));var e},regex:f=>{return E(u(t,(e=f,o(n=>A(n)&&!!n.match(e)))));var e}});E(o(A));const g=t=>Object.assign(h(t),{between:(f,e)=>g(u(t,((n,a)=>o(b=>p(b)&&n<=b&&a>=b))(f,e))),lt:f=>g(u(t,(e=>o(n=>p(n)&&n<e))(f))),gt:f=>g(u(t,(e=>o(n=>p(n)&&n>e))(f))),lte:f=>g(u(t,(e=>o(n=>p(n)&&n<=e))(f))),gte:f=>g(u(t,(e=>o(n=>p(n)&&n>=e))(f))),int:()=>g(u(t,o(f=>p(f)&&Number.isInteger(f)))),finite:()=>g(u(t,o(f=>p(f)&&Number.isFinite(f)))),positive:()=>g(u(t,o(f=>p(f)&&f>0))),negative:()=>g(u(t,o(f=>p(f)&&f<0)))});g(o(p));const T=t=>Object.assign(h(t),{between:(f,e)=>T(u(t,((n,a)=>o(b=>w(b)&&n<=b&&a>=b))(f,e))),lt:f=>T(u(t,(e=>o(n=>w(n)&&n<e))(f))),gt:f=>T(u(t,(e=>o(n=>w(n)&&n>e))(f))),lte:f=>T(u(t,(e=>o(n=>w(n)&&n<=e))(f))),gte:f=>T(u(t,(e=>o(n=>w(n)&&n>=e))(f))),positive:()=>T(u(t,o(f=>w(f)&&f>0))),negative:()=>T(u(t,o(f=>w(f)&&f<0)))});T(o(w));h(o(function(t){return typeof t=="boolean"}));h(o(function(t){return typeof t=="symbol"}));h(o(function(t){return t==null}));h(o(function(t){return t!=null}));class t0 extends Error{constructor(f){let e;try{e=JSON.stringify(f)}catch{e=f}super(`Pattern matching error: no pattern matches value ${e}`),this.input=void 0,this.input=f}}const U={matched:!1,value:void 0};function q(t){return new P(t,U)}class P{constructor(f,e){this.input=void 0,this.state=void 0,this.input=f,this.state=e}with(...f){if(this.state.matched)return this;const e=f[f.length-1],n=[f[0]];let a;f.length===3&&typeof f[1]=="function"?a=f[1]:f.length>2&&n.push(...f.slice(1,f.length-1));let b=!1,r={};const i=(l,C)=>{b=!0,r[l]=C},s=!n.some(l=>y(l,this.input,i))||a&&!a(this.input)?U:{matched:!0,value:e(b?D in r?r[D]:r:this.input,this.input)};return new P(this.input,s)}when(f,e){if(this.state.matched)return this;const n=!!f(this.input);return new P(this.input,n?{matched:!0,value:e(this.input,this.input)}:U)}otherwise(f){return this.state.matched?this.state.value:f(this.input)}exhaustive(){if(this.state.matched)return this.state.value;throw new t0(this.input)}run(){return this.exhaustive()}returnType(){return this}}var G=(t=>(t[t.EQUAL=0]="EQUAL",t[t.NOT_EQUAL=1]="NOT_EQUAL",t[t.GREATER_THAN=2]="GREATER_THAN",t[t.LESS_THAN=3]="LESS_THAN",t[t.CONTAINS=4]="CONTAINS",t[t.REGEX=5]="REGEX",t[t.GREATER_THAN_OR_EQUAL=6]="GREATER_THAN_OR_EQUAL",t[t.LESS_THAN_OR_EQUAL=7]="LESS_THAN_OR_EQUAL",t))(G||{}),z=(t=>(t[t.UINT=0]="UINT",t[t.ADDRESS=1]="ADDRESS",t[t.BYTES=2]="BYTES",t[t.STRING=3]="STRING",t[t.TUPLE=4]="TUPLE",t))(z||{}),V=(t=>(t[t.EVENT=0]="EVENT",t[t.FUNC=1]="FUNC",t))(V||{});function W(t){return Array.isArray(t.actionSteps)}const k=class k extends $.DeployableTarget{constructor(){super(...arguments),this.abi=N.ae}async getActionStep(f,e){return(await this.getActionSteps(e)).at(f)}async getActionSteps(f){const e=await N.m6(this._config,{address:this.assertValidAddress(),...this.optionallyAttachAccount(),...f});return a0(e.map(F))}async getActionStepsCount(f){return(await this.getActionSteps(f)).length}async getActionClaimant(f){const e=await N.d6(this._config,{address:this.assertValidAddress(),...this.optionallyAttachAccount(),...f});return F(e)}async execute(f,e){return await this.awaitResult(this.executeRaw(f,e))}async executeRaw(f,e){const{request:n,result:a}=await N.h6(this._config,{address:this.assertValidAddress(),...this.optionallyAttachAccount(),...e,args:[f]});return{hash:await N.A6(this._config,n),result:a}}async deriveActionClaimantFromTransaction(f,e){if(f.fieldIndex===v.CheatCodes.TX_SENDER_CLAIMANT){if("hash"in e){const a=await S.getTransaction(this._config,{...e,chainId:f.chainid});return e.notBeforeBlockNumber&&a.blockNumber<e.notBeforeBlockNumber?void 0:a.from}if("logs"in e){for(let a of e.logs)if(a.transactionHash){const b=await S.getTransaction(this._config,{...e,hash:a.transactionHash,chainId:f.chainid});return e.notBeforeBlockNumber&&b.blockNumber<e.notBeforeBlockNumber?void 0:b.from}}return}const n=f.signature;if(f.signatureType===0){let a;if(e.abiItem?a=e.abiItem:a=e.knownSignatures[n],!a)throw new c.ValidationAbiMissingError(n);let b;if("logs"in e){for(let s of e.logs){if(!d.isAddressEqual(s.address,f.targetContract))continue;let l=this.validateClaimantAgainstArgs(f,s);l&&(b=l)}return b}const r=await S.getTransactionReceipt(this._config,{...e,chainId:f.chainid});if(e.notBeforeBlockNumber&&r.blockNumber<e.notBeforeBlockNumber)return;const i=r.logs.filter(s=>s.topics[0]===d.toEventSelector(a)).map(s=>M(a,s));for(let s of i){if(!d.isAddressEqual(s.address,f.targetContract))continue;let l=this.validateClaimantAgainstArgs(f,s);l&&(b=l)}return b}if(f.signatureType===1&&"hash"in e){const a=await S.getTransaction(this._config,{...e,chainId:f.chainid});if(e.notBeforeBlockNumber&&a.blockNumber<e.notBeforeBlockNumber||!d.isAddressEqual(a.to,f.targetContract))return;let b;if(e.abiItem?b=e.abiItem:b=e.knownSignatures[n],!b)throw new c.ValidationAbiMissingError(f.signature);let r;try{r=d.decodeFunctionData({abi:[b],data:a.input})}catch(i){throw new c.FunctionDataDecodeError([b],i)}return this.validateClaimantAgainstArgs(f,r)}}validateClaimantAgainstArgs(f,e){if(!e||!Array.isArray(e==null?void 0:e.args)||(e==null?void 0:e.args.length)<=f.fieldIndex)return;const n=e.args.at(f.fieldIndex);if(d.isAddress(n))return n}async validateActionSteps(f){const e=await this.getActionSteps();for(const n of e)if(!await this.isActionStepValid(n,f))return!1;return!0}async isActionStepValid(f,e){if(f.signatureType===0){const n=f.signature;let a;if(e.abiItem?a=e.abiItem:a=e.knownSignatures[n],!a)throw new c.ValidationAbiMissingError(n);if(this.isArraylikeIndexed(f,a))throw new c.UnparseableAbiParamError(f.actionParameter.fieldIndex,a);if("logs"in e)return this.isActionEventValid(f,e.logs,a);const b=await S.getTransactionReceipt(this._config,{...e,chainId:f.chainid});if(e.notBeforeBlockNumber&&b.blockNumber<e.notBeforeBlockNumber)return!1;if(f.signature===v.TRANSFER_SIGNATURE)return this.decodeTransferLogs(b,f);const r=b.logs.filter(i=>i.topics[0]===d.toEventSelector(a)).map(i=>M(a,i));return this.isActionEventValid(f,r,a)}if(f.signatureType===1&&"hash"in e){const n=await S.getTransaction(this._config,{...e,chainId:f.chainid});return e.notBeforeBlockNumber&&n.blockNumber<e.notBeforeBlockNumber?!1:this.isActionFunctionValid(f,n,e)}return!1}isActionEventValid(f,e,n){const a=f.actionParameter;if(!e.length)return!1;for(let b of e)try{if(!Array.isArray(b.args))throw new c.DecodedArgsMalformedError({log:b,criteria:a,fieldValue:void 0});const{value:r,type:i}=this.parseFieldFromAbi(b.args,a.fieldIndex,n.inputs||[],a.fieldType);if(a.fieldType=i,this.validateFieldAgainstCriteria(a,r,{log:b}))return!0}catch{}return!1}async decodeTransferLogs(f,e){const n=f.logs.filter(a=>a.topics[0]===v.TRANSFER_SIGNATURE);try{const a=n.map(b=>{const{eventName:r,args:i}=d.decodeEventLog({abi:[{name:"Transfer",type:"event",inputs:[{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"uint256",indexed:!0}]}],data:b.data,topics:b.topics});return{...b,eventName:r,args:i}});return this.isActionEventValid(e,a,{name:"Transfer",type:"event",inputs:[{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"uint256",indexed:!0}]})}catch{try{const a=n.map(b=>{const{eventName:r,args:i}=d.decodeEventLog({abi:[{name:"Transfer",type:"event",inputs:[{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"uint256"}]}],data:b.data,topics:b.topics});return{...b,eventName:r,args:i}});return this.isActionEventValid(e,a,{name:"Transfer",type:"event",inputs:[{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"uint256"}]})}catch{throw new c.DecodedArgsError("Failed to decode transfer logs")}}}parseFieldFromAbi(f,e,n,a){if(e===v.CheatCodes.ANY_ACTION_PARAM)return{value:d.zeroHash,type:2};if(a!==4){if(!Array.isArray(f)||e>=f.length)throw new c.FieldValueUndefinedError({fieldValue:f,criteria:{filterType:0,fieldType:a,fieldIndex:e,filterData:d.zeroHash}});const r=n[e];if(!r||!r.type)throw new c.UnparseableAbiParamError(e,r);const i=f[e],s=Q(r.type);if(s===1&&(typeof i!="string"||!d.isAddress(i)))throw new c.FieldValueUndefinedError({fieldValue:i,criteria:{fieldIndex:e,filterType:0,fieldType:s,filterData:d.zeroHash}});return{value:i,type:s}}const b=K(e);return j(f,b,n)}isActionFunctionValid(f,e,n){const a=f.actionParameter,b=f.signature;let r;if(n.abiItem?r=n.abiItem:r=n.knownSignatures[b],!r)throw new c.ValidationAbiMissingError(b);let i;try{i=d.decodeFunctionData({abi:[r],data:e.input})}catch(s){throw new c.FunctionDataDecodeError([r],s)}if(!(i!=null&&i.args))return!1;try{const{value:s,type:l}=this.parseFieldFromAbi(i.args,a.fieldIndex,r.inputs||[],a.fieldType);return a.fieldType=l,this.validateFieldAgainstCriteria(a,s,{decodedArgs:i.args})}catch{return!1}}validateFieldAgainstCriteria(f,e,n){if(f.filterType===0&&f.fieldType===2&&f.fieldIndex===v.CheatCodes.ANY_ACTION_PARAM)return!0;if(f.fieldType===4)throw new c.InvalidTupleDecodingError("Tuples should not be passed into validateFieldAgainstCriteria");const a=f.fieldType;switch(f.filterType){case 0:return q(a).with(1,()=>d.isAddressEqual(f.filterData,e)).with(0,()=>BigInt(e)===BigInt(f.filterData)).with(3,()=>e===d.fromHex(f.filterData,"string")).otherwise(()=>e===f.filterData);case 1:return q(a).with(1,()=>!d.isAddressEqual(f.filterData,e)).with(0,()=>BigInt(e)!==BigInt(f.filterData)).with(3,()=>e!==d.fromHex(f.filterData,"string")).otherwise(()=>e!==f.filterData);case 2:if(a===0)return BigInt(e)>BigInt(f.filterData);throw new c.InvalidNumericalCriteriaError({...n,criteria:f,fieldValue:e});case 6:if(a===0)return BigInt(e)>=BigInt(f.filterData);throw new c.InvalidNumericalCriteriaError({...n,criteria:f,fieldValue:e});case 3:if(a===0)return BigInt(e)<BigInt(f.filterData);throw new c.InvalidNumericalCriteriaError({...n,criteria:f,fieldValue:e});case 7:if(a===0)return BigInt(e)<=BigInt(f.filterData);throw new c.InvalidNumericalCriteriaError({...n,criteria:f,fieldValue:e});case 4:if(a===2||a===3){let b;return a===3?b=d.fromHex(f.filterData,"string"):b=f.filterData.slice(2),e.includes(b)}throw new c.FieldValueNotComparableError({...n,criteria:f,fieldValue:e});case 5:if(typeof e!="string")throw new c.FieldValueNotComparableError({...n,criteria:f,fieldValue:e});if(a===3){const b=d.fromHex(f.filterData,"string");return new RegExp(b).test(e)}default:throw new c.UnrecognizedFilterTypeError({...n,criteria:f,fieldValue:e})}}buildParameters(f,e){const[n,a]=this.validateDeploymentConfig(f,e);let b;if(W(n)){let r=n.actionSteps.filter(s=>!!s);if(r.length===0)throw new c.NoEventActionStepsProvidedError;if(r.length>4)throw new c.TooManyEventActionStepsProvidedError;let i=Array.from({length:4},(s,l)=>r.at(l)||r.at(-1));b={actionClaimant:n.actionClaimant,actionStepOne:i[0],actionStepTwo:i[1],actionStepThree:i[2],actionStepFour:i[3]}}else b=n;return{abi:N.ae,bytecode:J,args:[X(b)],...this.optionallyAttachAccount(a.account)}}isArraylikeIndexed(f,e){var n;return!!((f.actionParameter.fieldType===3||f.actionParameter.fieldType===2)&&((n=e.inputs[f.actionParameter.fieldIndex])!=null&&n.indexed))}};k.bases={31337:void 0,...Y.EventAction},k.registryType=v.RegistryType.ACTION;let H=k;function n0(t){return t.type==="tuple"||t.type.startsWith("tuple[")}function j(t,f,e){if(!f.length)throw new c.InvalidTupleDecodingError("No indexes found; cannot parse TUPLE field");const n=f[0]??e.length+1;if(n>=e.length)throw new c.InvalidTupleDecodingError(void 0,n);const a=e[n],b=t[n];if(!n0(a)){const s=Q(a.type);return{value:b,type:s}}if(!Array.isArray(b))throw new c.InvalidTupleDecodingError("rawValue is not an array, but param.type is tuple");const r=f.slice(1);if(!r.length)throw new c.InvalidTupleDecodingError(void 0,-1);const i=r[0]??a.components.length+1;if(i>=a.components.length)throw new c.InvalidTupleDecodingError(void 0,i);return j(b,r,a.components)}function Q(t){const f=t.toLowerCase();if(f.startsWith("uint")||f.startsWith("int"))return 0;if(f==="address")return 1;if(f==="bytes"||f.startsWith("bytes"))return 2;if(f==="string")return 3;throw new c.DecodedArgsError(`Unrecognized ABI type: ${t}`)}function a0(t){const f=[],e={};for(let n of t){const a=JSON.stringify(n);e[a]||(f.push(n),e[a]=!0)}return f}function x(t){return{...t,chainid:BigInt(t.chainid)}}function F(t){if(t.chainid>BigInt(Number.MAX_SAFE_INTEGER))throw new Error("Chain ID exceeds max safe integer");return{...t,chainid:Number(t.chainid)}}function X({actionClaimant:t,actionStepOne:f,actionStepTwo:e,actionStepThree:n,actionStepFour:a}){return d.encodeAbiParameters([{type:"tuple",name:"initPayload",components:[{type:"tuple",name:"actionClaimant",components:[{type:"uint8",name:"signatureType"},{type:"bytes32",name:"signature"},{type:"uint8",name:"fieldIndex"},{type:"address",name:"targetContract"},{type:"uint256",name:"chainid"}]},{type:"tuple",name:"actionStepOne",components:[{type:"bytes32",name:"signature"},{type:"uint8",name:"signatureType"},{type:"uint8",name:"actionType"},{type:"address",name:"targetContract"},{type:"uint256",name:"chainid"},{type:"tuple",name:"actionParameter",components:[{type:"uint8",name:"filterType"},{type:"uint8",name:"fieldType"},{type:"uint32",name:"fieldIndex"},{type:"bytes",name:"filterData"}]}]},{type:"tuple",name:"actionStepTwo",components:[{type:"bytes32",name:"signature"},{type:"uint8",name:"signatureType"},{type:"uint8",name:"actionType"},{type:"address",name:"targetContract"},{type:"uint256",name:"chainid"},{type:"tuple",name:"actionParameter",components:[{type:"uint8",name:"filterType"},{type:"uint8",name:"fieldType"},{type:"uint32",name:"fieldIndex"},{type:"bytes",name:"filterData"}]}]},{type:"tuple",name:"actionStepThree",components:[{type:"bytes32",name:"signature"},{type:"uint8",name:"signatureType"},{type:"uint8",name:"actionType"},{type:"address",name:"targetContract"},{type:"uint256",name:"chainid"},{type:"tuple",name:"actionParameter",components:[{type:"uint8",name:"filterType"},{type:"uint8",name:"fieldType"},{type:"uint32",name:"fieldIndex"},{type:"bytes",name:"filterData"}]}]},{type:"tuple",name:"actionStepFour",components:[{type:"bytes32",name:"signature"},{type:"uint8",name:"signatureType"},{type:"uint8",name:"actionType"},{type:"address",name:"targetContract"},{type:"uint256",name:"chainid"},{type:"tuple",name:"actionParameter",components:[{type:"uint8",name:"filterType"},{type:"uint8",name:"fieldType"},{type:"uint32",name:"fieldIndex"},{type:"bytes",name:"filterData"}]}]}]}],[{actionClaimant:x(t),actionStepOne:{...x(f),actionType:f.actionType||0},actionStepTwo:{...x(e),actionType:e.actionType||0},actionStepThree:{...x(n),actionType:n.actionType||0},actionStepFour:{...x(a),actionType:a.actionType||0}}])}function b0(){return{filterType:0,fieldType:2,fieldIndex:v.CheatCodes.ANY_ACTION_PARAM,filterData:d.zeroHash}}function r0(t){return{signatureType:0,signature:d.zeroHash,fieldIndex:v.CheatCodes.TX_SENDER_CLAIMANT,targetContract:d.zeroAddress,chainid:t}}const B=63;function i0(t){if(t.length>5)throw new c.InvalidTupleEncodingError("Can only pack up to 5 indexes.");let f=0;return t.forEach((e,n)=>{if(e>B)throw new c.InvalidTupleEncodingError(`Index ${e} exceeds the maximum allowed value (${B}).`);f|=(e&B)<<n*6}),f}function K(t){const f=[];for(let e=0;e<5;e++){const n=t>>e*6&B;if(n===B)break;f.push(n)}return f}function M(t,f){const e=d.decodeEventLog({abi:[t],data:f.data,topics:f.topics}),n=Array.isArray(e.args)?e.args:Object.values(e.args);if(!t.inputs.some(s=>s.indexed))return e;const a=[],b=[];for(let s=0;s<t.inputs.length;s++)t.inputs[s].indexed?a.push(s):b.push(s);const r=new Array(t.inputs.length);let i=0;for(let s=0;s<a.length;s++)r[a[s]]=n[i++];for(let s=0;s<b.length;s++)r[b[s]]=n[i++];return{...f,eventName:e.eventName,args:r}}exports.EventAction=H;exports.FilterType=G;exports.PrimitiveType=z;exports.SignatureType=V;exports.anyActionParameter=b0;exports.decodeAndReorderLogArgs=M;exports.isEventActionPayloadSimple=W;exports.packFieldIndexes=i0;exports.prepareEventActionPayload=X;exports.transactionSenderClaimant=r0;exports.unpackFieldIndexes=K;
|
|
2
2
|
//# sourceMappingURL=EventAction.cjs.map
|