Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] develop from airswap:develop #84

Open
wants to merge 61 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
f0eef52
Merge pull request #1251 from airswap/develop
dmosites Jan 11, 2024
6c1cc86
Merge pull request #1260 from airswap/develop
dmosites Jan 15, 2024
a9d08e3
Merge pull request #1266 from airswap/develop
dmosites Jan 18, 2024
da9bbc7
Merge pull request #1268 from airswap/develop
dmosites Jan 19, 2024
58f612c
publish libraries 4.2.1-beta.0
dmosites Jan 20, 2024
d9d08fb
bump libraries beta version
dmosites Jan 25, 2024
ad2ea31
merge from main
dmosites Jun 4, 2024
4ebe713
Merge pull request #1310 from airswap/develop
dmosites Jun 4, 2024
87e8971
Merge branch 'develop' of github.com:airswap/airswap-protocols into beta
dmosites Jun 14, 2024
8b67963
Neon deployment preparation (#1313)
smartcontrart Jul 18, 2024
4317242
Delegates (#1320)
smartcontrart Aug 21, 2024
009f7f5
Merge branch 'develop' of github.com:airswap/airswap-protocols into beta
dmosites Aug 28, 2024
fd9a894
Use of hashTypeData for code clarity and check chain ID (#1318)
smartcontrart Aug 28, 2024
fc557e7
Merge branch 'beta' of github.com:airswap/airswap-protocols into develop
dmosites Aug 28, 2024
cf58ace
Delegate and SwapERC20 Finalizations (#1322)
dmosites Aug 28, 2024
8d0b5b8
Scripts enhancements (#1321)
smartcontrart Aug 30, 2024
5d62f32
Bump micromatch from 4.0.5 to 4.0.8 (#1323)
dependabot[bot] Sep 2, 2024
fd54c0f
Bump axios from 1.6.7 to 1.7.7 (#1324)
dependabot[bot] Sep 2, 2024
f12798f
Increased Delegate test coverage to 100% (#1325)
smartcontrart Sep 4, 2024
b8243ac
Delegate tests coverage (#1326)
smartcontrart Sep 4, 2024
dc22193
Fix/audit fixes (#1327)
smartcontrart Sep 9, 2024
e986b92
merge from beta
dmosites Sep 9, 2024
dd22f80
Bump body-parser from 1.20.2 to 1.20.3 (#1331)
dependabot[bot] Sep 27, 2024
526f41f
Bump express from 4.19.2 to 4.20.0 (#1332)
dependabot[bot] Sep 27, 2024
c590604
consolidate deploy confirms; delegates report; consistent swapERC20Co…
dmosites Sep 27, 2024
1cd93c1
natspec pass; swap-erc20 usage consistent with wrapper; interface fix…
dmosites Sep 29, 2024
03d29ef
delegate primary multi-chain deploy (#1336)
dmosites Sep 29, 2024
a60c8da
Merge branch 'main' of github.com:airswap/airswap-protocols into develop
dmosites Oct 1, 2024
db7761b
add delegate to libraries; package versions to v5 (#1337)
dmosites Oct 1, 2024
cf62772
Package script updates (#1338)
dmosites Oct 1, 2024
7501afc
remove extraneous import; neon owner
dmosites Oct 1, 2024
a11509a
Merge pull request #1339 from airswap/develop
dmosites Oct 1, 2024
5b2e403
delegate to libraries
dmosites Oct 1, 2024
28156e5
add swap event helper to @airswap/utils
dmosites Oct 1, 2024
3d47da6
formatting and linting fixes (#1342)
dmosites Nov 8, 2024
6ce3c6b
ensure ethers@^5.7.2 is distributed with contract packages (#1343)
dmosites Nov 19, 2024
866ba5e
Bump cross-spawn from 7.0.3 to 7.0.6 (#1344)
dependabot[bot] Nov 19, 2024
30d18bc
@airswap/utils: getFullSwapERC20: handle case of zero fee transfer
dmosites Nov 21, 2024
73553b5
Delegate Updates (#1345)
smartcontrart Nov 23, 2024
4f41b48
merge from main
dmosites Dec 2, 2024
94cf3d0
use yarn 4.x latest as package manager (#1349)
dmosites Dec 2, 2024
b697661
DelegatedSwapFor event for Delegate (#1348)
dmosites Dec 2, 2024
a6f5e5d
add hardhat and typescript to package devdeps
dmosites Dec 3, 2024
18f0f46
delegate sepolia deploy
dmosites Dec 3, 2024
da3ae91
update libraries delegate version
dmosites Dec 3, 2024
302d89f
Merge pull request #1350 from airswap/develop
dmosites Dec 3, 2024
8c6b28e
@airswap/[email protected]: add Server.getStaker
dmosites Dec 12, 2024
2ce6d82
@airswap/libraries: getters and setters for Server
dmosites Dec 12, 2024
1bad6f2
@airswap/utils: update public-node rpc urls
dmosites Dec 15, 2024
a56dc43
bump libraries and stores for npm publishing
dmosites Dec 15, 2024
5bb3104
npm: set authToken for publish action
dmosites Dec 16, 2024
41c9253
bump @airswap/libraries for publishing
dmosites Dec 16, 2024
435a99a
drop require node: prefix; drop import type syntax; publish
dmosites Dec 16, 2024
6fd6b48
@airswap/libraries: drop import node: prefix; publish
dmosites Dec 16, 2024
d55731d
Indexed senderWallet, senderToken, signerToken params of the setRule …
smartcontrart Feb 6, 2025
4bde2d5
Fix rounding management of partial fills (#1352)
smartcontrart Feb 21, 2025
60b9492
sepolia deploy [email protected]
dmosites Feb 21, 2025
701ffda
Merge branch 'develop' of github.com:airswap/airswap-protocols into d…
dmosites Feb 21, 2025
abd6919
final sepolia address [email protected]
dmosites Feb 21, 2025
9df9c05
bump libraries to publish delegate beta
dmosites Feb 21, 2025
933fd07
merge with latest libraries beta
dmosites Feb 21, 2025
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
Prev Previous commit
Next Next commit
add swap event helper to @airswap/utils
  • Loading branch information
dmosites committed Oct 1, 2024
commit 28156e5115218a444d35f35162162f643e5ccb91
2 changes: 1 addition & 1 deletion source/batch-call/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
"owners": "hardhat run ./scripts/owner.js"
},
"devDependencies": {
"@airswap/utils": "5.0.0",
"@airswap/utils": "5.0.1",
"@airswap/swap": "5.0.0",
"@airswap/swap-erc20": "5.0.0",
"@openzeppelin/contracts": "^4.8.3"
Expand Down
2 changes: 1 addition & 1 deletion source/delegate/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
"owners": "hardhat run ./scripts/owner.js"
},
"devDependencies": {
"@airswap/utils": "5.0.0",
"@airswap/utils": "5.0.1",
"@airswap/swap-erc20": "5.0.0"
},
"publishConfig": {
Expand Down
2 changes: 1 addition & 1 deletion source/pool/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
"balances": "hardhat run ./scripts/balances.js"
},
"devDependencies": {
"@airswap/utils": "5.0.0",
"@airswap/utils": "5.0.1",
"@airswap/merkle": "0.0.2",
"@openzeppelin/contracts": "^4.8.3"
},
Expand Down
2 changes: 1 addition & 1 deletion source/registry/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
"owners": "hardhat run ./scripts/owner.js"
},
"devDependencies": {
"@airswap/utils": "5.0.0",
"@airswap/utils": "5.0.1",
"@openzeppelin/contracts": "^4.8.3"
},
"publishConfig": {
Expand Down
2 changes: 1 addition & 1 deletion source/staking/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
"owners": "hardhat run ./scripts/owner.js"
},
"devDependencies": {
"@airswap/utils": "5.0.0",
"@airswap/utils": "5.0.1",
"@openzeppelin/contracts": "^4.8.3"
},
"publishConfig": {
Expand Down
2 changes: 1 addition & 1 deletion source/swap-erc20/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
},
"devDependencies": {
"@airswap/staking": "5.0.0",
"@airswap/utils": "5.0.0",
"@airswap/utils": "5.0.1",
"solady": "0.0.173"
},
"publishConfig": {
Expand Down
2 changes: 1 addition & 1 deletion source/swap/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
"owners": "hardhat run ./scripts/owner.js"
},
"devDependencies": {
"@airswap/utils": "5.0.0",
"@airswap/utils": "5.0.1",
"@nomicfoundation/hardhat-network-helpers": "^1.0.7",
"@openzeppelin/contracts": "^4.8.3"
},
Expand Down
2 changes: 1 addition & 1 deletion source/wrapper/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
"owners": "hardhat run ./scripts/owner.js"
},
"devDependencies": {
"@airswap/utils": "5.0.0",
"@airswap/utils": "5.0.1",
"@airswap/swap-erc20": "5.0.0",
"@openzeppelin/contracts": "^4.8.3",
"@uniswap/v2-periphery": "^1.1.0-beta.0"
Expand Down
2 changes: 1 addition & 1 deletion tools/libraries/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
"@airswap/staking": "5.0.0",
"@airswap/swap": "5.0.0",
"@airswap/swap-erc20": "5.0.0",
"@airswap/utils": "5.0.0",
"@airswap/utils": "5.0.1",
"@airswap/wrapper": "5.0.0",
"browser-or-node": "^2.1.1",
"ethers": "^5.7.2",
Expand Down
2 changes: 1 addition & 1 deletion tools/stores/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
"test": "REDISCLOUD_URL=redis://localhost:6379 TS_NODE_COMPILER_OPTIONS='{\"strict\":false}' yarn mocha -r ts-node/esm test/*.ts"
},
"dependencies": {
"@airswap/utils": "5.0.0",
"@airswap/utils": "5.0.1",
"redis": "^4.6.13"
},
"devDependencies": {
Expand Down
2 changes: 1 addition & 1 deletion tools/utils/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@airswap/utils",
"version": "5.0.0",
"version": "5.0.1",
"description": "AirSwap: Utilities for Developers",
"repository": {
"type": "git",
Expand Down
80 changes: 47 additions & 33 deletions tools/utils/src/swap-erc20.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import {
DOMAIN_NAME_SWAP_ERC20,
} from './constants'

import { Signature, Settlement } from './types'
import { Signature, Settlement, Transfer } from './types'

export const EIP712SwapERC20 = {
EIP712Domain: [
Expand Down Expand Up @@ -332,7 +332,7 @@ export function decompressFullOrderERC20(str: string): FullOrderERC20 {
return paramsToFullOrderERC20(lzString.decompressFromEncodedURIComponent(str))
}

const parseTransfer = (log: any) => {
const parseTransfer = (log: any): Transfer | null => {
let parsed
let transfer
try {
Expand All @@ -351,33 +351,20 @@ const parseTransfer = (log: any) => {
return transfer
}

export const getFullSwapERC20 = async (
export const getFullSwapERC20FromTransfers = (
nonce: string,
signerWallet: string,
feeReceiver: string,
logs: ethers.providers.Log[]
): Promise<FullSwapERC20> => {
const transfers = []
let transfer: any
let length = logs.length

feeReceiver = feeReceiver.toLowerCase()
signerWallet = signerWallet.toLowerCase()

while (length--) {
if ((transfer = parseTransfer(logs[length]))) {
transfers.push(transfer)
}
}

let fee: any
let signer: any
let sender: any
transfers: Transfer[]
): FullSwapERC20 => {
let feeTransfer: Transfer | null
let signerTransfer: Transfer | null
let senderTransfer: Transfer | null

let i = transfers.length
while (i--) {
if (transfers[i].to === feeReceiver) {
fee = transfers[i]
feeTransfer = transfers[i]
} else {
let j = transfers.length
while (j--) {
Expand All @@ -386,26 +373,53 @@ export const getFullSwapERC20 = async (
transfers[i].from === transfers[j].to &&
transfers[i].to == transfers[j].from
) {
signer = transfers[i]
sender = transfers[j]
signerTransfer = transfers[i]
senderTransfer = transfers[j]
break
}
}
}
}

if (!signer || !sender) {
throw new Error('getFullSwapERC20: Swap not found')
if (!signerTransfer || !senderTransfer) {
throw new Error('getFullSwapERC20: Either signer or sender not found')
}

return {
nonce: nonce.toString(),
signerWallet: signer.from,
signerToken: signer.token,
signerAmount: signer.amount.toString(),
senderWallet: sender.from,
senderToken: sender.token,
senderAmount: sender.amount.toString(),
feeAmount: fee.amount.toString(),
signerWallet: signerTransfer.from,
signerToken: signerTransfer.token,
signerAmount: signerTransfer.amount.toString(),
senderWallet: senderTransfer.from,
senderToken: senderTransfer.token,
senderAmount: senderTransfer.amount.toString(),
feeAmount: feeTransfer.amount.toString(),
}
}

export const getFullSwapERC20 = (
nonce: string,
signerWallet: string,
feeReceiver: string,
logs: ethers.providers.Log[]
): FullSwapERC20 => {
const allTransfers: Transfer[] = []
let transfer: Transfer | null
let length = logs.length

feeReceiver = feeReceiver.toLowerCase()
signerWallet = signerWallet.toLowerCase()

while (length--) {
if ((transfer = parseTransfer(logs[length]))) {
allTransfers.push(transfer)
}
}

return getFullSwapERC20FromTransfers(
nonce,
signerWallet,
feeReceiver,
allTransfers
)
}
7 changes: 7 additions & 0 deletions tools/utils/src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,13 @@ export type Token = {
decimals: number
}

export type Transfer = {
from: string
to: string
token: string
amount: string
}

export type { TokenInfo } from '@uniswap/token-lists'

export interface CollectionTokenAttribute {
Expand Down