diff --git a/package.json b/package.json
index 2b943ab9..c80c93dd 100644
--- a/package.json
+++ b/package.json
@@ -5,11 +5,11 @@
"main": "index.js",
"scripts": {
"test": "pnpm run test --recursive",
- "dev:protocol": "pnpm --filter protocol run update-abis && pnpm --filter protocol run dev",
- "dev:app": "pnpm --filter protocol run update-abis && pnpm --filter app run dev",
- "dev:docs": "pnpm --filter protocol run update-abis && pnpm --filter docs run dev",
- "dev:website": "pnpm --filter protocol run update-abis && pnpm --filter website run dev",
- "dev:data": "pnpm --filter protocol run update-abis && concurrently \"pnpm --filter data run start:api\" \"pnpm --filter data run start:market\" \"pnpm --filter data run start:chain\""
+ "dev:protocol": "pnpm --filter protocol run dev",
+ "dev:app": "pnpm --filter app run dev",
+ "dev:docs": "pnpm --filter docs run dev",
+ "dev:website": "pnpm --filter website run dev",
+ "dev:data": "concurrently \"pnpm --filter data run dev:service\" \"pnpm --filter data run dev:worker\""
},
"keywords": [],
"author": "",
diff --git a/packages/app/src/lib/components/foil/addLiquidity.tsx b/packages/app/src/lib/components/foil/addLiquidity.tsx
index 372314e3..653a7c2e 100644
--- a/packages/app/src/lib/components/foil/addLiquidity.tsx
+++ b/packages/app/src/lib/components/foil/addLiquidity.tsx
@@ -16,6 +16,7 @@ import {
RangeSliderMark,
Flex,
} from '@chakra-ui/react';
+import { TickMath } from '@uniswap/v3-sdk';
import { useContext, useEffect, useState } from 'react';
import { formatUnits, parseUnits } from 'viem';
import {
@@ -149,6 +150,35 @@ const AddLiquidity = () => {
}
}, [allowanceData, collateralAssetDecimals]);
+ const {
+ data: tokenAmounts,
+ error,
+ status,
+ } = useReadContract({
+ address: foilData.address,
+ abi: foilData.abi,
+ functionName: 'getTokenAmounts',
+ args: [
+ parseUnits(depositAmount.toString(), collateralAssetDecimals), // uint256 collateralAmount
+ pool ? pool.sqrtRatioX96.toString() : '0', // uint160 sqrtPriceX96, // current price of pool
+ TickMath.getSqrtRatioAtTick(tickLower).toString(), // uint160 sqrtPriceAX96, // lower tick price in sqrtRatio
+ TickMath.getSqrtRatioAtTick(tickUpper).toString(), // uint160 sqrtPriceBX96 // upper tick price in sqrtRatio
+ ],
+ chainId: chain?.id,
+ });
+
+ useEffect(() => {
+ if (tokenAmounts) {
+ const [amount0, amount1] = tokenAmounts as any[]; // there's some abitype project, i think
+ setBaseToken(parseFloat(formatUnits(amount0, 18)));
+ setQuoteToken(parseFloat(formatUnits(amount1, 18)));
+ }
+
+ if (error) {
+ console.error('Failed to fetch token amounts', error);
+ }
+ }, [tokenAmounts, error]);
+
const handleFormSubmit = (e: any) => {
e.preventDefault();
@@ -182,11 +212,11 @@ const AddLiquidity = () => {
useEffect(() => {
console.log('Deposit amount changed:', depositAmount);
- const newBaseToken = depositAmount * 0.001;
- const newQuoteToken = depositAmount * 0.001;
- console.log('Base Token:', newBaseToken, 'Quote Token:', newQuoteToken);
- setBaseToken(newBaseToken);
- setQuoteToken(newQuoteToken);
+ // The following lines have been removed as they are redundant:
+ // const newBaseToken = depositAmount * 0.001;
+ // const newQuoteToken = depositAmount * 0.001;
+ // setBaseToken(newBaseToken);
+ // setQuoteToken(newQuoteToken);
}, [depositAmount]);
useEffect(() => {
@@ -358,7 +388,7 @@ const AddLiquidity = () => {
{minAmountTokenB.toFixed(2)})
- Net Position: {highPrice.toFixed(2)} Ggas
+ Net Position: X Ggas
{isConnected &&
walletBalance !== null &&
diff --git a/packages/app/src/lib/components/foil/positionsHeader.tsx b/packages/app/src/lib/components/foil/positionsHeader.tsx
index d3d20587..5984a54b 100644
--- a/packages/app/src/lib/components/foil/positionsHeader.tsx
+++ b/packages/app/src/lib/components/foil/positionsHeader.tsx
@@ -44,7 +44,7 @@ const PositionsHeader = () => {
let relativeTime = '';
let formattedTime = '';
if (endTime) {
- const dateMilliseconds = Number(endTime * 1000);
+ const dateMilliseconds = Number(endTime) * 1000;
const date = new Date(dateMilliseconds);
relativeTime = formatDistanceToNow(date);
formattedTime = format(date, 'PPpp');
diff --git a/packages/app/src/lib/context/MarketProvider.tsx b/packages/app/src/lib/context/MarketProvider.tsx
index e9e539c3..71f7c52b 100644
--- a/packages/app/src/lib/context/MarketProvider.tsx
+++ b/packages/app/src/lib/context/MarketProvider.tsx
@@ -8,7 +8,7 @@ import type React from 'react';
import { createContext, useEffect, useState } from 'react';
import * as Chains from 'viem/chains';
import type { Chain } from 'viem/chains';
-import { useContractReads, useReadContract } from 'wagmi';
+import { useReadContracts, useReadContract } from 'wagmi';
import useFoilDeployment from '../components/foil/useFoilDeployment';
import erc20ABI from '../erc20abi.json';
@@ -56,9 +56,7 @@ export const MarketContext = createContext({
export const useUniswapPool = (chainId: number, poolAddress: `0x${string}`) => {
const [pool, setPool] = useState(null);
- // TODO: Should this refetch on chainId change? Every X seconds?
- // Remember token a and token b can switch btwn base and quote
- const { data, isError, isLoading, error } = useContractReads({
+ const { data, isError, isLoading } = useReadContracts({
contracts: [
{
address: poolAddress,
@@ -94,48 +92,46 @@ export const useUniswapPool = (chainId: number, poolAddress: `0x${string}`) => {
});
useEffect(() => {
- /*
- if (data && data[0] && data[1] && data[2] && data[3] && data[4]) {
- const token0Address = (data as any)[0].result;
- const token1Address = (data as any)[1].result;
- const fee = (data as any)[2].result;
- const liquidity = (data as any)[3].result;
- const slot0 = (data as any)[4].result as any[];
+ if (data) {
+ const token0Address = data[0].result;
+ const token1Address = data[1].result;
+ const fee = data[2].result;
+ const liquidity = data[3].result;
+ const slot0 = data[4].result as any[];
if (token0Address && token1Address) {
+ const [sqrtPriceX96, tick] = slot0;
+
const token0 = new Token(
- 1,
- token0Address.toString(),
+ chainId,
+ token0Address as string,
18,
'TOKEN0',
'Token 0'
);
const token1 = new Token(
- 1,
- token1Address.toString(),
+ chainId,
+ token1Address as string,
18,
'TOKEN1',
'Token 1'
);
- const sqrtRatioX96 = slot0[0].toString();
- const tickCurrent = slot0[1].toString();
-
const poolInstance = new Pool(
token0,
token1,
- fee as FeeAmount, // todo confirm this is right
- sqrtRatioX96,
- Number(liquidity),
- tickCurrent
+ fee as FeeAmount,
+ sqrtPriceX96.toString(),
+ (liquidity as any).toString(),
+ tick
);
+
setPool(poolInstance);
}
}
- */
- }, [data]);
+ }, [data, chainId]);
- return { pool, isError, isLoading, error };
+ return { pool, isError, isLoading };
};
export const MarketProvider: React.FC = ({
@@ -241,14 +237,15 @@ export const MarketProvider: React.FC = ({
if (epochViewFunctionResult.data !== undefined) {
setState((currentState) => ({
...currentState,
- // should add start/endtime here
- poolAddress: epochViewFunctionResult?.data[0],
+ startTime: epochViewFunctionResult?.data[0],
+ endTime: epochViewFunctionResult?.data[1],
+ poolAddress: epochViewFunctionResult?.data[2],
}));
}
}, [epochViewFunctionResult.data]);
// Fetch pool data when poolAddress is updated
- const { pool, isError, isLoading, error } = useUniswapPool(
+ const { pool, isError, isLoading } = useUniswapPool(
chainId,
state.poolAddress
);
diff --git a/packages/app/src/lib/layout/Header.tsx b/packages/app/src/lib/layout/Header.tsx
index c4e5ccaa..0def6193 100644
--- a/packages/app/src/lib/layout/Header.tsx
+++ b/packages/app/src/lib/layout/Header.tsx
@@ -23,8 +23,8 @@ const Header = () => {
- Subscribe
- Earn
+ {/* Subscribe */}
+ {/* Earn */}
Local Market
Testnet Market
diff --git a/packages/data/package.json b/packages/data/package.json
index c6f2a82f..f6d8e6a5 100644
--- a/packages/data/package.json
+++ b/packages/data/package.json
@@ -4,9 +4,11 @@
"description": "",
"main": "index.js",
"scripts": {
- "start:api": "ts-node-dev src/index.ts --port 3001",
- "start:market": "ts-node-dev src/market.ts",
- "start:chain": "ts-node-dev src/chain.ts",
+ "build": "tsc",
+ "dev:service": "ts-node-dev src/service.ts --port 3001",
+ "dev:worker": "ts-node-dev src/worker.ts",
+ "start:service": "ts-node src/service.ts",
+ "start:worker": "ts-node src/worker.ts",
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
@@ -15,9 +17,11 @@
"dependencies": {
"cors": "^2.8.5",
"express": "^4.19.2",
+ "pg": "^8.12.0",
"reflect-metadata": "^0.2.2",
"sqlite3": "^5.1.7",
"ts-node-dev": "^2.0.0",
+ "tsconfig-paths": "^4.2.0",
"typeorm": "^0.3.20",
"typescript": "^5.5.2",
"viem": "~2.9.20"
diff --git a/packages/data/src/chain.ts b/packages/data/src/chain.ts
deleted file mode 100644
index 0523a00c..00000000
--- a/packages/data/src/chain.ts
+++ /dev/null
@@ -1,47 +0,0 @@
-import { createConnection } from 'typeorm';
-import { Price } from './entity/Price';
-import { createPublicClient, http, Block } from 'viem';
-import Foil from '@/protocol/deployments/13370/test/Foil.json';
-import { mainnet, hardhat } from 'viem/chains';
-
-// Initialize RPC connection
-export const publicClient = createPublicClient({
- chain: mainnet,
- transport: http(), // switch to websockets? should automatically switch poll default on watchContractEvent
-});
-
-const startBackgroundProcess = async () => {
- // Initialize database connection
- const connection = await createConnection({
- type: 'sqlite',
- database: './data/database.sqlite',
- synchronize: true,
- logging: true,
- entities: [Price],
- });
- const priceRepository = connection.getRepository(Price);
-
- // Process log data
- const processBlock = async (block: Block) => {
- // Ensure block.baseFeePerGas is a number, adjust if necessary
- const value = Number(block.baseFeePerGas);
-
- const price = priceRepository.create({
- contractId: `${hardhat.id}:${Foil.address}`,
- timestamp: Number(block.timestamp),
- value: value,
- });
-
- console.log('Creating price:', price);
- await priceRepository.save(price);
- };
-
- // Start watching for new events
- console.log(`Watching contract events for ${Foil.address}`);
- const unwatch = publicClient.watchBlocks({
- onBlock: (block) => processBlock(block),
- onError: (block) => console.error(block),
- });
-};
-
-startBackgroundProcess().catch((error) => console.log(error));
diff --git a/packages/data/src/db.ts b/packages/data/src/db.ts
new file mode 100644
index 00000000..cbc42bbb
--- /dev/null
+++ b/packages/data/src/db.ts
@@ -0,0 +1,27 @@
+import { ConnectionOptions } from "typeorm";
+import { Position } from "./entity/Position";
+import { Price } from "./entity/Price";
+import { Transaction } from "./entity/Transaction";
+import { Event } from "./entity/Event";
+
+const isProduction = process.env.NODE_ENV === 'production';
+
+const sqliteOptions: ConnectionOptions = {
+ type: "sqlite",
+ database: "./data/database.sqlite",
+ synchronize: true,
+ logging: true,
+ entities: [Price, Position, Transaction, Event],
+};
+
+const postgresOptions: ConnectionOptions = {
+ type: "postgres",
+ url: process.env.DATABASE_URL,
+ synchronize: true,
+ logging: true,
+ entities: [Price, Position, Transaction, Event],
+};
+
+const connectionOptions = isProduction ? postgresOptions : sqliteOptions;
+
+export default connectionOptions;
\ No newline at end of file
diff --git a/packages/data/src/entity/Transaction.ts b/packages/data/src/entity/Transaction.ts
index c6e1cc2d..47121959 100644
--- a/packages/data/src/entity/Transaction.ts
+++ b/packages/data/src/entity/Transaction.ts
@@ -38,7 +38,7 @@ export class Transaction {
nftId: number; // foreign key to NFT
@Column({
- type: 'enum',
+ type: 'simple-enum',
enum: TransactionType,
})
type: TransactionType;
diff --git a/packages/data/src/market.ts b/packages/data/src/market.ts
deleted file mode 100644
index fa330756..00000000
--- a/packages/data/src/market.ts
+++ /dev/null
@@ -1,56 +0,0 @@
-import { createConnection } from 'typeorm';
-import { Event } from './entity/Event';
-import Foil from '@/protocol/deployments/13370/test/Foil.json';
-import { createPublicClient, http, Log } from 'viem'
-import { hardhat } from 'viem/chains'
-
-const bigintReplacer = (key: string, value: any) => {
- if (typeof value === 'bigint') {
- return value.toString(); // Convert BigInt to string
- }
- return value;
- };
-
-// Initialize RPC connection
-hardhat.id = 13370 as any;
-export const publicClient = createPublicClient({
- chain: hardhat,
- transport: http() // switch to websockets? should automatically switch poll default on watchContractEvent
-})
-
-const startBackgroundProcess = async () => {
- // Initialize database connection
- const connection = await createConnection({
- type: "sqlite",
- database: "./data/database.sqlite",
- synchronize: true,
- logging: true,
- entities: [Event],
- });
- const eventRepository = connection.getRepository(Event);
-
- // Process log data
- const processLogs = async (logs: Log[]) => {
- for(const log of logs){
- const serializedLog = JSON.stringify(log, bigintReplacer);
- const event = eventRepository.create({
- logData: JSON.parse(serializedLog), // Parse back to JSON object
- contractId: `${hardhat.id}:${Foil.address}`
- });
-
- console.log('Creating event:', event);
- await eventRepository.save(event);
- }
- }
-
- // Start watching for new events
- console.log(`Watching contract events for ${Foil.address}`)
- const unwatch = publicClient.watchContractEvent({
- address: Foil.address as `0x${string}`,
- abi: Foil.abi,
- onLogs: logs => processLogs(logs),
- onError: logs => console.error(logs)
- })
-};
-
-startBackgroundProcess().catch(error => console.log(error));
diff --git a/packages/data/src/processes/chain.ts b/packages/data/src/processes/chain.ts
new file mode 100644
index 00000000..b48f0cee
--- /dev/null
+++ b/packages/data/src/processes/chain.ts
@@ -0,0 +1,55 @@
+import 'tsconfig-paths/register';
+import { createConnection } from 'typeorm';
+import { Price } from '../entity/Price';
+import { Block, PublicClient } from 'viem';
+import connectionOptions from '../db';
+
+export const indexBaseFeePerGas = async (publicClient: PublicClient, contractId: string) => {
+ const connection = await createConnection(connectionOptions);
+ const priceRepository = connection.getRepository(Price);
+ const chainId = await publicClient.getChainId();
+
+ // Process log data
+ const processBlock = async (block: Block) => {
+ const value = Number(block.baseFeePerGas);
+
+ const price = priceRepository.create({
+ contractId,
+ timestamp: Number(block.timestamp),
+ value: value,
+ });
+
+ console.log('Creating price:', price);
+ await priceRepository.save(price);
+ };
+
+ // Start watching for new events
+ console.log(`Watching base fee per gas on chain ID ${chainId} for market ${contractId}`);
+ publicClient.watchBlocks({
+ onBlock: (block) => processBlock(block),
+ onError: (error) => console.error(error),
+ });
+};
+
+export const indexBaseFeePerGasRange = async (publicClient: PublicClient, start: number, end: number, contractId: string) => {
+ const connection = await createConnection(connectionOptions);
+ const priceRepository = connection.getRepository(Price);
+
+ for (let blockNumber = start; blockNumber <= end; blockNumber++) {
+ try {
+ const block = await publicClient.getBlock({ blockNumber: BigInt(blockNumber) });
+ const value = Number(block.baseFeePerGas);
+
+ const price = priceRepository.create({
+ contractId,
+ timestamp: Number(block.timestamp),
+ value: value,
+ });
+
+ console.log('Creating price:', price);
+ await priceRepository.save(price);
+ } catch (error) {
+ console.error(`Error processing block ${blockNumber}:`, error);
+ }
+ }
+};
diff --git a/packages/data/src/processes/market.ts b/packages/data/src/processes/market.ts
new file mode 100644
index 00000000..36b9c42f
--- /dev/null
+++ b/packages/data/src/processes/market.ts
@@ -0,0 +1,71 @@
+import 'tsconfig-paths/register';
+import { createConnection } from 'typeorm';
+import { Event } from '../entity/Event';
+import { Abi, Log, PublicClient } from 'viem';
+import connectionOptions from '../db';
+
+const bigintReplacer = (key: string, value: any) => {
+ if (typeof value === 'bigint') {
+ return value.toString(); // Convert BigInt to string
+ }
+ return value;
+};
+
+export const indexMarketEvents = async (publicClient: PublicClient, Foil: { address: string, abi: Abi }) => {
+ // Initialize database connection
+ const connection = await createConnection(connectionOptions);
+ const eventRepository = connection.getRepository(Event);
+ const chainId = await publicClient.getChainId();
+
+ // Process log data
+ const processLogs = async (logs: Log[]) => {
+ for (const log of logs) {
+ const serializedLog = JSON.stringify(log, bigintReplacer);
+ const event = eventRepository.create({
+ logData: JSON.parse(serializedLog), // Parse back to JSON object
+ contractId: `${chainId}:${Foil.address}`,
+ });
+
+ console.log('Creating event:', event);
+ await eventRepository.save(event);
+ }
+ };
+
+ // Start watching for new events
+ console.log(`Watching contract events for ${Foil.address}`);
+ publicClient.watchContractEvent({
+ address: Foil.address as `0x${string}`,
+ abi: Foil.abi,
+ onLogs: (logs) => processLogs(logs),
+ onError: (error) => console.error(error),
+ });
+};
+
+export const indexMarketEventsRange = async (publicClient: PublicClient, start: number, end: number, contractAddress: string, contractAbi: Abi) => {
+ const connection = await createConnection(connectionOptions);
+ const eventRepository = connection.getRepository(Event);
+
+ for (let blockNumber = start; blockNumber <= end; blockNumber++) {
+ try {
+ const logs = await publicClient.getLogs({
+ address: contractAddress as `0x${string}`,
+ abi: contractAbi,
+ fromBlock: BigInt(blockNumber),
+ toBlock: BigInt(blockNumber),
+ });
+
+ for (const log of logs) {
+ const serializedLog = JSON.stringify(log, bigintReplacer);
+ const event = eventRepository.create({
+ logData: JSON.parse(serializedLog), // Parse back to JSON object
+ contractId: `${await publicClient.getChainId()}:${contractAddress}`,
+ });
+
+ console.log('Creating event:', event);
+ await eventRepository.save(event);
+ }
+ } catch (error) {
+ console.error(`Error processing block ${blockNumber}:`, error);
+ }
+ }
+};
diff --git a/packages/data/src/index.ts b/packages/data/src/service.ts
similarity index 95%
rename from packages/data/src/index.ts
rename to packages/data/src/service.ts
index 24cf734a..1db99b61 100644
--- a/packages/data/src/index.ts
+++ b/packages/data/src/service.ts
@@ -5,18 +5,13 @@ import { Price } from './entity/Price';
import { Position } from './entity/Position';
import express from 'express';
import { Between } from 'typeorm';
+import connectionOptions from './db';
const app = express();
app.use(express.json());
app.use(cors());
-createConnection({
- type: "sqlite",
- database: "./data/database.sqlite",
- synchronize: true,
- logging: true,
- entities: [Price],
-}).then(async connection => {
+createConnection(connectionOptions).then(async connection => {
const priceRepository = connection.getRepository(Price);
const positionRepository = connection.getRepository(Position);
diff --git a/packages/data/src/worker.ts b/packages/data/src/worker.ts
new file mode 100644
index 00000000..c01f65f2
--- /dev/null
+++ b/packages/data/src/worker.ts
@@ -0,0 +1,69 @@
+import { Abi, createPublicClient, http, webSocket } from 'viem';
+import { indexBaseFeePerGas, indexBaseFeePerGasRange } from './processes/chain';
+import { indexMarketEvents, indexMarketEventsRange } from './processes/market'; // Assuming you have this function
+import { mainnet, sepolia, hardhat } from 'viem/chains';
+import FoilLocal from '@/protocol/deployments/13370/Foil.json';
+import FoilSepolia from '@/protocol/deployments/11155111/Foil.json';
+
+const mainnetPublicClient = createPublicClient({
+ chain: mainnet,
+ transport: webSocket()
+});
+
+const sepoliaPublicClient = createPublicClient({
+ chain: sepolia,
+ transport: webSocket()
+});
+
+hardhat.id = 13370 as any;
+export const cannonPublicClient = createPublicClient({
+ chain: hardhat,
+ transport: http()
+});
+
+Promise.all([
+ indexBaseFeePerGas(mainnetPublicClient, `${hardhat.id}:${FoilLocal.address}`),
+ indexBaseFeePerGas(mainnetPublicClient, `${sepolia.id}:${FoilSepolia.address}`),
+ indexMarketEvents(sepoliaPublicClient, FoilSepolia as { address: string, abi: Abi }),
+ indexMarketEvents(cannonPublicClient, FoilLocal as { address: string, abi: Abi })
+]).catch(error => {
+ console.error('Error running processes in parallel:', error);
+});
+
+// Function to create PublicClient based on rpc-url
+function createClientFromRpcUrl(rpcUrl: string): any {
+ const isWebSocket = rpcUrl.startsWith('ws');
+ return createPublicClient({
+ chain: { id: 0, rpcUrls: [rpcUrl] },
+ transport: isWebSocket ? webSocket() : http()
+ });
+}
+
+// Function to index base fee per gas range
+async function indexBaseFeePerGasRange(startBlock: number, endBlock: number, rpcUrl: string, contractAddress: string) {
+ console.log(`Indexing base fee per gas from block ${startBlock} to ${endBlock} for contract ${contractAddress} using ${rpcUrl}`);
+ const client = createClientFromRpcUrl(rpcUrl);
+ await indexBaseFeePerGasRange(client, startBlock, endBlock, contractAddress);
+}
+
+// Function to index market events range
+async function indexMarketEventsRange(startBlock: number, endBlock: number, rpcUrl: string, contractAddress: string, contractAbi: Abi) {
+ console.log(`Indexing market events from block ${startBlock} to ${endBlock} for contract ${contractAddress} using ${rpcUrl}`);
+ const client = createClientFromRpcUrl(rpcUrl);
+ await indexMarketEventsRange(client, startBlock, endBlock, contractAddress, contractAbi);
+}
+
+// Command-line argument handling
+const args = process.argv.slice(2);
+if (args[0] === 'index-base-fee-per-gas') {
+ const [start, end, rpcUrl, contractAddress] = args.slice(1);
+ indexBaseFeePerGasRange(Number(start), Number(end), rpcUrl, contractAddress)
+ .then(() => console.log('Indexing completed successfully'))
+ .catch(error => console.error('Error indexing base fee per gas range:', error));
+} else if (args[0] === 'index-market-events') {
+ const [start, end, rpcUrl, contractAddress, contractAbiPath] = args.slice(1);
+ const contractAbi = require(contractAbiPath) as Abi; // Assuming the ABI is provided as a JSON file path
+ indexMarketEventsRange(Number(start), Number(end), rpcUrl, contractAddress, contractAbi)
+ .then(() => console.log('Indexing completed successfully'))
+ .catch(error => console.error('Error indexing market events range:', error));
+}
diff --git a/packages/data/tsconfig.json b/packages/data/tsconfig.json
index bc2811c2..f84eb131 100644
--- a/packages/data/tsconfig.json
+++ b/packages/data/tsconfig.json
@@ -11,6 +11,7 @@
"skipLibCheck": true,
"strictPropertyInitialization": false,
"resolveJsonModule": true,
+ "baseUrl": ".",
"paths": {"@/protocol/*": ["../protocol/*"]}
},
"include": ["src"],
diff --git a/packages/protocol/.env.example b/packages/protocol/.env.example
new file mode 100644
index 00000000..e69de29b
diff --git a/packages/protocol/cannonfile.sepolia.toml b/packages/protocol/cannonfile.sepolia.toml
index 36749d62..41396c4f 100644
--- a/packages/protocol/cannonfile.sepolia.toml
+++ b/packages/protocol/cannonfile.sepolia.toml
@@ -1,5 +1,5 @@
name="foil"
-version="0.1"
+version="0.2"
[var.settings]
owner="0xE006B58cA5aB7ba53863012dc3067A14b965C1da"
diff --git a/packages/protocol/cannonfile.toml b/packages/protocol/cannonfile.toml
index 1301fb83..5af4d3ab 100644
--- a/packages/protocol/cannonfile.toml
+++ b/packages/protocol/cannonfile.toml
@@ -1,5 +1,5 @@
name="foil"
-version="0.1"
+version="0.2"
[var.settings]
owner = "0xEB045D78d273107348b0300c01D29B7552D622ab"
diff --git a/packages/protocol/deployments/11155111/EpochConfigurationModule.json b/packages/protocol/deployments/11155111/EpochConfigurationModule.json
index 7ba55480..2cabe99e 100644
--- a/packages/protocol/deployments/11155111/EpochConfigurationModule.json
+++ b/packages/protocol/deployments/11155111/EpochConfigurationModule.json
@@ -1,5 +1,5 @@
{
- "address": "0x6981f5723d7f780DBE143F3d8A082fC5519Cef08",
+ "address": "0xfE6Cc6E08D279dc31e78DCEC9fd49d88E5B599Ed",
"abi": [
{
"type": "function",
@@ -70,6 +70,16 @@
"name": "getEpoch",
"inputs": [],
"outputs": [
+ {
+ "name": "startTime",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "endTime",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
{
"name": "pool",
"type": "address",
@@ -124,9 +134,9 @@
"internalType": "address"
},
{
- "name": "marketParams",
+ "name": "epochParams",
"type": "tuple",
- "internalType": "struct Market.MarketParams",
+ "internalType": "struct Market.EpochParams",
"components": [
{
"name": "baseAssetMinPriceTick",
@@ -244,9 +254,9 @@
"internalType": "address"
},
{
- "name": "marketParams",
+ "name": "epochParams",
"type": "tuple",
- "internalType": "struct Market.MarketParams",
+ "internalType": "struct Market.EpochParams",
"components": [
{
"name": "baseAssetMinPriceTick",
@@ -319,9 +329,9 @@
"internalType": "address"
},
{
- "name": "marketParams",
+ "name": "epochParms",
"type": "tuple",
- "internalType": "struct Market.MarketParams",
+ "internalType": "struct Market.EpochParams",
"components": [
{
"name": "baseAssetMinPriceTick",
@@ -379,6 +389,11 @@
"name": "MarketAlreadyCreated",
"inputs": []
},
+ {
+ "type": "error",
+ "name": "OverflowInt24ToUint256",
+ "inputs": []
+ },
{
"type": "error",
"name": "ReentrancyGuardReentrantCall",
@@ -392,12 +407,12 @@
],
"constructorArgs": [],
"linkedLibraries": {},
- "deployTxnHash": "0xd6840683511dda1c7899d483f603249bdd3ee2375c35ee4f5666dd27386bd517",
- "deployTxnBlockNumber": "6398654",
- "deployTimestamp": "1722272724",
+ "deployTxnHash": "0xba4d6ddf7bfd95259df401cf76f672984116b3257c5a999827fe011771060a69",
+ "deployTxnBlockNumber": "6437196",
+ "deployTimestamp": "1722799824",
"sourceName": "src/contracts/modules/EpochConfigurationModule.sol",
"contractName": "EpochConfigurationModule",
"deployedOn": "deploy.EpochConfigurationModule",
- "gasUsed": 2025611,
- "gasCost": "2368976400"
+ "gasUsed": 2257070,
+ "gasCost": "5075557086"
}
\ No newline at end of file
diff --git a/packages/protocol/deployments/11155111/EpochLiquidityModule.json b/packages/protocol/deployments/11155111/EpochLiquidityModule.json
index 94b56939..ec270805 100644
--- a/packages/protocol/deployments/11155111/EpochLiquidityModule.json
+++ b/packages/protocol/deployments/11155111/EpochLiquidityModule.json
@@ -1,5 +1,5 @@
{
- "address": "0xAf5ead464aFFB12dD4CDFB98c9D2C490194FE5d0",
+ "address": "0x4b50D165D7D85C480374BaAC8547CF7D1953c205",
"abi": [
{
"type": "function",
@@ -94,81 +94,183 @@
"internalType": "uint256"
}
],
- "stateMutability": "payable"
+ "stateMutability": "nonpayable"
+ },
+ {
+ "type": "function",
+ "name": "decreaseLiquidityPosition",
+ "inputs": [
+ {
+ "name": "accountId",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "collateralAmount",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "liquidity",
+ "type": "uint128",
+ "internalType": "uint128"
+ },
+ {
+ "name": "minGasAmount",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "minEthAmount",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "amount0",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "amount1",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "stateMutability": "nonpayable"
},
{
"type": "function",
"name": "getPosition",
"inputs": [
{
- "name": "positionId",
+ "name": "accountId",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
- "name": "nonce",
- "type": "uint96",
- "internalType": "uint96"
+ "name": "tokenId",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- "name": "operator",
- "type": "address",
- "internalType": "address"
+ "name": "collateralAmount",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- "name": "token0",
- "type": "address",
- "internalType": "address"
+ "name": "borrowedGwei",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- "name": "token1",
- "type": "address",
- "internalType": "address"
+ "name": "borrowedGas",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "getTokenAmounts",
+ "inputs": [
+ {
+ "name": "collateralAmount",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- "name": "fee",
- "type": "uint24",
- "internalType": "uint24"
+ "name": "sqrtPriceX96",
+ "type": "uint160",
+ "internalType": "uint160"
},
{
- "name": "tickLower",
- "type": "int24",
- "internalType": "int24"
+ "name": "sqrtPriceAX96",
+ "type": "uint160",
+ "internalType": "uint160"
},
{
- "name": "tickUpper",
- "type": "int24",
- "internalType": "int24"
+ "name": "sqrtPriceBX96",
+ "type": "uint160",
+ "internalType": "uint160"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "amount0",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "amount1",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
"name": "liquidity",
"type": "uint128",
"internalType": "uint128"
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "increaseLiquidityPosition",
+ "inputs": [
+ {
+ "name": "accountId",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- "name": "feeGrowthInside0LastX128",
+ "name": "collateralAmount",
"type": "uint256",
"internalType": "uint256"
},
{
- "name": "feeGrowthInside1LastX128",
+ "name": "gasTokenAmount",
"type": "uint256",
"internalType": "uint256"
},
{
- "name": "tokensOwed0",
- "type": "uint128",
- "internalType": "uint128"
+ "name": "ethTokenAmount",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- "name": "tokensOwed1",
+ "name": "minGasAmount",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "minEthAmount",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "liquidity",
"type": "uint128",
"internalType": "uint128"
+ },
+ {
+ "name": "amount0",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "amount1",
+ "type": "uint256",
+ "internalType": "uint256"
}
],
- "stateMutability": "view"
+ "stateMutability": "nonpayable"
},
{
"type": "function",
@@ -205,43 +307,91 @@
"stateMutability": "nonpayable"
},
{
- "type": "function",
- "name": "updateLiquidityPosition",
+ "type": "event",
+ "name": "LiquidityPositionCreated",
"inputs": [
{
"name": "tokenId",
"type": "uint256",
+ "indexed": false,
"internalType": "uint256"
},
{
- "name": "collateral",
+ "name": "liquidity",
+ "type": "uint128",
+ "indexed": false,
+ "internalType": "uint128"
+ },
+ {
+ "name": "addedAmount0",
"type": "uint256",
+ "indexed": false,
"internalType": "uint256"
},
{
- "name": "liquidity",
- "type": "uint128",
- "internalType": "uint128"
+ "name": "addedAmount1",
+ "type": "uint256",
+ "indexed": false,
+ "internalType": "uint256"
+ }
+ ],
+ "anonymous": false
+ },
+ {
+ "type": "event",
+ "name": "LiquidityPositionDecreased",
+ "inputs": [
+ {
+ "name": "tokenId",
+ "type": "uint256",
+ "indexed": false,
+ "internalType": "uint256"
+ },
+ {
+ "name": "amount0",
+ "type": "uint256",
+ "indexed": false,
+ "internalType": "uint256"
},
{
- "name": "minLiquidity",
+ "name": "amount1",
"type": "uint256",
+ "indexed": false,
"internalType": "uint256"
}
],
- "outputs": [
+ "anonymous": false
+ },
+ {
+ "type": "event",
+ "name": "LiquidityPositionIncreased",
+ "inputs": [
+ {
+ "name": "tokenId",
+ "type": "uint256",
+ "indexed": false,
+ "internalType": "uint256"
+ },
+ {
+ "name": "liquidity",
+ "type": "uint128",
+ "indexed": false,
+ "internalType": "uint128"
+ },
{
"name": "amount0",
"type": "uint256",
+ "indexed": false,
"internalType": "uint256"
},
{
"name": "amount1",
"type": "uint256",
+ "indexed": false,
"internalType": "uint256"
}
],
- "stateMutability": "payable"
+ "anonymous": false
},
{
"type": "event",
@@ -276,7 +426,18 @@
{
"type": "error",
"name": "InsufficientCollateral",
- "inputs": []
+ "inputs": [
+ {
+ "name": "amount",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "collateral",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ]
},
{
"type": "error",
@@ -333,12 +494,12 @@
],
"constructorArgs": [],
"linkedLibraries": {},
- "deployTxnHash": "0xd6089290fe95ca50c55ce9a27feb1636260aec234391be7d5c3ef0ea84e379d2",
- "deployTxnBlockNumber": "6398644",
- "deployTimestamp": "1722272592",
+ "deployTxnHash": "0xcf391b1e589d12bdb9bc16f30a8490e15a279507411d74315b6a29b52f9ecaa2",
+ "deployTxnBlockNumber": "6437191",
+ "deployTimestamp": "1722799764",
"sourceName": "src/contracts/modules/EpochLiquidityModule.sol",
"contractName": "EpochLiquidityModule",
"deployedOn": "deploy.EpochLiquidityModule",
- "gasUsed": 1903984,
- "gasCost": "3008596937"
+ "gasUsed": 2131396,
+ "gasCost": "4713106815"
}
\ No newline at end of file
diff --git a/packages/protocol/deployments/11155111/EpochNftModule.json b/packages/protocol/deployments/11155111/EpochNftModule.json
index 2ce8dafc..e45fd43e 100644
--- a/packages/protocol/deployments/11155111/EpochNftModule.json
+++ b/packages/protocol/deployments/11155111/EpochNftModule.json
@@ -1,5 +1,5 @@
{
- "address": "0xB7Aab74718470682A67288D22119Be4264C1C353",
+ "address": "0x657736fd5A5984FAB7Fe9fe531e9D5Bb781A8D48",
"abi": [
{
"type": "constructor",
@@ -463,12 +463,12 @@
],
"constructorArgs": [],
"linkedLibraries": {},
- "deployTxnHash": "0xbe71cc80739e60bf6f0595702fe7b78dbc264f08a57c78a2ec28c89fd1b0d63f",
- "deployTxnBlockNumber": "6398651",
- "deployTimestamp": "1722272676",
+ "deployTxnHash": "0xe5c73ca87ec8ce0bbf70f85cdfcb1a5f28ed7287c54e90331587207c76a21cd5",
+ "deployTxnBlockNumber": "6437192",
+ "deployTimestamp": "1722799776",
"sourceName": "src/contracts/modules/EpochNftModule.sol",
"contractName": "EpochNftModule",
"deployedOn": "deploy.EpochNftModule",
"gasUsed": 1190314,
- "gasCost": "2530627884"
+ "gasCost": "4859789339"
}
\ No newline at end of file
diff --git a/packages/protocol/deployments/11155111/EpochTradeModule.json b/packages/protocol/deployments/11155111/EpochTradeModule.json
index ef01a366..257a2533 100644
--- a/packages/protocol/deployments/11155111/EpochTradeModule.json
+++ b/packages/protocol/deployments/11155111/EpochTradeModule.json
@@ -1,5 +1,5 @@
{
- "address": "0x47c985b83565129980CF747011C0c8947b8B59A1",
+ "address": "0x0054AA59a6289da60480E7c2c6b1F6Cd31dF72f4",
"abi": [
{
"type": "function",
@@ -138,6 +138,11 @@
"name": "OverflowUint256ToInt256",
"inputs": []
},
+ {
+ "type": "error",
+ "name": "OverflowUint256ToUint160",
+ "inputs": []
+ },
{
"type": "error",
"name": "TokenAlreadyMinted",
@@ -157,12 +162,12 @@
],
"constructorArgs": [],
"linkedLibraries": {},
- "deployTxnHash": "0x062c6cbfcb16d7b14e9cfa99f2d3282591f9a97179e5c08f4012f1e3cb0dd72e",
- "deployTxnBlockNumber": "6398652",
- "deployTimestamp": "1722272700",
+ "deployTxnHash": "0x16266136ecd1e7242f0eff88c7cdd434b1234e4f702b01d287db8aac997105df",
+ "deployTxnBlockNumber": "6437193",
+ "deployTimestamp": "1722799788",
"sourceName": "src/contracts/modules/EpochTradeModule.sol",
"contractName": "EpochTradeModule",
"deployedOn": "deploy.EpochTradeModule",
- "gasUsed": 2066915,
- "gasCost": "2519357767"
+ "gasUsed": 1829463,
+ "gasCost": "4715393912"
}
\ No newline at end of file
diff --git a/packages/protocol/deployments/11155111/EpochUMASettlementModule.json b/packages/protocol/deployments/11155111/EpochUMASettlementModule.json
index 4b7c368f..add2420c 100644
--- a/packages/protocol/deployments/11155111/EpochUMASettlementModule.json
+++ b/packages/protocol/deployments/11155111/EpochUMASettlementModule.json
@@ -1,5 +1,5 @@
{
- "address": "0xcF812Af93FdBf92F1fb32E5D8B93E1E696A526d7",
+ "address": "0x9d8c228aAE2Cd914c556d247FF85Ba37b25fFB06",
"abi": [
{
"type": "function",
@@ -142,12 +142,12 @@
],
"constructorArgs": [],
"linkedLibraries": {},
- "deployTxnHash": "0x83ff40b76eb4d41e4313069381d3aa5fb3a37dfdf89be49db59be1d14a25ddc1",
- "deployTxnBlockNumber": "6398653",
- "deployTimestamp": "1722272712",
+ "deployTxnHash": "0xe4af5e9e0ef5c8b0b90a6edbbbc30167b149816cb51067cbcacd9daed4a8ba9d",
+ "deployTxnBlockNumber": "6437194",
+ "deployTimestamp": "1722799800",
"sourceName": "src/contracts/modules/EpochUMASettlementModule.sol",
"contractName": "EpochUMASettlementModule",
"deployedOn": "deploy.EpochUMASettlementModule",
"gasUsed": 762618,
- "gasCost": "2486910381"
+ "gasCost": "4687721187"
}
\ No newline at end of file
diff --git a/packages/protocol/deployments/11155111/Foil.json b/packages/protocol/deployments/11155111/Foil.json
index bd505298..e56724bf 100644
--- a/packages/protocol/deployments/11155111/Foil.json
+++ b/packages/protocol/deployments/11155111/Foil.json
@@ -1,5 +1,5 @@
{
- "address": "0xbc4a9aa404b79d84901a1939ae77a89c02603755",
+ "address": "0x65ffa35125a6f0e1c7553805acb81408a2bd3821",
"abi": [
{
"type": "function",
@@ -70,6 +70,16 @@
"name": "getEpoch",
"inputs": [],
"outputs": [
+ {
+ "name": "startTime",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "endTime",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
{
"name": "pool",
"type": "address",
@@ -124,9 +134,9 @@
"internalType": "address"
},
{
- "name": "marketParams",
+ "name": "epochParams",
"type": "tuple",
- "internalType": "struct Market.MarketParams",
+ "internalType": "struct Market.EpochParams",
"components": [
{
"name": "baseAssetMinPriceTick",
@@ -244,9 +254,9 @@
"internalType": "address"
},
{
- "name": "marketParams",
+ "name": "epochParams",
"type": "tuple",
- "internalType": "struct Market.MarketParams",
+ "internalType": "struct Market.EpochParams",
"components": [
{
"name": "baseAssetMinPriceTick",
@@ -319,9 +329,9 @@
"internalType": "address"
},
{
- "name": "marketParams",
+ "name": "epochParms",
"type": "tuple",
- "internalType": "struct Market.MarketParams",
+ "internalType": "struct Market.EpochParams",
"components": [
{
"name": "baseAssetMinPriceTick",
@@ -379,6 +389,11 @@
"name": "MarketAlreadyCreated",
"inputs": []
},
+ {
+ "type": "error",
+ "name": "OverflowInt24ToUint256",
+ "inputs": []
+ },
{
"type": "error",
"name": "ReentrancyGuardReentrantCall",
@@ -482,81 +497,183 @@
"internalType": "uint256"
}
],
- "stateMutability": "payable"
+ "stateMutability": "nonpayable"
+ },
+ {
+ "type": "function",
+ "name": "decreaseLiquidityPosition",
+ "inputs": [
+ {
+ "name": "accountId",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "collateralAmount",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "liquidity",
+ "type": "uint128",
+ "internalType": "uint128"
+ },
+ {
+ "name": "minGasAmount",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "minEthAmount",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "amount0",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "amount1",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "stateMutability": "nonpayable"
},
{
"type": "function",
"name": "getPosition",
"inputs": [
{
- "name": "positionId",
+ "name": "accountId",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
- "name": "nonce",
- "type": "uint96",
- "internalType": "uint96"
+ "name": "tokenId",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- "name": "operator",
- "type": "address",
- "internalType": "address"
+ "name": "collateralAmount",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- "name": "token0",
- "type": "address",
- "internalType": "address"
+ "name": "borrowedGwei",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- "name": "token1",
- "type": "address",
- "internalType": "address"
+ "name": "borrowedGas",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "getTokenAmounts",
+ "inputs": [
+ {
+ "name": "collateralAmount",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- "name": "fee",
- "type": "uint24",
- "internalType": "uint24"
+ "name": "sqrtPriceX96",
+ "type": "uint160",
+ "internalType": "uint160"
+ },
+ {
+ "name": "sqrtPriceAX96",
+ "type": "uint160",
+ "internalType": "uint160"
},
{
- "name": "tickLower",
- "type": "int24",
- "internalType": "int24"
+ "name": "sqrtPriceBX96",
+ "type": "uint160",
+ "internalType": "uint160"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "amount0",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- "name": "tickUpper",
- "type": "int24",
- "internalType": "int24"
+ "name": "amount1",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
"name": "liquidity",
"type": "uint128",
"internalType": "uint128"
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "increaseLiquidityPosition",
+ "inputs": [
+ {
+ "name": "accountId",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- "name": "feeGrowthInside0LastX128",
+ "name": "collateralAmount",
"type": "uint256",
"internalType": "uint256"
},
{
- "name": "feeGrowthInside1LastX128",
+ "name": "gasTokenAmount",
"type": "uint256",
"internalType": "uint256"
},
{
- "name": "tokensOwed0",
- "type": "uint128",
- "internalType": "uint128"
+ "name": "ethTokenAmount",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- "name": "tokensOwed1",
+ "name": "minGasAmount",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "minEthAmount",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "liquidity",
"type": "uint128",
"internalType": "uint128"
+ },
+ {
+ "name": "amount0",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "amount1",
+ "type": "uint256",
+ "internalType": "uint256"
}
],
- "stateMutability": "view"
+ "stateMutability": "nonpayable"
},
{
"type": "function",
@@ -593,43 +710,91 @@
"stateMutability": "nonpayable"
},
{
- "type": "function",
- "name": "updateLiquidityPosition",
+ "type": "event",
+ "name": "LiquidityPositionCreated",
"inputs": [
{
"name": "tokenId",
"type": "uint256",
+ "indexed": false,
"internalType": "uint256"
},
{
- "name": "collateral",
+ "name": "liquidity",
+ "type": "uint128",
+ "indexed": false,
+ "internalType": "uint128"
+ },
+ {
+ "name": "addedAmount0",
"type": "uint256",
+ "indexed": false,
"internalType": "uint256"
},
{
- "name": "liquidity",
- "type": "uint128",
- "internalType": "uint128"
+ "name": "addedAmount1",
+ "type": "uint256",
+ "indexed": false,
+ "internalType": "uint256"
+ }
+ ],
+ "anonymous": false
+ },
+ {
+ "type": "event",
+ "name": "LiquidityPositionDecreased",
+ "inputs": [
+ {
+ "name": "tokenId",
+ "type": "uint256",
+ "indexed": false,
+ "internalType": "uint256"
+ },
+ {
+ "name": "amount0",
+ "type": "uint256",
+ "indexed": false,
+ "internalType": "uint256"
},
{
- "name": "minLiquidity",
+ "name": "amount1",
"type": "uint256",
+ "indexed": false,
"internalType": "uint256"
}
],
- "outputs": [
+ "anonymous": false
+ },
+ {
+ "type": "event",
+ "name": "LiquidityPositionIncreased",
+ "inputs": [
+ {
+ "name": "tokenId",
+ "type": "uint256",
+ "indexed": false,
+ "internalType": "uint256"
+ },
+ {
+ "name": "liquidity",
+ "type": "uint128",
+ "indexed": false,
+ "internalType": "uint128"
+ },
{
"name": "amount0",
"type": "uint256",
+ "indexed": false,
"internalType": "uint256"
},
{
"name": "amount1",
"type": "uint256",
+ "indexed": false,
"internalType": "uint256"
}
],
- "stateMutability": "payable"
+ "anonymous": false
},
{
"type": "event",
@@ -664,7 +829,18 @@
{
"type": "error",
"name": "InsufficientCollateral",
- "inputs": []
+ "inputs": [
+ {
+ "name": "amount",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "collateral",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ]
},
{
"type": "error",
@@ -682,11 +858,6 @@
}
]
},
- {
- "type": "error",
- "name": "OverflowInt24ToUint256",
- "inputs": []
- },
{
"type": "error",
"name": "OverflowInt256ToUint256",
@@ -927,6 +1098,11 @@
}
]
},
+ {
+ "type": "error",
+ "name": "OverflowUint256ToUint160",
+ "inputs": []
+ },
{
"type": "constructor",
"inputs": [],
@@ -1347,11 +1523,11 @@
}
],
"deployedOn": "router.Foil",
- "deployTxnHash": "0xfc6f2f4d393a6d8ba09a46dc1feeb4096b8aed64b9eb8ec88673dc241ae04902",
- "deployTxnBlockNumber": "6398656",
- "deployTimestamp": "1722272748",
+ "deployTxnHash": "0xa92d095816abd452a0243a8f332fe4df3b2e29cba3af695b3532b67585c51e01",
+ "deployTxnBlockNumber": "6437197",
+ "deployTimestamp": "1722799836",
"contractName": "Foil",
"sourceName": "Foil.sol",
- "gasUsed": 420260,
- "gasCost": "2333137625"
+ "gasUsed": 436477,
+ "gasCost": "5628076893"
}
\ No newline at end of file
diff --git a/packages/protocol/deployments/11155111/ReentrancyGuard.json b/packages/protocol/deployments/11155111/ReentrancyGuard.json
index 96062bae..a993478e 100644
--- a/packages/protocol/deployments/11155111/ReentrancyGuard.json
+++ b/packages/protocol/deployments/11155111/ReentrancyGuard.json
@@ -1,5 +1,5 @@
{
- "address": "0x56609496950f6A1F2F647825bf6E61531439C2C0",
+ "address": "0x79353F17ffA9EaF021D2A12Ae7EeBa35033B180D",
"abi": [
{
"type": "error",
@@ -9,12 +9,12 @@
],
"constructorArgs": [],
"linkedLibraries": {},
- "deployTxnHash": "0xfb3fb078153c24b9354c43986bf12737085df4e8cd0e25efdbb87929aa1ddc41",
- "deployTxnBlockNumber": "6376121",
- "deployTimestamp": "1721952084",
+ "deployTxnHash": "0x9b5892547ce160ec6407056b48c5ae9ede538d612819ef6f10672e4fb4f40596",
+ "deployTxnBlockNumber": "6437195",
+ "deployTimestamp": "1722799812",
"sourceName": "node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol",
"contractName": "ReentrancyGuard",
"deployedOn": "deploy.ReentrancyGuard",
"gasUsed": 53000,
- "gasCost": "44479095"
+ "gasCost": "4851709189"
}
\ No newline at end of file
diff --git a/packages/protocol/deployments/11155111/USDC.Token.json b/packages/protocol/deployments/11155111/USDC.Token.json
new file mode 100644
index 00000000..7f6e7d27
--- /dev/null
+++ b/packages/protocol/deployments/11155111/USDC.Token.json
@@ -0,0 +1,396 @@
+{
+ "address": "0x1c7D4B196Cb0C7B01d743Fbc6116a902379C7238",
+ "abi": [
+ {
+ "type": "constructor",
+ "inputs": [
+ {
+ "name": "owner",
+ "type": "address",
+ "internalType": "address"
+ },
+ {
+ "name": "name",
+ "type": "string",
+ "internalType": "string"
+ },
+ {
+ "name": "symbol",
+ "type": "string",
+ "internalType": "string"
+ },
+ {
+ "name": "tokenDecimals",
+ "type": "uint8",
+ "internalType": "uint8"
+ },
+ {
+ "name": "initialSupply",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "stateMutability": "payable"
+ },
+ {
+ "type": "function",
+ "name": "allowance",
+ "inputs": [
+ {
+ "name": "owner",
+ "type": "address",
+ "internalType": "address"
+ },
+ {
+ "name": "spender",
+ "type": "address",
+ "internalType": "address"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "approve",
+ "inputs": [
+ {
+ "name": "spender",
+ "type": "address",
+ "internalType": "address"
+ },
+ {
+ "name": "amount",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "bool",
+ "internalType": "bool"
+ }
+ ],
+ "stateMutability": "nonpayable"
+ },
+ {
+ "type": "function",
+ "name": "balanceOf",
+ "inputs": [
+ {
+ "name": "account",
+ "type": "address",
+ "internalType": "address"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "decimals",
+ "inputs": [],
+ "outputs": [
+ {
+ "name": "",
+ "type": "uint8",
+ "internalType": "uint8"
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "decreaseAllowance",
+ "inputs": [
+ {
+ "name": "spender",
+ "type": "address",
+ "internalType": "address"
+ },
+ {
+ "name": "subtractedValue",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "bool",
+ "internalType": "bool"
+ }
+ ],
+ "stateMutability": "nonpayable"
+ },
+ {
+ "type": "function",
+ "name": "increaseAllowance",
+ "inputs": [
+ {
+ "name": "spender",
+ "type": "address",
+ "internalType": "address"
+ },
+ {
+ "name": "addedValue",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "bool",
+ "internalType": "bool"
+ }
+ ],
+ "stateMutability": "nonpayable"
+ },
+ {
+ "type": "function",
+ "name": "mint",
+ "inputs": [
+ {
+ "name": "amount",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "to",
+ "type": "address",
+ "internalType": "address"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
+ },
+ {
+ "type": "function",
+ "name": "name",
+ "inputs": [],
+ "outputs": [
+ {
+ "name": "",
+ "type": "string",
+ "internalType": "string"
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "owner",
+ "inputs": [],
+ "outputs": [
+ {
+ "name": "",
+ "type": "address",
+ "internalType": "address"
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "renounceOwnership",
+ "inputs": [],
+ "outputs": [],
+ "stateMutability": "nonpayable"
+ },
+ {
+ "type": "function",
+ "name": "symbol",
+ "inputs": [],
+ "outputs": [
+ {
+ "name": "",
+ "type": "string",
+ "internalType": "string"
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "totalSupply",
+ "inputs": [],
+ "outputs": [
+ {
+ "name": "",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "transfer",
+ "inputs": [
+ {
+ "name": "to",
+ "type": "address",
+ "internalType": "address"
+ },
+ {
+ "name": "amount",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "bool",
+ "internalType": "bool"
+ }
+ ],
+ "stateMutability": "nonpayable"
+ },
+ {
+ "type": "function",
+ "name": "transferFrom",
+ "inputs": [
+ {
+ "name": "from",
+ "type": "address",
+ "internalType": "address"
+ },
+ {
+ "name": "to",
+ "type": "address",
+ "internalType": "address"
+ },
+ {
+ "name": "amount",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "bool",
+ "internalType": "bool"
+ }
+ ],
+ "stateMutability": "nonpayable"
+ },
+ {
+ "type": "function",
+ "name": "transferOwnership",
+ "inputs": [
+ {
+ "name": "newOwner",
+ "type": "address",
+ "internalType": "address"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
+ },
+ {
+ "type": "event",
+ "name": "Approval",
+ "inputs": [
+ {
+ "name": "owner",
+ "type": "address",
+ "indexed": true,
+ "internalType": "address"
+ },
+ {
+ "name": "spender",
+ "type": "address",
+ "indexed": true,
+ "internalType": "address"
+ },
+ {
+ "name": "value",
+ "type": "uint256",
+ "indexed": false,
+ "internalType": "uint256"
+ }
+ ],
+ "anonymous": false
+ },
+ {
+ "type": "event",
+ "name": "OwnershipTransferred",
+ "inputs": [
+ {
+ "name": "previousOwner",
+ "type": "address",
+ "indexed": true,
+ "internalType": "address"
+ },
+ {
+ "name": "newOwner",
+ "type": "address",
+ "indexed": true,
+ "internalType": "address"
+ }
+ ],
+ "anonymous": false
+ },
+ {
+ "type": "event",
+ "name": "Transfer",
+ "inputs": [
+ {
+ "name": "from",
+ "type": "address",
+ "indexed": true,
+ "internalType": "address"
+ },
+ {
+ "name": "to",
+ "type": "address",
+ "indexed": true,
+ "internalType": "address"
+ },
+ {
+ "name": "value",
+ "type": "uint256",
+ "indexed": false,
+ "internalType": "uint256"
+ }
+ ],
+ "anonymous": false
+ }
+ ],
+ "constructorArgs": [
+ "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
+ "Token",
+ "TKN",
+ "18",
+ "0"
+ ],
+ "linkedLibraries": {},
+ "deployTxnHash": "0x7532dfc16990f45321be00ee08f8eb3ed22e8910738163bb731b9ebdf85d12fd",
+ "sourceName": "src/USDCoin.sol",
+ "contractName": "USDCoin",
+ "bytecode": "",
+ "source": {
+ "solcVersion": "string",
+ "input": ""
+ },
+ "deployedOn": "deploy.Token",
+ "highlight": true,
+ "gasUsed": 774713,
+ "gasCost": "1000000000"
+}
\ No newline at end of file
diff --git a/packages/protocol/deployments/11155111/wstETH.Token.json b/packages/protocol/deployments/11155111/wstETH.Token.json
new file mode 100644
index 00000000..fbbc3941
--- /dev/null
+++ b/packages/protocol/deployments/11155111/wstETH.Token.json
@@ -0,0 +1,396 @@
+{
+ "address": "0xb82381a3fbd3fafa77b3a7be693342618240067b",
+ "abi": [
+ {
+ "type": "constructor",
+ "inputs": [
+ {
+ "name": "owner",
+ "type": "address",
+ "internalType": "address"
+ },
+ {
+ "name": "name",
+ "type": "string",
+ "internalType": "string"
+ },
+ {
+ "name": "symbol",
+ "type": "string",
+ "internalType": "string"
+ },
+ {
+ "name": "tokenDecimals",
+ "type": "uint8",
+ "internalType": "uint8"
+ },
+ {
+ "name": "initialSupply",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "stateMutability": "payable"
+ },
+ {
+ "type": "function",
+ "name": "allowance",
+ "inputs": [
+ {
+ "name": "owner",
+ "type": "address",
+ "internalType": "address"
+ },
+ {
+ "name": "spender",
+ "type": "address",
+ "internalType": "address"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "approve",
+ "inputs": [
+ {
+ "name": "spender",
+ "type": "address",
+ "internalType": "address"
+ },
+ {
+ "name": "amount",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "bool",
+ "internalType": "bool"
+ }
+ ],
+ "stateMutability": "nonpayable"
+ },
+ {
+ "type": "function",
+ "name": "balanceOf",
+ "inputs": [
+ {
+ "name": "account",
+ "type": "address",
+ "internalType": "address"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "decimals",
+ "inputs": [],
+ "outputs": [
+ {
+ "name": "",
+ "type": "uint8",
+ "internalType": "uint8"
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "decreaseAllowance",
+ "inputs": [
+ {
+ "name": "spender",
+ "type": "address",
+ "internalType": "address"
+ },
+ {
+ "name": "subtractedValue",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "bool",
+ "internalType": "bool"
+ }
+ ],
+ "stateMutability": "nonpayable"
+ },
+ {
+ "type": "function",
+ "name": "increaseAllowance",
+ "inputs": [
+ {
+ "name": "spender",
+ "type": "address",
+ "internalType": "address"
+ },
+ {
+ "name": "addedValue",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "bool",
+ "internalType": "bool"
+ }
+ ],
+ "stateMutability": "nonpayable"
+ },
+ {
+ "type": "function",
+ "name": "mint",
+ "inputs": [
+ {
+ "name": "amount",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "to",
+ "type": "address",
+ "internalType": "address"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
+ },
+ {
+ "type": "function",
+ "name": "name",
+ "inputs": [],
+ "outputs": [
+ {
+ "name": "",
+ "type": "string",
+ "internalType": "string"
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "owner",
+ "inputs": [],
+ "outputs": [
+ {
+ "name": "",
+ "type": "address",
+ "internalType": "address"
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "renounceOwnership",
+ "inputs": [],
+ "outputs": [],
+ "stateMutability": "nonpayable"
+ },
+ {
+ "type": "function",
+ "name": "symbol",
+ "inputs": [],
+ "outputs": [
+ {
+ "name": "",
+ "type": "string",
+ "internalType": "string"
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "totalSupply",
+ "inputs": [],
+ "outputs": [
+ {
+ "name": "",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "transfer",
+ "inputs": [
+ {
+ "name": "to",
+ "type": "address",
+ "internalType": "address"
+ },
+ {
+ "name": "amount",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "bool",
+ "internalType": "bool"
+ }
+ ],
+ "stateMutability": "nonpayable"
+ },
+ {
+ "type": "function",
+ "name": "transferFrom",
+ "inputs": [
+ {
+ "name": "from",
+ "type": "address",
+ "internalType": "address"
+ },
+ {
+ "name": "to",
+ "type": "address",
+ "internalType": "address"
+ },
+ {
+ "name": "amount",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "",
+ "type": "bool",
+ "internalType": "bool"
+ }
+ ],
+ "stateMutability": "nonpayable"
+ },
+ {
+ "type": "function",
+ "name": "transferOwnership",
+ "inputs": [
+ {
+ "name": "newOwner",
+ "type": "address",
+ "internalType": "address"
+ }
+ ],
+ "outputs": [],
+ "stateMutability": "nonpayable"
+ },
+ {
+ "type": "event",
+ "name": "Approval",
+ "inputs": [
+ {
+ "name": "owner",
+ "type": "address",
+ "indexed": true,
+ "internalType": "address"
+ },
+ {
+ "name": "spender",
+ "type": "address",
+ "indexed": true,
+ "internalType": "address"
+ },
+ {
+ "name": "value",
+ "type": "uint256",
+ "indexed": false,
+ "internalType": "uint256"
+ }
+ ],
+ "anonymous": false
+ },
+ {
+ "type": "event",
+ "name": "OwnershipTransferred",
+ "inputs": [
+ {
+ "name": "previousOwner",
+ "type": "address",
+ "indexed": true,
+ "internalType": "address"
+ },
+ {
+ "name": "newOwner",
+ "type": "address",
+ "indexed": true,
+ "internalType": "address"
+ }
+ ],
+ "anonymous": false
+ },
+ {
+ "type": "event",
+ "name": "Transfer",
+ "inputs": [
+ {
+ "name": "from",
+ "type": "address",
+ "indexed": true,
+ "internalType": "address"
+ },
+ {
+ "name": "to",
+ "type": "address",
+ "indexed": true,
+ "internalType": "address"
+ },
+ {
+ "name": "value",
+ "type": "uint256",
+ "indexed": false,
+ "internalType": "uint256"
+ }
+ ],
+ "anonymous": false
+ }
+ ],
+ "constructorArgs": [
+ "0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
+ "Token",
+ "TKN",
+ "18",
+ "0"
+ ],
+ "linkedLibraries": {},
+ "deployTxnHash": "0x7532dfc16990f45321be00ee08f8eb3ed22e8910738163bb731b9ebdf85d12fd",
+ "sourceName": "src/WrappedLiquidStakedEther.sol",
+ "contractName": "WrappedLiquidStakedEther",
+ "bytecode": "",
+ "source": {
+ "solcVersion": "string",
+ "input": ""
+ },
+ "deployedOn": "deploy.Token",
+ "highlight": true,
+ "gasUsed": 774713,
+ "gasCost": "1000000000"
+}
\ No newline at end of file
diff --git a/packages/protocol/deployments/13370/BondCurrency.Token.json b/packages/protocol/deployments/13370/BondCurrency.Token.json
index a721e294..dfd4f2ef 100644
--- a/packages/protocol/deployments/13370/BondCurrency.Token.json
+++ b/packages/protocol/deployments/13370/BondCurrency.Token.json
@@ -319,7 +319,7 @@
"linkedLibraries": {},
"deployTxnHash": "0x12ee0b194db4db0157edc1ecd4711e1b128110b845c2232c6b427b5749ddc7a5",
"deployTxnBlockNumber": "2",
- "deployTimestamp": "1722387336",
+ "deployTimestamp": "1722798316",
"sourceName": "src/MintableTokenPermissionlessMint.sol",
"contractName": "MintableTokenPermissionlessMint",
"deployedOn": "contract.Token",
diff --git a/packages/protocol/deployments/13370/CollateralAsset.Token.json b/packages/protocol/deployments/13370/CollateralAsset.Token.json
index cfed8ecb..ff246729 100644
--- a/packages/protocol/deployments/13370/CollateralAsset.Token.json
+++ b/packages/protocol/deployments/13370/CollateralAsset.Token.json
@@ -319,7 +319,7 @@
"linkedLibraries": {},
"deployTxnHash": "0x6add4be37a653aaf5ba967fc8163d59e33e29d487ad632af66209495e5d42051",
"deployTxnBlockNumber": "2",
- "deployTimestamp": "1722387336",
+ "deployTimestamp": "1722798316",
"sourceName": "src/MintableTokenPermissionlessMint.sol",
"contractName": "MintableTokenPermissionlessMint",
"deployedOn": "contract.Token",
diff --git a/packages/protocol/deployments/13370/EpochConfigurationModule.json b/packages/protocol/deployments/13370/EpochConfigurationModule.json
index 3a6d191b..d8c5c782 100644
--- a/packages/protocol/deployments/13370/EpochConfigurationModule.json
+++ b/packages/protocol/deployments/13370/EpochConfigurationModule.json
@@ -1,5 +1,5 @@
{
- "address": "0x2445D612DC7b535332FCAD0B1b1300De90b2aB36",
+ "address": "0x6E3BB76f9994427aC4B2A02FAd946B9b155aF977",
"abi": [
{
"type": "function",
@@ -134,9 +134,9 @@
"internalType": "address"
},
{
- "name": "marketParams",
+ "name": "epochParams",
"type": "tuple",
- "internalType": "struct Market.MarketParams",
+ "internalType": "struct Market.EpochParams",
"components": [
{
"name": "baseAssetMinPriceTick",
@@ -254,9 +254,9 @@
"internalType": "address"
},
{
- "name": "marketParams",
+ "name": "epochParams",
"type": "tuple",
- "internalType": "struct Market.MarketParams",
+ "internalType": "struct Market.EpochParams",
"components": [
{
"name": "baseAssetMinPriceTick",
@@ -329,9 +329,9 @@
"internalType": "address"
},
{
- "name": "marketParams",
+ "name": "epochParms",
"type": "tuple",
- "internalType": "struct Market.MarketParams",
+ "internalType": "struct Market.EpochParams",
"components": [
{
"name": "baseAssetMinPriceTick",
@@ -389,6 +389,11 @@
"name": "MarketAlreadyCreated",
"inputs": []
},
+ {
+ "type": "error",
+ "name": "OverflowInt24ToUint256",
+ "inputs": []
+ },
{
"type": "error",
"name": "ReentrancyGuardReentrantCall",
@@ -402,12 +407,12 @@
],
"constructorArgs": [],
"linkedLibraries": {},
- "deployTxnHash": "0x4f1d2d85a972dbb30b722461f5c20d97998c4fd6b0431aa697a43267a0e675ec",
+ "deployTxnHash": "0xecb1c4b1248d5ca55e59d6e5a1d336e10ecca04c4db705656a025335e34eb472",
"deployTxnBlockNumber": "3",
- "deployTimestamp": "1722385871",
+ "deployTimestamp": "1722798191",
"sourceName": "src/contracts/modules/EpochConfigurationModule.sol",
"contractName": "EpochConfigurationModule",
"deployedOn": "deploy.EpochConfigurationModule",
- "gasUsed": 2031872,
- "gasCost": "1005326146"
+ "gasUsed": 2257070,
+ "gasCost": "1004662731"
}
\ No newline at end of file
diff --git a/packages/protocol/deployments/13370/EpochLiquidityModule.json b/packages/protocol/deployments/13370/EpochLiquidityModule.json
index 1ed1032b..3b67dd93 100644
--- a/packages/protocol/deployments/13370/EpochLiquidityModule.json
+++ b/packages/protocol/deployments/13370/EpochLiquidityModule.json
@@ -1,5 +1,5 @@
{
- "address": "0x2f816f52cD9c1ed34e3Ae10eEeC0c961E112aEF0",
+ "address": "0x7Cb58d50176F46988b37183Bfb8a50727Bc56e78",
"abi": [
{
"type": "function",
@@ -94,81 +94,183 @@
"internalType": "uint256"
}
],
- "stateMutability": "payable"
+ "stateMutability": "nonpayable"
+ },
+ {
+ "type": "function",
+ "name": "decreaseLiquidityPosition",
+ "inputs": [
+ {
+ "name": "accountId",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "collateralAmount",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "liquidity",
+ "type": "uint128",
+ "internalType": "uint128"
+ },
+ {
+ "name": "minGasAmount",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "minEthAmount",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "amount0",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "amount1",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "stateMutability": "nonpayable"
},
{
"type": "function",
"name": "getPosition",
"inputs": [
{
- "name": "positionId",
+ "name": "accountId",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
- "name": "nonce",
- "type": "uint96",
- "internalType": "uint96"
+ "name": "tokenId",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- "name": "operator",
- "type": "address",
- "internalType": "address"
+ "name": "collateralAmount",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- "name": "token0",
- "type": "address",
- "internalType": "address"
+ "name": "borrowedGwei",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- "name": "token1",
- "type": "address",
- "internalType": "address"
+ "name": "borrowedGas",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "getTokenAmounts",
+ "inputs": [
+ {
+ "name": "collateralAmount",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- "name": "fee",
- "type": "uint24",
- "internalType": "uint24"
+ "name": "sqrtPriceX96",
+ "type": "uint160",
+ "internalType": "uint160"
},
{
- "name": "tickLower",
- "type": "int24",
- "internalType": "int24"
+ "name": "sqrtPriceAX96",
+ "type": "uint160",
+ "internalType": "uint160"
},
{
- "name": "tickUpper",
- "type": "int24",
- "internalType": "int24"
+ "name": "sqrtPriceBX96",
+ "type": "uint160",
+ "internalType": "uint160"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "amount0",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "amount1",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
"name": "liquidity",
"type": "uint128",
"internalType": "uint128"
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "increaseLiquidityPosition",
+ "inputs": [
+ {
+ "name": "accountId",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- "name": "feeGrowthInside0LastX128",
+ "name": "collateralAmount",
"type": "uint256",
"internalType": "uint256"
},
{
- "name": "feeGrowthInside1LastX128",
+ "name": "gasTokenAmount",
"type": "uint256",
"internalType": "uint256"
},
{
- "name": "tokensOwed0",
- "type": "uint128",
- "internalType": "uint128"
+ "name": "ethTokenAmount",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- "name": "tokensOwed1",
+ "name": "minGasAmount",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "minEthAmount",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "liquidity",
"type": "uint128",
"internalType": "uint128"
+ },
+ {
+ "name": "amount0",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "amount1",
+ "type": "uint256",
+ "internalType": "uint256"
}
],
- "stateMutability": "view"
+ "stateMutability": "nonpayable"
},
{
"type": "function",
@@ -205,43 +307,91 @@
"stateMutability": "nonpayable"
},
{
- "type": "function",
- "name": "updateLiquidityPosition",
+ "type": "event",
+ "name": "LiquidityPositionCreated",
"inputs": [
{
"name": "tokenId",
"type": "uint256",
+ "indexed": false,
"internalType": "uint256"
},
{
- "name": "collateral",
+ "name": "liquidity",
+ "type": "uint128",
+ "indexed": false,
+ "internalType": "uint128"
+ },
+ {
+ "name": "addedAmount0",
"type": "uint256",
+ "indexed": false,
"internalType": "uint256"
},
{
- "name": "liquidity",
- "type": "uint128",
- "internalType": "uint128"
+ "name": "addedAmount1",
+ "type": "uint256",
+ "indexed": false,
+ "internalType": "uint256"
+ }
+ ],
+ "anonymous": false
+ },
+ {
+ "type": "event",
+ "name": "LiquidityPositionDecreased",
+ "inputs": [
+ {
+ "name": "tokenId",
+ "type": "uint256",
+ "indexed": false,
+ "internalType": "uint256"
+ },
+ {
+ "name": "amount0",
+ "type": "uint256",
+ "indexed": false,
+ "internalType": "uint256"
},
{
- "name": "minLiquidity",
+ "name": "amount1",
"type": "uint256",
+ "indexed": false,
"internalType": "uint256"
}
],
- "outputs": [
+ "anonymous": false
+ },
+ {
+ "type": "event",
+ "name": "LiquidityPositionIncreased",
+ "inputs": [
+ {
+ "name": "tokenId",
+ "type": "uint256",
+ "indexed": false,
+ "internalType": "uint256"
+ },
+ {
+ "name": "liquidity",
+ "type": "uint128",
+ "indexed": false,
+ "internalType": "uint128"
+ },
{
"name": "amount0",
"type": "uint256",
+ "indexed": false,
"internalType": "uint256"
},
{
"name": "amount1",
"type": "uint256",
+ "indexed": false,
"internalType": "uint256"
}
],
- "stateMutability": "payable"
+ "anonymous": false
},
{
"type": "event",
@@ -276,7 +426,18 @@
{
"type": "error",
"name": "InsufficientCollateral",
- "inputs": []
+ "inputs": [
+ {
+ "name": "amount",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "collateral",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ]
},
{
"type": "error",
@@ -333,12 +494,12 @@
],
"constructorArgs": [],
"linkedLibraries": {},
- "deployTxnHash": "0x4ec8bf490bc87cea051894e6eeda7f778f6f13c6ddae42eb7c59318c980b9835",
+ "deployTxnHash": "0x993757da21f36ac0eb077b9b1ef918d47b6b01683242685ca161985959d4b800",
"deployTxnBlockNumber": "1",
- "deployTimestamp": "1722272465",
+ "deployTimestamp": "1722798190",
"sourceName": "src/contracts/modules/EpochLiquidityModule.sol",
"contractName": "EpochLiquidityModule",
"deployedOn": "deploy.EpochLiquidityModule",
- "gasUsed": 1903984,
- "gasCost": "1004158597"
+ "gasUsed": 2131396,
+ "gasCost": "1004167591"
}
\ No newline at end of file
diff --git a/packages/protocol/deployments/13370/EpochNftModule.json b/packages/protocol/deployments/13370/EpochNftModule.json
index 996ee7aa..cafebc0d 100644
--- a/packages/protocol/deployments/13370/EpochNftModule.json
+++ b/packages/protocol/deployments/13370/EpochNftModule.json
@@ -1,5 +1,5 @@
{
- "address": "0xF966A4B851DCE09c218Ed74aF89F115087d1bde3",
+ "address": "0x8c8D53F8647FfB4A864B63AD387147A5F04aeD7e",
"abi": [
{
"type": "constructor",
@@ -463,12 +463,12 @@
],
"constructorArgs": [],
"linkedLibraries": {},
- "deployTxnHash": "0xf97595b027d50ddcdcda8a7ee275f9cbbe0483d697413e04591dc3baad929b5a",
+ "deployTxnHash": "0x560d15dbaef56fb8d0eeca94e1830074bce0b79f2601b3cd0654e9f36714ef81",
"deployTxnBlockNumber": "1",
- "deployTimestamp": "1722272465",
+ "deployTimestamp": "1722798190",
"sourceName": "src/contracts/modules/EpochNftModule.sol",
"contractName": "EpochNftModule",
"deployedOn": "deploy.EpochNftModule",
"gasUsed": 1190314,
- "gasCost": "1003704755"
+ "gasCost": "1003720666"
}
\ No newline at end of file
diff --git a/packages/protocol/deployments/13370/EpochTradeModule.json b/packages/protocol/deployments/13370/EpochTradeModule.json
index a0d39c51..b662c443 100644
--- a/packages/protocol/deployments/13370/EpochTradeModule.json
+++ b/packages/protocol/deployments/13370/EpochTradeModule.json
@@ -1,5 +1,5 @@
{
- "address": "0xc617352aCE1AaEA7CD936870b47D330e19246DA4",
+ "address": "0x7A4F7aB53bD91ccb7eA86D31914293725D7f0b03",
"abi": [
{
"type": "function",
@@ -162,12 +162,12 @@
],
"constructorArgs": [],
"linkedLibraries": {},
- "deployTxnHash": "0x2fa390e9e1f67bd65791fa9bbac6e62ec47a1dbe1eef4cdd30f8bbe559075dfa",
+ "deployTxnHash": "0x7134b76bf987e8dd49d9a5094b90d42e8d228e37c5e89bf89ab40b2fed411967",
"deployTxnBlockNumber": "1",
- "deployTimestamp": "1722385870",
+ "deployTimestamp": "1722798190",
"sourceName": "src/contracts/modules/EpochTradeModule.sol",
"contractName": "EpochTradeModule",
"deployedOn": "deploy.EpochTradeModule",
"gasUsed": 1829463,
- "gasCost": "1004750562"
+ "gasCost": "1003292490"
}
\ No newline at end of file
diff --git a/packages/protocol/deployments/13370/EpochUMASettlementModule.json b/packages/protocol/deployments/13370/EpochUMASettlementModule.json
index 90ebf26d..f2f2694d 100644
--- a/packages/protocol/deployments/13370/EpochUMASettlementModule.json
+++ b/packages/protocol/deployments/13370/EpochUMASettlementModule.json
@@ -1,5 +1,5 @@
{
- "address": "0x908F7a0B23f28c593255ECf1d3e9dD845f881b5c",
+ "address": "0x00324b4B2334C34558623e329fd5b7a34D32b13e",
"abi": [
{
"type": "function",
@@ -142,12 +142,12 @@
],
"constructorArgs": [],
"linkedLibraries": {},
- "deployTxnHash": "0xc5fd90940a289505a5dd22a3ae93711d2c80479531d3e23fc132188ec0ecfd08",
+ "deployTxnHash": "0x8836c8cca2cac0aae3ac3fc8222f4c9affc9b216f00380a0a46355cedc8d5341",
"deployTxnBlockNumber": "1",
- "deployTimestamp": "1722272465",
+ "deployTimestamp": "1722798190",
"sourceName": "src/contracts/modules/EpochUMASettlementModule.sol",
"contractName": "EpochUMASettlementModule",
"deployedOn": "deploy.EpochUMASettlementModule",
"gasUsed": 762618,
- "gasCost": "1002925078"
+ "gasCost": "1002931125"
}
\ No newline at end of file
diff --git a/packages/protocol/deployments/13370/Foil.json b/packages/protocol/deployments/13370/Foil.json
index 06b67639..ff37ba14 100644
--- a/packages/protocol/deployments/13370/Foil.json
+++ b/packages/protocol/deployments/13370/Foil.json
@@ -1,5 +1,5 @@
{
- "address": "0xcab1bcff7f537afd4065dbf4b1f175ab046a8eda",
+ "address": "0xa7514ec04ebc7efa0dedd26a6af5b92b2d0ba287",
"abi": [
{
"type": "function",
@@ -134,9 +134,9 @@
"internalType": "address"
},
{
- "name": "marketParams",
+ "name": "epochParams",
"type": "tuple",
- "internalType": "struct Market.MarketParams",
+ "internalType": "struct Market.EpochParams",
"components": [
{
"name": "baseAssetMinPriceTick",
@@ -254,9 +254,9 @@
"internalType": "address"
},
{
- "name": "marketParams",
+ "name": "epochParams",
"type": "tuple",
- "internalType": "struct Market.MarketParams",
+ "internalType": "struct Market.EpochParams",
"components": [
{
"name": "baseAssetMinPriceTick",
@@ -329,9 +329,9 @@
"internalType": "address"
},
{
- "name": "marketParams",
+ "name": "epochParms",
"type": "tuple",
- "internalType": "struct Market.MarketParams",
+ "internalType": "struct Market.EpochParams",
"components": [
{
"name": "baseAssetMinPriceTick",
@@ -389,6 +389,11 @@
"name": "MarketAlreadyCreated",
"inputs": []
},
+ {
+ "type": "error",
+ "name": "OverflowInt24ToUint256",
+ "inputs": []
+ },
{
"type": "error",
"name": "ReentrancyGuardReentrantCall",
@@ -492,81 +497,183 @@
"internalType": "uint256"
}
],
- "stateMutability": "payable"
+ "stateMutability": "nonpayable"
+ },
+ {
+ "type": "function",
+ "name": "decreaseLiquidityPosition",
+ "inputs": [
+ {
+ "name": "accountId",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "collateralAmount",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "liquidity",
+ "type": "uint128",
+ "internalType": "uint128"
+ },
+ {
+ "name": "minGasAmount",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "minEthAmount",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "amount0",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "amount1",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "stateMutability": "nonpayable"
},
{
"type": "function",
"name": "getPosition",
"inputs": [
{
- "name": "positionId",
+ "name": "accountId",
"type": "uint256",
"internalType": "uint256"
}
],
"outputs": [
{
- "name": "nonce",
- "type": "uint96",
- "internalType": "uint96"
+ "name": "tokenId",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- "name": "operator",
- "type": "address",
- "internalType": "address"
+ "name": "collateralAmount",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- "name": "token0",
- "type": "address",
- "internalType": "address"
+ "name": "borrowedGwei",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- "name": "token1",
- "type": "address",
- "internalType": "address"
+ "name": "borrowedGas",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "getTokenAmounts",
+ "inputs": [
+ {
+ "name": "collateralAmount",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "sqrtPriceX96",
+ "type": "uint160",
+ "internalType": "uint160"
},
{
- "name": "fee",
- "type": "uint24",
- "internalType": "uint24"
+ "name": "sqrtPriceAX96",
+ "type": "uint160",
+ "internalType": "uint160"
},
{
- "name": "tickLower",
- "type": "int24",
- "internalType": "int24"
+ "name": "sqrtPriceBX96",
+ "type": "uint160",
+ "internalType": "uint160"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "amount0",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- "name": "tickUpper",
- "type": "int24",
- "internalType": "int24"
+ "name": "amount1",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
"name": "liquidity",
"type": "uint128",
"internalType": "uint128"
+ }
+ ],
+ "stateMutability": "view"
+ },
+ {
+ "type": "function",
+ "name": "increaseLiquidityPosition",
+ "inputs": [
+ {
+ "name": "accountId",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- "name": "feeGrowthInside0LastX128",
+ "name": "collateralAmount",
"type": "uint256",
"internalType": "uint256"
},
{
- "name": "feeGrowthInside1LastX128",
+ "name": "gasTokenAmount",
"type": "uint256",
"internalType": "uint256"
},
{
- "name": "tokensOwed0",
- "type": "uint128",
- "internalType": "uint128"
+ "name": "ethTokenAmount",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "minGasAmount",
+ "type": "uint256",
+ "internalType": "uint256"
},
{
- "name": "tokensOwed1",
+ "name": "minEthAmount",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ],
+ "outputs": [
+ {
+ "name": "liquidity",
"type": "uint128",
"internalType": "uint128"
+ },
+ {
+ "name": "amount0",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "amount1",
+ "type": "uint256",
+ "internalType": "uint256"
}
],
- "stateMutability": "view"
+ "stateMutability": "nonpayable"
},
{
"type": "function",
@@ -603,43 +710,91 @@
"stateMutability": "nonpayable"
},
{
- "type": "function",
- "name": "updateLiquidityPosition",
+ "type": "event",
+ "name": "LiquidityPositionCreated",
"inputs": [
{
"name": "tokenId",
"type": "uint256",
+ "indexed": false,
"internalType": "uint256"
},
{
- "name": "collateral",
+ "name": "liquidity",
+ "type": "uint128",
+ "indexed": false,
+ "internalType": "uint128"
+ },
+ {
+ "name": "addedAmount0",
"type": "uint256",
+ "indexed": false,
"internalType": "uint256"
},
{
- "name": "liquidity",
- "type": "uint128",
- "internalType": "uint128"
+ "name": "addedAmount1",
+ "type": "uint256",
+ "indexed": false,
+ "internalType": "uint256"
+ }
+ ],
+ "anonymous": false
+ },
+ {
+ "type": "event",
+ "name": "LiquidityPositionDecreased",
+ "inputs": [
+ {
+ "name": "tokenId",
+ "type": "uint256",
+ "indexed": false,
+ "internalType": "uint256"
},
{
- "name": "minLiquidity",
+ "name": "amount0",
+ "type": "uint256",
+ "indexed": false,
+ "internalType": "uint256"
+ },
+ {
+ "name": "amount1",
"type": "uint256",
+ "indexed": false,
"internalType": "uint256"
}
],
- "outputs": [
+ "anonymous": false
+ },
+ {
+ "type": "event",
+ "name": "LiquidityPositionIncreased",
+ "inputs": [
+ {
+ "name": "tokenId",
+ "type": "uint256",
+ "indexed": false,
+ "internalType": "uint256"
+ },
+ {
+ "name": "liquidity",
+ "type": "uint128",
+ "indexed": false,
+ "internalType": "uint128"
+ },
{
"name": "amount0",
"type": "uint256",
+ "indexed": false,
"internalType": "uint256"
},
{
"name": "amount1",
"type": "uint256",
+ "indexed": false,
"internalType": "uint256"
}
],
- "stateMutability": "payable"
+ "anonymous": false
},
{
"type": "event",
@@ -674,7 +829,18 @@
{
"type": "error",
"name": "InsufficientCollateral",
- "inputs": []
+ "inputs": [
+ {
+ "name": "amount",
+ "type": "uint256",
+ "internalType": "uint256"
+ },
+ {
+ "name": "collateral",
+ "type": "uint256",
+ "internalType": "uint256"
+ }
+ ]
},
{
"type": "error",
@@ -692,11 +858,6 @@
}
]
},
- {
- "type": "error",
- "name": "OverflowInt24ToUint256",
- "inputs": []
- },
{
"type": "error",
"name": "OverflowInt256ToUint256",
@@ -1362,11 +1523,11 @@
}
],
"deployedOn": "router.Foil",
- "deployTxnHash": "0xee19df8e37e8c5f84551ff8d60cfc90271bdbd8b665400ca55b15eeeb1caa2b2",
+ "deployTxnHash": "0x2fabcdad68a1ab483b51e99875bb55c32c90f57c7e5ac29952c3f3acdcc44bd9",
"deployTxnBlockNumber": "3",
- "deployTimestamp": "1722385875",
+ "deployTimestamp": "1722798195",
"contractName": "Foil",
"sourceName": "Foil.sol",
- "gasUsed": 423046,
- "gasCost": "1002169180"
+ "gasUsed": 439335,
+ "gasCost": "1001325031"
}
\ No newline at end of file
diff --git a/packages/protocol/deployments/13370/ReentrancyGuard.json b/packages/protocol/deployments/13370/ReentrancyGuard.json
index 3b9b7e21..6cf6d5c0 100644
--- a/packages/protocol/deployments/13370/ReentrancyGuard.json
+++ b/packages/protocol/deployments/13370/ReentrancyGuard.json
@@ -11,7 +11,7 @@
"linkedLibraries": {},
"deployTxnHash": "0x0f84422301028f15368200101d2f1f120bb1199b08f862a7635b4bbef4db326f",
"deployTxnBlockNumber": "1",
- "deployTimestamp": "1722272465",
+ "deployTimestamp": "1722798190",
"sourceName": "node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol",
"contractName": "ReentrancyGuard",
"deployedOn": "deploy.ReentrancyGuard",
diff --git a/packages/protocol/deployments/13370/UMA.Finder.json b/packages/protocol/deployments/13370/UMA.Finder.json
index af0f8d11..4056d252 100644
--- a/packages/protocol/deployments/13370/UMA.Finder.json
+++ b/packages/protocol/deployments/13370/UMA.Finder.json
@@ -133,7 +133,7 @@
"linkedLibraries": {},
"deployTxnHash": "0x3a4a94e89b04105532165c355ee28b7b969e45233aa52edca551b3b1c82bdc5d",
"deployTxnBlockNumber": "1",
- "deployTimestamp": "1722387332",
+ "deployTimestamp": "1722798312",
"sourceName": "src/UMA/Finder.sol",
"contractName": "Finder",
"deployedOn": "deploy.Finder",
diff --git a/packages/protocol/deployments/13370/UMA.MockOracleAncillary.json b/packages/protocol/deployments/13370/UMA.MockOracleAncillary.json
index 02b9828e..dea733b1 100644
--- a/packages/protocol/deployments/13370/UMA.MockOracleAncillary.json
+++ b/packages/protocol/deployments/13370/UMA.MockOracleAncillary.json
@@ -337,7 +337,7 @@
"linkedLibraries": {},
"deployTxnHash": "0x43618c7361ca78b0aab21b92675caacbc9e19526846c8e179199b6ccf1566b3f",
"deployTxnBlockNumber": "3",
- "deployTimestamp": "1722387334",
+ "deployTimestamp": "1722798314",
"sourceName": "node_modules/@uma/core/contracts/data-verification-mechanism/test/MockOracleAncillary.sol",
"contractName": "MockOracleAncillary",
"deployedOn": "deploy.MockOracleAncillary",
diff --git a/packages/protocol/deployments/13370/UMA.Timer.json b/packages/protocol/deployments/13370/UMA.Timer.json
index 990de31b..a2dbfc90 100644
--- a/packages/protocol/deployments/13370/UMA.Timer.json
+++ b/packages/protocol/deployments/13370/UMA.Timer.json
@@ -32,7 +32,7 @@
"linkedLibraries": {},
"deployTxnHash": "0x29b7ae3d95bb5bbf8d49183656651fd97d2f53d56735b7e2fd7d063f6346bf55",
"deployTxnBlockNumber": "1",
- "deployTimestamp": "1722387332",
+ "deployTimestamp": "1722798312",
"sourceName": "src/UMA/Timer.sol",
"contractName": "Timer",
"deployedOn": "deploy.Timer",
diff --git a/packages/protocol/deployments/13370/Uniswap.Core.UniswapV3Factory.json b/packages/protocol/deployments/13370/Uniswap.Core.UniswapV3Factory.json
index f2444813..da6854cd 100644
--- a/packages/protocol/deployments/13370/Uniswap.Core.UniswapV3Factory.json
+++ b/packages/protocol/deployments/13370/Uniswap.Core.UniswapV3Factory.json
@@ -240,7 +240,7 @@
"linkedLibraries": {},
"deployTxnHash": "0x092ab39ca583e8ec4129b58d4fd95e709512b32cbc98002efadca0218e4a84a3",
"deployTxnBlockNumber": "3",
- "deployTimestamp": "1722387334",
+ "deployTimestamp": "1722798314",
"sourceName": "contracts/UniswapV3Factory.sol",
"contractName": "UniswapV3Factory",
"deployedOn": "deploy.UniswapV3Factory",
diff --git a/packages/protocol/deployments/13370/Uniswap.NFTDescriptor.json b/packages/protocol/deployments/13370/Uniswap.NFTDescriptor.json
index 7aec78a6..536961db 100644
--- a/packages/protocol/deployments/13370/Uniswap.NFTDescriptor.json
+++ b/packages/protocol/deployments/13370/Uniswap.NFTDescriptor.json
@@ -97,7 +97,7 @@
"linkedLibraries": {},
"deployTxnHash": "0x4f80fa4eb9453334f7e1039e6650362b31dbefd37cb97288a4c4ce7343e78f84",
"deployTxnBlockNumber": "6",
- "deployTimestamp": "1722387333",
+ "deployTimestamp": "1722798313",
"sourceName": "contracts/libraries/NFTDescriptor.sol",
"contractName": "NFTDescriptor",
"deployedOn": "deploy.NFTDescriptor",
diff --git a/packages/protocol/deployments/13370/Uniswap.NonfungiblePositionManager.json b/packages/protocol/deployments/13370/Uniswap.NonfungiblePositionManager.json
index 2ec7add2..241accac 100644
--- a/packages/protocol/deployments/13370/Uniswap.NonfungiblePositionManager.json
+++ b/packages/protocol/deployments/13370/Uniswap.NonfungiblePositionManager.json
@@ -1229,7 +1229,7 @@
"linkedLibraries": {},
"deployTxnHash": "0xde94cbbd26e2b9788d598dc8ec563c9f9703883879a9548c6d5f0d1cfc5af56b",
"deployTxnBlockNumber": "12",
- "deployTimestamp": "1722387333",
+ "deployTimestamp": "1722798313",
"sourceName": "contracts/NonfungiblePositionManager.sol",
"contractName": "NonfungiblePositionManager",
"deployedOn": "deploy.NonfungiblePositionManager",
diff --git a/packages/protocol/deployments/13370/Uniswap.NonfungibleTokenPositionDescriptor.json b/packages/protocol/deployments/13370/Uniswap.NonfungibleTokenPositionDescriptor.json
index ac5b6ab7..244653cd 100644
--- a/packages/protocol/deployments/13370/Uniswap.NonfungibleTokenPositionDescriptor.json
+++ b/packages/protocol/deployments/13370/Uniswap.NonfungibleTokenPositionDescriptor.json
@@ -145,7 +145,7 @@
},
"deployTxnHash": "0x10883daf11b005c175d09ba813de6ea3c63efd9833a92a12ede7276ba7a7c849",
"deployTxnBlockNumber": "8",
- "deployTimestamp": "1722387333",
+ "deployTimestamp": "1722798313",
"sourceName": "contracts/NonfungibleTokenPositionDescriptor.sol",
"contractName": "NonfungibleTokenPositionDescriptor",
"deployedOn": "deploy.NonfungibleTokenPositionDescriptor",
diff --git a/packages/protocol/deployments/13370/Uniswap.ProxyAdmin.json b/packages/protocol/deployments/13370/Uniswap.ProxyAdmin.json
index 2c0e10a0..9f218296 100644
--- a/packages/protocol/deployments/13370/Uniswap.ProxyAdmin.json
+++ b/packages/protocol/deployments/13370/Uniswap.ProxyAdmin.json
@@ -155,7 +155,7 @@
"linkedLibraries": {},
"deployTxnHash": "0xec0692423399c3d742c864060cd640bc3e7a966cb4ede764a323ab91fe6c52d1",
"deployTxnBlockNumber": "5",
- "deployTimestamp": "1722387336",
+ "deployTimestamp": "1722798316",
"sourceName": "@openzeppelin/contracts/proxy/ProxyAdmin.sol",
"contractName": "ProxyAdmin",
"deployedOn": "deploy.ProxyAdmin",
diff --git a/packages/protocol/deployments/13370/Uniswap.Quoter.json b/packages/protocol/deployments/13370/Uniswap.Quoter.json
index a86e6440..2e0990b8 100644
--- a/packages/protocol/deployments/13370/Uniswap.Quoter.json
+++ b/packages/protocol/deployments/13370/Uniswap.Quoter.json
@@ -200,7 +200,7 @@
"linkedLibraries": {},
"deployTxnHash": "0x77e143643e4884a308dec6693d86e0e658de1f16802df6db35f444c2ebc02ddd",
"deployTxnBlockNumber": "3",
- "deployTimestamp": "1722387334",
+ "deployTimestamp": "1722798314",
"sourceName": "contracts/lens/Quoter.sol",
"contractName": "Quoter",
"deployedOn": "deploy.Quoter",
diff --git a/packages/protocol/deployments/13370/Uniswap.SwapRouter.json b/packages/protocol/deployments/13370/Uniswap.SwapRouter.json
index 10d71b98..aaf5dd58 100644
--- a/packages/protocol/deployments/13370/Uniswap.SwapRouter.json
+++ b/packages/protocol/deployments/13370/Uniswap.SwapRouter.json
@@ -572,7 +572,7 @@
"linkedLibraries": {},
"deployTxnHash": "0x34c75edbab5990d7b1e9441df2d4378da661672d4de365f41a3657d1d3c54e11",
"deployTxnBlockNumber": "4",
- "deployTimestamp": "1722387335",
+ "deployTimestamp": "1722798315",
"sourceName": "contracts/SwapRouter.sol",
"contractName": "SwapRouter",
"deployedOn": "deploy.SwapRouter",
diff --git a/packages/protocol/deployments/13370/Uniswap.TickLens.json b/packages/protocol/deployments/13370/Uniswap.TickLens.json
index 1a6b3f34..4111b2e9 100644
--- a/packages/protocol/deployments/13370/Uniswap.TickLens.json
+++ b/packages/protocol/deployments/13370/Uniswap.TickLens.json
@@ -47,7 +47,7 @@
"linkedLibraries": {},
"deployTxnHash": "0xe86d0528829e851224aff055a91d81d0a8ffe44446c2664342f16ed023929f4d",
"deployTxnBlockNumber": "6",
- "deployTimestamp": "1722387337",
+ "deployTimestamp": "1722798317",
"sourceName": "contracts/lens/TickLens.sol",
"contractName": "TickLens",
"deployedOn": "deploy.TickLens",
diff --git a/packages/protocol/deployments/13370/Uniswap.TransparentUpgradeableProxy.json b/packages/protocol/deployments/13370/Uniswap.TransparentUpgradeableProxy.json
index 0bf79fee..286211ca 100644
--- a/packages/protocol/deployments/13370/Uniswap.TransparentUpgradeableProxy.json
+++ b/packages/protocol/deployments/13370/Uniswap.TransparentUpgradeableProxy.json
@@ -141,7 +141,7 @@
"linkedLibraries": {},
"deployTxnHash": "0x488f88a8c7d794288db591295391a226738ac6ed932f71f0f4fd3a3a5519a868",
"deployTxnBlockNumber": "10",
- "deployTimestamp": "1722387333",
+ "deployTimestamp": "1722798313",
"sourceName": "@openzeppelin/contracts/proxy/TransparentUpgradeableProxy.sol",
"contractName": "TransparentUpgradeableProxy",
"deployedOn": "deploy.TransparentUpgradeableProxy",
diff --git a/packages/protocol/deployments/BondCurrency.Token.json b/packages/protocol/deployments/BondCurrency.Token.json
index fd14bc45..12d4566e 100644
--- a/packages/protocol/deployments/BondCurrency.Token.json
+++ b/packages/protocol/deployments/BondCurrency.Token.json
@@ -319,7 +319,7 @@
"linkedLibraries": {},
"deployTxnHash": "0x12ee0b194db4db0157edc1ecd4711e1b128110b845c2232c6b427b5749ddc7a5",
"deployTxnBlockNumber": "2",
- "deployTimestamp": "1722754532",
+ "deployTimestamp": "1722798325",
"sourceName": "src/MintableTokenPermissionlessMint.sol",
"contractName": "MintableTokenPermissionlessMint",
"deployedOn": "contract.Token",
diff --git a/packages/protocol/deployments/CollateralAsset.Token.json b/packages/protocol/deployments/CollateralAsset.Token.json
index ca0248bb..d55e701d 100644
--- a/packages/protocol/deployments/CollateralAsset.Token.json
+++ b/packages/protocol/deployments/CollateralAsset.Token.json
@@ -319,7 +319,7 @@
"linkedLibraries": {},
"deployTxnHash": "0x6add4be37a653aaf5ba967fc8163d59e33e29d487ad632af66209495e5d42051",
"deployTxnBlockNumber": "2",
- "deployTimestamp": "1722754532",
+ "deployTimestamp": "1722798325",
"sourceName": "src/MintableTokenPermissionlessMint.sol",
"contractName": "MintableTokenPermissionlessMint",
"deployedOn": "contract.Token",
diff --git a/packages/protocol/deployments/EpochConfigurationModule.json b/packages/protocol/deployments/EpochConfigurationModule.json
index da26501e..d8c5c782 100644
--- a/packages/protocol/deployments/EpochConfigurationModule.json
+++ b/packages/protocol/deployments/EpochConfigurationModule.json
@@ -1,5 +1,5 @@
{
- "address": "0xDD59E99E336FF485ec3C8420dd7CE128F1b806e3",
+ "address": "0x6E3BB76f9994427aC4B2A02FAd946B9b155aF977",
"abi": [
{
"type": "function",
@@ -407,12 +407,12 @@
],
"constructorArgs": [],
"linkedLibraries": {},
- "deployTxnHash": "0xb3d7b11ccdbb240b670d6d65fa796bfc2f4cfc9818293378496c36e2add84036",
+ "deployTxnHash": "0xecb1c4b1248d5ca55e59d6e5a1d336e10ecca04c4db705656a025335e34eb472",
"deployTxnBlockNumber": "3",
- "deployTimestamp": "1722754340",
+ "deployTimestamp": "1722798191",
"sourceName": "src/contracts/modules/EpochConfigurationModule.sol",
"contractName": "EpochConfigurationModule",
"deployedOn": "deploy.EpochConfigurationModule",
- "gasUsed": 2256590,
- "gasCost": "1005326146"
+ "gasUsed": 2257070,
+ "gasCost": "1004662731"
}
\ No newline at end of file
diff --git a/packages/protocol/deployments/EpochLiquidityModule.json b/packages/protocol/deployments/EpochLiquidityModule.json
index 88056d1e..3b67dd93 100644
--- a/packages/protocol/deployments/EpochLiquidityModule.json
+++ b/packages/protocol/deployments/EpochLiquidityModule.json
@@ -1,5 +1,5 @@
{
- "address": "0x7C244D9661bF634ca8909C4058924513f30CE6C0",
+ "address": "0x7Cb58d50176F46988b37183Bfb8a50727Bc56e78",
"abi": [
{
"type": "function",
@@ -494,12 +494,12 @@
],
"constructorArgs": [],
"linkedLibraries": {},
- "deployTxnHash": "0xc422f47a846c7efdfc6439b4363a85d3054f52a81d1c8e50fd57fbadc24221e9",
+ "deployTxnHash": "0x993757da21f36ac0eb077b9b1ef918d47b6b01683242685ca161985959d4b800",
"deployTxnBlockNumber": "1",
- "deployTimestamp": "1722754422",
+ "deployTimestamp": "1722798190",
"sourceName": "src/contracts/modules/EpochLiquidityModule.sol",
"contractName": "EpochLiquidityModule",
"deployedOn": "deploy.EpochLiquidityModule",
- "gasUsed": 2132620,
- "gasCost": "1006087024"
+ "gasUsed": 2131396,
+ "gasCost": "1004167591"
}
\ No newline at end of file
diff --git a/packages/protocol/deployments/EpochNftModule.json b/packages/protocol/deployments/EpochNftModule.json
index 037b69e2..cafebc0d 100644
--- a/packages/protocol/deployments/EpochNftModule.json
+++ b/packages/protocol/deployments/EpochNftModule.json
@@ -1,5 +1,5 @@
{
- "address": "0x2D2d2691C3EDa27230629e63BeA05118f819A532",
+ "address": "0x8c8D53F8647FfB4A864B63AD387147A5F04aeD7e",
"abi": [
{
"type": "constructor",
@@ -463,12 +463,12 @@
],
"constructorArgs": [],
"linkedLibraries": {},
- "deployTxnHash": "0x66e8987f6e5aff04214cd54435403d5a20de7595ee6de8bedaecbcea92c22bc2",
+ "deployTxnHash": "0x560d15dbaef56fb8d0eeca94e1830074bce0b79f2601b3cd0654e9f36714ef81",
"deployTxnBlockNumber": "1",
- "deployTimestamp": "1722614880",
+ "deployTimestamp": "1722798190",
"sourceName": "src/contracts/modules/EpochNftModule.sol",
"contractName": "EpochNftModule",
"deployedOn": "deploy.EpochNftModule",
- "gasUsed": 1192258,
- "gasCost": "1004240135"
+ "gasUsed": 1190314,
+ "gasCost": "1003720666"
}
\ No newline at end of file
diff --git a/packages/protocol/deployments/EpochTradeModule.json b/packages/protocol/deployments/EpochTradeModule.json
index 9f6cb9a0..b662c443 100644
--- a/packages/protocol/deployments/EpochTradeModule.json
+++ b/packages/protocol/deployments/EpochTradeModule.json
@@ -1,5 +1,5 @@
{
- "address": "0x33ad0458323a7b02dC054943EBf4fC0a27aab7D2",
+ "address": "0x7A4F7aB53bD91ccb7eA86D31914293725D7f0b03",
"abi": [
{
"type": "function",
@@ -162,12 +162,12 @@
],
"constructorArgs": [],
"linkedLibraries": {},
- "deployTxnHash": "0xb8082e21b44eb7833bb45a2939ea36f9bbbdd9fa05aada3dd1f95c61a35586d1",
+ "deployTxnHash": "0x7134b76bf987e8dd49d9a5094b90d42e8d228e37c5e89bf89ab40b2fed411967",
"deployTxnBlockNumber": "1",
- "deployTimestamp": "1722754339",
+ "deployTimestamp": "1722798190",
"sourceName": "src/contracts/modules/EpochTradeModule.sol",
"contractName": "EpochTradeModule",
"deployedOn": "deploy.EpochTradeModule",
- "gasUsed": 1832703,
- "gasCost": "1004250407"
+ "gasUsed": 1829463,
+ "gasCost": "1003292490"
}
\ No newline at end of file
diff --git a/packages/protocol/deployments/EpochUMASettlementModule.json b/packages/protocol/deployments/EpochUMASettlementModule.json
index f1c50c82..f2f2694d 100644
--- a/packages/protocol/deployments/EpochUMASettlementModule.json
+++ b/packages/protocol/deployments/EpochUMASettlementModule.json
@@ -1,5 +1,5 @@
{
- "address": "0xBF8e2C989bd27f1FF133f29542d2719341BA8954",
+ "address": "0x00324b4B2334C34558623e329fd5b7a34D32b13e",
"abi": [
{
"type": "function",
@@ -142,12 +142,12 @@
],
"constructorArgs": [],
"linkedLibraries": {},
- "deployTxnHash": "0xf8877aed889f507ed352bcbd81ba5c0a9718610039c48ee31e064828044025fb",
+ "deployTxnHash": "0x8836c8cca2cac0aae3ac3fc8222f4c9affc9b216f00380a0a46355cedc8d5341",
"deployTxnBlockNumber": "1",
- "deployTimestamp": "1722754339",
+ "deployTimestamp": "1722798190",
"sourceName": "src/contracts/modules/EpochUMASettlementModule.sol",
"contractName": "EpochUMASettlementModule",
"deployedOn": "deploy.EpochUMASettlementModule",
- "gasUsed": 766496,
- "gasCost": "1003784021"
+ "gasUsed": 762618,
+ "gasCost": "1002931125"
}
\ No newline at end of file
diff --git a/packages/protocol/deployments/Foil.json b/packages/protocol/deployments/Foil.json
index 3c1a4c91..ff37ba14 100644
--- a/packages/protocol/deployments/Foil.json
+++ b/packages/protocol/deployments/Foil.json
@@ -1,5 +1,5 @@
{
- "address": "0x76f9e59a9e68dee497ec7aeb4261d089bf6360d0",
+ "address": "0xa7514ec04ebc7efa0dedd26a6af5b92b2d0ba287",
"abi": [
{
"type": "function",
@@ -1523,11 +1523,11 @@
}
],
"deployedOn": "router.Foil",
- "deployTxnHash": "0xbf62116248415e97431c6592b08fd2ca6b14152c44ebaa7fd432d2e38b9801b8",
+ "deployTxnHash": "0x2fabcdad68a1ab483b51e99875bb55c32c90f57c7e5ac29952c3f3acdcc44bd9",
"deployTxnBlockNumber": "3",
- "deployTimestamp": "1722754427",
+ "deployTimestamp": "1722798195",
"contractName": "Foil",
"sourceName": "Foil.sol",
- "gasUsed": 439989,
- "gasCost": "1002787316"
+ "gasUsed": 439335,
+ "gasCost": "1001325031"
}
\ No newline at end of file
diff --git a/packages/protocol/deployments/ReentrancyGuard.json b/packages/protocol/deployments/ReentrancyGuard.json
index b003f92e..6cf6d5c0 100644
--- a/packages/protocol/deployments/ReentrancyGuard.json
+++ b/packages/protocol/deployments/ReentrancyGuard.json
@@ -11,7 +11,7 @@
"linkedLibraries": {},
"deployTxnHash": "0x0f84422301028f15368200101d2f1f120bb1199b08f862a7635b4bbef4db326f",
"deployTxnBlockNumber": "1",
- "deployTimestamp": "1722380030",
+ "deployTimestamp": "1722798190",
"sourceName": "node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol",
"contractName": "ReentrancyGuard",
"deployedOn": "deploy.ReentrancyGuard",
diff --git a/packages/protocol/deployments/UMA.Finder.json b/packages/protocol/deployments/UMA.Finder.json
index d1b8ad3f..86f26054 100644
--- a/packages/protocol/deployments/UMA.Finder.json
+++ b/packages/protocol/deployments/UMA.Finder.json
@@ -133,7 +133,7 @@
"linkedLibraries": {},
"deployTxnHash": "0x3a4a94e89b04105532165c355ee28b7b969e45233aa52edca551b3b1c82bdc5d",
"deployTxnBlockNumber": "1",
- "deployTimestamp": "1722754528",
+ "deployTimestamp": "1722798321",
"sourceName": "src/UMA/Finder.sol",
"contractName": "Finder",
"deployedOn": "deploy.Finder",
diff --git a/packages/protocol/deployments/UMA.MockOracleAncillary.json b/packages/protocol/deployments/UMA.MockOracleAncillary.json
index 34cbc6be..d4fe9a51 100644
--- a/packages/protocol/deployments/UMA.MockOracleAncillary.json
+++ b/packages/protocol/deployments/UMA.MockOracleAncillary.json
@@ -337,7 +337,7 @@
"linkedLibraries": {},
"deployTxnHash": "0x43618c7361ca78b0aab21b92675caacbc9e19526846c8e179199b6ccf1566b3f",
"deployTxnBlockNumber": "3",
- "deployTimestamp": "1722754530",
+ "deployTimestamp": "1722798323",
"sourceName": "node_modules/@uma/core/contracts/data-verification-mechanism/test/MockOracleAncillary.sol",
"contractName": "MockOracleAncillary",
"deployedOn": "deploy.MockOracleAncillary",
diff --git a/packages/protocol/deployments/UMA.Timer.json b/packages/protocol/deployments/UMA.Timer.json
index 6cfc5481..44bb4a64 100644
--- a/packages/protocol/deployments/UMA.Timer.json
+++ b/packages/protocol/deployments/UMA.Timer.json
@@ -32,7 +32,7 @@
"linkedLibraries": {},
"deployTxnHash": "0x29b7ae3d95bb5bbf8d49183656651fd97d2f53d56735b7e2fd7d063f6346bf55",
"deployTxnBlockNumber": "1",
- "deployTimestamp": "1722754528",
+ "deployTimestamp": "1722798321",
"sourceName": "src/UMA/Timer.sol",
"contractName": "Timer",
"deployedOn": "deploy.Timer",
diff --git a/packages/protocol/deployments/Uniswap.Core.UniswapV3Factory.json b/packages/protocol/deployments/Uniswap.Core.UniswapV3Factory.json
index 4071e04a..f3159ad0 100644
--- a/packages/protocol/deployments/Uniswap.Core.UniswapV3Factory.json
+++ b/packages/protocol/deployments/Uniswap.Core.UniswapV3Factory.json
@@ -240,7 +240,7 @@
"linkedLibraries": {},
"deployTxnHash": "0x092ab39ca583e8ec4129b58d4fd95e709512b32cbc98002efadca0218e4a84a3",
"deployTxnBlockNumber": "3",
- "deployTimestamp": "1722754530",
+ "deployTimestamp": "1722798323",
"sourceName": "contracts/UniswapV3Factory.sol",
"contractName": "UniswapV3Factory",
"deployedOn": "deploy.UniswapV3Factory",
diff --git a/packages/protocol/deployments/Uniswap.NFTDescriptor.json b/packages/protocol/deployments/Uniswap.NFTDescriptor.json
index 92a1eb17..8ad69e9f 100644
--- a/packages/protocol/deployments/Uniswap.NFTDescriptor.json
+++ b/packages/protocol/deployments/Uniswap.NFTDescriptor.json
@@ -97,7 +97,7 @@
"linkedLibraries": {},
"deployTxnHash": "0x4f80fa4eb9453334f7e1039e6650362b31dbefd37cb97288a4c4ce7343e78f84",
"deployTxnBlockNumber": "6",
- "deployTimestamp": "1722754529",
+ "deployTimestamp": "1722798322",
"sourceName": "contracts/libraries/NFTDescriptor.sol",
"contractName": "NFTDescriptor",
"deployedOn": "deploy.NFTDescriptor",
diff --git a/packages/protocol/deployments/Uniswap.NonfungiblePositionManager.json b/packages/protocol/deployments/Uniswap.NonfungiblePositionManager.json
index d50d1271..1dbe8756 100644
--- a/packages/protocol/deployments/Uniswap.NonfungiblePositionManager.json
+++ b/packages/protocol/deployments/Uniswap.NonfungiblePositionManager.json
@@ -1229,7 +1229,7 @@
"linkedLibraries": {},
"deployTxnHash": "0xde94cbbd26e2b9788d598dc8ec563c9f9703883879a9548c6d5f0d1cfc5af56b",
"deployTxnBlockNumber": "12",
- "deployTimestamp": "1722754529",
+ "deployTimestamp": "1722798322",
"sourceName": "contracts/NonfungiblePositionManager.sol",
"contractName": "NonfungiblePositionManager",
"deployedOn": "deploy.NonfungiblePositionManager",
diff --git a/packages/protocol/deployments/Uniswap.NonfungibleTokenPositionDescriptor.json b/packages/protocol/deployments/Uniswap.NonfungibleTokenPositionDescriptor.json
index 62bd6a05..23c3b904 100644
--- a/packages/protocol/deployments/Uniswap.NonfungibleTokenPositionDescriptor.json
+++ b/packages/protocol/deployments/Uniswap.NonfungibleTokenPositionDescriptor.json
@@ -145,7 +145,7 @@
},
"deployTxnHash": "0x10883daf11b005c175d09ba813de6ea3c63efd9833a92a12ede7276ba7a7c849",
"deployTxnBlockNumber": "8",
- "deployTimestamp": "1722754529",
+ "deployTimestamp": "1722798322",
"sourceName": "contracts/NonfungibleTokenPositionDescriptor.sol",
"contractName": "NonfungibleTokenPositionDescriptor",
"deployedOn": "deploy.NonfungibleTokenPositionDescriptor",
diff --git a/packages/protocol/deployments/Uniswap.ProxyAdmin.json b/packages/protocol/deployments/Uniswap.ProxyAdmin.json
index 300dae43..474484b0 100644
--- a/packages/protocol/deployments/Uniswap.ProxyAdmin.json
+++ b/packages/protocol/deployments/Uniswap.ProxyAdmin.json
@@ -155,7 +155,7 @@
"linkedLibraries": {},
"deployTxnHash": "0xec0692423399c3d742c864060cd640bc3e7a966cb4ede764a323ab91fe6c52d1",
"deployTxnBlockNumber": "5",
- "deployTimestamp": "1722754532",
+ "deployTimestamp": "1722798325",
"sourceName": "@openzeppelin/contracts/proxy/ProxyAdmin.sol",
"contractName": "ProxyAdmin",
"deployedOn": "deploy.ProxyAdmin",
diff --git a/packages/protocol/deployments/Uniswap.Quoter.json b/packages/protocol/deployments/Uniswap.Quoter.json
index a46a2cbc..1970ebc7 100644
--- a/packages/protocol/deployments/Uniswap.Quoter.json
+++ b/packages/protocol/deployments/Uniswap.Quoter.json
@@ -200,7 +200,7 @@
"linkedLibraries": {},
"deployTxnHash": "0x77e143643e4884a308dec6693d86e0e658de1f16802df6db35f444c2ebc02ddd",
"deployTxnBlockNumber": "3",
- "deployTimestamp": "1722754530",
+ "deployTimestamp": "1722798323",
"sourceName": "contracts/lens/Quoter.sol",
"contractName": "Quoter",
"deployedOn": "deploy.Quoter",
diff --git a/packages/protocol/deployments/Uniswap.SwapRouter.json b/packages/protocol/deployments/Uniswap.SwapRouter.json
index 8e2fd673..a14602bf 100644
--- a/packages/protocol/deployments/Uniswap.SwapRouter.json
+++ b/packages/protocol/deployments/Uniswap.SwapRouter.json
@@ -572,7 +572,7 @@
"linkedLibraries": {},
"deployTxnHash": "0x34c75edbab5990d7b1e9441df2d4378da661672d4de365f41a3657d1d3c54e11",
"deployTxnBlockNumber": "4",
- "deployTimestamp": "1722754531",
+ "deployTimestamp": "1722798324",
"sourceName": "contracts/SwapRouter.sol",
"contractName": "SwapRouter",
"deployedOn": "deploy.SwapRouter",
diff --git a/packages/protocol/deployments/Uniswap.TickLens.json b/packages/protocol/deployments/Uniswap.TickLens.json
index 18515d56..2d2226fa 100644
--- a/packages/protocol/deployments/Uniswap.TickLens.json
+++ b/packages/protocol/deployments/Uniswap.TickLens.json
@@ -47,7 +47,7 @@
"linkedLibraries": {},
"deployTxnHash": "0xe86d0528829e851224aff055a91d81d0a8ffe44446c2664342f16ed023929f4d",
"deployTxnBlockNumber": "6",
- "deployTimestamp": "1722754533",
+ "deployTimestamp": "1722798326",
"sourceName": "contracts/lens/TickLens.sol",
"contractName": "TickLens",
"deployedOn": "deploy.TickLens",
diff --git a/packages/protocol/deployments/Uniswap.TransparentUpgradeableProxy.json b/packages/protocol/deployments/Uniswap.TransparentUpgradeableProxy.json
index 486b827b..76ba52c1 100644
--- a/packages/protocol/deployments/Uniswap.TransparentUpgradeableProxy.json
+++ b/packages/protocol/deployments/Uniswap.TransparentUpgradeableProxy.json
@@ -141,7 +141,7 @@
"linkedLibraries": {},
"deployTxnHash": "0x488f88a8c7d794288db591295391a226738ac6ed932f71f0f4fd3a3a5519a868",
"deployTxnBlockNumber": "10",
- "deployTimestamp": "1722754529",
+ "deployTimestamp": "1722798322",
"sourceName": "@openzeppelin/contracts/proxy/TransparentUpgradeableProxy.sol",
"contractName": "TransparentUpgradeableProxy",
"deployedOn": "deploy.TransparentUpgradeableProxy",
diff --git a/packages/protocol/deployments/test/BondCurrency.Token.json b/packages/protocol/deployments/test/BondCurrency.Token.json
index 3fa4f17c..67747dab 100644
--- a/packages/protocol/deployments/test/BondCurrency.Token.json
+++ b/packages/protocol/deployments/test/BondCurrency.Token.json
@@ -319,7 +319,7 @@
"linkedLibraries": {},
"deployTxnHash": "0x12ee0b194db4db0157edc1ecd4711e1b128110b845c2232c6b427b5749ddc7a5",
"deployTxnBlockNumber": "2",
- "deployTimestamp": "1722754539",
+ "deployTimestamp": "1722798330",
"sourceName": "src/MintableTokenPermissionlessMint.sol",
"contractName": "MintableTokenPermissionlessMint",
"deployedOn": "contract.Token",
diff --git a/packages/protocol/deployments/test/CollateralAsset.Token.json b/packages/protocol/deployments/test/CollateralAsset.Token.json
index 696c94c2..a1154d2b 100644
--- a/packages/protocol/deployments/test/CollateralAsset.Token.json
+++ b/packages/protocol/deployments/test/CollateralAsset.Token.json
@@ -319,7 +319,7 @@
"linkedLibraries": {},
"deployTxnHash": "0x6add4be37a653aaf5ba967fc8163d59e33e29d487ad632af66209495e5d42051",
"deployTxnBlockNumber": "2",
- "deployTimestamp": "1722754539",
+ "deployTimestamp": "1722798330",
"sourceName": "src/MintableTokenPermissionlessMint.sol",
"contractName": "MintableTokenPermissionlessMint",
"deployedOn": "contract.Token",
diff --git a/packages/protocol/deployments/test/EpochConfigurationModule.json b/packages/protocol/deployments/test/EpochConfigurationModule.json
index da26501e..d8c5c782 100644
--- a/packages/protocol/deployments/test/EpochConfigurationModule.json
+++ b/packages/protocol/deployments/test/EpochConfigurationModule.json
@@ -1,5 +1,5 @@
{
- "address": "0xDD59E99E336FF485ec3C8420dd7CE128F1b806e3",
+ "address": "0x6E3BB76f9994427aC4B2A02FAd946B9b155aF977",
"abi": [
{
"type": "function",
@@ -407,12 +407,12 @@
],
"constructorArgs": [],
"linkedLibraries": {},
- "deployTxnHash": "0xb3d7b11ccdbb240b670d6d65fa796bfc2f4cfc9818293378496c36e2add84036",
+ "deployTxnHash": "0xecb1c4b1248d5ca55e59d6e5a1d336e10ecca04c4db705656a025335e34eb472",
"deployTxnBlockNumber": "3",
- "deployTimestamp": "1722754340",
+ "deployTimestamp": "1722798191",
"sourceName": "src/contracts/modules/EpochConfigurationModule.sol",
"contractName": "EpochConfigurationModule",
"deployedOn": "deploy.EpochConfigurationModule",
- "gasUsed": 2256590,
- "gasCost": "1005326146"
+ "gasUsed": 2257070,
+ "gasCost": "1004662731"
}
\ No newline at end of file
diff --git a/packages/protocol/deployments/test/EpochLiquidityModule.json b/packages/protocol/deployments/test/EpochLiquidityModule.json
index 88056d1e..3b67dd93 100644
--- a/packages/protocol/deployments/test/EpochLiquidityModule.json
+++ b/packages/protocol/deployments/test/EpochLiquidityModule.json
@@ -1,5 +1,5 @@
{
- "address": "0x7C244D9661bF634ca8909C4058924513f30CE6C0",
+ "address": "0x7Cb58d50176F46988b37183Bfb8a50727Bc56e78",
"abi": [
{
"type": "function",
@@ -494,12 +494,12 @@
],
"constructorArgs": [],
"linkedLibraries": {},
- "deployTxnHash": "0xc422f47a846c7efdfc6439b4363a85d3054f52a81d1c8e50fd57fbadc24221e9",
+ "deployTxnHash": "0x993757da21f36ac0eb077b9b1ef918d47b6b01683242685ca161985959d4b800",
"deployTxnBlockNumber": "1",
- "deployTimestamp": "1722754422",
+ "deployTimestamp": "1722798190",
"sourceName": "src/contracts/modules/EpochLiquidityModule.sol",
"contractName": "EpochLiquidityModule",
"deployedOn": "deploy.EpochLiquidityModule",
- "gasUsed": 2132620,
- "gasCost": "1006087024"
+ "gasUsed": 2131396,
+ "gasCost": "1004167591"
}
\ No newline at end of file
diff --git a/packages/protocol/deployments/test/EpochNftModule.json b/packages/protocol/deployments/test/EpochNftModule.json
index 037b69e2..cafebc0d 100644
--- a/packages/protocol/deployments/test/EpochNftModule.json
+++ b/packages/protocol/deployments/test/EpochNftModule.json
@@ -1,5 +1,5 @@
{
- "address": "0x2D2d2691C3EDa27230629e63BeA05118f819A532",
+ "address": "0x8c8D53F8647FfB4A864B63AD387147A5F04aeD7e",
"abi": [
{
"type": "constructor",
@@ -463,12 +463,12 @@
],
"constructorArgs": [],
"linkedLibraries": {},
- "deployTxnHash": "0x66e8987f6e5aff04214cd54435403d5a20de7595ee6de8bedaecbcea92c22bc2",
+ "deployTxnHash": "0x560d15dbaef56fb8d0eeca94e1830074bce0b79f2601b3cd0654e9f36714ef81",
"deployTxnBlockNumber": "1",
- "deployTimestamp": "1722614880",
+ "deployTimestamp": "1722798190",
"sourceName": "src/contracts/modules/EpochNftModule.sol",
"contractName": "EpochNftModule",
"deployedOn": "deploy.EpochNftModule",
- "gasUsed": 1192258,
- "gasCost": "1004240135"
+ "gasUsed": 1190314,
+ "gasCost": "1003720666"
}
\ No newline at end of file
diff --git a/packages/protocol/deployments/test/EpochTradeModule.json b/packages/protocol/deployments/test/EpochTradeModule.json
index 9f6cb9a0..b662c443 100644
--- a/packages/protocol/deployments/test/EpochTradeModule.json
+++ b/packages/protocol/deployments/test/EpochTradeModule.json
@@ -1,5 +1,5 @@
{
- "address": "0x33ad0458323a7b02dC054943EBf4fC0a27aab7D2",
+ "address": "0x7A4F7aB53bD91ccb7eA86D31914293725D7f0b03",
"abi": [
{
"type": "function",
@@ -162,12 +162,12 @@
],
"constructorArgs": [],
"linkedLibraries": {},
- "deployTxnHash": "0xb8082e21b44eb7833bb45a2939ea36f9bbbdd9fa05aada3dd1f95c61a35586d1",
+ "deployTxnHash": "0x7134b76bf987e8dd49d9a5094b90d42e8d228e37c5e89bf89ab40b2fed411967",
"deployTxnBlockNumber": "1",
- "deployTimestamp": "1722754339",
+ "deployTimestamp": "1722798190",
"sourceName": "src/contracts/modules/EpochTradeModule.sol",
"contractName": "EpochTradeModule",
"deployedOn": "deploy.EpochTradeModule",
- "gasUsed": 1832703,
- "gasCost": "1004250407"
+ "gasUsed": 1829463,
+ "gasCost": "1003292490"
}
\ No newline at end of file
diff --git a/packages/protocol/deployments/test/EpochUMASettlementModule.json b/packages/protocol/deployments/test/EpochUMASettlementModule.json
index f1c50c82..f2f2694d 100644
--- a/packages/protocol/deployments/test/EpochUMASettlementModule.json
+++ b/packages/protocol/deployments/test/EpochUMASettlementModule.json
@@ -1,5 +1,5 @@
{
- "address": "0xBF8e2C989bd27f1FF133f29542d2719341BA8954",
+ "address": "0x00324b4B2334C34558623e329fd5b7a34D32b13e",
"abi": [
{
"type": "function",
@@ -142,12 +142,12 @@
],
"constructorArgs": [],
"linkedLibraries": {},
- "deployTxnHash": "0xf8877aed889f507ed352bcbd81ba5c0a9718610039c48ee31e064828044025fb",
+ "deployTxnHash": "0x8836c8cca2cac0aae3ac3fc8222f4c9affc9b216f00380a0a46355cedc8d5341",
"deployTxnBlockNumber": "1",
- "deployTimestamp": "1722754339",
+ "deployTimestamp": "1722798190",
"sourceName": "src/contracts/modules/EpochUMASettlementModule.sol",
"contractName": "EpochUMASettlementModule",
"deployedOn": "deploy.EpochUMASettlementModule",
- "gasUsed": 766496,
- "gasCost": "1003784021"
+ "gasUsed": 762618,
+ "gasCost": "1002931125"
}
\ No newline at end of file
diff --git a/packages/protocol/deployments/test/Foil.json b/packages/protocol/deployments/test/Foil.json
index 3c1a4c91..ff37ba14 100644
--- a/packages/protocol/deployments/test/Foil.json
+++ b/packages/protocol/deployments/test/Foil.json
@@ -1,5 +1,5 @@
{
- "address": "0x76f9e59a9e68dee497ec7aeb4261d089bf6360d0",
+ "address": "0xa7514ec04ebc7efa0dedd26a6af5b92b2d0ba287",
"abi": [
{
"type": "function",
@@ -1523,11 +1523,11 @@
}
],
"deployedOn": "router.Foil",
- "deployTxnHash": "0xbf62116248415e97431c6592b08fd2ca6b14152c44ebaa7fd432d2e38b9801b8",
+ "deployTxnHash": "0x2fabcdad68a1ab483b51e99875bb55c32c90f57c7e5ac29952c3f3acdcc44bd9",
"deployTxnBlockNumber": "3",
- "deployTimestamp": "1722754427",
+ "deployTimestamp": "1722798195",
"contractName": "Foil",
"sourceName": "Foil.sol",
- "gasUsed": 439989,
- "gasCost": "1002787316"
+ "gasUsed": 439335,
+ "gasCost": "1001325031"
}
\ No newline at end of file
diff --git a/packages/protocol/deployments/test/ReentrancyGuard.json b/packages/protocol/deployments/test/ReentrancyGuard.json
index b003f92e..6cf6d5c0 100644
--- a/packages/protocol/deployments/test/ReentrancyGuard.json
+++ b/packages/protocol/deployments/test/ReentrancyGuard.json
@@ -11,7 +11,7 @@
"linkedLibraries": {},
"deployTxnHash": "0x0f84422301028f15368200101d2f1f120bb1199b08f862a7635b4bbef4db326f",
"deployTxnBlockNumber": "1",
- "deployTimestamp": "1722380030",
+ "deployTimestamp": "1722798190",
"sourceName": "node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol",
"contractName": "ReentrancyGuard",
"deployedOn": "deploy.ReentrancyGuard",
diff --git a/packages/protocol/deployments/test/UMA.Finder.json b/packages/protocol/deployments/test/UMA.Finder.json
index 932baf61..d1c26932 100644
--- a/packages/protocol/deployments/test/UMA.Finder.json
+++ b/packages/protocol/deployments/test/UMA.Finder.json
@@ -133,7 +133,7 @@
"linkedLibraries": {},
"deployTxnHash": "0x3a4a94e89b04105532165c355ee28b7b969e45233aa52edca551b3b1c82bdc5d",
"deployTxnBlockNumber": "1",
- "deployTimestamp": "1722754535",
+ "deployTimestamp": "1722798326",
"sourceName": "src/UMA/Finder.sol",
"contractName": "Finder",
"deployedOn": "deploy.Finder",
diff --git a/packages/protocol/deployments/test/UMA.MockOracleAncillary.json b/packages/protocol/deployments/test/UMA.MockOracleAncillary.json
index 572327d1..e86c70bb 100644
--- a/packages/protocol/deployments/test/UMA.MockOracleAncillary.json
+++ b/packages/protocol/deployments/test/UMA.MockOracleAncillary.json
@@ -337,7 +337,7 @@
"linkedLibraries": {},
"deployTxnHash": "0x43618c7361ca78b0aab21b92675caacbc9e19526846c8e179199b6ccf1566b3f",
"deployTxnBlockNumber": "3",
- "deployTimestamp": "1722754537",
+ "deployTimestamp": "1722798328",
"sourceName": "node_modules/@uma/core/contracts/data-verification-mechanism/test/MockOracleAncillary.sol",
"contractName": "MockOracleAncillary",
"deployedOn": "deploy.MockOracleAncillary",
diff --git a/packages/protocol/deployments/test/UMA.Timer.json b/packages/protocol/deployments/test/UMA.Timer.json
index 05e944a5..0f0aca56 100644
--- a/packages/protocol/deployments/test/UMA.Timer.json
+++ b/packages/protocol/deployments/test/UMA.Timer.json
@@ -32,7 +32,7 @@
"linkedLibraries": {},
"deployTxnHash": "0x29b7ae3d95bb5bbf8d49183656651fd97d2f53d56735b7e2fd7d063f6346bf55",
"deployTxnBlockNumber": "1",
- "deployTimestamp": "1722754535",
+ "deployTimestamp": "1722798326",
"sourceName": "src/UMA/Timer.sol",
"contractName": "Timer",
"deployedOn": "deploy.Timer",
diff --git a/packages/protocol/deployments/test/Uniswap.Core.UniswapV3Factory.json b/packages/protocol/deployments/test/Uniswap.Core.UniswapV3Factory.json
index 2f2742b9..f24fba16 100644
--- a/packages/protocol/deployments/test/Uniswap.Core.UniswapV3Factory.json
+++ b/packages/protocol/deployments/test/Uniswap.Core.UniswapV3Factory.json
@@ -240,7 +240,7 @@
"linkedLibraries": {},
"deployTxnHash": "0x092ab39ca583e8ec4129b58d4fd95e709512b32cbc98002efadca0218e4a84a3",
"deployTxnBlockNumber": "3",
- "deployTimestamp": "1722754537",
+ "deployTimestamp": "1722798328",
"sourceName": "contracts/UniswapV3Factory.sol",
"contractName": "UniswapV3Factory",
"deployedOn": "deploy.UniswapV3Factory",
diff --git a/packages/protocol/deployments/test/Uniswap.NFTDescriptor.json b/packages/protocol/deployments/test/Uniswap.NFTDescriptor.json
index 7f6333f4..b50ff8cb 100644
--- a/packages/protocol/deployments/test/Uniswap.NFTDescriptor.json
+++ b/packages/protocol/deployments/test/Uniswap.NFTDescriptor.json
@@ -97,7 +97,7 @@
"linkedLibraries": {},
"deployTxnHash": "0x4f80fa4eb9453334f7e1039e6650362b31dbefd37cb97288a4c4ce7343e78f84",
"deployTxnBlockNumber": "6",
- "deployTimestamp": "1722754536",
+ "deployTimestamp": "1722798327",
"sourceName": "contracts/libraries/NFTDescriptor.sol",
"contractName": "NFTDescriptor",
"deployedOn": "deploy.NFTDescriptor",
diff --git a/packages/protocol/deployments/test/Uniswap.NonfungiblePositionManager.json b/packages/protocol/deployments/test/Uniswap.NonfungiblePositionManager.json
index 62ad2fea..959278f5 100644
--- a/packages/protocol/deployments/test/Uniswap.NonfungiblePositionManager.json
+++ b/packages/protocol/deployments/test/Uniswap.NonfungiblePositionManager.json
@@ -1229,7 +1229,7 @@
"linkedLibraries": {},
"deployTxnHash": "0xde94cbbd26e2b9788d598dc8ec563c9f9703883879a9548c6d5f0d1cfc5af56b",
"deployTxnBlockNumber": "12",
- "deployTimestamp": "1722754536",
+ "deployTimestamp": "1722798327",
"sourceName": "contracts/NonfungiblePositionManager.sol",
"contractName": "NonfungiblePositionManager",
"deployedOn": "deploy.NonfungiblePositionManager",
diff --git a/packages/protocol/deployments/test/Uniswap.NonfungibleTokenPositionDescriptor.json b/packages/protocol/deployments/test/Uniswap.NonfungibleTokenPositionDescriptor.json
index b97a8313..0b0d2f4a 100644
--- a/packages/protocol/deployments/test/Uniswap.NonfungibleTokenPositionDescriptor.json
+++ b/packages/protocol/deployments/test/Uniswap.NonfungibleTokenPositionDescriptor.json
@@ -145,7 +145,7 @@
},
"deployTxnHash": "0x10883daf11b005c175d09ba813de6ea3c63efd9833a92a12ede7276ba7a7c849",
"deployTxnBlockNumber": "8",
- "deployTimestamp": "1722754536",
+ "deployTimestamp": "1722798327",
"sourceName": "contracts/NonfungibleTokenPositionDescriptor.sol",
"contractName": "NonfungibleTokenPositionDescriptor",
"deployedOn": "deploy.NonfungibleTokenPositionDescriptor",
diff --git a/packages/protocol/deployments/test/Uniswap.ProxyAdmin.json b/packages/protocol/deployments/test/Uniswap.ProxyAdmin.json
index 3ac0288c..bcf41aea 100644
--- a/packages/protocol/deployments/test/Uniswap.ProxyAdmin.json
+++ b/packages/protocol/deployments/test/Uniswap.ProxyAdmin.json
@@ -155,7 +155,7 @@
"linkedLibraries": {},
"deployTxnHash": "0xec0692423399c3d742c864060cd640bc3e7a966cb4ede764a323ab91fe6c52d1",
"deployTxnBlockNumber": "5",
- "deployTimestamp": "1722754539",
+ "deployTimestamp": "1722798330",
"sourceName": "@openzeppelin/contracts/proxy/ProxyAdmin.sol",
"contractName": "ProxyAdmin",
"deployedOn": "deploy.ProxyAdmin",
diff --git a/packages/protocol/deployments/test/Uniswap.Quoter.json b/packages/protocol/deployments/test/Uniswap.Quoter.json
index d5aeefbe..25cac5d8 100644
--- a/packages/protocol/deployments/test/Uniswap.Quoter.json
+++ b/packages/protocol/deployments/test/Uniswap.Quoter.json
@@ -200,7 +200,7 @@
"linkedLibraries": {},
"deployTxnHash": "0x77e143643e4884a308dec6693d86e0e658de1f16802df6db35f444c2ebc02ddd",
"deployTxnBlockNumber": "3",
- "deployTimestamp": "1722754537",
+ "deployTimestamp": "1722798328",
"sourceName": "contracts/lens/Quoter.sol",
"contractName": "Quoter",
"deployedOn": "deploy.Quoter",
diff --git a/packages/protocol/deployments/test/Uniswap.SwapRouter.json b/packages/protocol/deployments/test/Uniswap.SwapRouter.json
index 0cbe65d4..2aa24ab8 100644
--- a/packages/protocol/deployments/test/Uniswap.SwapRouter.json
+++ b/packages/protocol/deployments/test/Uniswap.SwapRouter.json
@@ -572,7 +572,7 @@
"linkedLibraries": {},
"deployTxnHash": "0x34c75edbab5990d7b1e9441df2d4378da661672d4de365f41a3657d1d3c54e11",
"deployTxnBlockNumber": "4",
- "deployTimestamp": "1722754538",
+ "deployTimestamp": "1722798329",
"sourceName": "contracts/SwapRouter.sol",
"contractName": "SwapRouter",
"deployedOn": "deploy.SwapRouter",
diff --git a/packages/protocol/deployments/test/Uniswap.TickLens.json b/packages/protocol/deployments/test/Uniswap.TickLens.json
index 4037bd82..6747f5bf 100644
--- a/packages/protocol/deployments/test/Uniswap.TickLens.json
+++ b/packages/protocol/deployments/test/Uniswap.TickLens.json
@@ -47,7 +47,7 @@
"linkedLibraries": {},
"deployTxnHash": "0xe86d0528829e851224aff055a91d81d0a8ffe44446c2664342f16ed023929f4d",
"deployTxnBlockNumber": "6",
- "deployTimestamp": "1722754540",
+ "deployTimestamp": "1722798331",
"sourceName": "contracts/lens/TickLens.sol",
"contractName": "TickLens",
"deployedOn": "deploy.TickLens",
diff --git a/packages/protocol/deployments/test/Uniswap.TransparentUpgradeableProxy.json b/packages/protocol/deployments/test/Uniswap.TransparentUpgradeableProxy.json
index d17b6fa9..7673759c 100644
--- a/packages/protocol/deployments/test/Uniswap.TransparentUpgradeableProxy.json
+++ b/packages/protocol/deployments/test/Uniswap.TransparentUpgradeableProxy.json
@@ -141,7 +141,7 @@
"linkedLibraries": {},
"deployTxnHash": "0x488f88a8c7d794288db591295391a226738ac6ed932f71f0f4fd3a3a5519a868",
"deployTxnBlockNumber": "10",
- "deployTimestamp": "1722754536",
+ "deployTimestamp": "1722798327",
"sourceName": "@openzeppelin/contracts/proxy/TransparentUpgradeableProxy.sol",
"contractName": "TransparentUpgradeableProxy",
"deployedOn": "deploy.TransparentUpgradeableProxy",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 4467cbc1..a57ce3a1 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -141,6 +141,9 @@ importers:
express:
specifier: ^4.19.2
version: 4.19.2
+ pg:
+ specifier: ^8.12.0
+ version: 8.12.0
reflect-metadata:
specifier: ^0.2.2
version: 0.2.2
@@ -150,9 +153,12 @@ importers:
ts-node-dev:
specifier: ^2.0.0
version: 2.0.0(@types/node@20.12.11)(typescript@5.5.2)
+ tsconfig-paths:
+ specifier: ^4.2.0
+ version: 4.2.0
typeorm:
specifier: ^0.3.20
- version: 0.3.20(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.12.11)(typescript@5.5.2))
+ version: 0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.12.11)(typescript@5.5.2))
typescript:
specifier: ^5.5.2
version: 5.5.2
@@ -10780,6 +10786,40 @@ packages:
periscopic@3.1.0:
resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==}
+ pg-cloudflare@1.1.1:
+ resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==}
+
+ pg-connection-string@2.6.4:
+ resolution: {integrity: sha512-v+Z7W/0EO707aNMaAEfiGnGL9sxxumwLl2fJvCQtMn9Fxsg+lPpPkdcyBSv/KFgpGdYkMfn+EI1Or2EHjpgLCA==}
+
+ pg-int8@1.0.1:
+ resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==}
+ engines: {node: '>=4.0.0'}
+
+ pg-pool@3.6.2:
+ resolution: {integrity: sha512-Htjbg8BlwXqSBQ9V8Vjtc+vzf/6fVUuak/3/XXKA9oxZprwW3IMDQTGHP+KDmVL7rtd+R1QjbnCFPuTHm3G4hg==}
+ peerDependencies:
+ pg: '>=8.0'
+
+ pg-protocol@1.6.1:
+ resolution: {integrity: sha512-jPIlvgoD63hrEuihvIg+tJhoGjUsLPn6poJY9N5CnlPd91c2T18T/9zBtLxZSb1EhYxBRoZJtzScCaWlYLtktg==}
+
+ pg-types@2.2.0:
+ resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==}
+ engines: {node: '>=4'}
+
+ pg@8.12.0:
+ resolution: {integrity: sha512-A+LHUSnwnxrnL/tZ+OLfqR1SxLN3c/pgDztZ47Rpbsd4jUytsTtwQo/TLPRzPJMp/1pbhYVhH9cuSZLAajNfjQ==}
+ engines: {node: '>= 8.0.0'}
+ peerDependencies:
+ pg-native: '>=3.0.1'
+ peerDependenciesMeta:
+ pg-native:
+ optional: true
+
+ pgpass@1.0.5:
+ resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==}
+
picocolors@1.0.0:
resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
@@ -10924,6 +10964,22 @@ packages:
resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==}
engines: {node: ^10 || ^12 || >=14}
+ postgres-array@2.0.0:
+ resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==}
+ engines: {node: '>=4'}
+
+ postgres-bytea@1.0.0:
+ resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==}
+ engines: {node: '>=0.10.0'}
+
+ postgres-date@1.0.7:
+ resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==}
+ engines: {node: '>=0.10.0'}
+
+ postgres-interval@1.2.0:
+ resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==}
+ engines: {node: '>=0.10.0'}
+
preact@10.23.1:
resolution: {integrity: sha512-O5UdRsNh4vdZaTieWe3XOgSpdMAmkIYBCT3VhQDlKrzyCm8lUYsk0fmVEvoQQifoOjFRTaHZO69ylrzTW2BH+A==}
@@ -12640,6 +12696,10 @@ packages:
tsconfig-paths@3.15.0:
resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==}
+ tsconfig-paths@4.2.0:
+ resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==}
+ engines: {node: '>=6'}
+
tsconfig@7.0.0:
resolution: {integrity: sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw==}
@@ -17693,14 +17753,14 @@ snapshots:
dependencies:
'@jest/fake-timers': 29.7.0
'@jest/types': 29.6.3
- '@types/node': 22.0.0
+ '@types/node': 20.14.13
jest-mock: 29.7.0
'@jest/fake-timers@29.7.0':
dependencies:
'@jest/types': 29.6.3
'@sinonjs/fake-timers': 10.3.0
- '@types/node': 22.0.0
+ '@types/node': 20.14.13
jest-message-util: 29.7.0
jest-mock: 29.7.0
jest-util: 29.7.0
@@ -17713,7 +17773,7 @@ snapshots:
dependencies:
'@types/istanbul-lib-coverage': 2.0.6
'@types/istanbul-reports': 3.0.4
- '@types/node': 22.0.0
+ '@types/node': 20.14.13
'@types/yargs': 15.0.19
chalk: 4.1.2
@@ -17722,7 +17782,7 @@ snapshots:
'@jest/schemas': 29.6.3
'@types/istanbul-lib-coverage': 2.0.6
'@types/istanbul-reports': 3.0.4
- '@types/node': 22.0.0
+ '@types/node': 20.14.13
'@types/yargs': 17.0.32
chalk: 4.1.2
@@ -17776,7 +17836,7 @@ snapshots:
dependencies:
'@ledgerhq/cryptoassets': 5.53.0
'@ledgerhq/errors': 5.50.0
- '@ledgerhq/hw-transport': 5.26.0
+ '@ledgerhq/hw-transport': 5.51.1
bignumber.js: 9.1.2
rlp: 2.2.7
@@ -17793,7 +17853,7 @@ snapshots:
dependencies:
'@ledgerhq/devices': 5.51.1
'@ledgerhq/errors': 5.50.0
- '@ledgerhq/hw-transport': 5.26.0
+ '@ledgerhq/hw-transport': 5.51.1
'@ledgerhq/hw-transport-node-hid-noevents': 5.51.1
'@ledgerhq/logs': 5.50.0
lodash: 4.17.21
@@ -17804,7 +17864,7 @@ snapshots:
'@ledgerhq/hw-transport-u2f@5.26.0':
dependencies:
'@ledgerhq/errors': 5.50.0
- '@ledgerhq/hw-transport': 5.26.0
+ '@ledgerhq/hw-transport': 5.51.1
'@ledgerhq/logs': 5.50.0
u2f-api: 0.2.7
@@ -17819,7 +17879,6 @@ snapshots:
'@ledgerhq/devices': 5.51.1
'@ledgerhq/errors': 5.50.0
events: 3.3.0
- optional: true
'@ledgerhq/logs@5.50.0': {}
@@ -19983,7 +20042,7 @@ snapshots:
'@types/node-forge@1.3.11':
dependencies:
- '@types/node': 22.0.0
+ '@types/node': 20.14.13
'@types/node@10.17.60': {}
@@ -20576,7 +20635,7 @@ snapshots:
dependencies:
'@synthetixio/router': 3.4.0(hardhat@2.22.3(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@20.14.13)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(solc@0.8.25)
axios: 1.7.2(debug@4.3.6)
- axios-retry: 4.4.2(axios@1.7.2)
+ axios-retry: 4.4.2(axios@1.7.2(debug@4.3.6))
buffer: 6.0.3
chalk: 4.1.2
debug: 4.3.6(supports-color@8.1.1)
@@ -21590,7 +21649,7 @@ snapshots:
axe-core@4.7.0: {}
- axios-retry@4.4.2(axios@1.7.2):
+ axios-retry@4.4.2(axios@1.7.2(debug@4.3.6)):
dependencies:
axios: 1.7.2(debug@4.3.6)
is-retry-allowed: 2.2.0
@@ -22149,7 +22208,7 @@ snapshots:
chrome-launcher@0.15.2:
dependencies:
- '@types/node': 22.0.0
+ '@types/node': 20.14.13
escape-string-regexp: 4.0.0
is-wsl: 2.2.0
lighthouse-logger: 1.4.2
@@ -26610,7 +26669,7 @@ snapshots:
'@jest/environment': 29.7.0
'@jest/fake-timers': 29.7.0
'@jest/types': 29.6.3
- '@types/node': 22.0.0
+ '@types/node': 20.14.13
jest-mock: 29.7.0
jest-util: 29.7.0
@@ -26631,13 +26690,13 @@ snapshots:
jest-mock@29.7.0:
dependencies:
'@jest/types': 29.6.3
- '@types/node': 22.0.0
+ '@types/node': 20.14.13
jest-util: 29.7.0
jest-util@29.7.0:
dependencies:
'@jest/types': 29.6.3
- '@types/node': 22.0.0
+ '@types/node': 20.14.13
chalk: 4.1.2
ci-info: 3.9.0
graceful-fs: 4.2.11
@@ -26666,7 +26725,7 @@ snapshots:
jest-worker@29.7.0:
dependencies:
- '@types/node': 22.0.0
+ '@types/node': 20.14.13
jest-util: 29.7.0
merge-stream: 2.0.0
supports-color: 8.1.1
@@ -29080,6 +29139,41 @@ snapshots:
estree-walker: 3.0.3
is-reference: 3.0.2
+ pg-cloudflare@1.1.1:
+ optional: true
+
+ pg-connection-string@2.6.4: {}
+
+ pg-int8@1.0.1: {}
+
+ pg-pool@3.6.2(pg@8.12.0):
+ dependencies:
+ pg: 8.12.0
+
+ pg-protocol@1.6.1: {}
+
+ pg-types@2.2.0:
+ dependencies:
+ pg-int8: 1.0.1
+ postgres-array: 2.0.0
+ postgres-bytea: 1.0.0
+ postgres-date: 1.0.7
+ postgres-interval: 1.2.0
+
+ pg@8.12.0:
+ dependencies:
+ pg-connection-string: 2.6.4
+ pg-pool: 3.6.2(pg@8.12.0)
+ pg-protocol: 1.6.1
+ pg-types: 2.2.0
+ pgpass: 1.0.5
+ optionalDependencies:
+ pg-cloudflare: 1.1.1
+
+ pgpass@1.0.5:
+ dependencies:
+ split2: 4.2.0
+
picocolors@1.0.0: {}
picocolors@1.0.1: {}
@@ -29211,6 +29305,16 @@ snapshots:
picocolors: 1.0.0
source-map-js: 1.2.0
+ postgres-array@2.0.0: {}
+
+ postgres-bytea@1.0.0: {}
+
+ postgres-date@1.0.7: {}
+
+ postgres-interval@1.2.0:
+ dependencies:
+ xtend: 4.0.2
+
preact@10.23.1: {}
prebuild-install@5.3.6:
@@ -31506,6 +31610,12 @@ snapshots:
minimist: 1.2.8
strip-bom: 3.0.0
+ tsconfig-paths@4.2.0:
+ dependencies:
+ json5: 2.2.3
+ minimist: 1.2.8
+ strip-bom: 3.0.0
+
tsconfig@7.0.0:
dependencies:
'@types/strip-bom': 3.0.0
@@ -31630,7 +31740,7 @@ snapshots:
typedarray@0.0.6: {}
- typeorm@0.3.20(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.12.11)(typescript@5.5.2)):
+ typeorm@0.3.20(pg@8.12.0)(sqlite3@5.1.7)(ts-node@10.9.2(@types/node@20.12.11)(typescript@5.5.2)):
dependencies:
'@sqltools/formatter': 1.2.5
app-root-path: 3.1.0
@@ -31648,6 +31758,7 @@ snapshots:
uuid: 9.0.1
yargs: 17.7.2
optionalDependencies:
+ pg: 8.12.0
sqlite3: 5.1.7
ts-node: 10.9.2(@types/node@20.12.11)(typescript@5.5.2)
transitivePeerDependencies:
diff --git a/render.yaml b/render.yaml
new file mode 100644
index 00000000..8068910a
--- /dev/null
+++ b/render.yaml
@@ -0,0 +1,37 @@
+services:
+ - name: postgres-db
+ type: database
+ databaseName: mydatabase
+ databaseType: postgres
+ databaseVersion: 13
+ plan: standard
+
+ - name: web-service
+ type: web
+ env: node
+ plan: standard
+ buildCommand: cd packages/data && pnpm install
+ startCommand: cd packages/data && pnpm start:service
+ autoDeploy: true
+ envVars:
+ - key: DATABASE_URL
+ fromDatabase:
+ name: postgres-db
+ property: connectionString
+ repo: https://github.com/foilxyz/foil
+ branch: main
+
+ - name: background-worker
+ type: worker
+ env: node
+ plan: standard
+ buildCommand: cd packages/data && pnpm install
+ startCommand: cd packages/data && pnpm start:worker
+ autoDeploy: true
+ envVars:
+ - key: DATABASE_URL
+ fromDatabase:
+ name: postgres-db
+ property: connectionString
+ repo: https://github.com/foilxyz/foil
+ branch: main