From 72be90522e9a1d7d2b2c7e9facdf8b0767102fbc Mon Sep 17 00:00:00 2001 From: Rafael Albuquerque <70333411+0xhafa@users.noreply.github.com> Date: Wed, 13 Dec 2023 10:58:12 -0500 Subject: [PATCH] feat(dinero): Add Dinero LSTs pxETH and apxETH (#3141) * feat(dinero): add contracts abis * feat(dinero): generate contract factory * feat(dinero): create token fetcher * feat(dinero): add app logo --------- Co-authored-by: William Poulin --- src/apps/dinero/assets/logo.png | Bin 0 -> 197207 bytes .../dinero/contracts/abis/dinero-apxeth.json | 1161 ++++++++++++++++ .../dinero/contracts/abis/dinero-pxeth.json | 778 +++++++++++ src/apps/dinero/contracts/index.ts | 4 + .../dinero/contracts/viem.contract-factory.ts | 20 + .../dinero/contracts/viem/DineroApxeth.ts | 1175 +++++++++++++++++ src/apps/dinero/contracts/viem/DineroPxeth.ts | 792 +++++++++++ src/apps/dinero/contracts/viem/index.ts | 9 + src/apps/dinero/dinero.module.ts | 12 + .../ethereum/dinero.apxeth.token-fetcher.ts | 41 + .../ethereum/dinero.pxeth.token-fetcher.ts | 36 + 11 files changed, 4028 insertions(+) create mode 100644 src/apps/dinero/assets/logo.png create mode 100644 src/apps/dinero/contracts/abis/dinero-apxeth.json create mode 100644 src/apps/dinero/contracts/abis/dinero-pxeth.json create mode 100644 src/apps/dinero/contracts/index.ts create mode 100644 src/apps/dinero/contracts/viem.contract-factory.ts create mode 100644 src/apps/dinero/contracts/viem/DineroApxeth.ts create mode 100644 src/apps/dinero/contracts/viem/DineroPxeth.ts create mode 100644 src/apps/dinero/contracts/viem/index.ts create mode 100644 src/apps/dinero/dinero.module.ts create mode 100644 src/apps/dinero/ethereum/dinero.apxeth.token-fetcher.ts create mode 100644 src/apps/dinero/ethereum/dinero.pxeth.token-fetcher.ts diff --git a/src/apps/dinero/assets/logo.png b/src/apps/dinero/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..84c09cbdeda4f7608d883932408e4aae03955621 GIT binary patch literal 197207 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 literal 0 HcmV?d00001 diff --git a/src/apps/dinero/contracts/abis/dinero-apxeth.json b/src/apps/dinero/contracts/abis/dinero-apxeth.json new file mode 100644 index 000000000..38bad4e9b --- /dev/null +++ b/src/apps/dinero/contracts/abis/dinero-apxeth.json @@ -0,0 +1,1161 @@ +[ + { + "inputs": [ + { + "internalType": "address", + "name": "_asset", + "type": "address" + }, + { + "internalType": "address", + "name": "_platform", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "ExceedsMax", + "type": "error" + }, + { + "inputs": [], + "name": "NoRewards", + "type": "error" + }, + { + "inputs": [], + "name": "NotPirexEth", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroAddress", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "caller", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "assets", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "name": "Deposit", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "caller", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Harvest", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferStarted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "fee", + "type": "uint256" + } + ], + "name": "PlatformFeeUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_platform", + "type": "address" + } + ], + "name": "PlatformUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "reward", + "type": "uint256" + } + ], + "name": "RewardAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "_pirexEth", + "type": "address" + } + ], + "name": "SetPirexEth", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "caller", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "assets", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "name": "Withdraw", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "penalty", + "type": "uint256" + } + ], + "name": "WithdrawalPenaltyUpdated", + "type": "event" + }, + { + "inputs": [], + "name": "DOMAIN_SEPARATOR", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "acceptOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "asset", + "outputs": [ + { + "internalType": "contract ERC20", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "assetsPerShare", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "name": "convertToAssets", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "assets", + "type": "uint256" + } + ], + "name": "convertToShares", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "assets", + "type": "uint256" + }, + { + "internalType": "address", + "name": "receiver", + "type": "address" + } + ], + "name": "deposit", + "outputs": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "earned", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "harvest", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "lastTimeRewardApplicable", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "lastUpdateTime", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "maxDeposit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "maxMint", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "maxRedeem", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "maxWithdraw", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + }, + { + "internalType": "address", + "name": "receiver", + "type": "address" + } + ], + "name": "mint", + "outputs": [ + { + "internalType": "uint256", + "name": "assets", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "nonces", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "notifyRewardAmount", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pendingOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "periodFinish", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "permit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "pirexEth", + "outputs": [ + { + "internalType": "contract IPirexEth", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "platform", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "platformFee", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "assets", + "type": "uint256" + } + ], + "name": "previewDeposit", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "name": "previewMint", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "name": "previewRedeem", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "assets", + "type": "uint256" + } + ], + "name": "previewWithdraw", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + }, + { + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "redeem", + "outputs": [ + { + "internalType": "uint256", + "name": "assets", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "rewardPerToken", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rewardPerTokenPaid", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rewardPerTokenStored", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rewardRate", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "rewards", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_pirexEth", + "type": "address" + } + ], + "name": "setPirexEth", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_platform", + "type": "address" + } + ], + "name": "setPlatform", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "fee", + "type": "uint256" + } + ], + "name": "setPlatformFee", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "penalty", + "type": "uint256" + } + ], + "name": "setWithdrawalPenalty", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalAssets", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalStaked", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "assets", + "type": "uint256" + }, + { + "internalType": "address", + "name": "receiver", + "type": "address" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "withdraw", + "outputs": [ + { + "internalType": "uint256", + "name": "shares", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "withdrawalPenalty", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + } +] diff --git a/src/apps/dinero/contracts/abis/dinero-pxeth.json b/src/apps/dinero/contracts/abis/dinero-pxeth.json new file mode 100644 index 000000000..3b44b3ad1 --- /dev/null +++ b/src/apps/dinero/contracts/abis/dinero-pxeth.json @@ -0,0 +1,778 @@ +[ + { + "inputs": [ + { + "internalType": "address", + "name": "_admin", + "type": "address" + }, + { + "internalType": "uint48", + "name": "_initialDelay", + "type": "uint48" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "EmptyString", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroAddress", + "type": "error" + }, + { + "inputs": [], + "name": "ZeroAmount", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "DefaultAdminDelayChangeCanceled", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint48", + "name": "newDelay", + "type": "uint48" + }, + { + "indexed": false, + "internalType": "uint48", + "name": "effectSchedule", + "type": "uint48" + } + ], + "name": "DefaultAdminDelayChangeScheduled", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "DefaultAdminTransferCanceled", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "newAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint48", + "name": "acceptSchedule", + "type": "uint48" + } + ], + "name": "DefaultAdminTransferScheduled", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "DOMAIN_SEPARATOR", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "acceptDefaultAdminTransfer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "beginDefaultAdminTransfer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "cancelDefaultAdminTransfer", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint48", + "name": "newDelay", + "type": "uint48" + } + ], + "name": "changeDefaultAdminDelay", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "defaultAdmin", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "defaultAdminDelay", + "outputs": [ + { + "internalType": "uint48", + "name": "", + "type": "uint48" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "defaultAdminDelayIncreaseWait", + "outputs": [ + { + "internalType": "uint48", + "name": "", + "type": "uint48" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "nonces", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_from", + "type": "address" + }, + { + "internalType": "address", + "name": "_to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_amount", + "type": "uint256" + } + ], + "name": "operatorApprove", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pendingDefaultAdmin", + "outputs": [ + { + "internalType": "address", + "name": "newAdmin", + "type": "address" + }, + { + "internalType": "uint48", + "name": "schedule", + "type": "uint48" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "pendingDefaultAdminDelay", + "outputs": [ + { + "internalType": "uint48", + "name": "newDelay", + "type": "uint48" + }, + { + "internalType": "uint48", + "name": "schedule", + "type": "uint48" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "deadline", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "v", + "type": "uint8" + }, + { + "internalType": "bytes32", + "name": "r", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "s", + "type": "bytes32" + } + ], + "name": "permit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "rollbackDefaultAdminDelay", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } +] diff --git a/src/apps/dinero/contracts/index.ts b/src/apps/dinero/contracts/index.ts new file mode 100644 index 000000000..5dcfebdf6 --- /dev/null +++ b/src/apps/dinero/contracts/index.ts @@ -0,0 +1,4 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +export * from './viem.contract-factory'; diff --git a/src/apps/dinero/contracts/viem.contract-factory.ts b/src/apps/dinero/contracts/viem.contract-factory.ts new file mode 100644 index 000000000..952ab1356 --- /dev/null +++ b/src/apps/dinero/contracts/viem.contract-factory.ts @@ -0,0 +1,20 @@ +import { Injectable, Inject } from '@nestjs/common'; + +import { IAppToolkit, APP_TOOLKIT } from '~app-toolkit/app-toolkit.interface'; +import { Network } from '~types/network.interface'; + +import { DineroApxeth__factory, DineroPxeth__factory } from './viem'; + +type ContractOpts = { address: string; network: Network }; + +@Injectable() +export class DineroViemContractFactory { + constructor(@Inject(APP_TOOLKIT) protected readonly appToolkit: IAppToolkit) {} + + dineroApxeth({ address, network }: ContractOpts) { + return DineroApxeth__factory.connect(address, this.appToolkit.getViemNetworkProvider(network)); + } + dineroPxeth({ address, network }: ContractOpts) { + return DineroPxeth__factory.connect(address, this.appToolkit.getViemNetworkProvider(network)); + } +} diff --git a/src/apps/dinero/contracts/viem/DineroApxeth.ts b/src/apps/dinero/contracts/viem/DineroApxeth.ts new file mode 100644 index 000000000..8760eeed4 --- /dev/null +++ b/src/apps/dinero/contracts/viem/DineroApxeth.ts @@ -0,0 +1,1175 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { getContract, GetContractReturnType, PublicClient } from 'viem'; + +export const dineroApxethAbi = [ + { + inputs: [ + { + internalType: 'address', + name: '_asset', + type: 'address', + }, + { + internalType: 'address', + name: '_platform', + type: 'address', + }, + ], + stateMutability: 'nonpayable', + type: 'constructor', + }, + { + inputs: [], + name: 'ExceedsMax', + type: 'error', + }, + { + inputs: [], + name: 'NoRewards', + type: 'error', + }, + { + inputs: [], + name: 'NotPirexEth', + type: 'error', + }, + { + inputs: [], + name: 'ZeroAddress', + type: 'error', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'owner', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'spender', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + name: 'Approval', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'caller', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'owner', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'assets', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'shares', + type: 'uint256', + }, + ], + name: 'Deposit', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'caller', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'value', + type: 'uint256', + }, + ], + name: 'Harvest', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'previousOwner', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'newOwner', + type: 'address', + }, + ], + name: 'OwnershipTransferStarted', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'previousOwner', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'newOwner', + type: 'address', + }, + ], + name: 'OwnershipTransferred', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'uint256', + name: 'fee', + type: 'uint256', + }, + ], + name: 'PlatformFeeUpdated', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'address', + name: '_platform', + type: 'address', + }, + ], + name: 'PlatformUpdated', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'uint256', + name: 'reward', + type: 'uint256', + }, + ], + name: 'RewardAdded', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'address', + name: '_pirexEth', + type: 'address', + }, + ], + name: 'SetPirexEth', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'from', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'to', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + name: 'Transfer', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'caller', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'receiver', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'owner', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'assets', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'shares', + type: 'uint256', + }, + ], + name: 'Withdraw', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'uint256', + name: 'penalty', + type: 'uint256', + }, + ], + name: 'WithdrawalPenaltyUpdated', + type: 'event', + }, + { + inputs: [], + name: 'DOMAIN_SEPARATOR', + outputs: [ + { + internalType: 'bytes32', + name: '', + type: 'bytes32', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'acceptOwnership', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + name: 'allowance', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'spender', + type: 'address', + }, + { + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + name: 'approve', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'asset', + outputs: [ + { + internalType: 'contract ERC20', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'assetsPerShare', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + name: 'balanceOf', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'shares', + type: 'uint256', + }, + ], + name: 'convertToAssets', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'assets', + type: 'uint256', + }, + ], + name: 'convertToShares', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'decimals', + outputs: [ + { + internalType: 'uint8', + name: '', + type: 'uint8', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'assets', + type: 'uint256', + }, + { + internalType: 'address', + name: 'receiver', + type: 'address', + }, + ], + name: 'deposit', + outputs: [ + { + internalType: 'uint256', + name: 'shares', + type: 'uint256', + }, + ], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'earned', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'harvest', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'lastTimeRewardApplicable', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'lastUpdateTime', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + name: 'maxDeposit', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + name: 'maxMint', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'owner', + type: 'address', + }, + ], + name: 'maxRedeem', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'owner', + type: 'address', + }, + ], + name: 'maxWithdraw', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'shares', + type: 'uint256', + }, + { + internalType: 'address', + name: 'receiver', + type: 'address', + }, + ], + name: 'mint', + outputs: [ + { + internalType: 'uint256', + name: 'assets', + type: 'uint256', + }, + ], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'name', + outputs: [ + { + internalType: 'string', + name: '', + type: 'string', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + name: 'nonces', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'notifyRewardAmount', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'owner', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'pendingOwner', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'periodFinish', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'owner', + type: 'address', + }, + { + internalType: 'address', + name: 'spender', + type: 'address', + }, + { + internalType: 'uint256', + name: 'value', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'deadline', + type: 'uint256', + }, + { + internalType: 'uint8', + name: 'v', + type: 'uint8', + }, + { + internalType: 'bytes32', + name: 'r', + type: 'bytes32', + }, + { + internalType: 'bytes32', + name: 's', + type: 'bytes32', + }, + ], + name: 'permit', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'pirexEth', + outputs: [ + { + internalType: 'contract IPirexEth', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'platform', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'platformFee', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'assets', + type: 'uint256', + }, + ], + name: 'previewDeposit', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'shares', + type: 'uint256', + }, + ], + name: 'previewMint', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'shares', + type: 'uint256', + }, + ], + name: 'previewRedeem', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'assets', + type: 'uint256', + }, + ], + name: 'previewWithdraw', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'shares', + type: 'uint256', + }, + { + internalType: 'address', + name: 'receiver', + type: 'address', + }, + { + internalType: 'address', + name: 'owner', + type: 'address', + }, + ], + name: 'redeem', + outputs: [ + { + internalType: 'uint256', + name: 'assets', + type: 'uint256', + }, + ], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'renounceOwnership', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'rewardPerToken', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'rewardPerTokenPaid', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'rewardPerTokenStored', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'rewardRate', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'rewards', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_pirexEth', + type: 'address', + }, + ], + name: 'setPirexEth', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_platform', + type: 'address', + }, + ], + name: 'setPlatform', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'fee', + type: 'uint256', + }, + ], + name: 'setPlatformFee', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'penalty', + type: 'uint256', + }, + ], + name: 'setWithdrawalPenalty', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'symbol', + outputs: [ + { + internalType: 'string', + name: '', + type: 'string', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'totalAssets', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'totalStaked', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'totalSupply', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'to', + type: 'address', + }, + { + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + name: 'transfer', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'from', + type: 'address', + }, + { + internalType: 'address', + name: 'to', + type: 'address', + }, + { + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + name: 'transferFrom', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'newOwner', + type: 'address', + }, + ], + name: 'transferOwnership', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint256', + name: 'assets', + type: 'uint256', + }, + { + internalType: 'address', + name: 'receiver', + type: 'address', + }, + { + internalType: 'address', + name: 'owner', + type: 'address', + }, + ], + name: 'withdraw', + outputs: [ + { + internalType: 'uint256', + name: 'shares', + type: 'uint256', + }, + ], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'withdrawalPenalty', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, +] as const; + +export type DineroApxeth = typeof dineroApxethAbi; +export type DineroApxethContract = GetContractReturnType; + +export class DineroApxeth__factory { + static connect(address: string, client: PublicClient) { + return getContract({ address, abi: dineroApxethAbi, publicClient: client }); + } +} diff --git a/src/apps/dinero/contracts/viem/DineroPxeth.ts b/src/apps/dinero/contracts/viem/DineroPxeth.ts new file mode 100644 index 000000000..8c4f6e83a --- /dev/null +++ b/src/apps/dinero/contracts/viem/DineroPxeth.ts @@ -0,0 +1,792 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import { getContract, GetContractReturnType, PublicClient } from 'viem'; + +export const dineroPxethAbi = [ + { + inputs: [ + { + internalType: 'address', + name: '_admin', + type: 'address', + }, + { + internalType: 'uint48', + name: '_initialDelay', + type: 'uint48', + }, + ], + stateMutability: 'nonpayable', + type: 'constructor', + }, + { + inputs: [], + name: 'EmptyString', + type: 'error', + }, + { + inputs: [], + name: 'ZeroAddress', + type: 'error', + }, + { + inputs: [], + name: 'ZeroAmount', + type: 'error', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'owner', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'spender', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + name: 'Approval', + type: 'event', + }, + { + anonymous: false, + inputs: [], + name: 'DefaultAdminDelayChangeCanceled', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'uint48', + name: 'newDelay', + type: 'uint48', + }, + { + indexed: false, + internalType: 'uint48', + name: 'effectSchedule', + type: 'uint48', + }, + ], + name: 'DefaultAdminDelayChangeScheduled', + type: 'event', + }, + { + anonymous: false, + inputs: [], + name: 'DefaultAdminTransferCanceled', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'newAdmin', + type: 'address', + }, + { + indexed: false, + internalType: 'uint48', + name: 'acceptSchedule', + type: 'uint48', + }, + ], + name: 'DefaultAdminTransferScheduled', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'bytes32', + name: 'role', + type: 'bytes32', + }, + { + indexed: true, + internalType: 'bytes32', + name: 'previousAdminRole', + type: 'bytes32', + }, + { + indexed: true, + internalType: 'bytes32', + name: 'newAdminRole', + type: 'bytes32', + }, + ], + name: 'RoleAdminChanged', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'bytes32', + name: 'role', + type: 'bytes32', + }, + { + indexed: true, + internalType: 'address', + name: 'account', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'sender', + type: 'address', + }, + ], + name: 'RoleGranted', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'bytes32', + name: 'role', + type: 'bytes32', + }, + { + indexed: true, + internalType: 'address', + name: 'account', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'sender', + type: 'address', + }, + ], + name: 'RoleRevoked', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: 'address', + name: 'from', + type: 'address', + }, + { + indexed: true, + internalType: 'address', + name: 'to', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + name: 'Transfer', + type: 'event', + }, + { + inputs: [], + name: 'DEFAULT_ADMIN_ROLE', + outputs: [ + { + internalType: 'bytes32', + name: '', + type: 'bytes32', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'DOMAIN_SEPARATOR', + outputs: [ + { + internalType: 'bytes32', + name: '', + type: 'bytes32', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'acceptDefaultAdminTransfer', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + name: 'allowance', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'spender', + type: 'address', + }, + { + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + name: 'approve', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + name: 'balanceOf', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'newAdmin', + type: 'address', + }, + ], + name: 'beginDefaultAdminTransfer', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_from', + type: 'address', + }, + { + internalType: 'uint256', + name: '_amount', + type: 'uint256', + }, + ], + name: 'burn', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'cancelDefaultAdminTransfer', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'uint48', + name: 'newDelay', + type: 'uint48', + }, + ], + name: 'changeDefaultAdminDelay', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'decimals', + outputs: [ + { + internalType: 'uint8', + name: '', + type: 'uint8', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'defaultAdmin', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'defaultAdminDelay', + outputs: [ + { + internalType: 'uint48', + name: '', + type: 'uint48', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'defaultAdminDelayIncreaseWait', + outputs: [ + { + internalType: 'uint48', + name: '', + type: 'uint48', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'bytes32', + name: 'role', + type: 'bytes32', + }, + ], + name: 'getRoleAdmin', + outputs: [ + { + internalType: 'bytes32', + name: '', + type: 'bytes32', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'bytes32', + name: 'role', + type: 'bytes32', + }, + { + internalType: 'address', + name: 'account', + type: 'address', + }, + ], + name: 'grantRole', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'bytes32', + name: 'role', + type: 'bytes32', + }, + { + internalType: 'address', + name: 'account', + type: 'address', + }, + ], + name: 'hasRole', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_to', + type: 'address', + }, + { + internalType: 'uint256', + name: '_amount', + type: 'uint256', + }, + ], + name: 'mint', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'name', + outputs: [ + { + internalType: 'string', + name: '', + type: 'string', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + name: 'nonces', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '_from', + type: 'address', + }, + { + internalType: 'address', + name: '_to', + type: 'address', + }, + { + internalType: 'uint256', + name: '_amount', + type: 'uint256', + }, + ], + name: 'operatorApprove', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'owner', + outputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'pendingDefaultAdmin', + outputs: [ + { + internalType: 'address', + name: 'newAdmin', + type: 'address', + }, + { + internalType: 'uint48', + name: 'schedule', + type: 'uint48', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'pendingDefaultAdminDelay', + outputs: [ + { + internalType: 'uint48', + name: 'newDelay', + type: 'uint48', + }, + { + internalType: 'uint48', + name: 'schedule', + type: 'uint48', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'owner', + type: 'address', + }, + { + internalType: 'address', + name: 'spender', + type: 'address', + }, + { + internalType: 'uint256', + name: 'value', + type: 'uint256', + }, + { + internalType: 'uint256', + name: 'deadline', + type: 'uint256', + }, + { + internalType: 'uint8', + name: 'v', + type: 'uint8', + }, + { + internalType: 'bytes32', + name: 'r', + type: 'bytes32', + }, + { + internalType: 'bytes32', + name: 's', + type: 'bytes32', + }, + ], + name: 'permit', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'bytes32', + name: 'role', + type: 'bytes32', + }, + { + internalType: 'address', + name: 'account', + type: 'address', + }, + ], + name: 'renounceRole', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'bytes32', + name: 'role', + type: 'bytes32', + }, + { + internalType: 'address', + name: 'account', + type: 'address', + }, + ], + name: 'revokeRole', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [], + name: 'rollbackDefaultAdminDelay', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'bytes4', + name: 'interfaceId', + type: 'bytes4', + }, + ], + name: 'supportsInterface', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'symbol', + outputs: [ + { + internalType: 'string', + name: '', + type: 'string', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [], + name: 'totalSupply', + outputs: [ + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'to', + type: 'address', + }, + { + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + name: 'transfer', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: 'from', + type: 'address', + }, + { + internalType: 'address', + name: 'to', + type: 'address', + }, + { + internalType: 'uint256', + name: 'amount', + type: 'uint256', + }, + ], + name: 'transferFrom', + outputs: [ + { + internalType: 'bool', + name: '', + type: 'bool', + }, + ], + stateMutability: 'nonpayable', + type: 'function', + }, +] as const; + +export type DineroPxeth = typeof dineroPxethAbi; +export type DineroPxethContract = GetContractReturnType; + +export class DineroPxeth__factory { + static connect(address: string, client: PublicClient) { + return getContract({ address, abi: dineroPxethAbi, publicClient: client }); + } +} diff --git a/src/apps/dinero/contracts/viem/index.ts b/src/apps/dinero/contracts/viem/index.ts new file mode 100644 index 000000000..bd051a32d --- /dev/null +++ b/src/apps/dinero/contracts/viem/index.ts @@ -0,0 +1,9 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +export type { DineroApxeth } from './DineroApxeth'; +export type { DineroPxeth } from './DineroPxeth'; + +export { DineroApxeth__factory } from './DineroApxeth'; +export { DineroPxeth__factory } from './DineroPxeth'; diff --git a/src/apps/dinero/dinero.module.ts b/src/apps/dinero/dinero.module.ts new file mode 100644 index 000000000..73a4a0ac2 --- /dev/null +++ b/src/apps/dinero/dinero.module.ts @@ -0,0 +1,12 @@ +import { Module } from '@nestjs/common'; + +import { AbstractApp } from '~app/app.dynamic-module'; + +import { DineroViemContractFactory } from './contracts'; +import { EthereumDineroApxethTokenFetcher } from './ethereum/dinero.apxeth.token-fetcher'; +import { EthereumDineroPirexEthTokenFetcher } from './ethereum/dinero.pxeth.token-fetcher'; + +@Module({ + providers: [DineroViemContractFactory, EthereumDineroPirexEthTokenFetcher, EthereumDineroApxethTokenFetcher], +}) +export class DineroAppModule extends AbstractApp() { } diff --git a/src/apps/dinero/ethereum/dinero.apxeth.token-fetcher.ts b/src/apps/dinero/ethereum/dinero.apxeth.token-fetcher.ts new file mode 100644 index 000000000..1bb073063 --- /dev/null +++ b/src/apps/dinero/ethereum/dinero.apxeth.token-fetcher.ts @@ -0,0 +1,41 @@ +import { Inject } from '@nestjs/common'; + +import { APP_TOOLKIT, IAppToolkit } from '~app-toolkit/app-toolkit.interface'; +import { PositionTemplate } from '~app-toolkit/decorators/position-template.decorator'; +import { AppTokenTemplatePositionFetcher } from '~position/template/app-token.template.position-fetcher'; +import { GetUnderlyingTokensParams, GetPricePerShareParams } from '~position/template/app-token.template.types'; + +import { DineroViemContractFactory } from '../contracts'; +import { DineroApxeth } from '../contracts/viem/DineroApxeth'; + +@PositionTemplate() +export class EthereumDineroApxethTokenFetcher extends AppTokenTemplatePositionFetcher { + groupLabel = 'apxETH'; + + isExcludedFromTvl = true; + + constructor( + @Inject(APP_TOOLKIT) protected readonly appToolkit: IAppToolkit, + @Inject(DineroViemContractFactory) protected readonly dineroContractFactory: DineroViemContractFactory, + ) { + super(appToolkit); + } + + getContract(address: string) { + return this.dineroContractFactory.dineroApxeth({ address, network: this.network }); + } + + async getAddresses(): Promise { + return ['0x9ba021b0a9b958b5e75ce9f6dff97c7ee52cb3e6']; + } + + async getUnderlyingTokenDefinitions({ contract }: GetUnderlyingTokensParams) { + return [{ address: await contract.read.asset(), network: this.network }]; + } + + async getPricePerShare({ contract }: GetPricePerShareParams) { + const totalSupply = await contract.read.totalSupply(); + const totalAssets = await contract.read.totalAssets(); + return Number(totalSupply) == 0 ? [1] : [Number(totalAssets) / Number(totalSupply)]; + } +} diff --git a/src/apps/dinero/ethereum/dinero.pxeth.token-fetcher.ts b/src/apps/dinero/ethereum/dinero.pxeth.token-fetcher.ts new file mode 100644 index 000000000..7f2597ea6 --- /dev/null +++ b/src/apps/dinero/ethereum/dinero.pxeth.token-fetcher.ts @@ -0,0 +1,36 @@ +import { Inject } from '@nestjs/common'; + +import { APP_TOOLKIT, IAppToolkit } from '~app-toolkit/app-toolkit.interface'; +import { PositionTemplate } from '~app-toolkit/decorators/position-template.decorator'; +import { AppTokenTemplatePositionFetcher } from '~position/template/app-token.template.position-fetcher'; + +import { DineroViemContractFactory } from '../contracts'; +import { DineroPxeth } from '../contracts/viem/DineroPxeth'; + +@PositionTemplate() +export class EthereumDineroPirexEthTokenFetcher extends AppTokenTemplatePositionFetcher { + groupLabel = 'pxETH'; + + constructor( + @Inject(APP_TOOLKIT) protected readonly appToolkit: IAppToolkit, + @Inject(DineroViemContractFactory) protected readonly dineroContractFactory: DineroViemContractFactory, + ) { + super(appToolkit); + } + + getContract(address: string) { + return this.dineroContractFactory.dineroPxeth({ address, network: this.network }); + } + + async getAddresses() { + return ['0x04c154b66cb340f3ae24111cc767e0184ed00cc6']; + } + + async getUnderlyingTokenDefinitions() { + return [{ address: '0x0000000000000000000000000000000000000000', network: this.network }]; + } + + async getPricePerShare() { + return [1]; + } +}