@boostxyz/sdk 0.0.0-alpha.10 → 0.0.0-alpha.11

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 (76) hide show
  1. package/dist/Actions/Action.js +1 -1
  2. package/dist/AllowLists/AllowList.cjs +1 -1
  3. package/dist/AllowLists/AllowList.cjs.map +1 -1
  4. package/dist/AllowLists/AllowList.d.ts +6 -4
  5. package/dist/AllowLists/AllowList.d.ts.map +1 -1
  6. package/dist/AllowLists/AllowList.js +45 -23
  7. package/dist/AllowLists/AllowList.js.map +1 -1
  8. package/dist/AllowLists/OpenAllowList.d.ts +240 -0
  9. package/dist/AllowLists/OpenAllowList.d.ts.map +1 -0
  10. package/dist/AllowLists/SimpleDenyList.cjs +1 -1
  11. package/dist/AllowLists/SimpleDenyList.cjs.map +1 -1
  12. package/dist/AllowLists/SimpleDenyList.d.ts +2 -2
  13. package/dist/AllowLists/SimpleDenyList.d.ts.map +1 -1
  14. package/dist/AllowLists/SimpleDenyList.js +9 -111
  15. package/dist/AllowLists/SimpleDenyList.js.map +1 -1
  16. package/dist/BoostCore.cjs +2 -2
  17. package/dist/BoostCore.cjs.map +1 -1
  18. package/dist/BoostCore.d.ts +14 -1
  19. package/dist/BoostCore.d.ts.map +1 -1
  20. package/dist/BoostCore.js +169 -151
  21. package/dist/BoostCore.js.map +1 -1
  22. package/dist/Budgets/Budget.js +1 -1
  23. package/dist/Budgets/ManagedBudget.cjs +1 -1
  24. package/dist/Budgets/ManagedBudget.cjs.map +1 -1
  25. package/dist/Budgets/ManagedBudget.d.ts +29 -27
  26. package/dist/Budgets/ManagedBudget.d.ts.map +1 -1
  27. package/dist/Budgets/ManagedBudget.js +78 -77
  28. package/dist/Budgets/ManagedBudget.js.map +1 -1
  29. package/dist/Budgets/SimpleBudget.d.ts +6 -6
  30. package/dist/Budgets/SimpleBudget.d.ts.map +1 -1
  31. package/dist/Budgets/VestingBudget.d.ts +6 -6
  32. package/dist/Budgets/VestingBudget.d.ts.map +1 -1
  33. package/dist/Deployable/DeployableTarget.cjs.map +1 -1
  34. package/dist/Deployable/DeployableTarget.d.ts +1 -1
  35. package/dist/Deployable/DeployableTarget.d.ts.map +1 -1
  36. package/dist/Deployable/DeployableTarget.js.map +1 -1
  37. package/dist/Incentives/AllowListIncentive.cjs +1 -1
  38. package/dist/Incentives/AllowListIncentive.cjs.map +1 -1
  39. package/dist/Incentives/AllowListIncentive.js +1 -1
  40. package/dist/Incentives/ERC20VariableIncentive.d.ts +5 -5
  41. package/dist/Incentives/Incentive.cjs.map +1 -1
  42. package/dist/Incentives/Incentive.js +4 -4
  43. package/dist/Incentives/Incentive.js.map +1 -1
  44. package/dist/SimpleDenyList-4PtOPXTc.js +112 -0
  45. package/dist/SimpleDenyList-4PtOPXTc.js.map +1 -0
  46. package/dist/SimpleDenyList-CqT0BMP7.cjs +2 -0
  47. package/dist/SimpleDenyList-CqT0BMP7.cjs.map +1 -0
  48. package/dist/Validators/Validator.js +1 -1
  49. package/dist/{componentInterfaces-DYkaxBda.js → componentInterfaces-Cmg8tUxq.js} +5 -5
  50. package/dist/componentInterfaces-Cmg8tUxq.js.map +1 -0
  51. package/dist/index.cjs +1 -1
  52. package/dist/index.js +88 -87
  53. package/package.json +4 -3
  54. package/src/Actions/Action.test.ts +1 -1
  55. package/src/Actions/ContractAction.test.ts +3 -3
  56. package/src/Actions/ERC721MintAction.test.ts +1 -1
  57. package/src/Actions/EventAction.test.ts +1 -1
  58. package/src/AllowLists/AllowList.test.ts +2 -2
  59. package/src/AllowLists/AllowList.ts +5 -3
  60. package/src/AllowLists/OpenAllowList.test.ts +40 -0
  61. package/src/AllowLists/OpenAllowList.ts +45 -0
  62. package/src/AllowLists/SimpleAllowList.test.ts +1 -1
  63. package/src/AllowLists/SimpleDenyList.test.ts +1 -1
  64. package/src/AllowLists/SimpleDenyList.ts +6 -9
  65. package/src/BoostCore.ts +19 -0
  66. package/src/Budgets/ManagedBudget.test.ts +70 -7
  67. package/src/Budgets/ManagedBudget.ts +42 -31
  68. package/src/Budgets/SimpleBudget.test.ts +3 -3
  69. package/src/Budgets/SimpleBudget.ts +6 -6
  70. package/src/Budgets/VestingBudget.test.ts +3 -3
  71. package/src/Budgets/VestingBudget.ts +6 -6
  72. package/src/Deployable/DeployableTarget.ts +1 -1
  73. package/src/Incentives/AllowListIncentive.test.ts +1 -1
  74. package/src/Incentives/ERC20VariableIncentive.ts +5 -5
  75. package/src/Validators/SignerValidator.test.ts +1 -1
  76. package/dist/componentInterfaces-DYkaxBda.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { X as c } from "../generated-BDeDiaCK.js";
2
- import { A as i } from "../componentInterfaces-DYkaxBda.js";
2
+ import { A as i } from "../componentInterfaces-Cmg8tUxq.js";
3
3
  import { readContract as m } from "@wagmi/core";
4
4
  import { InvalidComponentInterfaceError as a } from "../errors.js";
