Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
0312800
Move to be library files into dedicated folder
reednaa Feb 18, 2026
858f025
Split intent library into smaller chunks
reednaa Feb 18, 2026
7b971da
Rename hashMultichainInputs, documentation and intent class interface
reednaa Feb 18, 2026
4e0ef5a
Cleanup order selection and readme
reednaa Feb 18, 2026
14d9684
Update agents to explain the library
reednaa Feb 18, 2026
a7283b3
Implement tests for library
reednaa Feb 19, 2026
727c8c7
Use wagmi wallet connector
reednaa Feb 19, 2026
043e503
End to end test of standard order flow
reednaa Feb 19, 2026
fd6b5e6
Remove chain strings in favour of chainIds
reednaa Feb 19, 2026
08b741d
Create mono-repo
reednaa Feb 19, 2026
36e904d
Update agents and packages
reednaa Feb 19, 2026
38e994a
Continue refactor repository for mono repo
reednaa Feb 20, 2026
859d82d
Carry changes from d9d6e0f3eced08d2064f9b6be7abf919d54dde20
reednaa Feb 20, 2026
bd33f16
Remove monorepo and move lintent app top level
reednaa Mar 3, 2026
86ad2d3
Make exclusive for optional
reednaa Mar 3, 2026
7441ad9
Merge pull request #26 from lifinance/exclusiveFor-optional
reednaa Mar 3, 2026
b20a95b
Merge branch 'main' of https://github.com/lifinance/lintent into develop
reednaa Mar 3, 2026
488b3eb
Mobile fixes (#32)
reednaa May 6, 2026
c696007
Accommodate intent.ts standardise-order-classes API changes (#39)
Asem-Abdelhady May 6, 2026
4bab8f1
fix: replace StandardOrderIntent alias with canonical StandardEVMInte…
reednaa May 6, 2026
78b799e
chore: bump version to 0.1.0 for first minor release
reednaa May 6, 2026
ff2b664
fix: resolve security findings and harden server routes
reednaa May 6, 2026
d5ab26a
fix: remove all `as any` casts with proper typing
reednaa May 6, 2026
0f45188
chore: update @lifi/intent to 0.1.1
reednaa May 6, 2026
49c0d5d
Merge remote-tracking branch 'origin/main' into develop
reednaa May 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .env.e2e.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
E2E_PRIVATE_KEY=your-test-private-key-here
E2E_CHAIN_ID=8453
E2E_BASE_RPC_URL=https://base-rpc.publicnode.com
E2E_ARBITRUM_RPC_URL=https://arbitrum-rpc.publicnode.com
20 changes: 13 additions & 7 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
node-version: "20"

- name: Setup Bun
uses: oven-sh/setup-bun@v2
uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
with:
bun-version: latest

Expand All @@ -38,7 +38,7 @@ jobs:
run: bun run build

- name: Deploy to Cloudflare Workers
uses: cloudflare/wrangler-action@v3
uses: cloudflare/wrangler-action@9acf94ace14e7dc412b076f2c5c20b8ce93c79cd # v3.15.0
env:
PRIVATE_POLYMER_MAINNET_ZONE_API_KEY: ${{ secrets.PRIVATE_POLYMER_MAINNET_ZONE_API_KEY }}
PRIVATE_POLYMER_TESTNET_ZONE_API_KEY: ${{ secrets.PRIVATE_POLYMER_TESTNET_ZONE_API_KEY }}
Expand All @@ -50,7 +50,10 @@ jobs:
command: deploy --env production

deploy-preview:
if: github.event_name == 'pull_request' && github.event.action != 'closed'
if: >
github.event_name == 'pull_request' &&
github.event.action != 'closed' &&
github.event.pull_request.head.repo.full_name == github.repository
runs-on: ubuntu-latest
name: Deploy Preview
permissions:
Expand All @@ -66,7 +69,7 @@ jobs:
node-version: "20"

- name: Setup Bun
uses: oven-sh/setup-bun@v2
uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
with:
bun-version: latest

Expand All @@ -82,7 +85,7 @@ jobs:

- name: Deploy to Cloudflare Workers
id: deploy
uses: cloudflare/wrangler-action@v3
uses: cloudflare/wrangler-action@9acf94ace14e7dc412b076f2c5c20b8ce93c79cd # v3.15.0
env:
PRIVATE_POLYMER_MAINNET_ZONE_API_KEY: ${{ secrets.PRIVATE_POLYMER_MAINNET_ZONE_API_KEY }}
PRIVATE_POLYMER_TESTNET_ZONE_API_KEY: ${{ secrets.PRIVATE_POLYMER_TESTNET_ZONE_API_KEY }}
Expand Down Expand Up @@ -116,12 +119,15 @@ jobs:
}

cleanup-preview:
if: github.event_name == 'pull_request' && github.event.action == 'closed'
if: >
github.event_name == 'pull_request' &&
github.event.action == 'closed' &&
github.event.pull_request.head.repo.full_name == github.repository
runs-on: ubuntu-latest
name: Cleanup Preview Worker
steps:
- name: Delete preview worker
uses: cloudflare/wrangler-action@v3
uses: cloudflare/wrangler-action@9acf94ace14e7dc412b076f2c5c20b8ce93c79cd # v3.15.0
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
Expand Down
10 changes: 8 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,17 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v2
uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
with:
bun-version: latest
- name: Install dependencies
run: bun install --frozen-lockfile
- name: Run checks
run: bun run check
env:
PRIVATE_POLYMER_MAINNET_ZONE_API_KEY: ${{ secrets.PRIVATE_POLYMER_MAINNET_ZONE_API_KEY }}
PRIVATE_POLYMER_TESTNET_ZONE_API_KEY: ${{ secrets.PRIVATE_POLYMER_TESTNET_ZONE_API_KEY }}
PUBLIC_WALLET_CONNECT_PROJECT_ID: ${{ secrets.PUBLIC_WALLET_CONNECT_PROJECT_ID }}
- name: Run unit tests
run: bun run test:unit
- name: Upload coverage artifact
Expand All @@ -33,7 +39,7 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Bun
uses: oven-sh/setup-bun@v2
uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6 # v2.2.0
with:
bun-version: latest
- name: Install dependencies
Expand Down
31 changes: 17 additions & 14 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,26 +1,29 @@
# Dependencies
node_modules

# Output
# Build and framework output
.svelte-kit
build
.output
.vercel
.netlify
.wrangler
/.svelte-kit
/build
.claude

# OS
.DS_Store
Thumbs.db
coverage
playwright-report
test-results

# Env
.env
.env.*
!.env.example
!.env.test
!.env.e2e.example

# Vite
vite.config.js.timestamp-*
vite.config.ts.timestamp-*
playwright-report
test-results
# Logs
*.log

# OS / editor
.DS_Store
Thumbs.db

.claude
.claude/*
3 changes: 3 additions & 0 deletions .lintstagedrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"*.{js,ts,svelte,css,md,json,html}": "prettier --write"
}
27 changes: 14 additions & 13 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
{
"useTabs": true,
"singleQuote": false,
"trailingComma": "none",
"printWidth": 100,
"plugins": ["prettier-plugin-svelte", "prettier-plugin-tailwindcss"],
"overrides": [
{
"files": "*.svelte",
"options": {
"parser": "svelte"
}
}
]
"useTabs": false,
"tabWidth": 2,
"singleQuote": false,
"trailingComma": "none",
"printWidth": 100,
"plugins": ["prettier-plugin-svelte", "prettier-plugin-tailwindcss"],
"overrides": [
{
"files": "*.svelte",
"options": {
"parser": "svelte"
}
}
]
}
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,13 +96,13 @@ The app exposes six sequential screens, each representing one step in the OIF fl

The app interacts with the following deployed contracts (ABIs are inlined in `src/lib/abi/`).

| Contract | Purpose |
|---|---|
| The Compact | ERC-6909 resource lock registry for compact-based intents |
| Input Settler (Escrow) | Opens and finalises escrow-based intents (single-chain and multichain variants) |
| Input Settler (Compact) | Finalises compact-based intents using combined sponsor and allocator signatures |
| CoinFiller | Output settlement where solvers deliver tokens, also handles same-chain attestations |
| Polymer Oracle | Verifies cross-chain fill proofs submitted via Polymer |
| Contract | Purpose |
| ----------------------- | ------------------------------------------------------------------------------------ |
| The Compact | ERC-6909 resource lock registry for compact-based intents |
| Input Settler (Escrow) | Opens and finalises escrow-based intents (single-chain and multichain variants) |
| Input Settler (Compact) | Finalises compact-based intents using combined sponsor and allocator signatures |
| CoinFiller | Output settlement where solvers deliver tokens, also handles same-chain attestations |
| Polymer Oracle | Verifies cross-chain fill proofs submitted via Polymer |

## Project Structure

Expand Down
Loading
Loading