@black-market/sdk 0.15.0 → 0.15.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 (93) hide show
  1. package/README.md +9 -8
  2. package/dist/lifecycle/auto-compound.d.ts +21 -0
  3. package/dist/lifecycle/auto-compound.d.ts.map +1 -0
  4. package/dist/lifecycle/auto-compound.js +34 -0
  5. package/dist/lifecycle/auto-compound.js.map +1 -0
  6. package/dist/lifecycle/calibration.d.ts +2 -4
  7. package/dist/lifecycle/calibration.d.ts.map +1 -1
  8. package/dist/lifecycle/calibration.js +1 -26
  9. package/dist/lifecycle/calibration.js.map +1 -1
  10. package/dist/lifecycle/deployments/auto-compound-dynamic-pool-v1-20261028.d.ts +73 -0
  11. package/dist/lifecycle/deployments/auto-compound-dynamic-pool-v1-20261028.d.ts.map +1 -0
  12. package/dist/lifecycle/deployments/auto-compound-dynamic-pool-v1-20261028.js +75 -0
  13. package/dist/lifecycle/deployments/auto-compound-dynamic-pool-v1-20261028.js.map +1 -0
  14. package/dist/lifecycle/deployments/auto-compound-static-pool-v1-20261028.d.ts +73 -0
  15. package/dist/lifecycle/deployments/auto-compound-static-pool-v1-20261028.d.ts.map +1 -0
  16. package/dist/lifecycle/deployments/auto-compound-static-pool-v1-20261028.js +75 -0
  17. package/dist/lifecycle/deployments/auto-compound-static-pool-v1-20261028.js.map +1 -0
  18. package/dist/lifecycle/gas-profile.d.ts +17 -13
  19. package/dist/lifecycle/gas-profile.d.ts.map +1 -1
  20. package/dist/lifecycle/gas-profile.js +125 -115
  21. package/dist/lifecycle/gas-profile.js.map +1 -1
  22. package/dist/lifecycle/index.d.ts +4 -4
  23. package/dist/lifecycle/index.d.ts.map +1 -1
  24. package/dist/lifecycle/index.js +4 -4
  25. package/dist/lifecycle/index.js.map +1 -1
  26. package/dist/lifecycle/markets.d.ts +2 -0
  27. package/dist/lifecycle/markets.d.ts.map +1 -1
  28. package/dist/lifecycle/markets.js +30 -3
  29. package/dist/lifecycle/markets.js.map +1 -1
  30. package/dist/lifecycle/opening-buys.js +1 -1
  31. package/dist/lifecycle/opening-buys.js.map +1 -1
  32. package/dist/lifecycle/planner.d.ts +6 -9
  33. package/dist/lifecycle/planner.d.ts.map +1 -1
  34. package/dist/lifecycle/planner.js +102 -207
  35. package/dist/lifecycle/planner.js.map +1 -1
  36. package/dist/lifecycle/presets.d.ts +7 -3
  37. package/dist/lifecycle/presets.d.ts.map +1 -1
  38. package/dist/lifecycle/presets.js +10 -1
  39. package/dist/lifecycle/presets.js.map +1 -1
  40. package/dist/lifecycle/rpc.d.ts +3 -13
  41. package/dist/lifecycle/rpc.d.ts.map +1 -1
  42. package/dist/lifecycle/rpc.js +11 -37
  43. package/dist/lifecycle/rpc.js.map +1 -1
  44. package/dist/lifecycle/snapshot.d.ts.map +1 -1
  45. package/dist/lifecycle/snapshot.js +1 -2
  46. package/dist/lifecycle/snapshot.js.map +1 -1
  47. package/dist/lifecycle/transactions.d.ts +10 -3
  48. package/dist/lifecycle/transactions.d.ts.map +1 -1
  49. package/dist/lifecycle/transactions.js +40 -10
  50. package/dist/lifecycle/transactions.js.map +1 -1
  51. package/dist/lifecycle/types.d.ts +32 -107
  52. package/dist/lifecycle/types.d.ts.map +1 -1
  53. package/dist/lifecycle/types.js +3 -3
  54. package/dist/lifecycle/types.js.map +1 -1
  55. package/dist/lifecycle/ufg.d.ts +1 -1
  56. package/dist/lifecycle/ufg.d.ts.map +1 -1
  57. package/dist/lifecycle/ufg.js +1 -1
  58. package/dist/lifecycle/ufg.js.map +1 -1
  59. package/docs/launch-lifecycle.md +43 -0
  60. package/docs/lifecycle-gas-profiles.md +1 -1
  61. package/docs/reference.md +56 -2
  62. package/examples/.env.example +0 -3
  63. package/examples/README.md +10 -10
  64. package/examples/launch-example-support.ts +4 -9
  65. package/examples/launch-example.ts +12 -28
  66. package/examples/launch-lifecycle-smoke.ts +10 -22
  67. package/examples/launch.ts +8 -11
  68. package/package.json +1 -1
  69. package/src/lifecycle/auto-compound.ts +38 -0
  70. package/src/lifecycle/calibration.ts +3 -23
  71. package/src/lifecycle/deployments/auto-compound-dynamic-pool-v1-20261028.ts +77 -0
  72. package/src/lifecycle/deployments/auto-compound-static-pool-v1-20261028.ts +77 -0
  73. package/src/lifecycle/gas-profile.ts +117 -106
  74. package/src/lifecycle/index.ts +4 -4
  75. package/src/lifecycle/markets.ts +25 -3
  76. package/src/lifecycle/opening-buys.ts +1 -1
  77. package/src/lifecycle/planner.ts +98 -190
  78. package/src/lifecycle/presets.ts +10 -1
  79. package/src/lifecycle/rpc.ts +10 -32
  80. package/src/lifecycle/snapshot.ts +1 -2
  81. package/src/lifecycle/transactions.ts +39 -9
  82. package/src/lifecycle/types.ts +38 -87
  83. package/src/lifecycle/ufg.ts +1 -1
  84. package/dist/lifecycle/fork.d.ts +0 -15
  85. package/dist/lifecycle/fork.d.ts.map +0 -1
  86. package/dist/lifecycle/fork.js +0 -36
  87. package/dist/lifecycle/fork.js.map +0 -1
  88. package/dist/lifecycle/simulation.d.ts +0 -17
  89. package/dist/lifecycle/simulation.d.ts.map +0 -1
  90. package/dist/lifecycle/simulation.js +0 -605
  91. package/dist/lifecycle/simulation.js.map +0 -1
  92. package/src/lifecycle/fork.ts +0 -36
  93. package/src/lifecycle/simulation.ts +0 -543
package/README.md CHANGED
@@ -3,13 +3,13 @@
3
3
  # Abyss TypeScript SDK
4
4
 