5
5
  import { EventAction as f } from "./EventAction.js";
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("../generated-wKBNvm48.cjs"),r=require("../componentInterfaces-CKCBwG16.cjs"),m=require("@wagmi/core"),a=require("../errors.cjs"),l=require("./SimpleAllowList.cjs"),s=require("./SimpleDenyList.cjs"),e={[r.ASimpleAllowList]:l.SimpleAllowList,[r.ASimpleDenyList]:s.SimpleDenyList};async function p(t,n){const o=await m.readContract(t.config,{abi:c.oe,functionName:"getComponentInterface",address:n}),i=e[o];if(!i)throw new a.InvalidComponentInterfaceError(Object.keys(e),o);return new i(t,n)}exports.SimpleAllowList=l.SimpleAllowList;exports.SimpleDenyList=s.SimpleDenyList;exports.AllowListByComponentInterface=e;exports.allowListFromAddress=p;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("../generated-wKBNvm48.cjs"),l=require("../componentInterfaces-CKCBwG16.cjs"),p=require("@wagmi/core"),m=require("../errors.cjs"),e=require("../SimpleDenyList-CqT0BMP7.cjs"),d=require("viem"),c=require("./SimpleAllowList.cjs"),y=s.S;class L extends e.SimpleDenyList{buildParameters(n,t){const[i,a]=this.validateDeploymentConfig({},t);return{abi:y,bytecode:e.bytecode,args:[e.prepareSimpleDenyListPayload({owner:d.zeroAddress,denied:[]})],...this.optionallyAttachAccount(a.account)}}}const r={[l.ASimpleAllowList]:c.SimpleAllowList,[l.ASimpleDenyList]:e.SimpleDenyList};async function A(o,n){const t=await p.readContract(o.config,{abi:s.oe,functionName:"getComponentInterface",address:n}),i=r[t];if(!i)throw new m.InvalidComponentInterfaceError(Object.keys(r),t);return new i(o,n)}exports.SimpleDenyList=e.SimpleDenyList;exports.SimpleAllowList=c.SimpleAllowList;exports.AllowListByComponentInterface=r;exports.OpenAllowList=L;exports.allowListFromAddress=A;
2
2
  //# sourceMappingURL=AllowList.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"AllowList.cjs","sources":["../../src/AllowLists/AllowList.ts"],"sourcesContent":["import { aAllowListAbi } from '@boostxyz/evm';\nimport {\n ASimpleAllowList,\n ASimpleDenyList,\n} from '@boostxyz/evm/deploys/componentInterfaces.json';\nimport { readContract } from '@wagmi/core';\nimport type { Address, Hex } from 'viem';\nimport type { DeployableOptions } from '../Deployable/Deployable';\nimport { InvalidComponentInterfaceError } from '../errors';\nimport { SimpleAllowList } from './SimpleAllowList';\nimport { SimpleDenyList } from './SimpleDenyList';\n\nexport { SimpleAllowList, SimpleDenyList };\n\n/**\n * A union type representing all valid protocol AllowList implementations\n *\n * @export\n * @typedef {AllowList}\n */\nexport type AllowList = SimpleAllowList | SimpleDenyList;\n\n/**\n * A map of AllowList component interfaces to their constructors.\n *\n * @type {{ \"0x2bc9016b\": SimpleAllowList; \"0x9d585f63\": SimpleDenyList; }}\n */\nexport const AllowListByComponentInterface = {\n [ASimpleAllowList as Hex]: SimpleAllowList,\n [ASimpleDenyList as Hex]: SimpleDenyList,\n};\n\n/**\n * A function that will read a contract's component interface using `getComponentInterface` and return the correct instantiated instance.\n *\n * @export\n * @async\n * @param {DeployableOptions} options\n * @param {Address} address\n * @returns {Promise<SimpleAllowList | SimpleDenyList>}\n * @throws {@link InvalidComponentInterfaceError}\n */\nexport async function allowListFromAddress(\n options: DeployableOptions,\n address: Address,\n) {\n const interfaceId = (await readContract(options.config, {\n abi: aAllowListAbi,\n functionName: 'getComponentInterface',\n address,\n })) as keyof typeof AllowListByComponentInterface;\n const Ctor = AllowListByComponentInterface[interfaceId];\n if (!Ctor) {\n throw new InvalidComponentInterfaceError(\n Object.keys(AllowListByComponentInterface) as Hex[],\n interfaceId as Hex,\n );\n }\n return new Ctor(options, address);\n}\n"],"names":["AllowListByComponentInterface","ASimpleAllowList","SimpleAllowList","ASimpleDenyList","SimpleDenyList","allowListFromAddress","options","address","interfaceId","readContract","aAllowListAbi","Ctor","InvalidComponentInterfaceError"],"mappings":"uSA2BaA,EAAgC,CAC3C,CAACC,EAAuB,gBAAA,EAAGC,EAAA,gBAC3B,CAACC,EAAsB,eAAA,EAAGC,EAAA,cAC5B,EAYsB,eAAAC,EACpBC,EACAC,EACA,CACA,MAAMC,EAAe,MAAMC,eAAaH,EAAQ,OAAQ,CACtD,IAAKI,EAAA,GACL,aAAc,wBACd,QAAAH,CAAA,CACD,EACKI,EAAOX,EAA8BQ,CAAW,EACtD,GAAI,CAACG,EACH,MAAM,IAAIC,EAAA,+BACR,OAAO,KAAKZ,CAA6B,EACzCQ,CAAA,EAGG,OAAA,IAAIG,EAAKL,EAASC,CAAO,CAClC"}
1
+ {"version":3,"file":"AllowList.cjs","sources":["../../src/AllowLists/OpenAllowList.ts","../../src/AllowLists/AllowList.ts"],"sourcesContent":["import { simpleDenyListAbi } from '@boostxyz/evm';\nimport { bytecode } from '@boostxyz/evm/artifacts/contracts/allowlists/SimpleDenyList.sol/SimpleDenyList.json';\nimport { type Hex, zeroAddress } from 'viem';\nimport type {\n DeployableOptions,\n GenericDeployableParams,\n} from '../Deployable/Deployable';\nimport {\n SimpleDenyList,\n type SimpleDenyListPayload,\n prepareSimpleDenyListPayload,\n} from './SimpleDenyList';\n\nexport const openAllowListAbi = simpleDenyListAbi;\n\n/**\n * A simple AllowList, extending {@link DenyList}, that is ownerless and allows anyone to claim.\n *\n * @export\n * @class OpenAllowList\n * @typedef {OpenAllowList}\n * @extends {DeployableTarget<OpenAllowListPayload>}\n */\nexport class OpenAllowList extends SimpleDenyList<undefined> {\n /**\n * @inheritdoc\n *\n * @public\n * @param {?SimpleDenyListPayload} [_payload]\n * @param {?DeployableOptions} [_options]\n * @returns {GenericDeployableParams}\n */\n public override buildParameters(\n _payload?: SimpleDenyListPayload,\n _options?: DeployableOptions,\n ): GenericDeployableParams {\n const [_, options] = this.validateDeploymentConfig({}, _options);\n return {\n abi: openAllowListAbi,\n bytecode: bytecode as Hex,\n args: [prepareSimpleDenyListPayload({ owner: zeroAddress, denied: [] })],\n ...this.optionallyAttachAccount(options.account),\n };\n }\n}\n","import { aAllowListAbi } from '@boostxyz/evm';\nimport {\n ASimpleAllowList,\n ASimpleDenyList,\n} from '@boostxyz/evm/deploys/componentInterfaces.json';\nimport { readContract } from '@wagmi/core';\nimport type { Address, Hex } from 'viem';\nimport type { DeployableOptions } from '../Deployable/Deployable';\nimport { InvalidComponentInterfaceError } from '../errors';\nimport { OpenAllowList } from './OpenAllowList';\nimport { SimpleAllowList } from './SimpleAllowList';\nimport { SimpleDenyList } from './SimpleDenyList';\n\nexport { OpenAllowList, SimpleAllowList, SimpleDenyList };\n\n/**\n * A union type representing all valid protocol AllowList implementations\n *\n * @export\n * @typedef {AllowList}\n */\nexport type AllowList = OpenAllowList | SimpleAllowList | SimpleDenyList;\n\n/**\n * A map of AllowList component interfaces to their constructors.\n *\n * @type {{ \"0x2bc9016b\": SimpleAllowList; \"0x9d585f63\": SimpleDenyList; }}\n */\nexport const AllowListByComponentInterface = {\n [ASimpleAllowList as Hex]: SimpleAllowList,\n [ASimpleDenyList as Hex]: SimpleDenyList,\n};\n\n/**\n * A function that will read a contract's component interface using `getComponentInterface` and return the correct instantiated instance.\n * This function will never return an instance of {@link OpenAllowList} because it has the same component interface as {@link SimpleDenyList}\n *\n * @export\n * @async\n * @param {DeployableOptions} options\n * @param {Address} address\n * @returns {Promise<SimpleAllowList | SimpleDenyList>}\n * @throws {@link InvalidComponentInterfaceError}\n */\nexport async function allowListFromAddress(\n options: DeployableOptions,\n address: Address,\n) {\n const interfaceId = (await readContract(options.config, {\n abi: aAllowListAbi,\n functionName: 'getComponentInterface',\n address,\n })) as keyof typeof AllowListByComponentInterface;\n const Ctor = AllowListByComponentInterface[interfaceId];\n if (!Ctor) {\n throw new InvalidComponentInterfaceError(\n Object.keys(AllowListByComponentInterface) as Hex[],\n interfaceId as Hex,\n );\n }\n return new Ctor(options, address) as SimpleDenyList | SimpleAllowList;\n}\n"],"names":["openAllowListAbi","simpleDenyListAbi","OpenAllowList","SimpleDenyList","_payload","_options","_","options","bytecode","prepareSimpleDenyListPayload","zeroAddress","AllowListByComponentInterface","ASimpleAllowList","SimpleAllowList","ASimpleDenyList","allowListFromAddress","address","interfaceId","readContract","aAllowListAbi","Ctor","InvalidComponentInterfaceError"],"mappings":"mUAaaA,EAAmBC,EAAAA,EAUzB,MAAMC,UAAsBC,EAAAA,cAA0B,CAS3C,gBACdC,EACAC,EACyB,CACnB,KAAA,CAACC,EAAGC,CAAO,EAAI,KAAK,yBAAyB,CAAA,EAAIF,CAAQ,EACxD,MAAA,CACL,IAAKL,EAAA,SACLQ,EAAA,SACA,KAAM,CAACC,EAAAA,6BAA6B,CAAE,MAAOC,EAAAA,YAAa,OAAQ,CAAG,CAAA,CAAC,CAAC,EACvE,GAAG,KAAK,wBAAwBH,EAAQ,OAAO,CAAA,CAEnD,CACF,CChBO,MAAMI,EAAgC,CAC3C,CAACC,EAAuB,gBAAA,EAAGC,EAAA,gBAC3B,CAACC,EAAsB,eAAA,EAAGX,EAAA,cAC5B,EAasB,eAAAY,EACpBR,EACAS,EACA,CACA,MAAMC,EAAe,MAAMC,eAAaX,EAAQ,OAAQ,CACtD,IAAKY,EAAA,GACL,aAAc,wBACd,QAAAH,CAAA,CACD,EACKI,EAAOT,EAA8BM,CAAW,EACtD,GAAI,CAACG,EACH,MAAM,IAAIC,EAAA,+BACR,OAAO,KAAKV,CAA6B,EACzCM,CAAA,EAGG,OAAA,IAAIG,EAAKb,EAASS,CAAO,CAClC"}
@@ -1,25 +1,27 @@
1
1
  import type { Address } from 'viem';
