@boostxyz/sdk 5.2.1 → 5.3.1

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.
Files changed (97) hide show
  1. package/README.md +10 -0
  2. package/dist/Actions/Action.cjs +1 -1
  3. package/dist/Actions/Action.js +1 -1
  4. package/dist/Actions/EventAction.cjs +1 -1
  5. package/dist/Actions/EventAction.cjs.map +1 -1
  6. package/dist/Actions/EventAction.d.ts +84 -41
  7. package/dist/Actions/EventAction.d.ts.map +1 -1
  8. package/dist/Actions/EventAction.js +1866 -378
  9. package/dist/Actions/EventAction.js.map +1 -1
  10. package/dist/AllowLists/AllowList.cjs +1 -1
  11. package/dist/AllowLists/AllowList.js +2 -2
  12. package/dist/AllowLists/SimpleAllowList.cjs +1 -1
  13. package/dist/AllowLists/SimpleAllowList.js +2 -2
  14. package/dist/AllowLists/SimpleDenyList.cjs +1 -1
  15. package/dist/AllowLists/SimpleDenyList.js +3 -3
  16. package/dist/Auth/PassthroughAuth.cjs +1 -1
  17. package/dist/Auth/PassthroughAuth.js +1 -1
  18. package/dist/BoostCore.cjs +2 -2
  19. package/dist/BoostCore.cjs.map +1 -1
  20. package/dist/BoostCore.d.ts +42 -1
  21. package/dist/BoostCore.d.ts.map +1 -1
  22. package/dist/BoostCore.js +360 -318
  23. package/dist/BoostCore.js.map +1 -1
  24. package/dist/BoostRegistry.cjs +1 -1
  25. package/dist/BoostRegistry.js +2 -2
  26. package/dist/{Budget-N0YEfSt2.cjs → Budget-AoNx7uFd.cjs} +2 -2
  27. package/dist/{Budget-N0YEfSt2.cjs.map → Budget-AoNx7uFd.cjs.map} +1 -1
  28. package/dist/{Budget-C0SMvfEl.js → Budget-DYIV9iNK.js} +3 -3
  29. package/dist/{Budget-C0SMvfEl.js.map → Budget-DYIV9iNK.js.map} +1 -1
  30. package/dist/Budgets/Budget.cjs +1 -1
  31. package/dist/Budgets/Budget.js +2 -2
  32. package/dist/Budgets/ManagedBudget.cjs +1 -1
  33. package/dist/Budgets/ManagedBudget.js +2 -2
  34. package/dist/Deployable/DeployableTarget.cjs +1 -1
  35. package/dist/Deployable/DeployableTarget.js +1 -1
  36. package/dist/Deployable/DeployableTargetWithRBAC.cjs +1 -1
  37. package/dist/Deployable/DeployableTargetWithRBAC.js +2 -2
  38. package/dist/Incentive-BbkfwGOb.cjs +2 -0
  39. package/dist/Incentive-BbkfwGOb.cjs.map +1 -0
  40. package/dist/{Incentive-DBZHQ9Np.js → Incentive-qlnv5kQB.js} +77 -50
  41. package/dist/Incentive-qlnv5kQB.js.map +1 -0
  42. package/dist/Incentives/AllowListIncentive.cjs +1 -1
  43. package/dist/Incentives/AllowListIncentive.js +3 -3
  44. package/dist/Incentives/CGDAIncentive.cjs +1 -1
  45. package/dist/Incentives/CGDAIncentive.js +2 -2
  46. package/dist/Incentives/ERC20Incentive.cjs +1 -1
  47. package/dist/Incentives/ERC20Incentive.js +6 -6
  48. package/dist/Incentives/ERC20PeggedIncentive.d.ts +10 -1
  49. package/dist/Incentives/ERC20PeggedIncentive.d.ts.map +1 -1
  50. package/dist/Incentives/ERC20VariableCriteriaIncentive.cjs +1 -1
  51. package/dist/Incentives/ERC20VariableCriteriaIncentive.js +2 -2
  52. package/dist/Incentives/ERC20VariableIncentive.cjs +1 -1
  53. package/dist/Incentives/ERC20VariableIncentive.js +2 -2
  54. package/dist/Incentives/Incentive.cjs +1 -1
  55. package/dist/Incentives/Incentive.js +2 -2
  56. package/dist/Incentives/PointsIncentive.cjs +1 -1
  57. package/dist/Incentives/PointsIncentive.js +2 -2
  58. package/dist/{SimpleDenyList-B8QeJthf.js → SimpleDenyList-ByAr4X1r.js} +3 -3
  59. package/dist/{SimpleDenyList-B8QeJthf.js.map → SimpleDenyList-ByAr4X1r.js.map} +1 -1
  60. package/dist/{SimpleDenyList-DIb4xX3j.cjs → SimpleDenyList-CsRXJPwm.cjs} +2 -2
  61. package/dist/{SimpleDenyList-DIb4xX3j.cjs.map → SimpleDenyList-CsRXJPwm.cjs.map} +1 -1
  62. package/dist/Validators/LimitedSignerValidator.cjs +1 -1
  63. package/dist/Validators/LimitedSignerValidator.js +2 -2
  64. package/dist/Validators/SignerValidator.cjs +1 -1
  65. package/dist/Validators/SignerValidator.js +2 -2
  66. package/dist/Validators/Validator.cjs +1 -1
  67. package/dist/Validators/Validator.js +1 -1
  68. package/dist/{deployments-COxshLqt.js → deployments-D0fs26TV.js} +16 -16
  69. package/dist/{deployments-COxshLqt.js.map → deployments-D0fs26TV.js.map} +1 -1
  70. package/dist/{deployments-BGpr4ppG.cjs → deployments-DoIOqxco.cjs} +2 -2
  71. package/dist/deployments-DoIOqxco.cjs.map +1 -0
  72. package/dist/deployments.json +3 -3
  73. package/dist/errors.cjs +1 -1
  74. package/dist/errors.cjs.map +1 -1
  75. package/dist/errors.d.ts +40 -0
  76. package/dist/errors.d.ts.map +1 -1
  77. package/dist/errors.js +42 -16
  78. package/dist/errors.js.map +1 -1
  79. package/dist/{generated-ClbO_ULI.js → generated-Cyvr_Tjx.js} +446 -438
  80. package/dist/generated-Cyvr_Tjx.js.map +1 -0
  81. package/dist/{generated-CRD9XfOT.cjs → generated-DtYPHhtX.cjs} +2 -2
  82. package/dist/generated-DtYPHhtX.cjs.map +1 -0
  83. package/dist/index.cjs +1 -1
  84. package/dist/index.js +160 -155
  85. package/package.json +1 -1
  86. package/src/Actions/EventAction.test.ts +294 -3
  87. package/src/Actions/EventAction.ts +417 -154
  88. package/src/BoostCore.test.ts +51 -3
  89. package/src/BoostCore.ts +73 -0
  90. package/src/Incentives/ERC20PeggedIncentive.ts +33 -4
  91. package/src/errors.ts +50 -0
  92. package/dist/Incentive-BpZePiOD.cjs +0 -2
  93. package/dist/Incentive-BpZePiOD.cjs.map +0 -1
  94. package/dist/Incentive-DBZHQ9Np.js.map +0 -1
  95. package/dist/deployments-BGpr4ppG.cjs.map +0 -1
  96. package/dist/generated-CRD9XfOT.cjs.map +0 -1
  97. 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
  [![Documentation](https://img.shields.io/badge/documentation-typedoc-blue)](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.
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("../generated-CRD9XfOT.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;
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
@@ -1,4 +1,4 @@
1
- import { a as i } from "../generated-ClbO_ULI.js";
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 I=require("../generated-DtYPHhtX.cjs"),N=require("@wagmi/core"),o=require("viem"),Y=require("../deployments-DoIOqxco.cjs"),$=require("../Deployable/DeployableTarget.cjs"),u=require("../errors.cjs"),x=require("../utils.cjs"),Z="0x60a0604052348015600e575f80fd5b50601b601f60201b60201c565b60b0565b5f602c608760201b60201c565b90508054600181161560455763f92ee8a95f526004601cfd5b8160c01c808260011c146082578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b6080516124506100c85f395f61034a01526124505ff3fe608060405260043610610090575f3560e01c80639bc1cf81116100585780639bc1cf811461017d578063c26624e8146101a7578063d7768c47146101e3578063dbdf21101461021f578063ddd6ab081461024957610090565b806301ffc9a71461009457806309c5eabe146100d057806328d6183b14610101578063393df8cb1461012b578063439fab9114610155575b5f80fd5b34801561009f575f80fd5b506100ba60048036038101906100b591906113b2565b610273565b6040516100c791906113f7565b60405180910390f35b6100ea60048036038101906100e59190611471565b6102ec565b6040516100f892919061152c565b60405180910390f35b34801561010c575f80fd5b50610115610321565b6040516101229190611569565b60405180910390f35b348015610136575f80fd5b5061013f610348565b60405161014c91906115fc565b60405180910390f35b348015610160575f80fd5b5061017b60048036038101906101769190611471565b61036c565b005b348015610188575f80fd5b506101916103f9565b60405161019e9190611986565b60405180910390f35b3480156101b2575f80fd5b506101cd60048036038101906101c891906119d0565b610651565b6040516101da9190611a81565b60405180910390f35b3480156101ee575f80fd5b5061020960048036038101906102049190611471565b610887565b6040516102169190611aa1565b60405180910390f35b34801561022a575f80fd5b506102336108bb565b6040516102409190611b27565b60405180910390f35b348015610254575f80fd5b5061025d610993565b60405161026a9190611b4f565b60405180910390f35b5f7f7687b0ed000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806102e557506102e48261099f565b5b9050919050565b5f60606040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f7f7687b0ed00000000000000000000000000000000000000000000000000000000905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f610375610a18565b905080546003825580156103a75760018160011c14303b1061039e5763f92ee8a95f526004601cfd5b818160ff1b1b91505b506103bf83838101906103ba9190612077565b610a41565b80156103f4576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b60606004805480602002602001604051908101604052809291908181526020015f905b82821015610648578382905f5260205f2090600502016040518060c00160405290815f8201548152602001600182015f9054906101000a900460ff16600181111561046a57610469611656565b5b600181111561047c5761047b611656565b5b81526020016001820160019054906101000a900460ff1660ff1660ff1681526020016001820160029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160028201548152602001600382016040518060800160405290815f82015f9054906101000a900460ff1660078111156105305761052f611656565b5b600781111561054257610541611656565b5b81526020015f820160019054906101000a900460ff16600481111561056a57610569611656565b5b600481111561057c5761057b611656565b5b81526020015f820160029054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016001820180546105b5906120eb565b80601f01602080910402602001604051908101604052809291908181526020018280546105e1906120eb565b801561062c5780601f106106035761010080835404028352916020019161062c565b820191905f5260205f20905b81548152906001019060200180831161060f57829003601f168201915b505050505081525050815250508152602001906001019061041c565b50505050905090565b610659611240565b6004828154811061066d5761066c61211b565b5b905f5260205f2090600502016040518060c00160405290815f8201548152602001600182015f9054906101000a900460ff1660018111156106b1576106b0611656565b5b60018111156106c3576106c2611656565b5b81526020016001820160019054906101000a900460ff1660ff1660ff1681526020016001820160029054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160028201548152602001600382016040518060800160405290815f82015f9054906101000a900460ff16600781111561077757610776611656565b5b600781111561078957610788611656565b5b81526020015f820160019054906101000a900460ff1660048111156107b1576107b0611656565b5b60048111156107c3576107c2611656565b5b81526020015f820160029054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016001820180546107fc906120eb565b80601f0160208091040260200160405190810160405280929190818152602001828054610828906120eb565b80156108735780601f1061084a57610100808354040283529160200191610873565b820191905f5260205f20905b81548152906001019060200180831161085657829003601f168201915b505050505081525050815250509050919050565b60606040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108c36112a5565b5f6040518060a00160405290815f82015f9054906101000a900460ff1660018111156108f2576108f1611656565b5b600181111561090457610903611656565b5b815260200160018201548152602001600282015f9054906101000a900460ff1660ff1660ff1681526020016002820160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382015481525050905090565b5f600480549050905090565b5f7fe6715795000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610a115750610a108261113a565b5b9050919050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b610a496111b3565b805f01515f80820151815f015f6101000a81548160ff02191690836001811115610a7657610a75611656565b5b0217905550602082015181600101556040820151816002015f6101000a81548160ff021916908360ff16021790555060608201518160020160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506080820151816003015590505060048160200151908060018154018082558091505060019003905f5260205f2090600502015f909190919091505f820151815f01556020820151816001015f6101000a81548160ff02191690836001811115610b5857610b57611656565b5b021790555060408201518160010160016101000a81548160ff021916908360ff16021790555060608201518160010160026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506080820151816002015560a0820151816003015f820151815f015f6101000a81548160ff02191690836007811115610c0057610bff611656565b5b02179055506020820151815f0160016101000a81548160ff02191690836004811115610c2f57610c2e611656565b5b02179055506040820151815f0160026101000a81548163ffffffff021916908363ffffffff1602179055506060820151816001019081610c6f91906122dc565b505050505060048160400151908060018154018082558091505060019003905f5260205f2090600502015f909190919091505f820151815f01556020820151816001015f6101000a81548160ff02191690836001811115610cd357610cd2611656565b5b021790555060408201518160010160016101000a81548160ff021916908360ff16021790555060608201518160010160026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506080820151816002015560a0820151816003015f820151815f015f6101000a81548160ff02191690836007811115610d7b57610d7a611656565b5b02179055506020820151815f0160016101000a81548160ff02191690836004811115610daa57610da9611656565b5b02179055506040820151815f0160026101000a81548163ffffffff021916908363ffffffff1602179055506060820151816001019081610dea91906122dc565b505050505060048160600151908060018154018082558091505060019003905f5260205f2090600502015f909190919091505f820151815f01556020820151816001015f6101000a81548160ff02191690836001811115610e4e57610e4d611656565b5b021790555060408201518160010160016101000a81548160ff021916908360ff16021790555060608201518160010160026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506080820151816002015560a0820151816003015f820151815f015f6101000a81548160ff02191690836007811115610ef657610ef5611656565b5b02179055506020820151815f0160016101000a81548160ff02191690836004811115610f2557610f24611656565b5b02179055506040820151815f0160026101000a81548163ffffffff021916908363ffffffff1602179055506060820151816001019081610f6591906122dc565b505050505060048160800151908060018154018082558091505060019003905f5260205f2090600502015f909190919091505f820151815f01556020820151816001015f6101000a81548160ff02191690836001811115610fc957610fc8611656565b5b021790555060408201518160010160016101000a81548160ff021916908360ff16021790555060608201518160010160026101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506080820151816002015560a0820151816003015f820151815f015f6101000a81548160ff0219169083600781111561107157611070611656565b5b02179055506020820151815f0160016101000a81548160ff021916908360048111156110a05761109f611656565b5b02179055506040820151815f0160026101000a81548163ffffffff021916908363ffffffff16021790555060608201518160010190816110e091906122dc565b50505050507fdc8145a6c863ebd27b18aa903b7f82f1015527a05a81f227ef06ab79616082b4815f0151826020015183604001518460600151856080015160405161112f9594939291906123ab565b60405180910390a150565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806111ac57506111ab826111d7565b5b9050919050565b5f6111bc610a18565b905080546001166111d45763d7e6bcf85f526004601cfd5b50565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6040518060c001604052805f80191681526020015f600181111561126757611266611656565b5b81526020015f60ff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f815260200161129f6112fd565b81525090565b6040518060a001604052805f60018111156112c3576112c2611656565b5b81526020015f80191681526020015f60ff1681526020015f73ffffffffffffffffffffffffffffffffffffffff1681526020015f81525090565b60405180608001604052805f600781111561131b5761131a611656565b5b81526020015f600481111561133357611332611656565b5b81526020015f63ffffffff168152602001606081525090565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6113918161135d565b811461139b575f80fd5b50565b5f813590506113ac81611388565b92915050565b5f602082840312156113c7576113c6611355565b5b5f6113d48482850161139e565b91505092915050565b5f8115159050919050565b6113f1816113dd565b82525050565b5f60208201905061140a5f8301846113e8565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261143157611430611410565b5b8235905067ffffffffffffffff81111561144e5761144d611414565b5b60208301915083600182028301111561146a57611469611418565b5b9250929050565b5f806020838503121561148757611486611355565b5b5f83013567ffffffffffffffff8111156114a4576114a3611359565b5b6114b08582860161141c565b92509250509250929050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6114fe826114bc565b61150881856114c6565b93506115188185602086016114d6565b611521816114e4565b840191505092915050565b5f60408201905061153f5f8301856113e8565b818103602083015261155181846114f4565b90509392505050565b6115638161135d565b82525050565b5f60208201905061157c5f83018461155a565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f819050919050565b5f6115c46115bf6115ba84611582565b6115a1565b611582565b9050919050565b5f6115d5826115aa565b9050919050565b5f6115e6826115cb565b9050919050565b6115f6816115dc565b82525050565b5f60208201905061160f5f8301846115ed565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f819050919050565b6116508161163e565b82525050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b6002811061169457611693611656565b5b50565b5f8190506116a482611683565b919050565b5f6116b382611697565b9050919050565b6116c3816116a9565b82525050565b5f60ff82169050919050565b6116de816116c9565b82525050565b5f6116ee82611582565b9050919050565b6116fe816116e4565b82525050565b5f819050919050565b61171681611704565b82525050565b6008811061172d5761172c611656565b5b50565b5f81905061173d8261171c565b919050565b5f61174c82611730565b9050919050565b61175c81611742565b82525050565b6005811061177357611772611656565b5b50565b5f81905061178382611762565b919050565b5f61179282611776565b9050919050565b6117a281611788565b82525050565b5f63ffffffff82169050919050565b6117c0816117a8565b82525050565b5f82825260208201905092915050565b5f6117e0826114bc565b6117ea81856117c6565b93506117fa8185602086016114d6565b611803816114e4565b840191505092915050565b5f608083015f8301516118235f860182611753565b5060208301516118366020860182611799565b50604083015161184960408601826117b7565b506060830151848203606086015261186182826117d6565b9150508091505092915050565b5f60c083015f8301516118835f860182611647565b50602083015161189660208601826116ba565b5060408301516118a960408601826116d5565b5060608301516118bc60608601826116f5565b5060808301516118cf608086018261170d565b5060a083015184820360a08601526118e7828261180e565b9150508091505092915050565b5f6118ff838361186e565b905092915050565b5f602082019050919050565b5f61191d82611615565b611927818561161f565b9350836020820285016119398561162f565b805f5b85811015611974578484038952815161195585826118f4565b945061196083611907565b925060208a0199505060018101905061193c565b50829750879550505050505092915050565b5f6020820190508181035f83015261199e8184611913565b905092915050565b6119af81611704565b81146119b9575f80fd5b50565b5f813590506119ca816119a6565b92915050565b5f602082840312156119e5576119e4611355565b5b5f6119f2848285016119bc565b91505092915050565b5f60c083015f830151611a105f860182611647565b506020830151611a2360208601826116ba565b506040830151611a3660408601826116d5565b506060830151611a4960608601826116f5565b506080830151611a5c608086018261170d565b5060a083015184820360a0860152611a74828261180e565b9150508091505092915050565b5f6020820190508181035f830152611a9981846119fb565b905092915050565b5f6020820190508181035f830152611ab981846114f4565b905092915050565b60a082015f820151611ad55f8501826116ba565b506020820151611ae86020850182611647565b506040820151611afb60408501826116d5565b506060820151611b0e60608501826116f5565b506080820151611b21608085018261170d565b50505050565b5f60a082019050611b3a5f830184611ac1565b92915050565b611b4981611704565b82525050565b5f602082019050611b625f830184611b40565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611ba2826114e4565b810181811067ffffffffffffffff82111715611bc157611bc0611b6c565b5b80604052505050565b5f611bd361134c565b9050611bdf8282611b99565b919050565b5f80fd5b60028110611bf4575f80fd5b50565b5f81359050611c0581611be8565b92915050565b611c148161163e565b8114611c1e575f80fd5b50565b5f81359050611c2f81611c0b565b92915050565b611c3e816116c9565b8114611c48575f80fd5b50565b5f81359050611c5981611c35565b92915050565b611c68816116e4565b8114611c72575f80fd5b50565b5f81359050611c8381611c5f565b92915050565b5f60a08284031215611c9e57611c9d611b68565b5b611ca860a0611bca565b90505f611cb784828501611bf7565b5f830152506020611cca84828501611c21565b6020830152506040611cde84828501611c4b565b6040830152506060611cf284828501611c75565b6060830152506080611d06848285016119bc565b60808301525092915050565b60088110611d1e575f80fd5b50565b5f81359050611d2f81611d12565b92915050565b60058110611d41575f80fd5b50565b5f81359050611d5281611d35565b92915050565b611d61816117a8565b8114611d6b575f80fd5b50565b5f81359050611d7c81611d58565b92915050565b5f80fd5b5f67ffffffffffffffff821115611da057611d9f611b6c565b5b611da9826114e4565b9050602081019050919050565b828183375f83830152505050565b5f611dd6611dd184611d86565b611bca565b905082815260208101848484011115611df257611df1611d82565b5b611dfd848285611db6565b509392505050565b5f82601f830112611e1957611e18611410565b5b8135611e29848260208601611dc4565b91505092915050565b5f60808284031215611e4757611e46611b68565b5b611e516080611bca565b90505f611e6084828501611d21565b5f830152506020611e7384828501611d44565b6020830152506040611e8784828501611d6e565b604083015250606082013567ffffffffffffffff811115611eab57611eaa611be4565b5b611eb784828501611e05565b60608301525092915050565b5f60c08284031215611ed857611ed7611b68565b5b611ee260c0611bca565b90505f611ef184828501611c21565b5f830152506020611f0484828501611bf7565b6020830152506040611f1884828501611c4b565b6040830152506060611f2c84828501611c75565b6060830152506080611f40848285016119bc565b60808301525060a082013567ffffffffffffffff811115611f6457611f63611be4565b5b611f7084828501611e32565b60a08301525092915050565b5f6101208284031215611f9257611f91611b68565b5b611f9c60a0611bca565b90505f611fab84828501611c89565b5f8301525060a082013567ffffffffffffffff811115611fce57611fcd611be4565b5b611fda84828501611ec3565b60208301525060c082013567ffffffffffffffff811115611ffe57611ffd611be4565b5b61200a84828501611ec3565b60408301525060e082013567ffffffffffffffff81111561202e5761202d611be4565b5b61203a84828501611ec3565b60608301525061010082013567ffffffffffffffff81111561205f5761205e611be4565b5b61206b84828501611ec3565b60808301525092915050565b5f6020828403121561208c5761208b611355565b5b5f82013567ffffffffffffffff8111156120a9576120a8611359565b5b6120b584828501611f7c565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061210257607f821691505b602082108103612115576121146120be565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026121a47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612169565b6121ae8683612169565b95508019841693508086168417925050509392505050565b5f6121e06121db6121d684611704565b6115a1565b611704565b9050919050565b5f819050919050565b6121f9836121c6565b61220d612205826121e7565b848454612175565b825550505050565b5f90565b612221612215565b61222c8184846121f0565b505050565b5b8181101561224f576122445f82612219565b600181019050612232565b5050565b601f8211156122945761226581612148565b61226e8461215a565b8101602085101561227d578190505b6122916122898561215a565b830182612231565b50505b505050565b5f82821c905092915050565b5f6122b45f1984600802612299565b1980831691505092915050565b5f6122cc83836122a5565b9150826002028217905092915050565b6122e5826114bc565b67ffffffffffffffff8111156122fe576122fd611b6c565b5b61230882546120eb565b612313828285612253565b5f60209050601f831160018114612344575f8415612332578287015190505b61233c85826122c1565b8655506123a3565b601f19841661235286612148565b5f5b8281101561237957848901518255600182019150602085019450602081019050612354565b868310156123965784890151612392601f8916826122a5565b8355505b6001600288020188555050505b505050505050565b5f610120820190506123bf5f830188611ac1565b81810360a08301526123d181876119fb565b905081810360c08301526123e581866119fb565b905081810360e08301526123f981856119fb565b905081810361010083015261240e81846119fb565b9050969550505050505056fea2646970667358221220c7ff4a150897568d1b0cf381b80c7477adfb1d4a61c0f1dbe23de1a9fd54af2f64736f6c634300081a0033",J={"0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef":{name:"Transfer",type:"event",inputs:[{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"uint256",indexed:!0}]},"Transfer(address indexed,address indexed,uint256 indexed)":{name:"Transfer",type:"event",inputs:[{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"uint256",indexed:!0}]},"0xb362243af1e2070d7d5bf8d713f2e0fab64203f1b71462afbe20572909788c5e":{name:"Purchased",type:"event",inputs:[{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"uint256",indexed:!0},{type:"uint256"},{type:"uint256"}]},"Purchased(address indexed,address indexed,uint256 indexed,uint256,uint256)":{name:"Purchased",type:"event",inputs:[{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"uint256",indexed:!0},{type:"uint256"},{type:"uint256"}]},"0x69e37f151eb98a09618ddaa80c8cfaf1ce5996867c489f45b555b412271ebf27":{name:"NameRegistered",type:"event",inputs:[{type:"string"},{type:"bytes32",indexed:!0},{type:"address",indexed:!0},{type:"uint256"},{type:"uint256"},{type:"uint256"}]},"NameRegistered(string,bytes32 indexed,address indexed,uint256,uint256,uint256)":{name:"NameRegistered",type:"event",inputs:[{type:"string"},{type:"bytes32",indexed:!0},{type:"address",indexed:!0},{type:"uint256"},{type:"uint256"},{type:"uint256"}]},"0x0667086d08417333ce63f40d5bc2ef6fd330e25aaaf317b7c489541f8fe600fa":{name:"NameRegistered",type:"event",inputs:[{type:"string"},{type:"bytes32",indexed:!0},{type:"address",indexed:!0},{type:"uint256"}]},"NameRegistered(string,bytes32 indexed,address indexed,uint256)":{name:"NameRegistered",type:"event",inputs:[{type:"string"},{type:"bytes32",indexed:!0},{type:"address",indexed:!0},{type:"uint256"}]},"0x3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f":{name:"DelegateChanged",type:"event",inputs:[{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"address",indexed:!0}]},"DelegateChanged(address indexed,address indexed,address indexed)":{name:"DelegateChanged",type:"event",inputs:[{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"address",indexed:!0}]},"0xe00361d207b252a464323eb23d45d42583e391f2031acdd2e9fa36efddd43cb0":{name:"SwappedV3",type:"event",inputs:[{type:"bytes16"},{type:"address"},{type:"uint256"},{type:"address"},{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"uint256"},{type:"uint256"},{type:"uint256"}]},"SwappedV3(bytes16,address,uint256,address,address indexed,address indexed,address indexed,uint256,uint256,uint256)":{name:"SwappedV3",type:"event",inputs:[{type:"bytes16"},{type:"address"},{type:"uint256"},{type:"address"},{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"uint256"},{type:"uint256"},{type:"uint256"}]},"0xb8e138887d0aa13bab447e82de9d5c1777041ecd21ca36ba824ff1e6c07ddda4":{name:"VoteCast",type:"event",inputs:[{type:"address",indexed:!0},{type:"uint256"},{type:"uint8"},{type:"uint256"},{type:"string"}]},"VoteCast(address indexed,uint256,uint8,uint256,string)":{name:"VoteCast",type:"event",inputs:[{type:"address",indexed:!0},{type:"uint256"},{type:"uint8"},{type:"uint256"},{type:"string"}]},"0x7ac572687bf4e66a8514fc2ec464fc2644c78bcb1d80a225fc51a33e0ee38bfa":{name:"Minted",type:"event",inputs:[{type:"uint8"},{type:"address"},{type:"uint256"},{type:"uint256"}]},"Minted(uint8,address,uint256,uint256)":{name:"Minted",type:"event",inputs:[{type:"uint8"},{type:"address"},{type:"uint256"},{type:"uint256"}]},"0x2a29f7402bd32f0e4bbe17d44be064f7f64d96ee174ed7cb27936d869bf9a888":{name:"Minted",type:"event",inputs:[{type:"address",indexed:!0},{type:"uint8"},{type:"uint8"},{type:"address",indexed:!0},{type:"tuple",components:[{type:"uint32"},{type:"uint256"},{type:"address"},{type:"uint32"},{type:"uint32"},{type:"uint32"},{type:"address"},{type:"bool"},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"uint256"}]},{type:"uint256",indexed:!0}]},"Minted(address indexed,uint8,uint8,address indexed,(uint32,uint256,address,uint32,uint32,uint32,address,bool,uint256,uint256,uint256,uint256,uint256),uint256 indexed)":{name:"Minted",type:"event",inputs:[{type:"address",indexed:!0},{type:"uint8"},{type:"uint8"},{type:"address",indexed:!0},{type:"tuple",components:[{type:"uint32"},{type:"uint256"},{type:"address"},{type:"uint32"},{type:"uint32"},{type:"uint32"},{type:"address"},{type:"bool"},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"uint256"}]},{type:"uint256",indexed:!0}]},"0xc773e203af3f3079b18c21f98bb8d8ccd2fea097d631d448df89de4edbe7a2a8":{name:"ZoraTimedSaleStrategyRewards",type:"event",inputs:[{type:"address",indexed:!0},{type:"uint256",indexed:!0},{type:"address"},{type:"uint256"},{type:"address"},{type:"uint256"},{type:"address"},{type:"uint256"},{type:"address"},{type:"uint256"},{type:"address"},{type:"uint256"}]},"ZoraTimedSaleStrategyRewards(address indexed,uint256 indexed,address,uint256,address,uint256,address,uint256,address,uint256,address,uint256)":{name:"ZoraTimedSaleStrategyRewards",type:"event",inputs:[{type:"address",indexed:!0},{type:"uint256",indexed:!0},{type:"address"},{type:"uint256"},{type:"address"},{type:"uint256"},{type:"address"},{type:"uint256"},{type:"address"},{type:"uint256"},{type:"address"},{type:"uint256"}]},"0x0f29bbf4ce25d2346bbeb8a898e24e5d6d7d1d19bb895e71faecac833b259547":{name:"BoostClaimed",type:"event",inputs:[{type:"uint256",indexed:!0},{type:"uint256",indexed:!0},{type:"address",indexed:!0},{type:"address"},{type:"bytes"}]},"BoostClaimed(uint256 indexed,uint256 indexed,address indexed,address,bytes)":{name:"BoostClaimed",type:"event",inputs:[{type:"uint256",indexed:!0},{type:"uint256",indexed:!0},{type:"address",indexed:!0},{type:"address"},{type:"bytes"}]},"0x116812d3ad4507d72f2c428b63246d594ca055a1dc119394285504c23d1f34cd":{name:"BoostCreated",type:"event",inputs:[{type:"uint256",indexed:!0},{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"uint256"},{type:"address"},{type:"address"},{type:"address"}]},"BoostCreated(uint256 indexed,address indexed,address indexed,uint256,address,address,address)":{name:"BoostCreated",type:"event",inputs:[{type:"uint256",indexed:!0},{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"uint256"},{type:"address"},{type:"address"},{type:"address"}]},"0x72d6b4b5ad0fb12b8a7bb3bcb60edd774c096403d611437859c156ecb3c03a36":{name:"SecondaryBuy",type:"event",inputs:[{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"uint256"},{type:"uint256"}]},"SecondaryBuy(address indexed,address indexed,address indexed,uint256,uint256)":{name:"SecondaryBuy",type:"event",inputs:[{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"uint256"},{type:"uint256"}]},"0x6779abc30cb1bfb05c1170de8e2ef5828c19a2590043d2fd9579d945929fd8a4":{name:"CoopTokenBuy",type:"event",inputs:[{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"string"},{type:"uint256"},{type:"uint8"}]},"CoopTokenBuy(address indexed,address indexed,address indexed,uint256,uint256,uint256,uint256,uint256,string,uint256,uint8)":{name:"CoopTokenBuy",type:"event",inputs:[{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"string"},{type:"uint256"},{type:"uint8"}]},"0x49c4606c4f7f601127761fb65a512e6bca424f62b165476cf1cfdfa51772a6ab":{name:"WowTokenBuy",type:"event",inputs:[{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"string"},{type:"uint256"},{type:"uint8"}]},"WowTokenBuy(address indexed,address indexed,address indexed,uint256,uint256,uint256,uint256,uint256,string,uint256,uint8)":{name:"WowTokenBuy",type:"event",inputs:[{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"string"},{type:"uint256"},{type:"uint8"}]},"0xeb3adfe7d8294092cd6b0e7ce95ed01c11d3c5d5d3dc1fecdeb87de43c5e40b2":{name:"CoopTokenSell",type:"event",inputs:[{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"string"},{type:"uint256"},{type:"uint8"}]},"CoopTokenSell(address indexed,address indexed,address indexed,uint256,uint256,uint256,uint256,uint256,string,uint256,uint8)":{name:"CoopTokenSell",type:"event",inputs:[{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"string"},{type:"uint256"},{type:"uint8"}]},"0x0693c83d190a3d36d2ed6c3ac51b1335d2a3588d96f3f3601c8b1e780d0f952a":{name:"WowTokenSell",type:"event",inputs:[{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"string"},{type:"uint256"},{type:"uint8"}]},"WowTokenSell(address indexed,address indexed,address indexed,uint256,uint256,uint256,uint256,uint256,string,uint256,uint8)":{name:"WowTokenSell",type:"event",inputs:[{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"string"},{type:"uint256"},{type:"uint8"}]},"0xd5468362e31bdcdc9884e72dcf3b00f9d46086067621224b7cb759308d597c6c":{name:"CoopTokenFees",type:"event",inputs:[{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"address"},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"uint256"}]},"CoopTokenFees(address indexed,address indexed,address indexed,address,uint256,uint256,uint256,uint256)":{name:"CoopTokenFees",type:"event",inputs:[{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"address"},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"uint256"}]},"0xf349fe0373a901f0506d5343f4a872f385a7f0c26371d7b9e6bf5584b69d75fc":{name:"WowTokenFees",type:"event",inputs:[{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"address"},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"uint256"}]},"WowTokenFees(address indexed,address indexed,address indexed,address,uint256,uint256,uint256,uint256)":{name:"WowTokenFees",type:"event",inputs:[{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"address"},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"uint256"}]},"0x3be2a577c218a9e2fca79115ab0381630afc182ee832bcad4011c37d323b4843":{name:"CoopTokenTransfer",type:"event",inputs:[{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"uint256"}]},"CoopTokenTransfer(address indexed,address indexed,uint256,uint256,uint256,uint256)":{name:"CoopTokenTransfer",type:"event",inputs:[{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"uint256"}]},"0xd19736ba1cd2ffc8c99f90d6c6163e59274d333c89e471cd6668d93849835ac5":{name:"WowTokenTransfer",type:"event",inputs:[{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"uint256"}]},"WowTokenTransfer(address indexed,address indexed,uint256,uint256,uint256,uint256)":{name:"WowTokenTransfer",type:"event",inputs:[{type:"address",indexed:!0},{type:"address",indexed:!0},{type:"uint256"},{type:"uint256"},{type:"uint256"},{type:"uint256"}]},"0x883a883a9ea847654d33471b1e5fb2dea76a2cfc86a6cc7da6c14102800e4d0b":{name:"InfoIndexed",type:"event",inputs:[{type:"address",indexed:!0},{type:"string",indexed:!0}]},"InfoIndexed(address indexed,string indexed)":{name:"InfoIndexed",type:"event",inputs:[{type:"address",indexed:!0},{type:"string",indexed:!0}]},"0xe46343e36b0721f173bdc76b8f25c08b04f417df09c27e1e83ba1980007fef8c":{name:"Info",type:"event",inputs:[{type:"address"},{type:"string"}]},"Info(address,string)":{name:"Info",type:"event",inputs:[{type:"address"},{type:"string"}]}},m=Symbol.for("@ts-pattern/matcher"),f0=Symbol.for("@ts-pattern/isVariadic"),_="@ts-pattern/anonymous-select-key",L=t=>!!(t&&typeof t=="object"),R=t=>t&&!!t[m],g=(t,f,e)=>{if(R(t)){const n=t[m](),{matched:d,selections:i}=n.match(f);return d&&i&&Object.keys(i).forEach(a=>e(a,i[a])),d}if(L(t)){if(!L(f))return!1;if(Array.isArray(t)){if(!Array.isArray(f))return!1;let n=[],d=[],i=[];for(const a of t.keys()){const r=t[a];R(r)&&r[f0]?i.push(r):i.length?d.push(r):n.push(r)}if(i.length){if(i.length>1)throw new Error("Pattern error: Using `...P.array(...)` several times in a single pattern is not allowed.");if(f.length<n.length+d.length)return!1;const a=f.slice(0,n.length),r=d.length===0?[]:f.slice(-d.length),s=f.slice(n.length,d.length===0?1/0:-d.length);return n.every((p,S)=>g(p,a[S],e))&&d.every((p,S)=>g(p,r[S],e))&&(i.length===0||g(i[0],s,e))}return t.length===f.length&&t.every((a,r)=>g(a,f[r],e))}return Reflect.ownKeys(t).every(n=>{const d=t[n];return(n in f||R(i=d)&&i[m]().matcherType==="optional")&&g(d,f[n],e);var i})}return Object.is(f,t)},E=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)?k(t,E):k(Object.values(t),E):[]},k=(t,f)=>t.reduce((e,n)=>e.concat(f(n)),[]);function y(t){return Object.assign(t,{optional:()=>e0(t),and:f=>c(t,f),or:f=>t0(t,f),select:f=>f===void 0?H(t):H(f,t)})}function e0(t){return y({[m]:()=>({match:f=>{let e={};const n=(d,i)=>{e[d]=i};return f===void 0?(E(t).forEach(d=>n(d,void 0)),{matched:!0,selections:e}):{matched:g(t,f,n),selections:e}},getSelectionKeys:()=>E(t),matcherType:"optional"})})}function c(...t){return y({[m]:()=>({match:f=>{let e={};const n=(d,i)=>{e[d]=i};return{matched:t.every(d=>g(d,f,n)),selections:e}},getSelectionKeys:()=>k(t,E),matcherType:"and"})})}function t0(...t){return y({[m]:()=>({match:f=>{let e={};const n=(d,i)=>{e[d]=i};return k(t,E).forEach(d=>n(d,void 0)),{matched:t.some(d=>g(d,f,n)),selections:e}},getSelectionKeys:()=>k(t,E),matcherType:"or"})})}function b(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 y({[m]:()=>({match:n=>{let d={[f??_]:n};return{matched:e===void 0||g(e,n,(i,a)=>{d[i]=a}),selections:d}},getSelectionKeys:()=>[f??_].concat(e===void 0?[]:E(e))})})}function l(t){return typeof t=="number"}function A(t){return typeof t=="string"}function v(t){return typeof t=="bigint"}y(b(function(t){return!0}));const T=t=>Object.assign(y(t),{startsWith:f=>{return T(c(t,(e=f,b(n=>A(n)&&n.startsWith(e)))));var e},endsWith:f=>{return T(c(t,(e=f,b(n=>A(n)&&n.endsWith(e)))));var e},minLength:f=>T(c(t,(e=>b(n=>A(n)&&n.length>=e))(f))),length:f=>T(c(t,(e=>b(n=>A(n)&&n.length===e))(f))),maxLength:f=>T(c(t,(e=>b(n=>A(n)&&n.length<=e))(f))),includes:f=>{return T(c(t,(e=f,b(n=>A(n)&&n.includes(e)))));var e},regex:f=>{return T(c(t,(e=f,b(n=>A(n)&&!!n.match(e)))));var e}});T(b(A));const h=t=>Object.assign(y(t),{between:(f,e)=>h(c(t,((n,d)=>b(i=>l(i)&&n<=i&&d>=i))(f,e))),lt:f=>h(c(t,(e=>b(n=>l(n)&&n<e))(f))),gt:f=>h(c(t,(e=>b(n=>l(n)&&n>e))(f))),lte:f=>h(c(t,(e=>b(n=>l(n)&&n<=e))(f))),gte:f=>h(c(t,(e=>b(n=>l(n)&&n>=e))(f))),int:()=>h(c(t,b(f=>l(f)&&Number.isInteger(f)))),finite:()=>h(c(t,b(f=>l(f)&&Number.isFinite(f)))),positive:()=>h(c(t,b(f=>l(f)&&f>0))),negative:()=>h(c(t,b(f=>l(f)&&f<0)))});h(b(l));const w=t=>Object.assign(y(t),{between:(f,e)=>w(c(t,((n,d)=>b(i=>v(i)&&n<=i&&d>=i))(f,e))),lt:f=>w(c(t,(e=>b(n=>v(n)&&n<e))(f))),gt:f=>w(c(t,(e=>b(n=>v(n)&&n>e))(f))),lte:f=>w(c(t,(e=>b(n=>v(n)&&n<=e))(f))),gte:f=>w(c(t,(e=>b(n=>v(n)&&n>=e))(f))),positive:()=>w(c(t,b(f=>v(f)&&f>0))),negative:()=>w(c(t,b(f=>v(f)&&f<0)))});w(b(v));y(b(function(t){return typeof t=="boolean"}));y(b(function(t){return typeof t=="symbol"}));y(b(function(t){return t==null}));y(b(function(t){return t!=null}));class n0 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 F(t){return new D(t,U)}class D{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 d;f.length===3&&typeof f[1]=="function"?d=f[1]:f.length>2&&n.push(...f.slice(1,f.length-1));let i=!1,a={};const r=(p,S)=>{i=!0,a[p]=S},s=!n.some(p=>g(p,this.input,r))||d&&!d(this.input)?U:{matched:!0,value:e(i?_ in a?a[_]:a:this.input,this.input)};return new D(this.input,s)}when(f,e){if(this.state.matched)return this;const n=!!f(this.input);return new D(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 n0(this.input)}run(){return this.exhaustive()}returnType(){return this}}var V=(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))(V||{}),q=(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))(q||{}),G=(t=>(t[t.EVENT=0]="EVENT",t[t.FUNC=1]="FUNC",t))(G||{});function z(t){return Array.isArray(t.actionSteps)}const P=class P extends $.DeployableTarget{constructor(){super(...arguments),this.abi=I.ae}async getActionStep(f,e){return(await this.getActionSteps(e)).at(f)}async getActionSteps(f){const e=await I.m6(this._config,{address:this.assertValidAddress(),...this.optionallyAttachAccount(),...f});return i0(e.map(O))}async getActionStepsCount(f){return(await this.getActionSteps(f)).length}async getActionClaimant(f){const e=await I.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:d}=await I.h6(this._config,{address:this.assertValidAddress(),...this.optionallyAttachAccount(),...e,args:[f]});return{hash:await I.A6(this._config,n),result:d}}async deriveActionClaimantFromTransaction(f,e){if(f.fieldIndex===x.CheatCodes.TX_SENDER_CLAIMANT){if("hash"in e){const d=await N.getTransaction(this._config,{...e,chainId:f.chainid});return e.notBeforeBlockNumber&&d.blockNumber<e.notBeforeBlockNumber?void 0:d.from}if("logs"in e){for(let d of e.logs)if(d.transactionHash){const i=await N.getTransaction(this._config,{...e,hash:d.transactionHash,chainId:f.chainid});return e.notBeforeBlockNumber&&i.blockNumber<e.notBeforeBlockNumber?void 0:i.from}}return}const n=f.signature;if(f.signatureType===0){let d;if(e.abiItem?d=e.abiItem:d=e.knownSignatures[n],!d)throw new u.ValidationAbiMissingError(n);let i;if("logs"in e){for(let s of e.logs){if(!o.isAddressEqual(s.address,f.targetContract))continue;let p=this.validateClaimantAgainstArgs(f,s);p&&(i=p)}return i}const a=await N.getTransactionReceipt(this._config,{...e,chainId:f.chainid});if(e.notBeforeBlockNumber&&a.blockNumber<e.notBeforeBlockNumber)return;let r;n===x.TRANSFER_SIGNATURE?{decodedLogs:r}=await this.decodeTransferLogs(a):r=a.logs.filter(s=>s.topics[0]===o.toEventSelector(d)).map(s=>M(d,s));for(let s of r){if(!o.isAddressEqual(s.address,f.targetContract))continue;let p=this.validateClaimantAgainstArgs(f,s);p&&(i=p)}return i}if(f.signatureType===1&&"hash"in e){const d=await N.getTransaction(this._config,{...e,chainId:f.chainid});if(e.notBeforeBlockNumber&&d.blockNumber<e.notBeforeBlockNumber||!o.isAddressEqual(d.to,f.targetContract))return;let i;if(e.abiItem?i=e.abiItem:i=e.knownSignatures[n],!i)throw new u.ValidationAbiMissingError(f.signature);let a;try{a=o.decodeFunctionData({abi:[i],data:d.input})}catch(r){throw new u.FunctionDataDecodeError([i],r)}return this.validateClaimantAgainstArgs(f,a)}}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(o.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 d;if(e.abiItem?d=e.abiItem:d=e.knownSignatures[n],!d)throw new u.ValidationAbiMissingError(n);if(this.isArraylikeIndexed(f,d))throw new u.UnparseableAbiParamError(f.actionParameter.fieldIndex,d);if("logs"in e)return this.isActionEventValid(f,e.logs,d);const i=await N.getTransactionReceipt(this._config,{...e,chainId:f.chainid});if(e.notBeforeBlockNumber&&i.blockNumber<e.notBeforeBlockNumber)return!1;if(f.signature===x.TRANSFER_SIGNATURE){const{decodedLogs:r,event:s}=await this.decodeTransferLogs(i);return this.isActionEventValid(f,r,s)}const a=i.logs.filter(r=>r.topics[0]===o.toEventSelector(d)).map(r=>M(d,r));return this.isActionEventValid(f,a,d)}if(f.signatureType===1&&"hash"in e){const n=await N.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 d=f.actionParameter;if(!e.length)return!1;for(let i of e)try{if(!Array.isArray(i.args))throw new u.DecodedArgsMalformedError({log:i,criteria:d,fieldValue:void 0});const{value:a,type:r}=this.parseFieldFromAbi(i.args,d.fieldIndex,n.inputs||[],d.fieldType);if(d.fieldType=r,this.validateFieldAgainstCriteria(d,a,{log:i}))return!0}catch{}return!1}async decodeTransferLogs(f){const e=f.logs.filter(d=>d.topics[0]===x.TRANSFER_SIGNATURE),n=J["Transfer(address indexed,address indexed,uint256 indexed)"];try{return{decodedLogs:e.map(i=>{const{eventName:a,args:r}=o.decodeEventLog({abi:[n],data:i.data,topics:i.topics});return{...i,eventName:a,args:r}}),event:n}}catch{try{return n.inputs[2].indexed=!1,{decodedLogs:e.map(i=>{const{eventName:a,args:r}=o.decodeEventLog({abi:[n],data:i.data,topics:i.topics});return{...i,eventName:a,args:r}}),event:n}}catch{throw new u.DecodedArgsError("Failed to decode transfer logs")}}}parseFieldFromAbi(f,e,n,d){if(e===x.CheatCodes.ANY_ACTION_PARAM)return{value:o.zeroHash,type:2};if(d!==4){if(!Array.isArray(f)||e>=f.length)throw new u.FieldValueUndefinedError({fieldValue:f,criteria:{filterType:0,fieldType:d,fieldIndex:e,filterData:o.zeroHash}});const a=n[e];if(!a||!a.type)throw new u.UnparseableAbiParamError(e,a);const r=f[e],s=Q(a.type);if(s===1&&(typeof r!="string"||!o.isAddress(r)))throw new u.FieldValueUndefinedError({fieldValue:r,criteria:{fieldIndex:e,filterType:0,fieldType:s,filterData:o.zeroHash}});return{value:r,type:s}}const i=K(e);return j(f,i,n)}isActionFunctionValid(f,e,n){const d=f.actionParameter,i=f.signature;let a;if(n.abiItem?a=n.abiItem:a=n.knownSignatures[i],!a)throw new u.ValidationAbiMissingError(i);let r;try{r=o.decodeFunctionData({abi:[a],data:e.input})}catch(s){throw new u.FunctionDataDecodeError([a],s)}if(!(r!=null&&r.args))return!1;try{const{value:s,type:p}=this.parseFieldFromAbi(r.args,d.fieldIndex,a.inputs||[],d.fieldType);return d.fieldType=p,this.validateFieldAgainstCriteria(d,s,{decodedArgs:r.args})}catch{return!1}}validateFieldAgainstCriteria(f,e,n){if(f.filterType===0&&f.fieldType===2&&f.fieldIndex===x.CheatCodes.ANY_ACTION_PARAM)return!0;if(f.fieldType===4)throw new u.InvalidTupleDecodingError("Tuples should not be passed into validateFieldAgainstCriteria");const d=f.fieldType;switch(f.filterType){case 0:return F(d).with(1,()=>o.isAddressEqual(f.filterData,e)).with(0,()=>BigInt(e)===BigInt(f.filterData)).with(3,()=>e===o.fromHex(f.filterData,"string")).otherwise(()=>e===f.filterData);case 1:return F(d).with(1,()=>!o.isAddressEqual(f.filterData,e)).with(0,()=>BigInt(e)!==BigInt(f.filterData)).with(3,()=>e!==o.fromHex(f.filterData,"string")).otherwise(()=>e!==f.filterData);case 2:if(d===0)return BigInt(e)>BigInt(f.filterData);throw new u.InvalidNumericalCriteriaError({...n,criteria:f,fieldValue:e});case 6:if(d===0)return BigInt(e)>=BigInt(f.filterData);throw new u.InvalidNumericalCriteriaError({...n,criteria:f,fieldValue:e});case 3:if(d===0)return BigInt(e)<BigInt(f.filterData);throw new u.InvalidNumericalCriteriaError({...n,criteria:f,fieldValue:e});case 7:if(d===0)return BigInt(e)<=BigInt(f.filterData);throw new u.InvalidNumericalCriteriaError({...n,criteria:f,fieldValue:e});case 4:if(d===2||d===3){let i;return d===3?i=o.fromHex(f.filterData,"string"):i=f.filterData.slice(2),e.includes(i)}throw new u.FieldValueNotComparableError({...n,criteria:f,fieldValue:e});case 5:if(typeof e!="string")throw new u.FieldValueNotComparableError({...n,criteria:f,fieldValue:e});if(d===3){const i=o.fromHex(f.filterData,"string");return new RegExp(i).test(e)}default:throw new u.UnrecognizedFilterTypeError({...n,criteria:f,fieldValue:e})}}buildParameters(f,e){const[n,d]=this.validateDeploymentConfig(f,e);let i;if(z(n)){let a=n.actionSteps.filter(s=>!!s);if(a.length===0)throw new u.NoEventActionStepsProvidedError;if(a.length>4)throw new u.TooManyEventActionStepsProvidedError;let r=Array.from({length:4},(s,p)=>a.at(p)||a.at(-1));i={actionClaimant:n.actionClaimant,actionStepOne:r[0],actionStepTwo:r[1],actionStepThree:r[2],actionStepFour:r[3]}}else i=n;return{abi:I.ae,bytecode:Z,args:[X(i)],...this.optionallyAttachAccount(d.account)}}isArraylikeIndexed(f,e){var n;return!!((f.actionParameter.fieldType===3||f.actionParameter.fieldType===2)&&((n=e.inputs[f.actionParameter.fieldIndex])!=null&&n.indexed))}};P.bases={31337:void 0,...Y.EventAction},P.registryType=x.RegistryType.ACTION;let W=P;function d0(t){return t.type==="tuple"||t.type.startsWith("tuple[")}function j(t,f,e){if(!f.length)throw new u.InvalidTupleDecodingError("No indexes found; cannot parse TUPLE field");const n=f[0]??e.length+1;if(n>=e.length)throw new u.InvalidTupleDecodingError(void 0,n);const d=e[n],i=t[n];if(!d0(d)){const s=Q(d.type);return{value:i,type:s}}if(!Array.isArray(i))throw new u.InvalidTupleDecodingError("rawValue is not an array, but param.type is tuple");const a=f.slice(1);if(!a.length)throw new u.InvalidTupleDecodingError(void 0,-1);const r=a[0]??d.components.length+1;if(r>=d.components.length)throw new u.InvalidTupleDecodingError(void 0,r);return j(i,a,d.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 u.DecodedArgsError(`Unrecognized ABI type: ${t}`)}function i0(t){const f=[],e={};for(let n of t){const d=JSON.stringify(n);e[d]||(f.push(n),e[d]=!0)}return f}function B(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 X({actionClaimant:t,actionStepOne:f,actionStepTwo:e,actionStepThree:n,actionStepFour:d}){return o.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:B(t),actionStepOne:{...B(f),actionType:f.actionType||0},actionStepTwo:{...B(e),actionType:e.actionType||0},actionStepThree:{...B(n),actionType:n.actionType||0},actionStepFour:{...B(d),actionType:d.actionType||0}}])}function a0(){return{filterType:0,fieldType:2,fieldIndex:x.CheatCodes.ANY_ACTION_PARAM,filterData:o.zeroHash}}function r0(t){return{signatureType:0,signature:o.zeroHash,fieldIndex:x.CheatCodes.TX_SENDER_CLAIMANT,targetContract:o.zeroAddress,chainid:t}}const C=63;function s0(t){if(t.length>5)throw new u.InvalidTupleEncodingError("Can only pack up to 5 indexes.");let f=0;return t.forEach((e,n)=>{if(e>C)throw new u.InvalidTupleEncodingError(`Index ${e} exceeds the maximum allowed value (${C}).`);f|=(e&C)<<n*6}),t.length<5&&(f|=C<<t.length*6),f}function K(t){const f=[];for(let e=0;e<5;e++){const n=t>>e*6&C;if(n===C)break;f.push(n)}return f}function M(t,f){const e=o.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{...f,...e};const d=[],i=[];for(let s=0;s<t.inputs.length;s++)t.inputs[s].indexed?d.push(s):i.push(s);const a=Array.from({length:t.inputs.length});let r=0;for(let s=0;s<d.length;s++)a[d[s]]=n[r++];for(let s=0;s<i.length;s++)a[i[s]]=n[r++];return{...f,eventName:e.eventName,args:a}}exports.EventAction=W;exports.FilterType=V;exports.PrimitiveType=q;exports.SignatureType=G;exports.anyActionParameter=a0;exports.decodeAndReorderLogArgs=M;exports.isEventActionPayloadSimple=z;exports.packFieldIndexes=s0;exports.prepareEventActionPayload=X;exports.transactionSenderClaimant=r0;exports.unpackFieldIndexes=K;
2
2
  //# sourceMappingURL=EventAction.cjs.map