5
5
  Use `@black-market/sdk` with [viem](https://viem.sh) to launch tokens, swap, and read lending markets.
6
- This guide targets SDK **0.15.0** on Robinhood Chain mainnet (**4663**).
6
+ This guide targets SDK **0.15.1** on Robinhood Chain mainnet (**4663**).
7
7
  The package supports Node 20+; running the checkout's TypeScript examples requires **Node 24+**.
8
8
 
9
9
  ## Install
10
10
 
11
11
  ```sh
12
- pnpm add @black-market/sdk@0.15.0 viem
12
+ pnpm add @black-market/sdk@0.15.1 viem
13
13
  ```
14
14
 
15
15
  To run the examples, use a checkout:
@@ -62,7 +62,7 @@ node examples/launch-erc20-abyss.ts --resume "launch-results/<original-run-dir>"
62
62
  **Broadcast builds a fresh plan**, including a new nonce and token identity; it does not sign the dry-run plan.
63
63
  Review the broadcast's printed economics too. `--resume` can spend funds and publish;
64
64
  it continues the saved identity and does not require `--broadcast`.
65
- A dry run still needs a signer source, sufficient funding, and live RPC/API access for admission.
65
+ A dry run still needs a signer source, sufficient funding, and live RPC/API access for input and gas-budget checks. It never executes launch calldata.
66
66
 
67
67
  ### Understand the defaults
68
68
 
@@ -97,7 +97,7 @@ quotes are WETH unless USDG is listed. Positions are permanently locked.
97
97
  ## Choose an offering for your integration
98
98
 
99
99
  Use `listKnownLifecycleProfiles` for the release's supported offerings and deployment wiring.
100
- Planning batches current state and uses native-ceiling budgets, exact local curve quotes and required native execution; live registry discovery is optional. On4663 every launch step uses32M total gas, including poster; approvals leave gas preparation to the wallet. An atomic preference may select staged, so retain returned `planned.mode`.
100
+ Planning batches pinned current state, checks native-ceiling capacity budgets and computes exact local opening-buy quotes. It never simulates a launch transaction, including conversions. Multiple markets or conversion funding always select staged; atomic requires one non-conversion market with known capacity headroom. On4663 every launch step uses32M total gas including poster; approvals leave gas to the wallet. Retain returned `planned.mode` and check `planned.assessment.ready`, not removed simulation/proof fields.
101
101
 
102
102
  | Offering | Choose it for | Guide |
103
103
  | --- | --- | --- |
@@ -106,10 +106,11 @@ Planning batches current state and uses native-ceiling budgets, exact local curv
106
106
  | Dynamic V4 | Oracle-velocity hook fee between your minimum and maximum; LP fee 0 | [Fee configuration](docs/reference.md#pool-bound-v4-version-6) |
107
107
  | HMM V2 | Fee-funded auxiliary bids/asks; LP and developer fees 0 | [Configure HMM V2](docs/launch-lifecycle.md#configure-hmm-v2) |
108
108
  | UFG | Quote-fee treasury and holder redemption; reward-free ERC20 only | [Launch a UFG treasury](docs/launch-lifecycle.md#launch-a-ufg-treasury) |
109
+ | Auto-compounding | Static/dynamic hook fees fund permanently locked full-range liquidity; LP and developer fees 0 | [Configure auto-compounding](docs/launch-lifecycle.md#configure-auto-compounding) |
109
110
 
110
- The eleven launch wrappers do not launch HMM or UFG. Start those integrations with
111
- [`hmm-launch-config.ts`](examples/hmm-launch-config.ts) or [`ufg-launch-config.ts`](examples/ufg-launch-config.ts)
112
- and the linked guide. They are pure configuration examples, not deployment commands.
111
+ The eleven launch wrappers do not launch HMM, UFG, or auto-compounding. Start HMM/UFG integrations with
112
+ [`hmm-launch-config.ts`](examples/hmm-launch-config.ts) or [`ufg-launch-config.ts`](examples/ufg-launch-config.ts);
113
+ for auto-compounding, use the typed config6 example in the linked guide. These are configuration paths, not deployment commands.
113
114
 
114
115
  ## Recover and integrate
115
116
 
@@ -120,5 +121,5 @@ The runner saves artifacts under `launch-results/`; retain its owner-only recove
120
121
  - [Launch guide](docs/launch-lifecycle.md): pricing → planning → signing → publication → fees and recovery.
121
122
  - [Runner reference](examples/README.md): environment, eleven cases, artifacts, and resume behavior.
122
123
  - [SDK reference](docs/reference.md): addresses, codecs, limits, Nitro gas, and author APIs.
123
- - [Gas and RPC evidence](docs/lifecycle-gas-profiles.md): native ceilings, capacity bounds, exact execution boundaries, measured budgets and0.15.0 migration.
124
+ - [Gas and RPC evidence](docs/lifecycle-gas-profiles.md): native ceilings, deterministic capacity/chunk budgets, exact local buy math and0.15.1 migration.
124
125
  - [Changelog](CHANGELOG.md) · [MIT license](LICENSE)
@@ -0,0 +1,21 @@
1
+ import { type Hex } from "viem";
2
+ export declare const AUTO_COMPOUND_STATIC_V1_PROFILE_ID: Hex;
3
+ export declare const AUTO_COMPOUND_DYNAMIC_V1_PROFILE_ID: Hex;
4
+ export declare const AUTO_COMPOUND_CONFIG_VERSION: `0x${string}`;
5
+ export declare function isAutoCompoundProfile(profileId: Hex): boolean;
6
+ /** Share of net hook fees allocated to automatic, permanently locked liquidity. */
7
+ export type AutoCompoundConfigV1 = {
8
+ compoundShareBps: number;
9
+ };
10
+ export declare const autoCompoundConfigV1Components: readonly [{
11
+ readonly name: "version";
12
+ readonly type: "bytes32";
13
+ }, {
14
+ readonly name: "compoundShareBps";
15
+ readonly type: "uint16";
16
+ }];
17
+ export declare function validateAutoCompoundConfig(config: AutoCompoundConfigV1): void;
18
+ /** Exactly abi.encode(AutoCompoundConfigV1): two static words (64 bytes). */
19
+ export declare function encodeAutoCompoundTail(config: AutoCompoundConfigV1): Hex;
20
+ export declare function decodeAutoCompoundTail(encoded: Hex): AutoCompoundConfigV1;
21
+ //# sourceMappingURL=auto-compound.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-compound.d.ts","sourceRoot":"","sources":["../../src/lifecycle/auto-compound.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAGlG,eAAO,MAAM,kCAAkC,EAAE,GAA0E,CAAC;AAC5H,eAAO,MAAM,mCAAmC,EAAE,GAA0E,CAAC;AAC7H,eAAO,MAAM,4BAA4B,eAAiE,CAAC;AAE3G,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,GAAG,GAAG,OAAO,CAG7D;AAED,mFAAmF;AACnF,MAAM,MAAM,oBAAoB,GAAG;IAAE,gBAAgB,EAAE,MAAM,CAAA;CAAE,CAAC;AAChE,eAAO,MAAM,8BAA8B;;;;;;EAEjC,CAAC;AAEX,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI,CAI7E;AAED,6EAA6E;AAC7E,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,oBAAoB,GAAG,GAAG,CAGxE;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,GAAG,GAAG,oBAAoB,CAOzE"}
@@ -0,0 +1,34 @@
1
+ import { decodeAbiParameters, encodeAbiParameters, keccak256, stringToHex } from "viem";
2
+ import { LifecyclePlanningError } from "./types.js";
3
+ export const AUTO_COMPOUND_STATIC_V1_PROFILE_ID = "0xdd53c2c686f822b2d17536ccf4f9db954b4976d1be80404bc74571253179fae0";
4
+ export const AUTO_COMPOUND_DYNAMIC_V1_PROFILE_ID = "0x46b81bfe9316fbaa90e930c6f1d5ad5e6ecfced2c886fd5520ca2bae11b92744";
5
+ export const AUTO_COMPOUND_CONFIG_VERSION = keccak256(stringToHex("black-market.auto-compound.config.v1"));
6
+ export function isAutoCompoundProfile(profileId) {
7
+ const id = profileId.toLowerCase();
8
+ return id === AUTO_COMPOUND_STATIC_V1_PROFILE_ID || id === AUTO_COMPOUND_DYNAMIC_V1_PROFILE_ID;
9
+ }
10
+ export const autoCompoundConfigV1Components = [
11
+ { name: "version", type: "bytes32" }, { name: "compoundShareBps", type: "uint16" },
12
+ ];
13
+ export function validateAutoCompoundConfig(config) {
14
+ if (!Number.isInteger(config.compoundShareBps) || config.compoundShareBps < 0 || config.compoundShareBps > 10000) {
15
+ throw new LifecyclePlanningError("INVALID_AUTO_COMPOUND_CONFIG", "compoundShareBps must be an integer between 0 and 10000");
16
+ }
17
+ }
18
+ /** Exactly abi.encode(AutoCompoundConfigV1): two static words (64 bytes). */
19
+ export function encodeAutoCompoundTail(config) {
20
+ validateAutoCompoundConfig(config);
21
+ return encodeAbiParameters([{ type: "tuple", components: autoCompoundConfigV1Components }], [{ version: AUTO_COMPOUND_CONFIG_VERSION, compoundShareBps: config.compoundShareBps }]);
22
+ }
23
+ export function decodeAutoCompoundTail(encoded) {
24
+ if (encoded.length !== 2 + 64 * 2)
25
+ throw new LifecyclePlanningError("INVALID_AUTO_COMPOUND_CONFIG", "Auto-compounding tail must be exactly 64 bytes");
26
+ const { version, compoundShareBps } = decodeAbiParameters([{ type: "tuple", components: autoCompoundConfigV1Components }], encoded)[0];
27
+ if (version !== AUTO_COMPOUND_CONFIG_VERSION)
28
+ throw new LifecyclePlanningError("INVALID_AUTO_COMPOUND_CONFIG", "Unknown auto-compounding config version");
29
+ const config = { compoundShareBps };
30
+ if (encodeAutoCompoundTail(config).toLowerCase() !== encoded.toLowerCase())
31
+ throw new LifecyclePlanningError("INVALID_AUTO_COMPOUND_CONFIG", "Auto-compounding tail is not canonical");
32
+ return config;
33
+ }
34
+ //# sourceMappingURL=auto-compound.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-compound.js","sourceRoot":"","sources":["../../src/lifecycle/auto-compound.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,SAAS,EAAE,WAAW,EAAY,MAAM,MAAM,CAAC;AAClG,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEpD,MAAM,CAAC,MAAM,kCAAkC,GAAQ,oEAAoE,CAAC;AAC5H,MAAM,CAAC,MAAM,mCAAmC,GAAQ,oEAAoE,CAAC;AAC7H,MAAM,CAAC,MAAM,4BAA4B,GAAG,SAAS,CAAC,WAAW,CAAC,sCAAsC,CAAC,CAAC,CAAC;AAE3G,MAAM,UAAU,qBAAqB,CAAC,SAAc;IAClD,MAAM,EAAE,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IACnC,OAAO,EAAE,KAAK,kCAAkC,IAAI,EAAE,KAAK,mCAAmC,CAAC;AACjG,CAAC;AAID,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,QAAQ,EAAE;CAC1E,CAAC;AAEX,MAAM,UAAU,0BAA0B,CAAC,MAA4B;IACrE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,MAAM,CAAC,gBAAgB,GAAG,CAAC,IAAI,MAAM,CAAC,gBAAgB,GAAG,KAAK,EAAE,CAAC;QACjH,MAAM,IAAI,sBAAsB,CAAC,8BAA8B,EAAE,yDAAyD,CAAC,CAAC;IAC9H,CAAC;AACH,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,sBAAsB,CAAC,MAA4B;IACjE,0BAA0B,CAAC,MAAM,CAAC,CAAC;IACnC,OAAO,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,8BAA8B,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,4BAA4B,EAAE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;AACtL,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAY;IACjD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC;QAAE,MAAM,IAAI,sBAAsB,CAAC,8BAA8B,EAAE,gDAAgD,CAAC,CAAC;IACtJ,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,mBAAmB,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,8BAA8B,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACvI,IAAI,OAAO,KAAK,4BAA4B;QAAE,MAAM,IAAI,sBAAsB,CAAC,8BAA8B,EAAE,yCAAyC,CAAC,CAAC;IAC1J,MAAM,MAAM,GAAG,EAAE,gBAAgB,EAAE,CAAC;IACpC,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE;QAAE,MAAM,IAAI,sBAAsB,CAAC,8BAA8B,EAAE,wCAAwC,CAAC,CAAC;IACvL,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { type Address } from "viem";
2
2
  import { type PoolBoundHookParameters, type PoolBoundLifecycleConfigVersion } from "./markets.js";
3
- import { type LaunchPlanV1 } from "./schema.js";
4
- import { type PlannedLaunch, type PoolBoundHookDeployment } from "./types.js";
3
+ import type { LaunchPlanV1 } from "./schema.js";
4
+ import { type PoolBoundHookDeployment } from "./types.js";
5
5
  /** Construction only: a release preset never certifies current registry admission.
6
6
  * Unknown chain/core/profile identities deliberately return to live discovery. */
7
7
  export declare function deriveKnownPoolBoundHookDeployment(options: {
@@ -14,6 +14,4 @@ export declare function deriveKnownPoolBoundHookDeployment(options: {
14
14
  configVersion: PoolBoundLifecycleConfigVersion;
15
15
  } | undefined;
16
16
  export declare function validateBuySlippageBps(bps: number): void;
17
- /** Actual ordered receipt outputs, never reserve geometry or caller-supplied quotes. */
18
- export declare function protectOrderedBuyMinimums(planned: PlannedLaunch, bps: number): LaunchPlanV1;
19
17
  //# sourceMappingURL=calibration.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"calibration.d.ts","sourceRoot":"","sources":["../../src/lifecycle/calibration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmC,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAErE,OAAO,EAA8L,KAAK,uBAAuB,EAAE,KAAK,+BAA+B,EAAE,MAAM,cAAc,CAAC;AAE9R,OAAO,EAAE,KAAK,YAAY,EAAwB,MAAM,aAAa,CAAC;AACtE,OAAO,EAA0B,KAAK,aAAa,EAAE,KAAK,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAItG;kFACkF;AAClF,wBAAgB,kCAAkC,CAAC,OAAO,EAAE;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,UAAU,EAAE,uBAAuB,CAAC;IAAC,UAAU,EAAE,uBAAuB,CAAC;IAAC,aAAa,EAAE,+BAA+B,CAAA;CAAE,GAAG,SAAS,CAwBjQ;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAExD;AAED,wFAAwF;AACxF,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,YAAY,CAiB3F"}
1
+ {"version":3,"file":"calibration.d.ts","sourceRoot":"","sources":["../../src/lifecycle/calibration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/C,OAAO,EAA8L,KAAK,uBAAuB,EAAE,KAAK,+BAA+B,EAAE,MAAM,cAAc,CAAC;AAE9R,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAA0B,KAAK,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAIlF;kFACkF;AAClF,wBAAgB,kCAAkC,CAAC,OAAO,EAAE;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,UAAU,EAAE,uBAAuB,CAAC;IAAC,UAAU,EAAE,uBAAuB,CAAC;IAAC,aAAa,EAAE,+BAA+B,CAAA;CAAE,GAAG,SAAS,CAwBjQ;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAExD"}
@@ -1,5 +1,4 @@
1
- import { decodeFunctionResult, keccak256 } from "viem";
2
- import { launchLifecycleAbi } from "./abi.js";
1
+ import { keccak256 } from "viem";
3
2
  import { buildPoolBoundHookParameters, decodePoolBoundV4LifecycleMarketConfig, isPoolBoundV4ConfigVersion, poolBoundHookInitCodeHash, poolBoundV4LifecycleConfigSchema, predictPoolBoundHookAddress } from "./markets.js";
4
3
  import { getKnownLifecycleProfile } from "./presets.js";
5
4
  import { LifecyclePlanningError } from "./types.js";
@@ -40,28 +39,4 @@ export function validateBuySlippageBps(bps) {
40
39
  if (!Number.isSafeInteger(bps) || bps < 0 || bps >= 10000)
41
40
  throw new LifecyclePlanningError("INVALID_BUY_SLIPPAGE", "Buy slippage must be an integer between zero and 9999 basis points");
42
41
  }
43
- /** Actual ordered receipt outputs, never reserve geometry or caller-supplied quotes. */
44
- export function protectOrderedBuyMinimums(planned, bps) {
45
- validateBuySlippageBps(bps);
46
- const { simulation, plan } = planned;
47
- if (simulation.deferredTransactionIds.length !== 0)
48
- throw new LifecyclePlanningError("LAUNCH_DIAGNOSTIC_FAILED", "Buy slippage calibration requires actual activation outputs beyond the proven RPC prefix; use a higher aggregate simulation cap/provider or preserve already committed minima without buySlippageBps", simulation);
49
- if (simulation.confidence !== "stateful" || simulation.backend === "unavailable" || simulation.steps.length !== planned.transactions.length || simulation.steps.some((step, index) => !step.success || step.transactionId !== planned.transactions[index]?.id))
50
- throw new LifecyclePlanningError("LAUNCH_DIAGNOSTIC_FAILED", simulation.reason ?? "The complete diagnostic launch sequence did not execute successfully", simulation);
51
- const activation = planned.transactions.find((transaction) => transaction.kind === "atomic" || transaction.kind === "activate");
52
- const step = simulation.steps.find((candidate) => candidate.transactionId === activation?.id);
53
- if (activation === undefined || step?.returnData === undefined)
54
- throw new LifecyclePlanningError("MISSING_BUY_OUTPUTS", "Diagnostic execution omitted the actual activation receipt", simulation);
55
- const receipt = decodeFunctionResult({ abi: launchLifecycleAbi, functionName: activation.kind === "atomic" ? "launchAtomic" : "activateLaunch", data: step.returnData });
56
- if (receipt.planHash.toLowerCase() !== planned.planHash.toLowerCase() || receipt.launchId.toLowerCase() !== planned.launchId.toLowerCase() || receipt.token.toLowerCase() !== planned.predictedToken.toLowerCase() || receipt.marketCount !== plan.markets.length || receipt.tokenOut.length !== plan.buys.length || receipt.quoteSpent.length !== plan.buys.length)
57
- throw new LifecyclePlanningError("MISSING_BUY_OUTPUTS", "Diagnostic receipt differs from the complete committed launch and ordered buys", simulation);
58
- const factor = BigInt(10000 - bps);
59
- return { ...plan, buys: plan.buys.map((buy, index) => {
60
- const output = receipt.tokenOut[index];
61
- const minTokenOut = output * factor / 10000n;
62
- if (receipt.quoteSpent[index] > buy.quoteAmountIn || output < buy.minTokenOut || minTokenOut <= 0n)
63
- throw new LifecyclePlanningError("INVALID_BUY_OUTPUT", "Each actual buy must satisfy its budget and produce a positive protected minimum", simulation);
64
- return { ...buy, minTokenOut };
65
- }) };
66
- }
67
42
  //# sourceMappingURL=calibration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"calibration.js","sourceRoot":"","sources":["../../src/lifecycle/calibration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"calibration.js","sourceRoot":"","sources":["../../src/lifecycle/calibration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ import type { Hex } from "viem";
2
+ export declare const autoCompoundDynamicEnvelope: Readonly<{
3
+ artifactDigest: "0x6b3cdd53a654f08b0c2d42d7906ec7f70b22b40f463b1508fab3a535e9b412c9";
4
+ reviewManifestDigest: "0xdaba249bbd8fc7785eb17d42dad40d5d45cd3105802b8851bee20398eb412ca4";
5
+ configBoundsDigest: "0x72e0b2d542556d472a47f9c38b2c91079c72793af847dee77933f0eca203129d";
6
+ termsDigest: "0xe00b84f583194276325059cf661149223e8e3fa2d9292ff7e86b909da8b54ae9";
7
+ topology: 2;
8
+ configVersion: 6;
9
+ economicVersion: 3;
10
+ capabilities: 123n;
11
+ flags: 0n;
12
+ callbackFlags: 6908;
13
+ callbackMask: 16383;
14
+ protocolTreasury: "0x961981916AB6575C3af3eeCecbf6A3b7Fad7C9e1";
15
+ protocolFeeDenominator: 6;
16
+ beneficiary: "0x7cb44b8693b3C350A2BcD4b681aF85365aa27783";
17
+ maximumDeveloperFeeBps: 0;
18
+ bounds: Readonly<{
19
+ minimumTickSpacing: 1;
20
+ maximumTickSpacing: 32767;
21
+ maximumPositions: 32;
22
+ maximumOracleCardinality: 4096;
23
+ feeModeFlags: 3;
24
+ }>;
25
+ graph: Readonly<{
26
+ manager: "0x8366a39CC670B4001A1121B8F6A443A643e40951";
27
+ hookRoot: "0x0000000000000000000000000000000000000000";
28
+ oracleFactory: "0xe7feF2BC860B25bbdEB6F6AB96d88bAAa77ddad7";
29
+ locker: "0xD6869122933143F72cf30e3A0dFd8AC67246E139";
30
+ collectorFactory: "0xB04735e49A5CfcCfE8572AFeF0AD0f0AddcdC698";
31
+ collectorDeployer: "0x2010944ebEdA7571B67cd30F2E596037fb18f8c7";
32
+ hookDeployer: "0x6911572b94E5dA5A23073b49d857FE7a3F925B7C";
33
+ coreCodeHash: "0x9fb8f46c3b980b9db25dfdb487a69a308a86be145860269b4036a4e74480787b";
34
+ managerCodeHash: "0xbd3881180b547f5fe817545743cfb4343e96b1bc6640dcd70c106b0066e95626";
35
+ hookRuntimeCodeHash: "0x0000000000000000000000000000000000000000000000000000000000000000";
36
+ oracleFactoryCodeHash: "0x974fb5c72d91ccb99f1eb4679a5d4432c82bbaa0906b1c2917ec4da3499b7b98";
37
+ lockerCodeHash: "0x901b3da9356b26074757ea02b0bca3b868dd05eb0ed18f4c07dd421228824278";
38
+ collectorFactoryCodeHash: "0x11c348a8370354fe64039c74d0f80185a5c0f68f757d07f1d0a86fc71cd6a50d";
39
+ collectorDeployerCodeHash: "0xa2c81105280b22c9b11bf8bff5abbc6fe6ddb098604ad6ed569b26cbb192f3a5";
40
+ hookDeployerCodeHash: "0x412015821b335e45e3a84e21f3ae2b0f1bd796f1f5b83eff96475c2f6e26b301";
41
+ hookCreationCodeHash: "0x6b3cdd53a654f08b0c2d42d7906ec7f70b22b40f463b1508fab3a535e9b412c9";
42
+ codeChunk0: "0x7fDFFC55234e6D15a5e20c92E47d4f07435bb440";
43
+ codeChunk0Hash: "0x89b55c7af7af983fe3e1c84a1e1b3beb6344152f755d70c9ba31e044b9cd50a2";
44
+ codeChunk1: "0x7a9E95E245FCdF46142E2AE8A7FB4916ed4D981F";
45
+ codeChunk1Hash: "0xfba71c66c155206c7d8b96f78078b63f2724801fb2907352dcf71ce5553e4e99";
46
+ sharedHookSalt: "0x0000000000000000000000000000000000000000000000000000000000000000";
47
+ }>;
48
+ }>;
49
+ export declare const autoCompoundDynamicAdapter: Readonly<{
50
+ implementation: "0x37b81fCE117973f4E69bFBF58a20385cC24492E0";
51
+ codeHash: "0x1567130edc048b2dd9f68509c19e552c0833d8b0b34484bd4bce343a53eea441";
52
+ capabilities: 123n;
53
+ configVersion: 6;
54
+ enabled: true;
55
+ }>;
56
+ export declare const autoCompoundDynamicRegistration: Readonly<{
57
+ adapterId: "0x68a0b17d78c8c1a99762de862182940d795bbdc9617627ef6733e53378267201";
58
+ configSchema: "0x51c5ca14c40012f78425cd1afb1ea77980da3fed0490a00911a8a4ed34792045";
59
+ dependencyDigest: "0x4e269f2944caa666249b6d46bfbdd27c7592ccb11023db5cf5536c676d0009d2";
60
+ venue: "0x8366a39CC670B4001A1121B8F6A443A643e40951";
61
+ factory: "0x0000000000000000000000000000000000000000";
62
+ hook: "0x0000000000000000000000000000000000000000";
63
+ capabilities: 123n;
64
+ enabled: true;
65
+ }>;
66
+ export declare const autoCompoundDynamicTopology: Readonly<{
67
+ hookTopology: 2;
68
+ configVersion: 6;
69
+ hookDeployer: "0x6911572b94E5dA5A23073b49d857FE7a3F925B7C";
70
+ hookCreationCodeHash: "0x6b3cdd53a654f08b0c2d42d7906ec7f70b22b40f463b1508fab3a535e9b412c9";
71
+ }>;
72
+ export declare const autoCompoundDynamicCreationCode: Hex;
73
+ //# sourceMappingURL=auto-compound-dynamic-pool-v1-20261028.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-compound-dynamic-pool-v1-20261028.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/deployments/auto-compound-dynamic-pool-v1-20261028.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAKhC,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8CX,CAAC;AAC9B,eAAO,MAAM,0BAA0B;;;;;;EAML,CAAC;AACnC,eAAO,MAAM,+BAA+B;;;;;;;;;EASV,CAAC;AACnC,eAAO,MAAM,2BAA2B;;;;;EAKV,CAAC;AAE/B,eAAO,MAAM,+BAA+B,EAAE,GAAo3wD,CAAC"}
@@ -0,0 +1,75 @@
1
+ // Generated by scripts/generate-auto-compound-presets.mjs from admission and registry readback.
2
+ // Robinhood block 100486085, 0xa41849e3e83fb977ed2fbfc7ff71c639bdf1fc34489dc46878128c021fdb6c44; admission 0xa81bc8253ba48805ddecde8517f8d4291fbab0e007f0c2660fe43c6d156b6fb2.
3
+ export const autoCompoundDynamicEnvelope = Object.freeze({
4
+ artifactDigest: "0x6b3cdd53a654f08b0c2d42d7906ec7f70b22b40f463b1508fab3a535e9b412c9",
5
+ reviewManifestDigest: "0xdaba249bbd8fc7785eb17d42dad40d5d45cd3105802b8851bee20398eb412ca4",
6
+ configBoundsDigest: "0x72e0b2d542556d472a47f9c38b2c91079c72793af847dee77933f0eca203129d",
7
+ termsDigest: "0xe00b84f583194276325059cf661149223e8e3fa2d9292ff7e86b909da8b54ae9",
8
+ topology: 2,
9
+ configVersion: 6,
10
+ economicVersion: 3,
11
+ capabilities: 123n,
12
+ flags: 0n,
13
+ callbackFlags: 6908,
14
+ callbackMask: 16383,
15
+ protocolTreasury: "0x961981916AB6575C3af3eeCecbf6A3b7Fad7C9e1",
16
+ protocolFeeDenominator: 6,
17
+ beneficiary: "0x7cb44b8693b3C350A2BcD4b681aF85365aa27783",
18
+ maximumDeveloperFeeBps: 0,
19
+ bounds: Object.freeze({
20
+ minimumTickSpacing: 1,
21
+ maximumTickSpacing: 32767,
22
+ maximumPositions: 32,
23
+ maximumOracleCardinality: 4096,
24
+ feeModeFlags: 3,
25
+ }),
26
+ graph: Object.freeze({
27
+ manager: "0x8366a39CC670B4001A1121B8F6A443A643e40951",
28
+ hookRoot: "0x0000000000000000000000000000000000000000",
29
+ oracleFactory: "0xe7feF2BC860B25bbdEB6F6AB96d88bAAa77ddad7",
30
+ locker: "0xD6869122933143F72cf30e3A0dFd8AC67246E139",
31
+ collectorFactory: "0xB04735e49A5CfcCfE8572AFeF0AD0f0AddcdC698",
32
+ collectorDeployer: "0x2010944ebEdA7571B67cd30F2E596037fb18f8c7",
33
+ hookDeployer: "0x6911572b94E5dA5A23073b49d857FE7a3F925B7C",
34
+ coreCodeHash: "0x9fb8f46c3b980b9db25dfdb487a69a308a86be145860269b4036a4e74480787b",
35
+ managerCodeHash: "0xbd3881180b547f5fe817545743cfb4343e96b1bc6640dcd70c106b0066e95626",
36
+ hookRuntimeCodeHash: "0x0000000000000000000000000000000000000000000000000000000000000000",
37
+ oracleFactoryCodeHash: "0x974fb5c72d91ccb99f1eb4679a5d4432c82bbaa0906b1c2917ec4da3499b7b98",
38
+ lockerCodeHash: "0x901b3da9356b26074757ea02b0bca3b868dd05eb0ed18f4c07dd421228824278",
39
+ collectorFactoryCodeHash: "0x11c348a8370354fe64039c74d0f80185a5c0f68f757d07f1d0a86fc71cd6a50d",
40
+ collectorDeployerCodeHash: "0xa2c81105280b22c9b11bf8bff5abbc6fe6ddb098604ad6ed569b26cbb192f3a5",
41
+ hookDeployerCodeHash: "0x412015821b335e45e3a84e21f3ae2b0f1bd796f1f5b83eff96475c2f6e26b301",
42
+ hookCreationCodeHash: "0x6b3cdd53a654f08b0c2d42d7906ec7f70b22b40f463b1508fab3a535e9b412c9",
43
+ codeChunk0: "0x7fDFFC55234e6D15a5e20c92E47d4f07435bb440",
44
+ codeChunk0Hash: "0x89b55c7af7af983fe3e1c84a1e1b3beb6344152f755d70c9ba31e044b9cd50a2",
45
+ codeChunk1: "0x7a9E95E245FCdF46142E2AE8A7FB4916ed4D981F",
46
+ codeChunk1Hash: "0xfba71c66c155206c7d8b96f78078b63f2724801fb2907352dcf71ce5553e4e99",
47
+ sharedHookSalt: "0x0000000000000000000000000000000000000000000000000000000000000000",
48
+ }),
49
+ });
50
+ export const autoCompoundDynamicAdapter = Object.freeze({
51
+ implementation: "0x37b81fCE117973f4E69bFBF58a20385cC24492E0",
52
+ codeHash: "0x1567130edc048b2dd9f68509c19e552c0833d8b0b34484bd4bce343a53eea441",
53
+ capabilities: 123n,
54
+ configVersion: 6,
55
+ enabled: true,
56
+ });
57
+ export const autoCompoundDynamicRegistration = Object.freeze({
58
+ adapterId: "0x68a0b17d78c8c1a99762de862182940d795bbdc9617627ef6733e53378267201",
59
+ configSchema: "0x51c5ca14c40012f78425cd1afb1ea77980da3fed0490a00911a8a4ed34792045",
60
+ dependencyDigest: "0x4e269f2944caa666249b6d46bfbdd27c7592ccb11023db5cf5536c676d0009d2",
61
+ venue: "0x8366a39CC670B4001A1121B8F6A443A643e40951",
62
+ factory: "0x0000000000000000000000000000000000000000",
63
+ hook: "0x0000000000000000000000000000000000000000",
64
+ capabilities: 123n,
65
+ enabled: true,
66
+ });
67
+ export const autoCompoundDynamicTopology = Object.freeze({
68
+ hookTopology: 2,
69
+ configVersion: 6,
70
+ hookDeployer: "0x6911572b94E5dA5A23073b49d857FE7a3F925B7C",
71
+ hookCreationCodeHash: "0x6b3cdd53a654f08b0c2d42d7906ec7f70b22b40f463b1508fab3a535e9b412c9",
72
+ });
73
+ // 28853 bytes; keccak256 0x6b3cdd53a654f08b0c2d42d7906ec7f70b22b40f463b1508fab3a535e9b412c9.
74
+ export const autoCompoundDynamicCreationCode = "0x610240604052348015610010575f5ffd5b506040516170b53803806170b583398101604081905261002f91610ddb565b80610039816105ad565b611afc613fff30161461005f57604051632a96f9e160e21b815260040160405180910390fd5b80516001600160a01b039081166080908152602080840151831660a0908152604080860151851660c0526060860151851660e0529285015184166101005284015190921661012052516100b491839101610f60565b60408051808303601f1901815291905280516020909101206101609081526102408201516101809081526101208301516001600160a01b039081166101a05261026084015163ffffffff166101c052908301519183015160189290921b66ffffffff0000001662ffffff909216919091176101e05260a082015160c08301519082169116105f81610149578260a0015161014f565b8260c001515b90505f82610161578360c00151610167565b8360a001515b6001600160a01b038084166102008190529082166102208190526040805160a081018252928352602083019190915260e087015162ffffff169082015261010086015160020b60608201523060808201529091505f6101c78260a0902090565b61014081905286517f3976becbb8e6ca85459092153a2186a0e92a4b441f5cb1fb7c8a782ec56ad97f8054600160281b600160c81b031916650100000000006001600160a01b039384160217905560a08801517f3976becbb8e6ca85459092153a2186a0e92a4b441f5cb1fb7c8a782ec56ad98080546001600160a01b031990811692841692909217905560c0890180517f3976becbb8e6ca85459092153a2186a0e92a4b441f5cb1fb7c8a782ec56ad981805484169185169190911790557f3976becbb8e6ca85459092153a2186a0e92a4b441f5cb1fb7c8a782ec56ad98284905585517f3976becbb8e6ca85459092153a2186a0e92a4b441f5cb1fb7c8a782ec56ad983805484169185169190911790556020808701517f3976becbb8e6ca85459092153a2186a0e92a4b441f5cb1fb7c8a782ec56ad98480546040808b01516060808d0151958a166001600160b81b031990941693909317600160a01b62ffffff928316021762ffffff60b81b1916600160b81b9190951602939093179091556080808a01517f3976becbb8e6ca85459092153a2186a0e92a4b441f5cb1fb7c8a782ec56ad9858054909716908816179095558151610120810183525f8152948d01518616928501929092529151909316908201526101a08901519293507f3976becbb8e6ca85459092153a2186a0e92a4b441f5cb1fb7c8a782ec56ad97b92909182019060ff1660018111156103e3576103e3611105565b60018111156103f4576103f4611105565b815261014089015162ffffff166020808301919091526101c08a015160ff166040808401919091526101e08b01516001600160a01b039081166060808601919091526102008d0151151560808601526102208d015160a09095019490945284515f80549183166001600160a01b031992831617815593860151600180549184169183169190911781559286015160028054919093169181168217835594860151939491926001600160a81b03199092161790600160a01b9084908111156104bd576104bd611105565b0217905550608082015160028201805460a085015160ff16600160c01b0260ff60c01b1962ffffff909416600160a81b029390931663ffffffff60a81b199091161791909117905560c082015160038201805460e08501511515600160a01b026001600160a81b03199091166001600160a01b0390931692909217919091179055610100909101516004909101556102208701515f90819061055e90610c5a565b601e909401805461ffff909516600160e01b0261ffff60e01b1962ffffff909316600160c81b029290921664ffffffffff60c81b19909516949094171790925550611176975050505050505050565b80516001600160a01b03163b15806105d1575060208101516001600160a01b03163b155b806105e8575060408101516001600160a01b03163b155b806105ff575060608101516001600160a01b03163b155b80610616575060808101516001600160a01b03163b155b8061062d575060c08101516001600160a01b03163b155b80610643575060a08101516001600160a01b0316155b8061066757508060c001516001600160a01b03168160a001516001600160a01b0316145b8061067e575060a08101516001600160a01b031630145b806106a2575080606001516001600160a01b031681602001516001600160a01b0316145b806106c55750805f01516001600160a01b031681602001516001600160a01b0316145b806106dc575060208101516001600160a01b031630145b806106f3575060608101516001600160a01b031630145b8061070a575060808101516001600160a01b031630145b8061072d5750805f01516001600160a01b031681608001516001600160a01b0316145b80610740575060e081015162ffffff1615155b806107565750600160020b81610100015160020b125b8061076d5750610100810151617fff60029190910b135b8061079357506401000276a36001600160a01b03168161012001516001600160a01b0316105b806107c9575073fffd8963efd1fc6a506488495d951d5263988d266001600160a01b03168161012001516001600160a01b031610155b806107e55750620f424062ffffff1681610140015162ffffff16115b80610803575080610140015162ffffff1681610160015162ffffff16115b806108195750600160ff16816101a0015160ff16115b8061085057506101c081015160ff161580159061085057506004816101c0015160ff1610806108505750600a816101c0015160ff16115b8061087957506101c081015160ff161580159061087957506101e08101516001600160a01b0316155b8061089157506101e08101516001600160a01b031630145b806108b55750805f01516001600160a01b0316816101e001516001600160a01b0316145b806108da575080608001516001600160a01b0316816101e001516001600160a01b0316145b806108e85750610240810151155b806108fc575061026081015163ffffffff16155b806109125750602081610260015163ffffffff16115b156109305760405163c52a9bd360e01b815260040160405180910390fd5b5f816020015190505f8260800151905082606001516001600160a01b0316826001600160a01b031663f2f4eb266040518163ffffffff1660e01b8152600401602060405180830381865afa15801561098a573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109ae9190611119565b6001600160a01b0316141580610a385750825f01516001600160a01b0316826001600160a01b031663dc4c90d36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a08573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a2c9190611119565b6001600160a01b031614155b80610ab8575082604001516001600160a01b0316826001600160a01b031663c7f7fb906040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a88573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aac9190611119565b6001600160a01b031614155b80610b38575082608001516001600160a01b0316826001600160a01b031663d7b96d4e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b08573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b2c9190611119565b6001600160a01b031614155b80610bb8575082602001516001600160a01b0316816001600160a01b03166316eebd1e6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b88573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bac9190611119565b6001600160a01b031614155b80610c375750825f01516001600160a01b0316816001600160a01b031663dc4c90d36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c07573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c2b9190611119565b6001600160a01b031614155b15610c555760405163c52a9bd360e01b815260040160405180910390fd5b505050565b5f5f60c0516001600160a01b031663deee4135846040518263ffffffff1660e01b8152600401610c8c91815260200190565b6040805180830381865afa158015610ca6573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cca919061113b565b909250905062ffffff82161580610ce85750620d89e862ffffff8316115b80610cf7575060028161ffff16105b80610d07575061100061ffff8216115b15610d255760405163c52a9bd360e01b815260040160405180910390fd5b915091565b60405161028081016001600160401b0381118282101715610d5957634e487b7160e01b5f52604160045260245ffd5b60405290565b6001600160a01b0381168114610d73575f5ffd5b50565b8051610d8181610d5f565b919050565b805162ffffff81168114610d81575f5ffd5b8051600281900b8114610d81575f5ffd5b805163ffffffff81168114610d81575f5ffd5b805160ff81168114610d81575f5ffd5b80518015158114610d81575f5ffd5b5f610280828403128015610ded575f5ffd5b50610df6610d2a565b610dff83610d76565b8152610e0d60208401610d76565b6020820152610e1e60408401610d76565b6040820152610e2f60608401610d76565b6060820152610e4060808401610d76565b6080820152610e5160a08401610d76565b60a0820152610e6260c08401610d76565b60c0820152610e7360e08401610d86565b60e0820152610e856101008401610d98565b610100820152610e986101208401610d76565b610120820152610eab6101408401610d86565b610140820152610ebe6101608401610d86565b610160820152610ed16101808401610da9565b610180820152610ee46101a08401610dbc565b6101a0820152610ef76101c08401610dbc565b6101c0820152610f0a6101e08401610d76565b6101e0820152610f1d6102008401610dcc565b61020082015261022083810151908201526102408084015190820152610f466102608401610da9565b6102608201529392505050565b6001600160a01b03169052565b5f61028082019050610f73828451610f53565b6020830151610f856020840182610f53565b506040830151610f986040840182610f53565b506060830151610fab6060840182610f53565b506080830151610fbe6080840182610f53565b5060a0830151610fd160a0840182610f53565b5060c0830151610fe460c0840182610f53565b5060e0830151610ffb60e084018262ffffff169052565b5061010083015161101261010084018260020b9052565b50610120830151611027610120840182610f53565b5061014083015161104061014084018262ffffff169052565b5061016083015161105961016084018262ffffff169052565b5061018083015161107361018084018263ffffffff169052565b506101a083015161108a6101a084018260ff169052565b506101c08301516110a16101c084018260ff169052565b506101e08301516110b66101e0840182610f53565b506102008301516110cc61020084018215159052565b506102208301516102208301526102408301516102408301526102608301516110fe61026084018263ffffffff169052565b5092915050565b634e487b7160e01b5f52602160045260245ffd5b5f60208284031215611129575f5ffd5b815161113481610d5f565b9392505050565b5f5f6040838503121561114c575f5ffd5b61115583610d86565b9150602083015161ffff8116811461116b575f5ffd5b809150509250929050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161022051615cc56113f05f395f8181612c7a01528181612d5f01526132b301525f8181612c3801528181612d24015261327701525f81816105a2015281816106b9015261436701525f61067701525f81816105ee01526117bf01525f61083801525f6104c801525f818161042d01528181610b2d01528181610fbe015281816114900152818161182f01528181611ba201528181611f09015281816127520152818161294601528181612b3b01528181612cf90152818161369f0152818161382001528181613bf90152818161423b01526142c401525f81816109fb01526121ef01525f818161064801528181610f8601528181611320015281816114dd015281816129d901528181612a4401528181612aae01528181612da501528181612f47015281816131c3015281816136c50152818161376901526137fd01525f81816109a6015261323b01525f81816107ab015261156701525f818161039c01528181610abb01528181610ec40152818161178201526131ff01525f818161087b01528181610ce201528181610db0015281816111820152818161146f0152818161169b015281816118b901528181611ae001528181611dc7015281816123730152818161268f01528181612b6001528181612bd501528181612cd801528181612fae0152818161318701528181613a2101528181613ab001528181613b2d01528181614262015281816142fc01528181614669015281816146dc0152818161476b015281816147e801528181614be701528181614c3a01528181614c850152614cf20152615cc55ff3fe608060405234801561000f575f5ffd5b50600436106102b2575f3560e01c80630268e293146102b65780630286c109146102cb5780630581555f146102eb5780630885f732146102f15780630cc97b021461031157806321d0ee7014610334578063251b25e614610354578063259982e5146103845780632b20e39714610397578063359b4f30146103cb5780633b5b6540146103ec5780633e451d6a1461040257806342ea83e01461041557806347f8496c1461042857806350fb3a3a1461044f5780635524d54814610462578063575e24b4146104855780635955d09a146104c35780635da3eaff146104ea57806360f89f2e14610515578063654f631c146105285780636bdbeb36146105595780636fe7e6eb1461057a578063747a68cd1461058d5780637dbeb94e146105a0578063847211a6146105d65780638bc801c1146105e957806391dd734614610610578063921b0bed146106305780639759164a146106435780639b19293e1461066a5780639e5fe06214610672578063a3f4bac7146106ae578063a8691114146106b7578063aae49d70146106e0578063ac4e4054146106ea578063ac5555aa146106f3578063b439824414610706578063b47b2fb114610726578063b6a8b0fa1461075c578063c5c51dca1461076f578063c5fbb29814610784578063c67046af14610797578063c7f7fb90146107a6578063ca266dfe146107cd578063ce1b8e4f14610833578063d186230c1461085a578063d2be66251461086d578063dc4c90d314610876578063dd71cea81461089d578063e1b4af69146108ea578063e2e65ec1146108fd578063e4967b0b14610910578063f11457c714610937578063f2f4eb26146109a1578063f399150c146109c8578063f69e2046146109db578063f9bc70e7146109e3578063fc0c546a146109f6578063fd5b6d5b14610a1d575b5f5ffd5b6102c96102c4366004614e3f565b610a30565b005b6102d3610b81565b60405161ffff90911681526020015b60405180910390f35b5f6102d3565b6103046102ff366004614e59565b610b97565b6040516102e29190614eba565b610319610cae565b604080519384526020840192909252908201526060016102e2565b610347610342366004614fbc565b610cd6565b6040516102e2919061503c565b61035c610d6b565b604080519586526020860194909452928401919091526060830152608082015260a0016102e2565b610347610392366004614fbc565b610da4565b6103be7f000000000000000000000000000000000000000000000000000000000000000081565b6040516102e29190615051565b6103de6103d9366004615065565b610e41565b6040519081526020016102e2565b6103f4610e5e565b6040516102e2929190615093565b6103de6104103660046150a1565b610e7e565b6102c96104233660046150bc565b610e8f565b6103de7f000000000000000000000000000000000000000000000000000000000000000081565b6102c961045d36600461510a565b611019565b610475610470366004614e59565b61115f565b60405190151581526020016102e2565b61049861049336600461513d565b611174565b604080516001600160e01b03199094168452602084019290925262ffffff16908201526060016102e2565b6103de7f000000000000000000000000000000000000000000000000000000000000000081565b6104f2611405565b60408051600294850b81529290930b6020830152918101919091526060016102e2565b6102c9610523366004615196565b611460565b61053b610536366004614e59565b611545565b6040805162ffffff909316835261ffff9091166020830152016102e2565b61056c6105673660046151dd565b61162f565b6040516102e2929190615255565b6103476105883660046152f2565b61168f565b6103de61059b3660046150a1565b611886565b7f00000000000000000000000000000000000000000000000000000000000000005b60405162ffffff90911681526020016102e2565b6103de6105e4366004614e59565b61189a565b6103be7f000000000000000000000000000000000000000000000000000000000000000081565b61062361061e366004615349565b6118ac565b6040516102e29190615387565b61056c61063e3660046151dd565b6119d1565b6103be7f000000000000000000000000000000000000000000000000000000000000000081565b6103be611a86565b6106997f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff90911681526020016102e2565b6103be613fff81565b7f000000000000000000000000000000000000000000000000000000000000000060181c610699565b6105c2620f424081565b6103be611afc81565b610475610701366004614e59565b611a9e565b61070e611ab8565b6040516001600160801b0390911681526020016102e2565b6107396107343660046153bc565b611ad3565b604080516001600160e01b03199093168352600f9190910b6020830152016102e2565b61034761076a36600461543c565b611dbb565b610777611e9f565b6040516102e29190615495565b6103de610792366004614e59565b611f4a565b60016040516102e291906154d7565b6103be7f000000000000000000000000000000000000000000000000000000000000000081565b6107e06107db366004614e59565b611f76565b6040516102e2919081516001600160a01b03908116825260208084015182169083015260408084015162ffffff169083015260608084015160020b90830152608092830151169181019190915260a00190565b6103de7f000000000000000000000000000000000000000000000000000000000000000081565b6102c96108683660046154ea565b61200f565b6102d361100081565b6103be7f000000000000000000000000000000000000000000000000000000000000000081565b6108b06108ab366004615505565b612300565b6040805163ffffffff909516855260069390930b60208501526001600160a01b0390911691830191909152151560608201526080016102e2565b6103476108f836600461543c565b612367565b6103de61090b366004615065565b612453565b610918612471565b604080518251815260209283015161ffff1692810192909252016102e2565b61094a610945366004614e59565b6124b1565b6040805161ffff998a168152978916602089015295881695870195909552600293840b60608701526001600160401b039283166080870152911660a0850152900b60c083015290911660e0820152610100016102e2565b6103be7f000000000000000000000000000000000000000000000000000000000000000081565b6103f46109d6366004614e3f565b612532565b6102c96127bc565b6105c26109f1366004615525565b612856565b6103be7f000000000000000000000000000000000000000000000000000000000000000081565b6103de610a2b366004615065565b6128c3565b3068929eee149b4bd212685403610a4e5763ab143c065f526004601cfd5b3068929eee149b4bd2126855600a5460ff1680610a9257506002610a706128e1565b60040154600160201b900460ff166003811115610a8f57610a8f614e7d565b10155b15610ab05760405163558a1e0360e11b815260040160405180910390fd5b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610af8576040516282b42960e81b815260040160405180910390fd5b610b0181612905565b60085415610b22576040516304c7cf6760e51b815260040160405180910390fd5b4260088190556040517f0000000000000000000000000000000000000000000000000000000000000000907ff1bac50d2c6f6c83cb8ff6fac488b03adc5fb0cc9fae30db2077588d5d9e5fbd905f90a33868929eee149b4bd212685550565b5f610b8a6128e1565b6004015461ffff16919050565b60408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810191909152610be882612944565b60408051610120810182525f80546001600160a01b039081168352600180548216602085015260025491821694840194909452919290916060840191600160a01b90910460ff1690811115610c3f57610c3f614e7d565b6001811115610c5057610c50614e7d565b8152600282015462ffffff600160a81b820416602083015260ff600160c01b9091048116604083015260038301546001600160a01b0381166060840152600160a01b9004161515608082015260049091015460a09091015292915050565b5f5f5f5f610cba6128e1565b6013810154601482015460159092015490969195509350915050565b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610d1f576040516282b42960e81b815260040160405180910390fd5b3068929eee149b4bd212685403610d3d5763ab143c065f526004601cfd5b610d4685612905565b610d508685612983565b610d5984612b01565b5063021d0ee760e41b95945050505050565b5f5f5f5f5f5f610d796128e1565b6019810154601a820154601b830154601c840154601d90940154929a91995097509195509350915050565b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ded576040516282b42960e81b815260040160405180910390fd5b3068929eee149b4bd212685403610e0b5763ab143c065f526004601cfd5b610e1485612905565b610e1e8685612983565b610e26612bff565b610e2f84612b01565b5063259982e560e01b95945050505050565b5f610e4b83612944565b610e5482612c2a565b5490505b92915050565b5f5f5f610e696128e1565b90508060160154816017015492509250509091565b5f610e8882612c2a565b5492915050565b3068929eee149b4bd212685403610ead5763ab143c065f526004601cfd5b3068929eee149b4bd2126855336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f01576040516282b42960e81b815260040160405180910390fd5b610f22610f1d610f1636859003850185615593565b60a0902090565b612944565b60075460ff1615610f4657604051630ea075bf60e21b815260040160405180910390fd5b610f4f81612cd2565b610f5c60208201826150a1565b5f80546001600160a01b0319166001600160a01b039283161790556007805460ff191660011790557f000000000000000000000000000000000000000000000000000000000000000016610fb360208301836150a1565b6001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000007ffafdbdd88ac30f0aa936e576be61816ea751908540523fa81b80c4a406ad7bec60405160405180910390a43868929eee149b4bd21268555050565b3068929eee149b4bd2126854036110375763ab143c065f526004601cfd5b600a5460ff168061106f5750600261104d6128e1565b60040154600160201b900460ff16600381111561106c5761106c614e7d565b10155b1561108d5760405163558a1e0360e11b815260040160405180910390fd5b61109682612944565b5f61109f6128e1565b601e81015490915061ffff600160e01b909104811690831611156110d057601e810154600160e01b900461ffff1691505b601e810154600160201b900461ffff165f6110ef601f8401838661346e565b601e8401805461ffff808416600160201b810261ffff60201b199093169290921790925591925083161461115857847f04f592d3848fffa22f73de92a2fd8da837e6d597f468af77c6fc619b478362ae838360405161114f929190615628565b60405180910390a25b5050505050565b5f61116982612944565b505060075460ff1690565b5f8080336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146111bf576040516282b42960e81b815260040160405180910390fd5b3068929eee149b4bd2126854036111dd5763ab143c065f526004601cfd5b600a5460ff1680611215575060026111f36128e1565b60040154600160201b900460ff16600381111561121257611212614e7d565b10155b156112335760405163558a1e0360e11b815260040160405180910390fd5b61123c87612905565b611244612bff565b5f61124d6128e1565b90505f6004820154600160201b900460ff16600381111561127057611270614e7d565b14611291576040516001620787ab60e51b0319815260040160405180910390fd5b60048101805464ffffff000019811661ffff909116620100000217600160201b1790555f6112bf8a89613501565b90505f6112cc8a8a61355b565b90505f62ffffff8316158015906112e957506112e9828c8c613599565b15611307576113046112fe8b60200135613618565b84613653565b90505b6040516364b3357d60e11b81525f906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c9666afa90611359908f908f908790600401615709565b602060405180830381865afa158015611374573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113989190615734565b90506113d48c6113ab60208e018e61574b565b6113b5575f6113b7565b825b6113c460208f018f61574b565b6113ce5783613691565b5f613691565b81156113e4576113e4838361387e565b506315d7892d60e21b965060801b94505f9350505050955095509592505050565b5f5f5f5f6114116128e1565b60090154600160b81b900460020b905061142a81613cb5565b61143382613cd6565b7fc7f8e8a3674727689aaf995179f25e33d31f0a09bac35877b0e81b130abd088a93509350935050909192565b61146983612905565b5f6114b47f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000613cee565b50505f54919250506001600160a01b0384811691161415806115085750816001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614155b8061151a57506001600160a01b038116155b156115375760405162820f3560e61b815260040160405180910390fd5b61153f613da0565b50505050565b60405163deee413560e01b8152600481018290525f9081906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063deee4135906024016040805180830381865afa1580156115ab573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115cf9190615764565b909250905062ffffff821615806115ed5750620d89e862ffffff8316115b806115fc575060028161ffff16105b8061160c575061100061ffff8216115b1561162a5760405163c52a9bd360e01b815260040160405180910390fd5b915091565b606080333014611651576040516282b42960e81b815260040160405180910390fd5b5f61165a613e5f565b604051633f03b12360e21b80825291925060031936016004808301375f5f3683865af43d5f833e8061168a573d82fd5b503d81f35b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146116d8576040516282b42960e81b815260040160405180910390fd5b3068929eee149b4bd2126854036116f65763ab143c065f526004601cfd5b600a5460ff168061172e5750600261170c6128e1565b60040154600160201b900460ff16600381111561172b5761172b614e7d565b10155b1561174c5760405163558a1e0360e11b815260040160405180910390fd5b611761610f1d610f1636879003870187615593565b60075460ff16158061177a5750600754610100900460ff165b806117b757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031614155b806117f457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614155b156118115760405162820f3560e61b815260040160405180910390fd5b61181b825f613eb5565b6007805461ff0019166101001790556040517f0000000000000000000000000000000000000000000000000000000000000000907febcc9ffea17e08841d7588f2ecd87720e1cfb444bb3b5e662c4a5005c3c94ab2905f90a250636fe7e6eb60e01b5b949350505050565b5f61189082612c2a565b6003015492915050565b5f6118a482612944565b505060085490565b6060336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146118f6576040516282b42960e81b815260040160405180910390fd5b600954158061191e57506009548383604051611913929190615791565b604051809103902014155b1561193c5760405163f7a632f560e01b815260040160405180910390fd5b5f600981905561194e83850185615593565b905061195e610f1d8260a0902090565b600754610100900460ff166119855760405162820f3560e61b815260040160405180910390fd5b5f611992825f0151613efc565b90505f6119a28360200151613efc565b905081816040516020016119b7929190615093565b604051602081830303815290604052935050505092915050565b6060806119dd85612944565b6119e56128e1565b601e015462010000900461ffff165f03611a12576040516329d9e10560e01b815260040160405180910390fd5b6040516335edf59b60e11b81523090636bdbeb3690611a39908890889088906004016157a0565b5f60405180830381865afa158015611a53573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611a7a919081019061588a565b91509150935093915050565b5f611a8f6128e1565b546001600160a01b0316919050565b5f611aa882612944565b5050600754610100900460ff1690565b5f611ac16128e1565b601801546001600160801b0316919050565b5f80336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611b1d576040516282b42960e81b815260040160405180910390fd5b3068929eee149b4bd212685403611b3b5763ab143c065f526004601cfd5b600a5460ff1680611b7357506002611b516128e1565b60040154600160201b900460ff166003811115611b7057611b70614e7d565b10155b15611b915760405163558a1e0360e11b815260040160405180910390fd5b611b9a87612905565b5f611bc860057f00000000000000000000000000000000000000000000000000000000000000008b8a613f94565b9050611bd5885f5f613691565b5f611be0898961355b565b90505f611bf060208b018b6150a1565b6001600160a01b0316826001600160a01b031614611c1a57611c1560208b018b6150a1565b611c2a565b611c2a60408b0160208c016150a1565b905062ffffff831615801590611c465750611c46828b8b613599565b15611cdf575f611c62611c5c8b60200135613618565b85613653565b90508015611cdd575f611c7860208d018d6150a1565b6001600160a01b0316846001600160a01b031614611c9f57611c9a8a600f0b90565b611ca9565b611ca98a60801d90565b9050611cb98260208d0135615968565b81600f0b14611cdb5760405163161b48a960e21b815260040160405180910390fd5b505b505b5f62ffffff841615801590611cfa5750611cfa828c8c613599565b15611d69575f611d0d60208d018d6150a1565b6001600160a01b0316836001600160a01b031614611d3457611d2f8a600f0b90565b611d3e565b611d3e8a60801d90565b9050611d55611d4f82600f0b613618565b86613653565b91508115611d6757611d67838361387e565b505b611d71614002565b5f611d7a6128e1565b600401805460ff60201b1916600160201b836003811115611d9d57611d9d614e7d565b021790555063b47b2fb160e01b9c909b509950505050505050505050565b5f336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611e04576040516282b42960e81b815260040160405180910390fd5b3068929eee149b4bd212685403611e225763ab143c065f526004601cfd5b600a5460ff1680611e5a57506002611e386128e1565b60040154600160201b900460ff166003811115611e5757611e57614e7d565b10155b15611e785760405163558a1e0360e11b815260040160405180910390fd5b611e8186612905565b611e8c868686613691565b50635b54587d60e11b9695505050505050565b60075460609060ff16611eb2575f611eb5565b60015b60ff166001600160401b03811115611ecf57611ecf61553f565b604051908082528060200260200182016040528015611ef8578160200160208202803683370190505b5060075490915060ff1615611f47577f0000000000000000000000000000000000000000000000000000000000000000815f81518110611f3a57611f3a61598f565b6020026020010181815250505b90565b5f611f5482612944565b611f5c6128e1565b601e0154600160881b90046001600160401b031692915050565b6040805160a0810182525f80825260208201819052918101829052606081018290526080810191909152611fa982612944565b611fb16128e1565b6040805160a08101825260088301546001600160a01b0390811682526009840154808216602084015262ffffff600160a01b82041693830193909352600160b81b90920460020b6060820152600a9092015416608082015292915050565b3068929eee149b4bd21268540361202d5763ab143c065f526004601cfd5b3068929eee149b4bd2126855600a5460ff16806120715750600261204f6128e1565b60040154600160201b900460ff16600381111561206e5761206e614e7d565b10155b1561208f5760405163558a1e0360e11b815260040160405180910390fd5b5f6120986128e1565b60075490915060ff1615806120cc57505f6004820154600160201b900460ff1660038111156120c9576120c9614e7d565b14155b156120ea5760405163558a1e0360e11b815260040160405180910390fd5b6127108261ffff1611156121115760405163c52a9bd360e01b815260040160405180910390fd5b5f805460408051630d96a1bf60e21b815290516001600160a01b039092169163365a86fc916004808201926020929091908290030181865afa158015612159573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061217d91906159a3565b9050806001600160a01b031663122a43a16040518163ffffffff1660e01b8152600401602060405180830381865afa1580156121bb573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906121df91906159a3565b6001600160a01b0316639c44d63b7f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040161222a9190615051565b602060405180830381865afa158015612245573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061226991906159a3565b6001600160a01b0316336001600160a01b031614612299576040516282b42960e81b815260040160405180910390fd5b60048201805461ffff85811661ffff1983161790925560405191169033907fb684611c9f6689ae8240c74c5af96bf6c09896aaecc561466be02df4a330a530906122e69084908890615628565b60405180910390a25050503868929eee149b4bd212685550565b5f5f5f5f61230d86612944565b5f6123166128e1565b601f018661ffff811061232b5761232b61598f565b015463ffffffff811698600160201b820460060b9850600160581b82046001600160a01b03169750600160f81b90910460ff1695509350505050565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146123b0576040516282b42960e81b815260040160405180910390fd5b3068929eee149b4bd2126854036123ce5763ab143c065f526004601cfd5b600a5460ff1680612406575060026123e46128e1565b60040154600160201b900460ff16600381111561240357612403614e7d565b10155b156124245760405163558a1e0360e11b815260040160405180910390fd5b61242d86612905565b612438865f5f613691565b6124406141b6565b5063e1b4af6960e01b9695505050505050565b5f61245d83612944565b61246682612c2a565b600101549392505050565b604080518082019091525f808252602082015261248c6128e1565b604080518082019091526002820154815260039091015461ffff166020820152919050565b5f5f5f5f5f5f5f5f6124c289612944565b5f6124cb6128e1565b601e015461ffff8082169c62010000830482169c50600160201b830482169b50600160301b8304600290810b9b506001600160401b03600160481b850481169b50600160881b8504169950600160c81b8404900b9750600160e01b90920416945092505050565b5f5f3068929eee149b4bd2126854036125525763ab143c065f526004601cfd5b3068929eee149b4bd2126855600a5460ff1680612596575060026125746128e1565b60040154600160201b900460ff16600381111561259357612593614e7d565b10155b156125b45760405163558a1e0360e11b815260040160405180910390fd5b6125bd83612905565b5f546001600160a01b031633146125e6576040516282b42960e81b815260040160405180910390fd5b5f6125ef6128e1565b90505f6004820154600160201b900460ff16600381111561261257612612614e7d565b146126305760405163558a1e0360e11b815260040160405180910390fd5b600b8101541515806126455750600f81015415155b15612746575f8460405160200161265c91906159be565b60408051601f1981840301815290829052805160208201206009556348c8949160e01b825291505f906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906348c89491906126c4908590600401615387565b5f604051808303815f875af11580156126df573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261270691908101906159cc565b6009549091501561272a5760405163f7a632f560e01b815260040160405180910390fd5b8080602001905181019061273e9190615a5e565b909550935050505b336001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000007f4a93be8d0a356d70b54fdf016f78a2ed8b8a3c420952848eb4f4b2c4546405b685856040516127a2929190615093565b60405180910390a3503868929eee149b4bd2126855915091565b5f6127c56128e1565b905033301415806127f6575060026004820154600160201b900460ff1660038111156127f3576127f3614e7d565b14155b15612813576040516282b42960e81b815260040160405180910390fd5b60048101805460ff60201b1916600360201b1790555f612831613e5f565b604051631851865560e21b8082529192505f80600483865af461153f573d5f823e3d81fd5b5f3068929eee149b4bd2126854036128755763ab143c065f526004601cfd5b600754610100900460ff1661289c5760405162820f3560e61b815260040160405180910390fd5b6128a4613da0565b5f6128ae836141ec565b5090506128ba816143cb565b9150505b919050565b5f6128cd83612944565b6128d682612c2a565b600201549392505050565b7f3976becbb8e6ca85459092153a2186a0e92a4b441f5cb1fb7c8a782ec56ad97b90565b61291a610f1d610f1636849003840184615593565b600754610100900460ff166129415760405162820f3560e61b815260040160405180910390fd5b50565b7f000000000000000000000000000000000000000000000000000000000000000081146129415760405162820f3560e61b815260040160405180910390fd5b600261298d6128e1565b60040154600160201b900460ff1660038111156129ac576129ac614e7d565b106129ca5760405163558a1e0360e11b815260040160405180910390fd5b600a5460ff168015612a1b57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316141580612a1b5750604081013515155b15612a395760405163558a1e0360e11b815260040160405180910390fd5b6008545f03612a98577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614612a9457604051637cd5a0ad60e01b815260040160405180910390fd5b5050565b600354600160a01b900460ff168015612ae357507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614155b15612a9457604051630af9fb3360e21b815260040160405180910390fd5b5f612b0a6128e1565b905060408201351580612b305750601e810154600160481b90046001600160401b031643145b15612b39575050565b7f00000000000000000000000000000000000000000000000000000000000000005f612b857f000000000000000000000000000000000000000000000000000000000000000083613cee565b50909250612b999150506020850185615a80565b60020b8160020b1280612bc15750612bb76040850160208601615a80565b60020b8160020b12155b15612bcc5750505050565b61153f81612bfa7f000000000000000000000000000000000000000000000000000000000000000085614466565b613eb5565b600a54610100900460ff1615612c1157565b612c19613da0565b600a805461ff001916610100179055565b5f5f612c346128e1565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031603612c7857600b0192915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031603612cba57600f0192915050565b60405162820f3560e61b815260040160405180910390fd5b5f612d1d7f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000613cee565b50505090507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163b5f1480612d8257506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163b155b80612d9557506001600160a01b03811615155b80612de157506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016612dd560408401602085016150a1565b6001600160a01b031614155b80612e0f57506002546001600160a01b0316612e0360608401604085016150a1565b6001600160a01b031614155b80612e575750600254600160a01b900460ff166001811115612e3357612e33614e7d565b612e436080840160608501615a99565b6001811115612e5457612e54614e7d565b14155b80612e845750600254600160a81b900462ffffff16612e7c60a0840160808501615ab7565b62ffffff1614155b80612ead5750600254600160c01b900460ff16612ea760c0840160a08501615ad2565b60ff1614155b80612edb57506003546001600160a01b0316612ecf60e0840160c085016150a1565b6001600160a01b031614155b80612f065750600354600160a01b900460ff161515612f01610100840160e0850161574b565b151514155b80612f18575060045461010083013514155b80612f375750612f2b60208301836150a1565b6001600160a01b03163b155b80612f7f57506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016612f7460208401846150a1565b6001600160a01b0316145b80612f9e575030612f9360208401846150a1565b6001600160a01b0316145b80612fe657506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016612fdb60208401846150a1565b6001600160a01b0316145b156130045760405163c52a9bd360e01b815260040160405180910390fd5b5f61300d6128e1565b90505f5f61301f856101000135611545565b601e8501549193509150600283810b600160c81b909204900b1415806130575750601e83015461ffff828116600160e01b9092041614155b156130755760405163c52a9bd360e01b815260040160405180910390fd5b5f61308360208701876150a1565b90505f816001600160a01b0316639b19293e6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156130c2573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906130e691906159a3565b90505f826001600160a01b031663192134426040518163ffffffff1660e01b8152600401602060405180830381865afa158015613125573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906131499190615734565b90506001600160a01b0382163b158061316c575080826001600160a01b03163f14155b8061317f57506001600160a01b03821630145b806131bb57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b806131f757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b8061323357507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b8061326f57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b806132ab57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b806132e757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316145b8061330f57506132fa60208901896150a1565b6001600160a01b0316826001600160a01b0316145b1561332d5760405163c52a9bd360e01b815260040160405180910390fd5b5f836001600160a01b031663e4967b0b6040518163ffffffff1660e01b81526004016040805180830381865afa158015613369573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061338d9190615af2565b9050613398816144f2565b6001600160a01b038316632714f4d8306133b560208d018d6150a1565b6040518363ffffffff1660e01b81526004016133d2929190615b47565b602060405180830381865afa1580156133ed573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061341191906159a3565b5086546001600160a01b0319166001600160a01b03939093169290921786556001860155805160028601556020015160038501805461ffff1990811661ffff90931692831790915560049095018054909516179093555050505050565b5f8261ffff165f03613493576040516329d9e10560e01b815260040160405180910390fd5b8261ffff168261ffff16116134a95750816134fa565b825b8261ffff168161ffff1610156134f5576001858261ffff1661ffff81106134d4576134d461598f565b01805463ffffffff191663ffffffff929092169190911790556001016134ab565b508190505b9392505050565b5f5f5f61350d846141ec565b604082015191935091506135246005848888614549565b935061352e6128e1565b601e0154600160481b90046001600160401b03164314613552576135528282613eb5565b50505092915050565b5f613569602083018361574b565b15155f6020840135121461358c5761358760408401602085016150a1565b6134fa565b6134fa60208401846150a1565b5f806001600254600160a01b900460ff1660018111156135bb576135bb614e7d565b146135f3576135cd602084018461574b565b6135e6576135e160408501602086016150a1565b613600565b6135e160208501856150a1565b6002546001600160a01b03165b6001600160a01b038681169116149150509392505050565b5f600160ff1b820361363d57604051637e2df70960e11b815260040160405180910390fd5b5f821261364a5781610e58565b610e5882615b61565b5f613667838362ffffff16620f42406145c7565b905060016001607f1b03811115610e5857604051637e2df70960e11b815260040160405180910390fd5b60405162e568cf60e71b81527f000000000000000000000000000000000000000000000000000000000000000060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906372b4678090602401602060405180830381865afa158015613712573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906137369190615734565b5f0361374157505050565b600a805460ff191660011790556040516381f8a9d160e01b81525f9081906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906381f8a9d1906137a290889088908890600401615b7b565b60408051808303815f875af11580156137bd573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906137e19190615a5e565b600a805460ff1916905560405191935091506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016907f0000000000000000000000000000000000000000000000000000000000000000907fa30ca6140dfb2cac1c1021c5303d8dc7de0cd4db47221fb3ad068fac7ef8185e9061386f9086908690615093565b60405180910390a35050505050565b3068929eee149b4bd21268540361389c5763ab143c065f526004601cfd5b3068929eee149b4bd2126855815f6138b26128e1565b90505f6138be83612c2a565b600254909150600160c01b900460ff165f81156138fe5760646138e460ff841688615bae565b6138ef90607d615bcd565b6138f99190615bae565b613900565b5f5b90505f6139276139108389615be4565b600487015462010000900461ffff166127106145c7565b90505f6139348289615be4565b90505f8560020154865f015461394a9190615be4565b905061395d8160016001607f1b03615be4565b82111561396f5761396f8a8783614655565b81865f015f8282546139819190615bf7565b9250508190555083866001015f82825461399b9190615bf7565b9250508190555081866003015f8282546139b59190615bf7565b909155505060068701546001600160a01b03908116908916036139f05782876013015f8282546139e59190615bf7565b90915550613a099050565b82876014015f828254613a039190615bf7565b90915550505b604051627eeac760e11b81525f906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169062fdd58e90613a579030908d90600401615b47565b602060405180830381865afa158015613a72573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613a969190615734565b604051630ab714fb60e11b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063156e29f690613ae99030908d908f90600401615c0a565b5f604051808303815f87803b158015613b00575f5ffd5b505af1158015613b12573d5f5f3e3d5ffd5b5050604051627eeac760e11b81525f92506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016915062fdd58e90613b649030908e90600401615b47565b602060405180830381865afa158015613b7f573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613ba39190615734565b905081811080613bbc57508a613bb98383615be4565b14155b80613bcf5750613bcc898b6148da565b81105b15613bed5760405163104eed1d60e31b815260040160405180910390fd5b896001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000007f2616e25de5abcc9e6a698b140fb6c92f55ace21b7a57f76172f195dbbf693af68d89604051613c49929190615093565b60405180910390a38415613c9b57896001600160a01b03167fe04ea7e7ad1b5991b027bff5aecce3a2120139e6b38c482f5a1b97cfdad3a90586604051613c9291815260200190565b60405180910390a25b505050505050505050503868929eee149b4bd21268555050565b5f81600281900b620d89e71981613cce57613cce615b9a565b050292915050565b5f81600281900b620d89e881613cce57613cce615b9a565b5f5f5f5f5f613cfc866149ca565b604051631e2eaeaf60e01b8152600481018290529091505f906001600160a01b03891690631e2eaeaf90602401602060405180830381865afa158015613d44573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190613d689190615734565b90506001600160a01b03811695508060a01c60020b945062ffffff8160b81c16935062ffffff8160d01c169250505092959194509250565b600a54610100900460ff1615613db257565b5f613dbb6128e1565b80549091506001600160a01b03161580613de45750600181015481546001600160a01b03163f14155b15613e025760405163c52a9bd360e01b815260040160405180910390fd5b80545f546040516344dd3d9960e01b81526001600160a01b03928316926344dd3d9992613e3792309290911690600401615b47565b5f6040518083038186803b158015613e4d575f5ffd5b505afa158015611158573d5f5f3e3d5ffd5b5f5f613e696128e1565b80546001600160a01b031692509050811580613e9357508060010154826001600160a01b03163f14155b15613eb15760405163c52a9bd360e01b815260040160405180910390fd5b5090565b5f613ebe613e5f565b60405163059f233d60e41b808252600286900b60048301526001600160801b03851660248301529192505f80604483865af4611158573d5f823e3d81fd5b5f8181613f0882612c2a565b80549091505f819003613f1f57505f949350505050565b613f398583846002015484613f349190615be4565b614655565b6001820180545f808555918290556002840191909155613f598183615be4565b600354909550613f749085906001600160a01b031683614a06565b5f54613f8b9085906001600160a01b031687614a06565b50505050919050565b60018401545f9063ffffffff16801580613fb95750613fb4858585614aad565b865414155b15613fda576040516001620787ab60e51b0319815260040160405180910390fd5b613fe5600182615c2e565b5f87556001909601805463ffffffff191690555093949350505050565b5f61400b6128e1565b905080601301545f14801561402257506014810154155b801561403057506015810154155b156140385750565b6008545f03614069575f516020615ca55f395f51905f525f5b60405160ff909116815260200160405180910390a150565b60ff5f5c1615614088575f516020615ca55f395f51905f526005614051565b614095619c406002615bcd565b5a10156140b55760405163460c751360e11b815260040160405180910390fd5b60048101805460ff60201b1916600160211b179055637b4f102360e11b5f619c405a6140e19190615be4565b90505f5f6040518481525f5f6004835f3089f1925060033d118315161561410c5760045f823e805191505b5060048501805460ff60201b1916600160201b1790558161115857614132600884615bae565b61413e90619c40615bf7565b5a101561417857622dc6c08310156141695760405163460c751360e11b815260040160405180910390fd5b60015f805c60ff19168217905d505b7f8367b40cbd89b8d6964eed84ae26ab78afff41d04572e37d5e6aaf7ad3a055eb816040516141a7919061503c565b60405180910390a15050505050565b5f6141bf613e5f565b6040516001623fd76560e11b03198082529192505f80600483865af46141e7573d5f823e3d81fd5b505050565b61423860408051610120810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290529061010082015290565b5f7f00000000000000000000000000000000000000000000000000000000000000008180806142877f000000000000000000000000000000000000000000000000000000000000000085613cee565b509250925092508062ffffff165f146142b35760405163c52a9bd360e01b815260040160405180910390fd5b8194506040518061012001604052807f00000000000000000000000000000000000000000000000000000000000000008152602001846001600160a01b031681526020016143217f000000000000000000000000000000000000000000000000000000000000000087614466565b6001600160801b0316815260200188602001358152602001885f01602081019061434b919061574b565b15158152600254600160a81b810462ffffff90811660208401527f0000000000000000000000000000000000000000000000000000000000000000908116604084015260181c63ffffffff166060830152608090910190600160a01b900460ff1660018111156143bd576143bd614e7d565b815250955050505050915091565b5f600160ff1b8260600151036143f457604051637e2df70960e11b815260040160405180910390fd5b60a082015160c083015161440784614ae2565b92508162ffffff168362ffffff16111561443457604051637e2df70960e11b815260040160405180910390fd5b8062ffffff168362ffffff16101561445f576040516302cce67760e31b815260040160405180910390fd5b5050919050565b5f5f614471836149ca565b90505f61447f600383615bf7565b604051631e2eaeaf60e01b8152600481018290529091506001600160a01b03861690631e2eaeaf90602401602060405180830381865afa1580156144c5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906144e99190615734565b95945050505050565b80517f31fb6a2d116ef519550e8d3bce0e446b722f788b7f9cb5b5bdc78c8160fbda9c14158061452b5750612710816020015161ffff16115b1561294157604051634674941d60e11b815260040160405180910390fd5b60018401545f9063ffffffff1615614577576040516001620787ab60e51b0319815260040160405180910390fd5b8351614582856143cb565b915061458f818585614aad565b86556145a162ffffff83166001615c4a565b600196909601805463ffffffff191663ffffffff90971696909617909555949350505050565b8282028183858304148515170261464e575f198385098181108201900382848609835f0384168285116146015763ae47f7025f526004601cfd5b93849004938382119092035f8390038390046001010292030417600260038302811880840282030280840282030280840282030280840282030280840282030280840290910302026134fa565b0492915050565b805f0361466157505050565b828161468d827f0000000000000000000000000000000000000000000000000000000000000000614bb7565b10156146ac576040516365169c1d60e01b815260040160405180910390fd5b81836003015f8282546146bf9190615be4565b9091555050604051627eeac760e11b81525f906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169062fdd58e906147129030908690600401615b47565b602060405180830381865afa15801561472d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906147519190615734565b604051637a94c56560e11b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f5298aca906147a490309086908890600401615c0a565b5f604051808303815f87803b1580156147bb575f5ffd5b505af11580156147cd573d5f5f3e3d5ffd5b5050604051627eeac760e11b81525f92506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016915062fdd58e9061481f9030908790600401615b47565b602060405180830381865afa15801561483a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061485e9190615734565b9050818111806148775750836148748284615be4565b14155b80614892575061488f836148896128e1565b906148da565b81105b156148b05760405163104eed1d60e31b815260040160405180910390fd5b6148ba8685614be1565b83856002015f8282546148cd9190615bf7565b9091555050505050505050565b60068201545f9081906001600160a01b0384811691161461492557600684015460058501546001600160a01b0391821691161061491b576012840154614951565b600e840154614951565b600584015460068501546001600160a01b0391821691161061494b576012840154614951565b600e8401545b60088501549091505f906001600160a01b0385811691161461497757846017015461497d565b84601601545b60068601549091506001600160a01b038581169116146149b057846015015485601401546149ab9190615bf7565b6149b6565b84601301545b6149c08284615bf7565b6144e99190615bf7565b6040515f906149e9908390600690602001918252602082015260400190565b604051602081830303815290604052805190602001209050919050565b805f03614a1257505050565b5f614a1d8430614bb7565b90505f614a2a8585614bb7565b9050614a37858585614d57565b5f614a428630614bb7565b90505f614a4f8787614bb7565b905083821180614a68575084614a658386615be4565b14155b80614a7257508281105b80614a86575084614a838483615be4565b14155b15614aa457604051631dc418c360e31b815260040160405180910390fd5b50505050505050565b5f838383604051602001614ac393929190615c66565b6040516020818303038152906040528051906020012090509392505050565b5f8160c0015162ffffff168260a0015162ffffff161480614b0b575060e082015163ffffffff16155b15614b18575060c0015190565b614b20613e5f565b60c083015160a084015160e085015160405163765895df60e11b815230600482015262ffffff938416602482015292909116604483015263ffffffff1660648201526001600160a01b03919091169063ecb12bbe90608401602060405180830381865afa158015614b93573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e589190615c89565b5f816014526370a0823160601b5f5260208060246010865afa601f3d111660205102905092915050565b5f614c0b7f0000000000000000000000000000000000000000000000000000000000000000614da1565b6001600160a01b031614614c32576040516365169c1d60e01b815260040160405180910390fd5b815f614c5e827f0000000000000000000000000000000000000000000000000000000000000000614bb7565b90505f614c6b8330614bb7565b604051630b0d9c0960e01b81529091506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630b0d9c0990614cbe90889030908990600401615c0a565b5f604051808303815f87803b158015614cd5575f5ffd5b505af1158015614ce7573d5f5f3e3d5ffd5b505050505f614d16847f0000000000000000000000000000000000000000000000000000000000000000614bb7565b90505f614d238530614bb7565b905083821180614d3c575085614d398386615be4565b14155b80614d4657508281105b80614a86575085614a838483615be4565b816014528060345263a9059cbb60601b5f5260205f604460105f875af18060015f511416614d9757803d853b151710614d97576390b8ec185f526004601cfd5b505f603452505050565b60405163789add5560e11b81527f27e098c505d44ec3574004bca052aabf76bd35004c182099d8c575fb238593b960048201525f906001600160a01b0383169063f135baaa90602401602060405180830381865afa158015614e05573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e589190615734565b5f60a08284031215614e39575f5ffd5b50919050565b5f60a08284031215614e4f575f5ffd5b6134fa8383614e29565b5f60208284031215614e69575f5ffd5b5035919050565b6001600160a01b03169052565b634e487b7160e01b5f52602160045260245ffd5b6002811061294157634e487b7160e01b5f52602160045260245ffd5b614eb681614e91565b9052565b81516001600160a01b03908116825260208084015190911690820152604080830151610120830191614eee90840182614e70565b506060830151614f016060840182614ead565b506080830151614f18608084018262ffffff169052565b5060a0830151614f2d60a084018260ff169052565b5060c0830151614f4060c0840182614e70565b5060e0830151614f5460e084018215159052565b5061010092830151919092015290565b6001600160a01b0381168114612941575f5ffd5b5f5f83601f840112614f88575f5ffd5b5081356001600160401b03811115614f9e575f5ffd5b602083019150836020828501011115614fb5575f5ffd5b9250929050565b5f5f5f5f5f858703610160811215614fd2575f5ffd5b8635614fdd81614f64565b9550614fec8860208901614e29565b9450608060bf1982011215614fff575f5ffd5b5060c0860192506101408601356001600160401b0381111561501f575f5ffd5b61502b88828901614f78565b969995985093965092949392505050565b6001600160e01b031991909116815260200190565b6001600160a01b0391909116815260200190565b5f5f60408385031215615076575f5ffd5b82359150602083013561508881614f64565b809150509250929050565b918252602082015260400190565b5f602082840312156150b1575f5ffd5b81356134fa81614f64565b5f5f8284036101c08112156150cf575f5ffd5b6150d98585614e29565b9250610120609f19820112156150ed575f5ffd5b5060a0830190509250929050565b61ffff81168114612941575f5ffd5b5f5f6040838503121561511b575f5ffd5b823591506020830135615088816150fb565b5f60608284031215614e39575f5ffd5b5f5f5f5f5f6101408688031215615152575f5ffd5b853561515d81614f64565b945061516c8760208801614e29565b935061517b8760c0880161512d565b92506101208601356001600160401b0381111561501f575f5ffd5b5f5f5f60e084860312156151a8575f5ffd5b6151b28585614e29565b925060a08401356151c281614f64565b915060c08401356151d281614f64565b809150509250925092565b5f5f5f604084860312156151ef575f5ffd5b8335925060208401356001600160401b0381111561520b575f5ffd5b8401601f8101861361521b575f5ffd5b80356001600160401b03811115615230575f5ffd5b8660208260051b8401011115615244575f5ffd5b939660209190910195509293505050565b604080825283519082018190525f9060208501906060840190835b8181101561529157835160060b835260209384019390920191600101615270565b5050838103602080860191909152855180835291810192508501905f5b818110156152d55782516001600160a01b03168452602093840193909201916001016152ae565b50919695505050505050565b8035600281900b81146128be575f5ffd5b5f5f5f5f6101008587031215615306575f5ffd5b843561531181614f64565b93506153208660208701614e29565b925060c085013561533081614f64565b915061533e60e086016152e1565b905092959194509250565b5f5f6020838503121561535a575f5ffd5b82356001600160401b0381111561536f575f5ffd5b61537b85828601614f78565b90969095509350505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f5f5f5f5f5f61016087890312156153d2575f5ffd5b86356153dd81614f64565b95506153ec8860208901614e29565b94506153fb8860c0890161512d565b935061012087013592506101408701356001600160401b0381111561541e575f5ffd5b61542a89828a01614f78565b979a9699509497509295939492505050565b5f5f5f5f5f5f6101208789031215615452575f5ffd5b863561545d81614f64565b955061546c8860208901614e29565b945060c0870135935060e087013592506101008701356001600160401b0381111561541e575f5ffd5b602080825282518282018190525f918401906040840190835b818110156154cc5783518352602093840193909201916001016154ae565b509095945050505050565b602081016154e483614e91565b91905290565b5f602082840312156154fa575f5ffd5b81356134fa816150fb565b5f5f60408385031215615516575f5ffd5b50508035926020909101359150565b5f60608284031215615535575f5ffd5b6134fa838361512d565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b038111828210171561557b5761557b61553f565b604052919050565b62ffffff81168114612941575f5ffd5b5f60a08284031280156155a4575f5ffd5b5060405160a081016001600160401b03811182821017156155c7576155c761553f565b60405282356155d581614f64565b815260208301356155e581614f64565b602082015260408301356155f881615583565b6040820152615609606084016152e1565b6060820152608083013561561c81614f64565b60808201529392505050565b61ffff92831681529116602082015260400190565b803561564881614f64565b6001600160a01b03168252602081013561566181614f64565b6001600160a01b03166020830152604081013561567d81615583565b62ffffff166040830152615693606082016152e1565b60020b606083015260808101356156a981614f64565b6001600160a01b03166080929092019190915250565b803580151581146128be575f5ffd5b6156d7816156bf565b151582526020818101359083015260408101356156f381614f64565b6001600160a01b03166040929092019190915250565b6101208101615718828661563d565b61572560a08301856156ce565b82610100830152949350505050565b5f60208284031215615744575f5ffd5b5051919050565b5f6020828403121561575b575f5ffd5b6134fa826156bf565b5f5f60408385031215615775575f5ffd5b825161578081615583565b6020840151909250615088816150fb565b818382375f9101908152919050565b83815260406020820181905281018290525f8360608301825b858110156157ea57823563ffffffff81168082146157d5575f5ffd5b835250602092830192909101906001016157b9565b509695505050505050565b5f6001600160401b0382111561580d5761580d61553f565b5060051b60200190565b5f82601f830112615826575f5ffd5b8151615839615834826157f5565b615553565b8082825260208201915060208360051b86010192508583111561585a575f5ffd5b602085015b8381101561588057805161587281614f64565b83526020928301920161585f565b5095945050505050565b5f5f6040838503121561589b575f5ffd5b82516001600160401b038111156158b0575f5ffd5b8301601f810185136158c0575f5ffd5b80516158ce615834826157f5565b8082825260208201915060208360051b8501019250878311156158ef575f5ffd5b6020840193505b8284101561591f5783518060060b811461590e575f5ffd5b8252602093840193909101906158f6565b6020870151909550925050506001600160401b0381111561593e575f5ffd5b61594a85828601615817565b9150509250929050565b634e487b7160e01b5f52601160045260245ffd5b8082018281125f83128015821682158216171561598757615987615954565b505092915050565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156159b3575f5ffd5b81516134fa81614f64565b60a08101610e58828461563d565b5f602082840312156159dc575f5ffd5b81516001600160401b038111156159f1575f5ffd5b8201601f81018413615a01575f5ffd5b80516001600160401b03811115615a1a57615a1a61553f565b615a2d601f8201601f1916602001615553565b818152856020838501011115615a41575f5ffd5b8160208401602083015e5f91810160200191909152949350505050565b5f5f60408385031215615a6f575f5ffd5b505080516020909101519092909150565b5f60208284031215615a90575f5ffd5b6134fa826152e1565b5f60208284031215615aa9575f5ffd5b8135600281106134fa575f5ffd5b5f60208284031215615ac7575f5ffd5b81356134fa81615583565b5f60208284031215615ae2575f5ffd5b813560ff811681146134fa575f5ffd5b5f6040828403128015615b03575f5ffd5b50604080519081016001600160401b0381118282101715615b2657615b2661553f565b604052825181526020830151615b3b816150fb565b60208201529392505050565b6001600160a01b0392831681529116602082015260400190565b5f600160ff1b8201615b7557615b75615954565b505f0390565b60e08101615b89828661563d565b60a082019390935260c00152919050565b634e487b7160e01b5f52601260045260245ffd5b5f82615bc857634e487b7160e01b5f52601260045260245ffd5b500490565b8082028115828204841417610e5857610e58615954565b81810381811115610e5857610e58615954565b80820180821115610e5857610e58615954565b6001600160a01b039384168152919092166020820152604081019190915260600190565b63ffffffff8281168282160390811115610e5857610e58615954565b63ffffffff8181168382160190811115610e5857610e58615954565b8381526001600160a01b038316602082015260a0810161187e60408301846156ce565b5f60208284031215615c99575f5ffd5b81516134fa8161558356febbaa14b89d897968cceb6d38217c5b6714f6be272da6dd1d0b07aa443da1995f";
75
+ //# sourceMappingURL=auto-compound-dynamic-pool-v1-20261028.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-compound-dynamic-pool-v1-20261028.js","sourceRoot":"","sources":["../../../src/lifecycle/deployments/auto-compound-dynamic-pool-v1-20261028.ts"],"names":[],"mappings":"AAGA,gGAAgG;AAChG,+KAA+K;AAC/K,MAAM,CAAC,MAAM,2BAA2B,GAAG,MAAM,CAAC,MAAM,CAAC;IACvD,cAAc,EAAE,oEAAoE;IACpF,oBAAoB,EAAE,oEAAoE;IAC1F,kBAAkB,EAAE,oEAAoE;IACxF,WAAW,EAAE,oEAAoE;IACjF,QAAQ,EAAE,CAAC;IACX,aAAa,EAAE,CAAC;IAChB,eAAe,EAAE,CAAC;IAClB,YAAY,EAAE,IAAI;IAClB,KAAK,EAAE,EAAE;IACT,aAAa,EAAE,IAAI;IACnB,YAAY,EAAE,KAAK;IACnB,gBAAgB,EAAE,4CAA4C;IAC9D,sBAAsB,EAAE,CAAC;IACzB,WAAW,EAAE,4CAA4C;IACzD,sBAAsB,EAAE,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;QACpB,kBAAkB,EAAE,CAAC;QACrB,kBAAkB,EAAE,KAAK;QACzB,gBAAgB,EAAE,EAAE;QACpB,wBAAwB,EAAE,IAAI;QAC9B,YAAY,EAAE,CAAC;KAChB,CAAC;IACF,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;QACnB,OAAO,EAAE,4CAA4C;QACrD,QAAQ,EAAE,4CAA4C;QACtD,aAAa,EAAE,4CAA4C;QAC3D,MAAM,EAAE,4CAA4C;QACpD,gBAAgB,EAAE,4CAA4C;QAC9D,iBAAiB,EAAE,4CAA4C;QAC/D,YAAY,EAAE,4CAA4C;QAC1D,YAAY,EAAE,oEAAoE;QAClF,eAAe,EAAE,oEAAoE;QACrF,mBAAmB,EAAE,oEAAoE;QACzF,qBAAqB,EAAE,oEAAoE;QAC3F,cAAc,EAAE,oEAAoE;QACpF,wBAAwB,EAAE,oEAAoE;QAC9F,yBAAyB,EAAE,oEAAoE;QAC/F,oBAAoB,EAAE,oEAAoE;QAC1F,oBAAoB,EAAE,oEAAoE;QAC1F,UAAU,EAAE,4CAA4C;QACxD,cAAc,EAAE,oEAAoE;QACpF,UAAU,EAAE,4CAA4C;QACxD,cAAc,EAAE,oEAAoE;QACpF,cAAc,EAAE,oEAAoE;KACrF,CAAC;CACH,CAA4B,CAAC;AAC9B,MAAM,CAAC,MAAM,0BAA0B,GAAG,MAAM,CAAC,MAAM,CAAC;IACtD,cAAc,EAAE,4CAA4C;IAC5D,QAAQ,EAAE,oEAAoE;IAC9E,YAAY,EAAE,IAAI;IAClB,aAAa,EAAE,CAAC;IAChB,OAAO,EAAE,IAAI;CACd,CAAiC,CAAC;AACnC,MAAM,CAAC,MAAM,+BAA+B,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3D,SAAS,EAAE,oEAAoE;IAC/E,YAAY,EAAE,oEAAoE;IAClF,gBAAgB,EAAE,oEAAoE;IACtF,KAAK,EAAE,4CAA4C;IACnD,OAAO,EAAE,4CAA4C;IACrD,IAAI,EAAE,4CAA4C;IAClD,YAAY,EAAE,IAAI;IAClB,OAAO,EAAE,IAAI;CACd,CAAiC,CAAC;AACnC,MAAM,CAAC,MAAM,2BAA2B,GAAG,MAAM,CAAC,MAAM,CAAC;IACvD,YAAY,EAAE,CAAC;IACf,aAAa,EAAE,CAAC;IAChB,YAAY,EAAE,4CAA4C;IAC1D,oBAAoB,EAAE,oEAAoE;CAC3F,CAA6B,CAAC;AAC/B,6FAA6F;AAC7F,MAAM,CAAC,MAAM,+BAA+B,GAAQ,82wDAA82wD,CAAC"}
@@ -0,0 +1,73 @@
1
+ import type { Hex } from "viem";
2
+ export declare const autoCompoundStaticEnvelope: Readonly<{
3
+ artifactDigest: "0x2c7bd199217fedf96a5b83d3ae3d630589eee86756c3a33bcc9a8d5e35efdc52";
4
+ reviewManifestDigest: "0x1474f959f6068b1cfcb90aa8106612d62476a271eb04c25df8debd442d03a07b";
5
+ configBoundsDigest: "0x72e0b2d542556d472a47f9c38b2c91079c72793af847dee77933f0eca203129d";
6
+ termsDigest: "0x4188f7e1087ad7963ffc94062345b27a7f3e497cb67c3e163d0b36973db993da";
7
+ topology: 2;
8
+ configVersion: 6;
9
+ economicVersion: 3;
10
+ capabilities: 123n;
11
+ flags: 0n;
12
+ callbackFlags: 6908;
13
+ callbackMask: 16383;
14
+ protocolTreasury: "0x961981916AB6575C3af3eeCecbf6A3b7Fad7C9e1";
15
+ protocolFeeDenominator: 6;
16
+ beneficiary: "0x7cb44b8693b3C350A2BcD4b681aF85365aa27783";
17
+ maximumDeveloperFeeBps: 0;
18
+ bounds: Readonly<{
19
+ minimumTickSpacing: 1;
20
+ maximumTickSpacing: 32767;
21
+ maximumPositions: 32;
22
+ maximumOracleCardinality: 4096;
23
+ feeModeFlags: 3;
24
+ }>;
25
+ graph: Readonly<{
26
+ manager: "0x8366a39CC670B4001A1121B8F6A443A643e40951";
27
+ hookRoot: "0x0000000000000000000000000000000000000000";
28
+ oracleFactory: "0xe7feF2BC860B25bbdEB6F6AB96d88bAAa77ddad7";
29
+ locker: "0x0EB419d291ABc5f643ACb5B6035236DF231e479D";
30
+ collectorFactory: "0x1D93705968DD03A27d86cb1590889882153ac0aF";
31
+ collectorDeployer: "0x1B256029541eE5beF2dB363211A7a05f9C36C18C";
32
+ hookDeployer: "0x78811B0b1Bb0F0f896e65C539c5bc62C4d33FbE2";
33
+ coreCodeHash: "0x9fb8f46c3b980b9db25dfdb487a69a308a86be145860269b4036a4e74480787b";
34
+ managerCodeHash: "0xbd3881180b547f5fe817545743cfb4343e96b1bc6640dcd70c106b0066e95626";
35
+ hookRuntimeCodeHash: "0x0000000000000000000000000000000000000000000000000000000000000000";
36
+ oracleFactoryCodeHash: "0x974fb5c72d91ccb99f1eb4679a5d4432c82bbaa0906b1c2917ec4da3499b7b98";
37
+ lockerCodeHash: "0x5b11a5a42678c8da4c075ed9eb336113ac6d70e9adf43346bd586d6754dd0a63";
38
+ collectorFactoryCodeHash: "0xc1164680edec0a76d45b78d5d4e6ac11ccf1bb4e3e52999080beda989c987023";
39
+ collectorDeployerCodeHash: "0x5260583f372e6e60c6f2c9bab628f499c5d17551c714f85fc4555ba12cf11f5d";
40
+ hookDeployerCodeHash: "0xdd59bd8dae0acd396e0e276e50681278c5cb4f766d2e342fefaf001c75d4bbc5";
41
+ hookCreationCodeHash: "0x2c7bd199217fedf96a5b83d3ae3d630589eee86756c3a33bcc9a8d5e35efdc52";
42
+ codeChunk0: "0x0Ba427F55DcC0F2af6605c7095b8C2E6FE7C99bd";
43
+ codeChunk0Hash: "0x03b5f35b8e44b4f3fedd729a277e935de3b69edd4d23ad39726a0bab7aa1b39d";
44
+ codeChunk1: "0x86431579Fb52d1BE1f96Fb721daF853dB49cdAC2";
45
+ codeChunk1Hash: "0x2d752704dc0fdc33b6b820d4d8466615e8f1076363b700dc0b78f729bd2bc7b0";
46
+ sharedHookSalt: "0x0000000000000000000000000000000000000000000000000000000000000000";
47
+ }>;
48
+ }>;
49
+ export declare const autoCompoundStaticAdapter: Readonly<{
50
+ implementation: "0xAE70e5acB118eade1ddF97A86a8eF681d5b71686";
51
+ codeHash: "0xd67ee6b00dea01568d1da2dd805af85da34c92c0ba5bd1b2b2c2913fa8015f3b";
52
+ capabilities: 123n;
53
+ configVersion: 6;
54
+ enabled: true;
55
+ }>;
56
+ export declare const autoCompoundStaticRegistration: Readonly<{
57
+ adapterId: "0x47f9efabc7c0427db5166ecf11702e0e0d2ca307a475d015d400a1584e572bc5";
58
+ configSchema: "0x51c5ca14c40012f78425cd1afb1ea77980da3fed0490a00911a8a4ed34792045";
59
+ dependencyDigest: "0x0fe998eb31c2efc79c7e2f3d48ca1ff141a7b6fde408eb21b16639c359cf7d04";
60
+ venue: "0x8366a39CC670B4001A1121B8F6A443A643e40951";
61
+ factory: "0x0000000000000000000000000000000000000000";
62
+ hook: "0x0000000000000000000000000000000000000000";
63
+ capabilities: 123n;
64
+ enabled: true;
65
+ }>;
66
+ export declare const autoCompoundStaticTopology: Readonly<{
67
+ hookTopology: 2;
68
+ configVersion: 6;
69
+ hookDeployer: "0x78811B0b1Bb0F0f896e65C539c5bc62C4d33FbE2";
70
+ hookCreationCodeHash: "0x2c7bd199217fedf96a5b83d3ae3d630589eee86756c3a33bcc9a8d5e35efdc52";
71
+ }>;
72
+ export declare const autoCompoundStaticCreationCode: Hex;
73
+ //# sourceMappingURL=auto-compound-static-pool-v1-20261028.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-compound-static-pool-v1-20261028.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/deployments/auto-compound-static-pool-v1-20261028.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAKhC,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8CV,CAAC;AAC9B,eAAO,MAAM,yBAAyB;;;;;;EAMJ,CAAC;AACnC,eAAO,MAAM,8BAA8B;;;;;;;;;EAST,CAAC;AACnC,eAAO,MAAM,0BAA0B;;;;;EAKT,CAAC;AAE/B,eAAO,MAAM,8BAA8B,EAAE,GAA4yvD,CAAC"}