2
2
  import type { DeployableOptions } from '../Deployable/Deployable';
3
+ import { OpenAllowList } from './OpenAllowList';
3
4
  import { SimpleAllowList } from './SimpleAllowList';
4
5
  import { SimpleDenyList } from './SimpleDenyList';
5
- export { SimpleAllowList, SimpleDenyList };
6
+ export { OpenAllowList, SimpleAllowList, SimpleDenyList };
6
7
  /**
7
8
  * A union type representing all valid protocol AllowList implementations
8
9
  *
9
10
  * @export
10
11
  * @typedef {AllowList}
11
12
  */
12
- export type AllowList = SimpleAllowList | SimpleDenyList;
13
+ export type AllowList = OpenAllowList | SimpleAllowList | SimpleDenyList;
13
14
  /**
14
15
  * A map of AllowList component interfaces to their constructors.
15
16
  *
16
17
  * @type {{ "0x2bc9016b": SimpleAllowList; "0x9d585f63": SimpleDenyList; }}
17
18
  */
18
19
  export declare const AllowListByComponentInterface: {
19
- [x: string]: typeof SimpleAllowList | typeof SimpleDenyList;
20
+ [x: string]: typeof SimpleDenyList | typeof SimpleAllowList;
20
21
  };
21
22
  /**
22
23
  * A function that will read a contract's component interface using `getComponentInterface` and return the correct instantiated instance.
24
+ * This function will never return an instance of {@link OpenAllowList} because it has the same component interface as {@link SimpleDenyList}
23
25
  *
24
26
  * @export
25
27
  * @async
@@ -28,5 +30,5 @@ export declare const AllowListByComponentInterface: {
28
30
  * @returns {Promise<SimpleAllowList | SimpleDenyList>}
29
31
  * @throws {@link InvalidComponentInterfaceError}
30
32
  */
31
- export declare function allowListFromAddress(options: DeployableOptions, address: Address): Promise<SimpleAllowList | SimpleDenyList>;
33
+ export declare function allowListFromAddress(options: DeployableOptions, address: Address): Promise<SimpleAllowList | SimpleDenyList<import("./SimpleDenyList").SimpleDenyListPayload>>;
32
34
  //# sourceMappingURL=AllowList.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AllowList.d.ts","sourceRoot":"","sources":["../../src/AllowLists/AllowList.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAO,MAAM,MAAM,CAAC;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC;AAE3C;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,eAAe,GAAG,cAAc,CAAC;AAEzD;;;;GAIG;AACH,eAAO,MAAM,6BAA6B;;CAGzC,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,OAAO,6CAejB"}
