@black-market/sdk 0.11.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +96 -79
- package/dist/lifecycle/abi.d.ts +1 -0
- package/dist/lifecycle/abi.d.ts.map +1 -1
- package/dist/lifecycle/abi.js +1 -0
- package/dist/lifecycle/abi.js.map +1 -1
- package/dist/lifecycle/deployments/ufg-dynamic-pool-20261021.d.ts +71 -0
- package/dist/lifecycle/deployments/ufg-dynamic-pool-20261021.d.ts.map +1 -0
- package/dist/lifecycle/deployments/ufg-dynamic-pool-20261021.js +73 -0
- package/dist/lifecycle/deployments/ufg-dynamic-pool-20261021.js.map +1 -0
- package/dist/lifecycle/deployments/ufg-fixed-pool-20261021.d.ts +71 -0
- package/dist/lifecycle/deployments/ufg-fixed-pool-20261021.d.ts.map +1 -0
- package/dist/lifecycle/deployments/ufg-fixed-pool-20261021.js +73 -0
- package/dist/lifecycle/deployments/ufg-fixed-pool-20261021.js.map +1 -0
- package/dist/lifecycle/index.d.ts +1 -0
- package/dist/lifecycle/index.d.ts.map +1 -1
- package/dist/lifecycle/index.js +1 -0
- package/dist/lifecycle/index.js.map +1 -1
- package/dist/lifecycle/markets.d.ts +3 -1
- package/dist/lifecycle/markets.d.ts.map +1 -1
- package/dist/lifecycle/markets.js +20 -3
- package/dist/lifecycle/markets.js.map +1 -1
- package/dist/lifecycle/planner.d.ts.map +1 -1
- package/dist/lifecycle/planner.js +101 -46
- package/dist/lifecycle/planner.js.map +1 -1
- package/dist/lifecycle/presets.d.ts +4 -2
- package/dist/lifecycle/presets.d.ts.map +1 -1
- package/dist/lifecycle/presets.js +11 -4
- package/dist/lifecycle/presets.js.map +1 -1
- package/dist/lifecycle/progress.d.ts +3 -1
- package/dist/lifecycle/progress.d.ts.map +1 -1
- package/dist/lifecycle/progress.js +145 -59
- package/dist/lifecycle/progress.js.map +1 -1
- package/dist/lifecycle/rpc.d.ts +8 -2
- package/dist/lifecycle/rpc.d.ts.map +1 -1
- package/dist/lifecycle/rpc.js +165 -9
- package/dist/lifecycle/rpc.js.map +1 -1
- package/dist/lifecycle/simulation.d.ts +1 -1
- package/dist/lifecycle/simulation.d.ts.map +1 -1
- package/dist/lifecycle/simulation.js +15 -11
- package/dist/lifecycle/simulation.js.map +1 -1
- package/dist/lifecycle/types.d.ts +23 -1
- package/dist/lifecycle/types.d.ts.map +1 -1
- package/dist/lifecycle/types.js.map +1 -1
- package/dist/lifecycle/ufg-abi.d.ts +2386 -0
- package/dist/lifecycle/ufg-abi.d.ts.map +1 -0
- package/dist/lifecycle/ufg-abi.js +171 -0
- package/dist/lifecycle/ufg-abi.js.map +1 -0
- package/dist/lifecycle/ufg-config.d.ts +38 -0
- package/dist/lifecycle/ufg-config.d.ts.map +1 -0
- package/dist/lifecycle/ufg-config.js +75 -0
- package/dist/lifecycle/ufg-config.js.map +1 -0
- package/dist/lifecycle/ufg.d.ts +21 -0
- package/dist/lifecycle/ufg.d.ts.map +1 -0
- package/dist/lifecycle/ufg.js +98 -0
- package/dist/lifecycle/ufg.js.map +1 -0
- package/docs/launch-lifecycle.md +611 -1363
- package/docs/reference.md +332 -0
- package/examples/.env.example +3 -2
- package/examples/README.md +172 -539
- package/examples/launch-example-support.ts +11 -3
- package/examples/launch-example.ts +1 -1
- package/examples/launch-lifecycle-smoke.ts +1 -1
- package/examples/ufg-launch-config.ts +31 -0
- package/package.json +1 -1
- package/src/lifecycle/abi.ts +1 -0
- package/src/lifecycle/deployments/ufg-dynamic-pool-20261021.ts +74 -0
- package/src/lifecycle/deployments/ufg-fixed-pool-20261021.ts +74 -0
- package/src/lifecycle/index.ts +1 -0
- package/src/lifecycle/markets.ts +16 -3
- package/src/lifecycle/planner.ts +95 -45
- package/src/lifecycle/presets.ts +11 -4
- package/src/lifecycle/progress.ts +131 -51
- package/src/lifecycle/rpc.ts +158 -10
- package/src/lifecycle/simulation.ts +14 -10
- package/src/lifecycle/types.ts +15 -2
- package/src/lifecycle/ufg-abi.ts +173 -0
- package/src/lifecycle/ufg-config.ts +77 -0
- package/src/lifecycle/ufg.ts +86 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ufg-abi.d.ts","sourceRoot":"","sources":["../../src/lifecycle/ufg-abi.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwBtB,CAAC;AAEX,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiC1B,CAAC;AAEX,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwB3B,CAAC;AAEX,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoF5B,CAAC"}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
// Complete UFG ABIs; generated by scripts/generate-ufg-presets.mjs from protocol artifacts.
|
|
2
|
+
export const ufgLaunchProxyV1Abi = [
|
|
3
|
+
{ "type": "constructor", "inputs": [{ "name": "orchestrator_", "type": "address" }, { "name": "registry_", "type": "address" }, { "name": "treasuryFactory_", "type": "address" }], "stateMutability": "nonpayable" },
|
|
4
|
+
{ "type": "receive", "stateMutability": "payable" },
|
|
5
|
+
{ "type": "function", "name": "activateLaunch", "inputs": [{ "name": "plan", "type": "tuple", "components": [{ "name": "chainId", "type": "uint256" }, { "name": "orchestrator", "type": "address" }, { "name": "creator", "type": "address" }, { "name": "nonce", "type": "uint256" }, { "name": "token", "type": "tuple", "components": [{ "name": "kind", "type": "uint8" }, { "name": "rewardMode", "type": "uint8" }, { "name": "name", "type": "string" }, { "name": "symbol", "type": "string" }, { "name": "supply", "type": "uint256" }, { "name": "nftUnit", "type": "uint256" }, { "name": "metadataURI", "type": "string" }, { "name": "salt", "type": "bytes32" }, { "name": "inventoryRecipient", "type": "address" }, { "name": "burnOnCancel", "type": "bool" }] }, { "name": "funding", "type": "tuple[]", "components": [{ "name": "asset", "type": "address" }, { "name": "amount", "type": "uint256" }, { "name": "kind", "type": "uint8" }, { "name": "inputAsset", "type": "address" }, { "name": "inputAmount", "type": "uint256" }, { "name": "target", "type": "address" }, { "name": "data", "type": "bytes" }] }, { "name": "feeAssets", "type": "tuple[]", "components": [{ "name": "asset", "type": "address" }, { "name": "ownerBps", "type": "uint16" }, { "name": "rewardsBps", "type": "uint16" }, { "name": "burnBps", "type": "uint16" }] }, { "name": "markets", "type": "tuple[]", "components": [{ "name": "adapterId", "type": "bytes32" }, { "name": "profileId", "type": "bytes32" }, { "name": "quoteAsset", "type": "address" }, { "name": "tokenBudget", "type": "uint256" }, { "name": "configVersion", "type": "uint32" }, { "name": "config", "type": "bytes" }] }, { "name": "buys", "type": "tuple[]", "components": [{ "name": "marketIndex", "type": "uint32" }, { "name": "quoteAmountIn", "type": "uint256" }, { "name": "minTokenOut", "type": "uint256" }, { "name": "recipient", "type": "address" }, { "name": "sqrtPriceLimitX96", "type": "uint160" }] }, { "name": "deadline", "type": "uint256" }, { "name": "executorFeeBps", "type": "uint16" }] }], "outputs": [{ "name": "receipt", "type": "tuple", "components": [{ "name": "launchId", "type": "bytes32" }, { "name": "planHash", "type": "bytes32" }, { "name": "token", "type": "address" }, { "name": "feeHub", "type": "address" }, { "name": "rewards", "type": "address" }, { "name": "marketCount", "type": "uint32" }, { "name": "positionCount", "type": "uint32" }, { "name": "quoteSpent", "type": "uint256[]" }, { "name": "tokenOut", "type": "uint256[]" }] }], "stateMutability": "nonpayable" },
|
|
6
|
+
{ "type": "function", "name": "beginLaunch", "inputs": [{ "name": "plan", "type": "tuple", "components": [{ "name": "chainId", "type": "uint256" }, { "name": "orchestrator", "type": "address" }, { "name": "creator", "type": "address" }, { "name": "nonce", "type": "uint256" }, { "name": "token", "type": "tuple", "components": [{ "name": "kind", "type": "uint8" }, { "name": "rewardMode", "type": "uint8" }, { "name": "name", "type": "string" }, { "name": "symbol", "type": "string" }, { "name": "supply", "type": "uint256" }, { "name": "nftUnit", "type": "uint256" }, { "name": "metadataURI", "type": "string" }, { "name": "salt", "type": "bytes32" }, { "name": "inventoryRecipient", "type": "address" }, { "name": "burnOnCancel", "type": "bool" }] }, { "name": "funding", "type": "tuple[]", "components": [{ "name": "asset", "type": "address" }, { "name": "amount", "type": "uint256" }, { "name": "kind", "type": "uint8" }, { "name": "inputAsset", "type": "address" }, { "name": "inputAmount", "type": "uint256" }, { "name": "target", "type": "address" }, { "name": "data", "type": "bytes" }] }, { "name": "feeAssets", "type": "tuple[]", "components": [{ "name": "asset", "type": "address" }, { "name": "ownerBps", "type": "uint16" }, { "name": "rewardsBps", "type": "uint16" }, { "name": "burnBps", "type": "uint16" }] }, { "name": "markets", "type": "tuple[]", "components": [{ "name": "adapterId", "type": "bytes32" }, { "name": "profileId", "type": "bytes32" }, { "name": "quoteAsset", "type": "address" }, { "name": "tokenBudget", "type": "uint256" }, { "name": "configVersion", "type": "uint32" }, { "name": "config", "type": "bytes" }] }, { "name": "buys", "type": "tuple[]", "components": [{ "name": "marketIndex", "type": "uint32" }, { "name": "quoteAmountIn", "type": "uint256" }, { "name": "minTokenOut", "type": "uint256" }, { "name": "recipient", "type": "address" }, { "name": "sqrtPriceLimitX96", "type": "uint160" }] }, { "name": "deadline", "type": "uint256" }, { "name": "executorFeeBps", "type": "uint16" }] }, { "name": "mode", "type": "uint8" }, { "name": "config", "type": "tuple", "components": [{ "name": "treasuryShareBps", "type": "uint16" }, { "name": "exitFeeBps", "type": "uint16" }, { "name": "reserveAssets", "type": "address[]" }] }], "outputs": [{ "name": "progress", "type": "tuple", "components": [{ "name": "launchId", "type": "bytes32" }, { "name": "planHash", "type": "bytes32" }, { "name": "creator", "type": "address" }, { "name": "nonce", "type": "uint256" }, { "name": "mode", "type": "uint8" }, { "name": "phase", "type": "uint8" }, { "name": "token", "type": "address" }, { "name": "feeHub", "type": "address" }, { "name": "rewards", "type": "address" }, { "name": "preparedMarkets", "type": "uint32" }, { "name": "marketCount", "type": "uint32" }, { "name": "buyCount", "type": "uint32" }, { "name": "positionCount", "type": "uint32" }, { "name": "deadline", "type": "uint256" }] }], "stateMutability": "payable" },
|
|
7
|
+
{ "type": "function", "name": "cancelLaunch", "inputs": [{ "name": "plan", "type": "tuple", "components": [{ "name": "chainId", "type": "uint256" }, { "name": "orchestrator", "type": "address" }, { "name": "creator", "type": "address" }, { "name": "nonce", "type": "uint256" }, { "name": "token", "type": "tuple", "components": [{ "name": "kind", "type": "uint8" }, { "name": "rewardMode", "type": "uint8" }, { "name": "name", "type": "string" }, { "name": "symbol", "type": "string" }, { "name": "supply", "type": "uint256" }, { "name": "nftUnit", "type": "uint256" }, { "name": "metadataURI", "type": "string" }, { "name": "salt", "type": "bytes32" }, { "name": "inventoryRecipient", "type": "address" }, { "name": "burnOnCancel", "type": "bool" }] }, { "name": "funding", "type": "tuple[]", "components": [{ "name": "asset", "type": "address" }, { "name": "amount", "type": "uint256" }, { "name": "kind", "type": "uint8" }, { "name": "inputAsset", "type": "address" }, { "name": "inputAmount", "type": "uint256" }, { "name": "target", "type": "address" }, { "name": "data", "type": "bytes" }] }, { "name": "feeAssets", "type": "tuple[]", "components": [{ "name": "asset", "type": "address" }, { "name": "ownerBps", "type": "uint16" }, { "name": "rewardsBps", "type": "uint16" }, { "name": "burnBps", "type": "uint16" }] }, { "name": "markets", "type": "tuple[]", "components": [{ "name": "adapterId", "type": "bytes32" }, { "name": "profileId", "type": "bytes32" }, { "name": "quoteAsset", "type": "address" }, { "name": "tokenBudget", "type": "uint256" }, { "name": "configVersion", "type": "uint32" }, { "name": "config", "type": "bytes" }] }, { "name": "buys", "type": "tuple[]", "components": [{ "name": "marketIndex", "type": "uint32" }, { "name": "quoteAmountIn", "type": "uint256" }, { "name": "minTokenOut", "type": "uint256" }, { "name": "recipient", "type": "address" }, { "name": "sqrtPriceLimitX96", "type": "uint160" }] }, { "name": "deadline", "type": "uint256" }, { "name": "executorFeeBps", "type": "uint16" }] }], "outputs": [], "stateMutability": "nonpayable" },
|
|
8
|
+
{ "type": "function", "name": "feeOwnerRegistry", "inputs": [], "outputs": [{ "name": "", "type": "address" }], "stateMutability": "view" },
|
|
9
|
+
{ "type": "function", "name": "handoffFeeOwnership", "inputs": [{ "name": "token", "type": "address" }, { "name": "adapter", "type": "address" }], "outputs": [], "stateMutability": "nonpayable" },
|
|
10
|
+
{ "type": "function", "name": "launchAtomic", "inputs": [{ "name": "plan", "type": "tuple", "components": [{ "name": "chainId", "type": "uint256" }, { "name": "orchestrator", "type": "address" }, { "name": "creator", "type": "address" }, { "name": "nonce", "type": "uint256" }, { "name": "token", "type": "tuple", "components": [{ "name": "kind", "type": "uint8" }, { "name": "rewardMode", "type": "uint8" }, { "name": "name", "type": "string" }, { "name": "symbol", "type": "string" }, { "name": "supply", "type": "uint256" }, { "name": "nftUnit", "type": "uint256" }, { "name": "metadataURI", "type": "string" }, { "name": "salt", "type": "bytes32" }, { "name": "inventoryRecipient", "type": "address" }, { "name": "burnOnCancel", "type": "bool" }] }, { "name": "funding", "type": "tuple[]", "components": [{ "name": "asset", "type": "address" }, { "name": "amount", "type": "uint256" }, { "name": "kind", "type": "uint8" }, { "name": "inputAsset", "type": "address" }, { "name": "inputAmount", "type": "uint256" }, { "name": "target", "type": "address" }, { "name": "data", "type": "bytes" }] }, { "name": "feeAssets", "type": "tuple[]", "components": [{ "name": "asset", "type": "address" }, { "name": "ownerBps", "type": "uint16" }, { "name": "rewardsBps", "type": "uint16" }, { "name": "burnBps", "type": "uint16" }] }, { "name": "markets", "type": "tuple[]", "components": [{ "name": "adapterId", "type": "bytes32" }, { "name": "profileId", "type": "bytes32" }, { "name": "quoteAsset", "type": "address" }, { "name": "tokenBudget", "type": "uint256" }, { "name": "configVersion", "type": "uint32" }, { "name": "config", "type": "bytes" }] }, { "name": "buys", "type": "tuple[]", "components": [{ "name": "marketIndex", "type": "uint32" }, { "name": "quoteAmountIn", "type": "uint256" }, { "name": "minTokenOut", "type": "uint256" }, { "name": "recipient", "type": "address" }, { "name": "sqrtPriceLimitX96", "type": "uint160" }] }, { "name": "deadline", "type": "uint256" }, { "name": "executorFeeBps", "type": "uint16" }] }, { "name": "config", "type": "tuple", "components": [{ "name": "treasuryShareBps", "type": "uint16" }, { "name": "exitFeeBps", "type": "uint16" }, { "name": "reserveAssets", "type": "address[]" }] }], "outputs": [{ "name": "receipt", "type": "tuple", "components": [{ "name": "launchId", "type": "bytes32" }, { "name": "planHash", "type": "bytes32" }, { "name": "token", "type": "address" }, { "name": "feeHub", "type": "address" }, { "name": "rewards", "type": "address" }, { "name": "marketCount", "type": "uint32" }, { "name": "positionCount", "type": "uint32" }, { "name": "quoteSpent", "type": "uint256[]" }, { "name": "tokenOut", "type": "uint256[]" }] }], "stateMutability": "payable" },
|
|
11
|
+
{ "type": "function", "name": "launchConfigHash", "inputs": [{ "name": "launchId", "type": "bytes32" }], "outputs": [{ "name": "configHash", "type": "bytes32" }], "stateMutability": "view" },
|
|
12
|
+
{ "type": "function", "name": "nonceOf", "inputs": [{ "name": "principal", "type": "address" }, { "name": "nonce", "type": "uint96" }], "outputs": [{ "name": "", "type": "uint256" }], "stateMutability": "pure" },
|
|
13
|
+
{ "type": "function", "name": "orchestrator", "inputs": [], "outputs": [{ "name": "", "type": "address" }], "stateMutability": "view" },
|
|
14
|
+
{ "type": "function", "name": "prepareMarkets", "inputs": [{ "name": "plan", "type": "tuple", "components": [{ "name": "chainId", "type": "uint256" }, { "name": "orchestrator", "type": "address" }, { "name": "creator", "type": "address" }, { "name": "nonce", "type": "uint256" }, { "name": "token", "type": "tuple", "components": [{ "name": "kind", "type": "uint8" }, { "name": "rewardMode", "type": "uint8" }, { "name": "name", "type": "string" }, { "name": "symbol", "type": "string" }, { "name": "supply", "type": "uint256" }, { "name": "nftUnit", "type": "uint256" }, { "name": "metadataURI", "type": "string" }, { "name": "salt", "type": "bytes32" }, { "name": "inventoryRecipient", "type": "address" }, { "name": "burnOnCancel", "type": "bool" }] }, { "name": "funding", "type": "tuple[]", "components": [{ "name": "asset", "type": "address" }, { "name": "amount", "type": "uint256" }, { "name": "kind", "type": "uint8" }, { "name": "inputAsset", "type": "address" }, { "name": "inputAmount", "type": "uint256" }, { "name": "target", "type": "address" }, { "name": "data", "type": "bytes" }] }, { "name": "feeAssets", "type": "tuple[]", "components": [{ "name": "asset", "type": "address" }, { "name": "ownerBps", "type": "uint16" }, { "name": "rewardsBps", "type": "uint16" }, { "name": "burnBps", "type": "uint16" }] }, { "name": "markets", "type": "tuple[]", "components": [{ "name": "adapterId", "type": "bytes32" }, { "name": "profileId", "type": "bytes32" }, { "name": "quoteAsset", "type": "address" }, { "name": "tokenBudget", "type": "uint256" }, { "name": "configVersion", "type": "uint32" }, { "name": "config", "type": "bytes" }] }, { "name": "buys", "type": "tuple[]", "components": [{ "name": "marketIndex", "type": "uint32" }, { "name": "quoteAmountIn", "type": "uint256" }, { "name": "minTokenOut", "type": "uint256" }, { "name": "recipient", "type": "address" }, { "name": "sqrtPriceLimitX96", "type": "uint160" }] }, { "name": "deadline", "type": "uint256" }, { "name": "executorFeeBps", "type": "uint16" }] }, { "name": "firstMarket", "type": "uint32" }, { "name": "count", "type": "uint32" }], "outputs": [], "stateMutability": "nonpayable" },
|
|
15
|
+
{ "type": "function", "name": "principalOf", "inputs": [{ "name": "launchId", "type": "bytes32" }], "outputs": [{ "name": "principal", "type": "address" }], "stateMutability": "view" },
|
|
16
|
+
{ "type": "function", "name": "treasuryFactory", "inputs": [], "outputs": [{ "name": "", "type": "address" }], "stateMutability": "view" },
|
|
17
|
+
{ "type": "event", "name": "LaunchConfigBound", "inputs": [{ "name": "launchId", "type": "bytes32", "indexed": true }, { "name": "planHash", "type": "bytes32", "indexed": false }, { "name": "configHash", "type": "bytes32", "indexed": false }], "anonymous": false },
|
|
18
|
+
{ "type": "error", "name": "InexactTransfer", "inputs": [] },
|
|
19
|
+
{ "type": "error", "name": "InvalidConfiguration", "inputs": [] },
|
|
20
|
+
{ "type": "error", "name": "InvalidNonce", "inputs": [] },
|
|
21
|
+
{ "type": "error", "name": "InvalidPlan", "inputs": [] },
|
|
22
|
+
{ "type": "error", "name": "PlanMismatch", "inputs": [] },
|
|
23
|
+
{ "type": "error", "name": "Reentrancy", "inputs": [] },
|
|
24
|
+
{ "type": "error", "name": "TooManyReserves", "inputs": [] },
|
|
25
|
+
{ "type": "error", "name": "Unauthorized", "inputs": [] },
|
|
26
|
+
];
|
|
27
|
+
export const ufgTreasuryFactoryV1Abi = [
|
|
28
|
+
{ "type": "constructor", "inputs": [{ "name": "hubFactory_", "type": "address" }, { "name": "approvedProxy_", "type": "address" }, { "name": "collectorDeployer_", "type": "address" }, { "name": "splitter_", "type": "address" }, { "name": "platformShareBps_", "type": "uint16" }, { "name": "ratePerSecond_", "type": "uint256" }, { "name": "upstreamFactory_", "type": "address" }, { "name": "upstreamFactoryCodeHash_", "type": "bytes32" }], "stateMutability": "nonpayable" },
|
|
29
|
+
{ "type": "function", "name": "MAX_INIT_CODE_SIZE", "inputs": [], "outputs": [{ "name": "", "type": "uint256" }], "stateMutability": "view" },
|
|
30
|
+
{ "type": "function", "name": "MAX_PLATFORM_SHARE_BPS", "inputs": [], "outputs": [{ "name": "", "type": "uint16" }], "stateMutability": "view" },
|
|
31
|
+
{ "type": "function", "name": "MAX_RUNTIME_SIZE", "inputs": [], "outputs": [{ "name": "", "type": "uint256" }], "stateMutability": "view" },
|
|
32
|
+
{ "type": "function", "name": "approvedProxy", "inputs": [], "outputs": [{ "name": "", "type": "address" }], "stateMutability": "view" },
|
|
33
|
+
{ "type": "function", "name": "approvedProxyCodeHash", "inputs": [], "outputs": [{ "name": "", "type": "bytes32" }], "stateMutability": "view" },
|
|
34
|
+
{ "type": "function", "name": "collectorDeployer", "inputs": [], "outputs": [{ "name": "", "type": "address" }], "stateMutability": "view" },
|
|
35
|
+
{ "type": "function", "name": "configHash", "inputs": [{ "name": "token", "type": "address" }], "outputs": [{ "name": "hash", "type": "bytes32" }], "stateMutability": "view" },
|
|
36
|
+
{ "type": "function", "name": "decodeLaunchConfig", "inputs": [{ "name": "encoded", "type": "bytes" }, { "name": "canonicalPrefix", "type": "bytes" }], "outputs": [{ "name": "", "type": "tuple", "components": [{ "name": "treasuryShareBps", "type": "uint16" }, { "name": "exitFeeBps", "type": "uint16" }, { "name": "reserveAssets", "type": "address[]" }] }], "stateMutability": "pure" },
|
|
37
|
+
{ "type": "function", "name": "deployedCodeHash", "inputs": [{ "name": "deployed", "type": "address" }], "outputs": [{ "name": "hash", "type": "bytes32" }], "stateMutability": "view" },
|
|
38
|
+
{ "type": "function", "name": "feeOwnerRegistry", "inputs": [], "outputs": [{ "name": "", "type": "address" }], "stateMutability": "view" },
|
|
39
|
+
{ "type": "function", "name": "fundingAdapterOf", "inputs": [{ "name": "token", "type": "address" }], "outputs": [{ "name": "adapter", "type": "address" }], "stateMutability": "view" },
|
|
40
|
+
{ "type": "function", "name": "getOrCreate", "inputs": [{ "name": "token", "type": "address" }, { "name": "hub", "type": "address" }, { "name": "config", "type": "tuple", "components": [{ "name": "treasuryShareBps", "type": "uint16" }, { "name": "exitFeeBps", "type": "uint16" }, { "name": "reserveAssets", "type": "address[]" }] }, { "name": "feeMode", "type": "uint8" }, { "name": "lpFeePips", "type": "uint24" }], "outputs": [{ "name": "adapter", "type": "address" }, { "name": "treasury", "type": "address" }], "stateMutability": "nonpayable" },
|
|
41
|
+
{ "type": "function", "name": "hubFactory", "inputs": [], "outputs": [{ "name": "", "type": "address" }], "stateMutability": "view" },
|
|
42
|
+
{ "type": "function", "name": "platformShareBps", "inputs": [], "outputs": [{ "name": "", "type": "uint16" }], "stateMutability": "view" },
|
|
43
|
+
{ "type": "function", "name": "ratePerSecond", "inputs": [], "outputs": [{ "name": "", "type": "uint256" }], "stateMutability": "view" },
|
|
44
|
+
{ "type": "function", "name": "splitter", "inputs": [], "outputs": [{ "name": "", "type": "address" }], "stateMutability": "view" },
|
|
45
|
+
{ "type": "function", "name": "treasuryOf", "inputs": [{ "name": "token", "type": "address" }], "outputs": [{ "name": "treasury", "type": "address" }], "stateMutability": "view" },
|
|
46
|
+
{ "type": "function", "name": "upstreamFactory", "inputs": [], "outputs": [{ "name": "", "type": "address" }], "stateMutability": "view" },
|
|
47
|
+
{ "type": "function", "name": "upstreamFactoryCodeHash", "inputs": [], "outputs": [{ "name": "", "type": "bytes32" }], "stateMutability": "view" },
|
|
48
|
+
{ "type": "function", "name": "validateMarketLaunchConfig", "inputs": [{ "name": "encoded", "type": "bytes" }, { "name": "canonicalPrefix", "type": "bytes" }, { "name": "token", "type": "address" }, { "name": "quote", "type": "address" }], "outputs": [{ "name": "launch", "type": "tuple", "components": [{ "name": "treasuryShareBps", "type": "uint16" }, { "name": "exitFeeBps", "type": "uint16" }, { "name": "reserveAssets", "type": "address[]" }] }], "stateMutability": "view" },
|
|
49
|
+
{ "type": "event", "name": "TreasuryCreated", "inputs": [{ "name": "token", "type": "address", "indexed": true }, { "name": "hub", "type": "address", "indexed": true }, { "name": "treasury", "type": "address", "indexed": true }, { "name": "fundingAdapter", "type": "address", "indexed": false }, { "name": "configHash", "type": "bytes32", "indexed": false }], "anonymous": false },
|
|
50
|
+
{ "type": "error", "name": "DeploymentFailed", "inputs": [] },
|
|
51
|
+
{ "type": "error", "name": "InconsistentConfiguration", "inputs": [] },
|
|
52
|
+
{ "type": "error", "name": "InitCodeTooLarge", "inputs": [] },
|
|
53
|
+
{ "type": "error", "name": "InvalidConfiguration", "inputs": [] },
|
|
54
|
+
{ "type": "error", "name": "InvalidHub", "inputs": [] },
|
|
55
|
+
{ "type": "error", "name": "InvalidUFGConfiguration", "inputs": [] },
|
|
56
|
+
{ "type": "error", "name": "Reentrancy", "inputs": [] },
|
|
57
|
+
{ "type": "error", "name": "RuntimeCodeTooLarge", "inputs": [] },
|
|
58
|
+
{ "type": "error", "name": "Unauthorized", "inputs": [] },
|
|
59
|
+
{ "type": "error", "name": "UnlockedLaunch", "inputs": [] },
|
|
60
|
+
];
|
|
61
|
+
export const ufgBlackMarketFactoryAbi = [
|
|
62
|
+
{ "type": "constructor", "inputs": [{ "name": "tokenFactory_", "type": "address" }, { "name": "hubFactory_", "type": "address" }, { "name": "splitter_", "type": "address" }, { "name": "platformShareBps_", "type": "uint16" }, { "name": "ratePerSecond_", "type": "uint256" }], "stateMutability": "nonpayable" },
|
|
63
|
+
{ "type": "function", "name": "ABYSS_HUB_FACTORY", "inputs": [], "outputs": [{ "name": "", "type": "address" }], "stateMutability": "view" },
|
|
64
|
+
{ "type": "function", "name": "ABYSS_TOKEN_FACTORY", "inputs": [], "outputs": [{ "name": "", "type": "address" }], "stateMutability": "view" },
|
|
65
|
+
{ "type": "function", "name": "MAX_EXIT_FEE_BPS", "inputs": [], "outputs": [{ "name": "", "type": "uint16" }], "stateMutability": "view" },
|
|
66
|
+
{ "type": "function", "name": "MAX_PLATFORM_SHARE_BPS", "inputs": [], "outputs": [{ "name": "", "type": "uint16" }], "stateMutability": "view" },
|
|
67
|
+
{ "type": "function", "name": "MAX_RATE_PER_SECOND", "inputs": [], "outputs": [{ "name": "", "type": "uint256" }], "stateMutability": "view" },
|
|
68
|
+
{ "type": "function", "name": "PLATFORM_SHARE_BPS", "inputs": [], "outputs": [{ "name": "", "type": "uint16" }], "stateMutability": "view" },
|
|
69
|
+
{ "type": "function", "name": "RATE_PER_SECOND", "inputs": [], "outputs": [{ "name": "", "type": "uint256" }], "stateMutability": "view" },
|
|
70
|
+
{ "type": "function", "name": "SPLITTER", "inputs": [], "outputs": [{ "name": "", "type": "address" }], "stateMutability": "view" },
|
|
71
|
+
{ "type": "function", "name": "deploy", "inputs": [{ "name": "token", "type": "address" }, { "name": "canonicalHub", "type": "address" }, { "name": "fundingAdapter", "type": "address" }, { "name": "rewardAssets", "type": "address[]" }, { "name": "exitFeeBps", "type": "uint16" }], "outputs": [{ "name": "treasury", "type": "address" }], "stateMutability": "nonpayable" },
|
|
72
|
+
{ "type": "function", "name": "launchCount", "inputs": [], "outputs": [{ "name": "", "type": "uint256" }], "stateMutability": "view" },
|
|
73
|
+
{ "type": "function", "name": "predict", "inputs": [{ "name": "token", "type": "address" }, { "name": "canonicalHub", "type": "address" }, { "name": "fundingAdapter", "type": "address" }, { "name": "rewardAssets", "type": "address[]" }, { "name": "exitFeeBps", "type": "uint16" }], "outputs": [{ "name": "", "type": "address" }], "stateMutability": "view" },
|
|
74
|
+
{ "type": "function", "name": "treasuries", "inputs": [{ "name": "", "type": "address" }], "outputs": [{ "name": "", "type": "address" }], "stateMutability": "view" },
|
|
75
|
+
{ "type": "event", "name": "FundingAdapterBound", "inputs": [{ "name": "token", "type": "address", "indexed": true }, { "name": "canonicalHub", "type": "address", "indexed": true }, { "name": "fundingAdapter", "type": "address", "indexed": true }, { "name": "treasury", "type": "address", "indexed": false }], "anonymous": false },
|
|
76
|
+
{ "type": "event", "name": "TreasuryDeployed", "inputs": [{ "name": "token", "type": "address", "indexed": true }, { "name": "hub", "type": "address", "indexed": true }, { "name": "treasury", "type": "address", "indexed": true }, { "name": "rewardAssets", "type": "address[]", "indexed": false }, { "name": "exitFeeBps", "type": "uint16", "indexed": false }], "anonymous": false },
|
|
77
|
+
{ "type": "error", "name": "AlreadyDeployed", "inputs": [] },
|
|
78
|
+
{ "type": "error", "name": "BadConfiguration", "inputs": [] },
|
|
79
|
+
{ "type": "error", "name": "BadExitFee", "inputs": [] },
|
|
80
|
+
{ "type": "error", "name": "BadFundingAdapter", "inputs": [] },
|
|
81
|
+
{ "type": "error", "name": "BountyNotZero", "inputs": [] },
|
|
82
|
+
{ "type": "error", "name": "HubTokenMismatch", "inputs": [] },
|
|
83
|
+
{ "type": "error", "name": "NotTokenFactory", "inputs": [] },
|
|
84
|
+
{ "type": "error", "name": "UnknownHub", "inputs": [] },
|
|
85
|
+
];
|
|
86
|
+
export const ufgBlackMarketTreasuryAbi = [
|
|
87
|
+
{ "type": "constructor", "inputs": [{ "name": "token", "type": "address" }, { "name": "hub", "type": "address" }, { "name": "assets_", "type": "address[]" }, { "name": "exitFeeBps", "type": "uint16" }, { "name": "splitter", "type": "address" }, { "name": "platformShareBps", "type": "uint16" }, { "name": "ratePerSecond", "type": "uint256" }], "stateMutability": "nonpayable" },
|
|
88
|
+
{ "type": "function", "name": "DEAD", "inputs": [], "outputs": [{ "name": "", "type": "address" }], "stateMutability": "view" },
|
|
89
|
+
{ "type": "function", "name": "EXIT_FEE_BPS", "inputs": [], "outputs": [{ "name": "", "type": "uint16" }], "stateMutability": "view" },
|
|
90
|
+
{ "type": "function", "name": "HUB", "inputs": [], "outputs": [{ "name": "", "type": "address" }], "stateMutability": "view" },
|
|
91
|
+
{ "type": "function", "name": "LIQUIDATION_LTV_BPS", "inputs": [], "outputs": [{ "name": "", "type": "uint16" }], "stateMutability": "view" },
|
|
92
|
+
{ "type": "function", "name": "LTV_BPS", "inputs": [], "outputs": [{ "name": "", "type": "uint16" }], "stateMutability": "view" },
|
|
93
|
+
{ "type": "function", "name": "MAX_ASSETS", "inputs": [], "outputs": [{ "name": "", "type": "uint256" }], "stateMutability": "view" },
|
|
94
|
+
{ "type": "function", "name": "MAX_EXIT_FEE_BPS", "inputs": [], "outputs": [{ "name": "", "type": "uint16" }], "stateMutability": "view" },
|
|
95
|
+
{ "type": "function", "name": "MAX_INDEX", "inputs": [], "outputs": [{ "name": "", "type": "uint256" }], "stateMutability": "view" },
|
|
96
|
+
{ "type": "function", "name": "MAX_RATE_PER_SECOND", "inputs": [], "outputs": [{ "name": "", "type": "uint256" }], "stateMutability": "view" },
|
|
97
|
+
{ "type": "function", "name": "MIN_DEBT", "inputs": [], "outputs": [{ "name": "", "type": "uint256" }], "stateMutability": "view" },
|
|
98
|
+
{ "type": "function", "name": "PLATFORM_SHARE_BPS", "inputs": [], "outputs": [{ "name": "", "type": "uint16" }], "stateMutability": "view" },
|
|
99
|
+
{ "type": "function", "name": "RATE_PER_SECOND", "inputs": [], "outputs": [{ "name": "", "type": "uint256" }], "stateMutability": "view" },
|
|
100
|
+
{ "type": "function", "name": "SPLITTER", "inputs": [], "outputs": [{ "name": "", "type": "address" }], "stateMutability": "view" },
|
|
101
|
+
{ "type": "function", "name": "TOKEN", "inputs": [], "outputs": [{ "name": "", "type": "address" }], "stateMutability": "view" },
|
|
102
|
+
{ "type": "function", "name": "addCollateral", "inputs": [{ "name": "amount", "type": "uint256" }], "outputs": [], "stateMutability": "nonpayable" },
|
|
103
|
+
{ "type": "function", "name": "annualRate", "inputs": [], "outputs": [{ "name": "", "type": "uint256" }], "stateMutability": "view" },
|
|
104
|
+
{ "type": "function", "name": "assets", "inputs": [], "outputs": [{ "name": "", "type": "address[]" }], "stateMutability": "view" },
|
|
105
|
+
{ "type": "function", "name": "backing", "inputs": [{ "name": "asset", "type": "address" }], "outputs": [{ "name": "", "type": "uint256" }], "stateMutability": "view" },
|
|
106
|
+
{ "type": "function", "name": "borrow", "inputs": [{ "name": "amounts", "type": "uint256[]" }, { "name": "to", "type": "address" }], "outputs": [], "stateMutability": "nonpayable" },
|
|
107
|
+
{ "type": "function", "name": "burnStray", "inputs": [], "outputs": [], "stateMutability": "nonpayable" },
|
|
108
|
+
{ "type": "function", "name": "collect", "inputs": [], "outputs": [], "stateMutability": "nonpayable" },
|
|
109
|
+
{ "type": "function", "name": "debtOf", "inputs": [{ "name": "account", "type": "address" }], "outputs": [{ "name": "out", "type": "uint256[]" }], "stateMutability": "view" },
|
|
110
|
+
{ "type": "function", "name": "distributor", "inputs": [], "outputs": [{ "name": "", "type": "address" }], "stateMutability": "view" },
|
|
111
|
+
{ "type": "function", "name": "effectiveSupply", "inputs": [], "outputs": [{ "name": "", "type": "uint256" }], "stateMutability": "view" },
|
|
112
|
+
{ "type": "function", "name": "interestIndex", "inputs": [], "outputs": [{ "name": "", "type": "uint256" }], "stateMutability": "view" },
|
|
113
|
+
{ "type": "function", "name": "isLiquidatable", "inputs": [{ "name": "account", "type": "address" }], "outputs": [{ "name": "", "type": "bool" }], "stateMutability": "view" },
|
|
114
|
+
{ "type": "function", "name": "lastAccrual", "inputs": [], "outputs": [{ "name": "", "type": "uint256" }], "stateMutability": "view" },
|
|
115
|
+
{ "type": "function", "name": "liquid", "inputs": [{ "name": "asset", "type": "address" }], "outputs": [{ "name": "", "type": "uint256" }], "stateMutability": "view" },
|
|
116
|
+
{ "type": "function", "name": "liquidate", "inputs": [{ "name": "account", "type": "address" }], "outputs": [], "stateMutability": "nonpayable" },
|
|
117
|
+
{ "type": "function", "name": "maxBorrow", "inputs": [{ "name": "account", "type": "address" }], "outputs": [{ "name": "out", "type": "uint256[]" }], "stateMutability": "view" },
|
|
118
|
+
{ "type": "function", "name": "notifyRewardAmounts", "inputs": [{ "name": "amounts", "type": "uint256[]" }], "outputs": [], "stateMutability": "nonpayable" },
|
|
119
|
+
{ "type": "function", "name": "originationCap", "inputs": [{ "name": "collateral", "type": "uint256" }], "outputs": [{ "name": "out", "type": "uint256[]" }], "stateMutability": "view" },
|
|
120
|
+
{ "type": "function", "name": "owed", "inputs": [{ "name": "", "type": "address" }], "outputs": [{ "name": "", "type": "uint256" }], "stateMutability": "view" },
|
|
121
|
+
{ "type": "function", "name": "positionOf", "inputs": [{ "name": "account", "type": "address" }], "outputs": [{ "name": "collateral", "type": "uint256" }, { "name": "principal", "type": "uint256[]" }, { "name": "debt", "type": "uint256[]" }], "stateMutability": "view" },
|
|
122
|
+
{ "type": "function", "name": "principalOutstanding", "inputs": [{ "name": "", "type": "address" }], "outputs": [{ "name": "", "type": "uint256" }], "stateMutability": "view" },
|
|
123
|
+
{ "type": "function", "name": "quoteRedeem", "inputs": [{ "name": "amount", "type": "uint256" }], "outputs": [{ "name": "out", "type": "uint256[]" }], "stateMutability": "view" },
|
|
124
|
+
{ "type": "function", "name": "redeem", "inputs": [{ "name": "amount", "type": "uint256" }, { "name": "minOuts", "type": "uint256[]" }, { "name": "to", "type": "address" }], "outputs": [], "stateMutability": "nonpayable" },
|
|
125
|
+
{ "type": "function", "name": "redeemSkipping", "inputs": [{ "name": "amount", "type": "uint256" }, { "name": "minOuts", "type": "uint256[]" }, { "name": "to", "type": "address" }, { "name": "skipMask", "type": "uint256" }], "outputs": [], "stateMutability": "nonpayable" },
|
|
126
|
+
{ "type": "function", "name": "releasePlatformFees", "inputs": [], "outputs": [], "stateMutability": "nonpayable" },
|
|
127
|
+
{ "type": "function", "name": "releasePlatformFeesFor", "inputs": [{ "name": "assets_", "type": "address[]" }], "outputs": [], "stateMutability": "nonpayable" },
|
|
128
|
+
{ "type": "function", "name": "repay", "inputs": [{ "name": "account", "type": "address" }, { "name": "amounts", "type": "uint256[]" }], "outputs": [], "stateMutability": "nonpayable" },
|
|
129
|
+
{ "type": "function", "name": "reserve", "inputs": [{ "name": "asset", "type": "address" }], "outputs": [{ "name": "", "type": "uint256" }], "stateMutability": "view" },
|
|
130
|
+
{ "type": "function", "name": "rewardAssets", "inputs": [], "outputs": [{ "name": "", "type": "address[]" }], "stateMutability": "view" },
|
|
131
|
+
{ "type": "function", "name": "rewardAvailableBalance", "inputs": [{ "name": "asset", "type": "address" }], "outputs": [{ "name": "", "type": "uint256" }], "stateMutability": "view" },
|
|
132
|
+
{ "type": "function", "name": "totalCollateral", "inputs": [], "outputs": [{ "name": "", "type": "uint256" }], "stateMutability": "view" },
|
|
133
|
+
{ "type": "function", "name": "withdrawCollateral", "inputs": [{ "name": "amount", "type": "uint256" }, { "name": "to", "type": "address" }], "outputs": [], "stateMutability": "nonpayable" },
|
|
134
|
+
{ "type": "event", "name": "AssetsSkipped", "inputs": [{ "name": "caller", "type": "address", "indexed": true }, { "name": "skipMask", "type": "uint256", "indexed": false }], "anonymous": false },
|
|
135
|
+
{ "type": "event", "name": "CollateralAdded", "inputs": [{ "name": "account", "type": "address", "indexed": true }, { "name": "amount", "type": "uint256", "indexed": false }], "anonymous": false },
|
|
136
|
+
{ "type": "event", "name": "CollateralWithdrawn", "inputs": [{ "name": "account", "type": "address", "indexed": true }, { "name": "to", "type": "address", "indexed": true }, { "name": "amount", "type": "uint256", "indexed": false }], "anonymous": false },
|
|
137
|
+
{ "type": "event", "name": "CollectFailed", "inputs": [{ "name": "reason", "type": "bytes", "indexed": false }], "anonymous": false },
|
|
138
|
+
{ "type": "event", "name": "Funded", "inputs": [{ "name": "asset", "type": "address", "indexed": true }, { "name": "amount", "type": "uint256", "indexed": false }, { "name": "platformPart", "type": "uint256", "indexed": false }], "anonymous": false },
|
|
139
|
+
{ "type": "event", "name": "PlatformFeesReleased", "inputs": [{ "name": "asset", "type": "address", "indexed": true }, { "name": "amount", "type": "uint256", "indexed": false }], "anonymous": false },
|
|
140
|
+
{ "type": "event", "name": "Redeemed", "inputs": [{ "name": "caller", "type": "address", "indexed": true }, { "name": "to", "type": "address", "indexed": true }, { "name": "burned", "type": "uint256", "indexed": false }, { "name": "paid", "type": "uint256[]", "indexed": false }, { "name": "fee", "type": "uint256[]", "indexed": false }], "anonymous": false },
|
|
141
|
+
{ "type": "event", "name": "ReserveLoanBorrowed", "inputs": [{ "name": "account", "type": "address", "indexed": true }, { "name": "to", "type": "address", "indexed": true }, { "name": "asset", "type": "address", "indexed": true }, { "name": "amount", "type": "uint256", "indexed": false }], "anonymous": false },
|
|
142
|
+
{ "type": "event", "name": "ReserveLoanLiquidated", "inputs": [{ "name": "account", "type": "address", "indexed": true }, { "name": "caller", "type": "address", "indexed": true }, { "name": "burned", "type": "uint256", "indexed": false }, { "name": "assets", "type": "address[]", "indexed": false }, { "name": "principals", "type": "uint256[]", "indexed": false }], "anonymous": false },
|
|
143
|
+
{ "type": "event", "name": "ReserveLoanRepaid", "inputs": [{ "name": "account", "type": "address", "indexed": true }, { "name": "payer", "type": "address", "indexed": true }, { "name": "asset", "type": "address", "indexed": true }, { "name": "principal", "type": "uint256", "indexed": false }, { "name": "interest", "type": "uint256", "indexed": false }], "anonymous": false },
|
|
144
|
+
{ "type": "event", "name": "StrayBurned", "inputs": [{ "name": "amount", "type": "uint256", "indexed": false }], "anonymous": false },
|
|
145
|
+
{ "type": "error", "name": "BadAmounts", "inputs": [] },
|
|
146
|
+
{ "type": "error", "name": "BadAssets", "inputs": [] },
|
|
147
|
+
{ "type": "error", "name": "BadExitFee", "inputs": [] },
|
|
148
|
+
{ "type": "error", "name": "BadHub", "inputs": [] },
|
|
149
|
+
{ "type": "error", "name": "BadRate", "inputs": [] },
|
|
150
|
+
{ "type": "error", "name": "BadRecipient", "inputs": [] },
|
|
151
|
+
{ "type": "error", "name": "BadShare", "inputs": [] },
|
|
152
|
+
{ "type": "error", "name": "BadSkipMask", "inputs": [] },
|
|
153
|
+
{ "type": "error", "name": "BadSplitter", "inputs": [] },
|
|
154
|
+
{ "type": "error", "name": "BadToken", "inputs": [] },
|
|
155
|
+
{ "type": "error", "name": "BelowMinDebt", "inputs": [] },
|
|
156
|
+
{ "type": "error", "name": "ExceedsCap", "inputs": [] },
|
|
157
|
+
{ "type": "error", "name": "IndexSaturated", "inputs": [] },
|
|
158
|
+
{ "type": "error", "name": "InsufficientCollateral", "inputs": [] },
|
|
159
|
+
{ "type": "error", "name": "InsufficientLiquidity", "inputs": [] },
|
|
160
|
+
{ "type": "error", "name": "NoPosition", "inputs": [] },
|
|
161
|
+
{ "type": "error", "name": "NotHub", "inputs": [] },
|
|
162
|
+
{ "type": "error", "name": "NotLiquidatable", "inputs": [] },
|
|
163
|
+
{ "type": "error", "name": "NothingToRepay", "inputs": [] },
|
|
164
|
+
{ "type": "error", "name": "ReentrancyGuardReentrantCall", "inputs": [] },
|
|
165
|
+
{ "type": "error", "name": "SafeERC20FailedOperation", "inputs": [{ "name": "token", "type": "address" }] },
|
|
166
|
+
{ "type": "error", "name": "SlippageExceeded", "inputs": [] },
|
|
167
|
+
{ "type": "error", "name": "ZeroAmount", "inputs": [] },
|
|
168
|
+
{ "type": "error", "name": "ZeroPayout", "inputs": [] },
|
|
169
|
+
{ "type": "error", "name": "ZeroSupply", "inputs": [] },
|
|
170
|
+
];
|
|
171
|
+
//# sourceMappingURL=ufg-abi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ufg-abi.js","sourceRoot":"","sources":["../../src/lifecycle/ufg-abi.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { type Address, type Hex } from "viem";
|
|
2
|
+
import type { LaunchPlanV1, LifecycleFeeAssetPolicyV2 } from "./schema.js";
|
|
3
|
+
export declare const UFG_LAUNCH_PROXY_ADDRESS: Address;
|
|
4
|
+
export declare const UFG_TREASURY_FACTORY_ADDRESS: Address;
|
|
5
|
+
export declare const UFG_UPSTREAM_FACTORY_ADDRESS: Address;
|
|
6
|
+
export declare const UFG_ORCHESTRATOR_ADDRESS: Address;
|
|
7
|
+
export declare const UFG_FIXED_PROFILE_ID: Hex;
|
|
8
|
+
export declare const UFG_DYNAMIC_PROFILE_ID: Hex;
|
|
9
|
+
export declare const UFG_FIXED_ADAPTER_ID: Hex;
|
|
10
|
+
export declare const UFG_DYNAMIC_ADAPTER_ID: Hex;
|
|
11
|
+
export declare function isUfgProfile(profileId: Hex): boolean;
|
|
12
|
+
export type UfgLaunchConfig = {
|
|
13
|
+
treasuryShareBps: number;
|
|
14
|
+
exitFeeBps: number;
|
|
15
|
+
reserveAssets: readonly Address[];
|
|
16
|
+
};
|
|
17
|
+
export declare const ufgLaunchConfigComponents: readonly [{
|
|
18
|
+
readonly name: "treasuryShareBps";
|
|
19
|
+
readonly type: "uint16";
|
|
20
|
+
}, {
|
|
21
|
+
readonly name: "exitFeeBps";
|
|
22
|
+
readonly type: "uint16";
|
|
23
|
+
}, {
|
|
24
|
+
readonly name: "reserveAssets";
|
|
25
|
+
readonly type: "address[]";
|
|
26
|
+
}];
|
|
27
|
+
/** The proxy has seven reserve slots; its eighth fee asset is the launched token. */
|
|
28
|
+
export declare function validateUfgLaunchConfig(config: UfgLaunchConfig): void;
|
|
29
|
+
/** abi.encode(UFGLaunchConfigV1): one dynamic tuple, including its leading 0x20 offset. */
|
|
30
|
+
export declare function encodeUfgLaunchConfig(config: UfgLaunchConfig): Hex;
|
|
31
|
+
export declare function decodeUfgLaunchConfig(encoded: Hex): UfgLaunchConfig;
|
|
32
|
+
export declare function hashUfgLaunchConfig(config: UfgLaunchConfig): Hex;
|
|
33
|
+
export declare function ufgLaunchNonce(principal: Address, nonce: bigint): bigint;
|
|
34
|
+
/** Internal routing guard, also used by canonical progress and receipt verification. */
|
|
35
|
+
export declare function assertUfgLaunchAccount(plan: LaunchPlanV1, account: Address): void;
|
|
36
|
+
export declare function ufgPlanPrincipal(plan: LaunchPlanV1): Address;
|
|
37
|
+
export declare function buildUfgFeeAssetPolicies(token: Address, reserveAssets: readonly Address[]): LifecycleFeeAssetPolicyV2[];
|
|
38
|
+
//# sourceMappingURL=ufg-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ufg-config.d.ts","sourceRoot":"","sources":["../../src/lifecycle/ufg-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmE,KAAK,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAC/G,OAAO,KAAK,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAG3E,eAAO,MAAM,wBAAwB,EAAE,OAAsD,CAAC;AAC9F,eAAO,MAAM,4BAA4B,EAAE,OAAsD,CAAC;AAClG,eAAO,MAAM,4BAA4B,EAAE,OAAsD,CAAC;AAClG,eAAO,MAAM,wBAAwB,EAAE,OAAsD,CAAC;AAC9F,eAAO,MAAM,oBAAoB,EAAE,GAA0E,CAAC;AAC9G,eAAO,MAAM,sBAAsB,EAAE,GAA0E,CAAC;AAChH,eAAO,MAAM,oBAAoB,EAAE,GAA0E,CAAC;AAC9G,eAAO,MAAM,sBAAsB,EAAE,GAA0E,CAAC;AAEhH,wBAAgB,YAAY,CAAC,SAAS,EAAE,GAAG,GAAG,OAAO,CAGpD;AAED,MAAM,MAAM,eAAe,GAAG;IAAE,gBAAgB,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,SAAS,OAAO,EAAE,CAAA;CAAE,CAAC;AAClH,eAAO,MAAM,yBAAyB;;;;;;;;;EAG5B,CAAC;AAEX,qFAAqF;AACrF,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAUrE;AAED,2FAA2F;AAC3F,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,eAAe,GAAG,GAAG,CAGlE;AACD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,GAAG,GAAG,eAAe,CAInE;AACD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe,GAAG,GAAG,CAEhE;AACD,wBAAgB,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAIxE;AAED,wFAAwF;AACxF,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAIjF;AACD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAK5D;AACD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,OAAO,EAAE,GAAG,yBAAyB,EAAE,CAQvH"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { decodeAbiParameters, encodeAbiParameters, getAddress, keccak256 } from "viem";
|
|
2
|
+
import { LifecyclePlanningError } from "./types.js";
|
|
3
|
+
export const UFG_LAUNCH_PROXY_ADDRESS = "0xf6673d859DE03eB74A0b01696Edb97f941dFD0CA";
|
|
4
|
+
export const UFG_TREASURY_FACTORY_ADDRESS = "0x26Aa5D52134c8E6c4C01E9fb53A7568c0C64901F";
|
|
5
|
+
export const UFG_UPSTREAM_FACTORY_ADDRESS = "0xA170b5A58C111334A7237F2Ea2c428ec5022f68E";
|
|
6
|
+
export const UFG_ORCHESTRATOR_ADDRESS = "0x91560876033d568d25CDe98C78c33ff8FC43962c";
|
|
7
|
+
export const UFG_FIXED_PROFILE_ID = "0x5c6045af480814e469f3dba7c120d264047c9320b869c63a064536041a2dbae6";
|
|
8
|
+
export const UFG_DYNAMIC_PROFILE_ID = "0x03de8d5e38f2957d80ecb9f2e59d555601ff091dfb17bce84178956a2e8d9b41";
|
|
9
|
+
export const UFG_FIXED_ADAPTER_ID = "0x073a4d46af70a3d4f69641e4f9dcdc9d8c279cd443daff960bbdf65a3b5fc758";
|
|
10
|
+
export const UFG_DYNAMIC_ADAPTER_ID = "0xc0906e17625b48240a87a3afc6ee921b653bdacd72906a16b359d0776d938518";
|
|
11
|
+
export function isUfgProfile(profileId) {
|
|
12
|
+
const id = profileId.toLowerCase();
|
|
13
|
+
return id === UFG_FIXED_PROFILE_ID || id === UFG_DYNAMIC_PROFILE_ID;
|
|
14
|
+
}
|
|
15
|
+
export const ufgLaunchConfigComponents = [
|
|
16
|
+
{ name: "treasuryShareBps", type: "uint16" }, { name: "exitFeeBps", type: "uint16" },
|
|
17
|
+
{ name: "reserveAssets", type: "address[]" },
|
|
18
|
+
];
|
|
19
|
+
/** The proxy has seven reserve slots; its eighth fee asset is the launched token. */
|
|
20
|
+
export function validateUfgLaunchConfig(config) {
|
|
21
|
+
if (config.treasuryShareBps !== 10000 || !Number.isInteger(config.exitFeeBps) || config.exitFeeBps < 0 || config.exitFeeBps > 2000 || config.reserveAssets.length < 1 || config.reserveAssets.length > 7) {
|
|
22
|
+
throw new LifecyclePlanningError("INVALID_UFG_CONFIG", "UFG requires 10000 treasury bps, exit fee 0..2000 bps and one to seven reserves");
|
|
23
|
+
}
|
|
24
|
+
let previous = 0n;
|
|
25
|
+
for (const asset of config.reserveAssets) {
|
|
26
|
+
getAddress(asset);
|
|
27
|
+
if (BigInt(asset) <= previous)
|
|
28
|
+
throw new LifecyclePlanningError("INVALID_UFG_CONFIG", "UFG reserves must be nonzero, unique and strictly ascending");
|
|
29
|
+
previous = BigInt(asset);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/** abi.encode(UFGLaunchConfigV1): one dynamic tuple, including its leading 0x20 offset. */
|
|
33
|
+
export function encodeUfgLaunchConfig(config) {
|
|
34
|
+
validateUfgLaunchConfig(config);
|
|
35
|
+
return encodeAbiParameters([{ type: "tuple", components: ufgLaunchConfigComponents }], [config]);
|
|
36
|
+
}
|
|
37
|
+
export function decodeUfgLaunchConfig(encoded) {
|
|
38
|
+
const config = decodeAbiParameters([{ type: "tuple", components: ufgLaunchConfigComponents }], encoded)[0];
|
|
39
|
+
if (encodeUfgLaunchConfig(config).toLowerCase() !== encoded.toLowerCase())
|
|
40
|
+
throw new LifecyclePlanningError("INVALID_UFG_CONFIG", "UFG launch config must use canonical tuple encoding with no extra bytes");
|
|
41
|
+
return config;
|
|
42
|
+
}
|
|
43
|
+
export function hashUfgLaunchConfig(config) {
|
|
44
|
+
return keccak256(encodeUfgLaunchConfig(config));
|
|
45
|
+
}
|
|
46
|
+
export function ufgLaunchNonce(principal, nonce) {
|
|
47
|
+
getAddress(principal);
|
|
48
|
+
if (BigInt(principal) === 0n || nonce < 0n || nonce >= 1n << 96n)
|
|
49
|
+
throw new LifecyclePlanningError("INVALID_UFG_NONCE", "UFG requires a nonzero principal and a uint96 nonce");
|
|
50
|
+
return BigInt(principal) << 96n | nonce;
|
|
51
|
+
}
|
|
52
|
+
/** Internal routing guard, also used by canonical progress and receipt verification. */
|
|
53
|
+
export function assertUfgLaunchAccount(plan, account) {
|
|
54
|
+
if (plan.chainId !== 4663n || plan.orchestrator.toLowerCase() !== UFG_ORCHESTRATOR_ADDRESS.toLowerCase() || plan.creator.toLowerCase() !== UFG_LAUNCH_PROXY_ADDRESS.toLowerCase() || plan.nonce < 0n || plan.nonce >= 1n << 256n || plan.nonce >> 96n !== BigInt(account) || BigInt(account) === 0n) {
|
|
55
|
+
throw new LifecyclePlanningError("INVALID_UFG_PLAN", "UFG plans require the pinned Robinhood core/proxy and the sender's principal-namespaced nonce");
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
export function ufgPlanPrincipal(plan) {
|
|
59
|
+
if (plan.nonce < 0n || plan.nonce >= 1n << 256n)
|
|
60
|
+
throw new LifecyclePlanningError("INVALID_UFG_PLAN", "UFG nonce must fit uint256");
|
|
61
|
+
const principal = getAddress(`0x${(plan.nonce >> 96n).toString(16).padStart(40, "0")}`);
|
|
62
|
+
assertUfgLaunchAccount(plan, principal);
|
|
63
|
+
return principal;
|
|
64
|
+
}
|
|
65
|
+
export function buildUfgFeeAssetPolicies(token, reserveAssets) {
|
|
66
|
+
validateUfgLaunchConfig({ treasuryShareBps: 10000, exitFeeBps: 0, reserveAssets });
|
|
67
|
+
getAddress(token);
|
|
68
|
+
if (BigInt(token) === 0n || reserveAssets.some((asset) => asset.toLowerCase() === token.toLowerCase()))
|
|
69
|
+
throw new LifecyclePlanningError("INVALID_UFG_CONFIG", "The launched token must be nonzero and distinct from every reserve");
|
|
70
|
+
return [
|
|
71
|
+
{ asset: token, ownerBps: 0, rewardsBps: 0, burnBps: 10000 },
|
|
72
|
+
...reserveAssets.map((asset) => ({ asset, ownerBps: 10000, rewardsBps: 0, burnBps: 0 })),
|
|
73
|
+
].sort((a, b) => BigInt(a.asset) < BigInt(b.asset) ? -1 : 1);
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=ufg-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ufg-config.js","sourceRoot":"","sources":["../../src/lifecycle/ufg-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type Address } from "viem";
|
|
2
|
+
import { type LaunchPlanV1 } from "./schema.js";
|
|
3
|
+
import { type BuildLaunchTransactionsOptions, type LifecycleRpcClient, type LifecycleTransaction } from "./types.js";
|
|
4
|
+
import { type UfgLaunchConfig } from "./ufg-config.js";
|
|
5
|
+
export { UFG_LAUNCH_PROXY_ADDRESS, UFG_TREASURY_FACTORY_ADDRESS, UFG_UPSTREAM_FACTORY_ADDRESS, UFG_ORCHESTRATOR_ADDRESS, UFG_FIXED_PROFILE_ID, UFG_DYNAMIC_PROFILE_ID, UFG_FIXED_ADAPTER_ID, UFG_DYNAMIC_ADAPTER_ID, isUfgProfile, ufgLaunchConfigComponents, encodeUfgLaunchConfig, decodeUfgLaunchConfig, hashUfgLaunchConfig, validateUfgLaunchConfig, ufgLaunchNonce, buildUfgFeeAssetPolicies, type UfgLaunchConfig } from "./ufg-config.js";
|
|
6
|
+
/** Offline proxy-specific admission. Live token/reserve code, registry and transfer checks still require simulation. */
|
|
7
|
+
export declare function validateUfgLaunchPlan(plan: LaunchPlanV1, config: UfgLaunchConfig, predictedToken: Address): void;
|
|
8
|
+
export type BuildUfgLaunchTransactionsOptions = BuildLaunchTransactionsOptions & {
|
|
9
|
+
config: UfgLaunchConfig;
|
|
10
|
+
};
|
|
11
|
+
/** Pure unsigned proxy commands; account is the principal encoded in plan.nonce. */
|
|
12
|
+
export declare function buildUfgLaunchTransactions(options: BuildUfgLaunchTransactionsOptions): LifecycleTransaction[];
|
|
13
|
+
export declare function buildUfgCancelTransaction({ plan, preparedMarkets }: {
|
|
14
|
+
plan: LaunchPlanV1;
|
|
15
|
+
preparedMarkets?: number;
|
|
16
|
+
}): LifecycleTransaction;
|
|
17
|
+
/** Exact summed proxy pulls, not escrow allowances. Current allowance/reset discovery belongs to planning. */
|
|
18
|
+
export declare function buildUfgApprovals(plan: LaunchPlanV1): LifecycleTransaction[];
|
|
19
|
+
/** Read-only upstream treasury lookup. No treasury is represented by undefined, not the zero address. */
|
|
20
|
+
export declare function readUfgTreasury(client: LifecycleRpcClient, token: Address): Promise<Address | undefined>;
|
|
21
|
+
//# sourceMappingURL=ufg.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ufg.d.ts","sourceRoot":"","sources":["../../src/lifecycle/ufg.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiF,KAAK,OAAO,EAAE,MAAM,MAAM,CAAC;AAMnH,OAAO,EAAgF,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAC9H,OAAO,EAA0B,KAAK,8BAA8B,EAAE,KAAK,kBAAkB,EAAE,KAAK,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAC7I,OAAO,EAAoO,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEzR,OAAO,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,YAAY,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,cAAc,EAAE,wBAAwB,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElb,wHAAwH;AACxH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,OAAO,GAAG,IAAI,CA8BhH;AAED,MAAM,MAAM,iCAAiC,GAAG,8BAA8B,GAAG;IAAE,MAAM,EAAE,eAAe,CAAA;CAAE,CAAC;AAC7G,oFAAoF;AACpF,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,iCAAiC,GAAG,oBAAoB,EAAE,CAS7G;AACD,wBAAgB,yBAAyB,CAAC,EAAE,IAAI,EAAE,eAAmB,EAAE,EAAE;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,oBAAoB,CAG/I;AACD,8GAA8G;AAC9G,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,GAAG,oBAAoB,EAAE,CAgB5E;AACD,yGAAyG;AACzG,wBAAsB,eAAe,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAK9G"}
|