From 87e5fdd03cdf8014d4970ffc675f32419f2b3c95 Mon Sep 17 00:00:00 2001 From: sandro Date: Fri, 16 Jun 2023 15:02:29 +0200 Subject: [PATCH 1/9] Add Collataral Swap Extension --- src/Extensions.ts | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/Extensions.ts b/src/Extensions.ts index b950c68..52a8642 100644 --- a/src/Extensions.ts +++ b/src/Extensions.ts @@ -55,5 +55,26 @@ export const extensions: Extension[] = [ supportedMarkets: { '1_USDC_0xc3d688B66703497DAA19211EEdff47f25384cdc3': null } + }, + { + id: 'collateral_swap', + name: 'Collateral Swap', + description: 'Enables swapping collateral on open loan positions without the need to repay the loan, in a single transaction', + developer: 'Wido Labs', + links: { + github: 'https://github.com/widolabs/compound-collateral-extension-ui', + website: 'https://www.joinwido.com/' + }, + permissions: { + sign: '*', + }, + source: { + url: "https://wido-extension-template-l1wmp9bl7-widolabs.vercel.app/?embedded" + }, + supportedMarkets: { + '1_USDC_0xc3d688B66703497DAA19211EEdff47f25384cdc3': null, + '1_WETH_0xA17581A9E3356d9A858b789D68B4d866e593aE94': null, + '137_USDC_0xF25212E676D1F7F89Cd72fFEe66158f541246445': null + } } ]; From dac4eb10fadda37f516c52fde10689bd5ebb0859 Mon Sep 17 00:00:00 2001 From: sandro Date: Wed, 21 Jun 2023 10:28:19 +0400 Subject: [PATCH 2/9] Add Arbitrum market --- src/Extensions.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Extensions.ts b/src/Extensions.ts index 52a8642..fde4b2d 100644 --- a/src/Extensions.ts +++ b/src/Extensions.ts @@ -74,7 +74,8 @@ export const extensions: Extension[] = [ supportedMarkets: { '1_USDC_0xc3d688B66703497DAA19211EEdff47f25384cdc3': null, '1_WETH_0xA17581A9E3356d9A858b789D68B4d866e593aE94': null, - '137_USDC_0xF25212E676D1F7F89Cd72fFEe66158f541246445': null + '137_USDC_0xF25212E676D1F7F89Cd72fFEe66158f541246445': null, + '42161_USDC_0xA5EDBDD9646f8dFF606d7448e414884C7d905dCA': null } } ]; From e129994522f34347c2c4f2a5797619284c7b6b31 Mon Sep 17 00:00:00 2001 From: sandro Date: Wed, 21 Jun 2023 16:53:12 +0400 Subject: [PATCH 3/9] Update source link --- src/Extensions.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Extensions.ts b/src/Extensions.ts index fde4b2d..b76eedc 100644 --- a/src/Extensions.ts +++ b/src/Extensions.ts @@ -69,7 +69,7 @@ export const extensions: Extension[] = [ sign: '*', }, source: { - url: "https://wido-extension-template-l1wmp9bl7-widolabs.vercel.app/?embedded" + url: "https://wido-extension-template.vercel.app/embedded.html" }, supportedMarkets: { '1_USDC_0xc3d688B66703497DAA19211EEdff47f25384cdc3': null, From 331e6c7bd1a63c00811cd06ac0d246ec24412449 Mon Sep 17 00:00:00 2001 From: sandro Date: Thu, 10 Aug 2023 11:47:29 +0700 Subject: [PATCH 4/9] Update source link to IPFS --- src/Extensions.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Extensions.ts b/src/Extensions.ts index b76eedc..aaa9cab 100644 --- a/src/Extensions.ts +++ b/src/Extensions.ts @@ -69,7 +69,7 @@ export const extensions: Extension[] = [ sign: '*', }, source: { - url: "https://wido-extension-template.vercel.app/embedded.html" + url: "https://fleek.ipfs.io/ipfs/QmQjT6NRo4Hvj7ZGdfA5UMLzN9ZSveN2oxQykugKZoFhgV/embedded.html" }, supportedMarkets: { '1_USDC_0xc3d688B66703497DAA19211EEdff47f25384cdc3': null, From 55d5413a3047a4d43980ab616b7072fab2d7a89d Mon Sep 17 00:00:00 2001 From: sandro Date: Thu, 7 Sep 2023 13:51:18 +0800 Subject: [PATCH 5/9] Update source link to IPFS --- src/Extensions.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Extensions.ts b/src/Extensions.ts index aaa9cab..63d78c8 100644 --- a/src/Extensions.ts +++ b/src/Extensions.ts @@ -69,7 +69,7 @@ export const extensions: Extension[] = [ sign: '*', }, source: { - url: "https://fleek.ipfs.io/ipfs/QmQjT6NRo4Hvj7ZGdfA5UMLzN9ZSveN2oxQykugKZoFhgV/embedded.html" + url: "https://ipfs.fleek.co/ipfs/QmcEEQekV9Vz4oN519uBsPLqjXUs7YathsvGvjNtbC3Y88/embedded.html" }, supportedMarkets: { '1_USDC_0xc3d688B66703497DAA19211EEdff47f25384cdc3': null, From 3a959eb673be8b453c4adc6d79baf401de885e57 Mon Sep 17 00:00:00 2001 From: sandro Date: Thu, 14 Sep 2023 14:44:49 +0800 Subject: [PATCH 6/9] add transaction permissions --- src/Extensions.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/Extensions.ts b/src/Extensions.ts index 63d78c8..2be77bd 100644 --- a/src/Extensions.ts +++ b/src/Extensions.ts @@ -67,6 +67,13 @@ export const extensions: Extension[] = [ }, permissions: { sign: '*', + trx: [ + { + contract: '$operator', + abi: 'swapCollateral((address,uint256),(address,uint256),((uint8,bytes32,bytes32),(uint8,bytes32,bytes32)),(address,address,bytes),address)', + params: '*' + } + ] }, source: { url: "https://ipfs.fleek.co/ipfs/QmcEEQekV9Vz4oN519uBsPLqjXUs7YathsvGvjNtbC3Y88/embedded.html" From 379291ff6b404789d9c62dd2bf28867a639f4afe Mon Sep 17 00:00:00 2001 From: Roman Date: Thu, 28 Sep 2023 18:00:17 +0400 Subject: [PATCH 7/9] Add logs to checkSendTransaction function --- src/Permissions.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/Permissions.ts b/src/Permissions.ts index 5e348b7..c578c07 100644 --- a/src/Permissions.ts +++ b/src/Permissions.ts @@ -93,6 +93,9 @@ function isTypeParams(params: any[]): params is [ string, TypeParams ] { } function checkSendTransaction(params: any[], { trx }: Permissions, operator: string | null): null | string { + console.log('params', params); + console.log('trx', trx); + console.log('operator', operator); if (trx === '*') { return null; } else { @@ -105,6 +108,8 @@ function checkSendTransaction(params: any[], { trx }: Permissions, operator: str let contract = trxPerm.contract; if (contract === '$operator') { if (!operator) { + console.log('Operator is null'); + console.log('operator', operator); return false; } @@ -112,6 +117,9 @@ function checkSendTransaction(params: any[], { trx }: Permissions, operator: str } if (!strEq(contract, callParams.to)) { + console.log('Contract is not equal to callParams.to'); + console.log('contract', contract); + console.log('callParams.to', callParams.to); return false; } } @@ -129,12 +137,18 @@ function checkSendTransaction(params: any[], { trx }: Permissions, operator: str } let func = Object.values(iface.functions)[0]; if (!strEq(callParams.data.slice(0, 10), iface.getSighash(func.name))) { + console.log(`Mismatch. Expected: ${iface.getSighash(func.name)}, Received: ${callParams.data.slice(0, 10)}`); + console.log('callParams.data', callParams.data); + console.log('func.name', func.name); + console.log('abi', abi.toString()); return false; } let funcParamsEnc = callParams.data.slice(10); if (trxPerm.params === undefined || trxPerm.params === '*') { return true; } else { + console.log('trxPerm.params is not equal to undefined or "*"'); + console.log('trxPerm.params', trxPerm.params); let decodedParams = iface.decodeFunctionData(func, callParams.data); let matchesParams = trxPerm.params.every((param, index) => { let decodedParam = decodedParams[index]; From b41555a20638295530302fbdc6e7a8f510465290 Mon Sep 17 00:00:00 2001 From: Roman Date: Thu, 28 Sep 2023 18:01:18 +0400 Subject: [PATCH 8/9] Fix market token symbols --- src/Extensions.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Extensions.ts b/src/Extensions.ts index 2be77bd..71088b8 100644 --- a/src/Extensions.ts +++ b/src/Extensions.ts @@ -80,9 +80,9 @@ export const extensions: Extension[] = [ }, supportedMarkets: { '1_USDC_0xc3d688B66703497DAA19211EEdff47f25384cdc3': null, - '1_WETH_0xA17581A9E3356d9A858b789D68B4d866e593aE94': null, + '1_ETH_0xA17581A9E3356d9A858b789D68B4d866e593aE94': null, '137_USDC_0xF25212E676D1F7F89Cd72fFEe66158f541246445': null, - '42161_USDC_0xA5EDBDD9646f8dFF606d7448e414884C7d905dCA': null + '42161_USDC.e_0xA5EDBDD9646f8dFF606d7448e414884C7d905dCA': null } } ]; From c72df4f065db667169a68f719b2eb4cc92a1e26e Mon Sep 17 00:00:00 2001 From: Roman Date: Thu, 28 Sep 2023 18:42:00 +0400 Subject: [PATCH 9/9] Add contract addresses to supportedMarkets --- src/Extensions.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Extensions.ts b/src/Extensions.ts index 71088b8..a83d717 100644 --- a/src/Extensions.ts +++ b/src/Extensions.ts @@ -79,10 +79,10 @@ export const extensions: Extension[] = [ url: "https://ipfs.fleek.co/ipfs/QmcEEQekV9Vz4oN519uBsPLqjXUs7YathsvGvjNtbC3Y88/embedded.html" }, supportedMarkets: { - '1_USDC_0xc3d688B66703497DAA19211EEdff47f25384cdc3': null, - '1_ETH_0xA17581A9E3356d9A858b789D68B4d866e593aE94': null, - '137_USDC_0xF25212E676D1F7F89Cd72fFEe66158f541246445': null, - '42161_USDC.e_0xA5EDBDD9646f8dFF606d7448e414884C7d905dCA': null + '1_USDC_0xc3d688B66703497DAA19211EEdff47f25384cdc3': '0xaAA9f2FeE419977804eBD06F6E121f76FbcE8498', + '1_ETH_0xA17581A9E3356d9A858b789D68B4d866e593aE94': '0xaAA9f2FeE419977804eBD06F6E121f76FbcE8498', + '137_USDC_0xF25212E676D1F7F89Cd72fFEe66158f541246445': '0x17000CdCCCFf2D0B2d8958BA40c751Fa9b4BE089', + '42161_USDC.e_0xA5EDBDD9646f8dFF606d7448e414884C7d905dCA': '0x74436167012475749168f33324e84990C8013647' } } ];