1
+ {"version":3,"file":"AllowList.d.ts","sourceRoot":"","sources":["../../src/AllowLists/AllowList.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,OAAO,EAAO,MAAM,MAAM,CAAC;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC;AAE1D;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,eAAe,GAAG,cAAc,CAAC;AAEzE;;;;GAIG;AACH,eAAO,MAAM,6BAA6B;;CAGzC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,OAAO,+FAejB"}
@@ -1,30 +1,52 @@
1
- import { o as i } from "../generated-BDeDiaCK.js";
2
- import { a as m, b as a } from "../componentInterfaces-DYkaxBda.js";
3
- import { readContract as f } from "@wagmi/core";
4
- import { InvalidComponentInterfaceError as c } from "../errors.js";
5
- import { SimpleAllowList as l } from "./SimpleAllowList.js";
6
- import { SimpleDenyList as p } from "./SimpleDenyList.js";
7
- const n = {
8
- [m]: l,
9
- [a]: p
1
+ import { S as s, o as l } from "../generated-BDeDiaCK.js";
2
+ import { c as m, d as p } from "../componentInterfaces-Cmg8tUxq.js";
3
+ import { readContract as c } from "@wagmi/core";
4
+ import { InvalidComponentInterfaceError as f } from "../errors.js";
5
+ import { S as i, b as d, p as A } from "../SimpleDenyList-4PtOPXTc.js";
6
+ import { zeroAddress as w } from "viem";
7
+ import { SimpleAllowList as y } from "./SimpleAllowList.js";
8
+ const L = s;
9
+ class D extends i {
10
+ /**
11
+ * @inheritdoc
12
+ *
13
+ * @public
14
+ * @param {?SimpleDenyListPayload} [_payload]
15
+ * @param {?DeployableOptions} [_options]
16
+ * @returns {GenericDeployableParams}
17
+ */
18
+ buildParameters(e, o) {
19
+ const [n, a] = this.validateDeploymentConfig({}, o);
20
+ return {
21
+ abi: L,
22
+ bytecode: d,
23
+ args: [A({ owner: w, denied: [] })],
24
+ ...this.optionallyAttachAccount(a.account)
25
+ };
26
+ }
27
+ }
28
+ const r = {
29
+ [m]: y,
30
+ [p]: i
10
31
  };
11
- async function I(o, t) {
12
- const e = await f(o.config, {
13
- abi: i,
32
+ async function v(t, e) {
33
+ const o = await c(t.config, {
34
+ abi: l,
14
35
  functionName: "getComponentInterface",
15
- address: t
16
- }), r = n[e];
17
- if (!r)
18
- throw new c(
19
- Object.keys(n),
20
- e
36
+ address: e
37
+ }), n = r[o];
38
+ if (!n)
39
+ throw new f(
40
+ Object.keys(r),
41
+ o
21
42
  );
22
- return new r(o, t);
43
+ return new n(t, e);
23
44
  }
24
45
  export {
25
- n as AllowListByComponentInterface,
26
- l as SimpleAllowList,
27
- p as SimpleDenyList,
28
- I as allowListFromAddress
46
+ r as AllowListByComponentInterface,
47
+ D as OpenAllowList,
48
+ y as SimpleAllowList,
49
+ i as SimpleDenyList,
50
+ v as allowListFromAddress
29
51
  };
30
52
  //# sourceMappingURL=AllowList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AllowList.js","sources":["../../src/AllowLists/AllowList.ts"],"sourcesContent":["import { aAllowListAbi } from '@boostxyz/evm';\nimport {\n ASimpleAllowList,\n ASimpleDenyList,\n} from '@boostxyz/evm/deploys/componentInterfaces.json';\nimport { readContract } from '@wagmi/core';\nimport type { Address, Hex } from 'viem';\nimport type { DeployableOptions } from '../Deployable/Deployable';\nimport { InvalidComponentInterfaceError } from '../errors';\nimport { SimpleAllowList } from './SimpleAllowList';\nimport { SimpleDenyList } from './SimpleDenyList';\n\nexport { SimpleAllowList, SimpleDenyList };\n\n/**\n * A union type representing all valid protocol AllowList implementations\n *\n * @export\n * @typedef {AllowList}\n */\nexport type AllowList = SimpleAllowList | SimpleDenyList;\n\n/**\n * A map of AllowList component interfaces to their constructors.\n *\n * @type {{ \"0x2bc9016b\": SimpleAllowList; \"0x9d585f63\": SimpleDenyList; }}\n */\nexport const AllowListByComponentInterface = {\n [ASimpleAllowList as Hex]: SimpleAllowList,\n [ASimpleDenyList as Hex]: SimpleDenyList,\n};\n\n/**\n * A function that will read a contract's component interface using `getComponentInterface` and return the correct instantiated instance.\n *\n * @export\n * @async\n * @param {DeployableOptions} options\n * @param {Address} address\n * @returns {Promise<SimpleAllowList | SimpleDenyList>}\n * @throws {@link InvalidComponentInterfaceError}\n */\nexport async function allowListFromAddress(\n options: DeployableOptions,\n address: Address,\n) {\n const interfaceId = (await readContract(options.config, {\n abi: aAllowListAbi,\n functionName: 'getComponentInterface',\n address,\n })) as keyof typeof AllowListByComponentInterface;\n const Ctor = AllowListByComponentInterface[interfaceId];\n if (!Ctor) {\n throw new InvalidComponentInterfaceError(\n Object.keys(AllowListByComponentInterface) as Hex[],\n interfaceId as Hex,\n );\n }\n return new Ctor(options, address);\n}\n"],"names":["AllowListByComponentInterface","ASimpleAllowList","SimpleAllowList","ASimpleDenyList","SimpleDenyList","allowListFromAddress","options","address","interfaceId","readContract","aAllowListAbi","Ctor","InvalidComponentInterfaceError"],"mappings":";;;;;;AA2BO,MAAMA,IAAgC;AAAA,EAC3C,CAACC,CAAuB,GAAGC;AAAA,EAC3B,CAACC,CAAsB,GAAGC;AAC5B;AAYsB,eAAAC,EACpBC,GACAC,GACA;AACA,QAAMC,IAAe,MAAMC,EAAaH,EAAQ,QAAQ;AAAA,IACtD,KAAKI;AAAAA,IACL,cAAc;AAAA,IACd,SAAAH;AAAA,EAAA,CACD,GACKI,IAAOX,EAA8BQ,CAAW;AACtD,MAAI,CAACG;AACH,UAAM,IAAIC;AAAA,MACR,OAAO,KAAKZ,CAA6B;AAAA,MACzCQ;AAAA,IAAA;AAGG,SAAA,IAAIG,EAAKL,GAASC,CAAO;AAClC;"}
1
+ {"version":3,"file":"AllowList.js","sources":["../../src/AllowLists/OpenAllowList.ts","../../src/AllowLists/AllowList.ts"],"sourcesContent":["import { simpleDenyListAbi } from '@boostxyz/evm';\nimport { bytecode } from '@boostxyz/evm/artifacts/contracts/allowlists/SimpleDenyList.sol/SimpleDenyList.json';\nimport { type Hex, zeroAddress } from 'viem';\nimport type {\n DeployableOptions,\n GenericDeployableParams,\n} from '../Deployable/Deployable';\nimport {\n SimpleDenyList,\n type SimpleDenyListPayload,\n prepareSimpleDenyListPayload,\n} from './SimpleDenyList';\n\nexport const openAllowListAbi = simpleDenyListAbi;\n\n/**\n * A simple AllowList, extending {@link DenyList}, that is ownerless and allows anyone to claim.\n *\n * @export\n * @class OpenAllowList\n * @typedef {OpenAllowList}\n * @extends {DeployableTarget<OpenAllowListPayload>}\n */\nexport class OpenAllowList extends SimpleDenyList<undefined> {\n /**\n * @inheritdoc\n *\n * @public\n * @param {?SimpleDenyListPayload} [_payload]\n * @param {?DeployableOptions} [_options]\n * @returns {GenericDeployableParams}\n */\n public override buildParameters(\n _payload?: SimpleDenyListPayload,\n _options?: DeployableOptions,\n ): GenericDeployableParams {\n const [_, options] = this.validateDeploymentConfig({}, _options);\n return {\n abi: openAllowListAbi,\n bytecode: bytecode as Hex,\n args: [prepareSimpleDenyListPayload({ owner: zeroAddress, denied: [] })],\n ...this.optionallyAttachAccount(options.account),\n };\n }\n}\n","import { aAllowListAbi } from '@boostxyz/evm';\nimport {\n ASimpleAllowList,\n ASimpleDenyList,\n} from '@boostxyz/evm/deploys/componentInterfaces.json';\nimport { readContract } from '@wagmi/core';\nimport type { Address, Hex } from 'viem';\nimport type { DeployableOptions } from '../Deployable/Deployable';\nimport { InvalidComponentInterfaceError } from '../errors';\nimport { OpenAllowList } from './OpenAllowList';\nimport { SimpleAllowList } from './SimpleAllowList';\nimport { SimpleDenyList } from './SimpleDenyList';\n\nexport { OpenAllowList, SimpleAllowList, SimpleDenyList };\n\n/**\n * A union type representing all valid protocol AllowList implementations\n *\n * @export\n * @typedef {AllowList}\n */\nexport type AllowList = OpenAllowList | SimpleAllowList | SimpleDenyList;\n\n/**\n * A map of AllowList component interfaces to their constructors.\n *\n * @type {{ \"0x2bc9016b\": SimpleAllowList; \"0x9d585f63\": SimpleDenyList; }}\n */\nexport const AllowListByComponentInterface = {\n [ASimpleAllowList as Hex]: SimpleAllowList,\n [ASimpleDenyList as Hex]: SimpleDenyList,\n};\n\n/**\n * A function that will read a contract's component interface using `getComponentInterface` and return the correct instantiated instance.\n * This function will never return an instance of {@link OpenAllowList} because it has the same component interface as {@link SimpleDenyList}\n *\n * @export\n * @async\n * @param {DeployableOptions} options\n * @param {Address} address\n * @returns {Promise<SimpleAllowList | SimpleDenyList>}\n * @throws {@link InvalidComponentInterfaceError}\n */\nexport async function allowListFromAddress(\n options: DeployableOptions,\n address: Address,\n) {\n const interfaceId = (await readContract(options.config, {\n abi: aAllowListAbi,\n functionName: 'getComponentInterface',\n address,\n })) as keyof typeof AllowListByComponentInterface;\n const Ctor = AllowListByComponentInterface[interfaceId];\n if (!Ctor) {\n throw new InvalidComponentInterfaceError(\n Object.keys(AllowListByComponentInterface) as Hex[],\n interfaceId as Hex,\n );\n }\n return new Ctor(options, address) as SimpleDenyList | SimpleAllowList;\n}\n"],"names":["openAllowListAbi","simpleDenyListAbi","OpenAllowList","SimpleDenyList","_payload","_options","_","options","bytecode","prepareSimpleDenyListPayload","zeroAddress","AllowListByComponentInterface","ASimpleAllowList","SimpleAllowList","ASimpleDenyList","allowListFromAddress","address","interfaceId","readContract","aAllowListAbi","Ctor","InvalidComponentInterfaceError"],"mappings":";;;;;;;AAaO,MAAMA,IAAmBC;AAUzB,MAAMC,UAAsBC,EAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAS3C,gBACdC,GACAC,GACyB;AACnB,UAAA,CAACC,GAAGC,CAAO,IAAI,KAAK,yBAAyB,CAAA,GAAIF,CAAQ;AACxD,WAAA;AAAA,MACL,KAAKL;AAAA,MACL,UAAAQ;AAAA,MACA,MAAM,CAACC,EAA6B,EAAE,OAAOC,GAAa,QAAQ,CAAG,EAAA,CAAC,CAAC;AAAA,MACvE,GAAG,KAAK,wBAAwBH,EAAQ,OAAO;AAAA,IAAA;AAAA,EAEnD;AACF;AChBO,MAAMI,IAAgC;AAAA,EAC3C,CAACC,CAAuB,GAAGC;AAAA,EAC3B,CAACC,CAAsB,GAAGX;AAC5B;AAasB,eAAAY,EACpBR,GACAS,GACA;AACA,QAAMC,IAAe,MAAMC,EAAaX,EAAQ,QAAQ;AAAA,IACtD,KAAKY;AAAAA,IACL,cAAc;AAAA,IACd,SAAAH;AAAA,EAAA,CACD,GACKI,IAAOT,EAA8BM,CAAW;AACtD,MAAI,CAACG;AACH,UAAM,IAAIC;AAAA,MACR,OAAO,KAAKV,CAA6B;AAAA,MACzCM;AAAA,IAAA;AAGG,SAAA,IAAIG,EAAKb,GAASS,CAAO;AAClC;"}
@@ -0,0 +1,240 @@
1
+ import type { DeployableOptions, GenericDeployableParams } from '../Deployable/Deployable';
2
+ import { SimpleDenyList, type SimpleDenyListPayload } from './SimpleDenyList';
3
+ export declare const openAllowListAbi: readonly [{
4
+ readonly type: "constructor";
5
+ readonly inputs: readonly [];
6
+ readonly stateMutability: "nonpayable";
7
+ }, {
8
+ readonly type: "error";
9
+ readonly inputs: readonly [];
10
+ readonly name: "AlreadyInitialized";
11
+ }, {
12
+ readonly type: "error";
13
+ readonly inputs: readonly [];
14
+ readonly name: "CloneAlreadyInitialized";
15
+ }, {
16
+ readonly type: "error";
17
+ readonly inputs: readonly [];
18
+ readonly name: "InitializerNotImplemented";
19
+ }, {
20
+ readonly type: "error";
21
+ readonly inputs: readonly [];
22
+ readonly name: "InvalidInitialization";
23
+ }, {
24
+ readonly type: "error";
25
+ readonly inputs: readonly [];
26
+ readonly name: "InvalidInitializationData";
27
+ }, {
28
+ readonly type: "error";
29
+ readonly inputs: readonly [];
30
+ readonly name: "LengthMismatch";
31
+ }, {
32
+ readonly type: "error";
33
+ readonly inputs: readonly [];
34
+ readonly name: "NewOwnerIsZeroAddress";
35
+ }, {
36
+ readonly type: "error";
37
+ readonly inputs: readonly [];
38
+ readonly name: "NoHandoverRequest";
39
+ }, {
40
+ readonly type: "error";
41
+ readonly inputs: readonly [];
42
+ readonly name: "NotInitializing";
43
+ }, {
44
+ readonly type: "error";
45
+ readonly inputs: readonly [];
46
+ readonly name: "Unauthorized";
47
+ }, {
48
+ readonly type: "event";
49
+ readonly anonymous: false;
50
+ readonly inputs: readonly [{
51
+ readonly name: "version";
52
+ readonly internalType: "uint64";
53
+ readonly type: "uint64";
54
+ readonly indexed: false;
55
+ }];
56
+ readonly name: "Initialized";
57
+ }, {
58
+ readonly type: "event";
59
+ readonly anonymous: false;
60
+ readonly inputs: readonly [{
61
+ readonly name: "pendingOwner";
62
+ readonly internalType: "address";
63
+ readonly type: "address";
64
+ readonly indexed: true;
65
+ }];
66
+ readonly name: "OwnershipHandoverCanceled";
67
+ }, {
68
+ readonly type: "event";
69
+ readonly anonymous: false;
70
+ readonly inputs: readonly [{
71
+ readonly name: "pendingOwner";
72
+ readonly internalType: "address";
73
+ readonly type: "address";
74
+ readonly indexed: true;
75
+ }];
76
+ readonly name: "OwnershipHandoverRequested";
77
+ }, {
78
+ readonly type: "event";
79
+ readonly anonymous: false;
80
+ readonly inputs: readonly [{
81
+ readonly name: "oldOwner";
82
+ readonly internalType: "address";
83
+ readonly type: "address";
84
+ readonly indexed: true;
85
+ }, {
86
+ readonly name: "newOwner";
87
+ readonly internalType: "address";
88
+ readonly type: "address";
89
+ readonly indexed: true;
90
+ }];
91
+ readonly name: "OwnershipTransferred";
92
+ }, {
93
+ readonly type: "function";
94
+ readonly inputs: readonly [];
95
+ readonly name: "cancelOwnershipHandover";
96
+ readonly outputs: readonly [];
97
+ readonly stateMutability: "payable";
98
+ }, {
99
+ readonly type: "function";
100
+ readonly inputs: readonly [{
101
+ readonly name: "pendingOwner";
102
+ readonly internalType: "address";
103
+ readonly type: "address";
104
+ }];
105
+ readonly name: "completeOwnershipHandover";
106
+ readonly outputs: readonly [];
107
+ readonly stateMutability: "payable";
108
+ }, {
109
+ readonly type: "function";
110
+ readonly inputs: readonly [];
111
+ readonly name: "getComponentInterface";
112
+ readonly outputs: readonly [{
113
+ readonly name: "";
114
+ readonly internalType: "bytes4";
115
+ readonly type: "bytes4";
116
+ }];
117
+ readonly stateMutability: "pure";
118
+ }, {
119
+ readonly type: "function";
120
+ readonly inputs: readonly [{
121
+ readonly name: "data_";
122
+ readonly internalType: "bytes";
123
+ readonly type: "bytes";
124
+ }];
125
+ readonly name: "initialize";
126
+ readonly outputs: readonly [];
127
+ readonly stateMutability: "nonpayable";
128
+ }, {
129
+ readonly type: "function";
130
+ readonly inputs: readonly [{
131
+ readonly name: "user_";
132
+ readonly internalType: "address";
133
+ readonly type: "address";
134
+ }, {
135
+ readonly name: "";
136
+ readonly internalType: "bytes";
137
+ readonly type: "bytes";
138
+ }];
139
+ readonly name: "isAllowed";
140
+ readonly outputs: readonly [{
141
+ readonly name: "";
142
+ readonly internalType: "bool";
143
+ readonly type: "bool";
144
+ }];
145
+ readonly stateMutability: "view";
146
+ }, {
147
+ readonly type: "function";
148
+ readonly inputs: readonly [];
149
+ readonly name: "owner";
150
+ readonly outputs: readonly [{
151
+ readonly name: "result";
152
+ readonly internalType: "address";
153
+ readonly type: "address";
154
+ }];
155
+ readonly stateMutability: "view";
156
+ }, {
157
+ readonly type: "function";
158
+ readonly inputs: readonly [{
159
+ readonly name: "pendingOwner";
160
+ readonly internalType: "address";
161
+ readonly type: "address";
162
+ }];
163
+ readonly name: "ownershipHandoverExpiresAt";
164
+ readonly outputs: readonly [{
165
+ readonly name: "result";
166
+ readonly internalType: "uint256";
167
+ readonly type: "uint256";
168
+ }];
169
+ readonly stateMutability: "view";
170
+ }, {
171
+ readonly type: "function";
172
+ readonly inputs: readonly [];
173
+ readonly name: "renounceOwnership";
174
+ readonly outputs: readonly [];
175
+ readonly stateMutability: "payable";
176
+ }, {
177
+ readonly type: "function";
178
+ readonly inputs: readonly [];
179
+ readonly name: "requestOwnershipHandover";
180
+ readonly outputs: readonly [];
181
+ readonly stateMutability: "payable";
182
+ }, {
183
+ readonly type: "function";
184
+ readonly inputs: readonly [{
185
+ readonly name: "users_";
186
+ readonly internalType: "address[]";
187
+ readonly type: "address[]";
188
+ }, {
189
+ readonly name: "denied_";
190
+ readonly internalType: "bool[]";
191
+ readonly type: "bool[]";
192
+ }];
193
+ readonly name: "setDenied";
194
+ readonly outputs: readonly [];
195
+ readonly stateMutability: "nonpayable";
196
+ }, {
197
+ readonly type: "function";
198
+ readonly inputs: readonly [{
199
+ readonly name: "interfaceId";
200
+ readonly internalType: "bytes4";
201
+ readonly type: "bytes4";
202
+ }];
203
+ readonly name: "supportsInterface";
204
+ readonly outputs: readonly [{
205
+ readonly name: "";
206
+ readonly internalType: "bool";
207
+ readonly type: "bool";
208
+ }];
209
+ readonly stateMutability: "view";
210
+ }, {
211
+ readonly type: "function";
212
+ readonly inputs: readonly [{
213
+ readonly name: "newOwner";
214
+ readonly internalType: "address";
215
+ readonly type: "address";
216
+ }];
217
+ readonly name: "transferOwnership";
218
+ readonly outputs: readonly [];
219
+ readonly stateMutability: "payable";
220
+ }];
221
+ /**
222
+ * A simple AllowList, extending {@link DenyList}, that is ownerless and allows anyone to claim.
223
+ *
224
+ * @export
225
+ * @class OpenAllowList
226
+ * @typedef {OpenAllowList}
227
+ * @extends {DeployableTarget<OpenAllowListPayload>}
228
+ */
229
+ export declare class OpenAllowList extends SimpleDenyList<undefined> {
230
+ /**
231
+ * @inheritdoc
232
+ *
233
+ * @public
234
+ * @param {?SimpleDenyListPayload} [_payload]
235
+ * @param {?DeployableOptions} [_options]
236
+ * @returns {GenericDeployableParams}
237
+ */
238
+ buildParameters(_payload?: SimpleDenyListPayload, _options?: DeployableOptions): GenericDeployableParams;
239
+ }
240
+ //# sourceMappingURL=OpenAllowList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OpenAllowList.d.ts","sourceRoot":"","sources":["../../src/AllowLists/OpenAllowList.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,cAAc,EACd,KAAK,qBAAqB,EAE3B,MAAM,kBAAkB,CAAC;AAE1B,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAoB,CAAC;AAElD;;;;;;;GAOG;AACH,qBAAa,aAAc,SAAQ,cAAc,CAAC,SAAS,CAAC;IAC1D;;;;;;;OAOG;IACa,eAAe,CAC7B,QAAQ,CAAC,EAAE,qBAAqB,EAChC,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,uBAAuB;CAS3B"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("../generated-wKBNvm48.cjs"),l=require("@wagmi/core"),r=require("viem"),u=require("../Deployable/DeployableTarget.cjs"),h=require("../errors.cjs"),y=require("../utils.cjs"),p="0x6080604052348015600e575f80fd5b50601b601f60201b60201c565b60b0565b5f602c608760201b60201c565b90508054600181161560455763f92ee8a95f526004601cfd5b8160c01c808260011c146082578060011b8355806020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b6110ac806100bd5f395ff3fe6080604052600436106100a6575f3560e01c8063715018a611610063578063715018a6146101745780638da5cb5b1461017e578063e3f756de146101a8578063f04e283e146101e4578063f2fde38b14610200578063fee81cf41461021c576100a6565b806301ffc9a7146100aa578063141973b0146100e6578063256929621461010e57806328d6183b14610118578063439fab911461014257806354d1f13d1461016a575b5f80fd5b3480156100b5575f80fd5b506100d060048036038101906100cb9190610a82565b610258565b6040516100dd9190610ac7565b60405180910390f35b3480156100f1575f80fd5b5061010c60048036038101906101079190610b96565b6102d1565b005b6101166103da565b005b348015610123575f80fd5b5061012c61042b565b6040516101399190610c23565b60405180910390f35b34801561014d575f80fd5b5061016860048036038101906101639190610c91565b610452565b005b61017261056f565b005b61017c6105a8565b005b348015610189575f80fd5b506101926105bb565b60405161019f9190610d1b565b60405180910390f35b3480156101b3575f80fd5b506101ce60048036038101906101c99190610d5e565b6105e3565b6040516101db9190610ac7565b60405180910390f35b6101fe60048036038101906101f99190610dbb565b610637565b005b61021a60048036038101906102159190610dbb565b610675565b005b348015610227575f80fd5b50610242600480360381019061023d9190610dbb565b61069e565b60405161024f9190610dfe565b60405180910390f35b5f7f3d30a22c000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806102ca57506102c9826106b7565b5b9050919050565b6102d9610730565b818190508484905014610318576040517fff633a3800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5b848490508110156103d35782828281811061033857610337610e17565b5b905060200201602081019061034d9190610e6e565b5f8087878581811061036257610361610e17565b5b90506020020160208101906103779190610dbb565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550808060010191505061031a565b5050505050565b5f6103e3610767565b67ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f7f3d30a22c00000000000000000000000000000000000000000000000000000000905090565b5f61045b610771565b9050805460038255801561048d5760018160011c14303b106104845763f92ee8a95f526004601cfd5b818160ff1b1b91505b505f80848481019061049f919061101c565b915091506104ac8261079a565b5f5b81518110156105325760015f808484815181106104ce576104cd610e17565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555080806001019150506104ae565b505050801561056a576002815560016020527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602080a15b505050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b6105b0610730565b6105b95f610870565b565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392754905090565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161590509392505050565b61063f610730565b63389a75e1600c52805f526020600c20805442111561066557636f5e88185f526004601cfd5b5f81555061067281610870565b50565b61067d610730565b8060601b61069257637448fbae5f526004601cfd5b61069b81610870565b50565b5f63389a75e1600c52815f526020600c20549050919050565b5f7fe2089f79000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610729575061072882610936565b5b9050919050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff74873927543314610765576382b429005f526004601cfd5b565b5f6202a300905090565b5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffbf6011325f1b905090565b6107a26109af565b1561081a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278054156107dc57630dc149f05f526004601cfd5b8160601b60601c9150811560ff1b82178155815f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35061086d565b8060601b60601c9050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffff7487392755805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a35b50565b6108786109af565b156108dd577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3811560ff1b8217815550610933565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff748739278160601b60601c91508181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3818155505b50565b5f7f6ab67a0d000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806109a857506109a7826109b3565b5b9050919050565b5f90565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b610a6181610a2d565b8114610a6b575f80fd5b50565b5f81359050610a7c81610a58565b92915050565b5f60208284031215610a9757610a96610a25565b5b5f610aa484828501610a6e565b91505092915050565b5f8115159050919050565b610ac181610aad565b82525050565b5f602082019050610ada5f830184610ab8565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f840112610b0157610b00610ae0565b5b8235905067ffffffffffffffff811115610b1e57610b1d610ae4565b5b602083019150836020820283011115610b3a57610b39610ae8565b5b9250929050565b5f8083601f840112610b5657610b55610ae0565b5b8235905067ffffffffffffffff811115610b7357610b72610ae4565b5b602083019150836020820283011115610b8f57610b8e610ae8565b5b9250929050565b5f805f8060408587031215610bae57610bad610a25565b5b5f85013567ffffffffffffffff811115610bcb57610bca610a29565b5b610bd787828801610aec565b9450945050602085013567ffffffffffffffff811115610bfa57610bf9610a29565b5b610c0687828801610b41565b925092505092959194509250565b610c1d81610a2d565b82525050565b5f602082019050610c365f830184610c14565b92915050565b5f8083601f840112610c5157610c50610ae0565b5b8235905067ffffffffffffffff811115610c6e57610c6d610ae4565b5b602083019150836001820283011115610c8a57610c89610ae8565b5b9250929050565b5f8060208385031215610ca757610ca6610a25565b5b5f83013567ffffffffffffffff811115610cc457610cc3610a29565b5b610cd085828601610c3c565b92509250509250929050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610d0582610cdc565b9050919050565b610d1581610cfb565b82525050565b5f602082019050610d2e5f830184610d0c565b92915050565b610d3d81610cfb565b8114610d47575f80fd5b50565b5f81359050610d5881610d34565b92915050565b5f805f60408486031215610d7557610d74610a25565b5b5f610d8286828701610d4a565b935050602084013567ffffffffffffffff811115610da357610da2610a29565b5b610daf86828701610c3c565b92509250509250925092565b5f60208284031215610dd057610dcf610a25565b5b5f610ddd84828501610d4a565b91505092915050565b5f819050919050565b610df881610de6565b82525050565b5f602082019050610e115f830184610def565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b610e4d81610aad565b8114610e57575f80fd5b50565b5f81359050610e6881610e44565b92915050565b5f60208284031215610e8357610e82610a25565b5b5f610e9084828501610e5a565b91505092915050565b5f610ea382610cdc565b9050919050565b610eb381610e99565b8114610ebd575f80fd5b50565b5f81359050610ece81610eaa565b92915050565b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610f1a82610ed4565b810181811067ffffffffffffffff82111715610f3957610f38610ee4565b5b80604052505050565b5f610f4b610a1c565b9050610f578282610f11565b919050565b5f67ffffffffffffffff821115610f7657610f75610ee4565b5b602082029050602081019050919050565b5f610f99610f9484610f5c565b610f42565b90508083825260208201905060208402830185811115610fbc57610fbb610ae8565b5b835b81811015610fe55780610fd18882610d4a565b845260208401935050602081019050610fbe565b5050509392505050565b5f82601f83011261100357611002610ae0565b5b8135611013848260208601610f87565b91505092915050565b5f806040838503121561103257611031610a25565b5b5f61103f85828601610ec0565b925050602083013567ffffffffffffffff8111156110605761105f610a29565b5b61106c85828601610fef565b915050925092905056fea2646970667358221220f8901ba0ad91db050edba1d0412882eecda8dba26237dd3383d77357c2f7173964736f6c634300081a0033",t=class t extends u.DeployableTarget{constructor(){super(...arguments),this.abi=d.S}async isAllowed(f,e){return await d.A2(this._config,{address:this.assertValidAddress(),args:[f,r.zeroHash],...this.optionallyAttachAccount(),...e})}async setDenied(f,e,b){return await this.awaitResult(this.setDeniedRaw(f,e,b))}async setDeniedRaw(f,e,b){const{request:a,result:c}=await d.k2(this._config,{address:this.assertValidAddress(),args:[f,e],...this.optionallyAttachAccount(),...b});return{hash:await d.B2(this._config,a),result:c}}buildParameters(f,e){var c;const[b,a]=this.validateDeploymentConfig(f,e);if(!b.owner||b.owner===r.zeroAddress){const s=a.account?a.account.address:a.config?l.getAccount(a.config).address:(c=this._account)==null?void 0:c.address;if(s)b.owner=s;else throw new h.DeployableUnknownOwnerProvidedError}return{abi:d.S,bytecode:p,args:[n(b)],...this.optionallyAttachAccount(a.account)}}};t.base="0x7eb4E958D42b64fd1c4Ce947d05a755fCC7C30B7",t.registryType=y.RegistryType.ALLOW_LIST;let i=t;function n({owner:o,denied:f}){return r.encodeAbiParameters([{type:"address",name:"owner"},{type:"address[]",name:"denied"}],[o,f])}exports.simpleDenyListAbi=d.S;exports.SimpleDenyList=i;exports.prepareSimpleDenyListPayload=n;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../generated-wKBNvm48.cjs"),e=require("../SimpleDenyList-CqT0BMP7.cjs");require("@wagmi/core");require("viem");require("../Deployable/DeployableTarget.cjs");require("../errors.cjs");require("../utils.cjs");exports.simpleDenyListAbi=i.S;exports.SimpleDenyList=e.SimpleDenyList;exports.prepareSimpleDenyListPayload=e.prepareSimpleDenyListPayload;
2
2
  //# sourceMappingURL=SimpleDenyList.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleDenyList.cjs","sources":["../../src/AllowLists/SimpleDenyList.ts"],"sourcesContent":["import {\n readSimpleDenyListIsAllowed,\n simpleDenyListAbi,\n simulateSimpleDenyListSetDenied,\n writeSimpleDenyListSetDenied,\n} from '@boostxyz/evm';\nimport { bytecode } from '@boostxyz/evm/artifacts/contracts/allowlists/SimpleDenyList.sol/SimpleDenyList.json';\nimport { getAccount } from '@wagmi/core';\nimport {\n type Address,\n type ContractEventName,\n type Hex,\n encodeAbiParameters,\n zeroAddress,\n zeroHash,\n} from 'viem';\nimport type {\n DeployableOptions,\n GenericDeployableParams,\n} from '../Deployable/Deployable';\nimport { DeployableTarget } from '../Deployable/DeployableTarget';\nimport { DeployableUnknownOwnerProvidedError } from '../errors';\nimport {\n type GenericLog,\n type ReadParams,\n RegistryType,\n type WriteParams,\n} from '../utils';\n\nexport { simpleDenyListAbi };\n\n/**\n * Object representation of a {@link SimpleDenyList} initialization payload.\n *\n * @export\n * @interface SimpleDenyListPayload\n * @typedef {SimpleDenyListPayload}\n */\nexport interface SimpleDenyListPayload {\n /**\n * The allow list's owner\n *\n * @type {Address}\n */\n owner: Address;\n /**\n * List of denied addresses.\n *\n * @type {Address[]}\n */\n denied: Address[];\n}\n\n/**\n * A generic `viem.Log` event with support for `SimpleDenyList` event types.\n *\n * @export\n * @typedef {SimpleDenyListLog}\n * @template {ContractEventName<typeof simpleDenyListAbi>} [event=ContractEventName<\n * typeof simpleDenyListAbi\n * >]\n */\nexport type SimpleDenyListLog<\n event extends ContractEventName<typeof simpleDenyListAbi> = ContractEventName<\n typeof simpleDenyListAbi\n >,\n> = GenericLog<typeof simpleDenyListAbi, event>;\n\n/**\n * A simple implementation of an AllowList that implicitly allows all addresses except those explicitly added to the deny list\n *\n * @export\n * @class SimpleDenyList\n * @typedef {SimpleDenyList}\n * @extends {DeployableTarget<SimpleDenyListPayload>}\n */\nexport class SimpleDenyList extends DeployableTarget<\n SimpleDenyListPayload,\n typeof simpleDenyListAbi\n> {\n public override readonly abi = simpleDenyListAbi;\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {Address}\n */\n public static override base: Address = import.meta.env\n .VITE_SIMPLE_DENYLIST_BASE;\n /**\n * @inheritdoc\n *\n * @public\n * @static\n * @type {RegistryType}\n */\n public static override registryType: RegistryType = RegistryType.ALLOW_LIST;\n\n /**\n * Check if a user is authorized (i.e. not denied)\n *\n * @public\n * @async\n * @param {Address} address - The address of the user\n * @param {?ReadParams<typeof simpleDenyListAbi, 'isAllowed'>} [params]\n * @returns {Promise<boolean>} - True if the user is authorized\n */\n public async isAllowed(\n address: Address,\n params?: ReadParams<typeof simpleDenyListAbi, 'isAllowed'>,\n ): Promise<boolean> {\n return await readSimpleDenyListIsAllowed(this._config, {\n address: this.assertValidAddress(),\n args: [address, zeroHash],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n });\n }\n\n /**\n * Set the denied status of a user. The length of the `users_` and `denied_` arrays must be the same. This function can only be called by the owner\n *\n * @public\n * @async\n * @param {Address[]} addresses - The list of users to update\n * @param {boolean[]} allowed - The denied status of each user\n * @param {?WriteParams<typeof simpleDenyListAbi, 'setDenied'>} [params]\n * @returns {unknown}\n */\n public async setDenied(\n addresses: Address[],\n allowed: boolean[],\n params?: WriteParams<typeof simpleDenyListAbi, 'setDenied'>,\n ) {\n return await this.awaitResult(\n this.setDeniedRaw(addresses, allowed, params),\n );\n }\n\n /**\n * Set the denied status of a user. The length of the `users_` and `denied_` arrays must be the same. This function can only be called by the owner\n *\n * @public\n * @async\n * @param {Address[]} addresses - The list of users to update\n * @param {boolean[]} allowed - The denied status of each user\n * @param {?WriteParams<typeof simpleDenyListAbi, 'setDenied'>} [params]\n * @returns {unknown}\n */\n public async setDeniedRaw(\n addresses: Address[],\n allowed: boolean[],\n params?: WriteParams<typeof simpleDenyListAbi, 'setDenied'>,\n ) {\n const { request, result } = await simulateSimpleDenyListSetDenied(\n this._config,\n {\n address: this.assertValidAddress(),\n args: [addresses, allowed],\n ...this.optionallyAttachAccount(),\n // biome-ignore lint/suspicious/noExplicitAny: Accept any shape of valid wagmi/viem parameters, wagmi does the same thing internally\n ...(params as any),\n },\n );\n const hash = await writeSimpleDenyListSetDenied(this._config, request);\n return { hash, result };\n }\n\n /**\n * @inheritdoc\n *\n * @public\n * @param {?SimpleDenyListPayload} [_payload]\n * @param {?DeployableOptions} [_options]\n * @returns {GenericDeployableParams}\n */\n public override buildParameters(\n _payload?: SimpleDenyListPayload,\n _options?: DeployableOptions,\n ): GenericDeployableParams {\n const [payload, options] = this.validateDeploymentConfig(\n _payload,\n _options,\n );\n if (!payload.owner || payload.owner === zeroAddress) {\n const owner = options.account\n ? options.account.address\n : options.config\n ? getAccount(options.config).address\n : this._account?.address;\n if (owner) {\n payload.owner = owner;\n } else {\n throw new DeployableUnknownOwnerProvidedError();\n }\n }\n return {\n abi: simpleDenyListAbi,\n bytecode: bytecode as Hex,\n args: [prepareSimpleDenyListPayload(payload)],\n ...this.optionallyAttachAccount(options.account),\n };\n }\n}\n\n/**\n * Given a {@link SimpleDenyListPayload}, properly encode the initialization payload.\n *\n * @param {SimpleDenyListPayload} param0\n * @param {Address} param0.owner - The allow list's owner\n * @param {Address[]} param0.denied - List of denied addresses.\n * @returns {Hex}\n */\nexport function prepareSimpleDenyListPayload({\n owner,\n denied,\n}: SimpleDenyListPayload) {\n return encodeAbiParameters(\n [\n { type: 'address', name: 'owner' },\n { type: 'address[]', name: 'denied' },\n ],\n [owner, denied],\n );\n}\n"],"names":["_SimpleDenyList","DeployableTarget","simpleDenyListAbi","address","params","readSimpleDenyListIsAllowed","zeroHash","addresses","allowed","request","result","simulateSimpleDenyListSetDenied","writeSimpleDenyListSetDenied","_payload","_options","payload","options","zeroAddress","owner","getAccount","_a","DeployableUnknownOwnerProvidedError","bytecode","prepareSimpleDenyListPayload","RegistryType","SimpleDenyList","denied","encodeAbiParameters"],"mappings":"s+RA4EaA,EAAN,MAAMA,UAAuBC,EAAAA,gBAGlC,CAHK,aAAA,CAAA,MAAA,GAAA,SAAA,EAIL,KAAyB,IAAMC,GAAA,CA4B/B,MAAa,UACXC,EACAC,EACkB,CACX,OAAA,MAAMC,EAAAA,GAA4B,KAAK,QAAS,CACrD,QAAS,KAAK,mBAAmB,EACjC,KAAM,CAACF,EAASG,UAAQ,EACxB,GAAG,KAAK,wBAAwB,EAEhC,GAAIF,CAAA,CACL,CACH,CAYA,MAAa,UACXG,EACAC,EACAJ,EACA,CACA,OAAO,MAAM,KAAK,YAChB,KAAK,aAAaG,EAAWC,EAASJ,CAAM,CAAA,CAEhD,CAYA,MAAa,aACXG,EACAC,EACAJ,EACA,CACA,KAAM,CAAE,QAAAK,EAAS,OAAAC,CAAO,EAAI,MAAMC,EAAA,GAChC,KAAK,QACL,CACE,QAAS,KAAK,mBAAmB,EACjC,KAAM,CAACJ,EAAWC,CAAO,EACzB,GAAG,KAAK,wBAAwB,EAEhC,GAAIJ,CACN,CAAA,EAGK,MAAA,CAAE,KADI,MAAMQ,EAA6B,GAAA,KAAK,QAASH,CAAO,EACtD,OAAAC,EACjB,CAUgB,gBACdG,EACAC,EACyB,OACzB,KAAM,CAACC,EAASC,CAAO,EAAI,KAAK,yBAC9BH,EACAC,CAAA,EAEF,GAAI,CAACC,EAAQ,OAASA,EAAQ,QAAUE,EAAAA,YAAa,CACnD,MAAMC,EAAQF,EAAQ,QAClBA,EAAQ,QAAQ,QAChBA,EAAQ,OACNG,EAAA,WAAWH,EAAQ,MAAM,EAAE,SAC3BI,EAAA,KAAK,WAAL,YAAAA,EAAe,QACrB,GAAIF,EACFH,EAAQ,MAAQG,MAEhB,OAAM,IAAIG,EAAoC,mCAElD,CACO,MAAA,CACL,IAAKnB,EAAA,EACL,SAAAoB,EACA,KAAM,CAACC,EAA6BR,CAAO,CAAC,EAC5C,GAAG,KAAK,wBAAwBC,EAAQ,OAAO,CAAA,CAEnD,CACF,EArHyBhB,EAAA,KAAgB,6CASvCA,EAAuB,aAA6BwB,EAAa,aAAA,WArB5D,IAAMC,EAANzB,EA2IA,SAASuB,EAA6B,CAC3C,MAAAL,EACA,OAAAQ,CACF,EAA0B,CACjB,OAAAC,EAAA,oBACL,CACE,CAAE,KAAM,UAAW,KAAM,OAAQ,EACjC,CAAE,KAAM,YAAa,KAAM,QAAS,CACtC,EACA,CAACT,EAAOQ,CAAM,CAAA,CAElB"}
1
+ {"version":3,"file":"SimpleDenyList.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -43,7 +43,7 @@ export type SimpleDenyListLog<event extends ContractEventName<typeof simpleDenyL
43
43
  * @typedef {SimpleDenyList}
44
44
  * @extends {DeployableTarget<SimpleDenyListPayload>}
45
45
  */
46
- export declare class SimpleDenyList extends DeployableTarget<SimpleDenyListPayload, typeof simpleDenyListAbi> {
46
+ export declare class SimpleDenyList<Payload = SimpleDenyListPayload> extends DeployableTarget<Payload | undefined, typeof simpleDenyListAbi> {
47
47
  readonly abi: readonly [{
48
48
  readonly type: "constructor";
49
49
  readonly inputs: readonly [];
@@ -321,7 +321,7 @@ export declare class SimpleDenyList extends DeployableTarget<SimpleDenyListPaylo
321
321
  * @param {?DeployableOptions} [_options]
322
322
  * @returns {GenericDeployableParams}
323
323
  */
324
- buildParameters(_payload?: SimpleDenyListPayload, _options?: DeployableOptions): GenericDeployableParams;
324
+ buildParameters(_payload?: Payload, _options?: DeployableOptions): GenericDeployableParams;
325
325
  }
326
326
  /**
327
327
  * Given a {@link SimpleDenyListPayload}, properly encode the initialization payload.
@@ -1 +1 @@
1
- {"version":3,"file":"SimpleDenyList.d.ts","sourceRoot":"","sources":["../../src/AllowLists/SimpleDenyList.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EAGlB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,iBAAiB,EAKvB,MAAM,MAAM,CAAC;AACd,OAAO,KAAK,EACV,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,OAAO,EACL,KAAK,UAAU,EACf,KAAK,UAAU,EACf,YAAY,EACZ,KAAK,WAAW,EACjB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B;;;;;;GAMG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,KAAK,EAAE,OAAO,CAAC;IACf;;;;OAIG;IACH,MAAM,EAAE,OAAO,EAAE,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,iBAAiB,CAC3B,KAAK,SAAS,iBAAiB,CAAC,OAAO,iBAAiB,CAAC,GAAG,iBAAiB,CAC3E,OAAO,iBAAiB,CACzB,IACC,UAAU,CAAC,OAAO,iBAAiB,EAAE,KAAK,CAAC,CAAC;AAEhD;;;;;;;GAOG;AACH,qBAAa,cAAe,SAAQ,gBAAgB,CAClD,qBAAqB,EACrB,OAAO,iBAAiB,CACzB;IACC,SAAyB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAqB;IACjD;;;;;;OAMG;IACH,OAAuB,IAAI,EAAE,OAAO,CACP;IAC7B;;;;;;OAMG;IACH,OAAuB,YAAY,EAAE,YAAY,CAA2B;IAE5E;;;;;;;;OAQG;IACU,SAAS,CACpB,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,iBAAiB,EAAE,WAAW,CAAC,GACzD,OAAO,CAAC,OAAO,CAAC;IAUnB;;;;;;;;;OASG;IACU,SAAS,CACpB,SAAS,EAAE,OAAO,EAAE,EACpB,OAAO,EAAE,OAAO,EAAE,EAClB,MAAM,CAAC,EAAE,WAAW,CAAC,OAAO,iBAAiB,EAAE,WAAW,CAAC;IAO7D;;;;;;;;;OASG;IACU,YAAY,CACvB,SAAS,EAAE,OAAO,EAAE,EACpB,OAAO,EAAE,OAAO,EAAE,EAClB,MAAM,CAAC,EAAE,WAAW,CAAC,OAAO,iBAAiB,EAAE,WAAW,CAAC;;;;IAgB7D;;;;;;;OAOG;IACa,eAAe,CAC7B,QAAQ,CAAC,EAAE,qBAAqB,EAChC,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,uBAAuB;CAwB3B;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAAC,EAC3C,KAAK,EACL,MAAM,GACP,EAAE,qBAAqB,iBAQvB"}
1
+ {"version":3,"file":"SimpleDenyList.d.ts","sourceRoot":"","sources":["../../src/AllowLists/SimpleDenyList.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EAGlB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,iBAAiB,EAKvB,MAAM,MAAM,CAAC;AACd,OAAO,KAAK,EACV,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,OAAO,EACL,KAAK,UAAU,EACf,KAAK,UAAU,EACf,YAAY,EACZ,KAAK,WAAW,EACjB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B;;;;;;GAMG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,KAAK,EAAE,OAAO,CAAC;IACf;;;;OAIG;IACH,MAAM,EAAE,OAAO,EAAE,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,iBAAiB,CAC3B,KAAK,SAAS,iBAAiB,CAAC,OAAO,iBAAiB,CAAC,GAAG,iBAAiB,CAC3E,OAAO,iBAAiB,CACzB,IACC,UAAU,CAAC,OAAO,iBAAiB,EAAE,KAAK,CAAC,CAAC;AAEhD;;;;;;;GAOG;AACH,qBAAa,cAAc,CACzB,OAAO,GAAG,qBAAqB,CAC/B,SAAQ,gBAAgB,CAAC,OAAO,GAAG,SAAS,EAAE,OAAO,iBAAiB,CAAC;IACvE,SAAyB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAAqB;IACjD;;;;;;OAMG;IACH,OAAuB,IAAI,EAAE,OAAO,CACP;IAC7B;;;;;;OAMG;IACH,OAAuB,YAAY,EAAE,YAAY,CAA2B;IAE5E;;;;;;;;OAQG;IACU,SAAS,CACpB,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,iBAAiB,EAAE,WAAW,CAAC,GACzD,OAAO,CAAC,OAAO,CAAC;IAUnB;;;;;;;;;OASG;IACU,SAAS,CACpB,SAAS,EAAE,OAAO,EAAE,EACpB,OAAO,EAAE,OAAO,EAAE,EAClB,MAAM,CAAC,EAAE,WAAW,CAAC,OAAO,iBAAiB,EAAE,WAAW,CAAC;IAO7D;;;;;;;;;OASG;IACU,YAAY,CACvB,SAAS,EAAE,OAAO,EAAE,EACpB,OAAO,EAAE,OAAO,EAAE,EAClB,MAAM,CAAC,EAAE,WAAW,CAAC,OAAO,iBAAiB,EAAE,WAAW,CAAC;;;;IAgB7D;;;;;;;OAOG;IACa,eAAe,CAC7B,QAAQ,CAAC,EAAE,OAAO,EAClB,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,uBAAuB;CAsB3B;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAAC,EAC3C,KAAK,EACL,MAAM,GACP,EAAE,qBAAqB,iBAQvB"}